@needle-tools/engine 4.2.5 → 4.3.0-alpha.1

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 (121) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/components.needle.json +1 -1
  3. package/dist/needle-engine.bundle.js +4245 -2977
  4. package/dist/needle-engine.bundle.light.js +4236 -2968
  5. package/dist/needle-engine.bundle.light.min.js +73 -73
  6. package/dist/needle-engine.bundle.light.umd.cjs +61 -61
  7. package/dist/needle-engine.bundle.min.js +62 -62
  8. package/dist/needle-engine.bundle.umd.cjs +61 -61
  9. package/dist/needle-engine.light.d.ts +9 -9
  10. package/dist/three-examples.js +825 -794
  11. package/dist/three-examples.light.js +825 -794
  12. package/dist/three-examples.light.min.js +12 -12
  13. package/dist/three-examples.light.umd.cjs +10 -10
  14. package/dist/three-examples.min.js +12 -12
  15. package/dist/three-examples.umd.cjs +10 -10
  16. package/lib/engine/engine_addressables.d.ts +3 -0
  17. package/lib/engine/engine_addressables.js +18 -0
  18. package/lib/engine/engine_addressables.js.map +1 -1
  19. package/lib/engine/engine_input.d.ts +20 -1
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_types.d.ts +162 -17
  22. package/lib/engine-components/Animator.d.ts +129 -21
  23. package/lib/engine-components/Animator.js +115 -21
  24. package/lib/engine-components/Animator.js.map +1 -1
  25. package/lib/engine-components/AnimatorController.d.ts +161 -32
  26. package/lib/engine-components/AnimatorController.js +176 -29
  27. package/lib/engine-components/AnimatorController.js.map +1 -1
  28. package/lib/engine-components/AudioListener.d.ts +16 -5
  29. package/lib/engine-components/AudioListener.js +16 -5
  30. package/lib/engine-components/AudioListener.js.map +1 -1
  31. package/lib/engine-components/AudioSource.d.ts +120 -28
  32. package/lib/engine-components/AudioSource.js +120 -37
  33. package/lib/engine-components/AudioSource.js.map +1 -1
  34. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  35. package/lib/engine-components/AvatarLoader.js +61 -1
  36. package/lib/engine-components/AvatarLoader.js.map +1 -1
  37. package/lib/engine-components/AxesHelper.d.ts +19 -1
  38. package/lib/engine-components/AxesHelper.js +19 -1
  39. package/lib/engine-components/AxesHelper.js.map +1 -1
  40. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  41. package/lib/engine-components/BoxHelperComponent.js +26 -0
  42. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  43. package/lib/engine-components/Camera.d.ts +126 -37
  44. package/lib/engine-components/Camera.js +139 -37
  45. package/lib/engine-components/Camera.js.map +1 -1
  46. package/lib/engine-components/CameraUtils.js +20 -0
  47. package/lib/engine-components/CameraUtils.js.map +1 -1
  48. package/lib/engine-components/Collider.d.ts +95 -21
  49. package/lib/engine-components/Collider.js +100 -23
  50. package/lib/engine-components/Collider.js.map +1 -1
  51. package/lib/engine-components/Component.d.ts +554 -106
  52. package/lib/engine-components/Component.js +352 -81
  53. package/lib/engine-components/Component.js.map +1 -1
  54. package/lib/engine-components/DragControls.d.ts +95 -21
  55. package/lib/engine-components/DragControls.js +126 -32
  56. package/lib/engine-components/DragControls.js.map +1 -1
  57. package/lib/engine-components/DropListener.d.ts +99 -16
  58. package/lib/engine-components/DropListener.js +119 -14
  59. package/lib/engine-components/DropListener.js.map +1 -1
  60. package/lib/engine-components/Light.d.ts +102 -5
  61. package/lib/engine-components/Light.js +102 -44
  62. package/lib/engine-components/Light.js.map +1 -1
  63. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  64. package/lib/engine-components/NeedleMenu.js +28 -11
  65. package/lib/engine-components/NeedleMenu.js.map +1 -1
  66. package/lib/engine-components/Networking.d.ts +37 -5
  67. package/lib/engine-components/Networking.js +37 -5
  68. package/lib/engine-components/Networking.js.map +1 -1
  69. package/lib/engine-components/SceneSwitcher.d.ts +8 -0
  70. package/lib/engine-components/SceneSwitcher.js +72 -8
  71. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  72. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  73. package/lib/engine-components/SpatialTrigger.js +74 -2
  74. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  75. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  76. package/lib/engine-components/SpectatorCamera.js +132 -6
  77. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  78. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  79. package/lib/engine-components/SyncedTransform.js +45 -6
  80. package/lib/engine-components/SyncedTransform.js.map +1 -1
  81. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  82. package/lib/engine-components/TransformGizmo.js +49 -3
  83. package/lib/engine-components/TransformGizmo.js.map +1 -1
  84. package/lib/engine-components/ui/EventSystem.d.ts +1 -0
  85. package/lib/engine-components/ui/EventSystem.js +8 -5
  86. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  87. package/lib/engine-components/webxr/WebXR.d.ts +131 -22
  88. package/lib/engine-components/webxr/WebXR.js +132 -23
  89. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  90. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  91. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  92. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  93. package/package.json +1 -1
  94. package/plugins/vite/alias.js +6 -3
  95. package/src/engine/engine_addressables.ts +21 -0
  96. package/src/engine/engine_input.ts +20 -1
  97. package/src/engine/engine_types.ts +179 -18
  98. package/src/engine-components/Animator.ts +142 -22
  99. package/src/engine-components/AnimatorController.ts +184 -34
  100. package/src/engine-components/AudioListener.ts +16 -5
  101. package/src/engine-components/AudioSource.ts +126 -37
  102. package/src/engine-components/AvatarLoader.ts +61 -2
  103. package/src/engine-components/AxesHelper.ts +21 -1
  104. package/src/engine-components/BoxHelperComponent.ts +26 -0
  105. package/src/engine-components/Camera.ts +147 -41
  106. package/src/engine-components/CameraUtils.ts +20 -0
  107. package/src/engine-components/Collider.ts +102 -27
  108. package/src/engine-components/Component.ts +605 -129
  109. package/src/engine-components/DragControls.ts +134 -38
  110. package/src/engine-components/DropListener.ts +143 -23
  111. package/src/engine-components/Light.ts +105 -44
  112. package/src/engine-components/NeedleMenu.ts +29 -11
  113. package/src/engine-components/Networking.ts +37 -6
  114. package/src/engine-components/SceneSwitcher.ts +78 -9
  115. package/src/engine-components/SpatialTrigger.ts +80 -3
  116. package/src/engine-components/SpectatorCamera.ts +136 -18
  117. package/src/engine-components/SyncedTransform.ts +50 -7
  118. package/src/engine-components/TransformGizmo.ts +49 -4
  119. package/src/engine-components/ui/EventSystem.ts +9 -7
  120. package/src/engine-components/webxr/WebXR.ts +144 -27
  121. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -1,4 +1,4 @@
