@needle-tools/engine 4.14.0 → 4.15.0-next.f391a30

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 (198) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{gltf-progressive-BttGBXw6.umd.cjs → gltf-progressive-CMwJPwEt.umd.cjs} +1 -1
  4. package/dist/{gltf-progressive-Bm_6aEi4.js → gltf-progressive-CTlvpS3A.js} +1 -1
  5. package/dist/{gltf-progressive-T5WKTux5.min.js → gltf-progressive-DYL3SLVb.min.js} +1 -1
  6. package/dist/materialx-4jJLLe9Q.js +4174 -0
  7. package/dist/materialx-Bt9FHwco.min.js +158 -0
  8. package/dist/materialx-NDD0y4JY.umd.cjs +158 -0
  9. package/dist/{needle-engine.bundle-COL2Bar3.umd.cjs → needle-engine.bundle-C1BFRZDF.umd.cjs} +150 -140
  10. package/dist/{needle-engine.bundle-Z_gAD7Kg.js → needle-engine.bundle-DB4kLWO_.js} +6651 -6400
  11. package/dist/{needle-engine.bundle-NolzHLqO.min.js → needle-engine.bundle-DsTdfmeb.min.js} +151 -141
  12. package/dist/needle-engine.d.ts +345 -88
  13. package/dist/needle-engine.js +322 -322
  14. package/dist/needle-engine.min.js +1 -1
  15. package/dist/needle-engine.umd.cjs +1 -1
  16. package/dist/{postprocessing-06AXuvdv.min.js → postprocessing-BN-f4viE.min.js} +1 -1
  17. package/dist/{postprocessing-CPDcA21P.umd.cjs → postprocessing-DYmYOVm4.umd.cjs} +1 -1
  18. package/dist/{postprocessing-CI2x8Cln.js → postprocessing-De9ZpJrk.js} +1 -1
  19. package/dist/{three-examples-BMmNgNCN.umd.cjs → three-examples-BHqRVpO_.umd.cjs} +12 -12
  20. package/dist/{three-examples-CMYCd5nH.js → three-examples-C0ZCCA_K.js} +182 -192
  21. package/dist/{three-examples-CQl1fFZp.min.js → three-examples-DmTY8tGr.min.js} +14 -14
  22. package/lib/engine/api.d.ts +0 -2
  23. package/lib/engine/api.js +0 -2
  24. package/lib/engine/api.js.map +1 -1
  25. package/lib/engine/debug/debug.js +1 -1
  26. package/lib/engine/debug/debug.js.map +1 -1
  27. package/lib/engine/debug/debug_spatial_console.js +1 -1
  28. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  29. package/lib/engine/engine_accessibility.d.ts +77 -0
  30. package/lib/engine/engine_accessibility.js +162 -0
  31. package/lib/engine/engine_accessibility.js.map +1 -0
  32. package/lib/engine/engine_context.d.ts +2 -0
  33. package/lib/engine/engine_context.js +8 -1
  34. package/lib/engine/engine_context.js.map +1 -1
  35. package/lib/engine/engine_create_objects.js +1 -1
  36. package/lib/engine/engine_create_objects.js.map +1 -1
  37. package/lib/engine/engine_gizmos.js +1 -1
  38. package/lib/engine/engine_gizmos.js.map +1 -1
  39. package/lib/engine/engine_license.js +7 -2
  40. package/lib/engine/engine_license.js.map +1 -1
  41. package/lib/engine/engine_materialpropertyblock.d.ts +90 -4
  42. package/lib/engine/engine_materialpropertyblock.js +97 -7
  43. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  44. package/lib/engine/engine_math.d.ts +34 -1
  45. package/lib/engine/engine_math.js +34 -1
  46. package/lib/engine/engine_math.js.map +1 -1
  47. package/lib/engine/engine_networking.js +1 -1
  48. package/lib/engine/engine_networking.js.map +1 -1
  49. package/lib/engine/engine_types.d.ts +2 -0
  50. package/lib/engine/engine_types.js +2 -0
  51. package/lib/engine/engine_types.js.map +1 -1
  52. package/lib/engine/engine_utils.js +2 -2
  53. package/lib/engine/engine_utils.js.map +1 -1
  54. package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
  55. package/lib/engine/export/gltf/index.js +1 -1
  56. package/lib/engine/export/gltf/index.js.map +1 -1
  57. package/lib/engine/webcomponents/icons.js +3 -0
  58. package/lib/engine/webcomponents/icons.js.map +1 -1
  59. package/lib/engine/webcomponents/logo-element.d.ts +7 -3
  60. package/lib/engine/webcomponents/logo-element.js +21 -1
  61. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  62. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  63. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  64. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +10 -7
  65. package/lib/engine/webcomponents/needle menu/needle-menu.js +14 -4
  66. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  67. package/lib/engine/webcomponents/needle-button.d.ts +37 -11
  68. package/lib/engine/webcomponents/needle-button.js +42 -11
  69. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  70. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +10 -1
  71. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  72. package/lib/engine/webcomponents/needle-engine.d.ts +13 -2
  73. package/lib/engine/webcomponents/needle-engine.js +23 -3
  74. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  75. package/lib/engine-components/Component.d.ts +1 -2
  76. package/lib/engine-components/Component.js +1 -3
  77. package/lib/engine-components/Component.js.map +1 -1
  78. package/lib/engine-components/DragControls.d.ts +1 -0
  79. package/lib/engine-components/DragControls.js +21 -0
  80. package/lib/engine-components/DragControls.js.map +1 -1
  81. package/lib/engine-components/NeedleMenu.d.ts +2 -0
  82. package/lib/engine-components/NeedleMenu.js +2 -0
  83. package/lib/engine-components/NeedleMenu.js.map +1 -1
  84. package/lib/engine-components/Networking.d.ts +28 -3
  85. package/lib/engine-components/Networking.js +28 -3
  86. package/lib/engine-components/Networking.js.map +1 -1
  87. package/lib/engine-components/ReflectionProbe.d.ts +25 -2
  88. package/lib/engine-components/ReflectionProbe.js +46 -2
  89. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  90. package/lib/engine-components/Skybox.js +4 -2
  91. package/lib/engine-components/Skybox.js.map +1 -1
  92. package/lib/engine-components/export/gltf/GltfExport.js +1 -1
  93. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  94. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
  95. package/lib/engine-components/export/usdz/USDZExporter.js +1 -1
  96. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  97. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +15 -0
  98. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +77 -0
  99. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  100. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +2 -2
  101. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
  102. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  103. package/lib/engine-components/ui/Button.d.ts +1 -0
  104. package/lib/engine-components/ui/Button.js +11 -0
  105. package/lib/engine-components/ui/Button.js.map +1 -1
  106. package/lib/engine-components/ui/Text.d.ts +1 -0
  107. package/lib/engine-components/ui/Text.js +11 -0
  108. package/lib/engine-components/ui/Text.js.map +1 -1
  109. package/package.json +18 -14
  110. package/plugins/common/buildinfo.js +46 -10
  111. package/plugins/common/files.js +2 -1
  112. package/plugins/common/license.js +144 -69
  113. package/plugins/common/logger.js +172 -11
  114. package/plugins/common/needle-engine-skill.md +175 -0
  115. package/plugins/common/worker.js +5 -4
  116. package/plugins/types/userconfig.d.ts +40 -2
  117. package/plugins/vite/ai.js +71 -0
  118. package/plugins/vite/alias.js +6 -5
  119. package/plugins/vite/asap.js +6 -5
  120. package/plugins/vite/build-pipeline.js +224 -41
  121. package/plugins/vite/buildinfo.js +66 -6
  122. package/plugins/vite/copyfiles.js +41 -12
  123. package/plugins/vite/custom-element-data.js +26 -16
  124. package/plugins/vite/defines.js +8 -5
  125. package/plugins/vite/dependencies.js +16 -10
  126. package/plugins/vite/dependency-watcher.js +35 -7
  127. package/plugins/vite/drop-client.js +7 -5
  128. package/plugins/vite/drop.js +16 -14
  129. package/plugins/vite/editor-connection.js +18 -16
  130. package/plugins/vite/imports-logger.js +12 -2
  131. package/plugins/vite/index.js +8 -3
  132. package/plugins/vite/local-files-analysis.js +789 -0
  133. package/plugins/vite/local-files-core.js +992 -0
  134. package/plugins/vite/local-files-internals.js +28 -0
  135. package/plugins/vite/local-files-types.d.ts +111 -0
  136. package/plugins/vite/local-files-utils.js +359 -0
  137. package/plugins/vite/local-files.js +2 -441
  138. package/plugins/vite/logger.client.js +45 -35
  139. package/plugins/vite/logger.js +6 -3
  140. package/plugins/vite/logging.js +129 -0
  141. package/plugins/vite/meta.js +18 -4
  142. package/plugins/vite/needle-app.js +4 -3
  143. package/plugins/vite/peer.js +2 -1
  144. package/plugins/vite/pwa.js +33 -17
  145. package/plugins/vite/reload.js +24 -2
  146. package/src/engine/api.ts +0 -3
  147. package/src/engine/debug/debug.ts +1 -1
  148. package/src/engine/debug/debug_spatial_console.ts +5 -1
  149. package/src/engine/engine_accessibility.ts +198 -0
  150. package/src/engine/engine_context.ts +10 -1
  151. package/src/engine/engine_create_objects.ts +1 -1
  152. package/src/engine/engine_gizmos.ts +9 -5
  153. package/src/engine/engine_license.ts +7 -2
  154. package/src/engine/engine_materialpropertyblock.ts +102 -11
  155. package/src/engine/engine_math.ts +34 -1
  156. package/src/engine/engine_networking.ts +1 -1
  157. package/src/engine/engine_types.ts +5 -0
  158. package/src/engine/engine_utils.ts +2 -2
  159. package/src/engine/export/gltf/index.ts +1 -1
  160. package/src/engine/webcomponents/icons.ts +3 -0
  161. package/src/engine/webcomponents/logo-element.ts +24 -4
  162. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +6 -2
  163. package/src/engine/webcomponents/needle menu/needle-menu.ts +23 -11
  164. package/src/engine/webcomponents/needle-button.ts +44 -13
  165. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +13 -2
  166. package/src/engine/webcomponents/needle-engine.ts +31 -8
  167. package/src/engine-components/Component.ts +2 -5
  168. package/src/engine-components/DragControls.ts +29 -4
  169. package/src/engine-components/NeedleMenu.ts +5 -3
  170. package/src/engine-components/Networking.ts +29 -4
  171. package/src/engine-components/ReflectionProbe.ts +52 -9
  172. package/src/engine-components/Skybox.ts +4 -2
  173. package/src/engine-components/export/gltf/GltfExport.ts +1 -1
  174. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
  175. package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
  176. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +108 -32
  177. package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +2 -2
  178. package/src/engine-components/ui/Button.ts +12 -0
  179. package/src/engine-components/ui/Text.ts +13 -0
  180. package/dist/materialx-CJyQZtjt.min.js +0 -90
  181. package/dist/materialx-DMs1E08Z.js +0 -4636
  182. package/dist/materialx-DaKKOoVk.umd.cjs +0 -90
  183. package/lib/engine/engine_test_utils.d.ts +0 -39
  184. package/lib/engine/engine_test_utils.js +0 -84
  185. package/lib/engine/engine_test_utils.js.map +0 -1
  186. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +0 -1
  187. package/src/engine/engine_test_utils.ts +0 -109
  188. package/src/include/draco/draco_decoder.js +0 -34
  189. package/src/include/draco/draco_decoder.wasm +0 -0
  190. package/src/include/draco/draco_wasm_wrapper.js +0 -117
  191. package/src/include/ktx2/basis_transcoder.js +0 -19
  192. package/src/include/ktx2/basis_transcoder.wasm +0 -0
  193. package/src/include/needle/arial-msdf.json +0 -1472
  194. package/src/include/needle/arial.png +0 -0
  195. package/src/include/needle/poweredbyneedle.webp +0 -0
  196. /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.d.ts +0 -0
  197. /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
  198. /package/src/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Mesh as q, SphereGeometry as ui, Vector3 as P, MeshBasicMaterial as Qt, Node as fa, PerspectiveCamera as gs, NodeFrame as Ia, NodeBuilder as ma, GLSLNodeParser as Ea, ShaderLib as wt, UniformsUtils as gi, UniformsLib as Un, normalView as ba, defaultShaderStages as Yn, ShaderChunk as Ca, Material as en, TrianglesDrawMode as Ba, TriangleFanDrawMode as qs, TriangleStripDrawMode as Do, Matrix4 as ue, Loader as kt, LoaderUtils as tn, FileLoader as It, MeshPhysicalMaterial as Tt, Vector2 as Le, Color as Se, LinearSRGBColorSpace as Xe, SRGBColorSpace as ge, SpotLight as Ro, PointLight as zs, DirectionalLight as _o, InstancedMesh as wa, Quaternion as Te, InstancedBufferAttribute as ya, Object3D as xt, TextureLoader as di, ImageBitmapLoader as Qa, BufferAttribute as st, InterleavedBuffer as xa, LinearMipmapLinearFilter as jn, NearestMipmapLinearFilter as Mo, LinearMipmapNearestFilter as Fo, NearestMipmapNearestFilter as pi, LinearFilter as rt, NearestFilter as cs, RepeatWrapping as on, MirroredRepeatWrapping as ko, ClampToEdgeWrapping as ls, PointsMaterial as _n, LineBasicMaterial as Ft, MeshStandardMaterial as fi, DoubleSide as Ii, PropertyBinding as Lt, BufferGeometry as ut, SkinnedMesh as Lo, LineSegments as hs, Line as pt, LineLoop as Sa, Points as is, Group as nn, MathUtils as Qe, OrthographicCamera as No, Skeleton as Uo, AnimationClip as Go, Bone as Ys, InterpolateDiscrete as Po, InterpolateLinear as mi, InterleavedBufferAttribute as $t, Texture as Ks, VectorKeyframeTrack as Js, NumberKeyframeTrack as Vs, QuaternionKeyframeTrack as Ws, ColorManagement as Ve, FrontSide as Oo, Interpolant as Ta, Box3 as ds, Sphere as Ei, RGBA_S3TC_DXT1_Format as Xs, RGB_PVRTC_4BPPV1_Format as va, RGB_ETC2_Format as Ho, RGB_ETC1_Format as Da, RGBA_S3TC_DXT5_Format as Zs, RGBA_PVRTC_4BPPV1_Format as Ra, RGBA_ETC2_EAC_Format as jo, RGBA_BPTC_Format as $s, RGB_BPTC_UNSIGNED_Format as _a, RGBA_ASTC_4x4_Format as os, RGBAFormat as zt, FloatType as mt, HalfFloatType as We, UnsignedByteType as dt, CompressedCubeTexture as Ma, CompressedArrayTexture as Fa, CompressedTexture as Gn, NoColorSpace as us, RGBA_S3TC_DXT3_Format as Mi, RGB_S3TC_DXT1_Format as Fi, RGBA_ASTC_6x6_Format as ki, RGBFormat as ei, RedFormat as gn, RGFormat as Mn, UnsignedInt101111Type as qo, UnsignedInt5999Type as zo, DataTexture as ka, Data3DTexture as La, ExtrudeGeometry as Na, ShapePath as Ua, Raycaster as bi, CylinderGeometry as Ye, BoxGeometry as je, Float32BufferAttribute as Fe, OctahedronGeometry as Kn, TorusGeometry as bn, Euler as qt, Controls as Yo, PlaneGeometry as Ci, DataTextureLoader as Ko, DataUtils as dn, Vector4 as Nt, Curve as Ga, MeshPhongMaterial as Pn, MeshLambertMaterial as Pa, EquirectangularReflectionMapping as Oa, AmbientLight as Ha, Uint16BufferAttribute as ja, Matrix3 as Jo, ShapeUtils as qa, DefaultLoadingManager as za, Ray as Ya, Plane as Ka, MOUSE as fn, TOUCH as pn, Spherical as Li, ShaderMaterial as Vo, Uniform$1 as Ja, Scene as ti, WebGLRenderer as Va, CanvasTexture as Wo, REVISION as Wa, Source as Xa, InstancedBufferGeometry as Za, InstancedInterleavedBuffer as ni, WireframeGeometry as $a, Line3 as eA } from "./three-Bvk2VKbF.js";
