@needle-tools/engine 4.14.0-beta → 4.14.0-next.b2e3b1a

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 (42) hide show
  1. package/dist/{needle-engine.bundle-Cb5bKEqa.umd.cjs → needle-engine.bundle-BC1QDiuv.umd.cjs} +51 -51
  2. package/dist/{needle-engine.bundle-BW2VusZV.min.js → needle-engine.bundle-Bhgt3W8p.min.js} +53 -53
  3. package/dist/{needle-engine.bundle-D9VPvp5o.js → needle-engine.bundle-CeQXs7Hh.js} +542 -518
  4. package/dist/needle-engine.d.ts +13 -1
  5. package/dist/needle-engine.js +2 -2
  6. package/dist/needle-engine.min.js +1 -1
  7. package/dist/needle-engine.umd.cjs +1 -1
  8. package/dist/{postprocessing-CctM1XIO.min.js → postprocessing-06AXuvdv.min.js} +2 -2
  9. package/dist/{postprocessing-DGm6qJ-I.js → postprocessing-CI2x8Cln.js} +2 -2
  10. package/dist/{postprocessing-Dbl2PJpd.umd.cjs → postprocessing-CPDcA21P.umd.cjs} +2 -2
  11. package/lib/engine/api.d.ts +1 -1
  12. package/lib/engine/api.js +1 -1
  13. package/lib/engine/api.js.map +1 -1
  14. package/lib/engine/engine_components.d.ts +1 -1
  15. package/lib/engine/engine_components.js +7 -3
  16. package/lib/engine/engine_components.js.map +1 -1
  17. package/lib/engine/engine_context.d.ts +12 -0
  18. package/lib/engine/engine_context.js +29 -0
  19. package/lib/engine/engine_context.js.map +1 -1
  20. package/lib/engine/engine_gltf_builtin_components.js +16 -1
  21. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  22. package/lib/engine/engine_materialpropertyblock.d.ts +1 -1
  23. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  24. package/lib/engine-components/GroundProjection.js.map +1 -1
  25. package/lib/engine-components/ReflectionProbe.js +1 -1
  26. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  27. package/lib/engine-components/RendererLightmap.js +1 -1
  28. package/lib/engine-components/RendererLightmap.js.map +1 -1
  29. package/lib/engine-components/SeeThrough.js +1 -1
  30. package/lib/engine-components/SeeThrough.js.map +1 -1
  31. package/lib/engine-components/web/ViewBox.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/engine/api.ts +1 -1
  34. package/src/engine/engine_components.ts +7 -3
  35. package/src/engine/engine_context.ts +28 -2
  36. package/src/engine/engine_gltf_builtin_components.ts +17 -1
  37. package/src/engine/engine_materialpropertyblock.ts +1 -1
  38. package/src/engine-components/GroundProjection.ts +1 -1
  39. package/src/engine-components/ReflectionProbe.ts +1 -1
  40. package/src/engine-components/RendererLightmap.ts +1 -1
  41. package/src/engine-components/SeeThrough.ts +1 -1
  42. package/src/engine-components/web/ViewBox.ts +3 -3
@@ -1,9 +1,9 @@
1
- import { Vector2 as Z, Vector3 as _, Vector4 as ge, Quaternion as V, PlaneGeometry as Sn, WebGLRenderer as Br, PerspectiveCamera as ce, OrthographicCamera as uu, Scene as Mi, Mesh as H, Texture as xe, Uniform$1 as Gi, Color as re, ShaderMaterial as qn, Box3 as Pi, ShadowMaterial as lv, Euler as ct, MeshStandardMaterial as pt, Box3Helper as eS, GridHelper as cv, Object3D as M, Material as be, Matrix3 as hv, Matrix4 as ee, Layers as Co, Ray as Es, MathUtils as Cs, AxesHelper as ki, MeshBasicMaterial as Se, DoubleSide as Ri, BufferGeometry as _n, Group as Ps, CylinderGeometry as dv, SphereGeometry as fu, BoxGeometry as ja, SpriteMaterial as tS, Sprite as iS, Shape as nS, ExtrudeGeometry as sS, Fog as uv, DirectionalLight as zp, PointLight as Xm, TextureLoader as kr, EdgesGeometry as oS, LineSegments as fv, LineBasicMaterial as Qm, Line as Ba, BufferAttribute as mt, Raycaster as pu, Sphere as mu, ArrayCamera as rS, Plane as Or, SkinnedMesh as yo, InterleavedBufferAttribute as pv, Skeleton as aS, Bone as lS, WebGLCubeRenderTarget as cS, CubeCamera as hS, AnimationClip as Oi, FileLoader as Ym, PropertyBinding as Fa, KeyframeTrack as dS, LinearSRGBColorSpace as Ts, ShaderChunk as Zt, DataTexture as Km, RGBAFormat as gu, EquirectangularReflectionMapping as Hn, SRGBColorSpace as As, Clock as uS, NeutralToneMapping as Ua, AgXToneMapping as yu, ACESFilmicToneMapping as _u, NoToneMapping as Ed, PCFSoftShadowMap$1 as fS, BasicNodeLibrary as pS, WebGLRenderTarget as Xn, DepthTexture as mv, NearestFilter as Td, LoopRepeat as mS, LoopOnce as Np, AnimationMixer as Zm, CompressedTexture as gS, FrontSide as Po, Camera as yS, Frustum as By, AudioListener as _S, PositionalAudio as bS, AudioLoader as $p, EventDispatcher as Jm, BackSide as bu, MeshDepthMaterial as vS, CustomBlending as wS, MaxEquation as xS, AlwaysStencilFunc as SS, GreaterEqualStencilFunc as CS, NotEqualStencilFunc as PS, GreaterStencilFunc as kS, LessEqualStencilFunc as OS, EqualStencilFunc as MS, LessStencilFunc as RS, NeverStencilFunc as Fy, InvertStencilOp as ES, DecrementWrapStencilOp as TS, IncrementWrapStencilOp as AS, DecrementStencilOp as IS, IncrementStencilOp as LS, ReplaceStencilOp as DS, ZeroStencilOp as jS, KeepStencilOp as BS, CubeTexture as gv, AmbientLight as FS, HemisphereLight as US, Loader as zS, RawShaderMaterial as yv, GLSL3 as NS, AlwaysDepth as $S, GreaterEqualDepth as WS, GreaterDepth as VS, LessEqualDepth as HS, LessDepth as GS, NotEqualDepth as qS, EqualDepth as XS, BatchedMesh as Uy, LinearFilter as Ad, UnsignedByteType as QS, MeshPhysicalMaterial as zy, RingGeometry as YS, Line3 as KS, AdditiveBlending as _v, BoxHelper as ZS, SpotLight as JS, DirectionalLightHelper as eC, CameraHelper as tC, LOD as iC, Triangle as nC, NormalBlending as sC, ReinhardToneMapping as eg, LinearToneMapping as tg, HalfFloatType as Mf, VideoTexture as oC, CubeUVReflectionMapping as bv, CompressedCubeTexture as rC, EquirectangularRefractionMapping as aC, CatmullRomCurve3 as lC, VectorKeyframeTrack as cC, QuaternionKeyframeTrack as hC, Audio as dC, ShaderLib as Id, UniformsUtils as vv, MirroredRepeatWrapping as Ny, MeshNormalMaterial as uC, AudioContext as fC, PMREMGenerator$1 as pC } from "./three-Bvk2VKbF.js";
1
+ import { Vector2 as Z, Vector3 as _, Vector4 as ge, Quaternion as V, PlaneGeometry as Sn, WebGLRenderer as Fr, PerspectiveCamera as ce, OrthographicCamera as uu, Scene as Mi, Mesh as H, Texture as xe, Uniform$1 as Gi, Color as re, ShaderMaterial as qn, Box3 as Pi, ShadowMaterial as lv, Euler as ct, MeshStandardMaterial as pt, Box3Helper as eS, GridHelper as cv, Object3D as M, Material as be, Matrix3 as hv, Matrix4 as ee, Layers as Co, Ray as Es, MathUtils as Cs, AxesHelper as ki, MeshBasicMaterial as Se, DoubleSide as Ri, BufferGeometry as _n, Group as Ps, CylinderGeometry as dv, SphereGeometry as fu, BoxGeometry as Ba, SpriteMaterial as tS, Sprite as iS, Shape as nS, ExtrudeGeometry as sS, Fog as uv, DirectionalLight as zp, PointLight as Xm, TextureLoader as kr, EdgesGeometry as oS, LineSegments as fv, LineBasicMaterial as Qm, Line as Fa, BufferAttribute as mt, Raycaster as pu, Sphere as mu, ArrayCamera as rS, Plane as Or, SkinnedMesh as yo, InterleavedBufferAttribute as pv, Skeleton as aS, Bone as lS, WebGLCubeRenderTarget as cS, CubeCamera as hS, AnimationClip as Oi, FileLoader as Ym, PropertyBinding as Ua, KeyframeTrack as dS, LinearSRGBColorSpace as Ts, ShaderChunk as Zt, DataTexture as Km, RGBAFormat as gu, EquirectangularReflectionMapping as Hn, SRGBColorSpace as As, Clock as uS, NeutralToneMapping as za, AgXToneMapping as yu, ACESFilmicToneMapping as _u, NoToneMapping as Ed, PCFSoftShadowMap$1 as fS, BasicNodeLibrary as pS, WebGLRenderTarget as Xn, DepthTexture as mv, NearestFilter as Td, LoopRepeat as mS, LoopOnce as Np, AnimationMixer as Zm, CompressedTexture as gS, FrontSide as Po, Camera as yS, Frustum as By, AudioListener as _S, PositionalAudio as bS, AudioLoader as $p, EventDispatcher as Jm, BackSide as bu, MeshDepthMaterial as vS, CustomBlending as wS, MaxEquation as xS, AlwaysStencilFunc as SS, GreaterEqualStencilFunc as CS, NotEqualStencilFunc as PS, GreaterStencilFunc as kS, LessEqualStencilFunc as OS, EqualStencilFunc as MS, LessStencilFunc as RS, NeverStencilFunc as Fy, InvertStencilOp as ES, DecrementWrapStencilOp as TS, IncrementWrapStencilOp as AS, DecrementStencilOp as IS, IncrementStencilOp as LS, ReplaceStencilOp as DS, ZeroStencilOp as jS, KeepStencilOp as BS, CubeTexture as gv, AmbientLight as FS, HemisphereLight as US, Loader as zS, RawShaderMaterial as yv, GLSL3 as NS, AlwaysDepth as $S, GreaterEqualDepth as WS, GreaterDepth as VS, LessEqualDepth as HS, LessDepth as GS, NotEqualDepth as qS, EqualDepth as XS, BatchedMesh as Uy, LinearFilter as Ad, UnsignedByteType as QS, MeshPhysicalMaterial as zy, RingGeometry as YS, Line3 as KS, AdditiveBlending as _v, BoxHelper as ZS, SpotLight as JS, DirectionalLightHelper as eC, CameraHelper as tC, LOD as iC, Triangle as nC, NormalBlending as sC, ReinhardToneMapping as eg, LinearToneMapping as tg, HalfFloatType as Mf, VideoTexture as oC, CubeUVReflectionMapping as bv, CompressedCubeTexture as rC, EquirectangularRefractionMapping as aC, CatmullRomCurve3 as lC, VectorKeyframeTrack as cC, QuaternionKeyframeTrack as hC, Audio as dC, ShaderLib as Id, UniformsUtils as vv, MirroredRepeatWrapping as Ny, MeshNormalMaterial as uC, AudioContext as fC, PMREMGenerator$1 as pC } from "./three-Bvk2VKbF.js";
2
2
  import { createLoaders as ig, getRaycastMesh as wv, LODsManager as Ko, NEEDLE_progressive as We, addDracoAndKTX2Loaders as mC, configureLoader as gC, setKTX2TranscoderLocation as yC, setDracoDecoderLocation as _C } from "./gltf-progressive-Bm_6aEi4.js";
3
- import { GroundedSkybox as za, Font as bC, TextGeometry as vC, FontLoader as wC, GLTFLoader as Is, TransformControlsGizmo as xv, EXRLoader as ng, RGBELoader as Sv, Stats as xC, nodeFrame as $y, OrbitControls as Cv, PositionalAudioHelper as SC, HorizontalBlurShader as CC, VerticalBlurShader as PC, GLTFExporter as Pv, strToU8 as kv, zipSync as kC, XRControllerModelFactory as OC, XRHandMeshModel as MC, Line2 as RC, LineGeometry as EC, LineMaterial as TC, TransformControls as AC, InteractiveGroup as IC, HTMLMesh as LC, VertexNormalsHelper as DC, OBJLoader as sg, FBXLoader as Ov, mergeVertices as jC } from "./three-examples-CMYCd5nH.js";
3
+ import { GroundedSkybox as Na, Font as bC, TextGeometry as vC, FontLoader as wC, GLTFLoader as Is, TransformControlsGizmo as xv, EXRLoader as ng, RGBELoader as Sv, Stats as xC, nodeFrame as $y, OrbitControls as Cv, PositionalAudioHelper as SC, HorizontalBlurShader as CC, VerticalBlurShader as PC, GLTFExporter as Pv, strToU8 as kv, zipSync as kC, XRControllerModelFactory as OC, XRHandMeshModel as MC, Line2 as RC, LineGeometry as EC, LineMaterial as TC, TransformControls as AC, InteractiveGroup as IC, HTMLMesh as LC, VertexNormalsHelper as DC, OBJLoader as sg, FBXLoader as Ov, mergeVertices as jC } from "./three-examples-CMYCd5nH.js";
4
4
  import { fetchProfile as BC, MotionController as FC, $70d766613f57b014$export$2e2bcd8739ae039 as Wy, ByteBuffer as UC, v5 as Vy, md5 as Hy, SIZE_PREFIX_LENGTH as Mv, Builder as og, createNoise4D as zC, Matrix4 as Rf, BatchedParticleRenderer as NC, ParticleSystem as $C, RenderMode as ps, ConstantColor as WC, Vector4 as VC, ConstantValue as HC, TrailParticle as Gy, WorkerBase as GC, MeshBVH as qC } from "./vendor-ixwD-vv2.js";
5
5
  import { __webpack_exports__default as Pe, __webpack_exports__Text as Rv, __webpack_exports__Block as Ev, __webpack_exports__update as XC, SimpleStateBehavior as QC, __webpack_exports__Inline as Ef, __webpack_exports__FontLibrary as qy, ThreeMeshUI as Xy } from "./three-mesh-ui-BlakAItG.js";
6
- import { EffectAttribute as YC } from "./postprocessing-DGm6qJ-I.js";
6
+ import { EffectAttribute as YC } from "./postprocessing-CI2x8Cln.js";
7
7
  const Tf = /* @__PURE__ */ new Map();
