@realsee/dnalogel 3.50.4 → 3.50.6

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.js CHANGED
@@ -37,7 +37,7 @@ var ee = (e, n, t) => new Promise((i, r) => {
37
37
  a((t = t.apply(e, n)).next());
38
38
  });
39
39
  import { Camera as fE, Five as Dn, Subscribe as Na } from "@realsee/five";
40
- import * as C from "three";
40
+ import * as E from "three";
41
41
  import { Vector3 as Se, Matrix4 as Dl, Object3D as pE, LineSegments as mE, Group as Jo, Raycaster as Fa, MeshBasicMaterial as Yl, CanvasTexture as gE, AnimationMixer as vE, Color as Va, TextureLoader as W1, Vector2 as Fn, PlaneGeometry as yE, sRGBEncoding as bE, LinearFilter as _p, Mesh as Ll, CurvePath as AE, LineCurve3 as wE, TubeGeometry as xE, ShaderMaterial as Q1, SphereGeometry as ME, DoubleSide as Y1, RingGeometry as EE, Quaternion as qm, Euler as mv, VideoTexture as CE, Vector4 as PE, SphereBufferGeometry as _E } from "three";
42
42
  import { CSS3DSprite as IE, CSS3DObject as Ip } from "three/examples/jsm/renderers/CSS3DRenderer";
43
43
  import Km from "hammerjs";
@@ -48,7 +48,7 @@ import LE from "earcut";
48
48
  import { GLTFLoader as kE } from "@realsee/five/gltf-loader";
49
49
  function RE() {
50
50
  console.debug(
51
- "%c %c@realsee/dnalogel %cv3.50.4",
51
+ "%c %c@realsee/dnalogel %cv3.50.6",
52
52
  [
53
53
  "background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
54
54
  "background-repeat: no-repeat",
@@ -1072,48 +1072,48 @@ const T6 = (e, n) => {
1072
1072
  lockedPanoIndex: null,
1073
1073
  lockedLatitude: null,
1074
1074
  lockedLongitude: null
1075
- }), n == null ? void 0 : n.config), l = new C.Scene(), c = new fE(60);
1076
- let h = new C.Object3D(), u, d;
1075
+ }), n == null ? void 0 : n.config), l = new E.Scene(), c = new fE(60);
1076
+ let h = new E.Object3D(), u, d;
1077
1077
  {
1078
- const G = new C.DirectionalLight(16777215, 0.5);
1079
- G.position.copy(new C.Vector3(1, 1, 1)), l.add(G);
1078
+ const G = new E.DirectionalLight(16777215, 0.5);
1079
+ G.position.copy(new E.Vector3(1, 1, 1)), l.add(G);
1080
1080
  }
1081
1081
  {
1082
- const G = new C.DirectionalLight(16777215, 0.3);
1082
+ const G = new E.DirectionalLight(16777215, 0.3);
1083
1083
  l.add(G);
1084
1084
  }
1085
1085
  {
1086
- const G = new C.AmbientLight(16777215, 0.3);
1086
+ const G = new E.AmbientLight(16777215, 0.3);
1087
1087
  l.add(G);
1088
1088
  }
1089
1089
  l.add(h);
1090
1090
  const f = () => {
1091
1091
  if (i)
1092
1092
  return;
1093
- u = x(e.model, c.fov, c.aspect), d = e.model.bounding.getCenter(new C.Vector3()), l.remove(h), h = S(e.model), l.add(h), i = !0, P();
1093
+ u = x(e.model, c.fov, c.aspect), d = e.model.bounding.getCenter(new E.Vector3()), l.remove(h), h = S(e.model), l.add(h), i = !0, P();
1094
1094
  function G(U) {
1095
1095
  const q = U.clone();
1096
1096
  return q.uniforms.modelAlpha.value = 1, q.uniforms.map.value && (q.uniforms.map.value.needsUpdate = !0), q;
1097
1097
  }
1098
1098
  function S(U) {
1099
- if (U instanceof C.Mesh) {
1099
+ if (U instanceof E.Mesh) {
1100
1100
  const q = U.geometry, K = Array.isArray(U.material) ? U.material.map(G) : G(U.material);
1101
- return new C.Mesh(q, K);
1102
- } else if (U instanceof C.Group) {
1103
- const q = new C.Group();
1101
+ return new E.Mesh(q, K);
1102
+ } else if (U instanceof E.Group) {
1103
+ const q = new E.Group();
1104
1104
  return U.children.forEach((K) => q.add(S(K))), q;
1105
1105
  } else {
1106
- const q = new C.Object3D();
1106
+ const q = new E.Object3D();
1107
1107
  return U.children.forEach((K) => q.add(S(K))), q;
1108
1108
  }
1109
1109
  }
1110
1110
  }, m = () => {
1111
1111
  if (e.renderer)
1112
- return s || (s = new C.WebGLRenderer({ antialias: !1, alpha: !0 }), s.setPixelRatio(e.renderer.getPixelRatio()), s.outputEncoding = C.sRGBEncoding, s.setClearColor(1579548, 0), s.autoClear = !0), s;
1112
+ return s || (s = new E.WebGLRenderer({ antialias: !1, alpha: !0 }), s.setPixelRatio(e.renderer.getPixelRatio()), s.outputEncoding = E.sRGBEncoding, s.setClearColor(1579548, 0), s.autoClear = !0), s;
1113
1113
  }, p = () => {
1114
1114
  h.traverse((G) => {
1115
- G instanceof C.Mesh && [].concat(G.material).forEach((U) => U.dispose());
1116
- }), l.remove(h), h = new C.Object3D(), l.add(h), i = !1, P();
1115
+ G instanceof E.Mesh && [].concat(G.material).forEach((U) => U.dispose());
1116
+ }), l.remove(h), h = new E.Object3D(), l.add(h), i = !1, P();
1117
1117
  }, g = () => {
1118
1118
  t && (i || f());
1119
1119
  }, y = () => {
@@ -1383,9 +1383,9 @@ class En {
1383
1383
  return i;
1384
1384
  }
1385
1385
  }
1386
- class iC extends C.Mesh {
1386
+ class iC extends E.Mesh {
1387
1387
  constructor(t, i) {
1388
- const r = new C.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: C.DoubleSide }), s = new C.PlaneGeometry(t, i);
1388
+ const r = new E.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: E.DoubleSide }), s = new E.PlaneGeometry(t, i);
1389
1389
  super(s, r);
1390
1390
  v(this, "name", "opacity-mesh");
1391
1391
  }