2
- class ph extends q {
2
+ class gh extends q {
3
3
  constructor(e, t, s, n = 128) {
4
4
  if (t <= 0 || s <= 0 || n <= 0)
5
5
  throw new Error("GroundedSkybox height, radius, and resolution must be positive.");
@@ -431,7 +431,7 @@ rs.Panel = function(A, e, t) {
431
431
  }
432
432
  };
433
433
  };
434
- function fh(A, e = 1e-4) {
434
+ function dh(A, e = 1e-4) {
435
435
  e = Math.max(e, Number.EPSILON);
436
436
  const t = {}, s = A.getIndex(), n = A.getAttribute("position"), i = s ? s.count : n.count;
437
437
  let o = 0;
@@ -2101,7 +2101,7 @@ function Hi(A, e, t) {
2101
2101
  return e.targets !== void 0 ? RA(A, e.targets, t) : A;
2102
2102
  });
2103
2103
  }
2104
- var Dh = (function() {
2104
+ var Th = (function() {
2105
2105
  var A = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", t = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), s = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2106
2106
  if (typeof WebAssembly != "object")
2107
2107
  return {
@@ -2198,7 +2198,7 @@ var Dh = (function() {
2198
2198
  };
2199
2199
  })();
2200
2200
  const Bs = /* @__PURE__ */ new WeakMap();
2201
- class Rh extends kt {
2201
+ class vh extends kt {
2202
2202
  constructor(e) {
2203
2203
  super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
2204
2204
  position: "POSITION",
@@ -3085,7 +3085,7 @@ function Er(A) {
3085
3085
  const e = A.dataFormatDescriptor[0];
3086
3086
  return e.colorPrimaries === jA ? e.transferFunction === qi ? ge : Xe : e.colorPrimaries === qA ? e.transferFunction === qi ? rc : ac : e.colorPrimaries === HA ? us : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), us);
3087
3087
  }
3088
- class _h extends Na {
3088
+ class Dh extends Na {
3089
3089
  constructor(e, t = {}) {
3090
3090
  const s = t.font;
3091
3091
  if (s === void 0)
@@ -3097,7 +3097,7 @@ class _h extends Na {
3097
3097
  this.type = "TextGeometry";
3098
3098
  }
3099
3099
  }
3100
- class Mh extends kt {
3100
+ class Rh extends kt {
3101
3101
  constructor(e) {
3102
3102
  super(e);
3103
3103
  }
@@ -3171,7 +3171,7 @@ const Wt = new bi(), He = new P(), Ht = new P(), ye = new Te(), Ki = {
3171
3171
  Y: new P(0, 1, 0),
3172
3172
  Z: new P(0, 0, 1)
3173
3173
  }, vs = { type: "change" }, Ji = { type: "mouseDown", mode: null }, Vi = { type: "mouseUp", mode: null }, Wi = { type: "objectChange" };
3174
- class Fh extends Yo {
3174
+ class _h extends Yo {
3175
3175
  constructor(e, t = null) {
3176
3176
  super(void 0, t);
3177
3177
  const s = new mc(this);
@@ -4154,7 +4154,7 @@ var li = function(A) {
4154
4154
  }, Nc = function(A, e, t, s, n) {
4155
4155
  Ge(A, e, 101010256), Ge(A, e + 8, t), Ge(A, e + 10, t), Ge(A, e + 12, s), Ge(A, e + 16, n);
4156
4156
  };
4157
- function kh(A, e) {
4157
+ function Mh(A, e) {
4158
4158
  e || (e = {});
4159
4159
  var t = {}, s = [];
4160
4160
  Sr(A, "", t, e);
@@ -4182,7 +4182,7 @@ function kh(A, e) {
4182
4182
  }
4183
4183
  return Nc(B, n, s.length, D, Q), B;
4184
4184
  }
4185
- class Uc extends Ko {
4185
+ class Fh extends Ko {
4186
4186
  constructor(e) {
4187
4187
  super(e), this.type = We;
4188
4188
  }
@@ -5100,11 +5100,7 @@ class Uc extends Ko {
5100
5100
  return super.load(e, i, s, n);
5101
5101
  }
5102
5102
  }
5103
- const Lh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5104
- __proto__: null,
5105
- EXRLoader: Uc
5106
- }, Symbol.toStringTag, { value: "Module" }));
5107
- class Gc extends Ko {
5103
+ class kh extends Ko {
5108
5104
  constructor(e) {
5109
5105
  super(e), this.type = We;
5110
5106
  }
@@ -5250,10 +5246,6 @@ class Gc extends Ko {
5250
5246
  return super.load(e, i, s, n);
5251
5247
  }
5252
5248
  }
5253
- const Nh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5254
- __proto__: null,
5255
- RGBELoader: Gc
5256
- }, Symbol.toStringTag, { value: "Module" }));
5257
5249
  function Tr(A, e, t) {
5258
5250
  const s = t.length - A - 1;
5259
5251
  if (e >= t[s])
@@ -5265,7 +5257,7 @@ function Tr(A, e, t) {
5265
5257
  e < t[o] ? i = o : n = o, o = Math.floor((n + i) / 2);
5266
5258
  return o;
5267
5259
  }
5268
- function Pc(A, e, t, s) {
5260
+ function Uc(A, e, t, s) {
5269
5261
  const n = [], i = [], o = [];
5270
5262
  n[0] = 1;
5271
5263
  for (let r = 1; r <= t; ++r) {
@@ -5279,15 +5271,15 @@ function Pc(A, e, t, s) {
5279
5271
  }
5280
5272
  return n;
5281
5273
  }
5282
- function Oc(A, e, t, s) {
5283
- const n = Tr(A, s, e), i = Pc(n, s, A, e), o = new Nt(0, 0, 0, 0);
5274
+ function Gc(A, e, t, s) {
5275
+ const n = Tr(A, s, e), i = Uc(n, s, A, e), o = new Nt(0, 0, 0, 0);
5284
5276
  for (let r = 0; r <= A; ++r) {
5285
5277
  const a = t[n - A + r], c = i[r], l = a.w * c;
5286
5278
  o.x += a.x * l, o.y += a.y * l, o.z += a.z * l, o.w += a.w * c;
5287
5279
  }
5288
5280
  return o;
5289
5281
  }
5290
- function Hc(A, e, t, s, n) {
5282
+ function Pc(A, e, t, s, n) {
5291
5283
  const i = [];
5292
5284
  for (let h = 0; h <= t; ++h)
5293
5285
  i[h] = 0;
@@ -5338,8 +5330,8 @@ function Hc(A, e, t, s, n) {
5338
5330
  }
5339
5331
  return o;
5340
5332
  }
5341
- function jc(A, e, t, s, n) {
5342
- const i = n < A ? n : A, o = [], r = Tr(A, s, e), a = Hc(r, s, A, i, e), c = [];
5333
+ function Oc(A, e, t, s, n) {
5334
+ const i = n < A ? n : A, o = [], r = Tr(A, s, e), a = Pc(r, s, A, i, e), c = [];
5343
5335
  for (let l = 0; l < t.length; ++l) {
5344
5336
  const h = t[l].clone(), g = h.w;
5345
5337
  h.x *= g, h.y *= g, h.z *= g, c[l] = h;
@@ -5354,7 +5346,7 @@ function jc(A, e, t, s, n) {
5354
5346
  o[l] = new Nt(0, 0, 0);
5355
5347
  return o;
5356
5348
  }
5357
- function qc(A, e) {
5349
+ function Hc(A, e) {
5358
5350
  let t = 1;
5359
5351
  for (let n = 2; n <= A; ++n)
5360
5352
  t *= n;
@@ -5365,7 +5357,7 @@ function qc(A, e) {
5365
5357
  s *= n;
5366
5358
  return t / s;
5367
5359
  }
5368
- function zc(A) {
5360
+ function jc(A) {
5369
5361
  const e = A.length, t = [], s = [];
5370
5362
  for (let i = 0; i < e; ++i) {
5371
5363
  const o = A[i];
@@ -5375,16 +5367,16 @@ function zc(A) {
5375
5367
  for (let i = 0; i < e; ++i) {
5376
5368
  const o = t[i].clone();
5377
5369
  for (let r = 1; r <= i; ++r)
5378
- o.sub(n[i - r].clone().multiplyScalar(qc(i, r) * s[r]));
5370
+ o.sub(n[i - r].clone().multiplyScalar(Hc(i, r) * s[r]));
5379
5371
  n[i] = o.divideScalar(s[0]);
5380
5372
  }
5381
5373
  return n;
5382
5374
  }
5383
- function Yc(A, e, t, s, n) {
5384
- const i = jc(A, e, t, s, n);
5385
- return zc(i);
5375
+ function qc(A, e, t, s, n) {
5376
+ const i = Oc(A, e, t, s, n);
5377
+ return jc(i);
5386
5378
  }
5387
- class Kc extends Ga {
5379
+ class zc extends Ga {
5388
5380
  constructor(e, t, s, n, i) {
5389
5381
  super(), this.degree = e, this.knots = t, this.controlPoints = [], this.startKnot = n || 0, this.endKnot = i || this.knots.length - 1;
5390
5382
  for (let o = 0; o < s.length; ++o) {
@@ -5393,16 +5385,16 @@ class Kc extends Ga {
5393
5385
  }
5394
5386
  }
5395
5387
  getPoint(e, t = new P()) {
5396
- const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i = Oc(this.degree, this.knots, this.controlPoints, n);
5388
+ const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i = Gc(this.degree, this.knots, this.controlPoints, n);
5397
5389
  return i.w !== 1 && i.divideScalar(i.w), s.set(i.x, i.y, i.z);
5398
5390
  }
5399
5391
  getTangent(e, t = new P()) {
5400
- const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = Yc(this.degree, this.knots, this.controlPoints, n, 1);
5392
+ const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = qc(this.degree, this.knots, this.controlPoints, n, 1);
5401
5393
  return s.copy(i[1]).normalize(), s;
5402
5394
  }
5403
5395
  }
5404
5396
  let re, De, ze;
5405
- class Uh extends kt {
5397
+ class Lh extends kt {
5406
5398
  constructor(e) {
5407
5399
  super(e);
5408
5400
  }
@@ -5417,30 +5409,30 @@ class Uh extends kt {
5417
5409
  }, s, n);
5418
5410
  }
5419
5411
  parse(e, t) {
5420
- if ($c(e))
5421
- re = new Zc().parse(e);
5412
+ if (Xc(e))
5413
+ re = new Wc().parse(e);
5422
5414
  else {
5423
5415
  const n = Rr(e);
5424
- if (!el(n))
5416
+ if (!Zc(n))
5425
5417
  throw new Error("THREE.FBXLoader: Unknown format.");
5426
5418
  if (ao(n) < 7e3)
5427
5419
  throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + ao(n));
5428
- re = new Xc().parse(n);
5420
+ re = new Vc().parse(n);
5429
5421
  }
5430
5422
  const s = new di(this.manager).setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin);
5431
- return new Jc(s, this.manager).parse(re);
5423
+ return new Yc(s, this.manager).parse(re);
5432
5424
  }
5433
5425
  getFbxTree() {
5434
5426
  return re;
5435
5427
  }
5436
5428
  }
5437
- class Jc {
5429
+ class Yc {
5438
5430
  constructor(e, t) {
5439
5431
  this.textureLoader = e, this.manager = t;
5440
5432
  }
5441
5433
  parse() {
5442
5434
  De = this.parseConnections();
5443
- const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new Vc().parse(n);
5435
+ const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new Kc().parse(n);
5444
5436
  return this.parseScene(n, i, s), ze;
5445
5437
  }
5446
5438
  // Parses FBXTree.Connections which holds parent-child connections between objects (e.g. material -> texture, model->geometry )
@@ -5729,7 +5721,7 @@ class Jc {
5729
5721
  }
5730
5722
  a.isSkinnedMesh && (a.computeBoundingBox(), a.computeBoundingSphere(), a.boundingBox.expandByScalar(3), a.boundingSphere.radius *= 3);
5731
5723
  });
5732
- const r = new Wc().parse();
5724
+ const r = new Jc().parse();
5733
5725
  ze.children.length === 1 && ze.children[0].isGroup && (ze.children[0].animations = r, ze = ze.children[0]), ze.animations = r;
5734
5726
  }
5735
5727
  // parse nodes in FBXTree.Objects.Model
@@ -5944,7 +5936,7 @@ class Jc {
5944
5936
  }
5945
5937
  }
5946
5938
  }
5947
- class Vc {
5939
+ class Kc {
5948
5940
  constructor() {
5949
5941
  this.negativeMaterialIndices = !1;
5950
5942
  }
@@ -6231,11 +6223,11 @@ class Vc {
6231
6223
  for (let h = 0; h < s; ++h)
6232
6224
  i.push(i[h]);
6233
6225
  }
6234
- const l = new Kc(s, n, i, r, a).getPoints(i.length * 12);
6226
+ const l = new zc(s, n, i, r, a).getPoints(i.length * 12);
6235
6227
  return new ut().setFromPoints(l);
6236
6228
  }
6237
6229
  }
6238
- class Wc {
6230
+ class Jc {
6239
6231
  // take raw animation clips and turn them into three.js animation clips
6240
6232
  parse() {
6241
6233
  const e = [], t = this.parseClips();
@@ -6279,7 +6271,7 @@ class Wc {
6279
6271
  for (const s in t) {
6280
6272
  const n = {
6281
6273
  id: t[s].id,
6282
- times: t[s].KeyTime.a.map(tl),
6274
+ times: t[s].KeyTime.a.map($c),
6283
6275
  values: t[s].KeyValueFloat.a
6284
6276
  }, i = De.get(n.id);
6285
6277
  if (i !== void 0) {
@@ -6493,7 +6485,7 @@ class Wc {
6493
6485
  return [i, o];
6494
6486
  }
6495
6487
  }
6496
- class Xc {
6488
+ class Vc {
6497
6489
  getPrevNode() {
6498
6490
  return this.nodeStack[this.currentIndent - 2];
6499
6491
  }
@@ -6547,7 +6539,7 @@ class Xc {
6547
6539
  let h = i.split(",").slice(3);
6548
6540
  h = h.map(function(g) {
6549
6541
  return g.trim().replace(/^"/, "");
6550
- }), n = "connections", i = [c, l], sl(i, h), o[n] === void 0 && (o[n] = []);
6542
+ }), n = "connections", i = [c, l], tl(i, h), o[n] === void 0 && (o[n] = []);
6551
6543
  }
6552
6544
  n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = ks(i));
6553
6545
  }
@@ -6588,7 +6580,7 @@ class Xc {
6588
6580
  }, this.setCurrentProp(this.getPrevNode(), i);
6589
6581
  }
6590
6582
  }
6591
- class Zc {
6583
+ class Wc {
6592
6584
  parse(e) {
6593
6585
  const t = new ro(e);
6594
6586
  t.skip(23);
@@ -6817,11 +6809,11 @@ class vr {
6817
6809
  this[e] = t;
6818
6810
  }
6819
6811
  }
6820
- function $c(A) {
6812
+ function Xc(A) {
6821
6813
  const e = "Kaydara FBX Binary \0";
6822
6814
  return A.byteLength >= e.length && e === Rr(A, 0, e.length);
6823
6815
  }
6824
- function el(A) {
6816
+ function Zc(A) {
6825
6817
  const e = ["K", "a", "y", "d", "a", "r", "a", "\\", "F", "B", "X", "\\", "B", "i", "n", "a", "r", "y", "\\", "\\"];
6826
6818
  let t = 0;
6827
6819
  function s(n) {
@@ -6839,10 +6831,10 @@ function ao(A) {
6839
6831
  return parseInt(t[1]);
6840
6832
  throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.");
6841
6833
  }
6842
- function tl(A) {
6834
+ function $c(A) {
6843
6835
  return A / 46186158e3;
6844
6836
  }
6845
- const nl = [];
6837
+ const el = [];
6846
6838
  function Xn(A, e, t, s) {
6847
6839
  let n;
6848
6840
  switch (s.mappingType) {
@@ -6863,7 +6855,7 @@ function Xn(A, e, t, s) {
6863
6855
  }
6864
6856
  s.referenceType === "IndexToDirect" && (n = s.indices[n]);
6865
6857
  const i = n * s.dataSize, o = i + s.dataSize;
6866
- return il(nl, s.buffer, i, o);
6858
+ return nl(el, s.buffer, i, o);
6867
6859
  }
6868
6860
  const Fs = new qt(), ln = new P();
6869
6861
  function Dr(A) {
@@ -6928,16 +6920,16 @@ function ks(A) {
6928
6920
  function Rr(A, e, t) {
6929
6921
  return e === void 0 && (e = 0), t === void 0 && (t = A.byteLength), new TextDecoder().decode(new Uint8Array(A, e, t));
6930
6922
  }
6931
- function sl(A, e) {
6923
+ function tl(A, e) {
6932
6924
  for (let t = 0, s = A.length, n = e.length; t < n; t++, s++)
6933
6925
  A[s] = e[t];
6934
6926
  }
6935
- function il(A, e, t, s) {
6927
+ function nl(A, e, t, s) {
6936
6928
  for (let n = t, i = 0; n < s; n++, i++)
6937
6929
  A[i] = e[n];
6938
6930
  return A;
6939
6931
  }
6940
- class ol extends kt {
6932
+ class sl extends kt {
6941
6933
  constructor(e) {
6942
6934
  super(e);
6943
6935
  }
@@ -6999,11 +6991,11 @@ class ol extends kt {
6999
6991
  } else
7000
6992
  n[h] = g;
7001
6993
  }
7002
- const r = new rl(this.resourcePath || t, this.materialOptions);
6994
+ const r = new il(this.resourcePath || t, this.materialOptions);
7003
6995
  return r.setCrossOrigin(this.crossOrigin), r.setManager(this.manager), r.setMaterials(o), r;
7004
6996
  }
7005
6997
  }
7006
- class rl {
6998
+ class il {
7007
6999
  constructor(e = "", t = {}) {
7008
7000
  this.baseUrl = e, this.options = t, this.materialsInfo = {}, this.materials = {}, this.materialsArray = [], this.nameLookup = {}, this.crossOrigin = "anonymous", this.side = this.options.side !== void 0 ? this.options.side : Oo, this.wrap = this.options.wrap !== void 0 ? this.options.wrap : on;
7009
7001
  }
@@ -7129,8 +7121,8 @@ class rl {
7129
7121
  return t !== void 0 && (a.mapping = t), a;
7130
7122
  }
7131
7123
  }
7132
- const al = /^[og]\s*(.+)?/, Al = /^mtllib /, cl = /^usemtl /, ll = /^usemap /, Ao = /\s+/, co = new P(), Ls = new P(), lo = new P(), ho = new P(), lt = new P(), Zn = new Se();
7133
- function hl() {
7124
+ const ol = /^[og]\s*(.+)?/, rl = /^mtllib /, al = /^usemtl /, Al = /^usemap /, Ao = /\s+/, co = new P(), Ls = new P(), lo = new P(), ho = new P(), lt = new P(), Zn = new Se();
7125
+ function cl() {
7134
7126
  const A = {
7135
7127
  objects: [],
7136
7128
  object: {},
@@ -7290,9 +7282,9 @@ function hl() {
7290
7282
  };
7291
7283
  return A.startObject("", !1), A;
7292
7284
  }
7293
- class Gh extends kt {
7285
+ class Nh extends kt {
7294
7286
  constructor(e) {
7295
- super(e), this.materials = null, this.materialsLoader = new ol(e);
7287
+ super(e), this.materials = null, this.materialsLoader = new sl(e);
7296
7288
  }
7297
7289
  load(e, t, s, n) {
7298
7290
  const i = this, o = new It(this.manager);
@@ -7325,7 +7317,7 @@ class Gh extends kt {
7325
7317
  return this.materials = e, this;
7326
7318
  }
7327
7319
  parse(e, t = !1) {
7328
- const s = new hl();
7320
+ const s = new cl();
7329
7321
  e.indexOf(`\r
7330
7322
  `) !== -1 && (e = e.replace(/\r\n/g, `
7331
7323
  `)), e.indexOf(`\\
@@ -7406,14 +7398,14 @@ class Gh extends kt {
7406
7398
  } else if (c === "p") {
7407
7399
  const h = a.slice(1).trim().split(" ");
7408
7400
  s.addPointGeometry(h);
7409
- } else if ((i = al.exec(a)) !== null) {
7401
+ } else if ((i = ol.exec(a)) !== null) {
7410
7402
  const l = (" " + i[0].slice(1).trim()).slice(1);
7411
7403
  s.startObject(l);
7412
- } else if (cl.test(a))
7404
+ } else if (al.test(a))
7413
7405
  s.object.startMaterial(a.substring(7).trim(), s.materialLibraries);
7414
- else if (Al.test(a))
7406
+ else if (rl.test(a))
7415
7407
  s.materialLibraries.push(a.substring(7).trim());
7416
- else if (ll.test(a))
7408
+ else if (Al.test(a))
7417
7409
  console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
7418
7410
  else if (c === "s") {
7419
7411
  if (i = a.split(" "), i.length > 1) {
@@ -7474,7 +7466,7 @@ class Gh extends kt {
7474
7466
  return t;
7475
7467
  }
7476
7468
  }
7477
- const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" }, ul = { type: "endMovement" }, $n = new Ya(), go = new Ka(), gl = Math.cos(70 * Qe.DEG2RAD), Me = new P();
7469
+ const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" }, ll = { type: "endMovement" }, $n = new Ya(), go = new Ka(), hl = Math.cos(70 * Qe.DEG2RAD), Me = new P();
7478
7470
  new P();
7479
7471
  const Ke = 2 * Math.PI, de = {
7480
7472
  NONE: -1,
@@ -7486,9 +7478,9 @@ const Ke = 2 * Math.PI, de = {
7486
7478
  TOUCH_DOLLY_PAN: 5,
7487
7479
  TOUCH_DOLLY_ROTATE: 6
7488
7480
  }, Xt = 1e-6;
7489
- let Ph = class extends Yo {
7481
+ let Uh = class extends Yo {
7490
7482
  constructor(e, t = null) {
7491
- super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove = pl.bind(this), this._onPointerDown = dl.bind(this), this._onPointerUp = fl.bind(this), this._onContextMenu = wl.bind(this), this._onMouseWheel = El.bind(this), this._onKeyDown = bl.bind(this), this._onTouchStart = Cl.bind(this), this._onTouchMove = Bl.bind(this), this._onMouseDown = Il.bind(this), this._onMouseMove = ml.bind(this), this._interceptControlDown = yl.bind(this), this._interceptControlUp = Ql.bind(this), this.domElement !== null && this.connect(), this.update();
7483
+ super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove = gl.bind(this), this._onPointerDown = ul.bind(this), this._onPointerUp = dl.bind(this), this._onContextMenu = Cl.bind(this), this._onMouseWheel = Il.bind(this), this._onKeyDown = ml.bind(this), this._onTouchStart = El.bind(this), this._onTouchMove = bl.bind(this), this._onMouseDown = pl.bind(this), this._onMouseMove = fl.bind(this), this._interceptControlDown = Bl.bind(this), this._interceptControlUp = wl.bind(this), this.domElement !== null && this.connect(), this.update();
7492
7484
  }
7493
7485
  connect() {
7494
7486
  this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -7549,12 +7541,12 @@ let Ph = class extends Yo {
7549
7541
  c.unproject(this.object), this.object.position.sub(c).add(r), this.object.updateMatrixWorld(), o = Me.length();
7550
7542
  } else
7551
7543
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
7552
- o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < gl ? this.object.lookAt(this.target) : (go.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(go, this.target))));
7544
+ o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < hl ? this.object.lookAt(this.target) : (go.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(go, this.target))));
7553
7545
  } else if (this.object.isOrthographicCamera) {
7554
7546
  const o = this.object.zoom;
7555
7547
  this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), Math.abs(o - this.object.zoom) > Xt && (this.object.updateProjectionMatrix(), i = !0);
7556
7548
  }
7557
- return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(ul)), this._performCursorZoom = !1, !1);
7549
+ return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(ll)), this._performCursorZoom = !1, !1);
7558
7550
  }
7559
7551
  _getAutoRotationAngle(e) {
7560
7552
  return e !== null ? Ke / 60 * this.autoRotateSpeed * e : Ke / 60 / 60 * this.autoRotateSpeed;
@@ -7745,13 +7737,13 @@ let Ph = class extends Yo {
7745
7737
  return e.ctrlKey && !this._controlActive && (s.deltaY *= 10), s;
7746
7738
  }
7747
7739
  };
7748
- function dl(A) {
7740
+ function ul(A) {
7749
7741
  this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(A.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), window.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(A) && (this._addPointer(A), A.pointerType === "touch" ? this._onTouchStart(A) : this._onMouseDown(A)));
7750
7742
  }
7751
- function pl(A) {
7743
+ function gl(A) {
7752
7744
  this.enabled !== !1 && (A.pointerType === "touch" ? this._onTouchMove(A) : this._onMouseMove(A));
7753
7745
  }
7754
- function fl(A) {
7746
+ function dl(A) {
7755
7747
  switch (this._removePointer(A), this._pointers.length) {
7756
7748
  case 0:
7757
7749
  this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), window.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(_r), this.state = de.NONE;
@@ -7762,7 +7754,7 @@ function fl(A) {
7762
7754
  break;
7763
7755
  }
7764
7756
  }
7765
- function Il(A) {
7757
+ function pl(A) {
7766
7758
  let e;
7767
7759
  switch (A.button) {
7768
7760
  case 0:
@@ -7805,7 +7797,7 @@ function Il(A) {
7805
7797
  }
7806
7798
  this.state !== de.NONE && this.dispatchEvent(xi);
7807
7799
  }
7808
- function ml(A) {
7800
+ function fl(A) {
7809
7801
  switch (this.state) {
7810
7802
  case de.ROTATE:
7811
7803
  if (this.enableRotate === !1) return;
@@ -7821,13 +7813,13 @@ function ml(A) {
7821
7813
  break;
7822
7814
  }
7823
7815
  }
7824
- function El(A) {
7816
+ function Il(A) {
7825
7817
  this.enabled === !1 || this.enableZoom === !1 || this.state !== de.NONE || (A.preventDefault(), this.dispatchEvent(xi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(_r));
7826
7818
  }
7827
- function bl(A) {
7819
+ function ml(A) {
7828
7820
  this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
7829
7821
  }
7830
- function Cl(A) {
7822
+ function El(A) {
7831
7823
  switch (this._trackPointer(A), this._pointers.length) {
7832
7824
  case 1:
7833
7825
  switch (this.touches.ONE) {
@@ -7862,7 +7854,7 @@ function Cl(A) {
7862
7854
  }
7863
7855
  this.state !== de.NONE && this.dispatchEvent(xi);
7864
7856
  }
7865
- function Bl(A) {
7857
+ function bl(A) {
7866
7858
  switch (this._trackPointer(A), this.state) {
7867
7859
  case de.TOUCH_ROTATE:
7868
7860
  if (this.enableRotate === !1) return;
@@ -7884,16 +7876,16 @@ function Bl(A) {
7884
7876
  this.state = de.NONE;
7885
7877
  }
7886
7878
  }
7887
- function wl(A) {
7879
+ function Cl(A) {
7888
7880
  this.enabled !== !1 && A.preventDefault();
7889
7881
  }
7890
- function yl(A) {
7882
+ function Bl(A) {
7891
7883
  A.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
7892
7884
  }
7893
- function Ql(A) {
7885
+ function wl(A) {
7894
7886
  A.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
7895
7887
  }
7896
- class Hh extends pt {
7888
+ class Ph extends pt {
7897
7889
  constructor(e, t = 1, s = 16, n = 2) {
7898
7890
  const i = new ut(), o = s + n * 2, r = new Float32Array((o * 3 + 3) * 3);
7899
7891
  i.setAttribute("position", new st(r, 3));
@@ -7917,7 +7909,7 @@ class Hh extends pt {
7917
7909
  this.geometry.dispose(), this.material[0].dispose(), this.material[1].dispose();
7918
7910
  }
7919
7911
  }
7920
- const jh = {
7912
+ const Oh = {
7921
7913
  name: "HorizontalBlurShader",
7922
7914
  uniforms: {
7923
7915
  tDiffuse: { value: null },
@@ -7963,7 +7955,7 @@ const jh = {
7963
7955
 
7964
7956
  }`
7965
7957
  )
7966
- }, qh = {
7958
+ }, Hh = {
7967
7959
  name: "VerticalBlurShader",
7968
7960
  uniforms: {
7969
7961
  tDiffuse: { value: null },
@@ -8074,33 +8066,33 @@ const po = {
8074
8066
  class Mr {
8075
8067
  constructor() {
8076
8068
  this.pluginCallbacks = [], this.register(function(e) {
8077
- return new kl(e);
8069
+ return new Ml(e);
8078
8070
  }), this.register(function(e) {
8079
- return new Ll(e);
8071
+ return new Fl(e);
8072
+ }), this.register(function(e) {
8073
+ return new Ul(e);
8074
+ }), this.register(function(e) {
8075
+ return new Gl(e);
8080
8076
  }), this.register(function(e) {
8081
8077
  return new Pl(e);
8082
8078
  }), this.register(function(e) {
8083
8079
  return new Ol(e);
8084
8080
  }), this.register(function(e) {
8085
- return new Hl(e);
8081
+ return new kl(e);
8086
8082
  }), this.register(function(e) {
8087
- return new jl(e);
8083
+ return new Ll(e);
8088
8084
  }), this.register(function(e) {
8089
8085
  return new Nl(e);
8090
8086
  }), this.register(function(e) {
8091
- return new Ul(e);
8087
+ return new Hl(e);
8092
8088
  }), this.register(function(e) {
8093
- return new Gl(e);
8089
+ return new jl(e);
8094
8090
  }), this.register(function(e) {
8095
8091
  return new ql(e);
8096
8092
  }), this.register(function(e) {
8097
8093
  return new zl(e);
8098
8094
  }), this.register(function(e) {
8099
8095
  return new Yl(e);
8100
- }), this.register(function(e) {
8101
- return new Kl(e);
8102
- }), this.register(function(e) {
8103
- return new Jl(e);
8104
8096
  });
8105
8097
  }
8106
8098
  register(e) {
@@ -8117,7 +8109,7 @@ class Mr {
8117
8109
  * @param {Object} options options
8118
8110
  */
8119
8111
  parse(e, t, s, n) {
8120
- const i = new Fl(), o = [];
8112
+ const i = new _l(), o = [];
8121
8113
  for (let r = 0, a = this.pluginCallbacks.length; r < a; r++)
8122
8114
  o.push(this.pluginCallbacks[r](i));
8123
8115
  i.setPlugins(o), i.write(e, t, n).catch(s);
@@ -8168,19 +8160,19 @@ const fo = {
8168
8160
  position: "translation",
8169
8161
  quaternion: "rotation",
8170
8162
  morphTargetInfluences: "weights"
8171
- }, xl = new Se(), Io = 12, Sl = 1179937895, Tl = 2, mo = 8, vl = 1313821514, Dl = 5130562;
8163
+ }, yl = new Se(), Io = 12, Ql = 1179937895, xl = 2, mo = 8, Sl = 1313821514, Tl = 5130562;
8172
8164
  function Nn(A, e) {
8173
8165
  return A.length === e.length && A.every(function(t, s) {
8174
8166
  return t === e[s];
8175
8167
  });
8176
8168
  }
8177
- function Rl(A) {
8169
+ function vl(A) {
8178
8170
  return new TextEncoder().encode(A).buffer;
8179
8171
  }
8180
- function _l(A) {
8172
+ function Dl(A) {
8181
8173
  return Nn(A.elements, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
8182
8174
  }
8183
- function Ml(A, e, t) {
8175
+ function Rl(A, e, t) {
8184
8176
  const s = {
8185
8177
  min: new Array(A.itemSize).fill(Number.POSITIVE_INFINITY),
8186
8178
  max: new Array(A.itemSize).fill(Number.NEGATIVE_INFINITY)
@@ -8218,7 +8210,7 @@ function bo(A, e) {
8218
8210
  quality: t
8219
8211
  });
8220
8212
  }
8221
- class Fl {
8213
+ class _l {
8222
8214
  constructor() {
8223
8215
  this.plugins = [], this.options = {}, this.pending = [], this.buffers = [], this.byteOffset = 0, this.buffers = [], this.nodeMap = /* @__PURE__ */ new Map(), this.skins = [], this.extensionsUsed = {}, this.extensionsRequired = {}, this.uids = /* @__PURE__ */ new Map(), this.uid = 0, this.json = {
8224
8216
  asset: {
@@ -8260,11 +8252,11 @@ class Fl {
8260
8252
  const g = new FileReader();
8261
8253
  g.readAsArrayBuffer(c), g.onloadend = function() {
8262
8254
  const d = Ps(g.result), f = new DataView(new ArrayBuffer(mo));
8263
- f.setUint32(0, d.byteLength, !0), f.setUint32(4, Dl, !0);
8264
- const I = Ps(Rl(JSON.stringify(o)), 32), m = new DataView(new ArrayBuffer(mo));
8265
- m.setUint32(0, I.byteLength, !0), m.setUint32(4, vl, !0);
8255
+ f.setUint32(0, d.byteLength, !0), f.setUint32(4, Tl, !0);
8256
+ const I = Ps(vl(JSON.stringify(o)), 32), m = new DataView(new ArrayBuffer(mo));
8257
+ m.setUint32(0, I.byteLength, !0), m.setUint32(4, Sl, !0);
8266
8258
  const C = new ArrayBuffer(Io), w = new DataView(C);
8267
- w.setUint32(0, Sl, !0), w.setUint32(4, Tl, !0);
8259
+ w.setUint32(0, Ql, !0), w.setUint32(4, xl, !0);
8268
8260
  const b = Io + m.byteLength + I.byteLength + f.byteLength + d.byteLength;
8269
8261
  w.setUint32(8, b, !0);
8270
8262
  const B = new Blob([
@@ -8503,7 +8495,7 @@ class Fl {
8503
8495
  else
8504
8496
  throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: " + e.array.constructor.name);
8505
8497
  if (s === void 0 && (s = 0), (n === void 0 || n === 1 / 0) && (n = e.count), n === 0) return null;
8506
- const a = Ml(e, s, n);
8498
+ const a = Rl(e, s, n);
8507
8499
  let c;
8508
8500
  t !== void 0 && (c = e === t.index ? Ae.ELEMENT_ARRAY_BUFFER : Ae.ARRAY_BUFFER);
8509
8501
  const l = this.processBufferView(e, r, s, n, c), h = {
@@ -8903,7 +8895,7 @@ class Fl {
8903
8895
  const a = e.quaternion.toArray(), c = e.position.toArray(), l = e.scale.toArray();
8904
8896
  Nn(a, [0, 0, 0, 1]) || (o.rotation = a), Nn(c, [0, 0, 0]) || (o.translation = c), Nn(l, [1, 1, 1]) || (o.scale = l);
8905
8897
  } else
8906
- e.matrixAutoUpdate && e.updateMatrix(), _l(e.matrix) === !1 && (o.matrix = e.matrix.elements);
8898
+ e.matrixAutoUpdate && e.updateMatrix(), Dl(e.matrix) === !1 && (o.matrix = e.matrix.elements);
8907
8899
  if (e.name !== "" && (o.name = String(e.name)), this.serializeUserData(e, o), e.isMesh || e.isLine || e.isPoints) {
8908
8900
  const a = this.processMesh(e);
8909
8901
  a !== null && (o.mesh = a);
@@ -8980,7 +8972,7 @@ class Fl {
8980
8972
  e(this.plugins[t]);
8981
8973
  }
8982
8974
  }
8983
- class kl {
8975
+ class Ml {
8984
8976
  constructor(e) {
8985
8977
  this.writer = e, this.name = "KHR_lights_punctual";
8986
8978
  }
@@ -8996,7 +8988,7 @@ class kl {
8996
8988
  r.push(o), t.extensions = t.extensions || {}, t.extensions[this.name] = { light: r.length - 1 };
8997
8989
  }
8998
8990
  }
8999
- class Ll {
8991
+ class Fl {
9000
8992
  constructor(e) {
9001
8993
  this.writer = e, this.name = "KHR_materials_unlit";
9002
8994
  }
@@ -9006,7 +8998,7 @@ class Ll {
9006
8998
  t.extensions = t.extensions || {}, t.extensions[this.name] = {}, n[this.name] = !0, t.pbrMetallicRoughness.metallicFactor = 0, t.pbrMetallicRoughness.roughnessFactor = 0.9;
9007
8999
  }
9008
9000
  }
9009
- class Nl {
9001
+ class kl {
9010
9002
  constructor(e) {
9011
9003
  this.writer = e, this.name = "KHR_materials_clearcoat";
9012
9004
  }
@@ -9037,7 +9029,7 @@ class Nl {
9037
9029
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9038
9030
  }
9039
9031
  }
9040
- class Ul {
9032
+ class Ll {
9041
9033
  constructor(e) {
9042
9034
  this.writer = e, this.name = "KHR_materials_dispersion";
9043
9035
  }
@@ -9047,7 +9039,7 @@ class Ul {
9047
9039
  i.dispersion = e.dispersion, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9048
9040
  }
9049
9041
  }
9050
- class Gl {
9042
+ class Nl {
9051
9043
  constructor(e) {
9052
9044
  this.writer = e, this.name = "KHR_materials_iridescence";
9053
9045
  }
@@ -9071,7 +9063,7 @@ class Gl {
9071
9063
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9072
9064
  }
9073
9065
  }
9074
- class Pl {
9066
+ class Ul {
9075
9067
  constructor(e) {
9076
9068
  this.writer = e, this.name = "KHR_materials_transmission";
9077
9069
  }
@@ -9088,7 +9080,7 @@ class Pl {
9088
9080
  t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9089
9081
  }
9090
9082
  }
9091
- class Ol {
9083
+ class Gl {
9092
9084
  constructor(e) {
9093
9085
  this.writer = e, this.name = "KHR_materials_volume";
9094
9086
  }
@@ -9105,7 +9097,7 @@ class Ol {
9105
9097
  e.attenuationDistance !== 1 / 0 && (i.attenuationDistance = e.attenuationDistance), i.attenuationColor = e.attenuationColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9106
9098
  }
9107
9099
  }
9108
- class Hl {
9100
+ class Pl {
9109
9101
  constructor(e) {
9110
9102
  this.writer = e, this.name = "KHR_materials_ior";
9111
9103
  }
@@ -9115,12 +9107,12 @@ class Hl {
9115
9107
  i.ior = e.ior, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9116
9108
  }
9117
9109
  }
9118
- class jl {
9110
+ class Ol {
9119
9111
  constructor(e) {
9120
9112
  this.writer = e, this.name = "KHR_materials_specular";
9121
9113
  }
9122
9114
  writeMaterial(e, t) {
9123
- if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(xl) && !e.specularIntensityMap && !e.specularColorMap) return;
9115
+ if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(yl) && !e.specularIntensityMap && !e.specularColorMap) return;
9124
9116
  const s = this.writer, n = s.extensionsUsed, i = {};
9125
9117
  if (e.specularIntensityMap) {
9126
9118
  const o = {
@@ -9139,7 +9131,7 @@ class jl {
9139
9131
  i.specularFactor = e.specularIntensity, i.specularColorFactor = e.specularColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9140
9132
  }
9141
9133
  }
9142
- class ql {
9134
+ class Hl {
9143
9135
  constructor(e) {
9144
9136
  this.writer = e, this.name = "KHR_materials_sheen";
9145
9137
  }
@@ -9163,7 +9155,7 @@ class ql {
9163
9155
  i.sheenRoughnessFactor = e.sheenRoughness, i.sheenColorFactor = e.sheenColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9164
9156
  }
9165
9157
  }
9166
- class zl {
9158
+ class jl {
9167
9159
  constructor(e) {
9168
9160
  this.writer = e, this.name = "KHR_materials_anisotropy";
9169
9161
  }
@@ -9177,7 +9169,7 @@ class zl {
9177
9169
  i.anisotropyStrength = e.anisotropy, i.anisotropyRotation = e.anisotropyRotation, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9178
9170
  }
9179
9171
  }
9180
- class Yl {
9172
+ class ql {
9181
9173
  constructor(e) {
9182
9174
  this.writer = e, this.name = "KHR_materials_emissive_strength";
9183
9175
  }
@@ -9187,7 +9179,7 @@ class Yl {
9187
9179
  i.emissiveStrength = e.emissiveIntensity, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9188
9180
  }
9189
9181
  }
9190
- class Kl {
9182
+ class zl {
9191
9183
  constructor(e) {
9192
9184
  this.writer = e, this.name = "EXT_materials_bump";
9193
9185
  }
@@ -9204,7 +9196,7 @@ class Kl {
9204
9196
  i.bumpFactor = e.bumpScale, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
9205
9197
  }
9206
9198
  }
9207
- class Jl {
9199
+ class Yl {
9208
9200
  constructor(e) {
9209
9201
  this.writer = e, this.name = "EXT_mesh_gpu_instancing";
9210
9202
  }
@@ -9317,17 +9309,17 @@ async function kr(A) {
9317
9309
  return e.json();
9318
9310
  throw new Error(e.statusText);
9319
9311
  }
9320
- async function Vl(A) {
9312
+ async function Kl(A) {
9321
9313
  if (!A)
9322
9314
  throw new Error("No basePath supplied");
9323
9315
  return await kr(`${A}/profilesList.json`);
9324
9316
  }
9325
- async function Wl(A, e, t = null, s = !0) {
9317
+ async function Jl(A, e, t = null, s = !0) {
9326
9318
  if (!A)
9327
9319
  throw new Error("No xrInputSource supplied");
9328
9320
  if (!e)
9329
9321
  throw new Error("No basePath supplied");
9330
- const n = await Vl(e);
9322
+ const n = await Kl(e);
9331
9323
  let i;
9332
9324
  if (A.profiles.some((a) => {
9333
9325
  const c = n[a];
@@ -9360,13 +9352,13 @@ async function Wl(A, e, t = null, s = !0) {
9360
9352
  }
9361
9353
  return { profile: o, assetPath: r };
9362
9354
  }
9363
- const Xl = {
9355
+ const Vl = {
9364
9356
  xAxis: 0,
9365
9357
  yAxis: 0,
9366
9358
  button: 0,
9367
9359
  state: ve.ComponentState.DEFAULT
9368
9360
  };
9369
- function Zl(A = 0, e = 0) {
9361
+ function Wl(A = 0, e = 0) {
9370
9362
  let t = A, s = e;
9371
9363
  if (Math.sqrt(A * A + e * e) > 1) {
9372
9364
  const o = Math.atan2(e, A);
@@ -9377,9 +9369,9 @@ function Zl(A = 0, e = 0) {
9377
9369
  normalizedYAxis: s * 0.5 + 0.5
9378
9370
  };
9379
9371
  }
9380
- class $l {
9372
+ class Xl {
9381
9373
  constructor(e) {
9382
- this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Xl);
9374
+ this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Vl);
9383
9375
  }
9384
9376
  /**
9385
9377
  * Computes the visual response's interpolation weight based on component state
@@ -9395,7 +9387,7 @@ class $l {
9395
9387
  button: s,
9396
9388
  state: n
9397
9389
  }) {
9398
- const { normalizedXAxis: i, normalizedYAxis: o } = Zl(e, t);
9390
+ const { normalizedXAxis: i, normalizedYAxis: o } = Wl(e, t);
9399
9391
  switch (this.componentProperty) {
9400
9392
  case ve.ComponentProperty.X_AXIS:
9401
9393
  this.value = this.states.includes(n) ? i : 0.5;
@@ -9414,7 +9406,7 @@ class $l {
9414
9406
  }
9415
9407
  }
9416
9408
  }
9417
- class eh {
9409
+ class Zl {
9418
9410
  /**
9419
9411
  * @param {Object} componentId - Id of the component
9420
9412
  * @param {Object} componentDescription - Description of the component to be created
@@ -9423,7 +9415,7 @@ class eh {
9423
9415
  if (!e || !t || !t.visualResponses || !t.gamepadIndices || Object.keys(t.gamepadIndices).length === 0)
9424
9416
  throw new Error("Invalid arguments supplied");
9425
9417
  this.id = e, this.type = t.type, this.rootNodeName = t.rootNodeName, this.touchPointNodeName = t.touchPointNodeName, this.visualResponses = {}, Object.keys(t.visualResponses).forEach((s) => {
9426
- const n = new $l(t.visualResponses[s]);
9418
+ const n = new Xl(t.visualResponses[s]);
9427
9419
  this.visualResponses[s] = n;
9428
9420
  }), this.gamepadIndices = Object.assign({}, t.gamepadIndices), this.values = {
9429
9421
  state: ve.ComponentState.DEFAULT,
@@ -9449,7 +9441,7 @@ class eh {
9449
9441
  });
9450
9442
  }
9451
9443
  }
9452
- class th {
9444
+ class $l {
9453
9445
  /**
9454
9446
  * @param {Object} xrInputSource - The XRInputSource to build the MotionController around
9455
9447
  * @param {Object} profile - The best matched profile description for the supplied xrInputSource
@@ -9462,7 +9454,7 @@ class th {
9462
9454
  throw new Error("No profile supplied");
9463
9455
  this.xrInputSource = e, this.assetUrl = s, this.id = t.profileId, this.layoutDescription = t.layouts[e.handedness], this.components = {}, Object.keys(this.layoutDescription.components).forEach((n) => {
9464
9456
  const i = this.layoutDescription.components[n];
9465
- this.components[n] = new eh(n, i);
9457
+ this.components[n] = new Zl(n, i);
9466
9458
  }), this.updateFromGamepad();
9467
9459
  }
9468
9460
  get gripSpace() {
@@ -9489,8 +9481,8 @@ class th {
9489
9481
  });
9490
9482
  }
9491
9483
  }
9492
- const nh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", sh = "generic-trigger";
9493
- class ih extends xt {
9484
+ const eh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", th = "generic-trigger";
9485
+ class nh extends xt {
9494
9486
  constructor() {
9495
9487
  super(), this.motionController = null, this.envMap = null;
9496
9488
  }
@@ -9520,7 +9512,7 @@ class ih extends xt {
9520
9512
  }));
9521
9513
  }
9522
9514
  }
9523
- function oh(A, e) {
9515
+ function sh(A, e) {
9524
9516
  Object.values(A.components).forEach((t) => {
9525
9517
  const { type: s, touchPointNodeName: n, visualResponses: i } = t;
9526
9518
  if (s === ve.ComponentType.TOUCHPAD)
@@ -9546,26 +9538,26 @@ function oh(A, e) {
9546
9538
  });
9547
9539
  }
9548
9540
  function Co(A, e) {
9549
- oh(A.motionController, e), A.envMap && e.traverse((t) => {
9541
+ sh(A.motionController, e), A.envMap && e.traverse((t) => {
9550
9542
  t.isMesh && (t.material.envMap = A.envMap, t.material.needsUpdate = !0);
9551
9543
  }), A.layers.mask != 0 && e.traverse((t) => {
9552
9544
  t.layers.mask = A.layers.mask;
9553
9545
  }), A.add(e);
9554
9546
  }
9555
- class zh {
9547
+ class jh {
9556
9548
  constructor(e = null, t = null) {
9557
- this.gltfLoader = e, this.path = nh, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new Zo());
9549
+ this.gltfLoader = e, this.path = eh, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new Zo());
9558
9550
  }
9559
9551
  setPath(e) {
9560
9552
  return this.path = e, this;
9561
9553
  }
9562
9554
  createControllerModel(e) {
9563
- const t = new ih();
9555
+ const t = new nh();
9564
9556
  let s = null;
9565
9557
  return e.addEventListener("connected", (n) => {
9566
9558
  const i = n.data;
9567
- i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || Wl(i, this.path, sh).then(({ profile: o, assetPath: r }) => {
9568
- t.motionController = new th(
9559
+ i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || Jl(i, this.path, th).then(({ profile: o, assetPath: r }) => {
9560
+ t.motionController = new $l(
9569
9561
  i,
9570
9562
  o,
9571
9563
  r
@@ -9595,10 +9587,10 @@ class zh {
9595
9587
  }), t;
9596
9588
  }
9597
9589
  }
9598
- const rh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
9599
- class Yh {
9590
+ const ih = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
9591
+ class qh {
9600
9592
  constructor(e, t, s, n, i = null, o = null) {
9601
- this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s || rh)), i.load(`${n}.glb`, (r) => {
9593
+ this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s || ih)), i.load(`${n}.glb`, (r) => {
9602
9594
  const a = r.scene.children[0];
9603
9595
  this.handModel.add(a), a.layers.mask = this.handModel.layers.mask;
9604
9596
  const c = a.getObjectByProperty("type", "SkinnedMesh");
@@ -10185,7 +10177,7 @@ let yt, sn;
10185
10177
  function xo(A, e, t) {
10186
10178
  return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = sn / t.width, Bt.y = sn / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
10187
10179
  }
10188
- function ah(A, e) {
10180
+ function oh(A, e) {
10189
10181
  const t = A.matrixWorld, s = A.geometry, n = s.attributes.instanceStart, i = s.attributes.instanceEnd, o = Math.min(s.instanceCount, n.count);
10190
10182
  for (let r = 0, a = o; r < a; r++) {
10191
10183
  Pe.start.fromBufferAttribute(n, r), Pe.end.fromBufferAttribute(i, r), Pe.applyMatrix4(t);
@@ -10202,7 +10194,7 @@ function ah(A, e) {
10202
10194
  });
10203
10195
  }
10204
10196
  }
10205
- function Ah(A, e, t) {
10197
+ function rh(A, e, t) {
10206
10198
  const s = e.projectionMatrix, i = A.material.resolution, o = A.matrixWorld, r = A.geometry, a = r.attributes.instanceStart, c = r.attributes.instanceEnd, l = Math.min(r.instanceCount, a.count), h = -e.near;
10207
10199
  yt.at(1, Ct), Ct.w = 1, Ct.applyMatrix4(e.matrixWorldInverse), Ct.applyMatrix4(s), Ct.multiplyScalar(1 / Ct.w), Ct.x *= i.x / 2, Ct.y *= i.y / 2, Ct.z = 0, Hs.copy(Ct), js.multiplyMatrices(e.matrixWorldInverse, o);
10208
10200
  for (let g = 0, d = l; g < d; g++) {
@@ -10235,7 +10227,7 @@ function Ah(A, e, t) {
10235
10227
  }
10236
10228
  }
10237
10229
  }
10238
- class ch extends q {
10230
+ class ah extends q {
10239
10231
  constructor(e = new Lr(), t = new Nr({ color: Math.random() * 16777215 })) {
10240
10232
  super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
10241
10233
  }
@@ -10271,14 +10263,14 @@ class ch extends q {
10271
10263
  const h = Math.max(n.near, ns.distanceToPoint(yt.origin));
10272
10264
  l = xo(n, h, a.resolution);
10273
10265
  }
10274
- ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? ah(this, t) : Ah(this, n, t));
10266
+ ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? oh(this, t) : rh(this, n, t));
10275
10267
  }
10276
10268
  onBeforeRender(e) {
10277
10269
  const t = this.material.uniforms;
10278
10270
  t && t.resolution && (e.getViewport(Os), this.material.uniforms.resolution.value.set(Os.z, Os.w));
10279
10271
  }
10280
10272
  }
10281
- class lh extends Lr {
10273
+ class Ah extends Lr {
10282
10274
  constructor() {
10283
10275
  super(), this.isLineGeometry = !0, this.type = "LineGeometry";
10284
10276
  }
@@ -10299,14 +10291,14 @@ class lh extends Lr {
10299
10291
  return this.setPositions(t.attributes.position.array), this;
10300
10292
  }
10301
10293
  }
10302
- class Kh extends ch {
10303
- constructor(e = new lh(), t = new Nr({ color: Math.random() * 16777215 })) {
10294
+ class zh extends ah {
10295
+ constructor(e = new Ah(), t = new Nr({ color: Math.random() * 16777215 })) {
10304
10296
  super(e, t), this.isLine2 = !0, this.type = "Line2";
10305
10297
  }
10306
10298
  }
10307
- class Jh extends q {
10299
+ class Yh extends q {
10308
10300
  constructor(e) {
10309
- const t = new hh(e), s = new Ci(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10301
+ const t = new ch(e), s = new Ci(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10310
10302
  super(s, n);
10311
10303
  function i(o) {
10312
10304
  n.map.dispatchDOMEvent(o);
@@ -10316,7 +10308,7 @@ class Jh extends q {
10316
10308
  };
10317
10309
  }
10318
10310
  }
10319
- class hh extends Wo {
10311
+ class ch extends Wo {
10320
10312
  constructor(e) {
10321
10313
  super(So(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = ge, this.minFilter = rt, this.magFilter = rt;
10322
10314
  const t = new MutationObserver(() => {
@@ -10325,7 +10317,7 @@ class hh extends Wo {
10325
10317
  t.observe(e, s), this.observer = t;
10326
10318
  }
10327
10319
  dispatchDOMEvent(e) {
10328
- e.data && uh(this.dom, e.type, e.data.x, e.data.y);
10320
+ e.data && lh(this.dom, e.type, e.data.x, e.data.y);
10329
10321
  }
10330
10322
  update() {
10331
10323
  this.image = So(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
@@ -10437,7 +10429,7 @@ function So(A) {
10437
10429
  ), h = new s(l);
10438
10430
  return l.clearRect(0, 0, c.width, c.height), r(A), c;
10439
10431
  }
10440
- function uh(A, e, t, s) {
10432
+ function lh(A, e, t, s) {
10441
10433
  const n = {
10442
10434
  clientX: t * A.offsetWidth + A.offsetLeft,
10443
10435
  clientY: s * A.offsetHeight + A.offsetTop,
@@ -10460,7 +10452,7 @@ function uh(A, e, t, s) {
10460
10452
  o(A);
10461
10453
  }
10462
10454
  const As = new Le(), un = { type: "", data: As }, To = new bi();
10463
- class Vh extends nn {
10455
+ class Kh extends nn {
10464
10456
  listenToPointerEvents(e, t) {
10465
10457
  const s = this, n = new bi(), i = e.domElement;
10466
10458
  function o(r) {
@@ -10495,7 +10487,7 @@ class Vh extends nn {
10495
10487
  }
10496
10488
  }
10497
10489
  const Dn = new P(), Rn = new P(), vo = new Jo();
10498
- class Wh extends hs {
10490
+ class Jh extends hs {
10499
10491
  constructor(e, t = 1, s = 16711680) {
10500
10492
  const n = new ut(), i = e.geometry.attributes.normal.count, o = new Fe(i * 2 * 3, 3);
10501
10493
  n.setAttribute("position", o), super(n, new Ft({ color: s, toneMapped: !1 })), this.object = e, this.size = t, this.type = "VertexNormalsHelper", this.matrixAutoUpdate = !1, this.update();
@@ -10515,7 +10507,7 @@ class Wh extends hs {
10515
10507
  this.geometry.dispose(), this.material.dispose();
10516
10508
  }
10517
10509
  }
10518
- class Xh {
10510
+ class Vh {
10519
10511
  constructor() {
10520
10512
  this.isPass = !0, this.enabled = !0, this.needsSwap = !0, this.clear = !1, this.renderToScreen = !1;
10521
10513
  }
@@ -10528,46 +10520,44 @@ class Xh {
10528
10520
  }
10529
10521
  }
10530
10522
  new No(-1, 1, 1, -1, 0, 1);
10531
- class gh extends ut {
10523
+ class hh extends ut {
10532
10524
  constructor() {
10533
10525
  super(), this.setAttribute("position", new Fe([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new Fe([0, 2, 0, 0, 2, 0], 2));
10534
10526
  }
10535
10527
  }
10536
- new gh();
10528
+ new hh();
10537
10529
  export {
10538
- Rh as DRACOLoader,
10539
- Uc as EXRLoader,
10540
- Lh as EXRLoader$1,
10541
- Uh as FBXLoader,
10530
+ vh as DRACOLoader,
10531
+ Fh as EXRLoader,
10532
+ Lh as FBXLoader,
10542
10533
  lc as Font,
10543
- Mh as FontLoader,
10534
+ Rh as FontLoader,
10544
10535
  Mr as GLTFExporter,
10545
10536
  Zo as GLTFLoader,
10546
- ph as GroundedSkybox,
10547
- Jh as HTMLMesh,
10548
- jh as HorizontalBlurShader,
10549
- Vh as InteractiveGroup,
10537
+ gh as GroundedSkybox,
10538
+ Yh as HTMLMesh,
10539
+ Oh as HorizontalBlurShader,
10540
+ Kh as InteractiveGroup,
10550
10541
  ft as KTX2Loader,
10551
- Kh as Line2,
10552
- lh as LineGeometry,
10542
+ zh as Line2,
10543
+ Ah as LineGeometry,
10553
10544
  Nr as LineMaterial,
10554
- Dh as MeshoptDecoder,
10555
- Gh as OBJLoader,
10556
- Ph as OrbitControls,
10557
- Xh as Pass,
10558
- Hh as PositionalAudioHelper,
10559
- Gc as RGBELoader,
10560
- Nh as RGBELoader$1,
10545
+ Th as MeshoptDecoder,
10546
+ Nh as OBJLoader,
10547
+ Uh as OrbitControls,
10548
+ Vh as Pass,
10549
+ Ph as PositionalAudioHelper,
10550
+ kh as RGBELoader,
10561
10551
  rs as Stats,
10562
- _h as TextGeometry,
10563
- Fh as TransformControls,
10552
+ Dh as TextGeometry,
10553
+ _h as TransformControls,
10564
10554
  Ec as TransformControlsGizmo,
10565
- Wh as VertexNormalsHelper,
10566
- qh as VerticalBlurShader,
10567
- zh as XRControllerModelFactory,
10568
- Yh as XRHandMeshModel,
10569
- fh as mergeVertices,
10555
+ Jh as VertexNormalsHelper,
10556
+ Hh as VerticalBlurShader,
10557
+ jh as XRControllerModelFactory,
10558
+ qh as XRHandMeshModel,
10559
+ dh as mergeVertices,
10570
10560
  nt as nodeFrame,
10571
10561
  io as strToU8,
10572
- kh as zipSync
10562
+ Mh as zipSync
10573
10563
  };