8
8
  function Qi(s = globalThis.location?.hostname) {
9
9
  if (Tf.has(s)) return Tf.get(s);
@@ -222,9 +222,9 @@ function xu(s, e) {
222
222
  }
223
223
  const Ph = x("debugresolveurl"), i1 = "rel:";
224
224
  function rD(s, e) {
225
- return Fr(s, e);
225
+ return Ur(s, e);
226
226
  }
227
- function Fr(s, e) {
227
+ function Ur(s, e) {
228
228
  if (e === void 0)
229
229
  return Ph && console.warn("getPath: uri is undefined, returning uri", e), e;
230
230
  if (e.startsWith("./"))
@@ -324,22 +324,22 @@ class _o {
324
324
  this._watches.length = 0;
325
325
  }
326
326
  }
327
- const ca = /* @__PURE__ */ Symbol("needle:watches");
327
+ const ha = /* @__PURE__ */ Symbol("needle:watches");
328
328
  function rg(s, e) {
329
- if (!s[ca])
329
+ if (!s[ha])
330
330
  if (s instanceof Z)
331
- s[ca] = new _o(s, ["x", "y"]);
331
+ s[ha] = new _o(s, ["x", "y"]);
332
332
  else if (s instanceof _)
333
- s[ca] = new _o(s, ["x", "y", "z"]);
333
+ s[ha] = new _o(s, ["x", "y", "z"]);
334
334
  else if (s instanceof ge || s instanceof V)
335
- s[ca] = new _o(s, ["x", "y", "z", "w"]);
335
+ s[ha] = new _o(s, ["x", "y", "z", "w"]);
336
336
  else
337
337
  return !1;
338
- return s[ca].subscribeWrite(e), !0;
338
+ return s[ha].subscribeWrite(e), !0;
339
339
  }
340
340
  function Av(s, e) {
341
341
  if (!s) return;
342
- const t = s[ca];
342
+ const t = s[ha];
343
343
  t && t.unsubscribeWrite(e);
344
344
  }
345
345
  var D;
@@ -1028,7 +1028,7 @@ function Et(s, e) {
1028
1028
  const t = lg.get();
1029
1029
  return e !== t && t.copy(e), s.parent !== null && s.parent.worldToLocal(t), s.position.set(t.x, t.y, t.z), s;
1030
1030
  }
1031
- function Na(s, e, t, i) {
1031
+ function $a(s, e, t, i) {
1032
1032
  const n = lg.get();
1033
1033
  return n.set(e, t, i), Et(s, n), s;
1034
1034
  }
@@ -1158,7 +1158,7 @@ void main(){
1158
1158
  }
1159
1159
  class Mr {
1160
1160
  static planeGeometry = new Sn(2, 2, 1, 1);
1161
- static renderer = new Br({ antialias: !1, alpha: !0 });
1161
+ static renderer = new Fr({ antialias: !1, alpha: !0 });
1162
1162
  static perspectiveCam = new ce();
1163
1163
  static orthographicCam = new uu();
1164
1164
  static scene = new Mi();
@@ -1250,7 +1250,7 @@ function di(s, e = void 0, t = void 0, i = void 0) {
1250
1250
  function r(l) {
1251
1251
  let c = !0;
1252
1252
  if (l.visible && v1(l) !== !1 && !(l.type === "TransformControlsGizmo" || l.type === "TransformControlsPlane")) {
1253
- if (l instanceof eS && (c = !1), l instanceof cv && (c = !1), l instanceof za && (c = !1), l.isGizmo === !0 && (c = !1), l.material instanceof lv && (c = !1), F1(l) || (c = !1), t && l.layers.test(t) === !1 && (c = !1), c) {
1253
+ if (l instanceof eS && (c = !1), l instanceof cv && (c = !1), l instanceof Na && (c = !1), l.isGizmo === !0 && (c = !1), l.material instanceof lv && (c = !1), F1(l) || (c = !1), t && l.layers.test(t) === !1 && (c = !1), c) {
1254
1254
  if (e && Array.isArray(e) && e?.includes(l)) return;
1255
1255
  if (typeof e == "function" && e(l) === !0)
1256
1256
  return;
@@ -1965,12 +1965,12 @@ Ro('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUIL
1965
1965
  Ro('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
1966
1966
  Ro('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.14.0-beta";');
1967
1967
  Ro('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
1968
- Ro('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Thu Feb 19 2026 15:57:24 GMT+0000 (Coordinated Universal Time)";');
1968
+ Ro('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Feb 20 2026 11:17:34 GMT+0000 (Coordinated Universal Time)";');
1969
1969
  Ro('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
1970
- const Xi = "4.14.0-beta", Ec = "undefined", Fd = "Thu Feb 19 2026 15:57:24 GMT+0000 (Coordinated Universal Time)";
1970
+ const Xi = "4.14.0-beta", Ec = "undefined", Fd = "Fri Feb 20 2026 11:17:34 GMT+0000 (Coordinated Universal Time)";
1971
1971
  Jv && console.log(`Engine version: ${Xi} (generator: ${Ec})
1972
1972
  Project built at ${Fd}`);
1973
- const mr = NEEDLE_PUBLIC_KEY, bo = "needle_isActiveInHierarchy", ha = "builtin_components", hd = "needle_editor_guid";
1973
+ const mr = NEEDLE_PUBLIC_KEY, bo = "needle_isActiveInHierarchy", da = "builtin_components", hd = "needle_editor_guid";
1974
1974
  function Ro(s) {
1975
1975
  try {
1976
1976
  (0, eval)(s);
@@ -2080,31 +2080,31 @@ function n0(s, e, t, i, ...n) {
2080
2080
  for (const r of o)
2081
2081
  r.postfix?.call(t, i, ...n);
2082
2082
  }
2083
- const $a = [];
2083
+ const Wa = [];
2084
2084
  function ug(s) {
2085
- $a.indexOf(s) === -1 && $a.push(s);
2085
+ Wa.indexOf(s) === -1 && Wa.push(s);
2086
2086
  }
2087
2087
  function MD(s) {
2088
- const e = $a.indexOf(s);
2089
- e !== -1 && $a.splice(e, 1);
2088
+ const e = Wa.indexOf(s);
2089
+ e !== -1 && Wa.splice(e, 1);
2090
2090
  }
2091
- const Wa = [];
2091
+ const Va = [];
2092
2092
  function s0(s) {
2093
- Wa.indexOf(s) === -1 && Wa.push(s);
2093
+ Va.indexOf(s) === -1 && Va.push(s);
2094
2094
  }
2095
2095
  function RD(s) {
2096
- const e = Wa.indexOf(s);
2097
- e !== -1 && Wa.splice(e, 1);
2096
+ const e = Va.indexOf(s);
2097
+ e !== -1 && Va.splice(e, 1);
2098
2098
  }
2099
2099
  function vP(s) {
2100
2100
  globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start", { detail: s }));
2101
- for (let e = 0; e < $a.length; e++)
2102
- $a[e](s);
2101
+ for (let e = 0; e < Wa.length; e++)
2102
+ Wa[e](s);
2103
2103
  }
2104
2104
  function wP(s) {
2105
2105
  globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end", { detail: s }));
2106
- for (let e = 0; e < Wa.length; e++)
2107
- Wa[e](s);
2106
+ for (let e = 0; e < Va.length; e++)
2107
+ Va[e](s);
2108
2108
  }
2109
2109
  const Ge = x("debuginput");
2110
2110
  var fg = /* @__PURE__ */ ((s) => (s.Mouse = "mouse", s.Touch = "touch", s.Controller = "controller", s.Hand = "hand", s))(fg || {}), Be = /* @__PURE__ */ ((s) => (s.PointerDown = "pointerdown", s.PointerUp = "pointerup", s.PointerMove = "pointermove", s.KeyDown = "keydown", s.KeyUp = "keyup", s.KeyPressed = "keypress", s))(Be || {});
@@ -2878,7 +2878,7 @@ class xP {
2878
2878
  }
2879
2879
  }
2880
2880
  }
2881
- const Ca = new ee().makeRotationY(Math.PI), Vi = new V().setFromAxisAngle(new _(0, 1, 0), Math.PI), SP = x("debugwebxr");
2881
+ const Pa = new ee().makeRotationY(Math.PI), Vi = new V().setFromAxisAngle(new _(0, 1, 0), Math.PI), SP = x("debugwebxr");
2882
2882
  class CP {
2883
2883
  priority = -1e5;
2884
2884
  gameObject;
@@ -3209,13 +3209,13 @@ Layout: `;
3209
3209
  let i = null, n = null, o = null, r = null;
3210
3210
  if (t) {
3211
3211
  const h = t.transform;
3212
- this._rayMatrix.fromArray(h.matrix).premultiply(Ca), this._rayMatrix.decompose(this._rayPosition, this._rayQuaternion, z(1, 1, 1)), o = z(h.position), r = bi(h.orientation), this._rayPositionRaw.copy(o), this._rayRotationRaw.copy(r);
3212
+ this._rayMatrix.fromArray(h.matrix).premultiply(Pa), this._rayMatrix.decompose(this._rayPosition, this._rayQuaternion, z(1, 1, 1)), o = z(h.position), r = bi(h.orientation), this._rayPositionRaw.copy(o), this._rayRotationRaw.copy(r);
3213
3213
  }
3214
3214
  if (this.inputSource.gripSpace) {
3215
3215
  const h = e.getPose(this.inputSource.gripSpace, this.xr.referenceSpace);
3216
3216
  if (h) {
3217
3217
  const d = h.transform;
3218
- if (i = z(d.position), n = bi(d.orientation), this._gripMatrix.fromArray(d.matrix).premultiply(Ca), this._gripMatrix.decompose(this._gripPosition, this._gripQuaternion, z(1, 1, 1)), "linearVelocity" in h && h.linearVelocity) {
3218
+ if (i = z(d.position), n = bi(d.orientation), this._gripMatrix.fromArray(d.matrix).premultiply(Pa), this._gripMatrix.decompose(this._gripPosition, this._gripQuaternion, z(1, 1, 1)), "linearVelocity" in h && h.linearVelocity) {
3219
3219
  const f = h.linearVelocity;
3220
3220
  this._linearVelocity.set(f.x, f.y, f.z);
3221
3221
  }
@@ -3233,7 +3233,7 @@ Layout: `;
3233
3233
  }
3234
3234
  h || (this._object.position.copy(this._rayPosition), this._object.quaternion.copy(this._rayQuaternion).multiply(Vi));
3235
3235
  const p = a.get("middle-finger-metacarpal"), g = p && this.getHandJointPose(p, e);
3236
- g && (this._gripMatrix.fromArray(g.transform.matrix).premultiply(Ca), this._gripMatrix.decompose(this._gripPosition, this._gripQuaternion, z(1, 1, 1)), i = z().copy(g.transform.position), n = bi().copy(g.transform.orientation), n.multiply(OP), i.add(z(MP).applyQuaternion(n)));
3236
+ g && (this._gripMatrix.fromArray(g.transform.matrix).premultiply(Pa), this._gripMatrix.decompose(this._gripPosition, this._gripQuaternion, z(1, 1, 1)), i = z().copy(g.transform.position), n = bi().copy(g.transform.orientation), n.multiply(OP), i.add(z(MP).applyQuaternion(n)));
3237
3237
  } else this.inputSource.gripSpace && this.targetRayMode === "transient-pointer" && i && n ? (this._object.position.copy(i), this._object.quaternion.copy(n).multiply(Vi)) : o && r && (this._object.position.copy(o), this._object.quaternion.copy(r).multiply(Vi));
3238
3238
  as && (o && r && (this._raySpaceObject?.position.copy(o), this._raySpaceObject?.quaternion.copy(r).multiply(Vi)), i && n && (this._gripSpaceObject?.position.copy(i), this._gripSpaceObject?.quaternion.copy(n).multiply(Vi)));
3239
3239
  const l = this.xr.context.mainCamera?.parent, c = l ? ve(l) : void 0;
@@ -3526,18 +3526,18 @@ class m_ {
3526
3526
  var Kp = /* @__PURE__ */ ((s) => (s.Visible = "application-visible", s.Hidden = "application-hidden", s.MuteChanged = "application-mutechanged", s))(Kp || {});
3527
3527
  let Tc = !1;
3528
3528
  const gr = [];
3529
- function Ur() {
3529
+ function zr() {
3530
3530
  if (Tc) return;
3531
3531
  L() && console.debug("[Needle Engine] User input registered: Media playback is now allowed."), Tc = !0;
3532
3532
  const s = [...gr];
3533
3533
  gr.length = 0, s.forEach((e) => e());
3534
3534
  }
3535
- document.addEventListener("mousedown", Ur);
3536
- document.addEventListener("pointerup", Ur);
3537
- document.addEventListener("click", Ur);
3538
- document.addEventListener("dragstart", Ur);
3539
- document.addEventListener("touchend", Ur);
3540
- document.addEventListener("keydown", Ur);
3535
+ document.addEventListener("mousedown", zr);
3536
+ document.addEventListener("pointerup", zr);
3537
+ document.addEventListener("click", zr);
3538
+ document.addEventListener("dragstart", zr);
3539
+ document.addEventListener("touchend", zr);
3540
+ document.addEventListener("keydown", zr);
3541
3541
  typeof window < "u" && "userActivation" in navigator && navigator.userActivation?.isActive && (L() && console.debug("[Needle Engine] User input already active: Media playback is now allowed."), gr.length = 0, Tc = !0);
3542
3542
  class Kn extends EventTarget {
3543
3543
  static get userInteractionRegistered() {
@@ -3611,14 +3611,14 @@ class Kn extends EventTarget {
3611
3611
  }
3612
3612
  }
3613
3613
  }
3614
- const Pa = /* @__PURE__ */ new Map(), _a = /* @__PURE__ */ new Map();
3614
+ const ka = /* @__PURE__ */ new Map(), ba = /* @__PURE__ */ new Map();
3615
3615
  let g_ = 0;
3616
3616
  function Bs(s, e, t) {
3617
- if (Pa.has(e) || Pa.set(e, new Array()), Pa.get(e).push({
3617
+ if (ka.has(e) || ka.set(e, new Array()), ka.get(e).push({
3618
3618
  method: s,
3619
3619
  options: { once: !1, ...t }
3620
3620
  }), g_ < 30) {
3621
- const i = _a.get(e);
3621
+ const i = ba.get(e);
3622
3622
  i && i?.length > 100 && (g_ += 1, console.warn(`You have ${i.length} methods registered for Event ${e}.
3623
3623
 
3624
3624
  This might be a performance issue!
@@ -3632,7 +3632,7 @@ See https://engine.needle.tools/docs/scripting.html#special-lifecycle-hooks for
3632
3632
  }
3633
3633
  }
3634
3634
  function Eo(s, e) {
3635
- const t = _a.get(e);
3635
+ const t = ba.get(e);
3636
3636
  if (t) {
3637
3637
  for (let n = 0; n < t.length; n++)
3638
3638
  if (t[n].method === s) {
@@ -3640,7 +3640,7 @@ function Eo(s, e) {
3640
3640
  return;
3641
3641
  }
3642
3642
  }
3643
- const i = Pa.get(e);
3643
+ const i = ka.get(e);
3644
3644
  if (i) {
3645
3645
  for (let n = 0; n < i.length; n++)
3646
3646
  if (i[n].method === s) {
@@ -3653,13 +3653,13 @@ function En(s, e) {
3653
3653
  e === ue.ContextCreated && Zp.delete(s), r0(s, e);
3654
3654
  }
3655
3655
  function r0(s, e) {
3656
- e === Ce.Start && Pa.get(ue.ContextCreated) && r0(s, ue.ContextCreated);
3657
- const t = e === Ce.Start || e === ue.ContextCreated, i = _a.get(e);
3656
+ e === Ce.Start && ka.get(ue.ContextCreated) && r0(s, ue.ContextCreated);
3657
+ const t = e === Ce.Start || e === ue.ContextCreated, i = ba.get(e);
3658
3658
  i && i.length > 0 && __(s, i, t);
3659
- const n = Pa.get(e);
3659
+ const n = ka.get(e);
3660
3660
  if (n && n.length > 0) {
3661
3661
  const o = [...n];
3662
- n.length = 0, __(s, o, t), o.length > 0 && (_a.has(e) || _a.set(e, new Array()), _a.get(e).push(...o));
3662
+ n.length = 0, __(s, o, t), o.length > 0 && (ba.has(e) || ba.set(e, new Array()), ba.get(e).push(...o));
3663
3663
  }
3664
3664
  }
3665
3665
  const Rh = new Array(), y_ = {
@@ -4487,11 +4487,11 @@ class w_ {
4487
4487
  _transitionPromise = null;
4488
4488
  _transitionResolve = null;
4489
4489
  }
4490
- const UP = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 187.74"><defs><linearGradient id="a" x1="89.64" y1="184.81" x2="90.48" y2="21.85" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#62d399"/><stop offset=".51" stop-color="#acd842"/><stop offset=".9" stop-color="#d7db0a"/></linearGradient><linearGradient id="b" x1="69.68" y1="178.9" x2="68.08" y2="16.77" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0ba398"/><stop offset=".5" stop-color="#4ca352"/><stop offset="1" stop-color="#76a30a"/></linearGradient><linearGradient id="c" x1="36.6" y1="152.17" x2="34.7" y2="84.19" gradientUnits="userSpaceOnUse"><stop offset=".19" stop-color="#36a382"/><stop offset=".54" stop-color="#49a459"/><stop offset="1" stop-color="#76a30b"/></linearGradient><linearGradient id="d" x1="15.82" y1="153.24" x2="18" y2="90.86" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#267880"/><stop offset=".51" stop-color="#457a5c"/><stop offset="1" stop-color="#717516"/></linearGradient><linearGradient id="e" x1="135.08" y1="135.43" x2="148.93" y2="63.47" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b0d939"/><stop offset="1" stop-color="#eadb04"/></linearGradient><linearGradient id="f" x1="-4163.25" y1="2285.12" x2="-4160.81" y2="2215.34" gradientTransform="rotate(20 4088.49 13316.712)" gradientUnits="userSpaceOnUse"><stop offset=".17" stop-color="#74af52"/><stop offset=".48" stop-color="#99be32"/><stop offset="1" stop-color="#c0c40a"/></linearGradient><symbol id="g" viewBox="0 0 160 187.74"><path style="fill:url(#a)" d="M79.32 36.98v150.76L95 174.54l6.59-156.31-22.27 18.75z"/><path style="fill:url(#b)" d="M79.32 36.98 57.05 18.23l6.59 156.31 15.68 13.2V36.98z"/><path style="fill:url(#c)" d="m25.19 104.83 8.63 49.04 12.5-14.95-2.46-56.42-18.67 22.33z"/><path style="fill:url(#d)" d="M25.19 104.83 0 90.24l16.97 53.86 16.85 9.77-8.63-49.04z"/><path style="fill:#9c3" d="M43.86 82.5 18.69 67.98 0 90.24l25.18 14.59L43.86 82.5z"/><path style="fill:url(#e)" d="m134.82 78.69-9.97 56.5 15.58-9.04L160 64.1l-25.18 14.59z"/><path style="fill:url(#f)" d="m134.82 78.69-18.68-22.33-2.86 65 11.57 13.83 9.97-56.5z"/><path style="fill:#ffe113" d="m160 64.1-18.69-22.26-25.17 14.52 18.67 22.33L160 64.1z"/><path style="fill:#f3e600" d="M101.59 18.23 79.32 0 57.05 18.23l22.27 18.75 22.27-18.75z"/></symbol></defs><use width="160" height="187.74" xlink:href="#g"/></svg>', zP = btoa(UP), NP = "data:image/svg+xml;base64," + zP, Va = NP, $P = `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'> <svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" version="1.1" viewBox="0 0 1014 282" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m665.95 132.73v44.88l-10.56-8.4c-0.8-0.64-1.2-1.44-1.2-2.4v-32.4c0-6.48-4.12-9.72-12.36-9.72-2.16 0-4.18 0.4-6.06 1.2s-3.54 1.8-4.98 3-2.56 2.5-3.36 3.9-1.2 2.7-1.2 3.9v40.92l-10.68-8.4c-0.72-0.64-1.08-1.44-1.08-2.4v-53.76l10.92 8.52c0.32 0.24 0.56 0.44 0.72 0.6s0.36 0.32 0.6 0.48c0.96-1.2 2.14-2.28 3.54-3.24s2.92-1.76 4.56-2.4 3.34-1.14 5.1-1.5 3.44-0.54 5.04-0.54c1.44 0 2.92 0.04 4.44 0.12s2.84 0.28 3.96 0.6c4.56 1.12 7.8 3.12 9.72 6s2.88 6.56 2.88 11.04z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m732.38 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m795.93 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m858.57 97.21c0.64 0.48 0.96 1.16 0.96 2.04v74.88c-0.08 1.04-0.12 2.12-0.12 3.24-1.84-1.52-3.56-2.92-5.16-4.2-1.36-1.12-2.66-2.18-3.9-3.18s-2.06-1.66-2.46-1.98c-1.76 2.48-4.26 4.44-7.5 5.88s-7.02 2.16-11.34 2.16c-3.84 0-7.4-0.7-10.68-2.1s-6.14-3.44-8.58-6.12-4.34-5.94-5.7-9.78-2.04-8.16-2.04-12.96c0-4.32 0.78-8.34 2.34-12.06s3.6-6.92 6.12-9.6 5.38-4.78 8.58-6.3 6.48-2.28 9.84-2.28c2.56 0 4.82 0.22 6.78 0.66s3.68 1.06 5.16 1.86 2.78 1.74 3.9 2.82 2.16 2.22 3.12 3.42v-35.04l10.68 8.64zm-27.96 67.92c3.6 0 6.52-0.68 8.76-2.04s3.98-3.06 5.22-5.1 2.1-4.22 2.58-6.54 0.72-4.44 0.72-6.36v-1.2c0-1.12-0.22-2.7-0.66-4.74s-1.28-4.06-2.52-6.06-3-3.7-5.28-5.1-5.22-2.02-8.82-1.86c-3.44 0-6.26 0.74-8.46 2.22s-3.96 3.26-5.28 5.34-2.24 4.2-2.76 6.36-0.78 3.92-0.78 5.28c0 1.84 0.24 3.92 0.72 6.24s1.36 4.48 2.64 6.48 3.04 3.68 5.28 5.04 5.12 2.04 8.64 2.04z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m882.81 97.09c0.64 0.48 0.96 1.12 0.96 1.92l-0.12 41.04v37.08l-10.56-8.4c-0.72-0.64-1.08-1.44-1.08-2.4v-77.88l10.8 8.64z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m950.36 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.8559 0 0 .7642 45.348 36.475)"> <g transform="translate(2.7114)"> <path d="m3.935 173.02c-0.331 0-0.497-0.402-0.497-1.207v-51.002c0-0.738 0.138-1.107 0.414-1.107h1.781c0.277 0 0.415 0.335 0.415 1.006v5.935c0 0.336 0.027 0.553 0.083 0.654 0.055 0.101 0.151-0.017 0.289-0.352 0.912-1.744 1.754-3.236 2.527-4.477 0.773-1.24 1.554-2.179 2.341-2.816s1.65-0.956 2.588-0.956c1.685 0 3.011 0.922 3.977 2.766 0.967 1.845 1.602 3.84 1.905 5.986 0.056 0.268 0.139 0.369 0.249 0.302s0.221-0.235 0.331-0.503c0.939-1.811 1.802-3.353 2.589-4.628 0.787-1.274 1.581-2.246 2.382-2.917s1.671-1.006 2.61-1.006c2.016 0 3.569 1.392 4.66 4.175 1.09 2.783 1.636 6.421 1.636 10.915v37.925c0 0.871-0.18 1.307-0.539 1.307h-1.739c-0.138 0-0.249-0.1-0.332-0.301-0.083-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.338-6.321-1.015-8.3-0.676-1.978-1.76-2.967-3.251-2.967-0.884 0-1.726 0.386-2.527 1.157s-1.519 1.727-2.154 2.867-1.201 2.213-1.699 3.219c-0.248 0.469-0.421 0.905-0.517 1.308-0.097 0.402-0.145 0.972-0.145 1.71v37.221c0 0.871-0.166 1.307-0.497 1.307h-1.74c-0.166 0-0.29-0.1-0.373-0.301-0.083-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.332-6.321-0.994-8.3-0.663-1.978-1.754-2.967-3.273-2.967-1.242 0-2.375 0.704-3.396 2.112-1.022 1.409-2.223 3.555-3.604 6.439v39.031c0 0.805-0.18 1.207-0.539 1.207h-1.698z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m53.642 166.28c-1.077 2.549-2.237 4.477-3.479 5.785-1.243 1.307-2.61 1.961-4.101 1.961-2.154 0-3.853-1.324-5.095-3.973-1.243-2.649-1.864-6.187-1.864-10.613 0-3.488 0.4-6.489 1.201-9.004s1.988-4.51 3.562-5.985c1.574-1.476 3.521-2.414 5.841-2.817l3.686-0.704c0.221-0.067 0.394-0.218 0.518-0.453 0.124-0.234 0.187-0.587 0.187-1.056v-2.917c0-3.89-0.504-6.975-1.512-9.255s-2.354-3.42-4.039-3.42c-1.298 0-2.472 0.72-3.521 2.162s-2.002 3.572-2.858 6.388c-0.083 0.268-0.159 0.453-0.228 0.554-0.069 0.1-0.172 0.083-0.311-0.051l-1.698-1.71c-0.083-0.134-0.138-0.285-0.166-0.453-0.027-0.167 0.014-0.452 0.125-0.855 0.856-3.353 2.009-6.052 3.459-8.098 1.449-2.045 3.224-3.068 5.322-3.068 1.74 0 3.211 0.687 4.412 2.062s2.112 3.37 2.734 5.986c0.621 2.615 0.932 5.7 0.932 9.255v35.712c0 0.536-0.035 0.888-0.104 1.056s-0.2 0.251-0.393 0.251h-1.533c-0.166 0-0.29-0.117-0.373-0.352-0.083-0.234-0.124-0.553-0.124-0.955l-0.083-5.231c-0.055-0.939-0.221-1.006-0.497-0.202zm0.456-19.314c0-1.14-0.194-1.643-0.58-1.509l-3.107 0.603c-1.436 0.202-2.686 0.638-3.749 1.308-1.063 0.671-1.953 1.543-2.671 2.616s-1.257 2.33-1.616 3.772-0.538 3.102-0.538 4.98c0 3.152 0.455 5.616 1.367 7.393 0.911 1.778 2.14 2.666 3.686 2.666 0.939 0 1.85-0.419 2.734-1.257s1.671-1.895 2.361-3.169c0.663-1.408 1.181-2.85 1.553-4.326 0.373-1.475 0.56-2.883 0.56-4.225v-8.852z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m79.034 173.02c-0.166 0-0.297-0.117-0.394-0.352-0.096-0.234-0.145-0.553-0.145-0.955v-4.628c0-0.536-0.041-0.838-0.124-0.905s-0.207 0.1-0.373 0.503c-0.276 0.67-0.69 1.593-1.242 2.766-0.553 1.174-1.271 2.23-2.154 3.169-0.884 0.939-1.961 1.408-3.231 1.408-1.74 0-3.314-0.989-4.722-2.967-1.409-1.979-2.534-4.963-3.376-8.953-0.843-3.991-1.264-8.937-1.264-14.838 0-5.701 0.415-10.68 1.243-14.939s1.988-7.595 3.479-10.009c1.492-2.415 3.204-3.622 5.137-3.622 1.436 0 2.616 0.57 3.541 1.71 0.926 1.14 1.719 2.381 2.382 3.722 0.249 0.47 0.414 0.637 0.497 0.503s0.125-0.536 0.125-1.207v-23.841c0-0.805 0.151-1.208 0.455-1.208h1.864c0.276 0 0.414 0.369 0.414 1.107v72.128c0 0.537-0.041 0.905-0.124 1.107-0.083 0.201-0.235 0.301-0.455 0.301h-1.533zm-0.621-42.049c-0.939-2.213-1.885-3.94-2.838-5.181s-2.009-1.861-3.169-1.861c-1.463 0-2.768 0.889-3.914 2.666s-2.044 4.376-2.693 7.796-0.973 7.578-0.973 12.474c0 5.097 0.338 9.272 1.015 12.524 0.676 3.253 1.567 5.651 2.672 7.193 1.104 1.543 2.305 2.314 3.603 2.314 1.188 0 2.258-0.704 3.211-2.113 0.952-1.408 1.705-3.118 2.257-5.13s0.829-3.957 0.829-5.835v-24.847z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m89.514 149.38c0 3.42 0.345 6.606 1.035 9.557 0.691 2.951 1.609 5.315 2.755 7.092s2.437 2.666 3.873 2.666c1.519 0 2.837-0.738 3.956-2.213 1.118-1.476 2.064-3.655 2.837-6.539 0.083-0.336 0.166-0.52 0.249-0.554 0.083-0.033 0.179 0.017 0.29 0.151l1.408 1.912c0.221 0.268 0.235 0.67 0.041 1.207-0.69 2.548-1.47 4.661-2.34 6.337-0.87 1.677-1.857 2.935-2.962 3.773-1.104 0.838-2.319 1.257-3.645 1.257-2.043 0-3.838-1.14-5.385-3.42-1.546-2.28-2.761-5.482-3.645-9.607-0.884-4.124-1.325-8.836-1.325-14.134 0-5.901 0.455-10.931 1.367-15.089 0.911-4.158 2.14-7.377 3.686-9.658 1.547-2.28 3.3-3.42 5.261-3.42 1.988 0 3.714 1.073 5.178 3.219 1.463 2.146 2.595 5.231 3.396 9.255s1.201 8.886 1.201 14.587c0 0.469-0.02 0.939-0.062 1.408-0.041 0.469-0.214 0.704-0.517 0.704h-16.362c-0.083 0-0.152 0.151-0.207 0.453-0.056 0.302-0.083 0.654-0.083 1.056zm13.752-6.237c0.304 0 0.497-0.1 0.58-0.302 0.083-0.201 0.124-0.57 0.124-1.106 0-3.219-0.283-6.187-0.849-8.903s-1.367-4.896-2.402-6.539c-1.036-1.643-2.272-2.464-3.708-2.464-1.629 0-2.996 0.955-4.101 2.867-1.104 1.911-1.94 4.342-2.506 7.293s-0.849 6.002-0.849 9.154h13.711z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m148.54 119.7c0.165 0 0.283 0.117 0.352 0.352s0.076 0.52 0.02 0.855l-6.254 50.902c-0.028 0.47-0.104 0.788-0.228 0.956s-0.297 0.251-0.518 0.251h-1.615c-0.442 0-0.718-0.402-0.829-1.207l-5.26-40.138c-0.111-0.604-0.201-0.905-0.27-0.905s-0.131 0.301-0.186 0.905l-5.012 40.138c-0.028 0.47-0.097 0.788-0.207 0.956-0.111 0.168-0.277 0.251-0.497 0.251h-1.74c-0.442 0-0.718-0.402-0.829-1.207l-6.503-50.801c-0.055-0.403-0.048-0.721 0.021-0.956s0.2-0.352 0.393-0.352h1.823c0.166 0 0.297 0.067 0.393 0.201 0.097 0.134 0.159 0.403 0.187 0.805l5.302 41.848c0.083 0.671 0.179 0.989 0.29 0.956 0.11-0.034 0.207-0.386 0.29-1.056l5.219-41.949c0.055-0.268 0.124-0.47 0.207-0.604s0.193-0.201 0.331-0.201h1.533c0.138 0 0.262 0.067 0.373 0.201 0.11 0.134 0.179 0.403 0.207 0.805l5.468 41.848c0.083 0.671 0.179 0.989 0.29 0.956 0.11-0.034 0.207-0.386 0.29-1.056l5.053-41.849c0.055-0.335 0.138-0.57 0.249-0.704 0.11-0.134 0.234-0.201 0.373-0.201h1.284z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m156.49 171.51c0 0.604-0.042 1.006-0.125 1.208-0.082 0.201-0.262 0.301-0.538 0.301h-1.533c-0.221 0-0.366-0.083-0.435-0.251s-0.103-0.486-0.103-0.956v-50.902c0-0.805 0.152-1.207 0.456-1.207h1.822c0.304 0 0.456 0.402 0.456 1.207v50.6zm0.165-63.979c0 1.207-0.207 1.811-0.621 1.811h-1.905c-0.221 0-0.366-0.135-0.435-0.403s-0.104-0.67-0.104-1.207v-7.847c0-1.006 0.18-1.509 0.539-1.509h1.988c0.359 0 0.538 0.47 0.538 1.409v7.746z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m168.3 124.83c-0.221 0-0.331 0.269-0.331 0.805v33.801c0 3.42 0.221 5.667 0.663 6.74 0.441 1.073 1.09 1.609 1.946 1.609h3.024c0.138 0 0.242 0.084 0.311 0.252 0.069 0.167 0.103 0.419 0.103 0.754v2.716c0 0.537-0.138 0.906-0.414 1.107-0.248 0.067-0.614 0.134-1.098 0.201-0.483 0.067-0.959 0.118-1.429 0.151-0.469 0.034-0.828 0.05-1.077 0.05-1.712 0-2.934-0.955-3.665-2.867-0.732-1.911-1.098-5.013-1.098-9.305v-35.108c0-0.604-0.124-0.906-0.373-0.906h-3.521c-0.248 0-0.373-0.268-0.373-0.804v-3.521c0-0.537 0.111-0.805 0.332-0.805h3.686c0.166 0 0.263-0.268 0.29-0.805l0.415-16.095c0-0.805 0.124-1.207 0.372-1.207h1.492c0.303 0 0.455 0.436 0.455 1.307v15.995c0 0.537 0.097 0.805 0.29 0.805h5.468c0.221 0 0.331 0.268 0.331 0.805v3.521c0 0.536-0.124 0.804-0.373 0.804h-5.426z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m179.4 173.02c-0.331 0-0.497-0.402-0.497-1.207v-72.329c0-0.738 0.138-1.107 0.414-1.107h1.782c0.276 0 0.414 0.336 0.414 1.006v27.162c0 0.335 0.034 0.536 0.103 0.603s0.159-0.033 0.27-0.302c0.994-1.81 1.898-3.319 2.713-4.526 0.814-1.208 1.629-2.113 2.444-2.717 0.814-0.603 1.691-0.905 2.63-0.905 2.182 0 3.839 1.375 4.971 4.125 1.132 2.749 1.698 6.404 1.698 10.965v37.925c0 0.871-0.166 1.307-0.497 1.307h-1.74c-0.165 0-0.29-0.1-0.373-0.301-0.082-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.366-6.321-1.097-8.3-0.732-1.978-1.899-2.967-3.501-2.967-0.883 0-1.705 0.318-2.464 0.956-0.76 0.637-1.526 1.576-2.299 2.816-0.773 1.241-1.643 2.834-2.61 4.779v39.031c0 0.805-0.179 1.207-0.538 1.207h-1.699z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> </g> <g transform="matrix(.80638 0 0 .80638 452.53 65.421)" fill-rule="nonzero"> <path d="m79.32 36.98v150.76l15.68-13.2 6.59-156.31-22.27 18.75z" fill="url(#f)"/> <path d="m79.32 36.98-22.27-18.75 6.59 156.31 15.68 13.2v-150.76z" fill="url(#e)"/> <path d="m25.19 104.83 8.63 49.04 12.5-14.95-2.46-56.42-18.67 22.33z" fill="url(#d)"/> <path d="m25.19 104.83-25.19-14.59 16.97 53.86 16.85 9.77-8.63-49.04z" fill="url(#c)"/> <path d="M43.86,82.5L18.69,67.98L0,90.24L25.18,104.83L43.86,82.5Z" fill="#9c3"/> <path d="m134.82 78.69-9.97 56.5 15.58-9.04 19.57-62.05-25.18 14.59z" fill="url(#b)"/> <path d="m134.82 78.69-18.68-22.33-2.86 65 11.57 13.83 9.97-56.5z" fill="url(#a)"/> <path d="m160 64.1-18.69-22.26-25.17 14.52 18.67 22.33 25.19-14.59z" fill="#ffe113"/> <path d="M101.59,18.23L79.32,0L57.05,18.23L79.32,36.98L101.59,18.23Z" fill="#f3e600"/> </g> <defs> <linearGradient id="f" x2="1" gradientTransform="matrix(.84 -162.96 162.96 .84 89.64 184.81)" gradientUnits="userSpaceOnUse"><stop stop-color="#62d399" offset="0"/><stop stop-color="#acd842" offset=".51"/><stop stop-color="#d7db0a" offset=".9"/><stop stop-color="#d7db0a" offset="1"/></linearGradient> <linearGradient id="e" x2="1" gradientTransform="matrix(-1.6,-162.13,162.13,-1.6,69.68,178.9)" gradientUnits="userSpaceOnUse"><stop stop-color="#0ba398" offset="0"/><stop stop-color="#4ca352" offset=".5"/><stop stop-color="#76a30a" offset="1"/></linearGradient> <linearGradient id="d" x2="1" gradientTransform="matrix(-1.9,-67.98,67.98,-1.9,36.6,152.17)" gradientUnits="userSpaceOnUse"><stop stop-color="#36a382" offset="0"/><stop stop-color="#36a382" offset=".19"/><stop stop-color="#49a459" offset=".54"/><stop stop-color="#76a30b" offset="1"/></linearGradient> <linearGradient id="c" x2="1" gradientTransform="matrix(2.18,-62.38,62.38,2.18,15.82,153.24)" gradientUnits="userSpaceOnUse"><stop stop-color="#267880" offset="0"/><stop stop-color="#457a5c" offset=".51"/><stop stop-color="#717516" offset="1"/></linearGradient> <linearGradient id="b" x2="1" gradientTransform="matrix(13.85,-71.96,71.96,13.85,135.08,135.43)" gradientUnits="userSpaceOnUse"><stop stop-color="#b0d939" offset="0"/><stop stop-color="#eadb04" offset="1"/></linearGradient> <linearGradient id="a" x2="1" gradientTransform="matrix(26.159 -64.737 64.737 26.159 107.42 128.14)" gradientUnits="userSpaceOnUse"><stop stop-color="#74af52" offset="0"/><stop stop-color="#74af52" offset=".17"/><stop stop-color="#99be32" offset=".48"/><stop stop-color="#c0c40a" offset="1"/></linearGradient> </defs> </svg>`;
4490
+ const UP = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 187.74"><defs><linearGradient id="a" x1="89.64" y1="184.81" x2="90.48" y2="21.85" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#62d399"/><stop offset=".51" stop-color="#acd842"/><stop offset=".9" stop-color="#d7db0a"/></linearGradient><linearGradient id="b" x1="69.68" y1="178.9" x2="68.08" y2="16.77" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0ba398"/><stop offset=".5" stop-color="#4ca352"/><stop offset="1" stop-color="#76a30a"/></linearGradient><linearGradient id="c" x1="36.6" y1="152.17" x2="34.7" y2="84.19" gradientUnits="userSpaceOnUse"><stop offset=".19" stop-color="#36a382"/><stop offset=".54" stop-color="#49a459"/><stop offset="1" stop-color="#76a30b"/></linearGradient><linearGradient id="d" x1="15.82" y1="153.24" x2="18" y2="90.86" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#267880"/><stop offset=".51" stop-color="#457a5c"/><stop offset="1" stop-color="#717516"/></linearGradient><linearGradient id="e" x1="135.08" y1="135.43" x2="148.93" y2="63.47" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b0d939"/><stop offset="1" stop-color="#eadb04"/></linearGradient><linearGradient id="f" x1="-4163.25" y1="2285.12" x2="-4160.81" y2="2215.34" gradientTransform="rotate(20 4088.49 13316.712)" gradientUnits="userSpaceOnUse"><stop offset=".17" stop-color="#74af52"/><stop offset=".48" stop-color="#99be32"/><stop offset="1" stop-color="#c0c40a"/></linearGradient><symbol id="g" viewBox="0 0 160 187.74"><path style="fill:url(#a)" d="M79.32 36.98v150.76L95 174.54l6.59-156.31-22.27 18.75z"/><path style="fill:url(#b)" d="M79.32 36.98 57.05 18.23l6.59 156.31 15.68 13.2V36.98z"/><path style="fill:url(#c)" d="m25.19 104.83 8.63 49.04 12.5-14.95-2.46-56.42-18.67 22.33z"/><path style="fill:url(#d)" d="M25.19 104.83 0 90.24l16.97 53.86 16.85 9.77-8.63-49.04z"/><path style="fill:#9c3" d="M43.86 82.5 18.69 67.98 0 90.24l25.18 14.59L43.86 82.5z"/><path style="fill:url(#e)" d="m134.82 78.69-9.97 56.5 15.58-9.04L160 64.1l-25.18 14.59z"/><path style="fill:url(#f)" d="m134.82 78.69-18.68-22.33-2.86 65 11.57 13.83 9.97-56.5z"/><path style="fill:#ffe113" d="m160 64.1-18.69-22.26-25.17 14.52 18.67 22.33L160 64.1z"/><path style="fill:#f3e600" d="M101.59 18.23 79.32 0 57.05 18.23l22.27 18.75 22.27-18.75z"/></symbol></defs><use width="160" height="187.74" xlink:href="#g"/></svg>', zP = btoa(UP), NP = "data:image/svg+xml;base64," + zP, Ha = NP, $P = `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'> <svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" version="1.1" viewBox="0 0 1014 282" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m665.95 132.73v44.88l-10.56-8.4c-0.8-0.64-1.2-1.44-1.2-2.4v-32.4c0-6.48-4.12-9.72-12.36-9.72-2.16 0-4.18 0.4-6.06 1.2s-3.54 1.8-4.98 3-2.56 2.5-3.36 3.9-1.2 2.7-1.2 3.9v40.92l-10.68-8.4c-0.72-0.64-1.08-1.44-1.08-2.4v-53.76l10.92 8.52c0.32 0.24 0.56 0.44 0.72 0.6s0.36 0.32 0.6 0.48c0.96-1.2 2.14-2.28 3.54-3.24s2.92-1.76 4.56-2.4 3.34-1.14 5.1-1.5 3.44-0.54 5.04-0.54c1.44 0 2.92 0.04 4.44 0.12s2.84 0.28 3.96 0.6c4.56 1.12 7.8 3.12 9.72 6s2.88 6.56 2.88 11.04z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m732.38 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m795.93 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m858.57 97.21c0.64 0.48 0.96 1.16 0.96 2.04v74.88c-0.08 1.04-0.12 2.12-0.12 3.24-1.84-1.52-3.56-2.92-5.16-4.2-1.36-1.12-2.66-2.18-3.9-3.18s-2.06-1.66-2.46-1.98c-1.76 2.48-4.26 4.44-7.5 5.88s-7.02 2.16-11.34 2.16c-3.84 0-7.4-0.7-10.68-2.1s-6.14-3.44-8.58-6.12-4.34-5.94-5.7-9.78-2.04-8.16-2.04-12.96c0-4.32 0.78-8.34 2.34-12.06s3.6-6.92 6.12-9.6 5.38-4.78 8.58-6.3 6.48-2.28 9.84-2.28c2.56 0 4.82 0.22 6.78 0.66s3.68 1.06 5.16 1.86 2.78 1.74 3.9 2.82 2.16 2.22 3.12 3.42v-35.04l10.68 8.64zm-27.96 67.92c3.6 0 6.52-0.68 8.76-2.04s3.98-3.06 5.22-5.1 2.1-4.22 2.58-6.54 0.72-4.44 0.72-6.36v-1.2c0-1.12-0.22-2.7-0.66-4.74s-1.28-4.06-2.52-6.06-3-3.7-5.28-5.1-5.22-2.02-8.82-1.86c-3.44 0-6.26 0.74-8.46 2.22s-3.96 3.26-5.28 5.34-2.24 4.2-2.76 6.36-0.78 3.92-0.78 5.28c0 1.84 0.24 3.92 0.72 6.24s1.36 4.48 2.64 6.48 3.04 3.68 5.28 5.04 5.12 2.04 8.64 2.04z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m882.81 97.09c0.64 0.48 0.96 1.12 0.96 1.92l-0.12 41.04v37.08l-10.56-8.4c-0.72-0.64-1.08-1.44-1.08-2.4v-77.88l10.8 8.64z" fill-rule="nonzero"/> </g> <g transform="matrix(1.008 0 0 1.008 -2.239 .61874)"> <path d="m950.36 146.05c0 0.88 0.02 1.5 0.06 1.86s-0.02 0.98-0.18 1.86h-7.08c-2.08 0-4.44-0.02-7.08-0.06s-5.36-0.06-8.16-0.06h-22.08c0 2.88 0.56 5.36 1.68 7.44s2.6 3.8 4.44 5.16 3.94 2.36 6.3 3 4.74 0.96 7.14 0.96c3.04 0 5.9-0.76 8.58-2.28s4.94-3.52 6.78-6c0.64 0.56 1.54 1.48 2.7 2.76s2.94 3.2 5.34 5.76c-2.8 3.36-6.22 6.02-10.26 7.98s-8.42 2.94-13.14 2.94-8.92-0.64-12.84-1.92-7.32-3.24-10.2-5.88-5.12-5.98-6.72-10.02-2.4-8.82-2.4-14.34c0-4.96 0.66-9.42 1.98-13.38s3.22-7.32 5.7-10.08 5.44-4.9 8.88-6.42 7.32-2.28 11.64-2.28c5.76 0 10.52 0.88 14.28 2.64s6.72 4.16 8.88 7.2 3.66 6.54 4.5 10.5 1.26 8.18 1.26 12.66zm-29.4-22.8c-2.16 0.16-4.16 0.72-6 1.68s-3.42 2.2-4.74 3.72-2.36 3.28-3.12 5.28-1.14 4.12-1.14 6.36h33.12c0-2-0.22-4.06-0.66-6.18s-1.3-4.02-2.58-5.7-3.1-3.02-5.46-4.02-5.5-1.38-9.42-1.14z" fill-rule="nonzero"/> </g> <g transform="matrix(1.8559 0 0 .7642 45.348 36.475)"> <g transform="translate(2.7114)"> <path d="m3.935 173.02c-0.331 0-0.497-0.402-0.497-1.207v-51.002c0-0.738 0.138-1.107 0.414-1.107h1.781c0.277 0 0.415 0.335 0.415 1.006v5.935c0 0.336 0.027 0.553 0.083 0.654 0.055 0.101 0.151-0.017 0.289-0.352 0.912-1.744 1.754-3.236 2.527-4.477 0.773-1.24 1.554-2.179 2.341-2.816s1.65-0.956 2.588-0.956c1.685 0 3.011 0.922 3.977 2.766 0.967 1.845 1.602 3.84 1.905 5.986 0.056 0.268 0.139 0.369 0.249 0.302s0.221-0.235 0.331-0.503c0.939-1.811 1.802-3.353 2.589-4.628 0.787-1.274 1.581-2.246 2.382-2.917s1.671-1.006 2.61-1.006c2.016 0 3.569 1.392 4.66 4.175 1.09 2.783 1.636 6.421 1.636 10.915v37.925c0 0.871-0.18 1.307-0.539 1.307h-1.739c-0.138 0-0.249-0.1-0.332-0.301-0.083-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.338-6.321-1.015-8.3-0.676-1.978-1.76-2.967-3.251-2.967-0.884 0-1.726 0.386-2.527 1.157s-1.519 1.727-2.154 2.867-1.201 2.213-1.699 3.219c-0.248 0.469-0.421 0.905-0.517 1.308-0.097 0.402-0.145 0.972-0.145 1.71v37.221c0 0.871-0.166 1.307-0.497 1.307h-1.74c-0.166 0-0.29-0.1-0.373-0.301-0.083-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.332-6.321-0.994-8.3-0.663-1.978-1.754-2.967-3.273-2.967-1.242 0-2.375 0.704-3.396 2.112-1.022 1.409-2.223 3.555-3.604 6.439v39.031c0 0.805-0.18 1.207-0.539 1.207h-1.698z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m53.642 166.28c-1.077 2.549-2.237 4.477-3.479 5.785-1.243 1.307-2.61 1.961-4.101 1.961-2.154 0-3.853-1.324-5.095-3.973-1.243-2.649-1.864-6.187-1.864-10.613 0-3.488 0.4-6.489 1.201-9.004s1.988-4.51 3.562-5.985c1.574-1.476 3.521-2.414 5.841-2.817l3.686-0.704c0.221-0.067 0.394-0.218 0.518-0.453 0.124-0.234 0.187-0.587 0.187-1.056v-2.917c0-3.89-0.504-6.975-1.512-9.255s-2.354-3.42-4.039-3.42c-1.298 0-2.472 0.72-3.521 2.162s-2.002 3.572-2.858 6.388c-0.083 0.268-0.159 0.453-0.228 0.554-0.069 0.1-0.172 0.083-0.311-0.051l-1.698-1.71c-0.083-0.134-0.138-0.285-0.166-0.453-0.027-0.167 0.014-0.452 0.125-0.855 0.856-3.353 2.009-6.052 3.459-8.098 1.449-2.045 3.224-3.068 5.322-3.068 1.74 0 3.211 0.687 4.412 2.062s2.112 3.37 2.734 5.986c0.621 2.615 0.932 5.7 0.932 9.255v35.712c0 0.536-0.035 0.888-0.104 1.056s-0.2 0.251-0.393 0.251h-1.533c-0.166 0-0.29-0.117-0.373-0.352-0.083-0.234-0.124-0.553-0.124-0.955l-0.083-5.231c-0.055-0.939-0.221-1.006-0.497-0.202zm0.456-19.314c0-1.14-0.194-1.643-0.58-1.509l-3.107 0.603c-1.436 0.202-2.686 0.638-3.749 1.308-1.063 0.671-1.953 1.543-2.671 2.616s-1.257 2.33-1.616 3.772-0.538 3.102-0.538 4.98c0 3.152 0.455 5.616 1.367 7.393 0.911 1.778 2.14 2.666 3.686 2.666 0.939 0 1.85-0.419 2.734-1.257s1.671-1.895 2.361-3.169c0.663-1.408 1.181-2.85 1.553-4.326 0.373-1.475 0.56-2.883 0.56-4.225v-8.852z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m79.034 173.02c-0.166 0-0.297-0.117-0.394-0.352-0.096-0.234-0.145-0.553-0.145-0.955v-4.628c0-0.536-0.041-0.838-0.124-0.905s-0.207 0.1-0.373 0.503c-0.276 0.67-0.69 1.593-1.242 2.766-0.553 1.174-1.271 2.23-2.154 3.169-0.884 0.939-1.961 1.408-3.231 1.408-1.74 0-3.314-0.989-4.722-2.967-1.409-1.979-2.534-4.963-3.376-8.953-0.843-3.991-1.264-8.937-1.264-14.838 0-5.701 0.415-10.68 1.243-14.939s1.988-7.595 3.479-10.009c1.492-2.415 3.204-3.622 5.137-3.622 1.436 0 2.616 0.57 3.541 1.71 0.926 1.14 1.719 2.381 2.382 3.722 0.249 0.47 0.414 0.637 0.497 0.503s0.125-0.536 0.125-1.207v-23.841c0-0.805 0.151-1.208 0.455-1.208h1.864c0.276 0 0.414 0.369 0.414 1.107v72.128c0 0.537-0.041 0.905-0.124 1.107-0.083 0.201-0.235 0.301-0.455 0.301h-1.533zm-0.621-42.049c-0.939-2.213-1.885-3.94-2.838-5.181s-2.009-1.861-3.169-1.861c-1.463 0-2.768 0.889-3.914 2.666s-2.044 4.376-2.693 7.796-0.973 7.578-0.973 12.474c0 5.097 0.338 9.272 1.015 12.524 0.676 3.253 1.567 5.651 2.672 7.193 1.104 1.543 2.305 2.314 3.603 2.314 1.188 0 2.258-0.704 3.211-2.113 0.952-1.408 1.705-3.118 2.257-5.13s0.829-3.957 0.829-5.835v-24.847z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m89.514 149.38c0 3.42 0.345 6.606 1.035 9.557 0.691 2.951 1.609 5.315 2.755 7.092s2.437 2.666 3.873 2.666c1.519 0 2.837-0.738 3.956-2.213 1.118-1.476 2.064-3.655 2.837-6.539 0.083-0.336 0.166-0.52 0.249-0.554 0.083-0.033 0.179 0.017 0.29 0.151l1.408 1.912c0.221 0.268 0.235 0.67 0.041 1.207-0.69 2.548-1.47 4.661-2.34 6.337-0.87 1.677-1.857 2.935-2.962 3.773-1.104 0.838-2.319 1.257-3.645 1.257-2.043 0-3.838-1.14-5.385-3.42-1.546-2.28-2.761-5.482-3.645-9.607-0.884-4.124-1.325-8.836-1.325-14.134 0-5.901 0.455-10.931 1.367-15.089 0.911-4.158 2.14-7.377 3.686-9.658 1.547-2.28 3.3-3.42 5.261-3.42 1.988 0 3.714 1.073 5.178 3.219 1.463 2.146 2.595 5.231 3.396 9.255s1.201 8.886 1.201 14.587c0 0.469-0.02 0.939-0.062 1.408-0.041 0.469-0.214 0.704-0.517 0.704h-16.362c-0.083 0-0.152 0.151-0.207 0.453-0.056 0.302-0.083 0.654-0.083 1.056zm13.752-6.237c0.304 0 0.497-0.1 0.58-0.302 0.083-0.201 0.124-0.57 0.124-1.106 0-3.219-0.283-6.187-0.849-8.903s-1.367-4.896-2.402-6.539c-1.036-1.643-2.272-2.464-3.708-2.464-1.629 0-2.996 0.955-4.101 2.867-1.104 1.911-1.94 4.342-2.506 7.293s-0.849 6.002-0.849 9.154h13.711z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m148.54 119.7c0.165 0 0.283 0.117 0.352 0.352s0.076 0.52 0.02 0.855l-6.254 50.902c-0.028 0.47-0.104 0.788-0.228 0.956s-0.297 0.251-0.518 0.251h-1.615c-0.442 0-0.718-0.402-0.829-1.207l-5.26-40.138c-0.111-0.604-0.201-0.905-0.27-0.905s-0.131 0.301-0.186 0.905l-5.012 40.138c-0.028 0.47-0.097 0.788-0.207 0.956-0.111 0.168-0.277 0.251-0.497 0.251h-1.74c-0.442 0-0.718-0.402-0.829-1.207l-6.503-50.801c-0.055-0.403-0.048-0.721 0.021-0.956s0.2-0.352 0.393-0.352h1.823c0.166 0 0.297 0.067 0.393 0.201 0.097 0.134 0.159 0.403 0.187 0.805l5.302 41.848c0.083 0.671 0.179 0.989 0.29 0.956 0.11-0.034 0.207-0.386 0.29-1.056l5.219-41.949c0.055-0.268 0.124-0.47 0.207-0.604s0.193-0.201 0.331-0.201h1.533c0.138 0 0.262 0.067 0.373 0.201 0.11 0.134 0.179 0.403 0.207 0.805l5.468 41.848c0.083 0.671 0.179 0.989 0.29 0.956 0.11-0.034 0.207-0.386 0.29-1.056l5.053-41.849c0.055-0.335 0.138-0.57 0.249-0.704 0.11-0.134 0.234-0.201 0.373-0.201h1.284z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m156.49 171.51c0 0.604-0.042 1.006-0.125 1.208-0.082 0.201-0.262 0.301-0.538 0.301h-1.533c-0.221 0-0.366-0.083-0.435-0.251s-0.103-0.486-0.103-0.956v-50.902c0-0.805 0.152-1.207 0.456-1.207h1.822c0.304 0 0.456 0.402 0.456 1.207v50.6zm0.165-63.979c0 1.207-0.207 1.811-0.621 1.811h-1.905c-0.221 0-0.366-0.135-0.435-0.403s-0.104-0.67-0.104-1.207v-7.847c0-1.006 0.18-1.509 0.539-1.509h1.988c0.359 0 0.538 0.47 0.538 1.409v7.746z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m168.3 124.83c-0.221 0-0.331 0.269-0.331 0.805v33.801c0 3.42 0.221 5.667 0.663 6.74 0.441 1.073 1.09 1.609 1.946 1.609h3.024c0.138 0 0.242 0.084 0.311 0.252 0.069 0.167 0.103 0.419 0.103 0.754v2.716c0 0.537-0.138 0.906-0.414 1.107-0.248 0.067-0.614 0.134-1.098 0.201-0.483 0.067-0.959 0.118-1.429 0.151-0.469 0.034-0.828 0.05-1.077 0.05-1.712 0-2.934-0.955-3.665-2.867-0.732-1.911-1.098-5.013-1.098-9.305v-35.108c0-0.604-0.124-0.906-0.373-0.906h-3.521c-0.248 0-0.373-0.268-0.373-0.804v-3.521c0-0.537 0.111-0.805 0.332-0.805h3.686c0.166 0 0.263-0.268 0.29-0.805l0.415-16.095c0-0.805 0.124-1.207 0.372-1.207h1.492c0.303 0 0.455 0.436 0.455 1.307v15.995c0 0.537 0.097 0.805 0.29 0.805h5.468c0.221 0 0.331 0.268 0.331 0.805v3.521c0 0.536-0.124 0.804-0.373 0.804h-5.426z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> <g transform="translate(2.7114)"> <path d="m179.4 173.02c-0.331 0-0.497-0.402-0.497-1.207v-72.329c0-0.738 0.138-1.107 0.414-1.107h1.782c0.276 0 0.414 0.336 0.414 1.006v27.162c0 0.335 0.034 0.536 0.103 0.603s0.159-0.033 0.27-0.302c0.994-1.81 1.898-3.319 2.713-4.526 0.814-1.208 1.629-2.113 2.444-2.717 0.814-0.603 1.691-0.905 2.63-0.905 2.182 0 3.839 1.375 4.971 4.125 1.132 2.749 1.698 6.404 1.698 10.965v37.925c0 0.871-0.166 1.307-0.497 1.307h-1.74c-0.165 0-0.29-0.1-0.373-0.301-0.082-0.202-0.124-0.503-0.124-0.906v-36.315c0-3.555-0.366-6.321-1.097-8.3-0.732-1.978-1.899-2.967-3.501-2.967-0.883 0-1.705 0.318-2.464 0.956-0.76 0.637-1.526 1.576-2.299 2.816-0.773 1.241-1.643 2.834-2.61 4.779v39.031c0 0.805-0.179 1.207-0.538 1.207h-1.699z" fill-rule="nonzero" stroke="#000" stroke-width=".7px"/> </g> </g> <g transform="matrix(.80638 0 0 .80638 452.53 65.421)" fill-rule="nonzero"> <path d="m79.32 36.98v150.76l15.68-13.2 6.59-156.31-22.27 18.75z" fill="url(#f)"/> <path d="m79.32 36.98-22.27-18.75 6.59 156.31 15.68 13.2v-150.76z" fill="url(#e)"/> <path d="m25.19 104.83 8.63 49.04 12.5-14.95-2.46-56.42-18.67 22.33z" fill="url(#d)"/> <path d="m25.19 104.83-25.19-14.59 16.97 53.86 16.85 9.77-8.63-49.04z" fill="url(#c)"/> <path d="M43.86,82.5L18.69,67.98L0,90.24L25.18,104.83L43.86,82.5Z" fill="#9c3"/> <path d="m134.82 78.69-9.97 56.5 15.58-9.04 19.57-62.05-25.18 14.59z" fill="url(#b)"/> <path d="m134.82 78.69-18.68-22.33-2.86 65 11.57 13.83 9.97-56.5z" fill="url(#a)"/> <path d="m160 64.1-18.69-22.26-25.17 14.52 18.67 22.33 25.19-14.59z" fill="#ffe113"/> <path d="M101.59,18.23L79.32,0L57.05,18.23L79.32,36.98L101.59,18.23Z" fill="#f3e600"/> </g> <defs> <linearGradient id="f" x2="1" gradientTransform="matrix(.84 -162.96 162.96 .84 89.64 184.81)" gradientUnits="userSpaceOnUse"><stop stop-color="#62d399" offset="0"/><stop stop-color="#acd842" offset=".51"/><stop stop-color="#d7db0a" offset=".9"/><stop stop-color="#d7db0a" offset="1"/></linearGradient> <linearGradient id="e" x2="1" gradientTransform="matrix(-1.6,-162.13,162.13,-1.6,69.68,178.9)" gradientUnits="userSpaceOnUse"><stop stop-color="#0ba398" offset="0"/><stop stop-color="#4ca352" offset=".5"/><stop stop-color="#76a30a" offset="1"/></linearGradient> <linearGradient id="d" x2="1" gradientTransform="matrix(-1.9,-67.98,67.98,-1.9,36.6,152.17)" gradientUnits="userSpaceOnUse"><stop stop-color="#36a382" offset="0"/><stop stop-color="#36a382" offset=".19"/><stop stop-color="#49a459" offset=".54"/><stop stop-color="#76a30b" offset="1"/></linearGradient> <linearGradient id="c" x2="1" gradientTransform="matrix(2.18,-62.38,62.38,2.18,15.82,153.24)" gradientUnits="userSpaceOnUse"><stop stop-color="#267880" offset="0"/><stop stop-color="#457a5c" offset=".51"/><stop stop-color="#717516" offset="1"/></linearGradient> <linearGradient id="b" x2="1" gradientTransform="matrix(13.85,-71.96,71.96,13.85,135.08,135.43)" gradientUnits="userSpaceOnUse"><stop stop-color="#b0d939" offset="0"/><stop stop-color="#eadb04" offset="1"/></linearGradient> <linearGradient id="a" x2="1" gradientTransform="matrix(26.159 -64.737 64.737 26.159 107.42 128.14)" gradientUnits="userSpaceOnUse"><stop stop-color="#74af52" offset="0"/><stop stop-color="#74af52" offset=".17"/><stop stop-color="#99be32" offset=".48"/><stop stop-color="#c0c40a" offset="1"/></linearGradient> </defs> </svg>`;
4491
4491
  btoa($P);
4492
4492
  const WP = '<svg viewBox="0 0 509 154" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M665.95 132.73v44.88l-10.56-8.4c-.8-.64-1.2-1.44-1.2-2.4v-32.4c0-6.48-4.12-9.72-12.36-9.72-2.16 0-4.18.4-6.06 1.2-1.88.8-3.54 1.8-4.98 3-1.44 1.2-2.56 2.5-3.36 3.9-.8 1.4-1.2 2.7-1.2 3.9v40.92l-10.68-8.4c-.72-.64-1.08-1.44-1.08-2.4v-53.76l10.92 8.52c.32.24.56.44.72.6.16.16.36.32.6.48.96-1.2 2.14-2.28 3.54-3.24 1.4-.96 2.92-1.76 4.56-2.4 1.64-.64 3.34-1.14 5.1-1.5 1.76-.36 3.44-.54 5.04-.54 1.44 0 2.92.04 4.44.12 1.52.08 2.84.28 3.96.6 4.56 1.12 7.8 3.12 9.72 6 1.92 2.88 2.88 6.56 2.88 11.04ZM732.38 146.05c0 .88.02 1.5.06 1.86.04.36-.02.98-.18 1.86h-7.08c-2.08 0-4.44-.02-7.08-.06-2.64-.04-5.36-.06-8.16-.06h-22.08c0 2.88.56 5.36 1.68 7.44 1.12 2.08 2.6 3.8 4.44 5.16 1.84 1.36 3.94 2.36 6.3 3 2.36.64 4.74.96 7.14.96 3.04 0 5.9-.76 8.58-2.28 2.68-1.52 4.94-3.52 6.78-6 .64.56 1.54 1.48 2.7 2.76 1.16 1.28 2.94 3.2 5.34 5.76-2.8 3.36-6.22 6.02-10.26 7.98-4.04 1.96-8.42 2.94-13.14 2.94-4.72 0-8.92-.64-12.84-1.92-3.92-1.28-7.32-3.24-10.2-5.88-2.88-2.64-5.12-5.98-6.72-10.02-1.6-4.04-2.4-8.82-2.4-14.34 0-4.96.66-9.42 1.98-13.38 1.32-3.96 3.22-7.32 5.7-10.08s5.44-4.9 8.88-6.42c3.44-1.52 7.32-2.28 11.64-2.28 5.76 0 10.52.88 14.28 2.64 3.76 1.76 6.72 4.16 8.88 7.2 2.16 3.04 3.66 6.54 4.5 10.5.84 3.96 1.26 8.18 1.26 12.66Zm-29.4-22.8c-2.16.16-4.16.72-6 1.68-1.84.96-3.42 2.2-4.74 3.72-1.32 1.52-2.36 3.28-3.12 5.28-.76 2-1.14 4.12-1.14 6.36h33.12c0-2-.22-4.06-.66-6.18-.44-2.12-1.3-4.02-2.58-5.7-1.28-1.68-3.1-3.02-5.46-4.02-2.36-1-5.5-1.38-9.42-1.14ZM795.93 146.05c0 .88.02 1.5.06 1.86.04.36-.02.98-.18 1.86h-7.08c-2.08 0-4.44-.02-7.08-.06-2.64-.04-5.36-.06-8.16-.06h-22.08c0 2.88.56 5.36 1.68 7.44 1.12 2.08 2.6 3.8 4.44 5.16 1.84 1.36 3.94 2.36 6.3 3 2.36.64 4.74.96 7.14.96 3.04 0 5.9-.76 8.58-2.28 2.68-1.52 4.94-3.52 6.78-6 .64.56 1.54 1.48 2.7 2.76 1.16 1.28 2.94 3.2 5.34 5.76-2.8 3.36-6.22 6.02-10.26 7.98-4.04 1.96-8.42 2.94-13.14 2.94-4.72 0-8.92-.64-12.84-1.92-3.92-1.28-7.32-3.24-10.2-5.88-2.88-2.64-5.12-5.98-6.72-10.02-1.6-4.04-2.4-8.82-2.4-14.34 0-4.96.66-9.42 1.98-13.38 1.32-3.96 3.22-7.32 5.7-10.08s5.44-4.9 8.88-6.42c3.44-1.52 7.32-2.28 11.64-2.28 5.76 0 10.52.88 14.28 2.64 3.76 1.76 6.72 4.16 8.88 7.2 2.16 3.04 3.66 6.54 4.5 10.5.84 3.96 1.26 8.18 1.26 12.66Zm-29.4-22.8c-2.16.16-4.16.72-6 1.68-1.84.96-3.42 2.2-4.74 3.72-1.32 1.52-2.36 3.28-3.12 5.28-.76 2-1.14 4.12-1.14 6.36h33.12c0-2-.22-4.06-.66-6.18-.44-2.12-1.3-4.02-2.58-5.7-1.28-1.68-3.1-3.02-5.46-4.02-2.36-1-5.5-1.38-9.42-1.14ZM858.57 97.21c.64.48.96 1.16.96 2.04v74.88c-.08 1.04-.12 2.12-.12 3.24-1.84-1.52-3.56-2.92-5.16-4.2-1.36-1.12-2.66-2.18-3.9-3.18-1.24-1-2.06-1.66-2.46-1.98-1.76 2.48-4.26 4.44-7.5 5.88-3.24 1.44-7.02 2.16-11.34 2.16-3.84 0-7.4-.7-10.68-2.1-3.28-1.4-6.14-3.44-8.58-6.12-2.44-2.68-4.34-5.94-5.7-9.78-1.36-3.84-2.04-8.16-2.04-12.96 0-4.32.78-8.34 2.34-12.06 1.56-3.72 3.6-6.92 6.12-9.6 2.52-2.68 5.38-4.78 8.58-6.3 3.2-1.52 6.48-2.28 9.84-2.28 2.56 0 4.82.22 6.78.66 1.96.44 3.68 1.06 5.16 1.86s2.78 1.74 3.9 2.82a35.92 35.92 0 0 1 3.12 3.42V88.57l10.68 8.64Zm-27.96 67.92c3.6 0 6.52-.68 8.76-2.04 2.24-1.36 3.98-3.06 5.22-5.1a20.5 20.5 0 0 0 2.58-6.54c.48-2.32.72-4.44.72-6.36v-1.2c0-1.12-.22-2.7-.66-4.74-.44-2.04-1.28-4.06-2.52-6.06s-3-3.7-5.28-5.1c-2.28-1.4-5.22-2.02-8.82-1.86-3.44 0-6.26.74-8.46 2.22-2.2 1.48-3.96 3.26-5.28 5.34-1.32 2.08-2.24 4.2-2.76 6.36-.52 2.16-.78 3.92-.78 5.28 0 1.84.24 3.92.72 6.24.48 2.32 1.36 4.48 2.64 6.48s3.04 3.68 5.28 5.04c2.24 1.36 5.12 2.04 8.64 2.04ZM882.81 97.09c.64.48.96 1.12.96 1.92l-.12 41.04v37.08l-10.56-8.4c-.72-.64-1.08-1.44-1.08-2.4V88.45l10.8 8.64ZM950.36 146.05c0 .88.02 1.5.06 1.86.04.36-.02.98-.18 1.86h-7.08c-2.08 0-4.44-.02-7.08-.06-2.64-.04-5.36-.06-8.16-.06h-22.08c0 2.88.56 5.36 1.68 7.44 1.12 2.08 2.6 3.8 4.44 5.16 1.84 1.36 3.94 2.36 6.3 3 2.36.64 4.74.96 7.14.96 3.04 0 5.9-.76 8.58-2.28 2.68-1.52 4.94-3.52 6.78-6 .64.56 1.54 1.48 2.7 2.76 1.16 1.28 2.94 3.2 5.34 5.76-2.8 3.36-6.22 6.02-10.26 7.98-4.04 1.96-8.42 2.94-13.14 2.94-4.72 0-8.92-.64-12.84-1.92-3.92-1.28-7.32-3.24-10.2-5.88-2.88-2.64-5.12-5.98-6.72-10.02-1.6-4.04-2.4-8.82-2.4-14.34 0-4.96.66-9.42 1.98-13.38 1.32-3.96 3.22-7.32 5.7-10.08s5.44-4.9 8.88-6.42c3.44-1.52 7.32-2.28 11.64-2.28 5.76 0 10.52.88 14.28 2.64 3.76 1.76 6.72 4.16 8.88 7.2 2.16 3.04 3.66 6.54 4.5 10.5.84 3.96 1.26 8.18 1.26 12.66Zm-29.4-22.8c-2.16.16-4.16.72-6 1.68-1.84.96-3.42 2.2-4.74 3.72-1.32 1.52-2.36 3.28-3.12 5.28-.76 2-1.14 4.12-1.14 6.36h33.12c0-2-.22-4.06-.66-6.18-.44-2.12-1.3-4.02-2.58-5.7-1.28-1.68-3.1-3.02-5.46-4.02-2.36-1-5.5-1.38-9.42-1.14Z" style="fill-rule:nonzero" transform="translate(-452.406 -63.709) scale(1.00797)"/><path d="M79.32 36.98v150.76L95 174.54l6.59-156.31-22.27 18.75Z" style="fill:url(#a);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="M79.32 36.98 57.05 18.23l6.59 156.31 15.68 13.2V36.98Z" style="fill:url(#b);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="m25.19 104.83 8.63 49.04 12.5-14.95-2.46-56.42-18.67 22.33Z" style="fill:url(#c);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="M25.19 104.83 0 90.24l16.97 53.86 16.85 9.77-8.63-49.04Z" style="fill:url(#d);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="M43.86 82.5 18.69 67.98 0 90.24l25.18 14.59L43.86 82.5Z" style="fill:#9c3;fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="m134.82 78.69-9.97 56.5 15.58-9.04L160 64.1l-25.18 14.59Z" style="fill:url(#e);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="m134.82 78.69-18.68-22.33-2.86 65 11.57 13.83 9.97-56.5Z" style="fill:url(#f);fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="m160 64.1-18.69-22.26-25.17 14.52 18.67 22.33L160 64.1Z" style="fill:#ffe113;fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><path d="M101.59 18.23 79.32 0 57.05 18.23l22.27 18.75 22.27-18.75Z" style="fill:#f3e600;fill-rule:nonzero" transform="matrix(.80638 0 0 .80638 2.361 1.094)"/><defs><linearGradient id="a" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.84 -162.96 162.96 .84 89.64 184.81)"><stop offset="0" style="stop-color:#62d399;stop-opacity:1"/><stop offset=".51" style="stop-color:#acd842;stop-opacity:1"/><stop offset=".9" style="stop-color:#d7db0a;stop-opacity:1"/><stop offset="1" style="stop-color:#d7db0a;stop-opacity:1"/></linearGradient><linearGradient id="b" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-90.565 123.412 54.953) scale(162.14)"><stop offset="0" style="stop-color:#0ba398;stop-opacity:1"/><stop offset=".5" style="stop-color:#4ca352;stop-opacity:1"/><stop offset="1" style="stop-color:#76a30a;stop-opacity:1"/></linearGradient><linearGradient id="c" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="scale(-68) rotate(88.4 .881 -1.396)"><stop offset="0" style="stop-color:#36a382;stop-opacity:1"/><stop offset=".19" style="stop-color:#36a382;stop-opacity:1"/><stop offset=".54" style="stop-color:#49a459;stop-opacity:1"/><stop offset="1" style="stop-color:#76a30b;stop-opacity:1"/></linearGradient><linearGradient id="d" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-88 87.255 68.431) scale(62.42)"><stop offset="0" style="stop-color:#267880;stop-opacity:1"/><stop offset=".51" style="stop-color:#457a5c;stop-opacity:1"/><stop offset="1" style="stop-color:#717516;stop-opacity:1"/></linearGradient><linearGradient id="e" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-79.1 149.53 -14.065) scale(73.28)"><stop offset="0" style="stop-color:#b0d939;stop-opacity:1"/><stop offset="1" style="stop-color:#eadb04;stop-opacity:1"/></linearGradient><linearGradient id="f" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-67.997 148.705 -15.558) scale(69.8226)"><stop offset="0" style="stop-color:#74af52;stop-opacity:1"/><stop offset=".17" style="stop-color:#74af52;stop-opacity:1"/><stop offset=".48" style="stop-color:#99be32;stop-opacity:1"/><stop offset="1" style="stop-color:#c0c40a;stop-opacity:1"/></linearGradient></defs></svg>', VP = btoa(WP), HP = "data:image/svg+xml;charset=utf-8;base64," + VP, x_ = HP;
4493
4493
  var Vc = /* @__PURE__ */ ((s) => (s[s.Quad = 0] = "Quad", s[s.Cube = 1] = "Cube", s[s.Sphere = 2] = "Sphere", s[s.Cylinder = 3] = "Cylinder", s[s.RoundedCube = 10] = "RoundedCube", s))(Vc || {});
4494
- class zr {
4494
+ class Nr {
4495
4495
  /**
4496
4496
  * Creates a 3D text object
4497
4497
  * @param text The text to display
@@ -4542,7 +4542,7 @@ class zr {
4542
4542
  case "Cube":
4543
4543
  case 1:
4544
4544
  {
4545
- const o = new ja(1, 1, 1), r = t?.material ?? new pt({ color: n });
4545
+ const o = new Ba(1, 1, 1), r = t?.material ?? new pt({ color: n });
4546
4546
  t?.texture && "map" in r && (r.map = t.texture), i = new H(o, r), i.name = "Cube";
4547
4547
  }
4548
4548
  break;
@@ -4668,9 +4668,9 @@ function S_(s, e) {
4668
4668
  }
4669
4669
  }
4670
4670
  function C_() {
4671
- return new Ps().add(zr.createPrimitive("Sphere", { material: new Se({ transparent: !0, opacity: 0.1 }) }));
4671
+ return new Ps().add(Nr.createPrimitive("Sphere", { material: new Se({ transparent: !0, opacity: 0.1 }) }));
4672
4672
  }
4673
- class Ha {
4673
+ class Ga {
4674
4674
  static _active = null;
4675
4675
  static get active() {
4676
4676
  return this._active;
@@ -4690,7 +4690,7 @@ class Ha {
4690
4690
  });
4691
4691
  return i ? (i.addEventListener("end", () => {
4692
4692
  this._active = null;
4693
- }), this._requestInFlight ? (this._requestInFlight = !1, this._active = new Ha(e, t, i), this._active) : (i.end(), null)) : (this._requestInFlight = !1, null);
4693
+ }), this._requestInFlight ? (this._requestInFlight = !1, this._active = new Ga(e, t, i), this._active) : (i.end(), null)) : (this._requestInFlight = !1, null);
4694
4694
  }
4695
4695
  return null;
4696
4696
  }
@@ -4713,7 +4713,7 @@ class Ha {
4713
4713
  _camera;
4714
4714
  _scene;
4715
4715
  constructor(e, t, i) {
4716
- this._mode = e, this._init = t, this._session = i, this._session.addEventListener("end", this.onEnd), this._renderer = new Br({ alpha: !0, antialias: !0 }), this._renderer.outputColorSpace = "srgb", this._renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)), this._renderer.setSize(window.innerWidth, window.innerHeight, !0), D.isNeedleAppClip() && window.requestAnimationFrame(() => {
4716
+ this._mode = e, this._init = t, this._session = i, this._session.addEventListener("end", this.onEnd), this._renderer = new Fr({ alpha: !0, antialias: !0 }), this._renderer.outputColorSpace = "srgb", this._renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)), this._renderer.setSize(window.innerWidth, window.innerHeight, !0), D.isNeedleAppClip() && window.requestAnimationFrame(() => {
4717
4717
  const n = Math.min(2, window.devicePixelRatio), o = Math.floor(window.innerWidth * n), r = Math.floor(window.innerHeight * n);
4718
4718
  this._renderer.domElement.width = o, this._renderer.domElement.height = r;
4719
4719
  }), this._renderer.setAnimationLoop(this.onFrame), this._renderer.xr.setSession(i), this._renderer.xr.enabled = !0, this._camera = new ce(), this._scene = new Mi(), this._scene.fog = new uv(4473924, 10, 250), this._scene.add(this._camera), this.setupScene();
@@ -4768,7 +4768,7 @@ class Ha {
4768
4768
  }
4769
4769
  setupScene() {
4770
4770
  this._scene.background = new re(0);
4771
- let e = Va;
4771
+ let e = Ha;
4772
4772
  if (Os()) {
4773
4773
  const h = document.querySelector("needle-engine");
4774
4774
  if (h) {
@@ -4798,7 +4798,7 @@ class Ha {
4798
4798
  t.scale.x = this._logoScale * b * window.devicePixelRatio, t.scale.y = this._logoScale * window.devicePixelRatio, t.material.map = v, t.material.needsUpdate = !0;
4799
4799
  };
4800
4800
  o.onload = () => r(), o.onerror = (h) => {
4801
- console.error("Failed to load temporary XR logo:", e, h), o.src = Va;
4801
+ console.error("Failed to load temporary XR logo:", e, h), o.src = Ha;
4802
4802
  }, o.crossOrigin = "anonymous", o.src = e;
4803
4803
  const a = new zp(16777215, 1);
4804
4804
  a.position.set(0, 20, 0), a.castShadow = !1, this._scene.add(a);
@@ -4811,7 +4811,7 @@ class Ha {
4811
4811
  color: 2236962,
4812
4812
  metalness: 1,
4813
4813
  roughness: 0.8
4814
- }), p = Vc.Sphere, g = zr.createPrimitive(p, { material: f });
4814
+ }), p = Vc.Sphere, g = Nr.createPrimitive(p, { material: f });
4815
4815
  g.position.x = F.random(-50, 50), g.position.y = F.random(-2, 50), g.position.z = F.random(-50, 50), g.rotation.x = F.random(0, Math.PI * 2), g.rotation.y = F.random(0, Math.PI * 2), g.rotation.z = F.random(0, Math.PI * 2), g.scale.multiplyScalar(0.5 + Math.random() * 10);
4816
4816
  const y = g.position.distanceTo(this._camera.position) - g.scale.x;
4817
4817
  y < 10 && (g.position.z += 5, g.position.multiplyScalar(1 + 1 / y)), this._roomFlyObjects.push(g), this._scene.add(g);
@@ -4881,7 +4881,7 @@ async function YP() {
4881
4881
  navigator.xr?.addEventListener("sessiongranted", async () => {
4882
4882
  const e = sessionStorage.getItem("needle_xr_session_mode"), t = sessionStorage.getItem("needle_xr_session_init") ?? null, i = t ? JSON.parse(t) : null;
4883
4883
  let n = null;
4884
- if (h0() && (await Ha.start(e || s, i || K.getDefaultSessionInit(s)).catch((o) => console.warn("[NeedleXRSession:granted] TemporaryXRContext start failed:", o)), await JP(), n = await Ha.handoff()), n)
4884
+ if (h0() && (await Ga.start(e || s, i || K.getDefaultSessionInit(s)).catch((o) => console.warn("[NeedleXRSession:granted] TemporaryXRContext start failed:", o)), await JP(), n = await Ga.handoff()), n)
4885
4885
  K.setSession(n.mode, n.session, n.init, N.Current);
4886
4886
  else if (e && t) {
4887
4887
  console.log("[NeedleXRSession:granted] Restore last session");
@@ -5111,7 +5111,7 @@ class K {
5111
5111
  if (e === "quicklook")
5112
5112
  return console.warn("QuickLook mode is only supported on iOS devices"), null;
5113
5113
  if (e == "ar" && (e = "immersive-ar"), L() && x("debugxrpreroom"))
5114
- return console.warn("Debug: Starting temporary XR session"), await Ha.start(e, t || K.getDefaultSessionInit(e)), null;
5114
+ return console.warn("Debug: Starting temporary XR session"), await Ga.start(e, t || K.getDefaultSessionInit(e)), null;
5115
5115
  if (this._currentSessionRequest)
5116
5116
  return console.warn("A XRSession is already being requested"), (He || L()) && _e("A XRSession is already being requested"), this._currentSessionRequest.then(() => this._activeSession);
5117
5117
  if (this._activeSession)
@@ -5145,7 +5145,7 @@ class K {
5145
5145
  console.warn("No default session init for mode", e);
5146
5146
  break;
5147
5147
  }
5148
- t.optionalFeatures ??= [], t.requiredFeatures ??= [], await Ha.stop();
5148
+ t.optionalFeatures ??= [], t.requiredFeatures ??= [], await Ga.stop();
5149
5149
  const n = e == "immersive-ar" ? i.scripts_immersive_ar : i.scripts_immersive_vr;
5150
5150
  He ? console.log(`%cRequesting ${e} session`, "font-weight:bold;", t, n) : console.log(`%cRequesting ${e} session`, "font-weight:bold;");
5151
5151
  for (const a of n)
@@ -5303,7 +5303,7 @@ class K {
5303
5303
  /** The currently active XR rig */
5304
5304
  get rig() {
5305
5305
  const e = this._rigs[0] ?? null;
5306
- return e?.gameObject && qa(e.gameObject) || e?.isActive === !1 ? (this.updateActiveXRRig(), this._rigs[0] ?? null) : e;
5306
+ return e?.gameObject && Xa(e.gameObject) || e?.isActive === !1 ? (this.updateActiveXRRig(), this._rigs[0] ?? null) : e;
5307
5307
  }
5308
5308
  _rigScale = 1;
5309
5309
  _lastRigScaleUpdate = -1;
@@ -5347,7 +5347,7 @@ class K {
5347
5347
  for (let i = 1; i < this._rigs.length; i++) {
5348
5348
  const n = this._rigs[i];
5349
5349
  if (n.isActive) {
5350
- if (qa(n.gameObject)) {
5350
+ if (Xa(n.gameObject)) {
5351
5351
  this._rigs.splice(i, 1), i--;
5352
5352
  continue;
5353
5353
  }
@@ -5390,7 +5390,7 @@ class K {
5390
5390
  const t = this.context.renderer.xr.getReferenceSpace(), i = t && e.getPose(t);
5391
5391
  if (i) {
5392
5392
  const n = z(i.transform.position), o = bi(i.transform.orientation), r = this.context.mainCamera;
5393
- if (r?.parent !== this._cameraRenderParent && n.applyMatrix4(Ca), r?.parent) {
5393
+ if (r?.parent !== this._cameraRenderParent && n.applyMatrix4(Pa), r?.parent) {
5394
5394
  n.applyMatrix4(r.parent.matrixWorld), o.multiply(Vi);
5395
5395
  const a = ve(r.parent);
5396
5396
  a.premultiply(Vi), o.premultiply(a);
@@ -5402,7 +5402,7 @@ class K {
5402
5402
  /** convert a XRRigidTransform from XR session space to threejs / Needle Engine XR space */
5403
5403
  convertSpace(e) {
5404
5404
  const t = z(e.position);
5405
- t.applyMatrix4(Ca);
5405
+ t.applyMatrix4(Pa);
5406
5406
  const i = bi(e.orientation);
5407
5407
  return i.premultiply(Vi), { position: t, quaternion: i };
5408
5408
  }
@@ -5567,7 +5567,7 @@ class K {
5567
5567
  }
5568
5568
  }
5569
5569
  }
5570
- vP({ session: this }), Ur();
5570
+ vP({ session: this }), zr();
5571
5571
  for (const o of K._xrStartListeners)
5572
5572
  o(i);
5573
5573
  const n = [...this._xr_scripts];
@@ -5968,7 +5968,7 @@ class U {
5968
5968
  static DrawWireSphere(e, t, i = ln, n = 0, o = !0) {
5969
5969
  if (!U.enabled) return;
5970
5970
  const r = Fi.getSphere(t, n, !0);
5971
- Na(r, e.x, e.y, e.z), r.material.depthTest = o, r.material.depthWrite = !1, r.material.fog = !1, un(r.material, i);
5971
+ $a(r, e.x, e.y, e.z), r.material.depthTest = o, r.material.depthWrite = !1, r.material.fog = !1, un(r.material, i);
5972
5972
  }
5973
5973
  /**
5974
5974
  * Draw a 3D sphere gizmo in the scene
@@ -5981,7 +5981,7 @@ class U {
5981
5981
  static DrawSphere(e, t, i = ln, n = 0, o = !0) {
5982
5982
  if (!U.enabled) return;
5983
5983
  const r = Fi.getSphere(t, n, !1);
5984
- Na(r, e.x, e.y, e.z), r.material.depthTest = o, r.material.depthWrite = !1, un(r.material, i);
5984
+ $a(r, e.x, e.y, e.z), r.material.depthTest = o, r.material.depthWrite = !1, un(r.material, i);
5985
5985
  }
5986
5986
  /**
5987
5987
  * Draw a 3D wiremesh box gizmo in the scene
@@ -6046,7 +6046,7 @@ class U {
6046
6046
  "mesh" in e ? (t.geometry = e.mesh.geometry, t.matrixWorld.copy(e.mesh.matrixWorld)) : (t.geometry = e.geometry, t.matrixWorld.copy(e.matrix)), t.matrixAutoUpdate = !1, t.matrixWorldAutoUpdate = !1, t.material.depthTest = e.depthTest ?? !0, t.material.wireframe = !0, un(t.material, e.color ?? ln);
6047
6047
  }
6048
6048
  }
6049
- const nk = new ja(1, 1, 1);
6049
+ const nk = new Ba(1, 1, 1);
6050
6050
  function gg(s = null) {
6051
6051
  const e = new re(s ?? 14540253), t = new oS(nk);
6052
6052
  return new fv(t, new Qm({ color: e }));
@@ -6103,7 +6103,7 @@ class Fi {
6103
6103
  static getBox(e) {
6104
6104
  let t = this.boxesCache.pop();
6105
6105
  if (!t) {
6106
- const i = new ja(1, 1, 1);
6106
+ const i = new Ba(1, 1, 1);
6107
6107
  t = new H(i);
6108
6108
  }
6109
6109
  return this.registerTimedObject(N.Current, t, e, this.boxesCache), t;
@@ -6111,7 +6111,7 @@ class Fi {
6111
6111
  static getLine(e) {
6112
6112
  let t = this.linesCache.pop();
6113
6113
  if (!t) {
6114
- t = new Ba();
6114
+ t = new Fa();
6115
6115
  let i = t.geometry.getAttribute("position");
6116
6116
  i || (i = new mt(new Float32Array(6), 3), t.geometry.setAttribute("position", i));
6117
6117
  }
@@ -6120,7 +6120,7 @@ class Fi {
6120
6120
  static getCircle(e) {
6121
6121
  let t = this.circlesCache.pop();
6122
6122
  if (!t) {
6123
- t = new Ba();
6123
+ t = new Fa();
6124
6124
  let i = t.geometry.getAttribute("position");
6125
6125
  if (!i) {
6126
6126
  i = new mt(new Float32Array(Vf * 3), 3), t.geometry.setAttribute("position", i);
@@ -6198,7 +6198,7 @@ class Fi {
6198
6198
  for (let i = 0; i < t.length; i++) {
6199
6199
  const n = t[i];
6200
6200
  if (e.mainCamera && n instanceof Pe.MeshUIBaseElement) {
6201
- if (qa(n))
6201
+ if (Xa(n))
6202
6202
  continue;
6203
6203
  const o = e.isInVR, r = !1, a = !o;
6204
6204
  Su(n, e.mainCamera, r, a);
@@ -6209,12 +6209,12 @@ class Fi {
6209
6209
  const n = e.time.realtimeSinceStartup;
6210
6210
  for (let o = t.length - 1; o >= 0; o--) {
6211
6211
  const r = t[o];
6212
- n >= i[o] - 1e-6 && (t.splice(o, 1), i.splice(o, 1), r.removeFromParent(), qa(r) != !0 && r[Jp].push(r));
6212
+ n >= i[o] - 1e-6 && (t.splice(o, 1), i.splice(o, 1), r.removeFromParent(), Xa(r) != !0 && r[Jp].push(r));
6213
6213
  }
6214
6214
  }
6215
6215
  }
6216
6216
  const Yt = x("debugphysics"), sk = x("debugworker"), M_ = new Co();
6217
- class Nr {
6217
+ class $r {
6218
6218
  static AllLayers = 4294967295;
6219
6219
  ray;
6220
6220
  cam;
@@ -6280,7 +6280,7 @@ class Ic {
6280
6280
  }
6281
6281
  // raycasting
6282
6282
  raycaster = new pu();
6283
- defaultRaycastOptions = new Nr();
6283
+ defaultRaycastOptions = new $r();
6284
6284
  targetBuffer = new Array(1);
6285
6285
  defaultThresholds = {
6286
6286
  Mesh: {},
@@ -6341,7 +6341,7 @@ class Ic {
6341
6341
  }
6342
6342
  intersect(e, t, i, n) {
6343
6343
  for (const o of t) {
6344
- if (!o || o.visible === !1 || U.isGizmo(o) || n.lineThreshold !== void 0 && n.lineThreshold < 0 && o instanceof Ba)
6344
+ if (!o || o.visible === !1 || U.isGizmo(o) || n.lineThreshold !== void 0 && n.lineThreshold < 0 && o instanceof Fa)
6345
6345
  continue;
6346
6346
  let r = !0;
6347
6347
  const a = o, l = a.geometry;
@@ -6354,7 +6354,7 @@ class Ic {
6354
6354
  if (r) {
6355
6355
  const c = i.length, h = o.raycastPreference || "lod";
6356
6356
  let d = h !== "bounds";
6357
- if (n.precise === !1 && (d = !1), l && (d ||= l.getAttribute("position")?.array?.length < 64), a instanceof za && (d = !1), h === "lod") {
6357
+ if (n.precise === !1 && (d = !1), l && (d ||= l.getAttribute("position")?.array?.length < 64), a instanceof Na && (d = !1), h === "lod") {
6358
6358
  const f = wv(o);
6359
6359
  f && (a.geometry = f);
6360
6360
  }
@@ -6370,7 +6370,7 @@ class Ic {
6370
6370
  tempBoundingBox = new Pi();
6371
6371
  intersectSphere(e, t, i, n, o, r, a, l) {
6372
6372
  let c = e && e.isMesh && e.layers.test(n) && !U.isGizmo(e);
6373
- c &&= e.visible, c &&= !(e instanceof Ba), c &&= !(e instanceof za);
6373
+ c &&= e.visible, c &&= !(e instanceof Fa), c &&= !(e instanceof Na);
6374
6374
  const h = e, d = h.geometry;
6375
6375
  if (c && l) {
6376
6376
  const f = l(e);
@@ -6413,7 +6413,7 @@ function rk(s, e, t) {
6413
6413
  return n || (n = s["_computeIntersections:Needle"] = function(o, r, a) {
6414
6414
  const l = this, c = l.geometry.boundingSphere;
6415
6415
  if (c) {
6416
- if (l instanceof za) {
6416
+ if (l instanceof Na) {
6417
6417
  Lh.setFromNormalAndCoplanarPoint(z(0, 1, 0), z(0, -l.position.y, 0)), Lh.applyMatrix4(l.matrixWorld, ok);
6418
6418
  const d = o.ray.intersectPlane(Lh, z());
6419
6419
  if (d) {
@@ -6530,12 +6530,12 @@ var Ud;
6530
6530
  }
6531
6531
  })(Ud || (Ud = {}));
6532
6532
  const E_ = /* @__PURE__ */ Symbol("gltf-loader-internal-usage-tracker"), ak = x("debugusers");
6533
- class ka {
6533
+ class Oa {
6534
6534
  get name() {
6535
6535
  return "NEEDLE_internal_usage_tracker";
6536
6536
  }
6537
6537
  static isLoading(e) {
6538
- return ka._loadingProcesses > 0;
6538
+ return Oa._loadingProcesses > 0;
6539
6539
  }
6540
6540
  static _loadingProcesses = 0;
6541
6541
  parser;
@@ -6546,7 +6546,7 @@ class ka {
6546
6546
  this.parser = e, this._getDependency = this.parser.getDependency, this._loadingId = Date.now().toString();
6547
6547
  }
6548
6548
  beforeRoot() {
6549
- ka._loadingProcesses++;
6549
+ Oa._loadingProcesses++;
6550
6550
  const e = this, t = this._getDependency;
6551
6551
  return this.parser.getDependency = function(i, n) {
6552
6552
  const o = t.call(this, i, n);
@@ -6554,7 +6554,7 @@ class ka {
6554
6554
  }, null;
6555
6555
  }
6556
6556
  afterRoot(e) {
6557
- ka._loadingProcesses--, this.parser.getDependency = this._getDependency;
6557
+ Oa._loadingProcesses--, this.parser.getDependency = this._getDependency;
6558
6558
  for (const t of this._loadedObjects)
6559
6559
  delete t[E_], t instanceof M && (t.parent || t instanceof H && setTimeout(() => {
6560
6560
  ak && console.warn("> GLTF LOADER: Mesh not used in scene!", t), t.material = null, t.geometry = null;
@@ -6591,13 +6591,13 @@ const ku = x("trackresources");
6591
6591
  function u0() {
6592
6592
  return ku === "dispose";
6593
6593
  }
6594
- let $r = !0;
6595
- ku === 0 && ($r = !1);
6594
+ let Wr = !0;
6595
+ ku === 0 && (Wr = !1);
6596
6596
  function jD(s) {
6597
- $r = s;
6597
+ Wr = s;
6598
6598
  }
6599
6599
  function ck() {
6600
- return $r;
6600
+ return Wr;
6601
6601
  }
6602
6602
  const f0 = /* @__PURE__ */ Symbol("disposable");
6603
6603
  function hk(s, e) {
@@ -6622,7 +6622,7 @@ function Ae(s) {
6622
6622
  else if (s instanceof M)
6623
6623
  s.visible = !1;
6624
6624
  else if (s instanceof _n) {
6625
- ea(s);
6625
+ ta(s);
6626
6626
  for (const e of Object.keys(s.attributes)) {
6627
6627
  const t = s.attributes[e];
6628
6628
  Ae(t);
@@ -6633,7 +6633,7 @@ function Ae(s) {
6633
6633
  for (const e of s)
6634
6634
  e instanceof be && Ae(e);
6635
6635
  else if (s instanceof be) {
6636
- ea(s);
6636
+ ta(s);
6637
6637
  for (const t of Object.keys(s)) {
6638
6638
  const i = s[t];
6639
6639
  i instanceof xe && Ae(i);
@@ -6644,10 +6644,10 @@ function Ae(s) {
6644
6644
  const i = e[t];
6645
6645
  i instanceof xe ? Ae(i) : i instanceof Gi && Ae(i.value);
6646
6646
  }
6647
- } else s instanceof xe ? (ea(s), ea(s.source), s.source?.data instanceof ImageBitmap && ea(s.source.data)) : s instanceof aS ? (ea(s.boneTexture), s.boneTexture = null) : s instanceof lS || !(s instanceof M) && vr && console.warn("Unknown object type", s);
6647
+ } else s instanceof xe ? (ta(s), ta(s.source), s.source?.data instanceof ImageBitmap && ta(s.source.data)) : s instanceof aS ? (ta(s.boneTexture), s.boneTexture = null) : s instanceof lS || !(s instanceof M) && vr && console.warn("Unknown object type", s);
6648
6648
  }
6649
6649
  }
6650
- function ea(s) {
6650
+ function ta(s) {
6651
6651
  s && ((vr || u0() || ku) && console.warn("🧨 FREE", s), s instanceof ImageBitmap || "dispose" in s && typeof s.dispose == "function" && s.dispose());
6652
6652
  }
6653
6653
  function FD(s) {
@@ -6667,18 +6667,18 @@ function UD(s) {
6667
6667
  const vr = x("debugresourceusers") || x("debugmemory"), Lc = /* @__PURE__ */ Symbol("needle-resource-users"), Ql = /* @__PURE__ */ Symbol("needle-resource-users-count");
6668
6668
  function Ht(s, e) {
6669
6669
  hg(s, e, function(t, i) {
6670
- $r && !Ic.raycasting && (zd(Lc, this, t, !1), zd(Lc, this, i, !0));
6670
+ Wr && !Ic.raycasting && (zd(Lc, this, t, !1), zd(Lc, this, i, !0));
6671
6671
  });
6672
6672
  }
6673
- $r && (Ht(H.prototype, "material"), Ht(H.prototype, "geometry"), Ht(be.prototype, "map"), Ht(be.prototype, "bumpMap"), Ht(be.prototype, "alphaMap"), Ht(be.prototype, "normalMap"), Ht(be.prototype, "displacementMap"), Ht(be.prototype, "roughnessMap"), Ht(be.prototype, "metalnessMap"), Ht(be.prototype, "emissiveMap"), Ht(be.prototype, "specularMap"), Ht(be.prototype, "envMap"), Ht(be.prototype, "lightMap"), Ht(be.prototype, "aoMap"), Ht(be.prototype, "gradientMap"));
6673
+ Wr && (Ht(H.prototype, "material"), Ht(H.prototype, "geometry"), Ht(be.prototype, "map"), Ht(be.prototype, "bumpMap"), Ht(be.prototype, "alphaMap"), Ht(be.prototype, "normalMap"), Ht(be.prototype, "displacementMap"), Ht(be.prototype, "roughnessMap"), Ht(be.prototype, "metalnessMap"), Ht(be.prototype, "emissiveMap"), Ht(be.prototype, "specularMap"), Ht(be.prototype, "envMap"), Ht(be.prototype, "lightMap"), Ht(be.prototype, "aoMap"), Ht(be.prototype, "gradientMap"));
6674
6674
  function uk(s) {
6675
- if ($r === !1) return;
6675
+ if (Wr === !1) return;
6676
6676
  const e = s[Lc];
6677
6677
  if (e)
6678
6678
  for (const t of e)
6679
6679
  zd(Lc, t, s, !1);
6680
6680
  }
6681
- $r && hg(be.prototype, "dispose", function() {
6681
+ Wr && hg(be.prototype, "dispose", function() {
6682
6682
  uk(this);
6683
6683
  });
6684
6684
  let em = 0;
@@ -6700,13 +6700,13 @@ function zd(s, e, t, i) {
6700
6700
  } else if (e && n.has(e)) {
6701
6701
  n.delete(e);
6702
6702
  let o = t[Ql] || 0;
6703
- o > 0 && (o -= 1, t[Ql] = o), vr && console.warn(`🔴 Removed user of "${t.type}"`, e, t, o, "users:", n), o <= 0 && (ka.isLoading(t) || (ku && console.warn(`🔴 Removed all user of "${t.type}"`, t), u0() && Ae(t)));
6703
+ o > 0 && (o -= 1, t[Ql] = o), vr && console.warn(`🔴 Removed user of "${t.type}"`, e, t, o, "users:", n), o <= 0 && (Oa.isLoading(t) || (ku && console.warn(`🔴 Removed all user of "${t.type}"`, t), u0() && Ae(t)));
6704
6704
  }
6705
6705
  t[s] = n;
6706
6706
  }
6707
6707
  try {
6708
6708
  hg(
6709
- Br.prototype,
6709
+ Fr.prototype,
6710
6710
  "render",
6711
6711
  function() {
6712
6712
  em++;
@@ -6767,7 +6767,7 @@ var Nd;
6767
6767
  ((s) => {
6768
6768
  s.experimentalSmartHierarchyUpdate = !1;
6769
6769
  })(Nd || (Nd = {}));
6770
- function Oa(s, e) {
6770
+ function Ma(s, e) {
6771
6771
  try {
6772
6772
  e || s();
6773
6773
  } catch (t) {
@@ -6819,7 +6819,7 @@ Did you add and remove a component in the same frame?`), Ee.splice(e, 1), e--;
6819
6819
  } catch (i) {
6820
6820
  console.error(i);
6821
6821
  }
6822
- t.__internalAwake !== void 0 && (t.gameObject || console.error("Calling awake for a component without a GameObject", t, t.gameObject), fc(t.gameObject), t.activeAndEnabled && Oa(t.__internalAwake.bind(t)));
6822
+ t.__internalAwake !== void 0 && (t.gameObject || console.error("Calling awake for a component without a GameObject", t, t.gameObject), fc(t.gameObject), t.activeAndEnabled && Ma(t.__internalAwake.bind(t)));
6823
6823
  } catch (t) {
6824
6824
  console.error(t), gs(Ee[e], s), Ee.splice(e, 1), e--;
6825
6825
  }
@@ -6827,7 +6827,7 @@ Did you add and remove a component in the same frame?`), Ee.splice(e, 1), e--;
6827
6827
  try {
6828
6828
  const t = Ee[e];
6829
6829
  if (t.destroyed || t.enabled === !1 || (fc(t.gameObject), t.activeAndEnabled === !1)) continue;
6830
- t.__internalEnable !== void 0 && (t.enabled = !0, Oa(t.__internalEnable.bind(t)));
6830
+ t.__internalEnable !== void 0 && (t.enabled = !0, Ma(t.__internalEnable.bind(t)));
6831
6831
  } catch (t) {
6832
6832
  console.error(t), gs(Ee[e], s), Ee.splice(e, 1), e--;
6833
6833
  }
@@ -6854,7 +6854,7 @@ function _0(s, e) {
6854
6854
  const i = s.new_script_start[t];
6855
6855
  if (e !== void 0 && i.gameObject !== e || i.destroyed || i.activeAndEnabled === !1)
6856
6856
  continue;
6857
- Oa(i.__internalAwake.bind(i)), i.enabled && (Oa(i.__internalEnable.bind(i)), Oa(i.__internalStart.bind(i)), s.new_script_start.splice(t, 1), t--);
6857
+ Ma(i.__internalAwake.bind(i)), i.enabled && (Ma(i.__internalEnable.bind(i)), Ma(i.__internalStart.bind(i)), s.new_script_start.splice(t, 1), t--);
6858
6858
  } catch (i) {
6859
6859
  console.error(i), gs(s.new_script_start[t], s), s.new_script_start.splice(t, 1), t--;
6860
6860
  }
@@ -6905,7 +6905,7 @@ function b0(s, e, t, i = 0) {
6905
6905
  }
6906
6906
  const r = s[bo] !== e;
6907
6907
  r && (s[bo] = e, fk && console.warn("ACTIVE CHANGE", s.name, n, s.visible, e, "changed?" + r, s), gk(s, (l) => {
6908
- e ? l.enabled && (Oa(l.__internalAwake.bind(l)), l.enabled && l.__internalEnable()) : l.__didAwake && l.enabled && (l.__didEnable = !1, l.onDisable());
6908
+ e ? l.enabled && (Ma(l.__internalAwake.bind(l)), l.enabled && l.__internalEnable()) : l.__didAwake && l.enabled && (l.__didEnable = !1, l.onDisable());
6909
6909
  }));
6910
6910
  let a = !0;
6911
6911
  if (s.children)
@@ -7076,7 +7076,7 @@ function x0(s, e, t, i) {
7076
7076
  if (l.guid) {
7077
7077
  Wd && console.log("[Local] new instance", "gameobject:", r?.guid);
7078
7078
  const c = new xk(n.guid, l.guid);
7079
- c.seed = a, e.deleteOnDisconnect === !0 && (c.deleteStateOnDisconnect = !0), o && (o.position && (Array.isArray(o.position) ? c.position = { x: o.position[0], y: o.position[1], z: o.position[2] } : c.position = { x: o.position.x, y: o.position.y, z: o.position.z }), o.rotation && (o.rotation instanceof ct ? o.rotation = new V().setFromEuler(o.rotation) : o.rotation instanceof Array && (o.rotation = new V().fromArray(o.rotation)), c.rotation = { x: o.rotation.x, y: o.rotation.y, z: o.rotation.z, w: o.rotation.w }), o.scale && (Array.isArray(o.scale) ? c.scale = { x: o.scale[0], y: o.scale[1], z: o.scale[2] } : c.scale = { x: o.scale.x, y: o.scale.y, z: o.scale.z })), c.position || (c.position = { x: l.position.x, y: l.position.y, z: l.position.z }), c.rotation || (c.rotation = { x: l.quaternion.x, y: l.quaternion.y, z: l.quaternion.z, w: l.quaternion.w }), c.scale || (c.scale = { x: l.scale.x, y: l.scale.y, z: l.scale.z }), c.visible = n.visible, o?.parent && (typeof o.parent == "string" ? c.parent = o.parent : c.parent = o.parent.guid), c.hostData = t, i === !1 && (c.dontSave = !0), !e?.context?.connection && L() && console.debug("Object will be instantiated but it will not be synced: not connected", n.guid), e.context.connection.isInRoom && da.push(new WeakRef(l)), e?.context?.connection.send("new-instance-created", c);
7079
+ c.seed = a, e.deleteOnDisconnect === !0 && (c.deleteStateOnDisconnect = !0), o && (o.position && (Array.isArray(o.position) ? c.position = { x: o.position[0], y: o.position[1], z: o.position[2] } : c.position = { x: o.position.x, y: o.position.y, z: o.position.z }), o.rotation && (o.rotation instanceof ct ? o.rotation = new V().setFromEuler(o.rotation) : o.rotation instanceof Array && (o.rotation = new V().fromArray(o.rotation)), c.rotation = { x: o.rotation.x, y: o.rotation.y, z: o.rotation.z, w: o.rotation.w }), o.scale && (Array.isArray(o.scale) ? c.scale = { x: o.scale[0], y: o.scale[1], z: o.scale[2] } : c.scale = { x: o.scale.x, y: o.scale.y, z: o.scale.z })), c.position || (c.position = { x: l.position.x, y: l.position.y, z: l.position.z }), c.rotation || (c.rotation = { x: l.quaternion.x, y: l.quaternion.y, z: l.quaternion.z, w: l.quaternion.w }), c.scale || (c.scale = { x: l.scale.x, y: l.scale.y, z: l.scale.z }), c.visible = n.visible, o?.parent && (typeof o.parent == "string" ? c.parent = o.parent : c.parent = o.parent.guid), c.hostData = t, i === !1 && (c.dontSave = !0), !e?.context?.connection && L() && console.debug("Object will be instantiated but it will not be synced: not connected", n.guid), e.context.connection.isInRoom && ua.push(new WeakRef(l)), e?.context?.connection.send("new-instance-created", c);
7080
7080
  } else console.warn("Missing guid, can not send new instance event", l);
7081
7081
  }
7082
7082
  return r;
@@ -7084,7 +7084,7 @@ function x0(s, e, t, i) {
7084
7084
  function Sk() {
7085
7085
  return Math.random() * 9999999;
7086
7086
  }
7087
- const da = new Array();
7087
+ const ua = new Array();
7088
7088
  function Ck(s) {
7089
7089
  s.connection.beginListen("new-instance-created", async (e) => {
7090
7090
  const t = await Ok(e.originalGuid, s.scene);
@@ -7096,21 +7096,21 @@ function Ck(s) {
7096
7096
  }
7097
7097
  const i = new es();
7098
7098
  e.position && (i.position = new _(e.position.x, e.position.y, e.position.z)), e.rotation && (i.rotation = new V(e.rotation.x, e.rotation.y, e.rotation.z, e.rotation.w)), e.scale && (i.scale = new _(e.scale.x, e.scale.y, e.scale.z)), i.parent = e.parent, e.seed && (i.idProvider = new Ut(e.seed)), i.visible = e.visible, i.context = s, Wd && s.alias && console.log("[Remote] instantiate in: " + s.alias);
7099
- const n = Rr(t, i);
7100
- da.push(new WeakRef(n)), n && (e.parent === "scene" && s.scene.add(n), Wd && console.log("[Remote] new instance", "gameobject:", n?.guid, t));
7099
+ const n = Er(t, i);
7100
+ ua.push(new WeakRef(n)), n && (e.parent === "scene" && s.scene.add(n), Wd && console.log("[Remote] new instance", "gameobject:", n?.guid, t));
7101
7101
  }), s.connection.beginListen("left-room", () => {
7102
- da.length > 0 && console.debug(`Left networking room, cleaning up ${da.length} instantiated objects`);
7103
- for (const e of da) {
7102
+ ua.length > 0 && console.debug(`Left networking room, cleaning up ${ua.length} instantiated objects`);
7103
+ for (const e of ua) {
7104
7104
  const t = e.deref();
7105
7105
  t && t.destroy();
7106
7106
  }
7107
- da.length = 0;
7107
+ ua.length = 0;
7108
7108
  });
7109
7109
  }
7110
7110
  function Pk(s, e) {
7111
7111
  const t = Sk(), i = e ?? new es();
7112
7112
  i.idProvider = new Ut(t);
7113
- const n = Rr(s, i);
7113
+ const n = Er(s, i);
7114
7114
  return { seed: t, instance: n };
7115
7115
  }
7116
7116
  const S0 = {};
@@ -7580,7 +7580,7 @@ function am(s, e, t, i, n) {
7580
7580
  if (!h.$serializedTypes && r.prototype.$serializedTypes && (h.$serializedTypes = r.prototype.$serializedTypes), h.$serializedTypes && rm(h, s, t), n && r !== void 0)
7581
7581
  try {
7582
7582
  let d = null;
7583
- i.serializer && (d = i.serializer.onDeserialize(s, t)), d || (d = new r(), gt && console.log("Create concrete instance for persistent asset", n, "instance:", d), Ga(d, n)), n.__concreteInstance = d, n = d;
7583
+ i.serializer && (d = i.serializer.onDeserialize(s, t)), d || (d = new r(), gt && console.log("Create concrete instance for persistent asset", n, "instance:", d), qa(d, n)), n.__concreteInstance = d, n = d;
7584
7584
  } catch (d) {
7585
7585
  console.error("Error creating instance or creating values on instance", d, n, r);
7586
7586
  }
@@ -7622,7 +7622,7 @@ function Wk(s) {
7622
7622
  return fd;
7623
7623
  }
7624
7624
  const lm = /* @__PURE__ */ Symbol("assigned component properties");
7625
- function Ga(s, e, t, i) {
7625
+ function qa(s, e, t, i) {
7626
7626
  if (e == null || s == null) return;
7627
7627
  s[lm] = !0;
7628
7628
  const n = s.constructor?.name ?? "unknown";
@@ -7740,12 +7740,12 @@ function Mu(s, e, t) {
7740
7740
  return i || Gn(s, e, t);
7741
7741
  }
7742
7742
  const A0 = new Ut("addComponentIdProvider");
7743
- function Ma(s, e, t = !0) {
7744
- s.userData || (s.userData = {}), s.userData.components || (s.userData.components = []), s.userData.components.push(e), e.gameObject = s, (e.guid === void 0 || e.guid === "invalid") && (e.guid = A0.generateUUID()), xg(s), Og(e, e.context);
7743
+ function Ra(s, e, t = !0, i = !0) {
7744
+ s.userData || (s.userData = {}), s.userData.components || (s.userData.components = []), s.userData.components.push(e), e.gameObject = s, (e.guid === void 0 || e.guid === "invalid") && (e.guid = A0.generateUUID()), xg(s), i && Og(e, e.context);
7745
7745
  try {
7746
7746
  t && e.__internalAwake && (fc(s), e.activeAndEnabled && e.__internalAwake()), yg.dispatchComponentLifecycleEvent("component-added", e);
7747
- } catch (i) {
7748
- console.error(i);
7747
+ } catch (n) {
7748
+ console.error(n);
7749
7749
  }
7750
7750
  return e;
7751
7751
  }
@@ -7754,7 +7754,7 @@ function Gn(s, e, t, i) {
7754
7754
  const n = new e();
7755
7755
  t && n.__internalNewInstanceCreated(t);
7756
7756
  let o = !0;
7757
- return i?.callAwake != null && (o = i.callAwake), Ma(s, n, o);
7757
+ return i?.callAwake != null && (o = i.callAwake), Ra(s, n, o);
7758
7758
  }
7759
7759
  if (e.destroyed)
7760
7760
  return console.warn("Can not move/add a destroyed component", e), e;
@@ -8028,7 +8028,7 @@ function L0(s, e) {
8028
8028
  return Mc(s, e, !0, !0);
8029
8029
  }
8030
8030
  const D0 = /* @__PURE__ */ Symbol("isDestroyed");
8031
- function qa(s) {
8031
+ function Xa(s) {
8032
8032
  return s[D0];
8033
8033
  }
8034
8034
  function oO(s, e) {
@@ -8074,7 +8074,7 @@ function hm(s, e = !0, t = !0) {
8074
8074
  hm(r, e, !1);
8075
8075
  t && n.removeFromParent();
8076
8076
  }
8077
- function Xa(s, e, t = !0) {
8077
+ function Rr(s, e, t = !0) {
8078
8078
  return j0(s, e, t);
8079
8079
  }
8080
8080
  function* Cg(s, e, t = !1, i = 999, n = 0) {
@@ -8111,7 +8111,7 @@ function j0(s, e, t, i = 0) {
8111
8111
  }
8112
8112
  }
8113
8113
  }
8114
- function Rr(s, e) {
8114
+ function Er(s, e) {
8115
8115
  if ("isAssetReference" in s)
8116
8116
  return s.instantiate(e ?? void 0);
8117
8117
  let t = null;
@@ -8198,7 +8198,7 @@ function B0(s, e, t, i, n, o) {
8198
8198
  return l;
8199
8199
  }
8200
8200
  function rO(s, e, t) {
8201
- Ga(e, s, void 0, {
8201
+ qa(e, s, void 0, {
8202
8202
  // onAssigned: (target, key, _oldValue, value) => {
8203
8203
  // if (value !== null && typeof value === "object") {
8204
8204
  // const serializable = target as ISerializable;
@@ -8475,7 +8475,7 @@ class ne {
8475
8475
  throw new Error('Context is required when sourceId is a string. When you call this method from a component you can call it with "getOrCreate(this, url)" where "this" is the component.');
8476
8476
  } else
8477
8477
  i = e.context, e = e.sourceId;
8478
- const n = Fr(e, t);
8478
+ const n = Ur(e, t);
8479
8479
  Gs && console.log("GetOrCreate Addressable from", e, t, "FinalPath=", n);
8480
8480
  const o = i.addressables, r = o.findAssetReference(n);
8481
8481
  if (r) return r;
@@ -8542,7 +8542,7 @@ class ne {
8542
8542
  return e === this.url && (this.mustLoad && await this.loadAssetAsync(), this.asset) ? this.asset : null;
8543
8543
  }
8544
8544
  get mustLoad() {
8545
- return !this.asset || this.asset.__destroyed === !0 || qa(this.asset) === !0;
8545
+ return !this.asset || this.asset.__destroyed === !0 || Xa(this.asset) === !0;
8546
8546
  }
8547
8547
  _loadingPromise = null;
8548
8548
  /**
@@ -8621,7 +8621,7 @@ class ne {
8621
8621
  if (l)
8622
8622
  return l;
8623
8623
  } else {
8624
- const a = Rr(this.asset, o);
8624
+ const a = Er(this.asset, o);
8625
8625
  if (a)
8626
8626
  return a;
8627
8627
  }
@@ -8677,11 +8677,11 @@ class hO extends sn {
8677
8677
  }
8678
8678
  new hO();
8679
8679
  const dO = Promise.resolve(null);
8680
- class Ra {
8680
+ class Ea {
8681
8681
  static imageReferences = /* @__PURE__ */ new Map();
8682
8682
  static getOrCreate(e) {
8683
- let t = Ra.imageReferences.get(e);
8684
- return t || (t = new Ra(e), Ra.imageReferences.set(e, t)), t;
8683
+ let t = Ea.imageReferences.get(e);
8684
+ return t || (t = new Ea(e), Ea.imageReferences.set(e, t)), t;
8685
8685
  }
8686
8686
  constructor(e) {
8687
8687
  this.url = e;
@@ -8714,24 +8714,24 @@ class Ra {
8714
8714
  }
8715
8715
  class uO extends sn {
8716
8716
  constructor() {
8717
- super([Ra], "ImageReferenceSerializer");
8717
+ super([Ea], "ImageReferenceSerializer");
8718
8718
  }
8719
8719
  onSerialize(e, t) {
8720
8720
  return null;
8721
8721
  }
8722
8722
  onDeserialize(e, t) {
8723
8723
  if (typeof e == "string") {
8724
- const i = Fr(t.gltfId, e);
8725
- return Ra.getOrCreate(i);
8724
+ const i = Ur(t.gltfId, e);
8725
+ return Ea.getOrCreate(i);
8726
8726
  }
8727
8727
  }
8728
8728
  }
8729
8729
  new uO();
8730
- class Ea {
8730
+ class Ta {
8731
8731
  static cache = /* @__PURE__ */ new Map();
8732
8732
  static getOrCreate(e) {
8733
- let t = Ea.cache.get(e);
8734
- return t || (t = new Ea(e), Ea.cache.set(e, t)), t;
8733
+ let t = Ta.cache.get(e);
8734
+ return t || (t = new Ta(e), Ta.cache.set(e, t)), t;
8735
8735
  }
8736
8736
  /** Load the file binary data
8737
8737
  * @returns a promise that resolves to the binary data of the file. Make sure to await this request or use `.then(res => {...})` to get the result.
@@ -8754,15 +8754,15 @@ class Ea {
8754
8754
  }
8755
8755
  class fO extends sn {
8756
8756
  constructor() {
8757
- super([Ea], "FileReferenceSerializer");
8757
+ super([Ta], "FileReferenceSerializer");
8758
8758
  }
8759
8759
  onSerialize(e, t) {
8760
8760
  return null;
8761
8761
  }
8762
8762
  onDeserialize(e, t) {
8763
8763
  if (typeof e == "string") {
8764
- const i = Fr(t.gltfId, e);
8765
- return Ea.getOrCreate(i);
8764
+ const i = Ur(t.gltfId, e);
8765
+ return Ta.getOrCreate(i);
8766
8766
  }
8767
8767
  }
8768
8768
  }
@@ -8844,8 +8844,8 @@ class Ls {
8844
8844
  continue;
8845
8845
  }
8846
8846
  for (const a in r.tracks) {
8847
- const l = r.tracks[a], c = Fa.parseTrackName(l.name);
8848
- let h = Fa.findNode(t, c.nodeName);
8847
+ const l = r.tracks[a], c = Ua.parseTrackName(l.name);
8848
+ let h = Ua.findNode(t, c.nodeName);
8849
8849
  if (!h) {
8850
8850
  const f = l.__objectName ?? l.name.substring(0, l.name.indexOf("."));
8851
8851
  if (h = t.getObjectByProperty("uuid", f), !h)
@@ -8935,7 +8935,7 @@ function* mO(s) {
8935
8935
  for (s.then(() => e = !1), s.catch(() => e = !1); e; )
8936
8936
  yield;
8937
8937
  }
8938
- const $_ = "NEEDLE_lightmaps", ta = x("debuglightmapsextension") || x("debuglightmaps");
8938
+ const $_ = "NEEDLE_lightmaps", ia = x("debuglightmapsextension") || x("debuglightmaps");
8939
8939
  var Un = /* @__PURE__ */ ((s) => (s[s.Lightmap = 0] = "Lightmap", s[s.Skybox = 1] = "Skybox", s[s.Reflection = 2] = "Reflection", s))(Un || {});
8940
8940
  class gO {
8941
8941
  get name() {
@@ -8953,25 +8953,25 @@ class gO {
8953
8953
  const i = t[$_];
8954
8954
  if (i) {
8955
8955
  const n = i.textures;
8956
- return n?.length ? (ta && console.log(i), new Promise(async (o, r) => {
8956
+ return n?.length ? (ia && console.log(i), new Promise(async (o, r) => {
8957
8957
  const a = [];
8958
8958
  for (const c of n)
8959
8959
  if (c.pointer) {
8960
- ta && console.log(c);
8960
+ ia && console.log(c);
8961
8961
  let h = null;
8962
8962
  if (c.pointer.startsWith("/textures/") || /** legacy support e.g. SOC */
8963
8963
  c.pointer.startsWith("textures/"))
8964
- ta && console.log("Load texture from gltf", c.pointer), h = vg(this.parser, c.pointer).then((d) => this.resolveTexture(c, d));
8964
+ ia && console.log("Load texture from gltf", c.pointer), h = vg(this.parser, c.pointer).then((d) => this.resolveTexture(c, d));
8965
8965
  else if (typeof c.pointer == "string") {
8966
- ta && console.log("Load texture from path", c.pointer);
8967
- const d = Fr(this.source, c.pointer);
8966
+ ia && console.log("Load texture from path", c.pointer);
8967
+ const d = Ur(this.source, c.pointer);
8968
8968
  let f;
8969
8969
  d.endsWith(".exr") ? f = new ng(this.parser.options.manager) : d.endsWith(".hdr") ? f = new Sv(this.parser.options.manager) : f = new kr(this.parser.options.manager), h = f.loadAsync(d, void 0).then((p) => this.resolveTexture(c, p));
8970
8970
  } else c.pointer;
8971
8971
  h && a.push(h);
8972
8972
  }
8973
8973
  const l = await Dv(a);
8974
- l?.anyFailed && (L() || ta) && console.error("[NEEDLE_lightmaps]Error during extension loading:", l), o();
8974
+ l?.anyFailed && (L() || ia) && console.error("[NEEDLE_lightmaps]Error during extension loading:", l), o();
8975
8975
  })) : null;
8976
8976
  }
8977
8977
  }
@@ -8979,10 +8979,10 @@ class gO {
8979
8979
  }
8980
8980
  resolveTexture(e, t) {
8981
8981
  const i = t;
8982
- ta && console.log("Light Texture loaded:", i), i?.isTexture && (this.registry ? (i.colorSpace = Ts, this.registry.registerTexture(this.source, e.type, i, e.index)) : console.log(Un[e.type], e.pointer, i));
8982
+ ia && console.log("Light Texture loaded:", i), i?.isTexture && (this.registry ? (i.colorSpace = Ts, this.registry.registerTexture(this.source, e.type, i, e.index)) : console.log(Un[e.type], e.pointer, i));
8983
8983
  }
8984
8984
  }
8985
- const ia = !!x("debuglightmaps");
8985
+ const na = !!x("debuglightmaps");
8986
8986
  class yO {
8987
8987
  context;
8988
8988
  map = /* @__PURE__ */ new Map();
@@ -8993,7 +8993,7 @@ class yO {
8993
8993
  this.context = e;
8994
8994
  }
8995
8995
  registerTexture(e, t, i, n) {
8996
- ia && console.log("Registering ", Un[t] + ' "' + e + '"', i), this.map.has(e) || this.map.set(e, /* @__PURE__ */ new Map());
8996
+ na && console.log("Registering ", Un[t] + ' "' + e + '"', i), this.map.has(e) || this.map.set(e, /* @__PURE__ */ new Map());
8997
8997
  const o = this.map.get(e), r = o?.get(t) ?? [];
8998
8998
  r.length < n && (r.length = n + 1), hk(i, !1), r[n] = i, o?.set(t, r);
8999
8999
  }
@@ -9001,19 +9001,19 @@ class yO {
9001
9001
  return this.tryGet(e, Un.Lightmap, t);
9002
9002
  }
9003
9003
  tryGetSkybox(e) {
9004
- return ia && console.log("[Get Skybox]", e, this.map), this.tryGet(e, Un.Skybox, 0);
9004
+ return na && console.log("[Get Skybox]", e, this.map), this.tryGet(e, Un.Skybox, 0);
9005
9005
  }
9006
9006
  tryGetReflection(e) {
9007
- return ia && console.log("[Get Reflection]", e, this.map), this.tryGet(e, Un.Reflection, 0);
9007
+ return na && console.log("[Get Reflection]", e, this.map), this.tryGet(e, Un.Reflection, 0);
9008
9008
  }
9009
9009
  tryGet(e, t, i) {
9010
9010
  if (!e)
9011
- return ia && console.warn("Missing source id"), null;
9011
+ return na && console.warn("Missing source id"), null;
9012
9012
  const n = this.map.get(e);
9013
9013
  if (!n)
9014
- return ia && console.warn(`[Lighting] No ${Un[t]} texture entry for`, e), null;
9014
+ return na && console.warn(`[Lighting] No ${Un[t]} texture entry for`, e), null;
9015
9015
  const o = n.get(t);
9016
- return o === void 0 ? (ia && console.warn(`[Lighting] No ${Un[t]} texture for`, e, "index", i), null) : !o?.length || o.length <= i ? null : o[i];
9016
+ return o === void 0 ? (na && console.warn(`[Lighting] No ${Un[t]} texture for`, e, "index", i), null) : !o?.length || o.length <= i ? null : o[i];
9017
9017
  }
9018
9018
  }
9019
9019
  Zt.lights_fragment_maps = Zt.lights_fragment_maps.replace("vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );", `
@@ -9698,13 +9698,13 @@ function z0(s) {
9698
9698
  case "none":
9699
9699
  return Ed;
9700
9700
  case "neutral":
9701
- return Ua;
9701
+ return za;
9702
9702
  case "aces":
9703
9703
  return _u;
9704
9704
  case "agx":
9705
9705
  return yu;
9706
9706
  case "khronos_neutral":
9707
- return Ua;
9707
+ return za;
9708
9708
  default:
9709
9709
  console.warn("[PostProcessing] Unknown tone mapping mode", s);
9710
9710
  return;
@@ -9778,11 +9778,11 @@ async function LO(s, e) {
9778
9778
  onAttribute: () => {
9779
9779
  L() ? console.warn("[QR Code] 'loading-logo-src' is deprecated, please use 'logo-src' or 'qrcode-logo-src' instead.") : console.debug("[QR Code] 'loading-logo-src' is deprecated.");
9780
9780
  }
9781
- }), c && e.showLogo !== !0 && h === !1) || (h && !c && (console.warn("[QR Code] Custom logo is only available with a commercial license. Using default Needle logo. Please get a commercial license at https://needle.tools/pricing."), h = null), h ||= Va, !h)) return;
9781
+ }), c && e.showLogo !== !0 && h === !1) || (h && !c && (console.warn("[QR Code] Custom logo is only available with a commercial license. Using default Needle logo. Please get a commercial license at https://needle.tools/pricing."), h = null), h ||= Ha, !h)) return;
9782
9782
  let d = !1;
9783
9783
  e.showLogo !== !1 && (a.src = h, d = await new Promise((w, T) => {
9784
9784
  a.onload = () => w(!0), a.onerror = (k) => {
9785
- const R = h !== Va ? "'" + h + "'" : null;
9785
+ const R = h !== Ha ? "'" + h + "'" : null;
9786
9786
  console.error("[QR Code] Error loading logo image for QR code", R, L() ? k : ""), w(!1);
9787
9787
  };
9788
9788
  }));
@@ -10065,7 +10065,7 @@ class $0 extends HTMLElement {
10065
10065
  }
10066
10066
  /** Switch the logo between full and compact versions */
10067
10067
  setType(e) {
10068
- e === "full" ? (this.logoElement.src = x_, this.logoElement.classList.remove("with-text"), this.logoElement.classList.remove("compact")) : (this.logoElement.src = Va, this.logoElement.classList.add("with-text"), this.logoElement.classList.add("compact"));
10068
+ e === "full" ? (this.logoElement.src = x_, this.logoElement.classList.remove("with-text"), this.logoElement.classList.remove("compact")) : (this.logoElement.src = Ha, this.logoElement.classList.add("with-text"), this.logoElement.classList.add("compact"));
10069
10069
  }
10070
10070
  }
10071
10071
  customElements.get(Xd) || customElements.define(Xd, $0);
@@ -10194,7 +10194,7 @@ class jO {
10194
10194
  borderWidth: 5e-3
10195
10195
  });
10196
10196
  const e = P.get("ObjectRaycaster");
10197
- return e && Ma(this.menu, new e()), this.menu;
10197
+ return e && Ra(this.menu, new e()), this.menu;
10198
10198
  }
10199
10199
  _poweredByNeedleElement;
10200
10200
  handleNeedleWatermark() {
@@ -10214,7 +10214,7 @@ class jO {
10214
10214
  backgroundOpacity: 1
10215
10215
  }), this._poweredByNeedleElement["needle:use_eventsystem"] = !0;
10216
10216
  const e = new X_(this._context, () => globalThis.open("https://needle.tools", "_self"));
10217
- Ma(this._poweredByNeedleElement, e);
10217
+ Ra(this._poweredByNeedleElement, e);
10218
10218
  const t = new Pe.Text({
10219
10219
  textContent: "Powered by",
10220
10220
  width: "auto",
@@ -10285,7 +10285,7 @@ class jO {
10285
10285
  });
10286
10286
  i.add(n), i["needle:use_eventsystem"] = !0;
10287
10287
  const o = new X_(this._context, () => t.click());
10288
- return Ma(i, o), new BO(this, e, t, i, n);
10288
+ return Ra(i, o), new BO(this, e, t, i, n);
10289
10289
  }
10290
10290
  }
10291
10291
  class BO {
@@ -10387,7 +10387,7 @@ class X_ {
10387
10387
  e.use(), this.onclick();
10388
10388
  }
10389
10389
  }
10390
- const hr = "needle-menu", ba = x("debugmenu"), Q_ = x("debugnoncommercial");
10390
+ const hr = "needle-menu", va = x("debugmenu"), Q_ = x("debugnoncommercial");
10391
10391
  let wo = class {
10392
10392
  static setElementPriority(e, t) {
10393
10393
  e.setAttribute("priority", String(t));
@@ -10430,8 +10430,8 @@ let wo = class {
10430
10430
  }, ci.sendEvent(this._context, "needle-menu", {
10431
10431
  action: "button_added_via_postmessage"
10432
10432
  }), this._menu.appendChild(o);
10433
- } else ba && console.error("NeedleMenu: unknown postMessage event", t);
10434
- } else ba && console.warn("NeedleMenu: unknown postMessage type", i, t);
10433
+ } else va && console.error("NeedleMenu: unknown postMessage event", t);
10434
+ } else va && console.warn("NeedleMenu: unknown postMessage type", i, t);
10435
10435
  }
10436
10436
  };
10437
10437
  onStartXR = (e) => {
@@ -10943,7 +10943,7 @@ class Tu extends HTMLElement {
10943
10943
  setTimeout(() => o = this._context);
10944
10944
  let r = 0;
10945
10945
  const a = (h, d) => {
10946
- ba && console.log("Set menu visible", d), o?.isInAR && o.arOverlayElement ? h != o.arOverlayElement && o.arOverlayElement.appendChild(this) : this.parentNode != this._domElement?.shadowRoot && this._domElement?.shadowRoot?.appendChild(this), this.style.display = d ? "flex" : "none", this.style.visibility = "visible", this.style.opacity = "1";
10946
+ va && console.log("Set menu visible", d), o?.isInAR && o.arOverlayElement ? h != o.arOverlayElement && o.arOverlayElement.appendChild(this) : this.parentNode != this._domElement?.shadowRoot && this._domElement?.shadowRoot?.appendChild(this), this.style.display = d ? "flex" : "none", this.style.visibility = "visible", this.style.opacity = "1";
10947
10947
  };
10948
10948
  let l = !1;
10949
10949
  new MutationObserver((h) => {
@@ -10958,7 +10958,7 @@ class Tu extends HTMLElement {
10958
10958
  } finally {
10959
10959
  l = !1;
10960
10960
  }
10961
- }).observe(this.root, { childList: !0, subtree: !0, attributes: !0 }), ba && this.___insertDebugOptions();
10961
+ }).observe(this.root, { childList: !0, subtree: !0, attributes: !0 }), va && this.___insertDebugOptions();
10962
10962
  }
10963
10963
  _sizeChangeInterval;
10964
10964
  connectedCallback() {
@@ -11119,7 +11119,7 @@ class Tu extends HTMLElement {
11119
11119
  * if we dont have any content and logo then we hide the menu
11120
11120
  */
11121
11121
  handleMenuVisible() {
11122
- ba && console.log("Update VisibleState: Any Content?", this.hasAnyContent), this.hasAnyContent ? this.root.style.display = "" : this.root.style.display = "none", this.root.classList.toggle("has-options", this.hasAnyVisibleOptions), this.root.classList.toggle("has-no-options", !this.hasAnyVisibleOptions);
11122
+ va && console.log("Update VisibleState: Any Content?", this.hasAnyContent), this.hasAnyContent ? this.root.style.display = "" : this.root.style.display = "none", this.root.classList.toggle("has-options", this.hasAnyVisibleOptions), this.root.classList.toggle("has-no-options", !this.hasAnyVisibleOptions);
11123
11123
  }
11124
11124
  /** @returns true if we have any content OR a logo */
11125
11125
  get hasAnyContent() {
@@ -11160,7 +11160,7 @@ class Tu extends HTMLElement {
11160
11160
  let a = -1;
11161
11161
  const l = () => {
11162
11162
  const c = o - r();
11163
- return ba && c !== a && (a = c, Ie(`Menu space left: ${c.toFixed(0)}px`)), c;
11163
+ return va && c !== a && (a = c, Ie(`Menu space left: ${c.toFixed(0)}px`)), c;
11164
11164
  };
11165
11165
  };
11166
11166
  updateCompactFoldoutItem() {
@@ -11612,7 +11612,7 @@ class N {
11612
11612
  const t = this.domElement?.shadowRoot?.querySelector("canvas");
11613
11613
  t && (e.canvas = t, Ze && console.log("Using canvas from shadow root", t));
11614
11614
  }
11615
- return Ze && console.log("Using Renderer Parameters:", e, this.domElement), this.renderer = new Br(e), this.renderer.debug.checkShaderErrors = L() || x("checkshadererrors") === !0, this.renderer.toneMappingExposure = 1, this.renderer.toneMapping = Ed, this.renderer.setClearColor(new re("lightgrey"), 0), this.renderer.shadowMap.enabled = !0, this.renderer.shadowMap.type = fS, this.renderer.setSize(this.domWidth, this.domHeight), this.renderer.outputColorSpace = As, this.renderer.nodes = {
11615
+ return Ze && console.log("Using Renderer Parameters:", e, this.domElement), this.renderer = new Fr(e), this.renderer.debug.checkShaderErrors = L() || x("checkshadererrors") === !0, this.renderer.toneMappingExposure = 1, this.renderer.toneMapping = Ed, this.renderer.setClearColor(new re("lightgrey"), 0), this.renderer.shadowMap.enabled = !0, this.renderer.shadowMap.type = fS, this.renderer.setSize(this.domWidth, this.domHeight), this.renderer.outputColorSpace = As, this.renderer.nodes = {
11616
11616
  library: new pS(),
11617
11617
  modelViewMatrix: null,
11618
11618
  modelNormalViewMatrix: null
@@ -11672,8 +11672,27 @@ class N {
11672
11672
  (o.left != -l || o.top != c) && (o.left = -l, o.right = l, o.top = c, o.bottom = -c, e.updateProjectionMatrix());
11673
11673
  }
11674
11674
  }
11675
- /** This will recreate the whole needle engine context and dispose the whole scene content
11676
- * All content will be reloaded (loading times might be faster due to browser caches)
11675
+ /**
11676
+ * Registers all uninitialized components found in the scene hierarchy with this context.
11677
+ * Components that have been added to objects (e.g. via `addComponent`) but are not yet registered
11678
+ * with a context will be collected and queued for initialization.
11679
+ * On the next frame, these components will go through the full lifecycle: `awake` → `onEnable` → `start` → `update`.
11680
+ *
11681
+ * This is useful when components are created outside of the normal glTF loading pipeline,
11682
+ * for example in an editor that adds components during edit mode and then needs to activate them for play mode.
11683
+ * @param root The root object to search for components. Defaults to the context's scene.
11684
+ * @returns The number of components that were newly registered.
11685
+ */
11686
+ registerSceneComponents(e) {
11687
+ const t = e ?? this.scene;
11688
+ if (!t) return 0;
11689
+ let i = 0;
11690
+ return Rr(t, (n) => {
11691
+ this.scripts.includes(n) || this.new_scripts.includes(n) || this.new_script_start.includes(n) || (this.new_scripts.push(n), i++);
11692
+ }, !0), i;
11693
+ }
11694
+ /** This will recreate the whole needle engine context and dispose the whole scene content
11695
+ * All content will be reloaded (loading times might be faster due to browser caches)
11677
11696
  * All scripts will be recreated */
11678
11697
  recreate() {
11679
11698
  this.clear(), this.create(this._originalCreationArgs);
@@ -11918,7 +11937,7 @@ Possible solutions:
11918
11937
  if (!this._mainCamera) {
11919
11938
  N.Current = this;
11920
11939
  let h = null;
11921
- Xa(this.scene, (d) => {
11940
+ Rr(this.scene, (d) => {
11922
11941
  const f = d;
11923
11942
  if (f?.isCamera) {
11924
11943
  if (fc(f.gameObject), !f.activeAndEnabled) return;
@@ -11988,7 +12007,7 @@ Possible solutions:
11988
12007
  if (!Array.isArray(c.file.parser.json.materials)) continue;
11989
12008
  for (let d = 0; d < c.file.parser.json.materials.length; d++) {
11990
12009
  const f = await c.file.parser.getDependency("material", d), p = new M();
11991
- p.position.x = d * 1.1, p.position.y = h, this.scene.add(p), zr.createPrimitive("ShaderBall", {
12010
+ p.position.x = d * 1.1, p.position.y = h, this.scene.add(p), Nr.createPrimitive("ShaderBall", {
11992
12011
  parent: p,
11993
12012
  material: f
11994
12013
  });
@@ -12843,7 +12862,7 @@ class C extends M {
12843
12862
  * @returns True if the GameObject has been destroyed
12844
12863
  */
12845
12864
  static isDestroyed(e) {
12846
- return qa(e);
12865
+ return Xa(e);
12847
12866
  }
12848
12867
  /**
12849
12868
  * Sets the active state of a GameObject
@@ -12894,7 +12913,7 @@ class C extends M {
12894
12913
  * @returns The last return value of the callback
12895
12914
  */
12896
12915
  static foreachComponent(e, t, i = !0) {
12897
- return Xa(e, t, i);
12916
+ return Rr(e, t, i);
12898
12917
  }
12899
12918
  /**
12900
12919
  * Creates a new instance of the provided object that will be replicated to all connected clients
@@ -12906,7 +12925,7 @@ class C extends M {
12906
12925
  return e ? x0(e, t) : null;
12907
12926
  }
12908
12927
  static instantiate(e, t = null) {
12909
- return "isAssetReference" in e, Rr(e, t);
12928
+ return "isAssetReference" in e, Er(e, t);
12910
12929
  }
12911
12930
  /**
12912
12931
  * Destroys an object on all connected clients (if in a networked session)
@@ -13414,7 +13433,7 @@ class E {
13414
13433
  * @param z Z-coordinate in world space
13415
13434
  */
13416
13435
  setWorldPosition(e, t, i) {
13417
- Na(this.gameObject, e, t, i);
13436
+ $a(this.gameObject, e, t, i);
13418
13437
  }
13419
13438
  /**
13420
13439
  * Gets the rotation of this component's GameObject in world space as a quaternion
@@ -13567,7 +13586,7 @@ q0([
13567
13586
  q0([
13568
13587
  u(C)
13569
13588
  ], Iu.prototype, "to");
13570
- var tM = Object.defineProperty, iM = Object.getOwnPropertyDescriptor, Wr = (s, e, t, i) => {
13589
+ var tM = Object.defineProperty, iM = Object.getOwnPropertyDescriptor, Vr = (s, e, t, i) => {
13571
13590
  for (var n = i > 1 ? void 0 : i ? iM(e, t) : e, o = s.length - 1, r; o >= 0; o--)
13572
13591
  (r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
13573
13592
  return i && n && tM(e, t, n), n;
@@ -13830,25 +13849,25 @@ class ei extends E {
13830
13849
  this.context.animations.registerAnimationMixer(this.mixer);
13831
13850
  }
13832
13851
  }
13833
- Wr([
13852
+ Vr([
13834
13853
  u()
13835
13854
  ], ei.prototype, "playAutomatically", 2);
13836
- Wr([
13855
+ Vr([
13837
13856
  u()
13838
13857
  ], ei.prototype, "randomStartTime", 2);
13839
- Wr([
13858
+ Vr([
13840
13859
  u(X0)
13841
13860
  ], ei.prototype, "minMaxSpeed", 2);
13842
- Wr([
13861
+ Vr([
13843
13862
  u(X0)
13844
13863
  ], ei.prototype, "minMaxOffsetNormalized", 2);
13845
- Wr([
13864
+ Vr([
13846
13865
  u()
13847
13866
  ], ei.prototype, "loop", 2);
13848
- Wr([
13867
+ Vr([
13849
13868
  u()
13850
13869
  ], ei.prototype, "clampWhenFinished", 2);
13851
- Wr([
13870
+ Vr([
13852
13871
  u(Oi)
13853
13872
  ], ei.prototype, "clips", 1);
13854
13873
  class nM {
@@ -14457,7 +14476,7 @@ Exit Time: ` + c, o.hasExitTime);
14457
14476
  const a = P.get(r.typeName);
14458
14477
  if (a) {
14459
14478
  const l = new a();
14460
- l.isStateMachineBehaviour && (l._context = this.context ?? void 0, Ga(l, r.properties), r.instance = l), st && console.log("Created animator controller behaviour", o.name, r.typeName, r.properties, l);
14479
+ l.isStateMachineBehaviour && (l._context = this.context ?? void 0, qa(l, r.properties), r.instance = l), st && console.log("Created animator controller behaviour", o.name, r.typeName, r.properties, l);
14461
14480
  } else
14462
14481
  (st || L()) && console.warn("Could not find AnimatorBehaviour type: " + r.typeName);
14463
14482
  }
@@ -14927,7 +14946,7 @@ class vs extends Xn {
14927
14946
  render(e, t, i) {
14928
14947
  if ("addPass" in i)
14929
14948
  this._unsupported_effectcomposer_warning || (console.warn("RenderTexture.render() does not yet support EffectComposer"), this._unsupported_effectcomposer_warning = !0);
14930
- else if (i instanceof Br) {
14949
+ else if (i instanceof Fr) {
14931
14950
  this.onBeforeRender();
14932
14951
  const o = i.getRenderTarget(), r = i.xr.enabled;
14933
14952
  i.xr.enabled = !1, i.setRenderTarget(this), i.clear(!0, !0, !0), i.render(e, t), i.setRenderTarget(o), i.xr.enabled = r, this.onAfterRender();
@@ -15035,7 +15054,7 @@ class Fs extends E {
15035
15054
  if (!this._projection || n) {
15036
15055
  Nh && console.log("Create/Update Ground Projection", e.name), this._projection?.removeFromParent();
15037
15056
  try {
15038
- this._projection = new za(e, this._height, this._radius, 64);
15057
+ this._projection = new Na(e, this._height, this._radius, 64);
15039
15058
  } catch (o) {
15040
15059
  console.error("Error creating three GroundProjection", o);
15041
15060
  return;
@@ -15377,7 +15396,7 @@ var A;
15377
15396
  e.ready = i;
15378
15397
  async function n() {
15379
15398
  if (e.MODULE) return e.MODULE;
15380
- const o = await import("./postprocessing-DGm6qJ-I.js").then((r) => r.index);
15399
+ const o = await import("./postprocessing-CI2x8Cln.js").then((r) => r.index);
15381
15400
  return e.MODULE = o, e.MAYBEMODULE = o, t.forEach((r) => r(o)), t.length = 0, o;
15382
15401
  }
15383
15402
  e.load = n;
@@ -15392,7 +15411,7 @@ var A;
15392
15411
  e.ready = i;
15393
15412
  async function n() {
15394
15413
  if (e.MODULE) return e.MODULE;
15395
- const o = await import("./postprocessing-DGm6qJ-I.js").then((r) => r.N8AO);
15414
+ const o = await import("./postprocessing-CI2x8Cln.js").then((r) => r.N8AO);
15396
15415
  return e.MODULE = o, e.MAYBEMODULE = o, t.forEach((r) => r(o)), t.length = 0, o;
15397
15416
  }
15398
15417
  e.load = n;
@@ -16473,7 +16492,7 @@ class RM extends sn {
16473
16492
  }
16474
16493
  onDeserialize(e, t) {
16475
16494
  if (typeof e == "string" && e.length > 0)
16476
- return Fr(t.gltfId, e);
16495
+ return Ur(t.gltfId, e);
16477
16496
  }
16478
16497
  }
16479
16498
  new RM();
@@ -16502,7 +16521,7 @@ class Zi extends Ya {
16502
16521
  }
16503
16522
  performRaycast(e = null) {
16504
16523
  if (!this.targets) return null;
16505
- e ??= new Nr(), e.targets = this.targets, e.results = this.raycastHits, e.useAcceleratedRaycast = !0;
16524
+ e ??= new $r(), e.targets = this.targets, e.results = this.raycastHits, e.useAcceleratedRaycast = !0;
16506
16525
  const t = e.testObject;
16507
16526
  this.ignoreSkinnedMeshes && (e.testObject = (n) => n instanceof yo ? "continue in children" : t ? t(n) : !0);
16508
16527
  const i = this.context.physics.raycast(e);
@@ -16542,14 +16561,14 @@ class Z0 {
16542
16561
  const i = this.tryFindCanvasGroup(e);
16543
16562
  if (i?.isCanvasGroup === !0 && (t && (t.canvasGroup = i), i.blocksRaycasts === !1 || i.interactable === !1))
16544
16563
  return !1;
16545
- const n = Xa(e, (o) => {
16564
+ const n = Rr(e, (o) => {
16546
16565
  if (o.isGraphic === !0) return o;
16547
16566
  }, !1);
16548
16567
  return t && n?.isGraphic === !0 && (t.graphic = n), !(n?.raycastTarget === !1 || n?.layer === 2);
16549
16568
  }
16550
16569
  static tryFindCanvasGroup(e) {
16551
16570
  if (!e) return null;
16552
- const t = Xa(e, (i) => {
16571
+ const t = Rr(e, (i) => {
16553
16572
  if (i.activeAndEnabled) {
16554
16573
  const n = i;
16555
16574
  if (n.blocksRaycasts !== void 0 && n.interactable !== void 0) return n;
@@ -16575,7 +16594,7 @@ function Kd(s, e) {
16575
16594
  for (const i of s.children)
16576
16595
  Kd(i, e);
16577
16596
  }
16578
- function ua(s, e, t) {
16597
+ function fa(s, e, t) {
16579
16598
  s[e] === void 0 && console.warn("Field", e, "is undefined on", s);
16580
16599
  const i = Proxy.revocable(s[e], {
16581
16600
  // get(target, prop, receiver) {
@@ -16677,7 +16696,7 @@ class hi extends E {
16677
16696
  if (e === void 0 || e.propagationStopped || e.defaultPrevented || e.used) return;
16678
16697
  const t = new Du(this.context.input, e);
16679
16698
  this._currentPointerEventName = e.type, t.inputSource = this.context.input, t.isClick = e.isClick, t.isDoubleClick = e.isDoubleClick, t.isDown = e.type == Be.PointerDown, t.isUp = e.type == Be.PointerUp, t.isPressed = this.context.input.getPointerPressed(e.pointerId);
16680
- const i = new Nr();
16699
+ const i = new $r();
16681
16700
  e.hasRay ? i.ray = e.ray : i.screenPoint = this.context.input.getPointerPositionRC(e.pointerId), i.allowSlowRaycastFallback = e.isClick || e.isDoubleClick;
16682
16701
  const n = this.performRaycast(i);
16683
16702
  if (no && (t.isDown ? console.log("DOWN", { id: t.pointerId, hits: n.length }) : t.isUp && console.log("UP", { id: t.pointerId, hits: n.length }), t.isClick && console.log("CLICK", { id: t.pointerId, hits: n.length })), n) {
@@ -17286,7 +17305,7 @@ class ye extends E {
17286
17305
  Lt && U.DrawLine(i, o, 5592575, 10), this.setLookTargetPosition(o, !0);
17287
17306
  }
17288
17307
  if (!this.setLookTargetFromConstraint()) {
17289
- const i = new Nr();
17308
+ const i = new $r();
17290
17309
  i.screenPoint = new Z(0, 0), i.lineThreshold = 0.1;
17291
17310
  const n = this.context.physics.raycast(i);
17292
17311
  n.length > 0 && this.setLookTargetPosition(n[0].point, !0), jM && console.log("OrbitControls hits", ...n);
@@ -17548,7 +17567,7 @@ var FM = Object.defineProperty, UM = Object.getOwnPropertyDescriptor, ti = (s, e
17548
17567
  for (var n = i > 1 ? void 0 : i ? UM(e, t) : e, o = s.length - 1, r; o >= 0; o--)
17549
17568
  (r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
17550
17569
  return i && n && FM(e, t, n), n;
17551
- }, Ta = /* @__PURE__ */ ((s) => (s[s.None = 0] = "None", s[s.Skybox = 1] = "Skybox", s[s.SolidColor = 2] = "SolidColor", s[s.Uninitialized = 4] = "Uninitialized", s))(Ta || {});
17570
+ }, Aa = /* @__PURE__ */ ((s) => (s[s.None = 0] = "None", s[s.Skybox = 1] = "Skybox", s[s.SolidColor = 2] = "SolidColor", s[s.Uninitialized = 4] = "Uninitialized", s))(Aa || {});
17552
17571
  const so = x("debugcam"), ab = x("debugscreenpointtoray"), $t = class Zl extends E {
17553
17572
  /**
17554
17573
  * Returns whether this component is a camera
@@ -17771,7 +17790,7 @@ const so = x("debugcam"), ab = x("debugscreenpointtoray"), $t = class Zl extends
17771
17790
  }
17772
17791
  /** @internal */
17773
17792
  onEnable() {
17774
- so && console.log(`Camera enabled: "${this.name}". ClearFlags=${Ta[this._clearFlags]}`, this), this.buildCamera(), (this.tag == "MainCamera" || !this.context.mainCameraComponent) && (this.context.setCurrentCamera(this), NM(this)), this.applyClearFlagsIfIsActiveCamera({ applySkybox: !0 });
17793
+ so && console.log(`Camera enabled: "${this.name}". ClearFlags=${Aa[this._clearFlags]}`, this), this.buildCamera(), (this.tag == "MainCamera" || !this.context.mainCameraComponent) && (this.context.setCurrentCamera(this), NM(this)), this.applyClearFlagsIfIsActiveCamera({ applySkybox: !0 });
17775
17794
  }
17776
17795
  /** @internal */
17777
17796
  onDisable() {
@@ -17827,7 +17846,7 @@ const so = x("debugcam"), ab = x("debugscreenpointtoray"), $t = class Zl extends
17827
17846
  return;
17828
17847
  }
17829
17848
  if (this.fieldOfView = this.fieldOfView, so) {
17830
- const i = `[Camera] Apply ClearFlags: ${Ta[this._clearFlags]} - "${this.name}"`;
17849
+ const i = `[Camera] Apply ClearFlags: ${Aa[this._clearFlags]} - "${this.name}"`;
17831
17850
  console.debug(i);
17832
17851
  }
17833
17852
  const t = this.context.domElement.getAttribute("background-image") || this.context.domElement.getAttribute("background-color");
@@ -18381,7 +18400,7 @@ class Fe extends E {
18381
18400
  return this.connectionId === this.context.connection.connectionId;
18382
18401
  }
18383
18402
  }
18384
- class Aa {
18403
+ class Ia {
18385
18404
  static Pois = [];
18386
18405
  static LastChangeTime = 0;
18387
18406
  static Add(e, t, i = null) {
@@ -18433,7 +18452,7 @@ class Jd extends E {
18433
18452
  });
18434
18453
  }
18435
18454
  update() {
18436
- if ((!this.context.connection.isConnected || this._model?.hasOwnership) && (Aa.LastChangeTime !== this._lastPoiChangedTime && (this._lastPoiChangedTime = Aa.LastChangeTime, this._lookDuration = 0), this.selectTarget(), this._currentTargetObject && this.context.time.frameCount % 10 === 0 && this.target)) {
18455
+ if ((!this.context.connection.isConnected || this._model?.hasOwnership) && (Ia.LastChangeTime !== this._lastPoiChangedTime && (this._lastPoiChangedTime = Ia.LastChangeTime, this._lookDuration = 0), this.selectTarget(), this._currentTargetObject && this.context.time.frameCount % 10 === 0 && this.target)) {
18437
18456
  const t = te(this._currentTargetObject);
18438
18457
  Et(this.target, t), this.context.connection.isConnected && this.avatar && (this.context.connection.send("avatar-look-target-changed", this._targetModel), this._targetModel.guid = this.avatar.guid, this._targetModel.position.copy(t));
18439
18458
  }
@@ -18441,7 +18460,7 @@ class Jd extends E {
18441
18460
  selectTarget() {
18442
18461
  if (this.context.time.time - this._lastUpdateTime > this._lookDuration) {
18443
18462
  this._lastUpdateTime = this.context.time.time, this._lookDuration = Math.random() * 0.5 + 0.2;
18444
- const t = Aa.Pois;
18463
+ const t = Ia.Pois;
18445
18464
  if (t.length > 0) {
18446
18465
  const i = t[Math.floor(Math.random() * t.length)];
18447
18466
  if (i && i.obj) {
@@ -18905,7 +18924,7 @@ var tR = Object.defineProperty, Bg = (s, e, t, i) => {
18905
18924
  return n && tR(e, t, n), n;
18906
18925
  };
18907
18926
  const iR = "noVoip", nR = x("debugvoip");
18908
- class Vr extends E {
18927
+ class Hr extends E {
18909
18928
  autoConnect = !0;
18910
18929
  runInBackground = !0;
18911
18930
  createMenuButton = !0;
@@ -19060,13 +19079,13 @@ class Vr extends E {
19060
19079
  }
19061
19080
  Bg([
19062
19081
  u()
19063
- ], Vr.prototype, "autoConnect");
19082
+ ], Hr.prototype, "autoConnect");
19064
19083
  Bg([
19065
19084
  u()
19066
- ], Vr.prototype, "runInBackground");
19085
+ ], Hr.prototype, "runInBackground");
19067
19086
  Bg([
19068
19087
  u()
19069
- ], Vr.prototype, "createMenuButton");
19088
+ ], Hr.prototype, "createMenuButton");
19070
19089
  var sR = Object.defineProperty, ew = (s, e, t, i) => {
19071
19090
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
19072
19091
  (r = s[o]) && (n = r(e, t, n) || n);
@@ -19082,7 +19101,7 @@ class Bu extends E {
19082
19101
  mouthChangeLength = 0;
19083
19102
  awake() {
19084
19103
  setTimeout(() => {
19085
- this.voip = C.findObjectOfType(Vr, this.context), this.marker || (this.marker = C.getComponentInParent(this.gameObject, Fe));
19104
+ this.voip = C.findObjectOfType(Hr, this.context), this.marker || (this.marker = C.getComponentInParent(this.gameObject, Fe));
19086
19105
  }, 3e3);
19087
19106
  }
19088
19107
  update() {
@@ -19140,7 +19159,7 @@ class tw extends E {
19140
19159
  marker = null;
19141
19160
  _startPosition = null;
19142
19161
  awake() {
19143
- this.voip = C.findObjectOfType(Vr, this.context), this.marker = C.getComponentInParent(this.gameObject, Fe);
19162
+ this.voip = C.findObjectOfType(Hr, this.context), this.marker = C.getComponentInParent(this.gameObject, Fe);
19144
19163
  }
19145
19164
  update() {
19146
19165
  if (!this.voip || !this.marker || this.context.time.frameCount % 10 !== 0) return;
@@ -19156,7 +19175,7 @@ var rR = Object.defineProperty, aR = (s, e, t, i) => {
19156
19175
  (r = s[o]) && (n = r(e, t, n) || n);
19157
19176
  return n && rR(e, t, n), n;
19158
19177
  };
19159
- const fa = x("debugxrflags"), iw = x("disablexrflags");
19178
+ const pa = x("debugxrflags"), iw = x("disablexrflags");
19160
19179
  iw && console.warn("XRFlags are disabled");
19161
19180
  var bs = /* @__PURE__ */ ((s) => (s[s.Never = 0] = "Never", s[s.Browser = 1] = "Browser", s[s.AR = 2] = "AR", s[s.VR = 4] = "VR", s[s.FirstPerson = 8] = "FirstPerson", s[s.ThirdPerson = 16] = "ThirdPerson", s[s.All = 4294967295] = "All", s))(bs || {});
19162
19181
  class li {
@@ -19166,7 +19185,7 @@ class li {
19166
19185
  return (this.Mask & e) !== 0;
19167
19186
  }
19168
19187
  Set(e) {
19169
- fa && console.warn("Set XR flag state to", e), this.Mask = e, pn.Apply();
19188
+ pa && console.warn("Set XR flag state to", e), this.Mask = e, pn.Apply();
19170
19189
  }
19171
19190
  Enable(e) {
19172
19191
  this.Mask |= e, pn.Apply();
@@ -19210,11 +19229,11 @@ const nw = class hs extends E {
19210
19229
  return;
19211
19230
  let t;
19212
19231
  const i = e;
19213
- if (i && typeof i == "number" && (console.assert(typeof i == "number", "XRFlag.UpdateVisible: state must be a number", i), fa && console.log(i), hs.buffer.Mask = i, e = hs.buffer), e instanceof li ? (fa && console.warn(this.name, "use passed in mask", e.Mask, this.visibleIn), t = e.Has(this.visibleIn)) : (fa && console.log(this.name, "use global mask"), li.Global.Has(this.visibleIn)), t !== void 0)
19232
+ if (i && typeof i == "number" && (console.assert(typeof i == "number", "XRFlag.UpdateVisible: state must be a number", i), pa && console.log(i), hs.buffer.Mask = i, e = hs.buffer), e instanceof li ? (pa && console.warn(this.name, "use passed in mask", e.Mask, this.visibleIn), t = e.Has(this.visibleIn)) : (pa && console.log(this.name, "use global mask"), li.Global.Has(this.visibleIn)), t !== void 0)
19214
19233
  if (t)
19215
- fa && console.log(this.name, "is visible", this.gameObject.uuid), C.setActive(this.gameObject, !0);
19234
+ pa && console.log(this.name, "is visible", this.gameObject.uuid), C.setActive(this.gameObject, !0);
19216
19235
  else {
19217
- if (fa && console.log(this.name, "is not visible", this.gameObject.uuid), !this.gameObject.visible) return;
19236
+ if (pa && console.log(this.name, "is not visible", this.gameObject.uuid), !this.gameObject.visible) return;
19218
19237
  this.gameObject.visible = !1;
19219
19238
  }
19220
19239
  }
@@ -19581,7 +19600,7 @@ pi([
19581
19600
  u(_)
19582
19601
  ], zg.prototype, "center");
19583
19602
  let Ng = zg;
19584
- class Hr extends Pn {
19603
+ class Gr extends Pn {
19585
19604
  sharedMesh;
19586
19605
  convex = !1;
19587
19606
  /**
@@ -19619,10 +19638,10 @@ class Hr extends Pn {
19619
19638
  }
19620
19639
  pi([
19621
19640
  u(H)
19622
- ], Hr.prototype, "sharedMesh");
19641
+ ], Gr.prototype, "sharedMesh");
19623
19642
  pi([
19624
19643
  u()
19625
- ], Hr.prototype, "convex");
19644
+ ], Gr.prototype, "convex");
19626
19645
  class Oo extends Pn {
19627
19646
  center = new _(0, 0, 0);
19628
19647
  radius = 0.5;
@@ -19770,7 +19789,7 @@ class To extends E {
19770
19789
  } else this.animator?.setBool("falling", !1);
19771
19790
  }
19772
19791
  }
19773
- _raycastOptions = new Nr();
19792
+ _raycastOptions = new $r();
19774
19793
  }
19775
19794
  Us([
19776
19795
  u(nl)
@@ -19804,7 +19823,7 @@ Mg((s) => {
19804
19823
  isNaN(i) || (t.opacity = i, t.darkness = i);
19805
19824
  }
19806
19825
  });
19807
- const Gr = class Jl extends E {
19826
+ const qr = class Jl extends E {
19808
19827
  static _instances = /* @__PURE__ */ new Map();
19809
19828
  /**
19810
19829
  * Create contact shadows for the scene. Automatically fits the shadows to the scene.
@@ -19978,23 +19997,23 @@ const Gr = class Jl extends E {
19978
19997
  };
19979
19998
  sl([
19980
19999
  u()
19981
- ], Gr.prototype, "autoFit");
20000
+ ], qr.prototype, "autoFit");
19982
20001
  sl([
19983
20002
  u()
19984
- ], Gr.prototype, "darkness");
20003
+ ], qr.prototype, "darkness");
19985
20004
  sl([
19986
20005
  u()
19987
- ], Gr.prototype, "opacity");
20006
+ ], qr.prototype, "opacity");
19988
20007
  sl([
19989
20008
  u()
19990
- ], Gr.prototype, "blur");
20009
+ ], qr.prototype, "blur");
19991
20010
  sl([
19992
20011
  u()
19993
- ], Gr.prototype, "occludeBelowGround");
20012
+ ], qr.prototype, "occludeBelowGround");
19994
20013
  sl([
19995
20014
  u()
19996
- ], Gr.prototype, "backfaceShadows");
19997
- let zu = Gr;
20015
+ ], qr.prototype, "backfaceShadows");
20016
+ let zu = qr;
19998
20017
  const hb = [], rp = new Array(), gR = x("logstats");
19999
20018
  class lw extends E {
20000
20019
  onEnable() {
@@ -20068,7 +20087,7 @@ class $g extends E {
20068
20087
  _R([
20069
20088
  u()
20070
20089
  ], $g.prototype, "visibleOn");
20071
- var bR = Object.defineProperty, qr = (s, e, t, i) => {
20090
+ var bR = Object.defineProperty, Xr = (s, e, t, i) => {
20072
20091
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
20073
20092
  (r = s[o]) && (n = r(e, t, n) || n);
20074
20093
  return n && bR(e, t, n), n;
@@ -20287,28 +20306,28 @@ const Ao = class Ni extends E {
20287
20306
  Wn && console.log("DRAG END", t, t?.visible), this._dragHelper.setSelected(null, this.context);
20288
20307
  }
20289
20308
  };
20290
- qr([
20309
+ Xr([
20291
20310
  u()
20292
20311
  ], Ao.prototype, "dragMode");
20293
- qr([
20312
+ Xr([
20294
20313
  u()
20295
20314
  ], Ao.prototype, "snapGridResolution");
20296
- qr([
20315
+ Xr([
20297
20316
  u()
20298
20317
  ], Ao.prototype, "keepRotation");
20299
- qr([
20318
+ Xr([
20300
20319
  u()
20301
20320
  ], Ao.prototype, "xrDragMode");
20302
- qr([
20321
+ Xr([
20303
20322
  u()
20304
20323
  ], Ao.prototype, "xrKeepRotation");
20305
- qr([
20324
+ Xr([
20306
20325
  u()
20307
20326
  ], Ao.prototype, "xrDistanceDragFactor");
20308
- qr([
20327
+ Xr([
20309
20328
  u()
20310
20329
  ], Ao.prototype, "showGizmo");
20311
- let va = Ao;
20330
+ let wa = Ao;
20312
20331
  class vR {
20313
20332
  handlerA;
20314
20333
  handlerB;
@@ -20658,7 +20677,7 @@ class uw {
20658
20677
  static geometry = new _n().setFromPoints([new _(0, 0, 0), new _(0, -1, 0)]);
20659
20678
  constructor(e) {
20660
20679
  this._camera = e;
20661
- const t = new Ba(uw.geometry), i = t.material;
20680
+ const t = new Fa(uw.geometry), i = t.material;
20662
20681
  i.color = new re(0.4, 0.4, 0.4), t.layers.set(2), t.name = "line", t.scale.y = 1, this._groundLine = t;
20663
20682
  const n = new fu(0.5, 22, 22), o = new Se({ color: i.color }), r = new H(n, o);
20664
20683
  r.visible = !1, r.layers.set(2), this._groundMarker = r;
@@ -20667,12 +20686,12 @@ class uw {
20667
20686
  if (this._selected && t)
20668
20687
  for (const i of this._rbs)
20669
20688
  i.wakeUp(), i.setVelocity(0, 0, 0);
20670
- if (this._selected && Aa.Remove(t, this._selected), this._selected = e, this._context = t, this._rbs.length = 0, e ? (t.scene.add(this._groundLine), t.scene.add(this._groundMarker)) : (this._groundLine.removeFromParent(), this._groundMarker.removeFromParent()), this._selected) {
20689
+ if (this._selected && Ia.Remove(t, this._selected), this._selected = e, this._context = t, this._rbs.length = 0, e ? (t.scene.add(this._groundLine), t.scene.add(this._groundMarker)) : (this._groundLine.removeFromParent(), this._groundMarker.removeFromParent()), this._selected) {
20671
20690
  if (!t) {
20672
20691
  console.error("DragHelper: no context");
20673
20692
  return;
20674
20693
  }
20675
- Aa.Add(t, this._selected, null), this._groundOffsetFactor = 0, this._hasGroundPlane = !0, this._groundOffset.set(0, 0, 0), this._requireUpdateGroundPlane = !0, this.onUpdateScreenSpacePlane();
20694
+ Ia.Add(t, this._selected, null), this._groundOffsetFactor = 0, this._hasGroundPlane = !0, this._groundOffset.set(0, 0, 0), this._requireUpdateGroundPlane = !0, this.onUpdateScreenSpacePlane();
20676
20695
  }
20677
20696
  }
20678
20697
  _groundOffsetVector = new _(0, 1, 0);
@@ -20700,7 +20719,7 @@ class uw {
20700
20719
  }
20701
20720
  onUpdateGroundPlane() {
20702
20721
  if (!this._selected || !this._context) return;
20703
- const e = te(this._selected), t = new Es(z(0, 0.1, 0).add(e), z(0, -1, 0)), i = new Nr();
20722
+ const e = te(this._selected), t = new Es(z(0, 0.1, 0).add(e), z(0, -1, 0)), i = new $r();
20704
20723
  i.testObject = (o) => o !== this._selected;
20705
20724
  const n = this._context.physics.raycastFromRay(t, i);
20706
20725
  for (let o = 0; o < n.length; o++) {
@@ -20749,13 +20768,13 @@ var dr;
20749
20768
  e.set(n.guid, o);
20750
20769
  const r = new M();
20751
20770
  r.position.y = -0.5, o.add(r);
20752
- const a = new H(new ja(1, 1, 1, 1, 1, 1), new Se(
20771
+ const a = new H(new Ba(1, 1, 1, 1, 1, 1), new Se(
20753
20772
  { color: 14540253, wireframe: !0, transparent: !0, opacity: 0.3 }
20754
20773
  ));
20755
20774
  a.position.y = 0.5, r.add(a);
20756
20775
  const l = new M();
20757
20776
  r.add(l);
20758
- const c = new H(new ja(1, 1, 1, 1, 1, 1), new Se({
20777
+ const c = new H(new Ba(1, 1, 1, 1, 1, 1), new Se({
20759
20778
  color: 12307660,
20760
20779
  transparent: !0,
20761
20780
  opacity: 0.4
@@ -20781,14 +20800,14 @@ var dr;
20781
20800
  }
20782
20801
  s.removePreview = i;
20783
20802
  })(dr || (dr = {}));
20784
- const wa = [], vd = [];
20803
+ const xa = [], vd = [];
20785
20804
  var ub;
20786
20805
  ((s) => {
20787
20806
  function e(i, n) {
20788
20807
  const o = { name: n?.name, priority: n?.priority ?? 0, callback: i };
20789
- return wa.push(o), wa.sort((r, a) => r.priority === a.priority ? 0 : r.priority > a.priority ? -1 : 1), () => {
20790
- const r = wa.indexOf(o);
20791
- r >= 0 && wa.splice(r, 1);
20808
+ return xa.push(o), xa.sort((r, a) => r.priority === a.priority ? 0 : r.priority > a.priority ? -1 : 1), () => {
20809
+ const r = xa.indexOf(o);
20810
+ r >= 0 && xa.splice(r, 1);
20792
20811
  };
20793
20812
  }
20794
20813
  s.onCreateCustomModelLoader = e;
@@ -21251,7 +21270,7 @@ function fw(s) {
21251
21270
  if (s.parent && s.parent.type === "Group" && (e = Ss.getBlock(s.parent), e))
21252
21271
  return { block: e, owner: s.parent };
21253
21272
  }
21254
- const Ia = /* @__PURE__ */ Symbol("beforeRenderingFlag"), wm = /* @__PURE__ */ new WeakMap(), xm = /* @__PURE__ */ new WeakMap(), ER = function(s, e, t, i) {
21273
+ const La = /* @__PURE__ */ Symbol("beforeRenderingFlag"), wm = /* @__PURE__ */ new WeakMap(), xm = /* @__PURE__ */ new WeakMap(), ER = function(s, e, t, i) {
21255
21274
  const n = Ss.getBlock(s);
21256
21275
  if (n && n.hasOverrides()) {
21257
21276
  const o = n.getOverride("transmission")?.value, r = n.getOverride("transparent")?.value;
@@ -21269,7 +21288,7 @@ const Ia = /* @__PURE__ */ Symbol("beforeRenderingFlag"), wm = /* @__PURE__ */ n
21269
21288
  if (!r.includes(n)) return;
21270
21289
  } else if (r !== n)
21271
21290
  return;
21272
- this[Ia] === void 0 && (this[Ia] = /* @__PURE__ */ new WeakSet()), this[Ia].add(n);
21291
+ this[La] === void 0 && (this[La] = /* @__PURE__ */ new WeakSet()), this[La].add(n);
21273
21292
  const a = fw(this);
21274
21293
  if (!a)
21275
21294
  return;
@@ -21304,8 +21323,8 @@ const Ia = /* @__PURE__ */ Symbol("beforeRenderingFlag"), wm = /* @__PURE__ */ n
21304
21323
  }
21305
21324
  g && (d.needsUpdate = !0), d._forceRefresh = !0;
21306
21325
  }, pb = function(s, e, t, i, n, o) {
21307
- if (this[Ia] === void 0 || !this[Ia].has(n)) return;
21308
- this[Ia].delete(n);
21326
+ if (this[La] === void 0 || !this[La].has(n)) return;
21327
+ this[La].delete(n);
21309
21328
  const r = fw(this);
21310
21329
  if (!r)
21311
21330
  return;
@@ -21488,7 +21507,7 @@ typeof window < "u" && window.addEventListener("unhandledrejection", (s) => {
21488
21507
  });
21489
21508
  const An = gt, Vh = "$___Export_Components", BR = "NEEDLE_components";
21490
21509
  class FR {
21491
- [ha];
21510
+ [da];
21492
21511
  }
21493
21512
  class UR {
21494
21513
  node;
@@ -21554,7 +21573,7 @@ class pw {
21554
21573
  const d = Yn().writeBuiltinComponentData(h, this.context);
21555
21574
  d !== null && c.push(d);
21556
21575
  }
21557
- c.length > 0 && (l[ha] = c, An && console.log("DID WRITE", n, "nodeIndex", r, c));
21576
+ c.length > 0 && (l[da] = c, An && console.log("DID WRITE", n, "nodeIndex", r, c));
21558
21577
  }
21559
21578
  }
21560
21579
  // -------------------------------------
@@ -21606,7 +21625,7 @@ class pw {
21606
21625
  }
21607
21626
  async createComponents(e, t, i, n) {
21608
21627
  if (!n) return;
21609
- const o = n[ha];
21628
+ const o = n[da];
21610
21629
  if (o) {
21611
21630
  const r = new Array();
21612
21631
  An && console.log(i.name, o);
@@ -21626,7 +21645,7 @@ class pw {
21626
21645
  l && this.parser && r.push(
21627
21646
  vg(this.parser, l).catch((c) => console.error(`Error while resolving references (see console for details)
21628
21647
  `, c, i, l))
21629
- ), i.userData = i.userData || {}, i.userData[ha] = i.userData[ha] || [], i.userData[ha].push(l);
21648
+ ), i.userData = i.userData || {}, i.userData[da] = i.userData[da] || [], i.userData[da].push(l);
21630
21649
  }
21631
21650
  await Promise.all(r).catch((a) => {
21632
21651
  console.error("Error while loading components", a);
@@ -21693,7 +21712,7 @@ class zR {
21693
21712
  t.layers === void 0 && (t.layers = 0), e.userData.layer = t.layers, e.layers.disableAll(), e.layers.set(t.layers), e.userData.tag = t.tag ?? "none", e.hideFlags = 0, e.userData.static = t.static ?? !1, e.visible = t.activeSelf ?? !0, e.guid = t.guid;
21694
21713
  }
21695
21714
  }
21696
- const _b = "NEEDLE_lighting_settings", pa = x("debugenvlight");
21715
+ const _b = "NEEDLE_lighting_settings", ma = x("debugenvlight");
21697
21716
  class NR {
21698
21717
  get name() {
21699
21718
  return _b;
@@ -21709,7 +21728,7 @@ class NR {
21709
21728
  if (t) {
21710
21729
  const i = t[_b];
21711
21730
  if (i) {
21712
- pa && console.log('Loaded "' + this.name + '", src: "' + this.sourceId + '"', i);
21731
+ ma && console.log('Loaded "' + this.name + '", src: "' + this.sourceId + '"', i);
21713
21732
  let n;
21714
21733
  if (e.scene.children.length === 1) {
21715
21734
  const o = e.scene.children[0];
@@ -21742,7 +21761,7 @@ class Sm extends E {
21742
21761
  const t = this.environmentReflectionSource === dm.Skybox ? Un.Skybox : Un.Reflection, i = this.context.lightmaps.tryGet(this.sourceId, t, 0);
21743
21762
  this._hasReflection = i != null, i && this.context.sceneLighting.internalRegisterReflection(this.sourceId, i);
21744
21763
  }
21745
- this.enabled = !1, this.context.sceneLighting.internalRegisterSceneLightSettings(this), pa && window.addEventListener("keydown", (t) => {
21764
+ this.enabled = !1, this.context.sceneLighting.internalRegisterSceneLightSettings(this), ma && window.addEventListener("keydown", (t) => {
21746
21765
  this.destroyed || t.key === "l" && (this.enabled = !this.enabled);
21747
21766
  });
21748
21767
  const e = this.gameObject.userData?.components;
@@ -21759,23 +21778,23 @@ class Sm extends E {
21759
21778
  return 2.2 * F.lerp(0, 1.33, t);
21760
21779
  }
21761
21780
  onEnable() {
21762
- if (pa && console.warn("💡🟡 >>> Enable lighting", this.sourceId, this.enabled, this), this.ambientMode == pc.Flat) {
21781
+ if (ma && console.warn("💡🟡 >>> Enable lighting", this.sourceId, this.enabled, this), this.ambientMode == pc.Flat) {
21763
21782
  if (this.ambientLight && !this._ambientLightObj) {
21764
21783
  const e = this.calculateIntensityFactor(this.ambientLight);
21765
- this._ambientLightObj = new FS(this.ambientLight, this.ambientIntensity * e), pa && console.log("Created ambient light", this.sourceId, this._ambientLightObj, this.ambientIntensity, e);
21784
+ this._ambientLightObj = new FS(this.ambientLight, this.ambientIntensity * e), ma && console.log("Created ambient light", this.sourceId, this._ambientLightObj, this.ambientIntensity, e);
21766
21785
  }
21767
21786
  this._ambientLightObj && this.gameObject.add(this._ambientLightObj);
21768
21787
  } else if (this.ambientMode === pc.Trilight) {
21769
21788
  if (this.ambientTrilight) {
21770
21789
  const e = this.ambientTrilight[0], t = this.ambientTrilight[this.ambientTrilight.length - 1], i = this.calculateIntensityFactor(t);
21771
- this._hemisphereLightObj = new US(t, e, this.ambientIntensity * i), this.gameObject.add(this._hemisphereLightObj), pa && console.log("Created hemisphere ambient light", this.sourceId, this._hemisphereLightObj, this.ambientIntensity, i);
21790
+ this._hemisphereLightObj = new US(t, e, this.ambientIntensity * i), this.gameObject.add(this._hemisphereLightObj), ma && console.log("Created hemisphere ambient light", this.sourceId, this._hemisphereLightObj, this.ambientIntensity, i);
21772
21791
  }
21773
21792
  } else
21774
21793
  this._ambientLightObj && this._ambientLightObj.removeFromParent(), this._hemisphereLightObj && this._hemisphereLightObj.removeFromParent();
21775
21794
  this.sourceId && (this.context.domElement.getAttribute("environment-image") || this.context.sceneLighting.internalEnableReflection(this.sourceId));
21776
21795
  }
21777
21796
  onDisable() {
21778
- pa && console.warn("💡⚫ <<< Disable lighting:", this.sourceId, this), this._ambientLightObj && this._ambientLightObj.removeFromParent(), this._hemisphereLightObj && this._hemisphereLightObj.removeFromParent(), this.sourceId && this.context.sceneLighting.internalDisableReflection(this.sourceId);
21797
+ ma && console.warn("💡⚫ <<< Disable lighting:", this.sourceId, this), this._ambientLightObj && this._ambientLightObj.removeFromParent(), this._hemisphereLightObj && this._hemisphereLightObj.removeFromParent(), this.sourceId && this.context.sceneLighting.internalDisableReflection(this.sourceId);
21779
21798
  }
21780
21799
  }
21781
21800
  var Cm;
@@ -21813,7 +21832,7 @@ class $R extends zS {
21813
21832
  });
21814
21833
  }
21815
21834
  onLoaded(e) {
21816
- return zr.createPrimitive("ShaderBall", { material: e });
21835
+ return Nr.createPrimitive("ShaderBall", { material: e });
21817
21836
  }
21818
21837
  }
21819
21838
  class WR {
@@ -21847,7 +21866,7 @@ class WR {
21847
21866
  }
21848
21867
  }
21849
21868
  var mw = /* @__PURE__ */ ((s) => (s[s.INT = 5124] = "INT", s[s.FLOAT = 5126] = "FLOAT", s[s.FLOAT_VEC2 = 35664] = "FLOAT_VEC2", s[s.FLOAT_VEC3 = 35665] = "FLOAT_VEC3", s[s.FLOAT_VEC4 = 35666] = "FLOAT_VEC4", s[s.INT_VEC2 = 35667] = "INT_VEC2", s[s.INT_VEC3 = 35668] = "INT_VEC3", s[s.INT_VEC4 = 35669] = "INT_VEC4", s[s.BOOL = 35670] = "BOOL", s[s.BOOL_VEC2 = 35671] = "BOOL_VEC2", s[s.BOOL_VEC3 = 35672] = "BOOL_VEC3", s[s.BOOL_VEC4 = 35673] = "BOOL_VEC4", s[s.FLOAT_MAT2 = 35674] = "FLOAT_MAT2", s[s.FLOAT_MAT3 = 35675] = "FLOAT_MAT3", s[s.FLOAT_MAT4 = 35676] = "FLOAT_MAT4", s[s.SAMPLER_2D = 35678] = "SAMPLER_2D", s[s.SAMPLER_3D = 35680] = "SAMPLER_3D", s[s.SAMPLER_CUBE = 35681] = "SAMPLER_CUBE", s[s.UNKNOWN = 0] = "UNKNOWN", s))(mw || {});
21850
- const Dn = x("debugcustomshader"), na = "NEEDLE_techniques_webgl";
21869
+ const Dn = x("debugcustomshader"), sa = "NEEDLE_techniques_webgl";
21851
21870
  class VR {
21852
21871
  objectToWorldMatrix = new ee();
21853
21872
  worldToObjectMatrix = new ee();
@@ -21982,7 +22001,7 @@ class Te extends yv {
21982
22001
  }
21983
22002
  class HR {
21984
22003
  get name() {
21985
- return na;
22004
+ return sa;
21986
22005
  }
21987
22006
  parser;
21988
22007
  identifier;
@@ -21993,13 +22012,13 @@ class HR {
21993
22012
  const t = this.parser.json.materials[e];
21994
22013
  if (!t)
21995
22014
  return Dn && console.log(e, this.parser.json.materials), null;
21996
- if (!t.extensions || !t.extensions[na])
22015
+ if (!t.extensions || !t.extensions[sa])
21997
22016
  return Dn && console.log(`Material ${e} does not use NEEDLE_techniques_webgl`), null;
21998
22017
  Dn && console.log(`Material ${e} uses NEEDLE_techniques_webgl`, t);
21999
- const i = t.extensions[na].technique;
22018
+ const i = t.extensions[sa].technique;
22000
22019
  if (i < 0)
22001
22020
  return console.debug(`Material ${e} does not have a valid technique index`), null;
22002
- const n = this.parser.json.extensions[na];
22021
+ const n = this.parser.json.extensions[sa];
22003
22022
  if (!n)
22004
22023
  return Dn ? console.error("Missing shader data", this.parser.json.extensions) : console.debug("Missing custom shader data in parser.json.extensions"), null;
22005
22024
  Dn && console.log(n);
@@ -22044,8 +22063,8 @@ class HR {
22044
22063
  }
22045
22064
  }
22046
22065
  let p = !1;
22047
- if (t.extensions && t.extensions[na]) {
22048
- const v = t.extensions[na];
22066
+ if (t.extensions && t.extensions[sa]) {
22067
+ const v = t.extensions[sa];
22049
22068
  if (v.technique === i) {
22050
22069
  Dn && console.log(t.name, "Material Properties", v);
22051
22070
  for (const b in v.values) {
@@ -22157,13 +22176,13 @@ const GR = x("debugextensions");
22157
22176
  let eu;
22158
22177
  const qR = import("./vendor-ixwD-vv2.js").then((s) => s.index$2).then(async (s) => (eu = s.GLTFAnimationPointerExtension, eu)).catch((s) => {
22159
22178
  console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three-animationpointer for full KHR_animation support", s);
22160
- }), Er = new Array();
22179
+ }), Tr = new Array();
22161
22180
  function a2(s) {
22162
- Er.includes(s) || Er.push(s);
22181
+ Tr.includes(s) || Tr.push(s);
22163
22182
  }
22164
22183
  function l2(s) {
22165
- const e = Er.indexOf(s);
22166
- e >= 0 && Er.splice(e, 1);
22184
+ const e = Tr.indexOf(s);
22185
+ e >= 0 && Tr.splice(e, 1);
22167
22186
  }
22168
22187
  function yw(s) {
22169
22188
  if (s instanceof Is) {
@@ -22179,7 +22198,7 @@ class XR {
22179
22198
  }
22180
22199
  async function Pm(s, e, t, i) {
22181
22200
  const n = t.indexOf("?");
22182
- n >= 0 && (t = t.substring(0, n)), i || (i = t), (i.startsWith("blob:") || i.startsWith("data:")) && console.debug("[GLTFLoader] Suspicious sourceId detected"), s.register((o) => new zR(o)), s.register((o) => new Dk(o)), s.register((o) => new gO(o, e.lightmaps, i)), s.register((o) => new NR(o, i, e)), s.register((o) => new HR(o, i)), s.register((o) => new ho(o, i)), s.register((o) => new We(o)), s.register((o) => new jR(o)), s.register((o) => new WR(e, s, t, o)), ck() && s.register((o) => new ka(o)), await qR.catch((o) => {
22201
+ n >= 0 && (t = t.substring(0, n)), i || (i = t), (i.startsWith("blob:") || i.startsWith("data:")) && console.debug("[GLTFLoader] Suspicious sourceId detected"), s.register((o) => new zR(o)), s.register((o) => new Dk(o)), s.register((o) => new gO(o, e.lightmaps, i)), s.register((o) => new NR(o, i, e)), s.register((o) => new HR(o, i)), s.register((o) => new ho(o, i)), s.register((o) => new We(o)), s.register((o) => new jR(o)), s.register((o) => new WR(e, s, t, o)), ck() && s.register((o) => new Oa(o)), await qR.catch((o) => {
22183
22202
  }), s.register((o) => {
22184
22203
  if (eu) {
22185
22204
  const r = new eu(o);
@@ -22189,15 +22208,15 @@ async function Pm(s, e, t, i) {
22189
22208
  name: "KHR_animation_pointer_NOT_AVAILABLE"
22190
22209
  };
22191
22210
  });
22192
- for (const o of Er)
22211
+ for (const o of Tr)
22193
22212
  o.onImport && o.onImport(s, t, e);
22194
22213
  }
22195
22214
  function _w(s, e) {
22196
- for (const t of Er)
22215
+ for (const t of Tr)
22197
22216
  t.onExport && t.onExport(s, e);
22198
22217
  }
22199
22218
  function QR(s, e, t) {
22200
- for (const i of Er)
22219
+ for (const i of Tr)
22201
22220
  i.onLoaded && i.onLoaded(s, e, t);
22202
22221
  }
22203
22222
  const jt = x("debuginstancing");
@@ -22263,7 +22282,7 @@ class Za {
22263
22282
  e.matrixWorld.multiplyMatrices = n;
22264
22283
  }
22265
22284
  }
22266
- class La {
22285
+ class Da {
22267
22286
  static all = [];
22268
22287
  /** The name of the object */
22269
22288
  get name() {
@@ -22304,7 +22323,7 @@ class La {
22304
22323
  /** The mesh information of the object - this tries to also calculate the LOD info */
22305
22324
  meshInformation;
22306
22325
  constructor(e, t) {
22307
- this.__instanceIndex = -1, this.object = e, this.renderer = t, e[y0] = t, this.meshInformation = ur(e.geometry), La.all.push(this);
22326
+ this.__instanceIndex = -1, this.object = e, this.renderer = t, e[y0] = t, this.meshInformation = ur(e.geometry), Da.all.push(this);
22308
22327
  }
22309
22328
  /** Calculates the mesh information again
22310
22329
  * @returns true if the vertex count or index count has changed
@@ -22343,8 +22362,8 @@ class La {
22343
22362
  */
22344
22363
  remove(e) {
22345
22364
  if (!(this.__instanceIndex < 0) && (this.renderer.remove(this, e), C.markAsInstancedRendered(this.object, !1), e)) {
22346
- const t = La.all.indexOf(this);
22347
- t >= 0 && La.all.splice(t, 1);
22365
+ const t = Da.all.indexOf(this);
22366
+ t >= 0 && Da.all.splice(t, 1);
22348
22367
  }
22349
22368
  }
22350
22369
  }
@@ -22425,7 +22444,7 @@ class YR {
22425
22444
  jt && console.warn("Dispose instanced renderer", this.name), this._context.scene.remove(this._batchedMesh), this._batchedMesh.dispose(), this._batchedMesh = null, this._handles = [];
22426
22445
  }
22427
22446
  addInstance(e) {
22428
- const t = new La(e, this);
22447
+ const t = new Da(e, this);
22429
22448
  e.castShadow === !0 && this._batchedMesh.castShadow === !1 && (this._batchedMesh.castShadow = !0), e.receiveShadow === !0 && this._batchedMesh.receiveShadow === !1 && (this._batchedMesh.receiveShadow = !0);
22430
22449
  try {
22431
22450
  this.add(t);
@@ -22718,7 +22737,7 @@ var KR = Object.defineProperty, zs = (s, e, t, i) => {
22718
22737
  (r = s[o]) && (n = r(e, t, n) || n);
22719
22738
  return n && KR(e, t, n), n;
22720
22739
  };
22721
- const ma = x("debugrenderer"), wb = x("debugskinnedmesh"), xb = x("noinstancing"), ZR = x("wireframe");
22740
+ const ga = x("debugrenderer"), wb = x("debugskinnedmesh"), xb = x("noinstancing"), ZR = x("wireframe");
22722
22741
  class JR {
22723
22742
  path = null;
22724
22743
  asset = null;
@@ -22734,7 +22753,7 @@ class eE {
22734
22753
  return this._changed;
22735
22754
  }
22736
22755
  set changed(e) {
22737
- e === !0 && ma && console.warn("SharedMaterials have changed: " + this._renderer.name), this._changed = e;
22756
+ e === !0 && ga && console.warn("SharedMaterials have changed: " + this._renderer.name), this._changed = e;
22738
22757
  }
22739
22758
  is(e) {
22740
22759
  return this._renderer === e;
@@ -22943,7 +22962,7 @@ const ts = class Sd extends E {
22943
22962
  this.enabled || this.setVisibility(!1);
22944
22963
  }
22945
22964
  awake() {
22946
- if (this._firstFrame = this.context.time.frame, ma && console.log("Renderer ", this.name, this), this.clearInstancingState(), this.probeAnchor && ma && this.probeAnchor.add(new ki(0.2)), this._reflectionProbe = null, this.isMultiMaterialObject(this.gameObject)) {
22965
+ if (this._firstFrame = this.context.time.frame, ga && console.log("Renderer ", this.name, this), this.clearInstancingState(), this.probeAnchor && ga && this.probeAnchor.add(new ki(0.2)), this._reflectionProbe = null, this.isMultiMaterialObject(this.gameObject)) {
22947
22966
  for (const e of this.gameObject.children)
22948
22967
  this.context.addBeforeRenderListener(e, this.onBeforeRenderThree), e.layers.mask = this.gameObject.layers.mask;
22949
22968
  if (this.renderOrder !== void 0) {
@@ -22974,7 +22993,7 @@ const ts = class Sd extends E {
22974
22993
  const t = new bw(this);
22975
22994
  t.init(this.lightmapIndex, this.lightmapScaleOffset, e), this._lightmaps.push(t);
22976
22995
  } else
22977
- ma && console.warn(`[Renderer] No lightmaps found ${this.name} (${this.sourceId}, ${this.lightmapIndex})`);
22996
+ ga && console.warn(`[Renderer] No lightmaps found ${this.name} (${this.sourceId}, ${this.lightmapIndex})`);
22978
22997
  }
22979
22998
  }
22980
22999
  _isInstancingEnabled = !1;
@@ -23054,7 +23073,7 @@ const ts = class Sd extends E {
23054
23073
  };
23055
23074
  onBeforeRender() {
23056
23075
  if (this.gameObject) {
23057
- if ((this._probeAnchorLastFrame !== this.probeAnchor || this._reflectionProbe?.activeAndEnabled === !1) && (this._reflectionProbe?.unapply(this.gameObject), this.updateReflectionProbe()), ma == this.name && this.gameObject instanceof H) {
23076
+ if ((this._probeAnchorLastFrame !== this.probeAnchor || this._reflectionProbe?.activeAndEnabled === !1) && (this._reflectionProbe?.unapply(this.gameObject), this.updateReflectionProbe()), ga == this.name && this.gameObject instanceof H) {
23058
23077
  this.gameObject.geometry.computeBoundingSphere();
23059
23078
  const e = z(this.gameObject.geometry.boundingSphere.center).applyMatrix4(this.gameObject.matrixWorld);
23060
23079
  U.DrawWireSphere(e, this.gameObject.geometry.boundingSphere.radius, 56831);
@@ -23078,7 +23097,7 @@ const ts = class Sd extends E {
23078
23097
  if (this.reflectionProbeUsage !== 0 && this._reflectionProbe ? this._reflectionProbe.apply(this.gameObject) : this.reflectionProbeUsage === 0 && this._reflectionProbe && this._reflectionProbe.unapply(this.gameObject), this._sharedMaterials)
23079
23098
  for (const e of this._sharedMaterials)
23080
23099
  e && "envMap" in e && "envMapIntensity" in e && !ao.isUsingReflectionProbe(e) && (e.envMap = this.context.scene.environment, e.envMapRotation = this.context.scene.environmentRotation);
23081
- else ma && console.warn("[Renderer] sharedMaterials not initialized yet: " + this.name);
23100
+ else ga && console.warn("[Renderer] sharedMaterials not initialized yet: " + this.name);
23082
23101
  }
23083
23102
  }
23084
23103
  onBeforeRenderThree = (e, t, i, n, o, r) => {
@@ -23558,15 +23577,15 @@ const Vu = class ww extends E {
23558
23577
  if (this.object === this.gameObject) {
23559
23578
  const t = new Ut(this.guid);
23560
23579
  this.object = C.instantiate(this.object, { idProvider: t, keepWorldPosition: !1 }), C.getComponent(this.object, ww)?.destroy();
23561
- let n = this.object.getComponentInChildren(va);
23562
- n || (n = this.object.addComponent(va, {
23580
+ let n = this.object.getComponentInChildren(wa);
23581
+ n || (n = this.object.addComponent(wa, {
23563
23582
  dragMode: dw.SnapToSurfaces
23564
23583
  }), n.guid = t.generateUUID());
23565
23584
  let o = C.getComponent(n.gameObject, Zn);
23566
23585
  o || (o = n.gameObject.addComponent(Zn), o.guid = t.generateUUID());
23567
23586
  }
23568
23587
  this.object.visible = !1;
23569
- const e = this.gameObject.getComponent(va);
23588
+ const e = this.gameObject.getComponent(wa);
23570
23589
  e && (e.enabled = !1), this._startPosition = this.object.position?.clone() ?? new _(0, 0, 0), this._startQuaternion = this.object.quaternion?.clone() ?? new V(0, 0, 0, 1);
23571
23590
  }
23572
23591
  this.gameObject.getComponentInParent(Zi) || this.gameObject.addComponent(Zi);
@@ -23586,7 +23605,7 @@ const Vu = class ww extends E {
23586
23605
  if (e.used || !this.object || !this.context.connection.allowEditing || e.button !== 0) return;
23587
23606
  const t = this.handleDuplication();
23588
23607
  if (t) {
23589
- const i = C.getComponent(t, va);
23608
+ const i = C.getComponent(t, wa);
23590
23609
  i ? (i.onPointerDown(e), this._forwardPointerEvents.set(e.event.space, i)) : L() && console.warn(`Duplicated object (${t.name}) does not have DragControls`);
23591
23610
  } else
23592
23611
  this._currentCount >= this.limitCount ? console.warn(`[Duplicatable] Limit of ${this.limitCount} objects created within a few seconds reached. Please wait a moment before creating more objects.`) : console.warn("[Duplicatable] Could not duplicate object.");
@@ -23729,7 +23748,7 @@ const Gh = x("debuggltfexport");
23729
23748
  class Ow extends Mt {
23730
23749
  sceneRoot;
23731
23750
  }
23732
- const qg = class ga extends E {
23751
+ const qg = class ya extends E {
23733
23752
  binary = !0;
23734
23753
  objects = [];
23735
23754
  ext;
@@ -23737,10 +23756,10 @@ const qg = class ga extends E {
23737
23756
  Gh && console.log("Exporting objects as glTF", this.objects), e || (e = "scene"), (!this.objects || this.objects.length <= 0) && (this.objects = [this.context.scene]);
23738
23757
  const i = {
23739
23758
  binary: this.binary,
23740
- pivot: ga.calculateCenter(this.objects),
23759
+ pivot: ya.calculateCenter(this.objects),
23741
23760
  ...t
23742
23761
  }, n = await this.export(this.objects, i).catch((o) => (console.error(o), !1));
23743
- return n === !1 ? !1 : (this.binary ? e.endsWith(".glb") || (e += ".glb") : e.endsWith(".gltf") || (e += ".gltf"), this.binary ? ga.saveArrayBuffer(n, e) : ga.saveJson(n, e), !0);
23762
+ return n === !1 ? !1 : (this.binary ? e.endsWith(".glb") || (e += ".glb") : e.endsWith(".gltf") || (e += ".gltf"), this.binary ? ya.saveArrayBuffer(n, e) : ya.saveJson(n, e), !0);
23744
23763
  }
23745
23764
  async export(e, t) {
23746
23765
  if (!e || e.length <= 0) {
@@ -23748,7 +23767,7 @@ const qg = class ga extends E {
23748
23767
  return;
23749
23768
  }
23750
23769
  const i = new Pv();
23751
- i.register((c) => new Pw(c)), i.register((c) => new Cw(c)), _w(i, this.context), ga.filterTopmostParent(e);
23770
+ i.register((c) => new Pw(c)), i.register((c) => new Cw(c)), _w(i, this.context), ya.filterTopmostParent(e);
23752
23771
  const n = {
23753
23772
  trs: !1,
23754
23773
  onlyVisible: !0,
@@ -23758,7 +23777,7 @@ const qg = class ga extends E {
23758
23777
  // To prevent NaN value,
23759
23778
  embedImages: !0,
23760
23779
  includeCustomExtensions: !0,
23761
- animations: t?.animations || ga.collectAnimations(e),
23780
+ animations: t?.animations || ya.collectAnimations(e),
23762
23781
  ...t
23763
23782
  }, o = new Array(), r = new M();
23764
23783
  t?.pivot && r.position.sub(t.pivot), Gh && console.log("EXPORT", e), e.forEach((c) => {
@@ -24458,7 +24477,7 @@ ${c}
24458
24477
  `;
24459
24478
  }
24460
24479
  }
24461
- const sa = `
24480
+ const oa = `
24462
24481
  `, Xt = "</StageRoot/Materials";
24463
24482
  class vE {
24464
24483
  str;
@@ -24470,19 +24489,19 @@ class vE {
24470
24489
  this.str = "", this.indent = 0;
24471
24490
  }
24472
24491
  beginBlock(e = void 0, t = "{", i = !0) {
24473
- e !== void 0 ? (e = this.applyIndent(e), this.str += e, i ? (this.str += sa, this.str += this.applyIndent(t)) : this.str += " " + t) : this.str += this.applyIndent(t), this.str += sa, this.indent += 1;
24492
+ e !== void 0 ? (e = this.applyIndent(e), this.str += e, i ? (this.str += oa, this.str += this.applyIndent(t)) : this.str += " " + t) : this.str += this.applyIndent(t), this.str += oa, this.indent += 1;
24474
24493
  }
24475
24494
  closeBlock(e = "}") {
24476
- this.indent -= 1, this.str += this.applyIndent(e) + sa;
24495
+ this.indent -= 1, this.str += this.applyIndent(e) + oa;
24477
24496
  }
24478
24497
  beginArray(e) {
24479
- e = this.applyIndent(e + " = ["), this.str += e, this.str += sa, this.indent += 1;
24498
+ e = this.applyIndent(e + " = ["), this.str += e, this.str += oa, this.indent += 1;
24480
24499
  }
24481
24500
  closeArray() {
24482
- this.indent -= 1, this.str += this.applyIndent("]") + sa;
24501
+ this.indent -= 1, this.str += this.applyIndent("]") + oa;
24483
24502
  }
24484
24503
  appendLine(e = "") {
24485
- e = this.applyIndent(e), this.str += e, this.str += sa;
24504
+ e = this.applyIndent(e), this.str += e, this.str += oa;
24486
24505
  }
24487
24506
  toString() {
24488
24507
  return this.str;
@@ -24574,7 +24593,7 @@ let xE = class {
24574
24593
  const f = i.document.buildHeader(i) + `
24575
24594
  ` + i.output;
24576
24595
  this.debug && console.debug(f), n[o] = kv(f), i.output = "", de.report("export-usdz", { message: "Exporting textures", autoStep: 10 }), de.start("export-usdz-textures", { parentScope: "export-usdz", logTimings: !1 });
24577
- const p = new Br({
24596
+ const p = new Fr({
24578
24597
  antialias: !1,
24579
24598
  alpha: !0,
24580
24599
  premultipliedAlpha: !1,
@@ -24744,9 +24763,9 @@ async function Cd(s, e, t = null) {
24744
24763
  }
24745
24764
  }
24746
24765
  }
24747
- let Xh = null, Gt = null, up, oa, Qh;
24766
+ let Xh = null, Gt = null, up, ra, Qh;
24748
24767
  async function CE(s, e = 1 / 0, t = null, i = void 0) {
24749
- up || (up = new Sn(2, 2, 1, 1)), oa || (oa = new qn({
24768
+ up || (up = new Sn(2, 2, 1, 1)), ra || (ra = new qn({
24750
24769
  uniforms: {
24751
24770
  blitTexture: new Gi(s),
24752
24771
  flipY: new Gi(!1),
@@ -24778,10 +24797,10 @@ async function CE(s, e = 1 / 0, t = null, i = void 0) {
24778
24797
  gl_FragColor.rgba *= scale.rgba;
24779
24798
  }`
24780
24799
  }));
24781
- const n = oa.uniforms;
24782
- n.blitTexture.value = s, n.flipY.value = !1, n.scale.value = new ge(1, 1, 1, 1), i !== void 0 && n.scale.value.copy(i), oa.defines.IS_SRGB = s.colorSpace == As, oa.needsUpdate = !0, Qh || (Qh = new H(up, oa), Qh.frustumCulled = !1);
24800
+ const n = ra.uniforms;
24801
+ n.blitTexture.value = s, n.flipY.value = !1, n.scale.value = new ge(1, 1, 1, 1), i !== void 0 && n.scale.value.copy(i), ra.defines.IS_SRGB = s.colorSpace == As, ra.needsUpdate = !0, Qh || (Qh = new H(up, ra), Qh.frustumCulled = !1);
24783
24802
  const o = new ce(), r = new Mi();
24784
- r.add(Qh), t || (t = Xh = new Br({ antialias: !1, alpha: !0, premultipliedAlpha: !1, preserveDrawingBuffer: !0 }));
24803
+ r.add(Qh), t || (t = Xh = new Fr({ antialias: !1, alpha: !0, premultipliedAlpha: !1, preserveDrawingBuffer: !0 }));
24785
24804
  const a = Math.min(s.image.width, e), l = Math.min(s.image.height, e);
24786
24805
  Gt && (Gt.width !== a || Gt.height !== l) && (Gt.dispose(), Gt = null), Gt || (Gt = new Xn(a, l, { format: gu, type: QS, minFilter: Ad, magFilter: Ad })), t.setRenderTarget(Gt), t.setSize(a, l), t.clear(), t.render(r, o), Xh && (Xh.dispose(), Xh = null);
24787
24806
  const c = new Uint8ClampedArray(Gt.width * Gt.height * 4);
@@ -24843,7 +24862,7 @@ function Om(s, e) {
24843
24862
  function Hu(s) {
24844
24863
  return en(s.name || "Material") + "_" + s.id;
24845
24864
  }
24846
- function Da(s, e) {
24865
+ function ja(s, e) {
24847
24866
  let t = Pb(s), i = s.parent;
24848
24867
  for (; i && i !== e; )
24849
24868
  t = Pb(i) + "/" + t, i = i.parent;
@@ -24911,7 +24930,7 @@ function TE(s, e = [], t = !0) {
24911
24930
  for (const m of Tw(e))
24912
24931
  a.push({ bone: m, index: a.length });
24913
24932
  const g = a[0].bone.parent;
24914
- a.sort((m, v) => Da(m.bone, g) > Da(v.bone, g) ? 1 : -1), a.map((m) => '"' + Da(m.bone, g) + '"').join(", ");
24933
+ a.sort((m, v) => ja(m.bone, g) > ja(v.bone, g) ? 1 : -1), a.map((m) => '"' + ja(m.bone, g) + '"').join(", ");
24915
24934
  for (const m in a)
24916
24935
  l[a[m].index] = parseInt(m);
24917
24936
  const y = n.skinIndex;
@@ -25284,11 +25303,11 @@ class zt {
25284
25303
  i.appendLine(), this.action.writeTo(t, i), i.closeBlock();
25285
25304
  }
25286
25305
  }
25287
- const ra = /* @__PURE__ */ new Set();
25306
+ const aa = /* @__PURE__ */ new Set();
25288
25307
  function Mm(s, e) {
25289
25308
  let t = "";
25290
25309
  if (Array.isArray(s)) {
25291
- ra.clear();
25310
+ aa.clear();
25292
25311
  let i = "[ ";
25293
25312
  for (let n = 0; n < s.length; n++) {
25294
25313
  let o = s[n];
@@ -25297,20 +25316,20 @@ function Mm(s, e) {
25297
25316
  continue;
25298
25317
  }
25299
25318
  if (typeof o == "string") {
25300
- if (ra.has(o)) continue;
25301
- i += o, ra.add(o);
25319
+ if (aa.has(o)) continue;
25320
+ i += o, aa.add(o);
25302
25321
  } else if (typeof o == "object") {
25303
25322
  if (o.isObject3D && (o = e.findById(o.uuid), !o)) {
25304
25323
  console.warn("Invalid target object in behavior", s + ". Is the object exported?");
25305
25324
  continue;
25306
25325
  }
25307
25326
  const r = o.getPath?.call(o);
25308
- if (ra.has(r)) continue;
25309
- i += r, ra.add(r);
25327
+ if (aa.has(r)) continue;
25328
+ i += r, aa.add(r);
25310
25329
  }
25311
25330
  n + 1 < s.length && (i += ", ");
25312
25331
  }
25313
- i += " ]", t = i, ra.clear();
25332
+ i += " ]", t = i, aa.clear();
25314
25333
  } else if (typeof s == "object") {
25315
25334
  const i = s;
25316
25335
  if (i.isObject3D && (s = e.findById(i.uuid)), !s)
@@ -25366,7 +25385,7 @@ class Jt {
25366
25385
  return i.tokenId = "ProximityToCamera", i.distance = t, i;
25367
25386
  }
25368
25387
  }
25369
- class xa {
25388
+ class Sa {
25370
25389
  static global_id = 0;
25371
25390
  static getId() {
25372
25391
  return this.global_id++;
@@ -25471,10 +25490,10 @@ class Hi {
25471
25490
  }
25472
25491
  class me {
25473
25492
  static sequence(...e) {
25474
- return new xa("Group_" + xa.getId(), e).makeSequence();
25493
+ return new Sa("Group_" + Sa.getId(), e).makeSequence();
25475
25494
  }
25476
25495
  static parallel(...e) {
25477
- return new xa("Group_" + xa.getId(), e).makeParallel();
25496
+ return new Sa("Group_" + Sa.getId(), e).makeParallel();
25478
25497
  }
25479
25498
  static fadeAction(e, t, i) {
25480
25499
  const n = new _i(e);
@@ -25630,8 +25649,8 @@ class yr {
25630
25649
  let e;
25631
25650
  try {
25632
25651
  for (const t of this.clip?.tracks ?? []) {
25633
- const i = Fa.parseTrackName(t.name);
25634
- let n = Fa.findNode(this.root, i.nodeName);
25652
+ const i = Ua.parseTrackName(t.name);
25653
+ let n = Ua.findNode(this.root, i.nodeName);
25635
25654
  if (n)
25636
25655
  if (!e) e = n;
25637
25656
  else {
@@ -25846,7 +25865,7 @@ class Qg {
25846
25865
  const n = this.injectRestPoses ? 1 : 0, o = (this.rootToRegisteredClip.get(e)?.length ?? 0) + n, r = this.rootTargetMap.get(e), a = new Set(r);
25847
25866
  if (t && t.tracks)
25848
25867
  for (const c of t.tracks) {
25849
- const h = Fa.parseTrackName(c.name), d = Fa.findNode(e, h.nodeName);
25868
+ const h = Ua.parseTrackName(c.name), d = Ua.findNode(e, h.nodeName);
25850
25869
  if (!d) {
25851
25870
  console.warn("no object found for track", c.name, "using " + e.name + " instead");
25852
25871
  continue;
@@ -25994,17 +26013,17 @@ class BE {
25994
26013
  let Ch;
25995
26014
  oi ? console.assert(oi.length === J, "We should have the same number of TransformData entries for each bone", oi, W) : Ch = new $e(null, ke, null);
25996
26015
  for (let Hs = 0; Hs < J; Hs++) {
25997
- const Of = oi ? oi[Hs] : Ch, Jr = W[Hs];
25998
- for (const { time: Ml, translation: Rl } of Of.getValues(Jr.pos, !0, !1, !1)) {
25999
- const rn = (Ml + Jr.timeOffset) * 60;
26016
+ const Of = oi ? oi[Hs] : Ch, ea = W[Hs];
26017
+ for (const { time: Ml, translation: Rl } of Of.getValues(ea.pos, !0, !1, !1)) {
26018
+ const rn = (Ml + ea.timeOffset) * 60;
26000
26019
  se.has(rn) || se.set(rn, new Array()), se.get(rn).push(Rl.clone());
26001
26020
  }
26002
- for (const { time: Ml, rotation: Rl } of Of.getValues(Jr.rot, !1, !0, !1)) {
26003
- const rn = (Ml + Jr.timeOffset) * 60;
26021
+ for (const { time: Ml, rotation: Rl } of Of.getValues(ea.rot, !1, !0, !1)) {
26022
+ const rn = (Ml + ea.timeOffset) * 60;
26004
26023
  oe.has(rn) || oe.set(rn, new Array()), oe.get(rn).push(Rl.clone());
26005
26024
  }
26006
- for (const { time: Ml, scale: Rl } of Of.getValues(Jr.scale, !1, !1, !0)) {
26007
- const rn = (Ml + Jr.timeOffset) * 60;
26025
+ for (const { time: Ml, scale: Rl } of Of.getValues(ea.scale, !1, !1, !0)) {
26026
+ const rn = (Ml + ea.timeOffset) * 60;
26008
26027
  fe.has(rn) || fe.set(rn, new Array()), fe.get(rn).push(Rl.clone());
26009
26028
  }
26010
26029
  }
@@ -26064,7 +26083,7 @@ class BE {
26064
26083
  for (const O of Tw(g.bones))
26065
26084
  y.push({ bone: O, inverse: O.matrixWorld.clone().invert() });
26066
26085
  const w = y[0].bone.parent;
26067
- w || console.error("No bone parent found for skinned mesh during USDZ export", n.skinnedMesh), y.sort((O, W) => Da(O.bone, w) > Da(W.bone, w) ? 1 : -1);
26086
+ w || console.error("No bone parent found for skinned mesh during USDZ export", n.skinnedMesh), y.sort((O, W) => ja(O.bone, w) > ja(W.bone, w) ? 1 : -1);
26068
26087
  const T = t.quickLookCompatible, k = [], R = [], I = [], j = [];
26069
26088
  for (const { bone: O } of y) {
26070
26089
  if (T) {
@@ -26074,7 +26093,7 @@ class BE {
26074
26093
  k.push(O.matrix.clone());
26075
26094
  R.push(O.position), I.push(O.quaternion), j.push(O.scale);
26076
26095
  }
26077
- const B = y.map((O) => '"' + Da(O.bone, w) + '"').join(", "), G = y.map((O) => kb(O.inverse.clone().invert())).join(", ");
26096
+ const B = y.map((O) => '"' + ja(O.bone, w) + '"').join(", "), G = y.map((O) => kb(O.inverse.clone().invert())).join(", ");
26078
26097
  e.beginBlock('def Skeleton "Rig"'), e.appendLine(`uniform matrix4d[] bindTransforms = [${G}]`), e.appendLine(`uniform token[] joints = [${B}]`), e.appendLine('uniform token purpose = "guide"'), e.appendLine(`uniform matrix4d[] restTransforms = [${k.map((O) => kb(O)).join(", ")}]`);
26079
26098
  const X = p(y.map((O) => O.bone));
26080
26099
  if (zn) {
@@ -26546,7 +26565,7 @@ Ue([
26546
26565
  Ue([
26547
26566
  u()
26548
26567
  ], ih.prototype, "motionType");
26549
- class Tr extends E {
26568
+ class Ar extends E {
26550
26569
  target;
26551
26570
  clip = "";
26552
26571
  toggleOnClick = !1;
@@ -26610,13 +26629,13 @@ class Tr extends E {
26610
26629
  }
26611
26630
  Ue([
26612
26631
  u(Ji)
26613
- ], Tr.prototype, "target");
26632
+ ], Ar.prototype, "target");
26614
26633
  Ue([
26615
26634
  u(URL)
26616
- ], Tr.prototype, "clip");
26635
+ ], Ar.prototype, "clip");
26617
26636
  Ue([
26618
26637
  u()
26619
- ], Tr.prototype, "toggleOnClick");
26638
+ ], Ar.prototype, "toggleOnClick");
26620
26639
  const Yg = class Ln extends E {
26621
26640
  animator;
26622
26641
  stateName;
@@ -26995,12 +27014,12 @@ var WE = Object.defineProperty, VE = Object.getOwnPropertyDescriptor, _t = (s, e
26995
27014
  return i && n && WE(e, t, n), n;
26996
27015
  };
26997
27016
  const bc = x("debugspriterenderer"), HE = x("wireframe");
26998
- class Ar {
27017
+ class Ir {
26999
27018
  static cache = {};
27000
27019
  static getOrCreateGeometry(e) {
27001
27020
  if (e.__cached_geometry) return e.__cached_geometry;
27002
- if (e.guid && Ar.cache[e.guid])
27003
- return bc && console.log("Take cached geometry for sprite", e.guid), Ar.cache[e.guid];
27021
+ if (e.guid && Ir.cache[e.guid])
27022
+ return bc && console.log("Take cached geometry for sprite", e.guid), Ir.cache[e.guid];
27004
27023
  const t = new _n();
27005
27024
  e.__cached_geometry = t;
27006
27025
  const i = new Float32Array(e.triangles.length * 3), n = new Float32Array(e.triangles.length * 2);
@@ -27035,7 +27054,7 @@ let Lo = class {
27035
27054
  * The mesh that represents the sprite
27036
27055
  */
27037
27056
  get mesh() {
27038
- return this._mesh || (this._mesh = new H(Ar.getOrCreateGeometry(this), this.material)), this._mesh;
27057
+ return this._mesh || (this._mesh = new H(Ir.getOrCreateGeometry(this), this.material)), this._mesh;
27039
27058
  }
27040
27059
  _mesh;
27041
27060
  /**
@@ -27054,7 +27073,7 @@ let Lo = class {
27054
27073
  * The geometry of the sprite that can be used to create a mesh
27055
27074
  */
27056
27075
  getGeometry() {
27057
- return Ar.getOrCreateGeometry(this);
27076
+ return Ir.getOrCreateGeometry(this);
27058
27077
  }
27059
27078
  };
27060
27079
  _t([
@@ -27220,14 +27239,14 @@ class Ti extends E {
27220
27239
  if (!i)
27221
27240
  return bc && console.warn("Sprite not found", this.spriteIndex, t.spriteSheet.sprites), !1;
27222
27241
  if (this._currentSprite)
27223
- this._currentSprite.geometry = Ar.getOrCreateGeometry(i), this._currentSprite.material.map = i.texture;
27242
+ this._currentSprite.geometry = Ir.getOrCreateGeometry(i), this._currentSprite.material.map = i.texture;
27224
27243
  else {
27225
27244
  const n = new Se({ color: 16777215, side: Ri });
27226
27245
  if (HE && (n.wireframe = !0), this.color && (n.color || (n.color = new re()), n.color.copy(this.color), n.opacity = this.color.alpha), n.transparent = !0, n.toneMapped = this.toneMapped, n.depthWrite = !1, i.texture && !n.wireframe) {
27227
27246
  let o = i.texture;
27228
27247
  o[gp] !== void 0 && o[gp] !== this && this.spriteFrames > 1 && (o = i.texture = o.clone()), o[gp] = this, n.map = o;
27229
27248
  }
27230
- this.sharedMaterial = n, this._currentSprite = new H(Ar.getOrCreateGeometry(i), n), this._currentSprite.renderOrder = Math.round(this.renderOrder), We.assignTextureLOD(n, 0);
27249
+ this.sharedMaterial = n, this._currentSprite = new H(Ir.getOrCreateGeometry(i), n), this._currentSprite.renderOrder = Math.round(this.renderOrder), We.assignTextureLOD(n, 0);
27231
27250
  }
27232
27251
  return this._currentSprite.parent !== this.gameObject && (this.drawMode === 2 && this._currentSprite.scale.set(this.size.x, this.size.y, 1), this.gameObject && this.gameObject.add(this._currentSprite)), this._currentSprite && this._currentSprite.layers.set(this.layer), this.sharedMaterial && (this.sharedMaterial.alphaTest = this.cutoutThreshold, this.sharedMaterial.transparent = this.transparent), this._currentSprite.castShadow = this.castShadows, t?.update(this.sharedMaterial), !0;
27233
27252
  }
@@ -27409,7 +27428,7 @@ class gn extends E {
27409
27428
  if (!o) {
27410
27429
  if (this.customReticle)
27411
27430
  if (this.customReticle.asset)
27412
- o = Rr(this.customReticle.asset);
27431
+ o = Er(this.customReticle.asset);
27413
27432
  else {
27414
27433
  this.customReticle.loadAssetAsync();
27415
27434
  return;
@@ -28059,7 +28078,7 @@ var iT = Object.defineProperty, Jg = (s, e, t, i) => {
28059
28078
  return n && iT(e, t, n), n;
28060
28079
  };
28061
28080
  const Dl = x("debugwebxr"), Ib = new V().setFromAxisAngle(new _(0, 1, 0), Math.PI);
28062
- class Ir extends E {
28081
+ class Lr extends E {
28063
28082
  head;
28064
28083
  leftHand;
28065
28084
  rightHand;
@@ -28143,7 +28162,7 @@ class Ir extends E {
28143
28162
  else {
28144
28163
  const e = new M();
28145
28164
  e.name = "Head";
28146
- const t = zr.createPrimitive(Vc.Cube);
28165
+ const t = Nr.createPrimitive(Vc.Cube);
28147
28166
  e.add(t), this.gameObject.add(e), this.head = new ne("", this.sourceId, e), Dl && console.log("Create head", e);
28148
28167
  }
28149
28168
  if (this.rightHand)
@@ -28173,13 +28192,13 @@ class Ir extends E {
28173
28192
  }
28174
28193
  Jg([
28175
28194
  u(ne)
28176
- ], Ir.prototype, "head");
28195
+ ], Lr.prototype, "head");
28177
28196
  Jg([
28178
28197
  u(ne)
28179
- ], Ir.prototype, "leftHand");
28198
+ ], Lr.prototype, "leftHand");
28180
28199
  Jg([
28181
28200
  u(ne)
28182
- ], Ir.prototype, "rightHand");
28201
+ ], Lr.prototype, "rightHand");
28183
28202
  var nT = Object.defineProperty, Ku = (s, e, t, i) => {
28184
28203
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
28185
28204
  (r = s[o]) && (n = r(e, t, n) || n);
@@ -28267,7 +28286,7 @@ class Mo extends E {
28267
28286
  l.visible = c != null;
28268
28287
  }
28269
28288
  }
28270
- i.model && (i.model.visible = n.isTracking, i.model.visible && i.model.parent !== e.rig?.gameObject && e.rig?.gameObject.add(i.model)), i.model?.visible && (i.handmesh?.updateMesh(), i.model.matrixAutoUpdate = !1, i.model.matrix.identity(), i.model.applyMatrix4(Ca));
28289
+ i.model && (i.model.visible = n.isTracking, i.model.visible && i.model.parent !== e.rig?.gameObject && e.rig?.gameObject.add(i.model)), i.model?.visible && (i.handmesh?.updateMesh(), i.model.matrixAutoUpdate = !1, i.model.matrix.identity(), i.model.applyMatrix4(Pa));
28271
28290
  }
28272
28291
  }
28273
28292
  }
@@ -28403,7 +28422,7 @@ class tn extends E {
28403
28422
  else if (i > 0.8) {
28404
28423
  this._didTeleport = !0;
28405
28424
  const n = this.context.physics.raycastFromRay(e.ray)[0];
28406
- if (n && n.object instanceof za) {
28425
+ if (n && n.object instanceof Na) {
28407
28426
  const r = n.normal?.dot(z(0, 1, 0));
28408
28427
  if (r !== void 0 && r < 0.4)
28409
28428
  return;
@@ -28582,7 +28601,7 @@ var rT = Object.defineProperty, bt = (s, e, t, i) => {
28582
28601
  (r = s[o]) && (n = r(e, t, n) || n);
28583
28602
  return n && rT(e, t, n), n;
28584
28603
  };
28585
- const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class ya extends E {
28604
+ const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class _a extends E {
28586
28605
  createVRButton = !0;
28587
28606
  createARButton = !0;
28588
28607
  createSendToQuestButton = !0;
@@ -28680,7 +28699,7 @@ const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class ya extends E {
28680
28699
  _spatialGrabRaycaster;
28681
28700
  _activeWebARSessionRoot = null;
28682
28701
  get isActiveWebXR() {
28683
- return !ya.activeWebXRComponent || ya.activeWebXRComponent === this;
28702
+ return !_a.activeWebXRComponent || _a.activeWebXRComponent === this;
28684
28703
  }
28685
28704
  /**
28686
28705
  * Called before entering a WebXR session. Sets up optional features like depth sensing, if needed.
@@ -28690,14 +28709,14 @@ const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class ya extends E {
28690
28709
  */
28691
28710
  onBeforeXR(e, t) {
28692
28711
  if (!this.isActiveWebXR) {
28693
- console.warn(`WebXR: another WebXR component is already active (${ya.activeWebXRComponent?.name}). This is ignored: ${this.name}`);
28712
+ console.warn(`WebXR: another WebXR component is already active (${_a.activeWebXRComponent?.name}). This is ignored: ${this.name}`);
28694
28713
  return;
28695
28714
  }
28696
28715
  if (this.activeAndEnabled === !1 || this.destroyed) {
28697
28716
  console.debug("[WebXR] onBeforeXR called on disabled or destroyed component");
28698
28717
  return;
28699
28718
  }
28700
- ya.activeWebXRComponent = this, e == "immersive-ar" && this.useDepthSensing && (t.optionalFeatures = t.optionalFeatures || [], t.optionalFeatures.push("depth-sensing"));
28719
+ _a.activeWebXRComponent = this, e == "immersive-ar" && this.useDepthSensing && (t.optionalFeatures = t.optionalFeatures || [], t.optionalFeatures.push("depth-sensing"));
28701
28720
  }
28702
28721
  /**
28703
28722
  * Called when a WebXR session begins. Sets up the scene for XR by configuring controllers,
@@ -28747,7 +28766,7 @@ const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class ya extends E {
28747
28766
  li.Global.Set(this._previousXRState), this._playerSync?.destroyInstance();
28748
28767
  for (const t of this._createdComponentsInSession)
28749
28768
  t.destroy();
28750
- this._createdComponentsInSession.length = 0, this._activeWebARSessionRoot = null, this.handleOfferSession(), xu(1).then(() => ya.activeWebXRComponent = null);
28769
+ this._createdComponentsInSession.length = 0, this._activeWebARSessionRoot = null, this.handleOfferSession(), xu(1).then(() => _a.activeWebXRComponent = null);
28751
28770
  }
28752
28771
  }
28753
28772
  /** Call to enable or disable default controller behaviour */
@@ -28774,8 +28793,8 @@ const jl = x("debugwebxr"), aT = x("debugusdz"), dt = class ya extends E {
28774
28793
  */
28775
28794
  onAvatarSpawned = (e) => {
28776
28795
  jl && console.log("WebXR.onAvatarSpawned", e);
28777
- let t = C.getComponentInChildren(e, Ir);
28778
- t ??= C.addComponent(e, Ir);
28796
+ let t = C.getComponentInChildren(e, Lr);
28797
+ t ??= C.addComponent(e, Lr);
28779
28798
  };
28780
28799
  // HTML UI
28781
28800
  /** @deprecated use {@link getButtonsFactory} or directly access {@link WebXRButtonFactory.getOrCreate} */
@@ -28956,7 +28975,7 @@ class Gw {
28956
28975
  let a = `graph LR
28957
28976
  `, l = "";
28958
28977
  function c(d) {
28959
- if (d instanceof xa) {
28978
+ if (d instanceof Sa) {
28960
28979
  r && (a += `subgraph Group_${d.id}
28961
28980
  `);
28962
28981
  for (const f of d.actions)
@@ -29100,7 +29119,7 @@ class qw {
29100
29119
  } else if (a instanceof Oo) {
29101
29120
  const f = a;
29102
29121
  l.appendLine('token shapeType = "Capsule"'), l.appendLine(`float radius = ${f.radius}`), l.appendLine(`float height = ${f.height}`);
29103
- } else if (a instanceof Hr && a.sharedMesh?.geometry) {
29122
+ } else if (a instanceof Gr && a.sharedMesh?.geometry) {
29104
29123
  const f = a.sharedMesh.geometry;
29105
29124
  f.boundingBox || f.computeBoundingBox();
29106
29125
  const p = a.sharedMesh.geometry.boundingBox;
@@ -29288,15 +29307,15 @@ const hn = new _(), Bl = new ee(), Jh = new V(), cl = class Xw extends xn {
29288
29307
  _parentRectTransform;
29289
29308
  _lastUpdateFrame = -1;
29290
29309
  awake() {
29291
- super.awake(), this._lastUpdateFrame = -1, this._parentRectTransform = void 0, this.rectBlock = new M(), this.rectBlock.name = this.name, this.lastMatrix = new ee(), this._lastAnchoring = null, this._initialPosition = this.gameObject.position.clone(), this._initialPosition.z = 0, this._anchoredPosition || (this._anchoredPosition = new Z()), ua(this, "_anchoredPosition", () => {
29310
+ super.awake(), this._lastUpdateFrame = -1, this._parentRectTransform = void 0, this.rectBlock = new M(), this.rectBlock.name = this.name, this.lastMatrix = new ee(), this._lastAnchoring = null, this._initialPosition = this.gameObject.position.clone(), this._initialPosition.z = 0, this._anchoredPosition || (this._anchoredPosition = new Z()), fa(this, "_anchoredPosition", () => {
29292
29311
  this.markDirty();
29293
- }), ua(this, "sizeDelta", () => {
29312
+ }), fa(this, "sizeDelta", () => {
29294
29313
  this.markDirty();
29295
- }), ua(this, "pivot", () => {
29314
+ }), fa(this, "pivot", () => {
29296
29315
  this.markDirty();
29297
- }), ua(this, "anchorMin", () => {
29316
+ }), fa(this, "anchorMin", () => {
29298
29317
  this.markDirty();
29299
- }), ua(this, "anchorMax", () => {
29318
+ }), fa(this, "anchorMax", () => {
29300
29319
  this.markDirty();
29301
29320
  });
29302
29321
  }
@@ -29508,7 +29527,7 @@ const tr = {
29508
29527
  this.makePanel(), this.uiObject && this.uiObject.set(e);
29509
29528
  }
29510
29529
  awake() {
29511
- super.awake(), this.makePanel(), ua(this, "_color", () => IM(this, this.onColorChanged));
29530
+ super.awake(), this.makePanel(), fa(this, "_color", () => IM(this, this.onColorChanged));
29512
29531
  }
29513
29532
  onEnable() {
29514
29533
  super.onEnable(), this.uiObject && (this.rectTransform.shadowComponent?.add(this.uiObject), this.addShadowComponent(this.uiObject, this.rectTransform));
@@ -30449,7 +30468,7 @@ var CT = Object.defineProperty, PT = Object.getOwnPropertyDescriptor, sy = (s, e
30449
30468
  (r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
30450
30469
  return i && n && CT(e, t, n), n;
30451
30470
  };
30452
- class Lr extends E {
30471
+ class Dr extends E {
30453
30472
  get alpha() {
30454
30473
  return this._alpha;
30455
30474
  }
@@ -30480,13 +30499,13 @@ class Lr extends E {
30480
30499
  }
30481
30500
  sy([
30482
30501
  u()
30483
- ], Lr.prototype, "alpha", 1);
30502
+ ], Dr.prototype, "alpha", 1);
30484
30503
  sy([
30485
30504
  u()
30486
- ], Lr.prototype, "interactable", 2);
30505
+ ], Dr.prototype, "interactable", 2);
30487
30506
  sy([
30488
30507
  u()
30489
- ], Lr.prototype, "blocksRaycasts", 2);
30508
+ ], Dr.prototype, "blocksRaycasts", 2);
30490
30509
  class sx {
30491
30510
  get extensionName() {
30492
30511
  return "tmui";
@@ -30496,7 +30515,7 @@ class sx {
30496
30515
  onExportObject(e, t, i) {
30497
30516
  const n = C.getComponent(e, Uc);
30498
30517
  if (n && n.enabled && n.renderMode === ix.WorldSpace) {
30499
- const o = new ny(), r = C.getComponent(e, Jn), a = C.getComponent(e, Lr), l = new Array();
30518
+ const o = new ny(), r = C.getComponent(e, Jn), a = C.getComponent(e, Dr), l = new Array();
30500
30519
  if (r) {
30501
30520
  if (!C.isActiveSelf(e)) {
30502
30521
  const d = C.isActiveSelf(e);
@@ -30535,7 +30554,7 @@ class sx {
30535
30554
  y.setMatrix(g.matrix);
30536
30555
  const m = g.parent, v = !!m && typeof m.textContent == "string" && m.textContent.length > 0;
30537
30556
  let b = p.get(m) || 1;
30538
- const w = C.getComponent(g, Lr);
30557
+ const w = C.getComponent(g, Dr);
30539
30558
  if (w && (b *= w.alpha), g instanceof H && v) {
30540
30559
  const k = g[wi];
30541
30560
  k ? o.exportText(k.gameObject, y, i) : console.error("Error when exporting UI: shadow component owner not found. This is likely a bug.", g);
@@ -30622,7 +30641,7 @@ function kT(s, e) {
30622
30641
  return r;
30623
30642
  }
30624
30643
  function OT(s, e) {
30625
- const t = C.getComponentsInChildren(s, Ji), i = C.getComponentsInChildren(s, Tr), n = new Array(), o = new Array();
30644
+ const t = C.getComponentsInChildren(s, Ji), i = C.getComponentsInChildren(s, Ar), n = new Array(), o = new Array();
30626
30645
  nc && console.log({ audioSources: t, playAudioOnClicks: i });
30627
30646
  for (const r of i) {
30628
30647
  if (!r.target) continue;
@@ -30631,7 +30650,7 @@ function OT(s, e) {
30631
30650
  }
30632
30651
  for (const r of t) {
30633
30652
  if (!r || !r.clip || r.volume <= 0 || n.includes(r)) continue;
30634
- const a = new Tr();
30653
+ const a = new Ar();
30635
30654
  a.target = r, a.name = "PlayAudioOnClick_implicitAtStart_", a.trigger = "start";
30636
30655
  const l = new M();
30637
30656
  C.addComponent(l, a), console.log("implicit PlayAudioOnStart", l, a), o.push(l), n.push(r), s.add(l);
@@ -31132,7 +31151,7 @@ var jT = Object.defineProperty, BT = Object.getOwnPropertyDescriptor, Ii = (s, e
31132
31151
  (r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
31133
31152
  return i && n && jT(e, t, n), n;
31134
31153
  };
31135
- function aa(s) {
31154
+ function la(s) {
31136
31155
  return s * Math.PI / 180;
31137
31156
  }
31138
31157
  const jb = 300, Ks = x("debuglights");
@@ -31149,7 +31168,7 @@ class Wt extends E {
31149
31168
  return this._spotAngle;
31150
31169
  }
31151
31170
  set spotAngle(e) {
31152
- this._spotAngle = e, this.light && this.light.type === "SpotLight" && "angle" in this.light && (this.light.angle = aa(e / 2));
31171
+ this._spotAngle = e, this.light && this.light.type === "SpotLight" && "angle" in this.light && (this.light.angle = la(e / 2));
31153
31172
  }
31154
31173
  _spotAngle = 30;
31155
31174
  get innerSpotAngle() {
@@ -31157,7 +31176,7 @@ class Wt extends E {
31157
31176
  }
31158
31177
  set innerSpotAngle(e) {
31159
31178
  if (this._innerSpotAngle = e, this.light && this.light.type === "SpotLight" && "penumbra" in this.light) {
31160
- const t = this.spotAngle, n = 1 - aa(e / 2) / aa(t / 2);
31179
+ const t = this.spotAngle, n = 1 - la(e / 2) / la(t / 2);
31161
31180
  this.light.penumbra = n;
31162
31181
  }
31163
31182
  }
@@ -31289,13 +31308,13 @@ class Wt extends E {
31289
31308
  switch (this.type) {
31290
31309
  case 1:
31291
31310
  const t = new zp(this.color, this.intensity * Math.PI);
31292
- if (t.position.set(0, 0, -jb * 0.5).applyQuaternion(this.gameObject.quaternion), this.gameObject.add(t.target), Na(t.target, 0, 0, 0), this.light = t, this.gameObject.position.set(0, 0, 0), this.gameObject.rotation.set(0, 0, 0), Ks) {
31311
+ if (t.position.set(0, 0, -jb * 0.5).applyQuaternion(this.gameObject.quaternion), this.gameObject.add(t.target), $a(t.target, 0, 0, 0), this.light = t, this.gameObject.position.set(0, 0, 0), this.gameObject.rotation.set(0, 0, 0), Ks) {
31293
31312
  const r = new eC(this.light, 0.2, this.color);
31294
31313
  this.context.scene.add(r);
31295
31314
  }
31296
31315
  break;
31297
31316
  case 0:
31298
- const i = new JS(this.color, this.intensity * Math.PI, this.range, aa(this.spotAngle / 2), 1 - aa(this.innerSpotAngle / 2) / aa(this.spotAngle / 2), 2);
31317
+ const i = new JS(this.color, this.intensity * Math.PI, this.range, la(this.spotAngle / 2), 1 - la(this.innerSpotAngle / 2) / la(this.spotAngle / 2), 2);
31299
31318
  i.position.set(0, 0, 0), i.rotation.set(0, 0, 0), this.light = i;
31300
31319
  const n = i.target;
31301
31320
  i.add(n), n.position.set(0, 0, this.range), n.rotation.set(0, 0, 0);
@@ -33189,7 +33208,7 @@ class dx {
33189
33208
  const t = this.system.deltaTime;
33190
33209
  if (this.emitterType === jm.Death) {
33191
33210
  let n = e.life;
33192
- if (e[Sa] !== void 0 && (n = e[Sa]), !(e.age + t * 1.2 >= n)) return;
33211
+ if (e[Ca] !== void 0 && (n = e[Ca]), !(e.age + t * 1.2 >= n)) return;
33193
33212
  const r = this.subSystem.main.maxParticles - this.subSystem.currentParticles;
33194
33213
  e.emissionState.waitEmiting = r;
33195
33214
  }
@@ -33353,7 +33372,7 @@ class ZT extends py {
33353
33372
  return this.system.isPlaying, 0;
33354
33373
  }
33355
33374
  }
33356
- class Xr {
33375
+ class Qr {
33357
33376
  /** Reference to the particle system this behavior belongs to */
33358
33377
  system;
33359
33378
  /** Access to the engine context for timing, input, etc. */
@@ -33384,7 +33403,7 @@ class Xr {
33384
33403
  reset() {
33385
33404
  }
33386
33405
  }
33387
- class JT extends Xr {
33406
+ class JT extends Qr {
33388
33407
  type = "NeedleTextureSheet";
33389
33408
  // initialize(_particle: Particle): void {
33390
33409
  // _particle[$startFrame] = this.system.textureSheetAnimation.getStartIndex();
@@ -33398,7 +33417,7 @@ class JT extends Xr {
33398
33417
  }
33399
33418
  }
33400
33419
  const Bb = /* @__PURE__ */ Symbol("particleRotation");
33401
- class eA extends Xr {
33420
+ class eA extends Qr {
33402
33421
  type = "NeedleRotation";
33403
33422
  initialize(e) {
33404
33423
  e[Bb] = Math.random();
@@ -33413,7 +33432,7 @@ class eA extends Xr {
33413
33432
  }
33414
33433
  }
33415
33434
  const Fb = /* @__PURE__ */ Symbol("sizeLerpFactor"), tA = new _();
33416
- class iA extends Xr {
33435
+ class iA extends Qr {
33417
33436
  type = "NeedleSize";
33418
33437
  _minSize = 0;
33419
33438
  _maxSize = 1;
@@ -33433,15 +33452,15 @@ class iA extends Xr {
33433
33452
  }
33434
33453
  }
33435
33454
  }
33436
- const Sa = /* @__PURE__ */ Symbol("particleLife"), Cp = /* @__PURE__ */ Symbol("trailLifetime"), Ub = /* @__PURE__ */ Symbol("trailStartLength"), Pp = /* @__PURE__ */ Symbol("trailWidthRandom");
33437
- class nA extends Xr {
33455
+ const Ca = /* @__PURE__ */ Symbol("particleLife"), Cp = /* @__PURE__ */ Symbol("trailLifetime"), Ub = /* @__PURE__ */ Symbol("trailStartLength"), Pp = /* @__PURE__ */ Symbol("trailWidthRandom");
33456
+ class nA extends Qr {
33438
33457
  type = "NeedleTrail";
33439
33458
  initialize(e) {
33440
- e instanceof Gy && (e[Sa] = e.life, this.system.trails.enabled && this.system.trails.dieWithParticles === !1 && (e[Cp] = this.system.trails.lifetime.evaluate(Math.random(), Math.random()), e.life += e[Cp]), e[Ub] = e.length, e[Pp] = Math.random());
33459
+ e instanceof Gy && (e[Ca] = e.life, this.system.trails.enabled && this.system.trails.dieWithParticles === !1 && (e[Cp] = this.system.trails.lifetime.evaluate(Math.random(), Math.random()), e.life += e[Cp]), e[Ub] = e.length, e[Pp] = Math.random());
33441
33460
  }
33442
33461
  update(e) {
33443
33462
  if (this.system.trails?.enabled && e instanceof Gy) {
33444
- const t = e, i = e.age / e[Sa], n = e.previous.values(), o = e.previous.length;
33463
+ const t = e, i = e.age / e[Ca], n = e.previous.values(), o = e.previous.length;
33445
33464
  for (let r = 0; r < o; r++) {
33446
33465
  const l = n.next().value, c = 1 - r / (o - 1), h = e.size;
33447
33466
  if (h.x <= 0 && !this.system.trails.sizeAffectsWidth) {
@@ -33450,16 +33469,16 @@ class nA extends Xr {
33450
33469
  }
33451
33470
  l.size = this.system.trails.getWidth(h.x, i, c, t[Pp]), l.color.copy(e.color), this.system.trails.getColor(l.color, i, c);
33452
33471
  }
33453
- if (e.age > e[Sa]) {
33472
+ if (e.age > e[Ca]) {
33454
33473
  e.velocity.set(0, 0, 0);
33455
- const r = (e.age - e[Sa]) / e[Cp];
33474
+ const r = (e.age - e[Ca]) / e[Cp];
33456
33475
  t.length = F.lerp(e[Ub], 0, r);
33457
33476
  }
33458
33477
  }
33459
33478
  }
33460
33479
  }
33461
33480
  const nd = /* @__PURE__ */ Symbol("startVelocity"), zb = /* @__PURE__ */ Symbol("gravityModifier"), kp = /* @__PURE__ */ Symbol("gravitySpeed"), sd = /* @__PURE__ */ Symbol("velocity lerp factor"), Bm = new _();
33462
- class sA extends Xr {
33481
+ class sA extends Qr {
33463
33482
  type = "NeedleVelocity";
33464
33483
  _gravityDirection = new _();
33465
33484
  initialize(e) {
@@ -33495,7 +33514,7 @@ class sA extends Xr {
33495
33514
  }
33496
33515
  }
33497
33516
  const Nb = /* @__PURE__ */ Symbol("colorLerpFactor"), $b = new ae(1, 1, 1, 1), nr = new ae(1, 1, 1, 1);
33498
- class oA extends Xr {
33517
+ class oA extends Qr {
33499
33518
  type = "NeedleColor";
33500
33519
  initialize(e) {
33501
33520
  }
@@ -33775,7 +33794,7 @@ const Vt = class kd extends E {
33775
33794
  * ```
33776
33795
  */
33777
33796
  addBehaviour(e) {
33778
- return this._particleSystem ? (e instanceof Xr && (e.system = this), lo && console.debug("Add custom ParticleSystem Behaviour", e), this._particleSystem.addBehavior(e), !0) : !1;
33797
+ return this._particleSystem ? (e instanceof Qr && (e.system = this), lo && console.debug("Add custom ParticleSystem Behaviour", e), this._particleSystem.addBehavior(e), !0) : !1;
33779
33798
  }
33780
33799
  /** Remove a custom quarks behaviour from the particle system. **/
33781
33800
  removeBehaviour(e) {
@@ -33818,7 +33837,7 @@ const Vt = class kd extends E {
33818
33837
  const i = e[t];
33819
33838
  if (!(i instanceof Dm)) {
33820
33839
  const n = new Dm();
33821
- Ga(n, i), e[t] = n;
33840
+ qa(n, i), e[t] = n;
33822
33841
  }
33823
33842
  }
33824
33843
  this._bursts = e;
@@ -33830,7 +33849,7 @@ const Vt = class kd extends E {
33830
33849
  const i = e[t];
33831
33850
  if (!(i instanceof Fm)) {
33832
33851
  const n = new Fm();
33833
- Ga(n, i), e[t] = n;
33852
+ qa(n, i), e[t] = n;
33834
33853
  }
33835
33854
  }
33836
33855
  lo && e.length > 0 && console.log("SubEmitters: ", e, this), this._subEmitterSystems = e;
@@ -34460,9 +34479,9 @@ function Mp(s) {
34460
34479
  case 3:
34461
34480
  return yu;
34462
34481
  case 4:
34463
- return Ua;
34482
+ return za;
34464
34483
  default:
34465
- return Wb.has(s) || (Wb.set(s, !0), console.warn("[Postprocessing] Unknown tone mapping mode", s)), Ua;
34484
+ return Wb.has(s) || (Wb.set(s, !0), console.warn("[Postprocessing] Unknown tone mapping mode", s)), za;
34466
34485
  }
34467
34486
  }
34468
34487
  function MA(s) {
@@ -34473,7 +34492,7 @@ function MA(s) {
34473
34492
  return 2;
34474
34493
  case yu:
34475
34494
  return 3;
34476
- case Ua:
34495
+ case za:
34477
34496
  return 1;
34478
34497
  case eg:
34479
34498
  return 1;
@@ -34489,7 +34508,7 @@ function Od(s) {
34489
34508
  return A.POSTPROCESSING.MODULE.ToneMappingMode.ACES_FILMIC;
34490
34509
  case yu:
34491
34510
  return A.POSTPROCESSING.MODULE.ToneMappingMode.AGX;
34492
- case Ua:
34511
+ case za:
34493
34512
  return A.POSTPROCESSING.MODULE.ToneMappingMode.NEUTRAL;
34494
34513
  case eg:
34495
34514
  return A.POSTPROCESSING.MODULE.ToneMappingMode.REINHARD;
@@ -34503,7 +34522,7 @@ var RA = Object.defineProperty, gx = (s, e, t, i) => {
34503
34522
  return n && RA(e, t, n), n;
34504
34523
  };
34505
34524
  const Rp = x("debugpost");
34506
- class Dr extends ht {
34525
+ class jr extends ht {
34507
34526
  get typeName() {
34508
34527
  return "ToneMapping";
34509
34528
  }
@@ -34550,17 +34569,17 @@ class Dr extends ht {
34550
34569
  }
34551
34570
  gx([
34552
34571
  u($)
34553
- ], Dr.prototype, "mode");
34572
+ ], jr.prototype, "mode");
34554
34573
  gx([
34555
34574
  u($)
34556
- ], Dr.prototype, "exposure");
34557
- Mn("Tonemapping", Dr);
34575
+ ], jr.prototype, "exposure");
34576
+ Mn("Tonemapping", jr);
34558
34577
  var EA = Object.defineProperty, hf = (s, e, t, i) => {
34559
34578
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
34560
34579
  (r = s[o]) && (n = r(e, t, n) || n);
34561
34580
  return n && EA(e, t, n), n;
34562
34581
  };
34563
- class Qr extends ht {
34582
+ class Yr extends ht {
34564
34583
  get typeName() {
34565
34584
  return "ColorAdjustments";
34566
34585
  }
@@ -34581,8 +34600,8 @@ class Qr extends ht {
34581
34600
  }
34582
34601
  onCreateEffect() {
34583
34602
  const e = [];
34584
- let t = this.postprocessingContext?.components.find((o) => o instanceof Dr);
34585
- t || (t = new Dr(), this.postprocessingContext?.components.push(t)), this.postExposure.onValueChanged = (o) => {
34603
+ let t = this.postprocessingContext?.components.find((o) => o instanceof jr);
34604
+ t || (t = new jr(), this.postprocessingContext?.components.push(t)), this.postExposure.onValueChanged = (o) => {
34586
34605
  this.postExposure.overrideState && t ? t.exposure.value = o : console.warn("[PostProcessing] PostExposure is set to override but no ToneMappingEffect found in the postprocessing stack. Please add a ToneMappingEffect to your postprocessing stack to use PostExposure.");
34587
34606
  };
34588
34607
  const i = new A.POSTPROCESSING.MODULE.BrightnessContrastEffect();
@@ -34593,18 +34612,18 @@ class Qr extends ht {
34593
34612
  }
34594
34613
  hf([
34595
34614
  u($)
34596
- ], Qr.prototype, "postExposure");
34615
+ ], Yr.prototype, "postExposure");
34597
34616
  hf([
34598
34617
  u($)
34599
- ], Qr.prototype, "contrast");
34618
+ ], Yr.prototype, "contrast");
34600
34619
  hf([
34601
34620
  u($)
34602
- ], Qr.prototype, "hueShift");
34621
+ ], Yr.prototype, "hueShift");
34603
34622
  hf([
34604
34623
  u($)
34605
- ], Qr.prototype, "saturation");
34606
- Mn("ColorAdjustments", Qr);
34607
- var TA = Object.defineProperty, Yr = (s, e, t, i) => {
34624
+ ], Yr.prototype, "saturation");
34625
+ Mn("ColorAdjustments", Yr);
34626
+ var TA = Object.defineProperty, Kr = (s, e, t, i) => {
34608
34627
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
34609
34628
  (r = s[o]) && (n = r(e, t, n) || n);
34610
34629
  return n && TA(e, t, n), n;
@@ -34650,25 +34669,25 @@ class ss extends ht {
34650
34669
  unapply() {
34651
34670
  }
34652
34671
  }
34653
- Yr([
34672
+ Kr([
34654
34673
  u()
34655
34674
  ], ss.prototype, "mode");
34656
- Yr([
34675
+ Kr([
34657
34676
  u($)
34658
34677
  ], ss.prototype, "focusDistance");
34659
- Yr([
34678
+ Kr([
34660
34679
  u($)
34661
34680
  ], ss.prototype, "focalLength");
34662
- Yr([
34681
+ Kr([
34663
34682
  u($)
34664
34683
  ], ss.prototype, "aperture");
34665
- Yr([
34684
+ Kr([
34666
34685
  u($)
34667
34686
  ], ss.prototype, "gaussianMaxRadius");
34668
- Yr([
34687
+ Kr([
34669
34688
  u($)
34670
34689
  ], ss.prototype, "resolutionScale");
34671
- Yr([
34690
+ Kr([
34672
34691
  u($)
34673
34692
  ], ss.prototype, "bokehScale");
34674
34693
  Mn("DepthOfField", ss);
@@ -34773,7 +34792,7 @@ fh([
34773
34792
  u($)
34774
34793
  ], zo.prototype, "luminanceInfluence");
34775
34794
  Mn("ScreenSpaceAmbientOcclusion", zo);
34776
- var jA = Object.defineProperty, Kr = (s, e, t, i) => {
34795
+ var jA = Object.defineProperty, Zr = (s, e, t, i) => {
34777
34796
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
34778
34797
  (r = s[o]) && (n = r(e, t, n) || n);
34779
34798
  return n && jA(e, t, n), n;
@@ -34824,27 +34843,27 @@ class os extends ht {
34824
34843
  }, n;
34825
34844
  }
34826
34845
  }
34827
- Kr([
34846
+ Zr([
34828
34847
  Nt(),
34829
34848
  u()
34830
34849
  ], os.prototype, "gammaCorrection");
34831
- Kr([
34850
+ Zr([
34832
34851
  u($)
34833
34852
  ], os.prototype, "aoRadius");
34834
- Kr([
34853
+ Zr([
34835
34854
  u($)
34836
34855
  ], os.prototype, "falloff");
34837
- Kr([
34856
+ Zr([
34838
34857
  u($)
34839
34858
  ], os.prototype, "intensity");
34840
- Kr([
34859
+ Zr([
34841
34860
  u($)
34842
34861
  ], os.prototype, "color");
34843
- Kr([
34862
+ Zr([
34844
34863
  Nt(),
34845
34864
  u()
34846
34865
  ], os.prototype, "screenspaceRadius");
34847
- Kr([
34866
+ Zr([
34848
34867
  Nt(),
34849
34868
  u()
34850
34869
  ], os.prototype, "quality");
@@ -35769,7 +35788,7 @@ class nt extends E {
35769
35788
  const l = this.gameObject.removeFromParent();
35770
35789
  Ki(this.context.scene, !0, !0), this.context.scene = new Mi(), this.context.scene.add(l), a && this.context.scene.add(a);
35771
35790
  }
35772
- if (e.asset.parent ? this._currentSceneAsset = Rr(e.asset, { parent: this.gameObject }) : (this._currentSceneAsset = e.asset, C.add(e.asset, this.gameObject)), this.useSceneLighting && this.context.sceneLighting.enable(e), this.useSceneBackground) {
35791
+ if (e.asset.parent ? this._currentSceneAsset = Er(e.asset, { parent: this.gameObject }) : (this._currentSceneAsset = e.asset, C.add(e.asset, this.gameObject)), this.useSceneLighting && this.context.sceneLighting.enable(e), this.useSceneBackground) {
35773
35792
  const a = this.context.lightmaps.tryGetSkybox(e.url);
35774
35793
  a ? (a.mapping = Hn, this.context.scene.background = a) : ft && console.warn("[SceneSwitcher] Can't find skybox for scene " + e.url);
35775
35794
  }
@@ -36467,7 +36486,7 @@ class ZA {
36467
36486
  const e = this._videos[this._videos.length - 1];
36468
36487
  if (!e) return;
36469
36488
  if (this._isInScreenspaceMode = !0, !this._screenspaceModeQuad) {
36470
- if (this._screenspaceModeQuad = zr.createPrimitive(Vc.Quad, {
36489
+ if (this._screenspaceModeQuad = Nr.createPrimitive(Vc.Quad, {
36471
36490
  material: new eI(e)
36472
36491
  }), !this._screenspaceModeQuad) return;
36473
36492
  this._screenspaceModeQuad.geometry.scale(2, 2, 2);
@@ -36633,7 +36652,7 @@ var tI = Object.defineProperty, iI = Object.getOwnPropertyDescriptor, mh = (s, e
36633
36652
  };
36634
36653
  const Ct = x("debugscreensharing");
36635
36654
  var Sx = /* @__PURE__ */ ((s) => (s[s.Screen = 0] = "Screen", s[s.Camera = 1] = "Camera", s[s.Canvas = 2] = "Canvas", s[s.Microphone = 3] = "Microphone", s))(Sx || {});
36636
- class Zr extends E {
36655
+ class Jr extends E {
36637
36656
  allowStartOnClick = !0;
36638
36657
  /** @internal */
36639
36658
  onPointerEnter() {
@@ -36901,19 +36920,19 @@ class Zr extends E {
36901
36920
  }
36902
36921
  mh([
36903
36922
  u()
36904
- ], Zr.prototype, "allowStartOnClick", 2);
36923
+ ], Jr.prototype, "allowStartOnClick", 2);
36905
36924
  mh([
36906
36925
  u()
36907
- ], Zr.prototype, "autoConnect", 2);
36926
+ ], Jr.prototype, "autoConnect", 2);
36908
36927
  mh([
36909
36928
  u(yt)
36910
- ], Zr.prototype, "videoPlayer", 1);
36929
+ ], Jr.prototype, "videoPlayer", 1);
36911
36930
  mh([
36912
36931
  u()
36913
- ], Zr.prototype, "device", 2);
36932
+ ], Jr.prototype, "device", 2);
36914
36933
  mh([
36915
36934
  u()
36916
- ], Zr.prototype, "deviceName", 2);
36935
+ ], Jr.prototype, "deviceName", 2);
36917
36936
  var nI = Object.defineProperty, bl = (s, e, t, i) => {
36918
36937
  for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
36919
36938
  (r = s[o]) && (n = r(e, t, n) || n);
@@ -37015,7 +37034,7 @@ class ff extends E {
37015
37034
  if (this.gameObject instanceof H)
37016
37035
  this.gameObject instanceof H && this.gameObject.material && (this.gameObject.material = this.gameObject.material.clone(), this.targetMesh = this.gameObject, this.targetMesh.receiveShadow = !0);
37017
37036
  else {
37018
- const e = zr.createPrimitive(Vc.Quad, {
37037
+ const e = Nr.createPrimitive(Vc.Quad, {
37019
37038
  name: "ShadowCatcher",
37020
37039
  material: new pt({
37021
37040
  // HACK heuristic to get approx. the same colors out as with the current default ShadowCatcher material
@@ -37197,7 +37216,7 @@ pe.registerCallback(ue.ContextCreationStart, (s) => {
37197
37216
  pe.registerCallback(ue.ContextCreationStart, () => Promise.all(ru).finally(() => {
37198
37217
  ru.length = 0;
37199
37218
  }));
37200
- const jr = class extends E {
37219
+ const Br = class extends E {
37201
37220
  url = "studio";
37202
37221
  allowDrop = !0;
37203
37222
  background = !0;
@@ -37307,22 +37326,22 @@ const jr = class extends E {
37307
37326
  };
37308
37327
  };
37309
37328
  gh([
37310
- Ww(jr.prototype.urlChangedSyncField),
37329
+ Ww(Br.prototype.urlChangedSyncField),
37311
37330
  u(URL)
37312
- ], jr.prototype, "url");
37331
+ ], Br.prototype, "url");
37313
37332
  gh([
37314
37333
  u()
37315
- ], jr.prototype, "allowDrop");
37334
+ ], Br.prototype, "allowDrop");
37316
37335
  gh([
37317
37336
  u()
37318
- ], jr.prototype, "background");
37337
+ ], Br.prototype, "background");
37319
37338
  gh([
37320
37339
  u()
37321
- ], jr.prototype, "environment");
37340
+ ], Br.prototype, "environment");
37322
37341
  gh([
37323
37342
  u()
37324
- ], jr.prototype, "allowNetworking");
37325
- let wy = jr;
37343
+ ], Br.prototype, "allowNetworking");
37344
+ let wy = Br;
37326
37345
  function hI(s, e, t) {
37327
37346
  if (s == null) return null;
37328
37347
  const i = e && !t, n = Hb[s.toLowerCase()];
@@ -37803,7 +37822,7 @@ class _I {
37803
37822
  * Attempts to select an avatar to spectate through raycasting
37804
37823
  */
37805
37824
  trySelectObject() {
37806
- const e = new Nr();
37825
+ const e = new $r();
37807
37826
  e.setMask(16777215);
37808
37827
  const t = this.context.physics.raycast(e);
37809
37828
  if (xi && console.log(...t), t?.length)
@@ -38250,7 +38269,7 @@ class wl extends E {
38250
38269
  const e = new Qm({
38251
38270
  color: 6684927
38252
38271
  }), t = this.spline.length * 10, i = this._curve.getPoints(t), n = new _n().setFromPoints(i);
38253
- this._debugLine = new Ba(n, e), this.gameObject?.add(this._debugLine);
38272
+ this._debugLine = new Fa(n, e), this.gameObject?.add(this._debugLine);
38254
38273
  }
38255
38274
  }
38256
38275
  }
@@ -38528,7 +38547,7 @@ const Ox = class $m extends E {
38528
38547
  const o = n.obj;
38529
38548
  this.context.players.setPlayerView(i, o, vo.Browser), n.lastUpdate = this.context.time.realtimeSinceStartup, bn.markDirty(o);
38530
38549
  const r = e.pos();
38531
- r && Na(o, r.x(), r.y(), r.z());
38550
+ r && $a(o, r.x(), r.y(), r.z());
38532
38551
  const a = e.rot();
38533
38552
  a && Cu(o, a.x(), a.y(), a.z());
38534
38553
  }
@@ -39177,7 +39196,7 @@ class go extends bh {
39177
39196
  _audioLoader = null;
39178
39197
  getAudioFilePath(e) {
39179
39198
  const t = this.director.sourceId;
39180
- return Fr(t, e);
39199
+ return Ur(t, e);
39181
39200
  }
39182
39201
  onAllowAudioChanged(e) {
39183
39202
  for (let t = 0; t < this.models.length; t++) {
@@ -40589,7 +40608,7 @@ const XI = {
40589
40608
  class Ty extends Mi {
40590
40609
  constructor(e) {
40591
40610
  super(), this.position.y = -3.5;
40592
- const t = new ja();
40611
+ const t = new Ba();
40593
40612
  t.deleteAttribute("uv");
40594
40613
  const i = new pt({ metalness: 0, side: bu }), n = new pt({ metalness: 0 }), o = e == "legacy" ? XI : QI, r = new Xm(16777215, o.topLight.intensity, 28, 2);
40595
40614
  r.position.set(...o.topLight.position), this.add(r);
@@ -42195,7 +42214,7 @@ class Yo extends E {
42195
42214
  else if (f instanceof Ps)
42196
42215
  for (const y of f.children)
42197
42216
  y instanceof H && (Ae(y.geometry), y.geometry = this.createGeometry(l), this.makeOccluder(y, y.material, this.occluder && !this.dataTemplate));
42198
- const p = f.getComponent(Hr);
42217
+ const p = f.getComponent(Gr);
42199
42218
  if (p) {
42200
42219
  const y = f;
42201
42220
  p.sharedMesh = y, p.convex = this.checkIfContextShouldBeConvex(y, l), p.onDisable(), p.onEnable();
@@ -42378,14 +42397,14 @@ P.add("CharacterController", nl);
42378
42397
  P.add("CharacterControllerInput", To);
42379
42398
  P.add("SphereCollider", Zc);
42380
42399
  P.add("BoxCollider", Ng);
42381
- P.add("MeshCollider", Hr);
42400
+ P.add("MeshCollider", Gr);
42382
42401
  P.add("CapsuleCollider", Oo);
42383
42402
  P.add("ContactShadows", zu);
42384
42403
  P.add("LogStats", lw);
42385
42404
  P.add("DeleteBox", Sr);
42386
42405
  P.add("Deletable", hw);
42387
42406
  P.add("DeviceFlag", $g);
42388
- P.add("DragControls", va);
42407
+ P.add("DragControls", wa);
42389
42408
  P.add("DropListener", Io);
42390
42409
  P.add("Duplicatable", xw);
42391
42410
  P.add("EventListEvent", Ig);
@@ -42398,7 +42417,7 @@ P.add("ChangeMaterialOnClick", Uw);
42398
42417
  P.add("SetActiveOnClick", zw);
42399
42418
  P.add("HideOnStart", fn);
42400
42419
  P.add("EmphasizeOnClick", ih);
42401
- P.add("PlayAudioOnClick", Tr);
42420
+ P.add("PlayAudioOnClick", Ar);
42402
42421
  P.add("PlayAnimationOnClick", iu);
42403
42422
  P.add("PreliminaryAction", nh);
42404
42423
  P.add("PreliminaryTrigger", qu);
@@ -42429,7 +42448,7 @@ P.add("PlayerColor", Nc);
42429
42448
  P.add("Antialiasing", af);
42430
42449
  P.add("BloomEffect", _y);
42431
42450
  P.add("ChromaticAberration", cf);
42432
- P.add("ColorAdjustments", Qr);
42451
+ P.add("ColorAdjustments", Yr);
42433
42452
  P.add("DepthOfField", ss);
42434
42453
  P.add("EffectWrapper", ou);
42435
42454
  P.add("PixelationEffect", df);
@@ -42437,7 +42456,7 @@ P.add("ScreenSpaceAmbientOcclusion", zo);
42437
42456
  P.add("ScreenSpaceAmbientOcclusionN8", os);
42438
42457
  P.add("SharpeningEffect", uf);
42439
42458
  P.add("TiltShiftEffect", Vs);
42440
- P.add("ToneMappingEffect", Dr);
42459
+ P.add("ToneMappingEffect", jr);
42441
42460
  P.add("Vignette", _l);
42442
42461
  P.add("Volume", ph);
42443
42462
  P.add("ReflectionProbe", ao);
@@ -42446,7 +42465,7 @@ P.add("MeshRenderer", Wu);
42446
42465
  P.add("SkinnedMeshRenderer", vw);
42447
42466
  P.add("Rigidbody", Je);
42448
42467
  P.add("SceneSwitcher", nt);
42449
- P.add("ScreenCapture", Zr);
42468
+ P.add("ScreenCapture", Jr);
42450
42469
  P.add("SeeThrough", No);
42451
42470
  P.add("ShadowCatcher", ff);
42452
42471
  P.add("RemoteSkybox", wy);
@@ -42474,7 +42493,7 @@ P.add("BaseUIComponent", xn);
42474
42493
  P.add("UIRootComponent", Zu);
42475
42494
  P.add("Button", Ho);
42476
42495
  P.add("Canvas", Uc);
42477
- P.add("CanvasGroup", Lr);
42496
+ P.add("CanvasGroup", Dr);
42478
42497
  P.add("EventSystem", hi);
42479
42498
  P.add("Graphic", Ju);
42480
42499
  P.add("MaskableGraphic", ef);
@@ -42495,13 +42514,13 @@ P.add("EnvironmentScene", Ty);
42495
42514
  P.add("LookAt", Bx);
42496
42515
  P.add("OpenURL", Sh);
42497
42516
  P.add("VideoPlayer", yt);
42498
- P.add("Voip", Vr);
42517
+ P.add("Voip", Hr);
42499
42518
  P.add("ClickThrough", Iy);
42500
42519
  P.add("CursorFollow", Sl);
42501
42520
  P.add("HoverAnimation", js);
42502
42521
  P.add("ScrollFollow", Go);
42503
42522
  P.add("ViewBox", at);
42504
- P.add("Avatar", Ir);
42523
+ P.add("Avatar", Lr);
42505
42524
  P.add("XRControllerFollow", qo);
42506
42525
  P.add("XRControllerModel", Mo);
42507
42526
  P.add("XRControllerMovement", tn);
@@ -42543,7 +42562,7 @@ async function SL(s, e, t, i = null, n) {
42543
42562
  if (t.children)
42544
42563
  for (const h of t.children)
42545
42564
  await Gm(l, h, c, o, 0);
42546
- s.new_scripts_pre_setup_callbacks.push(() => {
42565
+ if (s.new_scripts_pre_setup_callbacks.push(() => {
42547
42566
  const h = s[jp];
42548
42567
  if (h) {
42549
42568
  for (const d of h)
@@ -42558,20 +42577,25 @@ async function SL(s, e, t, i = null, n) {
42558
42577
  for (const p of f)
42559
42578
  p.resolveGuids(d);
42560
42579
  }
42561
- });
42580
+ }), t.scenes)
42581
+ for (const h of t.scenes)
42582
+ s.registerSceneComponents(h);
42583
+ if (t.children)
42584
+ for (const h of t.children)
42585
+ s.registerSceneComponents(h);
42562
42586
  }
42563
- const Vm = /* @__PURE__ */ Symbol("original-component-name"), la = /* @__PURE__ */ new Map();
42587
+ const Vm = /* @__PURE__ */ Symbol("original-component-name"), ca = /* @__PURE__ */ new Map();
42564
42588
  function Hm(s, e, t, i) {
42565
42589
  if (e === null || !s) return;
42566
42590
  const n = s.guid, o = s.guid;
42567
- o?.length && (la.has(o) || (Pc && console.log('Creating InstanceIdProvider with key "' + o + '" for object ' + s.name), la.set(o, new Ut(o))));
42568
- const r = o && la.get(o) || e;
42591
+ o?.length && (ca.has(o) || (Pc && console.log('Creating InstanceIdProvider with key "' + o + '" for object ' + s.name), ca.set(o, new Ut(o))));
42592
+ const r = o && ca.get(o) || e;
42569
42593
  if (s.guid = r.generateUUID(), n && n !== "invalid" && (t[n] = s.guid), s && s.userData && s.userData.components)
42570
42594
  for (const a of s.userData.components) {
42571
42595
  if (a === null) continue;
42572
42596
  const l = a.guid;
42573
- l ? la.has(l) || (Pc && console.log('Creating InstanceIdProvider with key "' + l + '" for component ' + a[Vm]), la.set(l, new Ut(l))) : Pc && console.warn("Can not create IdProvider: component " + a[Vm] + " has no guid", a.guid);
42574
- const c = la.get(l) || e, h = a.guid;
42597
+ l ? ca.has(l) || (Pc && console.log('Creating InstanceIdProvider with key "' + l + '" for component ' + a[Vm]), ca.set(l, new Ut(l))) : Pc && console.warn("Can not create IdProvider: component " + a[Vm] + " has no guid", a.guid);
42598
+ const c = ca.get(l) || e, h = a.guid;
42575
42599
  a.guid = c.generateUUID(), h && h !== "invalid" && (t[h] = a.guid), a.resolveGuids && i.push(a);
42576
42600
  }
42577
42601
  if (s.children)
@@ -42591,7 +42615,7 @@ async function Gm(s, e, t, i, n) {
42591
42615
  const l = P.get(a.name);
42592
42616
  if (l != null) {
42593
42617
  const c = new l();
42594
- c.sourceId = s.gltfId, Ga(c, a, s.implementationInformation), c.context = s.context, "guid" in a && (c[hd] = a.guid), c[Vm] = a.name, Ma(e, c, !1), t.push({ instance: c, compData: a, obj: e }), c.isCamera && s.context && s.context.mainCamera === null && c.tag === "MainCamera" && s.context.setCurrentCamera(c), s.context?.physics?.engine?.isInitialized === !1 && (c.isCollider || c.isRigidbody) && s.context?.physics.engine?.initialize();
42618
+ c.sourceId = s.gltfId, qa(c, a, s.implementationInformation), c.context = s.context, "guid" in a && (c[hd] = a.guid), c[Vm] = a.name, Ra(e, c, !1, !1), t.push({ instance: c, compData: a, obj: e }), c.isCamera && s.context && s.context.mainCamera === null && c.tag === "MainCamera" && s.context.setCurrentCamera(c), s.context?.physics?.engine?.isInitialized === !1 && (c.isCollider || c.isRigidbody) && s.context?.physics.engine?.initialize();
42595
42619
  } else
42596
42620
  Pc && console.debug("unknown component: " + a.name), $l.includes(a.name) || $l.push(a.name);
42597
42621
  } catch (l) {
@@ -42633,8 +42657,8 @@ t0($x);
42633
42657
  const Wx = x("printGltf") || x("printgltf"), PL = x("debugfileformat");
42634
42658
  async function Vx(s, e, t) {
42635
42659
  const i = await SR(s, { useExtension: !0 }) || "unknown";
42636
- PL && console.debug(`Determined file type: '${i}' for url '${s}'`, { registeredModelLoaderCallbacks: wa });
42637
- for (const n of wa) {
42660
+ PL && console.debug(`Determined file type: '${i}' for url '${s}'`, { registeredModelLoaderCallbacks: xa });
42661
+ for (const n of xa) {
42638
42662
  const { callback: o } = n, r = o({ context: e, url: s, mimetype: i });
42639
42663
  if (r instanceof Promise && await r, r)
42640
42664
  return console.debug(`Using custom loader (${n.name || "unnamed"}) for ${i} at '${s}'`), r;
@@ -43027,7 +43051,7 @@ class du {
43027
43051
  `, this._loadingElement.appendChild(g);
43028
43052
  }
43029
43053
  const a = document.createElement("img"), l = "80%", c = "15%", h = ".2s";
43030
- if (a.style.userSelect = "none", a.style.objectFit = "contain", a.style.transform = "translateY(30px)", a.style.opacity = "0.0000001", a.style.transition = `transform 1s ease-out ${h}, opacity .3s ease-in-out ${h}`, a.src = Va, i && this._element) {
43054
+ if (a.style.userSelect = "none", a.style.objectFit = "contain", a.style.transform = "translateY(30px)", a.style.opacity = "0.0000001", a.style.transition = `transform 1s ease-out ${h}, opacity .3s ease-in-out ${h}`, a.src = Ha, i && this._element) {
43031
43055
  const g = this._element.getAttribute("logo-src");
43032
43056
  g && (a.src = g, setTimeout(() => {
43033
43057
  a.style.opacity = "1", a.style.transform = "translateY(0px)";
@@ -44258,7 +44282,7 @@ Error:`, r), null;
44258
44282
  const l = this._tempPosition.copy(a).applyQuaternion(this._tempQuaternion), c = qe(t.gameObject);
44259
44283
  l.multiply(c), o.x -= l.x, o.y -= l.y, o.z -= l.z;
44260
44284
  }
44261
- Na(t.gameObject, o.x, o.y, o.z), $v(t.gameObject, r.x, r.y, r.z, r.w);
44285
+ $a(t.gameObject, o.x, o.y, o.z), $v(t.gameObject, r.x, r.y, r.z, r.w);
44262
44286
  }
44263
44287
  }
44264
44288
  syncPhysicsBody(e, t, i, n) {
@@ -44362,19 +44386,19 @@ class UL {
44362
44386
  onCollisionStarted(e, t, i, n) {
44363
44387
  let o = null;
44364
44388
  if (e.isTrigger || i.isTrigger)
44365
- Xa(e.gameObject, (r) => {
44389
+ Rr(e.gameObject, (r) => {
44366
44390
  r.onTriggerEnter && !r.destroyed && r.onTriggerEnter(i), this.activeTriggers.push({ collider: e, component: r, otherCollider: i });
44367
44391
  });
44368
44392
  else {
44369
44393
  const r = e.gameObject;
44370
44394
  this.world.contactPair(t, n, (a, l) => {
44371
- Xa(r, (c) => {
44395
+ Rr(r, (c) => {
44372
44396
  if (c.destroyed) return;
44373
44397
  const h = c.onCollisionEnter || c.onCollisionStay || c.onCollisionExit;
44374
44398
  if (h || Fp) {
44375
44399
  if (!o) {
44376
44400
  const d = [], f = a.normal();
44377
- i instanceof Hr && i.convex && (f.x = -f.x, f.y = -f.y, f.z = -f.z);
44401
+ i instanceof Gr && i.convex && (f.x = -f.x, f.y = -f.y, f.z = -f.z);
44378
44402
  for (let p = 0; p < a.numSolverContacts(); p++) {
44379
44403
  const g = a.solverContactPoint(p), y = a.contactImpulse(p);
44380
44404
  if (g) {
@@ -44838,7 +44862,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44838
44862
  AudioListener: po,
44839
44863
  AudioSource: Ji,
44840
44864
  AudioTrackHandler: go,
44841
- Avatar: Ir,
44865
+ Avatar: Lr,
44842
44866
  AvatarBlink_Simple: il,
44843
44867
  AvatarEyeLook_Rotation: ow,
44844
44868
  AvatarLoader: VL,
@@ -44847,7 +44871,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44847
44871
  Avatar_Brain_LookAt: Jd,
44848
44872
  Avatar_MouthShapes: Bu,
44849
44873
  Avatar_MustacheShake: tw,
44850
- Avatar_POI: Aa,
44874
+ Avatar_POI: Ia,
44851
44875
  AxesHelper: Kc,
44852
44876
  BaseUIComponent: xn,
44853
44877
  BasicIKConstraint: rw,
@@ -44862,7 +44886,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44862
44886
  Camera: Si,
44863
44887
  CameraTargetReachedEvent: Zd,
44864
44888
  Canvas: Uc,
44865
- CanvasGroup: Lr,
44889
+ CanvasGroup: Dr,
44866
44890
  CapsuleCollider: Oo,
44867
44891
  ChangeMaterialOnClick: Uw,
44868
44892
  ChangeTransformOnClick: al,
@@ -44870,7 +44894,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44870
44894
  CharacterControllerInput: To,
44871
44895
  ChromaticAberration: cf,
44872
44896
  ClickThrough: Iy,
44873
- ColorAdjustments: Qr,
44897
+ ColorAdjustments: Yr,
44874
44898
  ColorBySpeedModule: dh,
44875
44899
  ColorOverLifetimeModule: fy,
44876
44900
  ContactShadows: zu,
@@ -44882,7 +44906,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44882
44906
  DepthOfField: ss,
44883
44907
  DeviceFlag: $g,
44884
44908
  DocumentExtension: HL,
44885
- DragControls: va,
44909
+ DragControls: wa,
44886
44910
  DropListener: Io,
44887
44911
  Duplicatable: xw,
44888
44912
  EffectWrapper: ou,
@@ -44904,7 +44928,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44904
44928
  GridHelper: ah,
44905
44929
  GridLayoutGroup: tx,
44906
44930
  GroundProjectedEnv: Fs,
44907
- GroupActionModel: xa,
44931
+ GroupActionModel: Sa,
44908
44932
  HideOnStart: fn,
44909
44933
  HingeJoint: tf,
44910
44934
  HorizontalLayoutGroup: ex,
@@ -44914,7 +44938,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44914
44938
  Image: vh,
44915
44939
  InheritVelocityModule: hx,
44916
44940
  InputField: Lx,
44917
- InstanceHandle: La,
44941
+ InstanceHandle: Da,
44918
44942
  InstancingHandler: Za,
44919
44943
  Interactable: cw,
44920
44944
  Keyframe: Ci,
@@ -44928,7 +44952,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44928
44952
  MainModule: ni,
44929
44953
  MarkerTrackHandler: ky,
44930
44954
  MaskableGraphic: ef,
44931
- MeshCollider: Hr,
44955
+ MeshCollider: Gr,
44932
44956
  MeshRenderer: Wu,
44933
44957
  MinMaxCurve: Y,
44934
44958
  MinMaxGradient: ml,
@@ -44949,7 +44973,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44949
44973
  PhysicsExtension: qw,
44950
44974
  PixelationEffect: df,
44951
44975
  PlayAnimationOnClick: iu,
44952
- PlayAudioOnClick: Tr,
44976
+ PlayAudioOnClick: Ar,
44953
44977
  PlayableDirector: Ja,
44954
44978
  PlayerColor: Nc,
44955
44979
  PointerEventData: Du,
@@ -44968,7 +44992,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44968
44992
  RotationBySpeedModule: kn,
44969
44993
  RotationOverLifetimeModule: ns,
44970
44994
  SceneSwitcher: nt,
44971
- ScreenCapture: Zr,
44995
+ ScreenCapture: Jr,
44972
44996
  ScreenSpaceAmbientOcclusion: zo,
44973
44997
  ScreenSpaceAmbientOcclusionN8: os,
44974
44998
  ScrollFollow: Go,
@@ -45012,7 +45036,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
45012
45036
  TextExtension: ny,
45013
45037
  TextureSheetAnimationModule: si,
45014
45038
  TiltShiftEffect: Vs,
45015
- ToneMappingEffect: Dr,
45039
+ ToneMappingEffect: jr,
45016
45040
  TrailModule: Ve,
45017
45041
  TransformData: $e,
45018
45042
  TransformGizmo: xl,
@@ -45033,7 +45057,7 @@ const v2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
45033
45057
  },
45034
45058
  Vignette: _l,
45035
45059
  VisibilityAction: Xu,
45036
- Voip: Vr,
45060
+ Voip: Hr,
45037
45061
  Volume: ph,
45038
45062
  VolumeParameter: $,
45039
45063
  VolumeProfile: gy,
@@ -45058,11 +45082,11 @@ pe.registerCallback(ue.MissingCamera, (s) => {
45058
45082
  t.name = "Default Fallback Camera", e.add(t);
45059
45083
  const i = new Si();
45060
45084
  if (i.sourceId = s.files?.[0]?.src ?? "unknown", i.fieldOfView = 35, s.context.domElement.getAttribute("transparent") != null)
45061
- i.clearFlags = Ta.Uninitialized;
45085
+ i.clearFlags = Aa.Uninitialized;
45062
45086
  else if (s.context.domElement.getAttribute("background-image")?.length || s.context.lightmaps.tryGetSkybox(i.sourceId))
45063
- i.clearFlags = Ta.Skybox;
45087
+ i.clearFlags = Aa.Skybox;
45064
45088
  else {
45065
- if (i.clearFlags = Ta.SolidColor, !s.context.domElement.getAttribute("background-color")) {
45089
+ if (i.clearFlags = Aa.SolidColor, !s.context.domElement.getAttribute("background-color")) {
45066
45090
  let a = "#efefef";
45067
45091
  typeof window !== void 0 && window.matchMedia("(prefers-color-scheme: dark)").matches && (a = "#1f1f1f"), e.background = new re(a);
45068
45092
  }
@@ -45071,7 +45095,7 @@ pe.registerCallback(ue.MissingCamera, (s) => {
45071
45095
  e.environment = a.fromScene(l, 0.025).texture;
45072
45096
  }
45073
45097
  }
45074
- const o = Ma(t, i, !0);
45098
+ const o = Ra(t, i, !0);
45075
45099
  return t.position.x = 0, t.position.y = 1, t.position.z = 2, s.context.domElement?.cameraControls != !1 && Jx(s.context, o), o;
45076
45100
  });
45077
45101
  pe.registerCallback(ue.ContextCreated, (s) => {
@@ -45203,7 +45227,7 @@ export {
45203
45227
  po as AudioListener,
45204
45228
  Ji as AudioSource,
45205
45229
  go as AudioTrackHandler,
45206
- Ir as Avatar,
45230
+ Lr as Avatar,
45207
45231
  il as AvatarBlink_Simple,
45208
45232
  ow as AvatarEyeLook_Rotation,
45209
45233
  VL as AvatarLoader,
@@ -45212,7 +45236,7 @@ export {
45212
45236
  Jd as Avatar_Brain_LookAt,
45213
45237
  Bu as Avatar_MouthShapes,
45214
45238
  tw as Avatar_MustacheShake,
45215
- Aa as Avatar_POI,
45239
+ Ia as Avatar_POI,
45216
45240
  Kl as Axes,
45217
45241
  Kc as AxesHelper,
45218
45242
  Fd as BUILD_TIME,
@@ -45232,7 +45256,7 @@ export {
45232
45256
  Si as Camera,
45233
45257
  Zd as CameraTargetReachedEvent,
45234
45258
  Uc as Canvas,
45235
- Lr as CanvasGroup,
45259
+ Dr as CanvasGroup,
45236
45260
  Oo as CapsuleCollider,
45237
45261
  Uw as ChangeMaterialOnClick,
45238
45262
  al as ChangeTransformOnClick,
@@ -45240,13 +45264,13 @@ export {
45240
45264
  To as CharacterControllerInput,
45241
45265
  cf as ChromaticAberration,
45242
45266
  Yi as CircularBuffer,
45243
- Ta as ClearFlags,
45267
+ Aa as ClearFlags,
45244
45268
  Iy as ClickThrough,
45245
45269
  fs as ClipExtrapolation,
45246
45270
  Pn as Collider,
45247
45271
  QM as Collision,
45248
45272
  Ag as CollisionDetectionMode,
45249
- Qr as ColorAdjustments,
45273
+ Yr as ColorAdjustments,
45250
45274
  dh as ColorBySpeedModule,
45251
45275
  fy as ColorOverLifetimeModule,
45252
45276
  KD as Component,
@@ -45271,7 +45295,7 @@ export {
45271
45295
  $g as DeviceFlag,
45272
45296
  D as DeviceUtilities,
45273
45297
  HL as DocumentExtension,
45274
- va as DragControls,
45298
+ wa as DragControls,
45275
45299
  dw as DragMode,
45276
45300
  Io as DropListener,
45277
45301
  xw as Duplicatable,
@@ -45285,7 +45309,7 @@ export {
45285
45309
  hi as EventSystem,
45286
45310
  Gg as EventTrigger,
45287
45311
  JR as FieldWithDefault,
45288
- Ea as FileReference,
45312
+ Ta as FileReference,
45289
45313
  fO as FileReferenceSerializer,
45290
45314
  r2 as FileSpawnModel,
45291
45315
  wR as File_Event,
@@ -45304,7 +45328,7 @@ export {
45304
45328
  ah as GridHelper,
45305
45329
  tx as GridLayoutGroup,
45306
45330
  Fs as GroundProjectedEnv,
45307
- xa as GroupActionModel,
45331
+ Sa as GroupActionModel,
45308
45332
  jg as HideFlags,
45309
45333
  fn as HideOnStart,
45310
45334
  tf as HingeJoint,
@@ -45312,14 +45336,14 @@ export {
45312
45336
  zD as HostData,
45313
45337
  js as HoverAnimation,
45314
45338
  vh as Image,
45315
- Ra as ImageReference,
45339
+ Ea as ImageReference,
45316
45340
  uO as ImageReferenceSerializer,
45317
45341
  hx as InheritVelocityModule,
45318
45342
  xP as Input,
45319
45343
  vi as InputEventQueue,
45320
45344
  Be as InputEvents,
45321
45345
  Lx as InputField,
45322
- La as InstanceHandle,
45346
+ Da as InstanceHandle,
45323
45347
  Za as InstancingHandler,
45324
45348
  bn as InstancingUtil,
45325
45349
  bk as InstantiateEvent,
@@ -45349,7 +45373,7 @@ export {
45349
45373
  So as MaterialPropertyBlock,
45350
45374
  Cm as MaterialX,
45351
45375
  F as Mathf,
45352
- Hr as MeshCollider,
45376
+ Gr as MeshCollider,
45353
45377
  Wu as MeshRenderer,
45354
45378
  Y as MinMaxCurve,
45355
45379
  ml as MinMaxGradient,
@@ -45373,7 +45397,7 @@ export {
45373
45397
  xk as NewInstanceModel,
45374
45398
  we as NoiseModule,
45375
45399
  Zi as ObjectRaycaster,
45376
- zr as ObjectUtils,
45400
+ Nr as ObjectUtils,
45377
45401
  fl as OffsetConstraint,
45378
45402
  Lf as OneEuroFilter,
45379
45403
  zv as OneEuroFilterXYZ,
@@ -45387,7 +45411,7 @@ export {
45387
45411
  Dm as ParticleBurst,
45388
45412
  dx as ParticleSubEmitter,
45389
45413
  su as ParticleSystem,
45390
- Xr as ParticleSystemBaseBehaviour,
45414
+ Qr as ParticleSystemBaseBehaviour,
45391
45415
  On as ParticleSystemRenderer,
45392
45416
  Im as ParticleSystemShapeType,
45393
45417
  mo as PeerHandle,
@@ -45397,7 +45421,7 @@ export {
45397
45421
  Pt as PhysicsMaterialCombine,
45398
45422
  df as PixelationEffect,
45399
45423
  iu as PlayAnimationOnClick,
45400
- Tr as PlayAudioOnClick,
45424
+ Ar as PlayAudioOnClick,
45401
45425
  Ja as PlayableDirector,
45402
45426
  Nc as PlayerColor,
45403
45427
  yn as PlayerState,
@@ -45420,7 +45444,7 @@ export {
45420
45444
  ae as RGBAColor,
45421
45445
  Oc as RapierPhysics,
45422
45446
  Ey as RawImage,
45423
- Nr as RaycastOptions,
45447
+ $r as RaycastOptions,
45424
45448
  uT as Rect,
45425
45449
  Jn as RectTransform,
45426
45450
  ao as ReflectionProbe,
@@ -45438,7 +45462,7 @@ export {
45438
45462
  ns as RotationOverLifetimeModule,
45439
45463
  Sm as SceneLightSettings,
45440
45464
  nt as SceneSwitcher,
45441
- Zr as ScreenCapture,
45465
+ Jr as ScreenCapture,
45442
45466
  zo as ScreenSpaceAmbientOcclusion,
45443
45467
  os as ScreenSpaceAmbientOcclusionN8,
45444
45468
  Go as ScrollFollow,
@@ -45492,7 +45516,7 @@ export {
45492
45516
  si as TextureSheetAnimationModule,
45493
45517
  Vs as TiltShiftEffect,
45494
45518
  EO as Time,
45495
- Dr as ToneMappingEffect,
45519
+ jr as ToneMappingEffect,
45496
45520
  bh as TrackHandler,
45497
45521
  Wi as TrackType,
45498
45522
  Ve as TrailModule,
@@ -45522,7 +45546,7 @@ export {
45522
45546
  vo as ViewDevice,
45523
45547
  _l as Vignette,
45524
45548
  Xu as VisibilityAction,
45525
- Vr as Voip,
45549
+ Hr as Voip,
45526
45550
  ph as Volume,
45527
45551
  $ as VolumeParameter,
45528
45552
  gy as VolumeProfile,
@@ -45551,7 +45575,7 @@ export {
45551
45575
  Iv as addAttributeChangeCallback,
45552
45576
  Gn as addComponent,
45553
45577
  a2 as addCustomExtensionPlugin,
45554
- Ma as addNewComponent,
45578
+ Ra as addNewComponent,
45555
45579
  hg as addPatch,
45556
45580
  xg as apply,
45557
45581
  YD as applyHMRChanges,
@@ -45560,7 +45584,7 @@ export {
45560
45584
  Ck as beginListenInstantiate,
45561
45585
  a0 as binaryIdentifierCasts,
45562
45586
  WD as build_scene_functions,
45563
- ha as builtinComponentKeyName,
45587
+ da as builtinComponentKeyName,
45564
45588
  Xx as calculateProgress01,
45565
45589
  bD as clearMessages,
45566
45590
  i2 as colorSerializer,
@@ -45591,7 +45615,7 @@ export {
45591
45615
  m0 as findResourceUsers,
45592
45616
  pM as fitCamera,
45593
45617
  z1 as fitObjectIntoVolume,
45594
- Xa as foreachComponent,
45618
+ Rr as foreachComponent,
45595
45619
  Cg as foreachComponentEnumerator,
45596
45620
  SD as forward,
45597
45621
  IO as generateQRCode,
@@ -45632,7 +45656,7 @@ export {
45632
45656
  ks as hasProLicense,
45633
45657
  X1 as hideDebugConsole,
45634
45658
  OE as imageToCanvas,
45635
- Rr as instantiate,
45659
+ Er as instantiate,
45636
45660
  QR as invokeLoadedImportPluginHooks,
45637
45661
  wP as invokeXRSessionEnd,
45638
45662
  vP as invokeXRSessionStart,
@@ -45643,7 +45667,7 @@ export {
45643
45667
  qM as isComponent,
45644
45668
  iD as isDebugMode,
45645
45669
  aD as isDesktop,
45646
- qa as isDestroyed,
45670
+ Xa as isDestroyed,
45647
45671
  L as isDevEnvironment,
45648
45672
  BD as isDisposed,
45649
45673
  _2 as isExporting,
@@ -45711,7 +45735,7 @@ export {
45711
45735
  T0 as removeComponent,
45712
45736
  l2 as removeCustomImportExtensionType,
45713
45737
  OD as removePatch,
45714
- Fr as resolveUrl,
45738
+ Ur as resolveUrl,
45715
45739
  t1 as sanitizeString,
45716
45740
  hL as saveImage,
45717
45741
  p2 as screenshot,
@@ -45738,7 +45762,7 @@ export {
45738
45762
  Hv as setVisibleInCustomShadowRendering,
45739
45763
  Vv as setWorldEuler,
45740
45764
  Et as setWorldPosition,
45741
- Na as setWorldPositionXYZ,
45765
+ $a as setWorldPositionXYZ,
45742
45766
  Qn as setWorldQuaternion,
45743
45767
  $v as setWorldQuaternionXYZW,
45744
45768
  L1 as setWorldRotation,