1
- import { M as z, s as ci, V as P, q as Qt, bR as ar, h as gs, bS as rr, bt as wt, bT as Ar, bU as cr, bs as li, aa as Un, bV as lr, bW as Kn, a9 as hr, n as tn, bX as ur, bY as Js, bZ as xo, b as ue, bM as Nt, b_ as nn, ab as ft, k as Se, a8 as We, b8 as So, z as Vs, y as To, af as de, b1 as vt, f as Le, b$ as dr, c0 as gr, O as xt, a as hi, c1 as pr, I as nt, c2 as fr, b3 as mt, bL as ps, bF as an, c3 as Dn, X as Lt, d as vo, D as ui, a7 as It, B as ut, $ as di, N as As, H as gt, c4 as mr, c5 as is, r as sn, p as ye, as as Ro, a1 as _o, a6 as gi, a2 as Ws, c6 as jn, c7 as Ve, Q as Te, al as Do, c8 as Mo, c9 as ko, ca as Fo, bI as cs, br as Lo, cb as pi, aq as No, a0 as en, T as Xs, bo as ls, cc as hs, bp as us, c as fs, S as fi, cd as Ir, bm as br, b2 as pt, ce as Er, ap as Gn, ad as Kt, cf as Uo, cg as Cr, ch as Br, ci as wr, cj as yr, ck as Qr, cl as xr, cm as Sr, cn as Tr, bG as St, bj as st, ac as vr, bH as Rr, co as _r, cp as Dr, bD as ds, bP as Mn, bO as gn, cq as vi, x as Mr, cr as kr, Z as mi, E as zt, J as Ke, t as je, cs as ke, ct as Yn, cu as Cn, cv as Go, P as Ii, cw as Po, cx as pn, g as Ut, cy as Fr, cz as Pn, cA as Lr, ae as Nr, aB as Ur, cB as Gr, o as Oo, cC as Pr, cD as Or, R as Hr, Y as jr, cE as mn, cF as fn, cG as Ri, j as Ho, U as qr, i as Zs, W as zr, cH as jo, bC as Kr, a3 as Yr, cI as Jr, cJ as $s, cK as Vr, b5 as Wr, cL as Xr } from "./three.light.js";
1
+ import { M as z, s as ci, V as P, q as Qt, bR as ar, h as ds, bS as rr, bt as wt, bT as Ar, bU as cr, bs as li, aa as Un, bV as lr, bW as Kn, a9 as hr, n as tn, bX as ur, bY as Js, bZ as So, b as ue, bM as Nt, b_ as nn, ab as ft, k as Se, a8 as We, b8 as To, z as Vs, y as vo, af as ge, b1 as vt, f as Le, b$ as gr, c0 as dr, O as xt, a as hi, c1 as pr, I as nt, c2 as fr, b3 as mt, bL as ps, bF as an, c3 as Dn, X as Lt, d as ui, D as gi, a7 as It, B as ut, $ as di, N as As, H as dt, c4 as mr, c5 as is, r as sn, p as ye, as as Ro, a1 as _o, a6 as pi, a2 as Ws, c6 as jn, c7 as Ve, Q as Te, al as Do, c8 as Mo, c9 as ko, ca as Fo, bI as cs, br as Lo, cb as fi, aq as No, a0 as en, T as Xs, bo as ls, cc as hs, bp as us, c as fs, S as mi, cd as Ir, bm as br, b2 as pt, ce as Er, ap as Gn, ad as Kt, cf as Uo, cg as Cr, ch as Br, ci as wr, cj as yr, ck as Qr, cl as xr, cm as Sr, cn as Tr, bG as St, bj as st, ac as vr, bH as Rr, co as _r, cp as Dr, bD as gs, bP as Mn, bO as dn, cq as Ri, x as Mr, cr as kr, Z as Ii, E as zt, J as Ke, t as je, cs as ke, ct as Yn, cu as Cn, cv as Go, P as bi, cw as Po, cx as pn, g as Ut, cy as Fr, cz as Pn, cA as Lr, ae as Nr, aB as Ur, cB as Gr, o as Oo, cC as Pr, cD as Or, R as Hr, Y as jr, cE as mn, cF as fn, cG as _i, j as Ho, U as qr, i as Zs, W as zr, cH as jo, bC as Kr, a3 as Yr, cI as Jr, cJ as $s, cK as Vr, b5 as Wr, cL as Xr } from "./three.light.js";
2
2
  class th extends z {
3
3
  constructor(e, t, s, n = 128) {
4
4
  if (t <= 0 || s <= 0 || n <= 0)
@@ -23,8 +23,8 @@ class Zr extends ar {
23
23
  }
24
24
  }
25
25
  const Ce = Zr, tt = new rr();
26
- tt.camera = new gs();
27
- const _i = {
26
+ tt.camera = new ds();
27
+ const Di = {
28
28
  LineBasicNodeMaterial: wt.basic,
29
29
  MeshBasicNodeMaterial: wt.basic,
30
30
  PointsNodeMaterial: wt.points,
@@ -57,8 +57,8 @@ class tA extends Ar {
57
57
  _parseShaderLib() {
58
58
  const e = this.material;
59
59
  let t = e.type;
60
- if (e.isMeshPhysicalNodeMaterial ? t = "MeshPhysicalNodeMaterial" : e.isMeshStandardNodeMaterial ? t = "MeshStandardNodeMaterial" : e.isMeshPhongNodeMaterial ? t = "MeshPhongNodeMaterial" : e.isMeshBasicNodeMaterial ? t = "MeshBasicNodeMaterial" : e.isPointsNodeMaterial ? t = "PointsNodeMaterial" : e.isLineBasicNodeMaterial && (t = "LineBasicNodeMaterial"), _i[t] !== void 0) {
61
- const s = _i[t], n = this.shader;
60
+ if (e.isMeshPhysicalNodeMaterial ? t = "MeshPhysicalNodeMaterial" : e.isMeshStandardNodeMaterial ? t = "MeshStandardNodeMaterial" : e.isMeshPhongNodeMaterial ? t = "MeshPhongNodeMaterial" : e.isMeshBasicNodeMaterial ? t = "MeshBasicNodeMaterial" : e.isPointsNodeMaterial ? t = "PointsNodeMaterial" : e.isLineBasicNodeMaterial && (t = "LineBasicNodeMaterial"), Di[t] !== void 0) {
61
+ const s = Di[t], n = this.shader;
62
62
  n.vertexShader = s.vertexShader, n.fragmentShader = s.fragmentShader, n.uniforms = li.merge([s.uniforms, Un.lights]);
63
63
  }
64
64
  }
@@ -418,13 +418,13 @@ var os = function() {
418
418
  };
419
419
  };
420
420
  os.Panel = function(A, e, t) {
421
- var s = 1 / 0, n = 0, i = Math.round, o = i(window.devicePixelRatio || 1), a = 80 * o, r = 48 * o, c = 3 * o, l = 2 * o, h = 3 * o, d = 15 * o, g = 74 * o, p = 30 * o, m = document.createElement("canvas");
421
+ var s = 1 / 0, n = 0, i = Math.round, o = i(window.devicePixelRatio || 1), a = 80 * o, r = 48 * o, c = 3 * o, l = 2 * o, h = 3 * o, g = 15 * o, d = 74 * o, p = 30 * o, m = document.createElement("canvas");
422
422
  m.width = a, m.height = r, m.style.cssText = "width:80px;height:48px";
423
423
  var I = m.getContext("2d");
424
- return I.font = "bold " + 9 * o + "px Helvetica,Arial,sans-serif", I.textBaseline = "top", I.fillStyle = t, I.fillRect(0, 0, a, r), I.fillStyle = e, I.fillText(A, c, l), I.fillRect(h, d, g, p), I.fillStyle = t, I.globalAlpha = 0.9, I.fillRect(h, d, g, p), {
424
+ return I.font = "bold " + 9 * o + "px Helvetica,Arial,sans-serif", I.textBaseline = "top", I.fillStyle = t, I.fillRect(0, 0, a, r), I.fillStyle = e, I.fillText(A, c, l), I.fillRect(h, g, d, p), I.fillStyle = t, I.globalAlpha = 0.9, I.fillRect(h, g, d, p), {
425
425
  dom: m,
426
426
  update: function(b, B) {
427
- s = Math.min(s, b), n = Math.max(n, b), I.fillStyle = t, I.globalAlpha = 1, I.fillRect(0, 0, a, d), I.fillStyle = e, I.fillText(i(b) + " " + A + " (" + i(s) + "-" + i(n) + ")", c, l), I.drawImage(m, h + o, d, g - o, p, h, d, g - o, p), I.fillRect(h + g - o, d, o, p), I.fillStyle = t, I.globalAlpha = 0.9, I.fillRect(h + g - o, d, o, i((1 - b / B) * p));
427
+ s = Math.min(s, b), n = Math.max(n, b), I.fillStyle = t, I.globalAlpha = 1, I.fillRect(0, 0, a, g), I.fillStyle = e, I.fillText(i(b) + " " + A + " (" + i(s) + "-" + i(n) + ")", c, l), I.drawImage(m, h + o, g, d - o, p, h, g, d - o, p), I.fillRect(h + d - o, g, o, p), I.fillStyle = t, I.globalAlpha = 0.9, I.fillRect(h + d - o, g, o, i((1 - b / B) * p));
428
428
  }
429
429
  };
430
430
  };
@@ -432,7 +432,7 @@ function nh(A, e = 1e-4) {
432
432
  e = Math.max(e, Number.EPSILON);
433
433
  const t = {}, s = A.getIndex(), n = A.getAttribute("position"), i = s ? s.count : n.count;
434
434
  let o = 0;
435
- const a = Object.keys(A.attributes), r = {}, c = {}, l = [], h = ["getX", "getY", "getZ", "getW"], d = ["setX", "setY", "setZ", "setW"];
435
+ const a = Object.keys(A.attributes), r = {}, c = {}, l = [], h = ["getX", "getY", "getZ", "getW"], g = ["setX", "setY", "setZ", "setW"];
436
436
  for (let B = 0, E = a.length; B < E; B++) {
437
437
  const w = a[B], Q = A.attributes[w];
438
438
  r[w] = new Q.constructor(
@@ -446,7 +446,7 @@ function nh(A, e = 1e-4) {
446
446
  c[w][x] = new _.constructor(T, _.itemSize, _.normalized);
447
447
  }));
448
448
  }
449
- const g = e * 0.5, p = Math.log10(1 / e), m = Math.pow(10, p), I = g * m;
449
+ const d = e * 0.5, p = Math.log10(1 / e), m = Math.pow(10, p), I = d * m;
450
450
  for (let B = 0; B < i; B++) {
451
451
  const E = s ? s.getX(B) : B;
452
452
  let w = "";
@@ -461,7 +461,7 @@ function nh(A, e = 1e-4) {
461
461
  for (let Q = 0, R = a.length; Q < R; Q++) {
462
462
  const _ = a[Q], x = A.getAttribute(_), T = A.morphAttributes[_], L = x.itemSize, N = r[_], O = c[_];
463
463
  for (let Z = 0; Z < L; Z++) {
464
- const U = h[Z], q = d[Z];
464
+ const U = h[Z], q = g[Z];
465
465
  if (N[q](o, x[U](E)), T)
466
466
  for (let H = 0, K = T.length; H < K; H++)
467
467
  O[H][q](o, T[H][U](E));
@@ -489,10 +489,10 @@ function nh(A, e = 1e-4) {
489
489
  }
490
490
  return b.setIndex(l), b;
491
491
  }
492
- function Di(A, e) {
492
+ function Mi(A, e) {
493
493
  if (e === ur)
494
494
  return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), A;
495
- if (e === Js || e === xo) {
495
+ if (e === Js || e === So) {
496
496
  let t = A.getIndex();
497
497
  if (t === null) {
498
498
  const o = [], a = A.getAttribute("position");
@@ -539,13 +539,13 @@ class zo extends Nt {
539
539
  }), this.register(function(t) {
540
540
  return new oA(t);
541
541
  }), this.register(function(t) {
542
- return new dA(t);
542
+ return new gA(t);
543
543
  }), this.register(function(t) {
544
544
  return new AA(t);
545
545
  }), this.register(function(t) {
546
546
  return new pA(t);
547
547
  }), this.register(function(t) {
548
- return new gA(t);
548
+ return new dA(t);
549
549
  }), this.register(function(t) {
550
550
  return new sA(t);
551
551
  }), this.register(function(t) {
@@ -594,28 +594,44 @@ class zo extends Nt {
594
594
  return this.pluginCallbacks.indexOf(e) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1), this;
595
595
  }
596
596
  parse(e, t, s, n) {
597
- let i;
598
- const o = {}, a = {}, r = new TextDecoder();
597
+ let i, o;
598
+ const a = {}, r = {}, c = new TextDecoder();
599
599
  if (typeof e == "string")
600
- i = JSON.parse(e);
600
+ try {
601
+ i = JSON.parse(e);
602
+ } catch (h) {
603
+ o = e, n && n(h);
604
+ return;
605
+ }
601
606
  else if (e instanceof ArrayBuffer)
602
- if (r.decode(new Uint8Array(e, 0, 4)) === Ko) {
607
+ if (c.decode(new Uint8Array(e, 0, 4)) === Ko) {
608
+ try {
609
+ a[oe.KHR_BINARY_GLTF] = new CA(e);
610
+ } catch (g) {
611
+ n && n(g);
612
+ return;
613
+ }
603
614
  try {
604
- o[ae.KHR_BINARY_GLTF] = new CA(e);
605
- } catch (h) {
606
- n && n(h);
615
+ i = JSON.parse(a[oe.KHR_BINARY_GLTF].content);
616
+ } catch (g) {
617
+ o = a[oe.KHR_BINARY_GLTF].content, n && n(g);
607
618
  return;
608
619
  }
609
- i = JSON.parse(o[ae.KHR_BINARY_GLTF].content);
610
620
  } else
611
- i = JSON.parse(r.decode(e));
621
+ try {
622
+ i = JSON.parse(c.decode(e));
623
+ } catch (g) {
624
+ o = c.decode(e), n && n(g);
625
+ return;
626
+ }
612
627
  else
613
628
  i = e;
614
629
  if (i.asset === void 0 || i.asset.version[0] < 2) {
615
630
  n && n(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
616
631
  return;
617
632
  }
618
- const c = new kA(i, {
633
+ this.json = i, this.jsonErrorData = o;
634
+ const l = new kA(i, {
619
635
  path: t || this.resourcePath || "",
620
636
  crossOrigin: this.crossOrigin,
621
637
  requestHeader: this.requestHeader,
@@ -623,32 +639,32 @@ class zo extends Nt {
623
639
  ktx2Loader: this.ktx2Loader,
624
640
  meshoptDecoder: this.meshoptDecoder
625
641
  });
626
- c.fileLoader.setRequestHeader(this.requestHeader);
627
- for (let l = 0; l < this.pluginCallbacks.length; l++) {
628
- const h = this.pluginCallbacks[l](c);
629
- h.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), a[h.name] = h, o[h.name] = !0;
642
+ l.fileLoader.setRequestHeader(this.requestHeader);
643
+ for (let h = 0; h < this.pluginCallbacks.length; h++) {
644
+ const g = this.pluginCallbacks[h](l);
645
+ g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[g.name] = g, a[g.name] = !0;
630
646
  }
631
647
  if (i.extensionsUsed)
632
- for (let l = 0; l < i.extensionsUsed.length; ++l) {
633
- const h = i.extensionsUsed[l], d = i.extensionsRequired || [];
634
- switch (h) {
635
- case ae.KHR_MATERIALS_UNLIT:
636
- o[h] = new iA();
648
+ for (let h = 0; h < i.extensionsUsed.length; ++h) {
649
+ const g = i.extensionsUsed[h], d = i.extensionsRequired || [];
650
+ switch (g) {
651
+ case oe.KHR_MATERIALS_UNLIT:
652
+ a[g] = new iA();
637
653
  break;
638
- case ae.KHR_DRACO_MESH_COMPRESSION:
639
- o[h] = new BA(i, this.dracoLoader);
654
+ case oe.KHR_DRACO_MESH_COMPRESSION:
655
+ a[g] = new BA(i, this.dracoLoader);
640
656
  break;
641
- case ae.KHR_TEXTURE_TRANSFORM:
642
- o[h] = new wA();
657
+ case oe.KHR_TEXTURE_TRANSFORM:
658
+ a[g] = new wA();
643
659
  break;
644
- case ae.KHR_MESH_QUANTIZATION:
645
- o[h] = new yA();
660
+ case oe.KHR_MESH_QUANTIZATION:
661
+ a[g] = new yA();
646
662
  break;
647
663
  default:
648
- d.indexOf(h) >= 0 && a[h] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + h + '".');
664
+ d.indexOf(g) >= 0 && r[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
649
665
  }
650
666
  }
651
- c.setExtensions(o), c.setPlugins(a), c.parse(s, n);
667
+ l.setExtensions(a), l.setPlugins(r), l.parse(s, n);
652
668
  }
653
669
  parseAsync(e, t) {
654
670
  const s = this;
@@ -674,7 +690,7 @@ function nA() {
674
690
  }
675
691
  };
676
692
  }
677
- const ae = {
693
+ const oe = {
678
694
  KHR_BINARY_GLTF: "KHR_binary_glTF",
679
695
  KHR_DRACO_MESH_COMPRESSION: "KHR_draco_mesh_compression",
680
696
  KHR_LIGHTS_PUNCTUAL: "KHR_lights_punctual",
@@ -700,7 +716,7 @@ const ae = {
700
716
  };
701
717
  class sA {
702
718
  constructor(e) {
703
- this.parser = e, this.name = ae.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
719
+ this.parser = e, this.name = oe.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
704
720
  }
705
721
  _markDefs() {
706
722
  const e = this.parser, t = this.parser.json.nodes || [];
@@ -721,13 +737,13 @@ class sA {
721
737
  const h = r.range !== void 0 ? r.range : 0;
722
738
  switch (r.type) {
723
739
  case "directional":
724
- c = new To(l), c.target.position.set(0, 0, -1), c.add(c.target);
740
+ c = new vo(l), c.target.position.set(0, 0, -1), c.add(c.target);
725
741
  break;
726
742
  case "point":
727
743
  c = new Vs(l), c.distance = h;
728
744
  break;
729
745
  case "spot":
730
- c = new So(l), c.distance = h, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, c.angle = r.spot.outerConeAngle, c.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
746
+ c = new To(l), c.distance = h, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, c.angle = r.spot.outerConeAngle, c.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
731
747
  break;
732
748
  default:
733
749
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + r.type);
@@ -747,7 +763,7 @@ class sA {
747
763
  }
748
764
  let iA = class {
749
765
  constructor() {
750
- this.name = ae.KHR_MATERIALS_UNLIT;
766
+ this.name = oe.KHR_MATERIALS_UNLIT;
751
767
  }
752
768
  getMaterialType() {
753
769
  return Qt;
@@ -761,13 +777,13 @@ let iA = class {
761
777
  const o = i.baseColorFactor;
762
778
  e.color.setRGB(o[0], o[1], o[2], We), e.opacity = o[3];
763
779
  }
764
- i.baseColorTexture !== void 0 && n.push(s.assignTexture(e, "map", i.baseColorTexture, de));
780
+ i.baseColorTexture !== void 0 && n.push(s.assignTexture(e, "map", i.baseColorTexture, ge));
765
781
  }
766
782
  return Promise.all(n);
767
783
  }
768
784
  }, oA = class {
769
785
  constructor(e) {
770
- this.parser = e, this.name = ae.KHR_MATERIALS_EMISSIVE_STRENGTH;
786
+ this.parser = e, this.name = oe.KHR_MATERIALS_EMISSIVE_STRENGTH;
771
787
  }
772
788
  extendMaterialParams(e, t) {
773
789
  const n = this.parser.json.materials[e];
@@ -778,7 +794,7 @@ let iA = class {
778
794
  }
779
795
  }, aA = class {
780
796
  constructor(e) {
781
- this.parser = e, this.name = ae.KHR_MATERIALS_CLEARCOAT;
797
+ this.parser = e, this.name = oe.KHR_MATERIALS_CLEARCOAT;
782
798
  }
783
799
  getMaterialType(e) {
784
800
  const s = this.parser.json.materials[e];
@@ -797,7 +813,7 @@ let iA = class {
797
813
  }
798
814
  }, rA = class {
799
815
  constructor(e) {
800
- this.parser = e, this.name = ae.KHR_MATERIALS_DISPERSION;
816
+ this.parser = e, this.name = oe.KHR_MATERIALS_DISPERSION;
801
817
  }
802
818
  getMaterialType(e) {
803
819
  const s = this.parser.json.materials[e];
@@ -812,7 +828,7 @@ let iA = class {
812
828
  }
813
829
  }, AA = class {
814
830
  constructor(e) {
815
- this.parser = e, this.name = ae.KHR_MATERIALS_IRIDESCENCE;
831
+ this.parser = e, this.name = oe.KHR_MATERIALS_IRIDESCENCE;
816
832
  }
817
833
  getMaterialType(e) {
818
834
  const s = this.parser.json.materials[e];
@@ -827,7 +843,7 @@ let iA = class {
827
843
  }
828
844
  }, cA = class {
829
845
  constructor(e) {
830
- this.parser = e, this.name = ae.KHR_MATERIALS_SHEEN;
846
+ this.parser = e, this.name = oe.KHR_MATERIALS_SHEEN;
831
847
  }
832
848
  getMaterialType(e) {
833
849
  const s = this.parser.json.materials[e];
@@ -844,11 +860,11 @@ let iA = class {
844
860
  const a = o.sheenColorFactor;
845
861
  t.sheenColor.setRGB(a[0], a[1], a[2], We);
846
862
  }
847
- return o.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = o.sheenRoughnessFactor), o.sheenColorTexture !== void 0 && i.push(s.assignTexture(t, "sheenColorMap", o.sheenColorTexture, de)), o.sheenRoughnessTexture !== void 0 && i.push(s.assignTexture(t, "sheenRoughnessMap", o.sheenRoughnessTexture)), Promise.all(i);
863
+ return o.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = o.sheenRoughnessFactor), o.sheenColorTexture !== void 0 && i.push(s.assignTexture(t, "sheenColorMap", o.sheenColorTexture, ge)), o.sheenRoughnessTexture !== void 0 && i.push(s.assignTexture(t, "sheenRoughnessMap", o.sheenRoughnessTexture)), Promise.all(i);
848
864
  }
849
865
  }, lA = class {
850
866
  constructor(e) {
851
- this.parser = e, this.name = ae.KHR_MATERIALS_TRANSMISSION;
867
+ this.parser = e, this.name = oe.KHR_MATERIALS_TRANSMISSION;
852
868
  }
853
869
  getMaterialType(e) {
854
870
  const s = this.parser.json.materials[e];
@@ -863,7 +879,7 @@ let iA = class {
863
879
  }
864
880
  }, hA = class {
865
881
  constructor(e) {
866
- this.parser = e, this.name = ae.KHR_MATERIALS_VOLUME;
882
+ this.parser = e, this.name = oe.KHR_MATERIALS_VOLUME;
867
883
  }
868
884
  getMaterialType(e) {
869
885
  const s = this.parser.json.materials[e];
@@ -880,7 +896,7 @@ let iA = class {
880
896
  }
881
897
  }, uA = class {
882
898
  constructor(e) {
883
- this.parser = e, this.name = ae.KHR_MATERIALS_IOR;
899
+ this.parser = e, this.name = oe.KHR_MATERIALS_IOR;
884
900
  }
885
901
  getMaterialType(e) {
886
902
  const s = this.parser.json.materials[e];
@@ -893,9 +909,9 @@ let iA = class {
893
909
  const i = n.extensions[this.name];
894
910
  return t.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
895
911
  }
896
- }, dA = class {
912
+ }, gA = class {
897
913
  constructor(e) {
898
- this.parser = e, this.name = ae.KHR_MATERIALS_SPECULAR;
914
+ this.parser = e, this.name = oe.KHR_MATERIALS_SPECULAR;
899
915
  }
900
916
  getMaterialType(e) {
901
917
  const s = this.parser.json.materials[e];
@@ -908,11 +924,11 @@ let iA = class {
908
924
  const i = [], o = n.extensions[this.name];
909
925
  t.specularIntensity = o.specularFactor !== void 0 ? o.specularFactor : 1, o.specularTexture !== void 0 && i.push(s.assignTexture(t, "specularIntensityMap", o.specularTexture));
910
926
  const a = o.specularColorFactor || [1, 1, 1];
911
- return t.specularColor = new Se().setRGB(a[0], a[1], a[2], We), o.specularColorTexture !== void 0 && i.push(s.assignTexture(t, "specularColorMap", o.specularColorTexture, de)), Promise.all(i);
927
+ return t.specularColor = new Se().setRGB(a[0], a[1], a[2], We), o.specularColorTexture !== void 0 && i.push(s.assignTexture(t, "specularColorMap", o.specularColorTexture, ge)), Promise.all(i);
912
928
  }
913
- }, gA = class {
929
+ }, dA = class {
914
930
  constructor(e) {
915
- this.parser = e, this.name = ae.EXT_MATERIALS_BUMP;
931
+ this.parser = e, this.name = oe.EXT_MATERIALS_BUMP;
916
932
  }
917
933
  getMaterialType(e) {
918
934
  const s = this.parser.json.materials[e];
@@ -927,7 +943,7 @@ let iA = class {
927
943
  }
928
944
  }, pA = class {
929
945
  constructor(e) {
930
- this.parser = e, this.name = ae.KHR_MATERIALS_ANISOTROPY;
946
+ this.parser = e, this.name = oe.KHR_MATERIALS_ANISOTROPY;
931
947
  }
932
948
  getMaterialType(e) {
933
949
  const s = this.parser.json.materials[e];
@@ -943,7 +959,7 @@ let iA = class {
943
959
  };
944
960
  class fA {
945
961
  constructor(e) {
946
- this.parser = e, this.name = ae.KHR_TEXTURE_BASISU;
962
+ this.parser = e, this.name = oe.KHR_TEXTURE_BASISU;
947
963
  }
948
964
  loadTexture(e) {
949
965
  const t = this.parser, s = t.json, n = s.textures[e];
@@ -960,7 +976,7 @@ class fA {
960
976
  }
961
977
  class mA {
962
978
  constructor(e) {
963
- this.parser = e, this.name = ae.EXT_TEXTURE_WEBP, this.isSupported = null;
979
+ this.parser = e, this.name = oe.EXT_TEXTURE_WEBP, this.isSupported = null;
964
980
  }
965
981
  loadTexture(e) {
966
982
  const t = this.name, s = this.parser, n = s.json, i = n.textures[e];
@@ -991,7 +1007,7 @@ class mA {
991
1007
  }
992
1008
  class IA {
993
1009
  constructor(e) {
994
- this.parser = e, this.name = ae.EXT_TEXTURE_AVIF, this.isSupported = null;
1010
+ this.parser = e, this.name = oe.EXT_TEXTURE_AVIF, this.isSupported = null;
995
1011
  }
996
1012
  loadTexture(e) {
997
1013
  const t = this.name, s = this.parser, n = s.json, i = n.textures[e];
@@ -1022,7 +1038,7 @@ class IA {
1022
1038
  }
1023
1039
  class bA {
1024
1040
  constructor(e) {
1025
- this.name = ae.EXT_MESHOPT_COMPRESSION, this.parser = e;
1041
+ this.name = oe.EXT_MESHOPT_COMPRESSION, this.parser = e;
1026
1042
  }
1027
1043
  loadBufferView(e) {
1028
1044
  const t = this.parser.json, s = t.bufferViews[e];
@@ -1034,12 +1050,12 @@ class bA {
1034
1050
  return null;
1035
1051
  }
1036
1052
  return i.then(function(a) {
1037
- const r = n.byteOffset || 0, c = n.byteLength || 0, l = n.count, h = n.byteStride, d = new Uint8Array(a, r, c);
1038
- return o.decodeGltfBufferAsync ? o.decodeGltfBufferAsync(l, h, d, n.mode, n.filter).then(function(g) {
1039
- return g.buffer;
1053
+ const r = n.byteOffset || 0, c = n.byteLength || 0, l = n.count, h = n.byteStride, g = new Uint8Array(a, r, c);
1054
+ return o.decodeGltfBufferAsync ? o.decodeGltfBufferAsync(l, h, g, n.mode, n.filter).then(function(d) {
1055
+ return d.buffer;
1040
1056
  }) : o.ready.then(function() {
1041
- const g = new ArrayBuffer(l * h);
1042
- return o.decodeGltfBuffer(new Uint8Array(g), l, h, d, n.mode, n.filter), g;
1057
+ const d = new ArrayBuffer(l * h);
1058
+ return o.decodeGltfBuffer(new Uint8Array(d), l, h, g, n.mode, n.filter), d;
1043
1059
  });
1044
1060
  });
1045
1061
  } else
@@ -1048,7 +1064,7 @@ class bA {
1048
1064
  }
1049
1065
  let EA = class {
1050
1066
  constructor(e) {
1051
- this.name = ae.EXT_MESH_GPU_INSTANCING, this.parser = e;
1067
+ this.name = oe.EXT_MESH_GPU_INSTANCING, this.parser = e;
1052
1068
  }
1053
1069
  createNodeMesh(e) {
1054
1070
  const t = this.parser.json, s = t.nodes[e];
@@ -1062,27 +1078,27 @@ let EA = class {
1062
1078
  for (const c in o)
1063
1079
  a.push(this.parser.getDependency("accessor", o[c]).then((l) => (r[c] = l, r[c])));
1064
1080
  return a.length < 1 ? null : (a.push(this.parser.createNodeMesh(e)), Promise.all(a).then((c) => {
1065
- const l = c.pop(), h = l.isGroup ? l.children : [l], d = c[0].count, g = [];
1081
+ const l = c.pop(), h = l.isGroup ? l.children : [l], g = c[0].count, d = [];
1066
1082
  for (const p of h) {
1067
- const m = new ue(), I = new P(), b = new Te(), B = new P(1, 1, 1), E = new dr(p.geometry, p.material, d);
1068
- for (let w = 0; w < d; w++)
1083
+ const m = new ue(), I = new P(), b = new Te(), B = new P(1, 1, 1), E = new gr(p.geometry, p.material, g);
1084
+ for (let w = 0; w < g; w++)
1069
1085
  r.TRANSLATION && I.fromBufferAttribute(r.TRANSLATION, w), r.ROTATION && b.fromBufferAttribute(r.ROTATION, w), r.SCALE && B.fromBufferAttribute(r.SCALE, w), E.setMatrixAt(w, m.compose(I, b, B));
1070
1086
  for (const w in r)
1071
1087
  if (w === "_COLOR_0") {
1072
1088
  const Q = r[w];
1073
- E.instanceColor = new gr(Q.array, Q.itemSize, Q.normalized);
1089
+ E.instanceColor = new dr(Q.array, Q.itemSize, Q.normalized);
1074
1090
  } else
1075
1091
  w !== "TRANSLATION" && w !== "ROTATION" && w !== "SCALE" && p.geometry.setAttribute(w, r[w]);
1076
- xt.prototype.copy.call(E, p), this.parser.assignFinalMaterial(E), g.push(E);
1092
+ xt.prototype.copy.call(E, p), this.parser.assignFinalMaterial(E), d.push(E);
1077
1093
  }
1078
- return l.isGroup ? (l.clear(), l.add(...g), l) : g[0];
1094
+ return l.isGroup ? (l.clear(), l.add(...d), l) : d[0];
1079
1095
  }));
1080
1096
  }
1081
1097
  };
1082
- const Ko = "glTF", wn = 12, Mi = { JSON: 1313821514, BIN: 5130562 };
1098
+ const Ko = "glTF", wn = 12, ki = { JSON: 1313821514, BIN: 5130562 };
1083
1099
  class CA {
1084
1100
  constructor(e) {
1085
- this.name = ae.KHR_BINARY_GLTF, this.content = null, this.body = null;
1101
+ this.name = oe.KHR_BINARY_GLTF, this.content = null, this.body = null;
1086
1102
  const t = new DataView(e, 0, wn), s = new TextDecoder();
1087
1103
  if (this.header = {
1088
1104
  magic: s.decode(new Uint8Array(e.slice(0, 4))),
@@ -1098,10 +1114,10 @@ class CA {
1098
1114
  const a = i.getUint32(o, !0);
1099
1115
  o += 4;
1100
1116
  const r = i.getUint32(o, !0);
1101
- if (o += 4, r === Mi.JSON) {
1117
+ if (o += 4, r === ki.JSON) {
1102
1118
  const c = new Uint8Array(e, wn + o, a);
1103
1119
  this.content = s.decode(c);
1104
- } else if (r === Mi.BIN) {
1120
+ } else if (r === ki.BIN) {
1105
1121
  const c = wn + o;
1106
1122
  this.body = e.slice(c, c + a);
1107
1123
  }
@@ -1115,7 +1131,7 @@ class BA {
1115
1131
  constructor(e, t) {
1116
1132
  if (!t)
1117
1133
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
1118
- this.name = ae.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = t, this.dracoLoader.preload();
1134
+ this.name = oe.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = t, this.dracoLoader.preload();
1119
1135
  }
1120
1136
  decodePrimitive(e, t) {
1121
1137
  const s = this.json, n = this.dracoLoader, i = e.extensions[this.name].bufferView, o = e.extensions[this.name].attributes, a = {}, r = {}, c = {};
@@ -1126,26 +1142,26 @@ class BA {
1126
1142
  for (const l in e.attributes) {
1127
1143
  const h = ei[l] || l.toLowerCase();
1128
1144
  if (o[l] !== void 0) {
1129
- const d = s.accessors[e.attributes[l]], g = In[d.componentType];
1130
- c[h] = g.name, r[h] = d.normalized === !0;
1145
+ const g = s.accessors[e.attributes[l]], d = In[g.componentType];
1146
+ c[h] = d.name, r[h] = g.normalized === !0;
1131
1147
  }
1132
1148
  }
1133
1149
  return t.getDependency("bufferView", i).then(function(l) {
1134
- return new Promise(function(h, d) {
1135
- n.decodeDracoFile(l, function(g) {
1136
- for (const p in g.attributes) {
1137
- const m = g.attributes[p], I = r[p];
1150
+ return new Promise(function(h, g) {
1151
+ n.decodeDracoFile(l, function(d) {
1152
+ for (const p in d.attributes) {
1153
+ const m = d.attributes[p], I = r[p];
1138
1154
  I !== void 0 && (m.normalized = I);
1139
1155
  }
1140
- h(g);
1141
- }, a, c, We, d);
1156
+ h(d);
1157
+ }, a, c, We, g);
1142
1158
  });
1143
1159
  });
1144
1160
  }
1145
1161
  }
1146
1162
  class wA {
1147
1163
  constructor() {
1148
- this.name = ae.KHR_TEXTURE_TRANSFORM;
1164
+ this.name = oe.KHR_TEXTURE_TRANSFORM;
1149
1165
  }
1150
1166
  extendTexture(e, t) {
1151
1167
  return (t.texCoord === void 0 || t.texCoord === e.channel) && t.offset === void 0 && t.rotation === void 0 && t.scale === void 0 || (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
@@ -1153,7 +1169,7 @@ class wA {
1153
1169
  }
1154
1170
  class yA {
1155
1171
  constructor() {
1156
- this.name = ae.KHR_MESH_QUANTIZATION;
1172
+ this.name = oe.KHR_MESH_QUANTIZATION;
1157
1173
  }
1158
1174
  }
1159
1175
  class Yo extends Ir {
@@ -1167,7 +1183,7 @@ class Yo extends Ir {
1167
1183
  return t;
1168
1184
  }
1169
1185
  interpolate_(e, t, s, n) {
1170
- const i = this.resultBuffer, o = this.sampleValues, a = this.valueSize, r = a * 2, c = a * 3, l = n - t, h = (s - t) / l, d = h * h, g = d * h, p = e * c, m = p - c, I = -2 * g + 3 * d, b = g - d, B = 1 - I, E = b - d + h;
1186
+ const i = this.resultBuffer, o = this.sampleValues, a = this.valueSize, r = a * 2, c = a * 3, l = n - t, h = (s - t) / l, g = h * h, d = g * h, p = e * c, m = p - c, I = -2 * d + 3 * g, b = d - g, B = 1 - I, E = b - g + h;
1171
1187
  for (let w = 0; w !== a; w++) {
1172
1188
  const Q = o[m + w + a], R = o[m + w + r] * l, _ = o[p + w + a], x = o[p + w] * l;
1173
1189
  i[w] = B * Q + E * R + I * _ + b * x;
@@ -1209,14 +1225,14 @@ const ht = {
1209
1225
  5123: Uint16Array,
1210
1226
  5125: Uint32Array,
1211
1227
  5126: Float32Array
1212
- }, ki = {
1228
+ }, Fi = {
1213
1229
  9728: Do,
1214
1230
  9729: mt,
1215
1231
  9984: Mo,
1216
1232
  9985: ko,
1217
1233
  9986: Fo,
1218
1234
  9987: ps
1219
- }, Fi = {
1235
+ }, Li = {
1220
1236
  33071: cs,
1221
1237
  33648: Lo,
1222
1238
  10497: an
@@ -1249,14 +1265,14 @@ const ht = {
1249
1265
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
1250
1266
  // keyframe track will be initialized with a default interpolation type, then modified.
1251
1267
  LINEAR: jn,
1252
- STEP: pi
1268
+ STEP: fi
1253
1269
  }, Bs = {
1254
1270
  OPAQUE: "OPAQUE",
1255
1271
  MASK: "MASK",
1256
1272
  BLEND: "BLEND"
1257
1273
  };
1258
1274
  function TA(A) {
1259
- return A.DefaultMaterial === void 0 && (A.DefaultMaterial = new vo({
1275
+ return A.DefaultMaterial === void 0 && (A.DefaultMaterial = new ui({
1260
1276
  color: 16777215,
1261
1277
  emissive: 0,
1262
1278
  metalness: 1,
@@ -1286,16 +1302,16 @@ function vA(A, e, t) {
1286
1302
  for (let c = 0, l = e.length; c < l; c++) {
1287
1303
  const h = e[c];
1288
1304
  if (s) {
1289
- const d = h.POSITION !== void 0 ? t.getDependency("accessor", h.POSITION) : A.attributes.position;
1290
- o.push(d);
1305
+ const g = h.POSITION !== void 0 ? t.getDependency("accessor", h.POSITION) : A.attributes.position;
1306
+ o.push(g);
1291
1307
  }
1292
1308
  if (n) {
1293
- const d = h.NORMAL !== void 0 ? t.getDependency("accessor", h.NORMAL) : A.attributes.normal;
1294
- a.push(d);
1309
+ const g = h.NORMAL !== void 0 ? t.getDependency("accessor", h.NORMAL) : A.attributes.normal;
1310
+ a.push(g);
1295
1311
  }
1296
1312
  if (i) {
1297
- const d = h.COLOR_0 !== void 0 ? t.getDependency("accessor", h.COLOR_0) : A.attributes.color;
1298
- r.push(d);
1313
+ const g = h.COLOR_0 !== void 0 ? t.getDependency("accessor", h.COLOR_0) : A.attributes.color;
1314
+ r.push(g);
1299
1315
  }
1300
1316
  }
1301
1317
  return Promise.all([
@@ -1303,8 +1319,8 @@ function vA(A, e, t) {
1303
1319
  Promise.all(a),
1304
1320
  Promise.all(r)
1305
1321
  ]).then(function(c) {
1306
- const l = c[0], h = c[1], d = c[2];
1307
- return s && (A.morphAttributes.position = l), n && (A.morphAttributes.normal = h), i && (A.morphAttributes.color = d), A.morphTargetsRelative = !0, A;
1322
+ const l = c[0], h = c[1], g = c[2];
1323
+ return s && (A.morphAttributes.position = l), n && (A.morphAttributes.normal = h), i && (A.morphAttributes.color = g), A.morphTargetsRelative = !0, A;
1308
1324
  });
1309
1325
  }
1310
1326
  function RA(A, e) {
@@ -1323,7 +1339,7 @@ function RA(A, e) {
1323
1339
  }
1324
1340
  function _A(A) {
1325
1341
  let e;
1326
- const t = A.extensions && A.extensions[ae.KHR_DRACO_MESH_COMPRESSION];
1342
+ const t = A.extensions && A.extensions[oe.KHR_DRACO_MESH_COMPRESSION];
1327
1343
  if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + ws(t.attributes) : e = A.indices + ":" + ws(A.attributes) + ":" + A.mode, A.targets !== void 0)
1328
1344
  for (let s = 0, n = A.targets.length; s < n; s++)
1329
1345
  e += ":" + ws(A.targets[s]);
@@ -1554,7 +1570,7 @@ class kA {
1554
1570
  if (t.type && t.type !== "arraybuffer")
1555
1571
  throw new Error("THREE.GLTFLoader: " + t.type + " buffer type is not supported.");
1556
1572
  if (t.uri === void 0 && e === 0)
1557
- return Promise.resolve(this.extensions[ae.KHR_BINARY_GLTF].body);
1573
+ return Promise.resolve(this.extensions[oe.KHR_BINARY_GLTF].body);
1558
1574
  const n = this.options;
1559
1575
  return new Promise(function(i, o) {
1560
1576
  s.load(nn.resolveURL(t.uri, n.path), i, void 0, function() {
@@ -1587,14 +1603,14 @@ class kA {
1587
1603
  }
1588
1604
  const i = [];
1589
1605
  return n.bufferView !== void 0 ? i.push(this.getDependency("bufferView", n.bufferView)) : i.push(null), n.sparse !== void 0 && (i.push(this.getDependency("bufferView", n.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", n.sparse.values.bufferView))), Promise.all(i).then(function(o) {
1590
- const a = o[0], r = Cs[n.type], c = In[n.componentType], l = c.BYTES_PER_ELEMENT, h = l * r, d = n.byteOffset || 0, g = n.bufferView !== void 0 ? s.bufferViews[n.bufferView].byteStride : void 0, p = n.normalized === !0;
1606
+ const a = o[0], r = Cs[n.type], c = In[n.componentType], l = c.BYTES_PER_ELEMENT, h = l * r, g = n.byteOffset || 0, d = n.bufferView !== void 0 ? s.bufferViews[n.bufferView].byteStride : void 0, p = n.normalized === !0;
1591
1607
  let m, I;
1592
- if (g && g !== h) {
1593
- const b = Math.floor(d / g), B = "InterleavedBuffer:" + n.bufferView + ":" + n.componentType + ":" + b + ":" + n.count;
1608
+ if (d && d !== h) {
1609
+ const b = Math.floor(g / d), B = "InterleavedBuffer:" + n.bufferView + ":" + n.componentType + ":" + b + ":" + n.count;
1594
1610
  let E = t.cache.get(B);
1595
- E || (m = new c(a, b * g, n.count * g / l), E = new fr(m, g / l), t.cache.add(B, E)), I = new en(E, r, d % g / l, p);
1611
+ E || (m = new c(a, b * d, n.count * d / l), E = new fr(m, d / l), t.cache.add(B, E)), I = new en(E, r, g % d / l, p);
1596
1612
  } else
1597
- a === null ? m = new c(n.count * r) : m = new c(a, d, n.count * r), I = new nt(m, r, p);
1613
+ a === null ? m = new c(n.count * r) : m = new c(a, g, n.count * r), I = new nt(m, r, p);
1598
1614
  if (n.sparse !== void 0) {
1599
1615
  const b = Cs.SCALAR, B = In[n.sparse.indices.componentType], E = n.sparse.indices.byteOffset || 0, w = n.sparse.values.byteOffset || 0, Q = new B(o[1], E, n.sparse.count * b), R = new c(o[2], w, n.sparse.count * r);
1600
1616
  a !== null && (I = new nt(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
@@ -1628,8 +1644,8 @@ class kA {
1628
1644
  return this.textureCache[r];
1629
1645
  const c = this.loadImageSource(t, s).then(function(l) {
1630
1646
  l.flipY = !1, l.name = o.name || a.name || "", l.name === "" && typeof a.uri == "string" && a.uri.startsWith("data:image/") === !1 && (l.name = a.uri);
1631
- const d = (i.samplers || {})[o.sampler] || {};
1632
- return l.magFilter = ki[d.magFilter] || mt, l.minFilter = ki[d.minFilter] || ps, l.wrapS = Fi[d.wrapS] || an, l.wrapT = Fi[d.wrapT] || an, l.anisotropy = 4, n.associations.set(l, { textures: e }), l;
1647
+ const g = (i.samplers || {})[o.sampler] || {};
1648
+ return l.magFilter = Fi[g.magFilter] || mt, l.minFilter = Fi[g.minFilter] || ps, l.wrapS = Li[g.wrapS] || an, l.wrapT = Li[g.wrapT] || an, l.anisotropy = 4, n.associations.set(l, { textures: e }), l;
1633
1649
  }).catch(function() {
1634
1650
  return null;
1635
1651
  });
@@ -1644,18 +1660,18 @@ class kA {
1644
1660
  if (o.bufferView !== void 0)
1645
1661
  r = s.getDependency("bufferView", o.bufferView).then(function(h) {
1646
1662
  c = !0;
1647
- const d = new Blob([h], { type: o.mimeType });
1648
- return r = a.createObjectURL(d), r;
1663
+ const g = new Blob([h], { type: o.mimeType });
1664
+ return r = a.createObjectURL(g), r;
1649
1665
  });
1650
1666
  else if (o.uri === void 0)
1651
1667
  throw new Error("THREE.GLTFLoader: Image " + e + " is missing URI and bufferView");
1652
1668
  const l = Promise.resolve(r).then(function(h) {
1653
- return new Promise(function(d, g) {
1654
- let p = d;
1669
+ return new Promise(function(g, d) {
1670
+ let p = g;
1655
1671
  t.isImageBitmapLoader === !0 && (p = function(m) {
1656
1672
  const I = new Xs(m);
1657
- I.needsUpdate = !0, d(I);
1658
- }), t.load(nn.resolveURL(h, i.path), p, void 0, g);
1673
+ I.needsUpdate = !0, g(I);
1674
+ }), t.load(nn.resolveURL(h, i.path), p, void 0, d);
1659
1675
  });
1660
1676
  }).then(function(h) {
1661
1677
  return c === !0 && a.revokeObjectURL(r), kt(h, o), h.userData.mimeType = o.mimeType || DA(o.uri), h;
@@ -1676,11 +1692,11 @@ class kA {
1676
1692
  return this.getDependency("texture", s.index).then(function(o) {
1677
1693
  if (!o)
1678
1694
  return null;
1679
- if (s.texCoord !== void 0 && s.texCoord > 0 && (o = o.clone(), o.channel = s.texCoord), i.extensions[ae.KHR_TEXTURE_TRANSFORM]) {
1680
- const a = s.extensions !== void 0 ? s.extensions[ae.KHR_TEXTURE_TRANSFORM] : void 0;
1695
+ if (s.texCoord !== void 0 && s.texCoord > 0 && (o = o.clone(), o.channel = s.texCoord), i.extensions[oe.KHR_TEXTURE_TRANSFORM]) {
1696
+ const a = s.extensions !== void 0 ? s.extensions[oe.KHR_TEXTURE_TRANSFORM] : void 0;
1681
1697
  if (a) {
1682
1698
  const r = i.associations.get(o);
1683
- o = i.extensions[ae.KHR_TEXTURE_TRANSFORM].extendTexture(o, a), i.associations.set(o, r);
1699
+ o = i.extensions[oe.KHR_TEXTURE_TRANSFORM].extendTexture(o, a), i.associations.set(o, r);
1684
1700
  }
1685
1701
  }
1686
1702
  return n !== void 0 && (o.colorSpace = n), e[t] = o, o;
@@ -1716,7 +1732,7 @@ class kA {
1716
1732
  e.material = s;
1717
1733
  }
1718
1734
  getMaterialType() {
1719
- return vo;
1735
+ return ui;
1720
1736
  }
1721
1737
  /**
1722
1738
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -1727,22 +1743,22 @@ class kA {
1727
1743
  const t = this, s = this.json, n = this.extensions, i = s.materials[e];
1728
1744
  let o;
1729
1745
  const a = {}, r = i.extensions || {}, c = [];
1730
- if (r[ae.KHR_MATERIALS_UNLIT]) {
1731
- const h = n[ae.KHR_MATERIALS_UNLIT];
1746
+ if (r[oe.KHR_MATERIALS_UNLIT]) {
1747
+ const h = n[oe.KHR_MATERIALS_UNLIT];
1732
1748
  o = h.getMaterialType(), c.push(h.extendParams(a, i, t));
1733
1749
  } else {
1734
1750
  const h = i.pbrMetallicRoughness || {};
1735
1751
  if (a.color = new Se(1, 1, 1), a.opacity = 1, Array.isArray(h.baseColorFactor)) {
1736
- const d = h.baseColorFactor;
1737
- a.color.setRGB(d[0], d[1], d[2], We), a.opacity = d[3];
1752
+ const g = h.baseColorFactor;
1753
+ a.color.setRGB(g[0], g[1], g[2], We), a.opacity = g[3];
1738
1754
  }
1739
- h.baseColorTexture !== void 0 && c.push(t.assignTexture(a, "map", h.baseColorTexture, de)), a.metalness = h.metallicFactor !== void 0 ? h.metallicFactor : 1, a.roughness = h.roughnessFactor !== void 0 ? h.roughnessFactor : 1, h.metallicRoughnessTexture !== void 0 && (c.push(t.assignTexture(a, "metalnessMap", h.metallicRoughnessTexture)), c.push(t.assignTexture(a, "roughnessMap", h.metallicRoughnessTexture))), o = this._invokeOne(function(d) {
1740
- return d.getMaterialType && d.getMaterialType(e);
1741
- }), c.push(Promise.all(this._invokeAll(function(d) {
1742
- return d.extendMaterialParams && d.extendMaterialParams(e, a);
1755
+ h.baseColorTexture !== void 0 && c.push(t.assignTexture(a, "map", h.baseColorTexture, ge)), a.metalness = h.metallicFactor !== void 0 ? h.metallicFactor : 1, a.roughness = h.roughnessFactor !== void 0 ? h.roughnessFactor : 1, h.metallicRoughnessTexture !== void 0 && (c.push(t.assignTexture(a, "metalnessMap", h.metallicRoughnessTexture)), c.push(t.assignTexture(a, "roughnessMap", h.metallicRoughnessTexture))), o = this._invokeOne(function(g) {
1756
+ return g.getMaterialType && g.getMaterialType(e);
1757
+ }), c.push(Promise.all(this._invokeAll(function(g) {
1758
+ return g.extendMaterialParams && g.extendMaterialParams(e, a);
1743
1759
  })));
1744
1760
  }
1745
- i.doubleSided === !0 && (a.side = ui);
1761
+ i.doubleSided === !0 && (a.side = gi);
1746
1762
  const l = i.alphaMode || Bs.OPAQUE;
1747
1763
  if (l === Bs.BLEND ? (a.transparent = !0, a.depthWrite = !1) : (a.transparent = !1, l === Bs.MASK && (a.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && o !== Qt && (c.push(t.assignTexture(a, "normalMap", i.normalTexture)), a.normalScale = new Le(1, 1), i.normalTexture.scale !== void 0)) {
1748
1764
  const h = i.normalTexture.scale;
@@ -1752,7 +1768,7 @@ class kA {
1752
1768
  const h = i.emissiveFactor;
1753
1769
  a.emissive = new Se().setRGB(h[0], h[1], h[2], We);
1754
1770
  }
1755
- return i.emissiveTexture !== void 0 && o !== Qt && c.push(t.assignTexture(a, "emissiveMap", i.emissiveTexture, de)), Promise.all(c).then(function() {
1771
+ return i.emissiveTexture !== void 0 && o !== Qt && c.push(t.assignTexture(a, "emissiveMap", i.emissiveTexture, ge)), Promise.all(c).then(function() {
1756
1772
  const h = new o(a);
1757
1773
  return i.name && (h.name = i.name), kt(h, i), t.associations.set(h, { materials: e }), i.extensions && Wt(n, h, i), h;
1758
1774
  });
@@ -1773,8 +1789,8 @@ class kA {
1773
1789
  loadGeometries(e) {
1774
1790
  const t = this, s = this.extensions, n = this.primitiveCache;
1775
1791
  function i(a) {
1776
- return s[ae.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a, t).then(function(r) {
1777
- return Li(r, a, t);
1792
+ return s[oe.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a, t).then(function(r) {
1793
+ return Ni(r, a, t);
1778
1794
  });
1779
1795
  }
1780
1796
  const o = [];
@@ -1783,8 +1799,8 @@ class kA {
1783
1799
  if (h)
1784
1800
  o.push(h.promise);
1785
1801
  else {
1786
- let d;
1787
- c.extensions && c.extensions[ae.KHR_DRACO_MESH_COMPRESSION] ? d = i(c) : d = Li(new ut(), c, t), n[l] = { primitive: c, promise: d }, o.push(d);
1802
+ let g;
1803
+ c.extensions && c.extensions[oe.KHR_DRACO_MESH_COMPRESSION] ? g = i(c) : g = Ni(new ut(), c, t), n[l] = { primitive: c, promise: g }, o.push(g);
1788
1804
  }
1789
1805
  }
1790
1806
  return Promise.all(o);
@@ -1802,16 +1818,16 @@ class kA {
1802
1818
  }
1803
1819
  return a.push(t.loadGeometries(o)), Promise.all(a).then(function(r) {
1804
1820
  const c = r.slice(0, r.length - 1), l = r[r.length - 1], h = [];
1805
- for (let g = 0, p = l.length; g < p; g++) {
1806
- const m = l[g], I = o[g];
1821
+ for (let d = 0, p = l.length; d < p; d++) {
1822
+ const m = l[d], I = o[d];
1807
1823
  let b;
1808
- const B = c[g];
1824
+ const B = c[d];
1809
1825
  if (I.mode === ht.TRIANGLES || I.mode === ht.TRIANGLE_STRIP || I.mode === ht.TRIANGLE_FAN || I.mode === void 0)
1810
- b = i.isSkinnedMesh === !0 ? new di(m, B) : new z(m, B), b.isSkinnedMesh === !0 && b.normalizeSkinWeights(), I.mode === ht.TRIANGLE_STRIP ? b.geometry = Di(b.geometry, xo) : I.mode === ht.TRIANGLE_FAN && (b.geometry = Di(b.geometry, Js));
1826
+ b = i.isSkinnedMesh === !0 ? new di(m, B) : new z(m, B), b.isSkinnedMesh === !0 && b.normalizeSkinWeights(), I.mode === ht.TRIANGLE_STRIP ? b.geometry = Mi(b.geometry, So) : I.mode === ht.TRIANGLE_FAN && (b.geometry = Mi(b.geometry, Js));
1811
1827
  else if (I.mode === ht.LINES)
1812
1828
  b = new As(m, B);
1813
1829
  else if (I.mode === ht.LINE_STRIP)
1814
- b = new gt(m, B);
1830
+ b = new dt(m, B);
1815
1831
  else if (I.mode === ht.LINE_LOOP)
1816
1832
  b = new mr(m, B);
1817
1833
  else if (I.mode === ht.POINTS)
@@ -1820,18 +1836,18 @@ class kA {
1820
1836
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + I.mode);
1821
1837
  Object.keys(b.geometry.morphAttributes).length > 0 && RA(b, i), b.name = t.createUniqueName(i.name || "mesh_" + e), kt(b, i), I.extensions && Wt(n, b, I), t.assignFinalMaterial(b), h.push(b);
1822
1838
  }
1823
- for (let g = 0, p = h.length; g < p; g++)
1824
- t.associations.set(h[g], {
1839
+ for (let d = 0, p = h.length; d < p; d++)
1840
+ t.associations.set(h[d], {
1825
1841
  meshes: e,
1826
- primitives: g
1842
+ primitives: d
1827
1843
  });
1828
1844
  if (h.length === 1)
1829
1845
  return i.extensions && Wt(n, h[0], i), h[0];
1830
- const d = new sn();
1831
- i.extensions && Wt(n, d, i), t.associations.set(d, { meshes: e });
1832
- for (let g = 0, p = h.length; g < p; g++)
1833
- d.add(h[g]);
1834
- return d;
1846
+ const g = new sn();
1847
+ i.extensions && Wt(n, g, i), t.associations.set(g, { meshes: e });
1848
+ for (let d = 0, p = h.length; d < p; d++)
1849
+ g.add(h[d]);
1850
+ return g;
1835
1851
  });
1836
1852
  }
1837
1853
  /**
@@ -1846,7 +1862,7 @@ class kA {
1846
1862
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1847
1863
  return;
1848
1864
  }
1849
- return s.type === "perspective" ? t = new gs(ye.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : s.type === "orthographic" && (t = new Ro(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), s.name && (t.name = this.createUniqueName(s.name)), kt(t, s), Promise.resolve(t);
1865
+ return s.type === "perspective" ? t = new ds(ye.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : s.type === "orthographic" && (t = new Ro(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), s.name && (t.name = this.createUniqueName(s.name)), kt(t, s), Promise.resolve(t);
1850
1866
  }
1851
1867
  /**
1852
1868
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1863,8 +1879,8 @@ class kA {
1863
1879
  const h = o[c];
1864
1880
  if (h) {
1865
1881
  a.push(h);
1866
- const d = new ue();
1867
- i !== null && d.fromArray(i.array, c * 16), r.push(d);
1882
+ const g = new ue();
1883
+ i !== null && g.fromArray(i.array, c * 16), r.push(g);
1868
1884
  } else
1869
1885
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[c]);
1870
1886
  }
@@ -1878,9 +1894,9 @@ class kA {
1878
1894
  */
1879
1895
  loadAnimation(e) {
1880
1896
  const t = this.json, s = this, n = t.animations[e], i = n.name ? n.name : "animation_" + e, o = [], a = [], r = [], c = [], l = [];
1881
- let h = 0, d = n.channels.length;
1882
- for (h = 0, d = n.channels.length; h < d; h++) {
1883
- const g = n.channels[h], p = n.samplers[g.sampler], m = g.target, I = m.node, b = n.parameters !== void 0 ? n.parameters[p.input] : p.input, B = n.parameters !== void 0 ? n.parameters[p.output] : p.output;
1897
+ let h = 0, g = n.channels.length;
1898
+ for (h = 0, g = n.channels.length; h < g; h++) {
1899
+ const d = n.channels[h], p = n.samplers[d.sampler], m = d.target, I = m.node, b = n.parameters !== void 0 ? n.parameters[p.input] : p.input, B = n.parameters !== void 0 ? n.parameters[p.output] : p.output;
1884
1900
  m.node !== void 0 && (o.push(this.getDependency("node", I)), a.push(this.getDependency("accessor", b)), r.push(this.getDependency("accessor", B)), c.push(p), l.push(m));
1885
1901
  }
1886
1902
  return Promise.all([
@@ -1889,9 +1905,9 @@ class kA {
1889
1905
  Promise.all(r),
1890
1906
  Promise.all(c),
1891
1907
  Promise.all(l)
1892
- ]).then(function(g) {
1893
- const p = g[0], m = g[1], I = g[2], b = g[3], B = g[4], E = [];
1894
- for (h = 0, d = p.length; h < d; h++) {
1908
+ ]).then(function(d) {
1909
+ const p = d[0], m = d[1], I = d[2], b = d[3], B = d[4], E = [];
1910
+ for (h = 0, g = p.length; h < g; h++) {
1895
1911
  const w = p[h], Q = m[h], R = I[h], _ = b[h], x = B[h];
1896
1912
  if (w === void 0)
1897
1913
  continue;
@@ -1901,7 +1917,7 @@ class kA {
1901
1917
  for (let L = 0; L < T.length; L++)
1902
1918
  E.push(T[L]);
1903
1919
  }
1904
- return new gi(i, void 0, E);
1920
+ return new pi(i, void 0, E);
1905
1921
  });
1906
1922
  }
1907
1923
  createNodeMesh(e) {
@@ -1930,12 +1946,12 @@ class kA {
1930
1946
  Promise.all(o),
1931
1947
  r
1932
1948
  ]).then(function(c) {
1933
- const l = c[0], h = c[1], d = c[2];
1934
- d !== null && l.traverse(function(g) {
1935
- g.isSkinnedMesh && g.bind(d, MA);
1949
+ const l = c[0], h = c[1], g = c[2];
1950
+ g !== null && l.traverse(function(d) {
1951
+ d.isSkinnedMesh && d.bind(g, MA);
1936
1952
  });
1937
- for (let g = 0, p = h.length; g < p; g++)
1938
- l.add(h[g]);
1953
+ for (let d = 0, p = h.length; d < p; d++)
1954
+ l.add(h[d]);
1939
1955
  return l;
1940
1956
  });
1941
1957
  }
@@ -1957,7 +1973,7 @@ class kA {
1957
1973
  }), this.nodeCache[e] = Promise.all(a).then(function(c) {
1958
1974
  let l;
1959
1975
  if (i.isBone === !0 ? l = new Ws() : c.length > 1 ? l = new sn() : c.length === 1 ? l = c[0] : l = new xt(), l !== c[0])
1960
- for (let h = 0, d = c.length; h < d; h++)
1976
+ for (let h = 0, g = c.length; h < g; h++)
1961
1977
  l.add(c[h]);
1962
1978
  if (i.name && (l.userData.name = i.name, l.name = o), kt(l, i), i.extensions && Wt(s, l, i), i.matrix !== void 0) {
1963
1979
  const h = new ue();
@@ -1983,11 +1999,11 @@ class kA {
1983
1999
  i.add(r[l]);
1984
2000
  const c = (l) => {
1985
2001
  const h = /* @__PURE__ */ new Map();
1986
- for (const [d, g] of n.associations)
1987
- (d instanceof tn || d instanceof Xs) && h.set(d, g);
1988
- return l.traverse((d) => {
1989
- const g = n.associations.get(d);
1990
- g != null && h.set(d, g);
2002
+ for (const [g, d] of n.associations)
2003
+ (g instanceof tn || g instanceof Xs) && h.set(g, d);
2004
+ return l.traverse((g) => {
2005
+ const d = n.associations.get(g);
2006
+ d != null && h.set(g, d);
1991
2007
  }), h;
1992
2008
  };
1993
2009
  return n.associations = c(i), i;
@@ -1995,8 +2011,8 @@ class kA {
1995
2011
  }
1996
2012
  _createAnimationTracks(e, t, s, n, i) {
1997
2013
  const o = [], a = e.name ? e.name : e.uuid, r = [];
1998
- Ht[i.path] === Ht.weights ? e.traverse(function(d) {
1999
- d.morphTargetInfluences && r.push(d.name ? d.name : d.uuid);
2014
+ Ht[i.path] === Ht.weights ? e.traverse(function(g) {
2015
+ g.morphTargetInfluences && r.push(g.name ? g.name : g.uuid);
2000
2016
  }) : r.push(a);
2001
2017
  let c;
2002
2018
  switch (Ht[i.path]) {
@@ -2024,9 +2040,9 @@ class kA {
2024
2040
  break;
2025
2041
  }
2026
2042
  const l = n.interpolation !== void 0 ? SA[n.interpolation] : jn, h = this._getArrayFromAccessor(s);
2027
- for (let d = 0, g = r.length; d < g; d++) {
2043
+ for (let g = 0, d = r.length; g < d; g++) {
2028
2044
  const p = new c(
2029
- r[d] + "." + Ht[i.path],
2045
+ r[g] + "." + Ht[i.path],
2030
2046
  t.array,
2031
2047
  h,
2032
2048
  l
@@ -2076,10 +2092,10 @@ function FA(A, e, t) {
2076
2092
  for (let c = 0, l = i.length; c < l; c++) {
2077
2093
  const h = i[c];
2078
2094
  if (h.POSITION !== void 0) {
2079
- const d = t.json.accessors[h.POSITION], g = d.min, p = d.max;
2080
- if (g !== void 0 && p !== void 0) {
2081
- if (r.setX(Math.max(Math.abs(g[0]), Math.abs(p[0]))), r.setY(Math.max(Math.abs(g[1]), Math.abs(p[1]))), r.setZ(Math.max(Math.abs(g[2]), Math.abs(p[2]))), d.normalized) {
2082
- const m = ti(In[d.componentType]);
2095
+ const g = t.json.accessors[h.POSITION], d = g.min, p = g.max;
2096
+ if (d !== void 0 && p !== void 0) {
2097
+ if (r.setX(Math.max(Math.abs(d[0]), Math.abs(p[0]))), r.setY(Math.max(Math.abs(d[1]), Math.abs(p[1]))), r.setZ(Math.max(Math.abs(d[2]), Math.abs(p[2]))), g.normalized) {
2098
+ const m = ti(In[g.componentType]);
2083
2099
  r.multiplyScalar(m);
2084
2100
  }
2085
2101
  a.max(r);
@@ -2090,10 +2106,10 @@ function FA(A, e, t) {
2090
2106
  n.expandByVector(a);
2091
2107
  }
2092
2108
  A.boundingBox = n;
2093
- const o = new fi();
2109
+ const o = new mi();
2094
2110
  n.getCenter(o.center), o.radius = n.min.distanceTo(n.max) / 2, A.boundingSphere = o;
2095
2111
  }
2096
- function Li(A, e, t) {
2112
+ function Ni(A, e, t) {
2097
2113
  const s = e.attributes, n = [];
2098
2114
  function i(o, a) {
2099
2115
  return t.getDependency("accessor", o).then(function(r) {
@@ -2148,8 +2164,8 @@ var fh = function() {
2148
2164
  ATTRIBUTES: "meshopt_decodeVertexBuffer",
2149
2165
  TRIANGLES: "meshopt_decodeIndexBuffer",
2150
2166
  INDICES: "meshopt_decodeIndexSequence"
2151
- }, h = [], d = 0;
2152
- function g(b) {
2167
+ }, h = [], g = 0;
2168
+ function d(b) {
2153
2169
  var B = {
2154
2170
  object: new Worker(b),
2155
2171
  pending: 0,
@@ -2162,14 +2178,14 @@ var fh = function() {
2162
2178
  }
2163
2179
  function p(b) {
2164
2180
  for (var B = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(a(n)) + "]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;" + r.toString() + I.toString(), E = new Blob([B], { type: "text/javascript" }), w = URL.createObjectURL(E), Q = 0; Q < b; ++Q)
2165
- h[Q] = g(w);
2181
+ h[Q] = d(w);
2166
2182
  URL.revokeObjectURL(w);
2167
2183
  }
2168
2184
  function m(b, B, E, w, Q) {
2169
2185
  for (var R = h[0], _ = 1; _ < h.length; ++_)
2170
2186
  h[_].pending < R.pending && (R = h[_]);
2171
2187
  return new Promise(function(x, T) {
2172
- var L = new Uint8Array(E), N = d++;
2188
+ var L = new Uint8Array(E), N = g++;
2173
2189
  R.pending += b, R.requests[N] = { resolve: x, reject: T }, R.object.postMessage({ id: N, count: b, size: B, source: L, mode: w, filter: Q }, [L.buffer]);
2174
2190
  });
2175
2191
  }
@@ -2242,7 +2258,7 @@ class mh extends Nt {
2242
2258
  }
2243
2259
  parse(e, t, s = () => {
2244
2260
  }) {
2245
- this.decodeDracoFile(e, t, null, null, de, s).catch(s);
2261
+ this.decodeDracoFile(e, t, null, null, ge, s).catch(s);
2246
2262
  }
2247
2263
  decodeDracoFile(e, t, s, n, i = We, o = () => {
2248
2264
  }) {
@@ -2286,11 +2302,11 @@ class mh extends Nt {
2286
2302
  return t;
2287
2303
  }
2288
2304
  _assignVertexColorSpace(e, t) {
2289
- if (t !== de)
2305
+ if (t !== ge)
2290
2306
  return;
2291
2307
  const s = new Se();
2292
2308
  for (let n = 0, i = e.count; n < i; n++)
2293
- s.fromBufferAttribute(e, n), Ve.toWorkingColorSpace(s, de), e.setXYZ(n, s.r, s.g, s.b);
2309
+ s.fromBufferAttribute(e, n), Ve.toWorkingColorSpace(s, ge), e.setXYZ(n, s.r, s.g, s.b);
2294
2310
  }
2295
2311
  _loadLibrary(e, t) {
2296
2312
  const s = new ft(this.manager);
@@ -2371,14 +2387,14 @@ function LA() {
2371
2387
  case "decode":
2372
2388
  const r = a.buffer, c = a.taskConfig;
2373
2389
  e.then((l) => {
2374
- const h = l.draco, d = new h.Decoder();
2390
+ const h = l.draco, g = new h.Decoder();
2375
2391
  try {
2376
- const g = t(h, d, new Int8Array(r), c), p = g.attributes.map((m) => m.array.buffer);
2377
- g.index && p.push(g.index.array.buffer), self.postMessage({ type: "decode", id: a.id, geometry: g }, p);
2378
- } catch (g) {
2379
- console.error(g), self.postMessage({ type: "error", id: a.id, error: g.message });
2392
+ const d = t(h, g, new Int8Array(r), c), p = d.attributes.map((m) => m.array.buffer);
2393
+ d.index && p.push(d.index.array.buffer), self.postMessage({ type: "decode", id: a.id, geometry: d }, p);
2394
+ } catch (d) {
2395
+ console.error(d), self.postMessage({ type: "error", id: a.id, error: d.message });
2380
2396
  } finally {
2381
- h.destroy(d);
2397
+ h.destroy(g);
2382
2398
  }
2383
2399
  });
2384
2400
  break;
@@ -2386,46 +2402,46 @@ function LA() {
2386
2402
  };
2387
2403
  function t(o, a, r, c) {
2388
2404
  const l = c.attributeIDs, h = c.attributeTypes;
2389
- let d, g;
2405
+ let g, d;
2390
2406
  const p = a.GetEncodedGeometryType(r);
2391
2407
  if (p === o.TRIANGULAR_MESH)
2392
- d = new o.Mesh(), g = a.DecodeArrayToMesh(r, r.byteLength, d);
2408
+ g = new o.Mesh(), d = a.DecodeArrayToMesh(r, r.byteLength, g);
2393
2409
  else if (p === o.POINT_CLOUD)
2394
- d = new o.PointCloud(), g = a.DecodeArrayToPointCloud(r, r.byteLength, d);
2410
+ g = new o.PointCloud(), d = a.DecodeArrayToPointCloud(r, r.byteLength, g);
2395
2411
  else
2396
2412
  throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
2397
- if (!g.ok() || d.ptr === 0)
2398
- throw new Error("THREE.DRACOLoader: Decoding failed: " + g.error_msg());
2413
+ if (!d.ok() || g.ptr === 0)
2414
+ throw new Error("THREE.DRACOLoader: Decoding failed: " + d.error_msg());
2399
2415
  const m = { index: null, attributes: [] };
2400
2416
  for (const I in l) {
2401
2417
  const b = self[h[I]];
2402
2418
  let B, E;
2403
2419
  if (c.useUniqueIDs)
2404
- E = l[I], B = a.GetAttributeByUniqueId(d, E);
2420
+ E = l[I], B = a.GetAttributeByUniqueId(g, E);
2405
2421
  else {
2406
- if (E = a.GetAttributeId(d, o[l[I]]), E === -1)
2422
+ if (E = a.GetAttributeId(g, o[l[I]]), E === -1)
2407
2423
  continue;
2408
- B = a.GetAttribute(d, E);
2424
+ B = a.GetAttribute(g, E);
2409
2425
  }
2410
- const w = n(o, a, d, I, b, B);
2426
+ const w = n(o, a, g, I, b, B);
2411
2427
  I === "color" && (w.vertexColorSpace = c.vertexColorSpace), m.attributes.push(w);
2412
2428
  }
2413
- return p === o.TRIANGULAR_MESH && (m.index = s(o, a, d)), o.destroy(d), m;
2429
+ return p === o.TRIANGULAR_MESH && (m.index = s(o, a, g)), o.destroy(g), m;
2414
2430
  }
2415
2431
  function s(o, a, r) {
2416
- const l = r.num_faces() * 3, h = l * 4, d = o._malloc(h);
2417
- a.GetTrianglesUInt32Array(r, h, d);
2418
- const g = new Uint32Array(o.HEAPF32.buffer, d, l).slice();
2419
- return o._free(d), { array: g, itemSize: 1 };
2432
+ const l = r.num_faces() * 3, h = l * 4, g = o._malloc(h);
2433
+ a.GetTrianglesUInt32Array(r, h, g);
2434
+ const d = new Uint32Array(o.HEAPF32.buffer, g, l).slice();
2435
+ return o._free(g), { array: d, itemSize: 1 };
2420
2436
  }
2421
2437
  function n(o, a, r, c, l, h) {
2422
- const d = h.num_components(), p = r.num_points() * d, m = p * l.BYTES_PER_ELEMENT, I = i(o, l), b = o._malloc(m);
2438
+ const g = h.num_components(), p = r.num_points() * g, m = p * l.BYTES_PER_ELEMENT, I = i(o, l), b = o._malloc(m);
2423
2439
  a.GetAttributeDataArrayForAllPoints(r, h, I, m, b);
2424
2440
  const B = new l(o.HEAPF32.buffer, b, p).slice();
2425
2441
  return o._free(b), {
2426
2442
  name: c,
2427
2443
  array: B,
2428
- itemSize: d
2444
+ itemSize: g
2429
2445
  };
2430
2446
  }
2431
2447
  function i(o, a) {
@@ -2487,7 +2503,7 @@ class NA {
2487
2503
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2488
2504
  }
2489
2505
  }
2490
- const UA = 0, Ni = 2, GA = 1, Ui = 2, PA = 0, OA = 1, HA = 10, jA = 0, Jo = 9, Vo = 15, Wo = 16, Xo = 22, Zo = 37, $o = 43, ea = 76, ta = 83, na = 97, sa = 100, ia = 103, oa = 109, aa = 165, ra = 166, Aa = 1000066e3;
2506
+ const UA = 0, Ui = 2, GA = 1, Gi = 2, PA = 0, OA = 1, HA = 10, jA = 0, Jo = 9, Vo = 15, Wo = 16, Xo = 22, Zo = 37, $o = 43, ea = 76, ta = 83, na = 97, sa = 100, ia = 103, oa = 109, aa = 165, ra = 166, Aa = 1000066e3;
2491
2507
  class qA {
2492
2508
  constructor() {
2493
2509
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
@@ -2534,7 +2550,7 @@ class yn {
2534
2550
  }
2535
2551
  }
2536
2552
  const qe = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2537
- function Gi(A) {
2553
+ function Pi(A) {
2538
2554
  return new TextDecoder().decode(A);
2539
2555
  }
2540
2556
  function zA(A) {
@@ -2545,21 +2561,21 @@ function zA(A) {
2545
2561
  t.vkFormat = n._nextUint32(), t.typeSize = n._nextUint32(), t.pixelWidth = n._nextUint32(), t.pixelHeight = n._nextUint32(), t.pixelDepth = n._nextUint32(), t.layerCount = n._nextUint32(), t.faceCount = n._nextUint32();
2546
2562
  const i = n._nextUint32();
2547
2563
  t.supercompressionScheme = n._nextUint32();
2548
- const o = n._nextUint32(), a = n._nextUint32(), r = n._nextUint32(), c = n._nextUint32(), l = n._nextUint64(), h = n._nextUint64(), d = new yn(A, qe.length + s, 3 * i * 8, !0);
2564
+ const o = n._nextUint32(), a = n._nextUint32(), r = n._nextUint32(), c = n._nextUint32(), l = n._nextUint64(), h = n._nextUint64(), g = new yn(A, qe.length + s, 3 * i * 8, !0);
2549
2565
  for (let K = 0; K < i; K++)
2550
- t.levels.push({ levelData: new Uint8Array(A.buffer, A.byteOffset + d._nextUint64(), d._nextUint64()), uncompressedByteLength: d._nextUint64() });
2551
- const g = new yn(A, o, a, !0), p = { vendorId: g._skip(4)._nextUint16(), descriptorType: g._nextUint16(), versionNumber: g._nextUint16(), descriptorBlockSize: g._nextUint16(), colorModel: g._nextUint8(), colorPrimaries: g._nextUint8(), transferFunction: g._nextUint8(), flags: g._nextUint8(), texelBlockDimension: [g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8()], bytesPlane: [g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8()], samples: [] }, m = (p.descriptorBlockSize / 4 - 6) / 4;
2566
+ t.levels.push({ levelData: new Uint8Array(A.buffer, A.byteOffset + g._nextUint64(), g._nextUint64()), uncompressedByteLength: g._nextUint64() });
2567
+ const d = new yn(A, o, a, !0), p = { vendorId: d._skip(4)._nextUint16(), descriptorType: d._nextUint16(), versionNumber: d._nextUint16(), descriptorBlockSize: d._nextUint16(), colorModel: d._nextUint8(), colorPrimaries: d._nextUint8(), transferFunction: d._nextUint8(), flags: d._nextUint8(), texelBlockDimension: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], bytesPlane: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], samples: [] }, m = (p.descriptorBlockSize / 4 - 6) / 4;
2552
2568
  for (let K = 0; K < m; K++) {
2553
- const ee = { bitOffset: g._nextUint16(), bitLength: g._nextUint8(), channelType: g._nextUint8(), samplePosition: [g._nextUint8(), g._nextUint8(), g._nextUint8(), g._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2554
- 64 & ee.channelType ? (ee.sampleLower = g._nextInt32(), ee.sampleUpper = g._nextInt32()) : (ee.sampleLower = g._nextUint32(), ee.sampleUpper = g._nextUint32()), p.samples[K] = ee;
2569
+ const ee = { bitOffset: d._nextUint16(), bitLength: d._nextUint8(), channelType: d._nextUint8(), samplePosition: [d._nextUint8(), d._nextUint8(), d._nextUint8(), d._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2570
+ 64 & ee.channelType ? (ee.sampleLower = d._nextInt32(), ee.sampleUpper = d._nextInt32()) : (ee.sampleLower = d._nextUint32(), ee.sampleUpper = d._nextUint32()), p.samples[K] = ee;
2555
2571
  }
2556
2572
  t.dataFormatDescriptor.length = 0, t.dataFormatDescriptor.push(p);
2557
2573
  const I = new yn(A, r, c, !0);
2558
2574
  for (; I._offset < c; ) {
2559
- const K = I._nextUint32(), ee = I._scan(K), te = Gi(ee);
2575
+ const K = I._nextUint32(), ee = I._scan(K), te = Pi(ee);
2560
2576
  if (t.keyValue[te] = I._nextUint8Array(K - ee.byteLength - 1), te.match(/^ktx/i)) {
2561
- const se = Gi(t.keyValue[te]);
2562
- t.keyValue[te] = se.substring(0, se.lastIndexOf("\0"));
2577
+ const ie = Pi(t.keyValue[te]);
2578
+ t.keyValue[te] = ie.substring(0, ie.lastIndexOf("\0"));
2563
2579
  }
2564
2580
  I._skip(K % 4 ? 4 - K % 4 : 0);
2565
2581
  }
@@ -2577,7 +2593,7 @@ const xs = { env: { emscripten_notify_memory_growth: function(A) {
2577
2593
  } } };
2578
2594
  class KA {
2579
2595
  init() {
2580
- return Qs || (Qs = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Pi).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, xs)).then(this._init) : WebAssembly.instantiate(Buffer.from(Pi, "base64"), xs).then(this._init), Qs);
2596
+ return Qs || (Qs = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Oi).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, xs)).then(this._init) : WebAssembly.instantiate(Buffer.from(Oi, "base64"), xs).then(this._init), Qs);
2581
2597
  }
2582
2598
  _init(e) {
2583
2599
  Mt = e.instance, xs.env.emscripten_notify_memory_growth(0);
@@ -2591,7 +2607,7 @@ class KA {
2591
2607
  return Mt.exports.free(n), Mt.exports.free(i), a;
2592
2608
  }
2593
2609
  }
2594
- const Pi = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", Ss = /* @__PURE__ */ new WeakMap();
2610
+ const Oi = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", Ss = /* @__PURE__ */ new WeakMap();
2595
2611
  let Ts = 0, vs;
2596
2612
  class Ft extends Nt {
2597
2613
  constructor(e) {
@@ -2786,15 +2802,15 @@ Ft.BasisWorker = function() {
2786
2802
  for (let q = 0; q < Q; q++) {
2787
2803
  const H = [];
2788
2804
  let K, ee;
2789
- for (let se = 0; se < w; se++) {
2790
- const le = m.getImageLevelInfo(q, se, Z);
2791
- Z === 0 && q === 0 && se === 0 && (le.origWidth % 4 !== 0 || le.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), Q > 1 ? (K = le.origWidth, ee = le.origHeight) : (K = le.width, ee = le.height);
2792
- const re = new Uint8Array(m.getImageTranscodedSizeInBytes(q, se, 0, T));
2793
- if (!m.transcodeImage(re, q, se, Z, T, 0, -1, -1))
2805
+ for (let ie = 0; ie < w; ie++) {
2806
+ const le = m.getImageLevelInfo(q, ie, Z);
2807
+ Z === 0 && q === 0 && ie === 0 && (le.origWidth % 4 !== 0 || le.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), Q > 1 ? (K = le.origWidth, ee = le.origHeight) : (K = le.width, ee = le.height);
2808
+ const re = new Uint8Array(m.getImageTranscodedSizeInBytes(q, ie, 0, T));
2809
+ if (!m.transcodeImage(re, q, ie, Z, T, 0, -1, -1))
2794
2810
  throw I(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2795
2811
  H.push(re);
2796
2812
  }
2797
- const te = g(H);
2813
+ const te = d(H);
2798
2814
  U.push({ data: te, width: K, height: ee }), O.push(te.buffer);
2799
2815
  }
2800
2816
  N.push({ mipmaps: U, width: B, height: E, format: L });
@@ -2866,15 +2882,15 @@ Ft.BasisWorker = function() {
2866
2882
  const w = p === i.ETC1S ? c : l;
2867
2883
  for (let Q = 0; Q < w.length; Q++) {
2868
2884
  const R = w[Q];
2869
- if (A[R.if] && R.basisFormat.includes(p) && !(b && R.transcoderFormat.length < 2) && !(R.needsPowerOfTwo && !(d(m) && d(I))))
2885
+ if (A[R.if] && R.basisFormat.includes(p) && !(b && R.transcoderFormat.length < 2) && !(R.needsPowerOfTwo && !(g(m) && g(I))))
2870
2886
  return B = R.transcoderFormat[b ? 1 : 0], E = R.engineFormat[b ? 1 : 0], { transcoderFormat: B, engineFormat: E };
2871
2887
  }
2872
2888
  return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), B = n.RGBA32, E = s.RGBAFormat, { transcoderFormat: B, engineFormat: E };
2873
2889
  }
2874
- function d(p) {
2890
+ function g(p) {
2875
2891
  return p <= 2 ? !0 : (p & p - 1) === 0 && p !== 0;
2876
2892
  }
2877
- function g(p) {
2893
+ function d(p) {
2878
2894
  if (p.length === 1)
2879
2895
  return p[0];
2880
2896
  let m = 0;
@@ -2891,7 +2907,7 @@ Ft.BasisWorker = function() {
2891
2907
  return I;
2892
2908
  }
2893
2909
  };
2894
- const YA = /* @__PURE__ */ new Set([Kt, Mn, gn]), Rs = {
2910
+ const YA = /* @__PURE__ */ new Set([Kt, Mn, dn]), Rs = {
2895
2911
  [oa]: Kt,
2896
2912
  [na]: Kt,
2897
2913
  [Zo]: Kt,
@@ -2900,13 +2916,13 @@ const YA = /* @__PURE__ */ new Set([Kt, Mn, gn]), Rs = {
2900
2916
  [ta]: Mn,
2901
2917
  [Wo]: Mn,
2902
2918
  [Xo]: Mn,
2903
- [sa]: gn,
2904
- [ea]: gn,
2905
- [Vo]: gn,
2906
- [Jo]: gn,
2919
+ [sa]: dn,
2920
+ [ea]: dn,
2921
+ [Vo]: dn,
2922
+ [Jo]: dn,
2907
2923
  [Aa]: Uo,
2908
- [ra]: vi,
2909
- [aa]: vi
2924
+ [ra]: Ri,
2925
+ [aa]: Ri
2910
2926
  }, _s = {
2911
2927
  [oa]: St,
2912
2928
  [na]: st,
@@ -2929,7 +2945,7 @@ async function JA(A) {
2929
2945
  if (Rs[e] === void 0)
2930
2946
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2931
2947
  let t;
2932
- A.supercompressionScheme === Ni && (vs || (vs = new Promise(async (i) => {
2948
+ A.supercompressionScheme === Ui && (vs || (vs = new Promise(async (i) => {
2933
2949
  const o = new KA();
2934
2950
  await o.init(), i(o);
2935
2951
  })), t = await vs);
@@ -2939,7 +2955,7 @@ async function JA(A) {
2939
2955
  let l;
2940
2956
  if (A.supercompressionScheme === UA)
2941
2957
  l = c.levelData;
2942
- else if (A.supercompressionScheme === Ni)
2958
+ else if (A.supercompressionScheme === Ui)
2943
2959
  l = t.decode(c.levelData, c.uncompressedByteLength);
2944
2960
  else
2945
2961
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
@@ -2971,7 +2987,7 @@ async function JA(A) {
2971
2987
  }
2972
2988
  function ca(A) {
2973
2989
  const e = A.dataFormatDescriptor[0];
2974
- return e.colorPrimaries === OA ? e.transferFunction === Ui ? de : We : e.colorPrimaries === HA ? e.transferFunction === Ui ? _r : Dr : e.colorPrimaries === PA ? ds : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ds);
2990
+ return e.colorPrimaries === OA ? e.transferFunction === Gi ? ge : We : e.colorPrimaries === HA ? e.transferFunction === Gi ? _r : Dr : e.colorPrimaries === PA ? gs : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), gs);
2975
2991
  }
2976
2992
  class Ih extends Mr {
2977
2993
  constructor(e, t = {}) {
@@ -3033,7 +3049,7 @@ function XA(A, e, t, s, n) {
3033
3049
  return;
3034
3050
  }
3035
3051
  const o = new kr();
3036
- let a, r, c, l, h, d, g, p;
3052
+ let a, r, c, l, h, g, d, p;
3037
3053
  if (i.o) {
3038
3054
  const m = i._cachedOutline || (i._cachedOutline = i.o.split(" "));
3039
3055
  for (let I = 0, b = m.length; I < b; )
@@ -3045,20 +3061,20 @@ function XA(A, e, t, s, n) {
3045
3061
  a = m[I++] * e + t, r = m[I++] * e + s, o.lineTo(a, r);
3046
3062
  break;
3047
3063
  case "q":
3048
- c = m[I++] * e + t, l = m[I++] * e + s, h = m[I++] * e + t, d = m[I++] * e + s, o.quadraticCurveTo(h, d, c, l);
3064
+ c = m[I++] * e + t, l = m[I++] * e + s, h = m[I++] * e + t, g = m[I++] * e + s, o.quadraticCurveTo(h, g, c, l);
3049
3065
  break;
3050
3066
  case "b":
3051
- c = m[I++] * e + t, l = m[I++] * e + s, h = m[I++] * e + t, d = m[I++] * e + s, g = m[I++] * e + t, p = m[I++] * e + s, o.bezierCurveTo(h, d, g, p, c, l);
3067
+ c = m[I++] * e + t, l = m[I++] * e + s, h = m[I++] * e + t, g = m[I++] * e + s, d = m[I++] * e + t, p = m[I++] * e + s, o.bezierCurveTo(h, g, d, p, c, l);
3052
3068
  break;
3053
3069
  }
3054
3070
  }
3055
3071
  return { offsetX: i.ha * e, path: o };
3056
3072
  }
3057
- const Xt = new mi(), He = new P(), jt = new P(), we = new Te(), Oi = {
3073
+ const Xt = new Ii(), He = new P(), jt = new P(), we = new Te(), Hi = {
3058
3074
  X: new P(1, 0, 0),
3059
3075
  Y: new P(0, 1, 0),
3060
3076
  Z: new P(0, 0, 1)
3061
- }, Ds = { type: "change" }, Hi = { type: "mouseDown", mode: null }, ji = { type: "mouseUp", mode: null }, qi = { type: "objectChange" };
3077
+ }, Ds = { type: "change" }, ji = { type: "mouseDown", mode: null }, qi = { type: "mouseUp", mode: null }, zi = { type: "objectChange" };
3062
3078
  class Eh extends Go {
3063
3079
  constructor(e, t = null) {
3064
3080
  super(void 0, t);
@@ -3081,8 +3097,8 @@ class Eh extends Go {
3081
3097
  }), o[E] = w, i[E] = w, n[E] = w;
3082
3098
  }
3083
3099
  a("camera", e), a("object", void 0), a("enabled", !0), a("axis", null), a("mode", "translate"), a("translationSnap", null), a("rotationSnap", null), a("scaleSnap", null), a("space", "world"), a("size", 1), a("dragging", !1), a("showX", !0), a("showY", !0), a("showZ", !0);
3084
- const r = new P(), c = new P(), l = new Te(), h = new Te(), d = new P(), g = new Te(), p = new P(), m = new P(), I = new P(), b = 0, B = new P();
3085
- a("worldPosition", r), a("worldPositionStart", c), a("worldQuaternion", l), a("worldQuaternionStart", h), a("cameraPosition", d), a("cameraQuaternion", g), a("pointStart", p), a("pointEnd", m), a("rotationAxis", I), a("rotationAngle", b), a("eye", B), this._offset = new P(), this._startNorm = new P(), this._endNorm = new P(), this._cameraScale = new P(), this._parentPosition = new P(), this._parentQuaternion = new Te(), this._parentQuaternionInv = new Te(), this._parentScale = new P(), this._worldScaleStart = new P(), this._worldQuaternionInv = new Te(), this._worldScale = new P(), this._positionStart = new P(), this._quaternionStart = new Te(), this._scaleStart = new P(), this._getPointer = ZA.bind(this), this._onPointerDown = ec.bind(this), this._onPointerHover = $A.bind(this), this._onPointerMove = tc.bind(this), this._onPointerUp = nc.bind(this), t !== null && this.connect();
3100
+ const r = new P(), c = new P(), l = new Te(), h = new Te(), g = new P(), d = new Te(), p = new P(), m = new P(), I = new P(), b = 0, B = new P();
3101
+ a("worldPosition", r), a("worldPositionStart", c), a("worldQuaternion", l), a("worldQuaternionStart", h), a("cameraPosition", g), a("cameraQuaternion", d), a("pointStart", p), a("pointEnd", m), a("rotationAxis", I), a("rotationAngle", b), a("eye", B), this._offset = new P(), this._startNorm = new P(), this._endNorm = new P(), this._cameraScale = new P(), this._parentPosition = new P(), this._parentQuaternion = new Te(), this._parentQuaternionInv = new Te(), this._parentScale = new P(), this._worldScaleStart = new P(), this._worldQuaternionInv = new Te(), this._worldScale = new P(), this._positionStart = new P(), this._quaternionStart = new Te(), this._scaleStart = new P(), this._getPointer = ZA.bind(this), this._onPointerDown = ec.bind(this), this._onPointerHover = $A.bind(this), this._onPointerMove = tc.bind(this), this._onPointerUp = nc.bind(this), t !== null && this.connect();
3086
3102
  }
3087
3103
  connect() {
3088
3104
  this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointermove", this._onPointerHover), this.domElement.addEventListener("pointerup", this._onPointerUp), this.domElement.style.touchAction = "none";
@@ -3104,7 +3120,7 @@ class Eh extends Go {
3104
3120
  if (!(this.object === void 0 || this.dragging === !0 || e != null && e.button !== 0) && this.axis !== null) {
3105
3121
  e !== null && Xt.setFromCamera(e, this.camera);
3106
3122
  const t = Ms(this._plane, Xt, !0);
3107
- t && (this.object.updateMatrixWorld(), this.object.parent.updateMatrixWorld(), this._positionStart.copy(this.object.position), this._quaternionStart.copy(this.object.quaternion), this._scaleStart.copy(this.object.scale), this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart), this.pointStart.copy(t.point).sub(this.worldPositionStart)), this.dragging = !0, Hi.mode = this.mode, this.dispatchEvent(Hi);
3123
+ t && (this.object.updateMatrixWorld(), this.object.parent.updateMatrixWorld(), this._positionStart.copy(this.object.position), this._quaternionStart.copy(this.object.quaternion), this._scaleStart.copy(this.object.scale), this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart), this.pointStart.copy(t.point).sub(this.worldPositionStart)), this.dragging = !0, ji.mode = this.mode, this.dispatchEvent(ji);
3108
3124
  }
3109
3125
  }
3110
3126
  pointerMove(e) {
@@ -3128,13 +3144,13 @@ class Eh extends Go {
3128
3144
  this._offset.copy(this.pointEnd).sub(this.pointStart);
3129
3145
  const a = 20 / this.worldPosition.distanceTo(He.setFromMatrixPosition(this.camera.matrixWorld));
3130
3146
  let r = !1;
3131
- t === "XYZE" ? (this.rotationAxis.copy(this._offset).cross(this.eye).normalize(), this.rotationAngle = this._offset.dot(He.copy(this.rotationAxis).cross(this.eye)) * a) : (t === "X" || t === "Y" || t === "Z") && (this.rotationAxis.copy(Oi[t]), He.copy(Oi[t]), i === "local" && He.applyQuaternion(this.worldQuaternion), He.cross(this.eye), He.length() === 0 ? r = !0 : this.rotationAngle = this._offset.dot(He.normalize()) * a), (t === "E" || r) && (this.rotationAxis.copy(this.eye), this.rotationAngle = this.pointEnd.angleTo(this.pointStart), this._startNorm.copy(this.pointStart).normalize(), this._endNorm.copy(this.pointEnd).normalize(), this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1), this.rotationSnap && (this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap), i === "local" && t !== "E" && t !== "XYZE" ? (n.quaternion.copy(this._quaternionStart), n.quaternion.multiply(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize()) : (this.rotationAxis.applyQuaternion(this._parentQuaternionInv), n.quaternion.copy(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)), n.quaternion.multiply(this._quaternionStart).normalize());
3147
+ t === "XYZE" ? (this.rotationAxis.copy(this._offset).cross(this.eye).normalize(), this.rotationAngle = this._offset.dot(He.copy(this.rotationAxis).cross(this.eye)) * a) : (t === "X" || t === "Y" || t === "Z") && (this.rotationAxis.copy(Hi[t]), He.copy(Hi[t]), i === "local" && He.applyQuaternion(this.worldQuaternion), He.cross(this.eye), He.length() === 0 ? r = !0 : this.rotationAngle = this._offset.dot(He.normalize()) * a), (t === "E" || r) && (this.rotationAxis.copy(this.eye), this.rotationAngle = this.pointEnd.angleTo(this.pointStart), this._startNorm.copy(this.pointStart).normalize(), this._endNorm.copy(this.pointEnd).normalize(), this.rotationAngle *= this._endNorm.cross(this._startNorm).dot(this.eye) < 0 ? 1 : -1), this.rotationSnap && (this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap), i === "local" && t !== "E" && t !== "XYZE" ? (n.quaternion.copy(this._quaternionStart), n.quaternion.multiply(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize()) : (this.rotationAxis.applyQuaternion(this._parentQuaternionInv), n.quaternion.copy(we.setFromAxisAngle(this.rotationAxis, this.rotationAngle)), n.quaternion.multiply(this._quaternionStart).normalize());
3132
3148
  }
3133
- this.dispatchEvent(Ds), this.dispatchEvent(qi);
3149
+ this.dispatchEvent(Ds), this.dispatchEvent(zi);
3134
3150
  }
3135
3151
  }
3136
3152
  pointerUp(e) {
3137
- e !== null && e.button !== 0 || (this.dragging && this.axis !== null && (ji.mode = this.mode, this.dispatchEvent(ji)), this.dragging = !1, this.axis = null);
3153
+ e !== null && e.button !== 0 || (this.dragging && this.axis !== null && (qi.mode = this.mode, this.dispatchEvent(qi)), this.dragging = !1, this.axis = null);
3138
3154
  }
3139
3155
  dispose() {
3140
3156
  this.disconnect(), this.traverse(function(e) {
@@ -3150,7 +3166,7 @@ class Eh extends Go {
3150
3166
  return this.object = void 0, this.axis = null, this._root.visible = !1, this;
3151
3167
  }
3152
3168
  reset() {
3153
- this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(Ds), this.dispatchEvent(qi), this.pointStart.copy(this.pointEnd));
3169
+ this.enabled && this.dragging && (this.object.position.copy(this._positionStart), this.object.quaternion.copy(this._quaternionStart), this.object.scale.copy(this._scaleStart), this.dispatchEvent(Ds), this.dispatchEvent(zi), this.pointStart.copy(this.pointEnd));
3154
3170
  }
3155
3171
  getRaycaster() {
3156
3172
  return Xt;
@@ -3219,7 +3235,7 @@ function Ms(A, e, t) {
3219
3235
  return s[n];
3220
3236
  return !1;
3221
3237
  }
3222
- const Jn = new zt(), me = new P(0, 1, 0), zi = new P(0, 0, 0), Ki = new ue(), Vn = new Te(), as = new Te(), Et = new P(), Yi = new ue(), kn = new P(1, 0, 0), $t = new P(0, 1, 0), Fn = new P(0, 0, 1), Wn = new P(), Qn = new P(), xn = new P();
3238
+ const Jn = new zt(), me = new P(0, 1, 0), Ki = new P(0, 0, 0), Yi = new ue(), Vn = new Te(), as = new Te(), Et = new P(), Ji = new ue(), kn = new P(1, 0, 0), $t = new P(0, 1, 0), Fn = new P(0, 0, 1), Wn = new P(), Qn = new P(), xn = new P();
3223
3239
  class sc extends xt {
3224
3240
  constructor(e) {
3225
3241
  super(), this.isTransformControlsRoot = !0, this.controls = e, this.visible = !1;
@@ -3263,8 +3279,8 @@ class ic extends xt {
3263
3279
  l.color.setHex(255), l.opacity = 0.5;
3264
3280
  const h = e.clone();
3265
3281
  h.opacity = 0.25;
3266
- const d = e.clone();
3267
- d.color.setHex(16776960), d.opacity = 0.25, e.clone().color.setHex(16776960);
3282
+ const g = e.clone();
3283
+ g.color.setHex(16776960), g.opacity = 0.25, e.clone().color.setHex(16776960);
3268
3284
  const p = e.clone();
3269
3285
  p.color.setHex(7895160);
3270
3286
  const m = new Ke(0, 0.04, 0.1, 12);
@@ -3344,16 +3360,16 @@ class ic extends xt {
3344
3360
  [new z(new Yn(0.01, 2), n), null, null, null, "helper"]
3345
3361
  ],
3346
3362
  DELTA: [
3347
- [new gt(w(), n), null, null, null, "helper"]
3363
+ [new dt(w(), n), null, null, null, "helper"]
3348
3364
  ],
3349
3365
  X: [
3350
- [new gt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3366
+ [new dt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3351
3367
  ],
3352
3368
  Y: [
3353
- [new gt(b, n.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
3369
+ [new dt(b, n.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
3354
3370
  ],
3355
3371
  Z: [
3356
- [new gt(b, n.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
3372
+ [new dt(b, n.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
3357
3373
  ]
3358
3374
  }, x = {
3359
3375
  XYZE: [
@@ -3369,11 +3385,11 @@ class ic extends xt {
3369
3385
  [new z(E(0.5, 0.5), a), null, [0, Math.PI / 2, 0]]
3370
3386
  ],
3371
3387
  E: [
3372
- [new z(E(0.75, 1), d), null, [0, Math.PI / 2, 0]]
3388
+ [new z(E(0.75, 1), g), null, [0, Math.PI / 2, 0]]
3373
3389
  ]
3374
3390
  }, T = {
3375
3391
  AXIS: [
3376
- [new gt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3392
+ [new dt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3377
3393
  ]
3378
3394
  }, L = {
3379
3395
  XYZE: [
@@ -3446,21 +3462,21 @@ class ic extends xt {
3446
3462
  ]
3447
3463
  }, Z = {
3448
3464
  X: [
3449
- [new gt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3465
+ [new dt(b, n.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
3450
3466
  ],
3451
3467
  Y: [
3452
- [new gt(b, n.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
3468
+ [new dt(b, n.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
3453
3469
  ],
3454
3470
  Z: [
3455
- [new gt(b, n.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
3471
+ [new dt(b, n.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
3456
3472
  ]
3457
3473
  };
3458
3474
  function U(q) {
3459
3475
  const H = new xt();
3460
3476
  for (const K in q)
3461
3477
  for (let ee = q[K].length; ee--; ) {
3462
- const te = q[K][ee][0].clone(), se = q[K][ee][1], le = q[K][ee][2], re = q[K][ee][3], he = q[K][ee][4];
3463
- te.name = K, te.tag = he, se && te.position.set(se[0], se[1], se[2]), le && te.rotation.set(le[0], le[1], le[2]), re && te.scale.set(re[0], re[1], re[2]), te.updateMatrix();
3478
+ const te = q[K][ee][0].clone(), ie = q[K][ee][1], le = q[K][ee][2], re = q[K][ee][3], he = q[K][ee][4];
3479
+ te.name = K, te.tag = he, ie && te.position.set(ie[0], ie[1], ie[2]), le && te.rotation.set(le[0], le[1], le[2]), re && te.scale.set(re[0], re[1], re[2]), te.updateMatrix();
3464
3480
  const Qe = te.geometry.clone();
3465
3481
  Qe.applyMatrix4(te.matrix), te.geometry = Qe, te.renderOrder = 1 / 0, te.position.set(0, 0, 0), te.rotation.set(0, 0, 0), te.scale.set(1, 1, 1), H.add(te);
3466
3482
  }
@@ -3479,10 +3495,10 @@ class ic extends xt {
3479
3495
  o.visible = !0, o.rotation.set(0, 0, 0), o.position.copy(this.worldPosition);
3480
3496
  let a;
3481
3497
  if (this.camera.isOrthographicCamera ? a = (this.camera.top - this.camera.bottom) / this.camera.zoom : a = this.worldPosition.distanceTo(this.cameraPosition) * Math.min(1.9 * Math.tan(Math.PI * this.camera.fov / 360) / this.camera.zoom, 7), o.scale.set(1, 1, 1).multiplyScalar(a * this.size / 4), o.tag === "helper") {
3482
- o.visible = !1, o.name === "AXIS" ? (o.visible = !!this.axis, this.axis === "X" && (we.setFromEuler(Jn.set(0, 0, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Y" && (we.setFromEuler(Jn.set(0, 0, Math.PI / 2)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Z" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "XYZE" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), me.copy(this.rotationAxis), o.quaternion.setFromRotationMatrix(Ki.lookAt(zi, me, $t)), o.quaternion.multiply(we), o.visible = this.dragging), this.axis === "E" && (o.visible = !1)) : o.name === "START" ? (o.position.copy(this.worldPositionStart), o.visible = this.dragging) : o.name === "END" ? (o.position.copy(this.worldPosition), o.visible = this.dragging) : o.name === "DELTA" ? (o.position.copy(this.worldPositionStart), o.quaternion.copy(this.worldQuaternionStart), He.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), He.applyQuaternion(this.worldQuaternionStart.clone().invert()), o.scale.copy(He), o.visible = this.dragging) : (o.quaternion.copy(s), this.dragging ? o.position.copy(this.worldPositionStart) : o.position.copy(this.worldPosition), this.axis && (o.visible = this.axis.search(o.name) !== -1));
3498
+ o.visible = !1, o.name === "AXIS" ? (o.visible = !!this.axis, this.axis === "X" && (we.setFromEuler(Jn.set(0, 0, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Y" && (we.setFromEuler(Jn.set(0, 0, Math.PI / 2)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "Z" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), o.quaternion.copy(s).multiply(we), Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.9 && (o.visible = !1)), this.axis === "XYZE" && (we.setFromEuler(Jn.set(0, Math.PI / 2, 0)), me.copy(this.rotationAxis), o.quaternion.setFromRotationMatrix(Yi.lookAt(Ki, me, $t)), o.quaternion.multiply(we), o.visible = this.dragging), this.axis === "E" && (o.visible = !1)) : o.name === "START" ? (o.position.copy(this.worldPositionStart), o.visible = this.dragging) : o.name === "END" ? (o.position.copy(this.worldPosition), o.visible = this.dragging) : o.name === "DELTA" ? (o.position.copy(this.worldPositionStart), o.quaternion.copy(this.worldQuaternionStart), He.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), He.applyQuaternion(this.worldQuaternionStart.clone().invert()), o.scale.copy(He), o.visible = this.dragging) : (o.quaternion.copy(s), this.dragging ? o.position.copy(this.worldPositionStart) : o.position.copy(this.worldPosition), this.axis && (o.visible = this.axis.search(o.name) !== -1));
3483
3499
  continue;
3484
3500
  }
3485
- o.quaternion.copy(s), this.mode === "translate" || this.mode === "scale" ? (o.name === "X" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Y" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Z" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XY" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "YZ" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XZ" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1)) : this.mode === "rotate" && (Vn.copy(s), me.copy(this.eye).applyQuaternion(we.copy(s).invert()), o.name.search("E") !== -1 && o.quaternion.setFromRotationMatrix(Ki.lookAt(this.eye, zi, $t)), o.name === "X" && (we.setFromAxisAngle(kn, Math.atan2(-me.y, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Y" && (we.setFromAxisAngle($t, Math.atan2(me.x, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Z" && (we.setFromAxisAngle(Fn, Math.atan2(me.y, me.x)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we))), o.visible = o.visible && (o.name.indexOf("X") === -1 || this.showX), o.visible = o.visible && (o.name.indexOf("Y") === -1 || this.showY), o.visible = o.visible && (o.name.indexOf("Z") === -1 || this.showZ), o.visible = o.visible && (o.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), o.material._color = o.material._color || o.material.color.clone(), o.material._opacity = o.material._opacity || o.material.opacity, o.material.color.copy(o.material._color), o.material.opacity = o.material._opacity, this.enabled && this.axis && (o.name === this.axis || this.axis.split("").some(function(r) {
3501
+ o.quaternion.copy(s), this.mode === "translate" || this.mode === "scale" ? (o.name === "X" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Y" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "Z" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) > 0.99 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XY" && Math.abs(me.copy(Fn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "YZ" && Math.abs(me.copy(kn).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1), o.name === "XZ" && Math.abs(me.copy($t).applyQuaternion(s).dot(this.eye)) < 0.2 && (o.scale.set(1e-10, 1e-10, 1e-10), o.visible = !1)) : this.mode === "rotate" && (Vn.copy(s), me.copy(this.eye).applyQuaternion(we.copy(s).invert()), o.name.search("E") !== -1 && o.quaternion.setFromRotationMatrix(Yi.lookAt(this.eye, Ki, $t)), o.name === "X" && (we.setFromAxisAngle(kn, Math.atan2(-me.y, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Y" && (we.setFromAxisAngle($t, Math.atan2(me.x, me.z)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we)), o.name === "Z" && (we.setFromAxisAngle(Fn, Math.atan2(me.y, me.x)), we.multiplyQuaternions(Vn, we), o.quaternion.copy(we))), o.visible = o.visible && (o.name.indexOf("X") === -1 || this.showX), o.visible = o.visible && (o.name.indexOf("Y") === -1 || this.showY), o.visible = o.visible && (o.name.indexOf("Z") === -1 || this.showZ), o.visible = o.visible && (o.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), o.material._color = o.material._color || o.material.color.clone(), o.material._opacity = o.material._opacity || o.material.opacity, o.material.color.copy(o.material._color), o.material.opacity = o.material._opacity, this.enabled && this.axis && (o.name === this.axis || this.axis.split("").some(function(r) {
3486
3502
  return o.name === r;
3487
3503
  })) && (o.material.color.setHex(16776960), o.material.opacity = 1);
3488
3504
  }
@@ -3492,8 +3508,8 @@ class ic extends xt {
3492
3508
  class oc extends z {
3493
3509
  constructor() {
3494
3510
  super(
3495
- new Ii(1e5, 1e5, 2, 2),
3496
- new Qt({ visible: !1, wireframe: !0, side: ui, transparent: !0, opacity: 0.1, toneMapped: !1 })
3511
+ new bi(1e5, 1e5, 2, 2),
3512
+ new Qt({ visible: !1, wireframe: !0, side: gi, transparent: !0, opacity: 0.1, toneMapped: !1 })
3497
3513
  ), this.isTransformControlsPlane = !0, this.type = "TransformControlsPlane";
3498
3514
  }
3499
3515
  updateMatrixWorld(e) {
@@ -3530,7 +3546,7 @@ class oc extends z {
3530
3546
  default:
3531
3547
  Et.set(0, 0, 0);
3532
3548
  }
3533
- Et.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (Yi.lookAt(He.set(0, 0, 0), Et, me), this.quaternion.setFromRotationMatrix(Yi)), super.updateMatrixWorld(e);
3549
+ Et.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (Ji.lookAt(He.set(0, 0, 0), Et, me), this.quaternion.setFromRotationMatrix(Ji)), super.updateMatrixWorld(e);
3534
3550
  }
3535
3551
  }
3536
3552
  /*!
@@ -3539,7 +3555,7 @@ fflate - fast JavaScript compression/decompression
3539
3555
  Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
3540
3556
  version 0.8.2
3541
3557
  */
3542
- var Re = Uint8Array, it = Uint16Array, bi = Int32Array, ms = new Re([
3558
+ var Re = Uint8Array, it = Uint16Array, Ei = Int32Array, ms = new Re([
3543
3559
  0,
3544
3560
  0,
3545
3561
  0,
@@ -3611,13 +3627,13 @@ var Re = Uint8Array, it = Uint16Array, bi = Int32Array, ms = new Re([
3611
3627
  ]), si = new Re([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), la = function(A, e) {
3612
3628
  for (var t = new it(31), s = 0; s < 31; ++s)
3613
3629
  t[s] = e += 1 << A[s - 1];
3614
- for (var n = new bi(t[30]), s = 1; s < 30; ++s)
3630
+ for (var n = new Ei(t[30]), s = 1; s < 30; ++s)
3615
3631
  for (var i = t[s]; i < t[s + 1]; ++i)
3616
3632
  n[i] = i - t[s] << 5 | s;
3617
3633
  return { b: t, r: n };
3618
3634
  }, ha = la(ms, 2), ua = ha.b, ii = ha.r;
3619
3635
  ua[28] = 258, ii[258] = 28;
3620
- var da = la(Is, 0), ac = da.b, Ji = da.r, oi = new it(32768);
3636
+ var ga = la(Is, 0), ac = ga.b, Vi = ga.r, oi = new it(32768);
3621
3637
  for (var Be = 0; Be < 32768; ++Be) {
3622
3638
  var qt = (Be & 43690) >> 1 | (Be & 21845) << 1;
3623
3639
  qt = (qt & 52428) >> 2 | (qt & 13107) << 2, qt = (qt & 61680) >> 4 | (qt & 3855) << 4, oi[Be] = ((qt & 65280) >> 8 | (qt & 255) << 8) >> 1;
@@ -3634,7 +3650,7 @@ var Tt = function(A, e, t) {
3634
3650
  var r = 15 - e;
3635
3651
  for (n = 0; n < s; ++n)
3636
3652
  if (A[n])
3637
- for (var c = n << 4 | A[n], l = e - A[n], h = o[A[n] - 1]++ << l, d = h | (1 << l) - 1; h <= d; ++h)
3653
+ for (var c = n << 4 | A[n], l = e - A[n], h = o[A[n] - 1]++ << l, g = h | (1 << l) - 1; h <= g; ++h)
3638
3654
  a[oi[h] >> r] = c;
3639
3655
  } else
3640
3656
  for (a = new it(s), n = 0; n < s; ++n)
@@ -3656,15 +3672,15 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3656
3672
  for (var e = A[0], t = 1; t < A.length; ++t)
3657
3673
  A[t] > e && (e = A[t]);
3658
3674
  return e;
3659
- }, dt = function(A, e, t) {
3675
+ }, gt = function(A, e, t) {
3660
3676
  var s = e / 8 | 0;
3661
3677
  return (A[s] | A[s + 1] << 8) >> (e & 7) & t;
3662
3678
  }, Fs = function(A, e) {
3663
3679
  var t = e / 8 | 0;
3664
3680
  return (A[t] | A[t + 1] << 8 | A[t + 2] << 16) >> (e & 7);
3665
- }, Ei = function(A) {
3681
+ }, Ci = function(A) {
3666
3682
  return (A + 7) / 8 | 0;
3667
- }, Ci = function(A, e, t) {
3683
+ }, Bi = function(A, e, t) {
3668
3684
  return (e == null || e < 0) && (e = 0), (t == null || t > A.length) && (t = A.length), new Re(A.subarray(e, t));
3669
3685
  }, hc = [
3670
3686
  "unexpected EOF",
@@ -3699,43 +3715,43 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3699
3715
  var Rt = new Re(Math.max(Jt * 2, Gt));
3700
3716
  Rt.set(t), t = Rt;
3701
3717
  }
3702
- }, l = e.f || 0, h = e.p || 0, d = e.b || 0, g = e.l, p = e.d, m = e.m, I = e.n, b = n * 8;
3718
+ }, l = e.f || 0, h = e.p || 0, g = e.b || 0, d = e.l, p = e.d, m = e.m, I = e.n, b = n * 8;
3703
3719
  do {
3704
- if (!g) {
3705
- l = dt(A, h, 1);
3706
- var B = dt(A, h + 1, 3);
3720
+ if (!d) {
3721
+ l = gt(A, h, 1);
3722
+ var B = gt(A, h + 1, 3);
3707
3723
  if (h += 3, B)
3708
3724
  if (B == 1)
3709
- g = Ac, p = lc, m = 9, I = 5;
3725
+ d = Ac, p = lc, m = 9, I = 5;
3710
3726
  else if (B == 2) {
3711
- var R = dt(A, h, 31) + 257, _ = dt(A, h + 10, 15) + 4, x = R + dt(A, h + 5, 31) + 1;
3727
+ var R = gt(A, h, 31) + 257, _ = gt(A, h + 10, 15) + 4, x = R + gt(A, h + 5, 31) + 1;
3712
3728
  h += 14;
3713
3729
  for (var T = new Re(x), L = new Re(19), N = 0; N < _; ++N)
3714
- L[si[N]] = dt(A, h + N * 3, 7);
3730
+ L[si[N]] = gt(A, h + N * 3, 7);
3715
3731
  h += _ * 3;
3716
3732
  for (var O = ks(L), Z = (1 << O) - 1, U = Tt(L, O, 1), N = 0; N < x; ) {
3717
- var q = U[dt(A, h, Z)];
3733
+ var q = U[gt(A, h, Z)];
3718
3734
  h += q & 15;
3719
3735
  var E = q >> 4;
3720
3736
  if (E < 16)
3721
3737
  T[N++] = E;
3722
3738
  else {
3723
3739
  var H = 0, K = 0;
3724
- for (E == 16 ? (K = 3 + dt(A, h, 3), h += 2, H = T[N - 1]) : E == 17 ? (K = 3 + dt(A, h, 7), h += 3) : E == 18 && (K = 11 + dt(A, h, 127), h += 7); K--; )
3740
+ for (E == 16 ? (K = 3 + gt(A, h, 3), h += 2, H = T[N - 1]) : E == 17 ? (K = 3 + gt(A, h, 7), h += 3) : E == 18 && (K = 11 + gt(A, h, 127), h += 7); K--; )
3725
3741
  T[N++] = H;
3726
3742
  }
3727
3743
  }
3728
3744
  var ee = T.subarray(0, R), te = T.subarray(R);
3729
- m = ks(ee), I = ks(te), g = Tt(ee, m, 1), p = Tt(te, I, 1);
3745
+ m = ks(ee), I = ks(te), d = Tt(ee, m, 1), p = Tt(te, I, 1);
3730
3746
  } else
3731
3747
  Je(1);
3732
3748
  else {
3733
- var E = Ei(h) + 4, w = A[E - 4] | A[E - 3] << 8, Q = E + w;
3749
+ var E = Ci(h) + 4, w = A[E - 4] | A[E - 3] << 8, Q = E + w;
3734
3750
  if (Q > n) {
3735
3751
  r && Je(0);
3736
3752
  break;
3737
3753
  }
3738
- a && c(d + w), t.set(A.subarray(E, Q), d), e.b = d += w, e.p = h = Q * 8, e.f = l;
3754
+ a && c(g + w), t.set(A.subarray(E, Q), g), e.b = g += w, e.p = h = Q * 8, e.f = l;
3739
3755
  continue;
3740
3756
  }
3741
3757
  if (h > b) {
@@ -3743,23 +3759,23 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3743
3759
  break;
3744
3760
  }
3745
3761
  }
3746
- a && c(d + 131072);
3747
- for (var se = (1 << m) - 1, le = (1 << I) - 1, re = h; ; re = h) {
3748
- var H = g[Fs(A, h) & se], he = H >> 4;
3762
+ a && c(g + 131072);
3763
+ for (var ie = (1 << m) - 1, le = (1 << I) - 1, re = h; ; re = h) {
3764
+ var H = d[Fs(A, h) & ie], he = H >> 4;
3749
3765
  if (h += H & 15, h > b) {
3750
3766
  r && Je(0);
3751
3767
  break;
3752
3768
  }
3753
3769
  if (H || Je(2), he < 256)
3754
- t[d++] = he;
3770
+ t[g++] = he;
3755
3771
  else if (he == 256) {
3756
- re = h, g = null;
3772
+ re = h, d = null;
3757
3773
  break;
3758
3774
  } else {
3759
3775
  var Qe = he - 254;
3760
3776
  if (he > 264) {
3761
3777
  var N = he - 257, be = ms[N];
3762
- Qe = dt(A, h, (1 << be) - 1) + ua[N], h += be;
3778
+ Qe = gt(A, h, (1 << be) - 1) + ua[N], h += be;
3763
3779
  }
3764
3780
  var Ae = p[Fs(A, h) & le], Xe = Ae >> 4;
3765
3781
  Ae || Je(3), h += Ae & 15;
@@ -3772,20 +3788,20 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3772
3788
  r && Je(0);
3773
3789
  break;
3774
3790
  }
3775
- a && c(d + 131072);
3776
- var Ze = d + Qe;
3777
- if (d < te) {
3791
+ a && c(g + 131072);
3792
+ var Ze = g + Qe;
3793
+ if (g < te) {
3778
3794
  var rn = i - te, An = Math.min(te, Ze);
3779
- for (rn + d < 0 && Je(3); d < An; ++d)
3780
- t[d] = s[rn + d];
3795
+ for (rn + g < 0 && Je(3); g < An; ++g)
3796
+ t[g] = s[rn + g];
3781
3797
  }
3782
- for (; d < Ze; ++d)
3783
- t[d] = t[d - te];
3798
+ for (; g < Ze; ++g)
3799
+ t[g] = t[g - te];
3784
3800
  }
3785
3801
  }
3786
- e.l = g, e.p = re, e.b = d, e.f = l, g && (l = 1, e.m = m, e.d = p, e.n = I);
3802
+ e.l = d, e.p = re, e.b = g, e.f = l, d && (l = 1, e.m = m, e.d = p, e.n = I);
3787
3803
  } while (!l);
3788
- return d != t.length && o ? Ci(t, 0, d) : t.subarray(0, d);
3804
+ return g != t.length && o ? Bi(t, 0, g) : t.subarray(0, g);
3789
3805
  }, Dt = function(A, e, t) {
3790
3806
  t <<= e & 7;
3791
3807
  var s = e / 8 | 0;
@@ -3810,34 +3826,34 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3810
3826
  var a = t[0], r = t[1], c = 0, l = 1, h = 2;
3811
3827
  for (t[0] = { s: -1, f: a.f + r.f, l: a, r }; l != n - 1; )
3812
3828
  a = t[t[c].f < t[h].f ? c++ : h++], r = t[c != l && t[c].f < t[h].f ? c++ : h++], t[l++] = { s: -1, f: a.f + r.f, l: a, r };
3813
- for (var d = i[0].s, s = 1; s < n; ++s)
3814
- i[s].s > d && (d = i[s].s);
3815
- var g = new it(d + 1), p = ai(t[l - 1], g, 0);
3829
+ for (var g = i[0].s, s = 1; s < n; ++s)
3830
+ i[s].s > g && (g = i[s].s);
3831
+ var d = new it(g + 1), p = ai(t[l - 1], d, 0);
3816
3832
  if (p > e) {
3817
3833
  var s = 0, m = 0, I = p - e, b = 1 << I;
3818
3834
  for (i.sort(function(R, _) {
3819
- return g[_.s] - g[R.s] || R.f - _.f;
3835
+ return d[_.s] - d[R.s] || R.f - _.f;
3820
3836
  }); s < n; ++s) {
3821
3837
  var B = i[s].s;
3822
- if (g[B] > e)
3823
- m += b - (1 << p - g[B]), g[B] = e;
3838
+ if (d[B] > e)
3839
+ m += b - (1 << p - d[B]), d[B] = e;
3824
3840
  else
3825
3841
  break;
3826
3842
  }
3827
3843
  for (m >>= I; m > 0; ) {
3828
3844
  var E = i[s].s;
3829
- g[E] < e ? m -= 1 << e - g[E]++ - 1 : ++s;
3845
+ d[E] < e ? m -= 1 << e - d[E]++ - 1 : ++s;
3830
3846
  }
3831
3847
  for (; s >= 0 && m; --s) {
3832
3848
  var w = i[s].s;
3833
- g[w] == e && (--g[w], ++m);
3849
+ d[w] == e && (--d[w], ++m);
3834
3850
  }
3835
3851
  p = e;
3836
3852
  }
3837
- return { t: new Re(g), l: p };
3853
+ return { t: new Re(d), l: p };
3838
3854
  }, ai = function(A, e, t) {
3839
3855
  return A.s == -1 ? Math.max(ai(A.l, e, t + 1), ai(A.r, e, t + 1)) : e[A.s] = t;
3840
- }, Vi = function(A) {
3856
+ }, Wi = function(A) {
3841
3857
  for (var e = A.length; e && !A[--e]; )
3842
3858
  ;
3843
3859
  for (var t = new it(++e), s = 0, n = A[0], i = 1, o = function(r) {
@@ -3864,27 +3880,27 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3864
3880
  for (var t = 0, s = 0; s < e.length; ++s)
3865
3881
  t += A[s] * e[s];
3866
3882
  return t;
3867
- }, ga = function(A, e, t) {
3868
- var s = t.length, n = Ei(e + 2);
3883
+ }, da = function(A, e, t) {
3884
+ var s = t.length, n = Ci(e + 2);
3869
3885
  A[n] = s & 255, A[n + 1] = s >> 8, A[n + 2] = A[n] ^ 255, A[n + 3] = A[n + 1] ^ 255;
3870
3886
  for (var i = 0; i < s; ++i)
3871
3887
  A[n + i + 4] = t[i];
3872
3888
  return (n + 4 + s) * 8;
3873
- }, Wi = function(A, e, t, s, n, i, o, a, r, c, l) {
3889
+ }, Xi = function(A, e, t, s, n, i, o, a, r, c, l) {
3874
3890
  Dt(e, l++, t), ++n[256];
3875
- for (var h = Ls(n, 15), d = h.t, g = h.l, p = Ls(i, 15), m = p.t, I = p.l, b = Vi(d), B = b.c, E = b.n, w = Vi(m), Q = w.c, R = w.n, _ = new it(19), x = 0; x < B.length; ++x)
3891
+ for (var h = Ls(n, 15), g = h.t, d = h.l, p = Ls(i, 15), m = p.t, I = p.l, b = Wi(g), B = b.c, E = b.n, w = Wi(m), Q = w.c, R = w.n, _ = new it(19), x = 0; x < B.length; ++x)
3876
3892
  ++_[B[x] & 31];
3877
3893
  for (var x = 0; x < Q.length; ++x)
3878
3894
  ++_[Q[x] & 31];
3879
3895
  for (var T = Ls(_, 7), L = T.t, N = T.l, O = 19; O > 4 && !L[si[O - 1]]; --O)
3880
3896
  ;
3881
- var Z = c + 5 << 3, U = Tn(n, Yt) + Tn(i, On) + o, q = Tn(n, d) + Tn(i, m) + o + 14 + 3 * O + Tn(_, L) + 2 * _[16] + 3 * _[17] + 7 * _[18];
3897
+ var Z = c + 5 << 3, U = Tn(n, Yt) + Tn(i, On) + o, q = Tn(n, g) + Tn(i, m) + o + 14 + 3 * O + Tn(_, L) + 2 * _[16] + 3 * _[17] + 7 * _[18];
3882
3898
  if (r >= 0 && Z <= U && Z <= q)
3883
- return ga(e, l, A.subarray(r, r + c));
3899
+ return da(e, l, A.subarray(r, r + c));
3884
3900
  var H, K, ee, te;
3885
3901
  if (Dt(e, l, 1 + (q < U)), l += 2, q < U) {
3886
- H = Tt(d, g, 0), K = d, ee = Tt(m, I, 0), te = m;
3887
- var se = Tt(L, N, 0);
3902
+ H = Tt(g, d, 0), K = g, ee = Tt(m, I, 0), te = m;
3903
+ var ie = Tt(L, N, 0);
3888
3904
  Dt(e, l, E - 257), Dt(e, l + 5, R - 1), Dt(e, l + 10, O - 4), l += 14;
3889
3905
  for (var x = 0; x < O; ++x)
3890
3906
  Dt(e, l + 3 * x, L[si[x]]);
@@ -3892,7 +3908,7 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3892
3908
  for (var le = [B, Q], re = 0; re < 2; ++re)
3893
3909
  for (var he = le[re], x = 0; x < he.length; ++x) {
3894
3910
  var Qe = he[x] & 31;
3895
- Dt(e, l, se[Qe]), l += L[Qe], Qe > 15 && (Dt(e, l, he[x] >> 5 & 127), l += he[x] >> 12);
3911
+ Dt(e, l, ie[Qe]), l += L[Qe], Qe > 15 && (Dt(e, l, he[x] >> 5 & 127), l += he[x] >> 12);
3896
3912
  }
3897
3913
  } else
3898
3914
  H = rc, K = Yt, ee = cc, te = On;
@@ -3907,26 +3923,26 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3907
3923
  Sn(e, l, H[be]), l += K[be];
3908
3924
  }
3909
3925
  return Sn(e, l, H[256]), l + K[256];
3910
- }, dc = /* @__PURE__ */ new bi([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), pa = /* @__PURE__ */ new Re(0), gc = function(A, e, t, s, n, i) {
3926
+ }, gc = /* @__PURE__ */ new Ei([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), pa = /* @__PURE__ */ new Re(0), dc = function(A, e, t, s, n, i) {
3911
3927
  var o = i.z || A.length, a = new Re(s + o + 5 * (1 + Math.ceil(o / 7e3)) + n), r = a.subarray(s, a.length - n), c = i.l, l = (i.r || 0) & 7;
3912
3928
  if (e) {
3913
3929
  l && (r[0] = i.r >> 3);
3914
- for (var h = dc[e - 1], d = h >> 13, g = h & 8191, p = (1 << t) - 1, m = i.p || new it(32768), I = i.h || new it(p + 1), b = Math.ceil(t / 3), B = 2 * b, E = function(cn) {
3930
+ for (var h = gc[e - 1], g = h >> 13, d = h & 8191, p = (1 << t) - 1, m = i.p || new it(32768), I = i.h || new it(p + 1), b = Math.ceil(t / 3), B = 2 * b, E = function(cn) {
3915
3931
  return (A[cn] ^ A[cn + 1] << b ^ A[cn + 2] << B) & p;
3916
- }, w = new bi(25e3), Q = new it(288), R = new it(32), _ = 0, x = 0, T = i.i || 0, L = 0, N = i.w || 0, O = 0; T + 2 < o; ++T) {
3932
+ }, w = new Ei(25e3), Q = new it(288), R = new it(32), _ = 0, x = 0, T = i.i || 0, L = 0, N = i.w || 0, O = 0; T + 2 < o; ++T) {
3917
3933
  var Z = E(T), U = T & 32767, q = I[Z];
3918
3934
  if (m[U] = q, I[Z] = U, N <= T) {
3919
3935
  var H = o - T;
3920
3936
  if ((_ > 7e3 || L > 24576) && (H > 423 || !c)) {
3921
- l = Wi(A, r, 0, w, Q, R, x, L, O, T - O, l), L = _ = x = 0, O = T;
3937
+ l = Xi(A, r, 0, w, Q, R, x, L, O, T - O, l), L = _ = x = 0, O = T;
3922
3938
  for (var K = 0; K < 286; ++K)
3923
3939
  Q[K] = 0;
3924
3940
  for (var K = 0; K < 30; ++K)
3925
3941
  R[K] = 0;
3926
3942
  }
3927
- var ee = 2, te = 0, se = g, le = U - q & 32767;
3943
+ var ee = 2, te = 0, ie = d, le = U - q & 32767;
3928
3944
  if (H > 2 && Z == E(T - le))
3929
- for (var re = Math.min(d, H) - 1, he = Math.min(32767, T), Qe = Math.min(258, H); le <= he && --se && U != q; ) {
3945
+ for (var re = Math.min(g, H) - 1, he = Math.min(32767, T), Qe = Math.min(258, H); le <= he && --ie && U != q; ) {
3930
3946
  if (A[T + ee] == A[T + ee - le]) {
3931
3947
  for (var be = 0; be < Qe && A[T + be] == A[T + be - le]; ++be)
3932
3948
  ;
@@ -3942,8 +3958,8 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3942
3958
  U = q, q = m[U], le += U - q & 32767;
3943
3959
  }
3944
3960
  if (te) {
3945
- w[L++] = 268435456 | ii[ee] << 18 | Ji[te];
3946
- var Gt = ii[ee] & 31, Jt = Ji[te] & 31;
3961
+ w[L++] = 268435456 | ii[ee] << 18 | Vi[te];
3962
+ var Gt = ii[ee] & 31, Jt = Vi[te] & 31;
3947
3963
  x += ms[Gt] + Is[Jt], ++Q[257 + Gt], ++R[Jt], N = T + ee, ++_;
3948
3964
  } else
3949
3965
  w[L++] = A[T], ++Q[A[T]];
@@ -3951,15 +3967,15 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3951
3967
  }
3952
3968
  for (T = Math.max(T, N); T < o; ++T)
3953
3969
  w[L++] = A[T], ++Q[A[T]];
3954
- l = Wi(A, r, c, w, Q, R, x, L, O, T - O, l), c || (i.r = l & 7 | r[l / 8 | 0] << 3, l -= 7, i.h = I, i.p = m, i.i = T, i.w = N);
3970
+ l = Xi(A, r, c, w, Q, R, x, L, O, T - O, l), c || (i.r = l & 7 | r[l / 8 | 0] << 3, l -= 7, i.h = I, i.p = m, i.i = T, i.w = N);
3955
3971
  } else {
3956
3972
  for (var T = i.w || 0; T < o + c; T += 65535) {
3957
3973
  var Rt = T + 65535;
3958
- Rt >= o && (r[l / 8 | 0] = c, Rt = o), l = ga(r, l + 1, A.subarray(T, Rt));
3974
+ Rt >= o && (r[l / 8 | 0] = c, Rt = o), l = da(r, l + 1, A.subarray(T, Rt));
3959
3975
  }
3960
3976
  i.i = o;
3961
3977
  }
3962
- return Ci(a, 0, s + Ei(l) + n);
3978
+ return Bi(a, 0, s + Ci(l) + n);
3963
3979
  }, pc = /* @__PURE__ */ function() {
3964
3980
  for (var A = new Int32Array(256), e = 0; e < 256; ++e) {
3965
3981
  for (var t = e, s = 9; --s; )
@@ -3984,7 +4000,7 @@ var rc = /* @__PURE__ */ Tt(Yt, 9, 0), Ac = /* @__PURE__ */ Tt(Yt, 9, 1), cc = /
3984
4000
  var i = e.dictionary.subarray(-32768), o = new Re(i.length + A.length);
3985
4001
  o.set(i), o.set(A, i.length), A = o, n.w = i.length;
3986
4002
  }
3987
- return gc(A, e.level == null ? 6 : e.level, e.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(A.length))) * 1.5) : 20 : 12 + e.mem, t, s, n);
4003
+ return dc(A, e.level == null ? 6 : e.level, e.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(A.length))) * 1.5) : 20 : 12 + e.mem, t, s, n);
3988
4004
  }, fa = function(A, e) {
3989
4005
  var t = {};
3990
4006
  for (var s in A)
@@ -4009,19 +4025,19 @@ var ma = function(A, e, t, s) {
4009
4025
  var i = A[n], o = e + n, a = s;
4010
4026
  Array.isArray(i) && (a = fa(s, i[1]), i = i[0]), i instanceof Re ? t[o] = [i, a] : (t[o += "/"] = [new Re(0), a], ma(i, o, t, s));
4011
4027
  }
4012
- }, Xi = typeof TextEncoder < "u" && /* @__PURE__ */ new TextEncoder(), Ec = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Cc = 0;
4028
+ }, Zi = typeof TextEncoder < "u" && /* @__PURE__ */ new TextEncoder(), Ec = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Cc = 0;
4013
4029
  try {
4014
4030
  Ec.decode(pa, { stream: !0 }), Cc = 1;
4015
4031
  } catch {
4016
4032
  }
4017
- function Zi(A, e) {
4033
+ function $i(A, e) {
4018
4034
  if (e) {
4019
4035
  for (var t = new Re(A.length), s = 0; s < A.length; ++s)
4020
4036
  t[s] = A.charCodeAt(s);
4021
4037
  return t;
4022
4038
  }
4023
- if (Xi)
4024
- return Xi.encode(A);
4039
+ if (Zi)
4040
+ return Zi.encode(A);
4025
4041
  for (var n = A.length, i = new Re(A.length + (A.length >> 1)), o = 0, a = function(l) {
4026
4042
  i[o++] = l;
4027
4043
  }, s = 0; s < n; ++s) {
@@ -4032,7 +4048,7 @@ function Zi(A, e) {
4032
4048
  var c = A.charCodeAt(s);
4033
4049
  c < 128 || e ? a(c) : c < 2048 ? (a(192 | c >> 6), a(128 | c & 63)) : c > 55295 && c < 57344 ? (c = 65536 + (c & 1047552) | A.charCodeAt(++s) & 1023, a(240 | c >> 18), a(128 | c >> 12 & 63), a(128 | c >> 6 & 63), a(128 | c & 63)) : (a(224 | c >> 12), a(128 | c >> 6 & 63), a(128 | c & 63));
4034
4050
  }
4035
- return Ci(i, 0, o);
4051
+ return Bi(i, 0, o);
4036
4052
  }
4037
4053
  var ri = function(A) {
4038
4054
  var e = 0;
@@ -4042,11 +4058,11 @@ var ri = function(A) {
4042
4058
  s > 65535 && Je(9), e += s + 4;
4043
4059
  }
4044
4060
  return e;
4045
- }, $i = function(A, e, t, s, n, i, o, a) {
4061
+ }, eo = function(A, e, t, s, n, i, o, a) {
4046
4062
  var r = s.length, c = t.extra, l = a && a.length, h = ri(c);
4047
4063
  Ge(A, e, o != null ? 33639248 : 67324752), e += 4, o != null && (A[e++] = 20, A[e++] = t.os), A[e] = 20, e += 2, A[e++] = t.flag << 1 | (i < 0 && 8), A[e++] = n && 8, A[e++] = t.compression & 255, A[e++] = t.compression >> 8;
4048
- var d = new Date(t.mtime == null ? Date.now() : t.mtime), g = d.getFullYear() - 1980;
4049
- if ((g < 0 || g > 119) && Je(10), Ge(A, e, g << 25 | d.getMonth() + 1 << 21 | d.getDate() << 16 | d.getHours() << 11 | d.getMinutes() << 5 | d.getSeconds() >> 1), e += 4, i != -1 && (Ge(A, e, t.crc), Ge(A, e + 4, i < 0 ? -i - 2 : i), Ge(A, e + 8, t.size)), Ge(A, e + 12, r), Ge(A, e + 14, h), e += 16, o != null && (Ge(A, e, l), Ge(A, e + 6, t.attrs), Ge(A, e + 10, o), e += 14), A.set(s, e), e += r, h)
4064
+ var g = new Date(t.mtime == null ? Date.now() : t.mtime), d = g.getFullYear() - 1980;
4065
+ if ((d < 0 || d > 119) && Je(10), Ge(A, e, d << 25 | g.getMonth() + 1 << 21 | g.getDate() << 16 | g.getHours() << 11 | g.getMinutes() << 5 | g.getSeconds() >> 1), e += 4, i != -1 && (Ge(A, e, t.crc), Ge(A, e + 4, i < 0 ? -i - 2 : i), Ge(A, e + 8, t.size)), Ge(A, e + 12, r), Ge(A, e + 14, h), e += 16, o != null && (Ge(A, e, l), Ge(A, e + 6, t.attrs), Ge(A, e + 10, o), e += 14), A.set(s, e), e += r, h)
4050
4066
  for (var p in c) {
4051
4067
  var m = c[p], I = m.length;
4052
4068
  Ge(A, e, +p), Ge(A, e + 2, I), A.set(m, e + 4), e += 4 + I;
@@ -4061,8 +4077,8 @@ function Ch(A, e) {
4061
4077
  ma(A, "", t, e);
4062
4078
  var n = 0, i = 0;
4063
4079
  for (var o in t) {
4064
- var a = t[o], r = a[0], c = a[1], l = c.level == 0 ? 0 : 8, h = Zi(o), d = h.length, g = c.comment, p = g && Zi(g), m = p && p.length, I = ri(c.extra);
4065
- d > 65535 && Je(11);
4080
+ var a = t[o], r = a[0], c = a[1], l = c.level == 0 ? 0 : 8, h = $i(o), g = h.length, d = c.comment, p = d && $i(d), m = p && p.length, I = ri(c.extra);
4081
+ g > 65535 && Je(11);
4066
4082
  var b = l ? bc(r, c) : r, B = b.length, E = fc();
4067
4083
  E.p(r), s.push(fa(c, {
4068
4084
  size: r.length,
@@ -4070,16 +4086,16 @@ function Ch(A, e) {
4070
4086
  c: b,
4071
4087
  f: h,
4072
4088
  m: p,
4073
- u: d != o.length || p && g.length != m,
4089
+ u: g != o.length || p && d.length != m,
4074
4090
  o: n,
4075
4091
  compression: l
4076
- })), n += 30 + d + I + B, i += 76 + 2 * (d + I) + (m || 0) + B;
4092
+ })), n += 30 + g + I + B, i += 76 + 2 * (g + I) + (m || 0) + B;
4077
4093
  }
4078
4094
  for (var w = new Re(i + 22), Q = n, R = i - n, _ = 0; _ < s.length; ++_) {
4079
4095
  var h = s[_];
4080
- $i(w, h.o, h, h.f, h.u, h.c.length);
4096
+ eo(w, h.o, h, h.f, h.u, h.c.length);
4081
4097
  var x = 30 + h.f.length + ri(h.extra);
4082
- w.set(h.c, h.o + x), $i(w, n, h, h.f, h.u, h.c.length, h.o, h.m), n += 16 + x + (h.m ? h.m.length : 0);
4098
+ w.set(h.c, h.o + x), eo(w, n, h, h.f, h.u, h.c.length, h.o, h.m), n += 16 + x + (h.m ? h.m.length : 0);
4083
4099
  }
4084
4100
  return Bc(w, n, s.length, R, Q), w;
4085
4101
  }
@@ -4105,7 +4121,7 @@ class wc extends Po {
4105
4121
  const O = { l: 0, c: 0, lc: 0 };
4106
4122
  function Z(u, f, C, y, v) {
4107
4123
  for (; C < u; )
4108
- f = f << 8 | Qi(y, v), C += 8;
4124
+ f = f << 8 | xi(y, v), C += 8;
4109
4125
  C -= u, O.l = f >> C & (1 << u) - 1, O.c = f, O.lc = C;
4110
4126
  }
4111
4127
  const U = new Array(59);
@@ -4188,14 +4204,14 @@ class wc extends Po {
4188
4204
  }
4189
4205
  return !0;
4190
4206
  }
4191
- const se = { c: 0, lc: 0 };
4207
+ const ie = { c: 0, lc: 0 };
4192
4208
  function le(u, f, C, y) {
4193
- u = u << 8 | Qi(C, y), f += 8, se.c = u, se.lc = f;
4209
+ u = u << 8 | xi(C, y), f += 8, ie.c = u, ie.lc = f;
4194
4210
  }
4195
4211
  const re = { c: 0, lc: 0 };
4196
4212
  function he(u, f, C, y, v, S, k, G, F) {
4197
4213
  if (u == f) {
4198
- y < 8 && (le(C, y, v, S), C = se.c, y = se.lc), y -= 8;
4214
+ y < 8 && (le(C, y, v, S), C = ie.c, y = ie.lc), y -= 8;
4199
4215
  let M = C >> y;
4200
4216
  if (M = new Uint8Array([M])[0], G.value + M > F)
4201
4217
  return !1;
@@ -4261,7 +4277,7 @@ class wc extends Po {
4261
4277
  let M = 0, D = 0;
4262
4278
  const j = k, W = Math.trunc(y.value + (v + 7) / 8);
4263
4279
  for (; y.value < W; )
4264
- for (le(M, D, C, y), M = se.c, D = se.lc; D >= 14; ) {
4280
+ for (le(M, D, C, y), M = ie.c, D = ie.lc; D >= 14; ) {
4265
4281
  const $ = M >> D - 14 & 16383, J = f[$];
4266
4282
  if (J.len)
4267
4283
  D -= J.len, he(J.lit, S, M, D, C, y, G, F, j), M = re.c, D = re.lc;
@@ -4272,7 +4288,7 @@ class wc extends Po {
4272
4288
  for (X = 0; X < J.lit; X++) {
4273
4289
  const ne = K(u[J.p[X]]);
4274
4290
  for (; D < ne && y.value < W; )
4275
- le(M, D, C, y), M = se.c, D = se.lc;
4291
+ le(M, D, C, y), M = ie.c, D = ie.lc;
4276
4292
  if (D >= ne && ee(u[J.p[X]]) == (M >> D - ne & (1 << ne) - 1)) {
4277
4293
  D -= ne, he(J.p[X], S, M, D, C, y, G, F, j), M = re.c, D = re.lc;
4278
4294
  break;
@@ -4321,7 +4337,7 @@ class wc extends Po {
4321
4337
  for (; !(v > S || (f[v++] = u[C++], v > S)); )
4322
4338
  f[v++] = u[y++];
4323
4339
  }
4324
- function wi(u) {
4340
+ function yi(u) {
4325
4341
  let f = u.byteLength;
4326
4342
  const C = new Array();
4327
4343
  let y = 0;
@@ -4352,29 +4368,29 @@ class wc extends Po {
4352
4368
  let De = 8;
4353
4369
  ce == W - 1 && (De = $);
4354
4370
  let At = 8;
4355
- for (let ge = 0; ge < j; ++ge) {
4356
- ge == j - 1 && (At = Y);
4371
+ for (let de = 0; de < j; ++de) {
4372
+ de == j - 1 && (At = Y);
4357
4373
  for (let Ie = 0; Ie < M; ++Ie)
4358
4374
  pe[Ie].fill(0), pe[Ie][0] = v[X[Ie]++], va(J, y, pe[Ie]), Ra(pe[Ie], ne[Ie]), _a(ne[Ie]);
4359
4375
  Da(ne);
4360
4376
  for (let Ie = 0; Ie < M; ++Ie)
4361
- Ma(ne[Ie], xe[Ie], ge * 64);
4377
+ Ma(ne[Ie], xe[Ie], de * 64);
4362
4378
  }
4363
4379
  let Fe = 0;
4364
- for (let ge = 0; ge < M; ++ge) {
4365
- const Ie = C[u.idx[ge]].type;
4380
+ for (let de = 0; de < M; ++de) {
4381
+ const Ie = C[u.idx[de]].type;
4366
4382
  for (let _t = 8 * ce; _t < 8 * ce + De; ++_t) {
4367
- Fe = et[ge][_t];
4383
+ Fe = et[de][_t];
4368
4384
  for (let En = 0; En < D; ++En) {
4369
4385
  const bt = En * 64 + (_t & 7) * 8;
4370
- k.setUint16(Fe + 0 * 2 * Ie, xe[ge][bt + 0], !0), k.setUint16(Fe + 1 * 2 * Ie, xe[ge][bt + 1], !0), k.setUint16(Fe + 2 * 2 * Ie, xe[ge][bt + 2], !0), k.setUint16(Fe + 3 * 2 * Ie, xe[ge][bt + 3], !0), k.setUint16(Fe + 4 * 2 * Ie, xe[ge][bt + 4], !0), k.setUint16(Fe + 5 * 2 * Ie, xe[ge][bt + 5], !0), k.setUint16(Fe + 6 * 2 * Ie, xe[ge][bt + 6], !0), k.setUint16(Fe + 7 * 2 * Ie, xe[ge][bt + 7], !0), Fe += 8 * 2 * Ie;
4386
+ k.setUint16(Fe + 0 * 2 * Ie, xe[de][bt + 0], !0), k.setUint16(Fe + 1 * 2 * Ie, xe[de][bt + 1], !0), k.setUint16(Fe + 2 * 2 * Ie, xe[de][bt + 2], !0), k.setUint16(Fe + 3 * 2 * Ie, xe[de][bt + 3], !0), k.setUint16(Fe + 4 * 2 * Ie, xe[de][bt + 4], !0), k.setUint16(Fe + 5 * 2 * Ie, xe[de][bt + 5], !0), k.setUint16(Fe + 6 * 2 * Ie, xe[de][bt + 6], !0), k.setUint16(Fe + 7 * 2 * Ie, xe[de][bt + 7], !0), Fe += 8 * 2 * Ie;
4371
4387
  }
4372
4388
  }
4373
4389
  if (D != j)
4374
4390
  for (let _t = 8 * ce; _t < 8 * ce + De; ++_t) {
4375
- const En = et[ge][_t] + 8 * D * 2 * Ie, bt = D * 64 + (_t & 7) * 8;
4391
+ const En = et[de][_t] + 8 * D * 2 * Ie, bt = D * 64 + (_t & 7) * 8;
4376
4392
  for (let zn = 0; zn < At; ++zn)
4377
- k.setUint16(En + zn * 2 * Ie, xe[ge][bt + zn], !0);
4393
+ k.setUint16(En + zn * 2 * Ie, xe[de][bt + zn], !0);
4378
4394
  }
4379
4395
  }
4380
4396
  }
@@ -4386,10 +4402,10 @@ class wc extends Po {
4386
4402
  if (C[ce].type == 2)
4387
4403
  for (let At = 0; At < F; ++At) {
4388
4404
  const Fe = et[ce][At];
4389
- for (let ge = 0; ge < G; ++ge)
4390
- Ee[ge] = k.getUint16(Fe + ge * 2 * De, !0);
4391
- for (let ge = 0; ge < G; ++ge)
4392
- k.setFloat32(Fe + ge * 2 * De, V(Ee[ge]), !0);
4405
+ for (let de = 0; de < G; ++de)
4406
+ Ee[de] = k.getUint16(Fe + de * 2 * De, !0);
4407
+ for (let de = 0; de < G; ++de)
4408
+ k.setFloat32(Fe + de * 2 * De, V(Ee[de]), !0);
4393
4409
  }
4394
4410
  }
4395
4411
  }
@@ -4427,7 +4443,7 @@ class wc extends Po {
4427
4443
  return new DataView(u.array.buffer, u.offset.value, u.size);
4428
4444
  }
4429
4445
  function Fa(u) {
4430
- const f = u.viewer.buffer.slice(u.offset.value, u.offset.value + u.size), C = new Uint8Array(wi(f)), y = new Uint8Array(C.length);
4446
+ const f = u.viewer.buffer.slice(u.offset.value, u.offset.value + u.size), C = new Uint8Array(yi(f)), y = new Uint8Array(C.length);
4431
4447
  return Rt(C), cn(C, y), new DataView(y.buffer);
4432
4448
  }
4433
4449
  function Es(u) {
@@ -4497,7 +4513,7 @@ class wc extends Po {
4497
4513
  }
4498
4514
  return S;
4499
4515
  }
4500
- function yi(u) {
4516
+ function Qi(u) {
4501
4517
  const f = u.viewer, C = { value: u.offset.value }, y = new Uint8Array(u.columns * u.lines * (u.inputChannels.length * u.type * 2)), v = {
4502
4518
  version: $e(f, C),
4503
4519
  unknownUncompressedSize: $e(f, C),
@@ -4560,7 +4576,7 @@ class wc extends Po {
4560
4576
  }
4561
4577
  if (v.rleRawSize > 0) {
4562
4578
  const J = u.array.slice(C.value, C.value + v.rleCompressedSize), X = Ln(J);
4563
- W = wi(X.buffer), C.value += v.rleCompressedSize;
4579
+ W = yi(X.buffer), C.value += v.rleCompressedSize;
4564
4580
  }
4565
4581
  let Y = 0;
4566
4582
  const $ = new Array(F.length);
@@ -4625,7 +4641,7 @@ class wc extends Po {
4625
4641
  const C = u.getUint32(f.value, !0);
4626
4642
  return f.value = f.value + 4, C;
4627
4643
  }
4628
- function Qi(u, f) {
4644
+ function xi(u, f) {
4629
4645
  const C = u[f.value];
4630
4646
  return f.value = f.value + 1, C;
4631
4647
  }
@@ -4784,7 +4800,7 @@ class wc extends Po {
4784
4800
  }
4785
4801
  return y;
4786
4802
  }
4787
- function xi(u, f, C, y) {
4803
+ function Si(u, f, C, y) {
4788
4804
  const v = new Array(u);
4789
4805
  for (let S = 0; S < u; S++) {
4790
4806
  const k = 1 << S;
@@ -4911,10 +4927,10 @@ class wc extends Po {
4911
4927
  S.blockHeight = 16, S.uncompress = Na;
4912
4928
  break;
4913
4929
  case "DWAA_COMPRESSION":
4914
- S.blockHeight = 32, S.uncompress = yi;
4930
+ S.blockHeight = 32, S.uncompress = Qi;
4915
4931
  break;
4916
4932
  case "DWAB_COMPRESSION":
4917
- S.blockHeight = 256, S.uncompress = yi;
4933
+ S.blockHeight = 256, S.uncompress = Qi;
4918
4934
  break;
4919
4935
  default:
4920
4936
  throw new Error("EXRLoader.parse: " + u.compression + " is unsupported");
@@ -4971,9 +4987,9 @@ class wc extends Po {
4971
4987
  let M = 0;
4972
4988
  for (const D of u.channels)
4973
4989
  S.decodeChannels[D.name] !== void 0 && (S.channelByteOffsets[D.name] = M), M += D.pixelType * 2;
4974
- if (S.totalBytes = M, S.outLineWidth = S.width * S.outputChannels, u.lineOrder === "INCREASING_Y" ? S.scanOrder = (D) => D : S.scanOrder = (D) => S.height - 1 - D, S.outputChannels == 4 ? (S.format = Kt, S.colorSpace = We) : (S.format = gn, S.colorSpace = ds), u.spec.singleTile) {
4990
+ if (S.totalBytes = M, S.outLineWidth = S.width * S.outputChannels, u.lineOrder === "INCREASING_Y" ? S.scanOrder = (D) => D : S.scanOrder = (D) => S.height - 1 - D, S.outputChannels == 4 ? (S.format = Kt, S.colorSpace = We) : (S.format = dn, S.colorSpace = gs), u.spec.singleTile) {
4975
4991
  S.blockHeight = u.tiles.ySize, S.blockWidth = u.tiles.xSize;
4976
- const D = er(u.tiles, S.width, S.height), j = xi(D, S.width, u.tiles.xSize, u.tiles.roundingMode), W = xi(D, S.height, u.tiles.ySize, u.tiles.roundingMode);
4992
+ const D = er(u.tiles, S.width, S.height), j = Si(D, S.width, u.tiles.xSize, u.tiles.roundingMode), W = Si(D, S.height, u.tiles.ySize, u.tiles.roundingMode);
4977
4993
  S.tileCount = j[0] * W[0];
4978
4994
  for (let Y = 0; Y < D; Y++)
4979
4995
  for (let $ = 0; $ < W[Y]; $++)
@@ -4989,7 +5005,7 @@ class wc extends Po {
4989
5005
  }
4990
5006
  return S;
4991
5007
  }
4992
- const Si = { value: 0 }, Ti = new DataView(e), or = new Uint8Array(e), Vt = sr(Ti, e, Si), ln = ir(Vt, Ti, or, Si, this.type);
5008
+ const Ti = { value: 0 }, vi = new DataView(e), or = new Uint8Array(e), Vt = sr(vi, e, Ti), ln = ir(Vt, vi, or, Ti, this.type);
4993
5009
  return ln.decode(), {
4994
5010
  header: Vt,
4995
5011
  width: ln.width,
@@ -5039,7 +5055,7 @@ class yc extends Po {
5039
5055
  for (; 0 > (Z = H.indexOf(l)) && U < T && O < x.byteLength; )
5040
5056
  q += H, U += H.length, O += 128, H += String.fromCharCode.apply(null, new Uint16Array(x.subarray(O, O + 128)));
5041
5057
  return -1 < Z ? (L !== !1 && (x.pos += U + Z + 1), q + H.slice(0, Z)) : !1;
5042
- }, d = function(x) {
5058
+ }, g = function(x) {
5043
5059
  const T = /^#\?(\S+)/, L = /^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/, N = /^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/, O = /^\s*FORMAT=(\S+)\s*$/, Z = /^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/, U = {
5044
5060
  valid: 0,
5045
5061
  /* indicate which fields are valid */
@@ -5072,7 +5088,7 @@ class yc extends Po {
5072
5088
  break;
5073
5089
  }
5074
5090
  return U.valid & 2 || o(3, "missing format specifier"), U.valid & 4 || o(3, "missing image size specifier"), U;
5075
- }, g = function(x, T, L) {
5091
+ }, d = function(x, T, L) {
5076
5092
  const N = T;
5077
5093
  if (
5078
5094
  // run length encoding is not allowed so read flat
@@ -5088,16 +5104,16 @@ class yc extends Po {
5088
5104
  let ee = L;
5089
5105
  for (; ee > 0 && U < x.byteLength; ) {
5090
5106
  U + 4 > x.byteLength && o(1), H[0] = x[U++], H[1] = x[U++], H[2] = x[U++], H[3] = x[U++], (H[0] != 2 || H[1] != 2 || (H[2] << 8 | H[3]) != N) && o(3, "bad rgbe scanline format");
5091
- let te = 0, se;
5107
+ let te = 0, ie;
5092
5108
  for (; te < q && U < x.byteLength; ) {
5093
- se = x[U++];
5094
- const re = se > 128;
5095
- if (re && (se -= 128), (se === 0 || te + se > q) && o(3, "bad scanline data"), re) {
5109
+ ie = x[U++];
5110
+ const re = ie > 128;
5111
+ if (re && (ie -= 128), (ie === 0 || te + ie > q) && o(3, "bad scanline data"), re) {
5096
5112
  const he = x[U++];
5097
- for (let Qe = 0; Qe < se; Qe++)
5113
+ for (let Qe = 0; Qe < ie; Qe++)
5098
5114
  K[te++] = he;
5099
5115
  } else
5100
- K.set(x.subarray(U, U + se), te), te += se, U += se;
5116
+ K.set(x.subarray(U, U + ie), te), te += ie, U += ie;
5101
5117
  }
5102
5118
  const le = N;
5103
5119
  for (let re = 0; re < le; re++) {
@@ -5115,7 +5131,7 @@ class yc extends Po {
5115
5131
  L[N + 0] = pn.toHalfFloat(Math.min(x[T + 0] * Z, 65504)), L[N + 1] = pn.toHalfFloat(Math.min(x[T + 1] * Z, 65504)), L[N + 2] = pn.toHalfFloat(Math.min(x[T + 2] * Z, 65504)), L[N + 3] = pn.toHalfFloat(1);
5116
5132
  }, I = new Uint8Array(e);
5117
5133
  I.pos = 0;
5118
- const b = d(I), B = b.width, E = b.height, w = g(I.subarray(I.pos), B, E);
5134
+ const b = g(I), B = b.width, E = b.height, w = d(I.subarray(I.pos), B, E);
5119
5135
  let Q, R, _;
5120
5136
  switch (this.type) {
5121
5137
  case St:
@@ -5183,8 +5199,8 @@ function Qc(A, e, t, s) {
5183
5199
  i[a] = e - s[A + 1 - a], o[a] = s[A + a] - e;
5184
5200
  let r = 0;
5185
5201
  for (let c = 0; c < a; ++c) {
5186
- const l = o[c + 1], h = i[a - c], d = n[c] / (l + h);
5187
- n[c] = r + l * d, r = h * d;
5202
+ const l = o[c + 1], h = i[a - c], g = n[c] / (l + h);
5203
+ n[c] = r + l * g, r = h * g;
5188
5204
  }
5189
5205
  n[a] = r;
5190
5206
  }
@@ -5212,19 +5228,19 @@ function Sc(A, e, t, s, n) {
5212
5228
  const r = i.slice(0), c = i.slice(0);
5213
5229
  for (let h = 1; h <= t; ++h) {
5214
5230
  r[h] = e - n[A + 1 - h], c[h] = n[A + h] - e;
5215
- let d = 0;
5216
- for (let g = 0; g < h; ++g) {
5217
- const p = c[g + 1], m = r[h - g];
5218
- a[h][g] = p + m;
5219
- const I = a[g][h - 1] / a[h][g];
5220
- a[g][h] = d + p * I, d = m * I;
5231
+ let g = 0;
5232
+ for (let d = 0; d < h; ++d) {
5233
+ const p = c[d + 1], m = r[h - d];
5234
+ a[h][d] = p + m;
5235
+ const I = a[d][h - 1] / a[h][d];
5236
+ a[d][h] = g + p * I, g = m * I;
5221
5237
  }
5222
- a[h][h] = d;
5238
+ a[h][h] = g;
5223
5239
  }
5224
5240
  for (let h = 0; h <= t; ++h)
5225
5241
  o[0][h] = a[h][t];
5226
5242
  for (let h = 0; h <= t; ++h) {
5227
- let d = 0, g = 1;
5243
+ let g = 0, d = 1;
5228
5244
  const p = [];
5229
5245
  for (let m = 0; m <= t; ++m)
5230
5246
  p[m] = i.slice(0);
@@ -5232,19 +5248,19 @@ function Sc(A, e, t, s, n) {
5232
5248
  for (let m = 1; m <= s; ++m) {
5233
5249
  let I = 0;
5234
5250
  const b = h - m, B = t - m;
5235
- h >= m && (p[g][0] = p[d][0] / a[B + 1][b], I = p[g][0] * a[b][B]);
5251
+ h >= m && (p[d][0] = p[g][0] / a[B + 1][b], I = p[d][0] * a[b][B]);
5236
5252
  const E = b >= -1 ? 1 : -b, w = h - 1 <= B ? m - 1 : t - h;
5237
5253
  for (let R = E; R <= w; ++R)
5238
- p[g][R] = (p[d][R] - p[d][R - 1]) / a[B + 1][b + R], I += p[g][R] * a[b + R][B];
5239
- h <= B && (p[g][m] = -p[d][m - 1] / a[B + 1][h], I += p[g][m] * a[h][B]), o[m][h] = I;
5240
- const Q = d;
5241
- d = g, g = Q;
5254
+ p[d][R] = (p[g][R] - p[g][R - 1]) / a[B + 1][b + R], I += p[d][R] * a[b + R][B];
5255
+ h <= B && (p[d][m] = -p[g][m - 1] / a[B + 1][h], I += p[d][m] * a[h][B]), o[m][h] = I;
5256
+ const Q = g;
5257
+ g = d, d = Q;
5242
5258
  }
5243
5259
  }
5244
5260
  let l = t;
5245
5261
  for (let h = 1; h <= s; ++h) {
5246
- for (let d = 0; d <= t; ++d)
5247
- o[h][d] *= l;
5262
+ for (let g = 0; g <= t; ++g)
5263
+ o[h][g] *= l;
5248
5264
  l *= t - h;
5249
5265
  }
5250
5266
  return o;
@@ -5252,13 +5268,13 @@ function Sc(A, e, t, s, n) {
5252
5268
  function Tc(A, e, t, s, n) {
5253
5269
  const i = n < A ? n : A, o = [], a = Ia(A, s, e), r = Sc(a, s, A, i, e), c = [];
5254
5270
  for (let l = 0; l < t.length; ++l) {
5255
- const h = t[l].clone(), d = h.w;
5256
- h.x *= d, h.y *= d, h.z *= d, c[l] = h;
5271
+ const h = t[l].clone(), g = h.w;
5272
+ h.x *= g, h.y *= g, h.z *= g, c[l] = h;
5257
5273
  }
5258
5274
  for (let l = 0; l <= i; ++l) {
5259
5275
  const h = c[a - A].clone().multiplyScalar(r[l][0]);
5260
- for (let d = 1; d <= A; ++d)
5261
- h.add(c[a - A + d].clone().multiplyScalar(r[l][d]));
5276
+ for (let g = 1; g <= A; ++g)
5277
+ h.add(c[a - A + g].clone().multiplyScalar(r[l][g]));
5262
5278
  o[l] = h;
5263
5279
  }
5264
5280
  for (let l = i + 1; l <= n + 1; ++l)
@@ -5312,7 +5328,7 @@ class Dc extends Fr {
5312
5328
  return s.copy(i[1]).normalize(), s;
5313
5329
  }
5314
5330
  }
5315
- let ie, _e, ze;
5331
+ let se, _e, ze;
5316
5332
  class yh extends Nt {
5317
5333
  constructor(e) {
5318
5334
  super(e);
@@ -5329,17 +5345,20 @@ class yh extends Nt {
5329
5345
  }
5330
5346
  parse(e, t) {
5331
5347
  if (Uc(e))
5332
- ie = new Nc().parse(e);
5348
+ se = new Nc().parse(e);
5333
5349
  else {
5334
5350
  const n = Ca(e);
5335
5351
  if (!Gc(n))
5336
5352
  throw new Error("THREE.FBXLoader: Unknown format.");
5337
- if (to(n) < 7e3)
5338
- throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + to(n));
5339
- ie = new Lc().parse(n);
5353
+ if (no(n) < 7e3)
5354
+ throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + no(n));
5355
+ se = new Lc().parse(n);
5340
5356
  }
5341
5357
  const s = new hi(this.manager).setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin);
5342
- return new Mc(s, this.manager).parse(ie);
5358
+ return new Mc(s, this.manager).parse(se);
5359
+ }
5360
+ getFbxTree() {
5361
+ return se;
5343
5362
  }
5344
5363
  }
5345
5364
  class Mc {
@@ -5355,7 +5374,7 @@ class Mc {
5355
5374
  // and details the connection type
5356
5375
  parseConnections() {
5357
5376
  const e = /* @__PURE__ */ new Map();
5358
- return "Connections" in ie && ie.Connections.connections.forEach(function(s) {
5377
+ return "Connections" in se && se.Connections.connections.forEach(function(s) {
5359
5378
  const n = s[0], i = s[1], o = s[2];
5360
5379
  e.has(n) || e.set(n, {
5361
5380
  parents: [],
@@ -5375,8 +5394,8 @@ class Mc {
5375
5394
  // via FBXTree.Connections.
5376
5395
  parseImages() {
5377
5396
  const e = {}, t = {};
5378
- if ("Video" in ie.Objects) {
5379
- const s = ie.Objects.Video;
5397
+ if ("Video" in se.Objects) {
5398
+ const s = se.Objects.Video;
5380
5399
  for (const n in s) {
5381
5400
  const i = s[n], o = parseInt(n);
5382
5401
  if (e[o] = i.RelativeFilename || i.Filename, "Content" in i) {
@@ -5431,8 +5450,8 @@ class Mc {
5431
5450
  // to images in FBXTree.Objects.Video
5432
5451
  parseTextures(e) {
5433
5452
  const t = /* @__PURE__ */ new Map();
5434
- if ("Texture" in ie.Objects) {
5435
- const s = ie.Objects.Texture;
5453
+ if ("Texture" in se.Objects) {
5454
+ const s = se.Objects.Texture;
5436
5455
  for (const n in s) {
5437
5456
  const i = this.parseTexture(s[n], e);
5438
5457
  t.set(parseInt(n), i);
@@ -5474,8 +5493,8 @@ class Mc {
5474
5493
  // Parse nodes in FBXTree.Objects.Material
5475
5494
  parseMaterials(e) {
5476
5495
  const t = /* @__PURE__ */ new Map();
5477
- if ("Material" in ie.Objects) {
5478
- const s = ie.Objects.Material;
5496
+ if ("Material" in se.Objects) {
5497
+ const s = se.Objects.Material;
5479
5498
  for (const n in s) {
5480
5499
  const i = this.parseMaterial(s[n], e);
5481
5500
  i !== null && t.set(parseInt(n), i);
@@ -5510,7 +5529,7 @@ class Mc {
5510
5529
  // Also parse the texture map and return any textures associated with the material
5511
5530
  parseParameters(e, t, s) {
5512
5531
  const n = {};
5513
- e.BumpFactor && (n.bumpScale = e.BumpFactor.value), e.Diffuse ? n.color = Ve.toWorkingColorSpace(new Se().fromArray(e.Diffuse.value), de) : e.DiffuseColor && (e.DiffuseColor.type === "Color" || e.DiffuseColor.type === "ColorRGB") && (n.color = Ve.toWorkingColorSpace(new Se().fromArray(e.DiffuseColor.value), de)), e.DisplacementFactor && (n.displacementScale = e.DisplacementFactor.value), e.Emissive ? n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(e.Emissive.value), de) : e.EmissiveColor && (e.EmissiveColor.type === "Color" || e.EmissiveColor.type === "ColorRGB") && (n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(e.EmissiveColor.value), de)), e.EmissiveFactor && (n.emissiveIntensity = parseFloat(e.EmissiveFactor.value)), e.Opacity && (n.opacity = parseFloat(e.Opacity.value)), n.opacity < 1 && (n.transparent = !0), e.ReflectionFactor && (n.reflectivity = e.ReflectionFactor.value), e.Shininess && (n.shininess = e.Shininess.value), e.Specular ? n.specular = Ve.toWorkingColorSpace(new Se().fromArray(e.Specular.value), de) : e.SpecularColor && e.SpecularColor.type === "Color" && (n.specular = Ve.toWorkingColorSpace(new Se().fromArray(e.SpecularColor.value), de));
5532
+ e.BumpFactor && (n.bumpScale = e.BumpFactor.value), e.Diffuse ? n.color = Ve.toWorkingColorSpace(new Se().fromArray(e.Diffuse.value), ge) : e.DiffuseColor && (e.DiffuseColor.type === "Color" || e.DiffuseColor.type === "ColorRGB") && (n.color = Ve.toWorkingColorSpace(new Se().fromArray(e.DiffuseColor.value), ge)), e.DisplacementFactor && (n.displacementScale = e.DisplacementFactor.value), e.Emissive ? n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(e.Emissive.value), ge) : e.EmissiveColor && (e.EmissiveColor.type === "Color" || e.EmissiveColor.type === "ColorRGB") && (n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(e.EmissiveColor.value), ge)), e.EmissiveFactor && (n.emissiveIntensity = parseFloat(e.EmissiveFactor.value)), e.Opacity && (n.opacity = parseFloat(e.Opacity.value)), n.opacity < 1 && (n.transparent = !0), e.ReflectionFactor && (n.reflectivity = e.ReflectionFactor.value), e.Shininess && (n.shininess = e.Shininess.value), e.Specular ? n.specular = Ve.toWorkingColorSpace(new Se().fromArray(e.Specular.value), ge) : e.SpecularColor && e.SpecularColor.type === "Color" && (n.specular = Ve.toWorkingColorSpace(new Se().fromArray(e.SpecularColor.value), ge));
5514
5533
  const i = this;
5515
5534
  return _e.get(s).children.forEach(function(o) {
5516
5535
  const a = o.relationship;
@@ -5523,23 +5542,23 @@ class Mc {
5523
5542
  break;
5524
5543
  case "DiffuseColor":
5525
5544
  case "Maya|TEX_color_map":
5526
- n.map = i.getTexture(t, o.ID), n.map !== void 0 && (n.map.colorSpace = de);
5545
+ n.map = i.getTexture(t, o.ID), n.map !== void 0 && (n.map.colorSpace = ge);
5527
5546
  break;
5528
5547
  case "DisplacementColor":
5529
5548
  n.displacementMap = i.getTexture(t, o.ID);
5530
5549
  break;
5531
5550
  case "EmissiveColor":
5532
- n.emissiveMap = i.getTexture(t, o.ID), n.emissiveMap !== void 0 && (n.emissiveMap.colorSpace = de);
5551
+ n.emissiveMap = i.getTexture(t, o.ID), n.emissiveMap !== void 0 && (n.emissiveMap.colorSpace = ge);
5533
5552
  break;
5534
5553
  case "NormalMap":
5535
5554
  case "Maya|TEX_normal_map":
5536
5555
  n.normalMap = i.getTexture(t, o.ID);
5537
5556
  break;
5538
5557
  case "ReflectionColor":
5539
- n.envMap = i.getTexture(t, o.ID), n.envMap !== void 0 && (n.envMap.mapping = Nr, n.envMap.colorSpace = de);
5558
+ n.envMap = i.getTexture(t, o.ID), n.envMap !== void 0 && (n.envMap.mapping = Nr, n.envMap.colorSpace = ge);
5540
5559
  break;
5541
5560
  case "SpecularColor":
5542
- n.specularMap = i.getTexture(t, o.ID), n.specularMap !== void 0 && (n.specularMap.colorSpace = de);
5561
+ n.specularMap = i.getTexture(t, o.ID), n.specularMap !== void 0 && (n.specularMap.colorSpace = ge);
5543
5562
  break;
5544
5563
  case "TransparentColor":
5545
5564
  case "TransparencyFactor":
@@ -5557,15 +5576,15 @@ class Mc {
5557
5576
  }
5558
5577
  // get a texture from the textureMap for use by a material.
5559
5578
  getTexture(e, t) {
5560
- return "LayeredTexture" in ie.Objects && t in ie.Objects.LayeredTexture && (console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."), t = _e.get(t).children[0].ID), e.get(t);
5579
+ return "LayeredTexture" in se.Objects && t in se.Objects.LayeredTexture && (console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."), t = _e.get(t).children[0].ID), e.get(t);
5561
5580
  }
5562
5581
  // Parse nodes in FBXTree.Objects.Deformer
5563
5582
  // Deformer node can contain skinning or Vertex Cache animation data, however only skinning is supported here
5564
5583
  // Generates map of Skeleton-like objects for use later when generating and binding skeletons.
5565
5584
  parseDeformers() {
5566
5585
  const e = {}, t = {};
5567
- if ("Deformer" in ie.Objects) {
5568
- const s = ie.Objects.Deformer;
5586
+ if ("Deformer" in se.Objects) {
5587
+ const s = se.Objects.Deformer;
5569
5588
  for (const n in s) {
5570
5589
  const i = s[n], o = _e.get(parseInt(n));
5571
5590
  if (i.attrType === "Skin") {
@@ -5628,15 +5647,15 @@ class Mc {
5628
5647
  // create the main Group() to be returned by the loader
5629
5648
  parseScene(e, t, s) {
5630
5649
  ze = new sn();
5631
- const n = this.parseModels(e.skeletons, t, s), i = ie.Objects.Model, o = this;
5650
+ const n = this.parseModels(e.skeletons, t, s), i = se.Objects.Model, o = this;
5632
5651
  n.forEach(function(r) {
5633
5652
  var h;
5634
5653
  const c = i[r.ID];
5635
5654
  o.setLookAtProperties(r, c);
5636
5655
  const l = (h = _e.get(r.ID)) == null ? void 0 : h.parents;
5637
- l == null || l.forEach(function(d) {
5638
- const g = n.get(d.ID);
5639
- g !== void 0 && g.add(r);
5656
+ l == null || l.forEach(function(g) {
5657
+ const d = n.get(g.ID);
5658
+ d !== void 0 && d.add(r);
5640
5659
  }), r.parent === null && ze.add(r);
5641
5660
  }), this.bindSkeleton(e.skeletons, t, n), this.addGlobalSceneSettings(), ze.traverse(function(r) {
5642
5661
  if (r.userData.transformData) {
@@ -5644,13 +5663,14 @@ class Mc {
5644
5663
  const c = Ea(r.userData.transformData);
5645
5664
  r.applyMatrix4(c), r.updateWorldMatrix();
5646
5665
  }
5666
+ r.isSkinnedMesh && (r.computeBoundingBox(), r.computeBoundingSphere(), r.boundingBox.expandByScalar(3), r.boundingSphere.radius *= 3);
5647
5667
  });
5648
5668
  const a = new Fc().parse();
5649
5669
  ze.children.length === 1 && ze.children[0].isGroup && (ze.children[0].animations = a, ze = ze.children[0]), ze.animations = a;
5650
5670
  }
5651
5671
  // parse nodes in FBXTree.Objects.Model
5652
5672
  parseModels(e, t, s) {
5653
- const n = /* @__PURE__ */ new Map(), i = ie.Objects.Model;
5673
+ const n = /* @__PURE__ */ new Map(), i = se.Objects.Model;
5654
5674
  for (const o in i) {
5655
5675
  const a = parseInt(o), r = i[o], c = _e.get(a);
5656
5676
  let l = this.buildSkeleton(c, e, a, r.attrName);
@@ -5701,7 +5721,7 @@ class Mc {
5701
5721
  createCamera(e) {
5702
5722
  let t, s;
5703
5723
  if (e.children.forEach(function(n) {
5704
- const i = ie.Objects.NodeAttribute[n.ID];
5724
+ const i = se.Objects.NodeAttribute[n.ID];
5705
5725
  i !== void 0 && (s = i);
5706
5726
  }), s === void 0)
5707
5727
  t = new xt();
@@ -5720,7 +5740,7 @@ class Mc {
5720
5740
  const h = s.FocalLength ? s.FocalLength.value : null;
5721
5741
  switch (n) {
5722
5742
  case 0:
5723
- t = new gs(l, c, i, o), h !== null && t.setFocalLength(h);
5743
+ t = new ds(l, c, i, o), h !== null && t.setFocalLength(h);
5724
5744
  break;
5725
5745
  case 1:
5726
5746
  console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."), t = new xt();
@@ -5736,7 +5756,7 @@ class Mc {
5736
5756
  createLight(e) {
5737
5757
  let t, s;
5738
5758
  if (e.children.forEach(function(n) {
5739
- const i = ie.Objects.NodeAttribute[n.ID];
5759
+ const i = se.Objects.NodeAttribute[n.ID];
5740
5760
  i !== void 0 && (s = i);
5741
5761
  }), s === void 0)
5742
5762
  t = new xt();
@@ -5744,7 +5764,7 @@ class Mc {
5744
5764
  let n;
5745
5765
  s.LightType === void 0 ? n = 0 : n = s.LightType.value;
5746
5766
  let i = 16777215;
5747
- s.Color !== void 0 && (i = Ve.toWorkingColorSpace(new Se().fromArray(s.Color.value), de));
5767
+ s.Color !== void 0 && (i = Ve.toWorkingColorSpace(new Se().fromArray(s.Color.value), ge));
5748
5768
  let o = s.Intensity === void 0 ? 1 : s.Intensity.value / 100;
5749
5769
  s.CastLightOnObject !== void 0 && s.CastLightOnObject.value === 0 && (o = 0);
5750
5770
  let a = 0;
@@ -5755,13 +5775,13 @@ class Mc {
5755
5775
  t = new Vs(i, o, a, r);
5756
5776
  break;
5757
5777
  case 1:
5758
- t = new To(i, o);
5778
+ t = new vo(i, o);
5759
5779
  break;
5760
5780
  case 2:
5761
5781
  let c = Math.PI / 3;
5762
5782
  s.InnerAngle !== void 0 && (c = ye.degToRad(s.InnerAngle.value));
5763
5783
  let l = 0;
5764
- s.OuterAngle !== void 0 && (l = ye.degToRad(s.OuterAngle.value), l = Math.max(l, 1)), t = new So(i, o, a, c, l, r);
5784
+ s.OuterAngle !== void 0 && (l = ye.degToRad(s.OuterAngle.value), l = Math.max(l, 1)), t = new To(i, o, a, c, l, r);
5765
5785
  break;
5766
5786
  default:
5767
5787
  console.warn("THREE.FBXLoader: Unknown light type " + s.LightType.value + ", defaulting to a PointLight."), t = new Vs(i, o);
@@ -5774,14 +5794,25 @@ class Mc {
5774
5794
  createMesh(e, t, s) {
5775
5795
  let n, i = null, o = null;
5776
5796
  const a = [];
5777
- return e.children.forEach(function(r) {
5797
+ if (e.children.forEach(function(r) {
5778
5798
  t.has(r.ID) && (i = t.get(r.ID)), s.has(r.ID) && a.push(s.get(r.ID));
5779
5799
  }), a.length > 1 ? o = a : a.length > 0 ? o = a[0] : (o = new Pn({
5780
5800
  name: Nt.DEFAULT_MATERIAL_NAME,
5781
5801
  color: 13421772
5782
5802
  }), a.push(o)), "color" in i.attributes && a.forEach(function(r) {
5783
5803
  r.vertexColors = !0;
5784
- }), i.FBX_Deformer ? (n = new di(i, o), n.normalizeSkinWeights()) : n = new z(i, o), n;
5804
+ }), i.groups.length > 0) {
5805
+ let r = !1;
5806
+ for (let c = 0, l = i.groups.length; c < l; c++) {
5807
+ const h = i.groups[c];
5808
+ (h.materialIndex < 0 || h.materialIndex >= a.length) && (h.materialIndex = a.length, r = !0);
5809
+ }
5810
+ if (r) {
5811
+ const c = new ui();
5812
+ a.push(c);
5813
+ }
5814
+ }
5815
+ return i.FBX_Deformer ? (n = new di(i, o), n.normalizeSkinWeights()) : n = new z(i, o), n;
5785
5816
  }
5786
5817
  createCurve(e, t) {
5787
5818
  const s = e.children.reduce(function(i, o) {
@@ -5791,7 +5822,7 @@ class Mc {
5791
5822
  color: 3342591,
5792
5823
  linewidth: 1
5793
5824
  });
5794
- return new gt(s, n);
5825
+ return new dt(s, n);
5795
5826
  }
5796
5827
  // parse the model node for transform data
5797
5828
  getTransformData(e, t) {
@@ -5801,7 +5832,7 @@ class Mc {
5801
5832
  setLookAtProperties(e, t) {
5802
5833
  "LookAtProperty" in t && _e.get(e.ID).children.forEach(function(n) {
5803
5834
  if (n.relationship === "LookAtProperty") {
5804
- const i = ie.Objects.Model[n.ID];
5835
+ const i = se.Objects.Model[n.ID];
5805
5836
  if ("Lcl_Translation" in i) {
5806
5837
  const o = i.Lcl_Translation.value;
5807
5838
  e.target !== void 0 ? (e.target.position.fromArray(o), ze.add(e.target)) : e.lookAt(new P().fromArray(o));
@@ -5825,8 +5856,8 @@ class Mc {
5825
5856
  }
5826
5857
  parsePoseNodes() {
5827
5858
  const e = {};
5828
- if ("Pose" in ie.Objects) {
5829
- const t = ie.Objects.Pose;
5859
+ if ("Pose" in se.Objects) {
5860
+ const t = se.Objects.Pose;
5830
5861
  for (const s in t)
5831
5862
  if (t[s].attrType === "BindPose" && t[s].NbPoseNodes > 0) {
5832
5863
  const n = t[s].PoseNode;
@@ -5838,15 +5869,15 @@ class Mc {
5838
5869
  return e;
5839
5870
  }
5840
5871
  addGlobalSceneSettings() {
5841
- if ("GlobalSettings" in ie) {
5842
- if ("AmbientColor" in ie.GlobalSettings) {
5843
- const e = ie.GlobalSettings.AmbientColor.value, t = e[0], s = e[1], n = e[2];
5872
+ if ("GlobalSettings" in se) {
5873
+ if ("AmbientColor" in se.GlobalSettings) {
5874
+ const e = se.GlobalSettings.AmbientColor.value, t = e[0], s = e[1], n = e[2];
5844
5875
  if (t !== 0 || s !== 0 || n !== 0) {
5845
- const i = new Se().setRGB(t, s, n, de);
5876
+ const i = new Se().setRGB(t, s, n, ge);
5846
5877
  ze.add(new Ur(i, 1));
5847
5878
  }
5848
5879
  }
5849
- "UnitScaleFactor" in ie.GlobalSettings && (ze.userData.unitScaleFactor = ie.GlobalSettings.UnitScaleFactor.value);
5880
+ "UnitScaleFactor" in se.GlobalSettings && (ze.userData.unitScaleFactor = se.GlobalSettings.UnitScaleFactor.value);
5850
5881
  }
5851
5882
  }
5852
5883
  }
@@ -5857,8 +5888,8 @@ class kc {
5857
5888
  // Parse nodes in FBXTree.Objects.Geometry
5858
5889
  parse(e) {
5859
5890
  const t = /* @__PURE__ */ new Map();
5860
- if ("Geometry" in ie.Objects) {
5861
- const s = ie.Objects.Geometry;
5891
+ if ("Geometry" in se.Objects) {
5892
+ const s = se.Objects.Geometry;
5862
5893
  for (const n in s) {
5863
5894
  const i = _e.get(parseInt(n)), o = this.parseGeometry(i, s[n], e);
5864
5895
  t.set(parseInt(n), o);
@@ -5878,12 +5909,12 @@ class kc {
5878
5909
  // Parse single node mesh geometry in FBXTree.Objects.Geometry
5879
5910
  parseMeshGeometry(e, t, s) {
5880
5911
  const n = s.skeletons, i = [], o = e.parents.map(function(h) {
5881
- return ie.Objects.Model[h.ID];
5912
+ return se.Objects.Model[h.ID];
5882
5913
  });
5883
5914
  if (o.length === 0)
5884
5915
  return;
5885
- const a = e.children.reduce(function(h, d) {
5886
- return n[d.ID] !== void 0 && (h = n[d.ID]), h;
5916
+ const a = e.children.reduce(function(h, g) {
5917
+ return n[g.ID] !== void 0 && (h = n[g.ID]), h;
5887
5918
  }, null);
5888
5919
  e.children.forEach(function(h) {
5889
5920
  s.morphTargets[h.ID] !== void 0 && i.push(s.morphTargets[h.ID]);
@@ -5907,11 +5938,11 @@ class kc {
5907
5938
  i.setAttribute(h, new ke(a.uvs[l], 2));
5908
5939
  }), o.material && o.material.mappingType !== "AllSame") {
5909
5940
  let c = a.materialIndex[0], l = 0;
5910
- if (a.materialIndex.forEach(function(h, d) {
5911
- h !== c && (i.addGroup(l, d - l, c), c = h, l = d);
5941
+ if (a.materialIndex.forEach(function(h, g) {
5942
+ h !== c && (i.addGroup(l, g - l, c), c = h, l = g);
5912
5943
  }), i.groups.length > 0) {
5913
- const h = i.groups[i.groups.length - 1], d = h.start + h.count;
5914
- d !== a.materialIndex.length && i.addGroup(d, a.materialIndex.length - d, c);
5944
+ const h = i.groups[i.groups.length - 1], g = h.start + h.count;
5945
+ g !== a.materialIndex.length && i.addGroup(g, a.materialIndex.length - g, c);
5915
5946
  }
5916
5947
  i.groups.length === 0 && i.addGroup(0, a.materialIndex.length, a.materialIndex[0]);
5917
5948
  }
@@ -5945,17 +5976,17 @@ class kc {
5945
5976
  weightsIndices: []
5946
5977
  };
5947
5978
  let s = 0, n = 0, i = !1, o = [], a = [], r = [], c = [], l = [], h = [];
5948
- const d = this;
5949
- return e.vertexIndices.forEach(function(g, p) {
5979
+ const g = this;
5980
+ return e.vertexIndices.forEach(function(d, p) {
5950
5981
  let m, I = !1;
5951
- g < 0 && (g = g ^ -1, I = !0);
5982
+ d < 0 && (d = d ^ -1, I = !0);
5952
5983
  let b = [], B = [];
5953
- if (o.push(g * 3, g * 3 + 1, g * 3 + 2), e.color) {
5954
- const E = Xn(p, s, g, e.color);
5984
+ if (o.push(d * 3, d * 3 + 1, d * 3 + 2), e.color) {
5985
+ const E = Xn(p, s, d, e.color);
5955
5986
  r.push(E[0], E[1], E[2]);
5956
5987
  }
5957
5988
  if (e.skeleton) {
5958
- if (e.weightTable[g] !== void 0 && e.weightTable[g].forEach(function(E) {
5989
+ if (e.weightTable[d] !== void 0 && e.weightTable[d].forEach(function(E) {
5959
5990
  B.push(E.weight), b.push(E.id);
5960
5991
  }), B.length > 4) {
5961
5992
  i || (console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."), i = !0);
@@ -5977,13 +6008,13 @@ class kc {
5977
6008
  l.push(B[E]), h.push(b[E]);
5978
6009
  }
5979
6010
  if (e.normal) {
5980
- const E = Xn(p, s, g, e.normal);
6011
+ const E = Xn(p, s, d, e.normal);
5981
6012
  a.push(E[0], E[1], E[2]);
5982
6013
  }
5983
- e.material && e.material.mappingType !== "AllSame" && (m = Xn(p, s, g, e.material)[0], m < 0 && (d.negativeMaterialIndices = !0, m = 0)), e.uv && e.uv.forEach(function(E, w) {
5984
- const Q = Xn(p, s, g, E);
6014
+ e.material && e.material.mappingType !== "AllSame" && (m = Xn(p, s, d, e.material)[0], m < 0 && (g.negativeMaterialIndices = !0, m = 0)), e.uv && e.uv.forEach(function(E, w) {
6015
+ const Q = Xn(p, s, d, E);
5985
6016
  c[w] === void 0 && (c[w] = []), c[w].push(Q[0]), c[w].push(Q[1]);
5986
- }), n++, I && (d.genFace(t, e, o, m, a, r, c, l, h, n), s++, n = 0, o = [], a = [], r = [], c = [], l = [], h = []);
6017
+ }), n++, I && (g.genFace(t, e, o, m, a, r, c, l, h, n), s++, n = 0, o = [], a = [], r = [], c = [], l = [], h = []);
5987
6018
  }), t;
5988
6019
  }
5989
6020
  // See https://www.khronos.org/opengl/wiki/Calculating_a_Surface_Normal
@@ -6013,24 +6044,24 @@ class kc {
6013
6044
  genFace(e, t, s, n, i, o, a, r, c, l) {
6014
6045
  let h;
6015
6046
  if (l > 3) {
6016
- const d = [], g = t.baseVertexPositions || t.vertexPositions;
6047
+ const g = [], d = t.baseVertexPositions || t.vertexPositions;
6017
6048
  for (let b = 0; b < s.length; b += 3)
6018
- d.push(
6049
+ g.push(
6019
6050
  new P(
6020
- g[s[b]],
6021
- g[s[b + 1]],
6022
- g[s[b + 2]]
6051
+ d[s[b]],
6052
+ d[s[b + 1]],
6053
+ d[s[b + 2]]
6023
6054
  )
6024
6055
  );
6025
- const { tangent: p, bitangent: m } = this.getNormalTangentAndBitangent(d), I = [];
6026
- for (const b of d)
6056
+ const { tangent: p, bitangent: m } = this.getNormalTangentAndBitangent(g), I = [];
6057
+ for (const b of g)
6027
6058
  I.push(this.flattenVertex(b, p, m));
6028
6059
  h = Pr.triangulateShape(I, []);
6029
6060
  } else
6030
6061
  h = [[0, 1, 2]];
6031
- for (const [d, g, p] of h)
6032
- e.vertex.push(t.vertexPositions[s[d * 3]]), e.vertex.push(t.vertexPositions[s[d * 3 + 1]]), e.vertex.push(t.vertexPositions[s[d * 3 + 2]]), e.vertex.push(t.vertexPositions[s[g * 3]]), e.vertex.push(t.vertexPositions[s[g * 3 + 1]]), e.vertex.push(t.vertexPositions[s[g * 3 + 2]]), e.vertex.push(t.vertexPositions[s[p * 3]]), e.vertex.push(t.vertexPositions[s[p * 3 + 1]]), e.vertex.push(t.vertexPositions[s[p * 3 + 2]]), t.skeleton && (e.vertexWeights.push(r[d * 4]), e.vertexWeights.push(r[d * 4 + 1]), e.vertexWeights.push(r[d * 4 + 2]), e.vertexWeights.push(r[d * 4 + 3]), e.vertexWeights.push(r[g * 4]), e.vertexWeights.push(r[g * 4 + 1]), e.vertexWeights.push(r[g * 4 + 2]), e.vertexWeights.push(r[g * 4 + 3]), e.vertexWeights.push(r[p * 4]), e.vertexWeights.push(r[p * 4 + 1]), e.vertexWeights.push(r[p * 4 + 2]), e.vertexWeights.push(r[p * 4 + 3]), e.weightsIndices.push(c[d * 4]), e.weightsIndices.push(c[d * 4 + 1]), e.weightsIndices.push(c[d * 4 + 2]), e.weightsIndices.push(c[d * 4 + 3]), e.weightsIndices.push(c[g * 4]), e.weightsIndices.push(c[g * 4 + 1]), e.weightsIndices.push(c[g * 4 + 2]), e.weightsIndices.push(c[g * 4 + 3]), e.weightsIndices.push(c[p * 4]), e.weightsIndices.push(c[p * 4 + 1]), e.weightsIndices.push(c[p * 4 + 2]), e.weightsIndices.push(c[p * 4 + 3])), t.color && (e.colors.push(o[d * 3]), e.colors.push(o[d * 3 + 1]), e.colors.push(o[d * 3 + 2]), e.colors.push(o[g * 3]), e.colors.push(o[g * 3 + 1]), e.colors.push(o[g * 3 + 2]), e.colors.push(o[p * 3]), e.colors.push(o[p * 3 + 1]), e.colors.push(o[p * 3 + 2])), t.material && t.material.mappingType !== "AllSame" && (e.materialIndex.push(n), e.materialIndex.push(n), e.materialIndex.push(n)), t.normal && (e.normal.push(i[d * 3]), e.normal.push(i[d * 3 + 1]), e.normal.push(i[d * 3 + 2]), e.normal.push(i[g * 3]), e.normal.push(i[g * 3 + 1]), e.normal.push(i[g * 3 + 2]), e.normal.push(i[p * 3]), e.normal.push(i[p * 3 + 1]), e.normal.push(i[p * 3 + 2])), t.uv && t.uv.forEach(function(m, I) {
6033
- e.uvs[I] === void 0 && (e.uvs[I] = []), e.uvs[I].push(a[I][d * 2]), e.uvs[I].push(a[I][d * 2 + 1]), e.uvs[I].push(a[I][g * 2]), e.uvs[I].push(a[I][g * 2 + 1]), e.uvs[I].push(a[I][p * 2]), e.uvs[I].push(a[I][p * 2 + 1]);
6062
+ for (const [g, d, p] of h)
6063
+ e.vertex.push(t.vertexPositions[s[g * 3]]), e.vertex.push(t.vertexPositions[s[g * 3 + 1]]), e.vertex.push(t.vertexPositions[s[g * 3 + 2]]), e.vertex.push(t.vertexPositions[s[d * 3]]), e.vertex.push(t.vertexPositions[s[d * 3 + 1]]), e.vertex.push(t.vertexPositions[s[d * 3 + 2]]), e.vertex.push(t.vertexPositions[s[p * 3]]), e.vertex.push(t.vertexPositions[s[p * 3 + 1]]), e.vertex.push(t.vertexPositions[s[p * 3 + 2]]), t.skeleton && (e.vertexWeights.push(r[g * 4]), e.vertexWeights.push(r[g * 4 + 1]), e.vertexWeights.push(r[g * 4 + 2]), e.vertexWeights.push(r[g * 4 + 3]), e.vertexWeights.push(r[d * 4]), e.vertexWeights.push(r[d * 4 + 1]), e.vertexWeights.push(r[d * 4 + 2]), e.vertexWeights.push(r[d * 4 + 3]), e.vertexWeights.push(r[p * 4]), e.vertexWeights.push(r[p * 4 + 1]), e.vertexWeights.push(r[p * 4 + 2]), e.vertexWeights.push(r[p * 4 + 3]), e.weightsIndices.push(c[g * 4]), e.weightsIndices.push(c[g * 4 + 1]), e.weightsIndices.push(c[g * 4 + 2]), e.weightsIndices.push(c[g * 4 + 3]), e.weightsIndices.push(c[d * 4]), e.weightsIndices.push(c[d * 4 + 1]), e.weightsIndices.push(c[d * 4 + 2]), e.weightsIndices.push(c[d * 4 + 3]), e.weightsIndices.push(c[p * 4]), e.weightsIndices.push(c[p * 4 + 1]), e.weightsIndices.push(c[p * 4 + 2]), e.weightsIndices.push(c[p * 4 + 3])), t.color && (e.colors.push(o[g * 3]), e.colors.push(o[g * 3 + 1]), e.colors.push(o[g * 3 + 2]), e.colors.push(o[d * 3]), e.colors.push(o[d * 3 + 1]), e.colors.push(o[d * 3 + 2]), e.colors.push(o[p * 3]), e.colors.push(o[p * 3 + 1]), e.colors.push(o[p * 3 + 2])), t.material && t.material.mappingType !== "AllSame" && (e.materialIndex.push(n), e.materialIndex.push(n), e.materialIndex.push(n)), t.normal && (e.normal.push(i[g * 3]), e.normal.push(i[g * 3 + 1]), e.normal.push(i[g * 3 + 2]), e.normal.push(i[d * 3]), e.normal.push(i[d * 3 + 1]), e.normal.push(i[d * 3 + 2]), e.normal.push(i[p * 3]), e.normal.push(i[p * 3 + 1]), e.normal.push(i[p * 3 + 2])), t.uv && t.uv.forEach(function(m, I) {
6064
+ e.uvs[I] === void 0 && (e.uvs[I] = []), e.uvs[I].push(a[I][g * 2]), e.uvs[I].push(a[I][g * 2 + 1]), e.uvs[I].push(a[I][d * 2]), e.uvs[I].push(a[I][d * 2 + 1]), e.uvs[I].push(a[I][p * 2]), e.uvs[I].push(a[I][p * 2 + 1]);
6034
6065
  });
6035
6066
  }
6036
6067
  addMorphTargets(e, t, s, n) {
@@ -6040,7 +6071,7 @@ class kc {
6040
6071
  const i = this;
6041
6072
  s.forEach(function(o) {
6042
6073
  o.rawTargets.forEach(function(a) {
6043
- const r = ie.Objects.Geometry[a.geoID];
6074
+ const r = se.Objects.Geometry[a.geoID];
6044
6075
  r !== void 0 && i.genMorphGeometry(e, t, r, n, a.name);
6045
6076
  });
6046
6077
  });
@@ -6055,11 +6086,11 @@ class kc {
6055
6086
  const I = c[m] * 3;
6056
6087
  h[I] = r[m * 3], h[I + 1] = r[m * 3 + 1], h[I + 2] = r[m * 3 + 2];
6057
6088
  }
6058
- const d = {
6089
+ const g = {
6059
6090
  vertexIndices: a,
6060
6091
  vertexPositions: h,
6061
6092
  baseVertexPositions: o
6062
- }, g = this.genBuffers(d), p = new ke(g.vertex, 3);
6093
+ }, d = this.genBuffers(g), p = new ke(d.vertex, 3);
6063
6094
  p.name = i || s.attrName, p.applyMatrix4(n), e.morphAttributes.position.push(p);
6064
6095
  }
6065
6096
  // Parse normal from FBXTree.Objects.Geometry.LayerElementNormal if it exists
@@ -6094,7 +6125,7 @@ class kc {
6094
6125
  let i = [];
6095
6126
  s === "IndexToDirect" && (i = e.ColorIndex.a);
6096
6127
  for (let o = 0, a = new Se(); o < n.length; o += 4)
6097
- a.fromArray(n, o), Ve.toWorkingColorSpace(a, de), a.toArray(n, o);
6128
+ a.fromArray(n, o), Ve.toWorkingColorSpace(a, ge), a.toArray(n, o);
6098
6129
  return {
6099
6130
  dataSize: 4,
6100
6131
  buffer: n,
@@ -6131,7 +6162,7 @@ class kc {
6131
6162
  if (isNaN(t))
6132
6163
  return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s", e.Order, e.id), new ut();
6133
6164
  const s = t - 1, n = e.KnotVector.a, i = [], o = e.Points.a;
6134
- for (let h = 0, d = o.length; h < d; h += 4)
6165
+ for (let h = 0, g = o.length; h < g; h += 4)
6135
6166
  i.push(new Ut().fromArray(o, h));
6136
6167
  let a, r;
6137
6168
  if (e.Form === "Closed")
@@ -6157,7 +6188,7 @@ class Fc {
6157
6188
  return e;
6158
6189
  }
6159
6190
  parseClips() {
6160
- if (ie.Objects.AnimationCurve === void 0)
6191
+ if (se.Objects.AnimationCurve === void 0)
6161
6192
  return;
6162
6193
  const e = this.parseAnimationCurveNodes();
6163
6194
  this.parseAnimationCurves(e);
@@ -6168,7 +6199,7 @@ class Fc {
6168
6199
  // each AnimationCurveNode holds data for an animation transform for a model (e.g. left arm rotation )
6169
6200
  // and is referenced by an AnimationLayer
6170
6201
  parseAnimationCurveNodes() {
6171
- const e = ie.Objects.AnimationCurveNode, t = /* @__PURE__ */ new Map();
6202
+ const e = se.Objects.AnimationCurveNode, t = /* @__PURE__ */ new Map();
6172
6203
  for (const s in e) {
6173
6204
  const n = e[s];
6174
6205
  if (n.attrName.match(/S|R|T|DeformPercent/) !== null) {
@@ -6186,7 +6217,7 @@ class Fc {
6186
6217
  // previously parsed AnimationCurveNodes. Each AnimationCurve holds data for a single animated
6187
6218
  // axis ( e.g. times and values of x rotation)
6188
6219
  parseAnimationCurves(e) {
6189
- const t = ie.Objects.AnimationCurve;
6220
+ const t = se.Objects.AnimationCurve;
6190
6221
  for (const s in t) {
6191
6222
  const n = {
6192
6223
  id: t[s].id,
@@ -6203,7 +6234,7 @@ class Fc {
6203
6234
  // to various AnimationCurveNodes and is referenced by an AnimationStack node
6204
6235
  // note: theoretically a stack can have multiple layers, however in practice there always seems to be one per stack
6205
6236
  parseAnimationLayers(e) {
6206
- const t = ie.Objects.AnimationLayer, s = /* @__PURE__ */ new Map();
6237
+ const t = se.Objects.AnimationLayer, s = /* @__PURE__ */ new Map();
6207
6238
  for (const n in t) {
6208
6239
  const i = [], o = _e.get(parseInt(n));
6209
6240
  o !== void 0 && (o.children.forEach(function(r, c) {
@@ -6211,25 +6242,25 @@ class Fc {
6211
6242
  const l = e.get(r.ID);
6212
6243
  if (l.curves.x !== void 0 || l.curves.y !== void 0 || l.curves.z !== void 0) {
6213
6244
  if (i[c] === void 0) {
6214
- const h = _e.get(r.ID).parents.filter(function(d) {
6215
- return d.relationship !== void 0;
6245
+ const h = _e.get(r.ID).parents.filter(function(g) {
6246
+ return g.relationship !== void 0;
6216
6247
  })[0].ID;
6217
6248
  if (h !== void 0) {
6218
- const d = ie.Objects.Model[h.toString()];
6219
- if (d === void 0) {
6249
+ const g = se.Objects.Model[h.toString()];
6250
+ if (g === void 0) {
6220
6251
  console.warn("THREE.FBXLoader: Encountered a unused curve.", r);
6221
6252
  return;
6222
6253
  }
6223
- const g = {
6224
- modelName: d.attrName ? It.sanitizeNodeName(d.attrName) : "",
6225
- ID: d.id,
6254
+ const d = {
6255
+ modelName: g.attrName ? It.sanitizeNodeName(g.attrName) : "",
6256
+ ID: g.id,
6226
6257
  initialPosition: [0, 0, 0],
6227
6258
  initialRotation: [0, 0, 0],
6228
6259
  initialScale: [1, 1, 1]
6229
6260
  };
6230
6261
  ze.traverse(function(p) {
6231
- p.ID === d.id && (g.transform = p.matrix, p.userData.transformData && (g.eulerOrder = p.userData.transformData.eulerOrder));
6232
- }), g.transform || (g.transform = new ue()), "PreRotation" in d && (g.preRotation = d.PreRotation.value), "PostRotation" in d && (g.postRotation = d.PostRotation.value), i[c] = g;
6262
+ p.ID === g.id && (d.transform = p.matrix, p.userData.transformData && (d.eulerOrder = p.userData.transformData.eulerOrder));
6263
+ }), d.transform || (d.transform = new ue()), "PreRotation" in g && (d.preRotation = g.PreRotation.value), "PostRotation" in g && (d.postRotation = g.PostRotation.value), i[c] = d;
6233
6264
  }
6234
6265
  }
6235
6266
  i[c] && (i[c][l.attr] = l);
@@ -6237,9 +6268,9 @@ class Fc {
6237
6268
  if (i[c] === void 0) {
6238
6269
  const h = _e.get(r.ID).parents.filter(function(b) {
6239
6270
  return b.relationship !== void 0;
6240
- })[0].ID, d = _e.get(h).parents[0].ID, g = _e.get(d).parents[0].ID, p = _e.get(g).parents[0].ID, m = ie.Objects.Model[p], I = {
6271
+ })[0].ID, g = _e.get(h).parents[0].ID, d = _e.get(g).parents[0].ID, p = _e.get(d).parents[0].ID, m = se.Objects.Model[p], I = {
6241
6272
  modelName: m.attrName ? It.sanitizeNodeName(m.attrName) : "",
6242
- morphName: ie.Objects.Deformer[h].attrName
6273
+ morphName: se.Objects.Deformer[h].attrName
6243
6274
  };
6244
6275
  i[c] = I;
6245
6276
  }
@@ -6253,7 +6284,7 @@ class Fc {
6253
6284
  // parse nodes in FBXTree.Objects.AnimationStack. These are the top level node in the animation
6254
6285
  // hierarchy. Each Stack node will be used to create a AnimationClip
6255
6286
  parseAnimStacks(e) {
6256
- const t = ie.Objects.AnimationStack, s = {};
6287
+ const t = se.Objects.AnimationStack, s = {};
6257
6288
  for (const n in t) {
6258
6289
  const i = _e.get(parseInt(n)).children;
6259
6290
  i.length > 1 && console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");
@@ -6270,7 +6301,7 @@ class Fc {
6270
6301
  const s = this;
6271
6302
  return e.layer.forEach(function(n) {
6272
6303
  t = t.concat(s.generateTracks(n));
6273
- }), new gi(e.name, -1, t);
6304
+ }), new pi(e.name, -1, t);
6274
6305
  }
6275
6306
  generateTracks(e) {
6276
6307
  const t = [];
@@ -6304,18 +6335,18 @@ class Fc {
6304
6335
  return;
6305
6336
  }
6306
6337
  if (t.x !== void 0 && t.y !== void 0 && t.z !== void 0) {
6307
- const d = this.interpolateRotations(t.x, t.y, t.z, i);
6308
- o = d[0], a = d[1];
6338
+ const g = this.interpolateRotations(t.x, t.y, t.z, i);
6339
+ o = g[0], a = g[1];
6309
6340
  }
6310
6341
  const r = Hn(0);
6311
6342
  s !== void 0 && (s = s.map(ye.degToRad), s.push(r), s = new zt().fromArray(s), s = new Te().setFromEuler(s)), n !== void 0 && (n = n.map(ye.degToRad), n.push(r), n = new zt().fromArray(n), n = new Te().setFromEuler(n).invert());
6312
6343
  const c = new Te(), l = new zt(), h = [];
6313
6344
  if (!(!a || !o)) {
6314
- for (let d = 0; d < a.length; d += 3)
6315
- l.set(a[d], a[d + 1], a[d + 2], i), c.setFromEuler(l), s !== void 0 && c.premultiply(s), n !== void 0 && c.multiply(n), d > 2 && new Te().fromArray(
6345
+ for (let g = 0; g < a.length; g += 3)
6346
+ l.set(a[g], a[g + 1], a[g + 2], i), c.setFromEuler(l), s !== void 0 && c.premultiply(s), n !== void 0 && c.multiply(n), g > 2 && new Te().fromArray(
6316
6347
  h,
6317
- (d - 3) / 3 * 4
6318
- ).dot(c) < 0 && c.set(-c.x, -c.y, -c.z, -c.w), c.toArray(h, d / 3 * 4);
6348
+ (g - 3) / 3 * 4
6349
+ ).dot(c) < 0 && c.set(-c.x, -c.y, -c.z, -c.w), c.toArray(h, g / 3 * 4);
6319
6350
  return new us(e + ".quaternion", o, h);
6320
6351
  }
6321
6352
  }
@@ -6383,17 +6414,17 @@ class Fc {
6383
6414
  ];
6384
6415
  if (isNaN(l[0]) || isNaN(l[1]) || isNaN(l[2]))
6385
6416
  continue;
6386
- const h = l.map(ye.degToRad), d = [
6417
+ const h = l.map(ye.degToRad), g = [
6387
6418
  l[0] - r[0],
6388
6419
  l[1] - r[1],
6389
6420
  l[2] - r[2]
6390
- ], g = [
6391
- Math.abs(d[0]),
6392
- Math.abs(d[1]),
6393
- Math.abs(d[2])
6421
+ ], d = [
6422
+ Math.abs(g[0]),
6423
+ Math.abs(g[1]),
6424
+ Math.abs(g[2])
6394
6425
  ];
6395
- if (g[0] >= 180 || g[1] >= 180 || g[2] >= 180) {
6396
- const m = Math.max(...g) / 180, I = new zt(...c, n), b = new zt(...h, n), B = new Te().setFromEuler(I), E = new Te().setFromEuler(b);
6426
+ if (d[0] >= 180 || d[1] >= 180 || d[2] >= 180) {
6427
+ const m = Math.max(...d) / 180, I = new zt(...c, n), b = new zt(...h, n), B = new Te().setFromEuler(I), E = new Te().setFromEuler(b);
6397
6428
  B.dot(E) && E.set(-E.x, -E.y, -E.z, -E.w);
6398
6429
  const w = e.times[a - 1], Q = e.times[a] - w, R = new Te(), _ = new zt();
6399
6430
  for (let x = 0; x < 1; x += 1 / m)
@@ -6457,8 +6488,8 @@ class Lc {
6457
6488
  if (n === "C") {
6458
6489
  const r = i.split(",").slice(1), c = parseInt(r[0]), l = parseInt(r[1]);
6459
6490
  let h = i.split(",").slice(3);
6460
- h = h.map(function(d) {
6461
- return d.trim().replace(/^"/, "");
6491
+ h = h.map(function(g) {
6492
+ return g.trim().replace(/^"/, "");
6462
6493
  }), n = "connections", i = [c, l], Hc(i, h), o[n] === void 0 && (o[n] = []);
6463
6494
  }
6464
6495
  n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = Us(i));
@@ -6502,7 +6533,7 @@ class Lc {
6502
6533
  }
6503
6534
  class Nc {
6504
6535
  parse(e) {
6505
- const t = new eo(e);
6536
+ const t = new to(e);
6506
6537
  t.skip(23);
6507
6538
  const s = t.getUint32();
6508
6539
  if (s < 6400)
@@ -6526,12 +6557,12 @@ class Nc {
6526
6557
  if (n === 0)
6527
6558
  return null;
6528
6559
  const r = [];
6529
- for (let d = 0; d < i; d++)
6560
+ for (let g = 0; g < i; g++)
6530
6561
  r.push(this.parseProperty(e));
6531
6562
  const c = r.length > 0 ? r[0] : "", l = r.length > 1 ? r[1] : "", h = r.length > 2 ? r[2] : "";
6532
6563
  for (s.singleProperty = i === 1 && e.getOffset() === n; n > e.getOffset(); ) {
6533
- const d = this.parseNode(e, t);
6534
- d !== null && this.parseSubNode(a, s, d);
6564
+ const g = this.parseNode(e, t);
6565
+ g !== null && this.parseSubNode(a, s, g);
6535
6566
  }
6536
6567
  return s.propertyList = r, typeof c == "number" && (s.id = c), l !== "" && (s.attrName = l), h !== "" && (s.attrType = h), a !== "" && (s.name = a), s;
6537
6568
  }
@@ -6606,7 +6637,7 @@ class Nc {
6606
6637
  case "l":
6607
6638
  return e.getInt64Array(n);
6608
6639
  }
6609
- const a = Ln(new Uint8Array(e.getArrayBuffer(o))), r = new eo(a.buffer);
6640
+ const a = Ln(new Uint8Array(e.getArrayBuffer(o))), r = new to(a.buffer);
6610
6641
  switch (t) {
6611
6642
  case "b":
6612
6643
  case "c":
@@ -6626,7 +6657,7 @@ class Nc {
6626
6657
  }
6627
6658
  }
6628
6659
  }
6629
- class eo {
6660
+ class to {
6630
6661
  constructor(e, t) {
6631
6662
  this.dv = new DataView(e), this.offset = 0, this.littleEndian = t !== void 0 ? t : !0, this._textDecoder = new TextDecoder();
6632
6663
  }
@@ -6746,7 +6777,7 @@ function Gc(A) {
6746
6777
  return !1;
6747
6778
  return !0;
6748
6779
  }
6749
- function to(A) {
6780
+ function no(A) {
6750
6781
  const e = /FBXVersion: (\d+)/, t = A.match(e);
6751
6782
  if (t)
6752
6783
  return parseInt(t[1]);
@@ -6780,7 +6811,7 @@ function Xn(A, e, t, s) {
6780
6811
  }
6781
6812
  const Ns = new zt(), hn = new P();
6782
6813
  function Ea(A) {
6783
- const e = new ue(), t = new ue(), s = new ue(), n = new ue(), i = new ue(), o = new ue(), a = new ue(), r = new ue(), c = new ue(), l = new ue(), h = new ue(), d = new ue(), g = A.inheritType ? A.inheritType : 0;
6814
+ const e = new ue(), t = new ue(), s = new ue(), n = new ue(), i = new ue(), o = new ue(), a = new ue(), r = new ue(), c = new ue(), l = new ue(), h = new ue(), g = new ue(), d = A.inheritType ? A.inheritType : 0;
6784
6815
  A.translation && e.setPosition(hn.fromArray(A.translation));
6785
6816
  const p = Hn(0);
6786
6817
  if (A.preRotation) {
@@ -6801,9 +6832,9 @@ function Ea(A) {
6801
6832
  const b = new ue();
6802
6833
  b.copyPosition(l);
6803
6834
  const B = b.clone().invert().multiply(l), E = I.clone().invert().multiply(B), w = i, Q = new ue();
6804
- if (g === 0)
6835
+ if (d === 0)
6805
6836
  Q.copy(I).multiply(m).multiply(E).multiply(w);
6806
- else if (g === 1)
6837
+ else if (d === 1)
6807
6838
  Q.copy(I).multiply(E).multiply(m).multiply(w);
6808
6839
  else {
6809
6840
  const O = new ue().scale(new P().setFromMatrixScale(h)).clone().invert(), Z = E.clone().multiply(O);
@@ -6812,7 +6843,7 @@ function Ea(A) {
6812
6843
  const R = c.clone().invert(), _ = o.clone().invert();
6813
6844
  let x = e.clone().multiply(r).multiply(c).multiply(t).multiply(s).multiply(n).multiply(R).multiply(a).multiply(o).multiply(i).multiply(_);
6814
6845
  const T = new ue().copyPosition(x), L = l.clone().multiply(T);
6815
- return d.copyPosition(L), x = d.clone().multiply(Q), x.premultiply(l.invert()), x;
6846
+ return g.copyPosition(L), x = g.clone().multiply(Q), x.premultiply(l.invert()), x;
6816
6847
  }
6817
6848
  function Hn(A) {
6818
6849
  A = A || 0;
@@ -6903,14 +6934,14 @@ class qc extends Nt {
6903
6934
  const l = c.indexOf(" ");
6904
6935
  let h = l >= 0 ? c.substring(0, l) : c;
6905
6936
  h = h.toLowerCase();
6906
- let d = l >= 0 ? c.substring(l + 1) : "";
6907
- if (d = d.trim(), h === "newmtl")
6908
- n = { name: d }, o[d] = n;
6937
+ let g = l >= 0 ? c.substring(l + 1) : "";
6938
+ if (g = g.trim(), h === "newmtl")
6939
+ n = { name: g }, o[g] = n;
6909
6940
  else if (h === "ka" || h === "kd" || h === "ks" || h === "ke") {
6910
- const g = d.split(i, 3);
6911
- n[h] = [parseFloat(g[0]), parseFloat(g[1]), parseFloat(g[2])];
6941
+ const d = g.split(i, 3);
6942
+ n[h] = [parseFloat(d[0]), parseFloat(d[1]), parseFloat(d[2])];
6912
6943
  } else
6913
- n[h] = d;
6944
+ n[h] = g;
6914
6945
  }
6915
6946
  const a = new zc(this.resourcePath || t, this.materialOptions);
6916
6947
  return a.setCrossOrigin(this.crossOrigin), a.setManager(this.manager), a.setMaterials(o), a;
@@ -6979,7 +7010,7 @@ class zc {
6979
7010
  if (n[a])
6980
7011
  return;
6981
7012
  const c = t.getTextureParams(r, n), l = t.loadTexture(i(t.baseUrl, c.url));
6982
- l.repeat.copy(c.scale), l.offset.copy(c.offset), l.wrapS = t.wrap, l.wrapT = t.wrap, (a === "map" || a === "emissiveMap") && (l.colorSpace = de), n[a] = l;
7013
+ l.repeat.copy(c.scale), l.offset.copy(c.offset), l.wrapS = t.wrap, l.wrapT = t.wrap, (a === "map" || a === "emissiveMap") && (l.colorSpace = ge), n[a] = l;
6983
7014
  }
6984
7015
  for (const a in s) {
6985
7016
  const r = s[a];
@@ -6987,13 +7018,13 @@ class zc {
6987
7018
  if (r !== "")
6988
7019
  switch (a.toLowerCase()) {
6989
7020
  case "kd":
6990
- n.color = Ve.toWorkingColorSpace(new Se().fromArray(r), de);
7021
+ n.color = Ve.toWorkingColorSpace(new Se().fromArray(r), ge);
6991
7022
  break;
6992
7023
  case "ks":
6993
- n.specular = Ve.toWorkingColorSpace(new Se().fromArray(r), de);
7024
+ n.specular = Ve.toWorkingColorSpace(new Se().fromArray(r), ge);
6994
7025
  break;
6995
7026
  case "ke":
6996
- n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(r), de);
7027
+ n.emissive = Ve.toWorkingColorSpace(new Se().fromArray(r), ge);
6997
7028
  break;
6998
7029
  case "map_kd":
6999
7030
  o("map", r);
@@ -7043,7 +7074,7 @@ class zc {
7043
7074
  return t !== void 0 && (r.mapping = t), r;
7044
7075
  }
7045
7076
  }
7046
- const Kc = /^[og]\s*(.+)?/, Yc = /^mtllib /, Jc = /^usemtl /, Vc = /^usemap /, no = /\s+/, so = new P(), Gs = new P(), io = new P(), oo = new P(), ct = new P(), Zn = new Se();
7077
+ const Kc = /^[og]\s*(.+)?/, Yc = /^mtllib /, Jc = /^usemtl /, Vc = /^usemap /, so = /\s+/, io = new P(), Gs = new P(), oo = new P(), ao = new P(), ct = new P(), Zn = new Se();
7047
7078
  function Wc() {
7048
7079
  const A = {
7049
7080
  objects: [],
@@ -7153,7 +7184,7 @@ function Wc() {
7153
7184
  },
7154
7185
  addFaceNormal: function(e, t, s) {
7155
7186
  const n = this.vertices, i = this.object.geometry.normals;
7156
- so.fromArray(n, e), Gs.fromArray(n, t), io.fromArray(n, s), ct.subVectors(io, Gs), oo.subVectors(so, Gs), ct.cross(oo), ct.normalize(), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z);
7187
+ io.fromArray(n, e), Gs.fromArray(n, t), oo.fromArray(n, s), ct.subVectors(oo, Gs), ao.subVectors(io, Gs), ct.cross(ao), ct.normalize(), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z), i.push(ct.x, ct.y, ct.z);
7157
7188
  },
7158
7189
  addColor: function(e, t, s) {
7159
7190
  const n = this.colors, i = this.object.geometry.colors;
@@ -7173,15 +7204,15 @@ function Wc() {
7173
7204
  },
7174
7205
  addFace: function(e, t, s, n, i, o, a, r, c) {
7175
7206
  const l = this.vertices.length;
7176
- let h = this.parseVertexIndex(e, l), d = this.parseVertexIndex(t, l), g = this.parseVertexIndex(s, l);
7177
- if (this.addVertex(h, d, g), this.addColor(h, d, g), a !== void 0 && a !== "") {
7207
+ let h = this.parseVertexIndex(e, l), g = this.parseVertexIndex(t, l), d = this.parseVertexIndex(s, l);
7208
+ if (this.addVertex(h, g, d), this.addColor(h, g, d), a !== void 0 && a !== "") {
7178
7209
  const p = this.normals.length;
7179
- h = this.parseNormalIndex(a, p), d = this.parseNormalIndex(r, p), g = this.parseNormalIndex(c, p), this.addNormal(h, d, g);
7210
+ h = this.parseNormalIndex(a, p), g = this.parseNormalIndex(r, p), d = this.parseNormalIndex(c, p), this.addNormal(h, g, d);
7180
7211
  } else
7181
- this.addFaceNormal(h, d, g);
7212
+ this.addFaceNormal(h, g, d);
7182
7213
  if (n !== void 0 && n !== "") {
7183
7214
  const p = this.uvs.length;
7184
- h = this.parseUVIndex(n, p), d = this.parseUVIndex(i, p), g = this.parseUVIndex(o, p), this.addUV(h, d, g), this.object.geometry.hasUVIndices = !0;
7215
+ h = this.parseUVIndex(n, p), g = this.parseUVIndex(i, p), d = this.parseUVIndex(o, p), this.addUV(h, g, d), this.object.geometry.hasUVIndices = !0;
7185
7216
  } else
7186
7217
  this.addDefaultUV();
7187
7218
  },
@@ -7214,10 +7245,10 @@ class Qh extends Nt {
7214
7245
  try {
7215
7246
  const r = i.parse(a, !0);
7216
7247
  for (let c = 0, l = r.materialLibraries.length; c < l; c++) {
7217
- const h = r.materialLibraries[c], d = e.startsWith("blob:") ? e + "/" + h : new URL(h, e);
7218
- console.debug("Loading MTL file: " + d), await new Promise((g, p) => {
7219
- i.materialsLoader.load(d.toString(), (m) => {
7220
- i.setMaterials(m), g();
7248
+ const h = r.materialLibraries[c], g = e.startsWith("blob:") ? e + "/" + h : new URL(h, e);
7249
+ console.debug("Loading MTL file: " + g), await new Promise((d, p) => {
7250
+ i.materialsLoader.load(g.toString(), (m) => {
7251
+ i.setMaterials(m), d();
7221
7252
  }, null, p);
7222
7253
  });
7223
7254
  }
@@ -7249,7 +7280,7 @@ class Qh extends Nt {
7249
7280
  const c = r.charAt(0);
7250
7281
  if (c !== "#")
7251
7282
  if (c === "v") {
7252
- const l = r.split(no);
7283
+ const l = r.split(so);
7253
7284
  switch (l[0]) {
7254
7285
  case "v":
7255
7286
  s.vertices.push(
@@ -7260,7 +7291,7 @@ class Qh extends Nt {
7260
7291
  parseFloat(l[4]),
7261
7292
  parseFloat(l[5]),
7262
7293
  parseFloat(l[6]),
7263
- de
7294
+ ge
7264
7295
  ), s.colors.push(Zn.r, Zn.g, Zn.b)) : s.colors.push(void 0, void 0, void 0);
7265
7296
  break;
7266
7297
  case "vn":
@@ -7278,25 +7309,25 @@ class Qh extends Nt {
7278
7309
  break;
7279
7310
  }
7280
7311
  } else if (c === "f") {
7281
- const h = r.slice(1).trim().split(no), d = [];
7312
+ const h = r.slice(1).trim().split(so), g = [];
7282
7313
  for (let p = 0, m = h.length; p < m; p++) {
7283
7314
  const I = h[p];
7284
7315
  if (I.length > 0) {
7285
7316
  const b = I.split("/");
7286
- d.push(b);
7317
+ g.push(b);
7287
7318
  }
7288
7319
  }
7289
- const g = d[0];
7290
- for (let p = 1, m = d.length - 1; p < m; p++) {
7291
- const I = d[p], b = d[p + 1];
7320
+ const d = g[0];
7321
+ for (let p = 1, m = g.length - 1; p < m; p++) {
7322
+ const I = g[p], b = g[p + 1];
7292
7323
  s.addFace(
7293
- g[0],
7324
+ d[0],
7294
7325
  I[0],
7295
7326
  b[0],
7296
- g[1],
7327
+ d[1],
7297
7328
  I[1],
7298
7329
  b[1],
7299
- g[2],
7330
+ d[2],
7300
7331
  I[2],
7301
7332
  b[2]
7302
7333
  );
@@ -7304,15 +7335,15 @@ class Qh extends Nt {
7304
7335
  } else if (c === "l") {
7305
7336
  const l = r.substring(1).trim().split(" ");
7306
7337
  let h = [];
7307
- const d = [];
7338
+ const g = [];
7308
7339
  if (r.indexOf("/") === -1)
7309
7340
  h = l;
7310
7341
  else
7311
- for (let g = 0, p = l.length; g < p; g++) {
7312
- const m = l[g].split("/");
7313
- m[0] !== "" && h.push(m[0]), m[1] !== "" && d.push(m[1]);
7342
+ for (let d = 0, p = l.length; d < p; d++) {
7343
+ const m = l[d].split("/");
7344
+ m[0] !== "" && h.push(m[0]), m[1] !== "" && g.push(m[1]);
7314
7345
  }
7315
- s.addLineGeometry(h, d);
7346
+ s.addLineGeometry(h, g);
7316
7347
  } else if (c === "p") {
7317
7348
  const h = r.slice(1).trim().split(" ");
7318
7349
  s.addPointGeometry(h);
@@ -7349,9 +7380,9 @@ class Qh extends Nt {
7349
7380
  let h = !1;
7350
7381
  if (a.vertices.length === 0)
7351
7382
  continue;
7352
- const d = new ut();
7353
- d.setAttribute("position", new ke(a.vertices, 3)), a.normals.length > 0 && d.setAttribute("normal", new ke(a.normals, 3)), a.colors.length > 0 && (h = !0, d.setAttribute("color", new ke(a.colors, 3))), a.hasUVIndices === !0 && d.setAttribute("uv", new ke(a.uvs, 2));
7354
- const g = [];
7383
+ const g = new ut();
7384
+ g.setAttribute("position", new ke(a.vertices, 3)), a.normals.length > 0 && g.setAttribute("normal", new ke(a.normals, 3)), a.colors.length > 0 && (h = !0, g.setAttribute("color", new ke(a.colors, 3))), a.hasUVIndices === !0 && g.setAttribute("uv", new ke(a.uvs, 2));
7385
+ const d = [];
7355
7386
  for (let m = 0, I = r.length; m < I; m++) {
7356
7387
  const b = r[m], B = b.name + "_" + b.smooth + "_" + h;
7357
7388
  let E = e.materials[B];
@@ -7364,17 +7395,17 @@ class Qh extends Nt {
7364
7395
  tn.prototype.copy.call(w, E), w.color.copy(E.color), w.map = E.map, E = w;
7365
7396
  }
7366
7397
  }
7367
- E === void 0 && (c ? E = new Lt() : l ? E = new Dn({ size: 1, sizeAttenuation: !1 }) : E = new Pn(), E.name = b.name, E.flatShading = !b.smooth, E.vertexColors = h, e.materials[B] = E), g.push(E);
7398
+ E === void 0 && (c ? E = new Lt() : l ? E = new Dn({ size: 1, sizeAttenuation: !1 }) : E = new Pn(), E.name = b.name, E.flatShading = !b.smooth, E.vertexColors = h, e.materials[B] = E), d.push(E);
7368
7399
  }
7369
7400
  let p;
7370
- if (g.length > 1) {
7401
+ if (d.length > 1) {
7371
7402
  for (let m = 0, I = r.length; m < I; m++) {
7372
7403
  const b = r[m];
7373
- d.addGroup(b.groupStart, b.groupCount, m);
7404
+ g.addGroup(b.groupStart, b.groupCount, m);
7374
7405
  }
7375
- c ? p = new As(d, g) : l ? p = new is(d, g) : p = new z(d, g);
7406
+ c ? p = new As(g, d) : l ? p = new is(g, d) : p = new z(g, d);
7376
7407
  } else
7377
- c ? p = new As(d, g[0]) : l ? p = new is(d, g[0]) : p = new z(d, g[0]);
7408
+ c ? p = new As(g, d[0]) : l ? p = new is(g, d[0]) : p = new z(g, d[0]);
7378
7409
  p.name = o.name, t.add(p);
7379
7410
  }
7380
7411
  else if (e.vertices.length > 0) {
@@ -7386,7 +7417,7 @@ class Qh extends Nt {
7386
7417
  return t;
7387
7418
  }
7388
7419
  }
7389
- const ao = { type: "change" }, Bi = { type: "start" }, Ba = { type: "end" }, $n = new Hr(), ro = new jr(), Xc = Math.cos(70 * ye.DEG2RAD), Me = new P();
7420
+ const ro = { type: "change" }, wi = { type: "start" }, Ba = { type: "end" }, $n = new Hr(), Ao = new jr(), Xc = Math.cos(70 * ye.DEG2RAD), Me = new P();
7390
7421
  new P();
7391
7422
  const Ye = 2 * Math.PI, fe = {
7392
7423
  NONE: -1,
@@ -7400,7 +7431,7 @@ const Ye = 2 * Math.PI, fe = {
7400
7431
  }, Ps = 1e-6;
7401
7432
  let xh = class extends Go {
7402
7433
  constructor(e, t = null) {
7403
- super(e, t), this.state = fe.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: mn.ROTATE, MIDDLE: mn.DOLLY, RIGHT: mn.PAN }, this.touches = { ONE: fn.ROTATE, TWO: fn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Ri(), this._sphericalDelta = new Ri(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = $c.bind(this), this._onPointerDown = Zc.bind(this), this._onPointerUp = el.bind(this), this._onContextMenu = rl.bind(this), this._onMouseWheel = sl.bind(this), this._onKeyDown = il.bind(this), this._onTouchStart = ol.bind(this), this._onTouchMove = al.bind(this), this._onMouseDown = tl.bind(this), this._onMouseMove = nl.bind(this), this._interceptControlDown = Al.bind(this), this._interceptControlUp = cl.bind(this), this.domElement !== null && this.connect(), this.update();
7434
+ super(e, t), this.state = fe.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: mn.ROTATE, MIDDLE: mn.DOLLY, RIGHT: mn.PAN }, this.touches = { ONE: fn.ROTATE, TWO: fn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new _i(), this._sphericalDelta = new _i(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = $c.bind(this), this._onPointerDown = Zc.bind(this), this._onPointerUp = el.bind(this), this._onContextMenu = rl.bind(this), this._onMouseWheel = sl.bind(this), this._onKeyDown = il.bind(this), this._onTouchStart = ol.bind(this), this._onTouchMove = al.bind(this), this._onMouseDown = tl.bind(this), this._onMouseMove = nl.bind(this), this._interceptControlDown = Al.bind(this), this._interceptControlUp = cl.bind(this), this.domElement !== null && this.connect(), this.update();
7404
7435
  }
7405
7436
  connect() {
7406
7437
  this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -7430,7 +7461,7 @@ let xh = class extends Go {
7430
7461
  this.target0.copy(this.target), this.position0.copy(this.object.position), this.zoom0 = this.object.zoom;
7431
7462
  }
7432
7463
  reset() {
7433
- this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(ao), this.update(), this.state = fe.NONE;
7464
+ this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(ro), this.update(), this.state = fe.NONE;
7434
7465
  }
7435
7466
  update(e = null) {
7436
7467
  const t = this.object.getWorldPosition(this.object.position);
@@ -7460,12 +7491,12 @@ let xh = class extends Go {
7460
7491
  c.unproject(this.object), this.object.position.sub(c).add(a), this.object.updateMatrixWorld(), o = Me.length();
7461
7492
  } else
7462
7493
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
7463
- o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < Xc ? this.object.lookAt(this.target) : (ro.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(ro, this.target))));
7494
+ o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < Xc ? this.object.lookAt(this.target) : (Ao.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(Ao, this.target))));
7464
7495
  } else if (this.object.isOrthographicCamera) {
7465
7496
  const o = this.object.zoom;
7466
7497
  this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), o !== this.object.zoom && (this.object.updateProjectionMatrix(), i = !0);
7467
7498
  }
7468
- return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Ps || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Ps || this._lastTargetPosition.distanceToSquared(this.target) > Ps ? (this.dispatchEvent(ao), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : (this._performCursorZoom = !1, !1);
7499
+ return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Ps || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Ps || this._lastTargetPosition.distanceToSquared(this.target) > Ps ? (this.dispatchEvent(ro), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : (this._performCursorZoom = !1, !1);
7469
7500
  }
7470
7501
  _getAutoRotationAngle(e) {
7471
7502
  return e !== null ? Ye / 60 * this.autoRotateSpeed * e : Ye / 60 / 60 * this.autoRotateSpeed;
@@ -7721,7 +7752,7 @@ function tl(A) {
7721
7752
  default:
7722
7753
  this.state = fe.NONE;
7723
7754
  }
7724
- this.state !== fe.NONE && this.dispatchEvent(Bi);
7755
+ this.state !== fe.NONE && this.dispatchEvent(wi);
7725
7756
  }
7726
7757
  function nl(A) {
7727
7758
  switch (this.state) {
@@ -7743,7 +7774,7 @@ function nl(A) {
7743
7774
  }
7744
7775
  }
7745
7776
  function sl(A) {
7746
- this.enabled === !1 || this.enableZoom === !1 || this.state !== fe.NONE || (A.preventDefault(), this.dispatchEvent(Bi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(Ba));
7777
+ this.enabled === !1 || this.enableZoom === !1 || this.state !== fe.NONE || (A.preventDefault(), this.dispatchEvent(wi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(Ba));
7747
7778
  }
7748
7779
  function il(A) {
7749
7780
  this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
@@ -7785,7 +7816,7 @@ function ol(A) {
7785
7816
  default:
7786
7817
  this.state = fe.NONE;
7787
7818
  }
7788
- this.state !== fe.NONE && this.dispatchEvent(Bi);
7819
+ this.state !== fe.NONE && this.dispatchEvent(wi);
7789
7820
  }
7790
7821
  function al(A) {
7791
7822
  switch (this._trackPointer(A), this.state) {
@@ -7822,7 +7853,7 @@ function Al(A) {
7822
7853
  function cl(A) {
7823
7854
  A.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
7824
7855
  }
7825
- class Th extends gt {
7856
+ class Th extends dt {
7826
7857
  constructor(e, t = 1, s = 16, n = 2) {
7827
7858
  const i = new ut(), o = s + n * 2, a = new Float32Array((o * 3 + 3) * 3);
7828
7859
  i.setAttribute("position", new nt(a, 3));
@@ -7831,14 +7862,14 @@ class Th extends gt {
7831
7862
  }
7832
7863
  update() {
7833
7864
  const e = this.audio, t = this.range, s = this.divisionsInnerAngle, n = this.divisionsOuterAngle, i = ye.degToRad(e.panner.coneInnerAngle), o = ye.degToRad(e.panner.coneOuterAngle), a = i / 2, r = o / 2;
7834
- let c = 0, l = 0, h, d;
7835
- const g = this.geometry, p = g.attributes.position;
7836
- g.clearGroups();
7865
+ let c = 0, l = 0, h, g;
7866
+ const d = this.geometry, p = d.attributes.position;
7867
+ d.clearGroups();
7837
7868
  function m(I, b, B, E) {
7838
7869
  const w = (b - I) / B;
7839
7870
  for (p.setXYZ(c, 0, 0, 0), l++, h = I; h < b; h += w)
7840
- d = c + l, p.setXYZ(d, Math.sin(h) * t, 0, Math.cos(h) * t), p.setXYZ(d + 1, Math.sin(Math.min(h + w, b)) * t, 0, Math.cos(Math.min(h + w, b)) * t), p.setXYZ(d + 2, 0, 0, 0), l += 3;
7841
- g.addGroup(c, l, E), c += l, l = 0;
7871
+ g = c + l, p.setXYZ(g, Math.sin(h) * t, 0, Math.cos(h) * t), p.setXYZ(g + 1, Math.sin(Math.min(h + w, b)) * t, 0, Math.cos(Math.min(h + w, b)) * t), p.setXYZ(g + 2, 0, 0, 0), l += 3;
7872
+ d.addGroup(c, l, E), c += l, l = 0;
7842
7873
  }
7843
7874
  m(-r, -a, n, 0), m(-a, a, s, 1), m(a, r, n, 0), p.needsUpdate = !0, i === o && (this.material[0].visible = !1);
7844
7875
  }
@@ -7941,7 +7972,7 @@ const vh = {
7941
7972
  };
7942
7973
  let vn, Os, un, es;
7943
7974
  function Hs(A, e = 1 / 0, t = null) {
7944
- Os || (Os = new Ii(2, 2, 1, 1)), un || (un = new Ho({
7975
+ Os || (Os = new bi(2, 2, 1, 1)), un || (un = new Ho({
7945
7976
  uniforms: { blitTexture: new qr(A) },
7946
7977
  vertexShader: `
7947
7978
  varying vec2 vUv;
@@ -7962,8 +7993,8 @@ function Hs(A, e = 1 / 0, t = null) {
7962
7993
  gl_FragColor = texture2D( blitTexture, vUv);
7963
7994
  #endif
7964
7995
  }`
7965
- })), un.uniforms.blitTexture.value = A, un.defines.IS_SRGB = A.colorSpace == de, un.needsUpdate = !0, es || (es = new z(Os, un), es.frustumCulled = !1);
7966
- const s = new gs(), n = new Zs();
7996
+ })), un.uniforms.blitTexture.value = A, un.defines.IS_SRGB = A.colorSpace == ge, un.needsUpdate = !0, es || (es = new z(Os, un), es.frustumCulled = !1);
7997
+ const s = new ds(), n = new Zs();
7967
7998
  n.add(es), t === null && (t = vn = new zr({ antialias: !1 }));
7968
7999
  const i = Math.min(A.image.width, e), o = Math.min(A.image.height, e);
7969
8000
  t.setSize(i, o), t.clear(), t.render(n, s);
@@ -7972,7 +8003,7 @@ function Hs(A, e = 1 / 0, t = null) {
7972
8003
  const c = new jo(a);
7973
8004
  return c.minFilter = A.minFilter, c.magFilter = A.magFilter, c.wrapS = A.wrapS, c.wrapT = A.wrapT, c.colorSpace = A.colorSpace, c.name = A.name, vn && (vn.forceContextLoss(), vn.dispose(), vn = null), c;
7974
8005
  }
7975
- const Ao = {
8006
+ const co = {
7976
8007
  POSITION: [
7977
8008
  "byte",
7978
8009
  "byte normalized",
@@ -8058,7 +8089,7 @@ class wa {
8058
8089
  });
8059
8090
  }
8060
8091
  }
8061
- const oe = {
8092
+ const ae = {
8062
8093
  POINTS: 0,
8063
8094
  LINES: 1,
8064
8095
  LINE_LOOP: 2,
@@ -8085,21 +8116,21 @@ const oe = {
8085
8116
  MIRRORED_REPEAT: 33648,
8086
8117
  REPEAT: 10497
8087
8118
  }, js = "KHR_mesh_quantization", ot = {};
8088
- ot[Do] = oe.NEAREST;
8089
- ot[Mo] = oe.NEAREST_MIPMAP_NEAREST;
8090
- ot[Fo] = oe.NEAREST_MIPMAP_LINEAR;
8091
- ot[mt] = oe.LINEAR;
8092
- ot[ko] = oe.LINEAR_MIPMAP_NEAREST;
8093
- ot[ps] = oe.LINEAR_MIPMAP_LINEAR;
8094
- ot[cs] = oe.CLAMP_TO_EDGE;
8095
- ot[an] = oe.REPEAT;
8096
- ot[Lo] = oe.MIRRORED_REPEAT;
8097
- const co = {
8119
+ ot[Do] = ae.NEAREST;
8120
+ ot[Mo] = ae.NEAREST_MIPMAP_NEAREST;
8121
+ ot[Fo] = ae.NEAREST_MIPMAP_LINEAR;
8122
+ ot[mt] = ae.LINEAR;
8123
+ ot[ko] = ae.LINEAR_MIPMAP_NEAREST;
8124
+ ot[ps] = ae.LINEAR_MIPMAP_LINEAR;
8125
+ ot[cs] = ae.CLAMP_TO_EDGE;
8126
+ ot[an] = ae.REPEAT;
8127
+ ot[Lo] = ae.MIRRORED_REPEAT;
8128
+ const lo = {
8098
8129
  scale: "scale",
8099
8130
  position: "translation",
8100
8131
  quaternion: "rotation",
8101
8132
  morphTargetInfluences: "weights"
8102
- }, ll = new Se(), lo = 12, hl = 1179937895, ul = 2, ho = 8, dl = 1313821514, gl = 5130562;
8133
+ }, ll = new Se(), ho = 12, hl = 1179937895, ul = 2, uo = 8, gl = 1313821514, dl = 5130562;
8103
8134
  function Nn(A, e) {
8104
8135
  return A.length === e.length && A.every(function(t, s) {
8105
8136
  return t === e[s];
@@ -8137,10 +8168,10 @@ function qs(A, e = 0) {
8137
8168
  }
8138
8169
  return A;
8139
8170
  }
8140
- function uo() {
8171
+ function go() {
8141
8172
  return typeof document > "u" && typeof OffscreenCanvas < "u" ? new OffscreenCanvas(1, 1) : document.createElement("canvas");
8142
8173
  }
8143
- function go(A, e) {
8174
+ function po(A, e) {
8144
8175
  if (A.toBlob !== void 0)
8145
8176
  return new Promise((s) => A.toBlob(s, e));
8146
8177
  let t;
@@ -8188,32 +8219,32 @@ class Il {
8188
8219
  s = n.options;
8189
8220
  const a = n.extensionsUsed, r = n.extensionsRequired, c = new Blob(i, { type: "application/octet-stream" }), l = Object.keys(a), h = Object.keys(r);
8190
8221
  if (l.length > 0 && (o.extensionsUsed = l), h.length > 0 && (o.extensionsRequired = h), o.buffers && o.buffers.length > 0 && (o.buffers[0].byteLength = c.size), s.binary === !0) {
8191
- const d = new FileReader();
8192
- d.readAsArrayBuffer(c), d.onloadend = function() {
8193
- const g = qs(d.result), p = new DataView(new ArrayBuffer(ho));
8194
- p.setUint32(0, g.byteLength, !0), p.setUint32(4, gl, !0);
8195
- const m = qs(pl(JSON.stringify(o)), 32), I = new DataView(new ArrayBuffer(ho));
8196
- I.setUint32(0, m.byteLength, !0), I.setUint32(4, dl, !0);
8197
- const b = new ArrayBuffer(lo), B = new DataView(b);
8222
+ const g = new FileReader();
8223
+ g.readAsArrayBuffer(c), g.onloadend = function() {
8224
+ const d = qs(g.result), p = new DataView(new ArrayBuffer(uo));
8225
+ p.setUint32(0, d.byteLength, !0), p.setUint32(4, dl, !0);
8226
+ const m = qs(pl(JSON.stringify(o)), 32), I = new DataView(new ArrayBuffer(uo));
8227
+ I.setUint32(0, m.byteLength, !0), I.setUint32(4, gl, !0);
8228
+ const b = new ArrayBuffer(ho), B = new DataView(b);
8198
8229
  B.setUint32(0, hl, !0), B.setUint32(4, ul, !0);
8199
- const E = lo + I.byteLength + m.byteLength + p.byteLength + g.byteLength;
8230
+ const E = ho + I.byteLength + m.byteLength + p.byteLength + d.byteLength;
8200
8231
  B.setUint32(8, E, !0);
8201
8232
  const w = new Blob([
8202
8233
  b,
8203
8234
  I,
8204
8235
  m,
8205
8236
  p,
8206
- g
8237
+ d
8207
8238
  ], { type: "application/octet-stream" }), Q = new FileReader();
8208
8239
  Q.readAsArrayBuffer(w), Q.onloadend = function() {
8209
8240
  t(Q.result);
8210
8241
  };
8211
8242
  };
8212
8243
  } else if (o.buffers && o.buffers.length > 0) {
8213
- const d = new FileReader();
8214
- d.readAsDataURL(c), d.onloadend = function() {
8215
- const g = d.result;
8216
- o.buffers[0].uri = g, t(o);
8244
+ const g = new FileReader();
8245
+ g.readAsDataURL(c), g.onloadend = function() {
8246
+ const d = g.result;
8247
+ o.buffers[0].uri = d, t(o);
8217
8248
  };
8218
8249
  } else
8219
8250
  t(o);
@@ -8299,15 +8330,15 @@ class Il {
8299
8330
  buildMetalRoughTexture(e, t) {
8300
8331
  if (e === t)
8301
8332
  return e;
8302
- function s(g) {
8303
- return g.colorSpace === de ? function(m) {
8333
+ function s(d) {
8334
+ return d.colorSpace === ge ? function(m) {
8304
8335
  return m < 0.04045 ? m * 0.0773993808 : Math.pow(m * 0.9478672986 + 0.0521327014, 2.4);
8305
8336
  } : function(m) {
8306
8337
  return m;
8307
8338
  };
8308
8339
  }
8309
8340
  console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), e instanceof Gn && (e = Hs(e)), t instanceof Gn && (t = Hs(t));
8310
- const n = e ? e.image : null, i = t ? t.image : null, o = Math.max(n ? n.width : 0, i ? i.width : 0), a = Math.max(n ? n.height : 0, i ? i.height : 0), r = uo();
8341
+ const n = e ? e.image : null, i = t ? t.image : null, o = Math.max(n ? n.width : 0, i ? i.width : 0), a = Math.max(n ? n.height : 0, i ? i.height : 0), r = go();
8311
8342
  r.width = o, r.height = a;
8312
8343
  const c = r.getContext("2d", {
8313
8344
  willReadFrequently: !0
@@ -8316,19 +8347,19 @@ class Il {
8316
8347
  const l = c.getImageData(0, 0, o, a);
8317
8348
  if (n) {
8318
8349
  c.drawImage(n, 0, 0, o, a);
8319
- const g = s(e), p = c.getImageData(0, 0, o, a).data;
8350
+ const d = s(e), p = c.getImageData(0, 0, o, a).data;
8320
8351
  for (let m = 2; m < p.length; m += 4)
8321
- l.data[m] = g(p[m] / 256) * 256;
8352
+ l.data[m] = d(p[m] / 256) * 256;
8322
8353
  }
8323
8354
  if (i) {
8324
8355
  c.drawImage(i, 0, 0, o, a);
8325
- const g = s(t), p = c.getImageData(0, 0, o, a).data;
8356
+ const d = s(t), p = c.getImageData(0, 0, o, a).data;
8326
8357
  for (let m = 1; m < p.length; m += 4)
8327
- l.data[m] = g(p[m] / 256) * 256;
8358
+ l.data[m] = d(p[m] / 256) * 256;
8328
8359
  }
8329
8360
  c.putImageData(l, 0, 0);
8330
- const d = (e || t).clone();
8331
- return d.source = new Yr(r), d.colorSpace = ds, d.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), d;
8361
+ const g = (e || t).clone();
8362
+ return g.source = new Yr(r), g.colorSpace = gs, g.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), g;
8332
8363
  }
8333
8364
  /**
8334
8365
  * Process a buffer to append to the default one.
@@ -8353,34 +8384,34 @@ class Il {
8353
8384
  o.bufferViews || (o.bufferViews = []);
8354
8385
  let a;
8355
8386
  switch (t) {
8356
- case oe.BYTE:
8357
- case oe.UNSIGNED_BYTE:
8387
+ case ae.BYTE:
8388
+ case ae.UNSIGNED_BYTE:
8358
8389
  a = 1;
8359
8390
  break;
8360
- case oe.SHORT:
8361
- case oe.UNSIGNED_SHORT:
8391
+ case ae.SHORT:
8392
+ case ae.UNSIGNED_SHORT:
8362
8393
  a = 2;
8363
8394
  break;
8364
8395
  default:
8365
8396
  a = 4;
8366
8397
  }
8367
8398
  let r = e.itemSize * a;
8368
- i === oe.ARRAY_BUFFER && (r = Math.ceil(r / 4) * 4);
8399
+ i === ae.ARRAY_BUFFER && (r = Math.ceil(r / 4) * 4);
8369
8400
  const c = ya(n * r), l = new DataView(new ArrayBuffer(c));
8370
8401
  let h = 0;
8371
8402
  for (let p = s; p < s + n; p++) {
8372
8403
  for (let m = 0; m < e.itemSize; m++) {
8373
8404
  let I;
8374
- e.itemSize > 4 ? I = e.array[p * e.itemSize + m] : (m === 0 ? I = e.getX(p) : m === 1 ? I = e.getY(p) : m === 2 ? I = e.getZ(p) : m === 3 && (I = e.getW(p)), e.normalized === !0 && (I = ye.normalize(I, e.array))), t === oe.FLOAT ? l.setFloat32(h, I, !0) : t === oe.INT ? l.setInt32(h, I, !0) : t === oe.UNSIGNED_INT ? l.setUint32(h, I, !0) : t === oe.SHORT ? l.setInt16(h, I, !0) : t === oe.UNSIGNED_SHORT ? l.setUint16(h, I, !0) : t === oe.BYTE ? l.setInt8(h, I) : t === oe.UNSIGNED_BYTE && l.setUint8(h, I), h += a;
8405
+ e.itemSize > 4 ? I = e.array[p * e.itemSize + m] : (m === 0 ? I = e.getX(p) : m === 1 ? I = e.getY(p) : m === 2 ? I = e.getZ(p) : m === 3 && (I = e.getW(p)), e.normalized === !0 && (I = ye.normalize(I, e.array))), t === ae.FLOAT ? l.setFloat32(h, I, !0) : t === ae.INT ? l.setInt32(h, I, !0) : t === ae.UNSIGNED_INT ? l.setUint32(h, I, !0) : t === ae.SHORT ? l.setInt16(h, I, !0) : t === ae.UNSIGNED_SHORT ? l.setUint16(h, I, !0) : t === ae.BYTE ? l.setInt8(h, I) : t === ae.UNSIGNED_BYTE && l.setUint8(h, I), h += a;
8375
8406
  }
8376
8407
  h % r !== 0 && (h += r - h % r);
8377
8408
  }
8378
- const d = {
8409
+ const g = {
8379
8410
  buffer: this.processBuffer(l.buffer),
8380
8411
  byteOffset: this.byteOffset,
8381
8412
  byteLength: c
8382
8413
  };
8383
- return i !== void 0 && (d.target = i), i === oe.ARRAY_BUFFER && (d.byteStride = r), this.byteOffset += c, o.bufferViews.push(d), {
8414
+ return i !== void 0 && (g.target = i), i === ae.ARRAY_BUFFER && (g.byteStride = r), this.byteOffset += c, o.bufferViews.push(g), {
8384
8415
  id: o.bufferViews.length - 1,
8385
8416
  byteLength: 0
8386
8417
  };
@@ -8423,26 +8454,26 @@ class Il {
8423
8454
  };
8424
8455
  let a;
8425
8456
  if (e.array.constructor === Float32Array)
8426
- a = oe.FLOAT;
8457
+ a = ae.FLOAT;
8427
8458
  else if (e.array.constructor === Int32Array)
8428
- a = oe.INT;
8459
+ a = ae.INT;
8429
8460
  else if (e.array.constructor === Uint32Array)
8430
- a = oe.UNSIGNED_INT;
8461
+ a = ae.UNSIGNED_INT;
8431
8462
  else if (e.array.constructor === Int16Array)
8432
- a = oe.SHORT;
8463
+ a = ae.SHORT;
8433
8464
  else if (e.array.constructor === Uint16Array)
8434
- a = oe.UNSIGNED_SHORT;
8465
+ a = ae.UNSIGNED_SHORT;
8435
8466
  else if (e.array.constructor === Int8Array)
8436
- a = oe.BYTE;
8467
+ a = ae.BYTE;
8437
8468
  else if (e.array.constructor === Uint8Array)
8438
- a = oe.UNSIGNED_BYTE;
8469
+ a = ae.UNSIGNED_BYTE;
8439
8470
  else
8440
8471
  throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: " + e.array.constructor.name);
8441
8472
  if (s === void 0 && (s = 0), (n === void 0 || n === 1 / 0) && (n = e.count), n === 0)
8442
8473
  return null;
8443
8474
  const r = ml(e, s, n);
8444
8475
  let c;
8445
- t !== void 0 && (c = e === t.index ? oe.ELEMENT_ARRAY_BUFFER : oe.ARRAY_BUFFER);
8476
+ t !== void 0 && (c = e === t.index ? ae.ELEMENT_ARRAY_BUFFER : ae.ARRAY_BUFFER);
8446
8477
  const l = this.processBufferView(e, a, s, n, c), h = {
8447
8478
  bufferView: l.id,
8448
8479
  byteOffset: l.byteOffset,
@@ -8470,31 +8501,31 @@ class Il {
8470
8501
  if (l[h] !== void 0)
8471
8502
  return l[h];
8472
8503
  a.images || (a.images = []);
8473
- const d = { mimeType: n }, g = uo();
8474
- g.width = Math.min(e.width, r.maxTextureSize), g.height = Math.min(e.height, r.maxTextureSize);
8475
- const p = g.getContext("2d", {
8504
+ const g = { mimeType: n }, d = go();
8505
+ d.width = Math.min(e.width, r.maxTextureSize), d.height = Math.min(e.height, r.maxTextureSize);
8506
+ const p = d.getContext("2d", {
8476
8507
  willReadFrequently: !0
8477
8508
  });
8478
- if (s === !0 && (p.translate(0, g.height), p.scale(1, -1)), e.data !== void 0) {
8509
+ if (s === !0 && (p.translate(0, d.height), p.scale(1, -1)), e.data !== void 0) {
8479
8510
  t !== Kt && console.error("GLTFExporter: Only RGBAFormat is supported.", t), (e.width > r.maxTextureSize || e.height > r.maxTextureSize) && console.warn("GLTFExporter: Image size is bigger than maxTextureSize", e);
8480
8511
  const I = new Uint8ClampedArray(e.height * e.width * 4);
8481
8512
  for (let b = 0; b < I.length; b += 4)
8482
8513
  I[b + 0] = e.data[b + 0], I[b + 1] = e.data[b + 1], I[b + 2] = e.data[b + 2], I[b + 3] = e.data[b + 3];
8483
8514
  p.putImageData(new ImageData(I, e.width, e.height), 0, 0);
8484
8515
  } else if (typeof HTMLImageElement < "u" && e instanceof HTMLImageElement || typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement || typeof ImageBitmap < "u" && e instanceof ImageBitmap || typeof OffscreenCanvas < "u" && e instanceof OffscreenCanvas)
8485
- p.drawImage(e, 0, 0, g.width, g.height);
8516
+ p.drawImage(e, 0, 0, d.width, d.height);
8486
8517
  else
8487
8518
  throw new Error("THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement, ImageBitmap or OffscreenCanvas.");
8488
8519
  r.binary === !0 ? c.push(
8489
- go(g, n).then((I) => i.processBufferViewImage(I)).then((I) => {
8490
- d.bufferView = I;
8520
+ po(d, n).then((I) => i.processBufferViewImage(I)).then((I) => {
8521
+ g.bufferView = I;
8491
8522
  })
8492
- ) : g.toDataURL !== void 0 ? d.uri = g.toDataURL(n) : c.push(
8493
- go(g, n).then((I) => new FileReader().readAsDataURL(I)).then((I) => {
8494
- d.uri = I;
8523
+ ) : d.toDataURL !== void 0 ? g.uri = d.toDataURL(n) : c.push(
8524
+ po(d, n).then((I) => new FileReader().readAsDataURL(I)).then((I) => {
8525
+ g.uri = I;
8495
8526
  })
8496
8527
  );
8497
- const m = a.images.push(d) - 1;
8528
+ const m = a.images.push(g) - 1;
8498
8529
  return l[h] = m, m;
8499
8530
  } else
8500
8531
  throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.");
@@ -8548,7 +8579,7 @@ class Il {
8548
8579
  * @return {Integer|null} Index of the processed material in the "materials" array
8549
8580
  */
8550
8581
  processMaterial(e) {
8551
- var c, l, h, d, g;
8582
+ var c, l, h, g, d;
8552
8583
  const t = this.cache, s = this.json;
8553
8584
  if (t.materials.has(e))
8554
8585
  return t.materials.get(e);
@@ -8584,21 +8615,21 @@ class Il {
8584
8615
  this.applyTextureTransform(I, e.emissiveMap), n.emissiveTexture = I;
8585
8616
  }
8586
8617
  }
8587
- if ((d = e.normalMap) != null && d.image) {
8618
+ if ((g = e.normalMap) != null && g.image) {
8588
8619
  const p = {
8589
8620
  index: this.processTexture(e.normalMap),
8590
8621
  texCoord: e.normalMap.channel
8591
8622
  };
8592
8623
  e.normalScale && e.normalScale.x !== 1 && (p.scale = e.normalScale.x), this.applyTextureTransform(p, e.normalMap), n.normalTexture = p;
8593
8624
  }
8594
- if ((g = e.aoMap) != null && g.image) {
8625
+ if ((d = e.aoMap) != null && d.image) {
8595
8626
  const p = {
8596
8627
  index: this.processTexture(e.aoMap),
8597
8628
  texCoord: e.aoMap.channel
8598
8629
  };
8599
8630
  e.aoMapIntensity !== 1 && (p.strength = e.aoMapIntensity), this.applyTextureTransform(p, e.aoMap), n.occlusionTexture = p;
8600
8631
  }
8601
- e.transparent ? n.alphaMode = "BLEND" : e.alphaTest > 0 && (n.alphaMode = "MASK", n.alphaCutoff = e.alphaTest), e.side === ui && (n.doubleSided = !0), e.name !== "" && (n.name = e.name), this.serializeUserData(e, n), this._invokeAll(function(p) {
8632
+ e.transparent ? n.alphaMode = "BLEND" : e.alphaTest > 0 && (n.alphaMode = "MASK", n.alphaCutoff = e.alphaTest), e.side === gi && (n.doubleSided = !0), e.name !== "" && (n.name = e.name), this.serializeUserData(e, n), this._invokeAll(function(p) {
8602
8633
  p.writeMaterial && p.writeMaterial(e, n);
8603
8634
  });
8604
8635
  const r = s.materials.push(n) - 1;
@@ -8626,8 +8657,8 @@ class Il {
8626
8657
  return s.meshes.get(o);
8627
8658
  const a = e.geometry;
8628
8659
  let r;
8629
- e.isLineSegments ? r = oe.LINES : e.isLineLoop ? r = oe.LINE_LOOP : e.isLine ? r = oe.LINE_STRIP : e.isPoints ? r = oe.POINTS : r = e.material.wireframe ? oe.LINES : oe.TRIANGLES;
8630
- const c = {}, l = {}, h = [], d = [], g = {
8660
+ e.isLineSegments ? r = ae.LINES : e.isLineLoop ? r = ae.LINE_LOOP : e.isLine ? r = ae.LINE_STRIP : e.isPoints ? r = ae.POINTS : r = e.material.wireframe ? ae.LINES : ae.TRIANGLES;
8661
+ const c = {}, l = {}, h = [], g = [], d = {
8631
8662
  uv: "TEXCOORD_0",
8632
8663
  uv1: "TEXCOORD_1",
8633
8664
  uv2: "TEXCOORD_2",
@@ -8642,7 +8673,7 @@ class Il {
8642
8673
  if (Q.slice(0, 5) === "morph")
8643
8674
  continue;
8644
8675
  const R = a.attributes[Q];
8645
- if (Q = g[Q] || Q.toUpperCase(), /^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(Q) || (Q = "_" + Q), s.attributes.has(this.getUID(R))) {
8676
+ if (Q = d[Q] || Q.toUpperCase(), /^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(Q) || (Q = "_" + Q), s.attributes.has(this.getUID(R))) {
8646
8677
  l[Q] = s.attributes.get(this.getUID(R));
8647
8678
  continue;
8648
8679
  }
@@ -8679,7 +8710,7 @@ class Il {
8679
8710
  ee === 0 && q.setX(H, O.getX(H) - U.getX(H)), ee === 1 && q.setY(H, O.getY(H) - U.getY(H)), ee === 2 && q.setZ(H, O.getZ(H) - U.getZ(H)), ee === 3 && q.setW(H, O.getW(H) - U.getW(H));
8680
8711
  T[Z] = this.processAccessor(q, a), s.attributes.set(this.getUID(U, !0), T[Z]);
8681
8712
  }
8682
- d.push(T), Q.push(e.morphTargetInfluences[x]), e.morphTargetDictionary !== void 0 && R.push(_[x]);
8713
+ g.push(T), Q.push(e.morphTargetInfluences[x]), e.morphTargetDictionary !== void 0 && R.push(_[x]);
8683
8714
  }
8684
8715
  c.weights = Q, R.length > 0 && (c.extras = {}, c.extras.targetNames = R);
8685
8716
  }
@@ -8699,7 +8730,7 @@ class Il {
8699
8730
  mode: r,
8700
8731
  attributes: l
8701
8732
  };
8702
- if (this.serializeUserData(a, _), d.length > 0 && (_.targets = d), a.index !== null) {
8733
+ if (this.serializeUserData(a, _), g.length > 0 && (_.targets = g), a.index !== null) {
8703
8734
  let T = this.getUID(a.index);
8704
8735
  (E[Q].start !== void 0 || E[Q].count !== void 0) && (T += ":" + E[Q].start + ":" + E[Q].count), s.attributes.has(T) ? _.indices = s.attributes.get(T) : (_.indices = this.processAccessor(a.index, a, E[Q].start, E[Q].count), s.attributes.set(T, _.indices)), _.indices === null && delete _.indices;
8705
8736
  }
@@ -8745,7 +8776,7 @@ class Il {
8745
8776
  }
8746
8777
  t.normalized && (s += " normalized");
8747
8778
  const n = e.split("_", 1)[0];
8748
- Ao[n] && Ao[n].includes(s) && (this.extensionsUsed[js] = !0, this.extensionsRequired[js] = !0);
8779
+ co[n] && co[n].includes(s) && (this.extensionsUsed[js] = !0, this.extensionsRequired[js] = !0);
8749
8780
  }
8750
8781
  /**
8751
8782
  * Process camera
@@ -8787,24 +8818,24 @@ class Il {
8787
8818
  for (let r = 0; r < i.length; ++r) {
8788
8819
  const c = i[r], l = It.parseTrackName(c.name);
8789
8820
  let h = It.findNode(t, l.nodeName);
8790
- const d = co[l.propertyName];
8791
- if (l.objectName === "bones" && (h.isSkinnedMesh === !0 ? h = h.skeleton.getBoneByName(l.objectIndex) : h = void 0), !h || !d) {
8821
+ const g = lo[l.propertyName];
8822
+ if (l.objectName === "bones" && (h.isSkinnedMesh === !0 ? h = h.skeleton.getBoneByName(l.objectIndex) : h = void 0), !h || !g) {
8792
8823
  console.warn('THREE.GLTFExporter: Could not export animation track "%s".', c.name);
8793
8824
  continue;
8794
8825
  }
8795
- const g = 1;
8826
+ const d = 1;
8796
8827
  let p = c.values.length / c.times.length;
8797
- d === co.morphTargetInfluences && (p /= h.morphTargetInfluences.length);
8828
+ g === lo.morphTargetInfluences && (p /= h.morphTargetInfluences.length);
8798
8829
  let m;
8799
- c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline === !0 ? (m = "CUBICSPLINE", p /= 3) : c.getInterpolation() === pi ? m = "STEP" : m = "LINEAR", a.push({
8800
- input: this.processAccessor(new nt(c.times, g)),
8830
+ c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline === !0 ? (m = "CUBICSPLINE", p /= 3) : c.getInterpolation() === fi ? m = "STEP" : m = "LINEAR", a.push({
8831
+ input: this.processAccessor(new nt(c.times, d)),
8801
8832
  output: this.processAccessor(new nt(c.values, p)),
8802
8833
  interpolation: m
8803
8834
  }), o.push({
8804
8835
  sampler: a.length - 1,
8805
8836
  target: {
8806
8837
  node: n.get(h),
8807
- path: d
8838
+ path: g
8808
8839
  }
8809
8840
  });
8810
8841
  }
@@ -8863,8 +8894,8 @@ class Il {
8863
8894
  for (let c = 0, l = e.children.length; c < l; c++) {
8864
8895
  const h = e.children[c];
8865
8896
  if (h.visible || n.onlyVisible === !1) {
8866
- const d = this.processNode(h);
8867
- d !== null && r.push(d);
8897
+ const g = this.processNode(h);
8898
+ g !== null && r.push(g);
8868
8899
  }
8869
8900
  }
8870
8901
  r.length > 0 && (o.children = r);
@@ -9175,14 +9206,14 @@ class Dl {
9175
9206
  if (!e.isInstancedMesh)
9176
9207
  return;
9177
9208
  const s = this.writer, n = e, i = new Float32Array(n.count * 3), o = new Float32Array(n.count * 4), a = new Float32Array(n.count * 3), r = new ue(), c = new P(), l = new Te(), h = new P();
9178
- for (let g = 0; g < n.count; g++)
9179
- n.getMatrixAt(g, r), r.decompose(c, l, h), c.toArray(i, g * 3), l.toArray(o, g * 4), h.toArray(a, g * 3);
9180
- const d = {
9209
+ for (let d = 0; d < n.count; d++)
9210
+ n.getMatrixAt(d, r), r.decompose(c, l, h), c.toArray(i, d * 3), l.toArray(o, d * 4), h.toArray(a, d * 3);
9211
+ const g = {
9181
9212
  TRANSLATION: s.processAccessor(new nt(i, 3)),
9182
9213
  ROTATION: s.processAccessor(new nt(o, 4)),
9183
9214
  SCALE: s.processAccessor(new nt(a, 3))
9184
9215
  };
9185
- n.instanceColor && (d._COLOR_0 = s.processAccessor(n.instanceColor)), t.extensions = t.extensions || {}, t.extensions[this.name] = { attributes: d }, s.extensionsUsed[this.name] = !0, s.extensionsRequired[this.name] = !0;
9216
+ n.instanceColor && (g._COLOR_0 = s.processAccessor(n.instanceColor)), t.extensions = t.extensions || {}, t.extensions[this.name] = { attributes: g }, s.extensionsUsed[this.name] = !0, s.extensionsRequired[this.name] = !0;
9186
9217
  }
9187
9218
  }
9188
9219
  wa.Utils = {
@@ -9233,19 +9264,19 @@ wa.Utils = {
9233
9264
  let h;
9234
9265
  if (s[r.uuid] === void 0) {
9235
9266
  h = o.clone();
9236
- const g = new h.ValueBufferType(c * h.times.length);
9267
+ const d = new h.ValueBufferType(c * h.times.length);
9237
9268
  for (let p = 0; p < h.times.length; p++)
9238
- g[p * c + l] = h.values[p];
9239
- h.name = (a.nodeName || "") + ".morphTargetInfluences", h.values = g, s[r.uuid] = h, t.push(h);
9269
+ d[p * c + l] = h.values[p];
9270
+ h.name = (a.nodeName || "") + ".morphTargetInfluences", h.values = d, s[r.uuid] = h, t.push(h);
9240
9271
  continue;
9241
9272
  }
9242
- const d = o.createInterpolant(new o.ValueBufferType(1));
9273
+ const g = o.createInterpolant(new o.ValueBufferType(1));
9243
9274
  h = s[r.uuid];
9244
- for (let g = 0; g < h.times.length; g++)
9245
- h.values[g * c + l] = d.evaluate(h.times[g]);
9246
- for (let g = 0; g < o.times.length; g++) {
9247
- const p = this.insertKeyframe(h, o.times[g]);
9248
- h.values[p * c + l] = o.values[g];
9275
+ for (let d = 0; d < h.times.length; d++)
9276
+ h.values[d * c + l] = g.evaluate(h.times[d]);
9277
+ for (let d = 0; d < o.times.length; d++) {
9278
+ const p = this.insertKeyframe(h, o.times[d]);
9279
+ h.values[p * c + l] = o.values[d];
9249
9280
  }
9250
9281
  }
9251
9282
  return A.tracks = t, A;
@@ -9516,7 +9547,7 @@ function jl(A, e) {
9516
9547
  });
9517
9548
  });
9518
9549
  }
9519
- function po(A, e) {
9550
+ function fo(A, e) {
9520
9551
  jl(A.motionController, e), A.envMap && e.traverse((t) => {
9521
9552
  t.isMesh && (t.material.envMap = A.envMap, t.material.needsUpdate = !0);
9522
9553
  }), A.layers.mask != 0 && e.traverse((t) => {
@@ -9543,14 +9574,14 @@ class _h {
9543
9574
  );
9544
9575
  const r = this._assetCache[t.motionController.assetUrl];
9545
9576
  if (r)
9546
- s = r.scene.clone(), po(t, s), this.onLoad && this.onLoad(s);
9577
+ s = r.scene.clone(), fo(t, s), this.onLoad && this.onLoad(s);
9547
9578
  else {
9548
9579
  if (!this.gltfLoader)
9549
9580
  throw new Error("GLTFLoader not set.");
9550
9581
  this.gltfLoader.setPath(""), this.gltfLoader.load(
9551
9582
  t.motionController.assetUrl,
9552
9583
  (c) => {
9553
- this._assetCache[t.motionController.assetUrl] = c, s = c.scene.clone(), po(t, s), this.onLoad && this.onLoad(s);
9584
+ this._assetCache[t.motionController.assetUrl] = c, s = c.scene.clone(), fo(t, s), this.onLoad && this.onLoad(s);
9554
9585
  },
9555
9586
  null,
9556
9587
  () => {
@@ -9600,8 +9631,8 @@ class Dh {
9600
9631
  "pinky-finger-phalanx-distal",
9601
9632
  "pinky-finger-tip"
9602
9633
  ].forEach((h) => {
9603
- const d = r.getObjectByName(h);
9604
- d !== void 0 ? d.jointName = h : console.warn(`Couldn't find ${h} in ${n} hand mesh`), this.bones.push(d);
9634
+ const g = r.getObjectByName(h);
9635
+ g !== void 0 ? g.jointName = h : console.warn(`Couldn't find ${h} in ${n} hand mesh`), this.bones.push(g);
9605
9636
  }), o && o(r);
9606
9637
  });
9607
9638
  }
@@ -9619,7 +9650,7 @@ class Dh {
9619
9650
  }
9620
9651
  }
9621
9652
  }
9622
- const fo = new fs(), ts = new P();
9653
+ const mo = new fs(), ts = new P();
9623
9654
  class xa extends Jr {
9624
9655
  constructor() {
9625
9656
  super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
@@ -9658,10 +9689,10 @@ class xa extends Jr {
9658
9689
  computeBoundingBox() {
9659
9690
  this.boundingBox === null && (this.boundingBox = new fs());
9660
9691
  const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
9661
- e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), fo.setFromBufferAttribute(t), this.boundingBox.union(fo));
9692
+ e !== void 0 && t !== void 0 && (this.boundingBox.setFromBufferAttribute(e), mo.setFromBufferAttribute(t), this.boundingBox.union(mo));
9662
9693
  }
9663
9694
  computeBoundingSphere() {
9664
- this.boundingSphere === null && (this.boundingSphere = new fi()), this.boundingBox === null && this.computeBoundingBox();
9695
+ this.boundingSphere === null && (this.boundingSphere = new mi()), this.boundingBox === null && this.computeBoundingBox();
9665
9696
  const e = this.attributes.instanceStart, t = this.attributes.instanceEnd;
9666
9697
  if (e !== void 0 && t !== void 0) {
9667
9698
  const s = this.boundingSphere.center;
@@ -10151,9 +10182,9 @@ class Sa extends Ho {
10151
10182
  this.defines && (e === !0 !== this.alphaToCoverage && (this.needsUpdate = !0), e === !0 ? this.defines.USE_ALPHA_TO_COVERAGE = "" : delete this.defines.USE_ALPHA_TO_COVERAGE);
10152
10183
  }
10153
10184
  }
10154
- const zs = new Ut(), mo = new P(), Io = new P(), Ne = new Ut(), Ue = new Ut(), Ct = new Ut(), Ks = new P(), Ys = new ue(), Pe = new Wr(), bo = new P(), ns = new fs(), ss = new fi(), Bt = new Ut();
10185
+ const zs = new Ut(), Io = new P(), bo = new P(), Ne = new Ut(), Ue = new Ut(), Ct = new Ut(), Ks = new P(), Ys = new ue(), Pe = new Wr(), Eo = new P(), ns = new fs(), ss = new mi(), Bt = new Ut();
10155
10186
  let yt, on;
10156
- function Eo(A, e, t) {
10187
+ function Co(A, e, t) {
10157
10188
  return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = on / t.width, Bt.y = on / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
10158
10189
  }
10159
10190
  function zl(A, e) {
@@ -10176,8 +10207,8 @@ function zl(A, e) {
10176
10207
  function Kl(A, e, t) {
10177
10208
  const s = e.projectionMatrix, i = A.material.resolution, o = A.matrixWorld, a = A.geometry, r = a.attributes.instanceStart, c = a.attributes.instanceEnd, l = Math.min(a.instanceCount, r.count), h = -e.near;
10178
10209
  yt.at(1, Ct), Ct.w = 1, Ct.applyMatrix4(e.matrixWorldInverse), Ct.applyMatrix4(s), Ct.multiplyScalar(1 / Ct.w), Ct.x *= i.x / 2, Ct.y *= i.y / 2, Ct.z = 0, Ks.copy(Ct), Ys.multiplyMatrices(e.matrixWorldInverse, o);
10179
- for (let d = 0, g = l; d < g; d++) {
10180
- if (Ne.fromBufferAttribute(r, d), Ue.fromBufferAttribute(c, d), Ne.w = 1, Ue.w = 1, Ne.applyMatrix4(Ys), Ue.applyMatrix4(Ys), Ne.z > h && Ue.z > h)
10210
+ for (let g = 0, d = l; g < d; g++) {
10211
+ if (Ne.fromBufferAttribute(r, g), Ue.fromBufferAttribute(c, g), Ne.w = 1, Ue.w = 1, Ne.applyMatrix4(Ys), Ue.applyMatrix4(Ys), Ne.z > h && Ue.z > h)
10181
10212
  continue;
10182
10213
  if (Ne.z > h) {
10183
10214
  const E = Ne.z - Ue.z, w = (Ne.z - h) / E;
@@ -10188,10 +10219,10 @@ function Kl(A, e, t) {
10188
10219
  }
10189
10220
  Ne.applyMatrix4(s), Ue.applyMatrix4(s), Ne.multiplyScalar(1 / Ne.w), Ue.multiplyScalar(1 / Ue.w), Ne.x *= i.x / 2, Ne.y *= i.y / 2, Ue.x *= i.x / 2, Ue.y *= i.y / 2, Pe.start.copy(Ne), Pe.start.z = 0, Pe.end.copy(Ue), Pe.end.z = 0;
10190
10221
  const m = Pe.closestPointToPointParameter(Ks, !0);
10191
- Pe.at(m, bo);
10192
- const I = ye.lerp(Ne.z, Ue.z, m), b = I >= -1 && I <= 1, B = Ks.distanceTo(bo) < on * 0.5;
10222
+ Pe.at(m, Eo);
10223
+ const I = ye.lerp(Ne.z, Ue.z, m), b = I >= -1 && I <= 1, B = Ks.distanceTo(Eo) < on * 0.5;
10193
10224
  if (b && B) {
10194
- Pe.start.fromBufferAttribute(r, d), Pe.end.fromBufferAttribute(c, d), Pe.start.applyMatrix4(o), Pe.end.applyMatrix4(o);
10225
+ Pe.start.fromBufferAttribute(r, g), Pe.end.fromBufferAttribute(c, g), Pe.start.applyMatrix4(o), Pe.end.applyMatrix4(o);
10195
10226
  const E = new P(), w = new P();
10196
10227
  yt.distanceSqToSegment(Pe.start, Pe.end, w, E), t.push({
10197
10228
  point: w,
@@ -10199,7 +10230,7 @@ function Kl(A, e, t) {
10199
10230
  distance: yt.origin.distanceTo(w),
10200
10231
  object: A,
10201
10232
  face: null,
10202
- faceIndex: d,
10233
+ faceIndex: g,
10203
10234
  uv: null,
10204
10235
  uv1: null
10205
10236
  });
@@ -10214,7 +10245,7 @@ class Yl extends z {
10214
10245
  computeLineDistances() {
10215
10246
  const e = this.geometry, t = e.attributes.instanceStart, s = e.attributes.instanceEnd, n = new Float32Array(2 * t.count);
10216
10247
  for (let o = 0, a = 0, r = t.count; o < r; o++, a += 2)
10217
- mo.fromBufferAttribute(t, o), Io.fromBufferAttribute(s, o), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + mo.distanceTo(Io);
10248
+ Io.fromBufferAttribute(t, o), bo.fromBufferAttribute(s, o), n[a] = a === 0 ? 0 : n[a - 1], n[a + 1] = n[a] + Io.distanceTo(bo);
10218
10249
  const i = new $s(n, 2, 1);
10219
10250
  return e.setAttribute("instanceDistanceStart", new en(i, 1, 0)), e.setAttribute("instanceDistanceEnd", new en(i, 1, 1)), this;
10220
10251
  }
@@ -10230,7 +10261,7 @@ class Yl extends z {
10230
10261
  c = on * 0.5;
10231
10262
  else {
10232
10263
  const h = Math.max(n.near, ss.distanceToPoint(yt.origin));
10233
- c = Eo(n, h, r.resolution);
10264
+ c = Co(n, h, r.resolution);
10234
10265
  }
10235
10266
  if (ss.radius += c, yt.intersectsSphere(ss) === !1)
10236
10267
  return;
@@ -10240,7 +10271,7 @@ class Yl extends z {
10240
10271
  l = on * 0.5;
10241
10272
  else {
10242
10273
  const h = Math.max(n.near, ns.distanceToPoint(yt.origin));
10243
- l = Eo(n, h, r.resolution);
10274
+ l = Co(n, h, r.resolution);
10244
10275
  }
10245
10276
  ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? zl(this, t) : Kl(this, n, t));
10246
10277
  }
@@ -10277,7 +10308,7 @@ class Mh extends Yl {
10277
10308
  }
10278
10309
  class kh extends z {
10279
10310
  constructor(e) {
10280
- const t = new Vl(e), s = new Ii(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10311
+ const t = new Vl(e), s = new bi(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
10281
10312
  super(s, n);
10282
10313
  function i(o) {
10283
10314
  n.map.dispatchDOMEvent(o);
@@ -10289,7 +10320,7 @@ class kh extends z {
10289
10320
  }
10290
10321
  class Vl extends jo {
10291
10322
  constructor(e) {
10292
- super(Co(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = de, this.minFilter = mt, this.magFilter = mt;
10323
+ super(Bo(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = ge, this.minFilter = mt, this.magFilter = mt;
10293
10324
  const t = new MutationObserver(() => {
10294
10325
  this.scheduleUpdate || (this.scheduleUpdate = setTimeout(() => this.update(), 16));
10295
10326
  }), s = { attributes: !0, childList: !0, subtree: !0, characterData: !0 };
@@ -10299,106 +10330,106 @@ class Vl extends jo {
10299
10330
  e.data && Wl(this.dom, e.type, e.data.x, e.data.y);
10300
10331
  }
10301
10332
  update() {
10302
- this.image = Co(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
10333
+ this.image = Bo(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
10303
10334
  }
10304
10335
  dispose() {
10305
10336
  this.observer && this.observer.disconnect(), this.scheduleUpdate = clearTimeout(this.scheduleUpdate), super.dispose();
10306
10337
  }
10307
10338
  }
10308
10339
  const Ai = /* @__PURE__ */ new WeakMap();
10309
- function Co(A) {
10340
+ function Bo(A) {
10310
10341
  const e = document.createRange(), t = new Se();
10311
- function s(d) {
10312
- const g = [];
10342
+ function s(g) {
10343
+ const d = [];
10313
10344
  let p = !1;
10314
10345
  function m() {
10315
- if (p && (p = !1, d.restore()), g.length === 0)
10346
+ if (p && (p = !1, g.restore()), d.length === 0)
10316
10347
  return;
10317
10348
  let I = -1 / 0, b = -1 / 0, B = 1 / 0, E = 1 / 0;
10318
- for (let w = 0; w < g.length; w++) {
10319
- const Q = g[w];
10349
+ for (let w = 0; w < d.length; w++) {
10350
+ const Q = d[w];
10320
10351
  I = Math.max(I, Q.x), b = Math.max(b, Q.y), B = Math.min(B, Q.x + Q.width), E = Math.min(E, Q.y + Q.height);
10321
10352
  }
10322
- d.save(), d.beginPath(), d.rect(I, b, B - I, E - b), d.clip(), p = !0;
10353
+ g.save(), g.beginPath(), g.rect(I, b, B - I, E - b), g.clip(), p = !0;
10323
10354
  }
10324
10355
  return {
10325
10356
  add: function(I) {
10326
- g.push(I), m();
10357
+ d.push(I), m();
10327
10358
  },
10328
10359
  remove: function() {
10329
- g.pop(), m();
10360
+ d.pop(), m();
10330
10361
  }
10331
10362
  };
10332
10363
  }
10333
- function n(d, g, p, m) {
10334
- m !== "" && (d.textTransform === "uppercase" && (m = m.toUpperCase()), l.font = d.fontWeight + " " + d.fontSize + " " + d.fontFamily, l.textBaseline = "top", l.fillStyle = d.color, l.fillText(m, g, p + parseFloat(d.fontSize) * 0.1));
10364
+ function n(g, d, p, m) {
10365
+ m !== "" && (g.textTransform === "uppercase" && (m = m.toUpperCase()), l.font = g.fontWeight + " " + g.fontSize + " " + g.fontFamily, l.textBaseline = "top", l.fillStyle = g.color, l.fillText(m, d, p + parseFloat(g.fontSize) * 0.1));
10335
10366
  }
10336
- function i(d, g, p, m, I) {
10337
- p < 2 * I && (I = p / 2), m < 2 * I && (I = m / 2), l.beginPath(), l.moveTo(d + I, g), l.arcTo(d + p, g, d + p, g + m, I), l.arcTo(d + p, g + m, d, g + m, I), l.arcTo(d, g + m, d, g, I), l.arcTo(d, g, d + p, g, I), l.closePath();
10367
+ function i(g, d, p, m, I) {
10368
+ p < 2 * I && (I = p / 2), m < 2 * I && (I = m / 2), l.beginPath(), l.moveTo(g + I, d), l.arcTo(g + p, d, g + p, d + m, I), l.arcTo(g + p, d + m, g, d + m, I), l.arcTo(g, d + m, g, d, I), l.arcTo(g, d, g + p, d, I), l.closePath();
10338
10369
  }
10339
- function o(d, g, p, m, I, b) {
10340
- const B = d[g + "Width"], E = d[g + "Style"], w = d[g + "Color"];
10370
+ function o(g, d, p, m, I, b) {
10371
+ const B = g[d + "Width"], E = g[d + "Style"], w = g[d + "Color"];
10341
10372
  B !== "0px" && E !== "none" && w !== "transparent" && w !== "rgba(0, 0, 0, 0)" && (l.strokeStyle = w, l.lineWidth = parseFloat(B), l.beginPath(), l.moveTo(p, m), l.lineTo(p + I, m + b), l.stroke());
10342
10373
  }
10343
- function a(d, g) {
10344
- if (d.nodeType === Node.COMMENT_NODE || d.nodeName === "SCRIPT" || d.style && d.style.display === "none")
10374
+ function a(g, d) {
10375
+ if (g.nodeType === Node.COMMENT_NODE || g.nodeName === "SCRIPT" || g.style && g.style.display === "none")
10345
10376
  return;
10346
10377
  let p = 0, m = 0, I = 0, b = 0;
10347
- if (d.nodeType === Node.TEXT_NODE) {
10348
- e.selectNode(d);
10378
+ if (g.nodeType === Node.TEXT_NODE) {
10379
+ e.selectNode(g);
10349
10380
  const E = e.getBoundingClientRect();
10350
- p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, n(g, p, m, d.nodeValue.trim());
10351
- } else if (d instanceof HTMLCanvasElement) {
10352
- const E = d.getBoundingClientRect();
10381
+ p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, n(d, p, m, g.nodeValue.trim());
10382
+ } else if (g instanceof HTMLCanvasElement) {
10383
+ const E = g.getBoundingClientRect();
10353
10384
  p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, l.save();
10354
10385
  const w = window.devicePixelRatio;
10355
- l.scale(1 / w, 1 / w), l.drawImage(d, p, m), l.restore();
10356
- } else if (d instanceof HTMLImageElement) {
10357
- const E = d.getBoundingClientRect();
10358
- p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, l.drawImage(d, p, m, I, b);
10386
+ l.scale(1 / w, 1 / w), l.drawImage(g, p, m), l.restore();
10387
+ } else if (g instanceof HTMLImageElement) {
10388
+ const E = g.getBoundingClientRect();
10389
+ p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, l.drawImage(g, p, m, I, b);
10359
10390
  } else {
10360
- const E = d.getBoundingClientRect();
10361
- p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, g = window.getComputedStyle(d), i(p, m, I, b, parseFloat(g.borderRadius));
10362
- const w = g.backgroundColor;
10391
+ const E = g.getBoundingClientRect();
10392
+ p = E.left - r.left - 0.5, m = E.top - r.top - 0.5, I = E.width, b = E.height, d = window.getComputedStyle(g), i(p, m, I, b, parseFloat(d.borderRadius));
10393
+ const w = d.backgroundColor;
10363
10394
  w !== "transparent" && w !== "rgba(0, 0, 0, 0)" && (l.fillStyle = w, l.fill());
10364
10395
  const Q = ["borderTop", "borderLeft", "borderBottom", "borderRight"];
10365
10396
  let R = !0, _ = null;
10366
10397
  for (const x of Q) {
10367
- if (_ !== null && (R = g[x + "Width"] === g[_ + "Width"] && g[x + "Color"] === g[_ + "Color"] && g[x + "Style"] === g[_ + "Style"]), R === !1)
10398
+ if (_ !== null && (R = d[x + "Width"] === d[_ + "Width"] && d[x + "Color"] === d[_ + "Color"] && d[x + "Style"] === d[_ + "Style"]), R === !1)
10368
10399
  break;
10369
10400
  _ = x;
10370
10401
  }
10371
10402
  if (R === !0) {
10372
- const x = parseFloat(g.borderTopWidth);
10373
- g.borderTopWidth !== "0px" && g.borderTopStyle !== "none" && g.borderTopColor !== "transparent" && g.borderTopColor !== "rgba(0, 0, 0, 0)" && (l.strokeStyle = g.borderTopColor, l.lineWidth = x, l.stroke());
10403
+ const x = parseFloat(d.borderTopWidth);
10404
+ d.borderTopWidth !== "0px" && d.borderTopStyle !== "none" && d.borderTopColor !== "transparent" && d.borderTopColor !== "rgba(0, 0, 0, 0)" && (l.strokeStyle = d.borderTopColor, l.lineWidth = x, l.stroke());
10374
10405
  } else
10375
- o(g, "borderTop", p, m, I, 0), o(g, "borderLeft", p, m, 0, b), o(g, "borderBottom", p, m + b, I, 0), o(g, "borderRight", p + I, m, 0, b);
10376
- if (d instanceof HTMLInputElement) {
10377
- let x = g.accentColor;
10378
- (x === void 0 || x === "auto") && (x = g.color), t.set(x);
10406
+ o(d, "borderTop", p, m, I, 0), o(d, "borderLeft", p, m, 0, b), o(d, "borderBottom", p, m + b, I, 0), o(d, "borderRight", p + I, m, 0, b);
10407
+ if (g instanceof HTMLInputElement) {
10408
+ let x = d.accentColor;
10409
+ (x === void 0 || x === "auto") && (x = d.color), t.set(x);
10379
10410
  const L = Math.sqrt(0.299 * t.r ** 2 + 0.587 * t.g ** 2 + 0.114 * t.b ** 2) < 0.5 ? "white" : "#111111";
10380
- if (d.type === "radio" && (i(p, m, I, b, b), l.fillStyle = "white", l.strokeStyle = x, l.lineWidth = 1, l.fill(), l.stroke(), d.checked && (i(p + 2, m + 2, I - 4, b - 4, b), l.fillStyle = x, l.strokeStyle = L, l.lineWidth = 2, l.fill(), l.stroke())), d.type === "checkbox" && (i(p, m, I, b, 2), l.fillStyle = d.checked ? x : "white", l.strokeStyle = d.checked ? L : x, l.lineWidth = 1, l.stroke(), l.fill(), d.checked)) {
10411
+ if (g.type === "radio" && (i(p, m, I, b, b), l.fillStyle = "white", l.strokeStyle = x, l.lineWidth = 1, l.fill(), l.stroke(), g.checked && (i(p + 2, m + 2, I - 4, b - 4, b), l.fillStyle = x, l.strokeStyle = L, l.lineWidth = 2, l.fill(), l.stroke())), g.type === "checkbox" && (i(p, m, I, b, 2), l.fillStyle = g.checked ? x : "white", l.strokeStyle = g.checked ? L : x, l.lineWidth = 1, l.stroke(), l.fill(), g.checked)) {
10381
10412
  const N = l.textAlign;
10382
10413
  l.textAlign = "center";
10383
10414
  const O = {
10384
10415
  color: L,
10385
- fontFamily: g.fontFamily,
10416
+ fontFamily: d.fontFamily,
10386
10417
  fontSize: b + "px",
10387
10418
  fontWeight: "bold"
10388
10419
  };
10389
10420
  n(O, p + I / 2, m, "✔"), l.textAlign = N;
10390
10421
  }
10391
- if (d.type === "range") {
10392
- const [N, O, Z] = ["min", "max", "value"].map((q) => parseFloat(d[q])), U = (Z - N) / (O - N) * (I - b);
10422
+ if (g.type === "range") {
10423
+ const [N, O, Z] = ["min", "max", "value"].map((q) => parseFloat(g[q])), U = (Z - N) / (O - N) * (I - b);
10393
10424
  i(p, m + b / 4, I, b / 2, b / 4), l.fillStyle = L, l.strokeStyle = x, l.lineWidth = 1, l.fill(), l.stroke(), i(p, m + b / 4, U + b / 2, b / 2, b / 4), l.fillStyle = x, l.fill(), i(p + U, m, b, b, b / 2), l.fillStyle = x, l.fill();
10394
10425
  }
10395
- (d.type === "color" || d.type === "text" || d.type === "number") && (h.add({ x: p, y: m, width: I, height: b }), n(g, p + parseInt(g.paddingLeft), m + parseInt(g.paddingTop), d.value), h.remove());
10426
+ (g.type === "color" || g.type === "text" || g.type === "number") && (h.add({ x: p, y: m, width: I, height: b }), n(d, p + parseInt(d.paddingLeft), m + parseInt(d.paddingTop), g.value), h.remove());
10396
10427
  }
10397
10428
  }
10398
- const B = g.overflow === "auto" || g.overflow === "hidden";
10429
+ const B = d.overflow === "auto" || d.overflow === "hidden";
10399
10430
  B && h.add({ x: p, y: m, width: I, height: b });
10400
- for (let E = 0; E < d.childNodes.length; E++)
10401
- a(d.childNodes[E], g);
10431
+ for (let E = 0; E < g.childNodes.length; E++)
10432
+ a(g.childNodes[E], d);
10402
10433
  B && h.remove();
10403
10434
  }
10404
10435
  const r = A.getBoundingClientRect();
@@ -10423,8 +10454,8 @@ function Wl(A, e, t, s) {
10423
10454
  if (a.nodeType !== Node.TEXT_NODE && a.nodeType !== Node.COMMENT_NODE) {
10424
10455
  const r = a.getBoundingClientRect();
10425
10456
  if (t > r.left && t < r.right && s > r.top && s < r.bottom && (a.dispatchEvent(new MouseEvent(e, n)), a instanceof HTMLInputElement && a.type === "range" && (e === "mousedown" || e === "click"))) {
10426
- const [c, l] = ["min", "max"].map((p) => parseFloat(a[p])), h = r.width, g = (t - r.x) / h;
10427
- a.value = c + (l - c) * g, a.dispatchEvent(new InputEvent("input", { bubbles: !0 }));
10457
+ const [c, l] = ["min", "max"].map((p) => parseFloat(a[p])), h = r.width, d = (t - r.x) / h;
10458
+ a.value = c + (l - c) * d, a.dispatchEvent(new InputEvent("input", { bubbles: !0 }));
10428
10459
  }
10429
10460
  for (let c = 0; c < a.childNodes.length; c++)
10430
10461
  o(a.childNodes[c]);
@@ -10432,18 +10463,18 @@ function Wl(A, e, t, s) {
10432
10463
  }
10433
10464
  o(A);
10434
10465
  }
10435
- const rs = new Le(), dn = { type: "", data: rs }, Bo = new mi();
10466
+ const rs = new Le(), gn = { type: "", data: rs }, wo = new Ii();
10436
10467
  class Fh extends sn {
10437
10468
  listenToPointerEvents(e, t) {
10438
- const s = this, n = new mi(), i = e.domElement;
10469
+ const s = this, n = new Ii(), i = e.domElement;
10439
10470
  function o(a) {
10440
10471
  a.stopPropagation();
10441
10472
  const r = e.domElement.getBoundingClientRect();
10442
10473
  rs.x = (a.clientX - r.left) / r.width * 2 - 1, rs.y = -(a.clientY - r.top) / r.height * 2 + 1, n.setFromCamera(rs, t);
10443
10474
  const c = n.intersectObjects(s.children, !1);
10444
10475
  if (c.length > 0) {
10445
- const l = c[0], h = l.object, d = l.uv;
10446
- dn.type = a.type, dn.data.set(d.x, 1 - d.y), h.dispatchEvent(dn);
10476
+ const l = c[0], h = l.object, g = l.uv;
10477
+ gn.type = a.type, gn.data.set(g.x, 1 - g.y), h.dispatchEvent(gn);
10447
10478
  }
10448
10479
  }
10449
10480
  i.addEventListener("pointerdown", o), i.addEventListener("pointerup", o), i.addEventListener("pointermove", o), i.addEventListener("mousedown", o), i.addEventListener("mouseup", o), i.addEventListener("mousemove", o), i.addEventListener("click", o);
@@ -10457,30 +10488,30 @@ class Fh extends sn {
10457
10488
  };
10458
10489
  function n(i) {
10459
10490
  const o = i.target;
10460
- Bo.setFromXRController(o);
10461
- const a = Bo.intersectObjects(t.children, !1);
10491
+ wo.setFromXRController(o);
10492
+ const a = wo.intersectObjects(t.children, !1);
10462
10493
  if (a.length > 0) {
10463
10494
  const r = a[0], c = r.object, l = r.uv;
10464
- dn.type = s[i.type], dn.data.set(l.x, 1 - l.y), c.dispatchEvent(dn);
10495
+ gn.type = s[i.type], gn.data.set(l.x, 1 - l.y), c.dispatchEvent(gn);
10465
10496
  }
10466
10497
  }
10467
10498
  e.addEventListener("move", n), e.addEventListener("select", n), e.addEventListener("selectstart", n), e.addEventListener("selectend", n);
10468
10499
  }
10469
10500
  }
10470
- const Rn = new P(), _n = new P(), wo = new Oo();
10501
+ const Rn = new P(), _n = new P(), yo = new Oo();
10471
10502
  class Lh extends As {
10472
10503
  constructor(e, t = 1, s = 16711680) {
10473
10504
  const n = new ut(), i = e.geometry.attributes.normal.count, o = new ke(i * 2 * 3, 3);
10474
10505
  n.setAttribute("position", o), super(n, new Lt({ color: s, toneMapped: !1 })), this.object = e, this.size = t, this.type = "VertexNormalsHelper", this.matrixAutoUpdate = !1, this.update();
10475
10506
  }
10476
10507
  update() {
10477
- this.object.updateMatrixWorld(!0), wo.getNormalMatrix(this.object.matrixWorld);
10508
+ this.object.updateMatrixWorld(!0), yo.getNormalMatrix(this.object.matrixWorld);
10478
10509
  const e = this.object.matrixWorld, t = this.geometry.attributes.position, s = this.object.geometry;
10479
10510
  if (s) {
10480
10511
  const n = s.attributes.position, i = s.attributes.normal;
10481
10512
  let o = 0;
10482
10513
  for (let a = 0, r = n.count; a < r; a++)
10483
- Rn.fromBufferAttribute(n, a).applyMatrix4(e), _n.fromBufferAttribute(i, a), _n.applyMatrix3(wo).normalize().multiplyScalar(this.size).add(Rn), t.setXYZ(o, Rn.x, Rn.y, Rn.z), o = o + 1, t.setXYZ(o, _n.x, _n.y, _n.z), o = o + 1;
10514
+ Rn.fromBufferAttribute(n, a).applyMatrix4(e), _n.fromBufferAttribute(i, a), _n.applyMatrix3(yo).normalize().multiplyScalar(this.size).add(Rn), t.setXYZ(o, Rn.x, Rn.y, Rn.z), o = o + 1, t.setXYZ(o, _n.x, _n.y, _n.z), o = o + 1;
10484
10515
  }
10485
10516
  t.needsUpdate = !0;
10486
10517
  }
@@ -10517,9 +10548,9 @@ const lt = {
10517
10548
  // keyframe track will be initialized with a default interpolation type, then modified.
10518
10549
  CUBICSPLINE: void 0,
10519
10550
  LINEAR: jn,
10520
- STEP: pi
10521
- }, yo = It.findNode;
10522
- let Qo = !1;
10551
+ STEP: fi
10552
+ }, Qo = It.findNode;
10553
+ let xo = !1;
10523
10554
  class $l {
10524
10555
  constructor(e) {
10525
10556
  this.parser = e, this.name = Zt, this.animationPointerResolver = null;
@@ -10528,7 +10559,7 @@ class $l {
10528
10559
  return this.animationPointerResolver = e, this;
10529
10560
  }
10530
10561
  _patchPropertyBindingFindNode() {
10531
- Qo || (Qo = !0, It.findNode = function(e, t) {
10562
+ xo || (xo = !0, It.findNode = function(e, t) {
10532
10563
  if (t.startsWith(".materials.")) {
10533
10564
  const s = t.substring(11).substring(t.indexOf(".")), n = s.indexOf("."), i = n < 0 ? s : s.substring(0, n);
10534
10565
  let o = null;
@@ -10552,12 +10583,12 @@ class $l {
10552
10583
  }
10553
10584
  }
10554
10585
  if (!n) {
10555
- const i = yo(e, s[2]);
10586
+ const i = Qo(e, s[2]);
10556
10587
  return i || console.warn(Zt + ": Property binding not found", t, e, e.name, s), i;
10557
10588
  }
10558
10589
  return n;
10559
10590
  }
10560
- return yo(e, t);
10591
+ return Qo(e, t);
10561
10592
  });
10562
10593
  }
10563
10594
  /* DUPLICATE of functionality in GLTFLoader */
@@ -10584,7 +10615,7 @@ class $l {
10584
10615
  }
10585
10616
  switch (i) {
10586
10617
  case lt.material:
10587
- const h = ("/materials/" + o.toString() + "/").length, d = c.substring(0, h);
10618
+ const h = ("/materials/" + o.toString() + "/").length, g = c.substring(0, h);
10588
10619
  switch (n = c.substring(h), n) {
10589
10620
  case "pbrMetallicRoughness/baseColorFactor":
10590
10621
  n = "color";
@@ -10668,11 +10699,11 @@ class $l {
10668
10699
  n = "specularColor";
10669
10700
  break;
10670
10701
  }
10671
- c = d + n;
10702
+ c = g + n;
10672
10703
  break;
10673
10704
  case lt.node:
10674
- const g = ("/nodes/" + o.toString() + "/").length, p = c.substring(0, g);
10675
- switch (n = c.substring(g), n) {
10705
+ const d = ("/nodes/" + o.toString() + "/").length, p = c.substring(0, d);
10706
+ switch (n = c.substring(d), n) {
10676
10707
  case "translation":
10677
10708
  n = "position";
10678
10709
  break;
@@ -10755,12 +10786,12 @@ class $l {
10755
10786
  const c = a.split(".");
10756
10787
  var h = e.name !== void 0 && e.name !== null ? e.name : e.uuid;
10757
10788
  if (c[2] = h, c[3] === "morphTargetInfluences" && e.type === "Group") {
10758
- for (const g of e.children)
10759
- g instanceof di && g.morphTargetInfluences && (c[3] = g.name, c[4] = "morphTargetInfluences", d(this.parser));
10789
+ for (const d of e.children)
10790
+ d instanceof di && d.morphTargetInfluences && (c[3] = d.name, c[4] = "morphTargetInfluences", g(this.parser));
10760
10791
  return r;
10761
10792
  }
10762
- d(this.parser);
10763
- function d(g) {
10793
+ g(this.parser);
10794
+ function g(d) {
10764
10795
  a = c.join(".");
10765
10796
  let p;
10766
10797
  switch (s.itemSize) {
@@ -10776,7 +10807,7 @@ class $l {
10776
10807
  break;
10777
10808
  }
10778
10809
  const m = n.interpolation !== void 0 ? Zl[n.interpolation] : jn;
10779
- let I = g._getArrayFromAccessor(s);
10810
+ let I = d._getArrayFromAccessor(s);
10780
10811
  a.endsWith(".fov") && (I = I.map((B) => B / Math.PI * 180));
10781
10812
  const b = new p(
10782
10813
  a,
@@ -10784,7 +10815,7 @@ class $l {
10784
10815
  I,
10785
10816
  m
10786
10817
  );
10787
- if (m === "CUBICSPLINE" && g._createCubicSplineTrackInterpolant(b), r.push(b), a && s.itemSize === 4 && a.startsWith(".materials.") && a.endsWith(".color")) {
10818
+ if (m === "CUBICSPLINE" && d._createCubicSplineTrackInterpolant(b), r.push(b), a && s.itemSize === 4 && a.startsWith(".materials.") && a.endsWith(".color")) {
10788
10819
  const B = new Float32Array(I.length / 4);
10789
10820
  for (let w = 0, Q = I.length / 4; w < Q; w += 1)
10790
10821
  B[w] = I[w * 4 + 3];
@@ -10794,7 +10825,7 @@ class $l {
10794
10825
  B,
10795
10826
  m
10796
10827
  );
10797
- m === "CUBICSPLINE" && g._createCubicSplineTrackInterpolant(b), r.push(E);
10828
+ m === "CUBICSPLINE" && d._createCubicSplineTrackInterpolant(b), r.push(E);
10798
10829
  }
10799
10830
  }
10800
10831
  return r;
@@ -10811,8 +10842,8 @@ class $l {
10811
10842
  */
10812
10843
  loadAnimation(e) {
10813
10844
  const t = this, s = this.parser.json, n = this.parser, i = s.animations[e], o = i.name ? i.name : "animation_" + e, a = [], r = [], c = [], l = [], h = [];
10814
- for (let d = 0, g = i.channels.length; d < g; d++) {
10815
- const p = i.channels[d], m = i.samplers[p.sampler], I = p.target, b = i.parameters !== void 0 ? i.parameters[m.input] : m.input, B = i.parameters !== void 0 ? i.parameters[m.output] : m.output;
10845
+ for (let g = 0, d = i.channels.length; g < d; g++) {
10846
+ const p = i.channels[g], m = i.samplers[p.sampler], I = p.target, b = i.parameters !== void 0 ? i.parameters[m.input] : m.input, B = i.parameters !== void 0 ? i.parameters[m.output] : m.output;
10816
10847
  let E = t.loadAnimationTargetFromChannelWithAnimationPointer(p);
10817
10848
  E || (E = t.loadAnimationTargetFromChannel(p)), a.push(E), r.push(n.getDependency("accessor", b)), c.push(n.getDependency("accessor", B)), l.push(m), h.push(I);
10818
10849
  }
@@ -10822,10 +10853,10 @@ class $l {
10822
10853
  Promise.all(c),
10823
10854
  Promise.all(l),
10824
10855
  Promise.all(h)
10825
- ]).then(function(d) {
10826
- const g = d[0], p = d[1], m = d[2], I = d[3], b = d[4], B = [];
10827
- for (let E = 0, w = g.length; E < w; E++) {
10828
- const Q = g[E], R = p[E], _ = m[E], x = I[E], T = b[E];
10856
+ ]).then(function(g) {
10857
+ const d = g[0], p = g[1], m = g[2], I = g[3], b = g[4], B = [];
10858
+ for (let E = 0, w = d.length; E < w; E++) {
10859
+ const Q = d[E], R = p[E], _ = m[E], x = I[E], T = b[E];
10829
10860
  if (Q === void 0)
10830
10861
  continue;
10831
10862
  Q.updateMatrix && (Q.updateMatrix(), Q.matrixAutoUpdate = !0);
@@ -10834,7 +10865,7 @@ class $l {
10834
10865
  for (let N = 0; N < L.length; N++)
10835
10866
  B.push(L[N]);
10836
10867
  }
10837
- return new gi(o, void 0, B);
10868
+ return new pi(o, void 0, B);
10838
10869
  });
10839
10870
  }
10840
10871
  }
@@ -10877,6 +10908,6 @@ export {
10877
10908
  Bh as p,
10878
10909
  wh as q,
10879
10910
  Uh as r,
10880
- Zi as s,
10911
+ $i as s,
10881
10912
  Ch as z
10882
10913
  };