@@ -1481,7 +1481,7 @@ class tg {
1481
1481
  v(this, "scale");
1482
1482
  v(this, "offset", { x: 0, y: 0 });
1483
1483
  v(this, "context");
1484
- v(this, "renderCenter", new C.Vector3());
1484
+ v(this, "renderCenter", new E.Vector3());
1485
1485
  v(this, "hammer");
1486
1486
  v(this, "offsetRange");
1487
1487
  v(this, "isPanning", !1);
@@ -1551,8 +1551,8 @@ class tg {
1551
1551
  render() {
1552
1552
  if (!this.five.renderer || !this.containerDom)
1553
1553
  return;
1554
- const { scale: n, context: t, width: i, height: r } = this, s = this.five.renderer.getSize(new C.Vector2()), [o, a] = (() => {
1555
- if (this.renderCenter instanceof C.Vector3) {
1554
+ const { scale: n, context: t, width: i, height: r } = this, s = this.five.renderer.getSize(new E.Vector2()), [o, a] = (() => {
1555
+ if (this.renderCenter instanceof E.Vector3) {
1556
1556
  const p = this.renderCenter.clone().project(this.five.camera);
1557
1557
  return [(p.x + 1) / 2 * s.x, (p.y + 1) / 2 * s.y];
1558
1558
  } else
@@ -1576,7 +1576,7 @@ class tg {
1576
1576
  if (!this.containerDom)
1577
1577
  return;
1578
1578
  const { width: n, height: t } = this, { clientWidth: i, clientHeight: r } = this.containerDom, [s, o, a] = (() => {
1579
- if (this.renderCenter instanceof C.Vector3) {
1579
+ if (this.renderCenter instanceof E.Vector3) {
1580
1580
  const l = this.renderCenter.clone().project(this.five.camera);
1581
1581
  return [
1582
1582
  //
@@ -1619,11 +1619,11 @@ function aC(e, n, t) {
1619
1619
  }
1620
1620
  function lC(e, n) {
1621
1621
  const { offsetWidth: t, offsetHeight: i } = n, { top: r, left: s } = n.getBoundingClientRect();
1622
- return new C.Vector2().set((e.x - s) / t * 2 - 1, -(e.y - r) / i * 2 + 1);
1622
+ return new E.Vector2().set((e.x - s) / t * 2 - 1, -(e.y - r) / i * 2 + 1);
1623
1623
  }
1624
1624
  function cC(e, n) {
1625
1625
  const { offsetWidth: t, offsetHeight: i } = n;
1626
- return new C.Vector2().set(e.x / t * 2 - 1, -e.y / i * 2 + 1);
1626
+ return new E.Vector2().set(e.x / t * 2 - 1, -e.y / i * 2 + 1);
1627
1627
  }
1628
1628
  const hC = "data:image/png;base64,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", K1 = "data:image/png;base64,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", uC = "data:image/png;base64,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", dC = `
1629
1629
  <style>
@@ -1716,48 +1716,48 @@ void main() {
1716
1716
  }
1717
1717
  `;
1718
1718
  function mC() {
1719
- const e = new C.PlaneGeometry(0.4, 0.4), n = hC, t = new C.TextureLoader().load(n);
1720
- t.encoding = C.sRGBEncoding, t.minFilter = C.LinearFilter;
1721
- const i = new C.MeshBasicMaterial({
1719
+ const e = new E.PlaneGeometry(0.4, 0.4), n = hC, t = new E.TextureLoader().load(n);
1720
+ t.encoding = E.sRGBEncoding, t.minFilter = E.LinearFilter;
1721
+ const i = new E.MeshBasicMaterial({
1722
1722
  map: t,
1723
1723
  transparent: !0,
1724
1724
  depthTest: !1
1725
1725
  });
1726
- return new C.Mesh(e, i);
1726
+ return new E.Mesh(e, i);
1727
1727
  }
1728
1728
  function gC() {
1729
- const e = new C.CurvePath();
1730
- e.add(new C.LineCurve3(new C.Vector3(0, 0, 0), new C.Vector3(0, 0, 0.1)));
1731
- const n = new C.TubeGeometry(e, 8, 3e-3), t = new C.ShaderMaterial({
1729
+ const e = new E.CurvePath();
1730
+ e.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, 0.1)));
1731
+ const n = new E.TubeGeometry(e, 8, 3e-3), t = new E.ShaderMaterial({
1732
1732
  vertexShader: fC,
1733
1733
  fragmentShader: pC,
1734
1734
  depthTest: !1,
1735
1735
  transparent: !0
1736
1736
  });
1737
- return new C.Mesh(n, t);
1737
+ return new E.Mesh(n, t);
1738
1738
  }
1739
1739
  function vC() {
1740
- const e = new C.SphereGeometry(0.01, 20, 20), n = new C.MeshBasicMaterial({
1740
+ const e = new E.SphereGeometry(0.01, 20, 20), n = new E.MeshBasicMaterial({
1741
1741
  color: 10349931,
1742
1742
  depthTest: !1,
1743
1743
  transparent: !0,
1744
- side: C.DoubleSide
1745
- }), t = new C.Mesh(e, n);
1744
+ side: E.DoubleSide
1745
+ }), t = new E.Mesh(e, n);
1746
1746
  return t.position.set(0, 0, 0.1), t;
1747
1747
  }
1748
1748
  function yC() {
1749
1749
  const n = new lx({
1750
1750
  pointerEvents: "none",
1751
1751
  cornerPoints: [
1752
- new C.Vector3(-0.2, 0.2, 0),
1753
- new C.Vector3(-0.2, -0.2, 0),
1754
- new C.Vector3(0.2, -0.2, 0),
1755
- new C.Vector3(0.2, 0.2, 0)
1752
+ new E.Vector3(-0.2, 0.2, 0),
1753
+ new E.Vector3(-0.2, -0.2, 0),
1754
+ new E.Vector3(0.2, -0.2, 0),
1755
+ new E.Vector3(0.2, 0.2, 0)
1756
1756
  ]
1757
1757
  }), t = document.createElement("div");
1758
1758
  return t.style.width = "100%", t.style.height = "100%", t.style.backgroundImage = `url(${K1})`, t.style.backgroundSize = "100%", t.style.backgroundRepeat = "no-repeat", n.container.appendChild(t), n;
1759
1759
  }
1760
- class ew extends C.Object3D {
1760
+ class ew extends E.Object3D {
1761
1761
  constructor(t) {
1762
1762
  super();
1763
1763
  v(this, "planeMesh");
@@ -1769,7 +1769,7 @@ class ew extends C.Object3D {
1769
1769
  updateWithIntersect(t) {
1770
1770
  if (!t.face)
1771
1771
  return;
1772
- const i = new C.Vector3().addVectors(t.point, t.face.normal);
1772
+ const i = new E.Vector3().addVectors(t.point, t.face.normal);
1773
1773
  this.position.copy(t.point), this.lookAt(i);
1774
1774
  }
1775
1775
  show() {
@@ -21284,7 +21284,7 @@ class Kw extends En {
21284
21284
  const Sc = (e, n) => {
21285
21285
  if (!n)
21286
21286
  return e;
21287
- const t = new C.Vector3(), i = new C.Quaternion(), r = new C.Vector3();
21287
+ const t = new E.Vector3(), i = new E.Quaternion(), r = new E.Vector3();
21288
21288
  return n.decompose(t, i, r), e.clone().multiply(r).applyQuaternion(i).add(t);
21289
21289
  }, qf = /* @__PURE__ */ new Map();
21290
21290
  class oT extends Kw {
@@ -21327,7 +21327,7 @@ class oT extends Kw {
21327
21327
  get transform() {
21328
21328
  var i, r, s, o;
21329
21329
  const t = (o = (i = this.work) == null ? void 0 : i.transform) != null ? o : (s = (r = this.work) == null ? void 0 : r.options) == null ? void 0 : s.transform;
21330
- return t ? t.clone() : new C.Matrix4();
21330
+ return t ? t.clone() : new E.Matrix4();
21331
21331
  }
21332
21332
  /**
21333
21333
  * @description 获取全景点坐标
@@ -21377,7 +21377,7 @@ class Td extends Kw {
21377
21377
  return this.five.moveToPano(r, i);
21378
21378
  }
21379
21379
  }
21380
- const ss = new C.Raycaster();
21380
+ const ss = new E.Raycaster();
21381
21381
  ss.params.Points.threshold = 0.02;
21382
21382
  function nd(e, n) {
21383
21383
  if (!n || typeof ResizeObserver == "undefined" || !ResizeObserver)
@@ -21393,7 +21393,7 @@ function nd(e, n) {
21393
21393
  };
21394
21394
  }
21395
21395
  }
21396
- const ny = "LightTagContainer_shgjakdhwakjdhsja", aT = new C.Vector2();
21396
+ const ny = "LightTagContainer_shgjakdhwakjdhsja", aT = new E.Vector2();
21397
21397
  class Gs {
21398
21398
  constructor(n, t, i) {
21399
21399
  v(this, "container");
@@ -21521,10 +21521,10 @@ function iy(e) {
21521
21521
  const t = e;
21522
21522
  t.dom && t.dom instanceof Gs && t.dom.destroy(), e.areaDom instanceof Gs && e.areaDom.destroy();
21523
21523
  }
21524
- function vg(e) {
21524
+ function vg(e, n) {
21525
21525
  if (!document.getElementById("LineLengthTagStyle")) {
21526
- const t = document.createElement("style");
21527
- t.id = "LineLengthTagStyle", document.head.appendChild(t), t.innerHTML = `
21526
+ const i = document.createElement("style");
21527
+ i.id = "LineLengthTagStyle", document.head.appendChild(i), i.innerHTML = `
21528
21528
  .LineLengthTag {
21529
21529
  position: absolute;
21530
21530
  pointer-events: none;
@@ -21547,7 +21547,7 @@ function vg(e) {
21547
21547
  `;
21548
21548
  }
21549
21549
  return `
21550
- <div class="LineLengthTag">
21550
+ <div class="LineLengthTag" style="${n.style}">
21551
21551
  <div>${e}</div>
21552
21552
  <div>${e}</div>
21553
21553
  </div>
@@ -21565,7 +21565,7 @@ class ry extends xC {
21565
21565
  var i, r;
21566
21566
  super(t);
21567
21567
  v(this, "_three_color");
21568
- At(t == null ? void 0 : t.color) && (this.three_color = (i = t == null ? void 0 : t.color) != null ? i : 16777215), Object.keys(t).forEach((s) => {
21568
+ bt(t == null ? void 0 : t.color) && (this.three_color = (i = t == null ? void 0 : t.color) != null ? i : 16777215), Object.keys(t).forEach((s) => {
21569
21569
  ["color", "dashed", "dashScale", "dashSize", "gapSize", "resolution"].includes(s) || s in this && (this[s] = t[s]);
21570
21570
  }), this.setDashed((r = t == null ? void 0 : t.dashed) != null ? r : !1);
21571
21571
  }
@@ -21601,14 +21601,14 @@ class Oi extends ti {
21601
21601
  v(this, "_visible", !0);
21602
21602
  this.paramsStyle = t != null ? t : {};
21603
21603
  const i = new Gl(), r = new ry({
21604
- color: new C.Color((o = t == null ? void 0 : t.lineColor) != null ? o : xv),
21604
+ color: new E.Color((o = t == null ? void 0 : t.lineColor) != null ? o : xv),
21605
21605
  linewidth: (a = t == null ? void 0 : t.lineWidth) != null ? a : AC,
21606
21606
  dashScale: 40,
21607
21607
  opacity: (l = t == null ? void 0 : t.opacity) != null ? l : 1,
21608
21608
  transparent: !0,
21609
21609
  dashed: (c = t == null ? void 0 : t.dashed) != null ? c : !1
21610
21610
  }), s = new ry({
21611
- color: new C.Color((h = t == null ? void 0 : t.lineColor) != null ? h : xv),
21611
+ color: new E.Color((h = t == null ? void 0 : t.lineColor) != null ? h : xv),
21612
21612
  linewidth: r.linewidth * 0.9,
21613
21613
  dashScale: r.dashScale,
21614
21614
  opacity: r.opacity * 0.7,
@@ -21648,7 +21648,7 @@ class Oi extends ti {
21648
21648
  }
21649
21649
  get color() {
21650
21650
  var t;
21651
- return new C.Color((t = this.line.material.three_color) != null ? t : this.paramsStyle.lineColor);
21651
+ return new E.Color((t = this.line.material.three_color) != null ? t : this.paramsStyle.lineColor);
21652
21652
  }
21653
21653
  get dashed() {
21654
21654
  var t;
@@ -21672,7 +21672,7 @@ class Oi extends ti {
21672
21672
  }
21673
21673
  }
21674
21674
  setPoints(t) {
21675
- const i = t.map(Ft).filter(At);
21675
+ const i = t.map(Ft).filter(bt);
21676
21676
  if (this.points = i, i.length < 2) {
21677
21677
  this.line.geometry = new Gl(), this.backLine.geometry = this.line.geometry, this.updateDomItems();
21678
21678
  return;
@@ -21689,7 +21689,7 @@ class Oi extends ti {
21689
21689
  }
21690
21690
  setStyle(t) {
21691
21691
  var s, o, a;
21692
- this.paramsStyle = R(R({}, this.paramsStyle), t), At(t.lineColor) && (this.line.material.three_color = new C.Color(t.lineColor), this.backLine.material.three_color = new C.Color(t.lineColor)), At(t.lineWidth) && (this.line.material.linewidth = t.lineWidth), At(t.dashed) && this.line.material.setDashed(t.dashed), At(t.opacity) && (this.line.material.opacity = t.opacity, this.backLine.material.opacity = this.line.material.opacity * 0.7), this.updateDomItems();
21692
+ this.paramsStyle = R(R({}, this.paramsStyle), t), bt(t.lineColor) && (this.line.material.three_color = new E.Color(t.lineColor), this.backLine.material.three_color = new E.Color(t.lineColor)), bt(t.lineWidth) && (this.line.material.linewidth = t.lineWidth), bt(t.dashed) && this.line.material.setDashed(t.dashed), bt(t.opacity) && (this.line.material.opacity = t.opacity, this.backLine.material.opacity = this.line.material.opacity * 0.7), this.updateDomItems();
21693
21693
  const i = (s = t.occlusionVisibility) != null ? s : this.paramsStyle.occlusionVisibility, r = (a = (o = t.occlusionMode) != null ? o : this.paramsStyle.occlusionMode) != null ? a : "translucence";
21694
21694
  i ? r === "depthTest" ? (this.line.material.depthTest = !1, this.backLine.visible = !1) : r === "translucence" && (this.line.material.depthTest = !0, this.backLine.visible = !0, this.line.material.opacity === 1 ? this.backLine.material.setDashed(!0) : this.backLine.material.setDashed(this.line.material.dashed)) : (this.line.material.depthTest = !0, this.backLine.visible = !1), this.needsRender = !0;
21695
21695
  }
@@ -21710,7 +21710,7 @@ class Oi extends ti {
21710
21710
  const i = this.points.map((r, s) => {
21711
21711
  if (s !== 0)
21712
21712
  return [this.points[s - 1], r];
21713
- }).filter(At).map((r) => Tc(this, r));
21713
+ }).filter(bt).map((r) => Tc(this, r));
21714
21714
  i.forEach(([r, s], o) => {
21715
21715
  var c;
21716
21716
  const a = lr(r, s);
@@ -21719,7 +21719,10 @@ class Oi extends ti {
21719
21719
  return h.intersectCheck = !1, h.simulate3D = !0, h;
21720
21720
  })(), this.doms[o].setPosition(a, [r, s]);
21721
21721
  const l = (h) => {
21722
- this.doms[o].__text !== h && (this.doms[o].__text = h, h ? this.doms[o].container.innerHTML = vg(h) : this.doms[o].container.innerHTML = "");
21722
+ var u;
21723
+ this.doms[o].__text !== h && (this.doms[o].__text = h, h ? this.doms[o].container.innerHTML = vg(h, {
21724
+ style: `color: #${bt((u = this.style) == null ? void 0 : u.lineColor) ? new E.Color(this.style.lineColor).getHexString() : "ffffff"}`
21725
+ }) : this.doms[o].container.innerHTML = "");
21723
21726
  };
21724
21727
  if (this.paramsStyle.tip)
21725
21728
  l(this.paramsStyle.tip);
@@ -21778,7 +21781,7 @@ void main() {
21778
21781
  `
21779
21782
  );
21780
21783
  function dT() {
21781
- const n = new C.CircleGeometry(0.2, 64), t = new C.ShaderMaterial({
21784
+ const n = new E.CircleGeometry(0.2, 64), t = new E.ShaderMaterial({
21782
21785
  uniforms: {
21783
21786
  borderWidth: { value: 0.01 },
21784
21787
  radius: { value: 0.2 }
@@ -21787,16 +21790,16 @@ function dT() {
21787
21790
  fragmentShader: uT,
21788
21791
  depthTest: !1,
21789
21792
  transparent: !0,
21790
- blending: C.CustomBlending,
21791
- blendEquation: C.AddEquation,
21792
- blendSrc: C.DstColorFactor,
21793
- blendDst: C.SrcAlphaFactor,
21794
- blendDstAlpha: C.DstAlphaFactor
21793
+ blending: E.CustomBlending,
21794
+ blendEquation: E.AddEquation,
21795
+ blendSrc: E.DstColorFactor,
21796
+ blendDst: E.SrcAlphaFactor,
21797
+ blendDstAlpha: E.DstAlphaFactor
21795
21798
  });
21796
- return new C.Mesh(n, t);
21799
+ return new E.Mesh(n, t);
21797
21800
  }
21798
21801
  function fT() {
21799
- const n = new C.Group(), t = {
21802
+ const n = new E.Group(), t = {
21800
21803
  lineWidth: 1,
21801
21804
  lineColor: 3407837,
21802
21805
  opacity: 0.7,
@@ -21805,33 +21808,33 @@ function fT() {
21805
21808
  return n.add(i, r), n;
21806
21809
  }
21807
21810
  function pT(e) {
21808
- const n = new C.CurvePath();
21809
- n.add(new C.LineCurve3(new C.Vector3(0, 0, 0), new C.Vector3(0, 0, e)));
21810
- const t = new C.TubeGeometry(n, 32, 3e-3), i = new C.MeshBasicMaterial({
21811
+ const n = new E.CurvePath();
21812
+ n.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, e)));
21813
+ const t = new E.TubeGeometry(n, 32, 3e-3), i = new E.MeshBasicMaterial({
21811
21814
  color: 10994687,
21812
21815
  depthTest: !1,
21813
21816
  transparent: !0
21814
21817
  // 必须要开启透明度,要和PlaneMesh一起渲染
21815
21818
  });
21816
- return new C.Mesh(t, i);
21819
+ return new E.Mesh(t, i);
21817
21820
  }
21818
21821
  function mT() {
21819
- const e = new C.RingGeometry(0.03, 0.035, 64), n = new C.MeshBasicMaterial({
21822
+ const e = new E.RingGeometry(0.03, 0.035, 64), n = new E.MeshBasicMaterial({
21820
21823
  color: 16777215,
21821
21824
  depthTest: !1,
21822
21825
  transparent: !0
21823
21826
  // 必须要开启透明度,要和PlaneMesh一起渲染
21824
21827
  });
21825
- return new C.Mesh(e, n);
21828
+ return new E.Mesh(e, n);
21826
21829
  }
21827
21830
  function gT() {
21828
- const e = new C.SphereGeometry(0.018, 32, 32), n = new C.MeshBasicMaterial({
21831
+ const e = new E.SphereGeometry(0.018, 32, 32), n = new E.MeshBasicMaterial({
21829
21832
  color: 5085183,
21830
21833
  depthTest: !1,
21831
21834
  transparent: !0
21832
21835
  // 必须要开启透明度,要和PlaneMesh一起渲染
21833
21836
  });
21834
- return new C.Mesh(e, n);
21837
+ return new E.Mesh(e, n);
21835
21838
  }
21836
21839
  function vT() {
21837
21840
  const e = document.createElement("img");
@@ -21839,7 +21842,7 @@ function vT() {
21839
21842
  const n = new cT(e);
21840
21843
  return e.style.pointerEvents = "none", n.scale.set(3e-3, 3e-3, 3e-3), n;
21841
21844
  }
21842
- class yT extends C.Object3D {
21845
+ class yT extends E.Object3D {
21843
21846
  constructor(t) {
21844
21847
  super();
21845
21848
  v(this, "planeMesh");
@@ -21856,8 +21859,8 @@ class yT extends C.Object3D {
21856
21859
  return;
21857
21860
  const i = (() => {
21858
21861
  const s = t.face.normal.clone().normalize();
21859
- return s.y > 0.99 ? new C.Vector3(0, 1, 0) : s.y < -0.99 ? new C.Vector3(0, -1, 0) : s.x > 0.99 ? new C.Vector3(1, 0, 0) : s.x < -0.99 ? new C.Vector3(-1, 0, 0) : s.z > 0.99 ? new C.Vector3(0, 0, 1) : s.z < -0.99 ? new C.Vector3(0, 0, -1) : s.y < 0.01 && s.y > -0.01 ? new C.Vector3(s.x, 0, s.z) : s;
21860
- })(), r = new C.Vector3().addVectors(t.point, i);
21862
+ return s.y > 0.99 ? new E.Vector3(0, 1, 0) : s.y < -0.99 ? new E.Vector3(0, -1, 0) : s.x > 0.99 ? new E.Vector3(1, 0, 0) : s.x < -0.99 ? new E.Vector3(-1, 0, 0) : s.z > 0.99 ? new E.Vector3(0, 0, 1) : s.z < -0.99 ? new E.Vector3(0, 0, -1) : s.y < 0.01 && s.y > -0.01 ? new E.Vector3(s.x, 0, s.z) : s;
21863
+ })(), r = new E.Vector3().addVectors(t.point, i);
21861
21864
  this.position.copy(t.point), this.lookAt(r);
21862
21865
  }
21863
21866
  show() {
@@ -21877,7 +21880,7 @@ class $w {
21877
21880
  v(this, "magnifier", null);
21878
21881
  v(this, "pointHelper", null);
21879
21882
  v(this, "state", { enabled: !1, visible: !0 });
21880
- v(this, "group", new C.Group());
21883
+ v(this, "group", new E.Group());
21881
21884
  v(this, "show", () => {
21882
21885
  var n, t;
21883
21886
  this.state.visible || (this.state.visible = !0, (n = this.pointHelper) == null || n.show(), (t = this.magnifier) == null || t.enable(), this.five.needsRender = !0);
@@ -21916,7 +21919,7 @@ class $w {
21916
21919
  this.hooks.off(), this.disable(), this.magnifier = null, this.pointHelper = null;
21917
21920
  }
21918
21921
  }
21919
- class ex extends C.Object3D {
21922
+ class ex extends E.Object3D {
21920
21923
  constructor() {
21921
21924
  super(...arguments);
21922
21925
  v(this, "children", []);
@@ -21936,8 +21939,8 @@ class tx extends mE {
21936
21939
  super(n, t);
21937
21940
  }
21938
21941
  }
21939
- const Kf = new C.Vector3();
21940
- class bT extends C.Sphere {
21942
+ const Kf = new E.Vector3();
21943
+ class bT extends E.Sphere {
21941
21944
  expandByPoint(n) {
21942
21945
  if (this.isEmpty())
21943
21946
  return this.center.copy(n), this.radius = 0, this;
@@ -21953,35 +21956,35 @@ class bT extends C.Sphere {
21953
21956
  function AT(e) {
21954
21957
  const { max: n, min: t } = e;
21955
21958
  return [
21956
- new C.Vector3(n.x, n.y, n.z),
21957
- new C.Vector3(t.x, n.y, n.z),
21958
- new C.Vector3(t.x, t.y, n.z),
21959
- new C.Vector3(n.x, t.y, n.z),
21960
- new C.Vector3(n.x, n.y, t.z),
21961
- new C.Vector3(t.x, n.y, t.z),
21962
- new C.Vector3(t.x, t.y, t.z),
21963
- new C.Vector3(n.x, t.y, t.z)
21959
+ new E.Vector3(n.x, n.y, n.z),
21960
+ new E.Vector3(t.x, n.y, n.z),
21961
+ new E.Vector3(t.x, t.y, n.z),
21962
+ new E.Vector3(n.x, t.y, n.z),
21963
+ new E.Vector3(n.x, n.y, t.z),
21964
+ new E.Vector3(t.x, n.y, t.z),
21965
+ new E.Vector3(t.x, t.y, t.z),
21966
+ new E.Vector3(n.x, t.y, t.z)
21964
21967
  ];
21965
21968
  }
21966
21969
  function Er(e, n) {
21967
21970
  const { max: t, min: i } = e;
21968
21971
  switch (n) {
21969
21972
  case 0:
21970
- return new C.Vector3(t.x, t.y, t.z);
21973
+ return new E.Vector3(t.x, t.y, t.z);
21971
21974
  case 1:
21972
- return new C.Vector3(i.x, t.y, t.z);
21975
+ return new E.Vector3(i.x, t.y, t.z);
21973
21976
  case 2:
21974
- return new C.Vector3(i.x, i.y, t.z);
21977
+ return new E.Vector3(i.x, i.y, t.z);
21975
21978
  case 3:
21976
- return new C.Vector3(t.x, i.y, t.z);
21979
+ return new E.Vector3(t.x, i.y, t.z);
21977
21980
  case 4:
21978
- return new C.Vector3(t.x, t.y, i.z);
21981
+ return new E.Vector3(t.x, t.y, i.z);
21979
21982
  case 5:
21980
- return new C.Vector3(i.x, t.y, i.z);
21983
+ return new E.Vector3(i.x, t.y, i.z);
21981
21984
  case 6:
21982
- return new C.Vector3(i.x, i.y, i.z);
21985
+ return new E.Vector3(i.x, i.y, i.z);
21983
21986
  case 7:
21984
- return new C.Vector3(t.x, i.y, i.z);
21987
+ return new E.Vector3(t.x, i.y, i.z);
21985
21988
  }
21986
21989
  }
21987
21990
  function Wa(e) {
@@ -21997,7 +22000,7 @@ function ix(e) {
21997
22000
  return Ld(e, "sphere");
21998
22001
  }
21999
22002
  function Ld(e, n) {
22000
- const t = n === "box3" ? new C.Box3() : new bT(), i = new C.Vector3();
22003
+ const t = n === "box3" ? new E.Box3() : new bT(), i = new E.Vector3();
22001
22004
  if (e.updateWorldMatrix(!1, !1), e.traverse((r) => {
22002
22005
  var o;
22003
22006
  if (r.name === "shadow" || r.type === "Line2")
@@ -22037,7 +22040,7 @@ function MT(e) {
22037
22040
  display: t.style.display,
22038
22041
  visibility: t.style.visibility
22039
22042
  }
22040
- }) : t.isObject3D && (t.material ? t.material instanceof C.ShaderMaterial ? _i.set(t, {
22043
+ }) : t.isObject3D && (t.material ? t.material instanceof E.ShaderMaterial ? _i.set(t, {
22041
22044
  opacity: (i = t.material.uniforms.opacity) == null ? void 0 : i.value,
22042
22045
  transparent: t.material.transparent,
22043
22046
  visible: t.visible
@@ -22053,7 +22056,7 @@ function MT(e) {
22053
22056
  function oy(e) {
22054
22057
  zr(e).forEach((t) => {
22055
22058
  const i = _i.get(t);
22056
- i && (t instanceof HTMLElement && (t.style.opacity = i.opacity === void 0 ? "" : i.opacity, t.style.display = i.visible.display, t.style.visibility = i.visible.visibility), t.isObject3D && (t.visible = i.visible, t.material && (t.material instanceof C.ShaderMaterial ? (t.material.uniforms.opacity && (t.material.uniforms.opacity.value = i.opacity), t.material.transparent = i.transparent) : (t.material.opacity = i.opacity, t.material.transparent = i.transparent))), _i.delete(t));
22059
+ i && (t instanceof HTMLElement && (t.style.opacity = i.opacity === void 0 ? "" : i.opacity, t.style.display = i.visible.display, t.style.visibility = i.visible.visibility), t.isObject3D && (t.visible = i.visible, t.material && (t.material instanceof E.ShaderMaterial ? (t.material.uniforms.opacity && (t.material.uniforms.opacity.value = i.opacity), t.material.transparent = i.transparent) : (t.material.opacity = i.opacity, t.material.transparent = i.transparent))), _i.delete(t));
22057
22060
  });
22058
22061
  }
22059
22062
  function kd(e, n) {
@@ -22081,7 +22084,7 @@ function kd(e, n) {
22081
22084
  if (!_i.has(u))
22082
22085
  return;
22083
22086
  const f = Number((m = _i.get(u).opacity) != null ? m : 1) * (100 - l.progress) / 100;
22084
- u instanceof HTMLElement ? u.style.opacity = String(f) : u.material && (u.material instanceof C.ShaderMaterial ? (u.material.uniforms.opacity && (u.material.uniforms.opacity.value = f), u.material.transparent = !0) : (u.material.opacity = f, u.material.transparent = !0));
22087
+ u instanceof HTMLElement ? u.style.opacity = String(f) : u.material && (u.material instanceof E.ShaderMaterial ? (u.material.uniforms.opacity && (u.material.uniforms.opacity.value = f), u.material.transparent = !0) : (u.material.opacity = f, u.material.transparent = !0));
22085
22088
  }), (c = n == null ? void 0 : n.updateRender) == null || c.call(n);
22086
22089
  }
22087
22090
  }, n));
@@ -22108,7 +22111,7 @@ function rx(e, n) {
22108
22111
  if (!_i.has(s))
22109
22112
  return;
22110
22113
  const o = _i.get(s), l = (Number(o == null ? void 0 : o.opacity) || Number(n == null ? void 0 : n.maxOpacity) || 1) * (t.progress / 100);
22111
- s instanceof HTMLElement ? (s.style.opacity = String(l), s.style.visibility = "visible") : s.isObject3D && (zr(e).includes(s) && (s.visible = !0), s.material && (s.material instanceof C.ShaderMaterial ? (s.material.uniforms.opacity && (s.material.uniforms.opacity.value = l), s.material.transparent = !0) : (s.material.opacity = l, s.material.transparent = !0)));
22114
+ s instanceof HTMLElement ? (s.style.opacity = String(l), s.style.visibility = "visible") : s.isObject3D && (zr(e).includes(s) && (s.visible = !0), s.material && (s.material instanceof E.ShaderMaterial ? (s.material.uniforms.opacity && (s.material.uniforms.opacity.value = l), s.material.transparent = !0) : (s.material.opacity = l, s.material.transparent = !0)));
22112
22115
  }), (i = n == null ? void 0 : n.updateRender) == null || i.call(n);
22113
22116
  }
22114
22117
  }, n));
@@ -22124,9 +22127,9 @@ function Uc(e) {
22124
22127
  };
22125
22128
  }
22126
22129
  function kr(e) {
22127
- return !At(e);
22130
+ return !bt(e);
22128
22131
  }
22129
- function At(e) {
22132
+ function bt(e) {
22130
22133
  return e != null;
22131
22134
  }
22132
22135
  function CT(e, n, t) {
@@ -22137,20 +22140,20 @@ function CT(e, n, t) {
22137
22140
  const i = ix(n);
22138
22141
  if (!i)
22139
22142
  return;
22140
- const r = new Td(e), s = (b = t == null ? void 0 : t.scale) != null ? b : 1.4, o = i.center, a = e.camera.position.clone().sub(o).setY(0).normalize(), l = e.state.mode === "Mapview" ? e.state.fov : 60, h = Math.max(1.5, i.radius * s), u = h * (1 / Math.tan(C.MathUtils.degToRad(l / 2)));
22143
+ const r = new Td(e), s = (b = t == null ? void 0 : t.scale) != null ? b : 1.4, o = i.center, a = e.camera.position.clone().sub(o).setY(0).normalize(), l = e.state.mode === "Mapview" ? e.state.fov : 60, h = Math.max(1.5, i.radius * s), u = h * (1 / Math.tan(E.MathUtils.degToRad(l / 2)));
22141
22144
  let d = 0;
22142
22145
  const f = [], m = (x) => {
22143
- const M = C.MathUtils.degToRad(x);
22144
- return a.clone().applyAxisAngle(new C.Vector3(0, 1, 0), M).clone().multiplyScalar(u).add(new C.Vector3(0, h, 0)).add(o);
22146
+ const M = E.MathUtils.degToRad(x);
22147
+ return a.clone().applyAxisAngle(new E.Vector3(0, 1, 0), M).clone().multiplyScalar(u).add(new E.Vector3(0, h, 0)).add(o);
22145
22148
  };
22146
22149
  for (; d !== 360; ) {
22147
22150
  let x = 0;
22148
22151
  const M = m(d), P = (z) => {
22149
- const D = z.distanceTo(M), k = new C.Raycaster(z, M.clone().sub(z).normalize()), O = r.model.intersectRaycaster(k, void 0, !0)[0], G = O == null ? void 0 : O.distance;
22150
- At(G) ? G > D && (x += 1) : x += 1;
22151
- }, I = i.clampPoint(M, new C.Vector3());
22152
+ const D = z.distanceTo(M), k = new E.Raycaster(z, M.clone().sub(z).normalize()), O = r.model.intersectRaycaster(k, void 0, !0)[0], G = O == null ? void 0 : O.distance;
22153
+ bt(G) ? G > D && (x += 1) : x += 1;
22154
+ }, I = i.clampPoint(M, new E.Vector3());
22152
22155
  P(I);
22153
- const T = new C.Vector3(o.x, M.y, o.z);
22156
+ const T = new E.Vector3(o.x, M.y, o.z);
22154
22157
  if (P(T), f[x] = d, x === 2)
22155
22158
  break;
22156
22159
  d += 30;
@@ -22176,18 +22179,18 @@ function sx(e, n, t) {
22176
22179
  var p, g;
22177
22180
  if (!n)
22178
22181
  return;
22179
- const i = (p = t == null ? void 0 : t.distance) != null ? p : 3, r = new Td(e), s = e.camera.position.clone().sub(n).setY(0).normalize(), o = e.state.mode === "Mapview" ? e.state.fov : 60, a = i, l = a * Math.cos(C.MathUtils.degToRad(o / 2)), c = a * Math.sin(C.MathUtils.degToRad(o / 2));
22182
+ const i = (p = t == null ? void 0 : t.distance) != null ? p : 3, r = new Td(e), s = e.camera.position.clone().sub(n).setY(0).normalize(), o = e.state.mode === "Mapview" ? e.state.fov : 60, a = i, l = a * Math.cos(E.MathUtils.degToRad(o / 2)), c = a * Math.sin(E.MathUtils.degToRad(o / 2));
22180
22183
  let h = 0;
22181
22184
  const u = [], d = (y) => {
22182
- const b = C.MathUtils.degToRad(y);
22183
- return s.clone().applyAxisAngle(new C.Vector3(0, 1, 0), b).clone().multiplyScalar(l).add(new C.Vector3(0, c, 0)).add(n);
22185
+ const b = E.MathUtils.degToRad(y);
22186
+ return s.clone().applyAxisAngle(new E.Vector3(0, 1, 0), b).clone().multiplyScalar(l).add(new E.Vector3(0, c, 0)).add(n);
22184
22187
  };
22185
22188
  for (; h !== 360; ) {
22186
22189
  let y = 0;
22187
22190
  const b = d(h);
22188
22191
  if (((w) => {
22189
- const x = w.distanceTo(b), M = new C.Raycaster(w, b.clone().sub(w).normalize()), P = r.model.intersectRaycaster(M, void 0, !0)[0], I = P == null ? void 0 : P.distance;
22190
- At(I) ? I > x && (y += 1) : y += 1;
22192
+ const x = w.distanceTo(b), M = new E.Raycaster(w, b.clone().sub(w).normalize()), P = r.model.intersectRaycaster(M, void 0, !0)[0], I = P == null ? void 0 : P.distance;
22193
+ bt(I) ? I > x && (y += 1) : y += 1;
22191
22194
  })(n), u[y] = h, y === 1)
22192
22195
  break;
22193
22196
  h += 30;
@@ -22356,7 +22359,7 @@ const L6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
22356
22359
  lookObject: CT,
22357
22360
  lookPoint: sx,
22358
22361
  nextFrame: Wc,
22359
- notNil: At,
22362
+ notNil: bt,
22360
22363
  pointInPolygon: Av,
22361
22364
  reblink: rx,
22362
22365
  requestAnimationFrameInterval: Qa,
@@ -22479,7 +22482,7 @@ function Ia(e) {
22479
22482
  });
22480
22483
  }), n;
22481
22484
  }
22482
- class BT extends C.Scene {
22485
+ class BT extends E.Scene {
22483
22486
  constructor() {
22484
22487
  super();
22485
22488
  }
@@ -22489,7 +22492,7 @@ class BT extends C.Scene {
22489
22492
  }), this;
22490
22493
  }
22491
22494
  }
22492
- class NT extends C.Scene {
22495
+ class NT extends E.Scene {
22493
22496
  constructor(t) {
22494
22497
  super();
22495
22498
  v(this, "scene");
@@ -22509,7 +22512,7 @@ class NT extends C.Scene {
22509
22512
  }), super.remove(...t), this;
22510
22513
  }
22511
22514
  }
22512
- class cx extends C.Group {
22515
+ class cx extends E.Group {
22513
22516
  constructor(t) {
22514
22517
  super();
22515
22518
  v(this, "isCSS3DGroup", !0);
@@ -27800,7 +27803,7 @@ function Og(e, n, t = Hs.BOUNDING_CENTER) {
27800
27803
  return t === Hs.BOUNDING_CENTER ? (e.model.bounding.max.y + e.model.bounding.min.y) / 2 : t === Hs.CEILING ? r : i;
27801
27804
  }
27802
27805
  function zg(e, n, t, i) {
27803
- const r = Og(e, t, i == null ? void 0 : i.attachedTo), s = new C.Vector3(0, r, 0), o = new C.Vector3(1, r, 0), a = s.clone().project(e.camera), l = o.clone().project(e.camera);
27806
+ const r = Og(e, t, i == null ? void 0 : i.attachedTo), s = new E.Vector3(0, r, 0), o = new E.Vector3(1, r, 0), a = s.clone().project(e.camera), l = o.clone().project(e.camera);
27804
27807
  return Math.abs((l.x - a.x) / 1e3) * (n.getBoundingClientRect().width / 2);
27805
27808
  }
27806
27809
  let ws = class {
@@ -27808,7 +27811,7 @@ let ws = class {
27808
27811
  /**
27809
27812
  * @realsee/dnalogel 版本号
27810
27813
  */
27811
- v(this, "VERSION", "3.50.4");
27814
+ v(this, "VERSION", "3.50.6");
27812
27815
  v(this, "NAME");
27813
27816
  v(this, "five");
27814
27817
  v(this, "workUtil");
@@ -28422,7 +28425,7 @@ let Ck = class extends Br {
28422
28425
  });
28423
28426
  /** modelLoaded 之后自动执行 append container 操作 */
28424
28427
  v(this, "onFiveModelLoaded", () => {
28425
- const i = this.five.model.bounding.getCenter(new C.Vector3());
28428
+ const i = this.five.model.bounding.getCenter(new E.Vector3());
28426
28429
  if (this.showState.offset = i, this.state.enabled === !1 || this.wrapper || !this.selector)
28427
28430
  return;
28428
28431
  const r = this.selector instanceof Element ? this.selector : document.querySelector(this.selector);
@@ -28556,7 +28559,7 @@ let Ck = class extends Br {
28556
28559
  /** 更新户型图位置 */
28557
28560
  updatePosition() {
28558
28561
  var a;
28559
- const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.fiveUtil.model) == null ? void 0 : a.bounding.getCenter(new C.Vector3()).setY(t);
28562
+ const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.fiveUtil.model) == null ? void 0 : a.bounding.getCenter(new E.Vector3()).setY(t);
28560
28563
  if (!i)
28561
28564
  return;
28562
28565
  const r = i.clone().project(this.five.camera), s = (r.x + 1) / 2, o = -(r.y - 1) / 2;
@@ -28755,7 +28758,7 @@ let Pk = class extends Br {
28755
28758
  /** 更新户型图位置 */
28756
28759
  updatePosition() {
28757
28760
  var a;
28758
- const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.five.model) == null ? void 0 : a.bounding.getCenter(new C.Vector3()).setY(t);
28761
+ const t = Og(this.five, this.floorIndex, this.state.config.attachedTo), i = (a = this.five.model) == null ? void 0 : a.bounding.getCenter(new E.Vector3()).setY(t);
28759
28762
  if (!i)
28760
28763
  return;
28761
28764
  const r = i.clone().project(this.five.camera), s = (r.x + 1) / 2, o = -(r.y - 1) / 2;
@@ -29903,7 +29906,7 @@ const Z6 = (e, n) => new Qk(e, n), J6 = [
29903
29906
  { roomType: "100900000015", description: "商铺" },
29904
29907
  { roomType: "100900000016", description: "写字楼" }
29905
29908
  ], rp = (e, n, t) => {
29906
- const i = new C.Matrix4(), r = new C.Euler(e, n, t, "YXZ");
29909
+ const i = new E.Matrix4(), r = new E.Euler(e, n, t, "YXZ");
29907
29910
  return i.makeRotationFromEuler(r), i;
29908
29911
  }, Yk = (e, {
29909
29912
  scale: n,
@@ -29938,8 +29941,8 @@ const $6 = (e, n) => {
29938
29941
  const A = yield new X1().loadAsync(y);
29939
29942
  return zx(A, {
29940
29943
  transparent: !0,
29941
- side: C.DoubleSide,
29942
- blending: C.AdditiveBlending
29944
+ side: E.DoubleSide,
29945
+ blending: E.AdditiveBlending
29943
29946
  }), r.object = A, m(), !0;
29944
29947
  }), h = ({ latitude: g }) => {
29945
29948
  if (!r.object)
@@ -29992,7 +29995,7 @@ const Zk = ({ x: e, y: n, z: t }) => new Se(e, n, t), eG = (e, n) => {
29992
29995
  if (t.rad = x, x === void 0)
29993
29996
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${x}`));
29994
29997
  const P = yield new X1().loadAsync(M);
29995
- P.position.copy(w), P.rotation.z = x, P.scale.set(0.8, 0.8, 0.8), zx(P, { transparent: !0, side: C.DoubleSide });
29998
+ P.position.copy(w), P.rotation.z = x, P.scale.set(0.8, 0.8, 0.8), zx(P, { transparent: !0, side: E.DoubleSide });
29996
29999
  const I = (U = (S = (G = (O = P.children) == null ? void 0 : O[0]) == null ? void 0 : G.children) == null ? void 0 : S[3]) == null ? void 0 : U.clone();
29997
30000
  if (!I)
29998
30001
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${I}`));
@@ -30966,12 +30969,12 @@ function g5() {
30966
30969
  }
30967
30970
  };
30968
30971
  }
30969
- const v5 = new C.TextureLoader();
30972
+ const v5 = new E.TextureLoader();
30970
30973
  function Ws(e) {
30971
30974
  return ee(this, null, function* () {
30972
30975
  return new Promise((n, t) => {
30973
30976
  v5.load(e, n, void 0, t);
30974
- }).then((n) => (n.encoding = C.sRGBEncoding, n.minFilter = C.NearestFilter, n.magFilter = C.NearestFilter, n));
30977
+ }).then((n) => (n.encoding = E.sRGBEncoding, n.minFilter = E.NearestFilter, n.magFilter = E.NearestFilter, n));
30975
30978
  });
30976
30979
  }
30977
30980
  function Vx(e) {
@@ -31001,7 +31004,7 @@ class y5 extends Br {
31001
31004
  }
31002
31005
  });
31003
31006
  v(this, "data");
31004
- v(this, "group", new C.Group());
31007
+ v(this, "group", new E.Group());
31005
31008
  v(this, "roomInfoInstance");
31006
31009
  v(this, "roomInfoWrapperInstance");
31007
31010
  v(this, "compassMeshTween");
@@ -31073,12 +31076,12 @@ class y5 extends Br {
31073
31076
  var f;
31074
31077
  (f = this.logoMesh) == null || f.material.setValues({ opacity: d }), this.five.needsRender = !0;
31075
31078
  }).play())), this.entryDoorMesh) {
31076
- const f = new C.Vector3(
31079
+ const f = new E.Vector3(
31077
31080
  this.data.entrance.position.x,
31078
31081
  this.data.entrance.position.y,
31079
31082
  this.data.entrance.position.z
31080
31083
  ).clone().setY(i.y).sub(i).normalize(), m = i.clone().add(f.clone().multiplyScalar(0.7)).setY(i.y + 0.01);
31081
- this.entryDoorMesh.rotation.z = new C.Vector3(0, 0, -1).angleTo(f), this.entryDoorMesh.position.copy(m), ((c = this.data) == null ? void 0 : c.room_observers[t].room.type) === 1 ? (h = this.entryDoorMesh) == null || h.material.setValues({ opacity: 1 }) : (u = this.entryDoorMesh) == null || u.material.setValues({ opacity: 0 });
31084
+ this.entryDoorMesh.rotation.z = new E.Vector3(0, 0, -1).angleTo(f), this.entryDoorMesh.position.copy(m), ((c = this.data) == null ? void 0 : c.room_observers[t].room.type) === 1 ? (h = this.entryDoorMesh) == null || h.material.setValues({ opacity: 1 }) : (u = this.entryDoorMesh) == null || u.material.setValues({ opacity: 0 });
31082
31085
  }
31083
31086
  this.roomInfoInstance && this.roomInfoWrapperInstance && i && (this.roomInfoWrapperInstance.css3DObject.position.copy(i.clone().setY(i.y + 0.01)), this.roomInfoInstance.setRoom(this.data.room_observers[t].room)), this.five.needsRender = !0;
31084
31087
  });
@@ -31192,12 +31195,12 @@ class y5 extends Br {
31192
31195
  }
31193
31196
  loadCompassMesh() {
31194
31197
  return ee(this, null, function* () {
31195
- const t = this.state.config.compassImageUrl, i = yield Ws(t), r = new C.CircleGeometry(0.7, 32), s = new C.MeshBasicMaterial({
31198
+ const t = this.state.config.compassImageUrl, i = yield Ws(t), r = new E.CircleGeometry(0.7, 32), s = new E.MeshBasicMaterial({
31196
31199
  map: i,
31197
31200
  transparent: !0,
31198
31201
  opacity: 0,
31199
31202
  depthTest: !1
31200
- }), o = new C.Mesh(r, s);
31203
+ }), o = new E.Mesh(r, s);
31201
31204
  return o.name = "pano-compass-mesh", o;
31202
31205
  });
31203
31206
  }
@@ -31206,33 +31209,33 @@ class y5 extends Br {
31206
31209
  if (!this.state.config.logoURL)
31207
31210
  return;
31208
31211
  const t = this.state.config.logoURL, i = yield Ws(t);
31209
- i.minFilter = C.NearestFilter, i.magFilter = C.NearestFilter;
31210
- const r = new C.PlaneBufferGeometry(0.4, 0.4), s = new C.MeshBasicMaterial({
31212
+ i.minFilter = E.NearestFilter, i.magFilter = E.NearestFilter;
31213
+ const r = new E.PlaneBufferGeometry(0.4, 0.4), s = new E.MeshBasicMaterial({
31211
31214
  map: i,
31212
31215
  opacity: 0,
31213
31216
  transparent: !0,
31214
31217
  depthTest: !1
31215
- }), o = new C.Mesh(r, s);
31218
+ }), o = new E.Mesh(r, s);
31216
31219
  return o.name = "pano-compass-logo-mesh", o;
31217
31220
  });
31218
31221
  }
31219
31222
  loadEntryDoorMesh() {
31220
31223
  return ee(this, null, function* () {
31221
- const t = this.state.config.entryDoorImageUrl, i = yield Ws(t), r = new C.PlaneGeometry(0.2, 0.16), s = new C.MeshBasicMaterial({
31224
+ const t = this.state.config.entryDoorImageUrl, i = yield Ws(t), r = new E.PlaneGeometry(0.2, 0.16), s = new E.MeshBasicMaterial({
31222
31225
  map: i,
31223
31226
  transparent: !0,
31224
31227
  opacity: 0.8,
31225
31228
  depthTest: !1
31226
- }), o = new C.Mesh(r, s);
31229
+ }), o = new E.Mesh(r, s);
31227
31230
  return o.name = "pano-compass-entry-door", o;
31228
31231
  });
31229
31232
  }
31230
31233
  loadRoomInfo() {
31231
31234
  const t = [
31232
- new C.Vector3(-0.7, 0, -0.7),
31233
- new C.Vector3(0.7, 0, -0.7),
31234
- new C.Vector3(0.7, 0, 0.7),
31235
- new C.Vector3(-0.7, 0, 0.7)
31235
+ new E.Vector3(-0.7, 0, -0.7),
31236
+ new E.Vector3(0.7, 0, -0.7),
31237
+ new E.Vector3(0.7, 0, 0.7),
31238
+ new E.Vector3(-0.7, 0, 0.7)
31236
31239
  ];
31237
31240
  return Od(this.five).create3DDomContainer(t);
31238
31241
  }
@@ -31654,7 +31657,7 @@ function Qc(e, n) {
31654
31657
  function R5(e) {
31655
31658
  if (e.length < 3)
31656
31659
  return [];
31657
- const n = Qc([e[0].clone(), e[1].clone(), e[2].clone()]), t = new C.Quaternion().setFromUnitVectors(new C.Vector3(0, 1, 0), n), r = e.map((o) => o.clone().applyQuaternion(t)).flatMap((o) => [o.x, o.z]);
31660
+ const n = Qc([e[0].clone(), e[1].clone(), e[2].clone()]), t = new E.Quaternion().setFromUnitVectors(new E.Vector3(0, 1, 0), n), r = e.map((o) => o.clone().applyQuaternion(t)).flatMap((o) => [o.x, o.z]);
31658
31661
  return LE(r);
31659
31662
  }
31660
31663
  function Rm(e, n) {
@@ -31715,31 +31718,31 @@ function Wx(e, n) {
31715
31718
  if (Rm(a[l], a.slice(l)))
31716
31719
  return;
31717
31720
  }
31718
- const i = t.flatMap((a) => [a.x, a.y, a.z]), r = new C.Float32BufferAttribute(i, 3), s = R5(t), o = new C.BufferGeometry();
31721
+ const i = t.flatMap((a) => [a.x, a.y, a.z]), r = new E.Float32BufferAttribute(i, 3), s = R5(t), o = new E.BufferGeometry();
31719
31722
  return o.setAttribute("position", r), o.setIndex(s), o.name = "PolygonGeometry", o;
31720
31723
  }
31721
- const V5 = new C.BufferGeometry();
31724
+ const V5 = new E.BufferGeometry();
31722
31725
  let Qx = class extends ti {
31723
31726
  constructor(t) {
31724
31727
  super();
31725
31728
  v(this, "isPolygonMesh", !0);
31726
- v(this, "geometry", new C.BufferGeometry());
31729
+ v(this, "geometry", new E.BufferGeometry());
31727
31730
  v(this, "isBlank", !0);
31728
31731
  v(this, "points", []);
31729
- const i = new C.MeshBasicMaterial({
31732
+ const i = new E.MeshBasicMaterial({
31730
31733
  color: 4090367,
31731
31734
  transparent: !0,
31732
- side: C.DoubleSide,
31735
+ side: E.DoubleSide,
31733
31736
  depthTest: !0,
31734
31737
  opacity: 0.5
31735
- }), r = new C.MeshBasicMaterial({
31738
+ }), r = new E.MeshBasicMaterial({
31736
31739
  color: 16777215,
31737
31740
  transparent: !0,
31738
- side: C.DoubleSide,
31741
+ side: E.DoubleSide,
31739
31742
  depthTest: !1,
31740
31743
  depthWrite: !1,
31741
31744
  opacity: 0.3
31742
- }), s = new C.Mesh(this.geometry, i), o = new C.Mesh(this.geometry, r);
31745
+ }), s = new E.Mesh(this.geometry, i), o = new E.Mesh(this.geometry, r);
31743
31746
  s.renderOrder = 1, o.renderOrder = 0, t && this.updatePoints(t), this.add(s, o);
31744
31747
  }
31745
31748
  /**
@@ -31866,7 +31869,7 @@ class Om {
31866
31869
  const s = new ka(new ui(t), new ui(i), this.polyline.model);
31867
31870
  this.polyline.addLine(s), this.meshContainer.add(s.mesh), this.five && (s.distanceItem.setCanSelect(!1), s.distanceItem.appendTo(this.domContainer), s.distanceItem.update(this.five));
31868
31871
  }
31869
- (r = this.meshContainer) != null && r.children.includes(this.polygon) || this.meshContainer.add(this.polygon), this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five), this.points.length === 3 ? this.planeHelper = new C.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.points.length < 3 && (this.planeHelper = null);
31872
+ (r = this.meshContainer) != null && r.children.includes(this.polygon) || this.meshContainer.add(this.polygon), this.polygon.updatePoints(this.points), this.areaItem.updateArea(this.five), this.points.length === 3 ? this.planeHelper = new E.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.points.length < 3 && (this.planeHelper = null);
31870
31873
  }
31871
31874
  /**
31872
31875
  * @description: 移除最后一个添加的点
@@ -31892,7 +31895,7 @@ class Om {
31892
31895
  * @description: 获取一个点投影在当前平面上的点
31893
31896
  */
31894
31897
  projectPoint(n) {
31895
- return n && (this.planeHelper ? this.planeHelper.projectPoint(n, new C.Vector3()) : n);
31898
+ return n && (this.planeHelper ? this.planeHelper.projectPoint(n, new E.Vector3()) : n);
31896
31899
  }
31897
31900
  remove() {
31898
31901
  this.polygon.removeFromParent(), this.areaItem.remove(), this.polyline.lines.forEach((n) => n.remove());
@@ -31913,7 +31916,7 @@ class Om {
31913
31916
  }
31914
31917
  const Rc = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
31915
31918
  function U5(e, n) {
31916
- const { x: t, y: i } = n, r = t * 2 - 1, s = i * 2 - 1, o = new C.Raycaster();
31919
+ const { x: t, y: i } = n, r = t * 2 - 1, s = i * 2 - 1, o = new E.Raycaster();
31917
31920
  return o.setFromCamera({ x: r, y: s }, e.camera), o.params.Points.threshold = 0.02, o;
31918
31921
  }
31919
31922
  function Yc(e, n, t) {
@@ -31921,15 +31924,15 @@ function Yc(e, n, t) {
31921
31924
  return t != null && t.virtualPoint ? i != null ? i : Zx(n) : i;
31922
31925
  }
31923
31926
  function Zx(e, n = 3) {
31924
- const t = new C.Vector3().addVectors(
31927
+ const t = new E.Vector3().addVectors(
31925
31928
  e.ray.origin,
31926
31929
  e.ray.direction.clone().normalize().multiplyScalar(n)
31927
31930
  ), i = e.ray.direction.clone().negate();
31928
31931
  return {
31929
31932
  distance: n,
31930
31933
  point: t,
31931
- object: new C.Object3D(),
31932
- face: new C.Face3(0, 0, 0, i),
31934
+ object: new E.Object3D(),
31935
+ face: new E.Face3(0, 0, 0, i),
31933
31936
  raycaster: e,
31934
31937
  isVirtual: !0
31935
31938
  };
@@ -31939,7 +31942,7 @@ function W5(e, n) {
31939
31942
  if (r)
31940
31943
  return Me(R({}, r), { raycaster: n, isVirtual: !1 });
31941
31944
  }
31942
- const ob = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, Q5 = new C.Vector3(), Oo = () => !1;
31945
+ const ob = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, Q5 = new E.Vector3(), Oo = () => !1;
31943
31946
  class Jx extends En {
31944
31947
  constructor(t, i) {
31945
31948
  var o, a, l;
@@ -32048,8 +32051,8 @@ class Jx extends En {
32048
32051
  const l = {
32049
32052
  distance: this.five.camera.position.distanceTo(a),
32050
32053
  point: a.clone(),
32051
- object: new C.Object3D(),
32052
- face: new C.Face3(0, 0, 0, this.plane.normal.clone()),
32054
+ object: new E.Object3D(),
32055
+ face: new E.Face3(0, 0, 0, this.plane.normal.clone()),
32053
32056
  raycaster: i,
32054
32057
  isVirtual: !0
32055
32058
  };
@@ -32060,7 +32063,7 @@ class Jx extends En {
32060
32063
  return this.updatePointSelectorHelperIntersect(this.lastIntersection), !0;
32061
32064
  if (this.actionIfNoModelUnderMouse === "virtualPoint") {
32062
32065
  const a = Zx(i, (s = this.lastIntersection) == null ? void 0 : s.distance);
32063
- return a.face = new C.Face3(0, 0, 0, (o = this.lastIntersection) == null ? void 0 : o.face.normal), a.isVirtual = !0, this.lastIntersection = a, this.updatePointSelectorHelperIntersect(a), !0;
32066
+ return a.face = new E.Face3(0, 0, 0, (o = this.lastIntersection) == null ? void 0 : o.face.normal), a.isVirtual = !0, this.lastIntersection = a, this.updatePointSelectorHelperIntersect(a), !0;
32064
32067
  } else if (this.actionIfNoModelUnderMouse === "disable")
32065
32068
  return this.updatePointSelectorHelperIntersect(null), !1;
32066
32069
  });
@@ -32347,17 +32350,17 @@ class Kr extends Fd {
32347
32350
  const s = (h) => {
32348
32351
  if (!this.lastPoint)
32349
32352
  return [];
32350
- const { intersection: u, pointSelectorInstance: d } = h, f = d.pointSelectorHelper.pointHelper, m = new C.Vector3(0, 0, 1).applyQuaternion(f.quaternion);
32353
+ const { intersection: u, pointSelectorInstance: d } = h, f = d.pointSelectorHelper.pointHelper, m = new E.Vector3(0, 0, 1).applyQuaternion(f.quaternion);
32351
32354
  if (m.x > 0.9999 || m.y > 0.9999 || m.z > 0.9999 || m.x < -0.9999 || m.y < -0.9999 || m.z < -0.9999) {
32352
32355
  const p = u.point, g = this.lastPoint.position.clone().sub(p);
32353
32356
  d.pointSelectorHelper.updateWithIntersect(u, { emitEvent: !1 });
32354
- const y = new C.Line3(
32355
- f.localToWorld(new C.Vector3(1, 0, 0)).add(g),
32356
- f.localToWorld(new C.Vector3(-1, 0, 0)).add(g)
32357
- ), b = new C.Line3(
32358
- f.localToWorld(new C.Vector3(0, 1, 0)).add(g),
32359
- f.localToWorld(new C.Vector3(0, -1, 0)).add(g)
32360
- ), A = y.closestPointToPoint(p, !1, new C.Vector3()), w = b.closestPointToPoint(p, !1, new C.Vector3());
32357
+ const y = new E.Line3(
32358
+ f.localToWorld(new E.Vector3(1, 0, 0)).add(g),
32359
+ f.localToWorld(new E.Vector3(-1, 0, 0)).add(g)
32360
+ ), b = new E.Line3(
32361
+ f.localToWorld(new E.Vector3(0, 1, 0)).add(g),
32362
+ f.localToWorld(new E.Vector3(0, -1, 0)).add(g)
32363
+ ), A = y.closestPointToPoint(p, !1, new E.Vector3()), w = b.closestPointToPoint(p, !1, new E.Vector3());
32361
32364
  return [A, w];
32362
32365
  }
32363
32366
  return [];
@@ -32916,7 +32919,7 @@ function Kx(e) {
32916
32919
  }
32917
32920
  function $x(e, n) {
32918
32921
  const { top: t, left: i, width: r, height: s } = n.getBoundingClientRect();
32919
- return new C.Vector2((e.x - i) / r * 2 - 1, -(e.y - t) / s * 2 + 1);
32922
+ return new E.Vector2((e.x - i) / r * 2 - 1, -(e.y - t) / s * 2 + 1);
32920
32923
  }
32921
32924
  class i4 {
32922
32925
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
@@ -35079,7 +35082,7 @@ class q4 extends ws {
35079
35082
  this.five = t, this.hook = this.hooks, this.params = i, this.config = Da(i, ["openParams", "magnifierParams"]), this.model = new qx(this.config), this.isMobile = (a = (o = i == null ? void 0 : i.openParams) == null ? void 0 : o.isMobile) != null ? a : !1, this.magnifier = new tg(
35080
35083
  t,
35081
35084
  (u = (h = i.magnifierParams) != null ? h : (c = (l = i.pointSelectorConfig) == null ? void 0 : l.helper) == null ? void 0 : c.magnifierParams) != null ? u : { width: 190, height: 190, scale: 2 }
35082
- ), this.allowMeasureType = Array.from(new Set((f = (d = i.editParams) == null ? void 0 : d.allowMeasureType) != null ? f : ["line"])), this.currentMeasureType = (m = this.allowMeasureType[0]) != null ? m : "line", this.group = new Jo(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.visibility = "hidden", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0";
35085
+ ), this.allowMeasureType = Array.from(new Set((f = (d = i.editParams) == null ? void 0 : d.allowMeasureType) != null ? f : ["line"])), this.currentMeasureType = (m = this.allowMeasureType[0]) != null ? m : "line", this.group = new Jo(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.visibility = "hidden", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0", this.container.style.zIndex = "1";
35083
35086
  const r = (g = (p = i.editParams) == null ? void 0 : p.pointSelectorMode) != null ? g : Rc ? "fixed" : "cursor", s = (y = this.params.openParams) != null ? y : {};
35084
35087
  if (this.params.useUIController !== !1) {
35085
35088
  const b = R({
@@ -35710,8 +35713,8 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35710
35713
  if (p.tags.length === 0)
35711
35714
  return;
35712
35715
  const Be = we.longitude - e.state.longitude, oe = e.camera.clone();
35713
- oe.position.copy(we.offset), oe.rotateOnWorldAxis(new C.Vector3(0, 1, 0), Be), oe.updateProjectionMatrix(), oe.updateMatrixWorld(!0);
35714
- const fe = new C.Frustum(), Te = new C.Matrix4();
35716
+ oe.position.copy(we.offset), oe.rotateOnWorldAxis(new E.Vector3(0, 1, 0), Be), oe.updateProjectionMatrix(), oe.updateMatrixWorld(!0);
35717
+ const fe = new E.Frustum(), Te = new E.Matrix4();
35715
35718
  Te.multiplyMatrices(oe.projectionMatrix, oe.matrixWorldInverse), fe.setFromProjectionMatrix(Te), p.tags.forEach((He) => {
35716
35719
  const mt = oe.position.clone().setY(i).distanceTo(He.position);
35717
35720
  if (mt < c || mt > h || !fe.containsPoint(He.position))
@@ -35741,7 +35744,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35741
35744
  }, x = () => {
35742
35745
  if (p.forbidden || !p.enabled)
35743
35746
  return;
35744
- const re = e.camera, we = re.getWorldDirection(new C.Vector3());
35747
+ const re = e.camera, we = re.getWorldDirection(new E.Vector3());
35745
35748
  p.origins = p.tags.map((Be) => {
35746
35749
  const oe = Be.position.clone().project(re), fe = Be.position.clone().sub(re.position).setY(0).angleTo(we.setY(0)) < Math.PI / 2;
35747
35750
  return {
@@ -35759,7 +35762,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35759
35762
  re.length && (p.tags = p.tags.concat(re), x());
35760
35763
  }, r));
35761
35764
  }, P = () => {
35762
- const { clientWidth: re, clientHeight: we } = e.getElement(), Be = [], oe = e.camera, fe = new C.Frustum(), Te = new C.Matrix4(), He = oe.getWorldDirection(new C.Vector3());
35765
+ const { clientWidth: re, clientHeight: we } = e.getElement(), Be = [], oe = e.camera, fe = new E.Frustum(), Te = new E.Matrix4(), He = oe.getWorldDirection(new E.Vector3());
35763
35766
  Te.multiplyMatrices(oe.projectionMatrix, oe.matrixWorldInverse), fe.setFromProjectionMatrix(Te);
35764
35767
  const mt = p.tags.filter((Ne) => fe.containsPoint(Ne.position) && !Ne.destroying).length, xe = p.points.reduce((Ne, N) => {
35765
35768
  if (p.tags.find((he) => N.id === he.id && !he.destroying))
@@ -35812,19 +35815,19 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35812
35815
  return Math.sqrt(Math.pow((Ce.x - he.x) / 2 * re, 2) + Math.pow((Ce.y - he.y) / 2 * we, 2)) > a;
35813
35816
  }))
35814
35817
  continue;
35815
- const me = new C.Raycaster(
35818
+ const me = new E.Raycaster(
35816
35819
  oe.position.clone().setY(i),
35817
35820
  j.position.clone().sub(oe.position.clone().setY(i)).normalize(),
35818
35821
  0,
35819
35822
  j.distance + Bb
35820
35823
  ), [qe] = p.intersectObjects ? me.intersectObjects(p.intersectObjects, !0) : e.model.loaded ? e.model.intersectRaycaster(me) : me.intersectObjects(e.model.children, !0);
35821
35824
  if (qe && j.distance - qe.distance < Bb) {
35822
- const { position: Ae, normal: he, id: st, replacement: et } = j, lt = new C.Plane().setFromNormalAndCoplanarPoint(he, Ae), Re = Ae.clone().sub(oe.position).cross(new C.Vector3(0, 1, 0)).setLength(op), tt = [
35825
+ const { position: Ae, normal: he, id: st, replacement: et } = j, lt = new E.Plane().setFromNormalAndCoplanarPoint(he, Ae), Re = Ae.clone().sub(oe.position).cross(new E.Vector3(0, 1, 0)).setLength(op), tt = [
35823
35826
  Ae.clone(),
35824
35827
  Ae.clone().add(Re),
35825
- Ae.clone().add(new C.Vector3(0, op, 0)).add(Re),
35826
- Ae.clone().add(new C.Vector3(0, op, 0))
35827
- ].map((We) => lt.projectPoint(We, new C.Vector3())), { container: Ze, dispose: Ke } = u.create3DDomContainer(tt) || {}, $ = new sR({
35828
+ Ae.clone().add(new E.Vector3(0, op, 0)).add(Re),
35829
+ Ae.clone().add(new E.Vector3(0, op, 0))
35830
+ ].map((We) => lt.projectPoint(We, new E.Vector3())), { container: Ze, dispose: Ke } = u.create3DDomContainer(tt) || {}, $ = new sR({
35828
35831
  target: Ze,
35829
35832
  props: {
35830
35833
  id: st,
@@ -35853,8 +35856,8 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35853
35856
  var Be, oe;
35854
35857
  return {
35855
35858
  id: we.id,
35856
- position: new C.Vector3().fromArray(we.position),
35857
- normal: new C.Vector3().fromArray(we.normal),
35859
+ position: new E.Vector3().fromArray(we.position),
35860
+ normal: new E.Vector3().fromArray(we.normal),
35858
35861
  replacement: (Be = we.replacement) != null ? Be : {},
35859
35862
  weight: (oe = we.weight) != null ? oe : -1
35860
35863
  };
@@ -35886,7 +35889,7 @@ const op = 1e-3, Bb = 0.01, uR = "https://vrlab-image4.ljcdn.com/release/web/Pan
35886
35889
  }, U = () => {
35887
35890
  e.once("renderFrame", x);
35888
35891
  }, q = () => {
35889
- t || (t = e.getElement().parentElement), t && t.appendChild(d), p.forbidden = !1, i = e.model.bounding.getCenter(new C.Vector3()).y, M(), e.on("panoWillArrive", A), e.on("panoArrived", b), e.on("modeChange", w), e.on("cameraUpdate", y);
35892
+ t || (t = e.getElement().parentElement), t && t.appendChild(d), p.forbidden = !1, i = e.model.bounding.getCenter(new E.Vector3()).y, M(), e.on("panoWillArrive", A), e.on("panoArrived", b), e.on("modeChange", w), e.on("cameraUpdate", y);
35890
35893
  }, K = () => {
35891
35894
  m = null, u.disposeAll(), g.$destroy(), p.tags.forEach((re) => {
35892
35895
  re.app.$destroy(), re = null;
@@ -36166,7 +36169,7 @@ function yR(e) {
36166
36169
  }
36167
36170
  let Vb = 26, bR = 11;
36168
36171
  function AR(e, n, t) {
36169
- const { Raycaster: i, Vector3: r } = C;
36172
+ const { Raycaster: i, Vector3: r } = E;
36170
36173
  let { five: s } = n, { modelOcclusionEnable: o } = n, { itemLabels: a } = n, { hooks: l } = n, { displayStrategyType: c } = n, h = null, u = null, d, f, m = [], p = !0;
36171
36174
  const g = (O, G) => {
36172
36175
  const S = new i(), U = O.camera.position.clone(), q = new r().fromArray(G.modelPosition), K = q.distanceTo(U);
@@ -36409,7 +36412,7 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
36409
36412
  y.geometry.dispose(), y.material.dispose(), e.scene.remove(y), t.videoTexture && t.videoTexture.image.pause();
36410
36413
  }), t.videoMeshes = [], e.needsRender = !0);
36411
36414
  }, c = () => t.rectPoints.map((y, b) => {
36412
- const A = new C.BufferGeometry(), w = 128, x = [];
36415
+ const A = new E.BufferGeometry(), w = 128, x = [];
36413
36416
  x.push(...y[0].toArray());
36414
36417
  for (let k = 1; k < w; k++)
36415
36418
  x.push(
@@ -36436,11 +36439,11 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
36436
36439
  const P = [];
36437
36440
  for (let k = 0; k < w; k++)
36438
36441
  P.push(k, k + 1, w * 2 - k, k, w * 2 - k, w * 2 + 1 - k);
36439
- A.setAttribute("position", new C.BufferAttribute(new Float32Array(x), 3)), A.setAttribute("uv", new C.BufferAttribute(new Float32Array(M), 2)), A.setIndex(new C.BufferAttribute(new Uint32Array(P), 1));
36440
- const I = new C.MeshBasicMaterial({
36442
+ A.setAttribute("position", new E.BufferAttribute(new Float32Array(x), 3)), A.setAttribute("uv", new E.BufferAttribute(new Float32Array(M), 2)), A.setIndex(new E.BufferAttribute(new Uint32Array(P), 1));
36443
+ const I = new E.MeshBasicMaterial({
36441
36444
  map: t.videoTextureEnabled ? t.videoTexture : t.imageTexture,
36442
- side: C.DoubleSide
36443
- }), T = new C.Mesh(A, I);
36445
+ side: E.DoubleSide
36446
+ }), T = new E.Mesh(A, I);
36444
36447
  T.renderOrder = 1, T.name = `ModelTVVideoPlugin-${b}-${performance.now()}`;
36445
36448
  const z = [y[1], y[2], y[3], y[0]], D = i.create3DDomContainer(z);
36446
36449
  if (D != null && D.container) {
@@ -36453,8 +36456,8 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
36453
36456
  }
36454
36457
  return T;
36455
36458
  }), h = (y) => {
36456
- const b = new C.TextureLoader().load(y);
36457
- return b.minFilter = C.LinearFilter, b.magFilter = C.LinearFilter, b.format = C.RGBFormat, b;
36459
+ const b = new E.TextureLoader().load(y);
36460
+ return b.minFilter = E.LinearFilter, b.magFilter = E.LinearFilter, b.format = E.RGBFormat, b;
36458
36461
  }, u = (y, b) => {
36459
36462
  let A = b;
36460
36463
  return new Promise((w, x) => {
@@ -36464,15 +36467,15 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
36464
36467
  if (M.status === 200) {
36465
36468
  const P = window.URL || window.webkitURL;
36466
36469
  A = A || document.createElement("video"), A.crossOrigin = "anonymous", A.muted = !0, A.loop = !0, A.playsInline = !0, A.src = P.createObjectURL(M.response);
36467
- const I = new C.VideoTexture(A);
36468
- I.minFilter = C.LinearFilter, I.magFilter = C.LinearFilter, I.format = C.RGBFormat, w(Object.assign(I, { videoSource: y }));
36470
+ const I = new E.VideoTexture(A);
36471
+ I.minFilter = E.LinearFilter, I.magFilter = E.LinearFilter, I.format = E.RGBFormat, w(Object.assign(I, { videoSource: y }));
36469
36472
  } else
36470
36473
  x(new Error("Video download Error: " + M.status));
36471
36474
  }, M.onerror = (P) => x(P), M.open("GET", y), M.responseType = "blob", M.send();
36472
36475
  });
36473
36476
  }, d = (y, b) => ee(void 0, null, function* () {
36474
36477
  const { video_src: A, video_poster_src: w, points: x } = y;
36475
- t.videoSource = A, t.rectPoints = MR(x).map((M) => M.map(({ x: P, y: I, z: T }) => new C.Vector3(P, I, T))), t.imageTexture = h(w), b && (t.videoElement = b), t.videoTexture = yield u(t.videoSource, t.videoElement), t.enabled = !!y.enable, t.enabled && a();
36478
+ t.videoSource = A, t.rectPoints = MR(x).map((M) => M.map(({ x: P, y: I, z: T }) => new E.Vector3(P, I, T))), t.imageTexture = h(w), b && (t.videoElement = b), t.videoTexture = yield u(t.videoSource, t.videoElement), t.enabled = !!y.enable, t.enabled && a();
36476
36479
  }), f = (y) => {
36477
36480
  if (!t.enabled)
36478
36481
  return;
@@ -36486,13 +36489,13 @@ const ER = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
36486
36489
  return;
36487
36490
  const y = e.camera.position;
36488
36491
  if (r.forEach((b, A) => {
36489
- const w = b.css3DObject.position.clone(), x = w.clone().sub(y).normalize(), M = new C.Raycaster(y, x), P = e.model.intersectRaycaster(M)[0], I = w.distanceTo(y), T = 0.01;
36492
+ const w = b.css3DObject.position.clone(), x = w.clone().sub(y).normalize(), M = new E.Raycaster(y, x), P = e.model.intersectRaycaster(M)[0], I = w.distanceTo(y), T = 0.01;
36490
36493
  P && P.distance + T < I ? b.hide() : b.show();
36491
36494
  }), !o()) {
36492
36495
  const b = t.rectPoints.find((A) => {
36493
36496
  const w = A[0].clone().add(A[1]).add(A[2]).add(A[3]).divideScalar(4);
36494
36497
  return A.map((x) => x.clone().add(w).divideScalar(2)).filter((x) => {
36495
- const M = x.distanceTo(y), P = new C.Raycaster(y, x.clone().sub(y).normalize()), I = e.model.intersectRaycaster(P)[0], T = 0.01;
36498
+ const M = x.distanceTo(y), P = new E.Raycaster(y, x.clone().sub(y).normalize()), I = e.model.intersectRaycaster(P)[0], T = 0.01;
36496
36499
  return !(I && I.distance + T < M);
36497
36500
  }).length >= 2;
36498
36501
  });
@@ -36718,7 +36721,7 @@ class DR extends ke {
36718
36721
  );
36719
36722
  }
36720
36723
  }
36721
- const { Raycaster: LR, Vector3: vG } = C, jb = (e, n, t, i) => {
36724
+ const { Raycaster: LR, Vector3: vG } = E, jb = (e, n, t, i) => {
36722
36725
  const r = n.clone().sub(t).normalize(), s = new LR();
36723
36726
  s.set(t, r);
36724
36727
  const [o] = e.model.intersectRaycaster(s);
@@ -36901,7 +36904,7 @@ function zR(e) {
36901
36904
  }
36902
36905
  let BR = 11;
36903
36906
  function NR(e, n, t) {
36904
- const { Vector3: i } = C;
36907
+ const { Vector3: i } = E;
36905
36908
  let { five: r } = n, { modelOcclusionEnable: s } = n, { itemLabels: o } = n, { hooks: a } = n, { displayStrategyType: l } = n, { maxVisibleDistance: c } = n, h = null, u = null, d = (r == null ? void 0 : r.currentMode) === Dn.Mode.Panorama, f, m, p = [], g = !0;
36906
36909
  const y = (G, S) => {
36907
36910
  const U = G.camera.position.clone(), q = new i(S.modelPosition[0], S.modelPosition[1], S.modelPosition[2]), K = q.distanceTo(U);
@@ -37574,8 +37577,8 @@ const pO = 2, mO = 3, gO = 3, vO = 2;
37574
37577
  function yO(e) {
37575
37578
  const n = e.width, t = e.unitLength, i = n / 2, r = e.path;
37576
37579
  if (r.length === 0)
37577
- return { geometry: new C.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
37578
- const s = new C.CurvePath();
37580
+ return { geometry: new E.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
37581
+ const s = new E.CurvePath();
37579
37582
  r.forEach((S) => {
37580
37583
  const U = bO(S);
37581
37584
  U && s.add(U);
@@ -37584,10 +37587,10 @@ function yO(e) {
37584
37587
  s.arcLengthDivisions = o;
37585
37588
  const a = s.getPoints(o), l = a.length;
37586
37589
  if (l <= 2)
37587
- return { geometry: new C.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
37590
+ return { geometry: new E.BufferGeometry(), maxV: 0, curvePath: null, curvePoints: null };
37588
37591
  const c = dO(a.map((S) => [S.x, S.z])), u = (l - 1) * pO * mO, d = 2 * l, f = d * gO, m = d * vO, p = new Uint32Array(u), g = new Float32Array(f), y = new Float32Array(m), b = s.getLength();
37589
37592
  let A = 0, w = 0, x = {};
37590
- const M = e.path[0].points.map((S) => new C.Vector3().fromArray(S)), P = e.path[0].panoIndexList ? [...e.path[0].panoIndexList] : void 0, I = (() => {
37593
+ const M = e.path[0].points.map((S) => new E.Vector3().fromArray(S)), P = e.path[0].panoIndexList ? [...e.path[0].panoIndexList] : void 0, I = (() => {
37591
37594
  const S = [];
37592
37595
  for (let K = 0; K < M.length; K++) {
37593
37596
  const te = M[K];
@@ -37613,7 +37616,7 @@ function yO(e) {
37613
37616
  g[S * 6 + 3] = ye.x, g[S * 6 + 4] = ye.y, g[S * 6 + 5] = ye.z, A += S > 0 ? a[S - 1].clone().sub(a[S]).length() : 0;
37614
37617
  const Je = A / t;
37615
37618
  w = Je, y[S * 4 + 0] = 0, y[S * 4 + 1] = Je, y[S * 4 + 2] = 1, y[S * 4 + 3] = Je;
37616
- const be = new C.Vector3().lerpVectors(ve, ye, 0.5);
37619
+ const be = new E.Vector3().lerpVectors(ve, ye, 0.5);
37617
37620
  if (e.skipPositions && e.skipPositions.some((we) => we.distanceTo(be) < 0.26))
37618
37621
  continue;
37619
37622
  const ae = M[0];
@@ -37655,7 +37658,7 @@ function yO(e) {
37655
37658
  }, de = hM([q, K], [te, ne]);
37656
37659
  if (de && z.push(S), !de && z.length) {
37657
37660
  z.push(S);
37658
- const ve = new C.Vector2(q.x, q.y).distanceTo(new C.Vector2(te.x, te.y)), ye = new C.Vector2(K.x, K.y).distanceTo(new C.Vector2(ne.x, ne.y)), Je = 200, be = [], ae = [], re = Math.max(0, z[0] - t * Je), we = z[0];
37661
+ const ve = new E.Vector2(q.x, q.y).distanceTo(new E.Vector2(te.x, te.y)), ye = new E.Vector2(K.x, K.y).distanceTo(new E.Vector2(ne.x, ne.y)), Je = 200, be = [], ae = [], re = Math.max(0, z[0] - t * Je), we = z[0];
37659
37662
  for (let Te = re; Te < we; Te++)
37660
37663
  ve < ye ? be.push({ x: g[Te * 6 + 0], y: g[Te * 6 + 2] }) : be.push({ x: g[Te * 6 + 3], y: g[Te * 6 + 5] });
37661
37664
  const Be = z.at(-1), oe = z.at(-1) + t * Je;
@@ -37696,13 +37699,13 @@ function yO(e) {
37696
37699
  for (let U = 0; U < l - 1; U++)
37697
37700
  U >= S.start && U <= S.end ? (O[U * 2 + 0] = 1, O[U * 2 + 1] = 1) : O[U] !== 1 && (O[U * 2 + 0] = 0, O[U * 2 + 1] = 0);
37698
37701
  });
37699
- const G = new C.BufferGeometry();
37700
- return G.setAttribute("position", new C.BufferAttribute(g, 3)), G.setAttribute("uv", new C.BufferAttribute(y, 2)), G.setIndex(new C.BufferAttribute(p, 1)), { geometry: G, maxV: w, animationWillError: k, curvePath: s, curvePoints: a, panoMap: x, totalLength: A };
37702
+ const G = new E.BufferGeometry();
37703
+ return G.setAttribute("position", new E.BufferAttribute(g, 3)), G.setAttribute("uv", new E.BufferAttribute(y, 2)), G.setIndex(new E.BufferAttribute(p, 1)), { geometry: G, maxV: w, animationWillError: k, curvePath: s, curvePoints: a, panoMap: x, totalLength: A };
37701
37704
  }
37702
37705
  function bO(e) {
37703
37706
  if (AO(e)) {
37704
- const n = [e.closed, e.curve_type, e.tension], t = e.points.map((r) => new C.Vector3().fromArray(r));
37705
- return new C.CatmullRomCurve3(t, ...n);
37707
+ const n = [e.closed, e.curve_type, e.tension], t = e.points.map((r) => new E.Vector3().fromArray(r));
37708
+ return new E.CatmullRomCurve3(t, ...n);
37706
37709
  }
37707
37710
  }
37708
37711
  function AO(e) {
@@ -37710,23 +37713,23 @@ function AO(e) {
37710
37713
  }
37711
37714
  function wO(e, n) {
37712
37715
  n.forEach((t) => {
37713
- const i = new C.SphereGeometry(0.02, 16, 16), r = [], s = [
37714
- new C.MeshBasicMaterial({ color: 16776960 }),
37716
+ const i = new E.SphereGeometry(0.02, 16, 16), r = [], s = [
37717
+ new E.MeshBasicMaterial({ color: 16776960 }),
37715
37718
  // 黄
37716
- new C.MeshBasicMaterial({ color: 16711935 }),
37719
+ new E.MeshBasicMaterial({ color: 16711935 }),
37717
37720
  // 粉
37718
- new C.MeshBasicMaterial({ color: 16711680 }),
37721
+ new E.MeshBasicMaterial({ color: 16711680 }),
37719
37722
  // 红
37720
- new C.MeshBasicMaterial({ color: 65535 })
37723
+ new E.MeshBasicMaterial({ color: 65535 })
37721
37724
  // 蓝
37722
37725
  ];
37723
37726
  if (t.position.length === 4)
37724
37727
  t.position.forEach((o, a) => {
37725
- const l = s[a], c = new C.Mesh(i, l);
37728
+ const l = s[a], c = new E.Mesh(i, l);
37726
37729
  c.position.copy(os(o)), r.push(c);
37727
37730
  });
37728
37731
  else {
37729
- const o = s[0], a = new C.Mesh(i, o);
37732
+ const o = s[0], a = new E.Mesh(i, o);
37730
37733
  a.position.copy(os(t.position)), r.push(a);
37731
37734
  }
37732
37735
  r.forEach((o) => {
@@ -37778,7 +37781,7 @@ function ru(e, n) {
37778
37781
  return !(typeof i == "number" && i < e || typeof t == "number" && t > e);
37779
37782
  }
37780
37783
  function PO(e, n, t) {
37781
- const r = new C.Plane().setFromNormalAndCoplanarPoint(t, n), s = n.clone().sub(e).cross(new C.Vector3(0, 1, 0)).setLength(0.01), o = new C.Vector3(0, 0.01, 0);
37784
+ const r = new E.Plane().setFromNormalAndCoplanarPoint(t, n), s = n.clone().sub(e).cross(new E.Vector3(0, 1, 0)).setLength(0.01), o = new E.Vector3(0, 0.01, 0);
37782
37785
  return [
37783
37786
  n.clone().sub(s).sub(o),
37784
37787
  // 左下
@@ -37788,7 +37791,7 @@ function PO(e, n, t) {
37788
37791
  // 右上
37789
37792
  n.clone().sub(s).add(o)
37790
37793
  // 左上
37791
- ].map((l) => r.projectPoint(l, new C.Vector3()));
37794
+ ].map((l) => r.projectPoint(l, new E.Vector3()));
37792
37795
  }
37793
37796
  const _O = (e, n = 1e3 / 60) => {
37794
37797
  let t = null;
@@ -38518,7 +38521,7 @@ function WO(e, n, t) {
38518
38521
  return I;
38519
38522
  }();
38520
38523
  m = yu({
38521
- targets: M.slice(0, P).filter(At),
38524
+ targets: M.slice(0, P).filter(bt),
38522
38525
  autoplay: !1,
38523
38526
  duration: 400,
38524
38527
  scale: [0.7, 1],
@@ -40633,131 +40636,131 @@ var ou = c9, gd = {}, h9 = {
40633
40636
  var t = 200, i = "__lodash_hash_undefined__", r = 9007199254740991, s = "[object Arguments]", o = "[object Array]", a = "[object Boolean]", l = "[object Date]", c = "[object Error]", h = "[object Function]", u = "[object GeneratorFunction]", d = "[object Map]", f = "[object Number]", m = "[object Object]", p = "[object Promise]", g = "[object RegExp]", y = "[object Set]", b = "[object String]", A = "[object Symbol]", w = "[object WeakMap]", x = "[object ArrayBuffer]", M = "[object DataView]", P = "[object Float32Array]", I = "[object Float64Array]", T = "[object Int8Array]", z = "[object Int16Array]", D = "[object Int32Array]", k = "[object Uint8Array]", O = "[object Uint8ClampedArray]", G = "[object Uint16Array]", S = "[object Uint32Array]", U = /[\\^$.*+?()[\]{}|]/g, q = /\w*$/, K = /^\[object .+?Constructor\]$/, te = /^(?:0|[1-9]\d*)$/, ne = {};
40634
40637
  ne[s] = ne[o] = ne[x] = ne[M] = ne[a] = ne[l] = ne[P] = ne[I] = ne[T] = ne[z] = ne[D] = ne[d] = ne[f] = ne[m] = ne[g] = ne[y] = ne[b] = ne[A] = ne[k] = ne[O] = ne[G] = ne[S] = !0, ne[c] = ne[h] = ne[w] = !1;
40635
40638
  var de = typeof di == "object" && di && di.Object === Object && di, ve = typeof self == "object" && self && self.Object === Object && self, ye = de || ve || Function("return this")(), Je = n && !n.nodeType && n, be = Je && !0 && e && !e.nodeType && e, ae = be && be.exports === Je;
40636
- function re(E, L) {
40637
- return E.set(L[0], L[1]), E;
40639
+ function re(C, L) {
40640
+ return C.set(L[0], L[1]), C;
40638
40641
  }
40639
- function we(E, L) {
40640
- return E.add(L), E;
40642
+ function we(C, L) {
40643
+ return C.add(L), C;
40641
40644
  }
40642
- function Be(E, L) {
40643
- for (var J = -1, le = E ? E.length : 0; ++J < le && L(E[J], J, E) !== !1; )
40645
+ function Be(C, L) {
40646
+ for (var J = -1, le = C ? C.length : 0; ++J < le && L(C[J], J, C) !== !1; )
40644
40647
  ;
40645
- return E;
40648
+ return C;
40646
40649
  }
40647
- function oe(E, L) {
40648
- for (var J = -1, le = L.length, bt = E.length; ++J < le; )
40649
- E[bt + J] = L[J];
40650
- return E;
40650
+ function oe(C, L) {
40651
+ for (var J = -1, le = L.length, At = C.length; ++J < le; )
40652
+ C[At + J] = L[J];
40653
+ return C;
40651
40654
  }
40652
- function fe(E, L, J, le) {
40653
- var bt = -1, rt = E ? E.length : 0;
40654
- for (le && rt && (J = E[++bt]); ++bt < rt; )
40655
- J = L(J, E[bt], bt, E);
40655
+ function fe(C, L, J, le) {
40656
+ var At = -1, rt = C ? C.length : 0;
40657
+ for (le && rt && (J = C[++At]); ++At < rt; )
40658
+ J = L(J, C[At], At, C);
40656
40659
  return J;
40657
40660
  }
40658
- function Te(E, L) {
40659
- for (var J = -1, le = Array(E); ++J < E; )
40661
+ function Te(C, L) {
40662
+ for (var J = -1, le = Array(C); ++J < C; )
40660
40663
  le[J] = L(J);
40661
40664
  return le;
40662
40665
  }
40663
- function He(E, L) {
40664
- return E == null ? void 0 : E[L];
40666
+ function He(C, L) {
40667
+ return C == null ? void 0 : C[L];
40665
40668
  }
40666
- function mt(E) {
40669
+ function mt(C) {
40667
40670
  var L = !1;
40668
- if (E != null && typeof E.toString != "function")
40671
+ if (C != null && typeof C.toString != "function")
40669
40672
  try {
40670
- L = !!(E + "");
40673
+ L = !!(C + "");
40671
40674
  } catch (J) {
40672
40675
  }
40673
40676
  return L;
40674
40677
  }
40675
- function xe(E) {
40676
- var L = -1, J = Array(E.size);
40677
- return E.forEach(function(le, bt) {
40678
- J[++L] = [bt, le];
40678
+ function xe(C) {
40679
+ var L = -1, J = Array(C.size);
40680
+ return C.forEach(function(le, At) {
40681
+ J[++L] = [At, le];
40679
40682
  }), J;
40680
40683
  }
40681
- function Ne(E, L) {
40684
+ function Ne(C, L) {
40682
40685
  return function(J) {
40683
- return E(L(J));
40686
+ return C(L(J));
40684
40687
  };
40685
40688
  }
40686
- function N(E) {
40687
- var L = -1, J = Array(E.size);
40688
- return E.forEach(function(le) {
40689
+ function N(C) {
40690
+ var L = -1, J = Array(C.size);
40691
+ return C.forEach(function(le) {
40689
40692
  J[++L] = le;
40690
40693
  }), J;
40691
40694
  }
40692
40695
  var j = Array.prototype, Ce = Function.prototype, me = Object.prototype, qe = ye["__core-js_shared__"], Ae = function() {
40693
- var E = /[^.]+$/.exec(qe && qe.keys && qe.keys.IE_PROTO || "");
40694
- return E ? "Symbol(src)_1." + E : "";
40696
+ var C = /[^.]+$/.exec(qe && qe.keys && qe.keys.IE_PROTO || "");
40697
+ return C ? "Symbol(src)_1." + C : "";
40695
40698
  }(), he = Ce.toString, st = me.hasOwnProperty, et = me.toString, lt = RegExp(
40696
40699
  "^" + he.call(st).replace(U, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
40697
40700
  ), Re = ae ? ye.Buffer : void 0, tt = ye.Symbol, Ze = ye.Uint8Array, Ke = Ne(Object.getPrototypeOf, Object), $ = Object.create, We = me.propertyIsEnumerable, $e = j.splice, yt = Object.getOwnPropertySymbols, Ye = Re ? Re.isBuffer : void 0, Pt = Ne(Object.keys, Object), Ot = wi(ye, "DataView"), Ht = wi(ye, "Map"), Xt = wi(ye, "Promise"), kt = wi(ye, "Set"), on = wi(ye, "WeakMap"), an = wi(Object, "create"), _n = Hn(Ot), ci = Hn(Ht), Fi = Hn(Xt), Vi = Hn(kt), V = Hn(on), se = tt ? tt.prototype : void 0, ie = se ? se.valueOf : void 0;
40698
- function ce(E) {
40699
- var L = -1, J = E ? E.length : 0;
40701
+ function ce(C) {
40702
+ var L = -1, J = C ? C.length : 0;
40700
40703
  for (this.clear(); ++L < J; ) {
40701
- var le = E[L];
40704
+ var le = C[L];
40702
40705
  this.set(le[0], le[1]);
40703
40706
  }
40704
40707
  }
40705
40708
  function Oe() {
40706
40709
  this.__data__ = an ? an(null) : {};
40707
40710
  }
40708
- function gt(E) {
40709
- return this.has(E) && delete this.__data__[E];
40711
+ function gt(C) {
40712
+ return this.has(C) && delete this.__data__[C];
40710
40713
  }
40711
- function ct(E) {
40714
+ function ct(C) {
40712
40715
  var L = this.__data__;
40713
40716
  if (an) {
40714
- var J = L[E];
40717
+ var J = L[C];
40715
40718
  return J === i ? void 0 : J;
40716
40719
  }
40717
- return st.call(L, E) ? L[E] : void 0;
40720
+ return st.call(L, C) ? L[C] : void 0;
40718
40721
  }
40719
- function nt(E) {
40722
+ function nt(C) {
40720
40723
  var L = this.__data__;
40721
- return an ? L[E] !== void 0 : st.call(L, E);
40724
+ return an ? L[C] !== void 0 : st.call(L, C);
40722
40725
  }
40723
- function ht(E, L) {
40726
+ function ht(C, L) {
40724
40727
  var J = this.__data__;
40725
- return J[E] = an && L === void 0 ? i : L, this;
40728
+ return J[C] = an && L === void 0 ? i : L, this;
40726
40729
  }
40727
40730
  ce.prototype.clear = Oe, ce.prototype.delete = gt, ce.prototype.get = ct, ce.prototype.has = nt, ce.prototype.set = ht;
40728
- function it(E) {
40729
- var L = -1, J = E ? E.length : 0;
40731
+ function it(C) {
40732
+ var L = -1, J = C ? C.length : 0;
40730
40733
  for (this.clear(); ++L < J; ) {
40731
- var le = E[L];
40734
+ var le = C[L];
40732
40735
  this.set(le[0], le[1]);
40733
40736
  }
40734
40737
  }
40735
40738
  function Ut() {
40736
40739
  this.__data__ = [];
40737
40740
  }
40738
- function Tt(E) {
40739
- var L = this.__data__, J = lo(L, E);
40741
+ function Tt(C) {
40742
+ var L = this.__data__, J = lo(L, C);
40740
40743
  if (J < 0)
40741
40744
  return !1;
40742
40745
  var le = L.length - 1;
40743
40746
  return J == le ? L.pop() : $e.call(L, J, 1), !0;
40744
40747
  }
40745
- function It(E) {
40746
- var L = this.__data__, J = lo(L, E);
40748
+ function It(C) {
40749
+ var L = this.__data__, J = lo(L, C);
40747
40750
  return J < 0 ? void 0 : L[J][1];
40748
40751
  }
40749
- function vt(E) {
40750
- return lo(this.__data__, E) > -1;
40752
+ function vt(C) {
40753
+ return lo(this.__data__, C) > -1;
40751
40754
  }
40752
- function Et(E, L) {
40753
- var J = this.__data__, le = lo(J, E);
40754
- return le < 0 ? J.push([E, L]) : J[le][1] = L, this;
40755
+ function Et(C, L) {
40756
+ var J = this.__data__, le = lo(J, C);
40757
+ return le < 0 ? J.push([C, L]) : J[le][1] = L, this;
40755
40758
  }
40756
40759
  it.prototype.clear = Ut, it.prototype.delete = Tt, it.prototype.get = It, it.prototype.has = vt, it.prototype.set = Et;
40757
- function Dt(E) {
40758
- var L = -1, J = E ? E.length : 0;
40760
+ function Dt(C) {
40761
+ var L = -1, J = C ? C.length : 0;
40759
40762
  for (this.clear(); ++L < J; ) {
40760
- var le = E[L];
40763
+ var le = C[L];
40761
40764
  this.set(le[0], le[1]);
40762
40765
  }
40763
40766
  }
@@ -40768,187 +40771,187 @@ var ou = c9, gd = {}, h9 = {
40768
40771
  string: new ce()
40769
40772
  };
40770
40773
  }
40771
- function yn(E) {
40772
- return Es(this, E).delete(E);
40774
+ function yn(C) {
40775
+ return Es(this, C).delete(C);
40773
40776
  }
40774
- function ur(E) {
40775
- return Es(this, E).get(E);
40777
+ function ur(C) {
40778
+ return Es(this, C).get(C);
40776
40779
  }
40777
- function Zt(E) {
40778
- return Es(this, E).has(E);
40780
+ function Zt(C) {
40781
+ return Es(this, C).has(C);
40779
40782
  }
40780
- function dr(E, L) {
40781
- return Es(this, E).set(E, L), this;
40783
+ function dr(C, L) {
40784
+ return Es(this, C).set(C, L), this;
40782
40785
  }
40783
40786
  Dt.prototype.clear = jn, Dt.prototype.delete = yn, Dt.prototype.get = ur, Dt.prototype.has = Zt, Dt.prototype.set = dr;
40784
- function ln(E) {
40785
- this.__data__ = new it(E);
40787
+ function ln(C) {
40788
+ this.__data__ = new it(C);
40786
40789
  }
40787
40790
  function xs() {
40788
40791
  this.__data__ = new it();
40789
40792
  }
40790
- function tl(E) {
40791
- return this.__data__.delete(E);
40793
+ function tl(C) {
40794
+ return this.__data__.delete(C);
40792
40795
  }
40793
- function Wd(E) {
40794
- return this.__data__.get(E);
40796
+ function Wd(C) {
40797
+ return this.__data__.get(C);
40795
40798
  }
40796
- function Qd(E) {
40797
- return this.__data__.has(E);
40799
+ function Qd(C) {
40800
+ return this.__data__.has(C);
40798
40801
  }
40799
- function Yd(E, L) {
40802
+ function Yd(C, L) {
40800
40803
  var J = this.__data__;
40801
40804
  if (J instanceof it) {
40802
40805
  var le = J.__data__;
40803
40806
  if (!Ht || le.length < t - 1)
40804
- return le.push([E, L]), this;
40807
+ return le.push([C, L]), this;
40805
40808
  J = this.__data__ = new Dt(le);
40806
40809
  }
40807
- return J.set(E, L), this;
40810
+ return J.set(C, L), this;
40808
40811
  }
40809
40812
  ln.prototype.clear = xs, ln.prototype.delete = tl, ln.prototype.get = Wd, ln.prototype.has = Qd, ln.prototype.set = Yd;
40810
- function ao(E, L) {
40811
- var J = sl(E) || ho(E) ? Te(E.length, String) : [], le = J.length, bt = !!le;
40812
- for (var rt in E)
40813
- (L || st.call(E, rt)) && !(bt && (rt == "length" || lf(rt, le))) && J.push(rt);
40813
+ function ao(C, L) {
40814
+ var J = sl(C) || ho(C) ? Te(C.length, String) : [], le = J.length, At = !!le;
40815
+ for (var rt in C)
40816
+ (L || st.call(C, rt)) && !(At && (rt == "length" || lf(rt, le))) && J.push(rt);
40814
40817
  return J;
40815
40818
  }
40816
- function Kc(E, L, J) {
40817
- var le = E[L];
40818
- (!(st.call(E, L) && ih(le, J)) || J === void 0 && !(L in E)) && (E[L] = J);
40819
+ function Kc(C, L, J) {
40820
+ var le = C[L];
40821
+ (!(st.call(C, L) && ih(le, J)) || J === void 0 && !(L in C)) && (C[L] = J);
40819
40822
  }
40820
- function lo(E, L) {
40821
- for (var J = E.length; J--; )
40822
- if (ih(E[J][0], L))
40823
+ function lo(C, L) {
40824
+ for (var J = C.length; J--; )
40825
+ if (ih(C[J][0], L))
40823
40826
  return J;
40824
40827
  return -1;
40825
40828
  }
40826
- function Gi(E, L) {
40827
- return E && rl(L, al(L), E);
40829
+ function Gi(C, L) {
40830
+ return C && rl(L, al(L), C);
40828
40831
  }
40829
- function nl(E, L, J, le, bt, rt, St) {
40832
+ function nl(C, L, J, le, At, rt, St) {
40830
40833
  var Lt;
40831
- if (le && (Lt = rt ? le(E, bt, rt, St) : le(E)), Lt !== void 0)
40834
+ if (le && (Lt = rt ? le(C, At, rt, St) : le(C)), Lt !== void 0)
40832
40835
  return Lt;
40833
- if (!Hi(E))
40834
- return E;
40835
- var dn = sl(E);
40836
+ if (!Hi(C))
40837
+ return C;
40838
+ var dn = sl(C);
40836
40839
  if (dn) {
40837
- if (Lt = of(E), !L)
40838
- return nf(E, Lt);
40840
+ if (Lt = of(C), !L)
40841
+ return nf(C, Lt);
40839
40842
  } else {
40840
- var zt = pr(E), Rn = zt == h || zt == u;
40841
- if (rh(E))
40842
- return co(E, L);
40843
+ var zt = pr(C), Rn = zt == h || zt == u;
40844
+ if (rh(C))
40845
+ return co(C, L);
40843
40846
  if (zt == m || zt == s || Rn && !rt) {
40844
- if (mt(E))
40845
- return rt ? E : {};
40846
- if (Lt = ji(Rn ? {} : E), !L)
40847
- return rf(E, Gi(Lt, E));
40847
+ if (mt(C))
40848
+ return rt ? C : {};
40849
+ if (Lt = ji(Rn ? {} : C), !L)
40850
+ return rf(C, Gi(Lt, C));
40848
40851
  } else {
40849
40852
  if (!ne[zt])
40850
- return rt ? E : {};
40851
- Lt = af(E, zt, nl, L);
40853
+ return rt ? C : {};
40854
+ Lt = af(C, zt, nl, L);
40852
40855
  }
40853
40856
  }
40854
40857
  St || (St = new ln());
40855
- var Zn = St.get(E);
40858
+ var Zn = St.get(C);
40856
40859
  if (Zn)
40857
40860
  return Zn;
40858
- if (St.set(E, Lt), !dn)
40859
- var bn = J ? sf(E) : al(E);
40860
- return Be(bn || E, function(On, In) {
40861
- bn && (In = On, On = E[In]), Kc(Lt, In, nl(On, L, J, le, In, E, St));
40861
+ if (St.set(C, Lt), !dn)
40862
+ var bn = J ? sf(C) : al(C);
40863
+ return Be(bn || C, function(On, In) {
40864
+ bn && (In = On, On = C[In]), Kc(Lt, In, nl(On, L, J, le, In, C, St));
40862
40865
  }), Lt;
40863
40866
  }
40864
- function Xd(E) {
40865
- return Hi(E) ? $(E) : {};
40867
+ function Xd(C) {
40868
+ return Hi(C) ? $(C) : {};
40866
40869
  }
40867
- function Zd(E, L, J) {
40868
- var le = L(E);
40869
- return sl(E) ? le : oe(le, J(E));
40870
+ function Zd(C, L, J) {
40871
+ var le = L(C);
40872
+ return sl(C) ? le : oe(le, J(C));
40870
40873
  }
40871
- function Jd(E) {
40872
- return et.call(E);
40874
+ function Jd(C) {
40875
+ return et.call(C);
40873
40876
  }
40874
- function qd(E) {
40875
- if (!Hi(E) || hf(E))
40877
+ function qd(C) {
40878
+ if (!Hi(C) || hf(C))
40876
40879
  return !1;
40877
- var L = ol(E) || mt(E) ? lt : K;
40878
- return L.test(Hn(E));
40880
+ var L = ol(C) || mt(C) ? lt : K;
40881
+ return L.test(Hn(C));
40879
40882
  }
40880
- function Kd(E) {
40881
- if (!th(E))
40882
- return Pt(E);
40883
+ function Kd(C) {
40884
+ if (!th(C))
40885
+ return Pt(C);
40883
40886
  var L = [];
40884
- for (var J in Object(E))
40885
- st.call(E, J) && J != "constructor" && L.push(J);
40887
+ for (var J in Object(C))
40888
+ st.call(C, J) && J != "constructor" && L.push(J);
40886
40889
  return L;
40887
40890
  }
40888
- function co(E, L) {
40891
+ function co(C, L) {
40889
40892
  if (L)
40890
- return E.slice();
40891
- var J = new E.constructor(E.length);
40892
- return E.copy(J), J;
40893
+ return C.slice();
40894
+ var J = new C.constructor(C.length);
40895
+ return C.copy(J), J;
40893
40896
  }
40894
- function il(E) {
40895
- var L = new E.constructor(E.byteLength);
40896
- return new Ze(L).set(new Ze(E)), L;
40897
+ function il(C) {
40898
+ var L = new C.constructor(C.byteLength);
40899
+ return new Ze(L).set(new Ze(C)), L;
40897
40900
  }
40898
- function Ms(E, L) {
40899
- var J = L ? il(E.buffer) : E.buffer;
40900
- return new E.constructor(J, E.byteOffset, E.byteLength);
40901
+ function Ms(C, L) {
40902
+ var J = L ? il(C.buffer) : C.buffer;
40903
+ return new C.constructor(J, C.byteOffset, C.byteLength);
40901
40904
  }
40902
- function $c(E, L, J) {
40903
- var le = L ? J(xe(E), !0) : xe(E);
40904
- return fe(le, re, new E.constructor());
40905
+ function $c(C, L, J) {
40906
+ var le = L ? J(xe(C), !0) : xe(C);
40907
+ return fe(le, re, new C.constructor());
40905
40908
  }
40906
- function eh(E) {
40907
- var L = new E.constructor(E.source, q.exec(E));
40908
- return L.lastIndex = E.lastIndex, L;
40909
+ function eh(C) {
40910
+ var L = new C.constructor(C.source, q.exec(C));
40911
+ return L.lastIndex = C.lastIndex, L;
40909
40912
  }
40910
- function $d(E, L, J) {
40911
- var le = L ? J(N(E), !0) : N(E);
40912
- return fe(le, we, new E.constructor());
40913
+ function $d(C, L, J) {
40914
+ var le = L ? J(N(C), !0) : N(C);
40915
+ return fe(le, we, new C.constructor());
40913
40916
  }
40914
- function ef(E) {
40915
- return ie ? Object(ie.call(E)) : {};
40917
+ function ef(C) {
40918
+ return ie ? Object(ie.call(C)) : {};
40916
40919
  }
40917
- function tf(E, L) {
40918
- var J = L ? il(E.buffer) : E.buffer;
40919
- return new E.constructor(J, E.byteOffset, E.length);
40920
+ function tf(C, L) {
40921
+ var J = L ? il(C.buffer) : C.buffer;
40922
+ return new C.constructor(J, C.byteOffset, C.length);
40920
40923
  }
40921
- function nf(E, L) {
40922
- var J = -1, le = E.length;
40924
+ function nf(C, L) {
40925
+ var J = -1, le = C.length;
40923
40926
  for (L || (L = Array(le)); ++J < le; )
40924
- L[J] = E[J];
40927
+ L[J] = C[J];
40925
40928
  return L;
40926
40929
  }
40927
- function rl(E, L, J, le) {
40930
+ function rl(C, L, J, le) {
40928
40931
  J || (J = {});
40929
- for (var bt = -1, rt = L.length; ++bt < rt; ) {
40930
- var St = L[bt], Lt = le ? le(J[St], E[St], St, J, E) : void 0;
40931
- Kc(J, St, Lt === void 0 ? E[St] : Lt);
40932
+ for (var At = -1, rt = L.length; ++At < rt; ) {
40933
+ var St = L[At], Lt = le ? le(J[St], C[St], St, J, C) : void 0;
40934
+ Kc(J, St, Lt === void 0 ? C[St] : Lt);
40932
40935
  }
40933
40936
  return J;
40934
40937
  }
40935
- function rf(E, L) {
40936
- return rl(E, fr(E), L);
40938
+ function rf(C, L) {
40939
+ return rl(C, fr(C), L);
40937
40940
  }
40938
- function sf(E) {
40939
- return Zd(E, al, fr);
40941
+ function sf(C) {
40942
+ return Zd(C, al, fr);
40940
40943
  }
40941
- function Es(E, L) {
40942
- var J = E.__data__;
40944
+ function Es(C, L) {
40945
+ var J = C.__data__;
40943
40946
  return cf(L) ? J[typeof L == "string" ? "string" : "hash"] : J.map;
40944
40947
  }
40945
- function wi(E, L) {
40946
- var J = He(E, L);
40948
+ function wi(C, L) {
40949
+ var J = He(C, L);
40947
40950
  return qd(J) ? J : void 0;
40948
40951
  }
40949
40952
  var fr = yt ? Ne(yt, Object) : df, pr = Jd;
40950
- (Ot && pr(new Ot(new ArrayBuffer(1))) != M || Ht && pr(new Ht()) != d || Xt && pr(Xt.resolve()) != p || kt && pr(new kt()) != y || on && pr(new on()) != w) && (pr = function(E) {
40951
- var L = et.call(E), J = L == m ? E.constructor : void 0, le = J ? Hn(J) : void 0;
40953
+ (Ot && pr(new Ot(new ArrayBuffer(1))) != M || Ht && pr(new Ht()) != d || Xt && pr(Xt.resolve()) != p || kt && pr(new kt()) != y || on && pr(new on()) != w) && (pr = function(C) {
40954
+ var L = et.call(C), J = L == m ? C.constructor : void 0, le = J ? Hn(J) : void 0;
40952
40955
  if (le)
40953
40956
  switch (le) {
40954
40957
  case _n:
@@ -40964,23 +40967,23 @@ var ou = c9, gd = {}, h9 = {
40964
40967
  }
40965
40968
  return L;
40966
40969
  });
40967
- function of(E) {
40968
- var L = E.length, J = E.constructor(L);
40969
- return L && typeof E[0] == "string" && st.call(E, "index") && (J.index = E.index, J.input = E.input), J;
40970
+ function of(C) {
40971
+ var L = C.length, J = C.constructor(L);
40972
+ return L && typeof C[0] == "string" && st.call(C, "index") && (J.index = C.index, J.input = C.input), J;
40970
40973
  }
40971
- function ji(E) {
40972
- return typeof E.constructor == "function" && !th(E) ? Xd(Ke(E)) : {};
40974
+ function ji(C) {
40975
+ return typeof C.constructor == "function" && !th(C) ? Xd(Ke(C)) : {};
40973
40976
  }
40974
- function af(E, L, J, le) {
40975
- var bt = E.constructor;
40977
+ function af(C, L, J, le) {
40978
+ var At = C.constructor;
40976
40979
  switch (L) {
40977
40980
  case x:
40978
- return il(E);
40981
+ return il(C);
40979
40982
  case a:
40980
40983
  case l:
40981
- return new bt(+E);
40984
+ return new At(+C);
40982
40985
  case M:
40983
- return Ms(E, le);
40986
+ return Ms(C, le);
40984
40987
  case P:
40985
40988
  case I:
40986
40989
  case T:
@@ -40990,80 +40993,80 @@ var ou = c9, gd = {}, h9 = {
40990
40993
  case O:
40991
40994
  case G:
40992
40995
  case S:
40993
- return tf(E, le);
40996
+ return tf(C, le);
40994
40997
  case d:
40995
- return $c(E, le, J);
40998
+ return $c(C, le, J);
40996
40999
  case f:
40997
41000
  case b:
40998
- return new bt(E);
41001
+ return new At(C);
40999
41002
  case g:
41000
- return eh(E);
41003
+ return eh(C);
41001
41004
  case y:
41002
- return $d(E, le, J);
41005
+ return $d(C, le, J);
41003
41006
  case A:
41004
- return ef(E);
41007
+ return ef(C);
41005
41008
  }
41006
41009
  }
41007
- function lf(E, L) {
41008
- return L = L == null ? r : L, !!L && (typeof E == "number" || te.test(E)) && E > -1 && E % 1 == 0 && E < L;
41010
+ function lf(C, L) {
41011
+ return L = L == null ? r : L, !!L && (typeof C == "number" || te.test(C)) && C > -1 && C % 1 == 0 && C < L;
41009
41012
  }
41010
- function cf(E) {
41011
- var L = typeof E;
41012
- return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? E !== "__proto__" : E === null;
41013
+ function cf(C) {
41014
+ var L = typeof C;
41015
+ return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? C !== "__proto__" : C === null;
41013
41016
  }
41014
- function hf(E) {
41015
- return !!Ae && Ae in E;
41017
+ function hf(C) {
41018
+ return !!Ae && Ae in C;
41016
41019
  }
41017
- function th(E) {
41018
- var L = E && E.constructor, J = typeof L == "function" && L.prototype || me;
41019
- return E === J;
41020
+ function th(C) {
41021
+ var L = C && C.constructor, J = typeof L == "function" && L.prototype || me;
41022
+ return C === J;
41020
41023
  }
41021
- function Hn(E) {
41022
- if (E != null) {
41024
+ function Hn(C) {
41025
+ if (C != null) {
41023
41026
  try {
41024
- return he.call(E);
41027
+ return he.call(C);
41025
41028
  } catch (L) {
41026
41029
  }
41027
41030
  try {
41028
- return E + "";
41031
+ return C + "";
41029
41032
  } catch (L) {
41030
41033
  }
41031
41034
  }
41032
41035
  return "";
41033
41036
  }
41034
- function nh(E) {
41035
- return nl(E, !0, !0);
41037
+ function nh(C) {
41038
+ return nl(C, !0, !0);
41036
41039
  }
41037
- function ih(E, L) {
41038
- return E === L || E !== E && L !== L;
41040
+ function ih(C, L) {
41041
+ return C === L || C !== C && L !== L;
41039
41042
  }
41040
- function ho(E) {
41041
- return uf(E) && st.call(E, "callee") && (!We.call(E, "callee") || et.call(E) == s);
41043
+ function ho(C) {
41044
+ return uf(C) && st.call(C, "callee") && (!We.call(C, "callee") || et.call(C) == s);
41042
41045
  }
41043
41046
  var sl = Array.isArray;
41044
- function uo(E) {
41045
- return E != null && sh(E.length) && !ol(E);
41047
+ function uo(C) {
41048
+ return C != null && sh(C.length) && !ol(C);
41046
41049
  }
41047
- function uf(E) {
41048
- return oh(E) && uo(E);
41050
+ function uf(C) {
41051
+ return oh(C) && uo(C);
41049
41052
  }
41050
41053
  var rh = Ye || ff;
41051
- function ol(E) {
41052
- var L = Hi(E) ? et.call(E) : "";
41054
+ function ol(C) {
41055
+ var L = Hi(C) ? et.call(C) : "";
41053
41056
  return L == h || L == u;
41054
41057
  }
41055
- function sh(E) {
41056
- return typeof E == "number" && E > -1 && E % 1 == 0 && E <= r;
41058
+ function sh(C) {
41059
+ return typeof C == "number" && C > -1 && C % 1 == 0 && C <= r;
41057
41060
  }
41058
- function Hi(E) {
41059
- var L = typeof E;
41060
- return !!E && (L == "object" || L == "function");
41061
+ function Hi(C) {
41062
+ var L = typeof C;
41063
+ return !!C && (L == "object" || L == "function");
41061
41064
  }
41062
- function oh(E) {
41063
- return !!E && typeof E == "object";
41065
+ function oh(C) {
41066
+ return !!C && typeof C == "object";
41064
41067
  }
41065
- function al(E) {
41066
- return uo(E) ? ao(E) : Kd(E);
41068
+ function al(C) {
41069
+ return uo(C) ? ao(C) : Kd(C);
41067
41070
  }
41068
41071
  function df() {
41069
41072
  return [];
@@ -41088,130 +41091,130 @@ var vd = {}, d9 = {
41088
41091
  var ae = typeof di == "object" && di && di.Object === Object && di, re = typeof self == "object" && self && self.Object === Object && self, we = ae || re || Function("return this")(), Be = n && !n.nodeType && n, oe = Be && !0 && e && !e.nodeType && e, fe = oe && oe.exports === Be, Te = fe && ae.process, He = function() {
41089
41092
  try {
41090
41093
  return Te && Te.binding && Te.binding("util");
41091
- } catch (E) {
41094
+ } catch (C) {
41092
41095
  }
41093
41096
  }(), mt = He && He.isTypedArray;
41094
- function xe(E, L) {
41095
- for (var J = -1, le = E == null ? 0 : E.length, bt = 0, rt = []; ++J < le; ) {
41096
- var St = E[J];
41097
- L(St, J, E) && (rt[bt++] = St);
41097
+ function xe(C, L) {
41098
+ for (var J = -1, le = C == null ? 0 : C.length, At = 0, rt = []; ++J < le; ) {
41099
+ var St = C[J];
41100
+ L(St, J, C) && (rt[At++] = St);
41098
41101
  }
41099
41102
  return rt;
41100
41103
  }
41101
- function Ne(E, L) {
41102
- for (var J = -1, le = L.length, bt = E.length; ++J < le; )
41103
- E[bt + J] = L[J];
41104
- return E;
41104
+ function Ne(C, L) {
41105
+ for (var J = -1, le = L.length, At = C.length; ++J < le; )
41106
+ C[At + J] = L[J];
41107
+ return C;
41105
41108
  }
41106
- function N(E, L) {
41107
- for (var J = -1, le = E == null ? 0 : E.length; ++J < le; )
41108
- if (L(E[J], J, E))
41109
+ function N(C, L) {
41110
+ for (var J = -1, le = C == null ? 0 : C.length; ++J < le; )
41111
+ if (L(C[J], J, C))
41109
41112
  return !0;
41110
41113
  return !1;
41111
41114
  }
41112
- function j(E, L) {
41113
- for (var J = -1, le = Array(E); ++J < E; )
41115
+ function j(C, L) {
41116
+ for (var J = -1, le = Array(C); ++J < C; )
41114
41117
  le[J] = L(J);
41115
41118
  return le;
41116
41119
  }
41117
- function Ce(E) {
41120
+ function Ce(C) {
41118
41121
  return function(L) {
41119
- return E(L);
41122
+ return C(L);
41120
41123
  };
41121
41124
  }
41122
- function me(E, L) {
41123
- return E.has(L);
41125
+ function me(C, L) {
41126
+ return C.has(L);
41124
41127
  }
41125
- function qe(E, L) {
41126
- return E == null ? void 0 : E[L];
41128
+ function qe(C, L) {
41129
+ return C == null ? void 0 : C[L];
41127
41130
  }
41128
- function Ae(E) {
41129
- var L = -1, J = Array(E.size);
41130
- return E.forEach(function(le, bt) {
41131
- J[++L] = [bt, le];
41131
+ function Ae(C) {
41132
+ var L = -1, J = Array(C.size);
41133
+ return C.forEach(function(le, At) {
41134
+ J[++L] = [At, le];
41132
41135
  }), J;
41133
41136
  }
41134
- function he(E, L) {
41137
+ function he(C, L) {
41135
41138
  return function(J) {
41136
- return E(L(J));
41139
+ return C(L(J));
41137
41140
  };
41138
41141
  }
41139
- function st(E) {
41140
- var L = -1, J = Array(E.size);
41141
- return E.forEach(function(le) {
41142
+ function st(C) {
41143
+ var L = -1, J = Array(C.size);
41144
+ return C.forEach(function(le) {
41142
41145
  J[++L] = le;
41143
41146
  }), J;
41144
41147
  }
41145
41148
  var et = Array.prototype, lt = Function.prototype, Re = Object.prototype, tt = we["__core-js_shared__"], Ze = lt.toString, Ke = Re.hasOwnProperty, $ = function() {
41146
- var E = /[^.]+$/.exec(tt && tt.keys && tt.keys.IE_PROTO || "");
41147
- return E ? "Symbol(src)_1." + E : "";
41149
+ var C = /[^.]+$/.exec(tt && tt.keys && tt.keys.IE_PROTO || "");
41150
+ return C ? "Symbol(src)_1." + C : "";
41148
41151
  }(), We = Re.toString, $e = RegExp(
41149
41152
  "^" + Ze.call(Ke).replace(ve, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
41150
41153
  ), yt = fe ? we.Buffer : void 0, Ye = we.Symbol, Pt = we.Uint8Array, Ot = Re.propertyIsEnumerable, Ht = et.splice, Xt = Ye ? Ye.toStringTag : void 0, kt = Object.getOwnPropertySymbols, on = yt ? yt.isBuffer : void 0, an = he(Object.keys, Object), _n = fr(we, "DataView"), ci = fr(we, "Map"), Fi = fr(we, "Promise"), Vi = fr(we, "Set"), V = fr(we, "WeakMap"), se = fr(Object, "create"), ie = Hn(_n), ce = Hn(ci), Oe = Hn(Fi), gt = Hn(Vi), ct = Hn(V), nt = Ye ? Ye.prototype : void 0, ht = nt ? nt.valueOf : void 0;
41151
- function it(E) {
41152
- var L = -1, J = E == null ? 0 : E.length;
41154
+ function it(C) {
41155
+ var L = -1, J = C == null ? 0 : C.length;
41153
41156
  for (this.clear(); ++L < J; ) {
41154
- var le = E[L];
41157
+ var le = C[L];
41155
41158
  this.set(le[0], le[1]);
41156
41159
  }
41157
41160
  }
41158
41161
  function Ut() {
41159
41162
  this.__data__ = se ? se(null) : {}, this.size = 0;
41160
41163
  }
41161
- function Tt(E) {
41162
- var L = this.has(E) && delete this.__data__[E];
41164
+ function Tt(C) {
41165
+ var L = this.has(C) && delete this.__data__[C];
41163
41166
  return this.size -= L ? 1 : 0, L;
41164
41167
  }
41165
- function It(E) {
41168
+ function It(C) {
41166
41169
  var L = this.__data__;
41167
41170
  if (se) {
41168
- var J = L[E];
41171
+ var J = L[C];
41169
41172
  return J === i ? void 0 : J;
41170
41173
  }
41171
- return Ke.call(L, E) ? L[E] : void 0;
41174
+ return Ke.call(L, C) ? L[C] : void 0;
41172
41175
  }
41173
- function vt(E) {
41176
+ function vt(C) {
41174
41177
  var L = this.__data__;
41175
- return se ? L[E] !== void 0 : Ke.call(L, E);
41178
+ return se ? L[C] !== void 0 : Ke.call(L, C);
41176
41179
  }
41177
- function Et(E, L) {
41180
+ function Et(C, L) {
41178
41181
  var J = this.__data__;
41179
- return this.size += this.has(E) ? 0 : 1, J[E] = se && L === void 0 ? i : L, this;
41182
+ return this.size += this.has(C) ? 0 : 1, J[C] = se && L === void 0 ? i : L, this;
41180
41183
  }
41181
41184
  it.prototype.clear = Ut, it.prototype.delete = Tt, it.prototype.get = It, it.prototype.has = vt, it.prototype.set = Et;
41182
- function Dt(E) {
41183
- var L = -1, J = E == null ? 0 : E.length;
41185
+ function Dt(C) {
41186
+ var L = -1, J = C == null ? 0 : C.length;
41184
41187
  for (this.clear(); ++L < J; ) {
41185
- var le = E[L];
41188
+ var le = C[L];
41186
41189
  this.set(le[0], le[1]);
41187
41190
  }
41188
41191
  }
41189
41192
  function jn() {
41190
41193
  this.__data__ = [], this.size = 0;
41191
41194
  }
41192
- function yn(E) {
41193
- var L = this.__data__, J = co(L, E);
41195
+ function yn(C) {
41196
+ var L = this.__data__, J = co(L, C);
41194
41197
  if (J < 0)
41195
41198
  return !1;
41196
41199
  var le = L.length - 1;
41197
41200
  return J == le ? L.pop() : Ht.call(L, J, 1), --this.size, !0;
41198
41201
  }
41199
- function ur(E) {
41200
- var L = this.__data__, J = co(L, E);
41202
+ function ur(C) {
41203
+ var L = this.__data__, J = co(L, C);
41201
41204
  return J < 0 ? void 0 : L[J][1];
41202
41205
  }
41203
- function Zt(E) {
41204
- return co(this.__data__, E) > -1;
41206
+ function Zt(C) {
41207
+ return co(this.__data__, C) > -1;
41205
41208
  }
41206
- function dr(E, L) {
41207
- var J = this.__data__, le = co(J, E);
41208
- return le < 0 ? (++this.size, J.push([E, L])) : J[le][1] = L, this;
41209
+ function dr(C, L) {
41210
+ var J = this.__data__, le = co(J, C);
41211
+ return le < 0 ? (++this.size, J.push([C, L])) : J[le][1] = L, this;
41209
41212
  }
41210
41213
  Dt.prototype.clear = jn, Dt.prototype.delete = yn, Dt.prototype.get = ur, Dt.prototype.has = Zt, Dt.prototype.set = dr;
41211
- function ln(E) {
41212
- var L = -1, J = E == null ? 0 : E.length;
41214
+ function ln(C) {
41215
+ var L = -1, J = C == null ? 0 : C.length;
41213
41216
  for (this.clear(); ++L < J; ) {
41214
- var le = E[L];
41217
+ var le = C[L];
41215
41218
  this.set(le[0], le[1]);
41216
41219
  }
41217
41220
  }
@@ -41222,139 +41225,139 @@ var vd = {}, d9 = {
41222
41225
  string: new it()
41223
41226
  };
41224
41227
  }
41225
- function tl(E) {
41226
- var L = wi(this, E).delete(E);
41228
+ function tl(C) {
41229
+ var L = wi(this, C).delete(C);
41227
41230
  return this.size -= L ? 1 : 0, L;
41228
41231
  }
41229
- function Wd(E) {
41230
- return wi(this, E).get(E);
41232
+ function Wd(C) {
41233
+ return wi(this, C).get(C);
41231
41234
  }
41232
- function Qd(E) {
41233
- return wi(this, E).has(E);
41235
+ function Qd(C) {
41236
+ return wi(this, C).has(C);
41234
41237
  }
41235
- function Yd(E, L) {
41236
- var J = wi(this, E), le = J.size;
41237
- return J.set(E, L), this.size += J.size == le ? 0 : 1, this;
41238
+ function Yd(C, L) {
41239
+ var J = wi(this, C), le = J.size;
41240
+ return J.set(C, L), this.size += J.size == le ? 0 : 1, this;
41238
41241
  }
41239
41242
  ln.prototype.clear = xs, ln.prototype.delete = tl, ln.prototype.get = Wd, ln.prototype.has = Qd, ln.prototype.set = Yd;
41240
- function ao(E) {
41241
- var L = -1, J = E == null ? 0 : E.length;
41243
+ function ao(C) {
41244
+ var L = -1, J = C == null ? 0 : C.length;
41242
41245
  for (this.__data__ = new ln(); ++L < J; )
41243
- this.add(E[L]);
41246
+ this.add(C[L]);
41244
41247
  }
41245
- function Kc(E) {
41246
- return this.__data__.set(E, i), this;
41248
+ function Kc(C) {
41249
+ return this.__data__.set(C, i), this;
41247
41250
  }
41248
- function lo(E) {
41249
- return this.__data__.has(E);
41251
+ function lo(C) {
41252
+ return this.__data__.has(C);
41250
41253
  }
41251
41254
  ao.prototype.add = ao.prototype.push = Kc, ao.prototype.has = lo;
41252
- function Gi(E) {
41253
- var L = this.__data__ = new Dt(E);
41255
+ function Gi(C) {
41256
+ var L = this.__data__ = new Dt(C);
41254
41257
  this.size = L.size;
41255
41258
  }
41256
41259
  function nl() {
41257
41260
  this.__data__ = new Dt(), this.size = 0;
41258
41261
  }
41259
- function Xd(E) {
41260
- var L = this.__data__, J = L.delete(E);
41262
+ function Xd(C) {
41263
+ var L = this.__data__, J = L.delete(C);
41261
41264
  return this.size = L.size, J;
41262
41265
  }
41263
- function Zd(E) {
41264
- return this.__data__.get(E);
41266
+ function Zd(C) {
41267
+ return this.__data__.get(C);
41265
41268
  }
41266
- function Jd(E) {
41267
- return this.__data__.has(E);
41269
+ function Jd(C) {
41270
+ return this.__data__.has(C);
41268
41271
  }
41269
- function qd(E, L) {
41272
+ function qd(C, L) {
41270
41273
  var J = this.__data__;
41271
41274
  if (J instanceof Dt) {
41272
41275
  var le = J.__data__;
41273
41276
  if (!ci || le.length < t - 1)
41274
- return le.push([E, L]), this.size = ++J.size, this;
41277
+ return le.push([C, L]), this.size = ++J.size, this;
41275
41278
  J = this.__data__ = new ln(le);
41276
41279
  }
41277
- return J.set(E, L), this.size = J.size, this;
41280
+ return J.set(C, L), this.size = J.size, this;
41278
41281
  }
41279
41282
  Gi.prototype.clear = nl, Gi.prototype.delete = Xd, Gi.prototype.get = Zd, Gi.prototype.has = Jd, Gi.prototype.set = qd;
41280
- function Kd(E, L) {
41281
- var J = ho(E), le = !J && ih(E), bt = !J && !le && uo(E), rt = !J && !le && !bt && oh(E), St = J || le || bt || rt, Lt = St ? j(E.length, String) : [], dn = Lt.length;
41282
- for (var zt in E)
41283
- (L || Ke.call(E, zt)) && !(St && // Safari 9 has enumerable `arguments.length` in strict mode.
41283
+ function Kd(C, L) {
41284
+ var J = ho(C), le = !J && ih(C), At = !J && !le && uo(C), rt = !J && !le && !At && oh(C), St = J || le || At || rt, Lt = St ? j(C.length, String) : [], dn = Lt.length;
41285
+ for (var zt in C)
41286
+ (L || Ke.call(C, zt)) && !(St && // Safari 9 has enumerable `arguments.length` in strict mode.
41284
41287
  (zt == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
41285
- bt && (zt == "offset" || zt == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
41288
+ At && (zt == "offset" || zt == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
41286
41289
  rt && (zt == "buffer" || zt == "byteLength" || zt == "byteOffset") || // Skip index properties.
41287
41290
  af(zt, dn))) && Lt.push(zt);
41288
41291
  return Lt;
41289
41292
  }
41290
- function co(E, L) {
41291
- for (var J = E.length; J--; )
41292
- if (nh(E[J][0], L))
41293
+ function co(C, L) {
41294
+ for (var J = C.length; J--; )
41295
+ if (nh(C[J][0], L))
41293
41296
  return J;
41294
41297
  return -1;
41295
41298
  }
41296
- function il(E, L, J) {
41297
- var le = L(E);
41298
- return ho(E) ? le : Ne(le, J(E));
41299
+ function il(C, L, J) {
41300
+ var le = L(C);
41301
+ return ho(C) ? le : Ne(le, J(C));
41299
41302
  }
41300
- function Ms(E) {
41301
- return E == null ? E === void 0 ? T : y : Xt && Xt in Object(E) ? pr(E) : th(E);
41303
+ function Ms(C) {
41304
+ return C == null ? C === void 0 ? T : y : Xt && Xt in Object(C) ? pr(C) : th(C);
41302
41305
  }
41303
- function $c(E) {
41304
- return Hi(E) && Ms(E) == a;
41306
+ function $c(C) {
41307
+ return Hi(C) && Ms(C) == a;
41305
41308
  }
41306
- function eh(E, L, J, le, bt) {
41307
- return E === L ? !0 : E == null || L == null || !Hi(E) && !Hi(L) ? E !== E && L !== L : $d(E, L, J, le, eh, bt);
41309
+ function eh(C, L, J, le, At) {
41310
+ return C === L ? !0 : C == null || L == null || !Hi(C) && !Hi(L) ? C !== C && L !== L : $d(C, L, J, le, eh, At);
41308
41311
  }
41309
- function $d(E, L, J, le, bt, rt) {
41310
- var St = ho(E), Lt = ho(L), dn = St ? l : ji(E), zt = Lt ? l : ji(L);
41312
+ function $d(C, L, J, le, At, rt) {
41313
+ var St = ho(C), Lt = ho(L), dn = St ? l : ji(C), zt = Lt ? l : ji(L);
41311
41314
  dn = dn == a ? b : dn, zt = zt == a ? b : zt;
41312
41315
  var Rn = dn == b, Zn = zt == b, bn = dn == zt;
41313
- if (bn && uo(E)) {
41316
+ if (bn && uo(C)) {
41314
41317
  if (!uo(L))
41315
41318
  return !1;
41316
41319
  St = !0, Rn = !1;
41317
41320
  }
41318
41321
  if (bn && !Rn)
41319
- return rt || (rt = new Gi()), St || oh(E) ? rl(E, L, J, le, bt, rt) : rf(E, L, dn, J, le, bt, rt);
41322
+ return rt || (rt = new Gi()), St || oh(C) ? rl(C, L, J, le, At, rt) : rf(C, L, dn, J, le, At, rt);
41320
41323
  if (!(J & r)) {
41321
- var On = Rn && Ke.call(E, "__wrapped__"), In = Zn && Ke.call(L, "__wrapped__");
41324
+ var On = Rn && Ke.call(C, "__wrapped__"), In = Zn && Ke.call(L, "__wrapped__");
41322
41325
  if (On || In) {
41323
- var Fr = On ? E.value() : E, mr = In ? L.value() : L;
41324
- return rt || (rt = new Gi()), bt(Fr, mr, J, le, rt);
41326
+ var Fr = On ? C.value() : C, mr = In ? L.value() : L;
41327
+ return rt || (rt = new Gi()), At(Fr, mr, J, le, rt);
41325
41328
  }
41326
41329
  }
41327
- return bn ? (rt || (rt = new Gi()), sf(E, L, J, le, bt, rt)) : !1;
41330
+ return bn ? (rt || (rt = new Gi()), sf(C, L, J, le, At, rt)) : !1;
41328
41331
  }
41329
- function ef(E) {
41330
- if (!sh(E) || cf(E))
41332
+ function ef(C) {
41333
+ if (!sh(C) || cf(C))
41331
41334
  return !1;
41332
- var L = rh(E) ? $e : ye;
41333
- return L.test(Hn(E));
41335
+ var L = rh(C) ? $e : ye;
41336
+ return L.test(Hn(C));
41334
41337
  }
41335
- function tf(E) {
41336
- return Hi(E) && ol(E.length) && !!be[Ms(E)];
41338
+ function tf(C) {
41339
+ return Hi(C) && ol(C.length) && !!be[Ms(C)];
41337
41340
  }
41338
- function nf(E) {
41339
- if (!hf(E))
41340
- return an(E);
41341
+ function nf(C) {
41342
+ if (!hf(C))
41343
+ return an(C);
41341
41344
  var L = [];
41342
- for (var J in Object(E))
41343
- Ke.call(E, J) && J != "constructor" && L.push(J);
41345
+ for (var J in Object(C))
41346
+ Ke.call(C, J) && J != "constructor" && L.push(J);
41344
41347
  return L;
41345
41348
  }
41346
- function rl(E, L, J, le, bt, rt) {
41347
- var St = J & r, Lt = E.length, dn = L.length;
41349
+ function rl(C, L, J, le, At, rt) {
41350
+ var St = J & r, Lt = C.length, dn = L.length;
41348
41351
  if (Lt != dn && !(St && dn > Lt))
41349
41352
  return !1;
41350
- var zt = rt.get(E);
41353
+ var zt = rt.get(C);
41351
41354
  if (zt && rt.get(L))
41352
41355
  return zt == L;
41353
41356
  var Rn = -1, Zn = !0, bn = J & s ? new ao() : void 0;
41354
- for (rt.set(E, L), rt.set(L, E); ++Rn < Lt; ) {
41355
- var On = E[Rn], In = L[Rn];
41357
+ for (rt.set(C, L), rt.set(L, C); ++Rn < Lt; ) {
41358
+ var On = C[Rn], In = L[Rn];
41356
41359
  if (le)
41357
- var Fr = St ? le(In, On, Rn, L, E, rt) : le(On, In, Rn, E, L, rt);
41360
+ var Fr = St ? le(In, On, Rn, L, C, rt) : le(On, In, Rn, C, L, rt);
41358
41361
  if (Fr !== void 0) {
41359
41362
  if (Fr)
41360
41363
  continue;
@@ -41363,56 +41366,56 @@ var vd = {}, d9 = {
41363
41366
  }
41364
41367
  if (bn) {
41365
41368
  if (!N(L, function(mr, Cs) {
41366
- if (!me(bn, Cs) && (On === mr || bt(On, mr, J, le, rt)))
41369
+ if (!me(bn, Cs) && (On === mr || At(On, mr, J, le, rt)))
41367
41370
  return bn.push(Cs);
41368
41371
  })) {
41369
41372
  Zn = !1;
41370
41373
  break;
41371
41374
  }
41372
- } else if (!(On === In || bt(On, In, J, le, rt))) {
41375
+ } else if (!(On === In || At(On, In, J, le, rt))) {
41373
41376
  Zn = !1;
41374
41377
  break;
41375
41378
  }
41376
41379
  }
41377
- return rt.delete(E), rt.delete(L), Zn;
41380
+ return rt.delete(C), rt.delete(L), Zn;
41378
41381
  }
41379
- function rf(E, L, J, le, bt, rt, St) {
41382
+ function rf(C, L, J, le, At, rt, St) {
41380
41383
  switch (J) {
41381
41384
  case k:
41382
- if (E.byteLength != L.byteLength || E.byteOffset != L.byteOffset)
41385
+ if (C.byteLength != L.byteLength || C.byteOffset != L.byteOffset)
41383
41386
  return !1;
41384
- E = E.buffer, L = L.buffer;
41387
+ C = C.buffer, L = L.buffer;
41385
41388
  case D:
41386
- return !(E.byteLength != L.byteLength || !rt(new Pt(E), new Pt(L)));
41389
+ return !(C.byteLength != L.byteLength || !rt(new Pt(C), new Pt(L)));
41387
41390
  case h:
41388
41391
  case u:
41389
41392
  case g:
41390
- return nh(+E, +L);
41393
+ return nh(+C, +L);
41391
41394
  case d:
41392
- return E.name == L.name && E.message == L.message;
41395
+ return C.name == L.name && C.message == L.message;
41393
41396
  case x:
41394
41397
  case P:
41395
- return E == L + "";
41398
+ return C == L + "";
41396
41399
  case p:
41397
41400
  var Lt = Ae;
41398
41401
  case M:
41399
41402
  var dn = le & r;
41400
- if (Lt || (Lt = st), E.size != L.size && !dn)
41403
+ if (Lt || (Lt = st), C.size != L.size && !dn)
41401
41404
  return !1;
41402
- var zt = St.get(E);
41405
+ var zt = St.get(C);
41403
41406
  if (zt)
41404
41407
  return zt == L;
41405
- le |= s, St.set(E, L);
41406
- var Rn = rl(Lt(E), Lt(L), le, bt, rt, St);
41407
- return St.delete(E), Rn;
41408
+ le |= s, St.set(C, L);
41409
+ var Rn = rl(Lt(C), Lt(L), le, At, rt, St);
41410
+ return St.delete(C), Rn;
41408
41411
  case I:
41409
41412
  if (ht)
41410
- return ht.call(E) == ht.call(L);
41413
+ return ht.call(C) == ht.call(L);
41411
41414
  }
41412
41415
  return !1;
41413
41416
  }
41414
- function sf(E, L, J, le, bt, rt) {
41415
- var St = J & r, Lt = Es(E), dn = Lt.length, zt = Es(L), Rn = zt.length;
41417
+ function sf(C, L, J, le, At, rt) {
41418
+ var St = J & r, Lt = Es(C), dn = Lt.length, zt = Es(L), Rn = zt.length;
41416
41419
  if (dn != Rn && !St)
41417
41420
  return !1;
41418
41421
  for (var Zn = dn; Zn--; ) {
@@ -41420,56 +41423,56 @@ var vd = {}, d9 = {
41420
41423
  if (!(St ? bn in L : Ke.call(L, bn)))
41421
41424
  return !1;
41422
41425
  }
41423
- var On = rt.get(E);
41426
+ var On = rt.get(C);
41424
41427
  if (On && rt.get(L))
41425
41428
  return On == L;
41426
41429
  var In = !0;
41427
- rt.set(E, L), rt.set(L, E);
41430
+ rt.set(C, L), rt.set(L, C);
41428
41431
  for (var Fr = St; ++Zn < dn; ) {
41429
41432
  bn = Lt[Zn];
41430
- var mr = E[bn], Cs = L[bn];
41433
+ var mr = C[bn], Cs = L[bn];
41431
41434
  if (le)
41432
- var dv = St ? le(Cs, mr, bn, L, E, rt) : le(mr, Cs, bn, E, L, rt);
41433
- if (!(dv === void 0 ? mr === Cs || bt(mr, Cs, J, le, rt) : dv)) {
41435
+ var dv = St ? le(Cs, mr, bn, L, C, rt) : le(mr, Cs, bn, C, L, rt);
41436
+ if (!(dv === void 0 ? mr === Cs || At(mr, Cs, J, le, rt) : dv)) {
41434
41437
  In = !1;
41435
41438
  break;
41436
41439
  }
41437
41440
  Fr || (Fr = bn == "constructor");
41438
41441
  }
41439
41442
  if (In && !Fr) {
41440
- var ah = E.constructor, lh = L.constructor;
41441
- ah != lh && "constructor" in E && "constructor" in L && !(typeof ah == "function" && ah instanceof ah && typeof lh == "function" && lh instanceof lh) && (In = !1);
41443
+ var ah = C.constructor, lh = L.constructor;
41444
+ ah != lh && "constructor" in C && "constructor" in L && !(typeof ah == "function" && ah instanceof ah && typeof lh == "function" && lh instanceof lh) && (In = !1);
41442
41445
  }
41443
- return rt.delete(E), rt.delete(L), In;
41446
+ return rt.delete(C), rt.delete(L), In;
41444
41447
  }
41445
- function Es(E) {
41446
- return il(E, al, of);
41448
+ function Es(C) {
41449
+ return il(C, al, of);
41447
41450
  }
41448
- function wi(E, L) {
41449
- var J = E.__data__;
41451
+ function wi(C, L) {
41452
+ var J = C.__data__;
41450
41453
  return lf(L) ? J[typeof L == "string" ? "string" : "hash"] : J.map;
41451
41454
  }
41452
- function fr(E, L) {
41453
- var J = qe(E, L);
41455
+ function fr(C, L) {
41456
+ var J = qe(C, L);
41454
41457
  return ef(J) ? J : void 0;
41455
41458
  }
41456
- function pr(E) {
41457
- var L = Ke.call(E, Xt), J = E[Xt];
41459
+ function pr(C) {
41460
+ var L = Ke.call(C, Xt), J = C[Xt];
41458
41461
  try {
41459
- E[Xt] = void 0;
41462
+ C[Xt] = void 0;
41460
41463
  var le = !0;
41461
41464
  } catch (rt) {
41462
41465
  }
41463
- var bt = We.call(E);
41464
- return le && (L ? E[Xt] = J : delete E[Xt]), bt;
41466
+ var At = We.call(C);
41467
+ return le && (L ? C[Xt] = J : delete C[Xt]), At;
41465
41468
  }
41466
- var of = kt ? function(E) {
41467
- return E == null ? [] : (E = Object(E), xe(kt(E), function(L) {
41468
- return Ot.call(E, L);
41469
+ var of = kt ? function(C) {
41470
+ return C == null ? [] : (C = Object(C), xe(kt(C), function(L) {
41471
+ return Ot.call(C, L);
41469
41472
  }));
41470
41473
  } : df, ji = Ms;
41471
- (_n && ji(new _n(new ArrayBuffer(1))) != k || ci && ji(new ci()) != p || Fi && ji(Fi.resolve()) != A || Vi && ji(new Vi()) != M || V && ji(new V()) != z) && (ji = function(E) {
41472
- var L = Ms(E), J = L == b ? E.constructor : void 0, le = J ? Hn(J) : "";
41474
+ (_n && ji(new _n(new ArrayBuffer(1))) != k || ci && ji(new ci()) != p || Fi && ji(Fi.resolve()) != A || Vi && ji(new Vi()) != M || V && ji(new V()) != z) && (ji = function(C) {
41475
+ var L = Ms(C), J = L == b ? C.constructor : void 0, le = J ? Hn(J) : "";
41473
41476
  if (le)
41474
41477
  switch (le) {
41475
41478
  case ie:
@@ -41485,70 +41488,70 @@ var vd = {}, d9 = {
41485
41488
  }
41486
41489
  return L;
41487
41490
  });
41488
- function af(E, L) {
41489
- return L = L == null ? o : L, !!L && (typeof E == "number" || Je.test(E)) && E > -1 && E % 1 == 0 && E < L;
41491
+ function af(C, L) {
41492
+ return L = L == null ? o : L, !!L && (typeof C == "number" || Je.test(C)) && C > -1 && C % 1 == 0 && C < L;
41490
41493
  }
41491
- function lf(E) {
41492
- var L = typeof E;
41493
- return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? E !== "__proto__" : E === null;
41494
+ function lf(C) {
41495
+ var L = typeof C;
41496
+ return L == "string" || L == "number" || L == "symbol" || L == "boolean" ? C !== "__proto__" : C === null;
41494
41497
  }
41495
- function cf(E) {
41496
- return !!$ && $ in E;
41498
+ function cf(C) {
41499
+ return !!$ && $ in C;
41497
41500
  }
41498
- function hf(E) {
41499
- var L = E && E.constructor, J = typeof L == "function" && L.prototype || Re;
41500
- return E === J;
41501
+ function hf(C) {
41502
+ var L = C && C.constructor, J = typeof L == "function" && L.prototype || Re;
41503
+ return C === J;
41501
41504
  }
41502
- function th(E) {
41503
- return We.call(E);
41505
+ function th(C) {
41506
+ return We.call(C);
41504
41507
  }
41505
- function Hn(E) {
41506
- if (E != null) {
41508
+ function Hn(C) {
41509
+ if (C != null) {
41507
41510
  try {
41508
- return Ze.call(E);
41511
+ return Ze.call(C);
41509
41512
  } catch (L) {
41510
41513
  }
41511
41514
  try {
41512
- return E + "";
41515
+ return C + "";
41513
41516
  } catch (L) {
41514
41517
  }
41515
41518
  }
41516
41519
  return "";
41517
41520
  }
41518
- function nh(E, L) {
41519
- return E === L || E !== E && L !== L;
41521
+ function nh(C, L) {
41522
+ return C === L || C !== C && L !== L;
41520
41523
  }
41521
41524
  var ih = $c(function() {
41522
41525
  return arguments;
41523
- }()) ? $c : function(E) {
41524
- return Hi(E) && Ke.call(E, "callee") && !Ot.call(E, "callee");
41526
+ }()) ? $c : function(C) {
41527
+ return Hi(C) && Ke.call(C, "callee") && !Ot.call(C, "callee");
41525
41528
  }, ho = Array.isArray;
41526
- function sl(E) {
41527
- return E != null && ol(E.length) && !rh(E);
41529
+ function sl(C) {
41530
+ return C != null && ol(C.length) && !rh(C);
41528
41531
  }
41529
41532
  var uo = on || ff;
41530
- function uf(E, L) {
41531
- return eh(E, L);
41533
+ function uf(C, L) {
41534
+ return eh(C, L);
41532
41535
  }
41533
- function rh(E) {
41534
- if (!sh(E))
41536
+ function rh(C) {
41537
+ if (!sh(C))
41535
41538
  return !1;
41536
- var L = Ms(E);
41539
+ var L = Ms(C);
41537
41540
  return L == f || L == m || L == c || L == w;
41538
41541
  }
41539
- function ol(E) {
41540
- return typeof E == "number" && E > -1 && E % 1 == 0 && E <= o;
41542
+ function ol(C) {
41543
+ return typeof C == "number" && C > -1 && C % 1 == 0 && C <= o;
41541
41544
  }
41542
- function sh(E) {
41543
- var L = typeof E;
41544
- return E != null && (L == "object" || L == "function");
41545
+ function sh(C) {
41546
+ var L = typeof C;
41547
+ return C != null && (L == "object" || L == "function");
41545
41548
  }
41546
- function Hi(E) {
41547
- return E != null && typeof E == "object";
41549
+ function Hi(C) {
41550
+ return C != null && typeof C == "object";
41548
41551
  }
41549
41552
  var oh = mt ? Ce(mt) : tf;
41550
- function al(E) {
41551
- return sl(E) ? Kd(E) : nf(E);
41553
+ function al(C) {
41554
+ return sl(C) ? Kd(C) : nf(C);
41552
41555
  }
41553
41556
  function df() {
41554
41557
  return [];
@@ -44179,7 +44182,7 @@ function nN(e, n, t) {
44179
44182
  1 && t(4, i = (g = (p = u.state) == null ? void 0 : p.unfolded) != null ? g : !1), e.$$.dirty & /*unfolded*/
44180
44183
  16 && t(8, r = !i), e.$$.dirty & /*tag*/
44181
44184
  1 && t(3, s = u.data), e.$$.dirty & /*data*/
44182
- 8 && t(7, o = At((y = s.price) == null ? void 0 : y.value) && ((b = s.price) == null ? void 0 : b.value) !== ""), e.$$.dirty & /*tag*/
44185
+ 8 && t(7, o = bt((y = s.price) == null ? void 0 : y.value) && ((b = s.price) == null ? void 0 : b.value) !== ""), e.$$.dirty & /*tag*/
44183
44186
  1 && t(6, a = u.data.theme || "light"), e.$$.dirty & /*tagsOffsetHeight, maxTagsLength*/
44184
44187
  1026 && d > 40 && t(10, l = l - 1), e.$$.dirty & /*data, maxTagsLength*/
44185
44188
  1032 && t(2, c = ((A = s.brandTags) == null ? void 0 : A.slice(0, l).filter(Boolean)) || []), e.$$.dirty & /*data, maxTagsLength, primaryTags*/
@@ -46293,7 +46296,7 @@ function s8(e) {
46293
46296
  const [n, t, i, r] = e, s = n.distanceTo(t), o = t.distanceTo(i), a = i.distanceTo(r), l = r.distanceTo(n), c = n.distanceTo(i), h = t.distanceTo(r);
46294
46297
  return s === a && o === l && c === h;
46295
46298
  }
46296
- class dp extends C.Mesh {
46299
+ class dp extends E.Mesh {
46297
46300
  /**
46298
46301
  * @description 生成一个四边形的Mesh
46299
46302
  * @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
@@ -46311,7 +46314,7 @@ class dp extends C.Mesh {
46311
46314
  return t !== null && t.remove(this), this;
46312
46315
  }
46313
46316
  }
46314
- class LM extends C.BufferGeometry {
46317
+ class LM extends E.BufferGeometry {
46315
46318
  /**
46316
46319
  * @description 生成一个四边形的BufferGeometry,原点取 points[0],即左下角
46317
46320
  * @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
@@ -46326,7 +46329,7 @@ class LM extends C.BufferGeometry {
46326
46329
  console.error("Invalid number of points, it's not a quadrangle");
46327
46330
  return;
46328
46331
  }
46329
- const [s, o, a, l] = t, [c, h, u, d] = [new C.Vector2(0, 0), new C.Vector2(1, 0), new C.Vector2(1, 1), new C.Vector2(0, 1)], f = [], m = [];
46332
+ const [s, o, a, l] = t, [c, h, u, d] = [new E.Vector2(0, 0), new E.Vector2(1, 0), new E.Vector2(1, 1), new E.Vector2(0, 1)], f = [], m = [];
46330
46333
  f.push(...s.toArray()), m.push(...c.toArray());
46331
46334
  for (let g = 1; g < r; g++)
46332
46335
  f.push(
@@ -46345,7 +46348,7 @@ class LM extends C.BufferGeometry {
46345
46348
  const p = [];
46346
46349
  for (let g = 0; g < r; g++)
46347
46350
  p.push(g, g + 1, r * 2 - g, g, r * 2 - g, r * 2 + 1 - g);
46348
- this.setAttribute("position", new C.BufferAttribute(new Float32Array(f), 3)), this.setAttribute("uv", new C.BufferAttribute(new Float32Array(m), 2)), this.setIndex(new C.BufferAttribute(new Uint32Array(p), 1));
46351
+ this.setAttribute("position", new E.BufferAttribute(new Float32Array(f), 3)), this.setAttribute("uv", new E.BufferAttribute(new Float32Array(m), 2)), this.setIndex(new E.BufferAttribute(new Uint32Array(p), 1));
46349
46352
  }
46350
46353
  }
46351
46354
  const o8 = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
@@ -46355,8 +46358,8 @@ function l8(e, n) {
46355
46358
  let t = !vu;
46356
46359
  const i = n != null ? n : document.createElement("video");
46357
46360
  i.preload = "metadata", i.crossOrigin = "anonymous", i.muted = !0, i.loop = !0, i.playsInline = !0, i.autoplay = !0;
46358
- const r = new C.VideoTexture(i);
46359
- r.minFilter = C.LinearFilter, r.magFilter = C.LinearFilter, r.encoding = C.sRGBEncoding, r.metadataLoaded = !1, i.src = e;
46361
+ const r = new E.VideoTexture(i);
46362
+ r.minFilter = E.LinearFilter, r.magFilter = E.LinearFilter, r.encoding = E.sRGBEncoding, r.metadataLoaded = !1, i.src = e;
46360
46363
  const s = () => {
46361
46364
  r.metadataLoaded || (r.dispatchEvent({ type: "videoLoaded" }), r.metadataLoaded = !0);
46362
46365
  };
@@ -46386,25 +46389,25 @@ function Tl(e, n, t) {
46386
46389
  if (e === "contain") {
46387
46390
  const [i, r, s, o] = n, a = i.distanceTo(r), l = s.distanceTo(o), c = i.distanceTo(o), h = r.distanceTo(s), u = a, d = c, f = u / d;
46388
46391
  if (f > t) {
46389
- const p = d * t, g = new C.Vector3().subVectors(r, i).multiplyScalar((a - p) / 2 / a), y = new C.Vector3().subVectors(s, o).multiplyScalar((l - p) / 2 / l);
46392
+ const p = d * t, g = new E.Vector3().subVectors(r, i).multiplyScalar((a - p) / 2 / a), y = new E.Vector3().subVectors(s, o).multiplyScalar((l - p) / 2 / l);
46390
46393
  return [i.clone().add(g), r.clone().sub(g), s.clone().sub(y), o.clone().add(y)];
46391
46394
  } else if (f < t) {
46392
- const p = u / t, g = new C.Vector3().subVectors(o, i).multiplyScalar((c - p) / 2 / c), y = new C.Vector3().subVectors(s, r).multiplyScalar((h - p) / 2 / h);
46395
+ const p = u / t, g = new E.Vector3().subVectors(o, i).multiplyScalar((c - p) / 2 / c), y = new E.Vector3().subVectors(s, r).multiplyScalar((h - p) / 2 / h);
46393
46396
  return [i.clone().add(g), r.clone().add(y), s.clone().sub(y), o.clone().sub(g)];
46394
46397
  } else
46395
46398
  return n;
46396
46399
  } else
46397
46400
  return console.warn(`objectFit: ${e} is not supported yet`), n;
46398
46401
  }
46399
- class c8 extends C.ShaderMaterial {
46402
+ class c8 extends E.ShaderMaterial {
46400
46403
  constructor(t) {
46401
46404
  super();
46402
46405
  v(this, "transparent", !1);
46403
- v(this, "blending", C.CustomBlending);
46404
- v(this, "blendSrc", C.SrcAlphaFactor);
46405
- v(this, "blendDst", C.OneMinusSrcAlphaFactor);
46406
- v(this, "blendSrcAlpha", C.OneFactor);
46407
- v(this, "blendDstAlpha", C.OneMinusSrcAlphaFactor);
46406
+ v(this, "blending", E.CustomBlending);
46407
+ v(this, "blendSrc", E.SrcAlphaFactor);
46408
+ v(this, "blendDst", E.OneMinusSrcAlphaFactor);
46409
+ v(this, "blendSrcAlpha", E.OneFactor);
46410
+ v(this, "blendDstAlpha", E.OneMinusSrcAlphaFactor);
46408
46411
  v(
46409
46412
  this,
46410
46413
  "vertexShader",
@@ -46435,7 +46438,7 @@ class c8 extends C.ShaderMaterial {
46435
46438
  };
46436
46439
  }
46437
46440
  }
46438
- class kM extends C.Mesh {
46441
+ class kM extends E.Mesh {
46439
46442
  constructor() {
46440
46443
  super(...arguments);
46441
46444
  v(this, "name", "MediaPlane");
@@ -46470,7 +46473,7 @@ class RM extends kM {
46470
46473
  }
46471
46474
  Vx(t).then(({ texture: l, transparent: c }) => {
46472
46475
  var p;
46473
- const h = new C.MeshBasicMaterial({ map: l, transparent: c }), u = Tl(
46476
+ const h = new E.MeshBasicMaterial({ map: l, transparent: c }), u = Tl(
46474
46477
  (p = r == null ? void 0 : r.objectFit) != null ? p : "contain",
46475
46478
  o,
46476
46479
  l.image.width / l.image.height
@@ -46556,7 +46559,7 @@ class OM extends kM {
46556
46559
  return this.coverMesh;
46557
46560
  if (!this.videoCoverSrc)
46558
46561
  return;
46559
- const { texture: i, transparent: r } = yield this.getImageTexture(this.videoCoverSrc), s = new C.MeshBasicMaterial({ transparent: !1, map: i }), o = Tl(this.objectFit, this.cornerPoints, i.image.width / i.image.height), a = new dp(o, s);
46562
+ const { texture: i, transparent: r } = yield this.getImageTexture(this.videoCoverSrc), s = new E.MeshBasicMaterial({ transparent: !1, map: i }), o = Tl(this.objectFit, this.cornerPoints, i.image.width / i.image.height), a = new dp(o, s);
46560
46563
  return a.position.copy(new Se(0, 0, 0)), a.name = "videoCoverMesh", a;
46561
46564
  }))();
46562
46565
  return t && (this.children.includes(this.coverMesh) || (this.add(t), this.coverMesh = t)), t;
@@ -46571,7 +46574,7 @@ class OM extends kM {
46571
46574
  return this.videoMesh;
46572
46575
  if (!this.src)
46573
46576
  return;
46574
- const r = this.getVideoTexture(this.src), s = new C.MeshBasicMaterial({ transparent: !1, map: r }), o = yield new Promise((l) => {
46577
+ const r = this.getVideoTexture(this.src), s = new E.MeshBasicMaterial({ transparent: !1, map: r }), o = yield new Promise((l) => {
46575
46578
  r.metadataLoaded ? l(Tl(this.objectFit, this.cornerPoints, r.image.videoWidth / r.image.videoHeight)) : r.addEventListener(
46576
46579
  "videoLoaded",
46577
46580
  () => l(Tl(this.objectFit, this.cornerPoints, r.image.videoWidth / r.image.videoHeight))
@@ -46808,7 +46811,7 @@ class $g {
46808
46811
  const f = n.workUtil.transform;
46809
46812
  return Array.isArray(d) && d.length === 4 ? d.map(Ft).map((m) => Sc(m, f).toArray()) : Sc(Ft(d), f).toArray();
46810
46813
  })(), this.matrix = t.matrix ? (() => {
46811
- const d = new C.Matrix4().fromArray(t.matrix);
46814
+ const d = new E.Matrix4().fromArray(t.matrix);
46812
46815
  return d.premultiply(n.workUtil.transform), d.elements;
46813
46816
  })() : t.matrix, this.initialConfig = s, this.computedConfig = o, this.stickType = i, this.config = t.config, this.fiveState = t.fiveState, this.normal = t.normal, this.cache = new zc(), this.hooks = new En(), Object.keys(t).forEach((d) => {
46814
46817
  this[d] === void 0 && t[d] !== void 0 && (this[d] = t[d]);
@@ -47144,7 +47147,7 @@ class $g {
47144
47147
  if ((() => {
47145
47148
  var o;
47146
47149
  const s = i();
47147
- if (At((o = this.fiveState) == null ? void 0 : o.panoIndex) && n.entryFromModel) {
47150
+ if (bt((o = this.fiveState) == null ? void 0 : o.panoIndex) && n.entryFromModel) {
47148
47151
  if (Ii(t) && s ? this.entryFromModel = !1 : this.entryFromModel = !0, Ii(t))
47149
47152
  return !0;
47150
47153
  } else
@@ -47173,7 +47176,7 @@ class $g {
47173
47176
  );
47174
47177
  let o = 0, a = 0;
47175
47178
  for (const d of s) {
47176
- const f = new C.Vector3().subVectors(d, r).normalize();
47179
+ const f = new E.Vector3().subVectors(d, r).normalize();
47177
47180
  let m;
47178
47181
  ss.set(r, f);
47179
47182
  const [p] = this.fiveUtil.model.intersectRaycaster(ss);
@@ -47184,7 +47187,7 @@ class $g {
47184
47187
  const x = this.plugin.tags.filter($i).map((P) => {
47185
47188
  var I;
47186
47189
  return (I = P.model) == null ? void 0 : I.object;
47187
- }).filter(At), [M] = ss.intersectObjects(x, !0);
47190
+ }).filter(bt), [M] = ss.intersectObjects(x, !0);
47188
47191
  return M;
47189
47192
  })(), y = r.distanceTo(d), b = (c = t.distanceAccuracy) != null ? c : 0.01;
47190
47193
  m = Math.min(m != null ? m : 1 / 0, (h = g == null ? void 0 : g.distance) != null ? h : 1 / 0), m + b >= y ? o++ : a++;
@@ -47340,7 +47343,7 @@ class zM extends $g {
47340
47343
  this.plugin.hooks.emit("click", { target: "TagModel", tag: this, event: u });
47341
47344
  })
47342
47345
  });
47343
- return l.visible = this.currentVisible, new C.Matrix4().fromArray(this.matrix).decompose(l.position, l.quaternion, l.scale), l.updateWorldMatrix(!0, !0), l.visible = yield this.getVisible(), (h = this.getConfig().modelConfig) != null && h.autoLookAtEnabled && l.lookAt(this.five.camera.position.clone().setY(l.position.y)), l;
47346
+ return l.visible = this.currentVisible, new E.Matrix4().fromArray(this.matrix).decompose(l.position, l.quaternion, l.scale), l.updateWorldMatrix(!0, !0), l.visible = yield this.getVisible(), (h = this.getConfig().modelConfig) != null && h.autoLookAtEnabled && l.lookAt(this.five.camera.position.clone().setY(l.position.y)), l;
47344
47347
  }));
47345
47348
  this.model = { promise: i };
47346
47349
  const r = yield i;
@@ -47354,7 +47357,7 @@ class zM extends $g {
47354
47357
  this.mediaPlane = new RM(this.data.mediaData[0].url, this.data.mediaPosition.map(os), {
47355
47358
  objectFit: this.data.objectFit
47356
47359
  });
47357
- const l = new C.Vector3().addVectors(a[0], a[2]).divideScalar(2);
47360
+ const l = new E.Vector3().addVectors(a[0], a[2]).divideScalar(2);
47358
47361
  this.mediaPlane.position.copy(l), r.add(this.mediaPlane);
47359
47362
  }
47360
47363
  this.computeRenderType() !== "Mesh" && (r.updateTagCss3DObjectMatrix = () => this.plugin.updateTagCss3DObjectMatrix(this, r), r.updateTagCss3DObjectMatrix());
@@ -48112,7 +48115,7 @@ const I8 = {
48112
48115
  }
48113
48116
  }
48114
48117
  };
48115
- class u1 extends C.Raycaster {
48118
+ class u1 extends E.Raycaster {
48116
48119
  intersectObject(n, t = !0, i = []) {
48117
48120
  return Hm(n, this, i, t), i.sort(d1), i;
48118
48121
  }
@@ -48692,7 +48695,7 @@ class D8 {
48692
48695
  });
48693
48696
  }
48694
48697
  }
48695
- const L8 = new C.Vector2();
48698
+ const L8 = new E.Vector2();
48696
48699
  class k8 extends $g {
48697
48700
  constructor(t, i) {
48698
48701
  super(t, i);
@@ -48791,7 +48794,7 @@ class k8 extends $g {
48791
48794
  }
48792
48795
  }
48793
48796
  computeNormal() {
48794
- return new C.Vector3().fromArray(this.normal);
48797
+ return new E.Vector3().fromArray(this.normal);
48795
48798
  }
48796
48799
  }
48797
48800
  const R8 = /* @__PURE__ */ new Map(), O8 = /* @__PURE__ */ new Map();
@@ -49646,7 +49649,7 @@ class Um extends T8 {
49646
49649
  return (i = t.getConfig().modelConfig) == null ? void 0 : i.autoLookAtEnabled;
49647
49650
  }).forEach((t) => {
49648
49651
  var c;
49649
- const i = new C.Mesh(new C.BoxGeometry(), new C.MeshBasicMaterial()), r = (c = t.model) == null ? void 0 : c.object;
49652
+ const i = new E.Mesh(new E.BoxGeometry(), new E.MeshBasicMaterial()), r = (c = t.model) == null ? void 0 : c.object;
49650
49653
  if (!r)
49651
49654
  return;
49652
49655
  i.position.copy(r.position), i.quaternion.copy(r.quaternion);
@@ -50334,7 +50337,7 @@ class Wm {
50334
50337
  v(this, "geometryStyle", {});
50335
50338
  v(this, "materialStyle", {});
50336
50339
  v(this, "meshStyle", {});
50337
- v(this, "group", new C.Group());
50340
+ v(this, "group", new E.Group());
50338
50341
  v(this, "meshWithDepthTest");
50339
50342
  v(this, "meshWithoutDepthTest");
50340
50343
  v(this, "five");
@@ -50413,18 +50416,18 @@ class Wm {
50413
50416
  v(this, "logError", (n) => lM("GuideLineModeItem: ", n));
50414
50417
  var s, o;
50415
50418
  this.five = n, this.mode = t.mode, this.plugin = t.plugin, this.parent = t.parent, this.group.name = "GuideLineModeItem";
50416
- const i = new C.BufferGeometry(), r = new C.ShaderMaterial({
50419
+ const i = new E.BufferGeometry(), r = new E.ShaderMaterial({
50417
50420
  vertexShader: rF,
50418
50421
  fragmentShader: sF,
50419
50422
  transparent: !0,
50420
50423
  uniforms: {
50421
50424
  map: { value: null },
50422
50425
  useMapColor: { value: 0 },
50423
- mapColor: { value: new C.Color() },
50426
+ mapColor: { value: new E.Color() },
50424
50427
  mapOpacity: { value: 1 },
50425
- backgroundColor: { value: new C.Color() },
50428
+ backgroundColor: { value: new E.Color() },
50426
50429
  backgroundOpacity: { value: 0 },
50427
- borderColor: { value: new C.Color() },
50430
+ borderColor: { value: new E.Color() },
50428
50431
  borderOpacity: { value: 0 },
50429
50432
  backgroundClip: { value: 0 },
50430
50433
  borderWidth: { value: 0.05 },
@@ -50438,7 +50441,7 @@ class Wm {
50438
50441
  excludeMaxV: { value: -1 }
50439
50442
  }
50440
50443
  });
50441
- this.meshWithDepthTest = new C.Mesh(i, r), this.meshWithoutDepthTest = new C.Mesh(i, r.clone()), this.meshWithoutDepthTest.material.depthTest = !1, this.meshWithDepthTest.name = "GuideLineModeItemWithDepthTest", this.meshWithoutDepthTest.name = "GuideLineModeItemWithoutDepthTest", this.group.add(this.meshWithDepthTest), this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd), this.onFivePanoArrived(this.five.getCurrentState().panoIndex)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (s = this.five.model) == null ? void 0 : s.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("panoArrived", this.onFivePanoArrived), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange), this.five.needsRender = !0;
50444
+ this.meshWithDepthTest = new E.Mesh(i, r), this.meshWithoutDepthTest = new E.Mesh(i, r.clone()), this.meshWithoutDepthTest.material.depthTest = !1, this.meshWithDepthTest.name = "GuideLineModeItemWithDepthTest", this.meshWithoutDepthTest.name = "GuideLineModeItemWithoutDepthTest", this.group.add(this.meshWithDepthTest), this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd), this.onFivePanoArrived(this.five.getCurrentState().panoIndex)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (s = this.five.model) == null ? void 0 : s.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("panoArrived", this.onFivePanoArrived), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange), this.five.needsRender = !0;
50442
50445
  }
50443
50446
  get panoGroup() {
50444
50447
  return this._panoGroup;
@@ -50487,7 +50490,7 @@ class Wm {
50487
50490
  return this.logError("setPathByPanoGroup: work is not ready");
50488
50491
  const i = iF(n);
50489
50492
  if (this._panoGroup = i, (t == null ? void 0 : t.skipPanoGroup) !== void 0) {
50490
- const s = t.skipPanoGroup ? i.map((o) => this.plugin.workUtil.getObserverStandingPosition(o)).filter(At) : null;
50493
+ const s = t.skipPanoGroup ? i.map((o) => this.plugin.workUtil.getObserverStandingPosition(o)).filter(bt) : null;
50491
50494
  this.skippedPositions = s;
50492
50495
  }
50493
50496
  const r = this.getPathFromPanoGroup(i, this.five.work, t);
@@ -50524,7 +50527,7 @@ class Wm {
50524
50527
  /** 设置模型状态 */
50525
50528
  setMeshStyle(n) {
50526
50529
  if (n != null && n.translate) {
50527
- const r = new C.Vector3(), s = new C.Vector3().fromArray(n.translate);
50530
+ const r = new E.Vector3(), s = new E.Vector3().fromArray(n.translate);
50528
50531
  s.y += this.heightOffset, r.add(s), this.group.position.copy(r), i(this.startTagContainer, s), i(this.endTagContainer, s);
50529
50532
  }
50530
50533
  const t = R(R({}, this.meshStyle), n);
@@ -50532,7 +50535,7 @@ class Wm {
50532
50535
  function i(r, s) {
50533
50536
  if (!(r != null && r.tag))
50534
50537
  return;
50535
- const o = new C.Vector3().fromArray(r.tag.position);
50538
+ const o = new E.Vector3().fromArray(r.tag.position);
50536
50539
  o.add(s);
50537
50540
  const a = o.toArray();
50538
50541
  r.plugin.changeTagById(r.tag.id, { position: a });
@@ -50540,20 +50543,20 @@ class Wm {
50540
50543
  }
50541
50544
  /** 设置 Y 轴上的偏移量,为了让多条路线在高度上错开,每个路线都需要有个额外的 offset */
50542
50545
  setHeightOffset(n) {
50543
- const t = new C.Vector3();
50544
- this.meshStyle.translate && t.add(new C.Vector3().fromArray(this.meshStyle.translate)), t.setY(t.y + n), this.group.position.copy(t), this.heightOffset = n, this.five.needsRender = !0;
50546
+ const t = new E.Vector3();
50547
+ this.meshStyle.translate && t.add(new E.Vector3().fromArray(this.meshStyle.translate)), t.setY(t.y + n), this.group.position.copy(t), this.heightOffset = n, this.five.needsRender = !0;
50545
50548
  }
50546
50549
  /** 设置贴图颜色 */
50547
50550
  setColor(n) {
50548
50551
  if (this.disposed)
50549
50552
  return this.logError("disposed");
50550
- n && (this.meshWithDepthTest.material.uniforms.mapColor.value = new C.Color().set(n), this.meshWithoutDepthTest.material.uniforms.mapColor.value = new C.Color().set(n)), this.meshWithDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithoutDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50553
+ n && (this.meshWithDepthTest.material.uniforms.mapColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.mapColor.value = new E.Color().set(n)), this.meshWithDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithoutDepthTest.material.uniforms.useMapColor.value = n ? 1 : 0, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50551
50554
  }
50552
50555
  /** 设置边框 */
50553
50556
  setBorderColor(n) {
50554
50557
  if (this.disposed)
50555
50558
  return this.logError("disposed");
50556
- this.meshWithDepthTest.material.uniforms.borderColor.value = new C.Color().set(n), this.meshWithoutDepthTest.material.uniforms.borderColor.value = new C.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50559
+ this.meshWithDepthTest.material.uniforms.borderColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.borderColor.value = new E.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50557
50560
  }
50558
50561
  /** 设置边框透明度 */
50559
50562
  setBorderOpacity(n) {
@@ -50578,7 +50581,7 @@ class Wm {
50578
50581
  setBackgroundColor(n) {
50579
50582
  if (this.disposed)
50580
50583
  return this.logError("disposed");
50581
- this.meshWithDepthTest.material.uniforms.backgroundColor.value = new C.Color().set(n), this.meshWithoutDepthTest.material.uniforms.backgroundColor.value = new C.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50584
+ this.meshWithDepthTest.material.uniforms.backgroundColor.value = new E.Color().set(n), this.meshWithoutDepthTest.material.uniforms.backgroundColor.value = new E.Color().set(n), this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
50582
50585
  }
50583
50586
  /** 设置背景透明度 */
50584
50587
  setBackgroundOpacity(n) {
@@ -50603,7 +50606,7 @@ class Wm {
50603
50606
  if (this.disposed)
50604
50607
  return this.logError("disposed");
50605
50608
  this.textureUrl = n, Ws(n).then((t) => {
50606
- this.disposed || this.textureUrl === n && (t.wrapT = C.RepeatWrapping, this.textureHasLoaded = !0, this.meshWithDepthTest.material.uniforms.map.value = t, this.meshWithoutDepthTest.material.uniforms.map.value = t, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.meshWithDepthTest.material.needsUpdate = !0, this.meshWithoutDepthTest.material.needsUpdate = !0, this.five.needsRender = !0, this.updateVisible());
50609
+ this.disposed || this.textureUrl === n && (t.wrapT = E.RepeatWrapping, this.textureHasLoaded = !0, this.meshWithDepthTest.material.uniforms.map.value = t, this.meshWithoutDepthTest.material.uniforms.map.value = t, this.meshWithDepthTest.material.uniformsNeedUpdate = !0, this.meshWithoutDepthTest.material.uniformsNeedUpdate = !0, this.meshWithDepthTest.material.needsUpdate = !0, this.meshWithoutDepthTest.material.needsUpdate = !0, this.five.needsRender = !0, this.updateVisible());
50607
50610
  });
50608
50611
  }
50609
50612
  setVisibleFloorIndexes(n) {
@@ -50673,7 +50676,7 @@ class Wm {
50673
50676
  }), r.plugin.load({ tagList: [r.tag] });
50674
50677
  const a = this.meshStyle.translate;
50675
50678
  if (a && o.position) {
50676
- const h = new C.Vector3().fromArray(o.position), u = new C.Vector3().fromArray(a);
50679
+ const h = new E.Vector3().fromArray(o.position), u = new E.Vector3().fromArray(a);
50677
50680
  h.add(u), h.y += this.heightOffset;
50678
50681
  const d = h.toArray();
50679
50682
  r.plugin.changeTagById(r.tag.id, { position: d });
@@ -50707,7 +50710,7 @@ class Wm {
50707
50710
  position: h,
50708
50711
  panoIndex: l
50709
50712
  };
50710
- }).filter(At), o = s.map((l) => l.position.toArray()), a = s.map((l) => l.panoIndex);
50713
+ }).filter(bt), o = s.map((l) => l.position.toArray()), a = s.map((l) => l.panoIndex);
50711
50714
  return [Me(R({ type: "CatmullRomCurve3", points: o }, i), { panoIndexList: a, panoIndexMap: r })];
50712
50715
  }
50713
50716
  }
@@ -50894,7 +50897,7 @@ class VM extends ws {
50894
50897
  }
50895
50898
  function mp(e, n, t) {
50896
50899
  var l, c, h;
50897
- const i = new C.Vector3().fromArray([(l = t.x) != null ? l : 0, (c = t.y) != null ? c : 0, (h = t.z) != null ? h : 0]), r = e.getPointAt(n).clone().add(i), s = e.getTangentAt(n), { longitude: o, latitude: a } = Uc(s);
50900
+ const i = new E.Vector3().fromArray([(l = t.x) != null ? l : 0, (c = t.y) != null ? c : 0, (h = t.z) != null ? h : 0]), r = e.getPointAt(n).clone().add(i), s = e.getTangentAt(n), { longitude: o, latitude: a } = Uc(s);
50898
50901
  return { offset: r.clone(), longitude: o, latitude: a, distance: 0 };
50899
50902
  }
50900
50903
  let GM = class extends VM {
@@ -50940,13 +50943,13 @@ let GM = class extends VM {
50940
50943
  var a, l, c, h, u, d, f, m, p;
50941
50944
  this.handlePause(), this.clear(), this.data = R({ id: wn() }, t);
50942
50945
  const r = (() => {
50943
- if (this.data.path instanceof C.Curve)
50946
+ if (this.data.path instanceof E.Curve)
50944
50947
  return this.data.path.curves[0];
50945
50948
  {
50946
50949
  if (this.data.path.length < 2)
50947
50950
  return null;
50948
50951
  const g = this.data.path.map(Ft);
50949
- return new C.CatmullRomCurve3(g, void 0, "catmullrom", 0.5);
50952
+ return new E.CatmullRomCurve3(g, void 0, "catmullrom", 0.5);
50950
50953
  }
50951
50954
  })();
50952
50955
  if (!r)
@@ -51006,7 +51009,7 @@ let GM = class extends VM {
51006
51009
  };
51007
51010
  function A1(e) {
51008
51011
  const n = Math.abs(Math.cos(e.latitude));
51009
- return new C.Vector3(
51012
+ return new E.Vector3(
51010
51013
  /* x */
51011
51014
  -Math.sin(e.longitude) * n,
51012
51015
  /* y */
@@ -51125,7 +51128,7 @@ class nv extends VM {
51125
51128
  this.five.work || (yield hF(this.five));
51126
51129
  const i = (() => {
51127
51130
  const r = t;
51128
- return typeof r == "object" && r !== null && At(r.version) && r.data ? r.data : r;
51131
+ return typeof r == "object" && r !== null && bt(r.version) && r.data ? r.data : r;
51129
51132
  })();
51130
51133
  if (i.keyframes)
51131
51134
  return {
@@ -51148,7 +51151,7 @@ class nv extends VM {
51148
51151
  const d = this.workUtil.getObserverPosition(l), f = this.workUtil.getObserverPosition(u);
51149
51152
  if (!f || !d || ((p = this.workUtil.getObserver(l)) == null ? void 0 : p.floorIndex) !== ((g = this.workUtil.getObserver(u)) == null ? void 0 : g.floorIndex))
51150
51153
  return;
51151
- const m = new C.Vector3().subVectors(f, d);
51154
+ const m = new E.Vector3().subVectors(f, d);
51152
51155
  return Uc(m.normalize());
51153
51156
  })();
51154
51157
  i.moveType === void 0 || i.moveType === "justMove" ? r.push({
@@ -51640,7 +51643,7 @@ let fF = class extends Br {
51640
51643
  return Array.isArray(o) && o.every((a) => typeof a == "number");
51641
51644
  }
51642
51645
  function r(o, a) {
51643
- return new C.Vector3().fromArray(o).distanceTo(new C.Vector3().fromArray(a)) < 0.01;
51646
+ return new E.Vector3().fromArray(o).distanceTo(new E.Vector3().fromArray(a)) < 0.01;
51644
51647
  }
51645
51648
  function s(o) {
51646
51649
  var l;
@@ -51678,7 +51681,7 @@ const HM = (e, n) => new fF(e, n), pF = HM, LG = /* @__PURE__ */ Object.freeze(/
51678
51681
  }, Symbol.toStringTag, { value: "Module" })), kG = (e, n) => new nv(e, n), RG = (e, n) => new GM(e, n);
51679
51682
  function UM(e, n, t) {
51680
51683
  if (t) {
51681
- const r = new C.Vector3().subVectors(e.position, t).applyQuaternion(e.quaternion.clone().inverse()).applyQuaternion(n).add(t);
51684
+ const r = new E.Vector3().subVectors(e.position, t).applyQuaternion(e.quaternion.clone().inverse()).applyQuaternion(n).add(t);
51682
51685
  e.position.copy(r);
51683
51686
  }
51684
51687
  e.quaternion.copy(n);
@@ -51716,7 +51719,7 @@ class Xc extends ti {
51716
51719
  }
51717
51720
  initialPosition(t) {
51718
51721
  var i, r;
51719
- this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Wa(this.originObject3D)) == null ? void 0 : i.getCenter(new C.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy((r = nx(this.originObject3D)) == null ? void 0 : r.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof Se ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), t && this.position.add(t);
51722
+ this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Wa(this.originObject3D)) == null ? void 0 : i.getCenter(new E.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy((r = nx(this.originObject3D)) == null ? void 0 : r.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof Se ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), t && this.position.add(t);
51720
51723
  }
51721
51724
  setScaleByCamera(t) {
51722
51725
  }
@@ -51750,14 +51753,14 @@ class yF extends Xc {
51750
51753
  }
51751
51754
  class bF extends Xc {
51752
51755
  }
51753
- class AF extends C.Group {
51756
+ class AF extends E.Group {
51754
51757
  constructor(t) {
51755
51758
  super();
51756
51759
  v(this, "direction");
51757
51760
  this.direction = t || "x";
51758
51761
  }
51759
51762
  }
51760
- class x1 extends C.Mesh {
51763
+ class x1 extends E.Mesh {
51761
51764
  constructor(t, i, r) {
51762
51765
  super(t, i);
51763
51766
  v(this, "direction");
@@ -51766,7 +51769,7 @@ class x1 extends C.Mesh {
51766
51769
  }
51767
51770
  function wF(e, n) {
51768
51771
  const { offsetWidth: t, offsetHeight: i } = n, { top: r, left: s } = n.getBoundingClientRect();
51769
- return Object.assign(new C.Vector2(), {
51772
+ return Object.assign(new E.Vector2(), {
51770
51773
  x: (e.x - s) / t * 2 - 1,
51771
51774
  y: -(e.y - r) / i * 2 + 1
51772
51775
  });
@@ -51777,7 +51780,7 @@ function Ud(e, n, t) {
51777
51780
  const i = wF(n, t);
51778
51781
  if (Math.abs(i.x) === 1 || Math.abs(i.y) === 1)
51779
51782
  return;
51780
- const r = new C.Raycaster();
51783
+ const r = new E.Raycaster();
51781
51784
  return r.setFromCamera(i, e), r.params.Points.threshold = 0.1, r;
51782
51785
  }
51783
51786
  function xF(e, n) {
@@ -51792,18 +51795,18 @@ class gp extends AF {
51792
51795
  v(this, "lineHeight", 0.4);
51793
51796
  v(this, "arrowHeight", 0.1);
51794
51797
  this.name = "ArrowGroup";
51795
- const i = new C.Color((h = t.color) != null ? h : 16214315), r = new C.MeshBasicMaterial({
51798
+ const i = new E.Color((h = t.color) != null ? h : 16214315), r = new E.MeshBasicMaterial({
51796
51799
  color: i,
51797
51800
  depthTest: !1,
51798
51801
  depthWrite: !1,
51799
51802
  opacity: 1,
51800
51803
  transparent: !0,
51801
- side: C.DoubleSide
51804
+ side: E.DoubleSide
51802
51805
  });
51803
51806
  this.renderOrder = 50;
51804
- const s = new C.ConeGeometry(0.04, 0.1, 32), o = new x1(s, r.clone(), t.direction);
51807
+ const s = new E.ConeGeometry(0.04, 0.1, 32), o = new x1(s, r.clone(), t.direction);
51805
51808
  o.name = `arrow-${t.direction}`, this.arrow = o;
51806
- const a = 4e-3, l = new C.CylinderGeometry(a, a, 0.4, 32), c = new x1(l, r.clone(), t.direction);
51809
+ const a = 4e-3, l = new E.CylinderGeometry(a, a, 0.4, 32), c = new x1(l, r.clone(), t.direction);
51807
51810
  c.name = `line-${t.direction}`, this.line = c, this.formatArrow(), this.formatLine(), this.add(this.arrow, this.line);
51808
51811
  }
51809
51812
  formatArrow() {
@@ -51820,13 +51823,13 @@ const vp = {
51820
51823
  };
51821
51824
  class ia {
51822
51825
  static get X() {
51823
- return new C.Color(vp.X).convertSRGBToLinear().clone();
51826
+ return new E.Color(vp.X).convertSRGBToLinear().clone();
51824
51827
  }
51825
51828
  static get Y() {
51826
- return new C.Color(vp.Y).convertSRGBToLinear().clone();
51829
+ return new E.Color(vp.Y).convertSRGBToLinear().clone();
51827
51830
  }
51828
51831
  static get Z() {
51829
- return new C.Color(vp.Z).convertSRGBToLinear().clone();
51832
+ return new E.Color(vp.Z).convertSRGBToLinear().clone();
51830
51833
  }
51831
51834
  }
51832
51835
  function iv(e, n) {
@@ -51920,7 +51923,7 @@ class PF extends vF {
51920
51923
  this.removeFromParent(), (i = (t = this.angleTips) == null ? void 0 : t.element) == null || i.remove();
51921
51924
  }
51922
51925
  }
51923
- class yp extends C.Group {
51926
+ class yp extends E.Group {
51924
51927
  constructor(t) {
51925
51928
  super();
51926
51929
  v(this, "direction");
@@ -51942,45 +51945,45 @@ class yp extends C.Group {
51942
51945
  this.remove(this.ring, this.angleSector, this.circle);
51943
51946
  }
51944
51947
  }
51945
- let _F = class extends C.Mesh {
51948
+ let _F = class extends E.Mesh {
51946
51949
  constructor(t) {
51947
51950
  var i;
51948
51951
  super();
51949
51952
  v(this, "direction");
51950
51953
  v(this, "gapAngle", 0.02);
51951
- v(this, "geometry", new C.RingGeometry(0.25, 0.3, 20, 8, this.gapAngle, Math.PI / 2 - this.gapAngle * 2));
51952
- this.material = new C.MeshBasicMaterial({
51954
+ v(this, "geometry", new E.RingGeometry(0.25, 0.3, 20, 8, this.gapAngle, Math.PI / 2 - this.gapAngle * 2));
51955
+ this.material = new E.MeshBasicMaterial({
51953
51956
  opacity: 0.6,
51954
51957
  color: (i = t.color) != null ? i : 16777215,
51955
51958
  transparent: !0,
51956
- side: C.DoubleSide,
51959
+ side: E.DoubleSide,
51957
51960
  depthTest: !1,
51958
51961
  depthWrite: !1
51959
51962
  }), this.renderOrder = 50, this.direction = t.direction, this.geometry.name = `RotateHelperCircleGeometry-${this.direction}`;
51960
51963
  }
51961
51964
  };
51962
- class IF extends C.Group {
51965
+ class IF extends E.Group {
51963
51966
  constructor(t) {
51964
51967
  super();
51965
51968
  v(this, "direction");
51966
51969
  this.direction = t.direction;
51967
51970
  const i = 0.015, r = new Array(8).fill(null).map((s, o) => {
51968
- const a = new C.RingGeometry(0.25, 0.3, 20, 8, Math.PI / 4 * o + i, Math.PI / 4 - i * 2), l = new C.MeshBasicMaterial({
51971
+ const a = new E.RingGeometry(0.25, 0.3, 20, 8, Math.PI / 4 * o + i, Math.PI / 4 - i * 2), l = new E.MeshBasicMaterial({
51969
51972
  opacity: 1,
51970
51973
  color: 16777215,
51971
51974
  depthTest: !1,
51972
51975
  depthWrite: !1,
51973
51976
  transparent: !0,
51974
- side: C.DoubleSide
51977
+ side: E.DoubleSide
51975
51978
  });
51976
51979
  this.renderOrder = 50;
51977
- const c = new C.Mesh(a, l);
51980
+ const c = new E.Mesh(a, l);
51978
51981
  return c.name = `AxesDashedRing-${this.direction}-${o}`, c;
51979
51982
  });
51980
51983
  this.add(...r);
51981
51984
  }
51982
51985
  }
51983
- class SF extends C.Mesh {
51986
+ class SF extends E.Mesh {
51984
51987
  constructor(t) {
51985
51988
  var r;
51986
51989
  super();
@@ -51989,23 +51992,23 @@ class SF extends C.Mesh {
51989
51992
  v(this, "angleDirection");
51990
51993
  switch (t.direction) {
51991
51994
  case "x":
51992
- this.baseAxes = new C.Vector3(0, 0, 1);
51995
+ this.baseAxes = new E.Vector3(0, 0, 1);
51993
51996
  break;
51994
51997
  case "y":
51995
- this.baseAxes = new C.Vector3(1, 0, 0);
51998
+ this.baseAxes = new E.Vector3(1, 0, 0);
51996
51999
  break;
51997
52000
  case "z":
51998
- this.baseAxes = new C.Vector3(1, 0, 0);
52001
+ this.baseAxes = new E.Vector3(1, 0, 0);
51999
52002
  break;
52000
52003
  }
52001
52004
  const i = 0.3 + 5e-4;
52002
- this.geometry = new C.CircleGeometry(i, 48, 0, 1e-4), this.material = new C.MeshBasicMaterial({
52005
+ this.geometry = new E.CircleGeometry(i, 48, 0, 1e-4), this.material = new E.MeshBasicMaterial({
52003
52006
  opacity: 0.4,
52004
52007
  color: (r = t.color) != null ? r : 16777215,
52005
52008
  depthTest: !1,
52006
52009
  depthWrite: !1,
52007
52010
  transparent: !0,
52008
- side: C.DoubleSide
52011
+ side: E.DoubleSide
52009
52012
  }), this.renderOrder = 50, this.direction = t.direction, this.angleDirection = this.direction === "z" ? 1 : -1;
52010
52013
  }
52011
52014
  }
@@ -52115,15 +52118,15 @@ class DF extends bF {
52115
52118
  var s;
52116
52119
  const r = (s = this.css3DInstance) == null ? void 0 : s.css3DObject;
52117
52120
  if (r) {
52118
- const o = new C.Vector3().subVectors(r.position, i).applyQuaternion(t).add(i);
52121
+ const o = new E.Vector3().subVectors(r.position, i).applyQuaternion(t).add(i);
52119
52122
  r.position.copy(o), r.applyQuaternion(t);
52120
52123
  }
52121
52124
  if (this.plane) {
52122
- const o = new C.Vector3().subVectors(this.plane.position, i).applyQuaternion(t).add(i);
52125
+ const o = new E.Vector3().subVectors(this.plane.position, i).applyQuaternion(t).add(i);
52123
52126
  this.plane.position.copy(o), this.plane.applyQuaternion(t);
52124
52127
  }
52125
52128
  this.cornerPositions.forEach((o) => {
52126
- const a = new C.Vector3().subVectors(o, i).applyQuaternion(t).add(i);
52129
+ const a = new E.Vector3().subVectors(o, i).applyQuaternion(t).add(i);
52127
52130
  o.copy(a);
52128
52131
  });
52129
52132
  }
@@ -52189,7 +52192,7 @@ class LF extends gF {
52189
52192
  v(this, "outline");
52190
52193
  v(this, "originObject");
52191
52194
  v(this, "positionAttribute");
52192
- this.originObject = t, this.positionAttribute = new C.BufferAttribute(new Float32Array(8 * 3), 3), this.box = this.createBox(), this.outline = this.createOutline(), this.add(this.box, this.outline), this.update();
52195
+ this.originObject = t, this.positionAttribute = new E.BufferAttribute(new Float32Array(8 * 3), 3), this.box = this.createBox(), this.outline = this.createOutline(), this.add(this.box, this.outline), this.update();
52193
52196
  }
52194
52197
  raycasterIntersectObject(t, i) {
52195
52198
  return t.intersectObject(this, !1, i);
@@ -52205,14 +52208,14 @@ class LF extends gF {
52205
52208
  this.positionAttribute.setXYZ(0, r.x, r.y, r.z), this.positionAttribute.setXYZ(1, i.x, r.y, r.z), this.positionAttribute.setXYZ(2, i.x, i.y, r.z), this.positionAttribute.setXYZ(3, r.x, i.y, r.z), this.positionAttribute.setXYZ(4, r.x, r.y, i.z), this.positionAttribute.setXYZ(5, i.x, r.y, i.z), this.positionAttribute.setXYZ(6, i.x, i.y, i.z), this.positionAttribute.setXYZ(7, r.x, i.y, i.z), this.positionAttribute.needsUpdate = !0;
52206
52209
  }
52207
52210
  createOutline() {
52208
- const t = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), i = new C.BufferGeometry();
52209
- i.setIndex(new C.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
52210
- const r = new C.LineBasicMaterial({
52211
+ const t = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), i = new E.BufferGeometry();
52212
+ i.setIndex(new E.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
52213
+ const r = new E.LineBasicMaterial({
52211
52214
  color: 64767,
52212
52215
  linewidth: 1,
52213
52216
  opacity: 1,
52214
52217
  toneMapped: !1
52215
- }), s = new C.LineSegments(i, r);
52218
+ }), s = new E.LineSegments(i, r);
52216
52219
  return s.matrixAutoUpdate = !1, s;
52217
52220
  }
52218
52221
  createBox() {
@@ -52253,19 +52256,19 @@ class LF extends gF {
52253
52256
  6,
52254
52257
  7,
52255
52258
  3
52256
- ]), i = new C.BufferGeometry();
52257
- i.setIndex(new C.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
52258
- const r = new C.MeshBasicMaterial({
52259
+ ]), i = new E.BufferGeometry();
52260
+ i.setIndex(new E.BufferAttribute(t, 1)), i.setAttribute("position", this.positionAttribute);
52261
+ const r = new E.MeshBasicMaterial({
52259
52262
  color: 64767,
52260
52263
  opacity: 0.1,
52261
52264
  depthTest: !1,
52262
52265
  transparent: !0
52263
52266
  });
52264
- return new C.Mesh(i, r);
52267
+ return new E.Mesh(i, r);
52265
52268
  }
52266
52269
  }
52267
52270
  function Rt(e, n) {
52268
- this._camera = e || null, this._domElement = n || document, this._raycaster = new C.Raycaster(), this._selected = null, this._boundObjs = {};
52271
+ this._camera = e || null, this._domElement = n || document, this._raycaster = new E.Raycaster(), this._selected = null, this._boundObjs = {};
52269
52272
  var t = this;
52270
52273
  this._$onClick = function() {
52271
52274
  t._onClick.apply(t, arguments);
@@ -52365,7 +52368,7 @@ Rt.prototype._bound = function(e, n) {
52365
52368
  Rt.prototype._onMove = function(e, n, t, i) {
52366
52369
  var r = this._boundObjs[e];
52367
52370
  if (!(r === void 0 || r.length === 0)) {
52368
- var s = new C.Vector2();
52371
+ var s = new E.Vector2();
52369
52372
  s.set(n, t), this._raycaster.setFromCamera(s, this._camera);
52370
52373
  var o = this._raycaster.intersectObjects(r), a = this._selected;
52371
52374
  if (o.length > 0) {
@@ -52379,7 +52382,7 @@ Rt.prototype._onMove = function(e, n, t, i) {
52379
52382
  Rt.prototype._onEvent = function(e, n, t, i) {
52380
52383
  var r = this._boundObjs[e];
52381
52384
  if (!(r === void 0 || r.length === 0)) {
52382
- var s = new C.Vector2();
52385
+ var s = new E.Vector2();
52383
52386
  s.set(n, t), this._raycaster.setFromCamera(s, this._camera);
52384
52387
  var o = this._raycaster.intersectObjects(r, !0);
52385
52388
  if (o.length !== 0) {
@@ -52494,12 +52497,12 @@ class Zc {
52494
52497
  initialHelperQuaternion() {
52495
52498
  var a, l, c;
52496
52499
  this.helperObject3D.initQuaternion();
52497
- const n = (a = this.config.xAxis) != null ? a : new C.Vector3(1, 0, 0), t = (l = this.config.yAxis) != null ? l : new C.Vector3(0, 1, 0), i = (c = this.config.zAxis) != null ? c : new C.Vector3(0, 0, 1), r = new C.Quaternion();
52498
- r.setFromUnitVectors(new C.Vector3(1, 0, 0), n.normalize());
52499
- const s = new C.Quaternion();
52500
- s.setFromUnitVectors(new C.Vector3(0, 1, 0), t.normalize());
52501
- const o = new C.Quaternion();
52502
- o.setFromUnitVectors(new C.Vector3(0, 0, 1), i.normalize()), this.helperObject3D.quaternion.premultiply(r), this.helperObject3D.quaternion.premultiply(s), this.helperObject3D.quaternion.premultiply(o);
52500
+ const n = (a = this.config.xAxis) != null ? a : new E.Vector3(1, 0, 0), t = (l = this.config.yAxis) != null ? l : new E.Vector3(0, 1, 0), i = (c = this.config.zAxis) != null ? c : new E.Vector3(0, 0, 1), r = new E.Quaternion();
52501
+ r.setFromUnitVectors(new E.Vector3(1, 0, 0), n.normalize());
52502
+ const s = new E.Quaternion();
52503
+ s.setFromUnitVectors(new E.Vector3(0, 1, 0), t.normalize());
52504
+ const o = new E.Quaternion();
52505
+ o.setFromUnitVectors(new E.Vector3(0, 0, 1), i.normalize()), this.helperObject3D.quaternion.premultiply(r), this.helperObject3D.quaternion.premultiply(s), this.helperObject3D.quaternion.premultiply(o);
52503
52506
  }
52504
52507
  enable() {
52505
52508
  this.enabled || (this.enabled = !0, this.scene.add(this.helperObject3D), this.helperObject3D.enable(), this.render());
@@ -52583,15 +52586,15 @@ class Zc {
52583
52586
  }
52584
52587
  updateOffsetByScale(n) {
52585
52588
  if (this.boundingBox && this.config.offset) {
52586
- const t = this.originObject3D.position, i = new C.Vector3().subVectors(this.boundingBox.max, t).multiply(n).add(t), r = new C.Vector3().subVectors(this.boundingBox.min, t).multiply(n).add(t), s = this.calculateOffset(this.config.offset, { min: r, max: i });
52589
+ const t = this.originObject3D.position, i = new E.Vector3().subVectors(this.boundingBox.max, t).multiply(n).add(t), r = new E.Vector3().subVectors(this.boundingBox.min, t).multiply(n).add(t), s = this.calculateOffset(this.config.offset, { min: r, max: i });
52587
52590
  this.helperObject3D.initialPosition(s);
52588
52591
  }
52589
52592
  }
52590
52593
  hoverListener(n, t = 16777215, i = 1) {
52591
- const r = zr(n).filter(At), s = [];
52594
+ const r = zr(n).filter(bt), s = [];
52592
52595
  for (const o of r)
52593
- if (o.material || o instanceof C.Group) {
52594
- const a = o instanceof C.Group ? o.children.filter((d) => d instanceof C.Mesh) : [o];
52596
+ if (o.material || o instanceof E.Group) {
52597
+ const a = o instanceof E.Group ? o.children.filter((d) => d instanceof E.Mesh) : [o];
52595
52598
  a.forEach((d) => {
52596
52599
  d.__originalColor__ = d.material.color.clone(), d.__originalOpacity__ = d.material.opacity;
52597
52600
  });
@@ -52631,7 +52634,7 @@ class Zc {
52631
52634
  return s.object;
52632
52635
  }
52633
52636
  calculateOffset(n, t) {
52634
- const i = new C.Vector3(0, 0, 0);
52637
+ const i = new E.Vector3(0, 0, 0);
52635
52638
  if (!n)
52636
52639
  return i;
52637
52640
  const r = () => t || this.getBox();
@@ -52656,21 +52659,21 @@ class Zc {
52656
52659
  return i;
52657
52660
  }
52658
52661
  }
52659
- const kF = new C.Vector3();
52662
+ const kF = new E.Vector3();
52660
52663
  function ro(e) {
52661
52664
  var d;
52662
52665
  const { raycaster: n, line: t, clampToLine: i = !0 } = e;
52663
52666
  if (((d = n.camera) == null ? void 0 : d.type) === "OrthographicCamera") {
52664
52667
  const f = n.ray.origin.clone();
52665
- return t.closestPointToPoint(f, !1, new C.Vector3());
52668
+ return t.closestPointToPoint(f, !1, new E.Vector3());
52666
52669
  }
52667
- const r = new C.Plane().setFromNormalAndCoplanarPoint(n.ray.direction.clone().normalize(), n.ray.origin), s = r.projectPoint(t.start, new C.Vector3()), o = r.projectPoint(t.end, new C.Vector3()), a = new C.Line3(s, o), l = a.closestPointToPoint(n.ray.origin, i, kF), c = l.distanceTo(o), h = l.distanceTo(s), u = a.distance();
52670
+ const r = new E.Plane().setFromNormalAndCoplanarPoint(n.ray.direction.clone().normalize(), n.ray.origin), s = r.projectPoint(t.start, new E.Vector3()), o = r.projectPoint(t.end, new E.Vector3()), a = new E.Line3(s, o), l = a.closestPointToPoint(n.ray.origin, i, kF), c = l.distanceTo(o), h = l.distanceTo(s), u = a.distance();
52668
52671
  if (c > h && c > u) {
52669
52672
  const f = -l.distanceTo(s) / u, m = t.start.clone().sub(t.end).normalize();
52670
52673
  return t.start.sub(m.clone().multiplyScalar(f * t.distance()));
52671
52674
  } else {
52672
52675
  const f = l.distanceTo(s) / u;
52673
- return new C.Vector3().lerpVectors(t.start, t.end, f);
52676
+ return new E.Vector3().lerpVectors(t.start, t.end, f);
52674
52677
  }
52675
52678
  }
52676
52679
  class RF extends Zc {
@@ -52695,7 +52698,7 @@ class RF extends Zc {
52695
52698
  const r = (i == null ? void 0 : i.object).direction;
52696
52699
  if (!r)
52697
52700
  return this.dragEnd();
52698
- const s = new C.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), o = new C.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), a = new C.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), l = (() => {
52701
+ const s = new E.Vector3(1, 0, 0).applyQuaternion(this.helperObject3D.quaternion), o = new E.Vector3(0, 1, 0).applyQuaternion(this.helperObject3D.quaternion), a = new E.Vector3(0, 0, 1).applyQuaternion(this.helperObject3D.quaternion), l = (() => {
52699
52702
  switch (r) {
52700
52703
  case "x":
52701
52704
  return s;
@@ -52704,7 +52707,7 @@ class RF extends Zc {
52704
52707
  case "z":
52705
52708
  return a;
52706
52709
  }
52707
- })(), c = i.point.clone(), h = new C.Line3(
52710
+ })(), c = i.point.clone(), h = new E.Line3(
52708
52711
  c.clone().sub(l.normalize()),
52709
52712
  c.clone().add(l.normalize())
52710
52713
  );
@@ -52763,7 +52766,7 @@ class RF extends Zc {
52763
52766
  const { point: i, face: r } = t;
52764
52767
  if (!this.hooks.emit("wantToMove", i)) {
52765
52768
  if (this.originObject3D.position.copy(i), (this._moveByMouse.useFaceNormal === !0 || typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.enable !== !1) && r != null && r.normal) {
52766
- const c = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.alignmentVector ? this._moveByMouse.useFaceNormal.alignmentVector : { x: 0, y: 1, z: 0 })(), h = new C.Vector3((o = c.x) != null ? o : 0, (a = c.y) != null ? a : 0, (l = c.z) != null ? l : 0), u = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.fixedFaceNormal ? this._moveByMouse.useFaceNormal.fixedFaceNormal(r.normal) : r.normal)();
52769
+ const c = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.alignmentVector ? this._moveByMouse.useFaceNormal.alignmentVector : { x: 0, y: 1, z: 0 })(), h = new E.Vector3((o = c.x) != null ? o : 0, (a = c.y) != null ? a : 0, (l = c.z) != null ? l : 0), u = (() => typeof this._moveByMouse.useFaceNormal == "object" && this._moveByMouse.useFaceNormal.fixedFaceNormal ? this._moveByMouse.useFaceNormal.fixedFaceNormal(r.normal) : r.normal)();
52767
52770
  this.originObject3D.quaternion.setFromUnitVectors(h, u), this.internalHooks.emit("setObjectRotate", this.originObject3D.quaternion.clone());
52768
52771
  }
52769
52772
  this.internalHooks.emit("setObjectPosition", i), this.hooks.emit("move", i);
@@ -52782,7 +52785,7 @@ class RF extends Zc {
52782
52785
  move(t) {
52783
52786
  if (!this.startInfo)
52784
52787
  return this.dragEnd();
52785
- const { line: i, startVectorProject: r } = this.startInfo, s = this.originObject3D, o = ro({ raycaster: t, line: i, clampToLine: !1 }), a = o.clone().sub(r), l = new C.Matrix4();
52788
+ const { line: i, startVectorProject: r } = this.startInfo, s = this.originObject3D, o = ro({ raycaster: t, line: i, clampToLine: !1 }), a = o.clone().sub(r), l = new E.Matrix4();
52786
52789
  l.setPosition(a);
52787
52790
  const c = s.position.clone().applyMatrix4(l);
52788
52791
  this.hooks.emit("wantToMove", c) || (s.applyMatrix4(l), r.copy(o), this.internalHooks.emit("applyObjectPosition", { matrix: l }), this.hooks.emit("move", c));
@@ -52947,7 +52950,7 @@ class VF {
52947
52950
  function bp(e) {
52948
52951
  return e * Math.PI / 180;
52949
52952
  }
52950
- const Ap = new C.Quaternion();
52953
+ const Ap = new E.Quaternion();
52951
52954
  class GF extends Zc {
52952
52955
  constructor(...t) {
52953
52956
  var c, h, u;
@@ -52966,7 +52969,7 @@ class GF extends Zc {
52966
52969
  return this.helperObject3D.position.clone();
52967
52970
  }
52968
52971
  setRotateAngle(t) {
52969
- const { x: i = 0, y: r = 0, z: s = 0 } = t, o = new C.Euler(bp(i), bp(r), bp(s)), a = new C.Quaternion().setFromEuler(o);
52972
+ const { x: i = 0, y: r = 0, z: s = 0 } = t, o = new E.Euler(bp(i), bp(r), bp(s)), a = new E.Quaternion().setFromEuler(o);
52970
52973
  if (this.hooks.emit("wantToRotate", a))
52971
52974
  return;
52972
52975
  const { originObject3D: c, rotateCenter: h } = this;
@@ -52995,12 +52998,12 @@ class GF extends Zc {
52995
52998
  a.y += 0.2, this.setTipsPosition(a);
52996
52999
  const l = this.helperObject3D.quaternion.clone(), c = (() => {
52997
53000
  if (r === "x")
52998
- return new C.Vector3(1, 0, 0).applyQuaternion(l);
53001
+ return new E.Vector3(1, 0, 0).applyQuaternion(l);
52999
53002
  if (r === "y")
53000
- return new C.Vector3(0, 1, 0).applyQuaternion(l);
53003
+ return new E.Vector3(0, 1, 0).applyQuaternion(l);
53001
53004
  if (r === "z")
53002
- return new C.Vector3(0, 0, 1).applyQuaternion(l);
53003
- })(), h = new C.Plane().setFromNormalAndCoplanarPoint(c, s), d = h.projectPoint(s.clone(), new C.Vector3()).clone().sub(this.rotateCenter), f = d.angleTo(o.baseAxes.clone().applyQuaternion(l));
53005
+ return new E.Vector3(0, 0, 1).applyQuaternion(l);
53006
+ })(), h = new E.Plane().setFromNormalAndCoplanarPoint(c, s), d = h.projectPoint(s.clone(), new E.Vector3()).clone().sub(this.rotateCenter), f = d.angleTo(o.baseAxes.clone().applyQuaternion(l));
53004
53007
  this.setAngleHelperStart(r, f), this.setAngleHelperLength(r, 0), this.startInfo = { direction: r, startVector: d, plane: h, angleHelper: o, angle: 0, helperQuaternion: l.clone() }, Ap.copy(l), this.helperObject3D.showDraggingHelper([r]), this.hooks.emit("rotateStart"), this.isDragging = !0;
53005
53008
  }
53006
53009
  dragging(t) {
@@ -53012,24 +53015,24 @@ class GF extends Zc {
53012
53015
  rotate(t) {
53013
53016
  if (!this.startInfo)
53014
53017
  return this.dragEnd();
53015
- const { startVector: i, plane: r, angleHelper: s, direction: o, helperQuaternion: a } = this.startInfo, { originObject3D: l } = this, c = t.ray.intersectPlane(r, new C.Vector3());
53018
+ const { startVector: i, plane: r, angleHelper: s, direction: o, helperQuaternion: a } = this.startInfo, { originObject3D: l } = this, c = t.ray.intersectPlane(r, new E.Vector3());
53016
53019
  if (!c)
53017
53020
  return;
53018
- const h = this.rotateCenter.clone(), d = r.projectPoint(c.clone(), new C.Vector3()).clone().sub(h);
53021
+ const h = this.rotateCenter.clone(), d = r.projectPoint(c.clone(), new E.Vector3()).clone().sub(h);
53019
53022
  if (i.angleTo(d) === 0)
53020
53023
  return;
53021
- const f = new C.Quaternion().setFromUnitVectors(i.clone().normalize(), d.clone().normalize()), m = l.quaternion.clone().premultiply(f);
53024
+ const f = new E.Quaternion().setFromUnitVectors(i.clone().normalize(), d.clone().normalize()), m = l.quaternion.clone().premultiply(f);
53022
53025
  if (this.hooks.emit("wantToRotate", m))
53023
53026
  return;
53024
- const y = new C.Euler().setFromQuaternion(
53025
- new C.Quaternion().setFromUnitVectors(
53027
+ const y = new E.Euler().setFromQuaternion(
53028
+ new E.Quaternion().setFromUnitVectors(
53026
53029
  i.clone().normalize().applyQuaternion(a.clone().inverse()),
53027
53030
  d.clone().normalize().applyQuaternion(a.clone().inverse())
53028
53031
  ),
53029
53032
  `${o.toUpperCase()}${"XZY".replace(o.toUpperCase(), "")}`
53030
53033
  )[o] * s.angleDirection;
53031
53034
  if (this.startInfo.angle += y, this.setAngleHelperLength(o, this.startInfo.angle), this.setTipsAngle(kg(this.startInfo.angle)), h) {
53032
- const b = new C.Vector3().subVectors(l.position, h).applyQuaternion(f).add(h);
53035
+ const b = new E.Vector3().subVectors(l.position, h).applyQuaternion(f).add(h);
53033
53036
  l.position.copy(b);
53034
53037
  }
53035
53038
  l.applyQuaternion(f), Ap.premultiply(f), this.internalHooks.emit("applyObjectRotate", { quaternion: f, origin: h }), this.hooks.emit("rotate", l.quaternion), this.startInfo.startVector = d;
@@ -53054,17 +53057,17 @@ class GF extends Zc {
53054
53057
  console.warn("angleHelper is undefined");
53055
53058
  return;
53056
53059
  }
53057
- if (r instanceof C.Mesh && r.geometry instanceof C.CircleGeometry) {
53060
+ if (r instanceof E.Mesh && r.geometry instanceof E.CircleGeometry) {
53058
53061
  const { radius: s, segments: o, thetaLength: a } = r.geometry.parameters;
53059
- r.geometry = new C.CircleGeometry(s, o, i, a);
53062
+ r.geometry = new E.CircleGeometry(s, o, i, a);
53060
53063
  } else
53061
53064
  console.warn("only support THREE.CircleGeometry");
53062
53065
  }
53063
53066
  setAngleHelperLength(t, i) {
53064
53067
  const s = i >= 0 ? Math.max(i, 1e-3) : Math.min(i, -1e-3), o = this.getAngleHelper(t);
53065
- if (o instanceof C.Mesh && o.geometry instanceof C.CircleGeometry) {
53068
+ if (o instanceof E.Mesh && o.geometry instanceof E.CircleGeometry) {
53066
53069
  const { radius: a, thetaStart: l } = o.geometry.parameters, c = Math.ceil(Math.abs(s) * (40 / (2 * Math.PI)));
53067
- o.geometry = new C.CircleGeometry(a, c, l, s);
53070
+ o.geometry = new E.CircleGeometry(a, c, l, s);
53068
53071
  } else
53069
53072
  console.warn("only support THREE.CircleGeometry");
53070
53073
  }
@@ -53109,7 +53112,7 @@ class jF extends Zc {
53109
53112
  this.helperObject3D.applyHelperScaleMatrix4(t.matrix, t.origin);
53110
53113
  }
53111
53114
  getDragPlane() {
53112
- const t = new C.Plane(), i = this.helperObject3D.cornerPositions;
53115
+ const t = new E.Plane(), i = this.helperObject3D.cornerPositions;
53113
53116
  if (i.length !== 0)
53114
53117
  return i.length < 3 ? t.setFromNormalAndCoplanarPoint(this.originObject3D.getWorldDirection(new Se()), i[0]) : t.setFromCoplanarPoints(i[0], i[1], i[2]), t;
53115
53118
  }
@@ -53180,9 +53183,9 @@ class jF extends Zc {
53180
53183
  case "nwse":
53181
53184
  g(), y();
53182
53185
  }
53183
- const b = new Se().subVectors(o[1], o[0]).length() / u.length(), A = new Se().subVectors(o[3], o[0]).length() / d.length(), w = new Se(b, A, 1), x = new C.Matrix4().scale(w);
53186
+ const b = new Se().subVectors(o[1], o[0]).length() / u.length(), A = new Se().subVectors(o[3], o[0]).length() / d.length(), w = new Se(b, A, 1), x = new E.Matrix4().scale(w);
53184
53187
  i.isCSS3DObjectPlus ? i.applyScaleMatrix4(x) : i.scale.applyMatrix4(x), r.position.copy(a);
53185
- const M = new Se().addVectors(o[0], o[2]).divideScalar(2), P = new Se().subVectors(M, l), I = new C.Matrix4().setPosition(P);
53188
+ const M = new Se().addVectors(o[0], o[2]).divideScalar(2), P = new Se().subVectors(M, l), I = new E.Matrix4().setPosition(P);
53186
53189
  i.applyMatrix4(I), (T = this.helperObject3D.css3DInstance) == null || T.css3DObject.applyMatrix4(I), (z = this.helperObject3D.plane) == null || z.applyMatrix4(I), this.internalHooks.emit("applyObjectScale", { matrix: x }), this.internalHooks.emit("applyObjectPosition", { matrix: I }), this.render();
53187
53190
  }
53188
53191
  dragEnd() {
@@ -53234,13 +53237,13 @@ class WF extends yF {
53234
53237
  }
53235
53238
  }
53236
53239
  function QF() {
53237
- const n = new C.BoxGeometry(0.05, 0.05, 0.05), t = new C.MeshBasicMaterial({
53240
+ const n = new E.BoxGeometry(0.05, 0.05, 0.05), t = new E.MeshBasicMaterial({
53238
53241
  color: 16776960,
53239
53242
  depthTest: !1,
53240
53243
  depthWrite: !1,
53241
53244
  transparent: !0,
53242
- side: C.DoubleSide
53243
- }), i = new C.Mesh(n, t);
53245
+ side: E.DoubleSide
53246
+ }), i = new E.Mesh(n, t);
53244
53247
  return i.renderOrder = 10, i;
53245
53248
  }
53246
53249
  class YF extends Zc {
@@ -53252,9 +53255,9 @@ class YF extends Zc {
53252
53255
  if (this.isDragging)
53253
53256
  return;
53254
53257
  this.isDragging = !0;
53255
- const { intersect: i } = t, r = this.camera.position, s = i.object, o = s.scalePosition.basePosition.clone(), l = s.scalePosition.handlePosition.clone().clone().sub(o).clone(), c = new C.Line3(o, o.clone().add(l.normalize().multiplyScalar(5)));
53258
+ const { intersect: i } = t, r = this.camera.position, s = i.object, o = s.scalePosition.basePosition.clone(), l = s.scalePosition.handlePosition.clone().clone().sub(o).clone(), c = new E.Line3(o, o.clone().add(l.normalize().multiplyScalar(5)));
53256
53259
  c.applyMatrix4(this.helperObject3D.matrixWorld);
53257
- const h = new C.Raycaster(r, i.point.clone().sub(r)), u = ro({ raycaster: h, line: c });
53260
+ const h = new E.Raycaster(r, i.point.clone().sub(r)), u = ro({ raycaster: h, line: c });
53258
53261
  this.startInfo = { line: c, scaleStartPoint: u, draggingObject: s }, this.hooks.emit("scaleStart");
53259
53262
  });
53260
53263
  v(this, "dragging", (t) => {
@@ -53268,7 +53271,7 @@ class YF extends Zc {
53268
53271
  if (!this.startInfo)
53269
53272
  return;
53270
53273
  const { line: i, scaleStartPoint: r, draggingObject: s } = this.startInfo, { scalePosition: o } = s, { basePosition: a } = o, l = ro({ raycaster: t, line: i });
53271
- l.applyMatrix4(new C.Matrix4().getInverse(this.helperObject3D.matrixWorld.clone())), (h = (c = this.config) == null ? void 0 : c.scaleCallback) == null || h.call(c, {
53274
+ l.applyMatrix4(new E.Matrix4().getInverse(this.helperObject3D.matrixWorld.clone())), (h = (c = this.config) == null ? void 0 : c.scaleCallback) == null || h.call(c, {
53272
53275
  ratio: l.distanceTo(a) / r.distanceTo(a),
53273
53276
  intersectPoint: l,
53274
53277
  scalePosition: o
@@ -53294,7 +53297,7 @@ class YF extends Zc {
53294
53297
  var l, c, h;
53295
53298
  let i = 1, r = 1, s = 1;
53296
53299
  typeof t == "number" ? (i = t, r = t, s = t) : typeof t == "object" && (i = (l = t.x) != null ? l : 1, r = (c = t.y) != null ? c : 1, s = (h = t.z) != null ? h : 1);
53297
- const o = new C.Vector3(i, r, s);
53300
+ const o = new E.Vector3(i, r, s);
53298
53301
  this.hooks.emit("wantToScale", o) || (this.originObject3D.scale.copy(o), this.internalHooks.emit("setObjectScale", o), this.hooks.emit("scale", o), this.render());
53299
53302
  }
53300
53303
  }
@@ -53942,7 +53945,7 @@ function tV(e) {
53942
53945
  (s) => s.startLibraryID === t && s.endLibraryID === i
53943
53946
  );
53944
53947
  return r || console.warn(`Cannot find pipeline with startLibraryID ${t} and endLibraryID ${i}`), r;
53945
- }).filter(At);
53948
+ }).filter(bt);
53946
53949
  return QM(n);
53947
53950
  }
53948
53951
  function nV(e) {
@@ -53967,7 +53970,7 @@ function iV(e, n) {
53967
53970
  return null;
53968
53971
  const d = u.data, f = n != null && n.getPipeRadius ? n.getPipeRadius(u) : 1.6 / 100, m = n != null && n.getPipeUrl ? n.getPipeUrl(l) : nV(l);
53969
53972
  return { id: u.id, radius: f, water: l, path: d, texture: m };
53970
- }).filter(At);
53973
+ }).filter(bt);
53971
53974
  return { startLibraryID: o, endLibraryID: a, pipes: c };
53972
53975
  });
53973
53976
  return { pipes: QM(t), pipelines: t };
@@ -54007,13 +54010,13 @@ function Xm(e, n) {
54007
54010
  if (t < 1)
54008
54011
  throw new Error("length of points must greater than 2");
54009
54012
  if (t === 2)
54010
- return new C.Vector3(
54013
+ return new E.Vector3(
54011
54014
  wp(e, n[0].x, n[1].x, n[2].x),
54012
54015
  wp(e, n[0].y, n[1].y, n[2].y),
54013
54016
  wp(e, n[0].z, n[1].z, n[2].z)
54014
54017
  );
54015
54018
  if (t === 3)
54016
- return new C.Vector3(
54019
+ return new E.Vector3(
54017
54020
  xp(e, n[0].x, n[1].x, n[2].x, n[3].x),
54018
54021
  xp(e, n[0].y, n[1].y, n[2].y, n[3].y),
54019
54022
  xp(e, n[0].z, n[1].z, n[2].z, n[3].z)
@@ -54025,14 +54028,14 @@ function Xm(e, n) {
54025
54028
  const i = [];
54026
54029
  return n.reduce((r, s) => (i.push(Xm(e, [r, s])), s)), Xm(e, i);
54027
54030
  }
54028
- class uV extends C.Curve {
54031
+ class uV extends E.Curve {
54029
54032
  constructor(t = []) {
54030
54033
  super();
54031
54034
  v(this, "type");
54032
54035
  v(this, "controlPoints");
54033
54036
  this.type = "CustomBezierCurve3", this.controlPoints = t;
54034
54037
  }
54035
- getPoint(t, i = new C.Vector3()) {
54038
+ getPoint(t, i = new E.Vector3()) {
54036
54039
  const r = i, s = Xm(t, this.controlPoints);
54037
54040
  return r.copy(s), r;
54038
54041
  }
@@ -54044,7 +54047,7 @@ class uV extends C.Curve {
54044
54047
  return Object.assign(t, { controlPoints: i });
54045
54048
  }
54046
54049
  fromJSON(t) {
54047
- return super.fromJSON(t), this.controlPoints = t.controlPoints.map((i) => new C.Vector3().fromArray(i)), this;
54050
+ return super.fromJSON(t), this.controlPoints = t.controlPoints.map((i) => new E.Vector3().fromArray(i)), this;
54048
54051
  }
54049
54052
  }
54050
54053
  const dV = (
@@ -54074,7 +54077,7 @@ const dV = (
54074
54077
  }
54075
54078
  `
54076
54079
  );
54077
- class Xo extends C.Mesh {
54080
+ class Xo extends E.Mesh {
54078
54081
  constructor(t, i = fV) {
54079
54082
  super();
54080
54083
  v(this, "geometryConfig", {
@@ -54090,13 +54093,13 @@ class Xo extends C.Mesh {
54090
54093
  v(this, "opacityAnime");
54091
54094
  /** u / m: 每米水管对应到贴图上,应该对应的 u 的长度 */
54092
54095
  v(this, "uPreMeter", 1);
54093
- t.geometryConfig && (this.geometryConfig = R(R({}, this.geometryConfig), t.geometryConfig)), this.customID = t.id || this.uuid, this.pathPoints = t.path, this.path = Xo.calculatePath(t.path.map((l) => new C.Vector3().fromArray(l))), this.pathLength = this.path.getLength(), this.texture = Xo.formatTexture(t.texture);
54096
+ t.geometryConfig && (this.geometryConfig = R(R({}, this.geometryConfig), t.geometryConfig)), this.customID = t.id || this.uuid, this.pathPoints = t.path, this.path = Xo.calculatePath(t.path.map((l) => new E.Vector3().fromArray(l))), this.pathLength = this.path.getLength(), this.texture = Xo.formatTexture(t.texture);
54094
54097
  const { radius: r, tubularSegments: s, radialSegments: o } = this.geometryConfig, a = Xo.formatTexture(t.texture);
54095
54098
  this.geometry = Xo.formatGeometryUV(
54096
- new C.TubeBufferGeometry(this.path, s, r, o),
54099
+ new E.TubeBufferGeometry(this.path, s, r, o),
54097
54100
  this.pathLength,
54098
54101
  this.uPreMeter
54099
- ), this.material = new C.ShaderMaterial({
54102
+ ), this.material = new E.ShaderMaterial({
54100
54103
  uniforms: {
54101
54104
  opacity: { value: 1 },
54102
54105
  uOffset: { value: 0 },
@@ -54115,7 +54118,7 @@ class Xo extends C.Mesh {
54115
54118
  * @description 两个控制点使用直线路径,多个控制点使用贝塞尔路径
54116
54119
  */
54117
54120
  static calculatePath(t) {
54118
- return t.length === 2 ? new C.LineCurve3(t[0], t[1]) : new uV(t);
54121
+ return t.length === 2 ? new E.LineCurve3(t[0], t[1]) : new uV(t);
54119
54122
  }
54120
54123
  static formatGeometryUV(t, i, r) {
54121
54124
  const s = t.getAttribute("uv");
@@ -54129,7 +54132,7 @@ class Xo extends C.Mesh {
54129
54132
  * 管道的 Texture 需要满足一定的要求,需要使用 formatTexture 先 format
54130
54133
  */
54131
54134
  static formatTexture(t) {
54132
- return t.wrapS = C.RepeatWrapping, t.wrapT = C.RepeatWrapping, t;
54135
+ return t.wrapS = E.RepeatWrapping, t.wrapT = E.RepeatWrapping, t;
54133
54136
  }
54134
54137
  hide(t) {
54135
54138
  return ee(this, null, function* () {
@@ -54293,7 +54296,7 @@ let gV = class extends Br {
54293
54296
  enabled: !0,
54294
54297
  isFlowing: !1,
54295
54298
  speed: E1
54296
- }, this.five = t, this.group = new C.Group(), this.group.name = "water-pipe-group", this.five.scene.add(this.group), this.five.once("dispose", this.dispose), this.five.on("wantsTapGesture", this.onWantsFiveTapGesture);
54299
+ }, this.five = t, this.group = new E.Group(), this.group.name = "water-pipe-group", this.five.scene.add(this.group), this.five.once("dispose", this.dispose), this.five.on("wantsTapGesture", this.onWantsFiveTapGesture);
54297
54300
  }
54298
54301
  /** 加载管道数据,重复调用会使用新数据覆盖旧数据
54299
54302
  * @param `data` `<Plugin.ServerData>` Open API 接口返回的数据。
@@ -54525,7 +54528,7 @@ let gV = class extends Br {
54525
54528
  }
54526
54529
  /** 根据 target 查找管道模型 */
54527
54530
  findPipeObjectWithTarget(t) {
54528
- return t ? tV({ data: this.data, target: t }).map(({ id: r }) => this.findPipeObjectWithID(r)).filter(At) : this.pipeObjects;
54531
+ return t ? tV({ data: this.data, target: t }).map(({ id: r }) => this.findPipeObjectWithID(r)).filter(bt) : this.pipeObjects;
54529
54532
  }
54530
54533
  };
54531
54534
  const VG = (e) => new gV(e), vV = "data:image/png;base64,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";
@@ -54740,9 +54743,9 @@ class xV {
54740
54743
  /** 标注标签是否可见 */
54741
54744
  v(this, "tagVisible", null);
54742
54745
  /** 标注标签的世界坐标 */
54743
- v(this, "tagPosition", new C.Vector3());
54746
+ v(this, "tagPosition", new E.Vector3());
54744
54747
  /** 标注标签的 NDC 坐标 */
54745
- v(this, "tagNDCPosition", new C.Vector3());
54748
+ v(this, "tagNDCPosition", new E.Vector3());
54746
54749
  /** 标注标签的 transform */
54747
54750
  v(this, "tagTransform", { left: 0, top: 0 });
54748
54751
  /** 标注标签的显示层级 */
@@ -54873,10 +54876,10 @@ class xV {
54873
54876
  this.containerResizeTimeoutID && clearTimeout(this.containerResizeTimeoutID), this.containerResizeTimeoutID = setTimeout(t, 100);
54874
54877
  });
54875
54878
  var l, c, h, u;
54876
- const i = t.object_data, r = i.bottom_y, s = i.height, o = new C.Color((l = i.color) != null ? l : "#FFFFFF"), a = (c = i.opacity) != null ? c : 0.4;
54877
- this.data = t, this.id = t.id, this.name = (h = t.name) != null ? h : "", this.plugin = n, this.height = s, this.bottomY = r, this.opacity = a, this.shape = new C.Shape().fromJSON(i.shape), this.floorIndex = t.floor_index, this.makerObject = new C.Mesh(P1(this.shape, s), MV(o, a)), Mp(this.makerObject, r), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new tx(
54878
- new C.EdgesGeometry(this.makerObject.geometry),
54879
- new C.LineBasicMaterial({ color: o, transparent: !0 })
54879
+ const i = t.object_data, r = i.bottom_y, s = i.height, o = new E.Color((l = i.color) != null ? l : "#FFFFFF"), a = (c = i.opacity) != null ? c : 0.4;
54880
+ this.data = t, this.id = t.id, this.name = (h = t.name) != null ? h : "", this.plugin = n, this.height = s, this.bottomY = r, this.opacity = a, this.shape = new E.Shape().fromJSON(i.shape), this.floorIndex = t.floor_index, this.makerObject = new E.Mesh(P1(this.shape, s), MV(o, a)), Mp(this.makerObject, r), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new tx(
54881
+ new E.EdgesGeometry(this.makerObject.geometry),
54882
+ new E.LineBasicMaterial({ color: o, transparent: !0 })
54880
54883
  ), Mp(this.outline, r), this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.setHeight(s), this.modelGroup = new wV(this), this.modelGroup.visible = (u = i.visible) != null ? u : !0;
54881
54884
  }
54882
54885
  /** 挂载标注 */
@@ -54914,7 +54917,7 @@ class xV {
54914
54917
  * @example setColor('#FF0000')
54915
54918
  */
54916
54919
  setColor(n) {
54917
- const t = new C.Color(n);
54920
+ const t = new E.Color(n);
54918
54921
  this.makerObject.material.color = t, this.outline.material.color = t, this.plugin.five.needsRender = !0;
54919
54922
  }
54920
54923
  /** 更改标注高度
@@ -54923,8 +54926,8 @@ class xV {
54923
54926
  setHeight(n) {
54924
54927
  if (n <= 0)
54925
54928
  throw new Error("高度必须大于 0");
54926
- this.height = n, this.makerObject.geometry = P1(this.shape, n), this.outline.geometry = new C.EdgesGeometry(this.makerObject.geometry);
54927
- const t = this.shape.extractPoints(10).shape.slice(0, -1), i = e5(t), r = new C.Vector3(i.x, i.y, n);
54929
+ this.height = n, this.makerObject.geometry = P1(this.shape, n), this.outline.geometry = new E.EdgesGeometry(this.makerObject.geometry);
54930
+ const t = this.shape.extractPoints(10).shape.slice(0, -1), i = e5(t), r = new E.Vector3(i.x, i.y, n);
54928
54931
  Mp(r, this.bottomY), this.tagPosition.copy(r), this.updateTag(), this.plugin.five.needsRender = !0;
54929
54932
  }
54930
54933
  /** 更改标注标签的显示层级
@@ -54941,20 +54944,20 @@ class xV {
54941
54944
  }
54942
54945
  }
54943
54946
  function P1(e, n) {
54944
- return new C.ExtrudeBufferGeometry(e, {
54947
+ return new E.ExtrudeBufferGeometry(e, {
54945
54948
  depth: n,
54946
54949
  bevelEnabled: !1
54947
54950
  });
54948
54951
  }
54949
54952
  function MV(e, n) {
54950
- return new C.MeshBasicMaterial({
54953
+ return new E.MeshBasicMaterial({
54951
54954
  color: e,
54952
54955
  opacity: n,
54953
54956
  transparent: !0
54954
54957
  });
54955
54958
  }
54956
54959
  function Mp(e, n) {
54957
- const t = new C.Matrix4(), i = new C.Matrix4().makeRotationX(Math.PI / 2), r = new C.Matrix4().makeTranslation(0, 0, -n), s = new C.Matrix4().makeScale(1, 1, -1);
54960
+ const t = new E.Matrix4(), i = new E.Matrix4().makeRotationX(Math.PI / 2), r = new E.Matrix4().makeTranslation(0, 0, -n), s = new E.Matrix4().makeScale(1, 1, -1);
54958
54961
  t.multiply(i), t.multiply(r), t.multiply(s), e.applyMatrix4(t);
54959
54962
  }
54960
54963
  let EV = class extends Br {
@@ -55045,7 +55048,7 @@ let EV = class extends Br {
55045
55048
  const s = R({
55046
55049
  modelDepthTest: !0
55047
55050
  }, i == null ? void 0 : i.config);
55048
- this._config = s, this.modelGroup = new C.Group(), this.modelGroup.name = "ModelMakerPluginGroup", this.itemMap = /* @__PURE__ */ new Map(), this.state.enabled && this._enable({ userAction: !1 });
55051
+ this._config = s, this.modelGroup = new E.Group(), this.modelGroup.name = "ModelMakerPluginGroup", this.itemMap = /* @__PURE__ */ new Map(), this.state.enabled && this._enable({ userAction: !1 });
55049
55052
  }
55050
55053
  /** 插件配置项 */
55051
55054
  get config() {
@@ -55185,7 +55188,7 @@ let EV = class extends Br {
55185
55188
  }
55186
55189
  return i(t) ? {
55187
55190
  list: t.list.filter((r) => r.object_data.points.length >= 3).map((r) => {
55188
- const s = new C.Shape(), o = r.object_data.points[0];
55191
+ const s = new E.Shape(), o = r.object_data.points[0];
55189
55192
  return s.moveTo(o[0], o[2]), r.object_data.points.slice(1).forEach((l) => s.lineTo(l[0], l[2])), s.lineTo(o[0], o[2]), Me(R({}, r), {
55190
55193
  floor_index: r.object_data.floorIndex,
55191
55194
  object_data: Me(R({}, r.object_data), {
@@ -55248,7 +55251,7 @@ class CV extends ws {
55248
55251
  pluginHidden: ""
55249
55252
  });
55250
55253
  // ==================== private properties ====================
55251
- v(this, "group", new C.Group());
55254
+ v(this, "group", new E.Group());
55252
55255
  v(this, "mesh");
55253
55256
  v(this, "textureLoadingPromise");
55254
55257
  v(this, "opacityAnimeTween");
@@ -55312,9 +55315,9 @@ class CV extends ws {
55312
55315
  yRotate: 0,
55313
55316
  imageURL: this.absoluteUrl("/release/web/logo.7febb17f.png")
55314
55317
  }, i == null ? void 0 : i.config);
55315
- this._config = s, this.group.name = "current-pano-image-plugin-group", this.mesh = new C.Mesh(
55316
- new C.PlaneBufferGeometry(this.config.width, this.config.width),
55317
- new C.MeshBasicMaterial({ transparent: !0, opacity: 0, depthTest: !1 })
55318
+ this._config = s, this.group.name = "current-pano-image-plugin-group", this.mesh = new E.Mesh(
55319
+ new E.PlaneBufferGeometry(this.config.width, this.config.width),
55320
+ new E.MeshBasicMaterial({ transparent: !0, opacity: 0, depthTest: !1 })
55318
55321
  ), this.mesh.visible = !1, this.group.add(this.mesh), this.updateMeshQuaternion(this.config.yRotate), this.state.visible || (this.checkMsg.pluginHidden = "初始值设置为隐藏"), this.state.enabled || (this.checkMsg.pluginDisabled = "初始值设置为禁用"), this.state.enabled && this._enable({ userAction: !1 }), this.five.once("dispose", this.dispose);
55319
55322
  }
55320
55323
  /** 插件配置项 */
@@ -55395,7 +55398,7 @@ class CV extends ws {
55395
55398
  updateConfig(t, i = {}) {
55396
55399
  var o;
55397
55400
  const r = this.config, s = R(R({}, r), t);
55398
- this._config = s, r.imageURL !== s.imageURL && this.reloadTexture(s.imageURL), r.yOffset !== s.yOffset && this.updateMeshPosition(this.five.getCurrentState().panoIndex), r.yRotate !== s.yRotate && this.updateMeshQuaternion(s.yRotate), r.width !== s.width && (this.mesh.geometry = new C.PlaneBufferGeometry(s.width, s.width)), this.hooks.emit("configChange", { prevConfig: r, config: s, userAction: (o = i.userAction) != null ? o : !0 });
55401
+ this._config = s, r.imageURL !== s.imageURL && this.reloadTexture(s.imageURL), r.yOffset !== s.yOffset && this.updateMeshPosition(this.five.getCurrentState().panoIndex), r.yRotate !== s.yRotate && this.updateMeshQuaternion(s.yRotate), r.width !== s.width && (this.mesh.geometry = new E.PlaneBufferGeometry(s.width, s.width)), this.hooks.emit("configChange", { prevConfig: r, config: s, userAction: (o = i.userAction) != null ? o : !0 });
55399
55402
  }
55400
55403
  /** 问什么看不到模型 */
55401
55404
  __whyCantSeeMesh() {
@@ -55434,19 +55437,19 @@ class CV extends ws {
55434
55437
  const i = Ws(t);
55435
55438
  this.textureLoadingPromise = i;
55436
55439
  const r = yield i;
55437
- r.minFilter = C.LinearFilter, this.textureLoadingPromise === i && (this.onTextureLoaded(r), this.textureLoadingPromise = null);
55440
+ r.minFilter = E.LinearFilter, this.textureLoadingPromise === i && (this.onTextureLoaded(r), this.textureLoadingPromise = null);
55438
55441
  }
55439
55442
  this.updateMeshVisible();
55440
55443
  });
55441
55444
  }
55442
55445
  /** north_rad 变化时,需要更新模型的旋转角度 */
55443
55446
  updateMeshQuaternion(t) {
55444
- const i = new C.Quaternion();
55447
+ const i = new E.Quaternion();
55445
55448
  i.multiplyQuaternions(
55446
55449
  // 沿着自身 X 轴旋转 -90 度
55447
- new C.Quaternion().setFromAxisAngle(new C.Vector3(1, 0, 0), -Math.PI / 2),
55450
+ new E.Quaternion().setFromAxisAngle(new E.Vector3(1, 0, 0), -Math.PI / 2),
55448
55451
  // 沿着自身 Z 轴旋转 rad 弧度
55449
- new C.Quaternion().setFromAxisAngle(new C.Vector3(0, 0, 1), t)
55452
+ new E.Quaternion().setFromAxisAngle(new E.Vector3(0, 0, 1), t)
55450
55453
  ), this.mesh.quaternion.copy(i);
55451
55454
  }
55452
55455
  _enable(t) {
@@ -55559,25 +55562,25 @@ class Bc extends ti {
55559
55562
  v(this, "_visible", !0);
55560
55563
  const u = t != null ? t : {}, { point: i } = u, r = Ps(u, ["point"]);
55561
55564
  this.paramsStyle = r != null ? r : {};
55562
- const s = new C.BufferGeometry();
55563
- s.setAttribute("position", new C.Float32BufferAttribute([0, 0, 0], 3));
55565
+ const s = new E.BufferGeometry();
55566
+ s.setAttribute("position", new E.Float32BufferAttribute([0, 0, 0], 3));
55564
55567
  const o = {
55565
55568
  transparent: !0,
55566
- side: C.DoubleSide,
55569
+ side: E.DoubleSide,
55567
55570
  size: (d = t == null ? void 0 : t.size) != null ? d : 8,
55568
- map: _1 || (_1 = new C.TextureLoader().load(SV)),
55571
+ map: _1 || (_1 = new E.TextureLoader().load(SV)),
55569
55572
  sizeAttenuation: !1
55570
- }, a = new C.PointsMaterial(Me(R({}, o), {
55573
+ }, a = new E.PointsMaterial(Me(R({}, o), {
55571
55574
  color: (f = t == null ? void 0 : t.color) != null ? f : 16777215,
55572
55575
  depthTest: !0,
55573
55576
  opacity: 1
55574
- })), l = new C.PointsMaterial(Me(R({}, o), {
55577
+ })), l = new E.PointsMaterial(Me(R({}, o), {
55575
55578
  size: a.size,
55576
55579
  color: a.color,
55577
55580
  depthWrite: !1,
55578
55581
  depthTest: !1,
55579
55582
  opacity: 0.5
55580
- })), c = new C.Points(s, a), h = new C.Points(s, l);
55583
+ })), c = new E.Points(s, a), h = new E.Points(s, l);
55581
55584
  this.fontMesh = c, this.backgroundMesh = h, c.name = "FontMesh", h.name = "BackgroundMesh", c.renderOrder = 10, h.renderOrder = 0, this.add(c, h), t != null && t.point && this.position.copy(Ft(t.point)), t && this.setStyle(t), this.addEventListener("removed", () => {
55582
55585
  Dd(this);
55583
55586
  }), Object.defineProperty(this, "visible", {
@@ -55593,12 +55596,20 @@ class Bc extends ti {
55593
55596
  get size() {
55594
55597
  return this.fontMesh.material.size;
55595
55598
  }
55599
+ get style() {
55600
+ return {
55601
+ color: this.color,
55602
+ size: this.size,
55603
+ occlusionVisibility: this.fontMesh.material.depthTest,
55604
+ occlusionMode: this.backgroundMesh.visible ? "depthWrite" : "depthTest"
55605
+ };
55606
+ }
55596
55607
  get five() {
55597
55608
  var t, i;
55598
55609
  return (i = (t = window.globalModules) == null ? void 0 : t.five) != null ? i : window.$five;
55599
55610
  }
55600
55611
  setStyle(t) {
55601
- At(t.color) && (this.fontMesh.material.setValues({ color: t.color }), this.backgroundMesh.material.setValues({ color: t.color })), At(t.size) && (this.fontMesh.material.setValues({ side: t.size }), this.backgroundMesh.material.setValues({ side: t.size })), At(t.occlusionVisibility) && (t.occlusionVisibility ? t.occlusionMode === "depthTest" ? (this.fontMesh.material.depthTest = !1, this.backgroundMesh.visible = !1) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !0) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !1));
55612
+ bt(t.color) && (this.fontMesh.material.setValues({ color: t.color }), this.backgroundMesh.material.setValues({ color: t.color })), bt(t.size) && (this.fontMesh.material.setValues({ side: t.size }), this.backgroundMesh.material.setValues({ side: t.size })), bt(t.occlusionVisibility) && (t.occlusionVisibility ? t.occlusionMode === "depthTest" ? (this.fontMesh.material.depthTest = !1, this.backgroundMesh.visible = !1) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !0) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !1));
55602
55613
  }
55603
55614
  highlight() {
55604
55615
  this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.fontMesh.material.opacity, this.fontMesh.material.setValues({ opacity: this.opacityBeforeHighlight * ra }));
@@ -55615,7 +55626,10 @@ class Bc extends ti {
55615
55626
  const t = this.paramsStyle.tip;
55616
55627
  t && !this.dom && (this.dom = new Gs(this.five), this.dom.intersectCheck = !1, this.dom.simulate3D = !0, this.dom.container.style.visibility = "hidden");
55617
55628
  const i = (r) => {
55618
- this.dom && this.dom.__text !== r && (this.dom.__text = r, r ? this.dom.container.innerHTML = vg(r) : this.dom.container.innerHTML = "");
55629
+ var s;
55630
+ this.dom && this.dom.__text !== r && (this.dom.__text = r, r ? this.dom.container.innerHTML = vg(r, {
55631
+ style: `color: #${bt((s = this.style) == null ? void 0 : s.color) ? new E.Color(this.style.color).getHexString() : "ffffff"}`
55632
+ }) : this.dom.container.innerHTML = "");
55619
55633
  };
55620
55634
  t ? (i(t), this.dom.setPosition(this.position.clone())) : i(null);
55621
55635
  }
@@ -55637,7 +55651,7 @@ class Zm extends Oi {
55637
55651
  });
55638
55652
  v(this, "updateEdgePointsVisibility", () => {
55639
55653
  var t;
55640
- At((t = this._paramsStyle) == null ? void 0 : t.pointVisibility) && (this.startPoint && (this.startPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.startPoint : this._paramsStyle.pointVisibility), this.endPoint && (this.endPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.endPoint : this._paramsStyle.pointVisibility));
55654
+ bt((t = this._paramsStyle) == null ? void 0 : t.pointVisibility) && (this.startPoint && (this.startPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.startPoint : this._paramsStyle.pointVisibility), this.endPoint && (this.endPoint.visible = typeof this._paramsStyle.pointVisibility == "object" ? this._paramsStyle.pointVisibility.endPoint : this._paramsStyle.pointVisibility));
55641
55655
  });
55642
55656
  this.add(this.pointGroup), t && this.setStyle(t), t != null && t.points && this.setPoints(t.points);
55643
55657
  }
@@ -55655,7 +55669,7 @@ class Zm extends Oi {
55655
55669
  }
55656
55670
  setPoints(t) {
55657
55671
  super.setPoints(t);
55658
- const i = t.map(Ft).filter(At);
55672
+ const i = t.map(Ft).filter(bt);
55659
55673
  this.pointGroup.removeChildren(), this.addIfNotExists(this.pointGroup), i.forEach((r) => {
55660
55674
  var o;
55661
55675
  const s = new Bc(Me(R({}, this.style), { color: (o = this._paramsStyle) == null ? void 0 : o.lineColor, tip: void 0 }));
@@ -55700,7 +55714,7 @@ class JM extends ti {
55700
55714
  }
55701
55715
  get lineColor() {
55702
55716
  var t, i, r;
55703
- return (r = (t = this.lines[0]) == null ? void 0 : t.color) != null ? r : (i = this.paramsStyle) != null && i.lineColor ? new C.Color(this.paramsStyle.lineColor) : void 0;
55717
+ return (r = (t = this.lines[0]) == null ? void 0 : t.color) != null ? r : (i = this.paramsStyle) != null && i.lineColor ? new E.Color(this.paramsStyle.lineColor) : void 0;
55704
55718
  }
55705
55719
  get lineWidth() {
55706
55720
  var t, i, r;
@@ -56292,7 +56306,7 @@ class lv extends av {
56292
56306
  return this.children;
56293
56307
  }
56294
56308
  enable() {
56295
- super.enable(), this.points.filter(At).forEach((t) => {
56309
+ super.enable(), this.points.filter(bt).forEach((t) => {
56296
56310
  const i = new Bc();
56297
56311
  i.visible = !1, i.position.copy(t), i.draggable = !0, hn.modules.fiveDomEvents.addEventListener(i, "drag", this.onDrag), hn.modules.fiveDomEvents.addEventListener(i, "dragstart", this.onDragstart), hn.modules.fiveDomEvents.addEventListener(i, "dragend", this.onDragend), this.add(i);
56298
56312
  });
@@ -56354,7 +56368,7 @@ class D1 extends Nr {
56354
56368
  return Me(R({}, this.baseData), {
56355
56369
  points: bi(this.applyObjectMatrixWorld(this.polyLineMesh.points)),
56356
56370
  style: {
56357
- lineColor: new C.Color(this.polyLineMesh.lineColor).getHex(),
56371
+ lineColor: new E.Color(this.polyLineMesh.lineColor).getHex(),
56358
56372
  lineWidth: this.polyLineMesh.lineWidth,
56359
56373
  dashed: this.polyLineMesh.dashed
56360
56374
  }
@@ -56418,7 +56432,7 @@ function UV(e, n, t) {
56418
56432
  if (!M || (f = M, !(h != null && h.length)))
56419
56433
  return P();
56420
56434
  const I = h.at(-1).clone();
56421
- a === "none" ? (u = M.point, l.setPoints([I, u])) : a === "xoz" ? (d = d != null ? d : new C.Plane().setFromNormalAndCoplanarPoint(new C.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(M.point, new C.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])) : a === "y" && (h.length === 1 ? (u = M.point, l.setPoints([I, u])) : (d = d != null ? d : new C.Plane().setFromCoplanarPoints(h[0], h[1], new C.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(M.point, new C.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])));
56435
+ a === "none" ? (u = M.point, l.setPoints([I, u])) : a === "xoz" ? (d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(M.point, new E.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])) : a === "y" && (h.length === 1 ? (u = M.point, l.setPoints([I, u])) : (d = d != null ? d : new E.Plane().setFromCoplanarPoints(h[0], h[1], new E.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(M.point, new E.Vector3()), l.setPoints([I, u]), c.setPoints([u, M.point])));
56422
56436
  };
56423
56437
  return n.on("select", A), n.on("intersectionUpdate", w), n.on("disable", () => {
56424
56438
  if (n.off("select", A), n.off("intersectionUpdate", w), n.plane = null, i.remove(l), i.remove(c), h.length < 2)
@@ -56512,22 +56526,22 @@ class hv extends ti {
56512
56526
  v(this, "meshFont");
56513
56527
  v(this, "meshBackground");
56514
56528
  v(this, "paramsStyle", {});
56515
- v(this, "_geometry", new C.BufferGeometry());
56529
+ v(this, "_geometry", new E.BufferGeometry());
56516
56530
  this.paramsStyle = t != null ? t : {};
56517
- const i = new C.MeshBasicMaterial({
56531
+ const i = new E.MeshBasicMaterial({
56518
56532
  color: (a = t == null ? void 0 : t.color) != null ? a : bC,
56519
56533
  transparent: !0,
56520
- side: C.DoubleSide,
56534
+ side: E.DoubleSide,
56521
56535
  depthTest: !0,
56522
56536
  opacity: (l = t == null ? void 0 : t.opacity) != null ? l : 0.5
56523
- }), r = new C.MeshBasicMaterial({
56537
+ }), r = new E.MeshBasicMaterial({
56524
56538
  color: 16777215,
56525
56539
  transparent: !0,
56526
- side: C.DoubleSide,
56540
+ side: E.DoubleSide,
56527
56541
  depthTest: !1,
56528
56542
  depthWrite: !1,
56529
56543
  opacity: 0.3 / 0.5 * i.opacity
56530
- }), s = new C.Mesh(this.geometry, i), o = new C.Mesh(this.geometry, r);
56544
+ }), s = new E.Mesh(this.geometry, i), o = new E.Mesh(this.geometry, r);
56531
56545
  s.name = "MeshFront", o.name = "MeshBackground", s.renderOrder = 1, o.renderOrder = 0, this.meshFont = s, this.meshBackground = o, this.add(s), this.setOcclusionVisibility({ occlusionVisibility: t == null ? void 0 : t.occlusionVisibility, occlusionMode: t == null ? void 0 : t.occlusionMode });
56532
56546
  }
56533
56547
  get style() {
@@ -56557,15 +56571,15 @@ class hv extends ti {
56557
56571
  return this._geometry;
56558
56572
  }
56559
56573
  setStyle(t) {
56560
- this.paramsStyle = R(R({}, this.paramsStyle), t), At(t.color) && (this.meshFont.material.color.set(t.color), this.needsRender = !0), At(t.opacity) && (this.meshFont.material.opacity = t.opacity, this.meshBackground.material.opacity = 0.3 / 0.5 * t.opacity, this.needsRender = !0), this.setOcclusionVisibility(t);
56574
+ this.paramsStyle = R(R({}, this.paramsStyle), t), bt(t.color) && (this.meshFont.material.color.set(t.color), this.needsRender = !0), bt(t.opacity) && (this.meshFont.material.opacity = t.opacity, this.meshBackground.material.opacity = 0.3 / 0.5 * t.opacity, this.needsRender = !0), this.setOcclusionVisibility(t);
56561
56575
  }
56562
56576
  setOcclusionVisibility(t) {
56563
56577
  var s, o, a;
56564
56578
  const i = (o = (s = t.occlusionMode) != null ? s : this.paramsStyle.occlusionMode) != null ? o : "translucence", r = (a = t.occlusionVisibility) != null ? a : this.paramsStyle.occlusionVisibility;
56565
- At(r) && (r ? i === "depthTest" ? (this.meshFont.material.depthTest = !1, this.remove(this.meshBackground)) : i === "translucence" && (this.meshFont.material.depthTest = !0, this.addIfNotExists(this.meshBackground)) : (this.meshFont.material.depthTest = !0, this.remove(this.meshBackground)));
56579
+ bt(r) && (r ? i === "depthTest" ? (this.meshFont.material.depthTest = !1, this.remove(this.meshBackground)) : i === "translucence" && (this.meshFont.material.depthTest = !0, this.addIfNotExists(this.meshBackground)) : (this.meshFont.material.depthTest = !0, this.remove(this.meshBackground)));
56566
56580
  }
56567
56581
  }
56568
- const uv = new C.BufferGeometry();
56582
+ const uv = new E.BufferGeometry();
56569
56583
  uv.name = "blankGeometry";
56570
56584
  uv.isBlank = !0;
56571
56585
  class yd extends hv {
@@ -56619,7 +56633,7 @@ class yd extends hv {
56619
56633
  * @description: 获取一个点投影在当前平面上的点
56620
56634
  */
56621
56635
  projectPoint(t) {
56622
- return t && (this.planeHelperNeedUpdate && this.updatePlaneHelper(), this.planeHelper ? this.planeHelper.projectPoint(t, new C.Vector3()) : t);
56636
+ return t && (this.planeHelperNeedUpdate && this.updatePlaneHelper(), this.planeHelper ? this.planeHelper.projectPoint(t, new E.Vector3()) : t);
56623
56637
  }
56624
56638
  highlight() {
56625
56639
  this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.opacity, this.setStyle({ opacity: this.opacity * ra }), this.needsRender = !0);
@@ -56628,24 +56642,26 @@ class yd extends hv {
56628
56642
  this.highlighted && (this.highlighted = !1, this.setStyle({ opacity: this.opacityBeforeHighlight }), this.needsRender = !0);
56629
56643
  }
56630
56644
  updatePlaneHelper() {
56631
- this.points.length >= 3 ? this.planeHelper = new C.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.planeHelper = null, this.planeHelperNeedUpdate = !1;
56645
+ this.points.length >= 3 ? this.planeHelper = new E.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]) : this.planeHelper = null, this.planeHelperNeedUpdate = !1;
56632
56646
  }
56633
56647
  updateAreaItems() {
56634
- var r;
56648
+ var r, s;
56635
56649
  const t = () => {
56636
- var s;
56637
- (s = this.areaDom) == null || s.destroy(), this.areaDom = void 0;
56650
+ var o;
56651
+ (o = this.areaDom) == null || o.destroy(), this.areaDom = void 0;
56638
56652
  };
56639
56653
  if (!this._paramsStyle.lengthEnable || !this.geometryInfo)
56640
56654
  return t();
56641
56655
  if (!this.five)
56642
56656
  return console.error("Five not found");
56643
56657
  this.areaDom = (r = this.areaDom) != null ? r : (() => {
56644
- const s = new Gs(this.five);
56645
- return s.intersectCheck = !1, s.simulate3D = !0, s;
56658
+ const o = new Gs(this.five);
56659
+ return o.intersectCheck = !1, o.simulate3D = !0, o;
56646
56660
  })(), this.areaDom.setPosition(this.center);
56647
56661
  const i = this.geometryInfo.area.toFixed(2);
56648
- i === "0.00" ? this.areaDom.container.innerHTML = "" : this.areaDom.container.innerHTML = vg(i + "m²");
56662
+ i === "0.00" ? this.areaDom.container.innerHTML = "" : this.areaDom.container.innerHTML = vg(i + "m²", {
56663
+ style: `color: #${bt((s = this.style) == null ? void 0 : s.color) ? new E.Color(this.style.color).getHexString() : "000000"}`
56664
+ });
56649
56665
  }
56650
56666
  }
56651
56667
  class bd extends yd {
@@ -56786,7 +56802,7 @@ function nE(e, n, t) {
56786
56802
  if (!T || (m = T, !(h != null && h.length)))
56787
56803
  return z();
56788
56804
  const D = h.at(-1).clone();
56789
- if (h.length < 3 && (a === "none" ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : a === "xoz" ? (d = d != null ? d : new C.Plane().setFromNormalAndCoplanarPoint(new C.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(T.point, new C.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])) : a === "y" && (h.length === 1 ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : (d = d != null ? d : new C.Plane().setFromCoplanarPoints(h[0], h[1], new C.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(T.point, new C.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])))), h.length >= 3) {
56805
+ if (h.length < 3 && (a === "none" ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : a === "xoz" ? (d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), n.plane = d, u = d.projectPoint(T.point, new E.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])) : a === "y" && (h.length === 1 ? (u = T.point, l.setPoints([D, u]), c.setPoints([])) : (d = d != null ? d : new E.Plane().setFromCoplanarPoints(h[0], h[1], new E.Vector3(0, 1, 0).add(h[0])), n.plane = d, u = d.projectPoint(T.point, new E.Vector3()), l.setPoints([D, u]), c.setPoints([u, T.point])))), h.length >= 3) {
56790
56806
  u = e.projectPoint(T.point);
56791
56807
  const k = h[0], O = 0.2;
56792
56808
  k.distanceTo(u) < O || k.distanceTo(T.point) < O ? (u = k, T.point.copy(k), n.pointSelectorHelper.updateWithIntersect(T, { emitEvent: !1 }), f = !0) : f = !1, l.setPoints([D, u]), c.setPoints([u, T.point]);
@@ -56826,7 +56842,7 @@ class Ad extends ti {
56826
56842
  var r, s;
56827
56843
  const t = (r = this.topPolygon) == null ? void 0 : r.center, i = (s = this.bottomPolygon) == null ? void 0 : s.center;
56828
56844
  if (t && i)
56829
- return new C.Vector3().lerpVectors(t, i, 0.5);
56845
+ return new E.Vector3().lerpVectors(t, i, 0.5);
56830
56846
  }
56831
56847
  get worldCenter() {
56832
56848
  return this.updateMatrixWorld(), this.localToWorld(this.localCenter);
@@ -56846,7 +56862,7 @@ class Ad extends ti {
56846
56862
  });
56847
56863
  }
56848
56864
  setPoints(t) {
56849
- At(t.points) && this.setBottomPoints(t.points), At(t.heightPoint) && this.setTopHeightPoint(Ft(t.heightPoint));
56865
+ bt(t.points) && this.setBottomPoints(t.points), bt(t.heightPoint) && this.setTopHeightPoint(Ft(t.heightPoint));
56850
56866
  }
56851
56867
  highlight() {
56852
56868
  this.bottomPolygon.highlight(), this.topPolygon.highlight(), this.edgePlanes.children.forEach((t) => {
@@ -56863,7 +56879,7 @@ class Ad extends ti {
56863
56879
  }
56864
56880
  setTopHeightPoint(t) {
56865
56881
  this.heightPoint = t, this.addIfNotExists(this.topPolygon);
56866
- const i = this.bottomPolygon.projectPoint(t), r = new C.Vector3().subVectors(t, i);
56882
+ const i = this.bottomPolygon.projectPoint(t), r = new E.Vector3().subVectors(t, i);
56867
56883
  this.up.copy(r.clone().normalize());
56868
56884
  const o = this.bottomPolygon.points.map((a) => a.clone().add(r));
56869
56885
  this.topPolygon.setPoints(o), this.setEdgePlanes();
@@ -56890,7 +56906,7 @@ class XV extends qc {
56890
56906
  super(n, () => {
56891
56907
  const t = () => {
56892
56908
  var o, a;
56893
- const i = (o = n.prismMesh.topPolygon) == null ? void 0 : o.center, r = (a = n.prismMesh.bottomPolygon) == null ? void 0 : a.center, s = new C.Vector3().lerpVectors(i, r, 0.5);
56909
+ const i = (o = n.prismMesh.topPolygon) == null ? void 0 : o.center, r = (a = n.prismMesh.bottomPolygon) == null ? void 0 : a.center, s = new E.Vector3().lerpVectors(i, r, 0.5);
56894
56910
  return { topCenter: i, bottomCenter: r, boxCenter: s };
56895
56911
  };
56896
56912
  return {
@@ -56971,7 +56987,7 @@ function ZV(e, n) {
56971
56987
  return;
56972
56988
  const p = ro({
56973
56989
  raycaster: m.raycaster,
56974
- line: new C.Line3(o, a)
56990
+ line: new E.Line3(o, a)
56975
56991
  });
56976
56992
  p && e.setPoints({ heightPoint: p });
56977
56993
  }, d = () => {
@@ -56988,7 +57004,7 @@ class JV extends qc {
56988
57004
  super(n, () => ({ yAxis: n.rectangleMesh.up }));
56989
57005
  }
56990
57006
  }
56991
- class qV extends C.BufferGeometry {
57007
+ class qV extends E.BufferGeometry {
56992
57008
  constructor(t) {
56993
57009
  super();
56994
57010
  v(this, "name", "RectangleGeometry");
@@ -56997,12 +57013,12 @@ class qV extends C.BufferGeometry {
56997
57013
  console.error("Invalid number of points, it's not a rectangle");
56998
57014
  return;
56999
57015
  }
57000
- this.points = t.slice(0, 4), this.setAttribute("position", new C.BufferAttribute(new Float32Array(this.points.flatMap((i) => i.toArray())), 3)), this.setIndex(new C.BufferAttribute(new Uint16Array([0, 1, 2, 0, 2, 3]), 1));
57016
+ this.points = t.slice(0, 4), this.setAttribute("position", new E.BufferAttribute(new Float32Array(this.points.flatMap((i) => i.toArray())), 3)), this.setIndex(new E.BufferAttribute(new Uint16Array([0, 1, 2, 0, 2, 3]), 1));
57001
57017
  }
57002
57018
  }
57003
57019
  function KV(e, n) {
57004
- const i = new C.Plane().setFromCoplanarPoints(e[0], e[1], e[2]).projectPoint(n, new C.Vector3());
57005
- return new C.Vector3().subVectors(n, i).normalize();
57020
+ const i = new E.Plane().setFromCoplanarPoints(e[0], e[1], e[2]).projectPoint(n, new E.Vector3());
57021
+ return new E.Vector3().subVectors(n, i).normalize();
57006
57022
  }
57007
57023
  class iE extends yd {
57008
57024
  constructor(t) {
@@ -57020,7 +57036,7 @@ class iE extends yd {
57020
57036
  return (i = (t = this.meshFont) == null ? void 0 : t.geometry) == null ? void 0 : i.points.slice(0, 3);
57021
57037
  }
57022
57038
  setPoints(t) {
57023
- const i = t.map(Ft).filter(At);
57039
+ const i = t.map(Ft).filter(bt);
57024
57040
  if (i.length < 3) {
57025
57041
  console.error("Invalid position");
57026
57042
  return;
@@ -57107,9 +57123,9 @@ function rE(e, n, t) {
57107
57123
  const o = (A = t == null ? void 0 : t.limit) != null ? A : "none", a = (w = t == null ? void 0 : t.drawMethod) != null ? w : "diagonal", l = new Ul(Me(R({}, e.style), { dashed: !0, lengthEnable: !0 })), c = new Ul(Me(R({}, e.style), { dashed: !0, lengthEnable: !1 })), h = new Ul(Me(R({}, e.style), { dashed: !1, lengthEnable: !1 }));
57108
57124
  s.add(l, h, c), n.enable();
57109
57125
  const u = [];
57110
- let d = new C.Vector3(), f = new C.Vector3();
57111
- const m = new C.Plane(), p = () => {
57112
- u.push(d.clone()), u.length === 1 ? (o === "xoz" && m.setFromNormalAndCoplanarPoint(new C.Vector3(0, 1, 0), u[0]), o === "none" && m.setFromNormalAndCoplanarPoint(f, u[0])) : u.length === 2 ? o === "y" ? (y(), i()) : h.setPoints([u[0], u[1]]) : u.length === 3 && (y(), i());
57126
+ let d = new E.Vector3(), f = new E.Vector3();
57127
+ const m = new E.Plane(), p = () => {
57128
+ u.push(d.clone()), u.length === 1 ? (o === "xoz" && m.setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), u[0]), o === "none" && m.setFromNormalAndCoplanarPoint(f, u[0])) : u.length === 2 ? o === "y" ? (y(), i()) : h.setPoints([u[0], u[1]]) : u.length === 3 && (y(), i());
57113
57129
  }, g = (x) => {
57114
57130
  var P;
57115
57131
  if (!(x != null && x.raycaster))
@@ -57120,23 +57136,23 @@ function rE(e, n, t) {
57120
57136
  return;
57121
57137
  }
57122
57138
  if (u.length === 1 && o === "y") {
57123
- const T = new C.Line3(new C.Vector3(0, 1, 0).add(u[0]), new C.Vector3(0, -1, 0).add(u[0])).closestPointToPoint(x.point, !1, new C.Vector3());
57139
+ const T = new E.Line3(new E.Vector3(0, 1, 0).add(u[0]), new E.Vector3(0, -1, 0).add(u[0])).closestPointToPoint(x.point, !1, new E.Vector3());
57124
57140
  e.setPoints([u[0], T, x.point]);
57125
57141
  return;
57126
57142
  }
57127
57143
  if (u.length === 1) {
57128
- m ? (d = x.raycaster.ray.intersectPlane(m, new C.Vector3()), c.setPoints([d, x.point])) : d = x.point.clone(), l.setPoints([M, d]);
57144
+ m ? (d = x.raycaster.ray.intersectPlane(m, new E.Vector3()), c.setPoints([d, x.point])) : d = x.point.clone(), l.setPoints([M, d]);
57129
57145
  return;
57130
57146
  }
57131
57147
  if (u.length === 2) {
57132
57148
  s.remove(l);
57133
- const I = x.raycaster.ray.intersectPlane(m, new C.Vector3());
57149
+ const I = x.raycaster.ray.intersectPlane(m, new E.Vector3());
57134
57150
  if (a === "diagonal") {
57135
- const T = u[0].distanceTo(u[1]) / 2, z = new C.Vector3().lerpVectors(u[0], u[1], 0.5), D = new C.Vector3().subVectors(I, z).normalize();
57136
- d = new C.Vector3().addVectors(z, D.multiplyScalar(T)), e.setPoints([u[0], d, u[1]]);
57151
+ const T = u[0].distanceTo(u[1]) / 2, z = new E.Vector3().lerpVectors(u[0], u[1], 0.5), D = new E.Vector3().subVectors(I, z).normalize();
57152
+ d = new E.Vector3().addVectors(z, D.multiplyScalar(T)), e.setPoints([u[0], d, u[1]]);
57137
57153
  } else if (a === "vertex") {
57138
- const T = new C.Vector3().crossVectors(u[0].clone().sub(u[1]), m.normal).normalize();
57139
- d = new C.Line3(u[1].clone().add(T), u[1].clone().sub(T)).closestPointToPoint(x.point, !1, new C.Vector3()), e.setPoints([u[0], u[1], d]);
57154
+ const T = new E.Vector3().crossVectors(u[0].clone().sub(u[1]), m.normal).normalize();
57155
+ d = new E.Line3(u[1].clone().add(T), u[1].clone().sub(T)).closestPointToPoint(x.point, !1, new E.Vector3()), e.setPoints([u[0], u[1], d]);
57140
57156
  }
57141
57157
  return;
57142
57158
  }
@@ -57178,7 +57194,7 @@ class e6 extends hv {
57178
57194
  }
57179
57195
  setPoints(t) {
57180
57196
  const i = Ft(t.center), r = Ft(t.normal), s = t.radius, o = sE(s);
57181
- this.geometry = new C.CircleGeometry(s, o), this.position.copy(i), this.lookAt(r.clone().add(i)), this.normal = r.clone().normalize(), this.needsRender = !0;
57197
+ this.geometry = new E.CircleGeometry(s, o), this.position.copy(i), this.lookAt(r.clone().add(i)), this.normal = r.clone().normalize(), this.needsRender = !0;
57182
57198
  }
57183
57199
  highlight() {
57184
57200
  this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.opacity, this.setStyle({ opacity: this.opacity * ra }), this.needsRender = !0);
@@ -57268,8 +57284,8 @@ function oE(e, n) {
57268
57284
  }, c = (d) => {
57269
57285
  if (!d || !o)
57270
57286
  return;
57271
- const f = new C.Plane().setFromNormalAndCoplanarPoint(o.normal, o.point);
57272
- if (a = d.raycaster.ray.intersectPlane(f, new C.Vector3()), a) {
57287
+ const f = new E.Plane().setFromNormalAndCoplanarPoint(o.normal, o.point);
57288
+ if (a = d.raycaster.ray.intersectPlane(f, new E.Vector3()), a) {
57273
57289
  const m = o.point.distanceTo(a);
57274
57290
  e.setPoints({ center: o.point, normal: o.normal, radius: m });
57275
57291
  }
@@ -57318,7 +57334,7 @@ class N1 extends ti {
57318
57334
  this.addIfNotExists(this.bottomCircle), this.bottomCircle.setPoints({ center: t, normal: this.normal, radius: this.radius }), this.setEdgeMesh();
57319
57335
  }
57320
57336
  setStyle(t) {
57321
- this.params = R(R({}, this.params), t), At(t.color) && this.bottomCircle.setStyle({ color: t.color }), At(t.color) && this.topCircle.setStyle({ color: t.color });
57337
+ this.params = R(R({}, this.params), t), bt(t.color) && this.bottomCircle.setStyle({ color: t.color }), bt(t.color) && this.topCircle.setStyle({ color: t.color });
57322
57338
  }
57323
57339
  highlight() {
57324
57340
  this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.edgeMesh.opacity, this.edgeMesh.setStyle({ opacity: this.edgeMesh.opacity * ra }), this.bottomCircle.highlight(), this.topCircle.highlight(), this.needsRender = !0);
@@ -57329,7 +57345,7 @@ class N1 extends ti {
57329
57345
  setEdgeMesh() {
57330
57346
  this.addIfNotExists(this.edgeMesh);
57331
57347
  const t = this.topCircle.center, i = this.bottomCircle.center;
57332
- this.edgeMesh.geometry.dispose(), this.edgeMesh.geometry = new C.CylinderGeometry(
57348
+ this.edgeMesh.geometry.dispose(), this.edgeMesh.geometry = new E.CylinderGeometry(
57333
57349
  this.radius,
57334
57350
  this.radius,
57335
57351
  t.distanceTo(i),
@@ -57337,15 +57353,15 @@ class N1 extends ti {
57337
57353
  1,
57338
57354
  !0
57339
57355
  );
57340
- const r = new C.Quaternion().setFromUnitVectors(new C.Vector3(0, 1, 0), this.normal.clone().normalize());
57341
- this.edgeMesh.position.copy(new C.Vector3().lerpVectors(i, t, 0.5)), this.edgeMesh.quaternion.copy(r);
57356
+ const r = new E.Quaternion().setFromUnitVectors(new E.Vector3(0, 1, 0), this.normal.clone().normalize());
57357
+ this.edgeMesh.position.copy(new E.Vector3().lerpVectors(i, t, 0.5)), this.edgeMesh.quaternion.copy(r);
57342
57358
  }
57343
57359
  }
57344
57360
  class t6 extends qc {
57345
57361
  constructor(n) {
57346
57362
  super(n, () => {
57347
57363
  const t = () => {
57348
- const i = n.cylinderMesh.topCenter, r = n.cylinderMesh.bottomCenter, s = new C.Vector3().lerpVectors(i, r, 0.5);
57364
+ const i = n.cylinderMesh.topCenter, r = n.cylinderMesh.bottomCenter, s = new E.Vector3().lerpVectors(i, r, 0.5);
57349
57365
  return { topCenter: i, bottomCenter: r, boxCenter: s };
57350
57366
  };
57351
57367
  return {
@@ -57423,8 +57439,8 @@ function n6(e, n) {
57423
57439
  return;
57424
57440
  const p = ro({
57425
57441
  raycaster: m.raycaster,
57426
- line: new C.Line3(o, a)
57427
- }), y = new C.Plane().setFromNormalAndCoplanarPoint(e.normal, e.bottomCenter).projectPoint(p, new C.Vector3()), b = p.clone().sub(y), A = e.bottomCenter.clone().add(b);
57442
+ line: new E.Line3(o, a)
57443
+ }), y = new E.Plane().setFromNormalAndCoplanarPoint(e.normal, e.bottomCenter).projectPoint(p, new E.Vector3()), b = p.clone().sub(y), A = e.bottomCenter.clone().add(b);
57428
57444
  p && e.setTopCenter(A);
57429
57445
  }, d = () => {
57430
57446
  n.off("select", h), n.off("intersectionUpdate", u), n.off("disable", f), t.remove(i), n.disable();
@@ -57440,7 +57456,7 @@ class i6 extends qc {
57440
57456
  super(n, () => {
57441
57457
  const t = () => {
57442
57458
  var o, a;
57443
- const i = (o = n.boxMesh.topPlane) == null ? void 0 : o.center, r = (a = n.boxMesh.bottomPlane) == null ? void 0 : a.center, s = new C.Vector3().lerpVectors(i, r, 0.5);
57459
+ const i = (o = n.boxMesh.topPlane) == null ? void 0 : o.center, r = (a = n.boxMesh.bottomPlane) == null ? void 0 : a.center, s = new E.Vector3().lerpVectors(i, r, 0.5);
57444
57460
  return { topCenter: i, bottomCenter: r, boxCenter: s };
57445
57461
  };
57446
57462
  return {
@@ -57508,10 +57524,10 @@ class V1 extends ti {
57508
57524
  return (t = this.bottomPlane) == null ? void 0 : t.occlusionMode;
57509
57525
  }
57510
57526
  setPoints(t) {
57511
- At(t.heightPoint) && this.setTopHeightPoint(t.heightPoint), At(t.points) && this.setBottomPoints(t.points);
57527
+ bt(t.heightPoint) && this.setTopHeightPoint(t.heightPoint), bt(t.points) && this.setBottomPoints(t.points);
57512
57528
  }
57513
57529
  setBottomPoints(t) {
57514
- const i = t.map(Ft).filter(At);
57530
+ const i = t.map(Ft).filter(bt);
57515
57531
  if (i.length < 3) {
57516
57532
  console.error("Invalid position");
57517
57533
  return;
@@ -57599,7 +57615,7 @@ function r6(e, n) {
57599
57615
  return;
57600
57616
  const p = ro({
57601
57617
  raycaster: m.raycaster,
57602
- line: new C.Line3(l, c)
57618
+ line: new E.Line3(l, c)
57603
57619
  });
57604
57620
  p && e.setPoints({ heightPoint: p });
57605
57621
  }, d = () => {
@@ -57627,7 +57643,7 @@ class j1 extends Nr {
57627
57643
  return Me(R({}, this.baseData), {
57628
57644
  points: bi(this.applyObjectMatrixWorld(this.lineMesh.points)),
57629
57645
  style: {
57630
- lineColor: new C.Color(this.lineMesh.color).getHex(),
57646
+ lineColor: new E.Color(this.lineMesh.color).getHex(),
57631
57647
  lineWidth: this.lineMesh.lineWidth,
57632
57648
  dashed: this.lineMesh.dashed
57633
57649
  }
@@ -57694,11 +57710,11 @@ function o6(e, n, t) {
57694
57710
  return T();
57695
57711
  f = I;
57696
57712
  const z = h.at(-1).clone();
57697
- a === "none" ? (u = I.point, l.setPoints([z, u])) : a === "xoz" ? (n.plane = d, d = d != null ? d : new C.Plane().setFromNormalAndCoplanarPoint(new C.Vector3(0, 1, 0), h[0]), u = d.projectPoint(I.point, new C.Vector3()), l.setPoints([z, u]), c.setPoints([u, I.point])) : a === "y" && (I.isVirtual ? (u = ro({
57713
+ a === "none" ? (u = I.point, l.setPoints([z, u])) : a === "xoz" ? (n.plane = d, d = d != null ? d : new E.Plane().setFromNormalAndCoplanarPoint(new E.Vector3(0, 1, 0), h[0]), u = d.projectPoint(I.point, new E.Vector3()), l.setPoints([z, u]), c.setPoints([u, I.point])) : a === "y" && (I.isVirtual ? (u = ro({
57698
57714
  raycaster: I.raycaster,
57699
- line: new C.Line3(h[0].clone(), new C.Vector3(0, 1, 0).add(h[0])),
57715
+ line: new E.Line3(h[0].clone(), new E.Vector3(0, 1, 0).add(h[0])),
57700
57716
  clampToLine: !1
57701
- }), c.setPoints([])) : (u = new C.Line3(h[0].clone(), new C.Vector3(0, 1, 0).add(h[0])).closestPointToPoint(I.point, !1, new C.Vector3()), c.setPoints([u, I.point])), l.setPoints([z, u]));
57717
+ }), c.setPoints([])) : (u = new E.Line3(h[0].clone(), new E.Vector3(0, 1, 0).add(h[0])).closestPointToPoint(I.point, !1, new E.Vector3()), c.setPoints([u, I.point])), l.setPoints([z, u]));
57702
57718
  }, x = () => {
57703
57719
  n.off("select", A), n.off("intersectionUpdate", w), n.off("disable", M), n.plane = null, n.disable(), i == null || i.remove(l, c);
57704
57720
  }, M = () => {
@@ -57747,7 +57763,7 @@ const Zo = class extends En {
57747
57763
  } catch (i) {
57748
57764
  return console.error(i), null;
57749
57765
  }
57750
- }).filter(At)
57766
+ }).filter(bt)
57751
57767
  };
57752
57768
  }
57753
57769
  get items() {
@@ -57913,7 +57929,7 @@ class lE extends En {
57913
57929
  v(this, "group");
57914
57930
  v(this, "fiveDomEvents");
57915
57931
  this.five = t.five, this.model = t.model, this.group = t.group, this.type = t.type, this.rawData = t.rawData, this.fiveDomEvents = aE(this.five);
57916
- const i = (s = (r = t.position) != null ? r : this.model.center) != null ? s : Wa(this.model).getCenter(new C.Vector3());
57932
+ const i = (s = (r = t.position) != null ? r : this.model.center) != null ? s : Wa(this.model).getCenter(new E.Vector3());
57917
57933
  this.tag = lT(this.five, i, { wrapper: t.tagWrapper });
57918
57934
  }
57919
57935
  get container() {
@@ -58052,7 +58068,7 @@ const U1 = (e, n) => {
58052
58068
  };
58053
58069
  class m6 extends lE {
58054
58070
  constructor(...n) {
58055
- const t = n[0], i = Wa(t.model), r = new C.Vector3().lerpVectors(Er(i, 0), Er(i, 5), 0.5);
58071
+ const t = n[0], i = Wa(t.model), r = new E.Vector3().lerpVectors(Er(i, 0), Er(i, 5), 0.5);
58056
58072
  super(Me(R({}, t), { position: r })), this.enable();
58057
58073
  }
58058
58074
  }
@@ -58062,7 +58078,7 @@ class g6 extends Br {
58062
58078
  super(t);
58063
58079
  v(this, "state");
58064
58080
  v(this, "items", []);
58065
- v(this, "group", new C.Group());
58081
+ v(this, "group", new E.Group());
58066
58082
  v(this, "data");
58067
58083
  v(this, "tagRendererMap", {});
58068
58084
  v(this, "fiveDomEvents");
@@ -58132,7 +58148,7 @@ class g6 extends Br {
58132
58148
  return [g[0], g[1] + ((y = a.object_data.fixedY) != null ? y : 0), g[2]];
58133
58149
  });
58134
58150
  d.push(d[0]);
58135
- const f = a.object_data.height + ((c = a.object_data.fixedHeight) != null ? c : 0) + this.zFightingOffset, m = Ft(d[0]).add(new C.Vector3().setY(f));
58151
+ const f = a.object_data.height + ((c = a.object_data.fixedHeight) != null ? c : 0) + this.zFightingOffset, m = Ft(d[0]).add(new E.Vector3().setY(f));
58136
58152
  u.setPoints({ points: d, heightPoint: m }), u.setStyle({
58137
58153
  color: a.object_data.color,
58138
58154
  opacity: ((h = a.object_data.opacity) != null ? h : 0.4) / 2,
@@ -58151,7 +58167,7 @@ class g6 extends Br {
58151
58167
  });
58152
58168
  this.items.push(p);
58153
58169
  } else if (a.type === "box") {
58154
- const u = new Ad(), { start: d, end: f, rotation: m = [0, 0, 0, 0], opacity: p, color: g } = a.object_data, y = new C.Vector3().fromArray(d), b = new C.Vector3().fromArray(f), A = new C.Euler().fromArray(m), w = new C.Quaternion().setFromEuler(A), x = w.clone().inverse(), M = new C.Vector3().lerpVectors(y, b, 0.5), P = M.clone().negate(), I = y.clone().add(P).applyQuaternion(x), T = b.clone().add(P).applyQuaternion(x), z = new C.Box3(I.clone().max(T), I.clone().min(T));
58170
+ const u = new Ad(), { start: d, end: f, rotation: m = [0, 0, 0, 0], opacity: p, color: g } = a.object_data, y = new E.Vector3().fromArray(d), b = new E.Vector3().fromArray(f), A = new E.Euler().fromArray(m), w = new E.Quaternion().setFromEuler(A), x = w.clone().inverse(), M = new E.Vector3().lerpVectors(y, b, 0.5), P = M.clone().negate(), I = y.clone().add(P).applyQuaternion(x), T = b.clone().add(P).applyQuaternion(x), z = new E.Box3(I.clone().max(T), I.clone().min(T));
58155
58171
  u.setPoints({
58156
58172
  points: [Er(z, 2), Er(z, 3), Er(z, 7), Er(z, 6), Er(z, 2)],
58157
58173
  heightPoint: Er(z, 0)
@@ -58177,7 +58193,7 @@ class g6 extends Br {
58177
58193
  });
58178
58194
  }
58179
58195
  setState(t) {
58180
- At(t.enabled) && this.state.enabled !== t.enabled && (this.state.enabled = t.enabled, t.enabled ? this.handleEnable() : this.handleDisable(), this.hooks.emit(t.enabled ? "enable" : "disable", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" })), At(t.visible) && this.state.visible !== t.visible && (this.state.visible = t.visible, t.visible ? this.handleShow() : this.handleHide(), this.hooks.emit(t.visible ? "show" : "hide", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" }));
58196
+ bt(t.enabled) && this.state.enabled !== t.enabled && (this.state.enabled = t.enabled, t.enabled ? this.handleEnable() : this.handleDisable(), this.hooks.emit(t.enabled ? "enable" : "disable", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" })), bt(t.visible) && this.state.visible !== t.visible && (this.state.visible = t.visible, t.visible ? this.handleShow() : this.handleHide(), this.hooks.emit(t.visible ? "show" : "hide", { userAction: "我不知道捏" }), this.hooks.emit("stateChange", { state: this.state, userAction: "我不知道捏" }));
58181
58197
  }
58182
58198
  getItemById(t) {
58183
58199
  return this.items.find((i) => i.rawData.id === t);