aptechka 0.5.7 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/en3/index.js CHANGED
@@ -1,26 +1,26 @@
1
- var ts = Object.defineProperty, ss = Object.defineProperties;
2
- var ns = Object.getOwnPropertyDescriptors;
3
- var tt = Object.getOwnPropertySymbols;
4
- var is = Object.prototype.hasOwnProperty, os = Object.prototype.propertyIsEnumerable;
5
- var st = (a, A, e) => A in a ? ts(a, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[A] = e, cA = (a, A) => {
1
+ var is = Object.defineProperty, os = Object.defineProperties;
2
+ var Bs = Object.getOwnPropertyDescriptors;
3
+ var ot = Object.getOwnPropertySymbols;
4
+ var rs = Object.prototype.hasOwnProperty, Cs = Object.prototype.propertyIsEnumerable;
5
+ var Bt = (C, A, e) => A in C ? is(C, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : C[A] = e, QA = (C, A) => {
6
6
  for (var e in A || (A = {}))
7
- is.call(A, e) && st(a, e, A[e]);
8
- if (tt)
9
- for (var e of tt(A))
10
- os.call(A, e) && st(a, e, A[e]);
11
- return a;
12
- }, he = (a, A) => ss(a, ns(A));
13
- var Me = (a, A, e) => {
14
- if (!A.has(a))
7
+ rs.call(A, e) && Bt(C, e, A[e]);
8
+ if (ot)
9
+ for (var e of ot(A))
10
+ Cs.call(A, e) && Bt(C, e, A[e]);
11
+ return C;
12
+ }, ue = (C, A) => os(C, Bs(A));
13
+ var Le = (C, A, e) => {
14
+ if (!A.has(C))
15
15
  throw TypeError("Cannot " + e);
16
16
  };
17
- var g = (a, A, e) => (Me(a, A, "read from private field"), e ? e.call(a) : A.get(a)), F = (a, A, e) => {
18
- if (A.has(a))
17
+ var g = (C, A, e) => (Le(C, A, "read from private field"), e ? e.call(C) : A.get(C)), F = (C, A, e) => {
18
+ if (A.has(C))
19
19
  throw TypeError("Cannot add the same private member more than once");
20
- A instanceof WeakSet ? A.add(a) : A.set(a, e);
21
- }, G = (a, A, e, s) => (Me(a, A, "write to private field"), s ? s.call(a, e) : A.set(a, e), e);
22
- var le = (a, A, e) => (Me(a, A, "access private method"), e);
23
- var bA = (a, A, e) => new Promise((s, t) => {
20
+ A instanceof WeakSet ? A.add(C) : A.set(C, e);
21
+ }, G = (C, A, e, s) => (Le(C, A, "write to private field"), s ? s.call(C, e) : A.set(C, e), e);
22
+ var fe = (C, A, e) => (Le(C, A, "access private method"), e);
23
+ var RA = (C, A, e) => new Promise((s, t) => {
24
24
  var n = (o) => {
25
25
  try {
26
26
  B(e.next(o));
@@ -34,19 +34,19 @@ var bA = (a, A, e) => new Promise((s, t) => {
34
34
  t(r);
35
35
  }
36
36
  }, B = (o) => o.done ? s(o.value) : Promise.resolve(o.value).then(n, i);
37
- B((e = e.apply(a, A)).next());
37
+ B((e = e.apply(C, A)).next());
38
38
  });
39
- import { RESIZE_ORDER as pt, TICK_ORDER as je } from "../order/index.js";
40
- import { windowResizer as TA } from "../window-resizer/index.js";
41
- import { ticker as UA } from "../ticker/index.js";
42
- import { g as mt } from "../dom-0S_WDL4g.js";
39
+ import { RESIZE_ORDER as yt, TICK_ORDER as At } from "../order/index.js";
40
+ import { windowResizer as NA } from "../window-resizer/index.js";
41
+ import { ticker as kA } from "../ticker/index.js";
42
+ import { g as St } from "../dom-0S_WDL4g.js";
43
43
  import "../path-data-polyfill-DgeDWYeI.js";
44
- import { Mesh as ge, OrthographicCamera as Ge, PerspectiveCamera as _e, Scene as Bs, REVISION as rs, WebGLRenderer as Cs, TextureLoader as Mt, TrianglesDrawMode as as, TriangleFanDrawMode as Pe, TriangleStripDrawMode as wt, Loader as Ze, LoaderUtils as XA, FileLoader as fA, Color as gA, LinearSRGBColorSpace as _, SpotLight as Is, PointLight as gs, DirectionalLight as Es, MeshBasicMaterial as PA, SRGBColorSpace as $, MeshPhysicalMaterial as AA, Vector2 as St, Matrix4 as xA, Vector3 as w, Quaternion as ze, InstancedMesh as cs, InstancedBufferAttribute as Qs, Object3D as $e, ImageBitmapLoader as hs, BufferAttribute as vA, InterleavedBuffer as ls, InterleavedBufferAttribute as ds, LinearFilter as Re, LinearMipmapLinearFilter as At, RepeatWrapping as Ye, PointsMaterial as us, Material as we, LineBasicMaterial as fs, MeshStandardMaterial as yt, DoubleSide as Ds, PropertyBinding as Fs, BufferGeometry as Lt, SkinnedMesh as Gs, LineSegments as Rs, Line as ps, LineLoop as ms, Points as Ms, Group as WA, MathUtils as ws, Skeleton as Ss, AnimationClip as ys, Bone as Ls, InterpolateLinear as Jt, ColorManagement as nt, NearestFilter as Js, NearestMipmapNearestFilter as Hs, LinearMipmapNearestFilter as Ts, NearestMipmapLinearFilter as Us, ClampToEdgeWrapping as xs, MirroredRepeatWrapping as Ns, InterpolateDiscrete as ks, FrontSide as bs, Texture as it, VectorKeyframeTrack as ot, NumberKeyframeTrack as Bt, QuaternionKeyframeTrack as rt, Box3 as Ks, Sphere as Os, Interpolant as _s, CompressedCubeTexture as Ps, UnsignedByteType as O, CompressedArrayTexture as Ys, CompressedTexture as Ht, RGBAFormat as FA, RGBA_ASTC_4x4_Format as qs, RGBA_BPTC_Format as Xs, RGBA_ETC2_EAC_Format as vs, RGBA_PVRTC_4BPPV1_Format as Ws, RGBA_S3TC_DXT5_Format as Vs, RGB_ETC1_Format as js, RGB_ETC2_Format as Zs, RGB_PVRTC_4BPPV1_Format as zs, RGB_S3TC_DXT1_Format as $s, FloatType as De, HalfFloatType as Fe, DataTexture as An, Data3DTexture as en, DisplayP3ColorSpace as tn, LinearDisplayP3ColorSpace as sn, NoColorSpace as Ct, RGFormat as YA, RedFormat as qA, RGBA_ASTC_6x6_Format as at, Plane as de, PlaneHelper as ue, BoxGeometry as nn, VideoTexture as on } from "three";
45
- import { LayoutBox as qe } from "../layout-box/index.js";
46
- import { loading as Se } from "../loading/index.js";
47
- import { S as Bn } from "../SourceManager-D_8MZ3bR.js";
48
- import { S as It } from "../Store-Cd-E5W1z.js";
49
- function Tt(a) {
44
+ import { Mesh as Qe, OrthographicCamera as me, PerspectiveCamera as Xe, Scene as as, REVISION as Is, WebGLRenderer as gs, TextureLoader as Lt, TrianglesDrawMode as Es, TriangleFanDrawMode as ve, TriangleStripDrawMode as Jt, Loader as et, LoaderUtils as WA, FileLoader as DA, Color as EA, LinearSRGBColorSpace as P, SpotLight as cs, PointLight as Qs, DirectionalLight as hs, MeshBasicMaterial as qA, SRGBColorSpace as AA, MeshPhysicalMaterial as eA, Vector2 as Ht, Matrix4 as bA, Vector3 as y, Quaternion as tt, InstancedMesh as ls, InstancedBufferAttribute as ds, Object3D as st, ImageBitmapLoader as us, BufferAttribute as VA, InterleavedBuffer as fs, InterleavedBufferAttribute as Ds, LinearFilter as Me, LinearMipmapLinearFilter as nt, RepeatWrapping as We, PointsMaterial as Fs, Material as Je, LineBasicMaterial as Gs, MeshStandardMaterial as Tt, DoubleSide as Rs, PropertyBinding as ps, BufferGeometry as Ut, SkinnedMesh as ms, LineSegments as Ms, Line as ws, LineLoop as ys, Points as Ss, Group as jA, MathUtils as Ls, Skeleton as Js, AnimationClip as Hs, Bone as Ts, InterpolateLinear as xt, ColorManagement as rt, NearestFilter as Us, NearestMipmapNearestFilter as xs, LinearMipmapNearestFilter as Ns, NearestMipmapLinearFilter as ks, ClampToEdgeWrapping as bs, MirroredRepeatWrapping as Ks, InterpolateDiscrete as Os, FrontSide as _s, Texture as Ct, VectorKeyframeTrack as at, NumberKeyframeTrack as It, QuaternionKeyframeTrack as gt, Box3 as Ps, Sphere as Ys, Interpolant as qs, CompressedCubeTexture as Xs, UnsignedByteType as O, CompressedArrayTexture as vs, CompressedTexture as Nt, RGBAFormat as pA, RGBA_ASTC_4x4_Format as Ws, RGBA_BPTC_Format as Vs, RGBA_ETC2_EAC_Format as js, RGBA_PVRTC_4BPPV1_Format as Zs, RGBA_S3TC_DXT5_Format as zs, RGB_ETC1_Format as $s, RGB_ETC2_Format as An, RGB_PVRTC_4BPPV1_Format as en, RGB_S3TC_DXT1_Format as tn, FloatType as Re, HalfFloatType as pe, DataTexture as sn, Data3DTexture as nn, DisplayP3ColorSpace as on, LinearDisplayP3ColorSpace as Bn, NoColorSpace as Et, RGFormat as XA, RedFormat as vA, RGBA_ASTC_6x6_Format as ct, Plane as De, PlaneHelper as Fe, BoxGeometry as rn, VideoTexture as Cn } from "three";
45
+ import { LayoutBox as Ve } from "../layout-box/index.js";
46
+ import { loading as He } from "../loading/index.js";
47
+ import { S as an } from "../SourceManager-D_8MZ3bR.js";
48
+ import { S as Qt } from "../Store-Cd-E5W1z.js";
49
+ function we(C) {
50
50
  const A = (e) => {
51
51
  e.dispose();
52
52
  for (const s of Object.keys(e)) {
@@ -54,8 +54,8 @@ function Tt(a) {
54
54
  t && typeof t == "object" && "minFilter" in t && t.dispose();
55
55
  }
56
56
  };
57
- a.traverse((e) => {
58
- if (e instanceof ge) {
57
+ C.traverse((e) => {
58
+ if (e instanceof Qe) {
59
59
  if (e.geometry.dispose(), !Array.isArray(e.material) && e.material.isMaterial)
60
60
  A(e.material);
61
61
  else if (Array.isArray(e.material))
@@ -64,64 +64,64 @@ function Tt(a) {
64
64
  }
65
65
  });
66
66
  }
67
- var VA, L, hA, nA, iA, RA, oA, BA;
68
- class gt {
67
+ var ZA, J, lA, iA, oA, MA, BA, rA;
68
+ class ht {
69
69
  constructor(A, e) {
70
- F(this, VA, void 0);
71
- F(this, L, void 0);
72
- F(this, hA, void 0);
73
- F(this, nA, void 0);
70
+ F(this, ZA, void 0);
71
+ F(this, J, void 0);
72
+ F(this, lA, void 0);
74
73
  F(this, iA, void 0);
75
- F(this, RA, void 0);
76
74
  F(this, oA, void 0);
75
+ F(this, MA, void 0);
77
76
  F(this, BA, void 0);
78
- G(this, VA, A), G(this, L, (e == null ? void 0 : e.cameraType) === "orthographic" ? new Ge() : new _e()), G(this, hA, new Bs()), G(this, nA, []), G(this, iA, (e == null ? void 0 : e.cameraDistance) || 1e3), g(this, L).near = (e == null ? void 0 : e.cameraNear) || 1, g(this, L).far = (e == null ? void 0 : e.cameraFar) || 11e3, G(this, RA, (e == null ? void 0 : e.cameraFov) || "auto"), G(this, oA, mt(e == null ? void 0 : e.sizeElement) || document.documentElement), this.beforeRenderCallback = e == null ? void 0 : e.beforeRender, G(this, BA, new qe(g(this, oA))), g(this, BA).onScale(() => {
77
+ F(this, rA, void 0);
78
+ G(this, ZA, A), G(this, J, (e == null ? void 0 : e.cameraType) === "orthographic" ? new me() : new Xe()), G(this, lA, new as()), G(this, iA, []), G(this, oA, (e == null ? void 0 : e.cameraDistance) || 1e3), g(this, J).near = (e == null ? void 0 : e.cameraNear) || 1, g(this, J).far = (e == null ? void 0 : e.cameraFar) || 11e3, G(this, MA, (e == null ? void 0 : e.cameraFov) || "auto"), G(this, BA, St(e == null ? void 0 : e.sizeElement) || document.documentElement), this.beforeRenderCallback = e == null ? void 0 : e.beforeRender, G(this, rA, new Ve(g(this, BA))), g(this, rA).onScale(() => {
79
79
  this.resize();
80
80
  });
81
81
  }
82
82
  get name() {
83
- return g(this, VA);
83
+ return g(this, ZA);
84
84
  }
85
85
  get camera() {
86
- return g(this, L);
86
+ return g(this, J);
87
87
  }
88
88
  get scene() {
89
- return g(this, hA);
89
+ return g(this, lA);
90
90
  }
91
91
  get box() {
92
- return g(this, BA);
92
+ return g(this, rA);
93
93
  }
94
94
  get cameraDistance() {
95
- return g(this, iA);
95
+ return g(this, oA);
96
96
  }
97
97
  set cameraDistance(A) {
98
- G(this, iA, A), this.resize();
98
+ G(this, oA, A), this.resize();
99
99
  }
100
100
  get sizeElement() {
101
- return g(this, oA);
101
+ return g(this, BA);
102
102
  }
103
103
  get isClipped() {
104
- return g(this, oA) !== x.containerElement;
104
+ return g(this, BA) !== w.containerElement;
105
105
  }
106
106
  resize() {
107
- const { width: A, height: e } = g(this, BA);
108
- g(this, L).position.z = g(this, iA), g(this, L) instanceof _e ? (g(this, L).aspect = A / e, g(this, L).fov = g(this, RA) === "auto" ? 2 * Math.atan(e / 2 / g(this, iA)) * (180 / Math.PI) : g(this, RA)) : g(this, L) instanceof Ge && (g(this, L).left = A / -2, g(this, L).right = A / 2, g(this, L).top = e / 2, g(this, L).bottom = e / -2), g(this, L).updateProjectionMatrix();
107
+ const { width: A, height: e } = g(this, rA);
108
+ g(this, J).position.z = g(this, oA), g(this, J) instanceof Xe ? (g(this, J).aspect = A / e, g(this, J).fov = g(this, MA) === "auto" ? 2 * Math.atan(e / 2 / g(this, oA)) * (180 / Math.PI) : g(this, MA)) : g(this, J) instanceof me && (g(this, J).left = A / -2, g(this, J).right = A / 2, g(this, J).top = e / 2, g(this, J).bottom = e / -2), g(this, J).updateProjectionMatrix();
109
109
  }
110
110
  destroy() {
111
- g(this, nA).forEach((A) => {
111
+ g(this, iA).forEach((A) => {
112
112
  A.userData.box.destroy();
113
- }), g(this, hA).clear(), Tt(g(this, hA)), x.destroyView(this.name), g(this, BA).destroy();
113
+ }), g(this, lA).clear(), we(g(this, lA)), w.destroyView(this.name), g(this, rA).destroy();
114
114
  }
115
115
  attachToHTMLElement(A, e, s) {
116
- const t = new qe(A, he(cA({}, s), {
117
- containerElement: g(this, oA),
116
+ const t = new Ve(A, ue(QA({}, s), {
117
+ containerElement: g(this, BA),
118
118
  cartesian: !0,
119
119
  scrollStep: !this.isClipped
120
120
  }));
121
- return t.bindObject(e), e.userData.box = t, g(this, nA).push(e), e;
121
+ return t.bindObject(e), e.userData.box = t, g(this, iA).push(e), e;
122
122
  }
123
123
  detachFromHTMLElement(A) {
124
- G(this, nA, g(this, nA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
124
+ G(this, iA, g(this, iA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
125
125
  }
126
126
  add(...A) {
127
127
  const e = A[0], s = A[1], t = A[2];
@@ -131,98 +131,105 @@ class gt {
131
131
  this.scene.remove(A), e && this.detachFromHTMLElement(A);
132
132
  }
133
133
  }
134
- VA = new WeakMap(), L = new WeakMap(), hA = new WeakMap(), nA = new WeakMap(), iA = new WeakMap(), RA = new WeakMap(), oA = new WeakMap(), BA = new WeakMap();
135
- var pe, j, S, U, pA, mA, MA, jA, lA, ZA, zA;
136
- class rn {
134
+ ZA = new WeakMap(), J = new WeakMap(), lA = new WeakMap(), iA = new WeakMap(), oA = new WeakMap(), MA = new WeakMap(), BA = new WeakMap(), rA = new WeakMap();
135
+ const _ = /* @__PURE__ */ new Map();
136
+ var ye, Z, S, x, wA, yA, SA, zA, dA, $A, Ae, ee;
137
+ class In {
137
138
  constructor() {
138
- F(this, pe, `https://unpkg.com/three@0.${rs}.x`);
139
- F(this, j, null);
139
+ F(this, ye, `https://unpkg.com/three@0.${Is}.x`);
140
+ F(this, Z, null);
140
141
  F(this, S, null);
141
- F(this, U, /* @__PURE__ */ new Map());
142
- F(this, pA, 0);
143
- F(this, mA, 0);
144
- F(this, MA, 0);
145
- F(this, jA, 2);
146
- F(this, lA, !1);
147
- F(this, ZA, () => {
142
+ F(this, x, /* @__PURE__ */ new Map());
143
+ F(this, wA, 0);
144
+ F(this, yA, 0);
145
+ F(this, SA, 0);
146
+ F(this, zA, 2);
147
+ F(this, dA, !1);
148
+ F(this, $A, !1);
149
+ F(this, Ae, () => {
148
150
  var A;
149
- G(this, pA, g(this, j).clientWidth), G(this, mA, g(this, j).clientHeight), G(this, MA, Math.min(g(this, jA), devicePixelRatio || 1)), g(this, S).setPixelRatio(g(this, MA)), g(this, S).setSize(g(this, pA), g(this, mA)), (A = this.onResize) == null || A.call(this);
151
+ G(this, wA, g(this, Z).clientWidth), G(this, yA, g(this, Z).clientHeight), G(this, SA, Math.min(g(this, zA), devicePixelRatio || 1)), g(this, S).setPixelRatio(g(this, SA)), g(this, S).setSize(g(this, wA), g(this, yA)), (A = this.onResize) == null || A.call(this);
150
152
  });
151
- F(this, zA, () => {
152
- g(this, S).setRenderTarget(null), g(this, U).forEach((A) => {
153
+ F(this, ee, () => {
154
+ g(this, S).setRenderTarget(null), g(this, x).forEach((A) => {
153
155
  this.render(A);
154
156
  });
155
157
  });
156
158
  }
157
159
  get CDNVersion() {
158
- return g(this, pe);
160
+ return g(this, ye);
159
161
  }
160
162
  get containerElement() {
161
- return g(this, j);
163
+ return g(this, Z);
162
164
  }
163
165
  get webglRenderer() {
164
166
  return g(this, S);
165
167
  }
166
168
  get views() {
167
- return g(this, U);
169
+ return g(this, x);
168
170
  }
169
171
  get view() {
170
172
  return this.getView("default");
171
173
  }
172
174
  get width() {
173
- return g(this, pA);
175
+ return g(this, wA);
174
176
  }
175
177
  get height() {
176
- return g(this, mA);
178
+ return g(this, yA);
177
179
  }
178
180
  get pixelRatio() {
179
- return g(this, MA);
181
+ return g(this, SA);
182
+ }
183
+ get cacheAssets() {
184
+ return g(this, $A);
180
185
  }
181
186
  setup(A) {
182
- if (g(this, lA)) {
187
+ if (g(this, dA)) {
183
188
  console.warn("[en3.setup]: You are trying to setup en3 again.");
184
189
  return;
185
190
  }
186
- G(this, j, mt(A == null ? void 0 : A.containerElement) || document.body), G(this, jA, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, S, new Cs(A == null ? void 0 : A.webGLRendererParameters)), g(this, S).domElement.style.cssText = `
191
+ G(this, Z, St(A == null ? void 0 : A.containerElement) || document.body), G(this, zA, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, S, new gs(A == null ? void 0 : A.webGLRendererParameters)), g(this, S).domElement.style.cssText = `
187
192
  position: fixed;
188
193
  left: 0;
189
194
  top: 0;
190
195
  width: 100%;
191
196
  height: 100%;
192
197
  z-index: -1;
193
- `, g(this, j).append(g(this, S).domElement), g(this, U).set(
198
+ `, g(this, Z).append(g(this, S).domElement), g(this, x).set(
194
199
  "default",
195
- new gt("default", cA({
196
- sizeElement: g(this, j)
200
+ new ht("default", QA({
201
+ sizeElement: g(this, Z)
197
202
  }, A == null ? void 0 : A.view))
198
- ), G(this, lA, !0), TA.subscribe(g(this, ZA), pt.EN3), UA.subscribe(g(this, zA), { order: je.EN3 });
203
+ ), G(this, $A, (A == null ? void 0 : A.cacheAssets) || !1), G(this, dA, !0), NA.subscribe(g(this, Ae), yt.EN3), kA.subscribe(g(this, ee), { order: At.EN3 });
199
204
  }
200
205
  destroy() {
201
- if (!g(this, lA)) {
206
+ if (!g(this, dA)) {
202
207
  console.warn(
203
208
  "[en3.setup]: You are trying to destory en3 but it has not been initialized."
204
209
  );
205
210
  return;
206
211
  }
207
- TA.unsubscribe(g(this, ZA)), UA.unsubscribe(g(this, zA)), g(this, U).forEach((A) => {
212
+ NA.unsubscribe(g(this, Ae)), kA.unsubscribe(g(this, ee)), g(this, x).forEach((A) => {
208
213
  A.destroy();
209
- }), g(this, S).dispose(), g(this, S).domElement.remove(), G(this, S, null), G(this, lA, !1);
214
+ }), g(this, S).dispose(), g(this, S).domElement.remove(), G(this, S, null), G(this, dA, !1), _.forEach((A) => {
215
+ A.dispose();
216
+ }), _.clear();
210
217
  }
211
218
  createView(A, e) {
212
- const s = g(this, U).size, t = new gt(A, e);
213
- return g(this, U).set(A, t), s === 1 && g(this, S).setScissorTest(!0), t;
219
+ const s = g(this, x).size, t = new ht(A, e);
220
+ return g(this, x).set(A, t), s === 1 && g(this, S).setScissorTest(!0), t;
214
221
  }
215
222
  getView(A) {
216
- return g(this, U).get(A);
223
+ return g(this, x).get(A);
217
224
  }
218
225
  destroyView(A) {
219
- const e = g(this, U).get(A);
220
- e && (g(this, U).delete(A), e.destroy(), g(this, U).size <= 1 && g(this, S).setScissorTest(!1));
226
+ const e = g(this, x).get(A);
227
+ e && (g(this, x).delete(A), e.destroy(), g(this, x).size <= 1 && g(this, S).setScissorTest(!1));
221
228
  }
222
229
  render(A) {
223
230
  var e;
224
- if (g(this, U).size > 1 || this.view.isClipped) {
225
- const s = A.box.left + A.box.CSSTranslation.x + A.box.scrollValue.x, t = x.height - A.box.height - A.box.top + A.box.CSSTranslation.y + A.box.scrollValue.y * -1;
231
+ if (g(this, x).size > 1 || this.view.isClipped) {
232
+ const s = A.box.left + A.box.CSSTranslation.x + A.box.scrollValue.x, t = w.height - A.box.height - A.box.top + A.box.CSSTranslation.y + A.box.scrollValue.y * -1;
226
233
  g(this, S).setScissor(s, t, A.box.width, A.box.height), g(this, S).setViewport(
227
234
  s,
228
235
  t,
@@ -233,69 +240,94 @@ class rn {
233
240
  (e = A.beforeRenderCallback) == null || e.call(A), g(this, S).render(A.scene, A.camera);
234
241
  }
235
242
  }
236
- pe = new WeakMap(), j = new WeakMap(), S = new WeakMap(), U = new WeakMap(), pA = new WeakMap(), mA = new WeakMap(), MA = new WeakMap(), jA = new WeakMap(), lA = new WeakMap(), ZA = new WeakMap(), zA = new WeakMap();
237
- const x = new rn(), Cn = new Mt();
238
- function Et(a, A) {
239
- if (A === as)
240
- return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), a;
241
- if (A === Pe || A === wt) {
242
- let e = a.getIndex();
243
+ ye = new WeakMap(), Z = new WeakMap(), S = new WeakMap(), x = new WeakMap(), wA = new WeakMap(), yA = new WeakMap(), SA = new WeakMap(), zA = new WeakMap(), dA = new WeakMap(), $A = new WeakMap(), Ae = new WeakMap(), ee = new WeakMap();
244
+ const w = new In(), FA = new Lt(), gn = FA.load.bind(FA), En = FA.loadAsync.bind(FA);
245
+ FA.load = (C, A, ...e) => {
246
+ if (w.cacheAssets && _.has(C)) {
247
+ const s = _.get(C);
248
+ return A == null || A(s.data), s.data;
249
+ }
250
+ return gn(
251
+ C,
252
+ (s) => {
253
+ w.cacheAssets && _.set(C, {
254
+ data: s,
255
+ dispose: () => s.dispose()
256
+ }), A == null || A(s);
257
+ },
258
+ ...e
259
+ );
260
+ };
261
+ FA.loadAsync = (C, ...A) => RA(void 0, null, function* () {
262
+ if (w.cacheAssets && _.has(C))
263
+ return _.get(C).data;
264
+ const e = yield En(C, ...A);
265
+ return w.cacheAssets && _.set(C, {
266
+ data: e,
267
+ dispose: () => e.dispose()
268
+ }), e;
269
+ });
270
+ function lt(C, A) {
271
+ if (A === Es)
272
+ return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), C;
273
+ if (A === ve || A === Jt) {
274
+ let e = C.getIndex();
243
275
  if (e === null) {
244
- const i = [], B = a.getAttribute("position");
276
+ const i = [], B = C.getAttribute("position");
245
277
  if (B !== void 0) {
246
278
  for (let o = 0; o < B.count; o++)
247
279
  i.push(o);
248
- a.setIndex(i), e = a.getIndex();
280
+ C.setIndex(i), e = C.getIndex();
249
281
  } else
250
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), a;
282
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), C;
251
283
  }
252
284
  const s = e.count - 2, t = [];
253
- if (A === Pe)
285
+ if (A === ve)
254
286
  for (let i = 1; i <= s; i++)
255
287
  t.push(e.getX(0)), t.push(e.getX(i)), t.push(e.getX(i + 1));
256
288
  else
257
289
  for (let i = 0; i < s; i++)
258
290
  i % 2 === 0 ? (t.push(e.getX(i)), t.push(e.getX(i + 1)), t.push(e.getX(i + 2))) : (t.push(e.getX(i + 2)), t.push(e.getX(i + 1)), t.push(e.getX(i)));
259
291
  t.length / 3 !== s && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
260
- const n = a.clone();
292
+ const n = C.clone();
261
293
  return n.setIndex(t), n.clearGroups(), n;
262
294
  } else
263
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), a;
295
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), C;
264
296
  }
265
- class an extends Ze {
297
+ class cn extends et {
266
298
  constructor(A) {
267
299
  super(A), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(e) {
268
- return new Qn(e);
300
+ return new un(e);
269
301
  }), this.register(function(e) {
270
- return new Rn(e);
302
+ return new wn(e);
271
303
  }), this.register(function(e) {
272
- return new pn(e);
304
+ return new yn(e);
273
305
  }), this.register(function(e) {
274
- return new mn(e);
306
+ return new Sn(e);
275
307
  }), this.register(function(e) {
276
- return new ln(e);
308
+ return new Dn(e);
277
309
  }), this.register(function(e) {
278
- return new dn(e);
310
+ return new Fn(e);
279
311
  }), this.register(function(e) {
280
- return new un(e);
312
+ return new Gn(e);
281
313
  }), this.register(function(e) {
282
- return new fn(e);
314
+ return new Rn(e);
283
315
  }), this.register(function(e) {
284
- return new cn(e);
316
+ return new dn(e);
285
317
  }), this.register(function(e) {
286
- return new Dn(e);
318
+ return new pn(e);
287
319
  }), this.register(function(e) {
288
- return new hn(e);
320
+ return new fn(e);
289
321
  }), this.register(function(e) {
290
- return new Gn(e);
322
+ return new Mn(e);
291
323
  }), this.register(function(e) {
292
- return new Fn(e);
324
+ return new mn(e);
293
325
  }), this.register(function(e) {
294
- return new gn(e);
326
+ return new hn(e);
295
327
  }), this.register(function(e) {
296
- return new Mn(e);
328
+ return new Ln(e);
297
329
  }), this.register(function(e) {
298
- return new wn(e);
330
+ return new Jn(e);
299
331
  });
300
332
  }
301
333
  load(A, e, s, t) {
@@ -304,14 +336,14 @@ class an extends Ze {
304
336
  if (this.resourcePath !== "")
305
337
  i = this.resourcePath;
306
338
  else if (this.path !== "") {
307
- const r = XA.extractUrlBase(A);
308
- i = XA.resolveURL(r, this.path);
339
+ const r = WA.extractUrlBase(A);
340
+ i = WA.resolveURL(r, this.path);
309
341
  } else
310
- i = XA.extractUrlBase(A);
342
+ i = WA.extractUrlBase(A);
311
343
  this.manager.itemStart(A);
312
344
  const B = function(r) {
313
345
  t ? t(r) : console.error(r), n.manager.itemError(A), n.manager.itemEnd(A);
314
- }, o = new fA(this.manager);
346
+ }, o = new DA(this.manager);
315
347
  o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), o.setWithCredentials(this.withCredentials), o.load(A, function(r) {
316
348
  try {
317
349
  n.parse(r, i, function(I) {
@@ -348,11 +380,11 @@ class an extends Ze {
348
380
  if (typeof A == "string")
349
381
  n = JSON.parse(A);
350
382
  else if (A instanceof ArrayBuffer)
351
- if (o.decode(new Uint8Array(A, 0, 4)) === Ut) {
383
+ if (o.decode(new Uint8Array(A, 0, 4)) === kt) {
352
384
  try {
353
- i[R.KHR_BINARY_GLTF] = new Sn(A);
354
- } catch (C) {
355
- t && t(C);
385
+ i[R.KHR_BINARY_GLTF] = new Hn(A);
386
+ } catch (a) {
387
+ t && t(a);
356
388
  return;
357
389
  }
358
390
  n = JSON.parse(i[R.KHR_BINARY_GLTF].content);
@@ -364,7 +396,7 @@ class an extends Ze {
364
396
  t && t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
365
397
  return;
366
398
  }
367
- const r = new _n(n, {
399
+ const r = new Xn(n, {
368
400
  path: e || this.resourcePath || "",
369
401
  crossOrigin: this.crossOrigin,
370
402
  requestHeader: this.requestHeader,
@@ -374,27 +406,27 @@ class an extends Ze {
374
406
  });
375
407
  r.fileLoader.setRequestHeader(this.requestHeader);
376
408
  for (let I = 0; I < this.pluginCallbacks.length; I++) {
377
- const C = this.pluginCallbacks[I](r);
378
- C.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), B[C.name] = C, i[C.name] = !0;
409
+ const a = this.pluginCallbacks[I](r);
410
+ a.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), B[a.name] = a, i[a.name] = !0;
379
411
  }
380
412
  if (n.extensionsUsed)
381
413
  for (let I = 0; I < n.extensionsUsed.length; ++I) {
382
- const C = n.extensionsUsed[I], c = n.extensionsRequired || [];
383
- switch (C) {
414
+ const a = n.extensionsUsed[I], c = n.extensionsRequired || [];
415
+ switch (a) {
384
416
  case R.KHR_MATERIALS_UNLIT:
385
- i[C] = new En();
417
+ i[a] = new ln();
386
418
  break;
387
419
  case R.KHR_DRACO_MESH_COMPRESSION:
388
- i[C] = new yn(n, this.dracoLoader);
420
+ i[a] = new Tn(n, this.dracoLoader);
389
421
  break;
390
422
  case R.KHR_TEXTURE_TRANSFORM:
391
- i[C] = new Ln();
423
+ i[a] = new Un();
392
424
  break;
393
425
  case R.KHR_MESH_QUANTIZATION:
394
- i[C] = new Jn();
426
+ i[a] = new xn();
395
427
  break;
396
428
  default:
397
- c.indexOf(C) >= 0 && B[C] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + C + '".');
429
+ c.indexOf(a) >= 0 && B[a] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + a + '".');
398
430
  }
399
431
  }
400
432
  r.setExtensions(i), r.setPlugins(B), r.parse(s, t);
@@ -406,20 +438,20 @@ class an extends Ze {
406
438
  });
407
439
  }
408
440
  }
409
- function In() {
410
- let a = {};
441
+ function Qn() {
442
+ let C = {};
411
443
  return {
412
444
  get: function(A) {
413
- return a[A];
445
+ return C[A];
414
446
  },
415
447
  add: function(A, e) {
416
- a[A] = e;
448
+ C[A] = e;
417
449
  },
418
450
  remove: function(A) {
419
- delete a[A];
451
+ delete C[A];
420
452
  },
421
453
  removeAll: function() {
422
- a = {};
454
+ C = {};
423
455
  }
424
456
  };
425
457
  }
@@ -446,7 +478,7 @@ const R = {
446
478
  EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression",
447
479
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
448
480
  };
449
- class gn {
481
+ class hn {
450
482
  constructor(A) {
451
483
  this.parser = A, this.name = R.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
452
484
  }
@@ -464,23 +496,23 @@ class gn {
464
496
  return t;
465
497
  const n = e.json, o = ((n.extensions && n.extensions[this.name] || {}).lights || [])[A];
466
498
  let r;
467
- const I = new gA(16777215);
468
- o.color !== void 0 && I.setRGB(o.color[0], o.color[1], o.color[2], _);
469
- const C = o.range !== void 0 ? o.range : 0;
499
+ const I = new EA(16777215);
500
+ o.color !== void 0 && I.setRGB(o.color[0], o.color[1], o.color[2], P);
501
+ const a = o.range !== void 0 ? o.range : 0;
470
502
  switch (o.type) {
471
503
  case "directional":
472
- r = new Es(I), r.target.position.set(0, 0, -1), r.add(r.target);
504
+ r = new hs(I), r.target.position.set(0, 0, -1), r.add(r.target);
473
505
  break;
474
506
  case "point":
475
- r = new gs(I), r.distance = C;
507
+ r = new Qs(I), r.distance = a;
476
508
  break;
477
509
  case "spot":
478
- r = new Is(I), r.distance = C, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
510
+ r = new cs(I), r.distance = a, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
479
511
  break;
480
512
  default:
481
513
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + o.type);
482
514
  }
483
- return r.position.set(0, 0, 0), r.decay = 2, sA(r, o), o.intensity !== void 0 && (r.intensity = o.intensity), r.name = e.createUniqueName(o.name || "light_" + A), t = Promise.resolve(r), e.cache.add(s, t), t;
515
+ return r.position.set(0, 0, 0), r.decay = 2, nA(r, o), o.intensity !== void 0 && (r.intensity = o.intensity), r.name = e.createUniqueName(o.name || "light_" + A), t = Promise.resolve(r), e.cache.add(s, t), t;
484
516
  }
485
517
  getDependency(A, e) {
486
518
  if (A === "light")
@@ -493,28 +525,28 @@ class gn {
493
525
  });
494
526
  }
495
527
  }
496
- class En {
528
+ class ln {
497
529
  constructor() {
498
530
  this.name = R.KHR_MATERIALS_UNLIT;
499
531
  }
500
532
  getMaterialType() {
501
- return PA;
533
+ return qA;
502
534
  }
503
535
  extendParams(A, e, s) {
504
536
  const t = [];
505
- A.color = new gA(1, 1, 1), A.opacity = 1;
537
+ A.color = new EA(1, 1, 1), A.opacity = 1;
506
538
  const n = e.pbrMetallicRoughness;
507
539
  if (n) {
508
540
  if (Array.isArray(n.baseColorFactor)) {
509
541
  const i = n.baseColorFactor;
510
- A.color.setRGB(i[0], i[1], i[2], _), A.opacity = i[3];
542
+ A.color.setRGB(i[0], i[1], i[2], P), A.opacity = i[3];
511
543
  }
512
- n.baseColorTexture !== void 0 && t.push(s.assignTexture(A, "map", n.baseColorTexture, $));
544
+ n.baseColorTexture !== void 0 && t.push(s.assignTexture(A, "map", n.baseColorTexture, AA));
513
545
  }
514
546
  return Promise.all(t);
515
547
  }
516
548
  }
517
- class cn {
549
+ class dn {
518
550
  constructor(A) {
519
551
  this.parser = A, this.name = R.KHR_MATERIALS_EMISSIVE_STRENGTH;
520
552
  }
@@ -526,13 +558,13 @@ class cn {
526
558
  return n !== void 0 && (e.emissiveIntensity = n), Promise.resolve();
527
559
  }
528
560
  }
529
- class Qn {
561
+ class un {
530
562
  constructor(A) {
531
563
  this.parser = A, this.name = R.KHR_MATERIALS_CLEARCOAT;
532
564
  }
533
565
  getMaterialType(A) {
534
566
  const s = this.parser.json.materials[A];
535
- return !s.extensions || !s.extensions[this.name] ? null : AA;
567
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
536
568
  }
537
569
  extendMaterialParams(A, e) {
538
570
  const s = this.parser, t = s.json.materials[A];
@@ -541,18 +573,18 @@ class Qn {
541
573
  const n = [], i = t.extensions[this.name];
542
574
  if (i.clearcoatFactor !== void 0 && (e.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && n.push(s.assignTexture(e, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (n.push(s.assignTexture(e, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
543
575
  const B = i.clearcoatNormalTexture.scale;
544
- e.clearcoatNormalScale = new St(B, B);
576
+ e.clearcoatNormalScale = new Ht(B, B);
545
577
  }
546
578
  return Promise.all(n);
547
579
  }
548
580
  }
549
- class hn {
581
+ class fn {
550
582
  constructor(A) {
551
583
  this.parser = A, this.name = R.KHR_MATERIALS_IRIDESCENCE;
552
584
  }
553
585
  getMaterialType(A) {
554
586
  const s = this.parser.json.materials[A];
555
- return !s.extensions || !s.extensions[this.name] ? null : AA;
587
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
556
588
  }
557
589
  extendMaterialParams(A, e) {
558
590
  const s = this.parser, t = s.json.materials[A];
@@ -562,35 +594,35 @@ class hn {
562
594
  return i.iridescenceFactor !== void 0 && (e.iridescence = i.iridescenceFactor), i.iridescenceTexture !== void 0 && n.push(s.assignTexture(e, "iridescenceMap", i.iridescenceTexture)), i.iridescenceIor !== void 0 && (e.iridescenceIOR = i.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), i.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = i.iridescenceThicknessMinimum), i.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = i.iridescenceThicknessMaximum), i.iridescenceThicknessTexture !== void 0 && n.push(s.assignTexture(e, "iridescenceThicknessMap", i.iridescenceThicknessTexture)), Promise.all(n);
563
595
  }
564
596
  }
565
- class ln {
597
+ class Dn {
566
598
  constructor(A) {
567
599
  this.parser = A, this.name = R.KHR_MATERIALS_SHEEN;
568
600
  }
569
601
  getMaterialType(A) {
570
602
  const s = this.parser.json.materials[A];
571
- return !s.extensions || !s.extensions[this.name] ? null : AA;
603
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
572
604
  }
573
605
  extendMaterialParams(A, e) {
574
606
  const s = this.parser, t = s.json.materials[A];
575
607
  if (!t.extensions || !t.extensions[this.name])
576
608
  return Promise.resolve();
577
609
  const n = [];
578
- e.sheenColor = new gA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
610
+ e.sheenColor = new EA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
579
611
  const i = t.extensions[this.name];
580
612
  if (i.sheenColorFactor !== void 0) {
581
613
  const B = i.sheenColorFactor;
582
- e.sheenColor.setRGB(B[0], B[1], B[2], _);
614
+ e.sheenColor.setRGB(B[0], B[1], B[2], P);
583
615
  }
584
- return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && n.push(s.assignTexture(e, "sheenColorMap", i.sheenColorTexture, $)), i.sheenRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(n);
616
+ return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && n.push(s.assignTexture(e, "sheenColorMap", i.sheenColorTexture, AA)), i.sheenRoughnessTexture !== void 0 && n.push(s.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(n);
585
617
  }
586
618
  }
587
- class dn {
619
+ class Fn {
588
620
  constructor(A) {
589
621
  this.parser = A, this.name = R.KHR_MATERIALS_TRANSMISSION;
590
622
  }
591
623
  getMaterialType(A) {
592
624
  const s = this.parser.json.materials[A];
593
- return !s.extensions || !s.extensions[this.name] ? null : AA;
625
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
594
626
  }
595
627
  extendMaterialParams(A, e) {
596
628
  const s = this.parser, t = s.json.materials[A];
@@ -600,13 +632,13 @@ class dn {
600
632
  return i.transmissionFactor !== void 0 && (e.transmission = i.transmissionFactor), i.transmissionTexture !== void 0 && n.push(s.assignTexture(e, "transmissionMap", i.transmissionTexture)), Promise.all(n);
601
633
  }
602
634
  }
603
- class un {
635
+ class Gn {
604
636
  constructor(A) {
605
637
  this.parser = A, this.name = R.KHR_MATERIALS_VOLUME;
606
638
  }
607
639
  getMaterialType(A) {
608
640
  const s = this.parser.json.materials[A];
609
- return !s.extensions || !s.extensions[this.name] ? null : AA;
641
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
610
642
  }
611
643
  extendMaterialParams(A, e) {
612
644
  const s = this.parser, t = s.json.materials[A];
@@ -615,16 +647,16 @@ class un {
615
647
  const n = [], i = t.extensions[this.name];
616
648
  e.thickness = i.thicknessFactor !== void 0 ? i.thicknessFactor : 0, i.thicknessTexture !== void 0 && n.push(s.assignTexture(e, "thicknessMap", i.thicknessTexture)), e.attenuationDistance = i.attenuationDistance || 1 / 0;
617
649
  const B = i.attenuationColor || [1, 1, 1];
618
- return e.attenuationColor = new gA().setRGB(B[0], B[1], B[2], _), Promise.all(n);
650
+ return e.attenuationColor = new EA().setRGB(B[0], B[1], B[2], P), Promise.all(n);
619
651
  }
620
652
  }
621
- class fn {
653
+ class Rn {
622
654
  constructor(A) {
623
655
  this.parser = A, this.name = R.KHR_MATERIALS_IOR;
624
656
  }
625
657
  getMaterialType(A) {
626
658
  const s = this.parser.json.materials[A];
627
- return !s.extensions || !s.extensions[this.name] ? null : AA;
659
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
628
660
  }
629
661
  extendMaterialParams(A, e) {
630
662
  const t = this.parser.json.materials[A];
@@ -634,13 +666,13 @@ class fn {
634
666
  return e.ior = n.ior !== void 0 ? n.ior : 1.5, Promise.resolve();
635
667
  }
636
668
  }
637
- class Dn {
669
+ class pn {
638
670
  constructor(A) {
639
671
  this.parser = A, this.name = R.KHR_MATERIALS_SPECULAR;
640
672
  }
641
673
  getMaterialType(A) {
642
674
  const s = this.parser.json.materials[A];
643
- return !s.extensions || !s.extensions[this.name] ? null : AA;
675
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
644
676
  }
645
677
  extendMaterialParams(A, e) {
646
678
  const s = this.parser, t = s.json.materials[A];
@@ -649,16 +681,16 @@ class Dn {
649
681
  const n = [], i = t.extensions[this.name];
650
682
  e.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && n.push(s.assignTexture(e, "specularIntensityMap", i.specularTexture));
651
683
  const B = i.specularColorFactor || [1, 1, 1];
652
- return e.specularColor = new gA().setRGB(B[0], B[1], B[2], _), i.specularColorTexture !== void 0 && n.push(s.assignTexture(e, "specularColorMap", i.specularColorTexture, $)), Promise.all(n);
684
+ return e.specularColor = new EA().setRGB(B[0], B[1], B[2], P), i.specularColorTexture !== void 0 && n.push(s.assignTexture(e, "specularColorMap", i.specularColorTexture, AA)), Promise.all(n);
653
685
  }
654
686
  }
655
- class Fn {
687
+ class mn {
656
688
  constructor(A) {
657
689
  this.parser = A, this.name = R.EXT_MATERIALS_BUMP;
658
690
  }
659
691
  getMaterialType(A) {
660
692
  const s = this.parser.json.materials[A];
661
- return !s.extensions || !s.extensions[this.name] ? null : AA;
693
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
662
694
  }
663
695
  extendMaterialParams(A, e) {
664
696
  const s = this.parser, t = s.json.materials[A];
@@ -668,13 +700,13 @@ class Fn {
668
700
  return e.bumpScale = i.bumpFactor !== void 0 ? i.bumpFactor : 1, i.bumpTexture !== void 0 && n.push(s.assignTexture(e, "bumpMap", i.bumpTexture)), Promise.all(n);
669
701
  }
670
702
  }
671
- class Gn {
703
+ class Mn {
672
704
  constructor(A) {
673
705
  this.parser = A, this.name = R.KHR_MATERIALS_ANISOTROPY;
674
706
  }
675
707
  getMaterialType(A) {
676
708
  const s = this.parser.json.materials[A];
677
- return !s.extensions || !s.extensions[this.name] ? null : AA;
709
+ return !s.extensions || !s.extensions[this.name] ? null : eA;
678
710
  }
679
711
  extendMaterialParams(A, e) {
680
712
  const s = this.parser, t = s.json.materials[A];
@@ -684,7 +716,7 @@ class Gn {
684
716
  return i.anisotropyStrength !== void 0 && (e.anisotropy = i.anisotropyStrength), i.anisotropyRotation !== void 0 && (e.anisotropyRotation = i.anisotropyRotation), i.anisotropyTexture !== void 0 && n.push(s.assignTexture(e, "anisotropyMap", i.anisotropyTexture)), Promise.all(n);
685
717
  }
686
718
  }
687
- class Rn {
719
+ class wn {
688
720
  constructor(A) {
689
721
  this.parser = A, this.name = R.KHR_TEXTURE_BASISU;
690
722
  }
@@ -701,7 +733,7 @@ class Rn {
701
733
  return e.loadTextureImage(A, n.source, i);
702
734
  }
703
735
  }
704
- class pn {
736
+ class yn {
705
737
  constructor(A) {
706
738
  this.parser = A, this.name = R.EXT_TEXTURE_WEBP, this.isSupported = null;
707
739
  }
@@ -732,7 +764,7 @@ class pn {
732
764
  })), this.isSupported;
733
765
  }
734
766
  }
735
- class mn {
767
+ class Sn {
736
768
  constructor(A) {
737
769
  this.parser = A, this.name = R.EXT_TEXTURE_AVIF, this.isSupported = null;
738
770
  }
@@ -763,7 +795,7 @@ class mn {
763
795
  })), this.isSupported;
764
796
  }
765
797
  }
766
- class Mn {
798
+ class Ln {
767
799
  constructor(A) {
768
800
  this.name = R.EXT_MESHOPT_COMPRESSION, this.parser = A;
769
801
  }
@@ -777,19 +809,19 @@ class Mn {
777
809
  return null;
778
810
  }
779
811
  return n.then(function(B) {
780
- const o = t.byteOffset || 0, r = t.byteLength || 0, I = t.count, C = t.byteStride, c = new Uint8Array(B, o, r);
781
- return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, C, c, t.mode, t.filter).then(function(Q) {
812
+ const o = t.byteOffset || 0, r = t.byteLength || 0, I = t.count, a = t.byteStride, c = new Uint8Array(B, o, r);
813
+ return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, a, c, t.mode, t.filter).then(function(Q) {
782
814
  return Q.buffer;
783
815
  }) : i.ready.then(function() {
784
- const Q = new ArrayBuffer(I * C);
785
- return i.decodeGltfBuffer(new Uint8Array(Q), I, C, c, t.mode, t.filter), Q;
816
+ const Q = new ArrayBuffer(I * a);
817
+ return i.decodeGltfBuffer(new Uint8Array(Q), I, a, c, t.mode, t.filter), Q;
786
818
  });
787
819
  });
788
820
  } else
789
821
  return null;
790
822
  }
791
823
  }
792
- class wn {
824
+ class Jn {
793
825
  constructor(A) {
794
826
  this.name = R.EXT_MESH_GPU_INSTANCING, this.parser = A;
795
827
  }
@@ -805,47 +837,47 @@ class wn {
805
837
  for (const r in i)
806
838
  B.push(this.parser.getDependency("accessor", i[r]).then((I) => (o[r] = I, o[r])));
807
839
  return B.length < 1 ? null : (B.push(this.parser.createNodeMesh(A)), Promise.all(B).then((r) => {
808
- const I = r.pop(), C = I.isGroup ? I.children : [I], c = r[0].count, Q = [];
809
- for (const l of C) {
810
- const h = new xA(), E = new w(), d = new ze(), u = new w(1, 1, 1), f = new cs(l.geometry, l.material, c);
840
+ const I = r.pop(), a = I.isGroup ? I.children : [I], c = r[0].count, Q = [];
841
+ for (const l of a) {
842
+ const h = new bA(), E = new y(), d = new tt(), u = new y(1, 1, 1), f = new ls(l.geometry, l.material, c);
811
843
  for (let D = 0; D < c; D++)
812
844
  o.TRANSLATION && E.fromBufferAttribute(o.TRANSLATION, D), o.ROTATION && d.fromBufferAttribute(o.ROTATION, D), o.SCALE && u.fromBufferAttribute(o.SCALE, D), f.setMatrixAt(D, h.compose(E, d, u));
813
845
  for (const D in o)
814
846
  if (D === "_COLOR_0") {
815
847
  const p = o[D];
816
- f.instanceColor = new Qs(p.array, p.itemSize, p.normalized);
848
+ f.instanceColor = new ds(p.array, p.itemSize, p.normalized);
817
849
  } else
818
850
  D !== "TRANSLATION" && D !== "ROTATION" && D !== "SCALE" && l.geometry.setAttribute(D, o[D]);
819
- $e.prototype.copy.call(f, l), this.parser.assignFinalMaterial(f), Q.push(f);
851
+ st.prototype.copy.call(f, l), this.parser.assignFinalMaterial(f), Q.push(f);
820
852
  }
821
853
  return I.isGroup ? (I.clear(), I.add(...Q), I) : Q[0];
822
854
  }));
823
855
  }
824
856
  }
825
- const Ut = "glTF", KA = 12, ct = { JSON: 1313821514, BIN: 5130562 };
826
- class Sn {
857
+ const kt = "glTF", _A = 12, dt = { JSON: 1313821514, BIN: 5130562 };
858
+ class Hn {
827
859
  constructor(A) {
828
860
  this.name = R.KHR_BINARY_GLTF, this.content = null, this.body = null;
829
- const e = new DataView(A, 0, KA), s = new TextDecoder();
861
+ const e = new DataView(A, 0, _A), s = new TextDecoder();
830
862
  if (this.header = {
831
863
  magic: s.decode(new Uint8Array(A.slice(0, 4))),
832
864
  version: e.getUint32(4, !0),
833
865
  length: e.getUint32(8, !0)
834
- }, this.header.magic !== Ut)
866
+ }, this.header.magic !== kt)
835
867
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
836
868
  if (this.header.version < 2)
837
869
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
838
- const t = this.header.length - KA, n = new DataView(A, KA);
870
+ const t = this.header.length - _A, n = new DataView(A, _A);
839
871
  let i = 0;
840
872
  for (; i < t; ) {
841
873
  const B = n.getUint32(i, !0);
842
874
  i += 4;
843
875
  const o = n.getUint32(i, !0);
844
- if (i += 4, o === ct.JSON) {
845
- const r = new Uint8Array(A, KA + i, B);
876
+ if (i += 4, o === dt.JSON) {
877
+ const r = new Uint8Array(A, _A + i, B);
846
878
  this.content = s.decode(r);
847
- } else if (o === ct.BIN) {
848
- const r = KA + i;
879
+ } else if (o === dt.BIN) {
880
+ const r = _A + i;
849
881
  this.body = A.slice(r, r + B);
850
882
  }
851
883
  i += B;
@@ -854,7 +886,7 @@ class Sn {
854
886
  throw new Error("THREE.GLTFLoader: JSON content not found.");
855
887
  }
856
888
  }
857
- class yn {
889
+ class Tn {
858
890
  constructor(A, e) {
859
891
  if (!e)
860
892
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -863,30 +895,30 @@ class yn {
863
895
  decodePrimitive(A, e) {
864
896
  const s = this.json, t = this.dracoLoader, n = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, B = {}, o = {}, r = {};
865
897
  for (const I in i) {
866
- const C = Xe[I] || I.toLowerCase();
867
- B[C] = i[I];
898
+ const a = je[I] || I.toLowerCase();
899
+ B[a] = i[I];
868
900
  }
869
901
  for (const I in A.attributes) {
870
- const C = Xe[I] || I.toLowerCase();
902
+ const a = je[I] || I.toLowerCase();
871
903
  if (i[I] !== void 0) {
872
- const c = s.accessors[A.attributes[I]], Q = GA[c.componentType];
873
- r[C] = Q.name, o[C] = c.normalized === !0;
904
+ const c = s.accessors[A.attributes[I]], Q = mA[c.componentType];
905
+ r[a] = Q.name, o[a] = c.normalized === !0;
874
906
  }
875
907
  }
876
908
  return e.getDependency("bufferView", n).then(function(I) {
877
- return new Promise(function(C, c) {
909
+ return new Promise(function(a, c) {
878
910
  t.decodeDracoFile(I, function(Q) {
879
911
  for (const l in Q.attributes) {
880
912
  const h = Q.attributes[l], E = o[l];
881
913
  E !== void 0 && (h.normalized = E);
882
914
  }
883
- C(Q);
884
- }, B, r, _, c);
915
+ a(Q);
916
+ }, B, r, P, c);
885
917
  });
886
918
  });
887
919
  }
888
920
  }
889
- class Ln {
921
+ class Un {
890
922
  constructor() {
891
923
  this.name = R.KHR_TEXTURE_TRANSFORM;
892
924
  }
@@ -894,12 +926,12 @@ class Ln {
894
926
  return (e.texCoord === void 0 || e.texCoord === A.channel) && e.offset === void 0 && e.rotation === void 0 && e.scale === void 0 || (A = A.clone(), e.texCoord !== void 0 && (A.channel = e.texCoord), e.offset !== void 0 && A.offset.fromArray(e.offset), e.rotation !== void 0 && (A.rotation = e.rotation), e.scale !== void 0 && A.repeat.fromArray(e.scale), A.needsUpdate = !0), A;
895
927
  }
896
928
  }
897
- class Jn {
929
+ class xn {
898
930
  constructor() {
899
931
  this.name = R.KHR_MESH_QUANTIZATION;
900
932
  }
901
933
  }
902
- class xt extends _s {
934
+ class bt extends qs {
903
935
  constructor(A, e, s, t) {
904
936
  super(A, e, s, t);
905
937
  }
@@ -910,19 +942,19 @@ class xt extends _s {
910
942
  return e;
911
943
  }
912
944
  interpolate_(A, e, s, t) {
913
- const n = this.resultBuffer, i = this.sampleValues, B = this.valueSize, o = B * 2, r = B * 3, I = t - e, C = (s - e) / I, c = C * C, Q = c * C, l = A * r, h = l - r, E = -2 * Q + 3 * c, d = Q - c, u = 1 - E, f = d - c + C;
945
+ const n = this.resultBuffer, i = this.sampleValues, B = this.valueSize, o = B * 2, r = B * 3, I = t - e, a = (s - e) / I, c = a * a, Q = c * a, l = A * r, h = l - r, E = -2 * Q + 3 * c, d = Q - c, u = 1 - E, f = d - c + a;
914
946
  for (let D = 0; D !== B; D++) {
915
- const p = i[h + D + B], m = i[h + D + o] * I, M = i[l + D + B], P = i[l + D] * I;
916
- n[D] = u * p + f * m + E * M + d * P;
947
+ const p = i[h + D + B], m = i[h + D + o] * I, M = i[l + D + B], Y = i[l + D] * I;
948
+ n[D] = u * p + f * m + E * M + d * Y;
917
949
  }
918
950
  return n;
919
951
  }
920
952
  }
921
- const Hn = new ze();
922
- class Tn extends xt {
953
+ const Nn = new tt();
954
+ class kn extends bt {
923
955
  interpolate_(A, e, s, t) {
924
956
  const n = super.interpolate_(A, e, s, t);
925
- return Hn.fromArray(n).normalize().toArray(n), n;
957
+ return Nn.fromArray(n).normalize().toArray(n), n;
926
958
  }
927
959
  }
928
960
  const K = {
@@ -945,25 +977,25 @@ const K = {
945
977
  TRIANGLE_FAN: 6,
946
978
  UNSIGNED_BYTE: 5121,
947
979
  UNSIGNED_SHORT: 5123
948
- }, GA = {
980
+ }, mA = {
949
981
  5120: Int8Array,
950
982
  5121: Uint8Array,
951
983
  5122: Int16Array,
952
984
  5123: Uint16Array,
953
985
  5125: Uint32Array,
954
986
  5126: Float32Array
955
- }, Qt = {
956
- 9728: Js,
957
- 9729: Re,
958
- 9984: Hs,
959
- 9985: Ts,
960
- 9986: Us,
961
- 9987: At
962
- }, ht = {
963
- 33071: xs,
964
- 33648: Ns,
965
- 10497: Ye
966
- }, ye = {
987
+ }, ut = {
988
+ 9728: Us,
989
+ 9729: Me,
990
+ 9984: xs,
991
+ 9985: Ns,
992
+ 9986: ks,
993
+ 9987: nt
994
+ }, ft = {
995
+ 33071: bs,
996
+ 33648: Ks,
997
+ 10497: We
998
+ }, Te = {
967
999
  SCALAR: 1,
968
1000
  VEC2: 2,
969
1001
  VEC3: 3,
@@ -971,7 +1003,7 @@ const K = {
971
1003
  MAT2: 4,
972
1004
  MAT3: 9,
973
1005
  MAT4: 16
974
- }, Xe = {
1006
+ }, je = {
975
1007
  POSITION: "position",
976
1008
  NORMAL: "normal",
977
1009
  TANGENT: "tangent",
@@ -982,62 +1014,62 @@ const K = {
982
1014
  COLOR_0: "color",
983
1015
  WEIGHTS_0: "skinWeight",
984
1016
  JOINTS_0: "skinIndex"
985
- }, tA = {
1017
+ }, sA = {
986
1018
  scale: "scale",
987
1019
  translation: "position",
988
1020
  rotation: "quaternion",
989
1021
  weights: "morphTargetInfluences"
990
- }, Un = {
1022
+ }, bn = {
991
1023
  CUBICSPLINE: void 0,
992
1024
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
993
1025
  // keyframe track will be initialized with a default interpolation type, then modified.
994
- LINEAR: Jt,
995
- STEP: ks
996
- }, Le = {
1026
+ LINEAR: xt,
1027
+ STEP: Os
1028
+ }, Ue = {
997
1029
  OPAQUE: "OPAQUE",
998
1030
  MASK: "MASK",
999
1031
  BLEND: "BLEND"
1000
1032
  };
1001
- function xn(a) {
1002
- return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new yt({
1033
+ function Kn(C) {
1034
+ return C.DefaultMaterial === void 0 && (C.DefaultMaterial = new Tt({
1003
1035
  color: 16777215,
1004
1036
  emissive: 0,
1005
1037
  metalness: 1,
1006
1038
  roughness: 1,
1007
1039
  transparent: !1,
1008
1040
  depthTest: !0,
1009
- side: bs
1010
- })), a.DefaultMaterial;
1041
+ side: _s
1042
+ })), C.DefaultMaterial;
1011
1043
  }
1012
- function QA(a, A, e) {
1044
+ function hA(C, A, e) {
1013
1045
  for (const s in e.extensions)
1014
- a[s] === void 0 && (A.userData.gltfExtensions = A.userData.gltfExtensions || {}, A.userData.gltfExtensions[s] = e.extensions[s]);
1046
+ C[s] === void 0 && (A.userData.gltfExtensions = A.userData.gltfExtensions || {}, A.userData.gltfExtensions[s] = e.extensions[s]);
1015
1047
  }
1016
- function sA(a, A) {
1017
- A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(a.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
1048
+ function nA(C, A) {
1049
+ A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(C.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
1018
1050
  }
1019
- function Nn(a, A, e) {
1051
+ function On(C, A, e) {
1020
1052
  let s = !1, t = !1, n = !1;
1021
1053
  for (let r = 0, I = A.length; r < I; r++) {
1022
- const C = A[r];
1023
- if (C.POSITION !== void 0 && (s = !0), C.NORMAL !== void 0 && (t = !0), C.COLOR_0 !== void 0 && (n = !0), s && t && n)
1054
+ const a = A[r];
1055
+ if (a.POSITION !== void 0 && (s = !0), a.NORMAL !== void 0 && (t = !0), a.COLOR_0 !== void 0 && (n = !0), s && t && n)
1024
1056
  break;
1025
1057
  }
1026
1058
  if (!s && !t && !n)
1027
- return Promise.resolve(a);
1059
+ return Promise.resolve(C);
1028
1060
  const i = [], B = [], o = [];
1029
1061
  for (let r = 0, I = A.length; r < I; r++) {
1030
- const C = A[r];
1062
+ const a = A[r];
1031
1063
  if (s) {
1032
- const c = C.POSITION !== void 0 ? e.getDependency("accessor", C.POSITION) : a.attributes.position;
1064
+ const c = a.POSITION !== void 0 ? e.getDependency("accessor", a.POSITION) : C.attributes.position;
1033
1065
  i.push(c);
1034
1066
  }
1035
1067
  if (t) {
1036
- const c = C.NORMAL !== void 0 ? e.getDependency("accessor", C.NORMAL) : a.attributes.normal;
1068
+ const c = a.NORMAL !== void 0 ? e.getDependency("accessor", a.NORMAL) : C.attributes.normal;
1037
1069
  B.push(c);
1038
1070
  }
1039
1071
  if (n) {
1040
- const c = C.COLOR_0 !== void 0 ? e.getDependency("accessor", C.COLOR_0) : a.attributes.color;
1072
+ const c = a.COLOR_0 !== void 0 ? e.getDependency("accessor", a.COLOR_0) : C.attributes.color;
1041
1073
  o.push(c);
1042
1074
  }
1043
1075
  }
@@ -1046,41 +1078,41 @@ function Nn(a, A, e) {
1046
1078
  Promise.all(B),
1047
1079
  Promise.all(o)
1048
1080
  ]).then(function(r) {
1049
- const I = r[0], C = r[1], c = r[2];
1050
- return s && (a.morphAttributes.position = I), t && (a.morphAttributes.normal = C), n && (a.morphAttributes.color = c), a.morphTargetsRelative = !0, a;
1081
+ const I = r[0], a = r[1], c = r[2];
1082
+ return s && (C.morphAttributes.position = I), t && (C.morphAttributes.normal = a), n && (C.morphAttributes.color = c), C.morphTargetsRelative = !0, C;
1051
1083
  });
1052
1084
  }
1053
- function kn(a, A) {
1054
- if (a.updateMorphTargets(), A.weights !== void 0)
1085
+ function _n(C, A) {
1086
+ if (C.updateMorphTargets(), A.weights !== void 0)
1055
1087
  for (let e = 0, s = A.weights.length; e < s; e++)
1056
- a.morphTargetInfluences[e] = A.weights[e];
1088
+ C.morphTargetInfluences[e] = A.weights[e];
1057
1089
  if (A.extras && Array.isArray(A.extras.targetNames)) {
1058
1090
  const e = A.extras.targetNames;
1059
- if (a.morphTargetInfluences.length === e.length) {
1060
- a.morphTargetDictionary = {};
1091
+ if (C.morphTargetInfluences.length === e.length) {
1092
+ C.morphTargetDictionary = {};
1061
1093
  for (let s = 0, t = e.length; s < t; s++)
1062
- a.morphTargetDictionary[e[s]] = s;
1094
+ C.morphTargetDictionary[e[s]] = s;
1063
1095
  } else
1064
1096
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1065
1097
  }
1066
1098
  }
1067
- function bn(a) {
1099
+ function Pn(C) {
1068
1100
  let A;
1069
- const e = a.extensions && a.extensions[R.KHR_DRACO_MESH_COMPRESSION];
1070
- if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + Je(e.attributes) : A = a.indices + ":" + Je(a.attributes) + ":" + a.mode, a.targets !== void 0)
1071
- for (let s = 0, t = a.targets.length; s < t; s++)
1072
- A += ":" + Je(a.targets[s]);
1101
+ const e = C.extensions && C.extensions[R.KHR_DRACO_MESH_COMPRESSION];
1102
+ if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + xe(e.attributes) : A = C.indices + ":" + xe(C.attributes) + ":" + C.mode, C.targets !== void 0)
1103
+ for (let s = 0, t = C.targets.length; s < t; s++)
1104
+ A += ":" + xe(C.targets[s]);
1073
1105
  return A;
1074
1106
  }
1075
- function Je(a) {
1107
+ function xe(C) {
1076
1108
  let A = "";
1077
- const e = Object.keys(a).sort();
1109
+ const e = Object.keys(C).sort();
1078
1110
  for (let s = 0, t = e.length; s < t; s++)
1079
- A += e[s] + ":" + a[e[s]] + ";";
1111
+ A += e[s] + ":" + C[e[s]] + ";";
1080
1112
  return A;
1081
1113
  }
1082
- function ve(a) {
1083
- switch (a) {
1114
+ function Ze(C) {
1115
+ switch (C) {
1084
1116
  case Int8Array:
1085
1117
  return 1 / 127;
1086
1118
  case Uint8Array:
@@ -1093,15 +1125,15 @@ function ve(a) {
1093
1125
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1094
1126
  }
1095
1127
  }
1096
- function Kn(a) {
1097
- return a.search(/\.jpe?g($|\?)/i) > 0 || a.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : a.search(/\.webp($|\?)/i) > 0 || a.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1128
+ function Yn(C) {
1129
+ return C.search(/\.jpe?g($|\?)/i) > 0 || C.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : C.search(/\.webp($|\?)/i) > 0 || C.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1098
1130
  }
1099
- const On = new xA();
1100
- class _n {
1131
+ const qn = new bA();
1132
+ class Xn {
1101
1133
  constructor(A = {}, e = {}) {
1102
- this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new In(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
1134
+ this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new Qn(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
1103
1135
  let s = !1, t = !1, n = -1;
1104
- typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, n = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && n < 98 ? this.textureLoader = new Mt(this.options.manager) : this.textureLoader = new hs(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new fA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1136
+ typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, n = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && n < 98 ? this.textureLoader = new Lt(this.options.manager) : this.textureLoader = new us(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new DA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1105
1137
  }
1106
1138
  setExtensions(A) {
1107
1139
  this.extensions = A;
@@ -1131,7 +1163,7 @@ class _n {
1131
1163
  parser: s,
1132
1164
  userData: {}
1133
1165
  };
1134
- return QA(n, B, t), sA(B, t), Promise.all(s._invokeAll(function(o) {
1166
+ return hA(n, B, t), nA(B, t), Promise.all(s._invokeAll(function(o) {
1135
1167
  return o.afterRoot && o.afterRoot(B);
1136
1168
  })).then(function() {
1137
1169
  for (const o of B.scenes)
@@ -1294,7 +1326,7 @@ class _n {
1294
1326
  return Promise.resolve(this.extensions[R.KHR_BINARY_GLTF].body);
1295
1327
  const t = this.options;
1296
1328
  return new Promise(function(n, i) {
1297
- s.load(XA.resolveURL(e.uri, t.path), n, void 0, function() {
1329
+ s.load(WA.resolveURL(e.uri, t.path), n, void 0, function() {
1298
1330
  i(new Error('THREE.GLTFLoader: Failed to load buffer "' + e.uri + '".'));
1299
1331
  });
1300
1332
  });
@@ -1319,25 +1351,25 @@ class _n {
1319
1351
  loadAccessor(A) {
1320
1352
  const e = this, s = this.json, t = this.json.accessors[A];
1321
1353
  if (t.bufferView === void 0 && t.sparse === void 0) {
1322
- const i = ye[t.type], B = GA[t.componentType], o = t.normalized === !0, r = new B(t.count * i);
1323
- return Promise.resolve(new vA(r, i, o));
1354
+ const i = Te[t.type], B = mA[t.componentType], o = t.normalized === !0, r = new B(t.count * i);
1355
+ return Promise.resolve(new VA(r, i, o));
1324
1356
  }
1325
1357
  const n = [];
1326
1358
  return t.bufferView !== void 0 ? n.push(this.getDependency("bufferView", t.bufferView)) : n.push(null), t.sparse !== void 0 && (n.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), n.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(n).then(function(i) {
1327
- const B = i[0], o = ye[t.type], r = GA[t.componentType], I = r.BYTES_PER_ELEMENT, C = I * o, c = t.byteOffset || 0, Q = t.bufferView !== void 0 ? s.bufferViews[t.bufferView].byteStride : void 0, l = t.normalized === !0;
1359
+ const B = i[0], o = Te[t.type], r = mA[t.componentType], I = r.BYTES_PER_ELEMENT, a = I * o, c = t.byteOffset || 0, Q = t.bufferView !== void 0 ? s.bufferViews[t.bufferView].byteStride : void 0, l = t.normalized === !0;
1328
1360
  let h, E;
1329
- if (Q && Q !== C) {
1361
+ if (Q && Q !== a) {
1330
1362
  const d = Math.floor(c / Q), u = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + d + ":" + t.count;
1331
1363
  let f = e.cache.get(u);
1332
- f || (h = new r(B, d * Q, t.count * Q / I), f = new ls(h, Q / I), e.cache.add(u, f)), E = new ds(f, o, c % Q / I, l);
1364
+ f || (h = new r(B, d * Q, t.count * Q / I), f = new fs(h, Q / I), e.cache.add(u, f)), E = new Ds(f, o, c % Q / I, l);
1333
1365
  } else
1334
- B === null ? h = new r(t.count * o) : h = new r(B, c, t.count * o), E = new vA(h, o, l);
1366
+ B === null ? h = new r(t.count * o) : h = new r(B, c, t.count * o), E = new VA(h, o, l);
1335
1367
  if (t.sparse !== void 0) {
1336
- const d = ye.SCALAR, u = GA[t.sparse.indices.componentType], f = t.sparse.indices.byteOffset || 0, D = t.sparse.values.byteOffset || 0, p = new u(i[1], f, t.sparse.count * d), m = new r(i[2], D, t.sparse.count * o);
1337
- B !== null && (E = new vA(E.array.slice(), E.itemSize, E.normalized));
1338
- for (let M = 0, P = p.length; M < P; M++) {
1339
- const T = p[M];
1340
- if (E.setX(T, m[M * o]), o >= 2 && E.setY(T, m[M * o + 1]), o >= 3 && E.setZ(T, m[M * o + 2]), o >= 4 && E.setW(T, m[M * o + 3]), o >= 5)
1368
+ const d = Te.SCALAR, u = mA[t.sparse.indices.componentType], f = t.sparse.indices.byteOffset || 0, D = t.sparse.values.byteOffset || 0, p = new u(i[1], f, t.sparse.count * d), m = new r(i[2], D, t.sparse.count * o);
1369
+ B !== null && (E = new VA(E.array.slice(), E.itemSize, E.normalized));
1370
+ for (let M = 0, Y = p.length; M < Y; M++) {
1371
+ const U = p[M];
1372
+ if (E.setX(U, m[M * o]), o >= 2 && E.setY(U, m[M * o + 1]), o >= 3 && E.setZ(U, m[M * o + 2]), o >= 4 && E.setW(U, m[M * o + 3]), o >= 5)
1341
1373
  throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1342
1374
  }
1343
1375
  }
@@ -1365,7 +1397,7 @@ class _n {
1365
1397
  const r = this.loadImageSource(e, s).then(function(I) {
1366
1398
  I.flipY = !1, I.name = i.name || B.name || "", I.name === "" && typeof B.uri == "string" && B.uri.startsWith("data:image/") === !1 && (I.name = B.uri);
1367
1399
  const c = (n.samplers || {})[i.sampler] || {};
1368
- return I.magFilter = Qt[c.magFilter] || Re, I.minFilter = Qt[c.minFilter] || At, I.wrapS = ht[c.wrapS] || Ye, I.wrapT = ht[c.wrapT] || Ye, t.associations.set(I, { textures: A }), I;
1400
+ return I.magFilter = ut[c.magFilter] || Me, I.minFilter = ut[c.minFilter] || nt, I.wrapS = ft[c.wrapS] || We, I.wrapT = ft[c.wrapT] || We, t.associations.set(I, { textures: A }), I;
1369
1401
  }).catch(function() {
1370
1402
  return null;
1371
1403
  });
@@ -1374,29 +1406,29 @@ class _n {
1374
1406
  loadImageSource(A, e) {
1375
1407
  const s = this, t = this.json, n = this.options;
1376
1408
  if (this.sourceCache[A] !== void 0)
1377
- return this.sourceCache[A].then((C) => C.clone());
1409
+ return this.sourceCache[A].then((a) => a.clone());
1378
1410
  const i = t.images[A], B = self.URL || self.webkitURL;
1379
1411
  let o = i.uri || "", r = !1;
1380
1412
  if (i.bufferView !== void 0)
1381
- o = s.getDependency("bufferView", i.bufferView).then(function(C) {
1413
+ o = s.getDependency("bufferView", i.bufferView).then(function(a) {
1382
1414
  r = !0;
1383
- const c = new Blob([C], { type: i.mimeType });
1415
+ const c = new Blob([a], { type: i.mimeType });
1384
1416
  return o = B.createObjectURL(c), o;
1385
1417
  });
1386
1418
  else if (i.uri === void 0)
1387
1419
  throw new Error("THREE.GLTFLoader: Image " + A + " is missing URI and bufferView");
1388
- const I = Promise.resolve(o).then(function(C) {
1420
+ const I = Promise.resolve(o).then(function(a) {
1389
1421
  return new Promise(function(c, Q) {
1390
1422
  let l = c;
1391
1423
  e.isImageBitmapLoader === !0 && (l = function(h) {
1392
- const E = new it(h);
1424
+ const E = new Ct(h);
1393
1425
  E.needsUpdate = !0, c(E);
1394
- }), e.load(XA.resolveURL(C, n.path), l, void 0, Q);
1426
+ }), e.load(WA.resolveURL(a, n.path), l, void 0, Q);
1395
1427
  });
1396
- }).then(function(C) {
1397
- return r === !0 && B.revokeObjectURL(o), C.userData.mimeType = i.mimeType || Kn(i.uri), C;
1398
- }).catch(function(C) {
1399
- throw console.error("THREE.GLTFLoader: Couldn't load texture", o), C;
1428
+ }).then(function(a) {
1429
+ return r === !0 && B.revokeObjectURL(o), a.userData.mimeType = i.mimeType || Yn(i.uri), a;
1430
+ }).catch(function(a) {
1431
+ throw console.error("THREE.GLTFLoader: Couldn't load texture", o), a;
1400
1432
  });
1401
1433
  return this.sourceCache[A] = I, I;
1402
1434
  }
@@ -1437,11 +1469,11 @@ class _n {
1437
1469
  if (A.isPoints) {
1438
1470
  const B = "PointsMaterial:" + s.uuid;
1439
1471
  let o = this.cache.get(B);
1440
- o || (o = new us(), we.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1472
+ o || (o = new Fs(), Je.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1441
1473
  } else if (A.isLine) {
1442
1474
  const B = "LineBasicMaterial:" + s.uuid;
1443
1475
  let o = this.cache.get(B);
1444
- o || (o = new fs(), we.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1476
+ o || (o = new Gs(), Je.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1445
1477
  }
1446
1478
  if (t || n || i) {
1447
1479
  let B = "ClonedMaterial:" + s.uuid + ":";
@@ -1452,7 +1484,7 @@ class _n {
1452
1484
  A.material = s;
1453
1485
  }
1454
1486
  getMaterialType() {
1455
- return yt;
1487
+ return Tt;
1456
1488
  }
1457
1489
  /**
1458
1490
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -1464,38 +1496,38 @@ class _n {
1464
1496
  let i;
1465
1497
  const B = {}, o = n.extensions || {}, r = [];
1466
1498
  if (o[R.KHR_MATERIALS_UNLIT]) {
1467
- const C = t[R.KHR_MATERIALS_UNLIT];
1468
- i = C.getMaterialType(), r.push(C.extendParams(B, n, e));
1499
+ const a = t[R.KHR_MATERIALS_UNLIT];
1500
+ i = a.getMaterialType(), r.push(a.extendParams(B, n, e));
1469
1501
  } else {
1470
- const C = n.pbrMetallicRoughness || {};
1471
- if (B.color = new gA(1, 1, 1), B.opacity = 1, Array.isArray(C.baseColorFactor)) {
1472
- const c = C.baseColorFactor;
1473
- B.color.setRGB(c[0], c[1], c[2], _), B.opacity = c[3];
1502
+ const a = n.pbrMetallicRoughness || {};
1503
+ if (B.color = new EA(1, 1, 1), B.opacity = 1, Array.isArray(a.baseColorFactor)) {
1504
+ const c = a.baseColorFactor;
1505
+ B.color.setRGB(c[0], c[1], c[2], P), B.opacity = c[3];
1474
1506
  }
1475
- C.baseColorTexture !== void 0 && r.push(e.assignTexture(B, "map", C.baseColorTexture, $)), B.metalness = C.metallicFactor !== void 0 ? C.metallicFactor : 1, B.roughness = C.roughnessFactor !== void 0 ? C.roughnessFactor : 1, C.metallicRoughnessTexture !== void 0 && (r.push(e.assignTexture(B, "metalnessMap", C.metallicRoughnessTexture)), r.push(e.assignTexture(B, "roughnessMap", C.metallicRoughnessTexture))), i = this._invokeOne(function(c) {
1507
+ a.baseColorTexture !== void 0 && r.push(e.assignTexture(B, "map", a.baseColorTexture, AA)), B.metalness = a.metallicFactor !== void 0 ? a.metallicFactor : 1, B.roughness = a.roughnessFactor !== void 0 ? a.roughnessFactor : 1, a.metallicRoughnessTexture !== void 0 && (r.push(e.assignTexture(B, "metalnessMap", a.metallicRoughnessTexture)), r.push(e.assignTexture(B, "roughnessMap", a.metallicRoughnessTexture))), i = this._invokeOne(function(c) {
1476
1508
  return c.getMaterialType && c.getMaterialType(A);
1477
1509
  }), r.push(Promise.all(this._invokeAll(function(c) {
1478
1510
  return c.extendMaterialParams && c.extendMaterialParams(A, B);
1479
1511
  })));
1480
1512
  }
1481
- n.doubleSided === !0 && (B.side = Ds);
1482
- const I = n.alphaMode || Le.OPAQUE;
1483
- if (I === Le.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Le.MASK && (B.alphaTest = n.alphaCutoff !== void 0 ? n.alphaCutoff : 0.5)), n.normalTexture !== void 0 && i !== PA && (r.push(e.assignTexture(B, "normalMap", n.normalTexture)), B.normalScale = new St(1, 1), n.normalTexture.scale !== void 0)) {
1484
- const C = n.normalTexture.scale;
1485
- B.normalScale.set(C, C);
1513
+ n.doubleSided === !0 && (B.side = Rs);
1514
+ const I = n.alphaMode || Ue.OPAQUE;
1515
+ if (I === Ue.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Ue.MASK && (B.alphaTest = n.alphaCutoff !== void 0 ? n.alphaCutoff : 0.5)), n.normalTexture !== void 0 && i !== qA && (r.push(e.assignTexture(B, "normalMap", n.normalTexture)), B.normalScale = new Ht(1, 1), n.normalTexture.scale !== void 0)) {
1516
+ const a = n.normalTexture.scale;
1517
+ B.normalScale.set(a, a);
1486
1518
  }
1487
- if (n.occlusionTexture !== void 0 && i !== PA && (r.push(e.assignTexture(B, "aoMap", n.occlusionTexture)), n.occlusionTexture.strength !== void 0 && (B.aoMapIntensity = n.occlusionTexture.strength)), n.emissiveFactor !== void 0 && i !== PA) {
1488
- const C = n.emissiveFactor;
1489
- B.emissive = new gA().setRGB(C[0], C[1], C[2], _);
1519
+ if (n.occlusionTexture !== void 0 && i !== qA && (r.push(e.assignTexture(B, "aoMap", n.occlusionTexture)), n.occlusionTexture.strength !== void 0 && (B.aoMapIntensity = n.occlusionTexture.strength)), n.emissiveFactor !== void 0 && i !== qA) {
1520
+ const a = n.emissiveFactor;
1521
+ B.emissive = new EA().setRGB(a[0], a[1], a[2], P);
1490
1522
  }
1491
- return n.emissiveTexture !== void 0 && i !== PA && r.push(e.assignTexture(B, "emissiveMap", n.emissiveTexture, $)), Promise.all(r).then(function() {
1492
- const C = new i(B);
1493
- return n.name && (C.name = n.name), sA(C, n), e.associations.set(C, { materials: A }), n.extensions && QA(t, C, n), C;
1523
+ return n.emissiveTexture !== void 0 && i !== qA && r.push(e.assignTexture(B, "emissiveMap", n.emissiveTexture, AA)), Promise.all(r).then(function() {
1524
+ const a = new i(B);
1525
+ return n.name && (a.name = n.name), nA(a, n), e.associations.set(a, { materials: A }), n.extensions && hA(t, a, n), a;
1494
1526
  });
1495
1527
  }
1496
1528
  /** When Object3D instances are targeted by animation, they need unique names. */
1497
1529
  createUniqueName(A) {
1498
- const e = Fs.sanitizeNodeName(A || "");
1530
+ const e = ps.sanitizeNodeName(A || "");
1499
1531
  return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
1500
1532
  }
1501
1533
  /**
@@ -1510,17 +1542,17 @@ class _n {
1510
1542
  const e = this, s = this.extensions, t = this.primitiveCache;
1511
1543
  function n(B) {
1512
1544
  return s[R.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(B, e).then(function(o) {
1513
- return lt(o, B, e);
1545
+ return Dt(o, B, e);
1514
1546
  });
1515
1547
  }
1516
1548
  const i = [];
1517
1549
  for (let B = 0, o = A.length; B < o; B++) {
1518
- const r = A[B], I = bn(r), C = t[I];
1519
- if (C)
1520
- i.push(C.promise);
1550
+ const r = A[B], I = Pn(r), a = t[I];
1551
+ if (a)
1552
+ i.push(a.promise);
1521
1553
  else {
1522
1554
  let c;
1523
- r.extensions && r.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = n(r) : c = lt(new Lt(), r, e), t[I] = { primitive: r, promise: c }, i.push(c);
1555
+ r.extensions && r.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = n(r) : c = Dt(new Ut(), r, e), t[I] = { primitive: r, promise: c }, i.push(c);
1524
1556
  }
1525
1557
  }
1526
1558
  return Promise.all(i);
@@ -1533,40 +1565,40 @@ class _n {
1533
1565
  loadMesh(A) {
1534
1566
  const e = this, s = this.json, t = this.extensions, n = s.meshes[A], i = n.primitives, B = [];
1535
1567
  for (let o = 0, r = i.length; o < r; o++) {
1536
- const I = i[o].material === void 0 ? xn(this.cache) : this.getDependency("material", i[o].material);
1568
+ const I = i[o].material === void 0 ? Kn(this.cache) : this.getDependency("material", i[o].material);
1537
1569
  B.push(I);
1538
1570
  }
1539
1571
  return B.push(e.loadGeometries(i)), Promise.all(B).then(function(o) {
1540
- const r = o.slice(0, o.length - 1), I = o[o.length - 1], C = [];
1572
+ const r = o.slice(0, o.length - 1), I = o[o.length - 1], a = [];
1541
1573
  for (let Q = 0, l = I.length; Q < l; Q++) {
1542
1574
  const h = I[Q], E = i[Q];
1543
1575
  let d;
1544
1576
  const u = r[Q];
1545
1577
  if (E.mode === K.TRIANGLES || E.mode === K.TRIANGLE_STRIP || E.mode === K.TRIANGLE_FAN || E.mode === void 0)
1546
- d = n.isSkinnedMesh === !0 ? new Gs(h, u) : new ge(h, u), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === K.TRIANGLE_STRIP ? d.geometry = Et(d.geometry, wt) : E.mode === K.TRIANGLE_FAN && (d.geometry = Et(d.geometry, Pe));
1578
+ d = n.isSkinnedMesh === !0 ? new ms(h, u) : new Qe(h, u), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === K.TRIANGLE_STRIP ? d.geometry = lt(d.geometry, Jt) : E.mode === K.TRIANGLE_FAN && (d.geometry = lt(d.geometry, ve));
1547
1579
  else if (E.mode === K.LINES)
1548
- d = new Rs(h, u);
1580
+ d = new Ms(h, u);
1549
1581
  else if (E.mode === K.LINE_STRIP)
1550
- d = new ps(h, u);
1582
+ d = new ws(h, u);
1551
1583
  else if (E.mode === K.LINE_LOOP)
1552
- d = new ms(h, u);
1584
+ d = new ys(h, u);
1553
1585
  else if (E.mode === K.POINTS)
1554
- d = new Ms(h, u);
1586
+ d = new Ss(h, u);
1555
1587
  else
1556
1588
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + E.mode);
1557
- Object.keys(d.geometry.morphAttributes).length > 0 && kn(d, n), d.name = e.createUniqueName(n.name || "mesh_" + A), sA(d, n), E.extensions && QA(t, d, E), e.assignFinalMaterial(d), C.push(d);
1589
+ Object.keys(d.geometry.morphAttributes).length > 0 && _n(d, n), d.name = e.createUniqueName(n.name || "mesh_" + A), nA(d, n), E.extensions && hA(t, d, E), e.assignFinalMaterial(d), a.push(d);
1558
1590
  }
1559
- for (let Q = 0, l = C.length; Q < l; Q++)
1560
- e.associations.set(C[Q], {
1591
+ for (let Q = 0, l = a.length; Q < l; Q++)
1592
+ e.associations.set(a[Q], {
1561
1593
  meshes: A,
1562
1594
  primitives: Q
1563
1595
  });
1564
- if (C.length === 1)
1565
- return n.extensions && QA(t, C[0], n), C[0];
1566
- const c = new WA();
1567
- n.extensions && QA(t, c, n), e.associations.set(c, { meshes: A });
1568
- for (let Q = 0, l = C.length; Q < l; Q++)
1569
- c.add(C[Q]);
1596
+ if (a.length === 1)
1597
+ return n.extensions && hA(t, a[0], n), a[0];
1598
+ const c = new jA();
1599
+ n.extensions && hA(t, c, n), e.associations.set(c, { meshes: A });
1600
+ for (let Q = 0, l = a.length; Q < l; Q++)
1601
+ c.add(a[Q]);
1570
1602
  return c;
1571
1603
  });
1572
1604
  }
@@ -1582,7 +1614,7 @@ class _n {
1582
1614
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1583
1615
  return;
1584
1616
  }
1585
- return s.type === "perspective" ? e = new _e(ws.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new Ge(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), sA(e, s), Promise.resolve(e);
1617
+ return s.type === "perspective" ? e = new Xe(Ls.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new me(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), nA(e, s), Promise.resolve(e);
1586
1618
  }
1587
1619
  /**
1588
1620
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1596,15 +1628,15 @@ class _n {
1596
1628
  return e.inverseBindMatrices !== void 0 ? s.push(this.getDependency("accessor", e.inverseBindMatrices)) : s.push(null), Promise.all(s).then(function(t) {
1597
1629
  const n = t.pop(), i = t, B = [], o = [];
1598
1630
  for (let r = 0, I = i.length; r < I; r++) {
1599
- const C = i[r];
1600
- if (C) {
1601
- B.push(C);
1602
- const c = new xA();
1631
+ const a = i[r];
1632
+ if (a) {
1633
+ B.push(a);
1634
+ const c = new bA();
1603
1635
  n !== null && c.fromArray(n.array, r * 16), o.push(c);
1604
1636
  } else
1605
1637
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[r]);
1606
1638
  }
1607
- return new Ss(B, o);
1639
+ return new Js(B, o);
1608
1640
  });
1609
1641
  }
1610
1642
  /**
@@ -1614,8 +1646,8 @@ class _n {
1614
1646
  */
1615
1647
  loadAnimation(A) {
1616
1648
  const e = this.json, s = this, t = e.animations[A], n = t.name ? t.name : "animation_" + A, i = [], B = [], o = [], r = [], I = [];
1617
- for (let C = 0, c = t.channels.length; C < c; C++) {
1618
- const Q = t.channels[C], l = t.samplers[Q.sampler], h = Q.target, E = h.node, d = t.parameters !== void 0 ? t.parameters[l.input] : l.input, u = t.parameters !== void 0 ? t.parameters[l.output] : l.output;
1649
+ for (let a = 0, c = t.channels.length; a < c; a++) {
1650
+ const Q = t.channels[a], l = t.samplers[Q.sampler], h = Q.target, E = h.node, d = t.parameters !== void 0 ? t.parameters[l.input] : l.input, u = t.parameters !== void 0 ? t.parameters[l.output] : l.output;
1619
1651
  h.node !== void 0 && (i.push(this.getDependency("node", E)), B.push(this.getDependency("accessor", d)), o.push(this.getDependency("accessor", u)), r.push(l), I.push(h));
1620
1652
  }
1621
1653
  return Promise.all([
@@ -1624,19 +1656,19 @@ class _n {
1624
1656
  Promise.all(o),
1625
1657
  Promise.all(r),
1626
1658
  Promise.all(I)
1627
- ]).then(function(C) {
1628
- const c = C[0], Q = C[1], l = C[2], h = C[3], E = C[4], d = [];
1659
+ ]).then(function(a) {
1660
+ const c = a[0], Q = a[1], l = a[2], h = a[3], E = a[4], d = [];
1629
1661
  for (let u = 0, f = c.length; u < f; u++) {
1630
- const D = c[u], p = Q[u], m = l[u], M = h[u], P = E[u];
1662
+ const D = c[u], p = Q[u], m = l[u], M = h[u], Y = E[u];
1631
1663
  if (D === void 0)
1632
1664
  continue;
1633
1665
  D.updateMatrix && D.updateMatrix();
1634
- const T = s._createAnimationTracks(D, p, m, M, P);
1635
- if (T)
1636
- for (let v = 0; v < T.length; v++)
1637
- d.push(T[v]);
1666
+ const U = s._createAnimationTracks(D, p, m, M, Y);
1667
+ if (U)
1668
+ for (let W = 0; W < U.length; W++)
1669
+ d.push(U[W]);
1638
1670
  }
1639
- return new ys(n, void 0, d);
1671
+ return new Hs(n, void 0, d);
1640
1672
  });
1641
1673
  }
1642
1674
  createNodeMesh(A) {
@@ -1665,12 +1697,12 @@ class _n {
1665
1697
  Promise.all(i),
1666
1698
  o
1667
1699
  ]).then(function(r) {
1668
- const I = r[0], C = r[1], c = r[2];
1700
+ const I = r[0], a = r[1], c = r[2];
1669
1701
  c !== null && I.traverse(function(Q) {
1670
- Q.isSkinnedMesh && Q.bind(c, On);
1702
+ Q.isSkinnedMesh && Q.bind(c, qn);
1671
1703
  });
1672
- for (let Q = 0, l = C.length; Q < l; Q++)
1673
- I.add(C[Q]);
1704
+ for (let Q = 0, l = a.length; Q < l; Q++)
1705
+ I.add(a[Q]);
1674
1706
  return I;
1675
1707
  });
1676
1708
  }
@@ -1691,12 +1723,12 @@ class _n {
1691
1723
  B.push(r);
1692
1724
  }), this.nodeCache[A] = Promise.all(B).then(function(r) {
1693
1725
  let I;
1694
- if (n.isBone === !0 ? I = new Ls() : r.length > 1 ? I = new WA() : r.length === 1 ? I = r[0] : I = new $e(), I !== r[0])
1695
- for (let C = 0, c = r.length; C < c; C++)
1696
- I.add(r[C]);
1697
- if (n.name && (I.userData.name = n.name, I.name = i), sA(I, n), n.extensions && QA(s, I, n), n.matrix !== void 0) {
1698
- const C = new xA();
1699
- C.fromArray(n.matrix), I.applyMatrix4(C);
1726
+ if (n.isBone === !0 ? I = new Ts() : r.length > 1 ? I = new jA() : r.length === 1 ? I = r[0] : I = new st(), I !== r[0])
1727
+ for (let a = 0, c = r.length; a < c; a++)
1728
+ I.add(r[a]);
1729
+ if (n.name && (I.userData.name = n.name, I.name = i), nA(I, n), n.extensions && hA(s, I, n), n.matrix !== void 0) {
1730
+ const a = new bA();
1731
+ a.fromArray(n.matrix), I.applyMatrix4(a);
1700
1732
  } else
1701
1733
  n.translation !== void 0 && I.position.fromArray(n.translation), n.rotation !== void 0 && I.quaternion.fromArray(n.rotation), n.scale !== void 0 && I.scale.fromArray(n.scale);
1702
1734
  return t.associations.has(I) || t.associations.set(I, {}), t.associations.get(I).nodes = A, I;
@@ -1708,62 +1740,62 @@ class _n {
1708
1740
  * @return {Promise<Group>}
1709
1741
  */
1710
1742
  loadScene(A) {
1711
- const e = this.extensions, s = this.json.scenes[A], t = this, n = new WA();
1712
- s.name && (n.name = t.createUniqueName(s.name)), sA(n, s), s.extensions && QA(e, n, s);
1743
+ const e = this.extensions, s = this.json.scenes[A], t = this, n = new jA();
1744
+ s.name && (n.name = t.createUniqueName(s.name)), nA(n, s), s.extensions && hA(e, n, s);
1713
1745
  const i = s.nodes || [], B = [];
1714
1746
  for (let o = 0, r = i.length; o < r; o++)
1715
1747
  B.push(t.getDependency("node", i[o]));
1716
1748
  return Promise.all(B).then(function(o) {
1717
- for (let I = 0, C = o.length; I < C; I++)
1749
+ for (let I = 0, a = o.length; I < a; I++)
1718
1750
  n.add(o[I]);
1719
1751
  const r = (I) => {
1720
- const C = /* @__PURE__ */ new Map();
1752
+ const a = /* @__PURE__ */ new Map();
1721
1753
  for (const [c, Q] of t.associations)
1722
- (c instanceof we || c instanceof it) && C.set(c, Q);
1754
+ (c instanceof Je || c instanceof Ct) && a.set(c, Q);
1723
1755
  return I.traverse((c) => {
1724
1756
  const Q = t.associations.get(c);
1725
- Q != null && C.set(c, Q);
1726
- }), C;
1757
+ Q != null && a.set(c, Q);
1758
+ }), a;
1727
1759
  };
1728
1760
  return t.associations = r(n), n;
1729
1761
  });
1730
1762
  }
1731
1763
  _createAnimationTracks(A, e, s, t, n) {
1732
1764
  const i = [], B = A.name ? A.name : A.uuid, o = [];
1733
- tA[n.path] === tA.weights ? A.traverse(function(c) {
1765
+ sA[n.path] === sA.weights ? A.traverse(function(c) {
1734
1766
  c.morphTargetInfluences && o.push(c.name ? c.name : c.uuid);
1735
1767
  }) : o.push(B);
1736
1768
  let r;
1737
- switch (tA[n.path]) {
1738
- case tA.weights:
1739
- r = Bt;
1769
+ switch (sA[n.path]) {
1770
+ case sA.weights:
1771
+ r = It;
1740
1772
  break;
1741
- case tA.rotation:
1742
- r = rt;
1773
+ case sA.rotation:
1774
+ r = gt;
1743
1775
  break;
1744
- case tA.position:
1745
- case tA.scale:
1746
- r = ot;
1776
+ case sA.position:
1777
+ case sA.scale:
1778
+ r = at;
1747
1779
  break;
1748
1780
  default:
1749
1781
  switch (s.itemSize) {
1750
1782
  case 1:
1751
- r = Bt;
1783
+ r = It;
1752
1784
  break;
1753
1785
  case 2:
1754
1786
  case 3:
1755
1787
  default:
1756
- r = ot;
1788
+ r = at;
1757
1789
  break;
1758
1790
  }
1759
1791
  break;
1760
1792
  }
1761
- const I = t.interpolation !== void 0 ? Un[t.interpolation] : Jt, C = this._getArrayFromAccessor(s);
1793
+ const I = t.interpolation !== void 0 ? bn[t.interpolation] : xt, a = this._getArrayFromAccessor(s);
1762
1794
  for (let c = 0, Q = o.length; c < Q; c++) {
1763
1795
  const l = new r(
1764
- o[c] + "." + tA[n.path],
1796
+ o[c] + "." + sA[n.path],
1765
1797
  e.array,
1766
- C,
1798
+ a,
1767
1799
  I
1768
1800
  );
1769
1801
  t.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(l), i.push(l);
@@ -1773,7 +1805,7 @@ class _n {
1773
1805
  _getArrayFromAccessor(A) {
1774
1806
  let e = A.array;
1775
1807
  if (A.normalized) {
1776
- const s = ve(e.constructor), t = new Float32Array(e.length);
1808
+ const s = Ze(e.constructor), t = new Float32Array(e.length);
1777
1809
  for (let n = 0, i = e.length; n < i; n++)
1778
1810
  t[n] = e[n] * s;
1779
1811
  e = t;
@@ -1782,21 +1814,21 @@ class _n {
1782
1814
  }
1783
1815
  _createCubicSplineTrackInterpolant(A) {
1784
1816
  A.createInterpolant = function(s) {
1785
- const t = this instanceof rt ? Tn : xt;
1817
+ const t = this instanceof gt ? kn : bt;
1786
1818
  return new t(this.times, this.values, this.getValueSize() / 3, s);
1787
1819
  }, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1788
1820
  }
1789
1821
  }
1790
- function Pn(a, A, e) {
1791
- const s = A.attributes, t = new Ks();
1822
+ function vn(C, A, e) {
1823
+ const s = A.attributes, t = new Ps();
1792
1824
  if (s.POSITION !== void 0) {
1793
1825
  const B = e.json.accessors[s.POSITION], o = B.min, r = B.max;
1794
1826
  if (o !== void 0 && r !== void 0) {
1795
1827
  if (t.set(
1796
- new w(o[0], o[1], o[2]),
1797
- new w(r[0], r[1], r[2])
1828
+ new y(o[0], o[1], o[2]),
1829
+ new y(r[0], r[1], r[2])
1798
1830
  ), B.normalized) {
1799
- const I = ve(GA[B.componentType]);
1831
+ const I = Ze(mA[B.componentType]);
1800
1832
  t.min.multiplyScalar(I), t.max.multiplyScalar(I);
1801
1833
  }
1802
1834
  } else {
@@ -1807,14 +1839,14 @@ function Pn(a, A, e) {
1807
1839
  return;
1808
1840
  const n = A.targets;
1809
1841
  if (n !== void 0) {
1810
- const B = new w(), o = new w();
1842
+ const B = new y(), o = new y();
1811
1843
  for (let r = 0, I = n.length; r < I; r++) {
1812
- const C = n[r];
1813
- if (C.POSITION !== void 0) {
1814
- const c = e.json.accessors[C.POSITION], Q = c.min, l = c.max;
1844
+ const a = n[r];
1845
+ if (a.POSITION !== void 0) {
1846
+ const c = e.json.accessors[a.POSITION], Q = c.min, l = c.max;
1815
1847
  if (Q !== void 0 && l !== void 0) {
1816
1848
  if (o.setX(Math.max(Math.abs(Q[0]), Math.abs(l[0]))), o.setY(Math.max(Math.abs(Q[1]), Math.abs(l[1]))), o.setZ(Math.max(Math.abs(Q[2]), Math.abs(l[2]))), c.normalized) {
1817
- const h = ve(GA[c.componentType]);
1849
+ const h = Ze(mA[c.componentType]);
1818
1850
  o.multiplyScalar(h);
1819
1851
  }
1820
1852
  B.max(o);
@@ -1824,33 +1856,33 @@ function Pn(a, A, e) {
1824
1856
  }
1825
1857
  t.expandByVector(B);
1826
1858
  }
1827
- a.boundingBox = t;
1828
- const i = new Os();
1829
- t.getCenter(i.center), i.radius = t.min.distanceTo(t.max) / 2, a.boundingSphere = i;
1859
+ C.boundingBox = t;
1860
+ const i = new Ys();
1861
+ t.getCenter(i.center), i.radius = t.min.distanceTo(t.max) / 2, C.boundingSphere = i;
1830
1862
  }
1831
- function lt(a, A, e) {
1863
+ function Dt(C, A, e) {
1832
1864
  const s = A.attributes, t = [];
1833
1865
  function n(i, B) {
1834
1866
  return e.getDependency("accessor", i).then(function(o) {
1835
- a.setAttribute(B, o);
1867
+ C.setAttribute(B, o);
1836
1868
  });
1837
1869
  }
1838
1870
  for (const i in s) {
1839
- const B = Xe[i] || i.toLowerCase();
1840
- B in a.attributes || t.push(n(s[i], B));
1871
+ const B = je[i] || i.toLowerCase();
1872
+ B in C.attributes || t.push(n(s[i], B));
1841
1873
  }
1842
- if (A.indices !== void 0 && !a.index) {
1874
+ if (A.indices !== void 0 && !C.index) {
1843
1875
  const i = e.getDependency("accessor", A.indices).then(function(B) {
1844
- a.setIndex(B);
1876
+ C.setIndex(B);
1845
1877
  });
1846
1878
  t.push(i);
1847
1879
  }
1848
- return nt.workingColorSpace !== _ && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${nt.workingColorSpace}" not supported.`), sA(a, A), Pn(a, A, e), Promise.all(t).then(function() {
1849
- return A.targets !== void 0 ? Nn(a, A.targets, e) : a;
1880
+ return rt.workingColorSpace !== P && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${rt.workingColorSpace}" not supported.`), nA(C, A), vn(C, A, e), Promise.all(t).then(function() {
1881
+ return A.targets !== void 0 ? On(C, A.targets, e) : C;
1850
1882
  });
1851
1883
  }
1852
- const He = /* @__PURE__ */ new WeakMap();
1853
- class Yn extends Ze {
1884
+ const Ne = /* @__PURE__ */ new WeakMap();
1885
+ class Wn extends et {
1854
1886
  constructor(A) {
1855
1887
  super(A), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
1856
1888
  position: "POSITION",
@@ -1874,16 +1906,16 @@ class Yn extends Ze {
1874
1906
  return this.workerLimit = A, this;
1875
1907
  }
1876
1908
  load(A, e, s, t) {
1877
- const n = new fA(this.manager);
1909
+ const n = new DA(this.manager);
1878
1910
  n.setPath(this.path), n.setResponseType("arraybuffer"), n.setRequestHeader(this.requestHeader), n.setWithCredentials(this.withCredentials), n.load(A, (i) => {
1879
1911
  this.parse(i, e, t);
1880
1912
  }, s, t);
1881
1913
  }
1882
1914
  parse(A, e, s = () => {
1883
1915
  }) {
1884
- this.decodeDracoFile(A, e, null, null, $).catch(s);
1916
+ this.decodeDracoFile(A, e, null, null, AA).catch(s);
1885
1917
  }
1886
- decodeDracoFile(A, e, s, t, n = _, i = () => {
1918
+ decodeDracoFile(A, e, s, t, n = P, i = () => {
1887
1919
  }) {
1888
1920
  const B = {
1889
1921
  attributeIDs: s || this.defaultAttributeIDs,
@@ -1895,8 +1927,8 @@ class Yn extends Ze {
1895
1927
  }
1896
1928
  decodeGeometry(A, e) {
1897
1929
  const s = JSON.stringify(e);
1898
- if (He.has(A)) {
1899
- const o = He.get(A);
1930
+ if (Ne.has(A)) {
1931
+ const o = Ne.get(A);
1900
1932
  if (o.key === s)
1901
1933
  return o.promise;
1902
1934
  if (A.byteLength === 0)
@@ -1910,29 +1942,29 @@ class Yn extends Ze {
1910
1942
  }))).then((o) => this._createGeometry(o.geometry));
1911
1943
  return B.catch(() => !0).then(() => {
1912
1944
  t && n && this._releaseTask(t, n);
1913
- }), He.set(A, {
1945
+ }), Ne.set(A, {
1914
1946
  key: s,
1915
1947
  promise: B
1916
1948
  }), B;
1917
1949
  }
1918
1950
  _createGeometry(A) {
1919
- const e = new Lt();
1920
- A.index && e.setIndex(new vA(A.index.array, 1));
1951
+ const e = new Ut();
1952
+ A.index && e.setIndex(new VA(A.index.array, 1));
1921
1953
  for (let s = 0; s < A.attributes.length; s++) {
1922
- const t = A.attributes[s], n = t.name, i = t.array, B = t.itemSize, o = new vA(i, B);
1954
+ const t = A.attributes[s], n = t.name, i = t.array, B = t.itemSize, o = new VA(i, B);
1923
1955
  n === "color" && (this._assignVertexColorSpace(o, t.vertexColorSpace), o.normalized = !(i instanceof Float32Array)), e.setAttribute(n, o);
1924
1956
  }
1925
1957
  return e;
1926
1958
  }
1927
1959
  _assignVertexColorSpace(A, e) {
1928
- if (e !== $)
1960
+ if (e !== AA)
1929
1961
  return;
1930
- const s = new gA();
1962
+ const s = new EA();
1931
1963
  for (let t = 0, n = A.count; t < n; t++)
1932
1964
  s.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, s.r, s.g, s.b);
1933
1965
  }
1934
1966
  _loadLibrary(A, e) {
1935
- const s = new fA(this.manager);
1967
+ const s = new DA(this.manager);
1936
1968
  return s.setPath(this.decoderPath), s.setResponseType(e), s.setWithCredentials(this.withCredentials), new Promise((t, n) => {
1937
1969
  s.load(A, t, void 0, n);
1938
1970
  });
@@ -1947,7 +1979,7 @@ class Yn extends Ze {
1947
1979
  return A ? e.push(this._loadLibrary("draco_decoder.js", "text")) : (e.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), e.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(e).then((s) => {
1948
1980
  const t = s[0];
1949
1981
  A || (this.decoderConfig.wasmBinary = s[1]);
1950
- const n = qn.toString(), i = [
1982
+ const n = Vn.toString(), i = [
1951
1983
  "/* draco decoder */",
1952
1984
  t,
1953
1985
  "",
@@ -1995,36 +2027,36 @@ class Yn extends Ze {
1995
2027
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1996
2028
  }
1997
2029
  }
1998
- function qn() {
1999
- let a, A;
2030
+ function Vn() {
2031
+ let C, A;
2000
2032
  onmessage = function(i) {
2001
2033
  const B = i.data;
2002
2034
  switch (B.type) {
2003
2035
  case "init":
2004
- a = B.decoderConfig, A = new Promise(function(I) {
2005
- a.onModuleLoaded = function(C) {
2006
- I({ draco: C });
2007
- }, DracoDecoderModule(a);
2036
+ C = B.decoderConfig, A = new Promise(function(I) {
2037
+ C.onModuleLoaded = function(a) {
2038
+ I({ draco: a });
2039
+ }, DracoDecoderModule(C);
2008
2040
  });
2009
2041
  break;
2010
2042
  case "decode":
2011
2043
  const o = B.buffer, r = B.taskConfig;
2012
2044
  A.then((I) => {
2013
- const C = I.draco, c = new C.Decoder();
2045
+ const a = I.draco, c = new a.Decoder();
2014
2046
  try {
2015
- const Q = e(C, c, new Int8Array(o), r), l = Q.attributes.map((h) => h.array.buffer);
2047
+ const Q = e(a, c, new Int8Array(o), r), l = Q.attributes.map((h) => h.array.buffer);
2016
2048
  Q.index && l.push(Q.index.array.buffer), self.postMessage({ type: "decode", id: B.id, geometry: Q }, l);
2017
2049
  } catch (Q) {
2018
2050
  console.error(Q), self.postMessage({ type: "error", id: B.id, error: Q.message });
2019
2051
  } finally {
2020
- C.destroy(c);
2052
+ a.destroy(c);
2021
2053
  }
2022
2054
  });
2023
2055
  break;
2024
2056
  }
2025
2057
  };
2026
2058
  function e(i, B, o, r) {
2027
- const I = r.attributeIDs, C = r.attributeTypes;
2059
+ const I = r.attributeIDs, a = r.attributeTypes;
2028
2060
  let c, Q;
2029
2061
  const l = B.GetEncodedGeometryType(o);
2030
2062
  if (l === i.TRIANGULAR_MESH)
@@ -2037,7 +2069,7 @@ function qn() {
2037
2069
  throw new Error("THREE.DRACOLoader: Decoding failed: " + Q.error_msg());
2038
2070
  const h = { index: null, attributes: [] };
2039
2071
  for (const E in I) {
2040
- const d = self[C[E]];
2072
+ const d = self[a[E]];
2041
2073
  let u, f;
2042
2074
  if (r.useUniqueIDs)
2043
2075
  f = I[E], u = B.GetAttributeByUniqueId(c, f);
@@ -2052,14 +2084,14 @@ function qn() {
2052
2084
  return l === i.TRIANGULAR_MESH && (h.index = s(i, B, c)), i.destroy(c), h;
2053
2085
  }
2054
2086
  function s(i, B, o) {
2055
- const I = o.num_faces() * 3, C = I * 4, c = i._malloc(C);
2056
- B.GetTrianglesUInt32Array(o, C, c);
2087
+ const I = o.num_faces() * 3, a = I * 4, c = i._malloc(a);
2088
+ B.GetTrianglesUInt32Array(o, a, c);
2057
2089
  const Q = new Uint32Array(i.HEAPF32.buffer, c, I).slice();
2058
2090
  return i._free(c), { array: Q, itemSize: 1 };
2059
2091
  }
2060
- function t(i, B, o, r, I, C) {
2061
- const c = C.num_components(), l = o.num_points() * c, h = l * I.BYTES_PER_ELEMENT, E = n(i, I), d = i._malloc(h);
2062
- B.GetAttributeDataArrayForAllPoints(o, C, E, h, d);
2092
+ function t(i, B, o, r, I, a) {
2093
+ const c = a.num_components(), l = o.num_points() * c, h = l * I.BYTES_PER_ELEMENT, E = n(i, I), d = i._malloc(h);
2094
+ B.GetAttributeDataArrayForAllPoints(o, a, E, h, d);
2063
2095
  const u = new I(i.HEAPF32.buffer, d, l).slice();
2064
2096
  return i._free(d), {
2065
2097
  name: r,
@@ -2086,7 +2118,7 @@ function qn() {
2086
2118
  }
2087
2119
  }
2088
2120
  }
2089
- class Xn {
2121
+ class jn {
2090
2122
  constructor(A = 4) {
2091
2123
  this.pool = A, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
2092
2124
  }
@@ -2126,13 +2158,13 @@ class Xn {
2126
2158
  this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2127
2159
  }
2128
2160
  }
2129
- const vn = 0, dt = 2, Wn = 1, ut = 2, Vn = 0, jn = 1, Zn = 10, zn = 0, Nt = 9, kt = 15, bt = 16, Kt = 22, Ot = 37, _t = 43, Pt = 76, Yt = 83, qt = 97, Xt = 100, vt = 103, Wt = 109, Vt = 165, jt = 166;
2130
- class $n {
2161
+ const Zn = 0, Ft = 2, zn = 1, Gt = 2, $n = 0, Ai = 1, ei = 10, ti = 0, Kt = 9, Ot = 15, _t = 16, Pt = 22, Yt = 37, qt = 43, Xt = 76, vt = 83, Wt = 97, Vt = 100, jt = 103, Zt = 109, zt = 165, $t = 166;
2162
+ class si {
2131
2163
  constructor() {
2132
2164
  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;
2133
2165
  }
2134
2166
  }
2135
- class OA {
2167
+ class PA {
2136
2168
  constructor(A, e, s, t) {
2137
2169
  this._dataView = new DataView(A.buffer, A.byteOffset + e, s), this._littleEndian = t, this._offset = 0;
2138
2170
  }
@@ -2167,65 +2199,65 @@ class OA {
2167
2199
  return t < A && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + s, t);
2168
2200
  }
2169
2201
  }
2170
- const H = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2171
- function ft(a) {
2172
- return typeof TextDecoder != "undefined" ? new TextDecoder().decode(a) : Buffer.from(a).toString("utf8");
2202
+ const T = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2203
+ function Rt(C) {
2204
+ return typeof TextDecoder != "undefined" ? new TextDecoder().decode(C) : Buffer.from(C).toString("utf8");
2173
2205
  }
2174
- function Ai(a) {
2175
- const A = new Uint8Array(a.buffer, a.byteOffset, H.length);
2176
- if (A[0] !== H[0] || A[1] !== H[1] || A[2] !== H[2] || A[3] !== H[3] || A[4] !== H[4] || A[5] !== H[5] || A[6] !== H[6] || A[7] !== H[7] || A[8] !== H[8] || A[9] !== H[9] || A[10] !== H[10] || A[11] !== H[11])
2206
+ function ni(C) {
2207
+ const A = new Uint8Array(C.buffer, C.byteOffset, T.length);
2208
+ if (A[0] !== T[0] || A[1] !== T[1] || A[2] !== T[2] || A[3] !== T[3] || A[4] !== T[4] || A[5] !== T[5] || A[6] !== T[6] || A[7] !== T[7] || A[8] !== T[8] || A[9] !== T[9] || A[10] !== T[10] || A[11] !== T[11])
2177
2209
  throw new Error("Missing KTX 2.0 identifier.");
2178
- const e = new $n(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new OA(a, H.length, s, !0);
2210
+ const e = new si(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new PA(C, T.length, s, !0);
2179
2211
  e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
2180
2212
  const n = t._nextUint32();
2181
2213
  e.supercompressionScheme = t._nextUint32();
2182
- const i = t._nextUint32(), B = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), I = t._nextUint64(), C = t._nextUint64(), c = new OA(a, H.length + s, 3 * n * 8, !0);
2183
- for (let J = 0; J < n; J++)
2184
- e.levels.push({ levelData: new Uint8Array(a.buffer, a.byteOffset + c._nextUint64(), c._nextUint64()), uncompressedByteLength: c._nextUint64() });
2185
- const Q = new OA(a, i, B, !0), l = { vendorId: Q._skip(4)._nextUint16(), descriptorType: Q._nextUint16(), versionNumber: Q._nextUint16(), descriptorBlockSize: Q._nextUint16(), colorModel: Q._nextUint8(), colorPrimaries: Q._nextUint8(), transferFunction: Q._nextUint8(), flags: Q._nextUint8(), texelBlockDimension: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], bytesPlane: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], samples: [] }, h = (l.descriptorBlockSize / 4 - 6) / 4;
2186
- for (let J = 0; J < h; J++) {
2214
+ const i = t._nextUint32(), B = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), I = t._nextUint64(), a = t._nextUint64(), c = new PA(C, T.length + s, 3 * n * 8, !0);
2215
+ for (let H = 0; H < n; H++)
2216
+ e.levels.push({ levelData: new Uint8Array(C.buffer, C.byteOffset + c._nextUint64(), c._nextUint64()), uncompressedByteLength: c._nextUint64() });
2217
+ const Q = new PA(C, i, B, !0), l = { vendorId: Q._skip(4)._nextUint16(), descriptorType: Q._nextUint16(), versionNumber: Q._nextUint16(), descriptorBlockSize: Q._nextUint16(), colorModel: Q._nextUint8(), colorPrimaries: Q._nextUint8(), transferFunction: Q._nextUint8(), flags: Q._nextUint8(), texelBlockDimension: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], bytesPlane: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], samples: [] }, h = (l.descriptorBlockSize / 4 - 6) / 4;
2218
+ for (let H = 0; H < h; H++) {
2187
2219
  const N = { bitOffset: Q._nextUint16(), bitLength: Q._nextUint8(), channelType: Q._nextUint8(), samplePosition: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2188
- 64 & N.channelType ? (N.sampleLower = Q._nextInt32(), N.sampleUpper = Q._nextInt32()) : (N.sampleLower = Q._nextUint32(), N.sampleUpper = Q._nextUint32()), l.samples[J] = N;
2220
+ 64 & N.channelType ? (N.sampleLower = Q._nextInt32(), N.sampleUpper = Q._nextInt32()) : (N.sampleLower = Q._nextUint32(), N.sampleUpper = Q._nextUint32()), l.samples[H] = N;
2189
2221
  }
2190
2222
  e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(l);
2191
- const E = new OA(a, o, r, !0);
2223
+ const E = new PA(C, o, r, !0);
2192
2224
  for (; E._offset < r; ) {
2193
- const J = E._nextUint32(), N = E._scan(J), kA = ft(N), W = E._scan(J - N.byteLength);
2194
- e.keyValue[kA] = kA.match(/^ktx/i) ? ft(W) : W, E._offset % 4 && E._skip(4 - E._offset % 4);
2225
+ const H = E._nextUint32(), N = E._scan(H), OA = Rt(N), V = E._scan(H - N.byteLength);
2226
+ e.keyValue[OA] = OA.match(/^ktx/i) ? Rt(V) : V, E._offset % 4 && E._skip(4 - E._offset % 4);
2195
2227
  }
2196
- if (C <= 0)
2228
+ if (a <= 0)
2197
2229
  return e;
2198
- const d = new OA(a, I, C, !0), u = d._nextUint16(), f = d._nextUint16(), D = d._nextUint32(), p = d._nextUint32(), m = d._nextUint32(), M = d._nextUint32(), P = [];
2199
- for (let J = 0; J < n; J++)
2200
- P.push({ imageFlags: d._nextUint32(), rgbSliceByteOffset: d._nextUint32(), rgbSliceByteLength: d._nextUint32(), alphaSliceByteOffset: d._nextUint32(), alphaSliceByteLength: d._nextUint32() });
2201
- const T = I + d._offset, v = T + D, NA = v + p, Ee = NA + m, EA = new Uint8Array(a.buffer, a.byteOffset + T, D), ce = new Uint8Array(a.buffer, a.byteOffset + v, p), eA = new Uint8Array(a.buffer, a.byteOffset + NA, m), Qe = new Uint8Array(a.buffer, a.byteOffset + Ee, M);
2202
- return e.globalData = { endpointCount: u, selectorCount: f, imageDescs: P, endpointsData: EA, selectorsData: ce, tablesData: eA, extendedData: Qe }, e;
2203
- }
2204
- let Te, V, We;
2205
- const Ue = { env: { emscripten_notify_memory_growth: function(a) {
2206
- We = new Uint8Array(V.exports.memory.buffer);
2230
+ const d = new PA(C, I, a, !0), u = d._nextUint16(), f = d._nextUint16(), D = d._nextUint32(), p = d._nextUint32(), m = d._nextUint32(), M = d._nextUint32(), Y = [];
2231
+ for (let H = 0; H < n; H++)
2232
+ Y.push({ imageFlags: d._nextUint32(), rgbSliceByteOffset: d._nextUint32(), rgbSliceByteLength: d._nextUint32(), alphaSliceByteOffset: d._nextUint32(), alphaSliceByteLength: d._nextUint32() });
2233
+ const U = I + d._offset, W = U + D, KA = W + p, he = KA + m, cA = new Uint8Array(C.buffer, C.byteOffset + U, D), le = new Uint8Array(C.buffer, C.byteOffset + W, p), tA = new Uint8Array(C.buffer, C.byteOffset + KA, m), de = new Uint8Array(C.buffer, C.byteOffset + he, M);
2234
+ return e.globalData = { endpointCount: u, selectorCount: f, imageDescs: Y, endpointsData: cA, selectorsData: le, tablesData: tA, extendedData: de }, e;
2235
+ }
2236
+ let ke, j, ze;
2237
+ const be = { env: { emscripten_notify_memory_growth: function(C) {
2238
+ ze = new Uint8Array(j.exports.memory.buffer);
2207
2239
  } } };
2208
- class ei {
2240
+ class ii {
2209
2241
  init() {
2210
- return Te || (Te = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + Dt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, Ue)).then(this._init) : WebAssembly.instantiate(Buffer.from(Dt, "base64"), Ue).then(this._init), Te);
2242
+ return ke || (ke = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + pt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, be)).then(this._init) : WebAssembly.instantiate(Buffer.from(pt, "base64"), be).then(this._init), ke);
2211
2243
  }
2212
2244
  _init(A) {
2213
- V = A.instance, Ue.env.emscripten_notify_memory_growth(0);
2245
+ j = A.instance, be.env.emscripten_notify_memory_growth(0);
2214
2246
  }
2215
2247
  decode(A, e = 0) {
2216
- if (!V)
2248
+ if (!j)
2217
2249
  throw new Error("ZSTDDecoder: Await .init() before decoding.");
2218
- const s = A.byteLength, t = V.exports.malloc(s);
2219
- We.set(A, t), e = e || Number(V.exports.ZSTD_findDecompressedSize(t, s));
2220
- const n = V.exports.malloc(e), i = V.exports.ZSTD_decompress(n, e, t, s), B = We.slice(n, n + i);
2221
- return V.exports.free(t), V.exports.free(n), B;
2250
+ const s = A.byteLength, t = j.exports.malloc(s);
2251
+ ze.set(A, t), e = e || Number(j.exports.ZSTD_findDecompressedSize(t, s));
2252
+ const n = j.exports.malloc(e), i = j.exports.ZSTD_decompress(n, e, t, s), B = ze.slice(n, n + i);
2253
+ return j.exports.free(t), j.exports.free(n), B;
2222
2254
  }
2223
2255
  }
2224
- const Dt = "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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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", xe = /* @__PURE__ */ new WeakMap();
2225
- let Ne = 0, ke;
2226
- class X extends Ze {
2256
+ const pt = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+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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", Ke = /* @__PURE__ */ new WeakMap();
2257
+ let Oe = 0, _e;
2258
+ class v extends et {
2227
2259
  constructor(A) {
2228
- super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Xn(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2260
+ super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new jn(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2229
2261
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
2230
2262
  );
2231
2263
  }
@@ -2236,7 +2268,7 @@ class X extends Ze {
2236
2268
  return this.workerPool.setWorkerLimit(A), this;
2237
2269
  }
2238
2270
  detectSupportAsync(A) {
2239
- return bA(this, null, function* () {
2271
+ return RA(this, null, function* () {
2240
2272
  return this.workerConfig = {
2241
2273
  astcSupported: yield A.hasFeatureAsync("texture-compression-astc"),
2242
2274
  etc1Supported: yield A.hasFeatureAsync("texture-compression-etc1"),
@@ -2266,17 +2298,17 @@ class X extends Ze {
2266
2298
  }
2267
2299
  init() {
2268
2300
  if (!this.transcoderPending) {
2269
- const A = new fA(this.manager);
2301
+ const A = new DA(this.manager);
2270
2302
  A.setPath(this.transcoderPath), A.setWithCredentials(this.withCredentials);
2271
- const e = A.loadAsync("basis_transcoder.js"), s = new fA(this.manager);
2303
+ const e = A.loadAsync("basis_transcoder.js"), s = new DA(this.manager);
2272
2304
  s.setPath(this.transcoderPath), s.setResponseType("arraybuffer"), s.setWithCredentials(this.withCredentials);
2273
2305
  const t = s.loadAsync("basis_transcoder.wasm");
2274
2306
  this.transcoderPending = Promise.all([e, t]).then(([n, i]) => {
2275
- const B = X.BasisWorker.toString(), o = [
2307
+ const B = v.BasisWorker.toString(), o = [
2276
2308
  "/* constants */",
2277
- "let _EngineFormat = " + JSON.stringify(X.EngineFormat),
2278
- "let _TranscoderFormat = " + JSON.stringify(X.TranscoderFormat),
2279
- "let _BasisFormat = " + JSON.stringify(X.BasisFormat),
2309
+ "let _EngineFormat = " + JSON.stringify(v.EngineFormat),
2310
+ "let _TranscoderFormat = " + JSON.stringify(v.TranscoderFormat),
2311
+ "let _BasisFormat = " + JSON.stringify(v.BasisFormat),
2280
2312
  "/* basis_transcoder.js */",
2281
2313
  n,
2282
2314
  "/* worker */",
@@ -2287,19 +2319,19 @@ class X extends Ze {
2287
2319
  const r = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
2288
2320
  return r.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), r;
2289
2321
  });
2290
- }), Ne > 0 && console.warn(
2322
+ }), Oe > 0 && console.warn(
2291
2323
  "THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."
2292
- ), Ne++;
2324
+ ), Oe++;
2293
2325
  }
2294
2326
  return this.transcoderPending;
2295
2327
  }
2296
2328
  load(A, e, s, t) {
2297
2329
  if (this.workerConfig === null)
2298
2330
  throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2299
- const n = new fA(this.manager);
2331
+ const n = new DA(this.manager);
2300
2332
  n.setResponseType("arraybuffer"), n.setWithCredentials(this.withCredentials), n.load(A, (i) => {
2301
- if (xe.has(i))
2302
- return xe.get(i).promise.then(e).catch(t);
2333
+ if (Ke.has(i))
2334
+ return Ke.get(i).promise.then(e).catch(t);
2303
2335
  this._createTexture(i).then((B) => e ? e(B) : null).catch(t);
2304
2336
  }, s, t);
2305
2337
  }
@@ -2309,12 +2341,12 @@ class X extends Ze {
2309
2341
  return Promise.reject(o);
2310
2342
  let I;
2311
2343
  if (e.faceCount === 6)
2312
- I = new Ps(s, i, O);
2344
+ I = new Xs(s, i, O);
2313
2345
  else {
2314
- const C = s[0].mipmaps;
2315
- I = e.layerCount > 1 ? new Ys(C, t, n, e.layerCount, i, O) : new Ht(C, t, n, i, O);
2346
+ const a = s[0].mipmaps;
2347
+ I = e.layerCount > 1 ? new vs(a, t, n, e.layerCount, i, O) : new Nt(a, t, n, i, O);
2316
2348
  }
2317
- return I.minFilter = s[0].mipmaps.length === 1 ? Re : At, I.magFilter = Re, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = Zt(e), I.premultiplyAlpha = !!(r & Wn), I;
2349
+ return I.minFilter = s[0].mipmaps.length === 1 ? Me : nt, I.magFilter = Me, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = As(e), I.premultiplyAlpha = !!(r & zn), I;
2318
2350
  }
2319
2351
  /**
2320
2352
  * @param {ArrayBuffer} buffer
@@ -2322,23 +2354,23 @@ class X extends Ze {
2322
2354
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
2323
2355
  */
2324
2356
  _createTexture(s) {
2325
- return bA(this, arguments, function* (A, e = {}) {
2326
- const t = Ai(new Uint8Array(A));
2327
- if (t.vkFormat !== zn)
2328
- return si(t);
2357
+ return RA(this, arguments, function* (A, e = {}) {
2358
+ const t = ni(new Uint8Array(A));
2359
+ if (t.vkFormat !== ti)
2360
+ return Bi(t);
2329
2361
  const n = e, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: n }, [A])).then((B) => this._createTextureFrom(B.data, t));
2330
- return xe.set(A, { promise: i }), i;
2362
+ return Ke.set(A, { promise: i }), i;
2331
2363
  });
2332
2364
  }
2333
2365
  dispose() {
2334
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Ne--, this;
2366
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Oe--, this;
2335
2367
  }
2336
2368
  }
2337
- X.BasisFormat = {
2369
+ v.BasisFormat = {
2338
2370
  ETC1S: 0,
2339
2371
  UASTC_4x4: 1
2340
2372
  };
2341
- X.TranscoderFormat = {
2373
+ v.TranscoderFormat = {
2342
2374
  ETC1: 0,
2343
2375
  ETC2: 1,
2344
2376
  BC1: 2,
@@ -2357,26 +2389,26 @@ X.TranscoderFormat = {
2357
2389
  BGR565: 15,
2358
2390
  RGBA4444: 16
2359
2391
  };
2360
- X.EngineFormat = {
2361
- RGBAFormat: FA,
2362
- RGBA_ASTC_4x4_Format: qs,
2363
- RGBA_BPTC_Format: Xs,
2364
- RGBA_ETC2_EAC_Format: vs,
2365
- RGBA_PVRTC_4BPPV1_Format: Ws,
2366
- RGBA_S3TC_DXT5_Format: Vs,
2367
- RGB_ETC1_Format: js,
2368
- RGB_ETC2_Format: Zs,
2369
- RGB_PVRTC_4BPPV1_Format: zs,
2370
- RGB_S3TC_DXT1_Format: $s
2392
+ v.EngineFormat = {
2393
+ RGBAFormat: pA,
2394
+ RGBA_ASTC_4x4_Format: Ws,
2395
+ RGBA_BPTC_Format: Vs,
2396
+ RGBA_ETC2_EAC_Format: js,
2397
+ RGBA_PVRTC_4BPPV1_Format: Zs,
2398
+ RGBA_S3TC_DXT5_Format: zs,
2399
+ RGB_ETC1_Format: $s,
2400
+ RGB_ETC2_Format: An,
2401
+ RGB_PVRTC_4BPPV1_Format: en,
2402
+ RGB_S3TC_DXT1_Format: tn
2371
2403
  };
2372
- X.BasisWorker = function() {
2373
- let a, A, e;
2404
+ v.BasisWorker = function() {
2405
+ let C, A, e;
2374
2406
  const s = _EngineFormat, t = _TranscoderFormat, n = _BasisFormat;
2375
2407
  self.addEventListener("message", function(l) {
2376
2408
  const h = l.data;
2377
2409
  switch (h.type) {
2378
2410
  case "init":
2379
- a = h.config, i(h.transcoderBinary);
2411
+ C = h.config, i(h.transcoderBinary);
2380
2412
  break;
2381
2413
  case "transcode":
2382
2414
  A.then(() => {
@@ -2404,31 +2436,31 @@ X.BasisWorker = function() {
2404
2436
  }
2405
2437
  if (!h.isValid())
2406
2438
  throw E(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
2407
- const d = h.isUASTC() ? n.UASTC_4x4 : n.ETC1S, u = h.getWidth(), f = h.getHeight(), D = h.getLayers() || 1, p = h.getLevels(), m = h.getFaces(), M = h.getHasAlpha(), P = h.getDFDFlags(), { transcoderFormat: T, engineFormat: v } = C(d, u, f, M);
2439
+ const d = h.isUASTC() ? n.UASTC_4x4 : n.ETC1S, u = h.getWidth(), f = h.getHeight(), D = h.getLayers() || 1, p = h.getLevels(), m = h.getFaces(), M = h.getHasAlpha(), Y = h.getDFDFlags(), { transcoderFormat: U, engineFormat: W } = a(d, u, f, M);
2408
2440
  if (!u || !f || !p)
2409
2441
  throw E(), new Error("THREE.KTX2Loader: Invalid texture");
2410
2442
  if (!h.startTranscoding())
2411
2443
  throw E(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2412
- const NA = [], Ee = [];
2413
- for (let EA = 0; EA < m; EA++) {
2414
- const ce = [];
2415
- for (let eA = 0; eA < p; eA++) {
2416
- const Qe = [];
2417
- let J, N;
2418
- for (let W = 0; W < D; W++) {
2419
- const DA = h.getImageLevelInfo(eA, W, EA);
2420
- EA === 0 && eA === 0 && W === 0 && (DA.origWidth % 4 !== 0 || DA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), p > 1 ? (J = DA.origWidth, N = DA.origHeight) : (J = DA.width, N = DA.height);
2421
- const et = new Uint8Array(h.getImageTranscodedSizeInBytes(eA, W, 0, T));
2422
- if (!h.transcodeImage(et, eA, W, EA, T, 0, -1, -1))
2444
+ const KA = [], he = [];
2445
+ for (let cA = 0; cA < m; cA++) {
2446
+ const le = [];
2447
+ for (let tA = 0; tA < p; tA++) {
2448
+ const de = [];
2449
+ let H, N;
2450
+ for (let V = 0; V < D; V++) {
2451
+ const GA = h.getImageLevelInfo(tA, V, cA);
2452
+ cA === 0 && tA === 0 && V === 0 && (GA.origWidth % 4 !== 0 || GA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), p > 1 ? (H = GA.origWidth, N = GA.origHeight) : (H = GA.width, N = GA.height);
2453
+ const it = new Uint8Array(h.getImageTranscodedSizeInBytes(tA, V, 0, U));
2454
+ if (!h.transcodeImage(it, tA, V, cA, U, 0, -1, -1))
2423
2455
  throw E(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2424
- Qe.push(et);
2456
+ de.push(it);
2425
2457
  }
2426
- const kA = Q(Qe);
2427
- ce.push({ data: kA, width: J, height: N }), Ee.push(kA.buffer);
2458
+ const OA = Q(de);
2459
+ le.push({ data: OA, width: H, height: N }), he.push(OA.buffer);
2428
2460
  }
2429
- NA.push({ mipmaps: ce, width: u, height: f, format: v });
2461
+ KA.push({ mipmaps: le, width: u, height: f, format: W });
2430
2462
  }
2431
- return E(), { faces: NA, buffers: Ee, width: u, height: f, hasAlpha: M, format: v, dfdFlags: P };
2463
+ return E(), { faces: KA, buffers: he, width: u, height: f, hasAlpha: M, format: W, dfdFlags: Y };
2432
2464
  }
2433
2465
  const o = [
2434
2466
  {
@@ -2490,12 +2522,12 @@ X.BasisWorker = function() {
2490
2522
  }), I = o.sort(function(l, h) {
2491
2523
  return l.priorityUASTC - h.priorityUASTC;
2492
2524
  });
2493
- function C(l, h, E, d) {
2525
+ function a(l, h, E, d) {
2494
2526
  let u, f;
2495
2527
  const D = l === n.ETC1S ? r : I;
2496
2528
  for (let p = 0; p < D.length; p++) {
2497
2529
  const m = D[p];
2498
- if (a[m.if] && m.basisFormat.includes(l) && !(d && m.transcoderFormat.length < 2) && !(m.needsPowerOfTwo && !(c(h) && c(E))))
2530
+ if (C[m.if] && m.basisFormat.includes(l) && !(d && m.transcoderFormat.length < 2) && !(m.needsPowerOfTwo && !(c(h) && c(E))))
2499
2531
  return u = m.transcoderFormat[d ? 1 : 0], f = m.engineFormat[d ? 1 : 0], { transcoderFormat: u, engineFormat: f };
2500
2532
  }
2501
2533
  return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), u = t.RGBA32, f = s.RGBAFormat, { transcoderFormat: u, engineFormat: f };
@@ -2520,93 +2552,93 @@ X.BasisWorker = function() {
2520
2552
  return E;
2521
2553
  }
2522
2554
  };
2523
- const ti = /* @__PURE__ */ new Set([FA, YA, qA]), be = {
2524
- [Wt]: FA,
2525
- [qt]: FA,
2526
- [Ot]: FA,
2527
- [_t]: FA,
2528
- [vt]: YA,
2529
- [Yt]: YA,
2530
- [bt]: YA,
2531
- [Kt]: YA,
2532
- [Xt]: qA,
2533
- [Pt]: qA,
2534
- [kt]: qA,
2535
- [Nt]: qA,
2536
- [jt]: at,
2537
- [Vt]: at
2538
- }, Ke = {
2539
- [Wt]: De,
2540
- [qt]: Fe,
2541
- [Ot]: O,
2555
+ const oi = /* @__PURE__ */ new Set([pA, XA, vA]), Pe = {
2556
+ [Zt]: pA,
2557
+ [Wt]: pA,
2558
+ [Yt]: pA,
2559
+ [qt]: pA,
2560
+ [jt]: XA,
2561
+ [vt]: XA,
2562
+ [_t]: XA,
2563
+ [Pt]: XA,
2564
+ [Vt]: vA,
2565
+ [Xt]: vA,
2566
+ [Ot]: vA,
2567
+ [Kt]: vA,
2568
+ [$t]: ct,
2569
+ [zt]: ct
2570
+ }, Ye = {
2571
+ [Zt]: Re,
2572
+ [Wt]: pe,
2573
+ [Yt]: O,
2574
+ [qt]: O,
2575
+ [jt]: Re,
2576
+ [vt]: pe,
2542
2577
  [_t]: O,
2543
- [vt]: De,
2544
- [Yt]: Fe,
2545
- [bt]: O,
2578
+ [Pt]: O,
2579
+ [Vt]: Re,
2580
+ [Xt]: pe,
2581
+ [Ot]: O,
2546
2582
  [Kt]: O,
2547
- [Xt]: De,
2548
- [Pt]: Fe,
2549
- [kt]: O,
2550
- [Nt]: O,
2551
- [jt]: O,
2552
- [Vt]: O
2583
+ [$t]: O,
2584
+ [zt]: O
2553
2585
  };
2554
- function si(a) {
2555
- return bA(this, null, function* () {
2556
- const { vkFormat: A } = a;
2557
- if (be[A] === void 0)
2586
+ function Bi(C) {
2587
+ return RA(this, null, function* () {
2588
+ const { vkFormat: A } = C;
2589
+ if (Pe[A] === void 0)
2558
2590
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2559
2591
  let e;
2560
- a.supercompressionScheme === dt && (ke || (ke = new Promise((n) => bA(this, null, function* () {
2561
- const i = new ei();
2592
+ C.supercompressionScheme === Ft && (_e || (_e = new Promise((n) => RA(this, null, function* () {
2593
+ const i = new ii();
2562
2594
  yield i.init(), n(i);
2563
- }))), e = yield ke);
2595
+ }))), e = yield _e);
2564
2596
  const s = [];
2565
- for (let n = 0; n < a.levels.length; n++) {
2566
- const i = Math.max(1, a.pixelWidth >> n), B = Math.max(1, a.pixelHeight >> n), o = a.pixelDepth ? Math.max(1, a.pixelDepth >> n) : 0, r = a.levels[n];
2597
+ for (let n = 0; n < C.levels.length; n++) {
2598
+ const i = Math.max(1, C.pixelWidth >> n), B = Math.max(1, C.pixelHeight >> n), o = C.pixelDepth ? Math.max(1, C.pixelDepth >> n) : 0, r = C.levels[n];
2567
2599
  let I;
2568
- if (a.supercompressionScheme === vn)
2600
+ if (C.supercompressionScheme === Zn)
2569
2601
  I = r.levelData;
2570
- else if (a.supercompressionScheme === dt)
2602
+ else if (C.supercompressionScheme === Ft)
2571
2603
  I = e.decode(r.levelData, r.uncompressedByteLength);
2572
2604
  else
2573
2605
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2574
- let C;
2575
- Ke[A] === De ? C = new Float32Array(
2606
+ let a;
2607
+ Ye[A] === Re ? a = new Float32Array(
2576
2608
  I.buffer,
2577
2609
  I.byteOffset,
2578
2610
  I.byteLength / Float32Array.BYTES_PER_ELEMENT
2579
- ) : Ke[A] === Fe ? C = new Uint16Array(
2611
+ ) : Ye[A] === pe ? a = new Uint16Array(
2580
2612
  I.buffer,
2581
2613
  I.byteOffset,
2582
2614
  I.byteLength / Uint16Array.BYTES_PER_ELEMENT
2583
- ) : C = I, s.push({
2584
- data: C,
2615
+ ) : a = I, s.push({
2616
+ data: a,
2585
2617
  width: i,
2586
2618
  height: B,
2587
2619
  depth: o
2588
2620
  });
2589
2621
  }
2590
2622
  let t;
2591
- if (ti.has(be[A]))
2592
- t = a.pixelDepth === 0 ? new An(s[0].data, a.pixelWidth, a.pixelHeight) : new en(s[0].data, a.pixelWidth, a.pixelHeight, a.pixelDepth);
2623
+ if (oi.has(Pe[A]))
2624
+ t = C.pixelDepth === 0 ? new sn(s[0].data, C.pixelWidth, C.pixelHeight) : new nn(s[0].data, C.pixelWidth, C.pixelHeight, C.pixelDepth);
2593
2625
  else {
2594
- if (a.pixelDepth > 0)
2626
+ if (C.pixelDepth > 0)
2595
2627
  throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2596
- t = new Ht(s, a.pixelWidth, a.pixelHeight);
2628
+ t = new Nt(s, C.pixelWidth, C.pixelHeight);
2597
2629
  }
2598
- return t.mipmaps = s, t.type = Ke[A], t.format = be[A], t.colorSpace = Zt(a), t.needsUpdate = !0, Promise.resolve(t);
2630
+ return t.mipmaps = s, t.type = Ye[A], t.format = Pe[A], t.colorSpace = As(C), t.needsUpdate = !0, Promise.resolve(t);
2599
2631
  });
2600
2632
  }
2601
- function Zt(a) {
2602
- const A = a.dataFormatDescriptor[0];
2603
- return A.colorPrimaries === jn ? A.transferFunction === ut ? $ : _ : A.colorPrimaries === Zn ? A.transferFunction === ut ? tn : sn : A.colorPrimaries === Vn ? Ct : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), Ct);
2633
+ function As(C) {
2634
+ const A = C.dataFormatDescriptor[0];
2635
+ return A.colorPrimaries === Ai ? A.transferFunction === Gt ? AA : P : A.colorPrimaries === ei ? A.transferFunction === Gt ? on : Bn : A.colorPrimaries === $n ? Et : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), Et);
2604
2636
  }
2605
- let fe;
2606
- const ni = () => {
2607
- if (fe)
2608
- return fe;
2609
- const a = "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", A = "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", e = new Uint8Array([
2637
+ let Ge;
2638
+ const ri = () => {
2639
+ if (Ge)
2640
+ return Ge;
2641
+ const C = "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", A = "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", e = new Uint8Array([
2610
2642
  0,
2611
2643
  97,
2612
2644
  115,
@@ -2724,27 +2756,27 @@ const ni = () => {
2724
2756
  return {
2725
2757
  supported: !1
2726
2758
  };
2727
- let t = a;
2759
+ let t = C;
2728
2760
  WebAssembly.validate(e) && (t = A);
2729
2761
  let n;
2730
- const i = WebAssembly.instantiate(B(t), {}).then((C) => {
2731
- n = C.instance, n.exports.__wasm_call_ctors();
2762
+ const i = WebAssembly.instantiate(B(t), {}).then((a) => {
2763
+ n = a.instance, n.exports.__wasm_call_ctors();
2732
2764
  });
2733
- function B(C) {
2734
- const c = new Uint8Array(C.length);
2735
- for (let l = 0; l < C.length; ++l) {
2736
- const h = C.charCodeAt(l);
2765
+ function B(a) {
2766
+ const c = new Uint8Array(a.length);
2767
+ for (let l = 0; l < a.length; ++l) {
2768
+ const h = a.charCodeAt(l);
2737
2769
  c[l] = h > 96 ? h - 71 : h > 64 ? h - 65 : h > 47 ? h + 4 : h > 46 ? 63 : 62;
2738
2770
  }
2739
2771
  let Q = 0;
2740
- for (let l = 0; l < C.length; ++l)
2772
+ for (let l = 0; l < a.length; ++l)
2741
2773
  c[Q++] = c[l] < 60 ? s[c[l]] : (c[l] - 60) * 64 + c[++l];
2742
2774
  return c.buffer.slice(0, Q);
2743
2775
  }
2744
- function o(C, c, Q, l, h, E) {
2776
+ function o(a, c, Q, l, h, E) {
2745
2777
  const d = n.exports.sbrk, u = Q + 3 & -4, f = d(u * l), D = d(h.length), p = new Uint8Array(n.exports.memory.buffer);
2746
2778
  p.set(h, D);
2747
- const m = C(f, Q, l, D, h.length);
2779
+ const m = a(f, Q, l, D, h.length);
2748
2780
  if (m === 0 && E && E(f, u, l), c.set(p.subarray(f, f + Q * l)), d(f - d(0)), m !== 0)
2749
2781
  throw new Error(`Malformed buffer data: ${m}`);
2750
2782
  }
@@ -2769,132 +2801,153 @@ const ni = () => {
2769
2801
  TRIANGLES: "meshopt_decodeIndexBuffer",
2770
2802
  INDICES: "meshopt_decodeIndexSequence"
2771
2803
  };
2772
- return fe = {
2804
+ return Ge = {
2773
2805
  ready: i,
2774
2806
  supported: !0,
2775
- decodeVertexBuffer(C, c, Q, l, h) {
2807
+ decodeVertexBuffer(a, c, Q, l, h) {
2776
2808
  o(
2777
2809
  n.exports.meshopt_decodeVertexBuffer,
2778
- C,
2810
+ a,
2779
2811
  c,
2780
2812
  Q,
2781
2813
  l,
2782
2814
  n.exports[r[h]]
2783
2815
  );
2784
2816
  },
2785
- decodeIndexBuffer(C, c, Q, l) {
2786
- o(n.exports.meshopt_decodeIndexBuffer, C, c, Q, l);
2817
+ decodeIndexBuffer(a, c, Q, l) {
2818
+ o(n.exports.meshopt_decodeIndexBuffer, a, c, Q, l);
2787
2819
  },
2788
- decodeIndexSequence(C, c, Q, l) {
2789
- o(n.exports.meshopt_decodeIndexSequence, C, c, Q, l);
2820
+ decodeIndexSequence(a, c, Q, l) {
2821
+ o(n.exports.meshopt_decodeIndexSequence, a, c, Q, l);
2790
2822
  },
2791
- decodeGltfBuffer(C, c, Q, l, h, E) {
2823
+ decodeGltfBuffer(a, c, Q, l, h, E) {
2792
2824
  o(
2793
2825
  n.exports[I[h]],
2794
- C,
2826
+ a,
2795
2827
  c,
2796
2828
  Q,
2797
2829
  l,
2798
2830
  n.exports[r[E]]
2799
2831
  );
2800
2832
  }
2801
- }, fe;
2833
+ }, Ge;
2802
2834
  };
2803
- var wA, $A, Ae, ee;
2804
- class ii {
2835
+ var LA, te, se, ne;
2836
+ class Ci {
2805
2837
  constructor() {
2806
- F(this, wA, new an());
2807
- F(this, $A, new Yn().setDecoderPath(
2808
- `${x.CDNVersion}/examples/jsm/libs/draco/gltf/`
2838
+ F(this, LA, new cn());
2839
+ F(this, te, new Wn().setDecoderPath(
2840
+ `${w.CDNVersion}/examples/jsm/libs/draco/gltf/`
2809
2841
  ));
2810
- F(this, Ae, new X().setTranscoderPath(
2811
- `${x.CDNVersion}/examples/jsm/libs/basis/`
2842
+ F(this, se, new v().setTranscoderPath(
2843
+ `${w.CDNVersion}/examples/jsm/libs/basis/`
2812
2844
  ));
2813
- F(this, ee, !1);
2814
- g(this, wA).setCrossOrigin("anonymous").setDRACOLoader(g(this, $A)).setMeshoptDecoder(ni);
2845
+ F(this, ne, !1);
2846
+ g(this, LA).setCrossOrigin("anonymous").setDRACOLoader(g(this, te)).setMeshoptDecoder(ri);
2815
2847
  }
2816
2848
  get gltfLoader() {
2817
- return g(this, wA);
2849
+ return g(this, LA);
2818
2850
  }
2819
2851
  get dracoLoader() {
2820
- return g(this, $A);
2852
+ return g(this, te);
2821
2853
  }
2822
2854
  get ktx2Loader() {
2823
- return g(this, Ae);
2855
+ return g(this, se);
2824
2856
  }
2825
2857
  load(...A) {
2826
- g(this, ee) || (g(this, wA).setKTX2Loader(g(this, Ae).detectSupport(x.webglRenderer)), G(this, ee, !0)), this.gltfLoader.load(...A);
2858
+ g(this, ne) || (g(this, LA).setKTX2Loader(
2859
+ g(this, se).detectSupport(w.webglRenderer)
2860
+ ), G(this, ne, !0));
2861
+ const [e, s, ...t] = A;
2862
+ if (w.cacheAssets && _.has(e)) {
2863
+ const n = _.get(e);
2864
+ s(n.data);
2865
+ } else
2866
+ this.gltfLoader.load(
2867
+ e,
2868
+ (n) => {
2869
+ w.cacheAssets && _.set(e, {
2870
+ data: n,
2871
+ dispose: () => {
2872
+ n.cameras.forEach((i) => we(i)), n.scenes.forEach((i) => {
2873
+ we(i);
2874
+ });
2875
+ }
2876
+ }), s(n);
2877
+ },
2878
+ ...t
2879
+ );
2827
2880
  }
2828
2881
  }
2829
- wA = new WeakMap(), $A = new WeakMap(), Ae = new WeakMap(), ee = new WeakMap();
2830
- const oi = new ii();
2831
- var Z, y, z, te;
2832
- class mi {
2882
+ LA = new WeakMap(), te = new WeakMap(), se = new WeakMap(), ne = new WeakMap();
2883
+ const ai = new Ci();
2884
+ var z, L, $, ie;
2885
+ class Si {
2833
2886
  constructor(A, e) {
2834
- F(this, Z, void 0);
2835
- F(this, y, void 0);
2836
- F(this, z, []);
2837
- F(this, te, () => {
2838
- const A = g(this, y).left - g(this, Z).box.left, e = g(this, y).top - g(this, Z).box.top;
2887
+ F(this, z, void 0);
2888
+ F(this, L, void 0);
2889
+ F(this, $, []);
2890
+ F(this, ie, () => {
2891
+ const A = g(this, L).left - g(this, z).box.left, e = g(this, L).top - g(this, z).box.top;
2839
2892
  let s = 0, t = 0;
2840
- g(this, Z).isClipped || (s = g(this, y).position.x - g(this, y).left, t = g(this, y).position.y - g(this, y).top);
2841
- const n = g(this, Z).box.width - g(this, y).scale.x, i = A - n, B = g(this, Z).box.height - g(this, y).scale.y, o = e - B;
2842
- g(this, z)[0].constant = g(this, y).scale.y / 2 + t * -1 - B / 2 - o, g(this, z)[1].constant = g(this, y).scale.y / 2 + t + B / 2 + o, g(this, z)[2].constant = g(this, y).scale.x / 2 + s + n / 2 + i, g(this, z)[3].constant = g(this, y).scale.x / 2 + s * -1 - n / 2 - i;
2893
+ g(this, z).isClipped || (s = g(this, L).position.x - g(this, L).left, t = g(this, L).position.y - g(this, L).top);
2894
+ const n = g(this, z).box.width - g(this, L).scale.x, i = A - n, B = g(this, z).box.height - g(this, L).scale.y, o = e - B;
2895
+ g(this, $)[0].constant = g(this, L).scale.y / 2 + t * -1 - B / 2 - o, g(this, $)[1].constant = g(this, L).scale.y / 2 + t + B / 2 + o, g(this, $)[2].constant = g(this, L).scale.x / 2 + s + n / 2 + i, g(this, $)[3].constant = g(this, L).scale.x / 2 + s * -1 - n / 2 - i;
2843
2896
  });
2844
- G(this, Z, x.getView((e == null ? void 0 : e.viewName) || "default")), G(this, y, new qe(A, { cartesian: !1 }));
2897
+ G(this, z, w.getView((e == null ? void 0 : e.viewName) || "default")), G(this, L, new Ve(A, { cartesian: !1 }));
2845
2898
  const s = (e == null ? void 0 : e.scale) || 1;
2846
- G(this, z, [
2847
- new de(new w(0, -1 * s, 0)),
2848
- new de(new w(0, 1 * s, 0)),
2849
- new de(new w(-1 * s, 0, 0)),
2850
- new de(new w(1 * s, 0, 0))
2851
- ]), UA.subscribe(g(this, te), { order: je.LAYOUT_BOX });
2899
+ G(this, $, [
2900
+ new De(new y(0, -1 * s, 0)),
2901
+ new De(new y(0, 1 * s, 0)),
2902
+ new De(new y(-1 * s, 0, 0)),
2903
+ new De(new y(1 * s, 0, 0))
2904
+ ]), kA.subscribe(g(this, ie), { order: At.LAYOUT_BOX });
2852
2905
  }
2853
2906
  get planes() {
2854
- return g(this, z);
2907
+ return g(this, $);
2855
2908
  }
2856
2909
  get layoutBox() {
2857
- return g(this, y);
2910
+ return g(this, L);
2858
2911
  }
2859
2912
  destroy() {
2860
- UA.unsubscribe(g(this, te)), g(this, y).destroy();
2913
+ kA.unsubscribe(g(this, ie)), g(this, L).destroy();
2861
2914
  }
2862
2915
  }
2863
- Z = new WeakMap(), y = new WeakMap(), z = new WeakMap(), te = new WeakMap();
2864
- class Mi extends WA {
2916
+ z = new WeakMap(), L = new WeakMap(), $ = new WeakMap(), ie = new WeakMap();
2917
+ class Li extends jA {
2865
2918
  constructor(A, e = 500) {
2866
- super(), this.add(new ue(A.planes[0], e, 16711680)), this.add(new ue(A.planes[1], e, 16711680)), this.add(new ue(A.planes[2], e, 16711680)), this.add(new ue(A.planes[3], e, 16711680));
2919
+ super(), this.add(new Fe(A.planes[0], e, 16711680)), this.add(new Fe(A.planes[1], e, 16711680)), this.add(new Fe(A.planes[2], e, 16711680)), this.add(new Fe(A.planes[3], e, 16711680));
2867
2920
  }
2868
2921
  }
2869
- var SA, dA, yA, se, ne, rA, LA, ie;
2870
- class zt extends Bn {
2922
+ var JA, uA, HA, oe, Be, CA, TA, re;
2923
+ class es extends an {
2871
2924
  constructor(e) {
2872
2925
  super(e);
2873
- F(this, SA, new It(null));
2874
- F(this, dA, new It(void 0));
2875
- F(this, yA, void 0);
2876
- F(this, se, void 0);
2877
- F(this, ne, void 0);
2878
- F(this, rA, void 0);
2879
- F(this, LA, !1);
2880
- F(this, ie, () => {
2881
- if (!(g(this, rA) && !g(this, LA)) && (this.current !== this.previous && (g(this, SA).current = null), this.current)) {
2882
- const e = g(this, ne) ? this.current.url : this.current.name + this.current.extension;
2883
- g(this, rA) || Se.setTotal(e, 1), g(this, dA).current = "start", g(this, se).load(
2926
+ F(this, JA, new Qt(null));
2927
+ F(this, uA, new Qt(void 0));
2928
+ F(this, HA, void 0);
2929
+ F(this, oe, void 0);
2930
+ F(this, Be, void 0);
2931
+ F(this, CA, void 0);
2932
+ F(this, TA, !1);
2933
+ F(this, re, () => {
2934
+ if (!(g(this, CA) && !g(this, TA)) && (this.current !== this.previous && (g(this, JA).current = null), this.current)) {
2935
+ const e = g(this, Be) ? this.current.url : this.current.name + this.current.extension;
2936
+ g(this, CA) || He.setTotal(e, 1), g(this, uA).current = "start", g(this, oe).load(
2884
2937
  e,
2885
2938
  (s) => {
2886
- g(this, SA).current = s, g(this, dA).current = "complete", g(this, rA) || Se.setLoaded(e, 1);
2939
+ g(this, JA).current = s, g(this, uA).current = "complete", g(this, CA) || He.setLoaded(e, 1);
2887
2940
  },
2888
2941
  void 0,
2889
2942
  () => {
2890
- g(this, rA) || (g(this, dA).current = "error", Se.setError(e, e));
2943
+ g(this, CA) || (g(this, uA).current = "error", He.setError(e, e));
2891
2944
  }
2892
2945
  );
2893
2946
  }
2894
2947
  });
2895
- G(this, yA, e.consumer), G(this, se, e.loader), G(this, ne, e.keepSourceParameters || !1), G(this, rA, e.lazy || !1), this.subscribe(g(this, ie)), g(this, yA).addEventListener("added", () => {
2948
+ G(this, HA, e.consumer), G(this, oe, e.loader), G(this, Be, e.keepSourceParameters || !1), G(this, CA, e.lazy || !1), this.subscribe(g(this, re)), g(this, HA).addEventListener("added", () => {
2896
2949
  this.connect();
2897
- }), g(this, yA).addEventListener("removed", () => {
2950
+ }), g(this, HA).addEventListener("removed", () => {
2898
2951
  this.disconnect();
2899
2952
  });
2900
2953
  }
@@ -2902,62 +2955,62 @@ class zt extends Bn {
2902
2955
  * Resource store.
2903
2956
  */
2904
2957
  get data() {
2905
- return g(this, SA);
2958
+ return g(this, JA);
2906
2959
  }
2907
2960
  /**
2908
2961
  * Loading store.
2909
2962
  */
2910
2963
  get loading() {
2911
- return g(this, dA);
2964
+ return g(this, uA);
2912
2965
  }
2913
2966
  /**
2914
2967
  * Calling this method will start loading the resource.
2915
2968
  */
2916
2969
  lazyLoad() {
2917
- g(this, LA) || (G(this, LA, !0), g(this, ie).call(this));
2970
+ g(this, TA) || (G(this, TA, !0), g(this, re).call(this));
2918
2971
  }
2919
2972
  }
2920
- SA = new WeakMap(), dA = new WeakMap(), yA = new WeakMap(), se = new WeakMap(), ne = new WeakMap(), rA = new WeakMap(), LA = new WeakMap(), ie = new WeakMap();
2921
- var JA;
2922
- class wi extends WA {
2973
+ JA = new WeakMap(), uA = new WeakMap(), HA = new WeakMap(), oe = new WeakMap(), Be = new WeakMap(), CA = new WeakMap(), TA = new WeakMap(), re = new WeakMap();
2974
+ var UA;
2975
+ class Ji extends jA {
2923
2976
  constructor(e) {
2924
2977
  super();
2925
- F(this, JA, void 0);
2926
- G(this, JA, new zt(cA({
2927
- loader: oi,
2978
+ F(this, UA, void 0);
2979
+ G(this, UA, new es(QA({
2980
+ loader: ai,
2928
2981
  consumer: this
2929
- }, e))), g(this, JA).data.subscribe((s) => {
2982
+ }, e))), g(this, UA).data.subscribe((s) => {
2930
2983
  s.current ? this.add(...s.current.scene.children) : this.children.forEach((t) => {
2931
- this.remove(t), Tt(t);
2984
+ this.remove(t), we(t);
2932
2985
  });
2933
2986
  });
2934
2987
  }
2935
2988
  get sourceManager() {
2936
- return g(this, JA);
2989
+ return g(this, UA);
2937
2990
  }
2938
2991
  }
2939
- JA = new WeakMap();
2940
- function $t(a, A, e) {
2941
- const s = A.x, t = A.y, n = e || a.image.width / a.image.height;
2942
- let i = 0, B = 0, o = a.offset.x, r = a.offset.y, I = a.rotation, C = a.center.x, c = a.center.y;
2943
- s / t > n ? (i = 1, B = t / s * n) : (B = 1, i = s / t / n), a.matrix.setUvTransform(o, r, i, B, I, C, c);
2992
+ UA = new WeakMap();
2993
+ function ts(C, A, e) {
2994
+ const s = A.x, t = A.y, n = e || C.image.width / C.image.height;
2995
+ let i = 0, B = 0, o = C.offset.x, r = C.offset.y, I = C.rotation, a = C.center.x, c = C.center.y;
2996
+ s / t > n ? (i = 1, B = t / s * n) : (B = 1, i = s / t / n), C.matrix.setUvTransform(o, r, i, B, I, a, c);
2944
2997
  }
2945
- const _A = new w();
2946
- function b(a, A, e, s, t, n) {
2998
+ const YA = new y();
2999
+ function b(C, A, e, s, t, n) {
2947
3000
  const i = 2 * Math.PI * t / 4, B = Math.max(n - 2 * t, 0), o = Math.PI / 4;
2948
- _A.copy(A), _A[s] = 0, _A.normalize();
2949
- const r = 0.5 * i / (i + B), I = 1 - _A.angleTo(a) / o;
2950
- return Math.sign(_A[e]) === 1 ? I * r : B / (i + B) + r + r * (1 - I);
3001
+ YA.copy(A), YA[s] = 0, YA.normalize();
3002
+ const r = 0.5 * i / (i + B), I = 1 - YA.angleTo(C) / o;
3003
+ return Math.sign(YA[e]) === 1 ? I * r : B / (i + B) + r + r * (1 - I);
2951
3004
  }
2952
- class Bi extends nn {
3005
+ class Ii extends rn {
2953
3006
  constructor(A = 1, e = 1, s = 1, t = 2, n = 0.1) {
2954
3007
  if (t = t * 2 + 1, n = Math.min(A / 2, e / 2, s / 2, n), super(1, 1, 1, t, t, t), t === 1)
2955
3008
  return;
2956
3009
  const i = this.toNonIndexed();
2957
3010
  this.index = null, this.attributes.position = i.attributes.position, this.attributes.normal = i.attributes.normal, this.attributes.uv = i.attributes.uv;
2958
- const B = new w(), o = new w(), r = new w(A, e, s).divideScalar(2).subScalar(n), I = this.attributes.position.array, C = this.attributes.normal.array, c = this.attributes.uv.array, Q = I.length / 6, l = new w(), h = 0.5 / t;
3011
+ const B = new y(), o = new y(), r = new y(A, e, s).divideScalar(2).subScalar(n), I = this.attributes.position.array, a = this.attributes.normal.array, c = this.attributes.uv.array, Q = I.length / 6, l = new y(), h = 0.5 / t;
2959
3012
  for (let E = 0, d = 0; E < I.length; E += 3, d += 2)
2960
- switch (B.fromArray(I, E), o.copy(B), o.x -= Math.sign(o.x) * h, o.y -= Math.sign(o.y) * h, o.z -= Math.sign(o.z) * h, o.normalize(), I[E + 0] = r.x * Math.sign(B.x) + o.x * n, I[E + 1] = r.y * Math.sign(B.y) + o.y * n, I[E + 2] = r.z * Math.sign(B.z) + o.z * n, C[E + 0] = o.x, C[E + 1] = o.y, C[E + 2] = o.z, Math.floor(E / Q)) {
3013
+ switch (B.fromArray(I, E), o.copy(B), o.x -= Math.sign(o.x) * h, o.y -= Math.sign(o.y) * h, o.z -= Math.sign(o.z) * h, o.normalize(), I[E + 0] = r.x * Math.sign(B.x) + o.x * n, I[E + 1] = r.y * Math.sign(B.y) + o.y * n, I[E + 2] = r.z * Math.sign(B.z) + o.z * n, a[E + 0] = o.x, a[E + 1] = o.y, a[E + 2] = o.z, Math.floor(E / Q)) {
2961
3014
  case 0:
2962
3015
  l.set(1, 0, 0), c[d + 0] = b(l, o, "z", "y", n, s), c[d + 1] = 1 - b(l, o, "y", "z", n, e);
2963
3016
  break;
@@ -2979,8 +3032,8 @@ class Bi extends nn {
2979
3032
  }
2980
3033
  }
2981
3034
  }
2982
- const Ft = new w(), ri = new ze(), Gt = new w();
2983
- class Ci extends $e {
3035
+ const mt = new y(), gi = new tt(), Mt = new y();
3036
+ class Ei extends st {
2984
3037
  constructor(A = document.createElement("div")) {
2985
3038
  super(), this.isCSS3DObject = !0, this.element = A, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
2986
3039
  this.traverse(function(e) {
@@ -2992,8 +3045,8 @@ class Ci extends $e {
2992
3045
  return super.copy(A, e), this.element = A.element.cloneNode(!0), this;
2993
3046
  }
2994
3047
  }
2995
- const Y = new xA(), ai = new xA();
2996
- class Ii {
3048
+ const q = new bA(), ci = new bA();
3049
+ class Qi {
2997
3050
  constructor(A = {}) {
2998
3051
  const e = this;
2999
3052
  let s, t, n, i;
@@ -3015,21 +3068,21 @@ class Ii {
3015
3068
  E.view && E.view.enabled ? (r.style.transform = `translate( ${-E.view.offsetX * (s / E.view.width)}px, ${-E.view.offsetY * (t / E.view.height)}px )`, r.style.transform += `scale( ${E.view.fullWidth / E.view.width}, ${E.view.fullHeight / E.view.height} )`) : r.style.transform = "", h.matrixWorldAutoUpdate === !0 && h.updateMatrixWorld(), E.parent === null && E.matrixWorldAutoUpdate === !0 && E.updateMatrixWorld();
3016
3069
  let u, f;
3017
3070
  E.isOrthographicCamera && (u = -(E.right + E.left) / 2, f = (E.top + E.bottom) / 2);
3018
- const D = E.view && E.view.enabled ? E.view.height / E.view.fullHeight : 1, p = E.isOrthographicCamera ? `scale( ${D} )scale(` + d + ")translate(" + C(u) + "px," + C(f) + "px)" + c(E.matrixWorldInverse) : `scale( ${D} )translateZ(` + d + "px)" + c(E.matrixWorldInverse), M = (E.isPerspectiveCamera ? "perspective(" + d + "px) " : "") + p + "translate(" + n + "px," + i + "px)";
3071
+ const D = E.view && E.view.enabled ? E.view.height / E.view.fullHeight : 1, p = E.isOrthographicCamera ? `scale( ${D} )scale(` + d + ")translate(" + a(u) + "px," + a(f) + "px)" + c(E.matrixWorldInverse) : `scale( ${D} )translateZ(` + d + "px)" + c(E.matrixWorldInverse), M = (E.isPerspectiveCamera ? "perspective(" + d + "px) " : "") + p + "translate(" + n + "px," + i + "px)";
3019
3072
  B.camera.style !== M && (I.style.transform = M, B.camera.style = M), l(h, h, E);
3020
3073
  }, this.setSize = function(h, E) {
3021
3074
  s = h, t = E, n = s / 2, i = t / 2, o.style.width = h + "px", o.style.height = E + "px", r.style.width = h + "px", r.style.height = E + "px", I.style.width = h + "px", I.style.height = E + "px";
3022
3075
  };
3023
- function C(h) {
3076
+ function a(h) {
3024
3077
  return Math.abs(h) < 1e-10 ? 0 : h;
3025
3078
  }
3026
3079
  function c(h) {
3027
3080
  const E = h.elements;
3028
- return "matrix3d(" + C(E[0]) + "," + C(-E[1]) + "," + C(E[2]) + "," + C(E[3]) + "," + C(E[4]) + "," + C(-E[5]) + "," + C(E[6]) + "," + C(E[7]) + "," + C(E[8]) + "," + C(-E[9]) + "," + C(E[10]) + "," + C(E[11]) + "," + C(E[12]) + "," + C(-E[13]) + "," + C(E[14]) + "," + C(E[15]) + ")";
3081
+ return "matrix3d(" + a(E[0]) + "," + a(-E[1]) + "," + a(E[2]) + "," + a(E[3]) + "," + a(E[4]) + "," + a(-E[5]) + "," + a(E[6]) + "," + a(E[7]) + "," + a(E[8]) + "," + a(-E[9]) + "," + a(E[10]) + "," + a(E[11]) + "," + a(E[12]) + "," + a(-E[13]) + "," + a(E[14]) + "," + a(E[15]) + ")";
3029
3082
  }
3030
3083
  function Q(h) {
3031
3084
  const E = h.elements;
3032
- return "translate(-50%,-50%)" + ("matrix3d(" + C(E[0]) + "," + C(E[1]) + "," + C(E[2]) + "," + C(E[3]) + "," + C(-E[4]) + "," + C(-E[5]) + "," + C(-E[6]) + "," + C(-E[7]) + "," + C(E[8]) + "," + C(E[9]) + "," + C(E[10]) + "," + C(E[11]) + "," + C(E[12]) + "," + C(E[13]) + "," + C(E[14]) + "," + C(E[15]) + ")");
3085
+ return "translate(-50%,-50%)" + ("matrix3d(" + a(E[0]) + "," + a(E[1]) + "," + a(E[2]) + "," + a(E[3]) + "," + a(-E[4]) + "," + a(-E[5]) + "," + a(-E[6]) + "," + a(-E[7]) + "," + a(E[8]) + "," + a(E[9]) + "," + a(E[10]) + "," + a(E[11]) + "," + a(E[12]) + "," + a(E[13]) + "," + a(E[14]) + "," + a(E[15]) + ")");
3033
3086
  }
3034
3087
  function l(h, E, d, u) {
3035
3088
  if (h.isCSS3DObject) {
@@ -3037,7 +3090,7 @@ class Ii {
3037
3090
  if (h.element.style.display = f === !0 ? "" : "none", f === !0) {
3038
3091
  h.onBeforeRender(e, E, d);
3039
3092
  let D;
3040
- h.isCSS3DSprite ? (Y.copy(d.matrixWorldInverse), Y.transpose(), h.rotation2D !== 0 && Y.multiply(ai.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Ft, ri, Gt), Y.setPosition(Ft), Y.scale(Gt), Y.elements[3] = 0, Y.elements[7] = 0, Y.elements[11] = 0, Y.elements[15] = 1, D = Q(Y)) : D = Q(h.matrixWorld);
3093
+ h.isCSS3DSprite ? (q.copy(d.matrixWorldInverse), q.transpose(), h.rotation2D !== 0 && q.multiply(ci.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(mt, gi, Mt), q.setPosition(mt), q.scale(Mt), q.elements[3] = 0, q.elements[7] = 0, q.elements[11] = 0, q.elements[15] = 1, D = Q(q)) : D = Q(h.matrixWorld);
3041
3094
  const p = h.element, m = B.objects.get(h);
3042
3095
  if (m === void 0 || m.style !== D) {
3043
3096
  p.style.transform = D;
@@ -3052,11 +3105,11 @@ class Ii {
3052
3105
  }
3053
3106
  }
3054
3107
  }
3055
- var CA, HA, uA;
3056
- class As extends ge {
3108
+ var aA, xA, fA;
3109
+ class ss extends Qe {
3057
3110
  constructor(e) {
3058
3111
  super(
3059
- new Bi(
3112
+ new Ii(
3060
3113
  e.width,
3061
3114
  e.height,
3062
3115
  1,
@@ -3065,71 +3118,71 @@ class As extends ge {
3065
3118
  ),
3066
3119
  e.material
3067
3120
  );
3068
- F(this, CA, void 0);
3069
- F(this, HA, void 0);
3070
- F(this, uA, () => {
3071
- g(this, CA).data.current && g(this, HA) && this.onCoverResize(g(this, CA).data.current);
3121
+ F(this, aA, void 0);
3122
+ F(this, xA, void 0);
3123
+ F(this, fA, () => {
3124
+ g(this, aA).data.current && g(this, xA) && this.onCoverResize(g(this, aA).data.current);
3072
3125
  });
3073
- G(this, CA, new zt(cA({
3126
+ G(this, aA, new es(QA({
3074
3127
  consumer: this
3075
- }, e))), G(this, HA, e.cover || !1), this.addEventListener("added", () => {
3076
- TA.subscribe(g(this, uA));
3128
+ }, e))), G(this, xA, e.cover || !1), this.addEventListener("added", () => {
3129
+ NA.subscribe(g(this, fA));
3077
3130
  }), this.addEventListener("removed", () => {
3078
- TA.unsubscribe(g(this, uA));
3079
- }), g(this, CA).data.subscribe((s) => {
3080
- !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, HA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, uA).call(this));
3131
+ NA.unsubscribe(g(this, fA));
3132
+ }), g(this, aA).data.subscribe((s) => {
3133
+ !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, xA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = AA, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, fA).call(this));
3081
3134
  });
3082
3135
  }
3083
3136
  get sourceManager() {
3084
- return g(this, CA);
3137
+ return g(this, aA);
3085
3138
  }
3086
3139
  updateTexture() {
3087
- g(this, uA).call(this);
3140
+ g(this, fA).call(this);
3088
3141
  }
3089
3142
  onCoverResize(e) {
3090
- $t(e, {
3143
+ ts(e, {
3091
3144
  x: this.scale.x,
3092
3145
  y: this.scale.y
3093
3146
  });
3094
3147
  }
3095
3148
  }
3096
- CA = new WeakMap(), HA = new WeakMap(), uA = new WeakMap();
3097
- class Si extends As {
3149
+ aA = new WeakMap(), xA = new WeakMap(), fA = new WeakMap();
3150
+ class Hi extends ss {
3098
3151
  constructor(A) {
3099
- super(he(cA({}, A), {
3100
- loader: Cn
3152
+ super(ue(QA({}, A), {
3153
+ loader: FA
3101
3154
  }));
3102
3155
  }
3103
3156
  }
3104
- class gi {
3157
+ class hi {
3105
3158
  load(...A) {
3106
3159
  const e = A[0], s = A[1], t = A[3], n = document.createElement("video");
3107
3160
  n.src = e, n.onloadeddata = () => {
3108
- s(new on(n)), n.onerror = null, n.onloadeddata = null;
3161
+ s(new Cn(n)), n.onerror = null, n.onloadeddata = null;
3109
3162
  }, n.onerror = () => {
3110
3163
  t == null || t(e), n.onerror = null, n.onloadeddata = null;
3111
3164
  };
3112
3165
  }
3113
3166
  }
3114
- var oe, Be, re;
3115
- class yi extends As {
3167
+ var Ce, ae, Ie;
3168
+ class Ti extends ss {
3116
3169
  constructor(e) {
3117
- super(he(cA({}, e), {
3118
- loader: new gi()
3170
+ super(ue(QA({}, e), {
3171
+ loader: new hi()
3119
3172
  }));
3120
- F(this, oe, void 0);
3121
- F(this, Be, void 0);
3122
- F(this, re, void 0);
3123
- G(this, oe, e.autoplay || !1), G(this, Be, e.muted || !1), G(this, re, e.loop || !1), this.sourceManager.data.subscribe((s) => {
3173
+ F(this, Ce, void 0);
3174
+ F(this, ae, void 0);
3175
+ F(this, Ie, void 0);
3176
+ G(this, Ce, e.autoplay || !1), G(this, ae, e.muted || !1), G(this, Ie, e.loop || !1), this.sourceManager.data.subscribe((s) => {
3124
3177
  if (s.current) {
3125
3178
  const t = s.current.image;
3126
- g(this, Be) && (t.muted = !0), g(this, re) && (t.loop = !0), g(this, oe) && t.play();
3179
+ g(this, ae) && (t.muted = !0), g(this, Ie) && (t.loop = !0), g(this, Ce) && t.play();
3127
3180
  }
3128
3181
  });
3129
3182
  }
3130
3183
  onCoverResize(e) {
3131
3184
  const s = e.image;
3132
- $t(
3185
+ ts(
3133
3186
  e,
3134
3187
  {
3135
3188
  x: this.scale.x,
@@ -3139,23 +3192,23 @@ class yi extends As {
3139
3192
  );
3140
3193
  }
3141
3194
  }
3142
- oe = new WeakMap(), Be = new WeakMap(), re = new WeakMap();
3143
- function Li(a, A) {
3144
- a.traverse((e) => {
3145
- e instanceof ge && A(e);
3195
+ Ce = new WeakMap(), ae = new WeakMap(), Ie = new WeakMap();
3196
+ function Ui(C, A) {
3197
+ C.traverse((e) => {
3198
+ e instanceof Qe && A(e);
3146
3199
  });
3147
3200
  }
3148
- function Ji(a, A) {
3149
- a.traverse((e) => {
3150
- e instanceof ge && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
3201
+ function xi(C, A) {
3202
+ C.traverse((e) => {
3203
+ e instanceof Qe && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
3151
3204
  });
3152
3205
  }
3153
- const Oe = new w(), Ei = new w();
3154
- function Hi(a, A = "default") {
3155
- const e = x.getView(A), { width: s, height: t } = x, n = s / t;
3156
- a instanceof w ? Oe.copy(a) : Oe.set(...a);
3157
- const i = e.camera.getWorldPosition(Ei).distanceTo(Oe);
3158
- if (e.camera instanceof Ge)
3206
+ const qe = new y(), li = new y();
3207
+ function Ni(C, A = "default") {
3208
+ const e = w.getView(A), { width: s, height: t } = w, n = s / t;
3209
+ C instanceof y ? qe.copy(C) : qe.set(...C);
3210
+ const i = e.camera.getWorldPosition(li).distanceTo(qe);
3211
+ if (e.camera instanceof me)
3159
3212
  return {
3160
3213
  width: s / e.camera.zoom,
3161
3214
  height: t / e.camera.zoom,
@@ -3168,18 +3221,18 @@ function Hi(a, A = "default") {
3168
3221
  return { width: r, height: o, factor: s / r, distance: i, aspect: n };
3169
3222
  }
3170
3223
  }
3171
- var q, me, es, Ce, ae;
3172
- const k = class k extends Ci {
3224
+ var X, Se, ns, ge, Ee;
3225
+ const k = class k extends Ei {
3173
3226
  static destroy() {
3174
- TA.unsubscribe(g(this, ae)), UA.unsubscribe(g(this, Ce)), G(this, q, null);
3227
+ NA.unsubscribe(g(this, Ee)), kA.unsubscribe(g(this, ge)), G(this, X, null);
3175
3228
  }
3176
3229
  constructor(A) {
3177
3230
  var e;
3178
- super(A.element), g(k, q) || le(e = k, me, es).call(e);
3231
+ super(A.element), g(k, X) || fe(e = k, Se, ns).call(e);
3179
3232
  }
3180
3233
  };
3181
- q = new WeakMap(), me = new WeakSet(), es = function() {
3182
- G(k, q, new Ii()), g(k, q).domElement.style.cssText = `
3234
+ X = new WeakMap(), Se = new WeakSet(), ns = function() {
3235
+ G(k, X, new Qi()), g(k, X).domElement.style.cssText = `
3183
3236
  position: fixed;
3184
3237
  left: 0;
3185
3238
  top: 0;
@@ -3188,46 +3241,46 @@ q = new WeakMap(), me = new WeakSet(), es = function() {
3188
3241
  z-index: 1;
3189
3242
  pointer-events: none;
3190
3243
  overflow: hidden;
3191
- `, x.containerElement.prepend(g(k, q).domElement), TA.subscribe(g(this, ae), pt.EN3 + 1), UA.subscribe(g(this, Ce), { order: je.EN3 + 1 });
3192
- }, Ce = new WeakMap(), ae = new WeakMap(), F(k, me), F(k, q, null), F(k, Ce, () => {
3193
- g(k, q).render(x.view.scene, x.view.camera);
3194
- }), F(k, ae, () => {
3195
- g(k, q).setSize(x.width, x.height);
3244
+ `, w.containerElement.prepend(g(k, X).domElement), NA.subscribe(g(this, Ee), yt.EN3 + 1), kA.subscribe(g(this, ge), { order: At.EN3 + 1 });
3245
+ }, ge = new WeakMap(), Ee = new WeakMap(), F(k, Se), F(k, X, null), F(k, ge, () => {
3246
+ g(k, X).render(w.view.scene, w.view.camera);
3247
+ }), F(k, Ee, () => {
3248
+ g(k, X).setSize(w.width, w.height);
3196
3249
  });
3197
- let Rt = k;
3198
- var aA, IA, Ie, Ve;
3199
- class Ti {
3250
+ let wt = k;
3251
+ var IA, gA, ce, $e;
3252
+ class ki {
3200
3253
  constructor(A) {
3201
- F(this, Ie);
3202
- F(this, aA, void 0);
3254
+ F(this, ce);
3203
3255
  F(this, IA, void 0);
3204
- G(this, aA, A.material), G(this, IA, A.uniforms || {}), g(this, aA).userData.uniforms = g(this, IA);
3256
+ F(this, gA, void 0);
3257
+ G(this, IA, A.material), G(this, gA, A.uniforms || {}), g(this, IA).userData.uniforms = g(this, gA);
3205
3258
  let e;
3206
3259
  const s = () => {
3207
3260
  e == null || e();
3208
3261
  };
3209
- g(this, aA).addEventListener("dispose", s), g(this, aA).onBeforeCompile = (t) => {
3262
+ g(this, IA).addEventListener("dispose", s), g(this, IA).onBeforeCompile = (t) => {
3210
3263
  var n;
3211
3264
  e == null || e();
3212
- for (const i in g(this, IA))
3213
- t.uniforms[i] = g(this, IA)[i];
3265
+ for (const i in g(this, gA))
3266
+ t.uniforms[i] = g(this, gA)[i];
3214
3267
  A.vertextDeclarations && (t.vertexShader = `
3215
3268
  ${A.vertextDeclarations}
3216
3269
  ${t.vertexShader}
3217
3270
  `), A.fragmentDeclarations && (t.fragmentShader = `
3218
3271
  ${A.fragmentDeclarations}
3219
3272
  ${t.fragmentShader}
3220
- `), le(this, Ie, Ve).call(this, t, "vertex", A), le(this, Ie, Ve).call(this, t, "fragment", A), e = (n = A.onReady) == null ? void 0 : n.call(A, this), A.log && (console.log("VERTEX SHADER: ", t.vertexShader), console.log("FRAGMENT SHADER: ", t.fragmentShader));
3273
+ `), fe(this, ce, $e).call(this, t, "vertex", A), fe(this, ce, $e).call(this, t, "fragment", A), e = (n = A.onReady) == null ? void 0 : n.call(A, this), A.log && (console.log("VERTEX SHADER: ", t.vertexShader), console.log("FRAGMENT SHADER: ", t.fragmentShader));
3221
3274
  };
3222
3275
  }
3223
3276
  get material() {
3224
- return g(this, aA);
3277
+ return g(this, IA);
3225
3278
  }
3226
3279
  get uniforms() {
3227
- return g(this, IA);
3280
+ return g(this, gA);
3228
3281
  }
3229
3282
  }
3230
- aA = new WeakMap(), IA = new WeakMap(), Ie = new WeakSet(), Ve = function(A, e, s) {
3283
+ IA = new WeakMap(), gA = new WeakMap(), ce = new WeakSet(), $e = function(A, e, s) {
3231
3284
  const t = e === "vertex" ? "vertexChunk" : "fragmentChunk", n = e === "vertex" ? "vertexShader" : "fragmentShader";
3232
3285
  s[t] && (s[t].replace ? A[n] = A[n].replace(
3233
3286
  `#include <${s[t].replace}>`,
@@ -3241,22 +3294,23 @@ aA = new WeakMap(), IA = new WeakMap(), Ie = new WeakSet(), Ve = function(A, e,
3241
3294
  )));
3242
3295
  };
3243
3296
  export {
3244
- mi as En3Clip,
3245
- Mi as En3ClipHelpers,
3246
- wi as En3GLTF,
3247
- Rt as En3HTML,
3248
- Si as En3Image,
3249
- As as En3ImageLike,
3250
- Ti as En3ModifiedMaterial,
3251
- zt as En3SourceManager,
3252
- yi as En3Video,
3253
- gt as En3View,
3254
- $t as coverTexture,
3255
- Tt as dispose,
3256
- x as en3,
3257
- oi as en3GLTFLoader,
3258
- Cn as en3TextureLoader,
3259
- Hi as getCurrentViewport,
3260
- Ji as traverseMaterials,
3261
- Li as traverseMeshes
3297
+ Si as En3Clip,
3298
+ Li as En3ClipHelpers,
3299
+ Ji as En3GLTF,
3300
+ wt as En3HTML,
3301
+ Hi as En3Image,
3302
+ ss as En3ImageLike,
3303
+ ki as En3ModifiedMaterial,
3304
+ es as En3SourceManager,
3305
+ Ti as En3Video,
3306
+ ht as En3View,
3307
+ ts as coverTexture,
3308
+ we as dispose,
3309
+ w as en3,
3310
+ _ as en3Cache,
3311
+ ai as en3GLTFLoader,
3312
+ FA as en3TextureLoader,
3313
+ Ni as getCurrentViewport,
3314
+ xi as traverseMaterials,
3315
+ Ui as traverseMeshes
3262
3316
  };