@realsee/dnalogel 2.3.7-4 → 2.3.7-5

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.
Files changed (222) hide show
  1. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +29 -16
  2. package/dist/index.cjs.js +3 -3
  3. package/dist/index.js +374 -323
  4. package/dist/index.umd.js +3 -3
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/CSS3DRender.html +31 -31
  7. package/docs/classes/CruisePluginController.html +24 -24
  8. package/docs/classes/Magnifier.html +90 -40
  9. package/docs/classes/ModelRoomLabelController.html +11 -11
  10. package/docs/classes/Object3DHelperController.html +24 -24
  11. package/docs/classes/PaintBrush.html +15 -15
  12. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  13. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  14. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  15. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  16. package/docs/classes/PanoTagPluginController.html +39 -39
  17. package/docs/classes/Util.BetterTween.html +8 -8
  18. package/docs/classes/Util.FivePointSelector.html +12 -12
  19. package/docs/classes/Util.Interval.html +12 -12
  20. package/docs/classes/Util.Magnifier.html +17 -17
  21. package/docs/classes/Util.PointDomHelper.html +11 -11
  22. package/docs/classes/Util.PointHelper.html +11 -11
  23. package/docs/classes/Util.Rectangle.html +13 -13
  24. package/docs/enums/CameraMovementEffect.html +7 -7
  25. package/docs/enums/ContentType.html +12 -12
  26. package/docs/enums/DIRECTION.html +9 -9
  27. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  28. package/docs/enums/DimensionType.html +7 -7
  29. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  30. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  31. package/docs/enums/LinkType.html +7 -7
  32. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  33. package/docs/enums/PointType.html +7 -7
  34. package/docs/enums/Rotation.html +8 -8
  35. package/docs/functions/CSS3DRenderPlugin.html +4 -4
  36. package/docs/functions/CameraMovementPlugin.html +4 -4
  37. package/docs/functions/CruisePlugin.html +4 -4
  38. package/docs/functions/GuideLinePlugin.html +5 -5
  39. package/docs/functions/ItemLabelPlugin.html +4 -4
  40. package/docs/functions/MapviewFloorplanPlugin.html +4 -4
  41. package/docs/functions/ModelChassisCompassPlugin.html +4 -4
  42. package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
  43. package/docs/functions/ModelFloorplanPlugin.html +4 -4
  44. package/docs/functions/ModelItemLabelPlugin.html +4 -4
  45. package/docs/functions/ModelRoomLabelPlugin.html +4 -4
  46. package/docs/functions/ModelTVVideoPlugin.html +4 -4
  47. package/docs/functions/ModelViewPlugin.html +4 -4
  48. package/docs/functions/Object3DHelperPlugin.html +4 -4
  49. package/docs/functions/PanoCompassPlugin.html +4 -4
  50. package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
  51. package/docs/functions/PanoDoorLabelPlugin.html +4 -4
  52. package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
  53. package/docs/functions/PanoMeasurePlugin.html +4 -4
  54. package/docs/functions/PanoRulerPlugin.html +4 -4
  55. package/docs/functions/PanoRulerProPlugin.html +4 -4
  56. package/docs/functions/PanoSpatialTagPlugin.html +4 -4
  57. package/docs/functions/PanoTagPlugin.html +4 -4
  58. package/docs/functions/TopviewFloorplanPlugin.html +4 -4
  59. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  60. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  61. package/docs/functions/Util.getFrameTime.html +5 -5
  62. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  63. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  64. package/docs/functions/Util.isNil.html +5 -5
  65. package/docs/functions/Util.nextFrame.html +5 -5
  66. package/docs/functions/Util.notNil.html +5 -5
  67. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  68. package/docs/functions/Util.tweenProgress.html +5 -5
  69. package/docs/functions/pluginFlag.html +5 -5
  70. package/docs/index.html +4 -4
  71. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  72. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  73. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  74. package/docs/interfaces/ContentTypeMap.html +12 -12
  75. package/docs/interfaces/FloorplanBounding.html +8 -8
  76. package/docs/interfaces/FloorplanData.html +10 -10
  77. package/docs/interfaces/FloorplanEntrance.html +11 -11
  78. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  79. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  80. package/docs/interfaces/FloorplanFloorData.html +9 -9
  81. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  82. package/docs/interfaces/FloorplanObserver.html +9 -9
  83. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  84. package/docs/interfaces/FloorplanPosition.html +7 -7
  85. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  86. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  87. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  88. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  89. package/docs/interfaces/FloorplanServerData.html +7 -7
  90. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  91. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  92. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  93. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  94. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  95. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  96. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  97. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  98. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  99. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  100. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  101. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  102. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  103. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  104. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  105. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  106. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  107. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  108. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  109. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  110. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  111. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  112. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  113. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  114. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  115. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  116. package/docs/interfaces/Object3DHelperState.html +8 -8
  117. package/docs/interfaces/PaintBrushAction.html +12 -12
  118. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  119. package/docs/interfaces/PaintBrushState.html +10 -10
  120. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  121. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
  122. package/docs/interfaces/PanoMeasureParameterType.html +12 -12
  123. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  124. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  125. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  126. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  127. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  128. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  129. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  130. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  131. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  132. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  133. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  134. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
  135. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
  136. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  137. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  138. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  139. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  140. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  141. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  142. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  143. package/docs/interfaces/Point.html +8 -8
  144. package/docs/interfaces/Room.html +9 -9
  145. package/docs/interfaces/RoomInfo.html +7 -7
  146. package/docs/interfaces/RoomLabel.html +14 -14
  147. package/docs/interfaces/RoomRules.html +5 -5
  148. package/docs/interfaces/Rooms.html +5 -5
  149. package/docs/interfaces/Scissor.html +9 -9
  150. package/docs/interfaces/TagConfig.html +10 -10
  151. package/docs/interfaces/Tags.html +9 -9
  152. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  153. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  154. package/docs/modules/Util.html +5 -5
  155. package/docs/modules.html +4 -4
  156. package/docs/types/ArrayPosition.html +5 -5
  157. package/docs/types/CSS3DRenderExportType.html +5 -5
  158. package/docs/types/CSS3DRenderPluginExportType.html +5 -5
  159. package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
  160. package/docs/types/Color.html +5 -5
  161. package/docs/types/ContentTypeConfigKey.html +5 -5
  162. package/docs/types/ContentTypeConfigKeyArray.html +5 -5
  163. package/docs/types/Create3DDomContainerReturnType.html +5 -5
  164. package/docs/types/Create3DElementReturnType.html +5 -5
  165. package/docs/types/CruisePluginExportType.html +5 -5
  166. package/docs/types/Direction-1.html +5 -5
  167. package/docs/types/Direction4.html +5 -5
  168. package/docs/types/FloorplanRuleLabels.html +5 -5
  169. package/docs/types/FloorplanServerRuleLabels.html +5 -5
  170. package/docs/types/GuideLinePluginExportType.html +5 -5
  171. package/docs/types/HelperEventMap.html +5 -5
  172. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
  173. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
  174. package/docs/types/MediaData.html +5 -5
  175. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
  176. package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
  177. package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
  178. package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
  179. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
  180. package/docs/types/MoveArgs.html +5 -5
  181. package/docs/types/MoveOpts.html +5 -5
  182. package/docs/types/Object3DHelperEventMap.html +5 -5
  183. package/docs/types/ObjectFit.html +5 -5
  184. package/docs/types/PaintBrushEventMap.html +5 -5
  185. package/docs/types/PanoCompassPluginData.html +5 -5
  186. package/docs/types/PanoCompassPluginExportType.html +5 -5
  187. package/docs/types/PanoCompassPluginParameterType.html +5 -5
  188. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
  189. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
  190. package/docs/types/PanoMeasurePluginEvent.html +5 -5
  191. package/docs/types/PanoMeasureReturnType.html +5 -5
  192. package/docs/types/PanoSpatialTagPluginId.html +5 -5
  193. package/docs/types/PanoTagPluginExportInterface.html +5 -5
  194. package/docs/types/PanoTagPluginParamsInterface.html +5 -5
  195. package/docs/types/PlaneTag.html +5 -5
  196. package/docs/types/PointTag.html +5 -5
  197. package/docs/types/Position.html +5 -5
  198. package/docs/types/RotateArgs.html +5 -5
  199. package/docs/types/RotateOpts.html +5 -5
  200. package/docs/types/RuleLabelsKey.html +5 -5
  201. package/docs/types/RuleLabelsValue.html +5 -5
  202. package/docs/types/Tag.html +5 -5
  203. package/docs/types/Tag2D.html +5 -5
  204. package/docs/types/Tag3D.html +5 -5
  205. package/docs/types/TagId.html +5 -5
  206. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
  207. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
  208. package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
  209. package/docs/variables/PLUGIN.html +5 -5
  210. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
  211. package/docs/variables/ROOM_TYPE_MAP.html +5 -5
  212. package/docs/variables/VERSION.html +5 -5
  213. package/docs/variables/itemLabelPluginServerParams.html +5 -5
  214. package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
  215. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
  216. package/libs/PanoMeasurePlugin/Controller/BaseController.js +5 -5
  217. package/libs/PanoMeasurePlugin/Controller/EditController.js +4 -4
  218. package/libs/PanoMeasurePlugin/Controller/MixedController.js +19 -19
  219. package/libs/PanoMeasurePlugin/Controller/WatchController.js +2 -2
  220. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +29 -16
  221. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +113 -62
  222. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -94,7 +94,7 @@ function En(i) {
94
94
  function Rl(i) {
95
95
  i[an] || delete i[an];
96
96
  }
97
- class Hl {
97
+ class Ol {
98
98
  hasListener(t) {
99
99
  const e = En(this);
100
100
  return e && e[t] && e[t].length > 0;
@@ -134,10 +134,10 @@ class Hl {
134
134
  function dt() {
135
135
  return ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
136
136
  }
137
- function Oe() {
137
+ function He() {
138
138
  return (dt() + dt() + "-" + dt() + "-4" + dt().substr(0, 3) + "-" + dt() + "-" + dt() + dt() + dt()).toLowerCase();
139
139
  }
140
- const Ol = `
140
+ const Hl = `
141
141
  <style type="text/css">
142
142
 
143
143
  #_gl_paintBrush {
@@ -238,14 +238,14 @@ transition: all 500ms;
238
238
 
239
239
  </style>
240
240
  `;
241
- class Fl extends Hl {
241
+ class Fl extends Ol {
242
242
  constructor(e) {
243
243
  super();
244
244
  f(this, "configs");
245
245
  f(this, "clientWidth");
246
246
  f(this, "clientHeight");
247
247
  f(this, "ready", !1);
248
- f(this, "uuid", Oe());
248
+ f(this, "uuid", He());
249
249
  f(this, "tween");
250
250
  f(this, "tweening", !1);
251
251
  f(this, "container");
@@ -274,7 +274,7 @@ class Fl extends Hl {
274
274
  const e = document.createElement("div");
275
275
  e.id = "_gl_paintBrush", document.body.appendChild(e), this.container = e;
276
276
  }
277
- return this.container.innerHTML = Ol, this.container;
277
+ return this.container.innerHTML = Hl, this.container;
278
278
  }
279
279
  initCanvas(e) {
280
280
  const n = document.createElement("canvas");
@@ -599,20 +599,20 @@ const W0 = (i, t) => {
599
599
  if (n)
600
600
  return;
601
601
  h = L(i.model, c.fov, c.aspect), u = i.model.bounding.getCenter(new E.Vector3()), l.remove(d), d = T(i.model), l.add(d), n = !0, S();
602
- function I(O) {
603
- const N = O.clone();
602
+ function I(H) {
603
+ const N = H.clone();
604
604
  return N.uniforms.modelAlpha.value = 1, N.uniforms.map.value && (N.uniforms.map.value.needsUpdate = !0), N;
605
605
  }
606
- function T(O) {
607
- if (O instanceof E.Mesh) {
608
- const N = O.geometry, Z = Array.isArray(O.material) ? O.material.map(I) : I(O.material);
606
+ function T(H) {
607
+ if (H instanceof E.Mesh) {
608
+ const N = H.geometry, Z = Array.isArray(H.material) ? H.material.map(I) : I(H.material);
609
609
  return new E.Mesh(N, Z);
610
- } else if (O instanceof E.Group) {
610
+ } else if (H instanceof E.Group) {
611
611
  const N = new E.Group();
612
- return O.children.forEach((Z) => N.add(T(Z))), N;
612
+ return H.children.forEach((Z) => N.add(T(Z))), N;
613
613
  } else {
614
614
  const N = new E.Object3D();
615
- return O.children.forEach((Z) => N.add(T(Z))), N;
615
+ return H.children.forEach((Z) => N.add(T(Z))), N;
616
616
  }
617
617
  }
618
618
  }, m = () => {
@@ -620,7 +620,7 @@ const W0 = (i, t) => {
620
620
  return s || (s = new E.WebGLRenderer({ antialias: !1, alpha: !0 }), s.setPixelRatio(i.renderer.getPixelRatio()), s.outputEncoding = E.sRGBEncoding, s.setClearColor(1579548, 0), s.autoClear = !0), s;
621
621
  }, g = () => {
622
622
  d.traverse((I) => {
623
- I instanceof E.Mesh && [].concat(I.material).forEach((O) => O.dispose());
623
+ I instanceof E.Mesh && [].concat(I.material).forEach((H) => H.dispose());
624
624
  }), l.remove(d), d = new E.Object3D(), l.add(d), n = !1, S();
625
625
  }, v = () => {
626
626
  !e || n || p();
@@ -629,29 +629,29 @@ const W0 = (i, t) => {
629
629
  }, w = () => {
630
630
  !e || (l.remove(d), o = !0, k(), e = !1);
631
631
  }, y = (I, T = {}) => {
632
- const O = m();
633
- if (!O)
632
+ const H = m();
633
+ if (!H)
634
634
  return;
635
- I.appendChild(O.domElement), x(T);
635
+ I.appendChild(H.domElement), x(T);
636
636
  const N = window.getComputedStyle(I).position;
637
637
  N !== "relative" && N !== "absolute" && N !== "fixed" && N !== "sticky" && (I.style.position = "relative");
638
638
  }, x = (I = {}) => {
639
639
  if (!s)
640
640
  return;
641
- const O = s.domElement.parentNode;
642
- if (O != null && O.nodeName) {
643
- const { width: N = O.offsetWidth, height: Z = O.offsetHeight } = I;
641
+ const H = s.domElement.parentNode;
642
+ if (H != null && H.nodeName) {
643
+ const { width: N = H.offsetWidth, height: Z = H.offsetHeight } = I;
644
644
  s.setSize(N, Z), c.aspect = N / Z, c.updateProjectionMatrix();
645
645
  }
646
646
  S();
647
647
  };
648
- function L(I, T, O) {
648
+ function L(I, T, H) {
649
649
  const N = I.bounding, Z = Math.pow(
650
650
  Math.pow(N.max.x - N.min.x + 1, 2) + Math.pow(N.max.y - N.min.y + 1, 2) + Math.pow(N.max.z - N.min.z + 1, 2),
651
651
  1 / 2
652
652
  );
653
653
  let X = Z / 2 / Math.tan(Math.PI * T / 360);
654
- return O < 1 && (X = X / O), isNaN(X) ? Z : X;
654
+ return H < 1 && (X = X / H), isNaN(X) ? Z : X;
655
655
  }
656
656
  function C(I) {
657
657
  return i.work.observers[I].standingPosition.clone();
@@ -665,12 +665,12 @@ const W0 = (i, t) => {
665
665
  !e || o !== !0 || !s || !s.domElement.parentNode || s.domElement.parentNode.offsetWidth === 0 || (s.render(l, c), o = !1);
666
666
  }, F = () => {
667
667
  s && s.dispose(), s = null;
668
- }, H = (I) => {
668
+ }, O = (I) => {
669
669
  Object.assign(a, I), S();
670
670
  }, G = () => ({
671
671
  enabled: e
672
672
  });
673
- return Object.assign(window, { camera: c }), i.on("modelLoaded", v), i.on("modelWillLoad", g), i.on("cameraDirectionUpdate", S), i.on("dispose", F), i.on("renderFrame", k), i.on("cameraPositionUpdate", S), { appendTo: y, refresh: x, changeConfigs: H, enable: A, disable: w, getCurrentState: G };
673
+ return Object.assign(window, { camera: c }), i.on("modelLoaded", v), i.on("modelWillLoad", g), i.on("cameraDirectionUpdate", S), i.on("dispose", F), i.on("renderFrame", k), i.on("cameraPositionUpdate", S), { appendTo: y, refresh: x, changeConfigs: O, enable: A, disable: w, getCurrentState: G };
674
674
  };
675
675
  function gt(...i) {
676
676
  const t = [];
@@ -1748,7 +1748,7 @@ function M(i, t, e, n) {
1748
1748
  n && n();
1749
1749
  }
1750
1750
  const fa = { duration: 0 };
1751
- function Ht(i, t, e) {
1751
+ function Ot(i, t, e) {
1752
1752
  let n = t(i, e), o = !1, s, r, a = 0;
1753
1753
  function l() {
1754
1754
  s && Ti(i, s);
@@ -2080,7 +2080,7 @@ function Ic(i, t, e) {
2080
2080
  const S = y.get(C.id);
2081
2081
  if (S)
2082
2082
  return S;
2083
- const { x: k, y: F, z: H } = C.position, G = new _(k, F, H).clone().distanceTo(o.camera.position);
2083
+ const { x: k, y: F, z: O } = C.position, G = new _(k, F, O).clone().distanceTo(o.camera.position);
2084
2084
  return y.set(C.id, G), G;
2085
2085
  }
2086
2086
  return s.map((C) => {
@@ -2330,7 +2330,7 @@ function Rc(i, t, e) {
2330
2330
  s
2331
2331
  ];
2332
2332
  }
2333
- class Hc extends oe {
2333
+ class Oc extends oe {
2334
2334
  constructor(t) {
2335
2335
  super(), ie(
2336
2336
  this,
@@ -2348,7 +2348,7 @@ class Hc extends oe {
2348
2348
  );
2349
2349
  }
2350
2350
  }
2351
- const Oc = "data:image/png;base64,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";
2351
+ const Hc = "data:image/png;base64,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";
2352
2352
  function Fc(i) {
2353
2353
  ae(i, "svelte-rpkaro", ".floorplan-plugin__compass.svelte-rpkaro{position:absolute;left:50%;top:-2.875rem;width:14.4375rem;height:2.5625rem;will-change:opacity;transform-origin:center 11.5rem}.floorplan-plugin__compass-image.svelte-rpkaro{width:100%;height:100%;position:absolute;left:0;top:0;opacity:0.1;background-repeat:no-repeat;background-size:100% 100%}.floorplan-plugin__compass-text.svelte-rpkaro{position:absolute;left:50%;top:0.9375rem;transform:translateX(-50%);opacity:0.2;font-weight:bold;font-size:0.625rem;color:#fff}");
2354
2354
  }
@@ -2356,7 +2356,7 @@ function Gc(i) {
2356
2356
  let t, e, n, o, s;
2357
2357
  return {
2358
2358
  c() {
2359
- t = j("div"), e = j("div"), n = V(), o = j("span"), s = xe(i[0]), b(e, "class", "floorplan-plugin__compass-image svelte-rpkaro"), R(e, "background-image", `url(${Oc})`), b(o, "class", "floorplan-plugin__compass-text svelte-rpkaro"), b(t, "class", "floorplan-plugin__compass svelte-rpkaro"), R(t, "transform", i[2]);
2359
+ t = j("div"), e = j("div"), n = V(), o = j("span"), s = xe(i[0]), b(e, "class", "floorplan-plugin__compass-image svelte-rpkaro"), R(e, "background-image", `url(${Hc})`), b(o, "class", "floorplan-plugin__compass-text svelte-rpkaro"), b(t, "class", "floorplan-plugin__compass svelte-rpkaro"), R(t, "transform", i[2]);
2360
2360
  },
2361
2361
  m(r, a) {
2362
2362
  B(r, t, a), Q(t, e), Q(t, n), Q(t, o), Q(o, s);
@@ -2681,14 +2681,14 @@ function dd(i, t, e) {
2681
2681
  function p(k, F) {
2682
2682
  if (F.width === 0 || F.height === 0)
2683
2683
  return () => !1;
2684
- const H = k.path.map(({ x: Z, y: X }) => [Z, X]), G = k.roomLabel.position, { x: Y, y: P } = G, { width: I, height: T } = F, O = I / 2, N = T / 2;
2684
+ const O = k.path.map(({ x: Z, y: X }) => [Z, X]), G = k.roomLabel.position, { x: Y, y: P } = G, { width: I, height: T } = F, H = I / 2, N = T / 2;
2685
2685
  return function(X) {
2686
- const U = Y * X, le = P * X, ue = H.map(([we, ke]) => [we * X, ke * X]);
2686
+ const U = Y * X, le = P * X, ue = O.map(([we, ke]) => [we * X, ke * X]);
2687
2687
  return [
2688
- [U + O, le - N],
2689
- [U - O, le - N],
2690
- [U - O, le + N],
2691
- [U + O, le + N]
2688
+ [U + H, le - N],
2689
+ [U - H, le - N],
2690
+ [U - H, le + N],
2691
+ [U + H, le + N]
2692
2692
  ].every((we) => cd(we, ue));
2693
2693
  };
2694
2694
  }
@@ -3054,11 +3054,11 @@ class bd extends oe {
3054
3054
  function yd(i) {
3055
3055
  ae(i, "svelte-1mzj9p3", ".floorplan-plugin__rule-labels-wrapper.svelte-1mzj9p3{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}");
3056
3056
  }
3057
- function Ho(i, t, e) {
3057
+ function Oo(i, t, e) {
3058
3058
  const n = i.slice();
3059
3059
  return n[13] = t[e][0], n[14] = t[e][1], n;
3060
3060
  }
3061
- function Oo(i, t) {
3061
+ function Ho(i, t) {
3062
3062
  let e, n, o;
3063
3063
  const s = [
3064
3064
  {
@@ -3107,8 +3107,8 @@ function wd(i) {
3107
3107
  let t, e = [], n = /* @__PURE__ */ new Map(), o, s = i[4];
3108
3108
  const r = (a) => a[13];
3109
3109
  for (let a = 0; a < s.length; a += 1) {
3110
- let l = Ho(i, s, a), c = r(l);
3111
- n.set(c, e[a] = Oo(c, l));
3110
+ let l = Oo(i, s, a), c = r(l);
3111
+ n.set(c, e[a] = Ho(c, l));
3112
3112
  }
3113
3113
  return {
3114
3114
  c() {
@@ -3124,7 +3124,7 @@ function wd(i) {
3124
3124
  o = !0;
3125
3125
  },
3126
3126
  p(a, [l]) {
3127
- l & 19 && (s = a[4], ce(), e = Je(e, l, r, 1, a, s, n, t, at, Oo, null, Ho), de()), l & 8 && R(t, "width", a[3]), l & 4 && R(t, "height", a[2]);
3127
+ l & 19 && (s = a[4], ce(), e = Je(e, l, r, 1, a, s, n, t, at, Ho, null, Oo), de()), l & 8 && R(t, "width", a[3]), l & 4 && R(t, "height", a[2]);
3128
3128
  },
3129
3129
  i(a) {
3130
3130
  if (!o) {
@@ -3342,7 +3342,7 @@ function Rd(i) {
3342
3342
  }
3343
3343
  };
3344
3344
  }
3345
- function Hd(i) {
3345
+ function Od(i) {
3346
3346
  let t, e;
3347
3347
  return t = new jd({ props: { path: i[5].path } }), {
3348
3348
  c() {
@@ -3366,7 +3366,7 @@ function Hd(i) {
3366
3366
  }
3367
3367
  };
3368
3368
  }
3369
- function Od(i) {
3369
+ function Hd(i) {
3370
3370
  let t, e;
3371
3371
  return t = new Ld({ props: { path: i[5].path } }), {
3372
3372
  c() {
@@ -3392,7 +3392,7 @@ function Od(i) {
3392
3392
  }
3393
3393
  function Wo(i) {
3394
3394
  let t, e, n, o;
3395
- const s = [Od, Hd, Rd], r = [];
3395
+ const s = [Hd, Od, Rd], r = [];
3396
3396
  function a(l, c) {
3397
3397
  return l[5].floorType === 1 ? 0 : l[5].floorType === 0 ? 1 : 2;
3398
3398
  }
@@ -3919,7 +3919,7 @@ function _o(i) {
3919
3919
  let h = {};
3920
3920
  for (let p = 0; p < d.length; p += 1)
3921
3921
  h = ye(h, d[p]);
3922
- n = new Hc({ props: h });
3922
+ n = new Oc({ props: h });
3923
3923
  let u = i[6] && Ko(i);
3924
3924
  return {
3925
3925
  c() {
@@ -3963,7 +3963,7 @@ function _o(i) {
3963
3963
  for (let m = 0; m < a.length; m += 1)
3964
3964
  D(l[m]);
3965
3965
  D(n.$$.fragment, p), D(u), s || Ie(() => {
3966
- s = Ht(t, Tt, {
3966
+ s = Ot(t, Tt, {
3967
3967
  duration: i[0],
3968
3968
  easing: Vt
3969
3969
  }), s.start();
@@ -4267,7 +4267,7 @@ class ci {
4267
4267
  return this.state;
4268
4268
  }
4269
4269
  }
4270
- class Ot extends ci {
4270
+ class Ht extends ci {
4271
4271
  }
4272
4272
  var Fe = /* @__PURE__ */ ((i) => (i.UnknownError = "UnknownError", i.DataNotLoaded = "DataNotLoaded", i.BreakOffByHide = "BreakOffByHide", i.BreakOffByDisable = "BreakOffByDisable", i.ModelNotLoaded = "ModelNotLoaded", i.ChangeModeError = "ChangeModeError", i.UpdateCameraError = "UpdateCameraError", i))(Fe || {});
4273
4273
  const ba = 500, uu = 80;
@@ -4340,7 +4340,7 @@ function fu(i) {
4340
4340
  const { latitude: t, longitude: e } = i, n = Math.abs(t - Math.PI / 2) < 10 * Math.PI / 180, o = e < 30 * (Math.PI / 180) || e > 330 * (Math.PI / 180);
4341
4341
  return n && o;
4342
4342
  }
4343
- class mu extends Ot {
4343
+ class mu extends Ht {
4344
4344
  constructor(e, n) {
4345
4345
  var a;
4346
4346
  super(e);
@@ -4613,7 +4613,7 @@ function gu(i) {
4613
4613
  const { latitude: t, longitude: e } = i, n = Math.abs(t - Math.PI / 2) < 10 * Math.PI / 180, o = e < 30 * (Math.PI / 180) || e > 330 * (Math.PI / 180);
4614
4614
  return n && o;
4615
4615
  }
4616
- class Au extends Ot {
4616
+ class Au extends Ht {
4617
4617
  constructor(e, n) {
4618
4618
  super(e);
4619
4619
  f(this, "name", "modelFloorplanPlugin");
@@ -4882,7 +4882,7 @@ class Au extends Ot {
4882
4882
  }
4883
4883
  }
4884
4884
  const V0 = (i, t) => new Au(i, t);
4885
- class vu extends Ot {
4885
+ class vu extends Ht {
4886
4886
  constructor(e, n) {
4887
4887
  super(e);
4888
4888
  f(this, "name", "topviewFloorplanPlugin");
@@ -5566,7 +5566,7 @@ class Bu extends oe {
5566
5566
  );
5567
5567
  }
5568
5568
  }
5569
- class ju extends Ot {
5569
+ class ju extends Ht {
5570
5570
  constructor(e, n) {
5571
5571
  super(e);
5572
5572
  f(this, "name", "panoFloorplanRadarPlugin");
@@ -5833,8 +5833,8 @@ const eA = (i, t) => {
5833
5833
  }
5834
5834
  } = i;
5835
5835
  o.yBase = k;
5836
- const H = { x: (L + S) / 2, y: k - 1.6, z: (C + F) / 2 }, G = 45e-4 * A;
5837
- return Qu(y, { position: H, rotation: x, scale: G }), o.object = y, !0;
5836
+ const O = { x: (L + S) / 2, y: k - 1.6, z: (C + F) / 2 }, G = 45e-4 * A;
5837
+ return Qu(y, { position: O, rotation: x, scale: G }), o.object = y, !0;
5838
5838
  }), r = ({ latitude: h }) => {
5839
5839
  if (!o.object)
5840
5840
  return;
@@ -5865,19 +5865,19 @@ function Ru(i, t) {
5865
5865
  const l = a.getContext("2d");
5866
5866
  return l.fillStyle = o, l.fillRect(0, 0, e, e), l.font = `${n}px "\u5FAE\u8F6F\u96C5\u9ED1"`, l.textAlign = r, l.fillStyle = s, l.fillText(i, e / 2, e * 0.7), new bl(a);
5867
5867
  }
5868
- const Hu = ({ x: i, y: t, z: e }) => new _(i, t, e), tA = (i, t) => {
5868
+ const Ou = ({ x: i, y: t, z: e }) => new _(i, t, e), tA = (i, t) => {
5869
5869
  var g, v, A;
5870
5870
  const e = {}, n = (g = t.animationEnabled) != null ? g : !0, o = (v = t.position) != null ? v : void 0, s = (A = t.rad) != null ? A : void 0, r = t.fbx_url || "//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx", a = [], l = (w) => J(void 0, null, function* () {
5871
- var H, G, Y, P, I, T, O, N;
5872
- const y = (H = w == null ? void 0 : w.position) != null ? H : o;
5871
+ var O, G, Y, P, I, T, H, N;
5872
+ const y = (O = w == null ? void 0 : w.position) != null ? O : o;
5873
5873
  if (!y)
5874
5874
  return Promise.reject(new Error("ModelEntryDoorGuidePlugin.load(): position is undefined"));
5875
- const x = Hu(y), L = (G = w == null ? void 0 : w.rad) != null ? G : s, C = (Y = w == null ? void 0 : w.fbx_url) != null ? Y : r;
5875
+ const x = Ou(y), L = (G = w == null ? void 0 : w.rad) != null ? G : s, C = (Y = w == null ? void 0 : w.fbx_url) != null ? Y : r;
5876
5876
  if (e.rad = L, L === void 0)
5877
5877
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${L}`));
5878
5878
  const S = yield new Yr().loadAsync(C);
5879
5879
  S.position.copy(x), S.rotation.z = L, S.scale.set(0.8, 0.8, 0.8), Ca(S, { transparent: !0, side: E.DoubleSide });
5880
- const k = (O = (T = (I = (P = S.children) == null ? void 0 : P[0]) == null ? void 0 : I.children) == null ? void 0 : T[3]) == null ? void 0 : O.clone();
5880
+ const k = (H = (T = (I = (P = S.children) == null ? void 0 : P[0]) == null ? void 0 : I.children) == null ? void 0 : T[3]) == null ? void 0 : H.clone();
5881
5881
  if (!k)
5882
5882
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${k}`));
5883
5883
  const F = (N = t.name) != null ? N : "\u5165\u6237\u95E8";
@@ -5893,14 +5893,14 @@ const Hu = ({ x: i, y: t, z: e }) => new _(i, t, e), tA = (i, t) => {
5893
5893
  x.timeScale = w;
5894
5894
  let L;
5895
5895
  const C = () => {
5896
- let H = 0, G = 0;
5896
+ let O = 0, G = 0;
5897
5897
  const Y = 1e3 / 30, P = (I) => {
5898
- H = requestAnimationFrame(P);
5898
+ O = requestAnimationFrame(P);
5899
5899
  const T = I - G;
5900
- T < Y || (G = I, a.forEach((O) => O.update(T / 1e3)), i.needsRender = !0);
5900
+ T < Y || (G = I, a.forEach((H) => H.update(T / 1e3)), i.needsRender = !0);
5901
5901
  };
5902
- return H = requestAnimationFrame(P), () => {
5903
- cancelAnimationFrame(H);
5902
+ return O = requestAnimationFrame(P), () => {
5903
+ cancelAnimationFrame(O);
5904
5904
  };
5905
5905
  }, F = { play: () => {
5906
5906
  L || (x.play(), L = C(), requestAnimationFrame(() => {
@@ -5937,7 +5937,7 @@ function Ea(i, t = dn.Easing.Linear.None) {
5937
5937
  const e = new ao({ progress: 0 }).to({ progress: 1 });
5938
5938
  return i !== void 0 && e.duration(i), t !== void 0 && e.easing(t), e;
5939
5939
  }
5940
- const gn = window.requestAnimationFrame || ((i) => setTimeout(i, 16)), Ou = window.cancelAnimationFrame || clearTimeout;
5940
+ const gn = window.requestAnimationFrame || ((i) => setTimeout(i, 16)), Hu = window.cancelAnimationFrame || clearTimeout;
5941
5941
  function di(i, t = 0) {
5942
5942
  t <= 0 ? gn(i) : gn(() => di(i, t - 1));
5943
5943
  }
@@ -5948,7 +5948,7 @@ function ui(i, t = 60) {
5948
5948
  o === -1 && (o = a), e = gn(r), !(a - n < s) && (n = a, i && i(a - o));
5949
5949
  }
5950
5950
  return e = gn(r), function() {
5951
- Ou(e);
5951
+ Hu(e);
5952
5952
  };
5953
5953
  }
5954
5954
  function Fu() {
@@ -6238,7 +6238,7 @@ const Uu = `<style type="text/css">
6238
6238
  return !1;
6239
6239
  for (const y in v) {
6240
6240
  const x = v[y], { standingPosition: L } = w.observers[0], C = x.map(({ x: S, z: k, observers: F }) => {
6241
- const H = F.length > 0 ? g.rooms[g.observers[F[0]]].name : "", G = A[H] ? A[H].floor : null;
6241
+ const O = F.length > 0 ? g.rooms[g.observers[F[0]]].name : "", G = A[O] ? A[O].floor : null;
6242
6242
  let Y = 1 / 0, P = {
6243
6243
  index: 0,
6244
6244
  x: L.x,
@@ -6258,8 +6258,8 @@ const Uu = `<style type="text/css">
6258
6258
  });
6259
6259
  const I = new _(S, P.y, k);
6260
6260
  Object.assign(I, { observers: F });
6261
- const T = A[H] ? A[H].roof : null, O = T ? new _(S, T, k) : null;
6262
- return O && Object.assign(O, { observers: F }), { origin: I, vertical: O };
6261
+ const T = A[O] ? A[O].roof : null, H = T ? new _(S, T, k) : null;
6262
+ return H && Object.assign(H, { observers: F }), { origin: I, vertical: H };
6263
6263
  });
6264
6264
  r[y] = {
6265
6265
  origins: C.map((S) => S.origin),
@@ -6274,8 +6274,8 @@ const Uu = `<style type="text/css">
6274
6274
  for (let S = 0; S < C.length; S++) {
6275
6275
  let k = S + 1;
6276
6276
  k >= C.length && (k = 0);
6277
- const { origin: F } = C[S], { origin: H } = C[k], G = n(y, F.distanceTo(H));
6278
- o.append(G), r[y].rules.push({ vertical: !1, rule: [F, H], $element: G });
6277
+ const { origin: F } = C[S], { origin: O } = C[k], G = n(y, F.distanceTo(O));
6278
+ o.append(G), r[y].rules.push({ vertical: !1, rule: [F, O], $element: G });
6279
6279
  }
6280
6280
  }
6281
6281
  return e.loaded = !0, !0;
@@ -6321,30 +6321,30 @@ const Uu = `<style type="text/css">
6321
6321
  if (v === void 0)
6322
6322
  return;
6323
6323
  let y;
6324
- for (const H in r)
6325
- H.split(",").indexOf(v.toString()) >= 0 && (y = H);
6324
+ for (const O in r)
6325
+ O.split(",").indexOf(v.toString()) >= 0 && (y = O);
6326
6326
  if (!y) {
6327
- for (const H in r)
6328
- for (const { $element: G } of r[H].rules)
6327
+ for (const O in r)
6328
+ for (const { $element: G } of r[O].rules)
6329
6329
  G.style.display = "none";
6330
6330
  return;
6331
6331
  }
6332
6332
  const x = A.position, L = A.getWorldDirection(new _()), C = g.clientWidth, S = g.clientHeight;
6333
6333
  if (w !== Be.Mode.Panorama) {
6334
- for (const H in r)
6335
- for (const { $element: G } of r[H].rules)
6334
+ for (const O in r)
6335
+ for (const { $element: G } of r[O].rules)
6336
6336
  G.style.display = "none";
6337
6337
  return;
6338
6338
  }
6339
- for (const H in r)
6340
- for (const { $element: G } of r[H].rules)
6341
- G.style.display = H === y ? "block" : "none";
6342
- const [k] = r[y].origins.slice().filter((H) => H.observers.indexOf(v) >= 0).sort((H, G) => {
6343
- const Y = H.clone().setY(0).sub(x).normalize().angleTo(L.clone().setY(0)), P = G.clone().setY(0).sub(x).normalize().angleTo(L.clone().setY(0));
6339
+ for (const O in r)
6340
+ for (const { $element: G } of r[O].rules)
6341
+ G.style.display = O === y ? "block" : "none";
6342
+ const [k] = r[y].origins.slice().filter((O) => O.observers.indexOf(v) >= 0).sort((O, G) => {
6343
+ const Y = O.clone().setY(0).sub(x).normalize().angleTo(L.clone().setY(0)), P = G.clone().setY(0).sub(x).normalize().angleTo(L.clone().setY(0));
6344
6344
  return Y - P;
6345
6345
  });
6346
- for (const { rule: H, vertical: G, $element: Y } of r[y].rules) {
6347
- const [P, I] = H, T = Y.querySelector(".PanoRulerPlugin-rule-line");
6346
+ for (const { rule: O, vertical: G, $element: Y } of r[y].rules) {
6347
+ const [P, I] = O, T = Y.querySelector(".PanoRulerPlugin-rule-line");
6348
6348
  if (!T)
6349
6349
  return;
6350
6350
  if (!k) {
@@ -6627,21 +6627,21 @@ function nh(i, t, e) {
6627
6627
  }
6628
6628
  return C.length === 0 ? !1 : C;
6629
6629
  }, d = (y, x) => {
6630
- const L = y.clone().project(n.camera), C = (L.x + 1) / 2 * a, S = (-L.y + 1) / 2 * l, k = x.clone().project(n.camera), F = (k.x + 1) / 2 * a, H = (-k.y + 1) / 2 * l, G = Math.sqrt(Math.pow(F - C, 2) + Math.pow(H - S, 2));
6630
+ const L = y.clone().project(n.camera), C = (L.x + 1) / 2 * a, S = (-L.y + 1) / 2 * l, k = x.clone().project(n.camera), F = (k.x + 1) / 2 * a, O = (-k.y + 1) / 2 * l, G = Math.sqrt(Math.pow(F - C, 2) + Math.pow(O - S, 2));
6631
6631
  return {
6632
6632
  startLeft: C,
6633
6633
  startTop: S,
6634
6634
  endLeft: F,
6635
- endTop: H,
6635
+ endTop: O,
6636
6636
  distance: G
6637
6637
  };
6638
6638
  }, h = (y, x, L) => {
6639
- const C = n.camera.position, S = n.camera.getWorldDirection(new _()), k = y.clone().sub(C).normalize().angleTo(S), F = x.clone().sub(C).normalize().angleTo(S), H = y.distanceTo(x), Y = x.clone().sub(x.clone().sub(y).divide(new _(2, 2, 2))).distanceTo(C), { startLeft: P, startTop: I, endLeft: T, endTop: O, distance: N } = d(y, x), X = -((Math.PI / 2 - Math.atan2(T - P, I - O)) / Math.PI) * 180;
6639
+ const C = n.camera.position, S = n.camera.getWorldDirection(new _()), k = y.clone().sub(C).normalize().angleTo(S), F = x.clone().sub(C).normalize().angleTo(S), O = y.distanceTo(x), Y = x.clone().sub(x.clone().sub(y).divide(new _(2, 2, 2))).distanceTo(C), { startLeft: P, startTop: I, endLeft: T, endTop: H, distance: N } = d(y, x), X = -((Math.PI / 2 - Math.atan2(T - P, I - H)) / Math.PI) * 180;
6640
6640
  let U = !0;
6641
- L || (U = !1), !Ke(y, L) && !Ke(x, L) && (U = !1), H < 0.3 && (U = !1), k > Math.PI / 2 && (U = !1), F > Math.PI / 2 && (U = !1), Y / H > 8 && (U = !1);
6641
+ L || (U = !1), !Ke(y, L) && !Ke(x, L) && (U = !1), O < 0.3 && (U = !1), k > Math.PI / 2 && (U = !1), F > Math.PI / 2 && (U = !1), Y / O > 8 && (U = !1);
6642
6642
  let le = 50, ue = N;
6643
- const me = c({ x: ~~P, y: ~~I }, { x: ~~T, y: ~~O });
6644
- if (me && me.length === 1 && (Ke(y, L) ? (ue = Math.sqrt(Math.pow(me[0].x - P, 2) + Math.pow(me[0].y - I, 2)), le = ue / N * 50) : Ke(x, L) && (ue = Math.sqrt(Math.pow(me[0].x - T, 2) + Math.pow(me[0].y - O, 2)), le = 100 - ue / N * 50)), me && me.length === 2) {
6643
+ const me = c({ x: ~~P, y: ~~I }, { x: ~~T, y: ~~H });
6644
+ if (me && me.length === 1 && (Ke(y, L) ? (ue = Math.sqrt(Math.pow(me[0].x - P, 2) + Math.pow(me[0].y - I, 2)), le = ue / N * 50) : Ke(x, L) && (ue = Math.sqrt(Math.pow(me[0].x - T, 2) + Math.pow(me[0].y - H, 2)), le = 100 - ue / N * 50)), me && me.length === 2) {
6645
6645
  const we = {
6646
6646
  x: (me[0].x + me[1].x) / 2,
6647
6647
  y: (me[0].y + me[1].y) / 2
@@ -6655,7 +6655,7 @@ function nh(i, t, e) {
6655
6655
  deg: X,
6656
6656
  visible: U,
6657
6657
  labelOffset: le,
6658
- ruleLength: H
6658
+ ruleLength: O
6659
6659
  };
6660
6660
  }, u = () => {
6661
6661
  const y = n.panoIndex, x = o.find((G) => G.panoIndex === y);
@@ -6666,14 +6666,14 @@ function nh(i, t, e) {
6666
6666
  const L = n.camera.position, C = n.camera.getWorldDirection(new _()), S = x.lines.map((G) => new _(G.start[0], -G.start[1], -G.start[2])), k = x.lines.map((G) => new _(G.end[0], -G.end[1], -G.end[2])), [F] = S.concat(k).sort((G, Y) => {
6667
6667
  const P = G.clone().setY(0).sub(L).normalize().angleTo(C.clone().setY(0)), I = Y.clone().setY(0).sub(L).normalize().angleTo(C.clone().setY(0));
6668
6668
  return P - I;
6669
- }), H = x.lines.map((G) => {
6669
+ }), O = x.lines.map((G) => {
6670
6670
  var ue, me;
6671
- const Y = G.start, P = G.end, { startLeft: I, startTop: T, distance: O, deg: N, visible: Z, labelOffset: X, ruleLength: U } = h(new _(Y[0], -Y[1], -Y[2]), new _(P[0], -P[1], -P[2]), F), le = [];
6671
+ const Y = G.start, P = G.end, { startLeft: I, startTop: T, distance: H, deg: N, visible: Z, labelOffset: X, ruleLength: U } = h(new _(Y[0], -Y[1], -Y[2]), new _(P[0], -P[1], -P[2]), F), le = [];
6672
6672
  return G.children && ((ue = G.children) == null ? void 0 : ue.length) > 0 && ((me = G.children) == null || me.forEach((we) => {
6673
6673
  const ke = we.start, Re = we.end, { distance: se } = d(new _(ke[0], -ke[1], -ke[2]), new _(Re[0], -Re[1], -Re[2]));
6674
6674
  le.push({ width: se, state: we.state });
6675
6675
  })), {
6676
- width: O,
6676
+ width: H,
6677
6677
  left: I,
6678
6678
  top: T,
6679
6679
  rotateDeg: N,
@@ -6684,7 +6684,7 @@ function nh(i, t, e) {
6684
6684
  labelElement: s.distanceText(U)
6685
6685
  };
6686
6686
  });
6687
- e(0, r = H);
6687
+ e(0, r = O);
6688
6688
  }, p = () => di(u), m = ro(u, 80);
6689
6689
  return Ue(() => {
6690
6690
  u(), n.on("panoArrived", u), n.on("modeChange", u), n.on("cameraDirectionUpdate", p), n.on("movingToPano", p), n.on("mouseWheel", () => m()), n.on("pinchGesture", () => m());
@@ -6790,7 +6790,7 @@ function hs(i) {
6790
6790
  });
6791
6791
  }
6792
6792
  const Sn = { userAction: !0 };
6793
- class lh extends Ot {
6793
+ class lh extends Ht {
6794
6794
  constructor(e, n) {
6795
6795
  super(e);
6796
6796
  f(this, "state", {
@@ -6972,8 +6972,8 @@ class lh extends Ot {
6972
6972
  }
6973
6973
  const sA = (i, t) => new lh(i, t);
6974
6974
  function zn(i, t, e) {
6975
- const n = i[t];
6976
- i[t] = i[e], i[e] = n;
6975
+ const n = i[t], o = i[e];
6976
+ n === void 0 || o === void 0 || (i[t] = o, i[e] = n);
6977
6977
  }
6978
6978
  function ch(i, t, e) {
6979
6979
  const n = e / 2;
@@ -6989,31 +6989,33 @@ class dh {
6989
6989
  constructor(t, e) {
6990
6990
  f(this, "width");
6991
6991
  f(this, "height");
6992
- f(this, "visible", !1);
6992
+ f(this, "containerDom");
6993
6993
  f(this, "hooks", new Ye());
6994
- f(this, "contentDom", document.createElement("canvas"));
6994
+ f(this, "canvas", document.createElement("canvas"));
6995
6995
  f(this, "five");
6996
6996
  f(this, "scale");
6997
- f(this, "wrapper");
6998
6997
  f(this, "config");
6999
6998
  f(this, "offset", { x: 0, y: 0 });
7000
- f(this, "canvas", this.contentDom);
7001
6999
  f(this, "context");
7002
7000
  f(this, "renderCenter", new E.Vector3());
7003
- f(this, "lastPanEvent");
7004
7001
  f(this, "hammer");
7002
+ f(this, "state", { enabled: !1 });
7003
+ f(this, "offsetRange");
7004
+ f(this, "isPanning", !1);
7005
+ f(this, "onPanstart", () => {
7006
+ this.isPanning = !0, this.canvas.style.boxShadow = "0 2px 30px 0 rgba(0,0,0,0.20)";
7007
+ });
7005
7008
  f(this, "onPan", (t) => {
7006
- var c, d, h, u;
7007
- if (!this.wrapper)
7009
+ if (!this.isPanning || !this.offsetRange || this.hooks.emit("wantsPanGesture", t))
7008
7010
  return;
7009
- const e = (d = (c = this.lastPanEvent) == null ? void 0 : c.deltaX) != null ? d : 0, n = (u = (h = this.lastPanEvent) == null ? void 0 : h.deltaY) != null ? u : 0, o = t.deltaX - e, s = t.deltaY - n;
7010
- if (this.lastPanEvent = t, this.hooks.emit("wantsPanGesture", { srcEvent: t, deltaX: o, deltaY: s }))
7011
- return;
7012
- const a = this.offset.x + o, l = this.offset.y + s;
7013
- this.contentDom.style.boxShadow = "0 2px 30px 0 rgba(0,0,0,0.20)", this.canvas.style.transform = `translate3d(${a}px, ${l}px, 100px)`, this.offset = { x: a, y: l };
7011
+ const { translateX: n, translateY: o } = this.getPanOffset(t, this.offsetRange);
7012
+ this.canvas.style.transform = `translate3d(${n}px, ${o}px, 100px)`;
7014
7013
  });
7015
- f(this, "onPanEnd", (t) => {
7016
- this.lastPanEvent = void 0, this.contentDom.style.boxShadow = "none";
7014
+ f(this, "onPanend", (t) => {
7015
+ if (this.isPanning = !1, this.canvas.style.boxShadow = "none", !this.offsetRange)
7016
+ return;
7017
+ const { translateX: e, translateY: n } = this.getPanOffset(t, this.offsetRange);
7018
+ this.canvas.style.transform = `translate3d(${e}px, ${n}px, 100px)`, this.offset = { x: e, y: n };
7017
7019
  });
7018
7020
  var o, s, r;
7019
7021
  if (!t.renderer)
@@ -7026,37 +7028,79 @@ class dh {
7026
7028
  const n = this.canvas.getContext("2d");
7027
7029
  if (!n)
7028
7030
  throw new Error("CANNOT CREATE CONTEXT2D");
7029
- this.context = n, this.config.dragEnabled && (this.hammer = new vn(this.canvas), this.hammer.on("pan", this.onPan), this.hammer.on("panend", this.onPanEnd));
7031
+ this.context = n, this.config.dragEnabled && (this.hammer = new vn(this.canvas), this.hammer.on("pan", this.onPan), this.hammer.on("panstart", this.onPanstart), this.hammer.on("panend", this.onPanend)), this.initStyle();
7030
7032
  }
7031
7033
  dispose() {
7032
7034
  var t;
7033
- this.clear(), this.remove(), (t = this.hammer) == null || t.destroy();
7035
+ this.clear(), this.disable(), (t = this.hammer) == null || t.destroy();
7034
7036
  }
7035
- remove() {
7036
- this.canvas.remove(), this.visible = !1;
7037
+ enable() {
7038
+ if (!this.state.enabled)
7039
+ return this.state.enabled = !0, this.containerDom && this._appendTo(this.containerDom), this;
7037
7040
  }
7038
- clear() {
7039
- this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
7041
+ disable() {
7042
+ if (!!this.state.enabled)
7043
+ return this.state.enabled = !1, this.canvas.remove(), this;
7040
7044
  }
7041
7045
  appendTo(t) {
7042
- this.wrapper = t, this.initStyle(), t.append(this.canvas), this.visible = !0;
7046
+ return this.containerDom = t, this.state.enabled && this._appendTo(t), this;
7047
+ }
7048
+ clear() {
7049
+ return this.context.clearRect(0, 0, this.canvas.width, this.canvas.height), this;
7043
7050
  }
7044
7051
  renderWithPoint(t) {
7045
- !this.wrapper || (this.renderCenter = t, this.render(), this.config.autoFixPCPosition && this.autoFixPCPosition());
7052
+ !this.containerDom || !this.state.enabled || (this.renderCenter = t, this.render(), this.config.autoFixPCPosition && this.autoFixPCPosition());
7053
+ }
7054
+ renderWithScreenPoint(t) {
7055
+ !this.containerDom || !this.state.enabled || (this.renderCenter = t, this.render(), this.config.autoFixPCPosition && this.autoFixPCPosition());
7056
+ }
7057
+ resetOffset() {
7058
+ this.offset = { x: 0, y: 0 }, this.canvas.style.transform = `translate3d(${0}px, ${0}px, 100px)`;
7059
+ }
7060
+ getCurrentState() {
7061
+ return { enabled: this.state.enabled };
7062
+ }
7063
+ getRenderCenter() {
7064
+ return this.renderCenter;
7065
+ }
7066
+ _appendTo(t) {
7067
+ if (this.resetOffset(), t.appendChild(this.canvas), !this.offsetRange) {
7068
+ const e = this.canvas.getBoundingClientRect(), n = t.getBoundingClientRect(), o = n.right - e.right, s = n.bottom - e.bottom, r = n.left - e.left, a = n.top - e.top;
7069
+ this.offsetRange = {
7070
+ min: { x: r, y: a },
7071
+ max: { x: o, y: s }
7072
+ };
7073
+ }
7046
7074
  }
7047
7075
  autoFixPCPosition() {
7048
- if (!this.wrapper)
7076
+ if (!this.containerDom)
7049
7077
  return;
7050
- const { width: t, height: e } = this, n = this.renderCenter.clone().project(this.five.camera), o = (n.x + 1) / 2 * this.wrapper.clientWidth, s = -(n.x - 1) / 2 * this.wrapper.clientWidth, r = -(n.y - 1) / 2 * this.wrapper.clientHeight;
7051
- o < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = 90 + "px") : r < 183 ? (this.canvas.style.top = 90 + "px", this.canvas.style.left = -t / 2 + "px") : s < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = -t - 90 + "px") : (this.canvas.style.left = -t / 2 + "px", this.canvas.style.top = -e - 90 + "px"), this.canvas.style.transform = `translate3d(${o}px, ${r}px, 10px)`, this.offset = { x: o, y: r };
7078
+ const { width: t, height: e } = this, [n, o, s] = (() => {
7079
+ if (this.renderCenter instanceof E.Vector3) {
7080
+ const r = this.renderCenter.clone().project(this.five.camera);
7081
+ return [
7082
+ (r.x + 1) / 2 * this.containerDom.clientWidth,
7083
+ -(r.x - 1) / 2 * this.containerDom.clientWidth,
7084
+ -(r.y - 1) / 2 * this.containerDom.clientHeight
7085
+ ];
7086
+ } else
7087
+ return [this.renderCenter.x, this.containerDom.clientWidth - this.renderCenter.x, this.renderCenter.y];
7088
+ })();
7089
+ n < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = 90 + "px") : s < 183 ? (this.canvas.style.top = 90 + "px", this.canvas.style.left = -t / 2 + "px") : o < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = -t - 90 + "px") : (this.canvas.style.left = -t / 2 + "px", this.canvas.style.top = -e - 90 + "px"), this.canvas.style.transform = `translate3d(${n}px, ${s}px, 10px)`, this.offset = { x: n, y: s };
7052
7090
  }
7053
7091
  render() {
7054
- if (!this.five.renderer || !this.wrapper)
7092
+ if (!this.five.renderer || !this.containerDom)
7055
7093
  return;
7056
- const { scale: t, context: e, width: n, height: o } = this, s = this.renderCenter.clone().project(this.five.camera), r = this.five.renderer.getSize(new E.Vector2()), a = 1, l = n / t, c = o / t, d = a * t, h = (s.x + 1) / 2 * r.x, u = (s.y + 1) / 2 * r.y, p = this.five.getPixels(h - l / 2, u - l / 2, l, c, d), m = Math.floor(n * a), g = Math.floor(o * a);
7057
- ch(p, m, g);
7058
- const v = new ImageData(m, g);
7059
- v.data.set(p), e.putImageData(v, 0, 0);
7094
+ const { scale: t, context: e, width: n, height: o } = this, s = this.five.renderer.getSize(new E.Vector2()), [r, a] = (() => {
7095
+ if (this.renderCenter instanceof E.Vector3) {
7096
+ const v = this.renderCenter.clone().project(this.five.camera);
7097
+ return [(v.x + 1) / 2 * s.x, (v.y + 1) / 2 * s.y];
7098
+ } else
7099
+ return [this.renderCenter.x, s.y - this.renderCenter.y];
7100
+ })(), l = 1, c = n / t, d = o / t, h = l * t, u = this.five.getPixels(r - c / 2, a - c / 2, c, d, h), p = Math.floor(n * l), m = Math.floor(o * l);
7101
+ ch(u, p, m);
7102
+ const g = new ImageData(p, m);
7103
+ g.data.set(u), e.putImageData(g, 0, 0);
7060
7104
  }
7061
7105
  initStyle() {
7062
7106
  const t = this.canvas;
@@ -7064,6 +7108,13 @@ class dh {
7064
7108
  const e = 1;
7065
7109
  t.setAttribute("width", (this.width * e).toString()), t.setAttribute("height", (this.height * e).toString()), t.style.border = "2px solid rgba(255,255,255,0.20)", t.style.width = this.width + "px", t.style.height = this.height + "px", t.style.top = this.config.initialPosition.top, t.style.left = this.config.initialPosition.left, t.style.transform = "translate(0,0,100px)", this.config.dragEnabled && (this.canvas.style.cursor = "pointer");
7066
7110
  }
7111
+ getPanOffset(t, e) {
7112
+ const {
7113
+ min: { x: n, y: o },
7114
+ max: { x: s, y: r }
7115
+ } = e, a = this.offset.x + t.deltaX, l = this.offset.y + t.deltaY, c = Math.min(Math.max(a, n), s), d = Math.min(Math.max(l, o), r);
7116
+ return { translateX: c, translateY: d };
7117
+ }
7067
7118
  }
7068
7119
  class uh {
7069
7120
  constructor(t) {
@@ -7097,7 +7148,7 @@ class $e {
7097
7148
  f(this, "lines");
7098
7149
  f(this, "position");
7099
7150
  f(this, "type", "point");
7100
- this.id = Oe(), this.lines = [], this.position = new _(), t instanceof _ ? this.position.copy(t) : this.position.fromArray(t);
7151
+ this.id = He(), this.lines = [], this.position = new _(), t instanceof _ ? this.position.copy(t) : this.position.fromArray(t);
7101
7152
  }
7102
7153
  toJson() {
7103
7154
  return { id: this.id, position: this.position.toArray() };
@@ -7114,7 +7165,7 @@ class $e {
7114
7165
  }
7115
7166
  class lo {
7116
7167
  constructor(t) {
7117
- f(this, "id", Oe());
7168
+ f(this, "id", He());
7118
7169
  f(this, "lines", []);
7119
7170
  f(this, "points", []);
7120
7171
  f(this, "visiblePanoIndexes");
@@ -7286,13 +7337,13 @@ function xh(i) {
7286
7337
  const y = w.clientWidth, x = w.clientHeight, L = y / 2, C = x / 2;
7287
7338
  if (e.points.length < 2)
7288
7339
  return;
7289
- const [S, k] = e.points, F = S.position.clone().project(A.camera), H = k.position.clone().project(A.camera), G = F.clone().lerp(H, 0.5), Y = new Ge(F.x * L, F.y * C), P = new Ge(H.x * L, H.y * C), I = Y.distanceTo(P);
7290
- if ((() => !(Math.abs(F.z) > 1 || Math.abs(H.z) > 1 || !pt(F) && !pt(H) || !pt(G) || I === 0))() === !1) {
7340
+ const [S, k] = e.points, F = S.position.clone().project(A.camera), O = k.position.clone().project(A.camera), G = F.clone().lerp(O, 0.5), Y = new Ge(F.x * L, F.y * C), P = new Ge(O.x * L, O.y * C), I = Y.distanceTo(P);
7341
+ if ((() => !(Math.abs(F.z) > 1 || Math.abs(O.z) > 1 || !pt(F) && !pt(O) || !pt(G) || I === 0))() === !1) {
7291
7342
  s.style.opacity = "0", s.style.pointerEvents = "none";
7292
7343
  return;
7293
7344
  }
7294
- const O = (G.x + 1) / 2 * y, N = -(G.y - 1) / 2 * x, X = -(Math.atan((Y.y - P.y) / (Y.x - P.x)) * 180) / Math.PI, U = s.parentElement && o.clientWidth > I ? -20 : 0;
7295
- s.style.transform = `translate(${O}px, ${N}px) rotate(${X}deg) translateY(${U}px)`, s.style.opacity = "1", s.style.pointerEvents = t ? "all" : "none", r && r.update({ line: e, polyline: e.getPolyline() });
7345
+ const H = (G.x + 1) / 2 * y, N = -(G.y - 1) / 2 * x, X = -(Math.atan((Y.y - P.y) / (Y.x - P.x)) * 180) / Math.PI, U = s.parentElement && o.clientWidth > I ? -20 : 0;
7346
+ s.style.transform = `translate(${H}px, ${N}px) rotate(${X}deg) translateY(${U}px)`, s.style.opacity = "1", s.style.pointerEvents = t ? "all" : "none", r && r.update({ line: e, polyline: e.getPolyline() });
7296
7347
  const le = g();
7297
7348
  o.innerText = le;
7298
7349
  }
@@ -7328,7 +7379,7 @@ class $t {
7328
7379
  f(this, "distanceItem");
7329
7380
  f(this, "polyline");
7330
7381
  var o;
7331
- if (this.id = Oe(), this.model = n, t.id === e.id)
7382
+ if (this.id = He(), this.model = n, t.id === e.id)
7332
7383
  throw new Error("\u65E0\u6548\u7684\u7EBF\u6BB5, \u4E00\u4E2A\u70B9\u65E0\u6CD5\u6784\u6210\u7EBF\u6BB5");
7333
7384
  typeof n.config.defaultText == "string" && (this.text = n.config.defaultText), this.hook = new Ye(), this.points = [t, e], this.mesh = fs(this, "normal"), this.lightMesh = fs(this, "light"), this.distanceItem = xh({
7334
7385
  line: this,
@@ -7461,17 +7512,17 @@ class hi {
7461
7512
  return this.mouseGroup;
7462
7513
  }
7463
7514
  dispose() {
7464
- this.disposed = !0, this.magnifier.remove(), this.model.getAllLines().forEach((e) => this.removeLine(e));
7515
+ this.disposed = !0, this.magnifier.disable(), this.model.getAllLines().forEach((e) => this.removeLine(e));
7465
7516
  const t = this.five.getElement();
7466
7517
  t && (t.removeEventListener("touchstart", Mn), t.removeEventListener("contextmenu", Mn));
7467
7518
  }
7468
7519
  }
7469
- function Hi(i) {
7520
+ function Oi(i) {
7470
7521
  const { x: t, y: e } = i.center, { clientWidth: n, clientHeight: o } = i.target, s = i.target.getBoundingClientRect(), r = new Ge(t, e).sub(new Ge(s.left, s.top)), a = new Ge(r.x / n * 2 - 1, -(r.y / o) * 2 + 1);
7471
7522
  return { point: r, ndcPoint: a };
7472
7523
  }
7473
7524
  function Ci(i, t) {
7474
- const e = Hi(t).ndcPoint, n = new Qt();
7525
+ const e = Oi(t).ndcPoint, n = new Qt();
7475
7526
  return n.setFromCamera(e, i.camera), i.model.intersectRaycaster(n);
7476
7527
  }
7477
7528
  class Tn extends hi {
@@ -7488,7 +7539,7 @@ class Tn extends hi {
7488
7539
  f(this, "hammer");
7489
7540
  f(this, "onIntersectionUpdate", ro((e, n) => {
7490
7541
  var s;
7491
- this.hasAppendMouseGroup === !1 && (this.group.add(this.mouseGroup), this.magnifier.appendTo(this.container), this.hasAppendMouseGroup = !0);
7542
+ this.hasAppendMouseGroup === !1 && (this.group.add(this.mouseGroup), this.magnifier.appendTo(this.container), this.magnifier.enable(), this.hasAppendMouseGroup = !0);
7492
7543
  const o = this.updateMouseGroup(e, n).position;
7493
7544
  (s = this.pressPoint) == null || s.position.copy(o), this.updateDashed(), requestAnimationFrame(() => this.magnifier.renderWithPoint(this.mouseGroup.position)), this.five.needsRender = !0;
7494
7545
  }, 20));
@@ -7500,10 +7551,10 @@ class Tn extends hi {
7500
7551
  if (this.polyline.lines.length === 0 && !this.lastPoint || !this.lastPoint)
7501
7552
  return;
7502
7553
  const e = this.polyline.lines[this.polyline.lines.length - 1], n = e.findAnotherPoint(this.lastPoint);
7503
- !n || (this.lastPoint = n, this.hook.emit("anchorChange", n.position), this.group.remove(e.mesh), this.polyline.removeLine(e), this.hasAppendMouseGroup = !1, this.mouseGroup.position.copy(this.lastPoint.position), this.group.remove(this.mouseGroup), e.distanceItem.remove(), this.updateDashed(), this.magnifier.remove(), this.five.needsRender = !0);
7554
+ !n || (this.lastPoint = n, this.hook.emit("anchorChange", n.position), this.group.remove(e.mesh), this.polyline.removeLine(e), this.hasAppendMouseGroup = !1, this.mouseGroup.position.copy(this.lastPoint.position), this.group.remove(this.mouseGroup), e.distanceItem.remove(), this.updateDashed(), this.magnifier.disable(), this.five.needsRender = !0);
7504
7555
  });
7505
7556
  f(this, "onMouseLeave", () => {
7506
- this.magnifier.remove(), this.group.remove(this.mouseGroup), this.hasAppendMouseGroup = !1, this.lastPoint && (this.mouseGroup.position.copy(this.lastPoint.position), this.updateDashed());
7557
+ this.magnifier.disable(), this.group.remove(this.mouseGroup), this.hasAppendMouseGroup = !1, this.lastPoint && (this.mouseGroup.position.copy(this.lastPoint.position), this.updateDashed());
7507
7558
  });
7508
7559
  f(this, "onLineChanged", () => {
7509
7560
  this.hook.emit("editedPolylineChange", this.polyline);
@@ -7533,7 +7584,7 @@ class Tn extends hi {
7533
7584
  const r = new $t(s, o, this.model);
7534
7585
  r.distanceItem.setItemSelectable(!1), r.distanceItem.appendTo(this.container), this.polyline.addLine(r), this.group.add(r.mesh), r.distanceItem.update(this.five);
7535
7586
  }
7536
- this.pressPoint = void 0, this.hasAppendMouseGroup = !1, this.magnifier.remove(), this.group.remove(this.mouseGroup), this.updateDashed(), this.five.needsRender = !0, this.hook.emit("anchorChange", o.position);
7587
+ this.pressPoint = void 0, this.hasAppendMouseGroup = !1, this.magnifier.disable(), this.group.remove(this.mouseGroup), this.updateDashed(), this.five.needsRender = !0, this.hook.emit("anchorChange", o.position);
7537
7588
  });
7538
7589
  f(this, "onWantsTapGesture", () => !1);
7539
7590
  f(this, "onWantsToMoveToPano", () => !1);
@@ -7701,7 +7752,7 @@ function zh(i, t, e, n) {
7701
7752
  }).sort((a, l) => a.distance - l.distance);
7702
7753
  return typeof n == "number" && r[0].distance > n ? null : r[0];
7703
7754
  }
7704
- function Oi(i) {
7755
+ function Hi(i) {
7705
7756
  const t = (s, r, a) => {
7706
7757
  const l = s.lines.find((d) => d.points.findIndex(({ id: u }) => u === s.id) !== r);
7707
7758
  if (!l)
@@ -7724,27 +7775,27 @@ class gs extends hi {
7724
7775
  var a;
7725
7776
  if (this.model.getAllLines().length === 0 || !this.fiveElement)
7726
7777
  return;
7727
- const n = Hi(e).point, o = (a = zh(this.five, this.model.getAllPoints(), n, 20)) == null ? void 0 : a.point;
7778
+ const n = Oi(e).point, o = (a = zh(this.five, this.model.getAllPoints(), n, 20)) == null ? void 0 : a.point;
7728
7779
  if (!o) {
7729
7780
  this.editPointState = void 0;
7730
7781
  return;
7731
7782
  }
7732
7783
  const s = {
7733
7784
  point: o,
7734
- associatedLines: Oi(o.lines[0])
7785
+ associatedLines: Hi(o.lines[0])
7735
7786
  };
7736
7787
  this.hook.emit("wantsDragLine", {
7737
7788
  point: o.id,
7738
7789
  lines: s.associatedLines.map(({ id: l }) => l)
7739
- }) || (this.editPointState = s, this.magnifier.appendTo(this.container), this.group.add(this.mouseGroup));
7790
+ }) || (this.editPointState = s, this.magnifier.appendTo(this.container), this.magnifier.enable(), this.group.add(this.mouseGroup));
7740
7791
  });
7741
7792
  f(this, "onPanEnd", () => {
7742
- !this.editPointState || (this.editPointState.point.lines.forEach((e) => e.mesh.setMaterial({ dashed: !1 })), this.highlightLines(this.editPointState.associatedLines), this.editPointState = void 0, this.magnifier.remove(), this.group.remove(this.mouseGroup));
7793
+ !this.editPointState || (this.editPointState.point.lines.forEach((e) => e.mesh.setMaterial({ dashed: !1 })), this.highlightLines(this.editPointState.associatedLines), this.editPointState = void 0, this.magnifier.disable(), this.group.remove(this.mouseGroup));
7743
7794
  });
7744
7795
  f(this, "onPan", (e) => {
7745
7796
  if (!this.editPointState || !this.fiveElement)
7746
7797
  return;
7747
- const n = Hi(e).ndcPoint, o = new Qt();
7798
+ const n = Oi(e).ndcPoint, o = new Qt();
7748
7799
  o.setFromCamera(n, this.five.camera);
7749
7800
  const [s] = this.five.model.intersectRaycaster(o);
7750
7801
  !s || this.onIntersectionUpdate(s);
@@ -7793,7 +7844,7 @@ class gs extends hi {
7793
7844
  return this.chooseLine(u), !1;
7794
7845
  });
7795
7846
  f(this, "chooseLine", (e) => {
7796
- const n = Oi(e);
7847
+ const n = Hi(e);
7797
7848
  this.highlightLines(n), this.five.needsRender = !0, this.hook.emit(
7798
7849
  "selectedChange",
7799
7850
  n.map((o) => o)
@@ -7917,7 +7968,7 @@ function Qh(i, t) {
7917
7968
  y: -(i.y - o) / n * 2 + 1
7918
7969
  });
7919
7970
  }
7920
- const Rh = "data:image/png;base64,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", Hh = "data:image/png;base64,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", Oh = `
7971
+ const Rh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGwCAYAAADFUEBtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABtqADAAQAAAABAAABsAAAAABTZ8U6AAAtiklEQVR4Ae2dAXJbSbJdp+d7AfYSHOGVeAPek5fkNXgLjviLmRkZl+CRbtc8UBKRRalZpyIesiorMx/eIcjb+QCh//Y3hwQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkMEbgj7FKFpLA4QS+fPnyx23czJc//V498h2Oy8uXwDYCf/oF3HYWC0vgAAI3QfuP22V+uR35vYplrOsX/03w/kWAVgISmCPwX+ZKWUkCErgR+PvtiKjF9uj/iMx+C1/HOZeABJ4koLA9CdB0CRQBxKxFrLa/Tung7Ni+InEigTkCCtscSytJIATo2BC3dGYIWfvs2Hy9SGATAYVtE1jLHkkgohbxQsACgTkWn8IWEg4JbCCgsG2AasljCXArMgB6DpAWs3/i1EpAArMEFLZZnlY7m0C6snwyMuPqFiT+2Cvhi98hAQk8SUBhexKg6RIoAtyKjItbj1jCWGPxayUggSECCtsQSMtI4EYgYhVx624tYOK/8mXPIQEJDBNQ2IaBWu5oAnRh3GZkHSiIG8J3NCgvXgI7CShsO+la+zQCEa0ciBgWDlnji3VIQAIbCChsG6Ba8mgCdGSxjCsRu/IRr5WABJ4goLA9Ac9UCSwE6Nj6Y/0RsBxXviXdpQQkMEFAYZugaA0J3AnQhdG1xYsPccPKTAIS2ERAYdsE1rJHEohocQsy8xwZdGuse+8e4aMEJDBGQGEbQ2khCXz94AgCxkf8gwZf5u3P2iEBCQwSUNgGYVpKAjcC+eYRRKw7NeaBpLCFgkMCmwgobJvAWvZIAhE1bkUGAAK3zq/W8TkkIIEBAgrbAERLSOCVQISsPzgSd3x0a8xjczgkIIENBBS2DVAteSwBBGsVrV4zxx4LywuXwC4CCtsustY9kUDEio4t8/W9tO7cTuTjNUvgQwgobB+C2ZMcQoD317BX4kanhj0EjZcpgY8joLB9HGvP9PkJRKwiai1odm2f/+fuFf5mBBS23+wH4tP5yxPgViRdWy6I7iwihx/fX/6CvQAJ/G4EFLbf7Sfi8/krE+DfsEW0umvrOdensEFCK4FhAgrbMFDLHU0AQUO0sHRq3JaMdUhAApsIKGybwFr2SAIRsr7ViLAFRsSsha33su+QgASGCChsQyAtI4EbgYhabkdmRLi6M1uFbF2/JPkgAQk8T0Bhe56hFSQAgYgVHVt8iBsWX2zHZe2QgASGCChsQyAtI4EbgQhYjh6s23Yn17HOJSCBAQIK2wBES0jglUC6sBy8l9Zg8MUmBqHrGOcSkMAAAYVtAKIlJPBKIGLFsULBT7emsK2EXEtgiIDCNgTSMhK4EUC8EK0WsZ6zLzQJSGADAYVtA1RLHksggtUfCmkB63kAretjoXnhEpgmoLBNE7XeyQQQNrqzlUX22VPYVjquJTBEQGEbAmkZCdwI8KGQt0SLPazgJCCBYQIK2zBQyx1PgE9FAiICli4NG7+iFgoOCWwioLBtAmvZIwnw/hpfhsxtxxUGQrf6XUtAAgMEFLYBiJaQwCuBCBu/UxEvhG4F9NbeGutaAhL4SQL8Ev5kmuESkMAFgdxi5Fbko9uNj/wX5XRJQALvIaCwvYeaORK4JhBRQ7hi37rlSNx1Jb0SkMC7CShs70ZnogT+jUDEiiObLV6ZR+gYvYdPKwEJDBBQ2AYgWkICrwQQNUSsxWt9X633BCgBCQwSUNgGYVrqeAIRKz4wsgrX99bHwxOABKYIKGxTJK0jgfutx/XDI7zPxm1IBA4rNwlIYJiAwjYM1HJHE+DDIy1azLFHA/LiJfARBBS2j6DsOU4hEPFaOzauvTu3xCl0kNFKYJiAwjYM1HJHE0CwEC3W3IZE3AKJmKOBefES2EFAYdtB1ZqnEki3lq/TYiBkLWL4iNFKQALDBBS2YaCWO5oAHRoQ1tuSLWrZc0hAAhsIKGwboFryWAIRKwQLEYvYPZofC8oLl8BOAgrbTrrWPo1Ad2x0a2FwNe/bk6dx8nolsJWAwrYVr8UPIxCxomPj0hGw2O7c2NdKQALDBBS2YaCWO5pAxGsVsgbSe8x737kEJDBAQGEbgGgJCbwSSLdGx5bujPkKiM5t9buWgAQGCChsAxAtIYFXAmvH9gjMI8F7FK9fAhL4CQIK20/AMlQC3yEQYYto0ZHFZvRtR/bad4/yUQISGCGgsI1gtIgEXgjQsSFa2MaDD9t7ziUggQECCtsAREtI4JVAurUIFscVmKsu7ipOnwQk8E4CCts7wZkmgQcE8jvF7cYrEbvyPSilWwISeA8Bhe091MyRwDWBfE9kd2tXtxvxYa8r6ZWABN5NQGF7NzoTJfBvBBC1WDozgvC1ZU8rAQkMElDYBmFa6ngCES0+Fbl+pD9Chy9xORwSkMAGAgrbBqiWPJYAgoW4NQj24lu7uY5zLgEJPElAYXsSoOkSKAIRtO7KEDC6M9aJwVfpTiUggQkCCtsERWtI4E6gu7J4unPLHsKWPYUtFBwS2EBAYdsA1ZLHEohY0bFFxBC6R/NjQXnhEthJQGHbSdfapxFAyHLd3a09mp/Gx+uVwIcQUNg+BLMnOYRABIyOjUtmna6NW5HxeSsSQloJDBNQ2IaBWu54AnRtCFeLGbck/3WjxP7xwAQggWkCCts0UeudTCDfPJKjRwsYc76hpOOcS0ACQwQUtiGQlpHAjUCEK7cZ6cwChTmdG+KGTYxDAhIYJKCwDcK01PEEIlYcwEDAsKuftVYCEhgioLANgbSMBG4EHolad22JYS00CUhgAwGFbQNUSx5LILch+RRkQ6Bba8u845xLQAIDBBS2AYiWkMArgYhVv8fW76vRpeETmgQksImAwrYJrGWPJBBh4wiAtSt7a+9IYF60BHYQUNh2ULXmqQQQrti1M0Pk2GN9KiuvWwLbCChs29Ba+EACvMcWUVvfa+NWZLBE1BS2kHBIYAMBhW0DVEseTQDRamFrUcs8h0MCEthEQGHbBNayRxKImPGtIi1e3Z1l3kJ3JCgvWgI7CShsO+la+zQCb92KbBYKW9NwLoFhAgrbMFDLHU2A25DdoV0ByX7fqryK0ScBCbyTgML2TnCmSeCCAILVHRlzbNIyd0hAApsIKGybwFr2SALpwujaAED3ho1/jSFWKwEJDBBQ2AYgWkICrwRasBCytTvDLzQJSGATAYVtE1jLHkkgorW+d/ZIyNa4I4F50RLYQUBh20HVmqcSQNjo0rJmDpNHQse+VgISeJKAwvYkQNMlUATW99giao86MwWuwDmVwCQBhW2SprUk8OevyqKD+9cNDN1bW3lJQAIbCChsG6Ba8lgC6c440q0hYvk2Egb+7DkkIIENBBS2DVAteSyBiFVEbL0F2SKWPYcEJLCRgMK2Ea6ljyPQ3RoXH1HLgaAhco/eeyNPKwEJvJOAwvZOcKZJ4IIAYhW7Chni1vaihC4JSOBZAgrbswTNl8A3AhEtxI3ODCFLVPu+ZTmTgARGCShsozgtdjiBCBdHUKRruxKz9ifOIQEJDBJQ2AZhWup4AhGxdGyxLV6IG4CyXn3saSUggScJKGxPAjRdAkUgYsX7a9ySbIEjND6HBCSwiYDCtgmsZY8kQLfW3VjPgRLflZ99rQQk8AQBhe0JeKZK4IIAHRvCRceGTUrPL0rokoAEniGgsD1Dz1wJ/JnA2rGtnVm+Witj9d+9PkpAAiMEFLYRjBaRwAsBhC2W0d0Z++0jTisBCQwRUNiGQFpGAq8E8pVa6cgQLyyAWHOrEr9WAhIYIqCwDYG0jARuBNKR5Yh4ddeGiLUf3y3UIQEJTBJQ2CZpWut0AtxqjGjl6O6MOYwUNkhoJTBMQGEbBmq5owkgaIgWlk4NccMeDcuLl8AuAgrbLrLWPZEAtyK59ghbixjC1z5itRKQwBABhW0IpGUk8EqA99jo1uLuuaLmS0UCmwkobJsBW/4oAnRsES9Gd2nxIXJY4rQSkMAQAYVtCKRlJHAjgFjRtQVKfBE6fKyz55CABDYQUNg2QLXksQQiWhGwDESuhax9zO/RPkpAAmMEFLYxlBaSwIuYRbA4rpCke/N9tisy+iQwREBhGwJpGQncCETQeJ8tQHivLf51Hp9DAhLYQEBh2wDVkscSiFjlK7UYLV49Z18rAQlsIKCwbYBqyWMJRNT4kMgVhIhbd25XMfokIIEnCShsTwI0XQJFIMJFZ4Zlm/fV8PMhE/a1EpDAEAGFbQikZSRwIxDRWju2+CJq7Y8PgbtNHRKQwCQBhW2SprVOJ0AXhg0PRA02CBoWv1YCEhgioLANgbSMBG4EIlYRtVhuPcZm4LuvfJSABLYRUNi2obXwoQS45dhdG6IWmyMDe1/5KAEJjBFQ2MZQWkgCLx/1R7xi6dqYNyKFrWk4l8AgAYVtEKaljifQohYY3bVF5BA6bk8eD0wAEthBQGHbQdWaJxNAzBC5sEDQ6NxYn8zJa5fANgIK2za0Fj6QQIQrwhbbo9eZ/+t2tK9jnUtAAk8SUNieBGi6BIpARC3fPtIdGfPYDAQNe/f6KAEJjBFQ2MZQWkgCL6IVwWrRYo4Npv4+SbFJQALDBBS2YaCWO5rA+l2RLWbducXfe0dD8+IlME1AYZsmar2TCSBYV6KFD8uHTE7m5bVLYAsBhW0LVoseSmAVtn5fjXnQIG6HYvKyJbCXgMK2l6/VzyPQnVgLWM9DpePOo+QVS2AjAYVtI1xLH0cgYpWju7OGEHFjbxW6jnMuAQk8QUBhewKeqRJYCETUECwsIRG0+HIgbuxpJSCBQQIK2yBMS0ngRqA7NoQMMPmH2Rmr/+71UQISGCGgsI1gtIgEXghE1DJiW+BenLcH/vE2a60EJLCBgMK2AaoljyWQTqxFDaFrIN21td+5BCQwREBhGwJpGQncCCBsb91qpGtLjEMCEthAQGHbANWSxxJIh4aoxfIhkRaxK9+xwLxwCewgoLDtoGrNkwn090C2oMEkPm5H4tNKQAKDBBS2QZiWOp5Ad2x8vD9Q6NIyj7ARl7VDAhIYJqCwDQO13NEEEK1AoFuLqK0fImnROxqYFy+BHQQUth1UrXkqAYQN4cLGn3kGc4Tv7vVRAhIYI6CwjaG0kARe/p1aBKtFizk2mHouNglIYJiAwjYM1HLHE8htR7qzfi+tPzASYVPcjn+pCGAXAYVtF1nrnkiA99KwLV78+zW49B4+rQQkMEBAYRuAaAkJvBKIoHWXBhhEjK4ta3zEaCUggSECCtsQSMtI4JVAhC23IhE4bksiZr0WmgQksIGAwrYBqiWPJRDxQtgQstiIGevu2o4F5YVLYCcBhW0nXWufRgDxynX3e2qIXfzME+uQgAQ2EFDYNkC15LEEIlqrcCFgsd6GPPal4YV/JAGF7SNpe65TCETEELi+ZsWtaTiXwCYCCtsmsJY9kgCChqhh42f4HhsktBLYREBh2wTWskcSQNhyyzGiltGiljX+zB0SkMAGAscI25cvX/IHhj8y+ePCmj807QvqK3/7EkMNbO8zZ++RTdy6l9rk9/6Vb41lfRW7nidr6pPXMfERs+53feKI7Rr4Oqb3OX/73po/E881XFmeZyz7PA+ulfVqEx/ff3+1mSen31Pjk5F0bP/r9pr8H68x2SM2+6yxN9fX/9UN+T9iiaHO9+zVuR/l/ExsarwVv14fzxvLc2Dddt1jvdrkxIddz5l175PPua7W1GLvkU3tf77WJyY+ancd5uwnnnnb+FMzg5rYl7p//PEH9e9RBz3mF/CIUcLWfxjzyTXWWP4oscYmlr237Fs11zxi8zPIeTjXapPHf4QkJ4P42AxyqMm58K9xWa+xySEPS17Oj6/j2E8t/Fd1E7fmX8URs8ZTf/Wva/K7Nr63bNd/VLPzmV/FZi9HRvb5gxObwR8c/ohhs88c2778IYu/97LffzTZw2b/H7ej6/Temk9s/OQQv1rOu/rJw2afA99b9lHd9TzUbD/ztT6x+L8X92h/zU8cz5e9tsw7rmtnP/kZ8ffRudknjvNhqYcl78tN3DI/buSX7tTRf3xggC82Lwj+OF3tx3e1T+yP2h954fHHkfPFMu98fFfn5nrIJbbzH+Vx/t7vfObZT2zWnC++jPU8iem8xLSv89e4xDK6buJy/hw/Ovqcb51nrbcKZ+dSExZXNvU6Z62/ruGxXh/X/1YtePC8sDkHdcnnua7nz5o8LHWJpQZrLPGssWt8r3lexLYlLpbrz37W7K35+BOXwfpR/j3q22PHrfl93m8Z386Bjzhs/OvzJLZt4juO/B/l37WOmK9gPvtF8wLJdeaFwos1/gzWvIiIaU74Ov6t/MSxj8XH+fCzXm3iGZwfG3/nM8dSa81nPzYHce0nJxY/cdj2r/PEXMVR79Fe7yeGutjsM+Jb/dSNfZTfeeR3Xup3fmLyOiCPvcSR3zEdmzlHxxLfIpl6/Zx5TvFnsE5u1+rnc5Wf82cQh717v/m7bmIyOE/m5GGv4snDJi+j62TNPv5ex5d1DvaxxMXC+Tb9Wi/zq/yOoUbi1rqPfJ2feY/Uy0GtWHyJw48Pm72MrDPIyxxf5gzysPF37ayzhy/r4wYv9k9/4a8tef/A84Pnhx//jwziyMPiTw3q9rmofRXHXudSF9sxV3HU/dGf51r36rlyzr4ezt2245ivNjV4jn1u5uyteVn3Na1xa37WHMntedbkU3PNT8w6Eksce6yx1GUfm33yiY3lIK7zE5+jfcTFdp2sE8ugLjH4Y1MP/2qzT27mGTzv++r+yHMiljr4OzZz9vE/Wnc+tcnBJqbj4qfe6ienY/CRg43/rXzyiOm8dd5r8rDkZ524PvDFZvAzfVRvzb2q3b571YMeAfjpL/n1Pba+zrw4+OH3PDH9guo5+eRhOx9fYpljyWfvkZ+43ud5cK7ssc8eddtSizwsfmpc2fiI73N0/TUvex17lc8+ucRQt9f4YtfR+WvNxLKPJZ81ltzVEo9NfD+3zo8fMcDGx4Gva2VOjbbUwpe4+HqwF9t77WeePGJi8WOzz7xtzxOTQX722Mf3EvAakzn7+B+t33pu1CaGWmt9aseusexd5RLfMZyz49eanJ+/oeSvljxqYhPHQa2265w19ThP/PioHd/fTn1/LdfODyXzTz0e/JB5QeTae86Lpn0dgx+77nV+Yoh7ZJPfo/Px44td6xATyx4+1uRhiWW/4zlX7+HrOOarJfYqfz3/mpucNYY6jyznoxbrjseXmPaT05bYxBGb/cyzhw+bPQYxWWfOQU0sudi38rNHHpa678knB8u5Y+N7dA72yMOSx3rNz34G+6u97357TH5iOo6aiWp/1j2yR2zH4cNmjwMfdXpNjfYRxx7r2PgSu+7hwxIb26PzMl/XV8+j8zN/ibn4j/k17tOujxG2+lQkP8x8goixvlh4MeHHrvHxc/Re56/7iVvrxUdOz78Xl1gG+Vc5xMQmjueExR8bH7WyZsTX/vU87LW/5+THwj77HFf5OTf7mTPwYePPnLHWyh7nJ2a12adG5+MjvuPwJSZHrquvjXUsMV375r48Z/xdJ2tG51Mztv3MyYmND3/i19F7PeccxLPHOpZ6WGLIxU9O+5l3nc7HH9/qp17s1R7njWUfy3mJaT/ztX77yefnxB7noi412Mfix+LvPM7RPuLIi+39rK9i4j9mHCNsrz9RXihZXv3wr3zJwc8LiHUs80c128/51xz8if3e4DkQl1rk9x7naB9x2euDWm2pm1/crtX1Et97VzWJ59ysySW/1+27On+fp2NT42oQc/UcEo+fuK7B3vfisr/m57nnWGskltE5mRPLnDhs9nsQv/qpiz+Wj4uzlzqchzhq95r4+NpPPjnEscbih0XWfaxxrGNzPvI5P+uOy/yqJn5ief5Xsfg6h3jOzZrY2Az899WfnzP71CAmlvz2vVVr3eu8P80f3KX6U8xnXZwmbPk58kLqF8jqYy/+HPmFzFjj7t5/93c+MdjUyD4xsWtd9vAnt+dZM9b8R3Hx9x5/ZDgXlpi1LudjnzV5WfOHE1+fkzwsTK/Oc5XP+ZLPfizz7HfNrDlX5gzyk0c8cdTC4k9ufBzkxZ9BXPyJiSWG9ZVdfc0ve9S9Tb/O8WU/R0b77p5ve71+FNf+zHnu+FMj817Hl5HnjJ/ng8WfOOax7MefwR7+Pv8av66JTS75WOq+nOT1AR/xxGabeWoyf037+hy/l8/+Vd66lxjOg01Mz7vOVX728ZP3Yr0VCbozLD98XgyPrjpxxK4x5LKPTVz2Hu3jX+utecRR961fNGr1eeMjl3mv4+McmWes67v3/sgfj6yos8ZzfvZjmd+r3B/xJT5zbMdk3vmcfz1n4lZf53Eu7NW5spf62buqdXN/vY7OJy+5OThH4vGtlpyOTXwG58fevffHxJPDudbnSt7qT4Xk9CD2ytexnLPPT05qJPbqfPg6n1h8qdPzrMlj72q/fT3v3DU/cVwXOcRjk3M12CcPi5+crNtHHPucn3XHxtfrnmcvtdZ6iemaWZOHvbnOHEcBuP0XTDpUXgBYutZ13X7y2kf8lU3cz8RSI69C8mLxY/FdxcXXcdTBh1391GT/LftWLM+J/D7P1RzfWzUf1cLfdj0/e12fmCvb8ez3c4yPmNWy9z9vk/+WxW2Qmz9Iicfyx+g/b77/9+rnD9dqb9tf/3iRF9txicn60X7HMu9Y8qlBzCOb+OSvz+Mqntiuje+RvapDfnJ6/3vPoc+RzjK5Gev1v1Vnje3zrx127/U85/zR8/dzuXquXZfzr8+R9bHfPMLXNAXgpx+3e878wD/9tXqBH0/g9h9O//d21v96O/LHpwfr2LwGI3T/5/Z6/N8d5FwCEpghcJSwzSCzigQeEmjhajFLAl1b/BwPC7khAQm8n4DC9n52ZkpgJYBgxUbIesSXQcx95aMEJDBOQGEbR2rBwwlwu/vqPbagQfQQusNxefkSmCegsM0zteK5BOjGrsQLISPmXEpeuQQ2E1DYNgO2/FEE0q3RsWEDIPN+jy0+hC5zhwQkMEhAYRuEaanjCXQ31mIWMAjZao+HJgAJTBNQ2KaJWu9kAhEtOrV0aHRpfJCkhQ+BO5mX1y6BLQQUti1YLXoogVW4ELTg6D3Wh2LysiWwl4DCtpev1c8ikG5tvQWZT0ciarF0cZk7JCCBDQQUtg1QLXk0gQgW4hYQfO1Ri9rRgLx4CewmoLDtJmz9kwhExBC12Aw6tPvq/hiRs2NrIs4lMEhAYRuEaanjCSBYLVrrPOsrsTsengAkMEVAYZsiaR0J/Pt7aWGCkPU83VwLXvYcEpDAEAGFbQikZSRwIxCx4hZkC9c677XgJCCBYQIK2zBQyx1NIKKW99lyqzFHRkSMW4/47Nhe0PgggT0EFLY9XK16JoGIGN0YNiSYt2V+JimvWgIbCShsG+Fa+jgCEat0Y2vHFhB0bYlhHr9DAhIYJqCwDQO13NEEIlociFvWDPZ4Hw6/VgISGCSgsA3CtNTxBHjvDDHjW0cicuxlnkHMfeWjBCQwRkBhG0NpIQm8EOhu7B83D0IGHgQNi18rAQkMEVDYhkBaRgI3AhG1FjagRMQicG0VNuhoJTBMQGEbBmq5owlErFbBYr3ao0F58RLYSUBh20nX2qcRQNhi6dDCgDk2vqvOLn6HBCTwJAGF7UmApkugCETQECw6tGwzx1aKUwlIYJqAwjZN1HonE+A9tu7M4IEPiwCyr5WABIYIKGxDIC0jgRuBiFW6sqvODB9WYBKQwCYCCtsmsJY9kkBEK+JGVxYIzGMZCCBrrQQkMEhAYRuEaanjCUTY8iXI/3E76MxWG0jx4c/aIQEJDBJQ2AZhWup4AnRi+YfZ+daRq5GYDIXtzsFHCYwTUNjGkVrwcAII1ipu+GP7tuThuLx8CcwTUNjmmVrxXALpxujIIl65LZnB+2zM6exeNn2QgARmCShsszytdjaBdGPdmdGdtY9uDd/ZxLx6CWwgoLBtgGrJYwlErLpjy3oVsKy7gzsWlhcugV0EFLZdZK17IoEWslXQmgfi1z7nEpDAEAGFbQikZSRwI8B7Z4jaVWfmrUhfKhLYTEBh2wzY8kcRiKB1N5Y5QgYIRA+LXysBCQwRUNiGQFpGAjcCq7ABJX66N2wLIHFaCUhggIDCNgDREhJ4JcCtyAZCZ7bajnEuAQkMElDYBmFa6ngCEbb827V0ZXRmgZI5IwLHgU8rAQkMElDYBmFa6ngCCFYErr9Si24tgJhjj4cmAAlME1DYpola72QCESveO+NbRx7xUNgekdEvgScJKGxPAjRdAkUgYsXRtx8TEv/qi98hAQkME1DYhoFa7mgCES86tsyvBn7sVYw+CUjgCQIK2xPwTJXAQgBhozNDvFgjelmzt5RwKQEJPEtAYXuWoPkS+EYgwhXBQrQQsKyZJ7pjsnZIQAKDBBS2QZiWOp5ACxZiFiiP5scDE4AEdhBQ2HZQteapBCJgfbvxrXliHRKQwAYCCtsGqJY8lkDECsFi3rcgA6b3jwXlhUtgJwGFbSdda59GIP92rbs0xG3lsIrduu9aAhJ4goDC9gQ8UyWwEIiQRdzyrSN0ZkvIyzIxb+1f5eiTgAR+kIDC9oOgDJPADxCgQ+NbR1aBazHr+Q+UNkQCEvhRAgrbj5IyTgLfJ4CwxeZ24z9eU7j1iI1bYXuFo5HANAGFbZqo9U4mELHiPbYWLubYMOr5ycy8dgmME1DYxpFa8GACEasIG51ZbEaLGL77jo8SkMA4AYVtHKkFDyYQUYuIIWTYRoIP23vOJSCBAQIK2wBES0jglUDEahWsrOngEkbHtsZlzyEBCQwQUNgGIFpCAq8EIlZ9KxIwq4hlvfqI1UpAAk8SUNieBGi6BIoAgoW41daLkHXn1nvOJSCBQQIK2yBMSx1PIIKWI+OtjgwBvEf6KAEJjBJQ2EZxWuxwAqtgIW68r4boZc38cGRevgTmCShs80yteC6BfONIDoSMW48RuJ6fS8grl8AHEFDYPgCypziGAB1bd2P5Wi3WiFuA0M0dA8cLlcBHEVDYPoq05zmFACLG9fK9kVm3mPWcWK0EJDBAQGEbgGgJCbwSiKjRtdGdxTIQM/bwayUggUECCtsgTEsdTyDCxXtsiBg2cDJX1ELCIYGNBBS2jXAtfRwBRCy2Ray7Nm5VEnscJC9YArsJKGy7CVv/JAIRK4Qr1414YWFh1wYJrQQ2EFDYNkC15LEEImAcLV7dsWW/946F5YVLYBcBhW0XWeueSCDdGh1bd2k9DxfE70RGXrMEthNQ2LYj9gQHEYhgRdjoyK46tYNweKkS+DUEFLZfw92zfk4C+UQk3VhEje6Nq6Vz686OPa0EJDBEQGEbAmkZCdwI0LHF5htHMjLvDg6xQ+RegnyQgATmCChscyytJIEQ4N+x0b1d3Y5U1HytSGAjAYVtI1xLH0eAbgxLpxYQiFl3cMcB8oIl8BEEFLaPoOw5TiEQ0aJjyzUjZuv1x/9ob411LQEJ/CQBhe0ngRkugTcIrIKFeHXnlvR1/UZJtyQggZ8loLD9LDHjJfCYQG5BruKWaASOzHWNXysBCQwQUNgGIFpCAq8EELVHwtWd2qMYYUpAAk8SUNieBGi6BIpAxIoPjpT767TFrOdfA5xIQALPE1DYnmdoBQlAIGLFQXcWy0DM2MOvlYAEBgkobIMwLXU8gQhXd2yI3ArmkX+Ncy0BCbyDgML2DmimSOABgXzUP0e+dSQCR2e2dm0K2w2OQwK7CChsu8ha90QCCNY/bhePmCFudHL4E+uQgAQ2EFDYNkC15NEEELBAQLwQt/YdDcmLl8BOAgrbTrrWPo1ARK1vQXL97UPkED1itBKQwBABhW0IpGUkcCPArUhECxELHHzMex2fQwISGCKgsA2BtIwEbgTSmSFuiFrWmTPYV9ggopXAMAGFbRio5Y4msIpWi1fPj4bkxUtgNwGFbTdh659EIOKVri0DkaNzu3u/PSp031g4k8AoAYVtFKfFDieAmCFaLWr4gqj9hyPz8iUwT0Bhm2dqxXMJRLzo2EKhxaypxP9or+OcS0AC7yCgsL0DmikSeEAg3zrCR/sTgnitHdq6flBOtwQk8B4CCtt7qJkjgWsCETI+GZmv1WIgcFlnzsG+VgISGCSgsA3CtNTxBBC2gEj35pCABH4BAYXtF0D3lJ+WAN1aBC63GzOYY/H1e3EvgT5IQAIzBBS2GY5WkQAEImAc7cs8fkbP8WklIIEBAgrbAERLSOCVQMSKW5DdsWWbD4ys/tdUjQQkMEVAYZsiaR0JfPvgSFhE5BAz2MRnpwYNrQQ2EVDYNoG17JEE1vfYELIIHO+p2bEd+dLwoj+SgML2kbQ91wkEELBca3dnzLEnsPAaJfBLCChsvwS7J/2kBCJaEbb1FmT72FPgPumLwMv69QQUtl//M/AZfB4CESsEKxYRyxXiZ97r+BwSkMAQAYVtCKRlJHAjkE9ERrAQLea8rxZI+PqWZfwOCUhgiIDCNgTSMhK4EYho8XH/ALkStPgdEpDARgIK20a4lj6OQLqwfj+tAXBbEktX1zHOJSCBAQIK2wBES0igCHCrsVwvU4RstWucawlI4EkCCtuTAE2XQBG46tjo0LwtWaCcSmAnAYVtJ11rn0agu7W1M2N9GhOvVwIfTkBh+3DknvATE0DYeJ/t0aUmLjEOCUhgAwGFbQNUSx5LoAXLDu3Yl4EX/qsJKGy/+ifg+T8TgXRhdG28p5b1+j4bMZ/p2r0WCfw2BBS23+ZH4RP5BAQQLGwuKaLGrcm+/ZgYhwQksIGAwrYBqiWPJRCxyj/QplsLCEQNseu97DskIIFhAgrbMFDLHU0gIpbj77cjQsYtSOY318s+cVk7JCCBYQIK2zBQyx1NIIIVEfvHKwWEraHQsSXOIQEJbCCgsG2AasmjCUTcGJkjZPgUNEhoJbCJgMK2CaxljySw3mKkY+NWZFsF7siXiBf9EQQUto+g7DlOIRCxasG6muPDnsLG65TAhxFQ2D4MtSc6gEDEioNuLZfdtyMRNOwBWLxECXwsAYXtY3l7ts9NIGLFe2wtXD3/3AS8Ogn8BgQUtt/gh+BT+DQEELa1W4sfH1ax+zQ/di/kdyOgsP1uPxGfz1+ZQLq1CNYqWu1jD/tXvl6fuwR+SwIK22/5Y/FJ/UUJRKz6I/5Z06HFMuJX2KChlcAwAYVtGKjljieAYD2yAGKftVYCEhgioLANgbSMBG4E8o0j/E7la7XWwQdL4lfYVjquJTBEgF/CoXKWkcDxBBCsiBy3H+Nb58QdD0wAEpgmoLBNE7XeyQTSkdGV8d4aotZ+5iez8tolsI2AwrYNrYUPJBARoxPDBsPVvH0HovKSJbCPgMK2j62VzyMQsaIbo2O7ovDW3lW8PglI4CcIKGw/ActQCXyHQISNTgx7ldJxV/v6JCCBJwgobE/AM1UCC4F0ay1adGbYhGee8Zbw3SN8lIAE3kVAYXsXNpMkcEkgYsWtyAQgXtj2Ze6QgAQ2EFDYNkC15LEEEDY6tO7O2pe4FrtjgXnhEthBQGHbQdWapxJAsFq0mGPDhrhTOXndEthKQGHbitfihxH45+168zsV4UqHxm1JOreb68WnsIWEQwKbCChsm8Ba9lgCEbceiFxsBiLH+u71UQISGCOgsI2htJAEXrqxdGm8nwaSVcSyXn3EaiUggScJKGxPAjRdAkUAwULcauvr7UkEDdsxziUggQECCtsAREtI4JVAxIr31d4Sruy9tS9QCUjgCQIK2xPwTJXAQmAVLMSL99UQPdZLuksJSGCCgMI2QdEaErgTWG9B8l5bBI55IlcBvGf7KAEJjBBQ2EYwWkQCLwRasBCzbFzN43NIQAIbCChsG6Ba8lgCCBtCxjrdWt+GZH4sKC9cAjsJKGw76Vr7NAIRMkQrc8bVvH3EaSUggQECCtsAREtI4JVAC1u/p7YCemtvjXUtAQn8JAGF7SeBGS6BNwjkW0f+/rof8boaVx3dVZw+CUjgnQQUtneCM00CFwS6Y7vY/uqyY/uKwokE5gkobPNMrXguAd43i23x6u5t3TuXllcugU0EFLZNYC17JIGIVosbEPD1evWxp5WABJ4koLA9CdB0CRQBhI1u7apTq3CnEpDADgIK2w6q1jyVQH8wJKLGunnYqTUN5xLYQEBh2wDVkscSaNF6mf/xxx9fbuNm7vZYMl64BCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhKQgAQkIAEJSEACEpCABCQgAQn8NQn8fyHnyuSABiy2AAAAAElFTkSuQmCC", Oh = "data:image/png;base64,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", Hh = `
7921
7972
  varying vec2 vUv;
7922
7973
  void main() {
7923
7974
  vUv = uv;
@@ -7938,7 +7989,7 @@ function Ma(i) {
7938
7989
  const t = (A = i.isMobile) != null ? A : !0, e = (w = i.useNormalVector) != null ? w : !0;
7939
7990
  let n = 10349931;
7940
7991
  e && i.ballColor >= 0 && (n = i.ballColor);
7941
- const o = new Vi(), s = new wl(0.3, 0.3), r = t ? Rh : Hh, a = new Gr().load(r);
7992
+ const o = new Vi(), s = new wl(0.3, 0.3), r = t ? Rh : Oh, a = new Gr().load(r);
7942
7993
  a.encoding = Cl;
7943
7994
  const l = new un({
7944
7995
  map: a,
@@ -7947,7 +7998,7 @@ function Ma(i) {
7947
7998
  }), c = new Fn(s, l), d = new El();
7948
7999
  d.add(new Pl(new _(0, 0, 0), new _(0, 0, 0.1)));
7949
8000
  const h = new Il(d, 8, 3e-3), u = new xl({
7950
- vertexShader: Oh,
8001
+ vertexShader: Hh,
7951
8002
  fragmentShader: Fh,
7952
8003
  depthTest: !1,
7953
8004
  transparent: !0
@@ -8114,7 +8165,7 @@ class nn extends hi {
8114
8165
  !this.mobileStartPoint || !this.mobileNowPoint || (this.dashed.points[0].position.copy(this.mobileStartPoint.position), this.dashed.points[1].position.copy(this.mobileNowPoint.position), this.dashed.mesh.setPoints(this.mobileStartPoint.position, this.mobileNowPoint.position), this.dashed.distanceItem.update(this.five), this.hook.emit("editedDashedLineChange", this.dashed));
8115
8166
  });
8116
8167
  f(this, "updateMagnifier", (e) => {
8117
- this.magnifier.visible === !1 && this.magnifier.appendTo(this.container), requestAnimationFrame(() => this.magnifier.renderWithPoint(e.position)), this.five.needsRender = !0;
8168
+ this.magnifier.containerDom !== this.container && this.magnifier.appendTo(this.container), this.magnifier.getCurrentState().enabled || this.magnifier.enable(), requestAnimationFrame(() => this.magnifier.renderWithPoint(e.position)), this.five.needsRender = !0;
8118
8169
  });
8119
8170
  f(this, "onGetStartPoint", (e) => {
8120
8171
  this.mobileStartPoint = e;
@@ -8138,7 +8189,7 @@ class nn extends hi {
8138
8189
  this.state = n, this.state === "watching" ? this.five.helperVisible = !0 : this.five.helperVisible = !1;
8139
8190
  });
8140
8191
  f(this, "chooseLine", (e) => {
8141
- const n = Oi(e);
8192
+ const n = Hi(e);
8142
8193
  this.highlightLines(n), this.five.needsRender = !0, this.hook.emit(
8143
8194
  "selectedChange",
8144
8195
  n.map((o) => o)
@@ -8957,8 +9008,8 @@ function hf(i, t, e) {
8957
9008
  k = null;
8958
9009
  break;
8959
9010
  }
8960
- S.forEach((H) => {
8961
- F.includes(H) && u[H](n);
9011
+ S.forEach((O) => {
9012
+ F.includes(O) && u[O](n);
8962
9013
  }), k = k.parentNode;
8963
9014
  }
8964
9015
  };
@@ -9262,16 +9313,16 @@ const Ei = 1e-3, Is = 0.01, bf = "https://vrlab-image4.ljcdn.com/release/web/Pan
9262
9313
  ), nt.setFromProjectionMatrix(Ct);
9263
9314
  const lt = g.tags.filter(
9264
9315
  (De) => nt.containsPoint(De.position) && !De.destroying
9265
- ).length, ct = g.points.reduce((De, He) => {
9266
- if (g.tags.find((Se) => He.id === Se.id && !Se.destroying))
9316
+ ).length, ct = g.points.reduce((De, Oe) => {
9317
+ if (g.tags.find((Se) => Oe.id === Se.id && !Se.destroying))
9267
9318
  return De;
9268
- const Ze = re.position.clone().setY(n).distanceTo(He.position);
9269
- if (Ze < c || Ze > d || !nt.containsPoint(He.position))
9319
+ const Ze = re.position.clone().setY(n).distanceTo(Oe.position);
9320
+ if (Ze < c || Ze > d || !nt.containsPoint(Oe.position))
9270
9321
  return De;
9271
- const en = He.position.clone().sub(re.position).setY(0);
9272
- if (en.angleTo(He.normal) > Math.PI / 2 - r && en.angleTo(He.normal) < Math.PI / 2 + r)
9322
+ const en = Oe.position.clone().sub(re.position).setY(0);
9323
+ if (en.angleTo(Oe.normal) > Math.PI / 2 - r && en.angleTo(Oe.normal) < Math.PI / 2 + r)
9273
9324
  return De;
9274
- const Ft = He.position.clone().project(re);
9325
+ const Ft = Oe.position.clone().project(re);
9275
9326
  if (!g.tags.every((Se) => {
9276
9327
  if (Se.position.clone().sub(re.position).setY(0).angleTo(ge.setY(0)) > Math.PI / 2)
9277
9328
  return !0;
@@ -9282,11 +9333,11 @@ const Ei = 1e-3, Is = 0.01, bf = "https://vrlab-image4.ljcdn.com/release/web/Pan
9282
9333
  }))
9283
9334
  return De;
9284
9335
  const Et = {
9285
- id: He.id,
9286
- position: He.position,
9287
- normal: He.normal,
9288
- replacement: He.replacement,
9289
- weight: He.weight,
9336
+ id: Oe.id,
9337
+ position: Oe.position,
9338
+ normal: Oe.normal,
9339
+ replacement: Oe.replacement,
9340
+ weight: Oe.weight,
9290
9341
  distance: Ze
9291
9342
  };
9292
9343
  let Ce;
@@ -9303,7 +9354,7 @@ const Ei = 1e-3, Is = 0.01, bf = "https://vrlab-image4.ljcdn.com/release/web/Pan
9303
9354
  }
9304
9355
  return Ce !== void 0 ? De.splice(Ce, 0, Et) : De.push(Et), De;
9305
9356
  }, []);
9306
- for (let De = 0, He = ct.length; De < He && !(lt + be.length >= s); De++) {
9357
+ for (let De = 0, Oe = ct.length; De < Oe && !(lt + be.length >= s); De++) {
9307
9358
  const Ze = ct[De];
9308
9359
  if (be.find((Ce) => Ze.id === Ce.id))
9309
9360
  continue;
@@ -9366,7 +9417,7 @@ const Ei = 1e-3, Is = 0.01, bf = "https://vrlab-image4.ljcdn.com/release/web/Pan
9366
9417
  }), se.render && (g.render = se.render), se.template && (g.template = se.template), se.events && (g.events = se.events), se.enabled === !1 && (g.enabled = se.enabled), se.folded === !0 && (g.folded = se.folded);
9367
9418
  }, F = (se) => {
9368
9419
  g.intersectObjects = se, C();
9369
- }, H = () => {
9420
+ }, O = () => {
9370
9421
  g.enabled = !0, C();
9371
9422
  }, G = () => {
9372
9423
  g.enabled = !1, v.$set({ origins: [] }), g.tags.forEach((se) => {
@@ -9388,23 +9439,23 @@ const Ei = 1e-3, Is = 0.01, bf = "https://vrlab-image4.ljcdn.com/release/web/Pan
9388
9439
  g.tags.forEach((ve) => {
9389
9440
  ve.id === se && ve.app.$set({ folded: !0 });
9390
9441
  });
9391
- }, O = () => {
9442
+ }, H = () => {
9392
9443
  i.once("renderFrame", L);
9393
9444
  }, N = () => {
9394
9445
  e || (e = i.getElement().parentElement), e && e.appendChild(u), g.forbidden = !1, n = i.model.bounding.getCenter(new E.Vector3()).y, C(), i.on("panoWillArrive", y), i.on("panoArrived", w), i.on("modeChange", x), i.on("cameraUpdate", A);
9395
9446
  }, Z = () => {
9396
9447
  m = null, h.disposeAll(), v.$destroy(), g.tags.forEach((se) => {
9397
9448
  se.app.$destroy(), se = null;
9398
- }), g.origins = [], g.tags = [], i.off("modelLoaded", N), i.off("renderFrame", L), i.off("panoWillArrive", y), i.off("panoArrived", w), i.off("modeChange", x), i.off("cameraUpdate", A), i.off("dispose", Z), window.removeEventListener("resize", O, !1);
9449
+ }), g.origins = [], g.tags = [], i.off("modelLoaded", N), i.off("renderFrame", L), i.off("panoWillArrive", y), i.off("panoArrived", w), i.off("modeChange", x), i.off("cameraUpdate", A), i.off("dispose", Z), window.removeEventListener("resize", H, !1);
9399
9450
  };
9400
- return window.addEventListener("resize", O, !1), (Re = i == null ? void 0 : i.model) != null && Re.loaded ? N() : i.once("modelLoaded", N), i.on("dispose", Z), {
9451
+ return window.addEventListener("resize", H, !1), (Re = i == null ? void 0 : i.model) != null && Re.loaded ? N() : i.once("modelLoaded", N), i.on("dispose", Z), {
9401
9452
  load: k,
9402
9453
  setIntersectObjects: F,
9403
9454
  unfoldAll: Y,
9404
9455
  foldAll: P,
9405
9456
  unfold: I,
9406
9457
  fold: T,
9407
- enable: H,
9458
+ enable: O,
9408
9459
  disable: G,
9409
9460
  hooks: p,
9410
9461
  dispose: Z
@@ -9449,7 +9500,7 @@ class Ef extends oe {
9449
9500
  super(), ie(this, t, Cf, wf, ne, { itemLabel: 0, hooks: 2 }, yf);
9450
9501
  }
9451
9502
  }
9452
- function Ha(i, t = 200) {
9503
+ function Oa(i, t = 200) {
9453
9504
  let e;
9454
9505
  return function(...n) {
9455
9506
  clearTimeout(e), e = setTimeout(() => {
@@ -9544,14 +9595,14 @@ function kf(i, t, e) {
9544
9595
  const { Raycaster: n, Vector3: o } = E;
9545
9596
  let { five: s } = t, { modelOcclusionEnable: r } = t, { itemLabels: a } = t, { hooks: l } = t, { displayStrategyType: c } = t, d = null, h = null, u, p, m = [], g = !0;
9546
9597
  const v = (P, I) => {
9547
- const T = new n(), O = P.camera.position.clone(), N = new o().fromArray(I.modelPosition), Z = N.distanceTo(O);
9548
- T.set(O.clone(), N.clone().sub(O).normalize());
9598
+ const T = new n(), H = P.camera.position.clone(), N = new o().fromArray(I.modelPosition), Z = N.distanceTo(H);
9599
+ T.set(H.clone(), N.clone().sub(H).normalize());
9549
9600
  const [X] = P.model.intersectRaycaster(T);
9550
9601
  return !(X && X.distance + 1 < Z);
9551
9602
  }, A = (P, I) => {
9552
- const T = new o(I.modelPosition[0], I.modelPosition[1], I.modelPosition[2]), O = P.project2d(T), N = O == null ? void 0 : O.x, Z = O == null ? void 0 : O.y;
9603
+ const T = new o(I.modelPosition[0], I.modelPosition[1], I.modelPosition[2]), H = P.project2d(T), N = H == null ? void 0 : H.x, Z = H == null ? void 0 : H.y;
9553
9604
  return [N, Z];
9554
- }, w = (P) => `translate(${P[0]}px, ${P[1]}px)`, y = (P, I) => m.length === 0 ? !1 : !!m.find((O) => P[0] >= O[0] - I && P[0] <= O[0] + I || P[1] >= O[1] - Ds && P[1] <= O[1] + Ds);
9605
+ }, w = (P) => `translate(${P[0]}px, ${P[1]}px)`, y = (P, I) => m.length === 0 ? !1 : !!m.find((H) => P[0] >= H[0] - I && P[0] <= H[0] + I || P[1] >= H[1] - Ds && P[1] <= H[1] + Ds);
9555
9606
  function x(P, I) {
9556
9607
  switch (I) {
9557
9608
  case Yt.SMALL:
@@ -9576,19 +9627,19 @@ function kf(i, t, e) {
9576
9627
  transform: me,
9577
9628
  strokeLength: U
9578
9629
  });
9579
- }), O = T.filter(({ visible: N }) => N).map((N) => ({
9630
+ }), H = T.filter(({ visible: N }) => N).map((N) => ({
9580
9631
  itemLabelItem: N,
9581
9632
  distance: new o(N.modelPosition[0], N.modelPosition[1], N.modelPosition[2]).clone().distanceTo(P.camera.position)
9582
9633
  })).sort((N, Z) => N.distance - Z.distance);
9583
9634
  return T.map((N) => {
9584
- const Z = O.findIndex((X) => X.itemLabelItem.id === N.id);
9635
+ const Z = H.findIndex((X) => X.itemLabelItem.id === N.id);
9585
9636
  return Z !== void 0 ? he(W({}, N), { zIndex: Z * 10 }) : N;
9586
9637
  });
9587
9638
  }, C = () => {
9588
9639
  m = [], e(1, h = L(s, h));
9589
9640
  };
9590
9641
  Ki(() => {
9591
- H();
9642
+ O();
9592
9643
  });
9593
9644
  const S = () => {
9594
9645
  e(4, g = !1), k();
@@ -9596,14 +9647,14 @@ function kf(i, t, e) {
9596
9647
  Ue(() => {
9597
9648
  e(1, h = a), d = a, C(), F(), s.on("cameraUpdate", S);
9598
9649
  });
9599
- const k = Ha(
9650
+ const k = Oa(
9600
9651
  () => {
9601
9652
  e(4, g = !0), C();
9602
9653
  },
9603
9654
  300
9604
9655
  ), F = () => {
9605
9656
  window.addEventListener("resize", G, !1);
9606
- }, H = () => {
9657
+ }, O = () => {
9607
9658
  d !== a && (e(1, h = a), d = a, C());
9608
9659
  }, G = () => {
9609
9660
  s.once("renderFrame", C);
@@ -9818,8 +9869,8 @@ const dA = (i, { videoElement: t }) => {
9818
9869
  const F = new E.MeshBasicMaterial({
9819
9870
  map: e.videoTextureEnabled ? e.videoTexture : e.imageTexture,
9820
9871
  side: E.DoubleSide
9821
- }), H = new E.Mesh(y, F);
9822
- H.renderOrder = 1, H.name = `ModelTVVideoPlugin-${w}-${performance.now()}`;
9872
+ }), O = new E.Mesh(y, F);
9873
+ O.renderOrder = 1, O.name = `ModelTVVideoPlugin-${w}-${performance.now()}`;
9823
9874
  const G = [A[1], A[2], A[3], A[0]], Y = n.create3DDomContainer(G);
9824
9875
  if (Y != null && Y.container) {
9825
9876
  const P = document.createElement("div");
@@ -9827,9 +9878,9 @@ const dA = (i, { videoElement: t }) => {
9827
9878
  const I = document.createElement("img");
9828
9879
  I.src = "//vrlab-static.ljcdn.com/release/web/play.2ada5b6f.png", I.style.width = "200px", I.style.pointerEvents = "auto", I.onclick = () => {
9829
9880
  e.videoTexture.image.muted = !1, e.videoTexture.image.play();
9830
- }, P.appendChild(I), o.set(H, Y);
9881
+ }, P.appendChild(I), o.set(O, Y);
9831
9882
  }
9832
- return H;
9883
+ return O;
9833
9884
  }), d = (A) => {
9834
9885
  const w = new E.TextureLoader().load(A);
9835
9886
  return w.minFilter = E.LinearFilter, w.magFilter = E.LinearFilter, w.format = E.RGBFormat, w;
@@ -10022,7 +10073,7 @@ const { Raycaster: Rf, Vector3: uA } = E, Ss = (i, t, e, n) => {
10022
10073
  return r && r.distance + 0.01 < n;
10023
10074
  };
10024
10075
  var Ut = /* @__PURE__ */ ((i) => (i.SMALL = "small", i.MIDLLE = "middle", i.LARGE = "large", i.EXTRA_LARGE = "x-large", i))(Ut || {});
10025
- const Hf = (i, t) => {
10076
+ const Of = (i, t) => {
10026
10077
  switch (t) {
10027
10078
  case Ut.SMALL:
10028
10079
  return Math.ceil(-27.78 * i + 85);
@@ -10033,7 +10084,7 @@ const Hf = (i, t) => {
10033
10084
  case Ut.EXTRA_LARGE:
10034
10085
  return Math.ceil(-92.59 * i + 300);
10035
10086
  }
10036
- }, Of = (i) => `translate(${i[0]}px, ${i[1]}px)`;
10087
+ }, Hf = (i) => `translate(${i[0]}px, ${i[1]}px)`;
10037
10088
  function zs(i) {
10038
10089
  return i.map((t) => W({
10039
10090
  observerIndex: void 0,
@@ -10153,26 +10204,26 @@ let Nf = 11;
10153
10204
  function Wf(i, t, e) {
10154
10205
  const { Raycaster: n, Vector3: o } = E;
10155
10206
  let { five: s } = t, { modelOcclusionEnable: r } = t, { itemLabels: a } = t, { hooks: l } = t, { displayStrategyType: c } = t, { maxVisibleDistance: d } = t, h = null, u = null, p = (s == null ? void 0 : s.currentMode) === Be.Mode.Panorama, m, g, v = [], A = !0;
10156
- const w = (T, O) => {
10157
- const N = T.camera.position.clone(), Z = new o(O.modelPosition[0], O.modelPosition[1], O.modelPosition[2]), X = Z.distanceTo(N);
10207
+ const w = (T, H) => {
10208
+ const N = T.camera.position.clone(), Z = new o(H.modelPosition[0], H.modelPosition[1], H.modelPosition[2]), X = Z.distanceTo(N);
10158
10209
  return d !== void 0 && T.state.mode === Be.Mode.Panorama && X > d ? !1 : Ss(T, Z.clone().sub(N).normalize(), N, X);
10159
10210
  }, y = (T) => {
10160
- const { camera: O, model: N } = s, { x: Z, y: X, z: U } = T.clone().project(O), le = (Z + 1) / 2, ue = (2 - (X + 1)) / 2, ke = Math.abs(U) < 1 && [le, ue].every((Re) => Re < 1 && Re >= 0);
10211
+ const { camera: H, model: N } = s, { x: Z, y: X, z: U } = T.clone().project(H), le = (Z + 1) / 2, ue = (2 - (X + 1)) / 2, ke = Math.abs(U) < 1 && [le, ue].every((Re) => Re < 1 && Re >= 0);
10161
10212
  return Boolean(ke);
10162
- }, x = (T, O) => {
10163
- const N = new o(O.modelPosition[0], O.modelPosition[1], O.modelPosition[2]), Z = T.project2d(N), X = Z == null ? void 0 : Z.x, U = Z == null ? void 0 : Z.y;
10213
+ }, x = (T, H) => {
10214
+ const N = new o(H.modelPosition[0], H.modelPosition[1], H.modelPosition[2]), Z = T.project2d(N), X = Z == null ? void 0 : Z.x, U = Z == null ? void 0 : Z.y;
10164
10215
  return [X, U];
10165
- }, L = (T, O) => {
10166
- const N = O.map((X) => {
10216
+ }, L = (T, H) => {
10217
+ const N = H.map((X) => {
10167
10218
  if (T.state.panoIndex !== X.panoIndex)
10168
10219
  return he(W({}, X), { visible: !1 });
10169
10220
  const U = x(T, X);
10170
10221
  X.name.length * Nf;
10171
- const le = Hf(X.modelPosition[1], c), ue = T.currentMode === Be.Mode.Panorama ? y(new o(X.position[0], X.position[1], X.position[2])) : !0, me = r ? w(T, X) : !1, we = ue && !me;
10222
+ const le = Of(X.modelPosition[1], c), ue = T.currentMode === Be.Mode.Panorama ? y(new o(X.position[0], X.position[1], X.position[2])) : !0, me = r ? w(T, X) : !1, we = ue && !me;
10172
10223
  if (!we)
10173
10224
  return he(W({}, X), { visible: we });
10174
10225
  v.push(U);
10175
- const ke = Of(U);
10226
+ const ke = Hf(U);
10176
10227
  return he(W({}, X), {
10177
10228
  visible: we,
10178
10229
  transform: ke,
@@ -10190,21 +10241,21 @@ function Wf(i, t, e) {
10190
10241
  v = [], e(1, u = L(s, u));
10191
10242
  }, S = () => {
10192
10243
  e(5, A = !1), k();
10193
- }, k = Ha(
10244
+ }, k = Oa(
10194
10245
  () => {
10195
10246
  e(5, A = !0), C();
10196
10247
  },
10197
10248
  300
10198
10249
  ), F = () => {
10199
10250
  s.once("renderFrame", C);
10200
- }, H = () => {
10251
+ }, O = () => {
10201
10252
  window.addEventListener("resize", F, !1);
10202
10253
  }, G = () => {
10203
10254
  h !== a && (e(1, u = zs(a)), h = a, C());
10204
- }, Y = (T, O) => {
10255
+ }, Y = (T, H) => {
10205
10256
  let N = [];
10206
- for (let X = 0; X < O.length; X++) {
10207
- const { position: U, panoIndex: le } = O[X], ue = T.distanceTo(U);
10257
+ for (let X = 0; X < H.length; X++) {
10258
+ const { position: U, panoIndex: le } = H[X], ue = T.distanceTo(U);
10208
10259
  (d === void 0 || ue <= d || s.state.mode !== Be.Mode.Panorama) && N.push({ panoIndex: le, obVector: U, distance: ue });
10209
10260
  }
10210
10261
  N = N.sort((X, U) => X.distance - U.distance);
@@ -10216,13 +10267,13 @@ function Wf(i, t, e) {
10216
10267
  break;
10217
10268
  }
10218
10269
  }
10219
- return typeof Z == "number" ? O[Z] : void 0;
10270
+ return typeof Z == "number" ? H[Z] : void 0;
10220
10271
  }, P = (T) => {
10221
10272
  if (s.state.mode === Be.Mode.Panorama)
10222
10273
  return;
10223
- const O = s.work.observers, N = new o().fromArray(T.position), Z = Y(N, O);
10274
+ const H = s.work.observers, N = new o().fromArray(T.position), Z = Y(N, H);
10224
10275
  if (Z && (T.observerIndex = Z.panoIndex), typeof T.observerIndex == "number") {
10225
- const X = O[T.observerIndex], U = N.clone().sub(X.position).normalize(), le = {
10276
+ const X = H[T.observerIndex], U = N.clone().sub(X.position).normalize(), le = {
10226
10277
  longitude: Math.PI + Math.atan2(U.x, U.z),
10227
10278
  latitude: Math.acos(U.y / U.length()) - Math.PI / 2
10228
10279
  };
@@ -10241,7 +10292,7 @@ function Wf(i, t, e) {
10241
10292
  Ki(() => {
10242
10293
  G();
10243
10294
  }), Ue(() => {
10244
- e(1, u = zs(a)), h = a, C(), H(), s.on("cameraUpdate", S);
10295
+ e(1, u = zs(a)), h = a, C(), O(), s.on("cameraUpdate", S);
10245
10296
  }), wt(() => {
10246
10297
  s.off("cameraUpdate", S), window.removeEventListener("resize", F, !1);
10247
10298
  });
@@ -10570,12 +10621,12 @@ class im extends Jf {
10570
10621
  let C = 0;
10571
10622
  l.sort((S, k) => k.disFromCameraToLabel - S.disFromCameraToLabel);
10572
10623
  for (let S = 1; S < l.length; S++) {
10573
- const { index: k, left: F, top: H } = l[S - 1], { index: G, left: Y, top: P } = l[S], I = this.container.children[k], T = this.container.children[G];
10624
+ const { index: k, left: F, top: O } = l[S - 1], { index: G, left: Y, top: P } = l[S], I = this.container.children[k], T = this.container.children[G];
10574
10625
  if (!I || !T)
10575
10626
  return;
10576
- const O = {
10627
+ const H = {
10577
10628
  left: s * F / 100,
10578
- top: r * H / 100,
10629
+ top: r * O / 100,
10579
10630
  width: (u = (h = (d = I.children) == null ? void 0 : d[0]) == null ? void 0 : h.clientWidth) != null ? u : 0,
10580
10631
  height: (g = (m = (p = I.children) == null ? void 0 : p[0]) == null ? void 0 : m.clientHeight) != null ? g : 0
10581
10632
  }, N = {
@@ -10584,7 +10635,7 @@ class im extends Jf {
10584
10635
  width: (w = (A = (v = T.children) == null ? void 0 : v[0]) == null ? void 0 : A.clientWidth) != null ? w : 0,
10585
10636
  height: (L = (x = (y = T.children) == null ? void 0 : y[0]) == null ? void 0 : x.clientHeight) != null ? L : 0
10586
10637
  };
10587
- Kf(O, N) && (C++, c[k].transform = `translate(-50%, ${(C - 1) * 100 - 50}%)`, c[G].transform = `translate(-50%, ${C * 100 - 50}%)`);
10638
+ Kf(H, N) && (C++, c[k].transform = `translate(-50%, ${(C - 1) * 100 - 50}%)`, c[G].transform = `translate(-50%, ${C * 100 - 50}%)`);
10588
10639
  }
10589
10640
  }
10590
10641
  this.labelItems = c, this.render();
@@ -10708,12 +10759,12 @@ function lm(i, t) {
10708
10759
  x !== void 0 && L > 0.8 && (C = v + 1), x !== void 0 && L > 0.2 && L < 0.3 ? C = v : A > 0.2 && A < 0.3 && (C = v + 1);
10709
10760
  let S = u;
10710
10761
  if (w !== void 0 && y > 0.2 && y < 0.3 ? S = u + 1 : A > 0.2 && A < 0.3 && (S = u), d[S] && d[S + 1]) {
10711
- const H = p[g - 1];
10712
- if (H)
10713
- if (H.equals(d[S]))
10762
+ const O = p[g - 1];
10763
+ if (O)
10764
+ if (O.equals(d[S]))
10714
10765
  S += 1;
10715
10766
  else {
10716
- const G = new _().subVectors(d[S + 1], d[S]), Y = new _().subVectors(H, d[S]);
10767
+ const G = new _().subVectors(d[S + 1], d[S]), Y = new _().subVectors(O, d[S]);
10717
10768
  G.angleTo(Y) < Math.PI / 2 && (S += 1);
10718
10769
  }
10719
10770
  }
@@ -10738,8 +10789,8 @@ function js(i, t, e) {
10738
10789
  p[A * 6 + 0] = k.x, p[A * 6 + 1] = k.y, p[A * 6 + 2] = k.z;
10739
10790
  const F = new _(L - w * n, C + 0.05, S - y * n);
10740
10791
  p[A * 6 + 3] = F.x, p[A * 6 + 4] = F.y, p[A * 6 + 5] = F.z, g += A > 0 ? i[A - 1].clone().sub(i[A]).length() : 0;
10741
- const H = g / t / o;
10742
- m[A * 4 + 0] = 0, m[A * 4 + 1] = H, m[A * 4 + 2] = 1, m[A * 4 + 3] = H, A !== i.length - 1 && (u[A * 6 + 0] = A * 2 + 0, u[A * 6 + 1] = A * 2 + 2, u[A * 6 + 2] = A * 2 + 1, u[A * 6 + 3] = A * 2 + 2, u[A * 6 + 4] = A * 2 + 3, u[A * 6 + 5] = A * 2 + 1);
10792
+ const O = g / t / o;
10793
+ m[A * 4 + 0] = 0, m[A * 4 + 1] = O, m[A * 4 + 2] = 1, m[A * 4 + 3] = O, A !== i.length - 1 && (u[A * 6 + 0] = A * 2 + 0, u[A * 6 + 1] = A * 2 + 2, u[A * 6 + 2] = A * 2 + 1, u[A * 6 + 3] = A * 2 + 2, u[A * 6 + 4] = A * 2 + 3, u[A * 6 + 5] = A * 2 + 1);
10743
10794
  }
10744
10795
  const v = new E.BufferGeometry();
10745
10796
  return v.setAttribute("position", new E.BufferAttribute(p, 3)), v.setAttribute("uv", new E.BufferAttribute(m, 2)), v.setIndex(new E.BufferAttribute(u, 1)), v;
@@ -10759,8 +10810,8 @@ function dm(i) {
10759
10810
  function Bt(i) {
10760
10811
  return i != null;
10761
10812
  }
10762
- const Oa = "v1.0.1", Fa = "GuideLinePlugin", Fi = `${Fa}@${Oa}`, Qs = (i) => `${Fi}--${i}`;
10763
- class Ga extends Ot {
10813
+ const Ha = "v1.0.1", Fa = "GuideLinePlugin", Fi = `${Fa}@${Ha}`, Qs = (i) => `${Fi}--${i}`;
10814
+ class Ga extends Ht {
10764
10815
  constructor(e, n) {
10765
10816
  super(e, n);
10766
10817
  f(this, "state", {
@@ -10864,7 +10915,7 @@ class Ga extends Ot {
10864
10915
  });
10865
10916
  }
10866
10917
  }
10867
- f(Ga, "lasestVersion", Oa);
10918
+ f(Ga, "lasestVersion", Ha);
10868
10919
  const um = (i, t) => new Ga(i, t);
10869
10920
  function Rs(i) {
10870
10921
  const t = Math.abs(Math.cos(i.latitude));
@@ -10907,14 +10958,14 @@ function Am(i) {
10907
10958
  }, i);
10908
10959
  });
10909
10960
  }
10910
- const Na = "v1.0.6", Wa = "CruisePlugin", fi = `${Wa}@${Na}`, Hs = () => {
10961
+ const Na = "v1.0.6", Wa = "CruisePlugin", fi = `${Wa}@${Na}`, Os = () => {
10911
10962
  console.error(`${fi} is disposed`);
10912
10963
  }, vm = () => {
10913
10964
  console.warn(`${fi} is disabled`);
10914
10965
  }, bm = () => {
10915
10966
  console.error(`${fi} is disabled`);
10916
10967
  }, Pi = /* @__PURE__ */ new Map();
10917
- class Xa extends Ot {
10968
+ class Xa extends Ht {
10918
10969
  constructor(e, n) {
10919
10970
  super(e, n);
10920
10971
  f(this, "state", {
@@ -10953,7 +11004,7 @@ class Xa extends Ot {
10953
11004
  return J(this, null, function* () {
10954
11005
  var d, h, u, p, m;
10955
11006
  if (this.state.disposed)
10956
- return Hs();
11007
+ return Os();
10957
11008
  this.privateState.fiveOriginGetProgress || (h = (d = this.five.controller) == null ? void 0 : d.cameraMotion) != null && h.getProgress || (yield this.waitFiveLoaded(), this.privateState.fiveOriginGetProgress = (p = (u = this.five.controller) == null ? void 0 : u.cameraMotion) == null ? void 0 : p.getProgress), this.clear();
10958
11009
  const s = this.data ? JSON.parse(JSON.stringify(this.data)) : void 0, r = yield this.formatData(e);
10959
11010
  this.data = r, this.hooks.emit("dataChange", r, s);
@@ -11012,7 +11063,7 @@ class Xa extends Ot {
11012
11063
  setState(e, n) {
11013
11064
  var s;
11014
11065
  if (this.state.disposed)
11015
- return Hs();
11066
+ return Os();
11016
11067
  if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0)
11017
11068
  return bm();
11018
11069
  const o = W({}, this.state);
@@ -11027,11 +11078,11 @@ class Xa extends Ot {
11027
11078
  })();
11028
11079
  if (o.keyframes)
11029
11080
  return {
11030
- keyframesId: Oe(),
11081
+ keyframesId: He(),
11031
11082
  keyframes: o.keyframes.map((s, r) => {
11032
11083
  var c;
11033
11084
  const a = o.keyframes[r + 1], l = (() => !a || a.start === void 0 || s.end === void 0 ? 0 : a.start - s.end)();
11034
- return W({ id: (c = s.uuid) != null ? c : Oe(), moveIndex: r, stay: l, index: r }, s);
11085
+ return W({ id: (c = s.uuid) != null ? c : He(), moveIndex: r, stay: l, index: r }, s);
11035
11086
  })
11036
11087
  };
11037
11088
  if (o.panoIndexList) {
@@ -11054,7 +11105,7 @@ class Xa extends Ot {
11054
11105
  stay: o.stay,
11055
11106
  data: W({ effect: "Move", panoIndex: c, moveEffect: r }, h != null ? h : {})
11056
11107
  }) : o.moveType === "moveAndRotate" && (s.push({ moveIndex: d, stay: o.stay, data: { effect: "Move", panoIndex: c, moveEffect: r } }), h && s.push({ moveIndex: d, stay: o.stay, data: W({ effect: "Rotate", panoIndex: c }, h) }));
11057
- }), { keyframesId: Oe(), keyframes: s.map((c, d) => W({ id: Oe(), index: d }, c)) };
11108
+ }), { keyframesId: He(), keyframes: s.map((c, d) => W({ id: He(), index: d }, c)) };
11058
11109
  } else
11059
11110
  throw new Error("format error: data no keyframes or no panoIndexList");
11060
11111
  });
@@ -11081,7 +11132,7 @@ class Xa extends Ot {
11081
11132
  const { data: n, state: o, privateState: s, hooks: r } = this;
11082
11133
  if (s.playing || !(n != null && n.keyframes) || (n == null ? void 0 : n.keyframes.length) === 0)
11083
11134
  return;
11084
- const a = Oe();
11135
+ const a = He();
11085
11136
  s.playId = a, s.playing = !0, s.broke = !1;
11086
11137
  const l = n.keyframes, c = this.getPauseData();
11087
11138
  (e == null ? void 0 : e.notEmitEvent) !== !0 && r.emit("play", { userAction: (p = e == null ? void 0 : e.userAction) != null ? p : !0 });
@@ -11409,7 +11460,7 @@ function Cm(i, t, e) {
11409
11460
  t.clone().sub(s).add(r)
11410
11461
  ].map((l) => o.projectPoint(l, new E.Vector3()));
11411
11462
  }
11412
- const Os = (i, t = 1e3 / 60) => {
11463
+ const Hs = (i, t = 1e3 / 60) => {
11413
11464
  let e = null;
11414
11465
  const n = i;
11415
11466
  return (...s) => {
@@ -11470,7 +11521,7 @@ function Gs(i) {
11470
11521
  },
11471
11522
  i(s) {
11472
11523
  o || (s && Ie(() => {
11473
- n && n.end(1), e = Ht(t, ti, {
11524
+ n && n.end(1), e = Ot(t, ti, {
11474
11525
  duration: i[1],
11475
11526
  delay: i[0]
11476
11527
  }), e.start();
@@ -11514,7 +11565,7 @@ function xm(i) {
11514
11565
  }
11515
11566
  function km(i, t, e) {
11516
11567
  let { inDelay: n = 0 } = t, { duration: o = 0 } = t, { outDelay: s = 0 } = t, { unfolded: r } = t;
11517
- const a = Oe();
11568
+ const a = He();
11518
11569
  return i.$$set = (l) => {
11519
11570
  "inDelay" in l && e(0, n = l.inDelay), "duration" in l && e(1, o = l.duration), "outDelay" in l && e(2, s = l.outDelay), "unfolded" in l && e(3, r = l.unfolded);
11520
11571
  }, [n, o, s, r, a];
@@ -11568,7 +11619,7 @@ function Ns(i) {
11568
11619
  },
11569
11620
  i(r) {
11570
11621
  s || (r && Ie(() => {
11571
- o && o.end(1), n = Ht(t, Tt, { duration: i[0] }), n.start();
11622
+ o && o.end(1), n = Ot(t, Tt, { duration: i[0] }), n.start();
11572
11623
  }), s = !0);
11573
11624
  },
11574
11625
  o(r) {
@@ -11805,7 +11856,7 @@ function Vs(i) {
11805
11856
  },
11806
11857
  i(h) {
11807
11858
  l || (D(e.$$.fragment, h), h && Ie(() => {
11808
- a && a.end(1), r = Ht(o, Tt, {
11859
+ a && a.end(1), r = Ot(o, Tt, {
11809
11860
  duration: i[2],
11810
11861
  delay: i[3],
11811
11862
  easing: Zt
@@ -11849,7 +11900,7 @@ function Rm(i) {
11849
11900
  }
11850
11901
  };
11851
11902
  }
11852
- function Hm(i, t, e) {
11903
+ function Om(i, t, e) {
11853
11904
  let { direction: n = "right" } = t, { visible: o = !0 } = t, { duration: s = 0 } = t, { inDelay: r = 0 } = t, { outDelay: a = 0 } = t;
11854
11905
  function l(c) {
11855
11906
  hc.call(this, i, c);
@@ -11858,12 +11909,12 @@ function Hm(i, t, e) {
11858
11909
  "direction" in c && e(0, n = c.direction), "visible" in c && e(1, o = c.visible), "duration" in c && e(2, s = c.duration), "inDelay" in c && e(3, r = c.inDelay), "outDelay" in c && e(4, a = c.outDelay);
11859
11910
  }, [n, o, s, r, a, l];
11860
11911
  }
11861
- class Om extends oe {
11912
+ class Hm extends oe {
11862
11913
  constructor(t) {
11863
11914
  super(), ie(
11864
11915
  this,
11865
11916
  t,
11866
- Hm,
11917
+ Om,
11867
11918
  Rm,
11868
11919
  ne,
11869
11920
  {
@@ -11929,7 +11980,7 @@ function _s(i, t) {
11929
11980
  }
11930
11981
  function qs(i) {
11931
11982
  let t, e, n;
11932
- return e = new Om({
11983
+ return e = new Hm({
11933
11984
  props: {
11934
11985
  direction: i[6],
11935
11986
  visible: i[0],
@@ -12140,7 +12191,7 @@ function Um(i, t, e) {
12140
12191
  "tag" in u && e(0, r = u.tag);
12141
12192
  }, i.$$.update = () => {
12142
12193
  var u;
12143
- i.$$.dirty & 1 && e(2, n = !!((u = r.state) != null && u.unfolded)), i.$$.dirty & 1 && e(7, o = r.data.text), i.$$.dirty & 128 && e(4, c = [{ id: Oe(), content: o }]), i.$$.dirty & 4 && (n || setTimeout(
12194
+ i.$$.dirty & 1 && e(2, n = !!((u = r.state) != null && u.unfolded)), i.$$.dirty & 1 && e(7, o = r.data.text), i.$$.dirty & 128 && e(4, c = [{ id: He(), content: o }]), i.$$.dirty & 4 && (n || setTimeout(
12144
12195
  () => {
12145
12196
  e(1, l = !1);
12146
12197
  },
@@ -12180,7 +12231,7 @@ function $s(i) {
12180
12231
  },
12181
12232
  i(s) {
12182
12233
  o || (s && Ie(() => {
12183
- n && n.end(1), e = Ht(t, ti, {
12234
+ n && n.end(1), e = Ot(t, ti, {
12184
12235
  duration: i[1],
12185
12236
  delay: i[0],
12186
12237
  easing: pa
@@ -12226,7 +12277,7 @@ function Zm(i) {
12226
12277
  }
12227
12278
  function _m(i, t, e) {
12228
12279
  let { inDelay: n = 0 } = t, { duration: o = 0 } = t, { outDelay: s = 0 } = t, { unfolded: r } = t;
12229
- const a = Oe();
12280
+ const a = He();
12230
12281
  return i.$$set = (l) => {
12231
12282
  "inDelay" in l && e(0, n = l.inDelay), "duration" in l && e(1, o = l.duration), "outDelay" in l && e(2, s = l.outDelay), "unfolded" in l && e(3, r = l.unfolded);
12232
12283
  }, [n, o, s, r, a];
@@ -12523,7 +12574,7 @@ function ap(i) {
12523
12574
  let t, e, n, o, s, r, a = Ni(i[2]), l, c = Xi(i[2]), d, h = Wi(i[2]), u, p, m;
12524
12575
  const g = i[12]["container-start"], v = xt(g, i, i[11], or), A = i[12]["wrapper-start"], w = xt(A, i, i[11], ir), y = i[12].default, x = xt(y, i, i[11], nr), L = i[12]["wrapper-end"], C = xt(L, i, i[11], tr);
12525
12576
  let S = a && sr(i), k = c && rr(i), F = h && ar(i);
12526
- const H = i[12]["container-end"], G = xt(H, i, i[11], er);
12577
+ const O = i[12]["container-end"], G = xt(O, i, i[11], er);
12527
12578
  let Y = [
12528
12579
  {
12529
12580
  class: p = ii(`${i[1]}${i[0] ? ` ${i[0]}` : ""}`)
@@ -12570,10 +12621,10 @@ function ap(i) {
12570
12621
  tr
12571
12622
  ), T & 4 && (a = Ni(I[2])), a ? S ? S.p(I, T) : (S = sr(I), S.c(), S.m(t, l)) : S && (S.d(1), S = null), T & 4 && (c = Xi(I[2])), c ? k ? k.p(I, T) : (k = rr(I), k.c(), k.m(t, d)) : k && (k.d(1), k = null), T & 4 && (h = Wi(I[2])), h ? F ? F.p(I, T) : (F = ar(I), F.c(), F.m(t, u)) : F && (F.d(1), F = null), G && G.p && (!m || T & 2560) && Dt(
12572
12623
  G,
12573
- H,
12624
+ O,
12574
12625
  I,
12575
12626
  I[11],
12576
- m ? kt(H, I[11], T, np) : Lt(I[11]),
12627
+ m ? kt(O, I[11], T, np) : Lt(I[11]),
12577
12628
  er
12578
12629
  ), Vn(t, P = Te(Y, [
12579
12630
  (!m || T & 3 && p !== (p = ii(`${I[1]}${I[0] ? ` ${I[0]}` : ""}`))) && { class: p },
@@ -12599,8 +12650,8 @@ function lp(i, t, e) {
12599
12650
  function S() {
12600
12651
  return h;
12601
12652
  }
12602
- const k = (O) => {
12603
- e(9, C = O), fc().then(() => {
12653
+ const k = (H) => {
12654
+ e(9, C = H), fc().then(() => {
12604
12655
  h.$wrapperEl.children(".swiper-slide").each((N) => {
12605
12656
  N.onSwiper && N.onSwiper(h);
12606
12657
  }), h.updateSlides(), h.updateProgress(), h.updateSlidesClasses(), h.lazy && h.params.lazy.enabled && h.lazy.load();
@@ -12609,25 +12660,25 @@ function lp(i, t, e) {
12609
12660
  p = Km(o), e(2, m = p.params), g = p.passedParams, e(3, v = p.rest);
12610
12661
  };
12611
12662
  F(), u = g;
12612
- const H = () => {
12663
+ const O = () => {
12613
12664
  d = !0;
12614
12665
  };
12615
- if (m.onAny = (O, ...N) => {
12616
- a(O, N);
12666
+ if (m.onAny = (H, ...N) => {
12667
+ a(H, N);
12617
12668
  }, Object.assign(m.on, {
12618
- _beforeBreakpoint: H,
12619
- _containerClasses(O, N) {
12669
+ _beforeBreakpoint: O,
12670
+ _containerClasses(H, N) {
12620
12671
  e(1, c = N);
12621
12672
  }
12622
12673
  }), h = new zi(m), Bi("swiper", h), h.virtual && h.params.virtual.enabled) {
12623
- const O = {
12674
+ const H = {
12624
12675
  cache: !1,
12625
12676
  renderExternal: (N) => {
12626
12677
  k(N), m.virtual && m.virtual.renderExternal && m.virtual.renderExternal(N);
12627
12678
  },
12628
12679
  renderExternalUpdate: !1
12629
12680
  };
12630
- mt(h.params.virtual, O), mt(h.originalParams.virtual, O);
12681
+ mt(h.params.virtual, H), mt(h.originalParams.virtual, H);
12631
12682
  }
12632
12683
  Ue(() => {
12633
12684
  !A || ($m(
@@ -12640,18 +12691,18 @@ function lp(i, t, e) {
12640
12691
  swiper: h
12641
12692
  },
12642
12693
  m
12643
- ), a("swiper", [h]), !m.virtual && h.slides.each((O) => {
12644
- O.onSwiper && O.onSwiper(h);
12694
+ ), a("swiper", [h]), !m.virtual && h.slides.each((H) => {
12695
+ H.onSwiper && H.onSwiper(h);
12645
12696
  }));
12646
12697
  }), $i(() => {
12647
12698
  if (!h)
12648
12699
  return;
12649
12700
  F();
12650
- const O = ep(g, u);
12651
- (O.length || d) && h && !h.destroyed && tp({
12701
+ const H = ep(g, u);
12702
+ (H.length || d) && h && !h.destroyed && tp({
12652
12703
  swiper: h,
12653
12704
  passedParams: g,
12654
- changedParams: O,
12705
+ changedParams: H,
12655
12706
  nextEl: y,
12656
12707
  prevEl: w,
12657
12708
  scrollbarEl: x,
@@ -12660,33 +12711,33 @@ function lp(i, t, e) {
12660
12711
  }), wt(() => {
12661
12712
  typeof window != "undefined" && h && !h.destroyed && h.destroy(!0, !1);
12662
12713
  });
12663
- function G(O) {
12664
- ze[O ? "unshift" : "push"](() => {
12665
- w = O, e(5, w);
12714
+ function G(H) {
12715
+ ze[H ? "unshift" : "push"](() => {
12716
+ w = H, e(5, w);
12666
12717
  });
12667
12718
  }
12668
- function Y(O) {
12669
- ze[O ? "unshift" : "push"](() => {
12670
- y = O, e(6, y);
12719
+ function Y(H) {
12720
+ ze[H ? "unshift" : "push"](() => {
12721
+ y = H, e(6, y);
12671
12722
  });
12672
12723
  }
12673
- function P(O) {
12674
- ze[O ? "unshift" : "push"](() => {
12675
- x = O, e(7, x);
12724
+ function P(H) {
12725
+ ze[H ? "unshift" : "push"](() => {
12726
+ x = H, e(7, x);
12676
12727
  });
12677
12728
  }
12678
- function I(O) {
12679
- ze[O ? "unshift" : "push"](() => {
12680
- L = O, e(8, L);
12729
+ function I(H) {
12730
+ ze[H ? "unshift" : "push"](() => {
12731
+ L = H, e(8, L);
12681
12732
  });
12682
12733
  }
12683
- function T(O) {
12684
- ze[O ? "unshift" : "push"](() => {
12685
- A = O, e(4, A);
12734
+ function T(H) {
12735
+ ze[H ? "unshift" : "push"](() => {
12736
+ A = H, e(4, A);
12686
12737
  });
12687
12738
  }
12688
- return i.$$set = (O) => {
12689
- t = ye(ye({}, t), ta(O)), e(27, o = Jn(t, n)), "class" in O && e(0, l = O.class), "$$scope" in O && e(11, r = O.$$scope);
12739
+ return i.$$set = (H) => {
12740
+ t = ye(ye({}, t), ta(H)), e(27, o = Jn(t, n)), "class" in H && e(0, l = H.class), "$$scope" in H && e(11, r = H.$$scope);
12690
12741
  }, [
12691
12742
  l,
12692
12743
  c,
@@ -13055,7 +13106,7 @@ function hr(i) {
13055
13106
  },
13056
13107
  i(d) {
13057
13108
  r || (D(n), d && Ie(() => {
13058
- s && s.end(1), o = Ht(t, So, i[5] ? {
13109
+ s && s.end(1), o = Ot(t, So, i[5] ? {
13059
13110
  y: 4,
13060
13111
  duration: i[3],
13061
13112
  delay: i[1],
@@ -13287,30 +13338,30 @@ function Dp(i, t, e) {
13287
13338
  let n, o, s, { tag: r } = t, { mediaData: a } = t, { inDelay: l = 0 } = t, { outDelay: c = 0 } = t, { duration: d = 0 } = t, { unfolded: h = !0 } = t, { animation: u = !0 } = t, { playButtonIfNeed: p = "small" } = t, { canPlay: m = !0 } = t, { objectFit: g = "cover" } = t, { enableCarousel: v = !0 } = t, { autoplayConfig: A = { autoplay: !0, autoplayVideo: !1 } } = t;
13288
13339
  const w = pn("mediaStore"), y = pn("hooks");
13289
13340
  let x;
13290
- function L(H) {
13341
+ function L(O) {
13291
13342
  !n || !x || (w.set({ currentMediaUrl: this.src }), y.emit("playStateChange", {
13292
- event: H,
13343
+ event: O,
13293
13344
  state: "playing",
13294
13345
  tag: r,
13295
13346
  mediaInstance: this
13296
13347
  }), x.autoplay.stop());
13297
13348
  }
13298
- function C(H) {
13349
+ function C(O) {
13299
13350
  !n || !x || (y.emit("playStateChange", {
13300
- event: H,
13351
+ event: O,
13301
13352
  state: "paused",
13302
13353
  tag: r,
13303
13354
  mediaInstance: this
13304
13355
  }), x.autoplay.running || x.autoplay.start());
13305
13356
  }
13306
13357
  let S = null;
13307
- const k = (H) => {
13308
- e(10, x = H.detail[0]);
13309
- }, F = (H) => J(this, null, function* () {
13310
- var O, N, Z;
13358
+ const k = (O) => {
13359
+ e(10, x = O.detail[0]);
13360
+ }, F = (O) => J(this, null, function* () {
13361
+ var H, N, Z;
13311
13362
  if (!s || !A.autoplayVideo)
13312
13363
  return;
13313
- const G = H.detail[0];
13364
+ const G = O.detail[0];
13314
13365
  if (!G)
13315
13366
  return;
13316
13367
  const Y = G.realIndex;
@@ -13321,18 +13372,18 @@ function Dp(i, t, e) {
13321
13372
  if (!P || P.type !== "Video")
13322
13373
  return;
13323
13374
  G.autoplay.stop(), G.slides.map((X) => X.querySelector("video")).filter(Bt).forEach((X) => X.pause());
13324
- const T = (O = G.slides[G.activeIndex]) == null ? void 0 : O.querySelector("video");
13375
+ const T = (H = G.slides[G.activeIndex]) == null ? void 0 : H.querySelector("video");
13325
13376
  if (T && (T.removeEventListener("play", L), T.removeEventListener("pause", C), T.addEventListener("play", L), T.addEventListener("pause", C)), T) {
13326
13377
  T.addEventListener("click", () => T.pause());
13327
13378
  const X = (Z = (N = T.parentElement) == null ? void 0 : N.getElementsByClassName("video-play-button-container")) == null ? void 0 : Z[0];
13328
13379
  T.addEventListener("play", () => X == null ? void 0 : X.classList.remove("showPlayButton")), T.addEventListener("pause", () => X == null ? void 0 : X.classList.add("showPlayButton")), X && (T.paused ? X.classList.add("showPlayButton") : X.classList.remove("showPlayButton"), X.addEventListener("click", () => T.play()));
13329
13380
  }
13330
13381
  });
13331
- return i.$$set = (H) => {
13332
- "tag" in H && e(17, r = H.tag), "mediaData" in H && e(0, a = H.mediaData), "inDelay" in H && e(1, l = H.inDelay), "outDelay" in H && e(2, c = H.outDelay), "duration" in H && e(3, d = H.duration), "unfolded" in H && e(4, h = H.unfolded), "animation" in H && e(5, u = H.animation), "playButtonIfNeed" in H && e(6, p = H.playButtonIfNeed), "canPlay" in H && e(7, m = H.canPlay), "objectFit" in H && e(8, g = H.objectFit), "enableCarousel" in H && e(18, v = H.enableCarousel), "autoplayConfig" in H && e(9, A = H.autoplayConfig);
13382
+ return i.$$set = (O) => {
13383
+ "tag" in O && e(17, r = O.tag), "mediaData" in O && e(0, a = O.mediaData), "inDelay" in O && e(1, l = O.inDelay), "outDelay" in O && e(2, c = O.outDelay), "duration" in O && e(3, d = O.duration), "unfolded" in O && e(4, h = O.unfolded), "animation" in O && e(5, u = O.animation), "playButtonIfNeed" in O && e(6, p = O.playButtonIfNeed), "canPlay" in O && e(7, m = O.canPlay), "objectFit" in O && e(8, g = O.objectFit), "enableCarousel" in O && e(18, v = O.enableCarousel), "autoplayConfig" in O && e(9, A = O.autoplayConfig);
13333
13384
  }, i.$$.update = () => {
13334
- i.$$.dirty & 262145 && e(13, n = v && (a == null ? void 0 : a.length) > 1), i.$$.dirty & 1 && e(11, o = a), i.$$.dirty & 2560 && e(14, s = o.length > 1 && A.autoplay), i.$$.dirty & 1024 && x && x.slides.forEach((H) => {
13335
- const G = H.querySelector("video");
13385
+ i.$$.dirty & 262145 && e(13, n = v && (a == null ? void 0 : a.length) > 1), i.$$.dirty & 1 && e(11, o = a), i.$$.dirty & 2560 && e(14, s = o.length > 1 && A.autoplay), i.$$.dirty & 1024 && x && x.slides.forEach((O) => {
13386
+ const G = O.querySelector("video");
13336
13387
  G && w.subscribe(({ currentMediaUrl: Y }) => {
13337
13388
  Y !== G.src && G.pause();
13338
13389
  });
@@ -13562,7 +13613,7 @@ function zp(i, t, e) {
13562
13613
  "tag" in l && e(0, r = l.tag);
13563
13614
  }, i.$$.update = () => {
13564
13615
  var l, c, d;
13565
- i.$$.dirty & 1 && e(4, n = r.state ? r.state.unfolded : !1), i.$$.dirty & 1 && e(1, o = ((c = (l = r.data.text) == null ? void 0 : l.length) != null ? c : 0) > 7 ? ((d = r.data.text) == null ? void 0 : d.substring(0, 6)) + "..." : r.data.text), i.$$.dirty & 1 && e(3, s = r.data.mediaData), i.$$.dirty & 2 && e(2, a = o ? [{ id: Oe(), content: o }] : []);
13616
+ i.$$.dirty & 1 && e(4, n = r.state ? r.state.unfolded : !1), i.$$.dirty & 1 && e(1, o = ((c = (l = r.data.text) == null ? void 0 : l.length) != null ? c : 0) > 7 ? ((d = r.data.text) == null ? void 0 : d.substring(0, 6)) + "..." : r.data.text), i.$$.dirty & 1 && e(3, s = r.data.mediaData), i.$$.dirty & 2 && e(2, a = o ? [{ id: He(), content: o }] : []);
13566
13617
  }, [r, o, a, s, n];
13567
13618
  }
13568
13619
  class Mp extends oe {
@@ -13719,7 +13770,7 @@ function Bp(i) {
13719
13770
  let S = i[2].tags || [], k = [];
13720
13771
  for (let P = 0; P < S.length; P += 1)
13721
13772
  k[P] = Er(vr(i, S, P));
13722
- let F = ((G = i[2].price) == null ? void 0 : G.value) !== void 0 && ((Y = i[2].price) == null ? void 0 : Y.value) !== null && Pr(i), H = i[2].highlightText && xr(i);
13773
+ let F = ((G = i[2].price) == null ? void 0 : G.value) !== void 0 && ((Y = i[2].price) == null ? void 0 : Y.value) !== null && Pr(i), O = i[2].highlightText && xr(i);
13723
13774
  return {
13724
13775
  c() {
13725
13776
  var P, I;
@@ -13729,7 +13780,7 @@ function Bp(i) {
13729
13780
  h = V();
13730
13781
  for (let T = 0; T < k.length; T += 1)
13731
13782
  k[T].c();
13732
- u = V(), p = j("div"), m = j("div"), v = xe(g), A = V(), w = j("div"), F && F.c(), y = V(), H && H.c(), b(o, "class", "line svelte-8mby9k"), R(o, "transition-delay", i[1] ? Rn + "ms" : Hn + Dr - kr - 40 + "ms"), b(a, "class", "headerImage svelte-8mby9k"), et(a.src, l = i[2].headerPictureUrl) || b(a, "src", l), b(a, "alt", ""), b(d, "class", "tag svelte-8mby9k"), b(m, "class", "text svelte-8mby9k"), b(p, "class", "title svelte-8mby9k"), b(w, "class", "footer svelte-8mby9k"), R(w, "height", ((P = i[2].price) == null ? void 0 : P.value) !== void 0 && ((I = i[2].price) == null ? void 0 : I.value) !== null && i[2].highlightText ? void 0 : "1rem"), b(r, "class", "content svelte-8mby9k"), R(r, "transition-delay", i[1] ? Rn + Hn + "ms" : "0ms"), b(t, "class", "marketing svelte-8mby9k"), q(t, "unfolded", i[1]), q(t, "folded", i[3]);
13783
+ u = V(), p = j("div"), m = j("div"), v = xe(g), A = V(), w = j("div"), F && F.c(), y = V(), O && O.c(), b(o, "class", "line svelte-8mby9k"), R(o, "transition-delay", i[1] ? Rn + "ms" : On + Dr - kr - 40 + "ms"), b(a, "class", "headerImage svelte-8mby9k"), et(a.src, l = i[2].headerPictureUrl) || b(a, "src", l), b(a, "alt", ""), b(d, "class", "tag svelte-8mby9k"), b(m, "class", "text svelte-8mby9k"), b(p, "class", "title svelte-8mby9k"), b(w, "class", "footer svelte-8mby9k"), R(w, "height", ((P = i[2].price) == null ? void 0 : P.value) !== void 0 && ((I = i[2].price) == null ? void 0 : I.value) !== null && i[2].highlightText ? void 0 : "1rem"), b(r, "class", "content svelte-8mby9k"), R(r, "transition-delay", i[1] ? Rn + On + "ms" : "0ms"), b(t, "class", "marketing svelte-8mby9k"), q(t, "unfolded", i[1]), q(t, "folded", i[3]);
13733
13784
  },
13734
13785
  m(P, I) {
13735
13786
  B(P, t, I), K(e, t, null), Q(t, n), Q(t, o), Q(t, s), Q(t, r), Q(r, a), Q(r, c), Q(r, d);
@@ -13738,12 +13789,12 @@ function Bp(i) {
13738
13789
  Q(d, h);
13739
13790
  for (let T = 0; T < k.length; T += 1)
13740
13791
  k[T].m(d, null);
13741
- Q(r, u), Q(r, p), Q(p, m), Q(m, v), Q(r, A), Q(r, w), F && F.m(w, null), Q(w, y), H && H.m(w, null), x = !0;
13792
+ Q(r, u), Q(r, p), Q(p, m), Q(m, v), Q(r, A), Q(r, w), F && F.m(w, null), Q(w, y), O && O.m(w, null), x = !0;
13742
13793
  },
13743
13794
  p(P, [I]) {
13744
- var O, N, Z, X;
13795
+ var H, N, Z, X;
13745
13796
  const T = {};
13746
- if (I & 2 && (T.visible = P[1]), e.$set(T), I & 2 && R(o, "transition-delay", P[1] ? Rn + "ms" : Hn + Dr - kr - 40 + "ms"), (!x || I & 4 && !et(a.src, l = P[2].headerPictureUrl)) && b(a, "src", l), I & 4) {
13797
+ if (I & 2 && (T.visible = P[1]), e.$set(T), I & 2 && R(o, "transition-delay", P[1] ? Rn + "ms" : On + Dr - kr - 40 + "ms"), (!x || I & 4 && !et(a.src, l = P[2].headerPictureUrl)) && b(a, "src", l), I & 4) {
13747
13798
  L = P[2].brandTags || [];
13748
13799
  let U;
13749
13800
  for (U = 0; U < L.length; U += 1) {
@@ -13765,7 +13816,7 @@ function Bp(i) {
13765
13816
  k[U].d(1);
13766
13817
  k.length = S.length;
13767
13818
  }
13768
- (!x || I & 4) && g !== (g = P[2].title + "") && Me(v, g), ((O = P[2].price) == null ? void 0 : O.value) !== void 0 && ((N = P[2].price) == null ? void 0 : N.value) !== null ? F ? F.p(P, I) : (F = Pr(P), F.c(), F.m(w, y)) : F && (F.d(1), F = null), P[2].highlightText ? H ? H.p(P, I) : (H = xr(P), H.c(), H.m(w, null)) : H && (H.d(1), H = null), I & 4 && R(w, "height", ((Z = P[2].price) == null ? void 0 : Z.value) !== void 0 && ((X = P[2].price) == null ? void 0 : X.value) !== null && P[2].highlightText ? void 0 : "1rem"), I & 2 && R(r, "transition-delay", P[1] ? Rn + Hn + "ms" : "0ms"), (!x || I & 2) && q(t, "unfolded", P[1]), (!x || I & 8) && q(t, "folded", P[3]);
13819
+ (!x || I & 4) && g !== (g = P[2].title + "") && Me(v, g), ((H = P[2].price) == null ? void 0 : H.value) !== void 0 && ((N = P[2].price) == null ? void 0 : N.value) !== null ? F ? F.p(P, I) : (F = Pr(P), F.c(), F.m(w, y)) : F && (F.d(1), F = null), P[2].highlightText ? O ? O.p(P, I) : (O = xr(P), O.c(), O.m(w, null)) : O && (O.d(1), O = null), I & 4 && R(w, "height", ((Z = P[2].price) == null ? void 0 : Z.value) !== void 0 && ((X = P[2].price) == null ? void 0 : X.value) !== null && P[2].highlightText ? void 0 : "1rem"), I & 2 && R(r, "transition-delay", P[1] ? Rn + On + "ms" : "0ms"), (!x || I & 2) && q(t, "unfolded", P[1]), (!x || I & 8) && q(t, "folded", P[3]);
13769
13820
  },
13770
13821
  i(P) {
13771
13822
  x || (D(e.$$.fragment, P), x = !0);
@@ -13774,11 +13825,11 @@ function Bp(i) {
13774
13825
  M(e.$$.fragment, P), x = !1;
13775
13826
  },
13776
13827
  d(P) {
13777
- P && z(t), $(e), tt(C, P), tt(k, P), F && F.d(), H && H.d();
13828
+ P && z(t), $(e), tt(C, P), tt(k, P), F && F.d(), O && O.d();
13778
13829
  }
13779
13830
  };
13780
13831
  }
13781
- const Rn = 400, kr = 500, Hn = 180, Dr = 500;
13832
+ const Rn = 400, kr = 500, On = 180, Dr = 500;
13782
13833
  function jp(i, t, e) {
13783
13834
  let n, o, s, { tag: r } = t;
13784
13835
  return i.$$set = (a) => {
@@ -13820,7 +13871,7 @@ function Lr(i) {
13820
13871
  },
13821
13872
  i(m) {
13822
13873
  h || (D(e.$$.fragment, m), m && Ie(() => {
13823
- d && d.end(1), c = Ht(t, Tt, {
13874
+ d && d.end(1), c = Ot(t, Tt, {
13824
13875
  duration: i[2],
13825
13876
  delay: i[0],
13826
13877
  easing: Zt
@@ -13839,7 +13890,7 @@ function Lr(i) {
13839
13890
  }
13840
13891
  };
13841
13892
  }
13842
- function Hp(i) {
13893
+ function Op(i) {
13843
13894
  let t, e, n = i[4] && Lr(i);
13844
13895
  return {
13845
13896
  c() {
@@ -13864,7 +13915,7 @@ function Hp(i) {
13864
13915
  }
13865
13916
  };
13866
13917
  }
13867
- function Op(i, t, e) {
13918
+ function Hp(i, t, e) {
13868
13919
  let { inDelay: n = 0 } = t, { outDelay: o = 0 } = t, { duration: s = 0 } = t, { url: r } = t, { unfolded: a } = t, { hooksInfo: l = {} } = t;
13869
13920
  const c = pn("hooks"), d = pn("mediaStore");
13870
13921
  let h, u = !0;
@@ -13925,8 +13976,8 @@ class Fp extends oe {
13925
13976
  super(), ie(
13926
13977
  this,
13927
13978
  t,
13928
- Op,
13929
13979
  Hp,
13980
+ Op,
13930
13981
  ne,
13931
13982
  {
13932
13983
  inDelay: 0,
@@ -13988,8 +14039,8 @@ function Sr(i) {
13988
14039
  S & 32 && (k.visible = C[5]), S & 4 && (k.left = C[2] / 2 + "px"), e.$set(k);
13989
14040
  const F = {};
13990
14041
  S & 32 && (F.unfolded = C[5]), S & 24 && (F.outDelay = C[4] + 20 * Math.min((P = (Y = C[3][0]) == null ? void 0 : Y.content.length) != null ? P : 10, 15)), s.$set(F), S & 4 && R(o, "width", C[2] + "px");
13991
- const H = {};
13992
- S & 32 && (H.unfolded = C[5]), S & 1 && (H.url = C[0].data.audioUrl), S & 8 && (H.outDelay = 20 * Math.min((T = (I = C[3][0]) == null ? void 0 : I.content.length) != null ? T : 10, 15)), S & 1 && (H.hooksInfo = { tag: C[0] }), d.$set(H);
14042
+ const O = {};
14043
+ S & 32 && (O.unfolded = C[5]), S & 1 && (O.url = C[0].data.audioUrl), S & 8 && (O.outDelay = 20 * Math.min((T = (I = C[3][0]) == null ? void 0 : I.content.length) != null ? T : 10, 15)), S & 1 && (O.hooksInfo = { tag: C[0] }), d.$set(O);
13993
14044
  const G = {};
13994
14045
  S & 32 && (G.visible = C[5]), S & 2 && (G.textUnfolded = C[1]), S & 8 && (G.textItems = C[3]), p.$set(G), (!g || S & 32) && q(t, "unfolded", C[5]);
13995
14046
  },
@@ -14041,7 +14092,7 @@ function Wp(i, t, e) {
14041
14092
  "tag" in u && e(0, r = u.tag);
14042
14093
  }, i.$$.update = () => {
14043
14094
  var u;
14044
- i.$$.dirty & 1 && e(5, n = !!((u = r.state) != null && u.unfolded)), i.$$.dirty & 1 && e(7, o = r.data.text), i.$$.dirty & 128 && e(3, c = [{ id: Oe(), content: o }]), i.$$.dirty & 2 && e(4, s = a ? 450 : 0);
14095
+ i.$$.dirty & 1 && e(5, n = !!((u = r.state) != null && u.unfolded)), i.$$.dirty & 1 && e(7, o = r.data.text), i.$$.dirty & 128 && e(3, c = [{ id: He(), content: o }]), i.$$.dirty & 2 && e(4, s = a ? 450 : 0);
14045
14096
  }, [
14046
14097
  r,
14047
14098
  a,
@@ -15003,12 +15054,12 @@ function Rr(i, t, e) {
15003
15054
  const n = i.slice();
15004
15055
  return n[6] = t[e], n;
15005
15056
  }
15006
- function Hr(i) {
15057
+ function Or(i) {
15007
15058
  let t, e = [], n = /* @__PURE__ */ new Map(), o, s = i[1];
15008
15059
  const r = (a) => a[6].id;
15009
15060
  for (let a = 0; a < s.length; a += 1) {
15010
15061
  let l = Rr(i, s, a), c = r(l);
15011
- n.set(c, e[a] = Or(c, l));
15062
+ n.set(c, e[a] = Hr(c, l));
15012
15063
  }
15013
15064
  return {
15014
15065
  c() {
@@ -15024,7 +15075,7 @@ function Hr(i) {
15024
15075
  o = !0;
15025
15076
  },
15026
15077
  p(a, l) {
15027
- l & 63 && (s = a[1], ce(), e = Je(e, l, r, 1, a, s, n, t, at, Or, null, Rr), de()), (!o || l & 40) && q(t, "hide", !a[3].visible || !a[5].visible), (!o || l & 1) && q(t, "withAnimation", a[0]);
15078
+ l & 63 && (s = a[1], ce(), e = Je(e, l, r, 1, a, s, n, t, at, Hr, null, Rr), de()), (!o || l & 40) && q(t, "hide", !a[3].visible || !a[5].visible), (!o || l & 1) && q(t, "withAnimation", a[0]);
15028
15079
  },
15029
15080
  i(a) {
15030
15081
  if (!o) {
@@ -15045,7 +15096,7 @@ function Hr(i) {
15045
15096
  }
15046
15097
  };
15047
15098
  }
15048
- function Or(i, t) {
15099
+ function Hr(i, t) {
15049
15100
  let e, n, o, s;
15050
15101
  const r = [
15051
15102
  {
@@ -15097,7 +15148,7 @@ function Or(i, t) {
15097
15148
  };
15098
15149
  }
15099
15150
  function Bg(i) {
15100
- let t, e, n = i[3].enabled && Hr(i);
15151
+ let t, e, n = i[3].enabled && Or(i);
15101
15152
  return {
15102
15153
  c() {
15103
15154
  n && n.c(), t = fe();
@@ -15106,7 +15157,7 @@ function Bg(i) {
15106
15157
  n && n.m(o, s), B(o, t, s), e = !0;
15107
15158
  },
15108
15159
  p(o, [s]) {
15109
- o[3].enabled ? n ? (n.p(o, s), s & 8 && D(n, 1)) : (n = Hr(o), n.c(), D(n, 1), n.m(t.parentNode, t)) : n && (ce(), M(n, 1, 1, () => {
15160
+ o[3].enabled ? n ? (n.p(o, s), s & 8 && D(n, 1)) : (n = Or(o), n.c(), D(n, 1), n.m(t.parentNode, t)) : n && (ce(), M(n, 1, 1, () => {
15110
15161
  n = null;
15111
15162
  }), de());
15112
15163
  },
@@ -15187,7 +15238,7 @@ const Rg = {
15187
15238
  }
15188
15239
  }
15189
15240
  };
15190
- class Hg extends ci {
15241
+ class Og extends ci {
15191
15242
  constructor(e) {
15192
15243
  super(e);
15193
15244
  f(this, "tagCacheByPanoIndex", {});
@@ -15211,7 +15262,7 @@ class Hg extends ci {
15211
15262
  this.tagCacheByPanoIndex = {};
15212
15263
  }
15213
15264
  }
15214
- class Og extends Hg {
15265
+ class Hg extends Og {
15215
15266
  constructor(e) {
15216
15267
  super(e);
15217
15268
  f(this, "tags", []);
@@ -15461,7 +15512,7 @@ class Og extends Hg {
15461
15512
  }
15462
15513
  }
15463
15514
  const $a = "1.2.6", Yi = `DnalogelPlugin-PanoTagPlugin@${$a}`, Fg = !1, gA = (i) => `${Yi}--${i}`;
15464
- class Gg extends Og {
15515
+ class Gg extends Hg {
15465
15516
  constructor(e, n) {
15466
15517
  super(e);
15467
15518
  f(this, "version", $a);
@@ -15640,7 +15691,7 @@ class Gg extends Og {
15640
15691
  }, 500),
15641
15692
  e
15642
15693
  ), { observe: a, unobserve: l } = Fs(
15643
- Os(() => n(), 400),
15694
+ Hs(() => n(), 400),
15644
15695
  e
15645
15696
  );
15646
15697
  return s(), a(), () => {
@@ -15691,7 +15742,7 @@ class Gg extends Og {
15691
15742
  });
15692
15743
  }
15693
15744
  handleFiveCameraUpdateDebounce() {
15694
- return Os(() => {
15745
+ return Hs(() => {
15695
15746
  this.setUnfoldedByCamera(), this.updateRenderAllTags();
15696
15747
  }, 100);
15697
15748
  }
@@ -16985,7 +17036,7 @@ class c0 extends fo {
16985
17036
  this.scale(n), console.log("%c RectangleScaleController dragging", "color: #49de1b");
16986
17037
  }
16987
17038
  scale(e) {
16988
- var F, H;
17039
+ var F, O;
16989
17040
  if (!this.startInfo)
16990
17041
  return;
16991
17042
  const n = this.originObject3D, { startPoint: o, plane: s } = this.startInfo, r = this.helperObject3D.cornerPositions;
@@ -16998,15 +17049,15 @@ class c0 extends fo {
16998
17049
  const Y = new _(0, 0, 0);
16999
17050
  if (!this.startInfo)
17000
17051
  return Y;
17001
- const P = (G === "ew" ? h : u).clone(), I = c.clone().projectOnVector(P), T = a.clone().projectOnVector(P), O = l.clone().projectOnVector(P);
17052
+ const P = (G === "ew" ? h : u).clone(), I = c.clone().projectOnVector(P), T = a.clone().projectOnVector(P), H = l.clone().projectOnVector(P);
17002
17053
  if (T.equals(I))
17003
17054
  return Y;
17004
17055
  if (G === "ns" && typeof this.startInfo.dragPointInCenterBottom != "boolean") {
17005
- const X = new _().subVectors(T, O), U = X.x < 0 && P.x >= 0, le = X.y < 0 && P.y >= 0, ue = X.z < 0 && P.z >= 0;
17056
+ const X = new _().subVectors(T, H), U = X.x < 0 && P.x >= 0, le = X.y < 0 && P.y >= 0, ue = X.z < 0 && P.z >= 0;
17006
17057
  this.startInfo.dragPointInCenterBottom = U || le || ue;
17007
17058
  }
17008
17059
  if (G === "ew" && typeof this.startInfo.dragPointInCenterLeft != "boolean") {
17009
- const X = new _().subVectors(T, O), U = X.x < 0 && P.x >= 0, le = X.y < 0 && P.y >= 0, ue = X.z < 0 && P.z >= 0;
17060
+ const X = new _().subVectors(T, H), U = X.x < 0 && P.x >= 0, le = X.y < 0 && P.y >= 0, ue = X.z < 0 && P.z >= 0;
17010
17061
  this.startInfo.dragPointInCenterLeft = U || le || ue;
17011
17062
  }
17012
17063
  const N = new _().subVectors(T, I), Z = N.length();
@@ -17038,7 +17089,7 @@ class c0 extends fo {
17038
17089
  const w = new _().subVectors(r[1], r[0]).length() / h.length(), y = new _().subVectors(r[3], r[0]).length() / u.length(), x = new _(w, y, 1), L = new E.Matrix4().scale(x);
17039
17090
  n.isCSS3DObjectPlus ? n.applyScaleMatrix4(L) : n.scale.applyMatrix4(L), o.position.copy(a);
17040
17091
  const C = new _().addVectors(r[0], r[2]).divideScalar(2), S = new _().subVectors(C, l), k = new E.Matrix4().setPosition(S);
17041
- n.applyMatrix4(k), (F = this.helperObject3D.css3DInstance) == null || F.css3DObject.applyMatrix4(k), (H = this.helperObject3D.plane) == null || H.applyMatrix4(k), this.hooks.emit("scaleUpdate", { matrix4: L, helperOrigin: l }), this.hooks.emit("positionUpdate", { matrix4: k }), this.render();
17092
+ n.applyMatrix4(k), (F = this.helperObject3D.css3DInstance) == null || F.css3DObject.applyMatrix4(k), (O = this.helperObject3D.plane) == null || O.applyMatrix4(k), this.hooks.emit("scaleUpdate", { matrix4: L, helperOrigin: l }), this.hooks.emit("positionUpdate", { matrix4: k }), this.render();
17042
17093
  }
17043
17094
  dragEnd() {
17044
17095
  !this.isDragging || (this.startInfo = void 0, this.isDragging = !1, this.hooks.emit("scaleEnd"), this.render(), console.log("%c RectangleScaleController dragEnd", "color: #e94e4e"));
@@ -17204,7 +17255,7 @@ class p0 {
17204
17255
  return this.xInterval.contains(t.xInterval) && this.yInterval.contains(t.yInterval);
17205
17256
  }
17206
17257
  }
17207
- function On(i, t, e) {
17258
+ function Hn(i, t, e) {
17208
17259
  const n = i[t], o = i[e];
17209
17260
  !n || !o || (i[t] = o, i[e] = n);
17210
17261
  }
@@ -17214,7 +17265,7 @@ function g0(i, t, e) {
17214
17265
  const s = e - (o - 1);
17215
17266
  for (let r = 1; r <= t; r++) {
17216
17267
  const a = (o - 1) * t + r - 1, l = (s - 1) * t + r - 1;
17217
- On(i, a * 4 + 0, l * 4 + 0), On(i, a * 4 + 1, l * 4 + 1), On(i, a * 4 + 2, l * 4 + 2), On(i, a * 4 + 3, l * 4 + 3);
17268
+ Hn(i, a * 4 + 0, l * 4 + 0), Hn(i, a * 4 + 1, l * 4 + 1), Hn(i, a * 4 + 2, l * 4 + 2), Hn(i, a * 4 + 3, l * 4 + 3);
17218
17269
  }
17219
17270
  }
17220
17271
  }