@skzz/components-gis 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -791,13 +791,14 @@ var Fe = {
791
791
  if (x.value.flyTo && o) {
792
792
  let e = !1, t = () => {
793
793
  e || l || (e = !0, s &&= (clearTimeout(s), null), F(r));
794
- };
795
- s = setTimeout(t, Number(x.value.duration || 0) * 1e3 + 800);
794
+ }, i = Number(x.value.duration ?? 1.5);
795
+ s = setTimeout(t, Math.max(i, 0) * 1e3 + 800);
796
796
  try {
797
- n.value.camera.flyTo({
798
- duration: x.value.duration,
797
+ let e = N(o);
798
+ i <= 0 ? (n.value.camera.setView({ destination: e }), n.value.scene?.requestRender?.(), t()) : n.value.camera.flyTo({
799
+ duration: i,
799
800
  easingFunction: D.EasingFunction.LINEAR_NONE,
800
- destination: N(o),
801
+ destination: e,
801
802
  complete: t
802
803
  });
803
804
  } catch (e) {
@@ -1225,7 +1226,8 @@ var Fe = {
1225
1226
  dashLength: o,
1226
1227
  gapLength: s,
1227
1228
  borderColor: e.borderColor || r,
1228
- borderWidth: Number(e.borderWidth ?? t.borderWidth ?? 0)
1229
+ borderWidth: Number(e.borderWidth ?? t.borderWidth ?? 0),
1230
+ visible: e.visible !== !1
1229
1231
  };
1230
1232
  }
1231
1233
  function F(e = {}) {
@@ -1236,6 +1238,7 @@ var Fe = {
1236
1238
  radius: Number(t.radius ?? t.stroke?.radius ?? 8),
1237
1239
  borderColor: t.stroke?.outlineColor || t.borderColor || "#FFFFFF",
1238
1240
  borderWidth: Number(t.stroke?.outlineWidth ?? t.borderWidth ?? 1),
1241
+ strokeVisible: t.stroke?.visible !== !1,
1239
1242
  showIcon: !!t.showIcon,
1240
1243
  iconStyle: t.iconStyle || {
1241
1244
  url: null,
@@ -1255,6 +1258,7 @@ var Fe = {
1255
1258
  },
1256
1259
  line: {
1257
1260
  ...n,
1261
+ strokeVisible: n.stroke?.visible !== !1,
1258
1262
  stroke: P(n.stroke || n, {
1259
1263
  outlineColor: o,
1260
1264
  outlineWidth: s,
@@ -1265,6 +1269,7 @@ var Fe = {
1265
1269
  fill: r.fill || r.color || "rgba(255, 255, 0, 0.3)",
1266
1270
  outlineColor: i,
1267
1271
  outlineWidth: a,
1272
+ strokeVisible: r.stroke?.visible !== !1,
1268
1273
  stroke: P(r.stroke || {}, {
1269
1274
  outlineColor: i,
1270
1275
  outlineWidth: a,
@@ -1403,7 +1408,8 @@ var Fe = {
1403
1408
  dashLength: t.dashLength ?? 0,
1404
1409
  gapLength: t.gapLength ?? 0,
1405
1410
  borderColor: t.borderColor || t.outlineColor || e.outlineColor || "#409EFF",
1406
- borderWidth: Number(t.borderWidth ?? 0)
1411
+ borderWidth: Number(t.borderWidth ?? 0),
1412
+ visible: t.visible !== !1
1407
1413
  };
1408
1414
  }
1409
1415
  function ce(e) {
@@ -1537,9 +1543,10 @@ var Fe = {
1537
1543
  !r || !e.polyline || Se(e, O(E(t, r), n), n, { position: xe(e) });
1538
1544
  }
1539
1545
  function Ee(e, t) {
1540
- let n = F(l.value).polygon, r = se(n), i = he(), a = ve(oe(i) ? _e(t, i) : null, "polygon", i), o = Number(v.value ?? 0), s = Number.isFinite(o) && o > 0 && p.value;
1541
- e.polygon.material = new D.ColorMaterialProperty(N(a)), s ? e.polygon.zIndex = new D.ConstantProperty(o) : e.polygon.zIndex = void 0, e.polygon.outline = !0, e.polygon.outlineColor = new D.ConstantProperty(N(r.outlineColor)), e.polygon.outlineWidth = new D.ConstantProperty(r.outlineWidth), e.polyline = {
1546
+ let n = F(l.value).polygon, r = se(n), i = n.strokeVisible !== !1 && r.outlineWidth > 0, a = he(), o = ve(oe(a) ? _e(t, a) : null, "polygon", a), s = Number(v.value ?? 0), c = Number.isFinite(s) && s > 0 && p.value;
1547
+ e.polygon.material = new D.ColorMaterialProperty(N(o)), c ? e.polygon.zIndex = new D.ConstantProperty(s) : e.polygon.zIndex = void 0, e.polygon.outline = i, e.polygon.outlineColor = new D.ConstantProperty(i ? N(r.outlineColor) : D.Color.TRANSPARENT), e.polygon.outlineWidth = new D.ConstantProperty(i ? r.outlineWidth : 0), e.polyline = {
1542
1548
  positions: e.polygon.hierarchy._value.positions,
1549
+ show: i,
1543
1550
  width: r.outlineWidth,
1544
1551
  material: I({
1545
1552
  type: r.type,
@@ -1549,7 +1556,7 @@ var Fe = {
1549
1556
  borderColor: r.borderColor,
1550
1557
  borderWidth: r.borderWidth
1551
1558
  })
1552
- }, s && (e.polyline.clampToGround = !0, e.polyline.zIndex = o), b.value?.fieldName && we(e, t, b.value);
1559
+ }, c && (e.polyline.clampToGround = !0, e.polyline.zIndex = s), b.value?.fieldName && we(e, t, b.value);
1553
1560
  }
1554
1561
  function De(e, t) {
1555
1562
  let n = F(l.value).line, r = he(), i = ve(oe(r) ? _e(t, r) : null, "line", r);
@@ -1573,7 +1580,9 @@ var Fe = {
1573
1580
  }), n.showLabel && n.labelStyle && je(e, t, n.labelStyle), b.value?.fieldName && Ce(e, t, b.value);
1574
1581
  }
1575
1582
  function ke(e, t) {
1576
- e.point ||= new D.PointGraphics(), e.point.show = new D.ConstantProperty(!0), e.point.pixelSize = new D.ConstantProperty(t.radius), e.point.color = new D.ConstantProperty(N(t.color || t.fill)), e.point.outlineColor = new D.ConstantProperty(N(t.borderColor)), e.point.outlineWidth = new D.ConstantProperty(t.borderWidth);
1583
+ e.point ||= new D.PointGraphics();
1584
+ let n = t.strokeVisible !== !1 && Number(t.borderWidth) > 0;
1585
+ e.point.show = new D.ConstantProperty(!0), e.point.pixelSize = new D.ConstantProperty(t.radius), e.point.color = new D.ConstantProperty(N(t.color || t.fill)), e.point.outlineColor = new D.ConstantProperty(n ? N(t.borderColor) : D.Color.TRANSPARENT), e.point.outlineWidth = new D.ConstantProperty(n ? t.borderWidth : 0);
1577
1586
  }
1578
1587
  function Ae(e, t) {
1579
1588
  e.billboard ||= new D.BillboardGraphics(), e.billboard.show = new D.ConstantProperty(!0), e.billboard.image = new D.ConstantProperty(t.url), e.billboard.width = new D.ConstantProperty(t.width), e.billboard.height = new D.ConstantProperty(t.height), e.billboard.verticalOrigin = D.VerticalOrigin.BOTTOM;
@@ -1777,6 +1786,7 @@ var Fe = {
1777
1786
  fill: t.fill || t.color || "#FF0000",
1778
1787
  borderColor: t.stroke?.outlineColor || t.borderColor || "#FFFFFF",
1779
1788
  borderWidth: Number(t.stroke?.outlineWidth ?? t.borderWidth ?? 1),
1789
+ strokeVisible: t.stroke?.visible !== !1,
1780
1790
  stroke: {
1781
1791
  type: t.stroke?.type || "solid",
1782
1792
  color: t.stroke?.color || t.color || t.fill || "#FF0000",
@@ -1791,22 +1801,26 @@ var Fe = {
1791
1801
  };
1792
1802
  } else if (e.line) {
1793
1803
  let t = e.line || {};
1794
- return { stroke: {
1795
- type: t.stroke?.type || t.type || "solid",
1796
- color: t.stroke?.color || t.color || "#FFFF00",
1797
- outlineColor: t.stroke?.outlineColor || t.outlineColor || "#FFFF00",
1798
- outlineWidth: Number(t.stroke?.outlineWidth ?? t.outlineWidth ?? t.width ?? 1),
1799
- dashLength: Number(t.stroke?.dashLength ?? t.dashLength ?? 0),
1800
- gapLength: Number(t.stroke?.gapLength ?? t.gapLength ?? 0),
1801
- borderColor: t.stroke?.borderColor || t.borderColor || "#000000",
1802
- borderWidth: Number(t.stroke?.borderWidth ?? t.borderWidth ?? 0)
1803
- } };
1804
+ return {
1805
+ strokeVisible: t.stroke?.visible !== !1,
1806
+ stroke: {
1807
+ type: t.stroke?.type || t.type || "solid",
1808
+ color: t.stroke?.color || t.color || "#FFFF00",
1809
+ outlineColor: t.stroke?.outlineColor || t.outlineColor || "#FFFF00",
1810
+ outlineWidth: Number(t.stroke?.outlineWidth ?? t.outlineWidth ?? t.width ?? 1),
1811
+ dashLength: Number(t.stroke?.dashLength ?? t.dashLength ?? 0),
1812
+ gapLength: Number(t.stroke?.gapLength ?? t.gapLength ?? 0),
1813
+ borderColor: t.stroke?.borderColor || t.borderColor || "#000000",
1814
+ borderWidth: Number(t.stroke?.borderWidth ?? t.borderWidth ?? 0)
1815
+ }
1816
+ };
1804
1817
  } else if (e.polygon) {
1805
1818
  let t = e.polygon || {};
1806
1819
  return {
1807
1820
  fill: t.fill || t.color || "rgba(255, 255, 0, 0.3)",
1808
1821
  outlineColor: t.stroke?.outlineColor || t.outlineColor || "#FFFF00",
1809
1822
  outlineWidth: Number(t.stroke?.outlineWidth ?? t.outlineWidth ?? 2),
1823
+ strokeVisible: t.stroke?.visible !== !1,
1810
1824
  stroke: {
1811
1825
  type: t.stroke?.type || "solid",
1812
1826
  color: t.stroke?.color || t.color || "#FFFF00",
@@ -1944,10 +1958,10 @@ var Fe = {
1944
1958
  }
1945
1959
  return p.fill;
1946
1960
  }
1947
- })(), F = t.legendFilter || null, I = (e) => !F || !e ? e : {
1961
+ })(), F = p?.strokeVisible !== !1, I = t.legendFilter || null, L = (e) => !I || !e ? e : {
1948
1962
  ...e,
1949
- filter: F
1950
- }, L = o === "uniqueShp" || o === "gradedColor" ? P : p.stroke.outlineColor;
1963
+ filter: I
1964
+ }, R = p.stroke.outlineColor;
1951
1965
  if (u.point) return console.log("进入pointpointpoint"), {
1952
1966
  ...T(),
1953
1967
  sources: { [r.source]: {
@@ -1956,7 +1970,7 @@ var Fe = {
1956
1970
  minzoom: Number(t.minzoom ?? 1),
1957
1971
  maxzoom: Number(t.maxzoom ?? 14)
1958
1972
  } },
1959
- layers: [I({
1973
+ layers: [L({
1960
1974
  id: r.circle,
1961
1975
  type: "circle",
1962
1976
  source: r.source,
@@ -1966,11 +1980,11 @@ var Fe = {
1966
1980
  "circle-color": P,
1967
1981
  "circle-radius": p.stroke.radius,
1968
1982
  "circle-opacity": f,
1969
- "circle-stroke-color": p.stroke.outlineColor,
1970
- "circle-stroke-opacity": f,
1971
- "circle-stroke-width": p.stroke.outlineWidth
1983
+ "circle-stroke-color": F ? p.stroke.outlineColor : A,
1984
+ "circle-stroke-opacity": F ? f : 0,
1985
+ "circle-stroke-width": F ? p.stroke.outlineWidth : 0
1972
1986
  }
1973
- }), ...g ? [I({
1987
+ }), ...g ? [L({
1974
1988
  id: r.label,
1975
1989
  type: "symbol",
1976
1990
  source: r.source,
@@ -1987,7 +2001,7 @@ var Fe = {
1987
2001
  minzoom: Number(t.minzoom ?? 1),
1988
2002
  maxzoom: Number(t.maxzoom ?? 14)
1989
2003
  } },
1990
- layers: [I({
2004
+ layers: [L({
1991
2005
  id: "mvt-line",
1992
2006
  type: "line",
1993
2007
  source: "mvt:source",
@@ -1996,10 +2010,10 @@ var Fe = {
1996
2010
  paint: {
1997
2011
  "line-color": P,
1998
2012
  "line-opacity": f,
1999
- "line-width": p.stroke.outlineWidth || t.lineWidth,
2013
+ "line-width": p.stroke.outlineWidth ?? t.lineWidth,
2000
2014
  "line-dasharray": p.stroke.type === "dashed" ? [2, 2] : [1, 0]
2001
2015
  }
2002
- }), ...g ? [I({
2016
+ }), ...g ? [L({
2003
2017
  id: r.label,
2004
2018
  type: "symbol",
2005
2019
  source: "mvt:source",
@@ -2008,50 +2022,53 @@ var Fe = {
2008
2022
  paint: w
2009
2023
  })] : []]
2010
2024
  };
2011
- if (u.polygon) return {
2012
- ...T(),
2013
- sources: { "mvt:source": {
2014
- type: "vector",
2015
- tiles: i,
2016
- minzoom: Number(t.minzoom ?? 1),
2017
- maxzoom: Number(t.maxzoom ?? 14)
2018
- } },
2019
- layers: [
2020
- I({
2021
- id: "mvt-fill",
2022
- type: "fill",
2023
- source: "mvt:source",
2024
- "source-layer": n,
2025
- layout: { visibility: t.visibility },
2026
- paint: {
2027
- "fill-color": P,
2028
- "fill-opacity": b(t.fillOpacity),
2029
- "fill-outline-color": L
2030
- }
2031
- }),
2032
- I({
2033
- id: "mvt-line",
2034
- type: "line",
2035
- source: "mvt:source",
2036
- "source-layer": n,
2037
- layout: { visibility: t.visibility },
2038
- paint: {
2039
- "line-color": L,
2040
- "line-opacity": f,
2041
- "line-width": p.stroke.outlineWidth || t.lineWidth,
2042
- "line-dasharray": p.stroke.type === "dashed" ? [2, 2] : [1, 0]
2043
- }
2044
- }),
2045
- ...g ? [I({
2046
- id: "mvt-label",
2047
- type: "symbol",
2048
- source: "mvt:source",
2049
- "source-layer": n,
2050
- layout: v(m, d, { "text-offset": [0, -1.8] }),
2051
- paint: w
2052
- })] : []
2053
- ]
2054
- };
2025
+ if (u.polygon) {
2026
+ let e = F ? R : A;
2027
+ return {
2028
+ ...T(),
2029
+ sources: { "mvt:source": {
2030
+ type: "vector",
2031
+ tiles: i,
2032
+ minzoom: Number(t.minzoom ?? 1),
2033
+ maxzoom: Number(t.maxzoom ?? 14)
2034
+ } },
2035
+ layers: [
2036
+ L({
2037
+ id: "mvt-fill",
2038
+ type: "fill",
2039
+ source: "mvt:source",
2040
+ "source-layer": n,
2041
+ layout: { visibility: t.visibility },
2042
+ paint: {
2043
+ "fill-color": P,
2044
+ "fill-opacity": b(t.fillOpacity),
2045
+ "fill-outline-color": e
2046
+ }
2047
+ }),
2048
+ L({
2049
+ id: "mvt-line",
2050
+ type: "line",
2051
+ source: "mvt:source",
2052
+ "source-layer": n,
2053
+ layout: { visibility: t.visibility },
2054
+ paint: {
2055
+ "line-color": e,
2056
+ "line-opacity": F ? f : 0,
2057
+ "line-width": F ? p.stroke.outlineWidth ?? t.lineWidth : 0,
2058
+ "line-dasharray": p.stroke.type === "dashed" ? [2, 2] : [1, 0]
2059
+ }
2060
+ }),
2061
+ ...g ? [L({
2062
+ id: "mvt-label",
2063
+ type: "symbol",
2064
+ source: "mvt:source",
2065
+ "source-layer": n,
2066
+ layout: v(m, d, { "text-offset": [0, -1.8] }),
2067
+ paint: w
2068
+ })] : []
2069
+ ]
2070
+ };
2071
+ }
2055
2072
  }, M = () => {
2056
2073
  let e = i.value;
2057
2074
  s("loaded", e), (r?.value?.container || window)?.dispatchEvent(new CustomEvent("loaded", { detail: e }));
@@ -2354,17 +2371,17 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2354
2371
  e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255;
2355
2372
  }, H = (e, t, n) => {
2356
2373
  e.bi_valid > ct - n ? (e.bi_buf |= t << e.bi_valid & 65535, jt(e, e.bi_buf), e.bi_buf = t >> ct - e.bi_valid, e.bi_valid += n - ct) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += n);
2357
- }, Mt = (e, t, n) => {
2374
+ }, U = (e, t, n) => {
2358
2375
  H(e, n[t * 2], n[t * 2 + 1]);
2359
- }, Nt = (e, t) => {
2376
+ }, Mt = (e, t) => {
2360
2377
  let n = 0;
2361
2378
  do
2362
2379
  n |= e & 1, e >>>= 1, n <<= 1;
2363
2380
  while (--t > 0);
2364
2381
  return n >>> 1;
2365
- }, Pt = (e) => {
2382
+ }, Nt = (e) => {
2366
2383
  e.bi_valid === 16 ? (jt(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8);
2367
- }, Ft = (e, t) => {
2384
+ }, Pt = (e, t) => {
2368
2385
  let n = t.dyn_tree, r = t.max_code, i = t.stat_desc.static_tree, a = t.stat_desc.has_stree, o = t.stat_desc.extra_bits, s = t.stat_desc.extra_base, c = t.stat_desc.max_length, l, u, d, f, p, m, h = 0;
2369
2386
  for (f = 0; f <= st; f++) e.bl_count[f] = 0;
2370
2387
  for (n[e.heap[e.heap_max] * 2 + 1] = 0, l = e.heap_max + 1; l < ot; l++) u = e.heap[l], f = n[n[u * 2 + 1] * 2 + 1] + 1, f > c && (f = c, h++), n[u * 2 + 1] = f, !(u > r) && (e.bl_count[f]++, p = 0, u >= s && (p = o[u - s]), m = n[u * 2], e.opt_len += m * (f + p), a && (e.static_len += m * (i[u * 2 + 1] + p)));
@@ -2375,14 +2392,14 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2375
2392
  } while (h > 0);
2376
2393
  for (f = c; f !== 0; f--) for (u = e.bl_count[f]; u !== 0;) d = e.heap[--l], !(d > r) && (n[d * 2 + 1] !== f && (e.opt_len += (f - n[d * 2 + 1]) * n[d * 2], n[d * 2 + 1] = f), u--);
2377
2394
  }
2378
- }, It = (e, t, n) => {
2395
+ }, Ft = (e, t, n) => {
2379
2396
  let r = Array(16), i = 0, a, o;
2380
2397
  for (a = 1; a <= st; a++) i = i + n[a - 1] << 1, r[a] = i;
2381
2398
  for (o = 0; o <= t; o++) {
2382
2399
  let t = e[o * 2 + 1];
2383
- t !== 0 && (e[o * 2] = Nt(r[t]++, t));
2400
+ t !== 0 && (e[o * 2] = Mt(r[t]++, t));
2384
2401
  }
2385
- }, Lt = () => {
2402
+ }, It = () => {
2386
2403
  let e, t, n, r, i, a = Array(16);
2387
2404
  for (n = 0, r = 0; r < tt - 1; r++) for (Ct[r] = n, e = 0; e < 1 << mt[r]; e++) St[n++] = r;
2388
2405
  for (St[n - 1] = r, i = 0, r = 0; r < 16; r++) for (wt[r] = i, e = 0; e < 1 << ht[r]; e++) xt[i++] = r;
@@ -2392,81 +2409,81 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2392
2409
  for (; e <= 255;) yt[e * 2 + 1] = 9, e++, a[9]++;
2393
2410
  for (; e <= 279;) yt[e * 2 + 1] = 7, e++, a[7]++;
2394
2411
  for (; e <= 287;) yt[e * 2 + 1] = 8, e++, a[8]++;
2395
- for (It(yt, 287, a), e = 0; e < it; e++) bt[e * 2 + 1] = 5, bt[e * 2] = Nt(e, 5);
2412
+ for (Ft(yt, 287, a), e = 0; e < it; e++) bt[e * 2 + 1] = 5, bt[e * 2] = Mt(e, 5);
2396
2413
  Et = new Tt(yt, mt, 257, rt, st), Dt = new Tt(bt, ht, 0, it, st), Ot = new Tt([], gt, 0, at, lt);
2397
- }, Rt = (e) => {
2414
+ }, Lt = (e) => {
2398
2415
  let t;
2399
2416
  for (t = 0; t < rt; t++) e.dyn_ltree[t * 2] = 0;
2400
2417
  for (t = 0; t < it; t++) e.dyn_dtree[t * 2] = 0;
2401
2418
  for (t = 0; t < at; t++) e.bl_tree[t * 2] = 0;
2402
2419
  e.dyn_ltree[ut * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0;
2403
- }, zt = (e) => {
2420
+ }, Rt = (e) => {
2404
2421
  e.bi_valid > 8 ? jt(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;
2405
- }, Bt = (e, t, n, r) => {
2422
+ }, zt = (e, t, n, r) => {
2406
2423
  let i = t * 2, a = n * 2;
2407
2424
  return e[i] < e[a] || e[i] === e[a] && r[t] <= r[n];
2408
- }, Vt = (e, t, n) => {
2425
+ }, Bt = (e, t, n) => {
2409
2426
  let r = e.heap[n], i = n << 1;
2410
- for (; i <= e.heap_len && (i < e.heap_len && Bt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !Bt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1;
2427
+ for (; i <= e.heap_len && (i < e.heap_len && zt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !zt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1;
2411
2428
  e.heap[n] = r;
2412
- }, Ht = (e, t, n) => {
2429
+ }, Vt = (e, t, n) => {
2413
2430
  let r, i, a = 0, o, s;
2414
2431
  if (e.sym_next !== 0) do
2415
- r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? Mt(e, i, t) : (o = St[i], Mt(e, o + nt + 1, t), s = mt[o], s !== 0 && (i -= Ct[o], H(e, i, s)), r--, o = At(r), Mt(e, o, n), s = ht[o], s !== 0 && (r -= wt[o], H(e, r, s)));
2432
+ r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? U(e, i, t) : (o = St[i], U(e, o + nt + 1, t), s = mt[o], s !== 0 && (i -= Ct[o], H(e, i, s)), r--, o = At(r), U(e, o, n), s = ht[o], s !== 0 && (r -= wt[o], H(e, r, s)));
2416
2433
  while (a < e.sym_next);
2417
- Mt(e, ut, t);
2418
- }, Ut = (e, t) => {
2434
+ U(e, ut, t);
2435
+ }, Ht = (e, t) => {
2419
2436
  let n = t.dyn_tree, r = t.stat_desc.static_tree, i = t.stat_desc.has_stree, a = t.stat_desc.elems, o, s, c = -1, l;
2420
2437
  for (e.heap_len = 0, e.heap_max = ot, o = 0; o < a; o++) n[o * 2] === 0 ? n[o * 2 + 1] = 0 : (e.heap[++e.heap_len] = c = o, e.depth[o] = 0);
2421
2438
  for (; e.heap_len < 2;) l = e.heap[++e.heap_len] = c < 2 ? ++c : 0, n[l * 2] = 1, e.depth[l] = 0, e.opt_len--, i && (e.static_len -= r[l * 2 + 1]);
2422
- for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) Vt(e, n, o);
2439
+ for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) Bt(e, n, o);
2423
2440
  l = a;
2424
2441
  do
2425
- o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Vt(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, Vt(e, n, 1);
2442
+ o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Bt(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, Bt(e, n, 1);
2426
2443
  while (e.heap_len >= 2);
2427
- e.heap[--e.heap_max] = e.heap[1], Ft(e, t), It(n, c, e.bl_count);
2428
- }, Wt = (e, t, n) => {
2444
+ e.heap[--e.heap_max] = e.heap[1], Pt(e, t), Ft(n, c, e.bl_count);
2445
+ }, Ut = (e, t, n) => {
2429
2446
  let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
2430
2447
  for (o === 0 && (c = 138, l = 3), t[(n + 1) * 2 + 1] = 65535, r = 0; r <= n; r++) a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o) && (s < l ? e.bl_tree[a * 2] += s : a === 0 ? s <= 10 ? e.bl_tree[ft * 2]++ : e.bl_tree[pt * 2]++ : (a !== i && e.bl_tree[a * 2]++, e.bl_tree[dt * 2]++), s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4));
2431
- }, Gt = (e, t, n) => {
2448
+ }, Wt = (e, t, n) => {
2432
2449
  let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
2433
2450
  for (o === 0 && (c = 138, l = 3), r = 0; r <= n; r++) if (a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o)) {
2434
2451
  if (s < l) do
2435
- Mt(e, a, e.bl_tree);
2452
+ U(e, a, e.bl_tree);
2436
2453
  while (--s !== 0);
2437
- else a === 0 ? s <= 10 ? (Mt(e, ft, e.bl_tree), H(e, s - 3, 3)) : (Mt(e, pt, e.bl_tree), H(e, s - 11, 7)) : (a !== i && (Mt(e, a, e.bl_tree), s--), Mt(e, dt, e.bl_tree), H(e, s - 3, 2));
2454
+ else a === 0 ? s <= 10 ? (U(e, ft, e.bl_tree), H(e, s - 3, 3)) : (U(e, pt, e.bl_tree), H(e, s - 11, 7)) : (a !== i && (U(e, a, e.bl_tree), s--), U(e, dt, e.bl_tree), H(e, s - 3, 2));
2438
2455
  s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4);
2439
2456
  }
2440
- }, Kt = (e) => {
2457
+ }, Gt = (e) => {
2441
2458
  let t;
2442
- for (Wt(e, e.dyn_ltree, e.l_desc.max_code), Wt(e, e.dyn_dtree, e.d_desc.max_code), Ut(e, e.bl_desc), t = at - 1; t >= 3 && e.bl_tree[_t[t] * 2 + 1] === 0; t--);
2459
+ for (Ut(e, e.dyn_ltree, e.l_desc.max_code), Ut(e, e.dyn_dtree, e.d_desc.max_code), Ht(e, e.bl_desc), t = at - 1; t >= 3 && e.bl_tree[_t[t] * 2 + 1] === 0; t--);
2443
2460
  return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;
2444
- }, qt = (e, t, n, r) => {
2461
+ }, Kt = (e, t, n, r) => {
2445
2462
  let i;
2446
2463
  for (H(e, t - 257, 5), H(e, n - 1, 5), H(e, r - 4, 4), i = 0; i < r; i++) H(e, e.bl_tree[_t[i] * 2 + 1], 3);
2447
- Gt(e, e.dyn_ltree, t - 1), Gt(e, e.dyn_dtree, n - 1);
2448
- }, Jt = (e) => {
2464
+ Wt(e, e.dyn_ltree, t - 1), Wt(e, e.dyn_dtree, n - 1);
2465
+ }, qt = (e) => {
2449
2466
  let t = 4093624447, n;
2450
2467
  for (n = 0; n <= 31; n++, t >>>= 1) if (t & 1 && e.dyn_ltree[n * 2] !== 0) return Je;
2451
2468
  if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return Ye;
2452
2469
  for (n = 32; n < nt; n++) if (e.dyn_ltree[n * 2] !== 0) return Ye;
2453
2470
  return Je;
2454
- }, Yt = !1, Xt = (e) => {
2455
- Yt ||= (Lt(), !0), e.l_desc = new kt(e.dyn_ltree, Et), e.d_desc = new kt(e.dyn_dtree, Dt), e.bl_desc = new kt(e.bl_tree, Ot), e.bi_buf = 0, e.bi_valid = 0, Rt(e);
2456
- }, Zt = (e, t, n, r) => {
2457
- H(e, (Qe << 1) + +!!r, 3), zt(e), jt(e, n), jt(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n;
2458
- }, Qt = {
2459
- _tr_init: Xt,
2460
- _tr_stored_block: Zt,
2471
+ }, Jt = !1, Yt = (e) => {
2472
+ Jt ||= (It(), !0), e.l_desc = new kt(e.dyn_ltree, Et), e.d_desc = new kt(e.dyn_dtree, Dt), e.bl_desc = new kt(e.bl_tree, Ot), e.bi_buf = 0, e.bi_valid = 0, Lt(e);
2473
+ }, Xt = (e, t, n, r) => {
2474
+ H(e, (Qe << 1) + +!!r, 3), Rt(e), jt(e, n), jt(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n;
2475
+ }, Zt = {
2476
+ _tr_init: Yt,
2477
+ _tr_stored_block: Xt,
2461
2478
  _tr_flush_block: (e, t, n, r) => {
2462
2479
  let i, a, o = 0;
2463
- e.level > 0 ? (e.strm.data_type === Xe && (e.strm.data_type = Jt(e)), Ut(e, e.l_desc), Ut(e, e.d_desc), o = Kt(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? Zt(e, t, n, r) : e.strategy === qe || a === i ? (H(e, ($e << 1) + +!!r, 3), Ht(e, yt, bt)) : (H(e, (et << 1) + +!!r, 3), qt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), Ht(e, e.dyn_ltree, e.dyn_dtree)), Rt(e), r && zt(e);
2480
+ e.level > 0 ? (e.strm.data_type === Xe && (e.strm.data_type = qt(e)), Ht(e, e.l_desc), Ht(e, e.d_desc), o = Gt(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? Xt(e, t, n, r) : e.strategy === qe || a === i ? (H(e, ($e << 1) + +!!r, 3), Vt(e, yt, bt)) : (H(e, (et << 1) + +!!r, 3), Kt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), Vt(e, e.dyn_ltree, e.dyn_dtree)), Lt(e), r && Rt(e);
2464
2481
  },
2465
2482
  _tr_tally: (e, t, n) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = n, t === 0 ? e.dyn_ltree[n * 2]++ : (e.matches++, t--, e.dyn_ltree[(St[n] + nt + 1) * 2]++, e.dyn_dtree[At(t) * 2]++), e.sym_next === e.sym_end),
2466
2483
  _tr_align: (e) => {
2467
- H(e, $e << 1, 3), Mt(e, ut, yt), Pt(e);
2484
+ H(e, $e << 1, 3), U(e, ut, yt), Nt(e);
2468
2485
  }
2469
- }, $t = (e, t, n, r) => {
2486
+ }, Qt = (e, t, n, r) => {
2470
2487
  let i = e & 65535 | 0, a = e >>> 16 & 65535 | 0, o = 0;
2471
2488
  for (; n !== 0;) {
2472
2489
  o = n > 2e3 ? 2e3 : n, n -= o;
@@ -2476,7 +2493,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2476
2493
  i %= 65521, a %= 65521;
2477
2494
  }
2478
2495
  return i | a << 16 | 0;
2479
- }, en = new Uint32Array((() => {
2496
+ }, $t = new Uint32Array((() => {
2480
2497
  let e, t = [];
2481
2498
  for (var n = 0; n < 256; n++) {
2482
2499
  e = n;
@@ -2484,12 +2501,12 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2484
2501
  t[n] = e;
2485
2502
  }
2486
2503
  return t;
2487
- })()), U = (e, t, n, r) => {
2488
- let i = en, a = r + n;
2504
+ })()), W = (e, t, n, r) => {
2505
+ let i = $t, a = r + n;
2489
2506
  e ^= -1;
2490
2507
  for (let n = r; n < a; n++) e = e >>> 8 ^ i[(e ^ t[n]) & 255];
2491
2508
  return e ^ -1;
2492
- }, tn = {
2509
+ }, en = {
2493
2510
  2: "need dictionary",
2494
2511
  1: "stream end",
2495
2512
  0: "",
@@ -2499,7 +2516,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2499
2516
  "-4": "insufficient memory",
2500
2517
  "-5": "buffer error",
2501
2518
  "-6": "incompatible version"
2502
- }, nn = {
2519
+ }, tn = {
2503
2520
  Z_NO_FLUSH: 0,
2504
2521
  Z_PARTIAL_FLUSH: 1,
2505
2522
  Z_SYNC_FLUSH: 2,
@@ -2528,7 +2545,7 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2528
2545
  Z_TEXT: 1,
2529
2546
  Z_UNKNOWN: 2,
2530
2547
  Z_DEFLATED: 8
2531
- }, { _tr_init: rn, _tr_stored_block: an, _tr_flush_block: on, _tr_tally: sn, _tr_align: cn } = Qt, { Z_NO_FLUSH: ln, Z_PARTIAL_FLUSH: un, Z_FULL_FLUSH: dn, Z_FINISH: W, Z_BLOCK: fn, Z_OK: G, Z_STREAM_END: pn, Z_STREAM_ERROR: K, Z_DATA_ERROR: mn, Z_BUF_ERROR: hn, Z_DEFAULT_COMPRESSION: gn, Z_FILTERED: _n, Z_HUFFMAN_ONLY: vn, Z_RLE: yn, Z_FIXED: bn, Z_DEFAULT_STRATEGY: xn, Z_UNKNOWN: Sn, Z_DEFLATED: Cn } = nn, wn = 9, Tn = 15, En = 8, Dn = 573, q = 3, On = 258, kn = 262, An = 32, jn = 42, Mn = 57, Nn = 69, Pn = 73, Fn = 91, In = 103, Ln = 113, Rn = 666, J = 1, zn = 2, Bn = 3, Vn = 4, Hn = 3, Un = (e, t) => (e.msg = tn[t], t), Wn = (e) => e * 2 - (e > 4 ? 9 : 0), Gn = (e) => {
2548
+ }, { _tr_init: nn, _tr_stored_block: rn, _tr_flush_block: an, _tr_tally: on, _tr_align: sn } = Zt, { Z_NO_FLUSH: cn, Z_PARTIAL_FLUSH: ln, Z_FULL_FLUSH: un, Z_FINISH: G, Z_BLOCK: dn, Z_OK: K, Z_STREAM_END: fn, Z_STREAM_ERROR: pn, Z_DATA_ERROR: mn, Z_BUF_ERROR: hn, Z_DEFAULT_COMPRESSION: gn, Z_FILTERED: _n, Z_HUFFMAN_ONLY: vn, Z_RLE: yn, Z_FIXED: bn, Z_DEFAULT_STRATEGY: xn, Z_UNKNOWN: Sn, Z_DEFLATED: Cn } = tn, wn = 9, Tn = 15, En = 8, Dn = 573, q = 3, On = 258, kn = 262, An = 32, jn = 42, Mn = 57, Nn = 69, Pn = 73, Fn = 91, In = 103, Ln = 113, Rn = 666, J = 1, zn = 2, Bn = 3, Vn = 4, Hn = 3, Un = (e, t) => (e.msg = en[t], t), Wn = (e) => e * 2 - (e > 4 ? 9 : 0), Gn = (e) => {
2532
2549
  let t = e.length;
2533
2550
  for (; --t >= 0;) e[t] = 0;
2534
2551
  }, Kn = (e) => {
@@ -2545,14 +2562,14 @@ var At = (e) => e < 256 ? xt[e] : xt[256 + (e >>> 7)], jt = (e, t) => {
2545
2562
  let t = e.state, n = t.pending;
2546
2563
  n > e.avail_out && (n = e.avail_out), n !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + n), e.next_out), e.next_out += n, t.pending_out += n, e.total_out += n, e.avail_out -= n, t.pending -= n, t.pending === 0 && (t.pending_out = 0));
2547
2564
  }, X = (e, t) => {
2548
- on(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Y(e.strm);
2565
+ an(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Y(e.strm);
2549
2566
  }, Z = (e, t) => {
2550
2567
  e.pending_buf[e.pending++] = t;
2551
2568
  }, Jn = (e, t) => {
2552
2569
  e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255;
2553
2570
  }, Yn = (e, t, n, r) => {
2554
2571
  let i = e.avail_in;
2555
- return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = $t(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = U(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i);
2572
+ return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = Qt(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = W(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i);
2556
2573
  }, Xn = (e, t) => {
2557
2574
  let n = e.max_chain_length, r = e.strstart, i, a, o = e.prev_length, s = e.nice_match, c = e.strstart > e.w_size - kn ? e.strstart - (e.w_size - kn) : 0, l = e.window, u = e.w_mask, d = e.prev, f = e.strstart + On, p = l[r + o - 1], m = l[r + o];
2558
2575
  e.prev_length >= e.good_match && (n >>= 2), s > e.lookahead && (s = e.lookahead);
@@ -2576,51 +2593,51 @@ while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] ===
2576
2593
  }, Qn = (e, t) => {
2577
2594
  let n = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, r, i, a, o = 0, s = e.strm.avail_in;
2578
2595
  do {
2579
- if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== W || t === ln || r !== i + e.strm.avail_in))) break;
2580
- o = +(t === W && r === i + e.strm.avail_in), an(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, Y(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Yn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r);
2596
+ if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== G || t === cn || r !== i + e.strm.avail_in))) break;
2597
+ o = +(t === G && r === i + e.strm.avail_in), rn(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, Y(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Yn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r);
2581
2598
  } while (o === 0);
2582
- return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? Vn : t !== ln && t !== W && e.strm.avail_in === 0 && e.strstart === e.block_start ? zn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Yn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === W) && t !== ln && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = +(t === W && e.strm.avail_in === 0 && r === i), an(e, e.block_start, r, o), e.block_start += r, Y(e.strm)), o ? Bn : J);
2599
+ return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? Vn : t !== cn && t !== G && e.strm.avail_in === 0 && e.strstart === e.block_start ? zn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Yn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === G) && t !== cn && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = +(t === G && e.strm.avail_in === 0 && r === i), rn(e, e.block_start, r, o), e.block_start += r, Y(e.strm)), o ? Bn : J);
2583
2600
  }, $n = (e, t) => {
2584
2601
  let n, r;
2585
2602
  for (;;) {
2586
2603
  if (e.lookahead < kn) {
2587
- if (Zn(e), e.lookahead < kn && t === ln) return J;
2604
+ if (Zn(e), e.lookahead < kn && t === cn) return J;
2588
2605
  if (e.lookahead === 0) break;
2589
2606
  }
2590
- if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n)), e.match_length >= q) if (r = sn(e, e.strstart - e.match_start, e.match_length - q), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= q) {
2607
+ if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n)), e.match_length >= q) if (r = on(e, e.strstart - e.match_start, e.match_length - q), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= q) {
2591
2608
  e.match_length--;
2592
2609
  do
2593
2610
  e.strstart++, e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;
2594
2611
  while (--e.match_length !== 0);
2595
2612
  e.strstart++;
2596
2613
  } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = qn(e, e.ins_h, e.window[e.strstart + 1]);
2597
- else r = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
2614
+ else r = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
2598
2615
  if (r && (X(e, !1), e.strm.avail_out === 0)) return J;
2599
2616
  }
2600
- return e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2617
+ return e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2601
2618
  }, er = (e, t) => {
2602
2619
  let n, r, i;
2603
2620
  for (;;) {
2604
2621
  if (e.lookahead < kn) {
2605
- if (Zn(e), e.lookahead < kn && t === ln) return J;
2622
+ if (Zn(e), e.lookahead < kn && t === cn) return J;
2606
2623
  if (e.lookahead === 0) break;
2607
2624
  }
2608
2625
  if (n = 0, e.lookahead >= q && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = q - 1, n !== 0 && e.prev_length < e.max_lazy_match && e.strstart - n <= e.w_size - kn && (e.match_length = Xn(e, n), e.match_length <= 5 && (e.strategy === _n || e.match_length === q && e.strstart - e.match_start > 4096) && (e.match_length = q - 1)), e.prev_length >= q && e.match_length <= e.prev_length) {
2609
- i = e.strstart + e.lookahead - q, r = sn(e, e.strstart - 1 - e.prev_match, e.prev_length - q), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
2626
+ i = e.strstart + e.lookahead - q, r = on(e, e.strstart - 1 - e.prev_match, e.prev_length - q), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
2610
2627
  do
2611
2628
  ++e.strstart <= i && (e.ins_h = qn(e, e.ins_h, e.window[e.strstart + q - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);
2612
2629
  while (--e.prev_length !== 0);
2613
2630
  if (e.match_available = 0, e.match_length = q - 1, e.strstart++, r && (X(e, !1), e.strm.avail_out === 0)) return J;
2614
2631
  } else if (e.match_available) {
2615
- if (r = sn(e, 0, e.window[e.strstart - 1]), r && X(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return J;
2632
+ if (r = on(e, 0, e.window[e.strstart - 1]), r && X(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return J;
2616
2633
  } else e.match_available = 1, e.strstart++, e.lookahead--;
2617
2634
  }
2618
- return e.match_available &&= (r = sn(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2635
+ return e.match_available &&= (r = on(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < q - 1 ? e.strstart : q - 1, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2619
2636
  }, tr = (e, t) => {
2620
2637
  let n, r, i, a, o = e.window;
2621
2638
  for (;;) {
2622
2639
  if (e.lookahead <= On) {
2623
- if (Zn(e), e.lookahead <= On && t === ln) return J;
2640
+ if (Zn(e), e.lookahead <= On && t === cn) return J;
2624
2641
  if (e.lookahead === 0) break;
2625
2642
  }
2626
2643
  if (e.match_length = 0, e.lookahead >= q && e.strstart > 0 && (i = e.strstart - 1, r = o[i], r === o[++i] && r === o[++i] && r === o[++i])) {
@@ -2629,19 +2646,19 @@ while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] ===
2629
2646
  while (r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && i < a);
2630
2647
  e.match_length = On - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead);
2631
2648
  }
2632
- if (e.match_length >= q ? (n = sn(e, 1, e.match_length - q), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (X(e, !1), e.strm.avail_out === 0)) return J;
2649
+ if (e.match_length >= q ? (n = on(e, 1, e.match_length - q), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (X(e, !1), e.strm.avail_out === 0)) return J;
2633
2650
  }
2634
- return e.insert = 0, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2651
+ return e.insert = 0, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2635
2652
  }, nr = (e, t) => {
2636
2653
  let n;
2637
2654
  for (;;) {
2638
2655
  if (e.lookahead === 0 && (Zn(e), e.lookahead === 0)) {
2639
- if (t === ln) return J;
2656
+ if (t === cn) return J;
2640
2657
  break;
2641
2658
  }
2642
- if (e.match_length = 0, n = sn(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (X(e, !1), e.strm.avail_out === 0)) return J;
2659
+ if (e.match_length = 0, n = on(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (X(e, !1), e.strm.avail_out === 0)) return J;
2643
2660
  }
2644
- return e.insert = 0, t === W ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2661
+ return e.insert = 0, t === G ? (X(e, !0), e.strm.avail_out === 0 ? Bn : Vn) : e.sym_next && (X(e, !1), e.strm.avail_out === 0) ? J : zn;
2645
2662
  };
2646
2663
  function rr(e, t, n, r, i) {
2647
2664
  this.good_length = e, this.max_lazy = t, this.nice_length = n, this.max_chain = r, this.func = i;
@@ -2668,17 +2685,17 @@ var sr = (e) => {
2668
2685
  let t = e.state;
2669
2686
  return +(!t || t.strm !== e || t.status !== jn && t.status !== Mn && t.status !== Nn && t.status !== Pn && t.status !== Fn && t.status !== In && t.status !== Ln && t.status !== Rn);
2670
2687
  }, cr = (e) => {
2671
- if (sr(e)) return Un(e, K);
2688
+ if (sr(e)) return Un(e, pn);
2672
2689
  e.total_in = e.total_out = 0, e.data_type = Sn;
2673
2690
  let t = e.state;
2674
- return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? Mn : t.wrap ? jn : Ln, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, rn(t), G;
2691
+ return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? Mn : t.wrap ? jn : Ln, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, nn(t), K;
2675
2692
  }, lr = (e) => {
2676
2693
  let t = cr(e);
2677
- return t === G && ar(e.state), t;
2678
- }, ur = (e, t) => sr(e) || e.state.wrap !== 2 ? K : (e.state.gzhead = t, G), dr = (e, t, n, r, i, a) => {
2679
- if (!e) return K;
2694
+ return t === K && ar(e.state), t;
2695
+ }, ur = (e, t) => sr(e) || e.state.wrap !== 2 ? pn : (e.state.gzhead = t, K), dr = (e, t, n, r, i, a) => {
2696
+ if (!e) return pn;
2680
2697
  let o = 1;
2681
- if (t === gn && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > wn || n !== Cn || r < 8 || r > 15 || t < 0 || t > 9 || a < 0 || a > bn || r === 8 && o !== 1) return Un(e, K);
2698
+ if (t === gn && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > wn || n !== Cn || r < 8 || r > 15 || t < 0 || t > 9 || a < 0 || a > bn || r === 8 && o !== 1) return Un(e, pn);
2682
2699
  r === 8 && (r = 9);
2683
2700
  let s = new or();
2684
2701
  return e.state = s, s.strm = e, s.status = jn, s.wrap = o, s.gzhead = null, s.w_bits = r, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = i + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + q - 1) / q), s.window = new Uint8Array(s.w_size * 2), s.head = new Uint16Array(s.hash_size), s.prev = new Uint16Array(s.w_size), s.lit_bufsize = 1 << i + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new Uint8Array(s.pending_buf_size), s.sym_buf = s.lit_bufsize, s.sym_end = (s.lit_bufsize - 1) * 3, s.level = t, s.strategy = a, s.method = n, lr(e);
@@ -2689,32 +2706,32 @@ var sr = (e) => {
2689
2706
  deflateResetKeep: cr,
2690
2707
  deflateSetHeader: ur,
2691
2708
  deflate: (e, t) => {
2692
- if (sr(e) || t > fn || t < 0) return e ? Un(e, K) : K;
2709
+ if (sr(e) || t > dn || t < 0) return e ? Un(e, pn) : pn;
2693
2710
  let n = e.state;
2694
- if (!e.output || e.avail_in !== 0 && !e.input || n.status === Rn && t !== W) return Un(e, e.avail_out === 0 ? hn : K);
2711
+ if (!e.output || e.avail_in !== 0 && !e.input || n.status === Rn && t !== G) return Un(e, e.avail_out === 0 ? hn : pn);
2695
2712
  let r = n.last_flush;
2696
2713
  if (n.last_flush = t, n.pending !== 0) {
2697
- if (Y(e), e.avail_out === 0) return n.last_flush = -1, G;
2698
- } else if (e.avail_in === 0 && Wn(t) <= Wn(r) && t !== W) return Un(e, hn);
2714
+ if (Y(e), e.avail_out === 0) return n.last_flush = -1, K;
2715
+ } else if (e.avail_in === 0 && Wn(t) <= Wn(r) && t !== G) return Un(e, hn);
2699
2716
  if (n.status === Rn && e.avail_in !== 0) return Un(e, hn);
2700
2717
  if (n.status === jn && n.wrap === 0 && (n.status = Ln), n.status === jn) {
2701
2718
  let t = Cn + (n.w_bits - 8 << 4) << 8, r = -1;
2702
- if (r = n.strategy >= vn || n.level < 2 ? 0 : n.level < 6 ? 1 : n.level === 6 ? 2 : 3, t |= r << 6, n.strstart !== 0 && (t |= An), t += 31 - t % 31, Jn(n, t), n.strstart !== 0 && (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), e.adler = 1, n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2719
+ if (r = n.strategy >= vn || n.level < 2 ? 0 : n.level < 6 ? 1 : n.level === 6 ? 2 : 3, t |= r << 6, n.strstart !== 0 && (t |= An), t += 31 - t % 31, Jn(n, t), n.strstart !== 0 && (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), e.adler = 1, n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2703
2720
  }
2704
2721
  if (n.status === Mn) {
2705
- if (e.adler = 0, Z(n, 31), Z(n, 139), Z(n, 8), n.gzhead) Z(n, +!!n.gzhead.text + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Z(n, n.gzhead.time & 255), Z(n, n.gzhead.time >> 8 & 255), Z(n, n.gzhead.time >> 16 & 255), Z(n, n.gzhead.time >> 24 & 255), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, n.gzhead.os & 255), n.gzhead.extra && n.gzhead.extra.length && (Z(n, n.gzhead.extra.length & 255), Z(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = U(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Nn;
2706
- else if (Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, Hn), n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2722
+ if (e.adler = 0, Z(n, 31), Z(n, 139), Z(n, 8), n.gzhead) Z(n, +!!n.gzhead.text + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Z(n, n.gzhead.time & 255), Z(n, n.gzhead.time >> 8 & 255), Z(n, n.gzhead.time >> 16 & 255), Z(n, n.gzhead.time >> 24 & 255), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, n.gzhead.os & 255), n.gzhead.extra && n.gzhead.extra.length && (Z(n, n.gzhead.extra.length & 255), Z(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = W(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Nn;
2723
+ else if (Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, 0), Z(n, n.level === 9 ? 2 : n.strategy >= vn || n.level < 2 ? 4 : 0), Z(n, Hn), n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2707
2724
  }
2708
2725
  if (n.status === Nn) {
2709
2726
  if (n.gzhead.extra) {
2710
2727
  let t = n.pending, r = (n.gzhead.extra.length & 65535) - n.gzindex;
2711
2728
  for (; n.pending + r > n.pending_buf_size;) {
2712
2729
  let i = n.pending_buf_size - n.pending;
2713
- if (n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex, n.gzindex + i), n.pending), n.pending = n.pending_buf_size, n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex += i, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2730
+ if (n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex, n.gzindex + i), n.pending), n.pending = n.pending_buf_size, n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex += i, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2714
2731
  t = 0, r -= i;
2715
2732
  }
2716
2733
  let i = new Uint8Array(n.gzhead.extra);
2717
- n.pending_buf.set(i.subarray(n.gzindex, n.gzindex + r), n.pending), n.pending += r, n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2734
+ n.pending_buf.set(i.subarray(n.gzindex, n.gzindex + r), n.pending), n.pending += r, n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2718
2735
  }
2719
2736
  n.status = Pn;
2720
2737
  }
@@ -2723,12 +2740,12 @@ var sr = (e) => {
2723
2740
  let t = n.pending, r;
2724
2741
  do {
2725
2742
  if (n.pending === n.pending_buf_size) {
2726
- if (n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, G;
2743
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, K;
2727
2744
  t = 0;
2728
2745
  }
2729
2746
  r = n.gzindex < n.gzhead.name.length ? n.gzhead.name.charCodeAt(n.gzindex++) & 255 : 0, Z(n, r);
2730
2747
  } while (r !== 0);
2731
- n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2748
+ n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
2732
2749
  }
2733
2750
  n.status = Fn;
2734
2751
  }
@@ -2737,40 +2754,40 @@ var sr = (e) => {
2737
2754
  let t = n.pending, r;
2738
2755
  do {
2739
2756
  if (n.pending === n.pending_buf_size) {
2740
- if (n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, G;
2757
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t)), Y(e), n.pending !== 0) return n.last_flush = -1, K;
2741
2758
  t = 0;
2742
2759
  }
2743
2760
  r = n.gzindex < n.gzhead.comment.length ? n.gzhead.comment.charCodeAt(n.gzindex++) & 255 : 0, Z(n, r);
2744
2761
  } while (r !== 0);
2745
- n.gzhead.hcrc && n.pending > t && (e.adler = U(e.adler, n.pending_buf, n.pending - t, t));
2762
+ n.gzhead.hcrc && n.pending > t && (e.adler = W(e.adler, n.pending_buf, n.pending - t, t));
2746
2763
  }
2747
2764
  n.status = In;
2748
2765
  }
2749
2766
  if (n.status === In) {
2750
2767
  if (n.gzhead.hcrc) {
2751
- if (n.pending + 2 > n.pending_buf_size && (Y(e), n.pending !== 0)) return n.last_flush = -1, G;
2768
+ if (n.pending + 2 > n.pending_buf_size && (Y(e), n.pending !== 0)) return n.last_flush = -1, K;
2752
2769
  Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), e.adler = 0;
2753
2770
  }
2754
- if (n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, G;
2771
+ if (n.status = Ln, Y(e), n.pending !== 0) return n.last_flush = -1, K;
2755
2772
  }
2756
- if (e.avail_in !== 0 || n.lookahead !== 0 || t !== ln && n.status !== Rn) {
2773
+ if (e.avail_in !== 0 || n.lookahead !== 0 || t !== cn && n.status !== Rn) {
2757
2774
  let r = n.level === 0 ? Qn(n, t) : n.strategy === vn ? nr(n, t) : n.strategy === yn ? tr(n, t) : ir[n.level].func(n, t);
2758
- if ((r === Bn || r === Vn) && (n.status = Rn), r === J || r === Bn) return e.avail_out === 0 && (n.last_flush = -1), G;
2759
- if (r === zn && (t === un ? cn(n) : t !== fn && (an(n, 0, 0, !1), t === dn && (Gn(n.head), n.lookahead === 0 && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Y(e), e.avail_out === 0)) return n.last_flush = -1, G;
2775
+ if ((r === Bn || r === Vn) && (n.status = Rn), r === J || r === Bn) return e.avail_out === 0 && (n.last_flush = -1), K;
2776
+ if (r === zn && (t === ln ? sn(n) : t !== dn && (rn(n, 0, 0, !1), t === un && (Gn(n.head), n.lookahead === 0 && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Y(e), e.avail_out === 0)) return n.last_flush = -1, K;
2760
2777
  }
2761
- return t === W ? n.wrap <= 0 ? pn : (n.wrap === 2 ? (Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), Z(n, e.adler >> 16 & 255), Z(n, e.adler >> 24 & 255), Z(n, e.total_in & 255), Z(n, e.total_in >> 8 & 255), Z(n, e.total_in >> 16 & 255), Z(n, e.total_in >> 24 & 255)) : (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), Y(e), n.wrap > 0 && (n.wrap = -n.wrap), n.pending === 0 ? pn : G) : G;
2778
+ return t === G ? n.wrap <= 0 ? fn : (n.wrap === 2 ? (Z(n, e.adler & 255), Z(n, e.adler >> 8 & 255), Z(n, e.adler >> 16 & 255), Z(n, e.adler >> 24 & 255), Z(n, e.total_in & 255), Z(n, e.total_in >> 8 & 255), Z(n, e.total_in >> 16 & 255), Z(n, e.total_in >> 24 & 255)) : (Jn(n, e.adler >>> 16), Jn(n, e.adler & 65535)), Y(e), n.wrap > 0 && (n.wrap = -n.wrap), n.pending === 0 ? fn : K) : K;
2762
2779
  },
2763
2780
  deflateEnd: (e) => {
2764
- if (sr(e)) return K;
2781
+ if (sr(e)) return pn;
2765
2782
  let t = e.state.status;
2766
- return e.state = null, t === Ln ? Un(e, mn) : G;
2783
+ return e.state = null, t === Ln ? Un(e, mn) : K;
2767
2784
  },
2768
2785
  deflateSetDictionary: (e, t) => {
2769
2786
  let n = t.length;
2770
- if (sr(e)) return K;
2787
+ if (sr(e)) return pn;
2771
2788
  let r = e.state, i = r.wrap;
2772
- if (i === 2 || i === 1 && r.status !== jn || r.lookahead) return K;
2773
- if (i === 1 && (e.adler = $t(e.adler, t, n, 0)), r.wrap = 0, n >= r.w_size) {
2789
+ if (i === 2 || i === 1 && r.status !== jn || r.lookahead) return pn;
2790
+ if (i === 1 && (e.adler = Qt(e.adler, t, n, 0)), r.wrap = 0, n >= r.w_size) {
2774
2791
  i === 0 && (Gn(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0);
2775
2792
  let e = new Uint8Array(r.w_size);
2776
2793
  e.set(t.subarray(n - r.w_size, n), 0), t = e, n = r.w_size;
@@ -2783,7 +2800,7 @@ var sr = (e) => {
2783
2800
  while (--t);
2784
2801
  r.strstart = e, r.lookahead = q - 1, Zn(r);
2785
2802
  }
2786
- return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = q - 1, r.match_available = 0, e.next_in = o, e.input = s, e.avail_in = a, r.wrap = i, G;
2803
+ return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = q - 1, r.match_available = 0, e.next_in = o, e.input = s, e.avail_in = a, r.wrap = i, K;
2787
2804
  },
2788
2805
  deflateInfo: "pako deflate (from Nodeca project)"
2789
2806
  }, pr = (e, t) => Object.prototype.hasOwnProperty.call(e, t), mr = {
@@ -2864,7 +2881,7 @@ var _r = (e) => {
2864
2881
  function br() {
2865
2882
  this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
2866
2883
  }
2867
- var xr = br, Sr = Object.prototype.toString, { Z_NO_FLUSH: Cr, Z_SYNC_FLUSH: wr, Z_FULL_FLUSH: Tr, Z_FINISH: Er, Z_OK: Dr, Z_STREAM_END: Or, Z_DEFAULT_COMPRESSION: kr, Z_DEFAULT_STRATEGY: Ar, Z_DEFLATED: jr } = nn;
2884
+ var xr = br, Sr = Object.prototype.toString, { Z_NO_FLUSH: Cr, Z_SYNC_FLUSH: wr, Z_FULL_FLUSH: Tr, Z_FINISH: Er, Z_OK: Dr, Z_STREAM_END: Or, Z_DEFAULT_COMPRESSION: kr, Z_DEFAULT_STRATEGY: Ar, Z_DEFLATED: jr } = tn;
2868
2885
  function Mr(e) {
2869
2886
  this.options = mr.assign({
2870
2887
  level: kr,
@@ -2877,10 +2894,10 @@ function Mr(e) {
2877
2894
  let t = this.options;
2878
2895
  t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new xr(), this.strm.avail_out = 0;
2879
2896
  let n = fr.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy);
2880
- if (n !== Dr) throw Error(tn[n]);
2897
+ if (n !== Dr) throw Error(en[n]);
2881
2898
  if (t.header && fr.deflateSetHeader(this.strm, t.header), t.dictionary) {
2882
2899
  let e;
2883
- if (e = typeof t.dictionary == "string" ? yr.string2buf(t.dictionary) : Sr.call(t.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t.dictionary) : t.dictionary, n = fr.deflateSetDictionary(this.strm, e), n !== Dr) throw Error(tn[n]);
2900
+ if (e = typeof t.dictionary == "string" ? yr.string2buf(t.dictionary) : Sr.call(t.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t.dictionary) : t.dictionary, n = fr.deflateSetDictionary(this.strm, e), n !== Dr) throw Error(en[n]);
2884
2901
  this._dict_set = !0;
2885
2902
  }
2886
2903
  }
@@ -2911,7 +2928,7 @@ Mr.prototype.push = function(e, t) {
2911
2928
  };
2912
2929
  function Nr(e, t) {
2913
2930
  let n = new Mr(t);
2914
- if (n.push(e, !0), n.err) throw n.msg || tn[n.err];
2931
+ if (n.push(e, !0), n.err) throw n.msg || en[n.err];
2915
2932
  return n.result;
2916
2933
  }
2917
2934
  function Pr(e, t) {
@@ -2925,7 +2942,7 @@ var Ir = {
2925
2942
  deflate: Nr,
2926
2943
  deflateRaw: Pr,
2927
2944
  gzip: Fr,
2928
- constants: nn
2945
+ constants: tn
2929
2946
  }, Lr = 16209, Rr = 16191, zr = function(e, t) {
2930
2947
  let n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E = e.state;
2931
2948
  n = e.next_in, w = e.input, r = n + (e.avail_in - 5), i = e.next_out, T = e.output, a = i - (t - e.avail_out), o = i + (e.avail_out - 257), s = E.dmax, c = E.wsize, l = E.whave, u = E.wnext, d = E.window, f = E.hold, p = E.bits, m = E.lencode, h = E.distcode, g = (1 << E.lenbits) - 1, _ = (1 << E.distbits) - 1;
@@ -3166,7 +3183,7 @@ var Ir = {
3166
3183
  }
3167
3184
  }
3168
3185
  return v !== 0 && (i[C + v] = l - h << 24 | 4194304), s.bits = p, 0;
3169
- }, Zr = 0, Qr = 1, $r = 2, { Z_FINISH: ei, Z_BLOCK: ti, Z_TREES: ni, Z_OK: ri, Z_STREAM_END: ii, Z_NEED_DICT: ai, Z_STREAM_ERROR: Q, Z_DATA_ERROR: oi, Z_MEM_ERROR: si, Z_BUF_ERROR: ci, Z_DEFLATED: li } = nn, ui = 16180, di = 16181, fi = 16182, pi = 16183, mi = 16184, hi = 16185, gi = 16186, _i = 16187, vi = 16188, yi = 16189, bi = 16190, xi = 16191, Si = 16192, Ci = 16193, wi = 16194, Ti = 16195, Ei = 16196, Di = 16197, Oi = 16198, ki = 16199, Ai = 16200, ji = 16201, Mi = 16202, Ni = 16203, Pi = 16204, Fi = 16205, Ii = 16206, Li = 16207, Ri = 16208, $ = 16209, zi = 16210, Bi = 16211, Vi = 852, Hi = 592, Ui = 15, Wi = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
3186
+ }, Zr = 0, Qr = 1, $r = 2, { Z_FINISH: ei, Z_BLOCK: ti, Z_TREES: ni, Z_OK: ri, Z_STREAM_END: ii, Z_NEED_DICT: ai, Z_STREAM_ERROR: Q, Z_DATA_ERROR: oi, Z_MEM_ERROR: si, Z_BUF_ERROR: ci, Z_DEFLATED: li } = tn, ui = 16180, di = 16181, fi = 16182, pi = 16183, mi = 16184, hi = 16185, gi = 16186, _i = 16187, vi = 16188, yi = 16189, bi = 16190, xi = 16191, Si = 16192, Ci = 16193, wi = 16194, Ti = 16195, Ei = 16196, Di = 16197, Oi = 16198, ki = 16199, Ai = 16200, ji = 16201, Mi = 16202, Ni = 16203, Pi = 16204, Fi = 16205, Ii = 16206, Li = 16207, Ri = 16208, $ = 16209, zi = 16210, Bi = 16211, Vi = 852, Hi = 592, Ui = 15, Wi = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
3170
3187
  function Gi() {
3171
3188
  this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
3172
3189
  }
@@ -3249,7 +3266,7 @@ var Ki = (e) => {
3249
3266
  s--, l += r[a++] << u, u += 8;
3250
3267
  }
3251
3268
  if (n.wrap & 2 && l === 35615) {
3252
- n.wbits === 0 && (n.wbits = 15), n.check = 0, T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0), l = 0, u = 0, n.mode = di;
3269
+ n.wbits === 0 && (n.wbits = 15), n.check = 0, T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0), l = 0, u = 0, n.mode = di;
3253
3270
  break;
3254
3271
  }
3255
3272
  if (n.head && (n.head.done = !1), !(n.wrap & 1) || (((l & 255) << 8) + (l >> 8)) % 31) {
@@ -3279,30 +3296,30 @@ var Ki = (e) => {
3279
3296
  e.msg = "unknown header flags set", n.mode = $;
3280
3297
  break;
3281
3298
  }
3282
- n.head && (n.head.text = l >> 8 & 1), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0, n.mode = fi;
3299
+ n.head && (n.head.text = l >> 8 & 1), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0, n.mode = fi;
3283
3300
  case fi:
3284
3301
  for (; u < 32;) {
3285
3302
  if (s === 0) break inf_leave;
3286
3303
  s--, l += r[a++] << u, u += 8;
3287
3304
  }
3288
- n.head && (n.head.time = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, T[2] = l >>> 16 & 255, T[3] = l >>> 24 & 255, n.check = U(n.check, T, 4, 0)), l = 0, u = 0, n.mode = pi;
3305
+ n.head && (n.head.time = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, T[2] = l >>> 16 & 255, T[3] = l >>> 24 & 255, n.check = W(n.check, T, 4, 0)), l = 0, u = 0, n.mode = pi;
3289
3306
  case pi:
3290
3307
  for (; u < 16;) {
3291
3308
  if (s === 0) break inf_leave;
3292
3309
  s--, l += r[a++] << u, u += 8;
3293
3310
  }
3294
- n.head && (n.head.xflags = l & 255, n.head.os = l >> 8), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0, n.mode = mi;
3311
+ n.head && (n.head.xflags = l & 255, n.head.os = l >> 8), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0, n.mode = mi;
3295
3312
  case mi:
3296
3313
  if (n.flags & 1024) {
3297
3314
  for (; u < 16;) {
3298
3315
  if (s === 0) break inf_leave;
3299
3316
  s--, l += r[a++] << u, u += 8;
3300
3317
  }
3301
- n.length = l, n.head && (n.head.extra_len = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = U(n.check, T, 2, 0)), l = 0, u = 0;
3318
+ n.length = l, n.head && (n.head.extra_len = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = W(n.check, T, 2, 0)), l = 0, u = 0;
3302
3319
  } else n.head && (n.head.extra = null);
3303
3320
  n.mode = hi;
3304
3321
  case hi:
3305
- if (n.flags & 1024 && (p = n.length, p > s && (p = s), p && (n.head && (C = n.head.extra_len - n.length, n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)), n.head.extra.set(r.subarray(a, a + p), C)), n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, n.length -= p), n.length)) break inf_leave;
3322
+ if (n.flags & 1024 && (p = n.length, p > s && (p = s), p && (n.head && (C = n.head.extra_len - n.length, n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)), n.head.extra.set(r.subarray(a, a + p), C)), n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, n.length -= p), n.length)) break inf_leave;
3306
3323
  n.length = 0, n.mode = gi;
3307
3324
  case gi:
3308
3325
  if (n.flags & 2048) {
@@ -3311,7 +3328,7 @@ var Ki = (e) => {
3311
3328
  do
3312
3329
  C = r[a + p++], n.head && C && n.length < 65536 && (n.head.name += String.fromCharCode(C));
3313
3330
  while (C && p < s);
3314
- if (n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3331
+ if (n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3315
3332
  } else n.head && (n.head.name = null);
3316
3333
  n.length = 0, n.mode = _i;
3317
3334
  case _i:
@@ -3321,7 +3338,7 @@ var Ki = (e) => {
3321
3338
  do
3322
3339
  C = r[a + p++], n.head && C && n.length < 65536 && (n.head.comment += String.fromCharCode(C));
3323
3340
  while (C && p < s);
3324
- if (n.flags & 512 && n.wrap & 4 && (n.check = U(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3341
+ if (n.flags & 512 && n.wrap & 4 && (n.check = W(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
3325
3342
  } else n.head && (n.head.comment = null);
3326
3343
  n.mode = vi;
3327
3344
  case vi:
@@ -3563,7 +3580,7 @@ var Ki = (e) => {
3563
3580
  if (s === 0) break inf_leave;
3564
3581
  s--, l |= r[a++] << u, u += 8;
3565
3582
  }
3566
- if (f -= c, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? U(n.check, i, f, o - f) : $t(n.check, i, f, o - f)), f = c, n.wrap & 4 && (n.flags ? l : Wi(l)) !== n.check) {
3583
+ if (f -= c, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? W(n.check, i, f, o - f) : Qt(n.check, i, f, o - f)), f = c, n.wrap & 4 && (n.flags ? l : Wi(l)) !== n.check) {
3567
3584
  e.msg = "incorrect data check", n.mode = $;
3568
3585
  break;
3569
3586
  }
@@ -3593,7 +3610,7 @@ var Ki = (e) => {
3593
3610
  case Bi:
3594
3611
  default: return Q;
3595
3612
  }
3596
- return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, (n.wsize || f !== e.avail_out && n.mode < $ && (n.mode < Ii || t !== ei)) && na(e, e.output, e.next_out, f - e.avail_out), d -= e.avail_in, f -= e.avail_out, e.total_in += d, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? U(n.check, i, f, e.next_out - f) : $t(n.check, i, f, e.next_out - f)), e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === xi ? 128 : 0) + (n.mode === ki || n.mode === wi ? 256 : 0), (d === 0 && f === 0 || t === ei) && w === ri && (w = ci), w;
3613
+ return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, (n.wsize || f !== e.avail_out && n.mode < $ && (n.mode < Ii || t !== ei)) && na(e, e.output, e.next_out, f - e.avail_out), d -= e.avail_in, f -= e.avail_out, e.total_in += d, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? W(n.check, i, f, e.next_out - f) : Qt(n.check, i, f, e.next_out - f)), e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === xi ? 128 : 0) + (n.mode === ki || n.mode === wi ? 256 : 0), (d === 0 && f === 0 || t === ei) && w === ri && (w = ci), w;
3597
3614
  },
3598
3615
  inflateEnd: (e) => {
3599
3616
  if (Ki(e)) return Q;
@@ -3607,14 +3624,14 @@ var Ki = (e) => {
3607
3624
  },
3608
3625
  inflateSetDictionary: (e, t) => {
3609
3626
  let n = t.length, r, i, a;
3610
- return Ki(e) || (r = e.state, r.wrap !== 0 && r.mode !== bi) ? Q : r.mode === bi && (i = 1, i = $t(i, t, n, 0), i !== r.check) ? oi : (a = na(e, t, n, n), a ? (r.mode = zi, si) : (r.havedict = 1, ri));
3627
+ return Ki(e) || (r = e.state, r.wrap !== 0 && r.mode !== bi) ? Q : r.mode === bi && (i = 1, i = Qt(i, t, n, 0), i !== r.check) ? oi : (a = na(e, t, n, n), a ? (r.mode = zi, si) : (r.havedict = 1, ri));
3611
3628
  },
3612
3629
  inflateInfo: "pako inflate (from Nodeca project)"
3613
3630
  };
3614
3631
  function ia() {
3615
3632
  this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
3616
3633
  }
3617
- var aa = ia, oa = Object.prototype.toString, { Z_NO_FLUSH: sa, Z_FINISH: ca, Z_OK: la, Z_STREAM_END: ua, Z_NEED_DICT: da, Z_STREAM_ERROR: fa, Z_DATA_ERROR: pa, Z_MEM_ERROR: ma } = nn;
3634
+ var aa = ia, oa = Object.prototype.toString, { Z_NO_FLUSH: sa, Z_FINISH: ca, Z_OK: la, Z_STREAM_END: ua, Z_NEED_DICT: da, Z_STREAM_ERROR: fa, Z_DATA_ERROR: pa, Z_MEM_ERROR: ma } = tn;
3618
3635
  function ha(e) {
3619
3636
  this.options = mr.assign({
3620
3637
  chunkSize: 1024 * 64,
@@ -3624,7 +3641,7 @@ function ha(e) {
3624
3641
  let t = this.options;
3625
3642
  t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, t.windowBits === 0 && (t.windowBits = -15)), t.windowBits >= 0 && t.windowBits < 16 && !(e && e.windowBits) && (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && (t.windowBits & 15 || (t.windowBits |= 15)), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new xr(), this.strm.avail_out = 0;
3626
3643
  let n = ra.inflateInit2(this.strm, t.windowBits);
3627
- if (n !== la || (this.header = new aa(), ra.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = yr.string2buf(t.dictionary) : oa.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (n = ra.inflateSetDictionary(this.strm, t.dictionary), n !== la)))) throw Error(tn[n]);
3644
+ if (n !== la || (this.header = new aa(), ra.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = yr.string2buf(t.dictionary) : oa.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (n = ra.inflateSetDictionary(this.strm, t.dictionary), n !== la)))) throw Error(en[n]);
3628
3645
  }
3629
3646
  ha.prototype.push = function(e, t) {
3630
3647
  let n = this.strm, r = this.options.chunkSize, i = this.options.dictionary, a, o, s;
@@ -3654,7 +3671,7 @@ ha.prototype.push = function(e, t) {
3654
3671
  };
3655
3672
  function ga(e, t) {
3656
3673
  let n = new ha(t);
3657
- if (n.push(e), n.err) throw n.msg || tn[n.err];
3674
+ if (n.push(e), n.err) throw n.msg || en[n.err];
3658
3675
  return n.result;
3659
3676
  }
3660
3677
  function _a(e, t) {
@@ -3665,7 +3682,7 @@ var va = {
3665
3682
  inflate: ga,
3666
3683
  inflateRaw: _a,
3667
3684
  ungzip: ga,
3668
- constants: nn
3685
+ constants: tn
3669
3686
  }, { Deflate: ya, deflate: ba, deflateRaw: xa, gzip: Sa } = Ir, { Inflate: Ca, inflate: wa, inflateRaw: Ta, ungzip: Ea } = va, Da = {
3670
3687
  Deflate: ya,
3671
3688
  deflate: ba,
@@ -3675,9 +3692,10 @@ var va = {
3675
3692
  inflate: wa,
3676
3693
  inflateRaw: Ta,
3677
3694
  ungzip: Ea,
3678
- constants: nn
3695
+ constants: tn
3679
3696
  }, Oa = [
3680
3697
  "layerId",
3698
+ "dataLayerId",
3681
3699
  "id",
3682
3700
  "dictCode",
3683
3701
  "serviceName",
@@ -3689,13 +3707,20 @@ var va = {
3689
3707
  "modelColorUrl",
3690
3708
  "opacity",
3691
3709
  "layerOpacity",
3692
- "pointSize"
3710
+ "pointSize",
3711
+ "displayRange",
3712
+ "lodCalculationRange"
3693
3713
  ];
3694
- function ka(e) {
3695
- return e == null ? "" : String(e);
3714
+ function ka(e, t) {
3715
+ return e == null ? "" : (t === "displayRange" || t === "lodCalculationRange") && typeof e == "object" ? JSON.stringify({
3716
+ longitudeWest: e.longitudeWest ?? e.west,
3717
+ latitudeSouth: e.latitudeSouth ?? e.south,
3718
+ longitudeEast: e.longitudeEast ?? e.east,
3719
+ latitudeNorth: e.latitudeNorth ?? e.north
3720
+ }) : String(e);
3696
3721
  }
3697
3722
  function Aa(e = {}) {
3698
- return Oa.map((t) => `${t}:${ka(e[t])}`).join("|");
3723
+ return Oa.map((t) => `${t}:${ka(e[t], t)}`).join("|");
3699
3724
  }
3700
3725
  function ja(e, t = {}) {
3701
3726
  let n = Aa(t);
@@ -3703,9 +3728,34 @@ function ja(e, t = {}) {
3703
3728
  }
3704
3729
  //#endregion
3705
3730
  //#region src/zz-layer/zz-layer-zzts3d/entityGrid.js
3706
- var Ma = class {
3731
+ function Ma(e) {
3732
+ if (!e) return null;
3733
+ let t = Number(e.longitudeWest ?? e.west), n = Number(e.latitudeSouth ?? e.south), r = Number(e.longitudeEast ?? e.east), i = Number(e.latitudeNorth ?? e.north);
3734
+ return ![
3735
+ t,
3736
+ n,
3737
+ r,
3738
+ i
3739
+ ].every(Number.isFinite) || t < -180 || r > 180 || n < -90 || i > 90 || t >= r || n >= i ? null : {
3740
+ west: t,
3741
+ south: n,
3742
+ east: r,
3743
+ north: i
3744
+ };
3745
+ }
3746
+ function Na(e, t) {
3747
+ if (!e || !t) return null;
3748
+ let n = {
3749
+ west: Math.max(e.west, t.west),
3750
+ south: Math.max(e.south, t.south),
3751
+ east: Math.min(e.east, t.east),
3752
+ north: Math.min(e.north, t.north)
3753
+ };
3754
+ return n.west < n.east && n.south < n.north ? n : null;
3755
+ }
3756
+ var Pa = class {
3707
3757
  constructor(e, t = !1, n = null, r = "255,255,255", i = "", a = 1, o = {}) {
3708
- this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = this.normalizeOpacity(a), this.layerOpacity = this.normalizeOpacity(o.layerOpacity ?? 1), this.fixedLevel = n, this.destroyed = !1, this.requestVersion = 0, this.initTimer = null, this.initPromise = null, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor !== !1, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.stackIndex = o.stackIndex ?? -1, this.subStackIndex = o.subStackIndex ?? 0, this.groupKey = o.groupKey || String(this.id), this.modelColorCache = /* @__PURE__ */ new Map(), this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
3758
+ this.id = e, this.dataLayerId = o.dataLayerId || e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = this.normalizeOpacity(a), this.layerOpacity = this.normalizeOpacity(o.layerOpacity ?? 1), this.displayRange = Ma(o.displayRange), this.lodCalculationRange = Ma(o.lodCalculationRange), this.fixedLevel = n, this.destroyed = !1, this.requestVersion = 0, this.tileBatchVersion = 0, this.fallbackRenderLevel = null, this.initTimer = null, this.initPromise = null, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor !== !1, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.stackIndex = o.stackIndex ?? -1, this.subStackIndex = o.subStackIndex ?? 0, this.groupKey = o.groupKey || String(this.id), this.modelColorCache = /* @__PURE__ */ new Map(), this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
3709
3759
  }
3710
3760
  normalizeOpacity(e) {
3711
3761
  let t = Number(e);
@@ -3777,60 +3827,106 @@ var Ma = class {
3777
3827
  if (!a[0] || e.length < 4) return;
3778
3828
  r = a[0].level + this.levels_add;
3779
3829
  }
3780
- if (this.currentNewLevel.value = r, !(e.length < 4)) {
3781
- var i = Ke(We([
3782
- [e[0].x, e[0].y],
3783
- [e[1].x, e[1].y],
3784
- [e[2].x, e[2].y],
3785
- [e[3].x, e[3].y]
3786
- ]));
3787
- this.getEntityData(i, r, e, this.requestController.signal);
3830
+ if (this.currentNewLevel.value = r, e.length < 4) return;
3831
+ let i = Ke(We([
3832
+ [e[0].x, e[0].y],
3833
+ [e[1].x, e[1].y],
3834
+ [e[2].x, e[2].y],
3835
+ [e[3].x, e[3].y]
3836
+ ])), a = {
3837
+ west: i[0],
3838
+ south: i[1],
3839
+ east: i[2],
3840
+ north: i[3]
3841
+ }, o = this.displayRange ? Na(a, this.displayRange) : a;
3842
+ if (!o) {
3843
+ this.clearAllTiles();
3844
+ return;
3788
3845
  }
3846
+ let s = this.lodCalculationRange || o, c = [
3847
+ s.west,
3848
+ s.south,
3849
+ s.east,
3850
+ s.north
3851
+ ];
3852
+ this.getEntityData(c, r, e, o, this.requestController.signal);
3789
3853
  }
3790
3854
  showDebugPoints(e) {
3791
3855
  viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
3792
3856
  this.showPoint(e.x, e.y, 1, t);
3793
3857
  });
3794
3858
  }
3795
- async getEntityData(e, t, n, r) {
3796
- let i = viewer.scene.canvas, a = i.clientWidth, o = i.clientHeight;
3797
- try {
3859
+ async getEntityData(e, t, n, r, i) {
3860
+ let a = viewer.scene.canvas, o = a.clientWidth, s = a.clientHeight, c = Number(e[2]) - Number(e[0]), l = Number(e[3]) - Number(e[1]);
3861
+ if (!(c > 20 || l > 20)) try {
3798
3862
  let t = await k.request({
3799
3863
  method: "GET",
3800
- url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${a}&height=${o}`,
3864
+ url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${o}&height=${s}`,
3801
3865
  timeout: 6e4,
3802
- signal: r
3866
+ signal: i
3803
3867
  });
3804
- !r.aborted && !this.destroyed && this.render3DFaces(t.tiles, t.lodLevel);
3868
+ !i.aborted && !this.destroyed && this.render3DFaces(t.tiles, t.lodLevel, r);
3805
3869
  } catch (e) {
3806
3870
  e.name !== "AbortError" && console.error(`图层 ${this.id} 获取实体数据出错:`, e);
3807
3871
  }
3808
3872
  }
3809
- render3DFaces(e, t) {
3873
+ render3DFaces(e, t, n = null) {
3810
3874
  if (this.destroyed) return;
3811
- this.lastTime = (/* @__PURE__ */ new Date()).getTime();
3812
- let n = N.getCameraView(viewer);
3875
+ let r = ++this.tileBatchVersion;
3876
+ t === 17 && this.fallbackRenderLevel === 16 && (e = this.collapseLevel17TilesToParents(e), t = 16), this.lastTime = (/* @__PURE__ */ new Date()).getTime();
3877
+ let i = N.getCameraView(viewer);
3813
3878
  e.forEach((e) => {
3814
3879
  if (this.isStatic && this.fixedLevel) e.geoSot = e.geoSot, e.level = t;
3815
3880
  else {
3816
- let r = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
3817
- N.entityGridLevels.filter((e) => e.max >= r && e.min <= r), e.geoSot = e.geoSot, e.level = t;
3881
+ let n = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(i.x, i.y, i.z));
3882
+ N.entityGridLevels.filter((e) => e.max >= n && e.min <= n), e.geoSot = e.geoSot, e.level = t;
3818
3883
  }
3819
3884
  });
3820
- let r = e, i = new Set(r.map((e) => e.geoSot)), a = [], o = [];
3885
+ let a = (Array.isArray(e) ? e : []).filter((e) => n ? !!Na({
3886
+ west: Number(e?.xmin),
3887
+ south: Number(e?.ymin),
3888
+ east: Number(e?.xmax),
3889
+ north: Number(e?.ymax)
3890
+ }, n) : !0), o = new Set(a.map((e) => e.geoSot)), s = [], c = [];
3821
3891
  this.currentTileIds.forEach((e) => {
3822
- i.has(e) || o.push(e);
3823
- }), i.forEach((e) => {
3892
+ o.has(e) || c.push(e);
3893
+ }), o.forEach((e) => {
3824
3894
  if (!this.currentTileIds.has(e)) {
3825
- let t = r.find((t) => e === t.geoSot);
3826
- t && a.push(t);
3895
+ let t = a.find((t) => e === t.geoSot);
3896
+ t && s.push(t);
3827
3897
  }
3828
- }), a.forEach((e) => {
3829
- this.addTile(e, e.level, this.requestVersion);
3830
- }), o.forEach((e) => {
3898
+ });
3899
+ let l = this.requestVersion, u = s.map((e) => this.addTile(e, e.level, l));
3900
+ t === 17 && u.length > 0 && this.fallbackRenderLevel !== 16 && Promise.all(u).then((t) => {
3901
+ !this.isActiveRequest(l) || this.tileBatchVersion !== r || this.fallbackRenderLevel === 16 || !a.some((e) => this.loadedTiles.has(e.geoSot)) && t.every((e) => e === "empty") && (this.fallbackRenderLevel = 16, this.render3DFaces(e, 17, n));
3902
+ }), c.forEach((e) => {
3831
3903
  let t = this.loadedTiles.get(e);
3832
3904
  t && this.fadeOut(t, e);
3833
- }), this.currentTileIds = i;
3905
+ }), this.currentTileIds = o;
3906
+ }
3907
+ collapseLevel17TilesToParents(e) {
3908
+ let t = /* @__PURE__ */ new Map();
3909
+ for (let n of Array.isArray(e) ? e : []) {
3910
+ let e = this.getParentGeoSot(n?.geoSot);
3911
+ if (!e) continue;
3912
+ let r = t.get(e);
3913
+ if (!r) {
3914
+ t.set(e, {
3915
+ ...n,
3916
+ geoSot: e,
3917
+ level: 16
3918
+ });
3919
+ continue;
3920
+ }
3921
+ r.xmin = Math.min(Number(r.xmin), Number(n.xmin)), r.ymin = Math.min(Number(r.ymin), Number(n.ymin)), r.xmax = Math.max(Number(r.xmax), Number(n.xmax)), r.ymax = Math.max(Number(r.ymax), Number(n.ymax));
3922
+ }
3923
+ return Array.from(t.values());
3924
+ }
3925
+ getParentGeoSot(e) {
3926
+ let t = String(e || "").replaceAll("-", "");
3927
+ if (!/^G[0-3]{17}$/.test(t)) return null;
3928
+ let n = t.slice(1, -1);
3929
+ return `G${n.slice(0, 9)}-${n.slice(9, 15)}-${n.slice(15)}`;
3834
3930
  }
3835
3931
  fadeOut(e, t) {
3836
3932
  if (this.fadeAnimations.has(t)) {
@@ -3850,7 +3946,7 @@ var Ma = class {
3850
3946
  return !this.destroyed && this.requestVersion === e && !t?.token?.reason;
3851
3947
  }
3852
3948
  async addTile(e, t, n = this.requestVersion) {
3853
- if (!this.isActiveRequest(n)) return;
3949
+ if (!this.isActiveRequest(n)) return "cancelled";
3854
3950
  let r = e.geoSot;
3855
3951
  if (this.pendingRequests.has(r)) {
3856
3952
  let e = this.pendingRequests.get(r);
@@ -3859,32 +3955,25 @@ var Ma = class {
3859
3955
  let i = M.CancelToken.source(), a = () => i.cancel("请求被取消");
3860
3956
  this.pendingRequests.set(r, { cancel: a });
3861
3957
  try {
3862
- let a = await this.gridDb.getDataById("gridEntity", r + "_" + t);
3863
- if (!this.isActiveRequest(n, i)) return;
3864
- if (a) a.data.byteLength > 0 && await this.addGridToMap(e, this.parseCompressedMeshData(a.data, e.level), e.level, n, i);
3865
- else {
3866
- let a = await k.request({
3958
+ let a = `v2_${r}_${t}`, o = await this.gridDb.getDataById("gridEntity", a);
3959
+ if (!this.isActiveRequest(n, i)) return "cancelled";
3960
+ if (o) return o.data.byteLength > 47 ? (await this.addGridToMap(e, this.parseCompressedMeshData(o.data, e.level), e.level, n, i), "hit") : "empty";
3961
+ if (!o) {
3962
+ let t = await k.request({
3867
3963
  method: "GET",
3868
- url: `/v1/zzts/layer/3d/getTileNew?layerId=${this.id}&level=${e.level}&geosot=${e.geoSot}`,
3964
+ url: `/v1/zzts/layer/3d/getTileNew?layerId=${this.dataLayerId}&level=${e.level}&geosot=${e.geoSot}`,
3869
3965
  headers: { Accept: "application/octet-stream" },
3870
3966
  responseType: "arraybuffer",
3871
3967
  timeout: 6e4,
3872
3968
  cancelToken: i.token
3873
3969
  });
3874
- if (this.isActiveRequest(n, i) && a.data.byteLength > 47) {
3875
- if (await this.gridDb.addData("gridEntity", {
3876
- id: r + "_" + t,
3877
- data: a.data
3878
- }), !this.isActiveRequest(n, i)) return;
3879
- await this.addGridToMap(e, this.parseCompressedMeshData(a.data, e.level), e.level, n, i);
3880
- }
3881
- this.isActiveRequest(n, i) && a.data.byteLength < 47 && await this.gridDb.addData("gridEntity", {
3882
- id: r + "_" + t,
3883
- data: a.data
3884
- });
3970
+ return this.isActiveRequest(n, i) && t.data.byteLength > 47 ? (await this.gridDb.addData("gridEntity", {
3971
+ id: a,
3972
+ data: t.data
3973
+ }), this.isActiveRequest(n, i) ? (await this.addGridToMap(e, this.parseCompressedMeshData(t.data, e.level), e.level, n, i), "hit") : "cancelled") : this.isActiveRequest(n, i) ? "empty" : "cancelled";
3885
3974
  }
3886
3975
  } catch (e) {
3887
- M.isCancel(e) || console.error(`图层 ${this.id} 获取瓦片数据出错:`, e);
3976
+ return M.isCancel(e) ? "cancelled" : (console.error(`图层 ${this.id} 获取瓦片数据出错:`, e), "error");
3888
3977
  } finally {
3889
3978
  this.pendingRequests.get(r)?.cancel === a && this.pendingRequests.delete(r);
3890
3979
  }
@@ -4056,7 +4145,7 @@ var Ma = class {
4056
4145
  this.fadeAnimations.set(e.geoSot, { interval: m }), this.loadedTiles.set(e.geoSot, { box: d });
4057
4146
  }
4058
4147
  updateOptions(e = {}) {
4059
- e.color && (this.tileColor = e.color), e.opacity !== void 0 && e.opacity !== null && (this.opacity = this.normalizeOpacity(e.opacity)), e.layerOpacity !== void 0 && e.layerOpacity !== null && (this.layerOpacity = this.normalizeOpacity(e.layerOpacity)), e.level !== void 0 && (this.fixedLevel = e.level, e.level && (this.currentNewLevel.value = e.level)), e.serviceType !== void 0 && (this.serviceType = e.serviceType), this.dictCode = e.dictCode || this.dictCode || "", this.serviceName = e.serviceName || this.serviceName || "", e.enableServiceColor !== void 0 && (this.enableServiceColor = !!e.enableServiceColor), this.modelColorUrl = e.modelColorUrl || this.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache.clear(), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), this.applyStackIndex();
4148
+ e.color && (this.tileColor = e.color), e.opacity !== void 0 && e.opacity !== null && (this.opacity = this.normalizeOpacity(e.opacity)), e.layerOpacity !== void 0 && e.layerOpacity !== null && (this.layerOpacity = this.normalizeOpacity(e.layerOpacity)), e.level !== void 0 && (this.fixedLevel = e.level, e.level && (this.currentNewLevel.value = e.level)), e.displayRange !== void 0 && (this.displayRange = Ma(e.displayRange)), e.dataLayerId !== void 0 && (this.dataLayerId = e.dataLayerId || this.id), e.lodCalculationRange !== void 0 && (this.lodCalculationRange = Ma(e.lodCalculationRange)), e.serviceType !== void 0 && (this.serviceType = e.serviceType), this.dictCode = e.dictCode || this.dictCode || "", this.serviceName = e.serviceName || this.serviceName || "", e.enableServiceColor !== void 0 && (this.enableServiceColor = !!e.enableServiceColor), this.modelColorUrl = e.modelColorUrl || this.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache.clear(), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), this.applyStackIndex();
4060
4149
  }
4061
4150
  applyStackIndex() {
4062
4151
  if (this.stackIndex < 0 || !viewer) return;
@@ -4296,7 +4385,7 @@ var Ma = class {
4296
4385
  }
4297
4386
  });
4298
4387
  }
4299
- }, Na = new class {
4388
+ }, Fa = new class {
4300
4389
  constructor() {
4301
4390
  this.layers = /* @__PURE__ */ new Map();
4302
4391
  }
@@ -4315,7 +4404,7 @@ var Ma = class {
4315
4404
  groupKey: e?.groupKey
4316
4405
  })), r && (n.renderSignature = Aa(e || {}), n.removeTilesOnly(), n.getViewportInfo()), n;
4317
4406
  }
4318
- let c = new Ma(t, i, r, n, a, o, {
4407
+ let c = new Pa(t, i, r, n, a, o, {
4319
4408
  ...e || {},
4320
4409
  layerOpacity: s
4321
4410
  });
@@ -4347,20 +4436,20 @@ var Ma = class {
4347
4436
  let t = this.layers.get(e);
4348
4437
  t && t.getViewportInfo();
4349
4438
  }
4350
- }(), Pa = async (e) => Na.createLayer(e, !1), Fa = (e) => {
4351
- Na.removeLayer(e);
4352
- }, Ia = (e) => Na.getLayer(e);
4439
+ }(), Ia = async (e) => Fa.createLayer(e, !1), La = (e) => {
4440
+ Fa.removeLayer(e);
4441
+ }, Ra = (e) => Fa.getLayer(e);
4353
4442
  t(() => {
4354
- let e = Na.getLayerIds();
4443
+ let e = Fa.getLayerIds();
4355
4444
  if (e.length > 0) {
4356
- let t = Na.getLayer(e[0]);
4445
+ let t = Fa.getLayer(e[0]);
4357
4446
  return t ? t.getCurrentLevel() : 15;
4358
4447
  }
4359
4448
  return 15;
4360
4449
  });
4361
4450
  //#endregion
4362
4451
  //#region src/zz-layer/zz-layer-zzts3d/index.vue
4363
- var La = {
4452
+ var za = {
4364
4453
  __name: "index",
4365
4454
  props: {
4366
4455
  config: {
@@ -4384,6 +4473,7 @@ var La = {
4384
4473
  c("cesiumViewer");
4385
4474
  let n = e, r = {
4386
4475
  layerId: "",
4476
+ dataLayerId: "",
4387
4477
  color: "255,255,255",
4388
4478
  isStatic: !1,
4389
4479
  level: null,
@@ -4393,7 +4483,9 @@ var La = {
4393
4483
  dictCode: "",
4394
4484
  serviceName: "",
4395
4485
  enableServiceColor: !0,
4396
- modelColorUrl: "/v1/zzts/style/render/modelColors"
4486
+ modelColorUrl: "/v1/zzts/style/render/modelColors",
4487
+ displayRange: null,
4488
+ lodCalculationRange: null
4397
4489
  }, i = t(() => ({
4398
4490
  ...r,
4399
4491
  ...n.config
@@ -4402,6 +4494,7 @@ var La = {
4402
4494
  let t = e.level ? !0 : e.isStatic;
4403
4495
  return {
4404
4496
  layerId: e.layerId,
4497
+ dataLayerId: e.dataLayerId,
4405
4498
  color: e.color,
4406
4499
  isStatic: t,
4407
4500
  level: e.level,
@@ -4412,6 +4505,8 @@ var La = {
4412
4505
  serviceName: e.serviceName,
4413
4506
  enableServiceColor: e.enableServiceColor,
4414
4507
  modelColorUrl: e.modelColorUrl,
4508
+ displayRange: e.displayRange,
4509
+ lodCalculationRange: e.lodCalculationRange,
4415
4510
  stackIndex: n.stackIndex,
4416
4511
  subStackIndex: n.subStackIndex,
4417
4512
  groupKey: n.groupKey || e.layerId
@@ -4423,14 +4518,14 @@ var La = {
4423
4518
  console.warn("[zzLayerZzts3d] 缺少 layerId,跳过初始化", e);
4424
4519
  return;
4425
4520
  }
4426
- let t = o(e), n = Ia(e.layerId);
4521
+ let t = o(e), n = Ra(e.layerId);
4427
4522
  if (n && !ja(n.renderSignature, t)) {
4428
4523
  typeof n.updateOptions == "function" && n.updateOptions(t), a = e.layerId;
4429
4524
  return;
4430
4525
  }
4431
- await Pa(t), a = e.layerId;
4526
+ await Ia(t), a = e.layerId;
4432
4527
  }, l = () => {
4433
- Fa(i.value.layerId);
4528
+ La(i.value.layerId);
4434
4529
  };
4435
4530
  return w(() => n.config, async () => {
4436
4531
  await s();
@@ -4442,7 +4537,7 @@ var La = {
4442
4537
  n.subStackIndex,
4443
4538
  n.groupKey
4444
4539
  ], () => {
4445
- let e = i.value, t = Ia(e.layerId);
4540
+ let e = i.value, t = Ra(e.layerId);
4446
4541
  if (t && typeof t.updateOptions == "function") {
4447
4542
  t.updateOptions({
4448
4543
  stackIndex: n.stackIndex,
@@ -4453,13 +4548,38 @@ var La = {
4453
4548
  }
4454
4549
  s();
4455
4550
  }), f(() => {
4456
- a ? Fa(a) : l();
4551
+ a ? La(a) : l();
4457
4552
  }), (e, t) => null;
4458
4553
  }
4459
4554
  };
4460
4555
  //#endregion
4461
4556
  //#region src/zz-layer/zz-layer-shp-zzts/shpZztsRenderer.js
4462
- function Ra(e) {
4557
+ function Ba(e) {
4558
+ if (!e) return null;
4559
+ let t = Number(e.longitudeWest ?? e.west), n = Number(e.latitudeSouth ?? e.south), r = Number(e.longitudeEast ?? e.east), i = Number(e.latitudeNorth ?? e.north);
4560
+ return ![
4561
+ t,
4562
+ n,
4563
+ r,
4564
+ i
4565
+ ].every(Number.isFinite) || t < -180 || r > 180 || n < -90 || i > 90 || t >= r || n >= i ? null : {
4566
+ west: t,
4567
+ south: n,
4568
+ east: r,
4569
+ north: i
4570
+ };
4571
+ }
4572
+ function Va(e, t) {
4573
+ if (!e || !t) return null;
4574
+ let n = {
4575
+ west: Math.max(e.west, t.west),
4576
+ south: Math.max(e.south, t.south),
4577
+ east: Math.min(e.east, t.east),
4578
+ north: Math.min(e.north, t.north)
4579
+ };
4580
+ return n.west < n.east && n.south < n.north ? n : null;
4581
+ }
4582
+ function Ha(e) {
4463
4583
  let t = performance.now(), n = [], r = new DataView(e), i = r.getInt32(0, !0);
4464
4584
  if (i <= 0 || i > 1e5) return console.warn(`[ShpZzts] tileCount 异常: ${i},跳过解析`), n;
4465
4585
  console.log(`[ShpZzts] 瓦片数量: ${i}`);
@@ -4475,7 +4595,7 @@ function Ra(e) {
4475
4595
  let c = String(t), l = 0, u = s.getInt32(0, !0), d = !1;
4476
4596
  if (u > 0 && u <= 128 && 4 + u + 8 <= i) {
4477
4597
  let e = s.getInt32(4 + u, !0), t = s.getInt32(8 + u, !0);
4478
- e >= 0 && t >= 0 && e % 8 == 0 && t % 4 == 0 && 4 + u + 8 + e + t === i && (d = !0);
4598
+ e >= 0 && t >= 0 && e % 24 == 0 && t % 4 == 0 && 4 + u + 8 + e + t === i && (d = !0);
4479
4599
  }
4480
4600
  if (d) {
4481
4601
  try {
@@ -4488,11 +4608,15 @@ function Ra(e) {
4488
4608
  let f = s.getInt32(l, !0);
4489
4609
  l += 4;
4490
4610
  let p = s.getInt32(l, !0);
4491
- if (l += 4, f % 8 != 0 || p % 4 != 0) {
4611
+ if (l += 4, f % 24 != 0 || p % 4 != 0) {
4492
4612
  console.error(`[ShpZzts] 数据对齐异常 positionsByteLen=${f} indicesByteLen=${p},跳过瓦片 ${t}`);
4493
4613
  continue;
4494
4614
  }
4495
4615
  let m = f / 8 / 3, h = p / 4;
4616
+ if (h > 1e8) {
4617
+ console.error(`[ShpZzts] indexCount 异常巨大: ${h},跳过瓦片 ${t}`);
4618
+ continue;
4619
+ }
4496
4620
  if (m === 0 || h === 0) {
4497
4621
  console.warn(`[ShpZzts] 空几何体 tile=${t},跳过`);
4498
4622
  continue;
@@ -4524,9 +4648,9 @@ function Ra(e) {
4524
4648
  let o = (performance.now() - t).toFixed(1);
4525
4649
  return console.log(`[ShpZzts] 解析完成: ${n.length} 要素, ${o}ms`), n;
4526
4650
  }
4527
- var za = class {
4651
+ var Ua = class {
4528
4652
  constructor(e, t = {}) {
4529
- this.viewer = e, this.id = t.layerId || "", this.calTilesUrl = t.calTilesUrl || "/v1/zzts/layer/shp/calTiles", this.tileUrl = t.tileUrl || "/v1/zzts/layer/3d/getVectorTile", this.opacity = this._normOpacity(t.opacity), this.batchSize = t.batchSize || 2e3, this.transitionDuration = t.transitionDuration || 50, this._userColor = t.color || null, this.dictCode = t.dictCode || "", this.serviceName = t.serviceName || "", this.enableServiceColor = t.enableServiceColor !== !1, this.modelColorUrl = t.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.currentLod = -1, this.lodPrimitives = /* @__PURE__ */ new Map(), this.transitionAnimId = null, this.requestInProgress = !1, this.debounceTimer = null, this.destroyed = !1, this.globalInstanceId = 0, this.stackIndex = t.stackIndex ?? -1, this.subStackIndex = t.subStackIndex ?? 0, this.groupKey = t.groupKey || String(this.id), this._moveHandler = null;
4653
+ this.viewer = e, this.id = t.layerId || "", this.calTilesUrl = t.calTilesUrl || "/v1/zzts/layer/shp/calTiles", this.tileUrl = t.tileUrl || "/v1/zzts/layer/3d/getVectorTile", this.opacity = this._normOpacity(t.opacity), this.batchSize = t.batchSize || 2e3, this.transitionDuration = t.transitionDuration || 50, this.displayRange = Ba(t.displayRange), this._userColor = t.color || null, this.dictCode = t.dictCode || "", this.serviceName = t.serviceName || "", this.enableServiceColor = t.enableServiceColor !== !1, this.modelColorUrl = t.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.currentLod = -1, this.lodPrimitives = /* @__PURE__ */ new Map(), this.transitionAnimId = null, this.requestInProgress = !1, this.renderRequestToken = 0, this.debounceTimer = null, this.destroyed = !1, this.globalInstanceId = 0, this.stackIndex = t.stackIndex ?? -1, this.subStackIndex = t.subStackIndex ?? 0, this.groupKey = t.groupKey || String(this.id), this._moveHandler = null;
4530
4654
  }
4531
4655
  _normOpacity(e) {
4532
4656
  let t = Number(e);
@@ -4588,29 +4712,45 @@ var za = class {
4588
4712
  }
4589
4713
  _getScreenBounds() {
4590
4714
  let e = this.viewer.scene.canvas, t = this.viewer.camera.computeViewRectangle();
4591
- return t ? {
4715
+ if (!t) return null;
4716
+ let n = {
4717
+ west: D.Math.toDegrees(t.west),
4718
+ south: D.Math.toDegrees(t.south),
4719
+ east: D.Math.toDegrees(t.east),
4720
+ north: D.Math.toDegrees(t.north)
4721
+ }, r = this.displayRange ? Va(n, this.displayRange) : n;
4722
+ return {
4723
+ requestBounds: r,
4592
4724
  region: [
4593
- D.Math.toDegrees(t.west),
4594
- D.Math.toDegrees(t.south),
4725
+ r?.west,
4726
+ r?.south,
4595
4727
  0,
4596
- D.Math.toDegrees(t.east),
4597
- D.Math.toDegrees(t.north),
4728
+ r?.east,
4729
+ r?.north,
4598
4730
  10
4599
4731
  ],
4600
4732
  width: e.clientWidth,
4601
4733
  height: e.clientHeight
4602
- } : null;
4734
+ };
4603
4735
  }
4604
4736
  _updatePrimitiveAlpha(e, t) {
4605
- if (e) {
4606
- for (let n of e) if (!(!n.primitive || n.primitive.isDestroyed?.())) for (let e = 0; e < n.instanceIds.length; e++) {
4607
- let r = n.instanceColors[e], i = new D.Color(r.red, r.green, r.blue, t);
4608
- try {
4609
- let t = n.primitive.getGeometryInstanceAttributes(n.instanceIds[e]);
4610
- t?.color && (t.color = D.ColorGeometryInstanceAttribute.toValue(i));
4611
- } catch {}
4612
- }
4737
+ if (!e) return;
4738
+ let n = this._normOpacity(t);
4739
+ for (let t of e) if (!(!t.primitive || t.primitive.isDestroyed?.())) for (let e = 0; e < t.instanceIds.length; e++) {
4740
+ let r = t.instanceColors[e], i = new D.Color(r.red, r.green, r.blue, n);
4741
+ try {
4742
+ let n = t.primitive.getGeometryInstanceAttributes(t.instanceIds[e]);
4743
+ n?.color && (n.color = D.ColorGeometryInstanceAttribute.toValue(i));
4744
+ } catch {}
4745
+ }
4746
+ }
4747
+ _applyLayerOpacity() {
4748
+ if (this.transitionAnimId !== null) {
4749
+ cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null;
4750
+ for (let e of [...this.lodPrimitives.keys()]) e !== this.currentLod && this._destroyLodPrimitives(e);
4613
4751
  }
4752
+ let e = this.lodPrimitives.get(this.currentLod);
4753
+ e && this._updatePrimitiveAlpha(e, this.opacity);
4614
4754
  }
4615
4755
  _destroyLodPrimitives(e) {
4616
4756
  let t = this.lodPrimitives.get(e);
@@ -4619,14 +4759,18 @@ var za = class {
4619
4759
  this.lodPrimitives.delete(e);
4620
4760
  }
4621
4761
  }
4762
+ _clearRenderedPrimitives() {
4763
+ for (let e of [...this.lodPrimitives.keys()]) this._destroyLodPrimitives(e);
4764
+ this.currentLod = -1;
4765
+ }
4622
4766
  _crossFadeLod(e, t) {
4623
4767
  this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null);
4624
4768
  let n = this.lodPrimitives.get(e) ?? void 0, r = this.lodPrimitives.get(t);
4625
4769
  if (!r) return;
4626
4770
  this._updatePrimitiveAlpha(r, 0);
4627
- let i = performance.now(), a = this.transitionDuration, o = () => {
4771
+ let i = performance.now(), a = this.transitionDuration, o = this.opacity, s = () => {
4628
4772
  let t = Math.min((performance.now() - i) / a, 1);
4629
- if (this._updatePrimitiveAlpha(r, t), n && this._updatePrimitiveAlpha(n, 1 - t), t < 1) this.transitionAnimId = requestAnimationFrame(o);
4773
+ if (this._updatePrimitiveAlpha(r, t * o), n && this._updatePrimitiveAlpha(n, (1 - t) * o), t < 1) this.transitionAnimId = requestAnimationFrame(s);
4630
4774
  else {
4631
4775
  if (n) {
4632
4776
  for (let e of n) e.primitive && !e.primitive.isDestroyed?.() && this.viewer.scene.primitives.remove(e.primitive);
@@ -4635,7 +4779,7 @@ var za = class {
4635
4779
  this.transitionAnimId = null;
4636
4780
  }
4637
4781
  };
4638
- this.transitionAnimId = requestAnimationFrame(o);
4782
+ this.transitionAnimId = requestAnimationFrame(s);
4639
4783
  }
4640
4784
  _renderBatched(e, t, n, r, i) {
4641
4785
  let a = [], o = [];
@@ -4648,7 +4792,7 @@ var za = class {
4648
4792
  d.push(t);
4649
4793
  let r = this._resolveFeatureColor(e, i);
4650
4794
  f.push(r);
4651
- let a = new D.Color(r.red, r.green, r.blue, n);
4795
+ let a = new D.Color(r.red, r.green, r.blue, this._normOpacity(n) * this.opacity);
4652
4796
  try {
4653
4797
  p.push(new D.GeometryInstance({
4654
4798
  geometry: new D.Geometry({
@@ -4711,21 +4855,25 @@ var za = class {
4711
4855
  };
4712
4856
  }
4713
4857
  async loadAndRender() {
4858
+ let e = this._getScreenBounds();
4859
+ if (!e) return;
4860
+ if (this.displayRange && !e.requestBounds) {
4861
+ this.renderRequestToken += 1, this._clearRenderedPrimitives(), console.log("[ShpZzts] 当前视窗与真实胶囊显示范围无交集,跳过瓦片请求");
4862
+ return;
4863
+ }
4714
4864
  if (this.requestInProgress) {
4715
4865
  console.log("[ShpZzts] 请求进行中,跳过");
4716
4866
  return;
4717
4867
  }
4718
- let e = this._getScreenBounds();
4719
- if (!e) return;
4720
- let t = Math.abs(e.region[3] - e.region[0]), n = Math.abs(e.region[4] - e.region[1]);
4721
- if (t > 20 || n > 20) {
4722
- console.warn(`[ShpZzts] 视窗范围过大,跳过请求 (lonSpan=${t.toFixed(2)}°, latSpan=${n.toFixed(2)}°, 限制=20°)`);
4868
+ let t = ++this.renderRequestToken, n = Math.abs(e.region[3] - e.region[0]), r = Math.abs(e.region[4] - e.region[1]);
4869
+ if (n > 20 || r > 20) {
4870
+ console.warn(`[ShpZzts] 视窗范围过大,跳过请求 (lonSpan=${n.toFixed(2)}°, latSpan=${r.toFixed(2)}°, 限制=20°)`);
4723
4871
  return;
4724
4872
  }
4725
4873
  this.requestInProgress = !0;
4726
- let r = performance.now();
4874
+ let i = performance.now();
4727
4875
  try {
4728
- let t = await k.request({
4876
+ let n = await k.request({
4729
4877
  method: "GET",
4730
4878
  url: this.calTilesUrl,
4731
4879
  params: {
@@ -4733,38 +4881,42 @@ var za = class {
4733
4881
  height: e.height,
4734
4882
  width: e.width
4735
4883
  }
4736
- }), { lodLevel: n = -1, tiles: i = [] } = t?.data ?? t ?? {};
4737
- if (console.log(`[ShpZzts] LOD ${n} | 瓦片数: ${i.length}`), !i || i.length === 0) {
4738
- console.warn("[ShpZzts] 没有需要加载的瓦片");
4884
+ });
4885
+ if (t !== this.renderRequestToken || this.destroyed) return;
4886
+ let { lodLevel: r = -1, tiles: a = [] } = n?.data ?? n ?? {};
4887
+ if (console.log(`[ShpZzts] LOD ${r} | 瓦片数: ${a.length}`), !a || a.length === 0) {
4888
+ console.warn("[ShpZzts] 没有需要加载的瓦片"), this._clearRenderedPrimitives();
4739
4889
  return;
4740
4890
  }
4741
- let a = i.map((e) => this._getVectorTileData(e.geoSot, n));
4742
- console.log(`[ShpZzts] 开始并行加载 ${a.length} 个瓦片...`);
4743
- let o = await Promise.allSettled(a), s = [];
4744
- for (let e = 0; e < o.length; e++) {
4745
- let t = o[e];
4891
+ let o = a.map((e) => this._getVectorTileData(e.geoSot, r));
4892
+ console.log(`[ShpZzts] 开始并行加载 ${o.length} 个瓦片...`);
4893
+ let s = await Promise.allSettled(o);
4894
+ if (t !== this.renderRequestToken || this.destroyed) return;
4895
+ let c = [];
4896
+ for (let e = 0; e < s.length; e++) {
4897
+ let t = s[e];
4746
4898
  if (t.status === "fulfilled") {
4747
4899
  let { geosot: e, data: n } = t.value;
4748
4900
  if (n instanceof ArrayBuffer && n.byteLength > 0 && (console.log(`[ShpZzts] 瓦片 ${e} 数据长度: ${n.byteLength}`), n.byteLength > 100)) {
4749
- let e = Ra(n);
4750
- e && e.length > 0 && (s = s.concat(e));
4901
+ let e = Ha(n);
4902
+ e && e.length > 0 && (c = c.concat(e));
4751
4903
  }
4752
- } else console.error(`[ShpZzts] 瓦片 ${i[e]?.geoSot} 加载失败:`, t.reason);
4904
+ } else console.error(`[ShpZzts] 瓦片 ${a[e]?.geoSot} 加载失败:`, t.reason);
4753
4905
  }
4754
- console.log(`[ShpZzts] 所有瓦片加载完成,总几何体数量: ${s.length}`);
4755
- let c = null;
4756
- if (s.length > 0 && this.isServiceColorEnabled()) {
4757
- let e = [...new Set(s.map((e) => String(e.featureId ?? "").trim()).filter((e) => e))];
4758
- c = await this.loadModelColorsByIds(e), console.log(`[ShpZzts] 服务配色命中: ${c.size}/${e.length}`);
4906
+ if (console.log(`[ShpZzts] 所有瓦片加载完成,总几何体数量: ${c.length}`), t !== this.renderRequestToken || this.destroyed) return;
4907
+ let l = null;
4908
+ if (c.length > 0 && this.isServiceColorEnabled()) {
4909
+ let e = [...new Set(c.map((e) => String(e.featureId ?? "").trim()).filter((e) => e))];
4910
+ l = await this.loadModelColorsByIds(e), console.log(`[ShpZzts] 服务配色命中: ${l.size}/${e.length}`);
4759
4911
  }
4760
- if (s.length > 0) {
4912
+ if (c.length > 0) {
4761
4913
  let e = this.currentLod;
4762
- this.currentLod !== -1 && this.currentLod !== n ? (console.log(`[ShpZzts-SILOD] LOD 变化: ${e} → ${n}`), this._destroyLodPrimitives(n), this._renderBatched(s, n, 0, () => {
4763
- console.log(`[ShpZzts-SILOD] 新 LOD ${n} 分批渲染完成,启动交叉淡化`), this._crossFadeLod(e, n);
4764
- }, c)) : (this._destroyLodPrimitives(n), this._renderBatched(s, n, 1, null, c)), this.currentLod = n;
4765
- }
4766
- let l = (performance.now() - r).toFixed(0);
4767
- console.log(`[ShpZzts] 加载+渲染完成: ${s.length} 要素, ${l}ms`);
4914
+ this.currentLod !== -1 && this.currentLod !== r ? (console.log(`[ShpZzts-SILOD] LOD 变化: ${e} → ${r}`), this._destroyLodPrimitives(r), this._renderBatched(c, r, 0, () => {
4915
+ console.log(`[ShpZzts-SILOD] 新 LOD ${r} 分批渲染完成,启动交叉淡化`), this._crossFadeLod(e, r);
4916
+ }, l)) : (this._destroyLodPrimitives(r), this._renderBatched(c, r, 1, null, l)), this.currentLod = r;
4917
+ } else this._clearRenderedPrimitives();
4918
+ let u = (performance.now() - i).toFixed(0);
4919
+ console.log(`[ShpZzts] 加载+渲染完成: ${c.length} 要素, ${u}ms`);
4768
4920
  } catch (e) {
4769
4921
  console.error("[ShpZzts] 加载失败:", e);
4770
4922
  } finally {
@@ -4793,19 +4945,33 @@ var za = class {
4793
4945
  }, 500), console.log(`[ShpZzts] 图层 ${this.id} 初始化完成`));
4794
4946
  }
4795
4947
  remove() {
4796
- this.destroyed = !0, this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null), this.debounceTimer &&= (clearTimeout(this.debounceTimer), null), this._teardownMoveHandler(), this.modelColorCache.clear();
4948
+ this.destroyed = !0, this.renderRequestToken += 1, this.transitionAnimId !== null && (cancelAnimationFrame(this.transitionAnimId), this.transitionAnimId = null), this.debounceTimer &&= (clearTimeout(this.debounceTimer), null), this._teardownMoveHandler(), this.modelColorCache.clear();
4797
4949
  for (let e of this.lodPrimitives.keys()) this._destroyLodPrimitives(e);
4798
4950
  console.log(`[ShpZzts] 图层 ${this.id} 已移除`);
4799
4951
  }
4800
4952
  updateOptions(e = {}) {
4801
- e.opacity !== void 0 && (this.opacity = this._normOpacity(e.opacity)), e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), e.color !== void 0 && (this._userColor = e.color || null);
4802
4953
  let t = !1;
4803
- e.dictCode !== void 0 && e.dictCode !== this.dictCode && (this.dictCode = e.dictCode || "", t = !0), e.serviceName !== void 0 && e.serviceName !== this.serviceName && (this.serviceName = e.serviceName || "", t = !0), e.enableServiceColor !== void 0 && !!e.enableServiceColor !== this.enableServiceColor && (this.enableServiceColor = !!e.enableServiceColor, t = !0), e.modelColorUrl !== void 0 && e.modelColorUrl !== this.modelColorUrl && (this.modelColorUrl = e.modelColorUrl || "/v1/zzts/style/render/modelColors", t = !0), t && this.modelColorCache.clear(), console.log(`[ShpZzts] 图层 ${this.id} 配置已更新`, {
4954
+ if (e.opacity !== void 0) {
4955
+ let n = this._normOpacity(e.opacity);
4956
+ n !== this.opacity && (this.opacity = n, t = !0);
4957
+ }
4958
+ e.stackIndex !== void 0 && (this.stackIndex = e.stackIndex), e.subStackIndex !== void 0 && (this.subStackIndex = e.subStackIndex), e.groupKey !== void 0 && (this.groupKey = e.groupKey), e.color !== void 0 && (this._userColor = e.color || null), e.displayRange !== void 0 && (this.displayRange = Ba(e.displayRange));
4959
+ let n = !1;
4960
+ e.dictCode !== void 0 && e.dictCode !== this.dictCode && (this.dictCode = e.dictCode || "", n = !0), e.serviceName !== void 0 && e.serviceName !== this.serviceName && (this.serviceName = e.serviceName || "", n = !0), e.enableServiceColor !== void 0 && !!e.enableServiceColor !== this.enableServiceColor && (this.enableServiceColor = !!e.enableServiceColor, n = !0), e.modelColorUrl !== void 0 && e.modelColorUrl !== this.modelColorUrl && (this.modelColorUrl = e.modelColorUrl || "/v1/zzts/style/render/modelColors", n = !0), n && this.modelColorCache.clear(), t && this._applyLayerOpacity(), console.log(`[ShpZzts] 图层 ${this.id} 配置已更新`, {
4804
4961
  opacity: this.opacity,
4805
4962
  stackIndex: this.stackIndex
4806
4963
  });
4807
4964
  }
4808
- }, Ba = new class {
4965
+ };
4966
+ function Wa(e, t) {
4967
+ return !e && !t ? !0 : !e || !t ? !1 : e.west === t.west && e.south === t.south && e.east === t.east && e.north === t.north;
4968
+ }
4969
+ function Ga(e, t = {}) {
4970
+ if (!e || e.destroyed) return !1;
4971
+ let n = t.layerId || t.id;
4972
+ return !(!n || e.id !== n || t.calTilesUrl && t.calTilesUrl !== e.calTilesUrl || t.tileUrl && t.tileUrl !== e.tileUrl || t.dictCode !== void 0 && (t.dictCode || "") !== (e.dictCode || "") || t.serviceName !== void 0 && (t.serviceName || "") !== (e.serviceName || "") || t.enableServiceColor !== void 0 && !!t.enableServiceColor !== e.enableServiceColor || t.modelColorUrl && t.modelColorUrl !== e.modelColorUrl || t.color !== void 0 && (t.color || null) !== (e._userColor || null) || t.displayRange !== void 0 && !Wa(e.displayRange, Ba(t.displayRange)));
4973
+ }
4974
+ var Ka = new class {
4809
4975
  constructor() {
4810
4976
  this.layers = /* @__PURE__ */ new Map();
4811
4977
  }
@@ -4813,7 +4979,7 @@ var za = class {
4813
4979
  let n = t?.layerId || t?.id;
4814
4980
  if (!n) return console.error("[ShpZzts] 创建图层失败:缺少 layerId"), null;
4815
4981
  this.layers.has(n) && (console.warn(`[ShpZzts] 图层 ${n} 已存在,移除旧图层后重建`), this.removeLayer(n));
4816
- let r = new za(e, t);
4982
+ let r = new Ua(e, t);
4817
4983
  return await r.init(), this.layers.set(n, r), r;
4818
4984
  }
4819
4985
  removeLayer(e) {
@@ -4826,9 +4992,9 @@ var za = class {
4826
4992
  removeAllLayers() {
4827
4993
  this.layers.forEach((e) => e.remove()), this.layers.clear();
4828
4994
  }
4829
- }(), Va = async (e, t) => Ba.createLayer(e, t), Ha = (e) => {
4830
- Ba.removeLayer(e);
4831
- }, Ua = (e) => Ba.getLayer(e), Wa = {
4995
+ }(), qa = async (e, t) => Ka.createLayer(e, t), Ja = (e) => {
4996
+ Ka.removeLayer(e);
4997
+ }, Ya = (e) => Ka.getLayer(e), Xa = {
4832
4998
  __name: "index",
4833
4999
  props: {
4834
5000
  config: {
@@ -4853,22 +5019,20 @@ var za = class {
4853
5019
  layerId: "",
4854
5020
  calTilesUrl: "/v1/zzts/layer/shp/calTiles",
4855
5021
  tileUrl: "/v1/zzts/layer/3d/getVectorTile",
5022
+ displayRange: null,
4856
5023
  opacity: 1,
4857
5024
  batchSize: 2e3,
4858
5025
  transitionDuration: 50
4859
5026
  }, a = t(() => ({
4860
5027
  ...i,
4861
5028
  ...r.config
4862
- })), o = "", s = async () => {
4863
- let e = a.value;
4864
- if (!e.layerId) {
4865
- console.warn("[zzLayerShpZzts] 缺少 layerId,跳过初始化", e);
4866
- return;
4867
- }
4868
- let t = {
5029
+ })), o = "";
5030
+ function s(e) {
5031
+ return {
4869
5032
  layerId: e.layerId,
4870
5033
  calTilesUrl: e.calTilesUrl,
4871
5034
  tileUrl: e.tileUrl,
5035
+ displayRange: e.displayRange,
4872
5036
  opacity: e.opacity,
4873
5037
  batchSize: e.batchSize,
4874
5038
  transitionDuration: e.transitionDuration,
@@ -4881,17 +5045,31 @@ var za = class {
4881
5045
  subStackIndex: r.subStackIndex,
4882
5046
  groupKey: r.groupKey || e.layerId
4883
5047
  };
5048
+ }
5049
+ let l = async () => {
5050
+ let e = a.value;
5051
+ if (!e.layerId) {
5052
+ console.warn("[zzLayerShpZzts] 缺少 layerId,跳过初始化", e);
5053
+ return;
5054
+ }
5055
+ let t = s(e);
5056
+ o && o !== e.layerId && Ja(o);
5057
+ let r = Ya(e.layerId);
5058
+ if (r && Ga(r, t)) {
5059
+ r.updateOptions(t), o = e.layerId;
5060
+ return;
5061
+ }
4884
5062
  console.log("[zzLayerShpZzts] initLayer 入参 =", {
4885
5063
  layerId: t.layerId,
4886
5064
  calTilesUrl: t.calTilesUrl,
4887
5065
  tileUrl: t.tileUrl,
4888
5066
  opacity: t.opacity
4889
- }), await Va(n.value, t), o = e.layerId;
4890
- }, l = () => {
4891
- Ha(a.value.layerId);
5067
+ }), await qa(n.value, t), o = e.layerId;
5068
+ }, u = () => {
5069
+ Ja(a.value.layerId);
4892
5070
  };
4893
5071
  return w(() => r.config, async () => {
4894
- console.log("[zzLayerShpZzts] props.config changed =", JSON.parse(JSON.stringify(r.config || {}))), await s();
5072
+ console.log("[zzLayerShpZzts] props.config changed =", JSON.parse(JSON.stringify(r.config || {}))), await l();
4895
5073
  }, {
4896
5074
  deep: !0,
4897
5075
  immediate: !0
@@ -4900,7 +5078,7 @@ var za = class {
4900
5078
  r.subStackIndex,
4901
5079
  r.groupKey
4902
5080
  ], () => {
4903
- let e = a.value, t = Ua(e.layerId);
5081
+ let e = a.value, t = Ya(e.layerId);
4904
5082
  if (t && typeof t.updateOptions == "function") {
4905
5083
  t.updateOptions({
4906
5084
  stackIndex: r.stackIndex,
@@ -4909,20 +5087,20 @@ var za = class {
4909
5087
  });
4910
5088
  return;
4911
5089
  }
4912
- s();
5090
+ l();
4913
5091
  }), d(() => {
4914
5092
  console.log("[zzLayerShpZzts] 组件挂载");
4915
5093
  }), f(() => {
4916
- console.log("[zzLayerShpZzts] 组件卸载,开始清理资源..."), o ? Ha(o) : l();
5094
+ console.log("[zzLayerShpZzts] 组件卸载,开始清理资源..."), o ? Ja(o) : u();
4917
5095
  }), (e, t) => null;
4918
5096
  }
4919
5097
  };
4920
5098
  //#endregion
4921
5099
  //#region src/zz-layer/zz-layer-zzts3d-point/pointTileUtils.js
4922
- function Ga(e) {
5100
+ function Za(e) {
4923
5101
  return e instanceof ArrayBuffer ? e : ArrayBuffer.isView(e) ? e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength) : null;
4924
5102
  }
4925
- function Ka(e) {
5103
+ function Qa(e) {
4926
5104
  if (!e || e.byteLength === 0) return null;
4927
5105
  let t = new Uint8Array(e), n = t.find((e) => e > 32);
4928
5106
  if (n !== 123 && n !== 91) return null;
@@ -4932,41 +5110,41 @@ function Ka(e) {
4932
5110
  return null;
4933
5111
  }
4934
5112
  }
4935
- function qa(e, t = {}) {
5113
+ function $a(e, t = {}) {
4936
5114
  return console.warn("[zzts3d-point] skip invalid tile data:", e, t), [];
4937
5115
  }
4938
- var Ja = [
5116
+ var eo = [
4939
5117
  13,
4940
5118
  14,
4941
5119
  15,
4942
5120
  16,
4943
5121
  18
4944
- ], Ya = 16;
4945
- function Xa(e, t = Ya) {
5122
+ ], to = 16;
5123
+ function no(e, t = to) {
4946
5124
  let n = Number(e);
4947
- if (Number.isFinite(n) && n > 0) return Ja.find((e) => n <= e) || Ja[Ja.length - 1];
5125
+ if (Number.isFinite(n) && n > 0) return eo.find((e) => n <= e) || eo[eo.length - 1];
4948
5126
  let r = Number(t);
4949
- return Number.isFinite(r) && r > 0 ? Ja.find((e) => r <= e) || Ja[Ja.length - 1] : Ya;
5127
+ return Number.isFinite(r) && r > 0 ? eo.find((e) => r <= e) || eo[eo.length - 1] : to;
4950
5128
  }
4951
- function Za(e, t) {
5129
+ function ro(e, t) {
4952
5130
  let n = (String(e ?? "").split("_")[0].match(/\d/g) || []).length;
4953
- return n > 0 ? Xa(n, t) : Xa(t);
5131
+ return n > 0 ? no(n, t) : no(t);
4954
5132
  }
4955
- function Qa(e, t) {
4956
- let n = Ga(e);
4957
- if (!n || n.byteLength < 4 || Ka(n)) return [];
5133
+ function io(e, t) {
5134
+ let n = Za(e);
5135
+ if (!n || n.byteLength < 4 || Qa(n)) return [];
4958
5136
  let r = [], i = new DataView(n), a = 0, o = i.getInt32(a, !0);
4959
- if (a += 4, o < 0 || o > 1e5) return qa("invalid entity count", {
5137
+ if (a += 4, o < 0 || o > 1e5) return $a("invalid entity count", {
4960
5138
  entityCount: o,
4961
5139
  byteLength: n.byteLength
4962
5140
  });
4963
5141
  for (let e = 0; e < o; e++) {
4964
- if (a + 4 > n.byteLength) return qa("missing compressed chunk length", {
5142
+ if (a + 4 > n.byteLength) return $a("missing compressed chunk length", {
4965
5143
  offset: a,
4966
5144
  byteLength: n.byteLength
4967
5145
  });
4968
5146
  let e = i.getInt32(a, !0);
4969
- if (a += 4, e <= 0 || a + e > n.byteLength) return qa("invalid compressed chunk length", {
5147
+ if (a += 4, e <= 0 || a + e > n.byteLength) return $a("invalid compressed chunk length", {
4970
5148
  compressedLength: e,
4971
5149
  offset: a,
4972
5150
  byteLength: n.byteLength
@@ -4980,11 +5158,11 @@ function Qa(e, t) {
4980
5158
  } catch {
4981
5159
  s = new DataView(o.buffer, o.byteOffset, o.byteLength);
4982
5160
  }
4983
- if (s.byteLength < 12) return qa("chunk too small", { byteLength: s.byteLength });
5161
+ if (s.byteLength < 12) return $a("chunk too small", { byteLength: s.byteLength });
4984
5162
  let c = 0, l = s.getBigInt64(c, !0);
4985
5163
  c += 8;
4986
5164
  let u = s.getInt32(c, !0);
4987
- if (c += 4, u < 0 || u % 12 != 0 || c + u > s.byteLength) return qa("invalid positions byte length", {
5165
+ if (c += 4, u < 0 || u % 12 != 0 || c + u > s.byteLength) return $a("invalid positions byte length", {
4988
5166
  positionsByteLength: u,
4989
5167
  innerOffset: c,
4990
5168
  byteLength: s.byteLength
@@ -5000,14 +5178,46 @@ function Qa(e, t) {
5000
5178
  }
5001
5179
  return r;
5002
5180
  }
5003
- function $a({ destroyed: e, currentVersion: t, requestVersion: n, cancelToken: r } = {}) {
5181
+ function ao({ destroyed: e, currentVersion: t, requestVersion: n, cancelToken: r } = {}) {
5004
5182
  return !e && t === n && !r?.token?.reason;
5005
5183
  }
5006
5184
  //#endregion
5007
5185
  //#region src/zz-layer/zz-layer-zzts3d-point/entityGrid.js
5008
- var eo = class {
5186
+ function oo(e) {
5187
+ if (!e) return null;
5188
+ let t = e;
5189
+ if (typeof e == "string") try {
5190
+ t = JSON.parse(e);
5191
+ } catch {
5192
+ return null;
5193
+ }
5194
+ if (!t || typeof t != "object") return null;
5195
+ let n = Number(t.longitudeWest ?? t.west), r = Number(t.latitudeSouth ?? t.south), i = Number(t.longitudeEast ?? t.east), a = Number(t.latitudeNorth ?? t.north);
5196
+ return ![
5197
+ n,
5198
+ r,
5199
+ i,
5200
+ a
5201
+ ].every(Number.isFinite) || n < -180 || i > 180 || r < -90 || a > 90 || n >= i || r >= a ? null : {
5202
+ west: n,
5203
+ south: r,
5204
+ east: i,
5205
+ north: a
5206
+ };
5207
+ }
5208
+ function so(e, t) {
5209
+ if (!e || !t) return null;
5210
+ let n = {
5211
+ west: Math.max(e.west, t.west),
5212
+ south: Math.max(e.south, t.south),
5213
+ east: Math.min(e.east, t.east),
5214
+ north: Math.min(e.north, t.north)
5215
+ };
5216
+ return n.west < n.east && n.south < n.north ? n : null;
5217
+ }
5218
+ var co = class {
5009
5219
  constructor(e, t = !1, n = null, r = "255,255,255", i = 5, a = 1, o = {}) {
5010
- this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.pointSize = i, this.opacity = a, this.fixedLevel = n, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor === !0, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.modelColorCache = /* @__PURE__ */ new Map(), this.requestVersion = 0, this.destroyed = !1, this.initTimer = null, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400, this.highlightModelId = null, this.highlightColor = "255,255,0", this.highlightOpacity = 1, this.highlightPointSize = null, this.modelPointIndex = /* @__PURE__ */ new Map(), this.tilePointIndex = /* @__PURE__ */ new Map();
5220
+ this.id = e, this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.pointSize = i, this.opacity = a, this.fixedLevel = n, this.dictCode = o.dictCode || "", this.serviceName = o.serviceName || "", this.enableServiceColor = o.enableServiceColor === !0, this.modelColorUrl = o.modelColorUrl || "/v1/zzts/style/render/modelColors", this.displayRange = oo(o.displayRange), this.modelColorCache = /* @__PURE__ */ new Map(), this.requestVersion = 0, this.destroyed = !1, this.initTimer = null, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400, this.highlightModelId = null, this.highlightColor = "255,255,0", this.highlightOpacity = 1, this.highlightPointSize = null, this.modelPointIndex = /* @__PURE__ */ new Map(), this.tilePointIndex = /* @__PURE__ */ new Map();
5011
5221
  }
5012
5222
  getBaseStyle() {
5013
5223
  return {
@@ -5196,15 +5406,29 @@ var eo = class {
5196
5406
  if (!a[0] || e.length < 4) return;
5197
5407
  r = a[0].level + this.levels_add;
5198
5408
  }
5199
- if (this.currentNewLevel.value = r, !(e.length < 4)) {
5200
- var i = Ke(We([
5201
- [e[0].x, e[0].y],
5202
- [e[1].x, e[1].y],
5203
- [e[2].x, e[2].y],
5204
- [e[3].x, e[3].y]
5205
- ]));
5206
- this.getEntityData(i, r, e, this.requestController.signal);
5409
+ if (this.currentNewLevel.value = r, e.length < 4) return;
5410
+ let i = Ke(We([
5411
+ [e[0].x, e[0].y],
5412
+ [e[1].x, e[1].y],
5413
+ [e[2].x, e[2].y],
5414
+ [e[3].x, e[3].y]
5415
+ ])), a = {
5416
+ west: i[0],
5417
+ south: i[1],
5418
+ east: i[2],
5419
+ north: i[3]
5420
+ }, o = this.displayRange ? so(a, this.displayRange) : a;
5421
+ if (!o) {
5422
+ this.clearAllTiles();
5423
+ return;
5207
5424
  }
5425
+ let s = [
5426
+ o.west,
5427
+ o.south,
5428
+ o.east,
5429
+ o.north
5430
+ ];
5431
+ this.getEntityData(s, r, e, this.requestController.signal);
5208
5432
  }
5209
5433
  showDebugPoints(e) {
5210
5434
  viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
@@ -5228,28 +5452,33 @@ var eo = class {
5228
5452
  render3DFaces(e, t) {
5229
5453
  if (this.destroyed) return;
5230
5454
  this.lastTime = (/* @__PURE__ */ new Date()).getTime();
5231
- let n = N.getCameraView(viewer);
5232
- e.forEach((e) => {
5455
+ let n = N.getCameraView(viewer), r = Array.isArray(e) ? e : [];
5456
+ r.forEach((e) => {
5233
5457
  if (this.isStatic && this.fixedLevel) e.geoSot = e.geoSot, e.level = t;
5234
5458
  else {
5235
- let r = Za(e.geoSot, t), i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
5459
+ let r = ro(e.geoSot, t), i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees((e.xmax + e.xmin) / 2, (e.ymax + e.ymin) / 2, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
5236
5460
  N.entityGridLevels.filter((e) => e.max >= i && e.min <= i), e.geoSot = e.geoSot, e.level = r;
5237
5461
  }
5238
5462
  });
5239
- let r = e, i = new Set(r.map((e) => e.geoSot)), a = [], o = [];
5463
+ let i = this.displayRange, a = r.filter((e) => i ? !!so({
5464
+ west: Number(e?.xmin),
5465
+ south: Number(e?.ymin),
5466
+ east: Number(e?.xmax),
5467
+ north: Number(e?.ymax)
5468
+ }, i) : !0), o = new Set(a.map((e) => e.geoSot)), s = [], c = [];
5240
5469
  this.currentTileIds.forEach((e) => {
5241
- i.has(e) || o.push(e);
5242
- }), i.forEach((e) => {
5470
+ o.has(e) || c.push(e);
5471
+ }), o.forEach((e) => {
5243
5472
  if (!this.currentTileIds.has(e)) {
5244
- let t = r.find((t) => e === t.geoSot);
5245
- t && a.push(t);
5473
+ let t = a.find((t) => e === t.geoSot);
5474
+ t && s.push(t);
5246
5475
  }
5247
- }), a.forEach((e) => {
5476
+ }), s.forEach((e) => {
5248
5477
  this.addTile(e, e.level);
5249
- }), o.forEach((e) => {
5478
+ }), c.forEach((e) => {
5250
5479
  let t = this.loadedTiles.get(e);
5251
5480
  t && this.fadeOut(t, e);
5252
- }), this.currentTileIds = i;
5481
+ }), this.currentTileIds = o;
5253
5482
  }
5254
5483
  fadeOut(e, t) {
5255
5484
  if (this.fadeAnimations.has(t)) {
@@ -5262,7 +5491,7 @@ var eo = class {
5262
5491
  this.fadeAnimations.set(t, { interval: i });
5263
5492
  }
5264
5493
  isActiveRequest(e, t) {
5265
- return $a({
5494
+ return ao({
5266
5495
  destroyed: this.destroyed,
5267
5496
  currentVersion: this.requestVersion,
5268
5497
  requestVersion: e,
@@ -5420,7 +5649,7 @@ var eo = class {
5420
5649
  this.handlers &&= (viewer.camera.changed.removeEventListener(this.handlers), null), this.clearAllTiles(), this.requestController &&= (this.requestController.abort(), null);
5421
5650
  }
5422
5651
  parseCompressedMeshData(e, t) {
5423
- return Qa(e, t);
5652
+ return io(e, t);
5424
5653
  }
5425
5654
  showPoint(e, t, n, r) {
5426
5655
  viewer.entities.add({
@@ -5441,7 +5670,7 @@ var eo = class {
5441
5670
  }
5442
5671
  });
5443
5672
  }
5444
- }, to = new class {
5673
+ }, lo = new class {
5445
5674
  constructor() {
5446
5675
  this.layers = /* @__PURE__ */ new Map();
5447
5676
  }
@@ -5451,9 +5680,9 @@ var eo = class {
5451
5680
  if (this.layers.has(t)) {
5452
5681
  console.warn(`图层 ${t} 已存在`);
5453
5682
  let i = this.layers.get(t), a = ja(i.renderSignature, e || {});
5454
- return n && (i.tileColor = n), i.dictCode = e?.dictCode || i.dictCode || "", i.serviceName = e?.serviceName || i.serviceName || "", e?.enableServiceColor !== void 0 && (i.enableServiceColor = !!e.enableServiceColor), i.modelColorUrl = e?.modelColorUrl || i.modelColorUrl || "/v1/zzts/style/render/modelColors", r != null && (i.fixedLevel = r, i.currentNewLevel.value = r), a && (i.renderSignature = Aa(e || {}), i.modelColorCache.clear(), i.clearAllTiles(), i.getViewportInfo()), i;
5683
+ return n && (i.tileColor = n), i.dictCode = e?.dictCode || i.dictCode || "", i.serviceName = e?.serviceName || i.serviceName || "", e?.displayRange !== void 0 && (i.displayRange = oo(e.displayRange)), e?.enableServiceColor !== void 0 && (i.enableServiceColor = !!e.enableServiceColor), i.modelColorUrl = e?.modelColorUrl || i.modelColorUrl || "/v1/zzts/style/render/modelColors", r != null && (i.fixedLevel = r, i.currentNewLevel.value = r), a && (i.renderSignature = Aa(e || {}), i.modelColorCache.clear(), i.clearAllTiles(), i.getViewportInfo()), i;
5455
5684
  }
5456
- let s = new eo(t, i, r, n, a, o, e);
5685
+ let s = new co(t, i, r, n, a, o, e);
5457
5686
  s.renderSignature = Aa(e || {}), this.layers.set(t, s);
5458
5687
  try {
5459
5688
  return await s.init(), s.destroyed ? (this.layers.delete(t), null) : s;
@@ -5482,20 +5711,20 @@ var eo = class {
5482
5711
  let t = this.layers.get(e);
5483
5712
  t && t.getViewportInfo();
5484
5713
  }
5485
- }(), no = async (e) => to.createLayer(e, !1), ro = (e) => {
5486
- to.removeLayer(e);
5487
- }, io = (e) => to.getLayer(e);
5714
+ }(), uo = async (e) => lo.createLayer(e, !1), fo = (e) => {
5715
+ lo.removeLayer(e);
5716
+ }, po = (e) => lo.getLayer(e);
5488
5717
  t(() => {
5489
- let e = to.getLayerIds();
5718
+ let e = lo.getLayerIds();
5490
5719
  if (e.length > 0) {
5491
- let t = to.getLayer(e[0]);
5720
+ let t = lo.getLayer(e[0]);
5492
5721
  return t ? t.getCurrentLevel() : 15;
5493
5722
  }
5494
5723
  return 15;
5495
5724
  });
5496
5725
  //#endregion
5497
5726
  //#region src/zz-layer/zz-layer-zzts3d-point/index.vue
5498
- var ao = {
5727
+ var mo = {
5499
5728
  __name: "index",
5500
5729
  props: { config: {
5501
5730
  type: Object,
@@ -5521,7 +5750,8 @@ var ao = {
5521
5750
  dictCode: "",
5522
5751
  serviceName: "",
5523
5752
  enableServiceColor: !1,
5524
- modelColorUrl: "/v1/zzts/style/render/modelColors"
5753
+ modelColorUrl: "/v1/zzts/style/render/modelColors",
5754
+ displayRange: null
5525
5755
  }, _ = t(() => ({
5526
5756
  ...h,
5527
5757
  ...i.config
@@ -5553,14 +5783,15 @@ var ao = {
5553
5783
  dictCode: e.dictCode,
5554
5784
  serviceName: e.serviceName,
5555
5785
  enableServiceColor: e.enableServiceColor,
5556
- modelColorUrl: e.modelColorUrl
5786
+ modelColorUrl: e.modelColorUrl,
5787
+ displayRange: e.displayRange
5557
5788
  };
5558
5789
  }
5559
5790
  let S = async () => {
5560
5791
  let e = ++u, t = _.value;
5561
5792
  if (!t.layerId) return;
5562
- let n = x(t), i = io(t.layerId);
5563
- if (i && !ja(i.renderSignature, n) ? s.value = i : s.value = await no(n), !(m || e !== u)) {
5793
+ let n = x(t), i = po(t.layerId);
5794
+ if (i && !ja(i.renderSignature, n) ? s.value = i : s.value = await uo(n), !(m || e !== u)) {
5564
5795
  if (l.value && _.value.highlightEnabled && s.value?.setHighlight && s.value.setHighlight(l.value, {
5565
5796
  highlightColor: _.value.highlightColor,
5566
5797
  highlightOpacity: _.value.highlightOpacity,
@@ -5600,7 +5831,7 @@ var ao = {
5600
5831
  }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
5601
5832
  }
5602
5833
  }, C = () => {
5603
- b(), v(), s.value = null, ro(_.value.layerId || i.config.layerId);
5834
+ b(), v(), s.value = null, fo(_.value.layerId || i.config.layerId);
5604
5835
  };
5605
5836
  return w(_, () => {
5606
5837
  S();
@@ -5611,7 +5842,7 @@ var ao = {
5611
5842
  console.log("组件卸载,开始清理资源..."), m = !0, u++, d++, p?.abort(), p = null, C();
5612
5843
  }), (e, t) => null;
5613
5844
  }
5614
- }, oo = {
5845
+ }, ho = {
5615
5846
  __name: "queryPoint",
5616
5847
  props: {
5617
5848
  config: {
@@ -5794,7 +6025,7 @@ var ao = {
5794
6025
  C(), x([]);
5795
6026
  }), (e, t) => null;
5796
6027
  }
5797
- }, so = "__zzts3dGridPickable", co = {
6028
+ }, go = "__zzts3dGridPickable", _o = {
5798
6029
  __name: "index",
5799
6030
  props: { config: {
5800
6031
  type: Object,
@@ -5894,7 +6125,7 @@ var ao = {
5894
6125
  b && y.remove(b), x && y.remove(x);
5895
6126
  } catch {}
5896
6127
  try {
5897
- b && delete b[so], x && delete x[so];
6128
+ b && delete b[go], x && delete x[go];
5898
6129
  } catch {}
5899
6130
  b = null, x = null;
5900
6131
  }
@@ -5913,7 +6144,7 @@ var ao = {
5913
6144
  return t.startsWith("grid_outline_") ? t.slice(13) : t;
5914
6145
  }
5915
6146
  function j() {
5916
- b && (b[so] = !0), x && (x[so] = !0);
6147
+ b && (b[go] = !0), x && (x[go] = !0);
5917
6148
  }
5918
6149
  function M(e, t) {
5919
6150
  return Cesium.ColorGeometryInstanceAttribute.toValue(C(e, t));
@@ -5956,7 +6187,7 @@ var ao = {
5956
6187
  if (!t?.length) return null;
5957
6188
  for (let e = 0; e < t.length; e++) {
5958
6189
  let n = t[e], r = n?.primitive;
5959
- if (r && (r[so] === !0 || r === b || r === x)) return n;
6190
+ if (r && (r[go] === !0 || r === b || r === x)) return n;
5960
6191
  }
5961
6192
  return null;
5962
6193
  }
@@ -6102,11 +6333,11 @@ var ao = {
6102
6333
  p++, m++, v.forEach((e) => e.abort()), v.clear(), _.clear(), h = "", R();
6103
6334
  }), (e, t) => null;
6104
6335
  }
6105
- }, lo = (e, t) => {
6336
+ }, vo = (e, t) => {
6106
6337
  let n = e.__vccOpts || e;
6107
6338
  for (let [e, r] of t) n[e] = r;
6108
6339
  return n;
6109
- }, uo = "__zzts3dGridColorPickable", fo = /*#__PURE__*/ lo({
6340
+ }, yo = "__zzts3dGridColorPickable", bo = /*#__PURE__*/ vo({
6110
6341
  __name: "color",
6111
6342
  props: { config: {
6112
6343
  type: Object,
@@ -6207,7 +6438,7 @@ var ao = {
6207
6438
  D && E.remove(D), O && E.remove(O);
6208
6439
  } catch {}
6209
6440
  try {
6210
- D && delete D[uo], O && delete O[uo];
6441
+ D && delete D[yo], O && delete O[yo];
6211
6442
  } catch {}
6212
6443
  D = null, O = null;
6213
6444
  }
@@ -6237,7 +6468,7 @@ var ao = {
6237
6468
  return Number.isFinite(r) ? r : -1;
6238
6469
  }
6239
6470
  function ee() {
6240
- D && (D[uo] = !0), O && (O[uo] = !0);
6471
+ D && (D[yo] = !0), O && (O[yo] = !0);
6241
6472
  }
6242
6473
  function te(e, t) {
6243
6474
  return Cesium.ColorGeometryInstanceAttribute.toValue(j(e, t));
@@ -6285,7 +6516,7 @@ var ao = {
6285
6516
  if (!t?.length) return null;
6286
6517
  for (let e = 0; e < t.length; e++) {
6287
6518
  let n = t[e], r = n?.primitive;
6288
- if (r && (r[uo] === !0 || r === D || r === O)) return n;
6519
+ if (r && (r[yo] === !0 || r === D || r === O)) return n;
6289
6520
  }
6290
6521
  return null;
6291
6522
  }
@@ -6452,7 +6683,7 @@ var ao = {
6452
6683
  })
6453
6684
  }, null, 4)) : r("", !0);
6454
6685
  }
6455
- }, [["__scopeId", "data-v-719d18e0"]]), po = {
6686
+ }, [["__scopeId", "data-v-719d18e0"]]), xo = {
6456
6687
  __name: "query",
6457
6688
  props: {
6458
6689
  config: {
@@ -6685,7 +6916,7 @@ var ao = {
6685
6916
  u++, h.forEach((e) => e.abort()), h.clear(), p.clear(), m.clear(), d = "", D();
6686
6917
  }), (e, t) => null;
6687
6918
  }
6688
- }, mo = {
6919
+ }, So = {
6689
6920
  __name: "interpolation",
6690
6921
  props: { config: {
6691
6922
  type: Object,
@@ -6890,7 +7121,490 @@ var ao = {
6890
7121
  o++, u.forEach((e) => e.abort()), u.clear(), l.clear(), s = "", x();
6891
7122
  }), (e, t) => null;
6892
7123
  }
6893
- }, ho = {
7124
+ }, Co = class {
7125
+ constructor(e, t = !1, n = null, r = "255,255,255", i = "", a = 1, o = "") {
7126
+ this.id = e, this.dictCode = o == null ? "" : String(o), this.isStatic = t, this.loadedTiles = /* @__PURE__ */ new Map(), this.currentTileIds = /* @__PURE__ */ new Set(), this.currentNewLevel = g(n || 15), this.gridDb = null, this.entityNum = 0, this.handlers = null, this.requestController = null, this.pendingRequests = /* @__PURE__ */ new Map(), this.fadeAnimations = /* @__PURE__ */ new Map(), this.lastTime = 0, this.serviceType = i, this.opacity = a, this.fixedLevel = n, this.levels_add = window.levels_add_plus || 0, this.tileColor = r, this.tileSleepTime = window.tileSleepTime || 400;
7127
+ }
7128
+ async init() {
7129
+ let e = this.isStatic ? "_static" : "";
7130
+ console.log("1"), this.gridDb = await new O(`gridDbs_${this.id}${e}_${this.serviceType}_v2`, 2), await this.gridDb.openDatabase("gridEntity", "id"), console.log("2"), this.isStatic || this.initHandler(), this.getViewportInfo();
7131
+ }
7132
+ getCurrentLevel() {
7133
+ return this.currentNewLevel.value;
7134
+ }
7135
+ remove() {
7136
+ this.destroyHandler(), this.clearAllTiles();
7137
+ }
7138
+ removeTilesOnly() {
7139
+ this.clearAllTiles();
7140
+ }
7141
+ clearAllTiles() {
7142
+ this.fadeAnimations.forEach((e) => {
7143
+ e.interval && clearInterval(e.interval);
7144
+ }), this.fadeAnimations.clear(), this.pendingRequests.forEach((e) => {
7145
+ e.cancel && e.cancel();
7146
+ }), this.pendingRequests.clear(), this.currentTileIds = /* @__PURE__ */ new Set();
7147
+ for (let [e, t] of this.loadedTiles) t.box && viewer.scene.primitives.contains(t.box) && viewer.scene.primitives.remove(t.box), t.line && viewer.scene.primitives.contains(t.line) && viewer.scene.primitives.remove(t.line);
7148
+ this.loadedTiles.clear();
7149
+ }
7150
+ initHandler1() {
7151
+ if (this.getViewportInfo(), this.handlers) try {
7152
+ viewer.camera.moveEnd.removeEventListener(this.handlers);
7153
+ } catch (e) {
7154
+ console.warn("移除旧的事件监听器失败:", e);
7155
+ }
7156
+ this.handlers = () => {
7157
+ this.getViewportInfo();
7158
+ }, viewer.camera.moveEnd.addEventListener(this.handlers);
7159
+ }
7160
+ initHandler() {
7161
+ if (this.getViewportInfo(), this.handlers) try {
7162
+ viewer.camera.changed.removeEventListener(this.handlers);
7163
+ } catch (e) {
7164
+ console.warn("移除旧的事件监听器失败:", e);
7165
+ }
7166
+ let e = null, t = () => {
7167
+ clearTimeout(e), e = setTimeout(() => {
7168
+ this.getViewportInfo();
7169
+ }, 250);
7170
+ };
7171
+ viewer.camera.changed.addEventListener(t), this.handlers = t;
7172
+ }
7173
+ getViewportInfo() {
7174
+ this.requestController && this.requestController.abort(), this.requestController = new AbortController(), this.entityNum = 0;
7175
+ let e = N.getFrustumGroundIntersectionPoints(viewer), t = N.getCenter(viewer), n = N.getCameraView(viewer);
7176
+ if (n.pitch > -18) return;
7177
+ let r;
7178
+ if (this.isStatic && this.fixedLevel) r = this.fixedLevel + this.levels_add;
7179
+ else {
7180
+ let i = Cesium.Cartesian3.distance(Cesium.Cartesian3.fromDegrees(t.x, t.y, 0), Cesium.Cartesian3.fromDegrees(n.x, n.y, n.z));
7181
+ console.log(N.entityGridLevels);
7182
+ let a = N.entityGridLevels.filter((e) => e.max >= i && e.min <= i);
7183
+ if (!a[0] || e.length < 4) return;
7184
+ r = a[0].level + this.levels_add;
7185
+ }
7186
+ if (this.currentNewLevel.value = r, !(e.length < 4)) {
7187
+ var i = Ke(We([
7188
+ [e[0].x, e[0].y],
7189
+ [e[1].x, e[1].y],
7190
+ [e[2].x, e[2].y],
7191
+ [e[3].x, e[3].y]
7192
+ ]));
7193
+ this.getEntityData(i, r, e, this.requestController.signal);
7194
+ }
7195
+ }
7196
+ showDebugPoints(e) {
7197
+ viewer.entities.values.filter((e) => e.id && e.id.startsWith(`debug_${this.id}_`)).forEach((e) => viewer.entities.remove(e)), e.forEach((e, t) => {
7198
+ this.showPoint(e.x, e.y, 1, t);
7199
+ });
7200
+ }
7201
+ async getEntityData(e, t, n, r) {
7202
+ let i = viewer.scene.canvas, a = i.clientWidth, o = i.clientHeight, s = Number(e[2]) - Number(e[0]), c = Number(e[3]) - Number(e[1]);
7203
+ if (!(s > 20 || c > 20)) try {
7204
+ let n = await k.request({
7205
+ method: "GET",
7206
+ url: `/v1/zzts/layer/3d/calTiles?region=${e[0]},${e[1]},0,${e[2]},${e[3]},10&width=${a}&height=${o}`,
7207
+ timeout: 6e4,
7208
+ signal: r
7209
+ });
7210
+ r.aborted || this.render3DFaces(n.tiles || [], n.lodLevel ?? t);
7211
+ } catch (e) {
7212
+ e.name === "AbortError" ? console.log(`图层 ${this.id} 请求被取消`) : console.error(`图层 ${this.id} 获取实体数据出错:`, e);
7213
+ }
7214
+ }
7215
+ render3DFaces(e, t) {
7216
+ this.lastTime = (/* @__PURE__ */ new Date()).getTime(), e.forEach((e) => {
7217
+ e.geoSot = e.geoSot, e.level = t;
7218
+ });
7219
+ let n = e, r = new Set(n.map((e) => e.geoSot)), i = [], a = [];
7220
+ this.currentTileIds.forEach((e) => {
7221
+ r.has(e) || a.push(e);
7222
+ }), r.forEach((e) => {
7223
+ if (!this.currentTileIds.has(e)) {
7224
+ let t = n.find((t) => e === t.geoSot);
7225
+ t && i.push(t);
7226
+ }
7227
+ }), i.forEach((e) => {
7228
+ this.addTile(e, e.level);
7229
+ }), a.forEach((e) => {
7230
+ let t = this.loadedTiles.get(e);
7231
+ t && this.fadeOut(t, e);
7232
+ }), this.currentTileIds = r;
7233
+ }
7234
+ fadeOut(e, t) {
7235
+ if (this.fadeAnimations.has(t)) {
7236
+ let e = this.fadeAnimations.get(t);
7237
+ e.interval && clearInterval(e.interval);
7238
+ }
7239
+ let n = 0, r = this.tileSleepTime / 100, i = setInterval(() => {
7240
+ n < r ? (e.box && e.box.appearance, n++) : (clearInterval(i), this.fadeAnimations.delete(t), e.box && viewer.scene.primitives.contains(e.box) && viewer.scene.primitives.remove(e.box), e.line && viewer.scene.primitives.contains(e.line) && viewer.scene.primitives.remove(e.line), this.loadedTiles.delete(t), this.currentTileIds.delete(t));
7241
+ }, 100);
7242
+ this.fadeAnimations.set(t, { interval: i });
7243
+ }
7244
+ async addTile(e, t) {
7245
+ let n = e.geoSot;
7246
+ if (this.pendingRequests.has(n)) {
7247
+ let e = this.pendingRequests.get(n);
7248
+ e.cancel && e.cancel();
7249
+ }
7250
+ let r = M.CancelToken.source();
7251
+ this.pendingRequests.set(n, { cancel: () => r.cancel("请求被取消") });
7252
+ let i = e.level || t, a = `${n}__L${i}`;
7253
+ try {
7254
+ let t = await this.gridDb.getDataById("gridEntity", a);
7255
+ if (t) t.data.byteLength > 47 && this.addGridToMap(e, this.parseCompressedMeshData(t.data, i));
7256
+ else {
7257
+ let t = await k.request({
7258
+ method: "GET",
7259
+ url: `/v1/zzts/layer/3d/getTilesByType?layerId=${encodeURIComponent(this.dictCode || "")}&level=${i}&geosot=${e.geoSot}&hcode=${e.highCode || 0}&serviceType=7&type=${encodeURIComponent(this.serviceType || "")}`,
7260
+ headers: { Accept: "application/octet-stream" },
7261
+ responseType: "arraybuffer",
7262
+ timeout: 6e4,
7263
+ cancelToken: r.token
7264
+ });
7265
+ !r.token.reason && t.data.byteLength > 47 && (await this.gridDb.addData("gridEntity", {
7266
+ id: a,
7267
+ data: t.data
7268
+ }), this.addGridToMap(e, this.parseCompressedMeshData(t.data, i))), !r.token.reason && t.data.byteLength < 47 && await this.gridDb.addData("gridEntity", {
7269
+ id: a,
7270
+ data: t.data
7271
+ });
7272
+ }
7273
+ } catch (e) {
7274
+ M.isCancel(e) ? console.log(`图层 ${this.id} 瓦片请求被取消:`, n) : console.error(`图层 ${this.id} 获取瓦片数据出错:`, e);
7275
+ } finally {
7276
+ this.pendingRequests.delete(n);
7277
+ }
7278
+ }
7279
+ createUniqueVertices(e, t) {
7280
+ let n = e instanceof Float64Array ? e : new Float64Array(e), r = t.length, i = new Float64Array(r * 3), a = new Uint32Array(r);
7281
+ for (let e = 0; e < t.length; e++) {
7282
+ let r = t[e] * 3;
7283
+ i[e * 3] = n[r], i[e * 3 + 1] = n[r + 1], i[e * 3 + 2] = n[r + 2], a[e] = e;
7284
+ }
7285
+ return {
7286
+ positions: i,
7287
+ indices: a
7288
+ };
7289
+ }
7290
+ calculateFlatNormalsForUniqueVertices(e, t) {
7291
+ let n = new Float32Array(e.length);
7292
+ for (let r = 0; r < t.length; r += 3) {
7293
+ let i = t[r] * 3, a = t[r + 1] * 3, o = t[r + 2] * 3, s = [
7294
+ e[i],
7295
+ e[i + 1],
7296
+ e[i + 2]
7297
+ ], c = [
7298
+ e[a],
7299
+ e[a + 1],
7300
+ e[a + 2]
7301
+ ], l = [
7302
+ e[o],
7303
+ e[o + 1],
7304
+ e[o + 2]
7305
+ ], u = [
7306
+ c[0] - s[0],
7307
+ c[1] - s[1],
7308
+ c[2] - s[2]
7309
+ ], d = [
7310
+ l[0] - s[0],
7311
+ l[1] - s[1],
7312
+ l[2] - s[2]
7313
+ ], f = [
7314
+ u[1] * d[2] - u[2] * d[1],
7315
+ u[2] * d[0] - u[0] * d[2],
7316
+ u[0] * d[1] - u[1] * d[0]
7317
+ ], p = Math.sqrt(f[0] * f[0] + f[1] * f[1] + f[2] * f[2]), m;
7318
+ m = p > 1e-10 && !isNaN(f[0]) && !isNaN(f[1]) && !isNaN(f[2]) && isFinite(f[0]) && isFinite(f[1]) && isFinite(f[2]) ? [
7319
+ f[0] / p,
7320
+ f[1] / p,
7321
+ f[2] / p
7322
+ ] : [
7323
+ 0,
7324
+ 0,
7325
+ 1
7326
+ ], n[i] = m[0], n[i + 1] = m[1], n[i + 2] = m[2], n[a] = m[0], n[a + 1] = m[1], n[a + 2] = m[2], n[o] = m[0], n[o + 1] = m[1], n[o + 2] = m[2];
7327
+ }
7328
+ return n;
7329
+ }
7330
+ addGridToMap(e, t) {
7331
+ if (!t || t.length === 0) return console.warn("没有几何数据可渲染"), null;
7332
+ let n = t.map((e) => {
7333
+ if (!e.positions || e.positions.length === 0) return console.warn("跳过无效的几何体:缺少顶点数据"), null;
7334
+ if (!e.indices || e.indices.length === 0) return console.warn("跳过无效的几何体:缺少索引数据"), null;
7335
+ let { positions: t, indices: n } = this.createUniqueVertices(e.positions, e.indices), r = this.calculateFlatNormalsForUniqueVertices(t, n), i = t.length / 3, a = new Float32Array(i * 2);
7336
+ for (let e = 0; e < i; e++) a[e * 2] = 0, a[e * 2 + 1] = 0;
7337
+ let o = new Cesium.Geometry({
7338
+ attributes: {
7339
+ position: new Cesium.GeometryAttribute({
7340
+ componentDatatype: Cesium.ComponentDatatype.DOUBLE,
7341
+ componentsPerAttribute: 3,
7342
+ values: t,
7343
+ normalize: !1
7344
+ }),
7345
+ st: new Cesium.GeometryAttribute({
7346
+ componentDatatype: Cesium.ComponentDatatype.FLOAT,
7347
+ componentsPerAttribute: 2,
7348
+ values: a
7349
+ }),
7350
+ normal: new Cesium.GeometryAttribute({
7351
+ componentDatatype: Cesium.ComponentDatatype.FLOAT,
7352
+ componentsPerAttribute: 3,
7353
+ values: r,
7354
+ normalize: !1
7355
+ })
7356
+ },
7357
+ indices: n,
7358
+ primitiveType: Cesium.PrimitiveType.TRIANGLES,
7359
+ boundingSphere: Cesium.BoundingSphere.fromVertices(t)
7360
+ });
7361
+ return o.modelId = e.modelId, o.color = e.color, o;
7362
+ }).filter((e) => e !== null).map((e, t) => {
7363
+ let n = e.color, r = null;
7364
+ if (n == "#C2D6E2FF" || n == "#00000000") r = `rgba(${this.tileColor}, ${this.opacity})`;
7365
+ else try {
7366
+ r = this.hexToRgba(n);
7367
+ } catch {
7368
+ r = `rgba(${this.tileColor || "255,255,255"}, ${this.opacity})`;
7369
+ }
7370
+ return r ||= `rgba(${this.tileColor || "255,255,255"}, ${this.opacity})`, new Cesium.GeometryInstance({
7371
+ geometry: e,
7372
+ id: e.modelId,
7373
+ attributes: {
7374
+ color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromCssColorString(`${r}`)),
7375
+ show: new Cesium.ShowGeometryInstanceAttribute(!0)
7376
+ }
7377
+ });
7378
+ }), r = new Cesium.Primitive({
7379
+ geometryInstances: n,
7380
+ asynchronous: !1,
7381
+ compressVertices: !1,
7382
+ releaseGeometryInstances: !1,
7383
+ appearance: new Cesium.PerInstanceColorAppearance({
7384
+ vertexFormat: Cesium.VertexFormat.POSITION_AND_NORMAL,
7385
+ flat: !1,
7386
+ translucent: !1,
7387
+ renderState: {
7388
+ depthTest: { enabled: !0 },
7389
+ blending: Cesium.BlendingState.ALPHA_BLEND
7390
+ }
7391
+ })
7392
+ });
7393
+ r.layerId = this.id, r.geoSot = e.geoSot, viewer.scene.primitives.add(r);
7394
+ let i = 0, a = this.tileSleepTime / 100, o = setInterval(() => {
7395
+ i <= a * this.opacity ? (r && r.appearance, i++) : (clearInterval(o), this.fadeAnimations.has(e.geoSot) && this.fadeAnimations.delete(e.geoSot), this.removeOldEntities(e.geoSot));
7396
+ }, 100);
7397
+ this.fadeAnimations.set(e.geoSot, { interval: o }), this.loadedTiles.set(e.geoSot, { box: r });
7398
+ }
7399
+ hexToRgba(e) {
7400
+ e = e.replace("#", "");
7401
+ let t = 1;
7402
+ if (e.length === 8) t = parseInt(e.slice(6, 8), 16) / 255;
7403
+ else if (e.length !== 6) return console.error("Invalid hex format"), null;
7404
+ return `rgba(${parseInt(e.slice(0, 2), 16)}, ${parseInt(e.slice(2, 4), 16)}, ${parseInt(e.slice(4, 6), 16)}, ${t})`;
7405
+ }
7406
+ removeOldEntities(e) {
7407
+ viewer.scene.primitives._primitives.forEach((t) => {
7408
+ t.geoSot && t.layerId === this.id && t.geoSot.length !== e.length && viewer.scene.primitives.remove(t);
7409
+ });
7410
+ }
7411
+ destroyHandler() {
7412
+ this.handlers &&= (viewer.camera.changed.removeEventListener(this.handlers), null), this.clearAllTiles(), this.requestController &&= (this.requestController.abort(), null);
7413
+ }
7414
+ decompressMeshChunk(e) {
7415
+ try {
7416
+ return Da.ungzip(e);
7417
+ } catch {
7418
+ try {
7419
+ return Da.inflate(e);
7420
+ } catch {
7421
+ return Da.inflate(e, { windowBits: -15 });
7422
+ }
7423
+ }
7424
+ }
7425
+ parseCompressedMeshData(e, t) {
7426
+ let n = [];
7427
+ if (!(e instanceof ArrayBuffer) && !(e?.buffer instanceof ArrayBuffer)) return console.error("parseCompressedMeshData: 输入不是 ArrayBuffer"), n;
7428
+ let r = e instanceof ArrayBuffer ? e : e.buffer, i = new DataView(r), a = 0;
7429
+ if (r.byteLength < 4) return n;
7430
+ let o = i.getInt32(a, !0);
7431
+ if (a += 4, o <= 0 || o > 5e5) return console.error(`parseCompressedMeshData: tileCount 异常 ${o}`), n;
7432
+ for (let e = 0; e < o; e++) {
7433
+ if (a + 4 > r.byteLength) {
7434
+ console.error("parseCompressedMeshData: 读取 compressedLength 越界");
7435
+ break;
7436
+ }
7437
+ let o = i.getInt32(a, !0);
7438
+ if (a += 4, o <= 0 || a + o > r.byteLength) {
7439
+ console.error(`parseCompressedMeshData: compressedLength 异常 ${o}`);
7440
+ break;
7441
+ }
7442
+ let s = new Uint8Array(r, a, o);
7443
+ a += o;
7444
+ let c;
7445
+ try {
7446
+ c = this.decompressMeshChunk(s);
7447
+ } catch (t) {
7448
+ console.error(`parseCompressedMeshData: 解压失败 t=${e}`, t);
7449
+ continue;
7450
+ }
7451
+ let l = new DataView(c.buffer, c.byteOffset, c.byteLength), u = 0;
7452
+ if (c.byteLength < 16) {
7453
+ console.warn(`parseCompressedMeshData: 解压后过短 t=${e}`);
7454
+ continue;
7455
+ }
7456
+ let d = l.getBigInt64(u, !0);
7457
+ u += 8;
7458
+ let f = l.getInt32(u, !0);
7459
+ u += 4;
7460
+ let p = l.getInt32(u, !0);
7461
+ u += 4;
7462
+ let m = f / 4, h = p / 4;
7463
+ if (!Number.isInteger(m) || !Number.isInteger(h) || m < 0 || h < 0 || u + f + p > c.byteLength) {
7464
+ console.error(`parseCompressedMeshData: 长度字段异常 t=${e} pos=${f} idx=${p}`);
7465
+ continue;
7466
+ }
7467
+ let g = new Float64Array(m);
7468
+ for (let e = 0; e < m; e++) g[e] = l.getInt32(u, !0) / 100, u += 4;
7469
+ let _ = new Uint32Array(h);
7470
+ for (let e = 0; e < h; e++) _[e] = l.getUint32(u, !0), u += 4;
7471
+ n.push({
7472
+ positions: g,
7473
+ indices: _,
7474
+ positionCount: m,
7475
+ indexCount: h,
7476
+ modelId: d.toString(),
7477
+ lodLevel: t,
7478
+ color: "#C2D6E2FF"
7479
+ });
7480
+ }
7481
+ return n;
7482
+ }
7483
+ showPoint(e, t, n, r) {
7484
+ viewer.entities.add({
7485
+ position: Cesium.Cartesian3.fromDegrees(e, t, n),
7486
+ point: {
7487
+ pixelSize: 5,
7488
+ color: Cesium.Color.RED,
7489
+ outlineColor: Cesium.Color.WHITE,
7490
+ outlineWidth: 2
7491
+ },
7492
+ id: `debug_${this.id}_${r}`,
7493
+ label: {
7494
+ text: r + "",
7495
+ font: "14pt monospace",
7496
+ outlineWidth: 2,
7497
+ horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
7498
+ pixelOffset: new Cesium.Cartesian2(10, 0)
7499
+ }
7500
+ });
7501
+ }
7502
+ }, wo = new class {
7503
+ constructor() {
7504
+ this.layers = /* @__PURE__ */ new Map();
7505
+ }
7506
+ async createLayer(e) {
7507
+ let t = typeof e == "string" ? e : e?.id || e?.layerKey || e?.serviceType || e?.layerId, n = typeof e == "object" && e?.color != null && String(e.color).trim() ? String(e.color).trim() : void 0, r = e?.level, i = e?.isStatic, a = e?.serviceType, o = e?.opacity, s = typeof e == "object" ? e?.dictCode ?? e?.layerId ?? "" : "";
7508
+ if (!t) return console.error("创建图层失败:缺少id参数"), null;
7509
+ if (this.layers.has(t)) {
7510
+ console.warn(`图层 ${t} 已存在`);
7511
+ let e = this.layers.get(t), i = !1;
7512
+ if (n != null && n !== "" && e.tileColor !== n && (e.tileColor = n, i = !0), r != null && (e.fixedLevel = r, e.currentNewLevel.value = r), s !== void 0 && (e.dictCode = s == null ? "" : String(s)), a !== void 0 && (e.serviceType = a), o != null) {
7513
+ let t = Number(o);
7514
+ Number.isFinite(t) && e.opacity !== t && (e.opacity = t, i = !0);
7515
+ }
7516
+ return i && (typeof e.clearAllTiles == "function" && e.clearAllTiles(), typeof e.getViewportInfo == "function" && e.getViewportInfo()), this.layers.get(t);
7517
+ }
7518
+ let c = new Co(t, i, r, n, a, o, s);
7519
+ return await c.init(), this.layers.set(t, c), c;
7520
+ }
7521
+ removeLayer(e) {
7522
+ let t = this.layers.get(e);
7523
+ t && (t.remove(), this.layers.delete(e), console.log(`图层 ${e} 已移除`));
7524
+ }
7525
+ removeAllLayers() {
7526
+ this.layers.forEach((e) => e.remove()), this.layers.clear();
7527
+ }
7528
+ getLayer(e) {
7529
+ return this.layers.get(e);
7530
+ }
7531
+ getLayerIds() {
7532
+ return Array.from(this.layers.keys());
7533
+ }
7534
+ removeTilesByLayerId(e) {
7535
+ let t = this.layers.get(e);
7536
+ t && t.removeTilesOnly();
7537
+ }
7538
+ refreshLayer(e) {
7539
+ let t = this.layers.get(e);
7540
+ t && t.getViewportInfo();
7541
+ }
7542
+ }(), To = async (e) => wo.createLayer(e, !1), Eo = (e) => {
7543
+ wo.removeLayer(e);
7544
+ };
7545
+ t(() => {
7546
+ let e = wo.getLayerIds();
7547
+ if (e.length > 0) {
7548
+ let t = wo.getLayer(e[0]);
7549
+ return t ? t.getCurrentLevel() : 15;
7550
+ }
7551
+ return 15;
7552
+ });
7553
+ //#endregion
7554
+ //#region src/zz-layer/zz-layer-zzts3dtype/index.vue
7555
+ var Do = {
7556
+ __name: "index",
7557
+ props: { config: {
7558
+ type: Object,
7559
+ default: () => ({})
7560
+ } },
7561
+ setup(e) {
7562
+ c("cesiumViewer");
7563
+ let n = e, r = {
7564
+ id: "",
7565
+ layerId: "",
7566
+ color: "255,255,255",
7567
+ isStatic: !1,
7568
+ level: null,
7569
+ serviceType: "",
7570
+ opacity: 1
7571
+ }, i = t(() => ({
7572
+ ...r,
7573
+ ...n.config
7574
+ }));
7575
+ function a() {
7576
+ let { id: e, layerId: t, serviceType: n } = i.value;
7577
+ return e || (n ? `${t || "_"}__${n}` : "") || n || t || "";
7578
+ }
7579
+ let o = async () => {
7580
+ i.value.level && (i.value.isStatic = !0);
7581
+ let e = a();
7582
+ if (!e) {
7583
+ console.error("创建图层失败:缺少id参数", i.value);
7584
+ return;
7585
+ }
7586
+ To({
7587
+ id: e,
7588
+ layerId: i.value.layerId || "",
7589
+ dictCode: i.value.layerId || "",
7590
+ color: i.value.color,
7591
+ isStatic: i.value.isStatic,
7592
+ level: i.value.level,
7593
+ serviceType: i.value.serviceType,
7594
+ opacity: i.value.opacity
7595
+ });
7596
+ }, s = () => {
7597
+ Eo(a());
7598
+ };
7599
+ return w(i, () => {
7600
+ o();
7601
+ }, { deep: !0 }), d(() => {
7602
+ console.log("组件挂载,开始初始化..."), o();
7603
+ }), f(() => {
7604
+ console.log("组件卸载,开始清理资源..."), s();
7605
+ }), (e, t) => null;
7606
+ }
7607
+ }, Oo = {
6894
7608
  __name: "index",
6895
7609
  props: { config: {
6896
7610
  type: Object,
@@ -6928,7 +7642,7 @@ var ao = {
6928
7642
  e && u();
6929
7643
  }), (e, t) => null;
6930
7644
  }
6931
- }, go = {
7645
+ }, ko = {
6932
7646
  excavations: [],
6933
7647
  globalStyle: {
6934
7648
  show: !0,
@@ -6955,38 +7669,38 @@ var ao = {
6955
7669
  maxArea: 5e3 * 1e3 * 1e3,
6956
7670
  maxPerimeter: 5e3 * 1e3
6957
7671
  }
6958
- }, _o = (e = {}) => ({
6959
- ...go,
7672
+ }, Ao = (e = {}) => ({
7673
+ ...ko,
6960
7674
  ...e,
6961
7675
  globalStyle: {
6962
- ...go.globalStyle,
7676
+ ...ko.globalStyle,
6963
7677
  ...e.globalStyle
6964
7678
  },
6965
7679
  limits: {
6966
- ...go.limits,
7680
+ ...ko.limits,
6967
7681
  ...e.limits
6968
7682
  },
6969
7683
  excavations: e.excavations || []
6970
- }), vo = (e, t, n = 1) => {
7684
+ }), jo = (e, t, n = 1) => {
6971
7685
  try {
6972
7686
  return D.Color.fromCssColorString(e).withAlpha(n);
6973
7687
  } catch {
6974
7688
  return D.Color.fromCssColorString(t).withAlpha(n);
6975
7689
  }
6976
- }, yo = (e, t, n, r, i) => e ? D.Material.fromType("Image", {
7690
+ }, Mo = (e, t, n, r, i) => e ? D.Material.fromType("Image", {
6977
7691
  image: e,
6978
7692
  color: D.Color.WHITE.withAlpha(n),
6979
7693
  repeat: i || new D.Cartesian2(1, 1)
6980
- }) : D.Material.fromType("Color", { color: vo(t, r, n) }), bo = (e) => {
7694
+ }) : D.Material.fromType("Color", { color: jo(t, r, n) }), No = (e) => {
6981
7695
  if (e.length < 2) return 0;
6982
7696
  let t = 0;
6983
7697
  for (let n = 0; n < e.length - 1; n += 1) t += D.Cartesian3.distance(e[n], e[n + 1]);
6984
7698
  return t;
6985
- }, xo = (e, t) => {
7699
+ }, Po = (e, t) => {
6986
7700
  if (!e) return;
6987
- let n = bo(t), r = Math.max(Math.ceil(n / 100), 1);
7701
+ let n = No(t), r = Math.max(Math.ceil(n / 100), 1);
6988
7702
  return new D.Cartesian2(r, 1);
6989
- }, So = (e, t, n, r = !1) => {
7703
+ }, Fo = (e, t, n, r = !1) => {
6990
7704
  let i = r ? {
6991
7705
  perPositionHeight: !1,
6992
7706
  heightReference: D.HeightReference.CLAMP_TO_GROUND
@@ -7006,7 +7720,7 @@ var ao = {
7006
7720
  clampToGround: r
7007
7721
  }
7008
7722
  });
7009
- }, Co = (e, t, n = !1) => {
7723
+ }, Io = (e, t, n = !1) => {
7010
7724
  let r = n ? {
7011
7725
  perPositionHeight: !1,
7012
7726
  heightReference: D.HeightReference.CLAMP_TO_GROUND
@@ -7026,19 +7740,19 @@ var ao = {
7026
7740
  clampToGround: n
7027
7741
  }
7028
7742
  });
7029
- }, wo = async (e = 260) => {
7743
+ }, Lo = async (e = 260) => {
7030
7744
  await new Promise((t) => window.setTimeout(t, e));
7031
- }, To = (e, t = e.height || 0) => D.Cartesian3.fromDegrees(e.lng, e.lat, t), Eo = (e) => D.Cartesian3.fromDegrees(e.lng, e.lat), Do = (e, t) => D.Math.equalsEpsilon(e.lng, t.lng, D.Math.EPSILON12) && D.Math.equalsEpsilon(e.lat, t.lat, D.Math.EPSILON12), Oo = (e) => {
7745
+ }, Ro = (e, t = e.height || 0) => D.Cartesian3.fromDegrees(e.lng, e.lat, t), zo = (e) => D.Cartesian3.fromDegrees(e.lng, e.lat), Bo = (e, t) => D.Math.equalsEpsilon(e.lng, t.lng, D.Math.EPSILON12) && D.Math.equalsEpsilon(e.lat, t.lat, D.Math.EPSILON12), Vo = (e) => {
7032
7746
  let t = e.reduce((e, t) => {
7033
7747
  let n = e.at(-1);
7034
- return (!n || !Do(n, t)) && e.push(t), e;
7748
+ return (!n || !Bo(n, t)) && e.push(t), e;
7035
7749
  }, []);
7036
- return t.length > 1 && Do(t[0], t[t.length - 1]) && t.pop(), t;
7037
- }, ko = (e) => e <= 50 ? 5 : e <= 200 ? 10 : e <= 1e3 ? 20 : 50, Ao = (e) => {
7038
- let t = ko(e);
7750
+ return t.length > 1 && Bo(t[0], t[t.length - 1]) && t.pop(), t;
7751
+ }, Ho = (e) => e <= 50 ? 5 : e <= 200 ? 10 : e <= 1e3 ? 20 : 50, Uo = (e) => {
7752
+ let t = Ho(e);
7039
7753
  return Math.min(Math.max(Math.ceil(e / t), 1), 800);
7040
- }, jo = (e) => e.map((t, n) => {
7041
- let r = e[(n + 1) % e.length], i = D.Cartographic.fromDegrees(t.lng, t.lat), a = D.Cartographic.fromDegrees(r.lng, r.lat), o = new D.EllipsoidGeodesic(i, a), s = Ao(o.surfaceDistance), c = [t];
7754
+ }, Wo = (e) => e.map((t, n) => {
7755
+ let r = e[(n + 1) % e.length], i = D.Cartographic.fromDegrees(t.lng, t.lat), a = D.Cartographic.fromDegrees(r.lng, r.lat), o = new D.EllipsoidGeodesic(i, a), s = Uo(o.surfaceDistance), c = [t];
7042
7756
  for (let e = 1; e < s; e += 1) {
7043
7757
  let n = e / s, i = o.interpolateUsingFraction(n);
7044
7758
  c.push({
@@ -7048,10 +7762,10 @@ var ao = {
7048
7762
  });
7049
7763
  }
7050
7764
  return c.push(r), { points: c };
7051
- }), Mo = (e) => e.flatMap((t, n) => {
7765
+ }), Go = (e) => e.flatMap((t, n) => {
7052
7766
  let r = n === 0 ? t.points : t.points.slice(1);
7053
- return n === e.length - 1 && r.length > 0 && Do(r[r.length - 1], e[0].points[0]) ? r.slice(0, -1) : r;
7054
- }), No = (e) => {
7767
+ return n === e.length - 1 && r.length > 0 && Bo(r[r.length - 1], e[0].points[0]) ? r.slice(0, -1) : r;
7768
+ }), Ko = (e) => {
7055
7769
  if (e.length < 2) return 0;
7056
7770
  let t = 0;
7057
7771
  for (let n = 0; n < e.length; n += 1) {
@@ -7059,10 +7773,10 @@ var ao = {
7059
7773
  t += s.surfaceDistance;
7060
7774
  }
7061
7775
  return t;
7062
- }, Po = (e) => {
7776
+ }, qo = (e) => {
7063
7777
  if (e.length < 3) return 0;
7064
7778
  let t = e[0].lng, n = D.Math.toRadians(e.reduce((e, t) => e + t.lat, 0) / e.length), r = D.Ellipsoid.WGS84.maximumRadius, i = e.map((e) => {
7065
- let i = Fo(e.lng, t);
7779
+ let i = Jo(e.lng, t);
7066
7780
  return {
7067
7781
  x: D.Math.toRadians(i) * r * Math.cos(n),
7068
7782
  y: D.Math.toRadians(e.lat) * r
@@ -7073,20 +7787,20 @@ var ao = {
7073
7787
  a += t.x * n.y - n.x * t.y;
7074
7788
  }
7075
7789
  return Math.abs(a) / 2;
7076
- }, Fo = (e, t) => {
7790
+ }, Jo = (e, t) => {
7077
7791
  let n = e;
7078
7792
  for (; n - t > 180;) n -= 360;
7079
7793
  for (; n - t < -180;) n += 360;
7080
7794
  return n;
7081
- }, Io = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(2)}公里` : `${Math.round(e)}米`, Lo = (e) => e >= 1e3 * 1e3 ? `${(e / 1e3 / 1e3).toFixed(2)}平方公里` : `${Math.round(e)}平方米`, Ro = (e, t) => {
7082
- let n = Po(e);
7083
- if (t.maxArea > 0 && n > t.maxArea) return `绘制区域过大,面积约 ${Lo(n)},已超过 ${Lo(t.maxArea)},请缩小范围或分块开挖`;
7084
- let r = No(e);
7085
- return t.maxPerimeter > 0 && r > t.maxPerimeter ? `绘制区域过大,周长约 ${Io(r)},已超过 ${Io(t.maxPerimeter)},请缩小范围或分块开挖` : "";
7086
- }, zo = (e, t) => {
7795
+ }, Yo = (e) => e >= 1e3 ? `${(e / 1e3).toFixed(2)}公里` : `${Math.round(e)}米`, Xo = (e) => e >= 1e3 * 1e3 ? `${(e / 1e3 / 1e3).toFixed(2)}平方公里` : `${Math.round(e)}平方米`, Zo = (e, t) => {
7796
+ let n = qo(e);
7797
+ if (t.maxArea > 0 && n > t.maxArea) return `绘制区域过大,面积约 ${Xo(n)},已超过 ${Xo(t.maxArea)},请缩小范围或分块开挖`;
7798
+ let r = Ko(e);
7799
+ return t.maxPerimeter > 0 && r > t.maxPerimeter ? `绘制区域过大,周长约 ${Yo(r)},已超过 ${Yo(t.maxPerimeter)},请缩小范围或分块开挖` : "";
7800
+ }, Qo = (e, t) => {
7087
7801
  let n = t[0], r = 0;
7088
7802
  return e.map((i, a) => {
7089
- let o = a === e.length - 1 && i.points.length > 0 && e[0].points.length > 0 && Do(i.points[i.points.length - 1], e[0].points[0]), s = i.points.length - (a === 0 ? 0 : 1) - !!o, c = t.slice(r, r + s);
7803
+ let o = a === e.length - 1 && i.points.length > 0 && e[0].points.length > 0 && Bo(i.points[i.points.length - 1], e[0].points[0]), s = i.points.length - (a === 0 ? 0 : 1) - !!o, c = t.slice(r, r + s);
7090
7804
  if (r += s, a === 0) return o ? [...c, n] : c;
7091
7805
  let l = t[r - s - 1];
7092
7806
  return o ? [
@@ -7095,10 +7809,10 @@ var ao = {
7095
7809
  n
7096
7810
  ] : [l, ...c];
7097
7811
  });
7098
- }, Bo = (e, t) => {
7812
+ }, $o = (e, t) => {
7099
7813
  let n = Math.min(...e);
7100
7814
  return e.map(() => n - t);
7101
- }, Vo = (e, t, n) => ({
7815
+ }, es = (e, t, n) => ({
7102
7816
  id: e.id || n(),
7103
7817
  positions: e.positions || [],
7104
7818
  height: e.height ?? t.height,
@@ -7115,12 +7829,12 @@ var ao = {
7115
7829
  showSide: e.showSide ?? t.showSide,
7116
7830
  showBottom: e.showBottom ?? t.showBottom,
7117
7831
  showEdge: e.showEdge ?? t.showEdge
7118
- }), Ho = (e, t) => {
7832
+ }), ts = (e, t) => {
7119
7833
  e.clippingPolygons = t;
7120
- }, Uo = (e) => new D.ClippingPolygon({ positions: e.map((e) => Eo(e)) }), Wo = (e) => new D.ClippingPolygonCollection({
7121
- polygons: e.filter((e) => e.length >= 3).map(Uo),
7834
+ }, ns = (e) => new D.ClippingPolygon({ positions: e.map((e) => zo(e)) }), rs = (e) => new D.ClippingPolygonCollection({
7835
+ polygons: e.filter((e) => e.length >= 3).map(ns),
7122
7836
  inverse: !1
7123
- }), Go = (e, t, n, r, i) => {
7837
+ }), is = (e, t, n, r, i) => {
7124
7838
  let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Map(), c = null, l = !1, u = !1, d = !1, f = () => `excavation-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, p = async (r) => {
7125
7839
  let i = e(), a = t(), o = r.map((e) => D.Cartographic.fromDegrees(e.lng, e.lat));
7126
7840
  if (i && a.sampleTerrain && !(i.terrainProvider instanceof D.EllipsoidTerrainProvider)) try {
@@ -7132,7 +7846,7 @@ var ao = {
7132
7846
  let n = o[t], r = i?.scene.globe.getHeight(n);
7133
7847
  return e.height ?? r ?? 0;
7134
7848
  });
7135
- }, m = (e) => Vo(e, t().globalStyle, f), h = (e) => {
7849
+ }, m = (e) => es(e, t().globalStyle, f), h = (e) => {
7136
7850
  let n = t();
7137
7851
  return JSON.stringify({
7138
7852
  item: e,
@@ -7146,9 +7860,9 @@ var ao = {
7146
7860
  e.height ?? null
7147
7861
  ])), n = s.get(t);
7148
7862
  if (n) return n;
7149
- let r = jo(e), i = {
7863
+ let r = Wo(e), i = {
7150
7864
  renderBoundarySegments: r,
7151
- renderBoundaryPositions: Mo(r),
7865
+ renderBoundaryPositions: Go(r),
7152
7866
  clipBoundaryPositions: e,
7153
7867
  bottomBoundaryPositions: e
7154
7868
  };
@@ -7161,13 +7875,13 @@ var ao = {
7161
7875
  y();
7162
7876
  return;
7163
7877
  }
7164
- l ||= (c = n.scene.globe.clippingPolygons, !0), Ho(n.scene.globe, Wo(i)), n.scene.requestRender();
7878
+ l ||= (c = n.scene.globe.clippingPolygons, !0), ts(n.scene.globe, rs(i)), n.scene.requestRender();
7165
7879
  }, v = () => {
7166
7880
  let n = e(), r = t();
7167
7881
  n && (d ||= (u = n.scene.globe.depthTestAgainstTerrain, !0), n.scene.globe.depthTestAgainstTerrain = r.depthTestAgainstTerrain, n.scene.requestRender());
7168
7882
  }, y = () => {
7169
7883
  let t = e();
7170
- t && (l &&= (Ho(t.scene.globe, c || void 0), c = null, !1), t.scene.requestRender());
7884
+ t && (l &&= (ts(t.scene.globe, c || void 0), c = null, !1), t.scene.requestRender());
7171
7885
  }, b = () => {
7172
7886
  let t = e();
7173
7887
  !t || !d || (t.scene.globe.depthTestAgainstTerrain = u, d = !1, t.scene.requestRender());
@@ -7177,10 +7891,10 @@ var ao = {
7177
7891
  }, S = async (r) => {
7178
7892
  let a = e();
7179
7893
  if (!a) return null;
7180
- let o = m(r), s = Oo(o.positions);
7894
+ let o = m(r), s = Vo(o.positions);
7181
7895
  if (!s || s.length < 3) return n("excavation-error", /* @__PURE__ */ Error("地形开挖至少需要 3 个多边形点位")), null;
7182
7896
  let c = (e) => {
7183
- let r = Co(a, s.map((e) => To(e, e.height || 0)), t().depthTestAgainstTerrain);
7897
+ let r = Io(a, s.map((e) => Ro(e, e.height || 0)), t().depthTestAgainstTerrain);
7184
7898
  return r.show = o.show, a.scene.requestRender(), n("excavation-error", Error(e)), P.warning(e), {
7185
7899
  item: {
7186
7900
  ...o,
@@ -7190,14 +7904,14 @@ var ao = {
7190
7904
  primitives: [],
7191
7905
  terrainClipEnabled: !1
7192
7906
  };
7193
- }, l = Ro(s, t().limits);
7907
+ }, l = Zo(s, t().limits);
7194
7908
  if (l) return c(l);
7195
- let { renderBoundarySegments: u, renderBoundaryPositions: d, bottomBoundaryPositions: f } = g(s), h = So(a, o.id, s.map((e) => To(e, e.height || 0)), t().depthTestAgainstTerrain);
7909
+ let { renderBoundarySegments: u, renderBoundaryPositions: d, bottomBoundaryPositions: f } = g(s), h = Fo(a, o.id, s.map((e) => Ro(e, e.height || 0)), t().depthTestAgainstTerrain);
7196
7910
  a.scene.requestRender();
7197
7911
  let _ = [], v = [];
7198
7912
  try {
7199
- await Promise.all([wo(), i?.() || Promise.resolve()]);
7200
- let e = await p(d), t = Bo(e, o.height), n = Math.min(...e) - o.height, r = f.map((e) => To(e, n)), s = d.map((t, n) => To(t, e[n])), c = zo(u, e), l = zo(u, t), m = D.MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat, h = {
7913
+ await Promise.all([Lo(), i?.() || Promise.resolve()]);
7914
+ let e = await p(d), t = $o(e, o.height), n = Math.min(...e) - o.height, r = f.map((e) => Ro(e, n)), s = d.map((t, n) => Ro(t, e[n])), c = Qo(u, e), l = Qo(u, t), m = D.MaterialAppearance.MaterialSupport.TEXTURED.vertexFormat, h = {
7201
7915
  depthTest: { enabled: !0 },
7202
7916
  depthMask: !0
7203
7917
  };
@@ -7213,7 +7927,7 @@ var ao = {
7213
7927
  })
7214
7928
  }),
7215
7929
  appearance: new D.MaterialAppearance({
7216
- material: yo(o.bottomTexture, o.bottomColor, o.bottomOpacity, go.globalStyle.bottomColor),
7930
+ material: Mo(o.bottomTexture, o.bottomColor, o.bottomOpacity, ko.globalStyle.bottomColor),
7217
7931
  materialSupport: D.MaterialAppearance.MaterialSupport.TEXTURED,
7218
7932
  faceForward: !0,
7219
7933
  renderState: h
@@ -7223,7 +7937,7 @@ var ao = {
7223
7937
  v.push(e);
7224
7938
  }
7225
7939
  if (o.showSide) for (let e = 0; e < u.length; e += 1) {
7226
- let t = u[e].points.map((e) => To(e)), n = l[e], r = c[e], i = xo(o.sideTexture, t), s = a.scene.primitives.add(new D.Primitive({
7940
+ let t = u[e].points.map((e) => Ro(e)), n = l[e], r = c[e], i = Po(o.sideTexture, t), s = a.scene.primitives.add(new D.Primitive({
7227
7941
  show: !1,
7228
7942
  geometryInstances: new D.GeometryInstance({
7229
7943
  id: `${o.id}-wall-${e}`,
@@ -7235,7 +7949,7 @@ var ao = {
7235
7949
  })
7236
7950
  }),
7237
7951
  appearance: new D.MaterialAppearance({
7238
- material: yo(o.sideTexture, o.sideColor, o.sideOpacity, go.globalStyle.bottomColor, i),
7952
+ material: Mo(o.sideTexture, o.sideColor, o.sideOpacity, ko.globalStyle.bottomColor, i),
7239
7953
  materialSupport: D.MaterialAppearance.MaterialSupport.TEXTURED,
7240
7954
  faceForward: !0,
7241
7955
  renderState: h
@@ -7251,7 +7965,7 @@ var ao = {
7251
7965
  polyline: {
7252
7966
  positions: e,
7253
7967
  width: o.edgeWidth,
7254
- material: vo(o.edgeColor, go.globalStyle.bottomColor, o.edgeOpacity),
7968
+ material: jo(o.edgeColor, ko.globalStyle.bottomColor, o.edgeOpacity),
7255
7969
  clampToGround: !1
7256
7970
  }
7257
7971
  });
@@ -7320,7 +8034,7 @@ var ao = {
7320
8034
  for (let t of i.excavations) {
7321
8035
  let n = m(t), r = {
7322
8036
  ...n,
7323
- positions: Oo(n.positions)
8037
+ positions: Vo(n.positions)
7324
8038
  }, i = h(r), o = r.id;
7325
8039
  s.add(o);
7326
8040
  let c = a.get(o);
@@ -7367,7 +8081,7 @@ var ao = {
7367
8081
  restoreDepthTestAgainstTerrain: b,
7368
8082
  getMethods: A
7369
8083
  };
7370
- }, Ko = /* @__PURE__ */ s({
8084
+ }, as = /* @__PURE__ */ s({
7371
8085
  __name: "index",
7372
8086
  props: { config: {} },
7373
8087
  emits: [
@@ -7378,7 +8092,7 @@ var ao = {
7378
8092
  "excavation-error"
7379
8093
  ],
7380
8094
  setup(e, { expose: n, emit: r }) {
7381
- let i = c("cesiumViewer"), a = r, o = e, s = t(() => _o(o.config)), l = () => i?.value, u = () => {
8095
+ let i = c("cesiumViewer"), a = r, o = e, s = t(() => Ao(o.config)), l = () => i?.value, u = () => {
7382
8096
  let e = l();
7383
8097
  return e ? !(e.terrainProvider instanceof D.EllipsoidTerrainProvider) : !1;
7384
8098
  }, d = t(() => JSON.stringify({
@@ -7396,7 +8110,7 @@ var ao = {
7396
8110
  });
7397
8111
  }, b = () => {
7398
8112
  !v() || _.size === 0 || (_.forEach((e) => e()), _.clear());
7399
- }, x = Go(l, () => s.value, p, () => m, y);
8113
+ }, x = is(l, () => s.value, p, () => m, y);
7400
8114
  m = x.getMethods();
7401
8115
  let S = async (e) => {
7402
8116
  l() && await x.syncExcavations(e);
@@ -7424,7 +8138,7 @@ var ao = {
7424
8138
  _.clear(), h?.(), h = null, x.clearExcavations(), x.restoreDepthTestAgainstTerrain();
7425
8139
  }), n(m), (e, t) => null;
7426
8140
  }
7427
- }), qo = {
8141
+ }), os = {
7428
8142
  __name: "index",
7429
8143
  props: {
7430
8144
  config: {
@@ -7449,11 +8163,17 @@ var ao = {
7449
8163
  ...o,
7450
8164
  ...i.config
7451
8165
  })), l = async () => {
7452
- r.value && (u(), a = await D.Cesium3DTileset.fromUrl(s.value.url), ye(r.value, a, i.stackIndex, 0, {
7453
- layerType: "tiles3d",
7454
- groupKey: i.groupKey || s.value.url || String(i.stackIndex),
7455
- subStackIndex: i.subStackIndex
7456
- }), s.value.autoFitToView && r.value.zoomTo(a), s.value.customShader && (a.customShader = customShader));
8166
+ if (r.value) {
8167
+ if (u(), a = await D.Cesium3DTileset.fromUrl(s.value.url), ye(r.value, a, i.stackIndex, 0, {
8168
+ layerType: "tiles3d",
8169
+ groupKey: i.groupKey || s.value.url || String(i.stackIndex),
8170
+ subStackIndex: i.subStackIndex
8171
+ }), s.value.autoFitToView) {
8172
+ let e = s.value.fitDuration;
8173
+ typeof e == "number" ? r.value.flyTo(a, { duration: e }) : r.value.zoomTo(a);
8174
+ }
8175
+ s.value.customShader && (a.customShader = customShader);
8176
+ }
7457
8177
  }, u = () => {
7458
8178
  r.value && (a &&= (r.value.scene.primitives.remove(a), null));
7459
8179
  };
@@ -7477,7 +8197,7 @@ var ao = {
7477
8197
  u();
7478
8198
  }), (e, t) => null;
7479
8199
  }
7480
- }, Jo = {
8200
+ }, ss = {
7481
8201
  __name: "index",
7482
8202
  props: { config: {
7483
8203
  type: Object,
@@ -7541,7 +8261,7 @@ var ao = {
7541
8261
  u();
7542
8262
  }), (e, t) => null;
7543
8263
  }
7544
- }, Yo = {
8264
+ }, cs = {
7545
8265
  __name: "index",
7546
8266
  props: { config: {
7547
8267
  type: Object,
@@ -7730,7 +8450,7 @@ var ao = {
7730
8450
  b();
7731
8451
  }), (e, t) => null;
7732
8452
  }
7733
- }, Xo = {
8453
+ }, ls = {
7734
8454
  __name: "index",
7735
8455
  props: { config: {
7736
8456
  type: Object,
@@ -7917,7 +8637,7 @@ var ao = {
7917
8637
  b();
7918
8638
  }), (e, t) => null;
7919
8639
  }
7920
- }, Zo = {
8640
+ }, us = {
7921
8641
  __name: "index",
7922
8642
  props: { config: {
7923
8643
  type: Object,
@@ -8117,16 +8837,16 @@ var ao = {
8117
8837
  b();
8118
8838
  }), (e, t) => null;
8119
8839
  }
8120
- }, Qo = { class: "legend-panel__header" }, $o = { class: "legend-panel__title" }, es = { class: "legend-panel__body" }, ts = {
8840
+ }, ds = { class: "legend-panel__header" }, fs = { class: "legend-panel__title" }, ps = { class: "legend-panel__body" }, ms = {
8121
8841
  key: 0,
8122
8842
  class: "legend-panel__multiband"
8123
- }, ns = { class: "legend-panel__multiband-labels" }, rs = { class: "legend-panel__multiband-label legend-panel__multiband-label--top" }, is = { class: "legend-panel__multiband-label legend-panel__multiband-label--bottom" }, as = {
8843
+ }, hs = { class: "legend-panel__multiband-labels" }, gs = { class: "legend-panel__multiband-label legend-panel__multiband-label--top" }, _s = { class: "legend-panel__multiband-label legend-panel__multiband-label--bottom" }, vs = {
8124
8844
  key: 1,
8125
8845
  class: "legend-panel__list"
8126
- }, os = {
8846
+ }, ys = {
8127
8847
  key: 0,
8128
8848
  class: "legend-panel__symbol legend-panel__symbol--line"
8129
- }, ss = { class: "legend-panel__label" }, cs = /* @__PURE__ */ s({
8849
+ }, bs = { class: "legend-panel__label" }, xs = /* @__PURE__ */ s({
8130
8850
  __name: "index",
8131
8851
  props: {
8132
8852
  visible: { type: Boolean },
@@ -8212,7 +8932,7 @@ var ao = {
8212
8932
  return s.visible ? (p(), i("div", {
8213
8933
  key: 0,
8214
8934
  class: l(["legend-panel", g.value])
8215
- }, [a("div", Qo, [a("span", $o, x(v.value), 1), o(f, {
8935
+ }, [a("div", ds, [a("span", fs, x(v.value), 1), o(f, {
8216
8936
  text: "",
8217
8937
  size: "small",
8218
8938
  class: "legend-panel__toggle",
@@ -8223,14 +8943,14 @@ var ao = {
8223
8943
  _: 1
8224
8944
  })]),
8225
8945
  _: 1
8226
- })]), a("div", es, [c[1] ||= a("div", { class: "legend-panel__section-title" }, "图例", -1), S.value && w.value ? (p(), i("div", ts, [a("div", {
8946
+ })]), a("div", ps, [c[1] ||= a("div", { class: "legend-panel__section-title" }, "图例", -1), S.value && w.value ? (p(), i("div", ms, [a("div", {
8227
8947
  class: "legend-panel__multiband-bar",
8228
8948
  style: u(M.value)
8229
- }, null, 4), a("div", ns, [a("div", rs, x(w.value.MultibandValueNameTop), 1), a("div", is, x(w.value.MultibandValueNameBot), 1)])])) : D.value.length ? (p(), i("div", as, [(p(!0), i(e, null, _(D.value, (e, t) => (p(), i("div", {
8949
+ }, null, 4), a("div", hs, [a("div", gs, x(w.value.MultibandValueNameTop), 1), a("div", _s, x(w.value.MultibandValueNameBot), 1)])])) : D.value.length ? (p(), i("div", vs, [(p(!0), i(e, null, _(D.value, (e, t) => (p(), i("div", {
8230
8950
  key: R(e, t),
8231
8951
  class: l(["legend-panel__item", { "is-item-hidden": O.value && A(e) }])
8232
8952
  }, [
8233
- P(e) === "line" ? (p(), i("div", os, [a("span", {
8953
+ P(e) === "line" ? (p(), i("div", ys, [a("span", {
8234
8954
  class: "legend-panel__line-bar",
8235
8955
  style: u(te(e))
8236
8956
  }, null, 4)])) : (p(), i("div", {
@@ -8238,7 +8958,7 @@ var ao = {
8238
8958
  class: l(["legend-panel__symbol", N(e)]),
8239
8959
  style: u(ne(e))
8240
8960
  }, null, 6)),
8241
- a("div", ss, x(e.valueName || "-"), 1),
8961
+ a("div", bs, x(e.valueName || "-"), 1),
8242
8962
  O.value ? (p(), n(m, {
8243
8963
  key: 2,
8244
8964
  content: A(e) ? "显示" : "隐藏",
@@ -8261,8 +8981,8 @@ var ao = {
8261
8981
  }))])], 2)) : r("", !0);
8262
8982
  };
8263
8983
  }
8264
- }), ls = (e) => {
8265
- e.component("zzViewer", xe), e.component("zz-viewer", xe), e.component("zzLayerWmts", Fe), e.component("zz-layer-wmts", Fe), e.component("zzLayerXyz", Ie), e.component("zz-layer-xyz", Ie), e.component("zzLayerWms", Le), e.component("zz-layer-wms", Le), e.component("zzLayerZzts", ze), e.component("zz-layer-zzts", ze), e.component("zzLayerZzts3d", La), e.component("zz-layer-zzts3d", La), e.component("zzLayerShpZzts", Wa), e.component("zz-layer-shp-zzts", Wa), e.component("zzLayerZzts3dPoint", ao), e.component("zz-layer-zzts3d-point", ao), e.component("zzLayerZzts3dPointQuery", oo), e.component("zz-layer-zzts3d-point-query", oo), e.component("zzLayerZzts3dGrid", co), e.component("zz-layer-zzts3d-grid", co), e.component("zzLayerZzts3dGridColor", fo), e.component("zz-layer-zzts3d-grid-color", fo), e.component("zzLayerZzts3dGridQuery", po), e.component("zz-layer-zzts3d-grid-query", po), e.component("zzLayerZzts3dGridInterpolation", mo), e.component("zz-layer-zzts3d-grid-interpolation", mo), e.component("zzLayerGeojson", Be), e.component("zz-layer-geojson", Be), e.component("zzLayerMvt", He), e.component("zz-layer-mvt", He), e.component("zzTerrain", ho), e.component("zz-terrain", ho), e.component("zzTerrainExcavation", Ko), e.component("zz-terrain-excavation", Ko), e.component("zz3dtiles", qo), e.component("zz-3dtiles", qo), e.component("zzGltf", Jo), e.component("zz-gltf", Jo), e.component("zzEntityPoint", Yo), e.component("zz-entity-point", Yo), e.component("zzEntityPolyline", Xo), e.component("zz-entity-polyline", Xo), e.component("zzEntityPolygon", Zo), e.component("zz-entity-polygon", Zo), e.component("zzLegend", cs), e.component("zz-legend", cs);
8984
+ }), Ss = (e) => {
8985
+ e.component("zzViewer", xe), e.component("zz-viewer", xe), e.component("zzLayerWmts", Fe), e.component("zz-layer-wmts", Fe), e.component("zzLayerXyz", Ie), e.component("zz-layer-xyz", Ie), e.component("zzLayerWms", Le), e.component("zz-layer-wms", Le), e.component("zzLayerZzts", ze), e.component("zz-layer-zzts", ze), e.component("zzLayerZzts3d", za), e.component("zz-layer-zzts3d", za), e.component("zzLayerShpZzts", Xa), e.component("zz-layer-shp-zzts", Xa), e.component("zzLayerZzts3dPoint", mo), e.component("zz-layer-zzts3d-point", mo), e.component("zzLayerZzts3dPointQuery", ho), e.component("zz-layer-zzts3d-point-query", ho), e.component("zzLayerZzts3dGrid", _o), e.component("zz-layer-zzts3d-grid", _o), e.component("zzLayerZzts3dGridColor", bo), e.component("zz-layer-zzts3d-grid-color", bo), e.component("zzLayerZzts3dGridQuery", xo), e.component("zz-layer-zzts3d-grid-query", xo), e.component("zzLayerZzts3dGridInterpolation", So), e.component("zz-layer-zzts3d-grid-interpolation", So), e.component("zzLayerZzts3dtwintype", Do), e.component("zz-layer-zzts3dtwintype", Do), e.component("zzLayerGeojson", Be), e.component("zz-layer-geojson", Be), e.component("zzLayerMvt", He), e.component("zz-layer-mvt", He), e.component("zzTerrain", Oo), e.component("zz-terrain", Oo), e.component("zzTerrainExcavation", as), e.component("zz-terrain-excavation", as), e.component("zz3dtiles", os), e.component("zz-3dtiles", os), e.component("zzGltf", ss), e.component("zz-gltf", ss), e.component("zzEntityPoint", cs), e.component("zz-entity-point", cs), e.component("zzEntityPolyline", ls), e.component("zz-entity-polyline", ls), e.component("zzEntityPolygon", us), e.component("zz-entity-polygon", us), e.component("zzLegend", xs), e.component("zz-legend", xs);
8266
8986
  };
8267
8987
  //#endregion
8268
- export { R as LAYER_TYPE_BAND, ve as addImageryLayerWithStackIndex, ye as addPrimitiveWithStackIndex, he as applyImageryStackIndex, _e as applyPrimitiveStackIndex, ls as default, oe as moveImageryLayerToIndex, ge as moveImageryLayersToStackIndex, ce as movePrimitiveToIndex, pe as scheduleImageryLayerStackSync, me as schedulePrimitiveStackSync, le as syncImageryLayerStack, ue as syncPrimitiveStack, B as tagImageryLayerStackMeta, ae as tagPrimitiveStackMeta, qo as zz3dtiles, Yo as zzEntityPoint, Zo as zzEntityPolygon, Xo as zzEntityPolyline, Jo as zzGltf, Be as zzLayerGeojson, He as zzLayerMvt, Wa as zzLayerShpZzts, Le as zzLayerWms, Fe as zzLayerWmts, Ie as zzLayerXyz, ze as zzLayerZzts, cs as zzLegendPanel, ho as zzTerrain, Ko as zzTerrainExcavation, xe as zzViewer };
8988
+ export { R as LAYER_TYPE_BAND, ve as addImageryLayerWithStackIndex, ye as addPrimitiveWithStackIndex, he as applyImageryStackIndex, _e as applyPrimitiveStackIndex, Ss as default, oe as moveImageryLayerToIndex, ge as moveImageryLayersToStackIndex, ce as movePrimitiveToIndex, pe as scheduleImageryLayerStackSync, me as schedulePrimitiveStackSync, le as syncImageryLayerStack, ue as syncPrimitiveStack, B as tagImageryLayerStackMeta, ae as tagPrimitiveStackMeta, os as zz3dtiles, cs as zzEntityPoint, us as zzEntityPolygon, ls as zzEntityPolyline, ss as zzGltf, Be as zzLayerGeojson, He as zzLayerMvt, Xa as zzLayerShpZzts, Le as zzLayerWms, Fe as zzLayerWmts, Ie as zzLayerXyz, ze as zzLayerZzts, xs as zzLegendPanel, Oo as zzTerrain, as as zzTerrainExcavation, xe as zzViewer };