@jdultra/threedtiles 13.1.8 → 13.1.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.
@@ -1,9 +1,9 @@
1
- var Zt = Object.defineProperty;
2
- var $t = (c, e, a) => e in c ? Zt(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
- var ge = (c, e, a) => $t(c, typeof e != "symbol" ? e + "" : e, a);
1
+ var Xt = Object.defineProperty;
2
+ var Zt = (d, e, a) => e in d ? Xt(d, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : d[e] = a;
3
+ var le = (d, e, a) => Zt(d, typeof e != "symbol" ? e + "" : e, a);
4
4
  import * as E from "three";
5
- import { Matrix3 as Fa, Vector3 as D, Box3 as Ra, Matrix4 as Se, Ray as eA, BufferGeometry as ea, LineBasicMaterial as It, LineSegments as mt, BufferAttribute as he, TrianglesDrawMode as aA, TriangleFanDrawMode as ya, TriangleStripDrawMode as Bt, Loader as Ma, LoaderUtils as Le, FileLoader as Ce, Color as le, LinearSRGBColorSpace as K, SpotLight as tA, PointLight as AA, DirectionalLight as iA, MeshBasicMaterial as Ue, SRGBColorSpace as re, MeshPhysicalMaterial as ae, Vector2 as Ct, Quaternion as pt, InstancedMesh as sA, InstancedBufferAttribute as wa, Object3D as Et, TextureLoader as rA, ImageBitmapLoader as nA, InterleavedBuffer as oA, InterleavedBufferAttribute as cA, LinearFilter as Be, LinearMipmapLinearFilter as $e, RepeatWrapping as ka, NearestFilter as v, PointsMaterial as bA, Material as ta, MeshStandardMaterial as Ha, DoubleSide as dA, PropertyBinding as hA, SkinnedMesh as lA, Mesh as xa, Line as gA, LineLoop as fA, Points as uA, Group as Aa, PerspectiveCamera as IA, MathUtils as mA, OrthographicCamera as Qt, Skeleton as BA, AnimationClip as CA, Bone as pA, InterpolateLinear as yt, ColorManagement as ja, NearestMipmapNearestFilter as EA, LinearMipmapNearestFilter as QA, NearestMipmapLinearFilter as yA, ClampToEdgeWrapping as wA, MirroredRepeatWrapping as kA, InterpolateDiscrete as xA, FrontSide as Ze, Texture as Na, VectorKeyframeTrack as La, NumberKeyframeTrack as Oa, QuaternionKeyframeTrack as Ja, Sphere as jA, Interpolant as SA, CompressedCubeTexture as DA, CompressedArrayTexture as vA, CompressedTexture as Pa, RGBAFormat as ee, RGBA_ASTC_4x4_Format as wt, RGB_BPTC_UNSIGNED_Format as FA, RGBA_BPTC_Format as RA, RGBA_ETC2_EAC_Format as MA, RGBA_PVRTC_4BPPV1_Format as TA, RGBA_S3TC_DXT5_Format as UA, RGB_ETC1_Format as GA, RGB_ETC2_Format as HA, RGB_PVRTC_4BPPV1_Format as NA, RGBA_S3TC_DXT1_Format as LA, UnsignedByteType as X, HalfFloatType as ke, FloatType as R, DataTexture as Ge, Data3DTexture as OA, NoColorSpace as JA, RGFormat as He, RedFormat as Ne, RGBA_ASTC_6x6_Format as qa, WebGL3DRenderTarget as ne, ShaderMaterial as ia, InstancedBufferGeometry as _a, DynamicDrawUsage as Ka, Scene as PA, PlaneGeometry as qA } from "three";
6
- class es {
5
+ import { Matrix3 as Sa, Vector3 as D, Box3 as Da, Matrix4 as xe, Ray as $t, BufferGeometry as Ze, LineBasicMaterial as ut, LineSegments as It, TrianglesDrawMode as eA, TriangleFanDrawMode as pa, TriangleStripDrawMode as mt, BufferAttribute as de, Loader as va, LoaderUtils as He, FileLoader as Be, MeshPhysicalMaterial as ee, Vector2 as Bt, Color as he, LinearSRGBColorSpace as K, SRGBColorSpace as se, SpotLight as aA, PointLight as tA, DirectionalLight as AA, Quaternion as Ct, InstancedMesh as iA, InstancedBufferAttribute as Ea, Object3D as pt, TextureLoader as sA, ImageBitmapLoader as rA, InterleavedBuffer as nA, InterleavedBufferAttribute as oA, LinearMipmapLinearFilter as Xe, NearestMipmapLinearFilter as cA, LinearMipmapNearestFilter as bA, NearestMipmapNearestFilter as dA, LinearFilter as me, NearestFilter as v, RepeatWrapping as Qa, MirroredRepeatWrapping as hA, ClampToEdgeWrapping as lA, PointsMaterial as gA, Material as ea, MeshStandardMaterial as Ta, DoubleSide as fA, MeshBasicMaterial as Me, PropertyBinding as uA, SkinnedMesh as IA, Mesh as ya, Line as mA, LineLoop as BA, Points as CA, Group as aa, PerspectiveCamera as pA, MathUtils as EA, OrthographicCamera as Et, Skeleton as QA, AnimationClip as yA, Bone as wA, InterpolateDiscrete as kA, InterpolateLinear as Qt, Texture as Ua, VectorKeyframeTrack as Ga, NumberKeyframeTrack as Ha, QuaternionKeyframeTrack as Na, ColorManagement as wa, FrontSide as We, Interpolant as xA, Sphere as jA, CompressedCubeTexture as SA, CompressedArrayTexture as DA, CompressedTexture as La, NoColorSpace as vA, RGBA_ASTC_6x6_Format as Oa, RGBA_ASTC_4x4_Format as yt, RedFormat as Te, RGFormat as Ue, RGBAFormat as $, UnsignedByteType as W, HalfFloatType as we, FloatType as R, DataTexture as Ge, Data3DTexture as FA, RGBA_S3TC_DXT1_Format as RA, RGB_PVRTC_4BPPV1_Format as MA, RGB_ETC2_Format as TA, RGB_ETC1_Format as UA, RGBA_S3TC_DXT5_Format as GA, RGBA_PVRTC_4BPPV1_Format as HA, RGBA_ETC2_EAC_Format as NA, RGBA_BPTC_Format as LA, RGB_BPTC_UNSIGNED_Format as OA, WebGL3DRenderTarget as re, ShaderMaterial as ta, InstancedBufferGeometry as Ja, DynamicDrawUsage as Pa, Scene as JA, PlaneGeometry as PA } from "three";
6
+ class Wi {
7
7
  constructor() {
8
8
  this.cullMap = [], this.cullMaterial = new E.MeshBasicMaterial({ vertexColors: !0 }), this.cullMaterial.side = E.FrontSide, this.cullTarget = this._createCullTarget(), this.cullPixels = new Uint8Array(4 * this.cullTarget.width * this.cullTarget.height);
9
9
  }
@@ -26,10 +26,10 @@ class es {
26
26
  return this.cullMap[e];
27
27
  }
28
28
  }
29
- const _ = new Fa(), H = new D(), za = new D(), Va = new Ra(), Ke = new Se(), Ya = new Se(), Wa = new eA();
30
- class $ {
29
+ const _ = new Sa(), H = new D(), qa = new D(), _a = new Da(), qe = new xe(), Ka = new xe(), za = new $t();
30
+ class Z {
31
31
  constructor(e) {
32
- this.center = new D(e[0], e[1], e[2]), this.e1 = new D(e[3], e[4], e[5]), this.e2 = new D(e[6], e[7], e[8]), this.e3 = new D(e[9], e[10], e[11]), this.halfSize = new D(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new Fa(), this.rotationMatrix.set(this.e1.x, this.e2.x, this.e3.x, this.e1.y, this.e2.y, this.e3.y, this.e1.z, this.e2.z, this.e3.z);
32
+ this.center = new D(e[0], e[1], e[2]), this.e1 = new D(e[3], e[4], e[5]), this.e2 = new D(e[6], e[7], e[8]), this.e3 = new D(e[9], e[10], e[11]), this.halfSize = new D(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new Sa(), this.rotationMatrix.set(this.e1.x, this.e2.x, this.e3.x, this.e1.y, this.e2.y, this.e3.y, this.e1.z, this.e2.z, this.e3.z);
33
33
  }
34
34
  copy(e) {
35
35
  this.center.copy(e.center), this.rotationMatrix.copy(e.rotationMatrix), this.halfSize.copy(e.halfSize), this.e1.copy(e.e1), this.e2.copy(e.e2), this.e3.copy(e.e3);
@@ -42,11 +42,11 @@ class $ {
42
42
  let t = H.set(a[0], a[1], a[2]).length();
43
43
  const A = H.set(a[4], a[5], a[6]).length(), i = H.set(a[8], a[9], a[10]).length();
44
44
  e.determinant() < 0 && (t = -t), _.setFromMatrix4(e);
45
- const s = 1 / t, r = 1 / A, o = 1 / i;
46
- return _.elements[0] *= s, _.elements[1] *= s, _.elements[2] *= s, _.elements[3] *= r, _.elements[4] *= r, _.elements[5] *= r, _.elements[6] *= o, _.elements[7] *= o, _.elements[8] *= o, this.rotationMatrix.premultiply(_), this.halfSize.x *= t, this.halfSize.y *= A, this.halfSize.z *= i, this.center.applyMatrix4(e), this.rotationMatrix.extractBasis(this.e1, this.e2, this.e3), this;
45
+ const s = 1 / t, r = 1 / A, n = 1 / i;
46
+ return _.elements[0] *= s, _.elements[1] *= s, _.elements[2] *= s, _.elements[3] *= r, _.elements[4] *= r, _.elements[5] *= r, _.elements[6] *= n, _.elements[7] *= n, _.elements[8] *= n, this.rotationMatrix.premultiply(_), this.halfSize.x *= t, this.halfSize.y *= A, this.halfSize.z *= i, this.center.applyMatrix4(e), this.rotationMatrix.extractBasis(this.e1, this.e2, this.e3), this;
47
47
  }
48
48
  intersectRay(e, a) {
49
- return this.getSize(za), Va.setFromCenterAndSize(H.set(0, 0, 0), za), Ke.setFromMatrix3(this.rotationMatrix), Ke.setPosition(this.center), Ya.copy(Ke).invert(), Wa.copy(e).applyMatrix4(Ya), Wa.intersectBox(Va, a) ? a.applyMatrix4(Ke) : null;
49
+ return this.getSize(qa), _a.setFromCenterAndSize(H.set(0, 0, 0), qa), qe.setFromMatrix3(this.rotationMatrix), qe.setPosition(this.center), Ka.copy(qe).invert(), za.copy(e).applyMatrix4(Ka), za.intersectBox(_a, a) ? a.applyMatrix4(qe) : null;
50
50
  }
51
51
  intersectsRay(e) {
52
52
  return this.intersectRay(e, H) !== null;
@@ -69,12 +69,12 @@ class $ {
69
69
  return Math.sqrt(a * a + t * t + A * A);
70
70
  }
71
71
  helper() {
72
- const e = this.halfSize, a = this.center, t = this.e1, A = this.e2, i = this.e3, s = [new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z))], r = new ea().setFromPoints(s);
72
+ const e = this.halfSize, a = this.center, t = this.e1, A = this.e2, i = this.e3, s = [new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(-e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z)), new D().copy(a).add(t.clone().multiplyScalar(e.x)).add(A.clone().multiplyScalar(-e.y)).add(i.clone().multiplyScalar(-e.z))], r = new Ze().setFromPoints(s);
73
73
  r.setIndex([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]), r.computeBoundingSphere();
74
- const o = new It({ color: 16711680 }), n = new mt(r, o);
75
- return n.dispose = () => {
76
- o.dispose(), r.dispose();
77
- }, n;
74
+ const n = new ut({ color: 16711680 }), o = new It(r, n);
75
+ return o.dispose = () => {
76
+ n.dispose(), r.dispose();
77
+ }, o;
78
78
  }
79
79
  }
80
80
  /**
@@ -83,7 +83,7 @@ class $ {
83
83
  * Linked hash map data structure
84
84
  * @class LinkedHashMap
85
85
  */
86
- class kt {
86
+ class wt {
87
87
  constructor() {
88
88
  this._data = /* @__PURE__ */ new Map(), this._link = /* @__PURE__ */ new Map(), this._head = void 0, this._tail = void 0;
89
89
  }
@@ -167,14 +167,14 @@ class kt {
167
167
  return Array.from(this.keys()).map((a) => ({ key: a, value: this.get(a) }));
168
168
  }
169
169
  }
170
- const _A = new TextDecoder();
171
- class xt {
170
+ const qA = new TextDecoder();
171
+ class kt {
172
172
  constructor(e, a, t, A) {
173
173
  this.buffer = e, this.binOffset = a + t, this.binLength = A;
174
174
  let i = null;
175
175
  if (t !== 0) try {
176
176
  const s = new Uint8Array(e, a, t);
177
- i = JSON.parse(_A.decode(s));
177
+ i = JSON.parse(qA.decode(s));
178
178
  } catch {
179
179
  i = {};
180
180
  }
@@ -191,10 +191,10 @@ class xt {
191
191
  if (s instanceof Object) {
192
192
  if (Array.isArray(s)) return s;
193
193
  {
194
- const { buffer: r, binOffset: o, binLength: n } = this, b = s.byteOffset || 0, d = s.type || A, g = s.componentType || t;
194
+ const { buffer: r, binOffset: n, binLength: o } = this, c = s.byteOffset || 0, b = s.type || A, g = s.componentType || t;
195
195
  if ("type" in s && A && s.type !== A) throw new Error("FeatureTable: Specified type does not match expected type.");
196
196
  let l, h;
197
- switch (d) {
197
+ switch (b) {
198
198
  case "SCALAR":
199
199
  l = 1;
200
200
  break;
@@ -210,7 +210,7 @@ class xt {
210
210
  default:
211
211
  throw new Error(`FeatureTable : Feature type not provided for "${e}".`);
212
212
  }
213
- const f = o + b, I = a * l;
213
+ const f = n + c, I = a * l;
214
214
  switch (g) {
215
215
  case "BYTE":
216
216
  h = new Int8Array(r, f, I);
@@ -239,14 +239,14 @@ class xt {
239
239
  default:
240
240
  throw new Error(`FeatureTable : Feature component type not provided for "${e}".`);
241
241
  }
242
- if (f + I * h.BYTES_PER_ELEMENT > o + n) throw new Error("FeatureTable: Feature data read outside binary body length.");
242
+ if (f + I * h.BYTES_PER_ELEMENT > n + o) throw new Error("FeatureTable: Feature data read outside binary body length.");
243
243
  return h;
244
244
  }
245
245
  }
246
246
  return s;
247
247
  }
248
248
  }
249
- class KA extends xt {
249
+ class _A extends kt {
250
250
  constructor(e, a, t, A, i) {
251
251
  super(e, t, A, i), this.batchSize = a;
252
252
  }
@@ -254,53 +254,53 @@ class KA extends xt {
254
254
  return super.getData(e, this.batchSize, a, t);
255
255
  }
256
256
  }
257
- function Xa(c) {
257
+ function Va(d) {
258
258
  let e, a, t, A = -1, i = 0;
259
- for (let n = 0; n < c.length; ++n) {
260
- const b = c[n];
261
- if (e === void 0 && (e = b.array.constructor), e !== b.array.constructor) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
262
- if (a === void 0 && (a = b.itemSize), a !== b.itemSize) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
263
- if (t === void 0 && (t = b.normalized), t !== b.normalized) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
264
- if (A === -1 && (A = b.gpuType), A !== b.gpuType) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
265
- i += b.count * a;
266
- }
267
- const s = new e(i), r = new he(s, a, t);
268
- let o = 0;
269
- for (let n = 0; n < c.length; ++n) {
270
- const b = c[n];
271
- if (b.isInterleavedBufferAttribute) {
272
- const d = o / a;
273
- for (let g = 0, l = b.count; g < l; g++) for (let h = 0; h < a; h++) {
274
- const f = b.getComponent(g, h);
275
- r.setComponent(g + d, h, f);
259
+ for (let o = 0; o < d.length; ++o) {
260
+ const c = d[o];
261
+ if (e === void 0 && (e = c.array.constructor), e !== c.array.constructor) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
262
+ if (a === void 0 && (a = c.itemSize), a !== c.itemSize) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
263
+ if (t === void 0 && (t = c.normalized), t !== c.normalized) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
264
+ if (A === -1 && (A = c.gpuType), A !== c.gpuType) return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
265
+ i += c.count * a;
266
+ }
267
+ const s = new e(i), r = new de(s, a, t);
268
+ let n = 0;
269
+ for (let o = 0; o < d.length; ++o) {
270
+ const c = d[o];
271
+ if (c.isInterleavedBufferAttribute) {
272
+ const b = n / a;
273
+ for (let g = 0, l = c.count; g < l; g++) for (let h = 0; h < a; h++) {
274
+ const f = c.getComponent(g, h);
275
+ r.setComponent(g + b, h, f);
276
276
  }
277
- } else s.set(b.array, o);
278
- o += b.count * a;
277
+ } else s.set(c.array, n);
278
+ n += c.count * a;
279
279
  }
280
280
  return A !== void 0 && (r.gpuType = A), r;
281
281
  }
282
- function Za(c, e) {
283
- if (e === aA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), c;
284
- if (e === ya || e === Bt) {
285
- let a = c.getIndex();
282
+ function Ya(d, e) {
283
+ if (e === eA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), d;
284
+ if (e === pa || e === mt) {
285
+ let a = d.getIndex();
286
286
  if (a === null) {
287
- const s = [], r = c.getAttribute("position");
288
- if (r === void 0) return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), c;
289
- for (let o = 0; o < r.count; o++) s.push(o);
290
- c.setIndex(s), a = c.getIndex();
287
+ const s = [], r = d.getAttribute("position");
288
+ if (r === void 0) return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), d;
289
+ for (let n = 0; n < r.count; n++) s.push(n);
290
+ d.setIndex(s), a = d.getIndex();
291
291
  }
292
292
  const t = a.count - 2, A = [];
293
- if (e === ya) for (let s = 1; s <= t; s++) A.push(a.getX(0)), A.push(a.getX(s)), A.push(a.getX(s + 1));
293
+ if (e === pa) for (let s = 1; s <= t; s++) A.push(a.getX(0)), A.push(a.getX(s)), A.push(a.getX(s + 1));
294
294
  else for (let s = 0; s < t; s++) s % 2 == 0 ? (A.push(a.getX(s)), A.push(a.getX(s + 1)), A.push(a.getX(s + 2))) : (A.push(a.getX(s + 2)), A.push(a.getX(s + 1)), A.push(a.getX(s)));
295
295
  A.length / 3 !== t && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
296
- const i = c.clone();
296
+ const i = d.clone();
297
297
  return i.setIndex(A), i.clearGroups(), i;
298
298
  }
299
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), c;
299
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), d;
300
300
  }
301
- class jt {
301
+ class xt {
302
302
  constructor(e) {
303
- ge(this, "checkLoaderInitialized", async () => new Promise((e) => {
303
+ le(this, "checkLoaderInitialized", async () => new Promise((e) => {
304
304
  const a = setInterval(() => {
305
305
  this.gltfLoader.hasDracoLoader && !this.gltfLoader.dracoLoader || this.gltfLoader.hasKTX2Loader && !this.gltfLoader.ktx2Loader || (clearInterval(a), e());
306
306
  }, 10);
@@ -310,11 +310,11 @@ class jt {
310
310
  parseB3DM(e, a, t, A) {
311
311
  const i = this, s = new DataView(e), r = String.fromCharCode(s.getUint8(0)) + String.fromCharCode(s.getUint8(1)) + String.fromCharCode(s.getUint8(2)) + String.fromCharCode(s.getUint8(3));
312
312
  console.assert(r === "b3dm");
313
- const o = s.getUint32(8, !0);
314
- console.assert(o === e.byteLength);
315
- const n = s.getUint32(12, !0), b = s.getUint32(16, !0), d = s.getUint32(20, !0), g = s.getUint32(24, !0), l = new xt(e, 28, n, b), h = 28 + n + b;
316
- new KA(e, l.getData("BATCH_LENGTH"), h, d, g);
317
- const f = h + d + g, I = new Uint8Array(e, f, o - f).slice().buffer;
313
+ const n = s.getUint32(8, !0);
314
+ console.assert(n === e.byteLength);
315
+ const o = s.getUint32(12, !0), c = s.getUint32(16, !0), b = s.getUint32(20, !0), g = s.getUint32(24, !0), l = new kt(e, 28, o, c), h = 28 + o + c;
316
+ new _A(e, l.getData("BATCH_LENGTH"), h, b, g);
317
+ const f = h + b + g, I = new Uint8Array(e, f, n - f).slice().buffer;
318
318
  return new Promise(async (m, u) => {
319
319
  await this.checkLoaderInitialized(), this.gltfLoader.parse(I, null, (C) => {
320
320
  const B = l.getData("RTC_CENTER");
@@ -328,15 +328,15 @@ class jt {
328
328
  }
329
329
  parseB3DMInstanced(e, a, t, A, i) {
330
330
  return this.parseB3DM(e, a, A, i).then((s) => {
331
- let r, o = [], n = [];
332
- s.updateWorldMatrix(!1, !0), s.traverse((d) => {
333
- d.isMesh && (d.geometry.applyMatrix4(d.matrixWorld), o.push(d.geometry), n.push(d.material));
331
+ let r, n = [], o = [];
332
+ s.updateWorldMatrix(!1, !0), s.traverse((b) => {
333
+ b.isMesh && (b.geometry.applyMatrix4(b.matrixWorld), n.push(b.geometry), o.push(b.material));
334
334
  });
335
- let b = function(d) {
335
+ let c = function(b) {
336
336
  let g = /* @__PURE__ */ new Set();
337
- return d.forEach((h) => {
337
+ return b.forEach((h) => {
338
338
  for (let f in h.attributes) g.add(f);
339
- }), d.forEach((h) => {
339
+ }), b.forEach((h) => {
340
340
  g.forEach((f) => {
341
341
  if (!h.attributes[f]) {
342
342
  const I = function(u) {
@@ -356,7 +356,7 @@ class jt {
356
356
  }
357
357
  });
358
358
  }), function(h, f = !1) {
359
- const I = h[0].index !== null, m = new Set(Object.keys(h[0].attributes)), u = new Set(Object.keys(h[0].morphAttributes)), C = {}, B = {}, w = h[0].morphTargetsRelative, k = new ea();
359
+ const I = h[0].index !== null, m = new Set(Object.keys(h[0].attributes)), u = new Set(Object.keys(h[0].morphAttributes)), C = {}, B = {}, w = h[0].morphTargetsRelative, k = new Ze();
360
360
  let y = 0;
361
361
  for (let p = 0; p < h.length; ++p) {
362
362
  const Q = h[p];
@@ -393,7 +393,7 @@ class jt {
393
393
  k.setIndex(Q);
394
394
  }
395
395
  for (const p in C) {
396
- const Q = Xa(C[p]);
396
+ const Q = Va(C[p]);
397
397
  if (!Q) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + p + " attribute."), null;
398
398
  k.setAttribute(p, Q);
399
399
  }
@@ -404,39 +404,40 @@ class jt {
404
404
  for (let x = 0; x < Q; ++x) {
405
405
  const j = [];
406
406
  for (let O = 0; O < B[p].length; ++O) j.push(B[p][O][x]);
407
- const M = Xa(j);
407
+ const M = Va(j);
408
408
  if (!M) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + p + " morphAttribute."), null;
409
409
  k.morphAttributes[p].push(M);
410
410
  }
411
411
  }
412
412
  return k;
413
- }(d, !0);
414
- }(o);
415
- return r = new E.InstancedMesh(b, n, t), r.baseMatrix = new E.Matrix4().identity(), r;
413
+ }(b, !0);
414
+ }(n);
415
+ return r = new E.InstancedMesh(c, o, t), r.baseMatrix = new E.Matrix4().identity(), r;
416
416
  });
417
417
  }
418
418
  }
419
- var sa, zA = new Uint8Array(16);
420
- function VA() {
421
- if (!sa && !(sa = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto))) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
422
- return sa(zA);
423
- }
424
- const YA = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
425
- for (var T = [], ra = 0; ra < 256; ++ra) T.push((ra + 256).toString(16).substr(1));
426
- function WA(c) {
427
- var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = (T[c[e + 0]] + T[c[e + 1]] + T[c[e + 2]] + T[c[e + 3]] + "-" + T[c[e + 4]] + T[c[e + 5]] + "-" + T[c[e + 6]] + T[c[e + 7]] + "-" + T[c[e + 8]] + T[c[e + 9]] + "-" + T[c[e + 10]] + T[c[e + 11]] + T[c[e + 12]] + T[c[e + 13]] + T[c[e + 14]] + T[c[e + 15]]).toLowerCase();
428
- if (!function(t) {
429
- return typeof t == "string" && YA.test(t);
430
- }(a)) throw TypeError("Stringified UUID is invalid");
431
- return a;
432
- }
433
- function St(c, e, a) {
434
- var t = (c = c || {}).random || (c.rng || VA)();
435
- return t[6] = 15 & t[6] | 64, t[8] = 63 & t[8] | 128, WA(t);
419
+ const T = [];
420
+ for (let d = 0; d < 256; ++d) T.push((d + 256).toString(16).slice(1));
421
+ let Aa;
422
+ const KA = new Uint8Array(16), Wa = { randomUUID: typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto) };
423
+ function jt(d, e, a) {
424
+ var A;
425
+ if (Wa.randomUUID && !d) return Wa.randomUUID();
426
+ const t = (d = d || {}).random ?? ((A = d.rng) == null ? void 0 : A.call(d)) ?? function() {
427
+ if (!Aa) {
428
+ if (typeof crypto > "u" || !crypto.getRandomValues) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
429
+ Aa = crypto.getRandomValues.bind(crypto);
430
+ }
431
+ return Aa(KA);
432
+ }();
433
+ if (t.length < 16) throw new Error("Random bytes length must be >= 16");
434
+ return t[6] = 15 & t[6] | 64, t[8] = 63 & t[8] | 128, function(i, s = 0) {
435
+ return (T[i[s + 0]] + T[i[s + 1]] + T[i[s + 2]] + T[i[s + 3]] + "-" + T[i[s + 4]] + T[i[s + 5]] + "-" + T[i[s + 6]] + T[i[s + 7]] + "-" + T[i[s + 8]] + T[i[s + 9]] + "-" + T[i[s + 10]] + T[i[s + 11]] + T[i[s + 12]] + T[i[s + 13]] + T[i[s + 14]] + T[i[s + 15]]).toLowerCase();
436
+ }(t);
436
437
  }
437
- class XA {
438
+ class zA {
438
439
  constructor(e, a) {
439
- ge(this, "checkLoaderInitialized", async () => {
440
+ le(this, "checkLoaderInitialized", async () => {
440
441
  const e = this;
441
442
  return new Promise((a) => {
442
443
  const t = setInterval(() => {
@@ -449,54 +450,54 @@ class XA {
449
450
  parseSplats(e, a, t, A) {
450
451
  const i = this;
451
452
  return new Promise(async (s, r) => {
452
- await i.checkLoaderInitialized(), i.gltfLoader.parse(e, null, (o) => {
453
- o.scene;
454
- const n = o.scene.children[0], b = n.geometry.attributes.position, d = n.geometry.attributes.color, g = n.geometry.attributes.cov_0, l = n.geometry.attributes.cov_1, h = A.addSplatsTile(b, d, g, l);
455
- o.scene.traverse((f) => {
453
+ await i.checkLoaderInitialized(), i.gltfLoader.parse(e, null, (n) => {
454
+ n.scene;
455
+ const o = n.scene.children[0], c = o.geometry.attributes.position, b = o.geometry.attributes.color, g = o.geometry.attributes.cov_0, l = o.geometry.attributes.cov_1, h = A.addSplatsTile(c, b, g, l);
456
+ n.scene.traverse((f) => {
456
457
  f.dispose && f.dispose();
457
458
  }), s(h);
458
- }, (o) => {
459
- console.error(o);
459
+ }, (n) => {
460
+ console.error(n);
460
461
  });
461
462
  });
462
463
  }
463
464
  }
464
- class Dt extends Ma {
465
+ class St extends va {
465
466
  constructor(e) {
466
467
  super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(a) {
467
- return new ti(a);
468
+ return new ZA(a);
468
469
  }), this.register(function(a) {
469
- return new Ai(a);
470
+ return new $A(a);
470
471
  }), this.register(function(a) {
471
- return new hi(a);
472
+ return new oi(a);
472
473
  }), this.register(function(a) {
473
- return new li(a);
474
+ return new ci(a);
474
475
  }), this.register(function(a) {
475
- return new gi(a);
476
+ return new bi(a);
476
477
  }), this.register(function(a) {
477
- return new si(a);
478
+ return new ai(a);
478
479
  }), this.register(function(a) {
479
- return new ri(a);
480
+ return new ti(a);
480
481
  }), this.register(function(a) {
481
- return new ni(a);
482
+ return new Ai(a);
482
483
  }), this.register(function(a) {
483
- return new oi(a);
484
+ return new ii(a);
484
485
  }), this.register(function(a) {
485
- return new ai(a);
486
+ return new XA(a);
486
487
  }), this.register(function(a) {
487
- return new ci(a);
488
+ return new si(a);
488
489
  }), this.register(function(a) {
489
- return new ii(a);
490
+ return new ei(a);
490
491
  }), this.register(function(a) {
491
- return new di(a);
492
+ return new ni(a);
492
493
  }), this.register(function(a) {
493
- return new bi(a);
494
+ return new ri(a);
494
495
  }), this.register(function(a) {
495
- return new $A(a);
496
+ return new YA(a);
496
497
  }), this.register(function(a) {
497
- return new fi(a);
498
+ return new di(a);
498
499
  }), this.register(function(a) {
499
- return new ui(a);
500
+ return new hi(a);
500
501
  });
501
502
  }
502
503
  load(e, a, t, A) {
@@ -504,20 +505,20 @@ class Dt extends Ma {
504
505
  let s;
505
506
  if (this.resourcePath !== "") s = this.resourcePath;
506
507
  else if (this.path !== "") {
507
- const n = Le.extractUrlBase(e);
508
- s = Le.resolveURL(n, this.path);
509
- } else s = Le.extractUrlBase(e);
508
+ const o = He.extractUrlBase(e);
509
+ s = He.resolveURL(o, this.path);
510
+ } else s = He.extractUrlBase(e);
510
511
  this.manager.itemStart(e);
511
- const r = function(n) {
512
- A ? A(n) : console.error(n), i.manager.itemError(e), i.manager.itemEnd(e);
513
- }, o = new Ce(this.manager);
514
- o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), o.setWithCredentials(this.withCredentials), o.load(e, function(n) {
512
+ const r = function(o) {
513
+ A ? A(o) : console.error(o), i.manager.itemError(e), i.manager.itemEnd(e);
514
+ }, n = new Be(this.manager);
515
+ n.setPath(this.path), n.setResponseType("arraybuffer"), n.setRequestHeader(this.requestHeader), n.setWithCredentials(this.withCredentials), n.load(e, function(o) {
515
516
  try {
516
- i.parse(n, s, function(b) {
517
- a(b), i.manager.itemEnd(e);
517
+ i.parse(o, s, function(c) {
518
+ a(c), i.manager.itemEnd(e);
518
519
  }, r);
519
- } catch (b) {
520
- r(b);
520
+ } catch (c) {
521
+ r(c);
521
522
  }
522
523
  }, t, r);
523
524
  }
@@ -538,45 +539,45 @@ class Dt extends Ma {
538
539
  }
539
540
  parse(e, a, t, A) {
540
541
  let i;
541
- const s = {}, r = {}, o = new TextDecoder();
542
+ const s = {}, r = {}, n = new TextDecoder();
542
543
  if (typeof e == "string") i = JSON.parse(e);
543
544
  else if (e instanceof ArrayBuffer)
544
- if (o.decode(new Uint8Array(e, 0, 4)) === vt) {
545
+ if (n.decode(new Uint8Array(e, 0, 4)) === Dt) {
545
546
  try {
546
- s[S.KHR_BINARY_GLTF] = new Bi(e);
547
- } catch (b) {
548
- return void (A && A(b));
547
+ s[S.KHR_BINARY_GLTF] = new fi(e);
548
+ } catch (c) {
549
+ return void (A && A(c));
549
550
  }
550
551
  i = JSON.parse(s[S.KHR_BINARY_GLTF].content);
551
- } else i = JSON.parse(o.decode(e));
552
+ } else i = JSON.parse(n.decode(e));
552
553
  else i = e;
553
554
  if (i.asset === void 0 || i.asset.version[0] < 2) return void (A && A(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));
554
- const n = new Fi(i, { path: a || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
555
- n.fileLoader.setRequestHeader(this.requestHeader);
556
- for (let b = 0; b < this.pluginCallbacks.length; b++) {
557
- const d = this.pluginCallbacks[b](n);
558
- d.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[d.name] = d, s[d.name] = !0;
555
+ const o = new ji(i, { path: a || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
556
+ o.fileLoader.setRequestHeader(this.requestHeader);
557
+ for (let c = 0; c < this.pluginCallbacks.length; c++) {
558
+ const b = this.pluginCallbacks[c](o);
559
+ b.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[b.name] = b, s[b.name] = !0;
559
560
  }
560
- if (i.extensionsUsed) for (let b = 0; b < i.extensionsUsed.length; ++b) {
561
- const d = i.extensionsUsed[b], g = i.extensionsRequired || [];
562
- switch (d) {
561
+ if (i.extensionsUsed) for (let c = 0; c < i.extensionsUsed.length; ++c) {
562
+ const b = i.extensionsUsed[c], g = i.extensionsRequired || [];
563
+ switch (b) {
563
564
  case S.KHR_MATERIALS_UNLIT:
564
- s[d] = new ei();
565
+ s[b] = new WA();
565
566
  break;
566
567
  case S.KHR_DRACO_MESH_COMPRESSION:
567
- s[d] = new Ci(i, this.dracoLoader);
568
+ s[b] = new ui(i, this.dracoLoader);
568
569
  break;
569
570
  case S.KHR_TEXTURE_TRANSFORM:
570
- s[d] = new pi();
571
+ s[b] = new Ii();
571
572
  break;
572
573
  case S.KHR_MESH_QUANTIZATION:
573
- s[d] = new Ei();
574
+ s[b] = new mi();
574
575
  break;
575
576
  default:
576
- g.indexOf(d) >= 0 && r[d] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + d + '".');
577
+ g.indexOf(b) >= 0 && r[b] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + b + '".');
577
578
  }
578
579
  }
579
- n.setExtensions(s), n.setPlugins(r), n.parse(t, A);
580
+ o.setExtensions(s), o.setPlugins(r), o.parse(t, A);
580
581
  }
581
582
  parseAsync(e, a) {
582
583
  const t = this;
@@ -585,20 +586,20 @@ class Dt extends Ma {
585
586
  });
586
587
  }
587
588
  }
588
- function ZA() {
589
- let c = {};
589
+ function VA() {
590
+ let d = {};
590
591
  return { get: function(e) {
591
- return c[e];
592
+ return d[e];
592
593
  }, add: function(e, a) {
593
- c[e] = a;
594
+ d[e] = a;
594
595
  }, remove: function(e) {
595
- delete c[e];
596
+ delete d[e];
596
597
  }, removeAll: function() {
597
- c = {};
598
+ d = {};
598
599
  } };
599
600
  }
600
601
  const S = { KHR_BINARY_GLTF: "KHR_binary_glTF", KHR_DRACO_MESH_COMPRESSION: "KHR_draco_mesh_compression", KHR_LIGHTS_PUNCTUAL: "KHR_lights_punctual", KHR_MATERIALS_CLEARCOAT: "KHR_materials_clearcoat", KHR_MATERIALS_DISPERSION: "KHR_materials_dispersion", KHR_MATERIALS_IOR: "KHR_materials_ior", KHR_MATERIALS_SHEEN: "KHR_materials_sheen", KHR_MATERIALS_SPECULAR: "KHR_materials_specular", KHR_MATERIALS_TRANSMISSION: "KHR_materials_transmission", KHR_MATERIALS_IRIDESCENCE: "KHR_materials_iridescence", KHR_MATERIALS_ANISOTROPY: "KHR_materials_anisotropy", KHR_MATERIALS_UNLIT: "KHR_materials_unlit", KHR_MATERIALS_VOLUME: "KHR_materials_volume", KHR_TEXTURE_BASISU: "KHR_texture_basisu", KHR_TEXTURE_TRANSFORM: "KHR_texture_transform", KHR_MESH_QUANTIZATION: "KHR_mesh_quantization", KHR_MATERIALS_EMISSIVE_STRENGTH: "KHR_materials_emissive_strength", EXT_MATERIALS_BUMP: "EXT_materials_bump", EXT_TEXTURE_WEBP: "EXT_texture_webp", EXT_TEXTURE_AVIF: "EXT_texture_avif", EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression", EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing" };
601
- class $A {
602
+ class YA {
602
603
  constructor(e) {
603
604
  this.parser = e, this.name = S.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
604
605
  }
@@ -615,23 +616,23 @@ class $A {
615
616
  if (A) return A;
616
617
  const i = a.json, s = ((i.extensions && i.extensions[this.name] || {}).lights || [])[e];
617
618
  let r;
618
- const o = new le(16777215);
619
- s.color !== void 0 && o.setRGB(s.color[0], s.color[1], s.color[2], K);
620
- const n = s.range !== void 0 ? s.range : 0;
619
+ const n = new he(16777215);
620
+ s.color !== void 0 && n.setRGB(s.color[0], s.color[1], s.color[2], K);
621
+ const o = s.range !== void 0 ? s.range : 0;
621
622
  switch (s.type) {
622
623
  case "directional":
623
- r = new iA(o), r.target.position.set(0, 0, -1), r.add(r.target);
624
+ r = new AA(n), r.target.position.set(0, 0, -1), r.add(r.target);
624
625
  break;
625
626
  case "point":
626
- r = new AA(o), r.distance = n;
627
+ r = new tA(n), r.distance = o;
627
628
  break;
628
629
  case "spot":
629
- r = new tA(o), r.distance = n, s.spot = s.spot || {}, s.spot.innerConeAngle = s.spot.innerConeAngle !== void 0 ? s.spot.innerConeAngle : 0, s.spot.outerConeAngle = s.spot.outerConeAngle !== void 0 ? s.spot.outerConeAngle : Math.PI / 4, r.angle = s.spot.outerConeAngle, r.penumbra = 1 - s.spot.innerConeAngle / s.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
630
+ r = new aA(n), r.distance = o, s.spot = s.spot || {}, s.spot.innerConeAngle = s.spot.innerConeAngle !== void 0 ? s.spot.innerConeAngle : 0, s.spot.outerConeAngle = s.spot.outerConeAngle !== void 0 ? s.spot.outerConeAngle : Math.PI / 4, r.angle = s.spot.outerConeAngle, r.penumbra = 1 - s.spot.innerConeAngle / s.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
630
631
  break;
631
632
  default:
632
633
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + s.type);
633
634
  }
634
- return r.position.set(0, 0, 0), se(r, s), s.intensity !== void 0 && (r.intensity = s.intensity), r.name = a.createUniqueName(s.name || "light_" + e), A = Promise.resolve(r), a.cache.add(t, A), A;
635
+ return r.position.set(0, 0, 0), ie(r, s), s.intensity !== void 0 && (r.intensity = s.intensity), r.name = a.createUniqueName(s.name || "light_" + e), A = Promise.resolve(r), a.cache.add(t, A), A;
635
636
  }
636
637
  getDependency(e, a) {
637
638
  if (e === "light") return this._loadLight(a);
@@ -643,28 +644,28 @@ class $A {
643
644
  });
644
645
  }
645
646
  }
646
- class ei {
647
+ class WA {
647
648
  constructor() {
648
649
  this.name = S.KHR_MATERIALS_UNLIT;
649
650
  }
650
651
  getMaterialType() {
651
- return Ue;
652
+ return Me;
652
653
  }
653
654
  extendParams(e, a, t) {
654
655
  const A = [];
655
- e.color = new le(1, 1, 1), e.opacity = 1;
656
+ e.color = new he(1, 1, 1), e.opacity = 1;
656
657
  const i = a.pbrMetallicRoughness;
657
658
  if (i) {
658
659
  if (Array.isArray(i.baseColorFactor)) {
659
660
  const s = i.baseColorFactor;
660
661
  e.color.setRGB(s[0], s[1], s[2], K), e.opacity = s[3];
661
662
  }
662
- i.baseColorTexture !== void 0 && A.push(t.assignTexture(e, "map", i.baseColorTexture, re));
663
+ i.baseColorTexture !== void 0 && A.push(t.assignTexture(e, "map", i.baseColorTexture, se));
663
664
  }
664
665
  return Promise.all(A);
665
666
  }
666
667
  }
667
- class ai {
668
+ class XA {
668
669
  constructor(e) {
669
670
  this.parser = e, this.name = S.KHR_MATERIALS_EMISSIVE_STRENGTH;
670
671
  }
@@ -675,13 +676,13 @@ class ai {
675
676
  return A !== void 0 && (a.emissiveIntensity = A), Promise.resolve();
676
677
  }
677
678
  }
678
- class ti {
679
+ class ZA {
679
680
  constructor(e) {
680
681
  this.parser = e, this.name = S.KHR_MATERIALS_CLEARCOAT;
681
682
  }
682
683
  getMaterialType(e) {
683
684
  const a = this.parser.json.materials[e];
684
- return a.extensions && a.extensions[this.name] ? ae : null;
685
+ return a.extensions && a.extensions[this.name] ? ee : null;
685
686
  }
686
687
  extendMaterialParams(e, a) {
687
688
  const t = this.parser, A = t.json.materials[e];
@@ -689,18 +690,18 @@ class ti {
689
690
  const i = [], s = A.extensions[this.name];
690
691
  if (s.clearcoatFactor !== void 0 && (a.clearcoat = s.clearcoatFactor), s.clearcoatTexture !== void 0 && i.push(t.assignTexture(a, "clearcoatMap", s.clearcoatTexture)), s.clearcoatRoughnessFactor !== void 0 && (a.clearcoatRoughness = s.clearcoatRoughnessFactor), s.clearcoatRoughnessTexture !== void 0 && i.push(t.assignTexture(a, "clearcoatRoughnessMap", s.clearcoatRoughnessTexture)), s.clearcoatNormalTexture !== void 0 && (i.push(t.assignTexture(a, "clearcoatNormalMap", s.clearcoatNormalTexture)), s.clearcoatNormalTexture.scale !== void 0)) {
691
692
  const r = s.clearcoatNormalTexture.scale;
692
- a.clearcoatNormalScale = new Ct(r, r);
693
+ a.clearcoatNormalScale = new Bt(r, r);
693
694
  }
694
695
  return Promise.all(i);
695
696
  }
696
697
  }
697
- class Ai {
698
+ class $A {
698
699
  constructor(e) {
699
700
  this.parser = e, this.name = S.KHR_MATERIALS_DISPERSION;
700
701
  }
701
702
  getMaterialType(e) {
702
703
  const a = this.parser.json.materials[e];
703
- return a.extensions && a.extensions[this.name] ? ae : null;
704
+ return a.extensions && a.extensions[this.name] ? ee : null;
704
705
  }
705
706
  extendMaterialParams(e, a) {
706
707
  const t = this.parser.json.materials[e];
@@ -709,13 +710,13 @@ class Ai {
709
710
  return a.dispersion = A.dispersion !== void 0 ? A.dispersion : 0, Promise.resolve();
710
711
  }
711
712
  }
712
- class ii {
713
+ class ei {
713
714
  constructor(e) {
714
715
  this.parser = e, this.name = S.KHR_MATERIALS_IRIDESCENCE;
715
716
  }
716
717
  getMaterialType(e) {
717
718
  const a = this.parser.json.materials[e];
718
- return a.extensions && a.extensions[this.name] ? ae : null;
719
+ return a.extensions && a.extensions[this.name] ? ee : null;
719
720
  }
720
721
  extendMaterialParams(e, a) {
721
722
  const t = this.parser, A = t.json.materials[e];
@@ -724,34 +725,34 @@ class ii {
724
725
  return s.iridescenceFactor !== void 0 && (a.iridescence = s.iridescenceFactor), s.iridescenceTexture !== void 0 && i.push(t.assignTexture(a, "iridescenceMap", s.iridescenceTexture)), s.iridescenceIor !== void 0 && (a.iridescenceIOR = s.iridescenceIor), a.iridescenceThicknessRange === void 0 && (a.iridescenceThicknessRange = [100, 400]), s.iridescenceThicknessMinimum !== void 0 && (a.iridescenceThicknessRange[0] = s.iridescenceThicknessMinimum), s.iridescenceThicknessMaximum !== void 0 && (a.iridescenceThicknessRange[1] = s.iridescenceThicknessMaximum), s.iridescenceThicknessTexture !== void 0 && i.push(t.assignTexture(a, "iridescenceThicknessMap", s.iridescenceThicknessTexture)), Promise.all(i);
725
726
  }
726
727
  }
727
- class si {
728
+ class ai {
728
729
  constructor(e) {
729
730
  this.parser = e, this.name = S.KHR_MATERIALS_SHEEN;
730
731
  }
731
732
  getMaterialType(e) {
732
733
  const a = this.parser.json.materials[e];
733
- return a.extensions && a.extensions[this.name] ? ae : null;
734
+ return a.extensions && a.extensions[this.name] ? ee : null;
734
735
  }
735
736
  extendMaterialParams(e, a) {
736
737
  const t = this.parser, A = t.json.materials[e];
737
738
  if (!A.extensions || !A.extensions[this.name]) return Promise.resolve();
738
739
  const i = [];
739
- a.sheenColor = new le(0, 0, 0), a.sheenRoughness = 0, a.sheen = 1;
740
+ a.sheenColor = new he(0, 0, 0), a.sheenRoughness = 0, a.sheen = 1;
740
741
  const s = A.extensions[this.name];
741
742
  if (s.sheenColorFactor !== void 0) {
742
743
  const r = s.sheenColorFactor;
743
744
  a.sheenColor.setRGB(r[0], r[1], r[2], K);
744
745
  }
745
- return s.sheenRoughnessFactor !== void 0 && (a.sheenRoughness = s.sheenRoughnessFactor), s.sheenColorTexture !== void 0 && i.push(t.assignTexture(a, "sheenColorMap", s.sheenColorTexture, re)), s.sheenRoughnessTexture !== void 0 && i.push(t.assignTexture(a, "sheenRoughnessMap", s.sheenRoughnessTexture)), Promise.all(i);
746
+ return s.sheenRoughnessFactor !== void 0 && (a.sheenRoughness = s.sheenRoughnessFactor), s.sheenColorTexture !== void 0 && i.push(t.assignTexture(a, "sheenColorMap", s.sheenColorTexture, se)), s.sheenRoughnessTexture !== void 0 && i.push(t.assignTexture(a, "sheenRoughnessMap", s.sheenRoughnessTexture)), Promise.all(i);
746
747
  }
747
748
  }
748
- class ri {
749
+ class ti {
749
750
  constructor(e) {
750
751
  this.parser = e, this.name = S.KHR_MATERIALS_TRANSMISSION;
751
752
  }
752
753
  getMaterialType(e) {
753
754
  const a = this.parser.json.materials[e];
754
- return a.extensions && a.extensions[this.name] ? ae : null;
755
+ return a.extensions && a.extensions[this.name] ? ee : null;
755
756
  }
756
757
  extendMaterialParams(e, a) {
757
758
  const t = this.parser, A = t.json.materials[e];
@@ -760,13 +761,13 @@ class ri {
760
761
  return s.transmissionFactor !== void 0 && (a.transmission = s.transmissionFactor), s.transmissionTexture !== void 0 && i.push(t.assignTexture(a, "transmissionMap", s.transmissionTexture)), Promise.all(i);
761
762
  }
762
763
  }
763
- class ni {
764
+ class Ai {
764
765
  constructor(e) {
765
766
  this.parser = e, this.name = S.KHR_MATERIALS_VOLUME;
766
767
  }
767
768
  getMaterialType(e) {
768
769
  const a = this.parser.json.materials[e];
769
- return a.extensions && a.extensions[this.name] ? ae : null;
770
+ return a.extensions && a.extensions[this.name] ? ee : null;
770
771
  }
771
772
  extendMaterialParams(e, a) {
772
773
  const t = this.parser, A = t.json.materials[e];
@@ -774,16 +775,16 @@ class ni {
774
775
  const i = [], s = A.extensions[this.name];
775
776
  a.thickness = s.thicknessFactor !== void 0 ? s.thicknessFactor : 0, s.thicknessTexture !== void 0 && i.push(t.assignTexture(a, "thicknessMap", s.thicknessTexture)), a.attenuationDistance = s.attenuationDistance || 1 / 0;
776
777
  const r = s.attenuationColor || [1, 1, 1];
777
- return a.attenuationColor = new le().setRGB(r[0], r[1], r[2], K), Promise.all(i);
778
+ return a.attenuationColor = new he().setRGB(r[0], r[1], r[2], K), Promise.all(i);
778
779
  }
779
780
  }
780
- class oi {
781
+ class ii {
781
782
  constructor(e) {
782
783
  this.parser = e, this.name = S.KHR_MATERIALS_IOR;
783
784
  }
784
785
  getMaterialType(e) {
785
786
  const a = this.parser.json.materials[e];
786
- return a.extensions && a.extensions[this.name] ? ae : null;
787
+ return a.extensions && a.extensions[this.name] ? ee : null;
787
788
  }
788
789
  extendMaterialParams(e, a) {
789
790
  const t = this.parser.json.materials[e];
@@ -792,13 +793,13 @@ class oi {
792
793
  return a.ior = A.ior !== void 0 ? A.ior : 1.5, Promise.resolve();
793
794
  }
794
795
  }
795
- class ci {
796
+ class si {
796
797
  constructor(e) {
797
798
  this.parser = e, this.name = S.KHR_MATERIALS_SPECULAR;
798
799
  }
799
800
  getMaterialType(e) {
800
801
  const a = this.parser.json.materials[e];
801
- return a.extensions && a.extensions[this.name] ? ae : null;
802
+ return a.extensions && a.extensions[this.name] ? ee : null;
802
803
  }
803
804
  extendMaterialParams(e, a) {
804
805
  const t = this.parser, A = t.json.materials[e];
@@ -806,16 +807,16 @@ class ci {
806
807
  const i = [], s = A.extensions[this.name];
807
808
  a.specularIntensity = s.specularFactor !== void 0 ? s.specularFactor : 1, s.specularTexture !== void 0 && i.push(t.assignTexture(a, "specularIntensityMap", s.specularTexture));
808
809
  const r = s.specularColorFactor || [1, 1, 1];
809
- return a.specularColor = new le().setRGB(r[0], r[1], r[2], K), s.specularColorTexture !== void 0 && i.push(t.assignTexture(a, "specularColorMap", s.specularColorTexture, re)), Promise.all(i);
810
+ return a.specularColor = new he().setRGB(r[0], r[1], r[2], K), s.specularColorTexture !== void 0 && i.push(t.assignTexture(a, "specularColorMap", s.specularColorTexture, se)), Promise.all(i);
810
811
  }
811
812
  }
812
- class bi {
813
+ class ri {
813
814
  constructor(e) {
814
815
  this.parser = e, this.name = S.EXT_MATERIALS_BUMP;
815
816
  }
816
817
  getMaterialType(e) {
817
818
  const a = this.parser.json.materials[e];
818
- return a.extensions && a.extensions[this.name] ? ae : null;
819
+ return a.extensions && a.extensions[this.name] ? ee : null;
819
820
  }
820
821
  extendMaterialParams(e, a) {
821
822
  const t = this.parser, A = t.json.materials[e];
@@ -824,13 +825,13 @@ class bi {
824
825
  return a.bumpScale = s.bumpFactor !== void 0 ? s.bumpFactor : 1, s.bumpTexture !== void 0 && i.push(t.assignTexture(a, "bumpMap", s.bumpTexture)), Promise.all(i);
825
826
  }
826
827
  }
827
- class di {
828
+ class ni {
828
829
  constructor(e) {
829
830
  this.parser = e, this.name = S.KHR_MATERIALS_ANISOTROPY;
830
831
  }
831
832
  getMaterialType(e) {
832
833
  const a = this.parser.json.materials[e];
833
- return a.extensions && a.extensions[this.name] ? ae : null;
834
+ return a.extensions && a.extensions[this.name] ? ee : null;
834
835
  }
835
836
  extendMaterialParams(e, a) {
836
837
  const t = this.parser, A = t.json.materials[e];
@@ -839,7 +840,7 @@ class di {
839
840
  return s.anisotropyStrength !== void 0 && (a.anisotropy = s.anisotropyStrength), s.anisotropyRotation !== void 0 && (a.anisotropyRotation = s.anisotropyRotation), s.anisotropyTexture !== void 0 && i.push(t.assignTexture(a, "anisotropyMap", s.anisotropyTexture)), Promise.all(i);
840
841
  }
841
842
  }
842
- class hi {
843
+ class oi {
843
844
  constructor(e) {
844
845
  this.parser = e, this.name = S.KHR_TEXTURE_BASISU;
845
846
  }
@@ -854,7 +855,7 @@ class hi {
854
855
  return a.loadTextureImage(e, i.source, s);
855
856
  }
856
857
  }
857
- class li {
858
+ class ci {
858
859
  constructor(e) {
859
860
  this.parser = e, this.name = S.EXT_TEXTURE_WEBP, this.isSupported = null;
860
861
  }
@@ -862,13 +863,13 @@ class li {
862
863
  const a = this.name, t = this.parser, A = t.json, i = A.textures[e];
863
864
  if (!i.extensions || !i.extensions[a]) return null;
864
865
  const s = i.extensions[a], r = A.images[s.source];
865
- let o = t.textureLoader;
866
+ let n = t.textureLoader;
866
867
  if (r.uri) {
867
- const n = t.options.manager.getHandler(r.uri);
868
- n !== null && (o = n);
868
+ const o = t.options.manager.getHandler(r.uri);
869
+ o !== null && (n = o);
869
870
  }
870
- return this.detectSupport().then(function(n) {
871
- if (n) return t.loadTextureImage(e, s.source, o);
871
+ return this.detectSupport().then(function(o) {
872
+ if (o) return t.loadTextureImage(e, s.source, n);
872
873
  if (A.extensionsRequired && A.extensionsRequired.indexOf(a) >= 0) throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");
873
874
  return t.loadTexture(e);
874
875
  });
@@ -882,7 +883,7 @@ class li {
882
883
  })), this.isSupported;
883
884
  }
884
885
  }
885
- class gi {
886
+ class bi {
886
887
  constructor(e) {
887
888
  this.parser = e, this.name = S.EXT_TEXTURE_AVIF, this.isSupported = null;
888
889
  }
@@ -890,13 +891,13 @@ class gi {
890
891
  const a = this.name, t = this.parser, A = t.json, i = A.textures[e];
891
892
  if (!i.extensions || !i.extensions[a]) return null;
892
893
  const s = i.extensions[a], r = A.images[s.source];
893
- let o = t.textureLoader;
894
+ let n = t.textureLoader;
894
895
  if (r.uri) {
895
- const n = t.options.manager.getHandler(r.uri);
896
- n !== null && (o = n);
896
+ const o = t.options.manager.getHandler(r.uri);
897
+ o !== null && (n = o);
897
898
  }
898
- return this.detectSupport().then(function(n) {
899
- if (n) return t.loadTextureImage(e, s.source, o);
899
+ return this.detectSupport().then(function(o) {
900
+ if (o) return t.loadTextureImage(e, s.source, n);
900
901
  if (A.extensionsRequired && A.extensionsRequired.indexOf(a) >= 0) throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");
901
902
  return t.loadTexture(e);
902
903
  });
@@ -910,7 +911,7 @@ class gi {
910
911
  })), this.isSupported;
911
912
  }
912
913
  }
913
- class fi {
914
+ class di {
914
915
  constructor(e) {
915
916
  this.name = S.EXT_MESHOPT_COMPRESSION, this.parser = e;
916
917
  }
@@ -923,19 +924,19 @@ class fi {
923
924
  return null;
924
925
  }
925
926
  return i.then(function(r) {
926
- const o = A.byteOffset || 0, n = A.byteLength || 0, b = A.count, d = A.byteStride, g = new Uint8Array(r, o, n);
927
- return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(b, d, g, A.mode, A.filter).then(function(l) {
927
+ const n = A.byteOffset || 0, o = A.byteLength || 0, c = A.count, b = A.byteStride, g = new Uint8Array(r, n, o);
928
+ return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(c, b, g, A.mode, A.filter).then(function(l) {
928
929
  return l.buffer;
929
930
  }) : s.ready.then(function() {
930
- const l = new ArrayBuffer(b * d);
931
- return s.decodeGltfBuffer(new Uint8Array(l), b, d, g, A.mode, A.filter), l;
931
+ const l = new ArrayBuffer(c * b);
932
+ return s.decodeGltfBuffer(new Uint8Array(l), c, b, g, A.mode, A.filter), l;
932
933
  });
933
934
  });
934
935
  }
935
936
  return null;
936
937
  }
937
938
  }
938
- class ui {
939
+ class hi {
939
940
  constructor(e) {
940
941
  this.name = S.EXT_MESH_GPU_INSTANCING, this.parser = e;
941
942
  }
@@ -943,81 +944,81 @@ class ui {
943
944
  const a = this.parser.json, t = a.nodes[e];
944
945
  if (!t.extensions || !t.extensions[this.name] || t.mesh === void 0) return null;
945
946
  const A = a.meshes[t.mesh];
946
- for (const o of A.primitives) if (o.mode !== J.TRIANGLES && o.mode !== J.TRIANGLE_STRIP && o.mode !== J.TRIANGLE_FAN && o.mode !== void 0) return null;
947
+ for (const n of A.primitives) if (n.mode !== J.TRIANGLES && n.mode !== J.TRIANGLE_STRIP && n.mode !== J.TRIANGLE_FAN && n.mode !== void 0) return null;
947
948
  const i = t.extensions[this.name].attributes, s = [], r = {};
948
- for (const o in i) s.push(this.parser.getDependency("accessor", i[o]).then((n) => (r[o] = n, r[o])));
949
- return s.length < 1 ? null : (s.push(this.parser.createNodeMesh(e)), Promise.all(s).then((o) => {
950
- const n = o.pop(), b = n.isGroup ? n.children : [n], d = o[0].count, g = [];
951
- for (const l of b) {
952
- const h = new Se(), f = new D(), I = new pt(), m = new D(1, 1, 1), u = new sA(l.geometry, l.material, d);
953
- for (let C = 0; C < d; C++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, C), r.ROTATION && I.fromBufferAttribute(r.ROTATION, C), r.SCALE && m.fromBufferAttribute(r.SCALE, C), u.setMatrixAt(C, h.compose(f, I, m));
949
+ for (const n in i) s.push(this.parser.getDependency("accessor", i[n]).then((o) => (r[n] = o, r[n])));
950
+ return s.length < 1 ? null : (s.push(this.parser.createNodeMesh(e)), Promise.all(s).then((n) => {
951
+ const o = n.pop(), c = o.isGroup ? o.children : [o], b = n[0].count, g = [];
952
+ for (const l of c) {
953
+ const h = new xe(), f = new D(), I = new Ct(), m = new D(1, 1, 1), u = new iA(l.geometry, l.material, b);
954
+ for (let C = 0; C < b; C++) r.TRANSLATION && f.fromBufferAttribute(r.TRANSLATION, C), r.ROTATION && I.fromBufferAttribute(r.ROTATION, C), r.SCALE && m.fromBufferAttribute(r.SCALE, C), u.setMatrixAt(C, h.compose(f, I, m));
954
955
  for (const C in r) if (C === "_COLOR_0") {
955
956
  const B = r[C];
956
- u.instanceColor = new wa(B.array, B.itemSize, B.normalized);
957
+ u.instanceColor = new Ea(B.array, B.itemSize, B.normalized);
957
958
  } else C !== "TRANSLATION" && C !== "ROTATION" && C !== "SCALE" && l.geometry.setAttribute(C, r[C]);
958
- Et.prototype.copy.call(u, l), this.parser.assignFinalMaterial(u), g.push(u);
959
+ pt.prototype.copy.call(u, l), this.parser.assignFinalMaterial(u), g.push(u);
959
960
  }
960
- return n.isGroup ? (n.clear(), n.add(...g), n) : g[0];
961
+ return o.isGroup ? (o.clear(), o.add(...g), o) : g[0];
961
962
  }));
962
963
  }
963
964
  }
964
- const vt = "glTF", Ii = 1313821514, mi = 5130562;
965
- class Bi {
965
+ const Dt = "glTF", li = 1313821514, gi = 5130562;
966
+ class fi {
966
967
  constructor(e) {
967
968
  this.name = S.KHR_BINARY_GLTF, this.content = null, this.body = null;
968
969
  const a = new DataView(e, 0, 12), t = new TextDecoder();
969
- if (this.header = { magic: t.decode(new Uint8Array(e.slice(0, 4))), version: a.getUint32(4, !0), length: a.getUint32(8, !0) }, this.header.magic !== vt) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
970
+ if (this.header = { magic: t.decode(new Uint8Array(e.slice(0, 4))), version: a.getUint32(4, !0), length: a.getUint32(8, !0) }, this.header.magic !== Dt) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
970
971
  if (this.header.version < 2) throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
971
972
  const A = this.header.length - 12, i = new DataView(e, 12);
972
973
  let s = 0;
973
974
  for (; s < A; ) {
974
975
  const r = i.getUint32(s, !0);
975
976
  s += 4;
976
- const o = i.getUint32(s, !0);
977
- if (s += 4, o === Ii) {
978
- const n = new Uint8Array(e, 12 + s, r);
979
- this.content = t.decode(n);
980
- } else if (o === mi) {
981
- const n = 12 + s;
982
- this.body = e.slice(n, n + r);
977
+ const n = i.getUint32(s, !0);
978
+ if (s += 4, n === li) {
979
+ const o = new Uint8Array(e, 12 + s, r);
980
+ this.content = t.decode(o);
981
+ } else if (n === gi) {
982
+ const o = 12 + s;
983
+ this.body = e.slice(o, o + r);
983
984
  }
984
985
  s += r;
985
986
  }
986
987
  if (this.content === null) throw new Error("THREE.GLTFLoader: JSON content not found.");
987
988
  }
988
989
  }
989
- class Ci {
990
+ class ui {
990
991
  constructor(e, a) {
991
992
  if (!a) throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
992
993
  this.name = S.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = a, this.dracoLoader.preload();
993
994
  }
994
995
  decodePrimitive(e, a) {
995
- const t = this.json, A = this.dracoLoader, i = e.extensions[this.name].bufferView, s = e.extensions[this.name].attributes, r = {}, o = {}, n = {};
996
- for (const b in s) {
997
- const d = Sa[b] || b.toLowerCase();
998
- r[d] = s[b];
996
+ const t = this.json, A = this.dracoLoader, i = e.extensions[this.name].bufferView, s = e.extensions[this.name].attributes, r = {}, n = {}, o = {};
997
+ for (const c in s) {
998
+ const b = ka[c] || c.toLowerCase();
999
+ r[b] = s[c];
999
1000
  }
1000
- for (const b in e.attributes) {
1001
- const d = Sa[b] || b.toLowerCase();
1002
- if (s[b] !== void 0) {
1003
- const g = t.accessors[e.attributes[b]], l = xe[g.componentType];
1004
- n[d] = l.name, o[d] = g.normalized === !0;
1001
+ for (const c in e.attributes) {
1002
+ const b = ka[c] || c.toLowerCase();
1003
+ if (s[c] !== void 0) {
1004
+ const g = t.accessors[e.attributes[c]], l = ke[g.componentType];
1005
+ o[b] = l.name, n[b] = g.normalized === !0;
1005
1006
  }
1006
1007
  }
1007
- return a.getDependency("bufferView", i).then(function(b) {
1008
- return new Promise(function(d, g) {
1009
- A.decodeDracoFile(b, function(l) {
1008
+ return a.getDependency("bufferView", i).then(function(c) {
1009
+ return new Promise(function(b, g) {
1010
+ A.decodeDracoFile(c, function(l) {
1010
1011
  for (const h in l.attributes) {
1011
- const f = l.attributes[h], I = o[h];
1012
+ const f = l.attributes[h], I = n[h];
1012
1013
  I !== void 0 && (f.normalized = I);
1013
1014
  }
1014
- d(l);
1015
- }, r, n, K, g);
1015
+ b(l);
1016
+ }, r, o, K, g);
1016
1017
  });
1017
1018
  });
1018
1019
  }
1019
1020
  }
1020
- class pi {
1021
+ class Ii {
1021
1022
  constructor() {
1022
1023
  this.name = S.KHR_TEXTURE_TRANSFORM;
1023
1024
  }
@@ -1025,12 +1026,12 @@ class pi {
1025
1026
  return (a.texCoord !== void 0 && a.texCoord !== e.channel || a.offset !== void 0 || a.rotation !== void 0 || a.scale !== void 0) && (e = e.clone(), a.texCoord !== void 0 && (e.channel = a.texCoord), a.offset !== void 0 && e.offset.fromArray(a.offset), a.rotation !== void 0 && (e.rotation = a.rotation), a.scale !== void 0 && e.repeat.fromArray(a.scale), e.needsUpdate = !0), e;
1026
1027
  }
1027
1028
  }
1028
- class Ei {
1029
+ class mi {
1029
1030
  constructor() {
1030
1031
  this.name = S.KHR_MESH_QUANTIZATION;
1031
1032
  }
1032
1033
  }
1033
- class Ft extends SA {
1034
+ class vt extends xA {
1034
1035
  constructor(e, a, t, A) {
1035
1036
  super(e, a, t, A);
1036
1037
  }
@@ -1040,52 +1041,52 @@ class Ft extends SA {
1040
1041
  return a;
1041
1042
  }
1042
1043
  interpolate_(e, a, t, A) {
1043
- const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, o = 2 * r, n = 3 * r, b = A - a, d = (t - a) / b, g = d * d, l = g * d, h = e * n, f = h - n, I = -2 * l + 3 * g, m = l - g, u = 1 - I, C = m - g + d;
1044
+ const i = this.resultBuffer, s = this.sampleValues, r = this.valueSize, n = 2 * r, o = 3 * r, c = A - a, b = (t - a) / c, g = b * b, l = g * b, h = e * o, f = h - o, I = -2 * l + 3 * g, m = l - g, u = 1 - I, C = m - g + b;
1044
1045
  for (let B = 0; B !== r; B++) {
1045
- const w = s[f + B + r], k = s[f + B + o] * b, y = s[h + B + r], p = s[h + B] * b;
1046
+ const w = s[f + B + r], k = s[f + B + n] * c, y = s[h + B + r], p = s[h + B] * c;
1046
1047
  i[B] = u * w + C * k + I * y + m * p;
1047
1048
  }
1048
1049
  return i;
1049
1050
  }
1050
1051
  }
1051
- const Qi = new pt();
1052
- class yi extends Ft {
1052
+ const Bi = new Ct();
1053
+ class Ci extends vt {
1053
1054
  interpolate_(e, a, t, A) {
1054
1055
  const i = super.interpolate_(e, a, t, A);
1055
- return Qi.fromArray(i).normalize().toArray(i), i;
1056
+ return Bi.fromArray(i).normalize().toArray(i), i;
1056
1057
  }
1057
1058
  }
1058
- const J = { FLOAT: 5126, FLOAT_MAT3: 35675, FLOAT_MAT4: 35676, FLOAT_VEC2: 35664, FLOAT_VEC3: 35665, FLOAT_VEC4: 35666, LINEAR: 9729, REPEAT: 10497, SAMPLER_2D: 35678, POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6, UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123 }, xe = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, $a = { 9728: v, 9729: Be, 9984: EA, 9985: QA, 9986: yA, 9987: $e }, et = { 33071: wA, 33648: kA, 10497: ka }, na = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, Sa = { POSITION: "position", NORMAL: "normal", TANGENT: "tangent", TEXCOORD_0: "uv", TEXCOORD_1: "uv1", TEXCOORD_2: "uv2", TEXCOORD_3: "uv3", COLOR_0: "color", WEIGHTS_0: "skinWeight", JOINTS_0: "skinIndex" }, oe = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, wi = { CUBICSPLINE: void 0, LINEAR: yt, STEP: xA }, ki = "OPAQUE", xi = "MASK", ji = "BLEND";
1059
- function fe(c, e, a) {
1060
- for (const t in a.extensions) c[t] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[t] = a.extensions[t]);
1059
+ const J = { POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6 }, ke = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, Xa = { 9728: v, 9729: me, 9984: dA, 9985: bA, 9986: cA, 9987: Xe }, Za = { 33071: lA, 33648: hA, 10497: Qa }, ia = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, ka = { POSITION: "position", NORMAL: "normal", TANGENT: "tangent", TEXCOORD_0: "uv", TEXCOORD_1: "uv1", TEXCOORD_2: "uv2", TEXCOORD_3: "uv3", COLOR_0: "color", WEIGHTS_0: "skinWeight", JOINTS_0: "skinIndex" }, ne = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, pi = { CUBICSPLINE: void 0, LINEAR: Qt, STEP: kA }, Ei = "OPAQUE", Qi = "MASK", yi = "BLEND";
1060
+ function ge(d, e, a) {
1061
+ for (const t in a.extensions) d[t] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[t] = a.extensions[t]);
1061
1062
  }
1062
- function se(c, e) {
1063
- e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(c.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
1063
+ function ie(d, e) {
1064
+ e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(d.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
1064
1065
  }
1065
- function Si(c, e) {
1066
- if (c.updateMorphTargets(), e.weights !== void 0) for (let a = 0, t = e.weights.length; a < t; a++) c.morphTargetInfluences[a] = e.weights[a];
1066
+ function wi(d, e) {
1067
+ if (d.updateMorphTargets(), e.weights !== void 0) for (let a = 0, t = e.weights.length; a < t; a++) d.morphTargetInfluences[a] = e.weights[a];
1067
1068
  if (e.extras && Array.isArray(e.extras.targetNames)) {
1068
1069
  const a = e.extras.targetNames;
1069
- if (c.morphTargetInfluences.length === a.length) {
1070
- c.morphTargetDictionary = {};
1071
- for (let t = 0, A = a.length; t < A; t++) c.morphTargetDictionary[a[t]] = t;
1070
+ if (d.morphTargetInfluences.length === a.length) {
1071
+ d.morphTargetDictionary = {};
1072
+ for (let t = 0, A = a.length; t < A; t++) d.morphTargetDictionary[a[t]] = t;
1072
1073
  } else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1073
1074
  }
1074
1075
  }
1075
- function Di(c) {
1076
+ function ki(d) {
1076
1077
  let e;
1077
- const a = c.extensions && c.extensions[S.KHR_DRACO_MESH_COMPRESSION];
1078
- if (e = a ? "draco:" + a.bufferView + ":" + a.indices + ":" + oa(a.attributes) : c.indices + ":" + oa(c.attributes) + ":" + c.mode, c.targets !== void 0) for (let t = 0, A = c.targets.length; t < A; t++) e += ":" + oa(c.targets[t]);
1078
+ const a = d.extensions && d.extensions[S.KHR_DRACO_MESH_COMPRESSION];
1079
+ if (e = a ? "draco:" + a.bufferView + ":" + a.indices + ":" + sa(a.attributes) : d.indices + ":" + sa(d.attributes) + ":" + d.mode, d.targets !== void 0) for (let t = 0, A = d.targets.length; t < A; t++) e += ":" + sa(d.targets[t]);
1079
1080
  return e;
1080
1081
  }
1081
- function oa(c) {
1082
+ function sa(d) {
1082
1083
  let e = "";
1083
- const a = Object.keys(c).sort();
1084
- for (let t = 0, A = a.length; t < A; t++) e += a[t] + ":" + c[a[t]] + ";";
1084
+ const a = Object.keys(d).sort();
1085
+ for (let t = 0, A = a.length; t < A; t++) e += a[t] + ":" + d[a[t]] + ";";
1085
1086
  return e;
1086
1087
  }
1087
- function Da(c) {
1088
- switch (c) {
1088
+ function xa(d) {
1089
+ switch (d) {
1089
1090
  case Int8Array:
1090
1091
  return 1 / 127;
1091
1092
  case Uint8Array:
@@ -1098,18 +1099,18 @@ function Da(c) {
1098
1099
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1099
1100
  }
1100
1101
  }
1101
- const vi = new Se();
1102
- class Fi {
1102
+ const xi = new xe();
1103
+ class ji {
1103
1104
  constructor(e = {}, a = {}) {
1104
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = a, this.cache = new ZA(), 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 = {};
1105
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = a, this.cache = new VA(), 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 = {};
1105
1106
  let t = !1, A = -1, i = !1, s = -1;
1106
1107
  if (typeof navigator < "u") {
1107
1108
  const r = navigator.userAgent;
1108
1109
  t = /^((?!chrome|android).)*safari/i.test(r) === !0;
1109
- const o = r.match(/Version\/(\d+)/);
1110
- A = t && o ? parseInt(o[1], 10) : -1, i = r.indexOf("Firefox") > -1, s = i ? r.match(/Firefox\/([0-9]+)\./)[1] : -1;
1110
+ const n = r.match(/Version\/(\d+)/);
1111
+ A = t && n ? parseInt(n[1], 10) : -1, i = r.indexOf("Firefox") > -1, s = i ? r.match(/Firefox\/([0-9]+)\./)[1] : -1;
1111
1112
  }
1112
- typeof createImageBitmap > "u" || t && A < 17 || i && s < 98 ? this.textureLoader = new rA(this.options.manager) : this.textureLoader = new nA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Ce(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1113
+ typeof createImageBitmap > "u" || t && A < 17 || i && s < 98 ? this.textureLoader = new sA(this.options.manager) : this.textureLoader = new rA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Be(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1113
1114
  }
1114
1115
  setExtensions(e) {
1115
1116
  this.extensions = e;
@@ -1127,10 +1128,10 @@ class Fi {
1127
1128
  return Promise.all([t.getDependencies("scene"), t.getDependencies("animation"), t.getDependencies("camera")]);
1128
1129
  }).then(function(s) {
1129
1130
  const r = { scene: s[0][A.scene || 0], scenes: s[0], animations: s[1], cameras: s[2], asset: A.asset, parser: t, userData: {} };
1130
- return fe(i, r, A), se(r, A), Promise.all(t._invokeAll(function(o) {
1131
- return o.afterRoot && o.afterRoot(r);
1131
+ return ge(i, r, A), ie(r, A), Promise.all(t._invokeAll(function(n) {
1132
+ return n.afterRoot && n.afterRoot(r);
1132
1133
  })).then(function() {
1133
- for (const o of r.scenes) o.updateMatrixWorld();
1134
+ for (const n of r.scenes) n.updateMatrixWorld();
1134
1135
  e(r);
1135
1136
  });
1136
1137
  }).catch(a);
@@ -1139,7 +1140,7 @@ class Fi {
1139
1140
  const e = this.json.nodes || [], a = this.json.skins || [], t = this.json.meshes || [];
1140
1141
  for (let A = 0, i = a.length; A < i; A++) {
1141
1142
  const s = a[A].joints;
1142
- for (let r = 0, o = s.length; r < o; r++) e[s[r]].isBone = !0;
1143
+ for (let r = 0, n = s.length; r < n; r++) e[s[r]].isBone = !0;
1143
1144
  }
1144
1145
  for (let A = 0, i = e.length; A < i; A++) {
1145
1146
  const s = e[A];
@@ -1152,9 +1153,9 @@ class Fi {
1152
1153
  _getNodeRef(e, a, t) {
1153
1154
  if (e.refs[a] <= 1) return t;
1154
1155
  const A = t.clone(), i = (s, r) => {
1155
- const o = this.associations.get(s);
1156
- o != null && this.associations.set(r, o);
1157
- for (const [n, b] of s.children.entries()) i(b, r.children[n]);
1156
+ const n = this.associations.get(s);
1157
+ n != null && this.associations.set(r, n);
1158
+ for (const [o, c] of s.children.entries()) i(c, r.children[o]);
1158
1159
  };
1159
1160
  return i(t, A), A.name += "_instance_" + e.uses[a]++, A;
1160
1161
  }
@@ -1252,7 +1253,7 @@ class Fi {
1252
1253
  if (a.uri === void 0 && e === 0) return Promise.resolve(this.extensions[S.KHR_BINARY_GLTF].body);
1253
1254
  const A = this.options;
1254
1255
  return new Promise(function(i, s) {
1255
- t.load(Le.resolveURL(a.uri, A.path), i, void 0, function() {
1256
+ t.load(He.resolveURL(a.uri, A.path), i, void 0, function() {
1256
1257
  s(new Error('THREE.GLTFLoader: Failed to load buffer "' + a.uri + '".'));
1257
1258
  });
1258
1259
  });
@@ -1267,24 +1268,24 @@ class Fi {
1267
1268
  loadAccessor(e) {
1268
1269
  const a = this, t = this.json, A = this.json.accessors[e];
1269
1270
  if (A.bufferView === void 0 && A.sparse === void 0) {
1270
- const s = na[A.type], r = xe[A.componentType], o = A.normalized === !0, n = new r(A.count * s);
1271
- return Promise.resolve(new he(n, s, o));
1271
+ const s = ia[A.type], r = ke[A.componentType], n = A.normalized === !0, o = new r(A.count * s);
1272
+ return Promise.resolve(new de(o, s, n));
1272
1273
  }
1273
1274
  const i = [];
1274
1275
  return A.bufferView !== void 0 ? i.push(this.getDependency("bufferView", A.bufferView)) : i.push(null), A.sparse !== void 0 && (i.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1275
- const r = s[0], o = na[A.type], n = xe[A.componentType], b = n.BYTES_PER_ELEMENT, d = b * o, g = A.byteOffset || 0, l = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, h = A.normalized === !0;
1276
+ const r = s[0], n = ia[A.type], o = ke[A.componentType], c = o.BYTES_PER_ELEMENT, b = c * n, g = A.byteOffset || 0, l = A.bufferView !== void 0 ? t.bufferViews[A.bufferView].byteStride : void 0, h = A.normalized === !0;
1276
1277
  let f, I;
1277
- if (l && l !== d) {
1278
+ if (l && l !== b) {
1278
1279
  const m = Math.floor(g / l), u = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + m + ":" + A.count;
1279
1280
  let C = a.cache.get(u);
1280
- C || (f = new n(r, m * l, A.count * l / b), C = new oA(f, l / b), a.cache.add(u, C)), I = new cA(C, o, g % l / b, h);
1281
- } else f = r === null ? new n(A.count * o) : new n(r, g, A.count * o), I = new he(f, o, h);
1281
+ C || (f = new o(r, m * l, A.count * l / c), C = new nA(f, l / c), a.cache.add(u, C)), I = new oA(C, n, g % l / c, h);
1282
+ } else f = r === null ? new o(A.count * n) : new o(r, g, A.count * n), I = new de(f, n, h);
1282
1283
  if (A.sparse !== void 0) {
1283
- const m = na.SCALAR, u = xe[A.sparse.indices.componentType], C = A.sparse.indices.byteOffset || 0, B = A.sparse.values.byteOffset || 0, w = new u(s[1], C, A.sparse.count * m), k = new n(s[2], B, A.sparse.count * o);
1284
- r !== null && (I = new he(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1284
+ const m = ia.SCALAR, u = ke[A.sparse.indices.componentType], C = A.sparse.indices.byteOffset || 0, B = A.sparse.values.byteOffset || 0, w = new u(s[1], C, A.sparse.count * m), k = new o(s[2], B, A.sparse.count * n);
1285
+ r !== null && (I = new de(I.array.slice(), I.itemSize, I.normalized)), I.normalized = !1;
1285
1286
  for (let y = 0, p = w.length; y < p; y++) {
1286
1287
  const Q = w[y];
1287
- if (I.setX(Q, k[y * o]), o >= 2 && I.setY(Q, k[y * o + 1]), o >= 3 && I.setZ(Q, k[y * o + 2]), o >= 4 && I.setW(Q, k[y * o + 3]), o >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1288
+ if (I.setX(Q, k[y * n]), n >= 2 && I.setY(Q, k[y * n + 1]), n >= 3 && I.setZ(Q, k[y * n + 2]), n >= 4 && I.setW(Q, k[y * n + 3]), n >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1288
1289
  }
1289
1290
  I.normalized = h;
1290
1291
  }
@@ -1301,43 +1302,43 @@ class Fi {
1301
1302
  return this.loadTextureImage(e, A, s);
1302
1303
  }
1303
1304
  loadTextureImage(e, a, t) {
1304
- const A = this, i = this.json, s = i.textures[e], r = i.images[a], o = (r.uri || r.bufferView) + ":" + s.sampler;
1305
- if (this.textureCache[o]) return this.textureCache[o];
1306
- const n = this.loadImageSource(a, t).then(function(b) {
1307
- b.flipY = !1, b.name = s.name || r.name || "", b.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (b.name = r.uri);
1308
- const d = (i.samplers || {})[s.sampler] || {};
1309
- return b.magFilter = $a[d.magFilter] || Be, b.minFilter = $a[d.minFilter] || $e, b.wrapS = et[d.wrapS] || ka, b.wrapT = et[d.wrapT] || ka, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== v && b.minFilter !== Be, A.associations.set(b, { textures: e }), b;
1305
+ const A = this, i = this.json, s = i.textures[e], r = i.images[a], n = (r.uri || r.bufferView) + ":" + s.sampler;
1306
+ if (this.textureCache[n]) return this.textureCache[n];
1307
+ const o = this.loadImageSource(a, t).then(function(c) {
1308
+ c.flipY = !1, c.name = s.name || r.name || "", c.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (c.name = r.uri);
1309
+ const b = (i.samplers || {})[s.sampler] || {};
1310
+ return c.magFilter = Xa[b.magFilter] || me, c.minFilter = Xa[b.minFilter] || Xe, c.wrapS = Za[b.wrapS] || Qa, c.wrapT = Za[b.wrapT] || Qa, c.generateMipmaps = !c.isCompressedTexture && c.minFilter !== v && c.minFilter !== me, A.associations.set(c, { textures: e }), c;
1310
1311
  }).catch(function() {
1311
1312
  return null;
1312
1313
  });
1313
- return this.textureCache[o] = n, n;
1314
+ return this.textureCache[n] = o, o;
1314
1315
  }
1315
1316
  loadImageSource(e, a) {
1316
1317
  const t = this, A = this.json, i = this.options;
1317
- if (this.sourceCache[e] !== void 0) return this.sourceCache[e].then((d) => d.clone());
1318
+ if (this.sourceCache[e] !== void 0) return this.sourceCache[e].then((b) => b.clone());
1318
1319
  const s = A.images[e], r = self.URL || self.webkitURL;
1319
- let o = s.uri || "", n = !1;
1320
- if (s.bufferView !== void 0) o = t.getDependency("bufferView", s.bufferView).then(function(d) {
1321
- n = !0;
1322
- const g = new Blob([d], { type: s.mimeType });
1323
- return o = r.createObjectURL(g), o;
1320
+ let n = s.uri || "", o = !1;
1321
+ if (s.bufferView !== void 0) n = t.getDependency("bufferView", s.bufferView).then(function(b) {
1322
+ o = !0;
1323
+ const g = new Blob([b], { type: s.mimeType });
1324
+ return n = r.createObjectURL(g), n;
1324
1325
  });
1325
1326
  else if (s.uri === void 0) throw new Error("THREE.GLTFLoader: Image " + e + " is missing URI and bufferView");
1326
- const b = Promise.resolve(o).then(function(d) {
1327
+ const c = Promise.resolve(n).then(function(b) {
1327
1328
  return new Promise(function(g, l) {
1328
1329
  let h = g;
1329
1330
  a.isImageBitmapLoader === !0 && (h = function(f) {
1330
- const I = new Na(f);
1331
+ const I = new Ua(f);
1331
1332
  I.needsUpdate = !0, g(I);
1332
- }), a.load(Le.resolveURL(d, i.path), h, void 0, l);
1333
+ }), a.load(He.resolveURL(b, i.path), h, void 0, l);
1333
1334
  });
1334
- }).then(function(d) {
1335
+ }).then(function(b) {
1335
1336
  var g;
1336
- return n === !0 && r.revokeObjectURL(o), se(d, s), d.userData.mimeType = s.mimeType || ((g = s.uri).search(/\.jpe?g($|\?)/i) > 0 || g.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : g.search(/\.webp($|\?)/i) > 0 || g.search(/^data\:image\/webp/) === 0 ? "image/webp" : g.search(/\.ktx2($|\?)/i) > 0 || g.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), d;
1337
- }).catch(function(d) {
1338
- throw console.error("THREE.GLTFLoader: Couldn't load texture", o), d;
1337
+ return o === !0 && r.revokeObjectURL(n), ie(b, s), b.userData.mimeType = s.mimeType || ((g = s.uri).search(/\.jpe?g($|\?)/i) > 0 || g.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : g.search(/\.webp($|\?)/i) > 0 || g.search(/^data\:image\/webp/) === 0 ? "image/webp" : g.search(/\.ktx2($|\?)/i) > 0 || g.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png"), b;
1338
+ }).catch(function(b) {
1339
+ throw console.error("THREE.GLTFLoader: Couldn't load texture", n), b;
1339
1340
  });
1340
- return this.sourceCache[e] = b, b;
1341
+ return this.sourceCache[e] = c, c;
1341
1342
  }
1342
1343
  assignTexture(e, a, t, A) {
1343
1344
  const i = this;
@@ -1346,8 +1347,8 @@ class Fi {
1346
1347
  if (t.texCoord !== void 0 && t.texCoord > 0 && ((s = s.clone()).channel = t.texCoord), i.extensions[S.KHR_TEXTURE_TRANSFORM]) {
1347
1348
  const r = t.extensions !== void 0 ? t.extensions[S.KHR_TEXTURE_TRANSFORM] : void 0;
1348
1349
  if (r) {
1349
- const o = i.associations.get(s);
1350
- s = i.extensions[S.KHR_TEXTURE_TRANSFORM].extendTexture(s, r), i.associations.set(s, o);
1350
+ const n = i.associations.get(s);
1351
+ s = i.extensions[S.KHR_TEXTURE_TRANSFORM].extendTexture(s, r), i.associations.set(s, n);
1351
1352
  }
1352
1353
  }
1353
1354
  return A !== void 0 && (s.colorSpace = A), e[a] = s, s;
@@ -1359,107 +1360,107 @@ class Fi {
1359
1360
  const A = a.attributes.tangent === void 0, i = a.attributes.color !== void 0, s = a.attributes.normal === void 0;
1360
1361
  if (e.isPoints) {
1361
1362
  const r = "PointsMaterial:" + t.uuid;
1362
- let o = this.cache.get(r);
1363
- o || (o = new bA(), ta.prototype.copy.call(o, t), o.color.copy(t.color), o.map = t.map, o.sizeAttenuation = !1, this.cache.add(r, o)), t = o;
1363
+ let n = this.cache.get(r);
1364
+ n || (n = new gA(), ea.prototype.copy.call(n, t), n.color.copy(t.color), n.map = t.map, n.sizeAttenuation = !1, this.cache.add(r, n)), t = n;
1364
1365
  } else if (e.isLine) {
1365
1366
  const r = "LineBasicMaterial:" + t.uuid;
1366
- let o = this.cache.get(r);
1367
- o || (o = new It(), ta.prototype.copy.call(o, t), o.color.copy(t.color), o.map = t.map, this.cache.add(r, o)), t = o;
1367
+ let n = this.cache.get(r);
1368
+ n || (n = new ut(), ea.prototype.copy.call(n, t), n.color.copy(t.color), n.map = t.map, this.cache.add(r, n)), t = n;
1368
1369
  }
1369
1370
  if (A || i || s) {
1370
1371
  let r = "ClonedMaterial:" + t.uuid + ":";
1371
1372
  A && (r += "derivative-tangents:"), i && (r += "vertex-colors:"), s && (r += "flat-shading:");
1372
- let o = this.cache.get(r);
1373
- o || (o = t.clone(), i && (o.vertexColors = !0), s && (o.flatShading = !0), A && (o.normalScale && (o.normalScale.y *= -1), o.clearcoatNormalScale && (o.clearcoatNormalScale.y *= -1)), this.cache.add(r, o), this.associations.set(o, this.associations.get(t))), t = o;
1373
+ let n = this.cache.get(r);
1374
+ n || (n = t.clone(), i && (n.vertexColors = !0), s && (n.flatShading = !0), A && (n.normalScale && (n.normalScale.y *= -1), n.clearcoatNormalScale && (n.clearcoatNormalScale.y *= -1)), this.cache.add(r, n), this.associations.set(n, this.associations.get(t))), t = n;
1374
1375
  }
1375
1376
  e.material = t;
1376
1377
  }
1377
1378
  getMaterialType() {
1378
- return Ha;
1379
+ return Ta;
1379
1380
  }
1380
1381
  loadMaterial(e) {
1381
1382
  const a = this, t = this.json, A = this.extensions, i = t.materials[e];
1382
1383
  let s;
1383
- const r = {}, o = [];
1384
+ const r = {}, n = [];
1384
1385
  if ((i.extensions || {})[S.KHR_MATERIALS_UNLIT]) {
1385
- const b = A[S.KHR_MATERIALS_UNLIT];
1386
- s = b.getMaterialType(), o.push(b.extendParams(r, i, a));
1386
+ const c = A[S.KHR_MATERIALS_UNLIT];
1387
+ s = c.getMaterialType(), n.push(c.extendParams(r, i, a));
1387
1388
  } else {
1388
- const b = i.pbrMetallicRoughness || {};
1389
- if (r.color = new le(1, 1, 1), r.opacity = 1, Array.isArray(b.baseColorFactor)) {
1390
- const d = b.baseColorFactor;
1391
- r.color.setRGB(d[0], d[1], d[2], K), r.opacity = d[3];
1389
+ const c = i.pbrMetallicRoughness || {};
1390
+ if (r.color = new he(1, 1, 1), r.opacity = 1, Array.isArray(c.baseColorFactor)) {
1391
+ const b = c.baseColorFactor;
1392
+ r.color.setRGB(b[0], b[1], b[2], K), r.opacity = b[3];
1392
1393
  }
1393
- b.baseColorTexture !== void 0 && o.push(a.assignTexture(r, "map", b.baseColorTexture, re)), r.metalness = b.metallicFactor !== void 0 ? b.metallicFactor : 1, r.roughness = b.roughnessFactor !== void 0 ? b.roughnessFactor : 1, b.metallicRoughnessTexture !== void 0 && (o.push(a.assignTexture(r, "metalnessMap", b.metallicRoughnessTexture)), o.push(a.assignTexture(r, "roughnessMap", b.metallicRoughnessTexture))), s = this._invokeOne(function(d) {
1394
- return d.getMaterialType && d.getMaterialType(e);
1395
- }), o.push(Promise.all(this._invokeAll(function(d) {
1396
- return d.extendMaterialParams && d.extendMaterialParams(e, r);
1394
+ c.baseColorTexture !== void 0 && n.push(a.assignTexture(r, "map", c.baseColorTexture, se)), r.metalness = c.metallicFactor !== void 0 ? c.metallicFactor : 1, r.roughness = c.roughnessFactor !== void 0 ? c.roughnessFactor : 1, c.metallicRoughnessTexture !== void 0 && (n.push(a.assignTexture(r, "metalnessMap", c.metallicRoughnessTexture)), n.push(a.assignTexture(r, "roughnessMap", c.metallicRoughnessTexture))), s = this._invokeOne(function(b) {
1395
+ return b.getMaterialType && b.getMaterialType(e);
1396
+ }), n.push(Promise.all(this._invokeAll(function(b) {
1397
+ return b.extendMaterialParams && b.extendMaterialParams(e, r);
1397
1398
  })));
1398
1399
  }
1399
- i.doubleSided === !0 && (r.side = dA);
1400
- const n = i.alphaMode || ki;
1401
- if (n === ji ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, n === xi && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== Ue && (o.push(a.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Ct(1, 1), i.normalTexture.scale !== void 0)) {
1402
- const b = i.normalTexture.scale;
1403
- r.normalScale.set(b, b);
1400
+ i.doubleSided === !0 && (r.side = fA);
1401
+ const o = i.alphaMode || Ei;
1402
+ if (o === yi ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, o === Qi && (r.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== Me && (n.push(a.assignTexture(r, "normalMap", i.normalTexture)), r.normalScale = new Bt(1, 1), i.normalTexture.scale !== void 0)) {
1403
+ const c = i.normalTexture.scale;
1404
+ r.normalScale.set(c, c);
1404
1405
  }
1405
- if (i.occlusionTexture !== void 0 && s !== Ue && (o.push(a.assignTexture(r, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (r.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && s !== Ue) {
1406
- const b = i.emissiveFactor;
1407
- r.emissive = new le().setRGB(b[0], b[1], b[2], K);
1406
+ if (i.occlusionTexture !== void 0 && s !== Me && (n.push(a.assignTexture(r, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (r.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && s !== Me) {
1407
+ const c = i.emissiveFactor;
1408
+ r.emissive = new he().setRGB(c[0], c[1], c[2], K);
1408
1409
  }
1409
- return i.emissiveTexture !== void 0 && s !== Ue && o.push(a.assignTexture(r, "emissiveMap", i.emissiveTexture, re)), Promise.all(o).then(function() {
1410
- const b = new s(r);
1411
- return i.name && (b.name = i.name), se(b, i), a.associations.set(b, { materials: e }), i.extensions && fe(A, b, i), b;
1410
+ return i.emissiveTexture !== void 0 && s !== Me && n.push(a.assignTexture(r, "emissiveMap", i.emissiveTexture, se)), Promise.all(n).then(function() {
1411
+ const c = new s(r);
1412
+ return i.name && (c.name = i.name), ie(c, i), a.associations.set(c, { materials: e }), i.extensions && ge(A, c, i), c;
1412
1413
  });
1413
1414
  }
1414
1415
  createUniqueName(e) {
1415
- const a = hA.sanitizeNodeName(e || "");
1416
+ const a = uA.sanitizeNodeName(e || "");
1416
1417
  return a in this.nodeNamesUsed ? a + "_" + ++this.nodeNamesUsed[a] : (this.nodeNamesUsed[a] = 0, a);
1417
1418
  }
1418
1419
  loadGeometries(e) {
1419
1420
  const a = this, t = this.extensions, A = this.primitiveCache;
1420
1421
  function i(r) {
1421
- return t[S.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(r, a).then(function(o) {
1422
- return at(o, r, a);
1422
+ return t[S.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(r, a).then(function(n) {
1423
+ return $a(n, r, a);
1423
1424
  });
1424
1425
  }
1425
1426
  const s = [];
1426
- for (let r = 0, o = e.length; r < o; r++) {
1427
- const n = e[r], b = Di(n), d = A[b];
1428
- if (d) s.push(d.promise);
1427
+ for (let r = 0, n = e.length; r < n; r++) {
1428
+ const o = e[r], c = ki(o), b = A[c];
1429
+ if (b) s.push(b.promise);
1429
1430
  else {
1430
1431
  let g;
1431
- g = n.extensions && n.extensions[S.KHR_DRACO_MESH_COMPRESSION] ? i(n) : at(new ea(), n, a), A[b] = { primitive: n, promise: g }, s.push(g);
1432
+ g = o.extensions && o.extensions[S.KHR_DRACO_MESH_COMPRESSION] ? i(o) : $a(new Ze(), o, a), A[c] = { primitive: o, promise: g }, s.push(g);
1432
1433
  }
1433
1434
  }
1434
1435
  return Promise.all(s);
1435
1436
  }
1436
1437
  loadMesh(e) {
1437
1438
  const a = this, t = this.json, A = this.extensions, i = t.meshes[e], s = i.primitives, r = [];
1438
- for (let n = 0, b = s.length; n < b; n++) {
1439
- const d = s[n].material === void 0 ? ((o = this.cache).DefaultMaterial === void 0 && (o.DefaultMaterial = new Ha({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: Ze })), o.DefaultMaterial) : this.getDependency("material", s[n].material);
1440
- r.push(d);
1439
+ for (let o = 0, c = s.length; o < c; o++) {
1440
+ const b = s[o].material === void 0 ? ((n = this.cache).DefaultMaterial === void 0 && (n.DefaultMaterial = new Ta({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: We })), n.DefaultMaterial) : this.getDependency("material", s[o].material);
1441
+ r.push(b);
1441
1442
  }
1442
- var o;
1443
- return r.push(a.loadGeometries(s)), Promise.all(r).then(function(n) {
1444
- const b = n.slice(0, n.length - 1), d = n[n.length - 1], g = [];
1445
- for (let h = 0, f = d.length; h < f; h++) {
1446
- const I = d[h], m = s[h];
1443
+ var n;
1444
+ return r.push(a.loadGeometries(s)), Promise.all(r).then(function(o) {
1445
+ const c = o.slice(0, o.length - 1), b = o[o.length - 1], g = [];
1446
+ for (let h = 0, f = b.length; h < f; h++) {
1447
+ const I = b[h], m = s[h];
1447
1448
  let u;
1448
- const C = b[h];
1449
- if (m.mode === J.TRIANGLES || m.mode === J.TRIANGLE_STRIP || m.mode === J.TRIANGLE_FAN || m.mode === void 0) u = i.isSkinnedMesh === !0 ? new lA(I, C) : new xa(I, C), u.isSkinnedMesh === !0 && u.normalizeSkinWeights(), m.mode === J.TRIANGLE_STRIP ? u.geometry = Za(u.geometry, Bt) : m.mode === J.TRIANGLE_FAN && (u.geometry = Za(u.geometry, ya));
1450
- else if (m.mode === J.LINES) u = new mt(I, C);
1451
- else if (m.mode === J.LINE_STRIP) u = new gA(I, C);
1452
- else if (m.mode === J.LINE_LOOP) u = new fA(I, C);
1449
+ const C = c[h];
1450
+ if (m.mode === J.TRIANGLES || m.mode === J.TRIANGLE_STRIP || m.mode === J.TRIANGLE_FAN || m.mode === void 0) u = i.isSkinnedMesh === !0 ? new IA(I, C) : new ya(I, C), u.isSkinnedMesh === !0 && u.normalizeSkinWeights(), m.mode === J.TRIANGLE_STRIP ? u.geometry = Ya(u.geometry, mt) : m.mode === J.TRIANGLE_FAN && (u.geometry = Ya(u.geometry, pa));
1451
+ else if (m.mode === J.LINES) u = new It(I, C);
1452
+ else if (m.mode === J.LINE_STRIP) u = new mA(I, C);
1453
+ else if (m.mode === J.LINE_LOOP) u = new BA(I, C);
1453
1454
  else {
1454
1455
  if (m.mode !== J.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + m.mode);
1455
- u = new uA(I, C);
1456
+ u = new CA(I, C);
1456
1457
  }
1457
- Object.keys(u.geometry.morphAttributes).length > 0 && Si(u, i), u.name = a.createUniqueName(i.name || "mesh_" + e), se(u, i), m.extensions && fe(A, u, m), a.assignFinalMaterial(u), g.push(u);
1458
+ Object.keys(u.geometry.morphAttributes).length > 0 && wi(u, i), u.name = a.createUniqueName(i.name || "mesh_" + e), ie(u, i), m.extensions && ge(A, u, m), a.assignFinalMaterial(u), g.push(u);
1458
1459
  }
1459
1460
  for (let h = 0, f = g.length; h < f; h++) a.associations.set(g[h], { meshes: e, primitives: h });
1460
- if (g.length === 1) return i.extensions && fe(A, g[0], i), g[0];
1461
- const l = new Aa();
1462
- i.extensions && fe(A, l, i), a.associations.set(l, { meshes: e });
1461
+ if (g.length === 1) return i.extensions && ge(A, g[0], i), g[0];
1462
+ const l = new aa();
1463
+ i.extensions && ge(A, l, i), a.associations.set(l, { meshes: e });
1463
1464
  for (let h = 0, f = g.length; h < f; h++) l.add(g[h]);
1464
1465
  return l;
1465
1466
  });
@@ -1467,33 +1468,33 @@ class Fi {
1467
1468
  loadCamera(e) {
1468
1469
  let a;
1469
1470
  const t = this.json.cameras[e], A = t[t.type];
1470
- if (A) return t.type === "perspective" ? a = new IA(mA.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : t.type === "orthographic" && (a = new Qt(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), t.name && (a.name = this.createUniqueName(t.name)), se(a, t), Promise.resolve(a);
1471
+ if (A) return t.type === "perspective" ? a = new pA(EA.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : t.type === "orthographic" && (a = new Et(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), t.name && (a.name = this.createUniqueName(t.name)), ie(a, t), Promise.resolve(a);
1471
1472
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1472
1473
  }
1473
1474
  loadSkin(e) {
1474
1475
  const a = this.json.skins[e], t = [];
1475
1476
  for (let A = 0, i = a.joints.length; A < i; A++) t.push(this._loadNodeShallow(a.joints[A]));
1476
1477
  return a.inverseBindMatrices !== void 0 ? t.push(this.getDependency("accessor", a.inverseBindMatrices)) : t.push(null), Promise.all(t).then(function(A) {
1477
- const i = A.pop(), s = A, r = [], o = [];
1478
- for (let n = 0, b = s.length; n < b; n++) {
1479
- const d = s[n];
1480
- if (d) {
1481
- r.push(d);
1482
- const g = new Se();
1483
- i !== null && g.fromArray(i.array, 16 * n), o.push(g);
1484
- } else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', a.joints[n]);
1478
+ const i = A.pop(), s = A, r = [], n = [];
1479
+ for (let o = 0, c = s.length; o < c; o++) {
1480
+ const b = s[o];
1481
+ if (b) {
1482
+ r.push(b);
1483
+ const g = new xe();
1484
+ i !== null && g.fromArray(i.array, 16 * o), n.push(g);
1485
+ } else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', a.joints[o]);
1485
1486
  }
1486
- return new BA(r, o);
1487
+ return new QA(r, n);
1487
1488
  });
1488
1489
  }
1489
1490
  loadAnimation(e) {
1490
- const a = this.json, t = this, A = a.animations[e], i = A.name ? A.name : "animation_" + e, s = [], r = [], o = [], n = [], b = [];
1491
- for (let d = 0, g = A.channels.length; d < g; d++) {
1492
- const l = A.channels[d], h = A.samplers[l.sampler], f = l.target, I = f.node, m = A.parameters !== void 0 ? A.parameters[h.input] : h.input, u = A.parameters !== void 0 ? A.parameters[h.output] : h.output;
1493
- f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", m)), o.push(this.getDependency("accessor", u)), n.push(h), b.push(f));
1491
+ const a = this.json, t = this, A = a.animations[e], i = A.name ? A.name : "animation_" + e, s = [], r = [], n = [], o = [], c = [];
1492
+ for (let b = 0, g = A.channels.length; b < g; b++) {
1493
+ const l = A.channels[b], h = A.samplers[l.sampler], f = l.target, I = f.node, m = A.parameters !== void 0 ? A.parameters[h.input] : h.input, u = A.parameters !== void 0 ? A.parameters[h.output] : h.output;
1494
+ f.node !== void 0 && (s.push(this.getDependency("node", I)), r.push(this.getDependency("accessor", m)), n.push(this.getDependency("accessor", u)), o.push(h), c.push(f));
1494
1495
  }
1495
- return Promise.all([Promise.all(s), Promise.all(r), Promise.all(o), Promise.all(n), Promise.all(b)]).then(function(d) {
1496
- const g = d[0], l = d[1], h = d[2], f = d[3], I = d[4], m = [];
1496
+ return Promise.all([Promise.all(s), Promise.all(r), Promise.all(n), Promise.all(o), Promise.all(c)]).then(function(b) {
1497
+ const g = b[0], l = b[1], h = b[2], f = b[3], I = b[4], m = [];
1497
1498
  for (let u = 0, C = g.length; u < C; u++) {
1498
1499
  const B = g[u], w = l[u], k = h[u], y = f[u], p = I[u];
1499
1500
  if (B === void 0) continue;
@@ -1501,7 +1502,7 @@ class Fi {
1501
1502
  const Q = t._createAnimationTracks(B, w, k, y, p);
1502
1503
  if (Q) for (let x = 0; x < Q.length; x++) m.push(Q[x]);
1503
1504
  }
1504
- return new CA(i, void 0, m);
1505
+ return new yA(i, void 0, m);
1505
1506
  });
1506
1507
  }
1507
1508
  createNodeMesh(e) {
@@ -1509,84 +1510,84 @@ class Fi {
1509
1510
  return A.mesh === void 0 ? null : t.getDependency("mesh", A.mesh).then(function(i) {
1510
1511
  const s = t._getNodeRef(t.meshCache, A.mesh, i);
1511
1512
  return A.weights !== void 0 && s.traverse(function(r) {
1512
- if (r.isMesh) for (let o = 0, n = A.weights.length; o < n; o++) r.morphTargetInfluences[o] = A.weights[o];
1513
+ if (r.isMesh) for (let n = 0, o = A.weights.length; n < o; n++) r.morphTargetInfluences[n] = A.weights[n];
1513
1514
  }), s;
1514
1515
  });
1515
1516
  }
1516
1517
  loadNode(e) {
1517
1518
  const a = this, t = this.json.nodes[e], A = a._loadNodeShallow(e), i = [], s = t.children || [];
1518
- for (let o = 0, n = s.length; o < n; o++) i.push(a.getDependency("node", s[o]));
1519
+ for (let n = 0, o = s.length; n < o; n++) i.push(a.getDependency("node", s[n]));
1519
1520
  const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1520
- return Promise.all([A, Promise.all(i), r]).then(function(o) {
1521
- const n = o[0], b = o[1], d = o[2];
1522
- d !== null && n.traverse(function(g) {
1523
- g.isSkinnedMesh && g.bind(d, vi);
1521
+ return Promise.all([A, Promise.all(i), r]).then(function(n) {
1522
+ const o = n[0], c = n[1], b = n[2];
1523
+ b !== null && o.traverse(function(g) {
1524
+ g.isSkinnedMesh && g.bind(b, xi);
1524
1525
  });
1525
- for (let g = 0, l = b.length; g < l; g++) n.add(b[g]);
1526
- return n;
1526
+ for (let g = 0, l = c.length; g < l; g++) o.add(c[g]);
1527
+ return o;
1527
1528
  });
1528
1529
  }
1529
1530
  _loadNodeShallow(e) {
1530
1531
  const a = this.json, t = this.extensions, A = this;
1531
1532
  if (this.nodeCache[e] !== void 0) return this.nodeCache[e];
1532
- const i = a.nodes[e], s = i.name ? A.createUniqueName(i.name) : "", r = [], o = A._invokeOne(function(n) {
1533
- return n.createNodeMesh && n.createNodeMesh(e);
1533
+ const i = a.nodes[e], s = i.name ? A.createUniqueName(i.name) : "", r = [], n = A._invokeOne(function(o) {
1534
+ return o.createNodeMesh && o.createNodeMesh(e);
1534
1535
  });
1535
- return o && r.push(o), i.camera !== void 0 && r.push(A.getDependency("camera", i.camera).then(function(n) {
1536
- return A._getNodeRef(A.cameraCache, i.camera, n);
1537
- })), A._invokeAll(function(n) {
1538
- return n.createNodeAttachment && n.createNodeAttachment(e);
1539
- }).forEach(function(n) {
1540
- r.push(n);
1541
- }), this.nodeCache[e] = Promise.all(r).then(function(n) {
1542
- let b;
1543
- if (b = i.isBone === !0 ? new pA() : n.length > 1 ? new Aa() : n.length === 1 ? n[0] : new Et(), b !== n[0]) for (let d = 0, g = n.length; d < g; d++) b.add(n[d]);
1544
- if (i.name && (b.userData.name = i.name, b.name = s), se(b, i), i.extensions && fe(t, b, i), i.matrix !== void 0) {
1545
- const d = new Se();
1546
- d.fromArray(i.matrix), b.applyMatrix4(d);
1547
- } else i.translation !== void 0 && b.position.fromArray(i.translation), i.rotation !== void 0 && b.quaternion.fromArray(i.rotation), i.scale !== void 0 && b.scale.fromArray(i.scale);
1548
- return A.associations.has(b) || A.associations.set(b, {}), A.associations.get(b).nodes = e, b;
1536
+ return n && r.push(n), i.camera !== void 0 && r.push(A.getDependency("camera", i.camera).then(function(o) {
1537
+ return A._getNodeRef(A.cameraCache, i.camera, o);
1538
+ })), A._invokeAll(function(o) {
1539
+ return o.createNodeAttachment && o.createNodeAttachment(e);
1540
+ }).forEach(function(o) {
1541
+ r.push(o);
1542
+ }), this.nodeCache[e] = Promise.all(r).then(function(o) {
1543
+ let c;
1544
+ if (c = i.isBone === !0 ? new wA() : o.length > 1 ? new aa() : o.length === 1 ? o[0] : new pt(), c !== o[0]) for (let b = 0, g = o.length; b < g; b++) c.add(o[b]);
1545
+ if (i.name && (c.userData.name = i.name, c.name = s), ie(c, i), i.extensions && ge(t, c, i), i.matrix !== void 0) {
1546
+ const b = new xe();
1547
+ b.fromArray(i.matrix), c.applyMatrix4(b);
1548
+ } else i.translation !== void 0 && c.position.fromArray(i.translation), i.rotation !== void 0 && c.quaternion.fromArray(i.rotation), i.scale !== void 0 && c.scale.fromArray(i.scale);
1549
+ return A.associations.has(c) || A.associations.set(c, {}), A.associations.get(c).nodes = e, c;
1549
1550
  }), this.nodeCache[e];
1550
1551
  }
1551
1552
  loadScene(e) {
1552
- const a = this.extensions, t = this.json.scenes[e], A = this, i = new Aa();
1553
- t.name && (i.name = A.createUniqueName(t.name)), se(i, t), t.extensions && fe(a, i, t);
1553
+ const a = this.extensions, t = this.json.scenes[e], A = this, i = new aa();
1554
+ t.name && (i.name = A.createUniqueName(t.name)), ie(i, t), t.extensions && ge(a, i, t);
1554
1555
  const s = t.nodes || [], r = [];
1555
- for (let o = 0, n = s.length; o < n; o++) r.push(A.getDependency("node", s[o]));
1556
- return Promise.all(r).then(function(o) {
1557
- for (let n = 0, b = o.length; n < b; n++) i.add(o[n]);
1558
- return A.associations = ((n) => {
1559
- const b = /* @__PURE__ */ new Map();
1560
- for (const [d, g] of A.associations) (d instanceof ta || d instanceof Na) && b.set(d, g);
1561
- return n.traverse((d) => {
1562
- const g = A.associations.get(d);
1563
- g != null && b.set(d, g);
1564
- }), b;
1556
+ for (let n = 0, o = s.length; n < o; n++) r.push(A.getDependency("node", s[n]));
1557
+ return Promise.all(r).then(function(n) {
1558
+ for (let o = 0, c = n.length; o < c; o++) i.add(n[o]);
1559
+ return A.associations = ((o) => {
1560
+ const c = /* @__PURE__ */ new Map();
1561
+ for (const [b, g] of A.associations) (b instanceof ea || b instanceof Ua) && c.set(b, g);
1562
+ return o.traverse((b) => {
1563
+ const g = A.associations.get(b);
1564
+ g != null && c.set(b, g);
1565
+ }), c;
1565
1566
  })(i), i;
1566
1567
  });
1567
1568
  }
1568
1569
  _createAnimationTracks(e, a, t, A, i) {
1569
- const s = [], r = e.name ? e.name : e.uuid, o = [];
1570
- let n;
1571
- switch (oe[i.path] === oe.weights ? e.traverse(function(g) {
1572
- g.morphTargetInfluences && o.push(g.name ? g.name : g.uuid);
1573
- }) : o.push(r), oe[i.path]) {
1574
- case oe.weights:
1575
- n = Oa;
1570
+ const s = [], r = e.name ? e.name : e.uuid, n = [];
1571
+ let o;
1572
+ switch (ne[i.path] === ne.weights ? e.traverse(function(g) {
1573
+ g.morphTargetInfluences && n.push(g.name ? g.name : g.uuid);
1574
+ }) : n.push(r), ne[i.path]) {
1575
+ case ne.weights:
1576
+ o = Ha;
1576
1577
  break;
1577
- case oe.rotation:
1578
- n = Ja;
1578
+ case ne.rotation:
1579
+ o = Na;
1579
1580
  break;
1580
- case oe.position:
1581
- case oe.scale:
1582
- n = La;
1581
+ case ne.position:
1582
+ case ne.scale:
1583
+ o = Ga;
1583
1584
  break;
1584
1585
  default:
1585
- t.itemSize === 1 ? n = Oa : n = La;
1586
+ t.itemSize === 1 ? o = Ha : o = Ga;
1586
1587
  }
1587
- const b = A.interpolation !== void 0 ? wi[A.interpolation] : yt, d = this._getArrayFromAccessor(t);
1588
- for (let g = 0, l = o.length; g < l; g++) {
1589
- const h = new n(o[g] + "." + oe[i.path], a.array, d, b);
1588
+ const c = A.interpolation !== void 0 ? pi[A.interpolation] : Qt, b = this._getArrayFromAccessor(t);
1589
+ for (let g = 0, l = n.length; g < l; g++) {
1590
+ const h = new o(n[g] + "." + ne[i.path], a.array, b, c);
1590
1591
  A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(h), s.push(h);
1591
1592
  }
1592
1593
  return s;
@@ -1594,7 +1595,7 @@ class Fi {
1594
1595
  _getArrayFromAccessor(e) {
1595
1596
  let a = e.array;
1596
1597
  if (e.normalized) {
1597
- const t = Da(a.constructor), A = new Float32Array(a.length);
1598
+ const t = xa(a.constructor), A = new Float32Array(a.length);
1598
1599
  for (let i = 0, s = a.length; i < s; i++) A[i] = a[i] * t;
1599
1600
  a = A;
1600
1601
  }
@@ -1602,92 +1603,92 @@ class Fi {
1602
1603
  }
1603
1604
  _createCubicSplineTrackInterpolant(e) {
1604
1605
  e.createInterpolant = function(a) {
1605
- return new (this instanceof Ja ? yi : Ft)(this.times, this.values, this.getValueSize() / 3, a);
1606
+ return new (this instanceof Na ? Ci : vt)(this.times, this.values, this.getValueSize() / 3, a);
1606
1607
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1607
1608
  }
1608
1609
  }
1609
- function at(c, e, a) {
1610
+ function $a(d, e, a) {
1610
1611
  const t = e.attributes, A = [];
1611
1612
  function i(s, r) {
1612
- return a.getDependency("accessor", s).then(function(o) {
1613
- c.setAttribute(r, o);
1613
+ return a.getDependency("accessor", s).then(function(n) {
1614
+ d.setAttribute(r, n);
1614
1615
  });
1615
1616
  }
1616
1617
  for (const s in t) {
1617
- const r = Sa[s] || s.toLowerCase();
1618
- r in c.attributes || A.push(i(t[s], r));
1618
+ const r = ka[s] || s.toLowerCase();
1619
+ r in d.attributes || A.push(i(t[s], r));
1619
1620
  }
1620
- if (e.indices !== void 0 && !c.index) {
1621
+ if (e.indices !== void 0 && !d.index) {
1621
1622
  const s = a.getDependency("accessor", e.indices).then(function(r) {
1622
- c.setIndex(r);
1623
+ d.setIndex(r);
1623
1624
  });
1624
1625
  A.push(s);
1625
1626
  }
1626
- return ja.workingColorSpace !== K && "COLOR_0" in t && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ja.workingColorSpace}" not supported.`), se(c, e), function(s, r, o) {
1627
- const n = r.attributes, b = new Ra();
1628
- if (n.POSITION === void 0) return;
1627
+ return wa.workingColorSpace !== K && "COLOR_0" in t && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${wa.workingColorSpace}" not supported.`), ie(d, e), function(s, r, n) {
1628
+ const o = r.attributes, c = new Da();
1629
+ if (o.POSITION === void 0) return;
1629
1630
  {
1630
- const l = o.json.accessors[n.POSITION], h = l.min, f = l.max;
1631
+ const l = n.json.accessors[o.POSITION], h = l.min, f = l.max;
1631
1632
  if (h === void 0 || f === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1632
- if (b.set(new D(h[0], h[1], h[2]), new D(f[0], f[1], f[2])), l.normalized) {
1633
- const I = Da(xe[l.componentType]);
1634
- b.min.multiplyScalar(I), b.max.multiplyScalar(I);
1633
+ if (c.set(new D(h[0], h[1], h[2]), new D(f[0], f[1], f[2])), l.normalized) {
1634
+ const I = xa(ke[l.componentType]);
1635
+ c.min.multiplyScalar(I), c.max.multiplyScalar(I);
1635
1636
  }
1636
1637
  }
1637
- const d = r.targets;
1638
- if (d !== void 0) {
1638
+ const b = r.targets;
1639
+ if (b !== void 0) {
1639
1640
  const l = new D(), h = new D();
1640
- for (let f = 0, I = d.length; f < I; f++) {
1641
- const m = d[f];
1641
+ for (let f = 0, I = b.length; f < I; f++) {
1642
+ const m = b[f];
1642
1643
  if (m.POSITION !== void 0) {
1643
- const u = o.json.accessors[m.POSITION], C = u.min, B = u.max;
1644
+ const u = n.json.accessors[m.POSITION], C = u.min, B = u.max;
1644
1645
  if (C !== void 0 && B !== void 0) {
1645
1646
  if (h.setX(Math.max(Math.abs(C[0]), Math.abs(B[0]))), h.setY(Math.max(Math.abs(C[1]), Math.abs(B[1]))), h.setZ(Math.max(Math.abs(C[2]), Math.abs(B[2]))), u.normalized) {
1646
- const w = Da(xe[u.componentType]);
1647
+ const w = xa(ke[u.componentType]);
1647
1648
  h.multiplyScalar(w);
1648
1649
  }
1649
1650
  l.max(h);
1650
1651
  } else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1651
1652
  }
1652
1653
  }
1653
- b.expandByVector(l);
1654
+ c.expandByVector(l);
1654
1655
  }
1655
- s.boundingBox = b;
1656
+ s.boundingBox = c;
1656
1657
  const g = new jA();
1657
- b.getCenter(g.center), g.radius = b.min.distanceTo(b.max) / 2, s.boundingSphere = g;
1658
- }(c, e, a), Promise.all(A).then(function() {
1659
- return e.targets !== void 0 ? function(s, r, o) {
1660
- let n = !1, b = !1, d = !1;
1658
+ c.getCenter(g.center), g.radius = c.min.distanceTo(c.max) / 2, s.boundingSphere = g;
1659
+ }(d, e, a), Promise.all(A).then(function() {
1660
+ return e.targets !== void 0 ? function(s, r, n) {
1661
+ let o = !1, c = !1, b = !1;
1661
1662
  for (let f = 0, I = r.length; f < I; f++) {
1662
1663
  const m = r[f];
1663
- if (m.POSITION !== void 0 && (n = !0), m.NORMAL !== void 0 && (b = !0), m.COLOR_0 !== void 0 && (d = !0), n && b && d) break;
1664
+ if (m.POSITION !== void 0 && (o = !0), m.NORMAL !== void 0 && (c = !0), m.COLOR_0 !== void 0 && (b = !0), o && c && b) break;
1664
1665
  }
1665
- if (!n && !b && !d) return Promise.resolve(s);
1666
+ if (!o && !c && !b) return Promise.resolve(s);
1666
1667
  const g = [], l = [], h = [];
1667
1668
  for (let f = 0, I = r.length; f < I; f++) {
1668
1669
  const m = r[f];
1669
- if (n) {
1670
- const u = m.POSITION !== void 0 ? o.getDependency("accessor", m.POSITION) : s.attributes.position;
1670
+ if (o) {
1671
+ const u = m.POSITION !== void 0 ? n.getDependency("accessor", m.POSITION) : s.attributes.position;
1671
1672
  g.push(u);
1672
1673
  }
1673
- if (b) {
1674
- const u = m.NORMAL !== void 0 ? o.getDependency("accessor", m.NORMAL) : s.attributes.normal;
1674
+ if (c) {
1675
+ const u = m.NORMAL !== void 0 ? n.getDependency("accessor", m.NORMAL) : s.attributes.normal;
1675
1676
  l.push(u);
1676
1677
  }
1677
- if (d) {
1678
- const u = m.COLOR_0 !== void 0 ? o.getDependency("accessor", m.COLOR_0) : s.attributes.color;
1678
+ if (b) {
1679
+ const u = m.COLOR_0 !== void 0 ? n.getDependency("accessor", m.COLOR_0) : s.attributes.color;
1679
1680
  h.push(u);
1680
1681
  }
1681
1682
  }
1682
1683
  return Promise.all([Promise.all(g), Promise.all(l), Promise.all(h)]).then(function(f) {
1683
1684
  const I = f[0], m = f[1], u = f[2];
1684
- return n && (s.morphAttributes.position = I), b && (s.morphAttributes.normal = m), d && (s.morphAttributes.color = u), s.morphTargetsRelative = !0, s;
1685
+ return o && (s.morphAttributes.position = I), c && (s.morphAttributes.normal = m), b && (s.morphAttributes.color = u), s.morphTargetsRelative = !0, s;
1685
1686
  });
1686
- }(c, e.targets, a) : c;
1687
+ }(d, e.targets, a) : d;
1687
1688
  });
1688
1689
  }
1689
- const ca = /* @__PURE__ */ new WeakMap();
1690
- class Rt extends Ma {
1690
+ const ra = /* @__PURE__ */ new WeakMap();
1691
+ class Ft extends va {
1691
1692
  constructor(e) {
1692
1693
  super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = { position: "POSITION", normal: "NORMAL", color: "COLOR", uv: "TEX_COORD" }, this.defaultAttributeTypes = { position: "Float32Array", normal: "Float32Array", color: "Float32Array", uv: "Float32Array" };
1693
1694
  }
@@ -1701,14 +1702,14 @@ class Rt extends Ma {
1701
1702
  return this.workerLimit = e, this;
1702
1703
  }
1703
1704
  load(e, a, t, A) {
1704
- const i = new Ce(this.manager);
1705
+ const i = new Be(this.manager);
1705
1706
  i.setPath(this.path), i.setResponseType("arraybuffer"), i.setRequestHeader(this.requestHeader), i.setWithCredentials(this.withCredentials), i.load(e, (s) => {
1706
1707
  this.parse(s, a, A);
1707
1708
  }, t, A);
1708
1709
  }
1709
1710
  parse(e, a, t = () => {
1710
1711
  }) {
1711
- this.decodeDracoFile(e, a, null, null, re, t).catch(t);
1712
+ this.decodeDracoFile(e, a, null, null, se, t).catch(t);
1712
1713
  }
1713
1714
  decodeDracoFile(e, a, t, A, i = K, s = () => {
1714
1715
  }) {
@@ -1717,35 +1718,35 @@ class Rt extends Ma {
1717
1718
  }
1718
1719
  decodeGeometry(e, a) {
1719
1720
  const t = JSON.stringify(a);
1720
- if (ca.has(e)) {
1721
- const o = ca.get(e);
1722
- if (o.key === t) return o.promise;
1721
+ if (ra.has(e)) {
1722
+ const n = ra.get(e);
1723
+ if (n.key === t) return n.promise;
1723
1724
  if (e.byteLength === 0) throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.");
1724
1725
  }
1725
1726
  let A;
1726
- const i = this.workerNextTaskID++, s = e.byteLength, r = this._getWorker(i, s).then((o) => (A = o, new Promise((n, b) => {
1727
- A._callbacks[i] = { resolve: n, reject: b }, A.postMessage({ type: "decode", id: i, taskConfig: a, buffer: e }, [e]);
1728
- }))).then((o) => this._createGeometry(o.geometry));
1727
+ const i = this.workerNextTaskID++, s = e.byteLength, r = this._getWorker(i, s).then((n) => (A = n, new Promise((o, c) => {
1728
+ A._callbacks[i] = { resolve: o, reject: c }, A.postMessage({ type: "decode", id: i, taskConfig: a, buffer: e }, [e]);
1729
+ }))).then((n) => this._createGeometry(n.geometry));
1729
1730
  return r.catch(() => !0).then(() => {
1730
1731
  A && i && this._releaseTask(A, i);
1731
- }), ca.set(e, { key: t, promise: r }), r;
1732
+ }), ra.set(e, { key: t, promise: r }), r;
1732
1733
  }
1733
1734
  _createGeometry(e) {
1734
- const a = new ea();
1735
- e.index && a.setIndex(new he(e.index.array, 1));
1735
+ const a = new Ze();
1736
+ e.index && a.setIndex(new de(e.index.array, 1));
1736
1737
  for (let t = 0; t < e.attributes.length; t++) {
1737
- const A = e.attributes[t], i = A.name, s = A.array, r = A.itemSize, o = new he(s, r);
1738
- i === "color" && (this._assignVertexColorSpace(o, A.vertexColorSpace), o.normalized = !(s instanceof Float32Array)), a.setAttribute(i, o);
1738
+ const A = e.attributes[t], i = A.name, s = A.array, r = A.itemSize, n = new de(s, r);
1739
+ i === "color" && (this._assignVertexColorSpace(n, A.vertexColorSpace), n.normalized = !(s instanceof Float32Array)), a.setAttribute(i, n);
1739
1740
  }
1740
1741
  return a;
1741
1742
  }
1742
1743
  _assignVertexColorSpace(e, a) {
1743
- if (a !== re) return;
1744
- const t = new le();
1745
- for (let A = 0, i = e.count; A < i; A++) t.fromBufferAttribute(e, A), ja.toWorkingColorSpace(t, re), e.setXYZ(A, t.r, t.g, t.b);
1744
+ if (a !== se) return;
1745
+ const t = new he();
1746
+ for (let A = 0, i = e.count; A < i; A++) t.fromBufferAttribute(e, A), wa.toWorkingColorSpace(t, se), e.setXYZ(A, t.r, t.g, t.b);
1746
1747
  }
1747
1748
  _loadLibrary(e, a) {
1748
- const t = new Ce(this.manager);
1749
+ const t = new Be(this.manager);
1749
1750
  return t.setPath(this.decoderPath), t.setResponseType(a), t.setWithCredentials(this.withCredentials), new Promise((A, i) => {
1750
1751
  t.load(e, A, void 0, i);
1751
1752
  });
@@ -1759,7 +1760,7 @@ class Rt extends Ma {
1759
1760
  return e ? a.push(this._loadLibrary("draco_decoder.js", "text")) : (a.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), a.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(a).then((t) => {
1760
1761
  const A = t[0];
1761
1762
  e || (this.decoderConfig.wasmBinary = t[1]);
1762
- const i = Ri.toString(), s = ["/* draco decoder */", A, "", "/* worker */", i.substring(i.indexOf("{") + 1, i.lastIndexOf("}"))].join(`
1763
+ const i = Si.toString(), s = ["/* draco decoder */", A, "", "/* worker */", i.substring(i.indexOf("{") + 1, i.lastIndexOf("}"))].join(`
1763
1764
  `);
1764
1765
  this.workerSourceURL = URL.createObjectURL(new Blob([s]));
1765
1766
  }), this.decoderPending;
@@ -1799,10 +1800,10 @@ class Rt extends Ma {
1799
1800
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1800
1801
  }
1801
1802
  }
1802
- function Ri() {
1803
- let c, e;
1804
- function a(t, A, i, s, r, o) {
1805
- const n = o.num_components(), b = i.num_points() * n, d = b * r.BYTES_PER_ELEMENT, g = function(f, I) {
1803
+ function Si() {
1804
+ let d, e;
1805
+ function a(t, A, i, s, r, n) {
1806
+ const o = n.num_components(), c = i.num_points() * o, b = c * r.BYTES_PER_ELEMENT, g = function(f, I) {
1806
1807
  switch (I) {
1807
1808
  case Float32Array:
1808
1809
  return f.DT_FLOAT32;
@@ -1819,27 +1820,27 @@ function Ri() {
1819
1820
  case Uint32Array:
1820
1821
  return f.DT_UINT32;
1821
1822
  }
1822
- }(t, r), l = t._malloc(d);
1823
- A.GetAttributeDataArrayForAllPoints(i, o, g, d, l);
1824
- const h = new r(t.HEAPF32.buffer, l, b).slice();
1825
- return t._free(l), { name: s, array: h, itemSize: n };
1823
+ }(t, r), l = t._malloc(b);
1824
+ A.GetAttributeDataArrayForAllPoints(i, n, g, b, l);
1825
+ const h = new r(t.HEAPF32.buffer, l, c).slice();
1826
+ return t._free(l), { name: s, array: h, itemSize: o };
1826
1827
  }
1827
1828
  onmessage = function(t) {
1828
1829
  const A = t.data;
1829
1830
  switch (A.type) {
1830
1831
  case "init":
1831
- c = A.decoderConfig, e = new Promise(function(r) {
1832
- c.onModuleLoaded = function(o) {
1833
- r({ draco: o });
1834
- }, DracoDecoderModule(c);
1832
+ d = A.decoderConfig, e = new Promise(function(r) {
1833
+ d.onModuleLoaded = function(n) {
1834
+ r({ draco: n });
1835
+ }, DracoDecoderModule(d);
1835
1836
  });
1836
1837
  break;
1837
1838
  case "decode":
1838
1839
  const i = A.buffer, s = A.taskConfig;
1839
1840
  e.then((r) => {
1840
- const o = r.draco, n = new o.Decoder();
1841
+ const n = r.draco, o = new n.Decoder();
1841
1842
  try {
1842
- const b = function(g, l, h, f) {
1843
+ const c = function(g, l, h, f) {
1843
1844
  const I = f.attributeIDs, m = f.attributeTypes;
1844
1845
  let u, C;
1845
1846
  const B = l.GetEncodedGeometryType(h);
@@ -1867,18 +1868,18 @@ function Ri() {
1867
1868
  const O = new Uint32Array(k.HEAPF32.buffer, M, x).slice();
1868
1869
  return k._free(M), { array: O, itemSize: 1 };
1869
1870
  }(g, l, u)), g.destroy(u), w;
1870
- }(o, n, new Int8Array(i), s), d = b.attributes.map((g) => g.array.buffer);
1871
- b.index && d.push(b.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: b }, d);
1872
- } catch (b) {
1873
- console.error(b), self.postMessage({ type: "error", id: A.id, error: b.message });
1871
+ }(n, o, new Int8Array(i), s), b = c.attributes.map((g) => g.array.buffer);
1872
+ c.index && b.push(c.index.array.buffer), self.postMessage({ type: "decode", id: A.id, geometry: c }, b);
1873
+ } catch (c) {
1874
+ console.error(c), self.postMessage({ type: "error", id: A.id, error: c.message });
1874
1875
  } finally {
1875
- o.destroy(n);
1876
+ n.destroy(o);
1876
1877
  }
1877
1878
  });
1878
1879
  }
1879
1880
  };
1880
1881
  }
1881
- class Mi {
1882
+ class Di {
1882
1883
  constructor(e = 4) {
1883
1884
  this.pool = e, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
1884
1885
  }
@@ -1915,13 +1916,13 @@ class Mi {
1915
1916
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
1916
1917
  }
1917
1918
  }
1918
- const Mt = 9, Tt = 15, Ut = 16, Gt = 22, Ht = 37, Nt = 43, Lt = 76, Ot = 83, Jt = 97, Pt = 100, qt = 103, _t = 109, Kt = 165, zt = 166, Ta = 1000066e3;
1919
- class Ti {
1919
+ const Rt = 9, Mt = 15, Tt = 16, Ut = 22, Gt = 37, Ht = 43, Nt = 76, Lt = 83, Ot = 97, Jt = 100, Pt = 103, qt = 109, _t = 165, Kt = 166, Fa = 1000066e3;
1920
+ class vi {
1920
1921
  constructor() {
1921
1922
  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;
1922
1923
  }
1923
1924
  }
1924
- class Me {
1925
+ class Fe {
1925
1926
  constructor(e, a, t, A) {
1926
1927
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + a, t), this._littleEndian = A, this._offset = 0;
1927
1928
  }
@@ -1961,33 +1962,33 @@ class Me {
1961
1962
  }
1962
1963
  }
1963
1964
  const G = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
1964
- function tt(c) {
1965
- return new TextDecoder().decode(c);
1965
+ function et(d) {
1966
+ return new TextDecoder().decode(d);
1966
1967
  }
1967
- let ba, ie, va;
1968
- const da = { env: { emscripten_notify_memory_growth: function(c) {
1969
- va = new Uint8Array(ie.exports.memory.buffer);
1968
+ let na, Ae, ja;
1969
+ const oa = { env: { emscripten_notify_memory_growth: function(d) {
1970
+ ja = new Uint8Array(Ae.exports.memory.buffer);
1970
1971
  } } };
1971
- class Ui {
1972
+ class Fi {
1972
1973
  init() {
1973
- return ba || (ba = typeof fetch < "u" ? fetch("data:application/wasm;base64," + At).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, da)).then(this._init) : WebAssembly.instantiate(Buffer.from(At, "base64"), da).then(this._init), ba);
1974
+ return na || (na = typeof fetch < "u" ? fetch("data:application/wasm;base64," + at).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, oa)).then(this._init) : WebAssembly.instantiate(Buffer.from(at, "base64"), oa).then(this._init), na);
1974
1975
  }
1975
1976
  _init(e) {
1976
- ie = e.instance, da.env.emscripten_notify_memory_growth(0);
1977
+ Ae = e.instance, oa.env.emscripten_notify_memory_growth(0);
1977
1978
  }
1978
1979
  decode(e, a = 0) {
1979
- if (!ie) throw new Error("ZSTDDecoder: Await .init() before decoding.");
1980
- const t = e.byteLength, A = ie.exports.malloc(t);
1981
- va.set(e, A), a = a || Number(ie.exports.ZSTD_findDecompressedSize(A, t));
1982
- const i = ie.exports.malloc(a), s = ie.exports.ZSTD_decompress(i, a, A, t), r = va.slice(i, i + s);
1983
- return ie.exports.free(A), ie.exports.free(i), r;
1980
+ if (!Ae) throw new Error("ZSTDDecoder: Await .init() before decoding.");
1981
+ const t = e.byteLength, A = Ae.exports.malloc(t);
1982
+ ja.set(e, A), a = a || Number(Ae.exports.ZSTD_findDecompressedSize(A, t));
1983
+ const i = Ae.exports.malloc(a), s = Ae.exports.ZSTD_decompress(i, a, A, t), r = ja.slice(i, i + s);
1984
+ return Ae.exports.free(A), Ae.exports.free(i), r;
1984
1985
  }
1985
1986
  }
1986
- const At = "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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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", ha = /* @__PURE__ */ new WeakMap();
1987
- let la, ga = 0;
1988
- class L extends Ma {
1987
+ const at = "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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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", ca = /* @__PURE__ */ new WeakMap();
1988
+ let ba, da = 0;
1989
+ class L extends va {
1989
1990
  constructor(e) {
1990
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Mi(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.');
1991
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Di(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.');
1991
1992
  }
1992
1993
  setTranscoderPath(e) {
1993
1994
  return this.transcoderPath = e, this;
@@ -2003,119 +2004,119 @@ class L extends Ma {
2003
2004
  }
2004
2005
  init() {
2005
2006
  if (!this.transcoderPending) {
2006
- const e = new Ce(this.manager);
2007
+ const e = new Be(this.manager);
2007
2008
  e.setPath(this.transcoderPath), e.setWithCredentials(this.withCredentials);
2008
- const a = e.loadAsync("basis_transcoder.js"), t = new Ce(this.manager);
2009
+ const a = e.loadAsync("basis_transcoder.js"), t = new Be(this.manager);
2009
2010
  t.setPath(this.transcoderPath), t.setResponseType("arraybuffer"), t.setWithCredentials(this.withCredentials);
2010
2011
  const A = t.loadAsync("basis_transcoder.wasm");
2011
2012
  this.transcoderPending = Promise.all([a, A]).then(([i, s]) => {
2012
- const r = L.BasisWorker.toString(), o = ["/* constants */", "let _EngineFormat = " + JSON.stringify(L.EngineFormat), "let _EngineType = " + JSON.stringify(L.EngineType), "let _TranscoderFormat = " + JSON.stringify(L.TranscoderFormat), "let _BasisFormat = " + JSON.stringify(L.BasisFormat), "/* basis_transcoder.js */", i, "/* worker */", r.substring(r.indexOf("{") + 1, r.lastIndexOf("}"))].join(`
2013
+ const r = L.BasisWorker.toString(), n = ["/* constants */", "let _EngineFormat = " + JSON.stringify(L.EngineFormat), "let _EngineType = " + JSON.stringify(L.EngineType), "let _TranscoderFormat = " + JSON.stringify(L.TranscoderFormat), "let _BasisFormat = " + JSON.stringify(L.BasisFormat), "/* basis_transcoder.js */", i, "/* worker */", r.substring(r.indexOf("{") + 1, r.lastIndexOf("}"))].join(`
2013
2014
  `);
2014
- this.workerSourceURL = URL.createObjectURL(new Blob([o])), this.transcoderBinary = s, this.workerPool.setWorkerCreator(() => {
2015
- const n = new Worker(this.workerSourceURL), b = this.transcoderBinary.slice(0);
2016
- return n.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: b }, [b]), n;
2015
+ this.workerSourceURL = URL.createObjectURL(new Blob([n])), this.transcoderBinary = s, this.workerPool.setWorkerCreator(() => {
2016
+ const o = new Worker(this.workerSourceURL), c = this.transcoderBinary.slice(0);
2017
+ return o.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: c }, [c]), o;
2017
2018
  });
2018
- }), ga > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), ga++;
2019
+ }), da > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), da++;
2019
2020
  }
2020
2021
  return this.transcoderPending;
2021
2022
  }
2022
2023
  load(e, a, t, A) {
2023
2024
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2024
- const i = new Ce(this.manager);
2025
+ const i = new Be(this.manager);
2025
2026
  i.setResponseType("arraybuffer"), i.setWithCredentials(this.withCredentials), i.load(e, (s) => {
2026
2027
  this.parse(s, a, A);
2027
2028
  }, t, A);
2028
2029
  }
2029
2030
  parse(e, a, t) {
2030
2031
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2031
- if (ha.has(e))
2032
- return ha.get(e).promise.then(a).catch(t);
2032
+ if (ca.has(e))
2033
+ return ca.get(e).promise.then(a).catch(t);
2033
2034
  this._createTexture(e).then((A) => a ? a(A) : null).catch(t);
2034
2035
  }
2035
2036
  _createTextureFrom(e, a) {
2036
- const { type: t, error: A, data: { faces: i, width: s, height: r, format: o, type: n, dfdFlags: b } } = e;
2037
+ const { type: t, error: A, data: { faces: i, width: s, height: r, format: n, type: o, dfdFlags: c } } = e;
2037
2038
  if (t === "error") return Promise.reject(A);
2038
- let d;
2039
- if (a.faceCount === 6) d = new DA(i, o, n);
2039
+ let b;
2040
+ if (a.faceCount === 6) b = new SA(i, n, o);
2040
2041
  else {
2041
2042
  const g = i[0].mipmaps;
2042
- d = a.layerCount > 1 ? new vA(g, s, r, a.layerCount, o, n) : new Pa(g, s, r, o, n);
2043
+ b = a.layerCount > 1 ? new DA(g, s, r, a.layerCount, n, o) : new La(g, s, r, n, o);
2043
2044
  }
2044
- return d.minFilter = i[0].mipmaps.length === 1 ? Be : $e, d.magFilter = Be, d.generateMipmaps = !1, d.needsUpdate = !0, d.colorSpace = it(a), d.premultiplyAlpha = !!(1 & b), d;
2045
+ return b.minFilter = i[0].mipmaps.length === 1 ? me : Xe, b.magFilter = me, b.generateMipmaps = !1, b.needsUpdate = !0, b.colorSpace = tt(a), b.premultiplyAlpha = !!(1 & c), b;
2045
2046
  }
2046
2047
  async _createTexture(e, a = {}) {
2047
2048
  const t = function(r) {
2048
- const o = new Uint8Array(r.buffer, r.byteOffset, G.length);
2049
- if (o[0] !== G[0] || o[1] !== G[1] || o[2] !== G[2] || o[3] !== G[3] || o[4] !== G[4] || o[5] !== G[5] || o[6] !== G[6] || o[7] !== G[7] || o[8] !== G[8] || o[9] !== G[9] || o[10] !== G[10] || o[11] !== G[11]) throw new Error("Missing KTX 2.0 identifier.");
2050
- const n = new Ti(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, d = new Me(r, G.length, b, !0);
2051
- n.vkFormat = d._nextUint32(), n.typeSize = d._nextUint32(), n.pixelWidth = d._nextUint32(), n.pixelHeight = d._nextUint32(), n.pixelDepth = d._nextUint32(), n.layerCount = d._nextUint32(), n.faceCount = d._nextUint32();
2052
- const g = d._nextUint32();
2053
- n.supercompressionScheme = d._nextUint32();
2054
- const l = d._nextUint32(), h = d._nextUint32(), f = d._nextUint32(), I = d._nextUint32(), m = d._nextUint64(), u = d._nextUint64(), C = new Me(r, G.length + b, 3 * g * 8, !0);
2055
- for (let F = 0; F < g; F++) n.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + C._nextUint64(), C._nextUint64()), uncompressedByteLength: C._nextUint64() });
2056
- const B = new Me(r, l, h, !0), w = { vendorId: B._skip(4)._nextUint16(), descriptorType: B._nextUint16(), versionNumber: B._nextUint16(), descriptorBlockSize: B._nextUint16(), colorModel: B._nextUint8(), colorPrimaries: B._nextUint8(), transferFunction: B._nextUint8(), flags: B._nextUint8(), texelBlockDimension: [B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8()], bytesPlane: [B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8()], samples: [] }, k = (w.descriptorBlockSize / 4 - 6) / 4;
2049
+ const n = new Uint8Array(r.buffer, r.byteOffset, G.length);
2050
+ if (n[0] !== G[0] || n[1] !== G[1] || n[2] !== G[2] || n[3] !== G[3] || n[4] !== G[4] || n[5] !== G[5] || n[6] !== G[6] || n[7] !== G[7] || n[8] !== G[8] || n[9] !== G[9] || n[10] !== G[10] || n[11] !== G[11]) throw new Error("Missing KTX 2.0 identifier.");
2051
+ const o = new vi(), c = 17 * Uint32Array.BYTES_PER_ELEMENT, b = new Fe(r, G.length, c, !0);
2052
+ o.vkFormat = b._nextUint32(), o.typeSize = b._nextUint32(), o.pixelWidth = b._nextUint32(), o.pixelHeight = b._nextUint32(), o.pixelDepth = b._nextUint32(), o.layerCount = b._nextUint32(), o.faceCount = b._nextUint32();
2053
+ const g = b._nextUint32();
2054
+ o.supercompressionScheme = b._nextUint32();
2055
+ const l = b._nextUint32(), h = b._nextUint32(), f = b._nextUint32(), I = b._nextUint32(), m = b._nextUint64(), u = b._nextUint64(), C = new Fe(r, G.length + c, 3 * g * 8, !0);
2056
+ for (let F = 0; F < g; F++) o.levels.push({ levelData: new Uint8Array(r.buffer, r.byteOffset + C._nextUint64(), C._nextUint64()), uncompressedByteLength: C._nextUint64() });
2057
+ const B = new Fe(r, l, h, !0), w = { vendorId: B._skip(4)._nextUint16(), descriptorType: B._nextUint16(), versionNumber: B._nextUint16(), descriptorBlockSize: B._nextUint16(), colorModel: B._nextUint8(), colorPrimaries: B._nextUint8(), transferFunction: B._nextUint8(), flags: B._nextUint8(), texelBlockDimension: [B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8()], bytesPlane: [B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8()], samples: [] }, k = (w.descriptorBlockSize / 4 - 6) / 4;
2057
2058
  for (let F = 0; F < k; F++) {
2058
2059
  const U = { bitOffset: B._nextUint16(), bitLength: B._nextUint8(), channelType: B._nextUint8(), samplePosition: [B._nextUint8(), B._nextUint8(), B._nextUint8(), B._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2059
2060
  64 & U.channelType ? (U.sampleLower = B._nextInt32(), U.sampleUpper = B._nextInt32()) : (U.sampleLower = B._nextUint32(), U.sampleUpper = B._nextUint32()), w.samples[F] = U;
2060
2061
  }
2061
- n.dataFormatDescriptor.length = 0, n.dataFormatDescriptor.push(w);
2062
- const y = new Me(r, f, I, !0);
2062
+ o.dataFormatDescriptor.length = 0, o.dataFormatDescriptor.push(w);
2063
+ const y = new Fe(r, f, I, !0);
2063
2064
  for (; y._offset < I; ) {
2064
- const F = y._nextUint32(), U = y._scan(F), P = tt(U);
2065
- if (n.keyValue[P] = y._nextUint8Array(F - U.byteLength - 1), P.match(/^ktx/i)) {
2066
- const V = tt(n.keyValue[P]);
2067
- n.keyValue[P] = V.substring(0, V.lastIndexOf("\0"));
2065
+ const F = y._nextUint32(), U = y._scan(F), P = et(U);
2066
+ if (o.keyValue[P] = y._nextUint8Array(F - U.byteLength - 1), P.match(/^ktx/i)) {
2067
+ const V = et(o.keyValue[P]);
2068
+ o.keyValue[P] = V.substring(0, V.lastIndexOf("\0"));
2068
2069
  }
2069
2070
  y._skip(F % 4 ? 4 - F % 4 : 0);
2070
2071
  }
2071
- if (u <= 0) return n;
2072
- const p = new Me(r, m, u, !0), Q = p._nextUint16(), x = p._nextUint16(), j = p._nextUint32(), M = p._nextUint32(), O = p._nextUint32(), aa = p._nextUint32(), De = [];
2073
- for (let F = 0; F < g; F++) De.push({ imageFlags: p._nextUint32(), rgbSliceByteOffset: p._nextUint32(), rgbSliceByteLength: p._nextUint32(), alphaSliceByteOffset: p._nextUint32(), alphaSliceByteLength: p._nextUint32() });
2074
- const Pe = m + p._offset, ve = Pe + j, Fe = ve + M, Re = Fe + O, qe = new Uint8Array(r.buffer, r.byteOffset + Pe, j), _e = new Uint8Array(r.buffer, r.byteOffset + ve, M), z = new Uint8Array(r.buffer, r.byteOffset + Fe, O), pe = new Uint8Array(r.buffer, r.byteOffset + Re, aa);
2075
- return n.globalData = { endpointCount: Q, selectorCount: x, imageDescs: De, endpointsData: qe, selectorsData: _e, tablesData: z, extendedData: pe }, n;
2076
- }(new Uint8Array(e)), A = t.vkFormat === Ta && t.dataFormatDescriptor[0].colorModel === 167;
2072
+ if (u <= 0) return o;
2073
+ const p = new Fe(r, m, u, !0), Q = p._nextUint16(), x = p._nextUint16(), j = p._nextUint32(), M = p._nextUint32(), O = p._nextUint32(), $e = p._nextUint32(), je = [];
2074
+ for (let F = 0; F < g; F++) je.push({ imageFlags: p._nextUint32(), rgbSliceByteOffset: p._nextUint32(), rgbSliceByteLength: p._nextUint32(), alphaSliceByteOffset: p._nextUint32(), alphaSliceByteLength: p._nextUint32() });
2075
+ const Oe = m + p._offset, Se = Oe + j, De = Se + M, ve = De + O, Je = new Uint8Array(r.buffer, r.byteOffset + Oe, j), Pe = new Uint8Array(r.buffer, r.byteOffset + Se, M), z = new Uint8Array(r.buffer, r.byteOffset + De, O), Ce = new Uint8Array(r.buffer, r.byteOffset + ve, $e);
2076
+ return o.globalData = { endpointCount: Q, selectorCount: x, imageDescs: je, endpointsData: Je, selectorsData: Pe, tablesData: z, extendedData: Ce }, o;
2077
+ }(new Uint8Array(e)), A = t.vkFormat === Fa && t.dataFormatDescriptor[0].colorModel === 167;
2077
2078
  if (!(t.vkFormat === 0 || A && !this.workerConfig.astcHDRSupported)) return async function(r) {
2078
- const { vkFormat: o } = r;
2079
- if (fa[o] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2080
- let n;
2081
- r.supercompressionScheme === 2 && (la || (la = new Promise(async (g) => {
2082
- const l = new Ui();
2079
+ const { vkFormat: n } = r;
2080
+ if (ha[n] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2081
+ let o;
2082
+ r.supercompressionScheme === 2 && (ba || (ba = new Promise(async (g) => {
2083
+ const l = new Fi();
2083
2084
  await l.init(), g(l);
2084
- })), n = await la);
2085
- const b = [];
2085
+ })), o = await ba);
2086
+ const c = [];
2086
2087
  for (let g = 0; g < r.levels.length; g++) {
2087
2088
  const l = Math.max(1, r.pixelWidth >> g), h = Math.max(1, r.pixelHeight >> g), f = r.pixelDepth ? Math.max(1, r.pixelDepth >> g) : 0, I = r.levels[g];
2088
2089
  let m, u;
2089
2090
  if (r.supercompressionScheme === 0) m = I.levelData;
2090
2091
  else {
2091
2092
  if (r.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2092
- m = n.decode(I.levelData, I.uncompressedByteLength);
2093
+ m = o.decode(I.levelData, I.uncompressedByteLength);
2093
2094
  }
2094
- u = ua[o] === R ? new Float32Array(m.buffer, m.byteOffset, m.byteLength / Float32Array.BYTES_PER_ELEMENT) : ua[o] === ke ? new Uint16Array(m.buffer, m.byteOffset, m.byteLength / Uint16Array.BYTES_PER_ELEMENT) : m, b.push({ data: u, width: l, height: h, depth: f });
2095
+ u = la[n] === R ? new Float32Array(m.buffer, m.byteOffset, m.byteLength / Float32Array.BYTES_PER_ELEMENT) : la[n] === we ? new Uint16Array(m.buffer, m.byteOffset, m.byteLength / Uint16Array.BYTES_PER_ELEMENT) : m, c.push({ data: u, width: l, height: h, depth: f });
2095
2096
  }
2096
- let d;
2097
- if (Gi.has(fa[o])) d = r.pixelDepth === 0 ? new Ge(b[0].data, r.pixelWidth, r.pixelHeight) : new OA(b[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2097
+ let b;
2098
+ if (Ri.has(ha[n])) b = r.pixelDepth === 0 ? new Ge(c[0].data, r.pixelWidth, r.pixelHeight) : new FA(c[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth);
2098
2099
  else {
2099
2100
  if (r.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2100
- d = new Pa(b, r.pixelWidth, r.pixelHeight), d.minFilter = b.length === 1 ? Be : $e, d.magFilter = Be;
2101
+ b = new La(c, r.pixelWidth, r.pixelHeight), b.minFilter = c.length === 1 ? me : Xe, b.magFilter = me;
2101
2102
  }
2102
- return d.mipmaps = b, d.type = ua[o], d.format = fa[o], d.colorSpace = it(r), d.needsUpdate = !0, Promise.resolve(d);
2103
+ return b.mipmaps = c, b.type = la[n], b.format = ha[n], b.colorSpace = tt(r), b.needsUpdate = !0, Promise.resolve(b);
2103
2104
  }(t);
2104
2105
  const i = a, s = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: i }, [e])).then((r) => this._createTextureFrom(r.data, t));
2105
- return ha.set(e, { promise: s }), s;
2106
+ return ca.set(e, { promise: s }), s;
2106
2107
  }
2107
2108
  dispose() {
2108
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), ga--, this;
2109
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), da--, this;
2109
2110
  }
2110
2111
  }
2111
- L.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, L.TranscoderFormat = { ETC1: 0, ETC2: 1, BC1: 2, BC3: 3, BC4: 4, BC5: 5, BC7_M6_OPAQUE_ONLY: 6, BC7_M5: 7, PVRTC1_4_RGB: 8, PVRTC1_4_RGBA: 9, ASTC_4x4: 10, ATC_RGB: 11, ATC_RGBA_INTERPOLATED_ALPHA: 12, RGBA32: 13, RGB565: 14, BGR565: 15, RGBA4444: 16, BC6H: 22, RGB_HALF: 24, RGBA_HALF: 25 }, L.EngineFormat = { RGBAFormat: ee, RGBA_ASTC_4x4_Format: wt, RGB_BPTC_UNSIGNED_Format: FA, RGBA_BPTC_Format: RA, RGBA_ETC2_EAC_Format: MA, RGBA_PVRTC_4BPPV1_Format: TA, RGBA_S3TC_DXT5_Format: UA, RGB_ETC1_Format: GA, RGB_ETC2_Format: HA, RGB_PVRTC_4BPPV1_Format: NA, RGBA_S3TC_DXT1_Format: LA }, L.EngineType = { UnsignedByteType: X, HalfFloatType: ke, FloatType: R }, L.BasisWorker = function() {
2112
- let c, e, a;
2112
+ L.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, L.TranscoderFormat = { ETC1: 0, ETC2: 1, BC1: 2, BC3: 3, BC4: 4, BC5: 5, BC7_M6_OPAQUE_ONLY: 6, BC7_M5: 7, PVRTC1_4_RGB: 8, PVRTC1_4_RGBA: 9, ASTC_4x4: 10, ATC_RGB: 11, ATC_RGBA_INTERPOLATED_ALPHA: 12, RGBA32: 13, RGB565: 14, BGR565: 15, RGBA4444: 16, BC6H: 22, RGB_HALF: 24, RGBA_HALF: 25 }, L.EngineFormat = { RGBAFormat: $, RGBA_ASTC_4x4_Format: yt, RGB_BPTC_UNSIGNED_Format: OA, RGBA_BPTC_Format: LA, RGBA_ETC2_EAC_Format: NA, RGBA_PVRTC_4BPPV1_Format: HA, RGBA_S3TC_DXT5_Format: GA, RGB_ETC1_Format: UA, RGB_ETC2_Format: TA, RGB_PVRTC_4BPPV1_Format: MA, RGBA_S3TC_DXT1_Format: RA }, L.EngineType = { UnsignedByteType: W, HalfFloatType: we, FloatType: R }, L.BasisWorker = function() {
2113
+ let d, e, a;
2113
2114
  const t = _EngineFormat, A = _EngineType, i = _TranscoderFormat, s = _BasisFormat;
2114
- self.addEventListener("message", function(d) {
2115
- const g = d.data;
2115
+ self.addEventListener("message", function(b) {
2116
+ const g = b.data;
2116
2117
  switch (g.type) {
2117
2118
  case "init":
2118
- c = g.config, l = g.transcoderBinary, e = new Promise((h) => {
2119
+ d = g.config, l = g.transcoderBinary, e = new Promise((h) => {
2119
2120
  a = { wasmBinary: l, onRuntimeInitialized: h }, BASIS(a);
2120
2121
  }).then(() => {
2121
2122
  a.initializeBasis(), a.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
@@ -2137,37 +2138,37 @@ L.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, L.TranscoderFormat = { ETC
2137
2138
  if (!y.isHDR()) throw new Error("THREE.KTX2Loader: Unknown Basis encoding");
2138
2139
  Q = s.UASTC_HDR;
2139
2140
  }
2140
- const x = y.getWidth(), j = y.getHeight(), M = y.getLayers() || 1, O = y.getLevels(), aa = y.getFaces(), De = y.getHasAlpha(), Pe = y.getDFDFlags(), { transcoderFormat: ve, engineFormat: Fe, engineType: Re } = function(z, pe, F, U) {
2141
- const P = o[z];
2141
+ const x = y.getWidth(), j = y.getHeight(), M = y.getLayers() || 1, O = y.getLevels(), $e = y.getFaces(), je = y.getHasAlpha(), Oe = y.getDFDFlags(), { transcoderFormat: Se, engineFormat: De, engineType: ve } = function(z, Ce, F, U) {
2142
+ const P = n[z];
2142
2143
  for (let V = 0; V < P.length; V++) {
2143
2144
  const q = P[V];
2144
- if (!(q.if && !c[q.if]) && q.basisFormat.includes(z) && !(U && q.transcoderFormat.length < 2) && !(q.needsPowerOfTwo && (!n(pe) || !n(F))))
2145
+ if (!(q.if && !d[q.if]) && q.basisFormat.includes(z) && !(U && q.transcoderFormat.length < 2) && !(q.needsPowerOfTwo && (!o(Ce) || !o(F))))
2145
2146
  return { transcoderFormat: q.transcoderFormat[U ? 1 : 0], engineFormat: q.engineFormat[U ? 1 : 0], engineType: q.engineType[0] };
2146
2147
  }
2147
2148
  throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.");
2148
- }(Q, x, j, De);
2149
+ }(Q, x, j, je);
2149
2150
  if (!x || !j || !O) throw p(), new Error("THREE.KTX2Loader: Invalid texture");
2150
2151
  if (!y.startTranscoding()) throw p(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2151
- const qe = [], _e = [];
2152
- for (let z = 0; z < aa; z++) {
2153
- const pe = [];
2152
+ const Je = [], Pe = [];
2153
+ for (let z = 0; z < $e; z++) {
2154
+ const Ce = [];
2154
2155
  for (let F = 0; F < O; F++) {
2155
2156
  const U = [];
2156
2157
  let P, V;
2157
- for (let Ee = 0; Ee < M; Ee++) {
2158
- const Qe = y.getImageLevelInfo(F, Ee, z);
2159
- z !== 0 || F !== 0 || Ee !== 0 || Qe.origWidth % 4 == 0 && Qe.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), O > 1 ? (P = Qe.origWidth, V = Qe.origHeight) : (P = Qe.width, V = Qe.height);
2160
- let ye = new Uint8Array(y.getImageTranscodedSizeInBytes(F, Ee, 0, ve));
2161
- const Xt = y.transcodeImage(ye, F, Ee, z, ve, 0, -1, -1);
2162
- if (Re === A.HalfFloatType && (ye = new Uint16Array(ye.buffer, ye.byteOffset, ye.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !Xt) throw p(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2163
- U.push(ye);
2158
+ for (let pe = 0; pe < M; pe++) {
2159
+ const Ee = y.getImageLevelInfo(F, pe, z);
2160
+ z !== 0 || F !== 0 || pe !== 0 || Ee.origWidth % 4 == 0 && Ee.origHeight % 4 == 0 || console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), O > 1 ? (P = Ee.origWidth, V = Ee.origHeight) : (P = Ee.width, V = Ee.height);
2161
+ let Qe = new Uint8Array(y.getImageTranscodedSizeInBytes(F, pe, 0, Se));
2162
+ const Wt = y.transcodeImage(Qe, F, pe, z, Se, 0, -1, -1);
2163
+ if (ve === A.HalfFloatType && (Qe = new Uint16Array(Qe.buffer, Qe.byteOffset, Qe.byteLength / Uint16Array.BYTES_PER_ELEMENT)), !Wt) throw p(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2164
+ U.push(Qe);
2164
2165
  }
2165
- const q = b(U);
2166
- pe.push({ data: q, width: P, height: V }), _e.push(q.buffer);
2166
+ const q = c(U);
2167
+ Ce.push({ data: q, width: P, height: V }), Pe.push(q.buffer);
2167
2168
  }
2168
- qe.push({ mipmaps: pe, width: x, height: j, format: Fe, type: Re });
2169
+ Je.push({ mipmaps: Ce, width: x, height: j, format: De, type: ve });
2169
2170
  }
2170
- return p(), { faces: qe, buffers: _e, width: x, height: j, hasAlpha: De, dfdFlags: Pe, format: Fe, type: Re };
2171
+ return p(), { faces: Je, buffers: Pe, width: x, height: j, hasAlpha: je, dfdFlags: Oe, format: De, type: ve };
2171
2172
  }(g.buffer);
2172
2173
  self.postMessage({ type: "transcode", id: g.id, data: { faces: h, width: I, height: m, hasAlpha: u, format: C, type: B, dfdFlags: w } }, f);
2173
2174
  } catch (h) {
@@ -2177,39 +2178,39 @@ L.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, L.TranscoderFormat = { ETC
2177
2178
  }
2178
2179
  var l;
2179
2180
  });
2180
- const r = [{ if: "astcSupported", basisFormat: [s.UASTC], transcoderFormat: [i.ASTC_4x4, i.ASTC_4x4], engineFormat: [t.RGBA_ASTC_4x4_Format, t.RGBA_ASTC_4x4_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1 / 0, priorityUASTC: 1, needsPowerOfTwo: !1 }, { if: "bptcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC7_M5, i.BC7_M5], engineFormat: [t.RGBA_BPTC_Format, t.RGBA_BPTC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 3, priorityUASTC: 2, needsPowerOfTwo: !1 }, { if: "dxtSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC1, i.BC3], engineFormat: [t.RGBA_S3TC_DXT1_Format, t.RGBA_S3TC_DXT5_Format], engineType: [A.UnsignedByteType], priorityETC1S: 4, priorityUASTC: 5, needsPowerOfTwo: !1 }, { if: "etc2Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1, i.ETC2], engineFormat: [t.RGB_ETC2_Format, t.RGBA_ETC2_EAC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1, priorityUASTC: 3, needsPowerOfTwo: !1 }, { if: "etc1Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1], engineFormat: [t.RGB_ETC1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 2, priorityUASTC: 4, needsPowerOfTwo: !1 }, { if: "pvrtcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.PVRTC1_4_RGB, i.PVRTC1_4_RGBA], engineFormat: [t.RGB_PVRTC_4BPPV1_Format, t.RGBA_PVRTC_4BPPV1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 5, priorityUASTC: 6, needsPowerOfTwo: !0 }, { if: "bptcSupported", basisFormat: [s.UASTC_HDR], transcoderFormat: [i.BC6H], engineFormat: [t.RGB_BPTC_UNSIGNED_Format], engineType: [A.HalfFloatType], priorityHDR: 1, needsPowerOfTwo: !1 }, { basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.RGBA32, i.RGBA32], engineFormat: [t.RGBAFormat, t.RGBAFormat], engineType: [A.UnsignedByteType, A.UnsignedByteType], priorityETC1S: 100, priorityUASTC: 100, needsPowerOfTwo: !1 }, { basisFormat: [s.UASTC_HDR], transcoderFormat: [i.RGBA_HALF], engineFormat: [t.RGBAFormat], engineType: [A.HalfFloatType], priorityHDR: 100, needsPowerOfTwo: !1 }], o = { [s.ETC1S]: r.filter((d) => d.basisFormat.includes(s.ETC1S)).sort((d, g) => d.priorityUASTC - g.priorityUASTC), [s.UASTC]: r.filter((d) => d.basisFormat.includes(s.UASTC)).sort((d, g) => d.priorityUASTC - g.priorityUASTC), [s.UASTC_HDR]: r.filter((d) => d.basisFormat.includes(s.UASTC_HDR)).sort((d, g) => d.priorityHDR - g.priorityHDR) };
2181
- function n(d) {
2182
- return d <= 2 || !(d & d - 1) && d !== 0;
2181
+ const r = [{ if: "astcSupported", basisFormat: [s.UASTC], transcoderFormat: [i.ASTC_4x4, i.ASTC_4x4], engineFormat: [t.RGBA_ASTC_4x4_Format, t.RGBA_ASTC_4x4_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1 / 0, priorityUASTC: 1, needsPowerOfTwo: !1 }, { if: "bptcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC7_M5, i.BC7_M5], engineFormat: [t.RGBA_BPTC_Format, t.RGBA_BPTC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 3, priorityUASTC: 2, needsPowerOfTwo: !1 }, { if: "dxtSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.BC1, i.BC3], engineFormat: [t.RGBA_S3TC_DXT1_Format, t.RGBA_S3TC_DXT5_Format], engineType: [A.UnsignedByteType], priorityETC1S: 4, priorityUASTC: 5, needsPowerOfTwo: !1 }, { if: "etc2Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1, i.ETC2], engineFormat: [t.RGB_ETC2_Format, t.RGBA_ETC2_EAC_Format], engineType: [A.UnsignedByteType], priorityETC1S: 1, priorityUASTC: 3, needsPowerOfTwo: !1 }, { if: "etc1Supported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.ETC1], engineFormat: [t.RGB_ETC1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 2, priorityUASTC: 4, needsPowerOfTwo: !1 }, { if: "pvrtcSupported", basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.PVRTC1_4_RGB, i.PVRTC1_4_RGBA], engineFormat: [t.RGB_PVRTC_4BPPV1_Format, t.RGBA_PVRTC_4BPPV1_Format], engineType: [A.UnsignedByteType], priorityETC1S: 5, priorityUASTC: 6, needsPowerOfTwo: !0 }, { if: "bptcSupported", basisFormat: [s.UASTC_HDR], transcoderFormat: [i.BC6H], engineFormat: [t.RGB_BPTC_UNSIGNED_Format], engineType: [A.HalfFloatType], priorityHDR: 1, needsPowerOfTwo: !1 }, { basisFormat: [s.ETC1S, s.UASTC], transcoderFormat: [i.RGBA32, i.RGBA32], engineFormat: [t.RGBAFormat, t.RGBAFormat], engineType: [A.UnsignedByteType, A.UnsignedByteType], priorityETC1S: 100, priorityUASTC: 100, needsPowerOfTwo: !1 }, { basisFormat: [s.UASTC_HDR], transcoderFormat: [i.RGBA_HALF], engineFormat: [t.RGBAFormat], engineType: [A.HalfFloatType], priorityHDR: 100, needsPowerOfTwo: !1 }], n = { [s.ETC1S]: r.filter((b) => b.basisFormat.includes(s.ETC1S)).sort((b, g) => b.priorityUASTC - g.priorityUASTC), [s.UASTC]: r.filter((b) => b.basisFormat.includes(s.UASTC)).sort((b, g) => b.priorityUASTC - g.priorityUASTC), [s.UASTC_HDR]: r.filter((b) => b.basisFormat.includes(s.UASTC_HDR)).sort((b, g) => b.priorityHDR - g.priorityHDR) };
2182
+ function o(b) {
2183
+ return b <= 2 || !(b & b - 1) && b !== 0;
2183
2184
  }
2184
- function b(d) {
2185
- if (d.length === 1) return d[0];
2185
+ function c(b) {
2186
+ if (b.length === 1) return b[0];
2186
2187
  let g = 0;
2187
- for (let f = 0; f < d.length; f++)
2188
- g += d[f].byteLength;
2188
+ for (let f = 0; f < b.length; f++)
2189
+ g += b[f].byteLength;
2189
2190
  const l = new Uint8Array(g);
2190
2191
  let h = 0;
2191
- for (let f = 0; f < d.length; f++) {
2192
- const I = d[f];
2192
+ for (let f = 0; f < b.length; f++) {
2193
+ const I = b[f];
2193
2194
  l.set(I, h), h += I.byteLength;
2194
2195
  }
2195
2196
  return l;
2196
2197
  }
2197
2198
  };
2198
- const Gi = /* @__PURE__ */ new Set([ee, He, Ne]), fa = { [_t]: ee, [Jt]: ee, [Ht]: ee, [Nt]: ee, [qt]: He, [Ot]: He, [Ut]: He, [Gt]: He, [Pt]: Ne, [Lt]: Ne, [Tt]: Ne, [Mt]: Ne, [Ta]: wt, [zt]: qa, [Kt]: qa }, ua = { [_t]: R, [Jt]: ke, [Ht]: X, [Nt]: X, [qt]: R, [Ot]: ke, [Ut]: X, [Gt]: X, [Pt]: R, [Lt]: ke, [Tt]: X, [Mt]: X, [Ta]: ke, [zt]: X, [Kt]: X };
2199
- function it(c) {
2200
- const e = c.dataFormatDescriptor[0];
2201
- return e.colorPrimaries === 1 ? e.transferFunction === 2 ? re : K : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), JA);
2199
+ const Ri = /* @__PURE__ */ new Set([$, Ue, Te]), ha = { [qt]: $, [Ot]: $, [Gt]: $, [Ht]: $, [Pt]: Ue, [Lt]: Ue, [Tt]: Ue, [Ut]: Ue, [Jt]: Te, [Nt]: Te, [Mt]: Te, [Rt]: Te, [Fa]: yt, [Kt]: Oa, [_t]: Oa }, la = { [qt]: R, [Ot]: we, [Gt]: W, [Ht]: W, [Pt]: R, [Lt]: we, [Tt]: W, [Ut]: W, [Jt]: R, [Nt]: we, [Mt]: W, [Rt]: W, [Fa]: we, [Kt]: W, [_t]: W };
2200
+ function tt(d) {
2201
+ const e = d.dataFormatDescriptor[0];
2202
+ return e.colorPrimaries === 1 ? e.transferFunction === 2 ? se : K : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), vA);
2202
2203
  }
2203
- async function st(c) {
2204
- const e = c.split("?")[0].split(".").pop(), a = await fetch(c);
2205
- if (!a.ok) throw new Error(`Failed to fetch ${c}: ${a.statusText}`);
2204
+ async function At(d) {
2205
+ const e = d.split("?")[0].split(".").pop(), a = await fetch(d);
2206
+ if (!a.ok) throw new Error(`Failed to fetch ${d}: ${a.statusText}`);
2206
2207
  if (e === "json") {
2207
2208
  const t = await a.json();
2208
- return handleJSONSubtree(t, rt(c));
2209
+ return handleJSONSubtree(t, it(d));
2209
2210
  }
2210
2211
  if (e === "subtree")
2211
2212
  return async function(t, A) {
2212
- const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), o = 24, n = o + Number(s), b = n + (8 - n % 8) % 8, d = b + Number(r), g = t.slice(o, n), l = new TextDecoder().decode(g).trim(), h = JSON.parse(l);
2213
+ const i = new DataView(t), s = i.getBigUint64(8, !0), r = i.getBigUint64(16, !0), n = 24, o = n + Number(s), c = o + (8 - o % 8) % 8, b = c + Number(r), g = t.slice(n, o), l = new TextDecoder().decode(g).trim(), h = JSON.parse(l);
2213
2214
  if (!h.buffers) throw new Error("subtree has no buffers");
2214
2215
  const f = h.buffers.map(async (m) => {
2215
2216
  if (m.uri) {
@@ -2217,7 +2218,7 @@ async function st(c) {
2217
2218
  if (!C.ok) throw new Error(`Failed to fetch binary file ${u}: ${C.statusText}`);
2218
2219
  return new Uint8Array(await C.arrayBuffer());
2219
2220
  }
2220
- return new Uint8Array(t.slice(b, d));
2221
+ return new Uint8Array(t.slice(c, b));
2221
2222
  }), I = await Promise.all(f);
2222
2223
  return /* @__PURE__ */ function(m, u) {
2223
2224
  function C(p, Q) {
@@ -2237,11 +2238,11 @@ async function st(c) {
2237
2238
  }
2238
2239
  function w(p) {
2239
2240
  let Q = 0;
2240
- return Q = p.z == null ? Ia(p.x, p.y, p.level) : Ba(p.x, p.y, p.z, p.level), C(m.tileAvailability, Q);
2241
+ return Q = p.z == null ? ga(p.x, p.y, p.level) : ua(p.x, p.y, p.z, p.level), C(m.tileAvailability, Q);
2241
2242
  }
2242
2243
  function k(p) {
2243
2244
  let Q = 0;
2244
- Q = p.z == null ? Ia(p.x, p.y, p.level) : Ba(p.x, p.y, p.z, p.level);
2245
+ Q = p.z == null ? ga(p.x, p.y, p.level) : ua(p.x, p.y, p.z, p.level);
2245
2246
  const x = [];
2246
2247
  return m.contentAvailability.forEach((j) => {
2247
2248
  x.push(C(j, Q));
@@ -2249,41 +2250,41 @@ async function st(c) {
2249
2250
  }
2250
2251
  function y(p) {
2251
2252
  let Q = 0;
2252
- return Q = p.z == null ? Ia(p.x, p.y) : Ba(p.x, p.y, p.z), C(m.childSubtreeAvailability, Q);
2253
+ return Q = p.z == null ? ga(p.x, p.y) : ua(p.x, p.y, p.z), C(m.childSubtreeAvailability, Q);
2253
2254
  }
2254
2255
  return { isTileAvailable: w, isContentAvailable: k, isChildSubtreeAvailable: y };
2255
2256
  }(h, I);
2256
- }(await a.arrayBuffer(), rt(c));
2257
+ }(await a.arrayBuffer(), it(d));
2257
2258
  throw new Error(`Unsupported file extension: ${e}`);
2258
2259
  }
2259
- function rt(c) {
2260
- const e = c.split("?")[0];
2260
+ function it(d) {
2261
+ const e = d.split("?")[0];
2261
2262
  return e.substring(0, e.lastIndexOf("/") + 1);
2262
2263
  }
2263
- function nt(c) {
2264
- return c = 1431655765 & ((c = 858993459 & ((c = 252645135 & ((c = 16711935 & ((c &= 65535) ^ c << 8)) ^ c << 4)) ^ c << 2)) ^ c << 1);
2264
+ function st(d) {
2265
+ return d = 1431655765 & ((d = 858993459 & ((d = 252645135 & ((d = 16711935 & ((d &= 65535) ^ d << 8)) ^ d << 4)) ^ d << 2)) ^ d << 1);
2265
2266
  }
2266
- function Ia(c, e, a) {
2267
+ function ga(d, e, a) {
2267
2268
  let t = 0;
2268
- return a && (t = (Math.pow(4, a) - 1) / 3), t + (nt(c) | nt(e) << 1);
2269
+ return a && (t = (Math.pow(4, a) - 1) / 3), t + (st(d) | st(e) << 1);
2269
2270
  }
2270
- function ma(c) {
2271
- return c = 153391689 & ((c = 51130563 & ((c = 50393103 & ((c = 4278190335 & ((c &= 1023) ^ c << 16)) ^ c << 8)) ^ c << 4)) ^ c << 2);
2271
+ function fa(d) {
2272
+ return d = 153391689 & ((d = 51130563 & ((d = 50393103 & ((d = 4278190335 & ((d &= 1023) ^ d << 16)) ^ d << 8)) ^ d << 4)) ^ d << 2);
2272
2273
  }
2273
- function Ba(c, e, a, t) {
2274
+ function ua(d, e, a, t) {
2274
2275
  let A = 0;
2275
- return t && (A = (Math.pow(8, t) - 1) / 7), A + (ma(c) | ma(e) << 1 | ma(a) << 2);
2276
+ return t && (A = (Math.pow(8, t) - 1) / 7), A + (fa(d) | fa(e) << 1 | fa(a) << 2);
2276
2277
  }
2277
- const Te = /* @__PURE__ */ new Map();
2278
- async function Ua(c, e) {
2279
- if (!c.root || !c.root.implicitTiling) return c;
2280
- if (!c.root.content && !c.root.contents) throw new Error("implicit tiling requires a Template URI");
2278
+ const Re = /* @__PURE__ */ new Map();
2279
+ async function Ra(d, e) {
2280
+ if (!d.root || !d.root.implicitTiling) return d;
2281
+ if (!d.root.content && !d.root.contents) throw new Error("implicit tiling requires a Template URI");
2281
2282
  let a = !0;
2282
- c.root.implicitTiling.subdivisionScheme && (a = c.root.implicitTiling.subdivisionScheme.toUpperCase() === "QUADTREE");
2283
+ d.root.implicitTiling.subdivisionScheme && (a = d.root.implicitTiling.subdivisionScheme.toUpperCase() === "QUADTREE");
2283
2284
  let t = "";
2284
- c.root.implicitTiling.subtrees && (c.root.implicitTiling.subtrees.uri ? t = c.root.implicitTiling.subtrees.uri : c.root.implicitTiling.subtrees.url && (t = c.root.implicitTiling.subtrees.url));
2285
+ d.root.implicitTiling.subtrees && (d.root.implicitTiling.subtrees.uri ? t = d.root.implicitTiling.subtrees.uri : d.root.implicitTiling.subtrees.url && (t = d.root.implicitTiling.subtrees.url));
2285
2286
  let A = [];
2286
- c.root.content ? c.root.content.uri ? A.push(c.root.content.uri) : c.root.content.url && A.push(c.root.content.url) : c.root.contents && c.root.contents.forEach((l) => {
2287
+ d.root.content ? d.root.content.uri ? A.push(d.root.content.uri) : d.root.content.url && A.push(d.root.content.url) : d.root.contents && d.root.contents.forEach((l) => {
2287
2288
  l.uri ? A.push(l.uri) : l.url && A.push(l.url);
2288
2289
  });
2289
2290
  const i = function(l) {
@@ -2292,35 +2293,35 @@ async function Ua(c, e) {
2292
2293
  }(e);
2293
2294
  let s;
2294
2295
  a && (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0)), a || (s = t.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0).replace("{z}", 0));
2295
- const r = { level: 0, x: 0, y: 0 }, o = { level: 0, x: 0, y: 0 };
2296
- a || (r.z = 0, o.z = 0), Te.set(s, await st(i + s));
2297
- const n = Te.get(s), b = [];
2298
- n.isContentAvailable(o) && A.forEach((l) => {
2296
+ const r = { level: 0, x: 0, y: 0 }, n = { level: 0, x: 0, y: 0 };
2297
+ a || (r.z = 0, n.z = 0), Re.set(s, await At(i + s));
2298
+ const o = Re.get(s), c = [];
2299
+ o.isContentAvailable(n) && A.forEach((l) => {
2299
2300
  let h;
2300
- a && (h = l.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (h = l.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), b.push({ uri: h });
2301
+ a && (h = l.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y)), a || (h = l.replace("{level}", r.level).replace("{x}", r.x).replace("{y}", r.y).replace("{z}", r.z)), c.push({ uri: h });
2301
2302
  });
2302
- const d = { geometricError: c.root.geometricError, boundingVolume: c.root.boundingVolume, refine: c.root.refine, globalAddress: r, localAddress: o, subtree: n, contents: b, getChildren: async () => g(d) };
2303
- return { root: d };
2303
+ const b = { geometricError: d.root.geometricError, boundingVolume: d.root.boundingVolume, refine: d.root.refine, globalAddress: r, localAddress: n, subtree: o, contents: c, getChildren: async () => g(b) };
2304
+ return { root: b };
2304
2305
  async function g(l) {
2305
2306
  const h = [];
2306
- if (l.localAddress.level == c.root.implicitTiling.availableLevels - 1) return h;
2307
- if ((l.localAddress.level + 1) % c.root.implicitTiling.subtreeLevels == 0) {
2308
- const f = ze(l.localAddress), I = ze(l.globalAddress), m = ot(a, c.root.boundingVolume, I);
2307
+ if (l.localAddress.level == d.root.implicitTiling.availableLevels - 1) return h;
2308
+ if ((l.localAddress.level + 1) % d.root.implicitTiling.subtreeLevels == 0) {
2309
+ const f = _e(l.localAddress), I = _e(l.globalAddress), m = rt(a, d.root.boundingVolume, I);
2309
2310
  for (let u = 0; u < f.length; u++) {
2310
2311
  const C = f[u], B = I[u];
2311
- l.subtree.isChildSubtreeAvailable(C) && (a && t.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y), a || t.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y).replace("{z}", B.z)), Te.has(s) || Te.set(s, await st(i + s));
2312
- const w = Te.get(s), k = { level: 0, x: 0, y: 0 };
2312
+ l.subtree.isChildSubtreeAvailable(C) && (a && t.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y), a || t.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y).replace("{z}", B.z)), Re.has(s) || Re.set(s, await At(i + s));
2313
+ const w = Re.get(s), k = { level: 0, x: 0, y: 0 };
2313
2314
  a || (k.z = 0);
2314
2315
  const y = [];
2315
2316
  w.isContentAvailable(k) && A.forEach((Q) => {
2316
2317
  let x;
2317
2318
  a && (x = Q.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y)), a || (x = Q.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y).replace("{z}", B.z)), y.push({ uri: x });
2318
2319
  });
2319
- const p = { geometricError: l.geometricError / 2, boundingVolume: m[u], refine: c.root.refine, globalAddress: B, localAddress: k, subtree: w, contents: y, getChildren: async () => g(p) };
2320
+ const p = { geometricError: l.geometricError / 2, boundingVolume: m[u], refine: d.root.refine, globalAddress: B, localAddress: k, subtree: w, contents: y, getChildren: async () => g(p) };
2320
2321
  h.push(p);
2321
2322
  }
2322
2323
  } else {
2323
- const f = ze(l.localAddress), I = ze(l.globalAddress), m = ot(a, c.root.boundingVolume, I);
2324
+ const f = _e(l.localAddress), I = _e(l.globalAddress), m = rt(a, d.root.boundingVolume, I);
2324
2325
  for (let u = 0; u < f.length; u++) {
2325
2326
  const C = f[u], B = I[u];
2326
2327
  if (!l.subtree.isTileAvailable(C)) continue;
@@ -2331,81 +2332,81 @@ async function Ua(c, e) {
2331
2332
  let x;
2332
2333
  a && (x = Q.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y)), a || (x = Q.replace("{level}", B.level).replace("{x}", B.x).replace("{y}", B.y).replace("{z}", B.z)), w.push({ uri: x });
2333
2334
  }
2334
- const y = { geometricError: l.geometricError / 2, boundingVolume: m[u], refine: c.root.refine, globalAddress: B, localAddress: C, subtree: l.subtree, contents: w, getChildren: async () => g(y) };
2335
+ const y = { geometricError: l.geometricError / 2, boundingVolume: m[u], refine: d.root.refine, globalAddress: B, localAddress: C, subtree: l.subtree, contents: w, getChildren: async () => g(y) };
2335
2336
  h.push(y);
2336
2337
  }
2337
2338
  }
2338
2339
  return h.length > 0 ? h : void 0;
2339
2340
  }
2340
2341
  }
2341
- function ze(c) {
2342
- const { level: e, x: a, y: t, z: A } = c, i = e + 1;
2342
+ function _e(d) {
2343
+ const { level: e, x: a, y: t, z: A } = d, i = e + 1;
2343
2344
  let s = [];
2344
2345
  return s = A === void 0 ? [{ level: i, x: 2 * a, y: 2 * t }, { level: i, x: 2 * a + 1, y: 2 * t }, { level: i, x: 2 * a, y: 2 * t + 1 }, { level: i, x: 2 * a + 1, y: 2 * t + 1 }] : [{ level: i, x: 2 * a, y: 2 * t, z: 2 * A }, { level: i, x: 2 * a + 1, y: 2 * t, z: 2 * A }, { level: i, x: 2 * a, y: 2 * t + 1, z: 2 * A }, { level: i, x: 2 * a + 1, y: 2 * t + 1, z: 2 * A }, { level: i, x: 2 * a, y: 2 * t, z: 2 * A + 1 }, { level: i, x: 2 * a + 1, y: 2 * t, z: 2 * A + 1 }, { level: i, x: 2 * a, y: 2 * t + 1, z: 2 * A + 1 }, { level: i, x: 2 * a + 1, y: 2 * t + 1, z: 2 * A + 1 }], s;
2345
2346
  }
2346
- function ot(c, e, a) {
2347
+ function rt(d, e, a) {
2347
2348
  const t = [];
2348
- for (let A = 0; A < a.length; A++) t.push(Hi(c, e, a[A]));
2349
+ for (let A = 0; A < a.length; A++) t.push(Mi(d, e, a[A]));
2349
2350
  return t;
2350
2351
  }
2351
- function Hi(c, e, a) {
2352
+ function Mi(d, e, a) {
2352
2353
  if (e.region) return function(t, A, i) {
2353
- const [s, r, o, n, b, d] = A, g = (o - s) / 2 ** i.level, l = (n - r) / 2 ** i.level, h = t ? 0 : (d - b) / 2 ** i.level, f = s + g * i.x, I = r + l * i.y, m = f + g, u = I + l, C = t ? b : b + h * i.z, B = t ? d : C + h;
2354
+ const [s, r, n, o, c, b] = A, g = (n - s) / 2 ** i.level, l = (o - r) / 2 ** i.level, h = t ? 0 : (b - c) / 2 ** i.level, f = s + g * i.x, I = r + l * i.y, m = f + g, u = I + l, C = t ? c : c + h * i.z, B = t ? b : C + h;
2354
2355
  return { region: [f, I, m, u, C, B] };
2355
- }(c, e.region, a);
2356
+ }(d, e.region, a);
2356
2357
  if (e.box) return function(t, A, i) {
2357
- const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], o = 1 / Math.pow(2, i.level), n = [o, o, t ? 1 : o], b = r.map((l, h) => l.map((f) => f * n[h])), d = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2358
- return { box: [d[0] + (2 * i.x + 1) * (b[0][0] + b[1][0] + b[2][0]), d[1] + (2 * i.y + 1) * (b[0][1] + b[1][1] + b[2][1]), t ? s[2] : d[2] + (2 * i.z + 1) * (b[0][2] + b[1][2] + b[2][2])].concat(...b) };
2359
- }(c, e.box, a);
2358
+ const s = A.slice(0, 3), r = [A.slice(3, 6), A.slice(6, 9), A.slice(9, 12)], n = 1 / Math.pow(2, i.level), o = [n, n, t ? 1 : n], c = r.map((l, h) => l.map((f) => f * o[h])), b = [s[0] - r[0][0] - r[1][0] - r[2][0], s[1] - r[0][1] - r[1][1] - r[2][1], s[2] - r[0][2] - r[1][2] - r[2][2]];
2359
+ return { box: [b[0] + (2 * i.x + 1) * (c[0][0] + c[1][0] + c[2][0]), b[1] + (2 * i.y + 1) * (c[0][1] + c[1][1] + c[2][1]), t ? s[2] : b[2] + (2 * i.z + 1) * (c[0][2] + c[1][2] + c[2][2])].concat(...c) };
2360
+ }(d, e.box, a);
2360
2361
  throw new Error("Unsupported bounding volume type");
2361
2362
  }
2362
2363
  (function() {
2363
- var c, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2364
+ var d, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2364
2365
  if (typeof WebAssembly != "object") return { supported: !1 };
2365
- var a = WebAssembly.instantiate(function(n) {
2366
- for (var b = new Uint8Array(n.length), d = 0; d < n.length; ++d) {
2367
- var g = n.charCodeAt(d);
2368
- b[d] = g > 96 ? g - 97 : g > 64 ? g - 39 : g + 4;
2369
- }
2370
- var l = 0;
2371
- for (d = 0; d < n.length; ++d) b[l++] = b[d] < 60 ? e[b[d]] : 64 * (b[d] - 60) + b[++d];
2372
- return b.buffer.slice(0, l);
2373
- }("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G:Qdkr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;A9pLdbk;QqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b9kEc:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A9kEc:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbba:vbb"), {}).then(function(n) {
2374
- (c = n.instance).exports.__wasm_call_ctors(), c.exports.meshopt_encodeVertexVersion(0), c.exports.meshopt_encodeIndexVersion(1);
2375
- });
2376
- function t(n) {
2366
+ function a(n) {
2377
2367
  if (!n) throw new Error("Assertion failed");
2378
2368
  }
2379
- function A(n) {
2369
+ function t(n) {
2380
2370
  return new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
2381
2371
  }
2382
- function i(n, b, d, g, l) {
2383
- var h = c.exports.sbrk, f = h(b), I = h(g * l), m = new Uint8Array(c.exports.memory.buffer);
2384
- m.set(A(d), I);
2385
- var u = n(f, b, I, g, l), C = new Uint8Array(u);
2386
- return C.set(m.subarray(f, f + u)), h(f - h(0)), C;
2387
- }
2388
- function s(n) {
2389
- for (var b = 0, d = 0; d < n.length; ++d)
2390
- var g = n[d];
2391
- return b;
2392
- }
2393
- function r(n, b) {
2394
- if (t(b == 2 || b == 4), b == 4) return new Uint32Array(n.buffer, n.byteOffset, n.byteLength / 4);
2395
- var d = new Uint16Array(n.buffer, n.byteOffset, n.byteLength / 2);
2396
- return new Uint32Array(d);
2397
- }
2398
- function o(n, b, d, g, l, h, f) {
2399
- var I = c.exports.sbrk, m = I(d * g), u = I(d * h), C = new Uint8Array(c.exports.memory.buffer);
2400
- C.set(A(b), u), n(m, d, g, l, u, f);
2401
- var B = new Uint8Array(d * g);
2402
- return B.set(C.subarray(m, m + d * g)), I(m - I(0)), B;
2403
- }
2372
+ function A(n, o, c, b, g) {
2373
+ var l = d.exports.sbrk, h = l(o), f = l(b * g), I = new Uint8Array(d.exports.memory.buffer);
2374
+ I.set(t(c), f);
2375
+ var m = n(h, o, f, b, g), u = new Uint8Array(m);
2376
+ return u.set(I.subarray(h, h + m)), l(h - l(0)), u;
2377
+ }
2378
+ function i(n) {
2379
+ for (var o = 0, c = 0; c < n.length; ++c)
2380
+ var b = n[c];
2381
+ return o;
2382
+ }
2383
+ function s(n, o) {
2384
+ if (a(o == 2 || o == 4), o == 4) return new Uint32Array(n.buffer, n.byteOffset, n.byteLength / 4);
2385
+ var c = new Uint16Array(n.buffer, n.byteOffset, n.byteLength / 2);
2386
+ return new Uint32Array(c);
2387
+ }
2388
+ function r(n, o, c, b, g, l, h) {
2389
+ var f = d.exports.sbrk, I = f(c * b), m = f(c * l), u = new Uint8Array(d.exports.memory.buffer);
2390
+ u.set(t(o), m), n(I, c, b, g, m, h);
2391
+ var C = new Uint8Array(c * b);
2392
+ return C.set(u.subarray(I, I + c * b)), f(I - f(0)), C;
2393
+ }
2394
+ WebAssembly.instantiate(function(n) {
2395
+ for (var o = new Uint8Array(n.length), c = 0; c < n.length; ++c) {
2396
+ var b = n.charCodeAt(c);
2397
+ o[c] = b > 96 ? b - 97 : b > 64 ? b - 39 : b + 4;
2398
+ }
2399
+ var g = 0;
2400
+ for (c = 0; c < n.length; ++c) o[g++] = o[c] < 60 ? e[o[c]] : 64 * (o[c] - 60) + o[++c];
2401
+ return o.buffer.slice(0, g);
2402
+ }("b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G:Qdkr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;A9pLdbk;QqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b9kEc:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A9kEc:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbba:vbb"), {}).then(function(n) {
2403
+ (d = n.instance).exports.__wasm_call_ctors(), d.exports.meshopt_encodeVertexVersion(0), d.exports.meshopt_encodeIndexVersion(1);
2404
+ });
2404
2405
  })();
2405
- var Vt = function() {
2406
- var c = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2406
+ var zt = function() {
2407
+ var d = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2407
2408
  if (typeof WebAssembly != "object") return { supported: !1 };
2408
- var a, t = WebAssembly.validate(c) ? i("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb") : i("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb"), A = WebAssembly.instantiate(t, {}).then(function(l) {
2409
+ var a, t = WebAssembly.validate(d) ? i("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb") : i("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb"), A = WebAssembly.instantiate(t, {}).then(function(l) {
2409
2410
  (a = l.instance).exports.__wasm_call_ctors();
2410
2411
  });
2411
2412
  function i(l) {
@@ -2423,8 +2424,8 @@ var Vt = function() {
2423
2424
  var Q = h(k, I, m, y, u.length);
2424
2425
  if (Q == 0 && C && C(k, w, m), f.set(p.subarray(k, k + I * m)), B(k - B(0)), Q != 0) throw new Error("Malformed buffer data: " + Q);
2425
2426
  }
2426
- var r = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, o = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, n = [], b = 0;
2427
- function d(l) {
2427
+ var r = { NONE: "", OCTAHEDRAL: "meshopt_decodeFilterOct", QUATERNION: "meshopt_decodeFilterQuat", EXPONENTIAL: "meshopt_decodeFilterExp" }, n = { ATTRIBUTES: "meshopt_decodeVertexBuffer", TRIANGLES: "meshopt_decodeIndexBuffer", INDICES: "meshopt_decodeIndexSequence" }, o = [], c = 0;
2428
+ function b(l) {
2428
2429
  var h = { object: new Worker(l), pending: 0, requests: {} };
2429
2430
  return h.object.onmessage = function(f) {
2430
2431
  var I = f.data;
@@ -2445,9 +2446,9 @@ var Vt = function() {
2445
2446
  }
2446
2447
  return { ready: A, supported: !0, useWorkers: function(l) {
2447
2448
  (function(h) {
2448
- for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(t) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + g.name + ";" + s.toString() + g.toString(), I = new Blob([f], { type: "text/javascript" }), m = URL.createObjectURL(I), u = n.length; u < h; ++u) n[u] = d(m);
2449
- for (u = h; u < n.length; ++u) n[u].object.postMessage({});
2450
- n.length = h, URL.revokeObjectURL(m);
2449
+ for (var f = "self.ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(t) + "]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = " + g.name + ";" + s.toString() + g.toString(), I = new Blob([f], { type: "text/javascript" }), m = URL.createObjectURL(I), u = o.length; u < h; ++u) o[u] = b(m);
2450
+ for (u = h; u < o.length; ++u) o[u].object.postMessage({});
2451
+ o.length = h, URL.revokeObjectURL(m);
2451
2452
  })(l);
2452
2453
  }, decodeVertexBuffer: function(l, h, f, I, m) {
2453
2454
  s(a, a.exports.meshopt_decodeVertexBuffer, l, h, f, I, a.exports[r[m]]);
@@ -2456,33 +2457,33 @@ var Vt = function() {
2456
2457
  }, decodeIndexSequence: function(l, h, f, I) {
2457
2458
  s(a, a.exports.meshopt_decodeIndexSequence, l, h, f, I);
2458
2459
  }, decodeGltfBuffer: function(l, h, f, I, m, u) {
2459
- s(a, a.exports[o[m]], l, h, f, I, a.exports[r[u]]);
2460
+ s(a, a.exports[n[m]], l, h, f, I, a.exports[r[u]]);
2460
2461
  }, decodeGltfBufferAsync: function(l, h, f, I, m) {
2461
- return n.length > 0 ? function(u, C, B, w, k) {
2462
- for (var y = n[0], p = 1; p < n.length; ++p) n[p].pending < y.pending && (y = n[p]);
2462
+ return o.length > 0 ? function(u, C, B, w, k) {
2463
+ for (var y = o[0], p = 1; p < o.length; ++p) o[p].pending < y.pending && (y = o[p]);
2463
2464
  return new Promise(function(Q, x) {
2464
- var j = new Uint8Array(B), M = ++b;
2465
+ var j = new Uint8Array(B), M = ++c;
2465
2466
  y.pending += u, y.requests[M] = { resolve: Q, reject: x }, y.object.postMessage({ id: M, count: u, size: C, source: j, mode: w, filter: k }, [j.buffer]);
2466
2467
  });
2467
- }(l, h, f, o[I], r[m]) : A.then(function() {
2468
+ }(l, h, f, n[I], r[m]) : A.then(function() {
2468
2469
  var u = new Uint8Array(l * h);
2469
- return s(a, a.exports[o[I]], u, l, h, f, a.exports[r[m]]), u;
2470
+ return s(a, a.exports[n[I]], u, l, h, f, a.exports[r[m]]), u;
2470
2471
  });
2471
2472
  } };
2472
2473
  }();
2473
2474
  (function() {
2474
- var c, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2475
+ var d, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2475
2476
  if (typeof WebAssembly != "object") return { supported: !1 };
2476
2477
  var a = WebAssembly.instantiate(function(r) {
2477
- for (var o = new Uint8Array(r.length), n = 0; n < r.length; ++n) {
2478
- var b = r.charCodeAt(n);
2479
- o[n] = b > 96 ? b - 97 : b > 64 ? b - 39 : b + 4;
2478
+ for (var n = new Uint8Array(r.length), o = 0; o < r.length; ++o) {
2479
+ var c = r.charCodeAt(o);
2480
+ n[o] = c > 96 ? c - 97 : c > 64 ? c - 39 : c + 4;
2480
2481
  }
2481
- var d = 0;
2482
- for (n = 0; n < r.length; ++n) o[d++] = o[n] < 60 ? e[o[n]] : 64 * (o[n] - 60) + o[++n];
2483
- return o.buffer.slice(0, d);
2482
+ var b = 0;
2483
+ for (o = 0; o < r.length; ++o) n[b++] = n[o] < 60 ? e[n[o]] : 64 * (n[o] - 60) + n[++o];
2484
+ return n.buffer.slice(0, b);
2484
2485
  }("b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj:Pdkr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq;UMesdbk:kfvKue99euY99Qu8Jjjjjbc;W;qb9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdnamcdGTmbalcrfci4gHcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd;S1jjbHjjjjbbhzascxfasyd2gecdtfazBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhQdnadTmbaecufhCcbhLinabaXcdtfgKydbgAc:v;t;h;Ev2hOcbhedndninaQaOaCGgOcdtfgYydbgHcuSmeazaHcdtfydbaASmdaecefgeaOfhOaeaC9nmbxdkkazaLcdtfaABdbaYaLBdbaLhHaLcefhLkaKaHBdbaXcefgXad9hmbkkaQcbyd;O1jjbH:bjjjbbasasyd2cufBd2kcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbh8Aascxfasyd2gecdtfa8ABdbasa8ABdlasaecefBd2cuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbhEascxfasyd2gecdtfaEBdbasaEBdwasaecefBd2asclfabadalcbz:cjjjbcualcdtg3alcFFFFi0Eg5cbyd;S1jjbHjjjjbbhQascxfasyd2gecdtfaQBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Eascxfasyd2gecdtfa8EBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhLcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhXdnalTmbavcd4hCaecufhHinaLhednazTmbazaLcdtfydbhekaiaeaC2cdtfgeydlgOcH4aO7c:F:b:DD2aeydbgOcH4aO7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aHGheaLcdth8FdndndndndnazTmbaza8FfhKcbhOinaXaecdtfgYydbgAcuSmlaiazaAcdtfydbaC2cdtfaiaKydbaC2cdtfcxz:ojjjbTmiaOcefgOaefaHGheaOaH9nmbxdkkaiaLaC2cdtfhKcbhOinaXaecdtfgYydbgAcuSmiaiaAaC2cdtfaKcxz:ojjjbTmdaOcefgOaefaHGheaOaH9nmbkkcbhYkaYydbgecu9hmekaYaLBdbaLhekaQa8FfaeBdbaLcefgLal9hmbkcbhea8EhHinaHaeBdbaHclfhHalaecefge9hmbkcbheaQhHa8EhOindnaeaHydbgCSmbaOa8EaCcdtfgCydbBdbaCaeBdbkaHclfhHaOclfhOalaecefge9hmbkkcbhaaXcbyd;O1jjbH:bjjjbbasasyd2cufBd2alcbyd;S1jjbHjjjjbbhXascxfasyd2gecdtfaXBdbasaecefBd2a5cbyd;S1jjbHjjjjbbheascxfasyd2gHcdtfaeBdbasaHcefBd2a5cbyd;S1jjbHjjjjbbhHascxfasyd2gOcdtfaHBdbasaOcefBd2aecFea3z:ljjjbhhaHcFea3z:ljjjbhgdnalTmbaEcwfh8Jindna8AaagOcefgacdtfydbgCa8AaOcdtgefydbgHSmbaCaH9Rh8FaEaHcitfh3agaefh8KahaefhLcbhAindndna3aAcitfydbgYaO9hmbaLaOBdba8KaOBdbxekdna8AaYcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgCfydbaOSmeaHae9Rh8Maecu7aHfhKa8JaCfhHcbheinaKaeSmeaecefheaHydbhCaHcwfhHaCaO9hmbkaea8M6mekaga8LfgeaOaYaeydbcuSEBdbaLaYaOaLydbcuSEBdbkaAcefgAa8F9hmbkkaaal9hmbkaQhHa8EhOaghCahhAcbheindndnaeaHydbgY9hmbdnaeaOydbgY9hmbaAydbhYdnaCydbgKcu9hmbaYcu9hmbaXaefcb86bbxikaXaefhLdnaeaKSmbaeaYSmbaLce86bbxikaLcl86bbxdkdnaea8EaYcdtgKfydb9hmbdnaCydbgLcuSmbaeaLSmbaAydbg8FcuSmbaea8FSmbagaKfydbg3cuSmba3aYSmbahaKfydbgKcuSmbaKaYSmbdnaQaLcdtfydbgYaQaKcdtfydb9hmbaYaQa8FcdtfydbgKSmbaKaQa3cdtfydb9hmbaXaefcd86bbxlkaXaefcl86bbxikaXaefcl86bbxdkaXaefcl86bbxekaXaefaXaYfRbb86bbkaHclfhHaOclfhOaCclfhCaAclfhAalaecefge9hmbkdnaqTmbdndnazTmbazheaQhHalhOindnaqaeydbfRbbTmbaXaHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaQhealhHindnaqRbbTmbaXaeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaQhealhOaXhHindnaXaeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmbaXhealhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaascxfasyd2gecdtfaaBdbasaecefBd2aaaialavazz:djjjbh8NdndnaDmbcbhycbh8Jxekcbh8JawhecbhHindnaeIdbJbbbb9ETmbasc;Wbfa8JcdtfaHBdba8Jcefh8JkaeclfheaDaHcefgH9hmbkcua8Jal2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbhyascxfasyd2gecdtfayBdbasaecefBd2alTmba8JTmbarcd4hLdnazTmba8JcdthicbhYayhKinaoazaYcdtfydbaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbxdkka8JcdthicbhYayhKinaoaYaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbkkcualc8S2gHalc;D;O;f8U0EgCcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhqdndndndna8JTmbaCcbyd;S1jjbHjjjjbbhvascxfasyd2gecdtfavBdbcehOasaecefBd2avcbaHz:ljjjb8Acua8Jal2gecltgHaecFFFFb0Ecbyd;S1jjbHjjjjbbhrascxfasyd2gecdtfarBdbasaecefBd2arcbaHz:ljjjb8AadmexikcbhvadTmecbhrkcbhAabhHindnaaaHclfydbgYcx2fgeIdbaaaHydbgKcx2fgOIdbg8P:tgIaaaHcwfydbgLcx2fgCIdlaOIdlg8R:tg8SNaCIdba8P:tgRaeIdla8R:tg8UN:tg8Va8VNa8UaCIdwaOIdwg8W:tg8XNa8SaeIdwa8W:tg8UN:tg8Sa8SNa8UaRNa8XaIN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaKcdtfydbc8S2fgea8SaR:rgRa8SNNg8UaeIdbMUdbaeaIaRaINg8YNg8XaeIdlMUdlaea8VaRa8VNg8ZNg80aeIdwMUdwaea8Ya8SNg8YaeIdxMUdxaea8Za8SNg81aeIdzMUdzaea8ZaINg8ZaeIdCMUdCaea8SaRa8Va8WNa8Sa8PNa8RaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaYcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaLcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaHcxfhHaAcifgAad6mbkcbhiabhKinabaicdtfhYcbhHinaXaYaHc:G1jjbfydbcdtfydbgOfRbbhedndnaXaKaHfydbgCfRbbgAc99fcFeGcpe0mbaeceSmbaecd9hmekdnaAcufcFeGce0mbahaCcdtfydbaO9hmekdnaecufcFeGce0mbagaOcdtfydbaC9hmekdnaAcv2aefcj1jjbfRbbTmbaQaOcdtfydbaQaCcdtfydb0mekJbbacJbbacJbbjZaeceSEaAceSEh8ZdnaaaYaHc:K1jjbfydbcdtfydbcx2fgeIdwaaaCcx2fgAIdwg8R:tg8VaaaOcx2fgLIdwa8R:tg8Sa8SNaLIdbaAIdbg8W:tgIaINaLIdlaAIdlg8U:tgRaRNMMg8PNa8Va8SNaeIdba8W:tg80aINaRaeIdla8U:tg8YNMMg8Xa8SN:tg8Va8VNa80a8PNa8XaIN:tg8Sa8SNa8Ya8PNa8XaRN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaCcdtfydbc8S2fgea8Sa8Za8P:rNgRa8SNNg8XaeIdbMUdbaeaIaRaINg8ZNg80aeIdlMUdlaea8VaRa8VNg8PNg8YaeIdwMUdwaea8Za8SNg8ZaeIdxMUdxaea8Pa8SNg81aeIdzMUdzaea8PaINgBaeIdCMUdCaea8SaRa8Va8RNa8Sa8WNa8UaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaOcdtfydbc8S2fgea8XaeIdbMUdbaea80aeIdlMUdlaea8YaeIdwMUdwaea8ZaeIdxMUdxaea81aeIdzMUdzaeaBaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaicifgiad6mbkdna8JTmbcbhKinJbbbbh8WaaabaKcdtfgeclfydbgLcx2fgHIdwaaaeydbgicx2fgOIdwg8Y:tgIaINaHIdbaOIdbg81:tg8Va8VNaHIdlaOIdlgB:tgRaRNMMg8Zaaaecwfydbg8Fcx2fgeIdwa8Y:tg8PNaIaIa8PNa8VaeIdba81:tg8RNaRaeIdlaB:tg8UNMMg8SN:tJbbbbJbbjZa8Za8Pa8PNa8Ra8RNa8Ua8UNMMg80Na8Sa8SN:tg8X:va8XJbbbb9BEg8XNh83a80aINa8Pa8SN:ta8XNhUa8Za8UNaRa8SN:ta8XNh85a80aRNa8Ua8SN:ta8XNh86a8Za8RNa8Va8SN:ta8XNh87a80a8VNa8Ra8SN:ta8XNh88a8Va8UNa8RaRN:tg8Sa8SNaRa8PNa8UaIN:tg8Sa8SNaIa8RNa8Pa8VN:tg8Sa8SNMM:rJbbbZNh8Sayaia8J2g3cdtfhHaya8Fa8J2gwcdtfhOayaLa8J2g8LcdtfhCa8Y:mh89aB:mh8:a81:mhZcbhAa8JhYJbbbbh8UJbbbbh8XJbbbbh8ZJbbbbh80Jbbbbh8YJbbbbh81JbbbbhBJbbbbhnJbbbbhcinasc;WbfaAfgecwfa8SaUaCIdbaHIdbg8P:tgRNa83aOIdba8P:tg8RNMgINUdbaeclfa8Sa86aRNa85a8RNMg8VNUdbaea8Sa88aRNa87a8RNMgRNUdbaecxfa8Sa89aINa8:a8VNa8PaZaRNMMMg8PNUdba8SaIa8VNNa80Mh80a8SaIaRNNa8YMh8Ya8Sa8VaRNNa81Mh81a8Sa8Pa8PNNa8WMh8Wa8SaIa8PNNa8UMh8Ua8Sa8Va8PNNa8XMh8Xa8SaRa8PNNa8ZMh8Za8SaIaINNaBMhBa8Sa8Va8VNNanMhna8SaRaRNNacMhcaHclfhHaCclfhCaOclfhOaAczfhAaYcufgYmbkavaic8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyavaLc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyava8Fc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyara3cltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkara8LcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkarawcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkaKcifgKad6mbkkcbhOxekcehOcbhrkcbh8FdndnamcwGg9cmbJbbbbh8ZcbhJcbhocbhCxekcbhea5cbyd;S1jjbHjjjjbbhCascxfasyd2gHcdtfaCBdbasaHcefBd2dnalTmbaChHinaHaeBdbaHclfhHalaecefge9hmbkkdnaOmbcbhiinabaicdtfhLcbhKinaQaLaKcdtgec:G1jjbfydbcdtfydbcdtfydbhHdnaCaQaLaefydbcdtfydbgOcdtfgAydbgeaOSmbinaAaCaegOcdtfgYydbgeBdbaYhAaOae9hmbkkdnaCaHcdtfgAydbgeaHSmbinaAaCaegHcdtfgYydbgeBdbaYhAaHae9hmbkkdnaOaHSmbaCaOaHaOaH0EcdtfaOaHaOaH6EBdbkaKcefgKci9hmbkaicifgiad6mbkkcbhJdnalTmbcbhYindnaQaYcdtgefydbaY9hmbaYhHdnaCaefgKydbgeaYSmbaKhOinaOaCaegHcdtfgAydbgeBdbaAhOaHae9hmbkkaKaHBdbkaYcefgYal9hmbkcbheaQhOaChHcbhJindndnaeaOydbgA9hmbdnaeaHydbgA9hmbaHaJBdbaJcefhJxdkaHaCaAcdtfydbBdbxekaHaCaAcdtfydbBdbkaOclfhOaHclfhHalaecefge9hmbkkcuaJcltgeaJcjjjjiGEcbyd;S1jjbHjjjjbbhoascxfasyd2gHcdtfaoBdbasaHcefBd2aocbaez:ljjjbhAdnalTmbaChOaahealhYinaecwfIdbh8SaeclfIdbhIaAaOydbcltfgHaeIdbaHIdbMUdbaHclfgKaIaKIdbMUdbaHcwfgKa8SaKIdbMUdbaHcxfgHaHIdbJbbjZMUdbaOclfhOaecxfheaYcufgYmbkkdnaJTmbaAheaJhHinaecxfgOIdbh8SaOcbBdbaeaeIdbJbbbbJbbjZa8S:va8SJbbbb9BEg8SNUdbaeclfgOa8SaOIdbNUdbaecwfgOa8SaOIdbNUdbaeczfheaHcufgHmbkkdnalTmbaChOaahealhYinaAaOydbcltfgHcxfgKaecwfIdbaHcwfIdb:tg8Sa8SNaeIdbaHIdb:tg8Sa8SNaeclfIdbaHclfIdb:tg8Sa8SNMMg8SaKIdbgIaIa8S9DEUdbaOclfhOaecxfheaYcufgYmbkkdnaJmbcbhJJFFuuh8ZxekaAcxfheaAhHaJhOinaHaeIdbUdbaeczfheaHclfhHaOcufgOmbkJFFuuh8ZaAheaJhHinaeIdbg8Sa8Za8Za8S9EEh8ZaeclfheaHcufgHmbkkasydlh9ednalTmba9eclfhea9eydbhAaXhHalhYcbhOincbaeydbgKaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaKhAaYcufgYmbkaOce4h8Fkcuada8F9RcifgTcx2aTc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhDascxfasyd2gecdtfaDBdbasaecefBd2cuaTcdtaTcFFFFi0Ecbyd;S1jjbHjjjjbbhSascxfasyd2gecdtfaSBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Mascxfasyd2gecdtfa8MBdbasaecefBd2alcbyd;S1jjbHjjjjbbh9hascxfasyd2gecdtfa9hBdbasaecefBd2axaxNa8NJbbjZamclGEg83a83N:vhcJbbbbhndnadak9nmbdnaTci6mba8Jclth9iaDcwfh6JbbbbhBJbbbbhninasclfabadalaQz:cjjjbabh8FcbhEcbh5inaba5cdtfh3cbheindnaQa8FaefydbgOcdtgifydbgYaQa3aec:W1jjbfydbcdtfydbgHcdtgwfydbgKSmbaXaHfRbbgLcv2aXaOfRbbgAfc;a1jjbfRbbg8AaAcv2aLfg8Lc;a1jjbfRbbg8KVcFeGTmbdnaKaY9nmba8Lcj1jjbfRbbcFeGmekaAcufhYdnaAaL9hmbaYcFeGce0mbahaifydbaH9hmekdndnaAclSmbaLcl9hmekdnaYcFeGce0mbahaifydbaH9hmdkaLcufcFeGce0mbagawfydbaO9hmekaDaEcx2fgAaHaOa8KcFeGgYEBdlaAaOaHaYEBdbaAaYa8AGcb9hBdwaEcefhEkaeclfgecx9hmbkdna5cifg5ad9pmba8Fcxfh8FaEcifaT9nmekkaETmdcbhiinJbbbbJbbjZaqaQaDaicx2fgAydlgKaAydbgYaAydwgHEgLcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaYaKaHEg8Fcx2fgHIdwgRNaeIdzaHIdbg8PNaeIdaMg8Sa8SMMaRNaeIdlaHIdlg8RNaeIdCaRNaeId3Mg8Sa8SMMa8RNaeIdba8PNaeIdxa8RNaeIdKMg8Sa8SMMa8PNaeId8KMMM:lNh80JbbbbJbbjZaqaQaYcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaKcx2fgHIdwg8VNaeIdzaHIdbg8WNaeIdaMg8Sa8SMMa8VNaeIdlaHIdlg8UNaeIdCa8VNaeId3Mg8Sa8SMMa8UNaeIdba8WNaeIdxa8UNaeIdKMg8Sa8SMMa8WNaeId8KMMM:lNh8YaAcwfh3aAclfhwdna8JTmbavaYc8S2fgOIdwa8VNaOIdza8WNaOIdaMg8Sa8SMMa8VNaOIdla8UNaOIdCa8VNaOId3Mg8Sa8SMMa8UNaOIdba8WNaOIdxa8UNaOIdKMg8Sa8SMMa8WNaOId8KMMMh8SayaKa8J2cdtfhHaraYa8J2cltfheaOIdyh8Xa8JhOinaHIdbgIaIa8XNaecxfIdba8VaecwfIdbNa8WaeIdbNa8UaeclfIdbNMMMgIaIM:tNa8SMh8SaHclfhHaeczfheaOcufgOmbkavaLc8S2fgOIdwaRNaOIdza8PNaOIdaMgIaIMMaRNaOIdla8RNaOIdCaRNaOId3MgIaIMMa8RNaOIdba8PNaOIdxa8RNaOIdKMgIaIMMa8PNaOId8KMMMhIaya8Fa8J2cdtfhHaraLa8J2cltfheaOIdyh8Wa8JhOinaHIdbg8Va8Va8WNaecxfIdbaRaecwfIdbNa8PaeIdbNa8RaeclfIdbNMMMg8Va8VM:tNaIMhIaHclfhHaeczfheaOcufgOmbka80aI:lMh80a8Ya8S:lMh8YkawaKa8Fa8Ya809FgeEBdbaAaYaLaeEBdba3a8Ya80aeEUdbaicefgiaE9hmbkasc;Wbfcbcj;qbz:ljjjb8Aa6heaEhHinasc;WbfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinasc;WbfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea6hHinasc;WbfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdbaSaOcdtfaeBdbaHcxfhHaEaecefge9hmbkadak9RgOci9Uh9kdnalTmbcbhea8MhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh0a9hcbalz:ljjjbh9maOcO9Uh9na9kce4h9oasydwh9pcbh8KcbhwdninaDaSawcdtfydbcx2fg3Idwg8Sac9Emea8Ka9k9pmeJFFuuhIdna9oaE9pmbaDaSa9ocdtfydbcx2fIdwJbb;aZNhIkdna8SaI9ETmba8San9ETmba8Ka9n0mdkdna9maQa3ydlgicdtg9qfydbgAfg9rRbba9maQa3ydbgLcdtg9sfydbgHfg9tRbbVmbaXaLfRbbh9udna9eaHcdtfgeclfydbgOaeydbgeSmbaOae9RhKa9paecitfheaaaAcx2fg8Lcwfh5a8Lclfh9vaaaHcx2fg8Acwfh9wa8Aclfh9xcbhHceh8Fdnindna8MaeydbcdtfydbgOaASmba8MaeclfydbcdtfydbgYaASmbaOaYSmbaaaYcx2fgYIdbaaaOcx2fgOIdbg8V:tg8Sa9xIdbaOIdlgR:tg8WNa8AIdba8V:tg8UaYIdlaR:tgIN:tg8Pa8Sa9vIdbaR:tg8XNa8LIdba8V:tg80aIN:tgRNaIa9wIdbaOIdwg8R:tg8YNa8WaYIdwa8R:tg8VN:tg8WaIa5Idba8R:tg81Na8Xa8VN:tgINa8Va8UNa8Ya8SN:tg8Ra8Va80Na81a8SN:tg8SNMMa8Pa8PNa8Wa8WNa8Ra8RNMMaRaRNaIaINa8Sa8SNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaK6h8FaKaH9hmbkka8FceGTmba9ocefh9oxeka3cwfhHdndndndna9uc9:fPdebdkaLheina8MaecdtgefaiBdba8EaefydbgeaL9hmbxikkdnagahaha9sfydbaiSEa8Ea9sfydbgLcdtfydbgecu9hmba8Ea9qfydbheka8Ma9sfaiBdbaehika8MaLcdtfaiBdbka9tce86bba9rce86bbaHIdbg8Sanana8S9DEhna0cefh0cecda9uceSEa8Kfh8KkawcefgwaE9hmbkka0TmddnalTmbcbhKcbhiindna8MaicdtgefydbgOaiSmbaQaOcdtfydbh8FdnaiaQaefydb9hg3mbaqa8Fc8S2fgeaqaic8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyka8JTmbavaOc8S2fgeavaic8S2gwfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9iaO2hLarhHa8JhAinaHaLfgeaHaKfgOIdbaeIdbMUdbaeclfgYaOclfIdbaYIdbMUdbaecwfgYaOcwfIdbaYIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbka3mbJbbbbJbbjZaqawfgeIdyg8S:va8SJbbbb9BEaeIdwaaa8Fcx2fgHIdwg8SNaeIdzaHIdbgINaeIdaMg8Va8VMMa8SNaeIdlaHIdlg8VNaeIdCa8SNaeId3Mg8Sa8SMMa8VNaeIdbaINaeIdxa8VNaeIdKMg8Sa8SMMaINaeId8KMMM:lNg8SaBaBa8S9DEhBkaKa9ifhKaicefgial9hmbkcbhHahheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOahaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHagheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOagaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkkaBana8JEhBcbhYabhecbhKindna8MaeydbcdtfydbgHa8MaeclfydbcdtfydbgOSmbaHa8MaecwfydbcdtfydbgASmbaOaASmbabaYcdtfgLaHBdbaLcwfaABdbaLclfaOBdbaYcifhYkaecxfheaKcifgKad6mbkdndna9cTmbaYak9nmba8ZaB9FTmbcbhdabhecbhHindnaoaCaeydbgOcdtfydbcdtfIdbaB9ETmbabadcdtfgAaOBdbaAclfaeclfydbBdbaAcwfaecwfydbBdbadcifhdkaecxfheaHcifgHaY6mbkJFFuuh8ZaJTmeaoheaJhHJFFuuh8SinaeIdbgIa8Sa8SaI9EEg8Va8SaIaB9EgOEh8Sa8Va8ZaOEh8ZaeclfheaHcufgHmbxdkkaYhdkadak0mbxdkkasclfabadalaQz:cjjjbkdndnadak0mbadhOxekdna9cmbadhOxekdna8Zac9FmbadhOxekina8ZJbb;aZNg8Saca8Sac9DEh8VJbbbbh8SdnaJTmbaoheaJhHinaeIdbgIa8SaIa8V9FEa8SaIa8S9EEh8SaeclfheaHcufgHmbkkcbhOabhecbhHindnaoaCaeydbgAcdtfydbcdtfIdba8V9ETmbabaOcdtfgYaABdbaYclfaeclfydbBdbaYcwfaecwfydbBdbaOcifhOkaecxfheaHcifgHad6mbkJFFuuh8ZdnaJTmbaoheaJhHJFFuuhIinaeIdbgRaIaIaR9EEg8PaIaRa8V9EgAEhIa8Pa8ZaAEh8ZaeclfheaHcufgHmbkkdnaOad9hmbadhOxdka8Sanana8S9DEhnaOak9nmeaOhda8Zac9FmbkkdnamcjjjjlGTmbazmbaOTmbcbhQabheinaXaeydbgAfRbbc3thKaecwfgLydbhHdndnahaAcdtg8FfydbaeclfgiydbgCSmbcbhYagaCcdtfydbaA9hmekcjjjj94hYkaeaKaYVaAVBdbaXaCfRbbc3thKdndnahaCcdtfydbaHSmbcbhYagaHcdtfydbaC9hmekcjjjj94hYkaiaKaYVaCVBdbaXaHfRbbc3thYdndnahaHcdtfydbaASmbcbhCaga8FfydbaH9hmekcjjjj94hCkaLaYaCVaHVBdbaecxfheaQcifgQaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPa83an:rNUdbkasyd2gecdtascxffc98fhHdninaeTmeaHydbcbyd;O1jjbH:bjjjbbaHc98fhHaecufhexbkkasc;W;qbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk:nCoDud99rue99lul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd;S1jjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbh5cbh8Eindna3axa8EcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5a8Ecefg8Ead9hmbxdkkazcFeasz:ljjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8FaD:Y:tgaa8FaK:Y:tgha5:ZggaH:tNNNaOaH:tahNa8Aag:tNa8AaH:taaNagaO:tNM:va8FMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg8EBdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbhDcbh5inaxa5cdtgYfydbgCcm4aC7c:v;t;h;Ev2gics4ai7hecbhidndnina3aeaAGgmcdtfgEydbgecuSmednaxaecdtgEfydbaCSmbaicefgiamfheaiaA9nmekka8EaEfydbhixekaEa5BdbaDhiaDcefhDka8EaYfaiBdba5cefg5ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhEavcd4hxdnadTmbdnalTmbaxcdth3a8EhCalheaqhmadhAinaEaCydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaea3fheamcxfhmaAcufgAmbxdkka8EhmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbg3Bd8KaecFeaYz:ljjjbh5dnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaEa8EydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna5aAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka8Eclfh8EaeaxfheaqcxfhqadaCcefgC9hmbkkaba5aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oeeebeebebbeeebebbbbbebebbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbbbbbbbbbbc;OwkxebbbdbbbjNbb"), {}).then(function(r) {
2485
- (c = r.instance).exports.__wasm_call_ctors();
2486
+ (d = r.instance).exports.__wasm_call_ctors();
2486
2487
  });
2487
2488
  function t(r) {
2488
2489
  if (!r) throw new Error("Assertion failed");
@@ -2490,28 +2491,28 @@ var Vt = function() {
2490
2491
  function A(r) {
2491
2492
  return new Uint8Array(r.buffer, r.byteOffset, r.byteLength);
2492
2493
  }
2493
- function i(r, o, n, b, d, g, l, h) {
2494
- var f = c.exports.sbrk, I = f(4 * h), m = f(n * b), u = f(n * g), C = new Uint8Array(c.exports.memory.buffer);
2495
- C.set(A(o), m), d && C.set(A(d), u);
2496
- var B = r(I, m, n, b, u, g, l, h);
2497
- new Uint8Array(c.exports.memory.buffer);
2494
+ function i(r, n, o, c, b, g, l, h) {
2495
+ var f = d.exports.sbrk, I = f(4 * h), m = f(o * c), u = f(o * g), C = new Uint8Array(d.exports.memory.buffer);
2496
+ C.set(A(n), m), b && C.set(A(b), u);
2497
+ var B = r(I, m, o, c, u, g, l, h);
2498
+ new Uint8Array(d.exports.memory.buffer);
2498
2499
  var w = new Uint32Array(B);
2499
2500
  return A(w).set(C.subarray(I, I + 4 * B)), f(I - f(0)), w;
2500
2501
  }
2501
2502
  var s = { LockBorder: 1, Sparse: 2, ErrorAbsolute: 4, Prune: 8, _InternalDebug: 1 << 30 };
2502
2503
  })(), function() {
2503
- var c, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2504
+ var d, e = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
2504
2505
  if (typeof WebAssembly != "object") return { supported: !1 };
2505
2506
  var a = WebAssembly.instantiate(function(s) {
2506
- for (var r = new Uint8Array(s.length), o = 0; o < s.length; ++o) {
2507
- var n = s.charCodeAt(o);
2508
- r[o] = n > 96 ? n - 97 : n > 64 ? n - 39 : n + 4;
2507
+ for (var r = new Uint8Array(s.length), n = 0; n < s.length; ++n) {
2508
+ var o = s.charCodeAt(n);
2509
+ r[n] = o > 96 ? o - 97 : o > 64 ? o - 39 : o + 4;
2509
2510
  }
2510
- var b = 0;
2511
- for (o = 0; o < s.length; ++o) r[b++] = r[o] < 60 ? e[r[o]] : 64 * (r[o] - 60) + r[++o];
2512
- return r.buffer.slice(0, b);
2511
+ var c = 0;
2512
+ for (n = 0; n < s.length; ++n) r[c++] = r[n] < 60 ? e[r[n]] : 64 * (r[n] - 60) + r[++n];
2513
+ return r.buffer.slice(0, c);
2513
2514
  }("b9H79Tebbbefx9Geueu9Geub9Gbb9Giuuueu9Gkuuuuuuuuuu99eu9Gvuuuuueu9Gkuuuuuuuuu9999eu9Gruuuuuuub9Gkuuuuuuuuuuueu9Gouuuuuub9Giuuub9GluuuubiOHdilvorwDqrkbiibeilve9Weiiviebeoweuec:q:Odkr:Yewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bd39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbql79IV9RbkDwebcekdsPq;L9kHdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:oAlPue99eux998Jjjjjbc:We9Rgk8Kjjjjbakc;mbfcbc;Kbz:njjjb8AakcuaocdtgxaocFFFFi0Egmcbyd:e1jjbHjjjjbbgPBd9makceBd:SeakaPBdnakamcbyd:e1jjbHjjjjbbgsBd9qakcdBd:SeakasBd9eakcualcdtalcFFFFi0Ecbyd:e1jjbHjjjjbbgzBd9uakazBd9iakciBd:SeaPcbaxz:njjjbhHalci9UhOdnalTmbaihPalhAinaHaPydbcdtfgCaCydbcefBdbaPclfhPaAcufgAmbkkdnaoTmbcbhPashAaHhCaohXinaAaPBdbaAclfhAaCydbaPfhPaCclfhCaXcufgXmbkkdnalci6mbcbhPaihAinaAcwfydbhCaAclfydbhXasaAydbcdtfgQaQydbgQcefBdbazaQcdtfaPBdbasaXcdtfgXaXydbgXcefBdbazaXcdtfaPBdbasaCcdtfgCaCydbgCcefBdbazaCcdtfaPBdbaAcxfhAaOaPcefgP9hmbkkdnaoTmbaHhAashPaohCinaPaPydbaAydb9RBdbaAclfhAaPclfhPaCcufgCmbkkakamcbyd:e1jjbHjjjjbbgPBd9yakclBd:SeaPaHaxz:mjjjbhmakaOcbyd:e1jjbHjjjjbbgPBd9CakcvBd:SeaPcbaOz:njjjbhLakcuaOcK2alcjjjjd0Ecbyd:e1jjbHjjjjbbgKBd9GakcoBd:SeJbbbbhYdnalci6g8Ambarcd4hxaihAaKhPaOhrJbbbbhEinavaAclfydbax2cdtfgCIdlh3avaAydbax2cdtfgXIdlhYavaAcwfydbax2cdtfgQIdlh5aCIdwh8EaXIdwh8FaQIdwhaaPaCIdbghaXIdbggMaQIdbg8JMJbbnn:vUdbaPclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8KaCIdwh8LaXIdwh8MaPcxfa3aY:tg3aaa8F:tgaNa5aY:tg5a8Ea8F:tg8EN:tgYJbbbbJbbjZahag:tgha5Na8Jag:tgga3N:tg8Fa8FNaYaYNa8EagNaaahN:tgYaYNMM:rgg:vagJbbbb9BEg3NUdbaPczfaYa3NUdbaPcCfa8Fa3NUdbaPcwfa8Ka8Ma8LMMJbbnn:vUdbaEagMhEaAcxfhAaPcKfhParcufgrmbkaEaO:Z:vJbbbZNhYkakcuaOcdtalcFFFF970Ecbyd:e1jjbHjjjjbbgCBd9KakcrBd:SeaYaD:ZN:rhYdna8AmbcbhPaChAinaAaPBdbaAclfhAaOaPcefgP9hmbkkaYJbbbZNh8MakcuaOcltalcFFFFd0Ecbyd:e1jjbHjjjjbbg8ABd9OakcwBd:Secba8AaKaCaOz:djjjb8Aakaocbyd:e1jjbHjjjjbbgPBd2aPcFeaoz:njjjbhrakc8Wfcwf9cb83ibak9cb83i8WcbhPJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgcbhlinJbbbbh3dnaPTmbJbbjZaP:Z:vh3kaka8Ea3NgaUdaaka5a3NghUd3akaEa3Ng8JUdKJbbbbh3dnagagNaYaYNa8Fa8FNMMg8KJbbbb9BmbJbbjZa8K:r:vh3kakaga3NUd8Saka8Fa3NUdyakaYa3NUd8Kdndndnakyd8WgQakydUgAakcKfaeaiakc;abfaKamara8Maqz:ejjjbgCcuSmbdnaPaD9pmbaAaraiaCcx2fgXydbfRbbcFeSfaraXclfydbfRbbcFeSfaraXcwfydbfRbbcFeSfaw9nmdkaQaAcbaeaiakc;abfaKamara8MJbbbbz:ejjjbgCcu9hmekakaaUdCakahUdzaka8JUdxakcuBdwakcFFF;7rBdla8AcbaKaLakcxfakcwfakclfz:fjjjbakydwgCcuSmekdnakc8WfaiaCcx2fgOydbgPaOclfydbgAaOcwfydbgXarabaeadalawaDz:gjjjbTmbalcefhlJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgkamaPcdtfgPaPydbcufBdbamaAcdtfgPaPydbcufBdbamaXcdtfgPaPydbcufBdbcbhXinazasaOaXcdtfydbcdtgAfydbcdtfgxhPaHaAfgvydbgQhAdnaQTmbdninaPydbaCSmeaPclfhPaAcufgATmdxbkkaPaxaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbkaKaCcK2fgPIdbh3aPIdlhaaPIdwhhaPIdxh8JaPIdzh8KaPIdCh8LaLaCfce86bbaga8LMhga8Fa8KMh8FaYa8JMhYa8EahMh8Ea5aaMh5aEa3MhEakyd88hPxekkdnaPTmbdnakyd80gAaPci2fgCciGTmbadaCfcbaPaAcu7fciGcefz:njjjb8AkabalcltfgPak8Pi8W83dbaPcwfakc8Wfcwf8Pib83dbalcefhlkcahPdninaPc98Smeakc;mbfaPfydbcbydj1jjbH:bjjjbbaPc98fhPxbkkakc:Wef8Kjjjjbalk;3vivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbaeabcitfgrarydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark;Bloeue99vue99Due99dndnaembcuhkxekJbbjZaq:thxaiabcdtfhmavydbhPavydlhsavydwhzcbhHJFFuuhOcvhbcuhkindnaPamaHcdtfydbcdtgvfydbgATmbazasavfydbcdtfhiindndnawalaiydbgCcx2fgvclfydbgXfRbbcFeSawavydbgQfRbbcFeSfawavcwfydbgLfRbbcFeSfgKmbcbhvxekcehvaraQcdtfydbgYceSmbcehvaraXcdtfydbg8AceSmbcehvaraLcdtfydbgEceSmbdna8AcdSaYcdSfaEcdSfcd6mbaKcefhvxekaKcdfhvkdnavab9kmbdndnadTmbaoaCcK2fgQIdwadIdw:tg3a3NaQIdbadIdb:tg3a3NaQIdladIdl:tg3a3NMM:raD:vaxNJbbjZMJ9VO:d86JbbjZaQIdCadIdCNaQIdxadIdxNaQIdzadIdzNMMaqN:tg3a3J9VO:d869DENh3xekaraQcdtfydbaraXcdtfydbfaraLcdtfydbfc99f:Zh3kaCakavab6a3aO9DVgQEhkavabaQEhba3aOaQEhOkaiclfhiaAcufgAmbkkaHcefgHae9hmbkkakk;bddlue99dndndnabaecitfgrydlgwciGgDci9hmbarclfhqxekinabcbawcd4gwalaDcdtfIdbabaecitfIdb:tgkJbbbb9FEgDaecefgefadaialavaoz:fjjjbak:laoIdb9FTmdabaDaw7aefgecitfgrydlgwciGgDci9hmbkarclfhqkabaecitfhecuhbindnaiaeydbgDfRbbmbadaDcK2fgrIdwalIdw:tgkakNarIdbalIdb:tgkakNarIdlalIdl:tgkakNMM:rgkaoIdb9DTmbaoakUdbavaDBdbaqydbhwkaecwfheabcefgbawcd46mbkkk;yleoudnaladfgkRbbcFeSalaefgxRbbgmcFeSfabydwgPfalaifgsRbbcFeSfaD0abydxaq9pVgzce9hmbavawcltfgmab8Pdb83dbamcwfabcwfgm8Pdb83dbdndnamydbmbcbhqxekcbhDaohminalamabydbcdtfydbfcFe86bbamclfhmaDcefgDabydwgq6mbkkdnabydxglci2gDabydlgmfgPciGTmbaraPfcbalamcu7fciGcefz:njjjb8Aabydxci2hDabydlhmabydwhqkab9cb83dwababydbaqfBdbabaDcifc98GamfBdlaxRbbhmcbhPkdnamcFeGcFe9hmbaxaP86bbababydwgmcefBdwaoabydbcdtfamcdtfaeBdbkdnakRbbcFe9hmbakabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfadBdbkdnasRbbcFe9hmbasabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfaiBdbkarabydlfabydxci2faxRbb86bbarabydlfabydxci2fcefakRbb86bbarabydlfabydxci2fcdfasRbb86bbababydxcefBdxazk;Ckovud99euv99eul998Jjjjjbc:G;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:G:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaocafawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeao9cb83iKao9cb83izaoczfaocafawci2z1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:G:qefawz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:G:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:G:qefheaocafhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabazUd3abc8KfaxUdbabcafasUdbabcKfaCaxaPN:tUdbabcCfaXasaPN:tUdbabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabc8Ufae86bbdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabcRfav86bbdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:G;aef8Kjjjjbk:mvdouq99cbhi8Jjjjjbca9RglczfcwfcbBdbal9cb83izalcwfcbBdbal9cb83ibdnadTmbcbhvinaeaifhocbhrinalczfarfgwavawydbgwaoarfIdbgDaearawcx2ffIdb9DEBdbalarfgwavawydbgwaDaearawcx2ffIdb9EEBdbarclfgrcx9hmbkaicxfhiavcefgvad9hmbkkJbbbbhDcbhrcbhicbhvinaealarfydbcx2fgwIdwaealczfarfydbcx2fgoIdw:tgqaqNawIdbaoIdb:tgqaqNawIdlaoIdl:tgqaqNMMgqaDaqaD9EgwEhDavaiawEhiarclfhravcefgvci9hmbkaealczfaicdtgvfydbcx2fgrIdwaealavfydbcx2fglIdwMJbbbZNhqarIdlalIdlMJbbbZNhkarIdbalIdbMJbbbZNhxaD:rJbbbZNhDdnadTmbindnaecwfIdbgmaq:tgPaPNaeIdbgsax:tgPaPNaeclfIdbgzak:tgPaPNMMgPaDaDN9ETmbaqaDaP:rgH:vJbbbZNJbbbZMgPNamJbbjZaP:tgONMhqakaPNazaONMhkaxaPNasaONMhxaDaHMJbbbZNhDkaecxfheadcufgdmbkkabaDUdxabaqUdwabakUdlabaxUdbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Ylequ8Jjjjjbcjx9Rgl8Kjjjjbcbhvalcjqfcbaiz:njjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjqfaDcefRbbfRbb9RcFeGci6aoalcjqfaDRbbfRbb9RcFeGci6faoalcjqfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:qjjjb8Aakalcjqffaocefgo86bbaxalcjqffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjqffao86bbarcifhravcefgvad9hmbkalcFeaiz:njjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkfgwRbbgDcFe9hmbawax86bbaocjdfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjdfaDz:mjjjb8Aalcjxf8Kjjjjbk9teiucbcbyd11jjbgeabcifc98GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd11jjbgeabcrfc94GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd11jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd11jjbfgdBd11jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkkAebcjwkxebbbdbbbzNbb"), {}).then(function(s) {
2514
- (c = s.instance).exports.__wasm_call_ctors();
2515
+ (d = s.instance).exports.__wasm_call_ctors();
2515
2516
  });
2516
2517
  function t(s) {
2517
2518
  if (!s) throw new Error("Assertion failed");
@@ -2520,16 +2521,16 @@ var Vt = function() {
2520
2521
  return new Uint8Array(s.buffer, s.byteOffset, s.byteLength);
2521
2522
  }
2522
2523
  function i(s) {
2523
- var r = new Float32Array(c.exports.memory.buffer, s, 12);
2524
+ var r = new Float32Array(d.exports.memory.buffer, s, 12);
2524
2525
  return { centerX: r[0], centerY: r[1], centerZ: r[2], radius: r[3], coneApexX: r[4], coneApexY: r[5], coneApexZ: r[6], coneAxisX: r[7], coneAxisY: r[8], coneAxisZ: r[9], coneCutoff: r[10] };
2525
2526
  }
2526
2527
  }();
2527
- let te = 0;
2528
- class Ni {
2528
+ let ae = 0;
2529
+ class Ti {
2529
2530
  constructor(e) {
2530
- if (this.downloadParallelism = e.downloadParallelism == null ? 8 : e.downloadParallelism, this.timeout = e.timeout != null ? e.timeout : 5e3, this.renderer = e.renderer, this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.proxy = e.proxy, e && (this.meshCallback = e.meshCallback, this.pointsCallback = e.pointsCallback, e.maxCachedItems != null && (this.maxCachedItems = e.maxCachedItems)), this.gltfLoader = new Dt(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
2531
+ if (this.downloadParallelism = e.downloadParallelism == null ? 8 : e.downloadParallelism, this.timeout = e.timeout != null ? e.timeout : 5e3, this.renderer = e.renderer, this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.proxy = e.proxy, e && (this.meshCallback = e.meshCallback, this.pointsCallback = e.pointsCallback, e.maxCachedItems != null && (this.maxCachedItems = e.maxCachedItems)), this.gltfLoader = new St(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
2531
2532
  else {
2532
- const a = new Rt();
2533
+ const a = new Ft();
2533
2534
  a.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"), this.dracoLoader = a, this.gltfLoader.setDRACOLoader(a), this.gltfLoader.hasDracoLoader = !0;
2534
2535
  }
2535
2536
  if (e && e.ktx2Loader) this.gltfLoader.setKTX2Loader(e.ktx2Loader), this.hasKTX2Loader = !0;
@@ -2537,11 +2538,11 @@ class Ni {
2537
2538
  const a = new L();
2538
2539
  a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(e.renderer), this.ktx2loader = a, this.gltfLoader.setKTX2Loader(a), this.gltfLoader.hasKTX2Loader = !0;
2539
2540
  }
2540
- this.gltfLoader.setMeshoptDecoder(Vt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new jt(this.gltfLoader), this.splatsDecoder = new XA(this.gltfLoader, this.renderer), this.cache = new kt(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
2541
+ this.gltfLoader.setMeshoptDecoder(zt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new xt(this.gltfLoader), this.splatsDecoder = new zA(this.gltfLoader, this.renderer), this.cache = new wt(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
2541
2542
  }
2542
2543
  update() {
2543
2544
  const e = this;
2544
- te < e.downloadParallelism && e._download(), e._loadBatch();
2545
+ ae < e.downloadParallelism && e._download(), e._loadBatch();
2545
2546
  }
2546
2547
  _scheduleDownload(e) {
2547
2548
  this.downloads.unshift(e);
@@ -2572,13 +2573,13 @@ class Ni {
2572
2573
  if (this.nextDownloads.length > 0) return;
2573
2574
  let t, A = 0, i = Number.MAX_SAFE_INTEGER, s = -1;
2574
2575
  for (let r = this.downloads.length - 1; r >= 0; r--) {
2575
- const o = this.downloads[r].distanceFunction();
2576
- o <= e && (e = o, a = r), A = Math.max(this.downloads[r].level), this.downloads[r].loadingStrategy != "IMMEDIATE" && this.downloads[r].level < i && (i = this.downloads[r].level, s = r);
2576
+ const n = this.downloads[r].distanceFunction();
2577
+ n <= e && (e = n, a = r), A = Math.max(this.downloads[r].level), this.downloads[r].loadingStrategy != "IMMEDIATE" && this.downloads[r].level < i && (i = this.downloads[r].level, s = r);
2577
2578
  }
2578
2579
  if (A > i + 4 ? t = this.downloads.splice(s, 1).pop() : a >= 0 && (t = this.downloads.splice(a, 1).pop()), t) {
2579
2580
  this.nextDownloads.push(t);
2580
2581
  const r = t.getSiblings();
2581
- for (let o = this.downloads.length - 1; o >= 0; o--) r.map((n) => n.uuid).includes(this.downloads[o].uuid) && this.nextDownloads.push(this.downloads.splice(o, 1).pop());
2582
+ for (let n = this.downloads.length - 1; n >= 0; n--) r.map((o) => o.uuid).includes(this.downloads[n].uuid) && this.nextDownloads.push(this.downloads.splice(n, 1).pop());
2582
2583
  }
2583
2584
  }
2584
2585
  _getNextReady() {
@@ -2597,8 +2598,8 @@ class Ni {
2597
2598
  }
2598
2599
  }
2599
2600
  }
2600
- get(e, a, t, A, i, s, r, o, n, b, d, g) {
2601
- const l = this, h = ct(t), f = new AbortController();
2601
+ get(e, a, t, A, i, s, r, n, o, c, b, g) {
2602
+ const l = this, h = nt(t), f = new AbortController();
2602
2603
  if (e.signal.addEventListener("abort", () => {
2603
2604
  l.register[h] && Object.keys(l.register[h]).length != 0 || f.abort("user abort");
2604
2605
  }), !(t.includes(".b3dm") || t.includes(".json") || t.includes(".gltf") || t.includes(".glb"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
@@ -2607,31 +2608,31 @@ class Ni {
2607
2608
  let I;
2608
2609
  t.includes(".b3dm") ? I = () => {
2609
2610
  var m;
2610
- m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, m().then((u) => {
2611
+ m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), ae++, m().then((u) => {
2611
2612
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2612
2613
  return u.arrayBuffer();
2613
2614
  }).then((u) => this.b3dmDecoder.parseB3DM(u, (C) => {
2614
- l.meshCallback(C, d);
2615
- }, n, b)).then((u) => {
2615
+ l.meshCallback(C, b);
2616
+ }, o, c)).then((u) => {
2616
2617
  l.cache.put(h, u), this._meshReceived(l.cache, l.register, h, i, s, r, a), l._checkSize();
2617
2618
  }).catch((u) => {
2618
2619
  }).finally(() => {
2619
- te--;
2620
+ ae--;
2620
2621
  });
2621
2622
  } : t.includes(".glb") || t.includes(".gltf") ? I = g ? () => {
2622
2623
  var m;
2623
- m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, m().then((u) => {
2624
+ m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), ae++, m().then((u) => {
2624
2625
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2625
2626
  return u.arrayBuffer();
2626
- }).then((u) => this.splatsDecoder.parseSplats(u, n, b, g)).then((u) => {
2627
+ }).then((u) => this.splatsDecoder.parseSplats(u, o, c, g)).then((u) => {
2627
2628
  l.cache.put(h, u), l._meshReceived(l.cache, l.register, h, i, s, r, a), l._checkSize();
2628
2629
  }).catch((u) => {
2629
2630
  }).finally(() => {
2630
- te--;
2631
+ ae--;
2631
2632
  });
2632
2633
  } : () => {
2633
2634
  var m;
2634
- m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, m().then((u) => {
2635
+ m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), ae++, m().then((u) => {
2635
2636
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2636
2637
  return u.arrayBuffer();
2637
2638
  }).then(async (u) => {
@@ -2642,26 +2643,26 @@ class Ni {
2642
2643
  }, 10);
2643
2644
  });
2644
2645
  }(this.gltfLoader), this.gltfLoader.parse(u, null, (C) => {
2645
- C.scene.asset = C.asset, n && C.scene.applyMatrix4(this.zUpToYUpMatrix), C.scene.traverse((B) => {
2646
- B.isMesh && (b && B.applyMatrix4(this.zUpToYUpMatrix), l.meshCallback && l.meshCallback(B, d)), B.isPoints && l.pointsCallback && l.pointsCallback(B, d);
2646
+ C.scene.asset = C.asset, o && C.scene.applyMatrix4(this.zUpToYUpMatrix), C.scene.traverse((B) => {
2647
+ B.isMesh && (c && B.applyMatrix4(this.zUpToYUpMatrix), l.meshCallback && l.meshCallback(B, b)), B.isPoints && l.pointsCallback && l.pointsCallback(B, b);
2647
2648
  }), l.cache.put(h, C.scene), l._meshReceived(l.cache, l.register, h, i, s, r, a), l._checkSize();
2648
2649
  });
2649
2650
  }).catch((u) => {
2650
2651
  u !== "user abort" && u.code;
2651
2652
  }).finally(() => {
2652
- te--;
2653
+ ae--;
2653
2654
  });
2654
2655
  } : t.includes(".json") && (I = () => {
2655
2656
  var m;
2656
- m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), te++, m().then((u) => {
2657
+ m = l.proxy ? () => fetch(l.proxy, { method: "POST", body: t, signal: f.signal }) : () => fetch(t, { signal: f.signal }), ae++, m().then((u) => {
2657
2658
  if (!u.ok) throw console.error("could not load tile with path : " + t), new Error(`couldn't load "${t}". Request failed with status ${u.status} : ${u.statusText}`);
2658
2659
  return u.json();
2659
- }).then((u) => Ua(u, t)).then((u) => {
2660
+ }).then((u) => Ra(u, t)).then((u) => {
2660
2661
  l.cache.put(h, u), l._meshReceived(l.cache, l.register, h), l._checkSize();
2661
2662
  }).catch((u) => {
2662
2663
  console.error(u);
2663
2664
  }).finally(() => {
2664
- te--;
2665
+ ae--;
2665
2666
  });
2666
2667
  }), this._scheduleDownload({
2667
2668
  shouldDoDownload: () => !0,
@@ -2669,7 +2670,7 @@ class Ni {
2669
2670
  distanceFunction: i,
2670
2671
  getSiblings: s,
2671
2672
  level: r,
2672
- loadingStrategy: o,
2673
+ loadingStrategy: n,
2673
2674
  uuid: a
2674
2675
  });
2675
2676
  }
@@ -2679,7 +2680,7 @@ class Ni {
2679
2680
  this.maxCachedItems = 0, this._checkSize(), this.maxCachedItems = e;
2680
2681
  }
2681
2682
  invalidate(e, a) {
2682
- const t = ct(e);
2683
+ const t = nt(e);
2683
2684
  this.register[t] && setTimeout(() => {
2684
2685
  this.register && this.register[t] && (delete this.register[t][a], this._checkSize());
2685
2686
  }, this.timeout);
@@ -2706,8 +2707,8 @@ class Ni {
2706
2707
  }));
2707
2708
  }
2708
2709
  }
2709
- function ct(c) {
2710
- for (var e = c.split("/"), a = [], t = 0, A = 0; A < e.length; A++) {
2710
+ function nt(d) {
2711
+ for (var e = d.split("/"), a = [], t = 0, A = 0; A < e.length; A++) {
2711
2712
  var i = e[A];
2712
2713
  i !== "." && i !== "" && i !== ".." ? a[t++] = i : i === ".." && t > 0 && t--;
2713
2714
  }
@@ -2716,146 +2717,149 @@ function ct(c) {
2716
2717
  for (A = 0; A < t; A++) s += "/" + a[A];
2717
2718
  return s;
2718
2719
  }
2719
- function Y(c) {
2720
- if (typeof c != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(c));
2721
- }
2722
- function bt(c, e) {
2723
- for (var a, t = "", A = 0, i = -1, s = 0, r = 0; r <= c.length; ++r) {
2724
- if (r < c.length) a = c.charCodeAt(r);
2725
- else {
2726
- if (a === 47) break;
2727
- a = 47;
2728
- }
2729
- if (a === 47) {
2730
- if (!(i === r - 1 || s === 1)) if (i !== r - 1 && s === 2) {
2731
- if (t.length < 2 || A !== 2 || t.charCodeAt(t.length - 1) !== 46 || t.charCodeAt(t.length - 2) !== 46) {
2732
- if (t.length > 2) {
2733
- var o = t.lastIndexOf("/");
2734
- if (o !== t.length - 1) {
2735
- o === -1 ? (t = "", A = 0) : A = (t = t.slice(0, o)).length - 1 - t.lastIndexOf("/"), i = r, s = 0;
2720
+ var ot, ct, bt, be = function() {
2721
+ if (ct) return ot;
2722
+ function d(t) {
2723
+ if (typeof t != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(t));
2724
+ }
2725
+ function e(t, A) {
2726
+ for (var i, s = "", r = 0, n = -1, o = 0, c = 0; c <= t.length; ++c) {
2727
+ if (c < t.length) i = t.charCodeAt(c);
2728
+ else {
2729
+ if (i === 47) break;
2730
+ i = 47;
2731
+ }
2732
+ if (i === 47) {
2733
+ if (!(n === c - 1 || o === 1)) if (n !== c - 1 && o === 2) {
2734
+ if (s.length < 2 || r !== 2 || s.charCodeAt(s.length - 1) !== 46 || s.charCodeAt(s.length - 2) !== 46) {
2735
+ if (s.length > 2) {
2736
+ var b = s.lastIndexOf("/");
2737
+ if (b !== s.length - 1) {
2738
+ b === -1 ? (s = "", r = 0) : r = (s = s.slice(0, b)).length - 1 - s.lastIndexOf("/"), n = c, o = 0;
2739
+ continue;
2740
+ }
2741
+ } else if (s.length === 2 || s.length === 1) {
2742
+ s = "", r = 0, n = c, o = 0;
2736
2743
  continue;
2737
2744
  }
2738
- } else if (t.length === 2 || t.length === 1) {
2739
- t = "", A = 0, i = r, s = 0;
2740
- continue;
2741
2745
  }
2742
- }
2743
- e && (t.length > 0 ? t += "/.." : t = "..", A = 2);
2744
- } else t.length > 0 ? t += "/" + c.slice(i + 1, r) : t = c.slice(i + 1, r), A = r - i - 1;
2745
- i = r, s = 0;
2746
- } else a === 46 && s !== -1 ? ++s : s = -1;
2746
+ A && (s.length > 0 ? s += "/.." : s = "..", r = 2);
2747
+ } else s.length > 0 ? s += "/" + t.slice(n + 1, c) : s = t.slice(n + 1, c), r = c - n - 1;
2748
+ n = c, o = 0;
2749
+ } else i === 46 && o !== -1 ? ++o : o = -1;
2750
+ }
2751
+ return s;
2747
2752
  }
2748
- return t;
2749
- }
2750
- var je = { resolve: function() {
2751
- for (var c, e = "", a = !1, t = arguments.length - 1; t >= -1 && !a; t--) {
2752
- var A;
2753
- t >= 0 ? A = arguments[t] : (c === void 0 && (c = process.cwd()), A = c), Y(A), A.length !== 0 && (e = A + "/" + e, a = A.charCodeAt(0) === 47);
2754
- }
2755
- return e = bt(e, !a), a ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
2756
- }, normalize: function(c) {
2757
- if (Y(c), c.length === 0) return ".";
2758
- var e = c.charCodeAt(0) === 47, a = c.charCodeAt(c.length - 1) === 47;
2759
- return (c = bt(c, !e)).length !== 0 || e || (c = "."), c.length > 0 && a && (c += "/"), e ? "/" + c : c;
2760
- }, isAbsolute: function(c) {
2761
- return Y(c), c.length > 0 && c.charCodeAt(0) === 47;
2762
- }, join: function() {
2763
- if (arguments.length === 0) return ".";
2764
- for (var c, e = 0; e < arguments.length; ++e) {
2765
- var a = arguments[e];
2766
- Y(a), a.length > 0 && (c === void 0 ? c = a : c += "/" + a);
2767
- }
2768
- return c === void 0 ? "." : je.normalize(c);
2769
- }, relative: function(c, e) {
2770
- if (Y(c), Y(e), c === e || (c = je.resolve(c)) === (e = je.resolve(e))) return "";
2771
- for (var a = 1; a < c.length && c.charCodeAt(a) === 47; ++a) ;
2772
- for (var t = c.length, A = t - a, i = 1; i < e.length && e.charCodeAt(i) === 47; ++i) ;
2773
- for (var s = e.length - i, r = A < s ? A : s, o = -1, n = 0; n <= r; ++n) {
2774
- if (n === r) {
2775
- if (s > r) {
2776
- if (e.charCodeAt(i + n) === 47) return e.slice(i + n + 1);
2777
- if (n === 0) return e.slice(i + n);
2778
- } else A > r && (c.charCodeAt(a + n) === 47 ? o = n : n === 0 && (o = 0));
2779
- break;
2753
+ ct = 1;
2754
+ var a = { resolve: function() {
2755
+ for (var t, A = "", i = !1, s = arguments.length - 1; s >= -1 && !i; s--) {
2756
+ var r;
2757
+ s >= 0 ? r = arguments[s] : (t === void 0 && (t = process.cwd()), r = t), d(r), r.length !== 0 && (A = r + "/" + A, i = r.charCodeAt(0) === 47);
2780
2758
  }
2781
- var b = c.charCodeAt(a + n);
2782
- if (b !== e.charCodeAt(i + n)) break;
2783
- b === 47 && (o = n);
2784
- }
2785
- var d = "";
2786
- for (n = a + o + 1; n <= t; ++n) n !== t && c.charCodeAt(n) !== 47 || (d.length === 0 ? d += ".." : d += "/..");
2787
- return d.length > 0 ? d + e.slice(i + o) : (i += o, e.charCodeAt(i) === 47 && ++i, e.slice(i));
2788
- }, _makeLong: function(c) {
2789
- return c;
2790
- }, dirname: function(c) {
2791
- if (Y(c), c.length === 0) return ".";
2792
- for (var e = c.charCodeAt(0), a = e === 47, t = -1, A = !0, i = c.length - 1; i >= 1; --i) if ((e = c.charCodeAt(i)) === 47) {
2793
- if (!A) {
2794
- t = i;
2795
- break;
2759
+ return A = e(A, !i), i ? A.length > 0 ? "/" + A : "/" : A.length > 0 ? A : ".";
2760
+ }, normalize: function(t) {
2761
+ if (d(t), t.length === 0) return ".";
2762
+ var A = t.charCodeAt(0) === 47, i = t.charCodeAt(t.length - 1) === 47;
2763
+ return (t = e(t, !A)).length !== 0 || A || (t = "."), t.length > 0 && i && (t += "/"), A ? "/" + t : t;
2764
+ }, isAbsolute: function(t) {
2765
+ return d(t), t.length > 0 && t.charCodeAt(0) === 47;
2766
+ }, join: function() {
2767
+ if (arguments.length === 0) return ".";
2768
+ for (var t, A = 0; A < arguments.length; ++A) {
2769
+ var i = arguments[A];
2770
+ d(i), i.length > 0 && (t === void 0 ? t = i : t += "/" + i);
2796
2771
  }
2797
- } else A = !1;
2798
- return t === -1 ? a ? "/" : "." : a && t === 1 ? "//" : c.slice(0, t);
2799
- }, basename: function(c, e) {
2800
- if (e !== void 0 && typeof e != "string") throw new TypeError('"ext" argument must be a string');
2801
- Y(c);
2802
- var a, t = 0, A = -1, i = !0;
2803
- if (e !== void 0 && e.length > 0 && e.length <= c.length) {
2804
- if (e.length === c.length && e === c) return "";
2805
- var s = e.length - 1, r = -1;
2806
- for (a = c.length - 1; a >= 0; --a) {
2807
- var o = c.charCodeAt(a);
2808
- if (o === 47) {
2809
- if (!i) {
2810
- t = a + 1;
2811
- break;
2812
- }
2813
- } else r === -1 && (i = !1, r = a + 1), s >= 0 && (o === e.charCodeAt(s) ? --s == -1 && (A = a) : (s = -1, A = r));
2772
+ return t === void 0 ? "." : a.normalize(t);
2773
+ }, relative: function(t, A) {
2774
+ if (d(t), d(A), t === A || (t = a.resolve(t)) === (A = a.resolve(A))) return "";
2775
+ for (var i = 1; i < t.length && t.charCodeAt(i) === 47; ++i) ;
2776
+ for (var s = t.length, r = s - i, n = 1; n < A.length && A.charCodeAt(n) === 47; ++n) ;
2777
+ for (var o = A.length - n, c = r < o ? r : o, b = -1, g = 0; g <= c; ++g) {
2778
+ if (g === c) {
2779
+ if (o > c) {
2780
+ if (A.charCodeAt(n + g) === 47) return A.slice(n + g + 1);
2781
+ if (g === 0) return A.slice(n + g);
2782
+ } else r > c && (t.charCodeAt(i + g) === 47 ? b = g : g === 0 && (b = 0));
2783
+ break;
2784
+ }
2785
+ var l = t.charCodeAt(i + g);
2786
+ if (l !== A.charCodeAt(n + g)) break;
2787
+ l === 47 && (b = g);
2814
2788
  }
2815
- return t === A ? A = r : A === -1 && (A = c.length), c.slice(t, A);
2816
- }
2817
- for (a = c.length - 1; a >= 0; --a) if (c.charCodeAt(a) === 47) {
2818
- if (!i) {
2819
- t = a + 1;
2820
- break;
2789
+ var h = "";
2790
+ for (g = i + b + 1; g <= s; ++g) g !== s && t.charCodeAt(g) !== 47 || (h.length === 0 ? h += ".." : h += "/..");
2791
+ return h.length > 0 ? h + A.slice(n + b) : (n += b, A.charCodeAt(n) === 47 && ++n, A.slice(n));
2792
+ }, _makeLong: function(t) {
2793
+ return t;
2794
+ }, dirname: function(t) {
2795
+ if (d(t), t.length === 0) return ".";
2796
+ for (var A = t.charCodeAt(0), i = A === 47, s = -1, r = !0, n = t.length - 1; n >= 1; --n) if ((A = t.charCodeAt(n)) === 47) {
2797
+ if (!r) {
2798
+ s = n;
2799
+ break;
2800
+ }
2801
+ } else r = !1;
2802
+ return s === -1 ? i ? "/" : "." : i && s === 1 ? "//" : t.slice(0, s);
2803
+ }, basename: function(t, A) {
2804
+ if (A !== void 0 && typeof A != "string") throw new TypeError('"ext" argument must be a string');
2805
+ d(t);
2806
+ var i, s = 0, r = -1, n = !0;
2807
+ if (A !== void 0 && A.length > 0 && A.length <= t.length) {
2808
+ if (A.length === t.length && A === t) return "";
2809
+ var o = A.length - 1, c = -1;
2810
+ for (i = t.length - 1; i >= 0; --i) {
2811
+ var b = t.charCodeAt(i);
2812
+ if (b === 47) {
2813
+ if (!n) {
2814
+ s = i + 1;
2815
+ break;
2816
+ }
2817
+ } else c === -1 && (n = !1, c = i + 1), o >= 0 && (b === A.charCodeAt(o) ? --o == -1 && (r = i) : (o = -1, r = c));
2818
+ }
2819
+ return s === r ? r = c : r === -1 && (r = t.length), t.slice(s, r);
2820
+ }
2821
+ for (i = t.length - 1; i >= 0; --i) if (t.charCodeAt(i) === 47) {
2822
+ if (!n) {
2823
+ s = i + 1;
2824
+ break;
2825
+ }
2826
+ } else r === -1 && (n = !1, r = i + 1);
2827
+ return r === -1 ? "" : t.slice(s, r);
2828
+ }, extname: function(t) {
2829
+ d(t);
2830
+ for (var A = -1, i = 0, s = -1, r = !0, n = 0, o = t.length - 1; o >= 0; --o) {
2831
+ var c = t.charCodeAt(o);
2832
+ if (c !== 47) s === -1 && (r = !1, s = o + 1), c === 46 ? A === -1 ? A = o : n !== 1 && (n = 1) : A !== -1 && (n = -1);
2833
+ else if (!r) {
2834
+ i = o + 1;
2835
+ break;
2836
+ }
2821
2837
  }
2822
- } else A === -1 && (i = !1, A = a + 1);
2823
- return A === -1 ? "" : c.slice(t, A);
2824
- }, extname: function(c) {
2825
- Y(c);
2826
- for (var e = -1, a = 0, t = -1, A = !0, i = 0, s = c.length - 1; s >= 0; --s) {
2827
- var r = c.charCodeAt(s);
2828
- if (r !== 47) t === -1 && (A = !1, t = s + 1), r === 46 ? e === -1 ? e = s : i !== 1 && (i = 1) : e !== -1 && (i = -1);
2829
- else if (!A) {
2830
- a = s + 1;
2838
+ return A === -1 || s === -1 || n === 0 || n === 1 && A === s - 1 && A === i + 1 ? "" : t.slice(A, s);
2839
+ }, format: function(t) {
2840
+ if (t === null || typeof t != "object") throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof t);
2841
+ return function(A, i) {
2842
+ var s = i.dir || i.root, r = i.base || (i.name || "") + (i.ext || "");
2843
+ return s ? s === i.root ? s + r : s + A + r : r;
2844
+ }("/", t);
2845
+ }, parse: function(t) {
2846
+ d(t);
2847
+ var A = { root: "", dir: "", base: "", ext: "", name: "" };
2848
+ if (t.length === 0) return A;
2849
+ var i, s = t.charCodeAt(0), r = s === 47;
2850
+ r ? (A.root = "/", i = 1) : i = 0;
2851
+ for (var n = -1, o = 0, c = -1, b = !0, g = t.length - 1, l = 0; g >= i; --g) if ((s = t.charCodeAt(g)) !== 47) c === -1 && (b = !1, c = g + 1), s === 46 ? n === -1 ? n = g : l !== 1 && (l = 1) : n !== -1 && (l = -1);
2852
+ else if (!b) {
2853
+ o = g + 1;
2831
2854
  break;
2832
2855
  }
2833
- }
2834
- return e === -1 || t === -1 || i === 0 || i === 1 && e === t - 1 && e === a + 1 ? "" : c.slice(e, t);
2835
- }, format: function(c) {
2836
- if (c === null || typeof c != "object") throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof c);
2837
- return function(e, a) {
2838
- var t = a.dir || a.root, A = a.base || (a.name || "") + (a.ext || "");
2839
- return t ? t === a.root ? t + A : t + e + A : A;
2840
- }("/", c);
2841
- }, parse: function(c) {
2842
- Y(c);
2843
- var e = { root: "", dir: "", base: "", ext: "", name: "" };
2844
- if (c.length === 0) return e;
2845
- var a, t = c.charCodeAt(0), A = t === 47;
2846
- A ? (e.root = "/", a = 1) : a = 0;
2847
- for (var i = -1, s = 0, r = -1, o = !0, n = c.length - 1, b = 0; n >= a; --n) if ((t = c.charCodeAt(n)) !== 47) r === -1 && (o = !1, r = n + 1), t === 46 ? i === -1 ? i = n : b !== 1 && (b = 1) : i !== -1 && (b = -1);
2848
- else if (!o) {
2849
- s = n + 1;
2850
- break;
2851
- }
2852
- return i === -1 || r === -1 || b === 0 || b === 1 && i === r - 1 && i === s + 1 ? r !== -1 && (e.base = e.name = s === 0 && A ? c.slice(1, r) : c.slice(s, r)) : (s === 0 && A ? (e.name = c.slice(1, i), e.base = c.slice(1, r)) : (e.name = c.slice(s, i), e.base = c.slice(s, r)), e.ext = c.slice(i, r)), s > 0 ? e.dir = c.slice(0, s - 1) : A && (e.dir = "/"), e;
2853
- }, sep: "/", delimiter: ":", win32: null, posix: null };
2854
- je.posix = je;
2855
- var dt, de = je;
2856
- class Li {
2856
+ return n === -1 || c === -1 || l === 0 || l === 1 && n === c - 1 && n === o + 1 ? c !== -1 && (A.base = A.name = o === 0 && r ? t.slice(1, c) : t.slice(o, c)) : (o === 0 && r ? (A.name = t.slice(1, n), A.base = t.slice(1, c)) : (A.name = t.slice(o, n), A.base = t.slice(o, c)), A.ext = t.slice(n, c)), o > 0 ? A.dir = t.slice(0, o - 1) : r && (A.dir = "/"), A;
2857
+ }, sep: "/", delimiter: ":", win32: null, posix: null };
2858
+ return a.posix = a, ot = a;
2859
+ }();
2860
+ class Ui {
2857
2861
  constructor(e) {
2858
- ge(this, "_toElementFn");
2862
+ le(this, "_toElementFn");
2859
2863
  if (e) {
2860
2864
  const { toElementFn: a } = e;
2861
2865
  if (typeof a == "function") this._toElementFn = a;
@@ -2894,10 +2898,13 @@ class Li {
2894
2898
  return !1;
2895
2899
  }
2896
2900
  reduce(e, a) {
2897
- let t = a, A = 0;
2901
+ let t = a ?? 0, A = 0;
2898
2902
  for (const i of this) t = e(t, i, A++, this);
2899
2903
  return t;
2900
2904
  }
2905
+ toArray() {
2906
+ return [...this];
2907
+ }
2901
2908
  toVisual() {
2902
2909
  return [...this];
2903
2910
  }
@@ -2911,20 +2918,20 @@ class Li {
2911
2918
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
2912
2919
  * @license MIT License
2913
2920
  */
2914
- class me extends Li {
2921
+ class Ie extends Ui {
2915
2922
  constructor(a = [], t) {
2916
2923
  super(t);
2917
- ge(this, "_elements", []);
2918
- ge(this, "_DEFAULT_COMPARATOR", (a, t) => {
2924
+ le(this, "_elements", []);
2925
+ le(this, "_DEFAULT_COMPARATOR", (a, t) => {
2919
2926
  if (typeof a == "object" || typeof t == "object") throw TypeError("When comparing object types, a custom comparator must be defined in the constructor's options parameter.");
2920
2927
  return a > t ? 1 : a < t ? -1 : 0;
2921
2928
  });
2922
- ge(this, "_comparator", this._DEFAULT_COMPARATOR);
2929
+ le(this, "_comparator", this._DEFAULT_COMPARATOR);
2923
2930
  if (t) {
2924
2931
  const { comparator: A } = t;
2925
2932
  A && (this._comparator = A);
2926
2933
  }
2927
- if (a) for (const A of a) this.toElementFn ? this.add(this.toElementFn(A)) : this.add(A);
2934
+ this.addMany(a);
2928
2935
  }
2929
2936
  get elements() {
2930
2937
  return this._elements;
@@ -2936,11 +2943,16 @@ class me extends Li {
2936
2943
  return this.elements[this.size - 1] ?? void 0;
2937
2944
  }
2938
2945
  static heapify(a, t) {
2939
- return new me(a, t);
2946
+ return new Ie(a, t);
2940
2947
  }
2941
2948
  add(a) {
2942
2949
  return this._elements.push(a), this._bubbleUp(this.elements.length - 1);
2943
2950
  }
2951
+ addMany(a) {
2952
+ const t = [];
2953
+ for (const A of a) this._toElementFn ? t.push(this.add(this._toElementFn(A))) : t.push(this.add(A));
2954
+ return t;
2955
+ }
2944
2956
  poll() {
2945
2957
  if (this.elements.length === 0) return;
2946
2958
  const a = this.elements[0], t = this.elements.pop();
@@ -2972,14 +2984,11 @@ class me extends Li {
2972
2984
  };
2973
2985
  return A(0), t;
2974
2986
  }
2975
- toArray() {
2976
- return [...this.elements];
2977
- }
2978
2987
  clone() {
2979
- return new me(this, { comparator: this.comparator, toElementFn: this.toElementFn });
2988
+ return new Ie(this, { comparator: this.comparator, toElementFn: this.toElementFn });
2980
2989
  }
2981
2990
  sort() {
2982
- const a = [], t = new me(this, { comparator: this.comparator });
2991
+ const a = [], t = new Ie(this, { comparator: this.comparator });
2983
2992
  for (; t.size !== 0; ) {
2984
2993
  const A = t.poll();
2985
2994
  A !== void 0 && a.push(A);
@@ -2992,15 +3001,15 @@ class me extends Li {
2992
3001
  return a;
2993
3002
  }
2994
3003
  filter(a, t) {
2995
- const A = new me([], { toElementFn: this.toElementFn, comparator: this.comparator });
3004
+ const A = new Ie([], { toElementFn: this.toElementFn, comparator: this.comparator });
2996
3005
  let i = 0;
2997
3006
  for (const s of this) a.call(t, s, i, this) && A.add(s), i++;
2998
3007
  return A;
2999
3008
  }
3000
3009
  map(a, t, A, i) {
3001
- const s = new me([], { comparator: t, toElementFn: A });
3010
+ const s = new Ie([], { comparator: t, toElementFn: A });
3002
3011
  let r = 0;
3003
- for (const o of this) s.add(a.call(i, o, r, this)), r++;
3012
+ for (const n of this) s.add(a.call(i, n, r, this)), r++;
3004
3013
  return s;
3005
3014
  }
3006
3015
  get comparator() {
@@ -3030,85 +3039,85 @@ class me extends Li {
3030
3039
  return this.elements[a] = A, !0;
3031
3040
  }
3032
3041
  }
3033
- (function(c) {
3034
- c[c.VISIT = 0] = "VISIT", c[c.PROCESS = 1] = "PROCESS";
3035
- })(dt || (dt = {}));
3036
- class Oe extends me {
3042
+ (function(d) {
3043
+ d[d.VISIT = 0] = "VISIT", d[d.PROCESS = 1] = "PROCESS";
3044
+ })(bt || (bt = {}));
3045
+ class Ne extends Ie {
3037
3046
  constructor(e = [], a) {
3038
3047
  super(e, a);
3039
3048
  }
3040
3049
  clone() {
3041
- return new Oe(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3050
+ return new Ne(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3042
3051
  }
3043
3052
  filter(e, a) {
3044
- const t = new Oe([], { toElementFn: this.toElementFn, comparator: this.comparator });
3053
+ const t = new Ne([], { toElementFn: this.toElementFn, comparator: this.comparator });
3045
3054
  let A = 0;
3046
3055
  for (const i of this) e.call(a, i, A, this) && t.add(i), A++;
3047
3056
  return t;
3048
3057
  }
3049
3058
  map(e, a, t, A) {
3050
- const i = new Oe([], { comparator: a, toElementFn: t });
3059
+ const i = new Ne([], { comparator: a, toElementFn: t });
3051
3060
  let s = 0;
3052
3061
  for (const r of this) i.add(e.call(A, r, s, this)), s++;
3053
3062
  return i;
3054
3063
  }
3055
3064
  }
3056
- class Je extends Oe {
3065
+ class Le extends Ne {
3057
3066
  constructor(e = [], a) {
3058
3067
  super(e, a);
3059
3068
  }
3060
3069
  clone() {
3061
- return new Je(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3070
+ return new Le(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3062
3071
  }
3063
3072
  filter(e, a) {
3064
- const t = new Je([], { toElementFn: this.toElementFn, comparator: this.comparator });
3073
+ const t = new Le([], { toElementFn: this.toElementFn, comparator: this.comparator });
3065
3074
  let A = 0;
3066
3075
  for (const i of this) e.call(a, i, A, this) && t.add(i), A++;
3067
3076
  return t;
3068
3077
  }
3069
3078
  map(e, a, t, A) {
3070
- const i = new Je([], { comparator: a, toElementFn: t });
3079
+ const i = new Le([], { comparator: a, toElementFn: t });
3071
3080
  let s = 0;
3072
3081
  for (const r of this) i.add(e.call(A, r, s, this)), s++;
3073
3082
  return i;
3074
3083
  }
3075
3084
  }
3076
- function Oi(c) {
3077
- return new Worker("" + new URL("assets/PointsManager.worker-5fpGpVvf.js", import.meta.url).href, { type: "module", name: c == null ? void 0 : c.name });
3085
+ function Gi(d) {
3086
+ return new Worker("" + new URL("assets/PointsManager.worker-5fpGpVvf.js", import.meta.url).href, { type: "module", name: d == null ? void 0 : d.name });
3078
3087
  }
3079
- new Ra(), new D(), new D(), new D(), new D();
3080
- const Ve = new D(), Ji = new D(), Yt = new Fa();
3081
- Yt.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
3082
- class Pi extends xa {
3088
+ new Da(), new D(), new D(), new D(), new D();
3089
+ const Ke = new D(), Hi = new D(), Vt = new Sa();
3090
+ Vt.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
3091
+ class Ni extends ya {
3083
3092
  constructor(e, a, t) {
3084
3093
  const i = Math.min(Math.ceil(8) * 512, Math.pow(512, 2));
3085
3094
  let s = 1 * Math.pow(512, 2);
3086
3095
  s = Math.floor(s / i) * i;
3087
- const r = new ne(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3096
+ const r = new re(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3088
3097
  e.initRenderTarget(r);
3089
- const o = new ne(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3090
- o.texture.type = R, e.initRenderTarget(o);
3091
- const n = new ne(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3098
+ const n = new re(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3092
3099
  n.texture.type = R, e.initRenderTarget(n);
3093
- const b = new ne(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3094
- b.texture.type = R, e.initRenderTarget(b);
3095
- const d = new ia({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: n.texture }, cov2Texture: { value: b.texture }, colorTexture: { value: r.texture }, positionTexture: { value: o.texture }, zUpToYUpMatrix3x3: { value: Yt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: qi(), fragmentShader: t || _i(), transparent: !0, side: Ze, depthTest: !1, depthWrite: !1 }), g = new _a(), l = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3096
- g.setIndex([0, 2, 1, 2, 3, 1]), g.setAttribute("position", new he(l, 3));
3097
- const h = new Uint32Array(s), f = new wa(h, 1, !1);
3098
- f.needsUpdate = !0, f.setUsage(Ka), g.setAttribute("order", f), g.instanceCount = 0, super(g, d), this.matrixAutoUpdate = !1, this.numBatches = 0, this.numVisibleBatches = 0, this.orderAttribute = f, this.textureSize = 512, this.numTextures = 1, this.batchSize = i, this.maxSplats = s, this.numSplatsRendered = 0, this.colorRenderTarget = r, this.positionRenderTarget = o, this.cov1RenderTarget = n, this.cov2RenderTarget = b, this.renderer = e, this.sortID = 0, this.freeAddresses = new Je();
3100
+ const o = new re(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3101
+ o.texture.type = R, e.initRenderTarget(o);
3102
+ const c = new re(512, 512, 1, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3103
+ c.texture.type = R, e.initRenderTarget(c);
3104
+ const b = new ta({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: o.texture }, cov2Texture: { value: c.texture }, colorTexture: { value: r.texture }, positionTexture: { value: n.texture }, zUpToYUpMatrix3x3: { value: Vt }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE }, cameraNear: { value: 0.01 }, cameraFar: { value: 10 }, computeLinearDepth: { value: !0 } }, vertexShader: Li(), fragmentShader: t || Oi(), transparent: !0, side: We, depthTest: !1, depthWrite: !1 }), g = new Ja(), l = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
3105
+ g.setIndex([0, 2, 1, 2, 3, 1]), g.setAttribute("position", new de(l, 3));
3106
+ const h = new Uint32Array(s), f = new Ea(h, 1, !1);
3107
+ f.needsUpdate = !0, f.setUsage(Pa), g.setAttribute("order", f), g.instanceCount = 0, super(g, b), this.matrixAutoUpdate = !1, this.numBatches = 0, this.numVisibleBatches = 0, this.orderAttribute = f, this.textureSize = 512, this.numTextures = 1, this.batchSize = i, this.maxSplats = s, this.numSplatsRendered = 0, this.colorRenderTarget = r, this.positionRenderTarget = n, this.cov1RenderTarget = o, this.cov2RenderTarget = c, this.renderer = e, this.sortID = 0, this.freeAddresses = new Le();
3099
3108
  for (let m = 0; m < this.maxSplats; m += i) this.freeAddresses.add(m);
3100
- this.worker = new Oi({ type: "module" }), this.sortListeners = [], this.worker.onmessage = (m) => {
3109
+ this.worker = new Gi({}), this.sortListeners = [], this.worker.onmessage = (m) => {
3101
3110
  const u = new Uint32Array(m.data.order);
3102
3111
  if (this.numSplatsRendered = u.length, u.length > this.orderAttribute.count) {
3103
- const C = new _a(), B = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]), w = [0, 2, 1, 2, 3, 1];
3104
- C.setIndex(w), C.setAttribute("position", new he(B, 3));
3105
- const k = new Uint32Array(this.maxSplats), y = new wa(k, 1, !1);
3106
- y.needsUpdate = !0, y.setUsage(Ka), C.setAttribute("order", y), C.instanceCount = 0, this.geometry.dispose(), this.geometry = C, this.orderAttribute = y;
3112
+ const C = new Ja(), B = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]), w = [0, 2, 1, 2, 3, 1];
3113
+ C.setIndex(w), C.setAttribute("position", new de(B, 3));
3114
+ const k = new Uint32Array(this.maxSplats), y = new Ea(k, 1, !1);
3115
+ y.needsUpdate = !0, y.setUsage(Pa), C.setAttribute("order", y), C.instanceCount = 0, this.geometry.dispose(), this.geometry = C, this.orderAttribute = y;
3107
3116
  }
3108
3117
  this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(u), this.orderAttribute.addUpdateRange(0, u.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = m.data.count, this.geometry.needsUpdate = !0;
3109
3118
  for (let C = this.sortListeners.length - 1; C >= 0; C--)
3110
3119
  this.sortListeners[C](m.data.id) && this.sortListeners.splice(C, 1);
3111
- }, this.cameraPosition = new D(0, 0, 0), this.rotateOnAxis(new D(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ia({ uniforms: { sourceTexture: {} }, vertexShader: ht(), fragmentShader: `
3120
+ }, this.cameraPosition = new D(0, 0, 0), this.rotateOnAxis(new D(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new ta({ uniforms: { sourceTexture: {} }, vertexShader: dt(), fragmentShader: `
3112
3121
  precision highp float;
3113
3122
 
3114
3123
  uniform sampler2D sourceTexture;
@@ -3117,7 +3126,7 @@ in vec2 vUv;
3117
3126
 
3118
3127
  void main() {
3119
3128
  gl_FragColor = texture( sourceTexture, vUv );
3120
- }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new ia({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: ht(), fragmentShader: `
3129
+ }`, transparent: !1, side: We, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new ta({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: dt(), fragmentShader: `
3121
3130
  precision highp float;
3122
3131
 
3123
3132
  uniform sampler3D sourceTexture;
@@ -3127,9 +3136,9 @@ in vec2 vUv;
3127
3136
 
3128
3137
  void main() {
3129
3138
  gl_FragColor = texture( sourceTexture, vec3(vUv, w) );
3130
- }`, transparent: !1, side: Ze, depthTest: !1, depthWrite: !1 }), this.copyCamera = new Qt(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new PA();
3131
- const I = new qA(1, 1);
3132
- this.copyQuad = new xa(I, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
3139
+ }`, transparent: !1, side: We, depthTest: !1, depthWrite: !1 }), this.copyCamera = new Et(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new JA();
3140
+ const I = new PA(1, 1);
3141
+ this.copyQuad = new ya(I, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
3133
3142
  }
3134
3143
  dispose() {
3135
3144
  this.material.dispose(), this.copyMaterial2D.dispose(), this.copyMaterial3D.dispose(), this.cov1RenderTarget.dispose(), this.cov2RenderTarget.dispose(), this.positionRenderTarget.dispose(), this.colorRenderTarget.dispose(), this.worker.terminate(), this.worker = null, this.orderAttribute.array = void 0, this.geometry.dispose();
@@ -3138,8 +3147,8 @@ void main() {
3138
3147
  this.copyMaterial2D.uniforms.sourceTexture.value = e;
3139
3148
  const i = this.renderer.autoClear, s = this.renderer.getRenderTarget();
3140
3149
  this.renderer.autoClear = !1;
3141
- const r = t[2] - t[0], o = t[3] - t[1];
3142
- a.viewport.set(t[0], t[1], r, o), this.renderer.setRenderTarget(a, A), this.renderer.render(this.copyScene, this.copyCamera), this.renderer.setRenderTarget(s), this.renderer.autoClear = i;
3150
+ const r = t[2] - t[0], n = t[3] - t[1];
3151
+ a.viewport.set(t[0], t[1], r, n), this.renderer.setRenderTarget(a, A), this.renderer.render(this.copyScene, this.copyCamera), this.renderer.setRenderTarget(s), this.renderer.autoClear = i;
3143
3152
  }
3144
3153
  copyTex3D(e, a, t) {
3145
3154
  this.copyMaterial3D.uniforms.sourceTexture.value = e;
@@ -3161,71 +3170,71 @@ void main() {
3161
3170
  }
3162
3171
  addSplatsTile(e, a, t, A) {
3163
3172
  if (!this.worker) return;
3164
- const i = this, s = e.data ? e.data.array : e.array, r = e.data && e.data.isInterleavedBuffer ? e.data.stride : 3, o = e.data && e.data.isInterleavedBuffer ? e.offset : 0, n = Math.ceil(s.length / (this.batchSize * r)), b = [], d = [];
3173
+ const i = this, s = e.data ? e.data.array : e.array, r = e.data && e.data.isInterleavedBuffer ? e.data.stride : 3, n = e.data && e.data.isInterleavedBuffer ? e.offset : 0, o = Math.ceil(s.length / (this.batchSize * r)), c = [], b = [];
3165
3174
  let g = () => {
3166
3175
  };
3167
3176
  const l = new Float32Array(s.length / r * 3);
3168
- for (let f = 0; f < s.length / 3; f++) l[3 * f] = s[f * r + o], l[3 * f + 1] = s[f * r + o + 1], l[3 * f + 2] = s[f * r + o + 2];
3177
+ for (let f = 0; f < s.length / 3; f++) l[3 * f] = s[f * r + n], l[3 * f + 1] = s[f * r + n + 1], l[3 * f + 2] = s[f * r + n + 2];
3169
3178
  g = (f, I, m) => {
3170
3179
  const u = m * m;
3171
3180
  for (let C = 0; C < l.length; C += 3) {
3172
- Ve.set(l[C], -l[C + 2], l[C + 1]);
3173
- const B = Ji.copy(Ve).sub(f.origin).dot(f.direction);
3174
- B > 0 && f.distanceSqToPoint(Ve) < u && I.push({ distance: B, point: Ve.clone(), type: "splat" });
3181
+ Ke.set(l[C], -l[C + 2], l[C + 1]);
3182
+ const B = Hi.copy(Ke).sub(f.origin).dot(f.direction);
3183
+ B > 0 && f.distanceSqToPoint(Ke) < u && I.push({ distance: B, point: Ke.clone(), type: "splat" });
3175
3184
  }
3176
- }, n > this.freeAddresses.size && this.growTextures();
3177
- for (let f = 0; f < n; f++) {
3185
+ }, o > this.freeAddresses.size && this.growTextures();
3186
+ for (let f = 0; f < o; f++) {
3178
3187
  const I = this.freeAddresses.poll();
3179
- isNaN(I) && console.log("insuficient texture size to store splats info"), b.push(I), d.push(3 * I);
3188
+ isNaN(I) && console.log("insuficient texture size to store splats info"), c.push(I), b.push(3 * I);
3180
3189
  const m = f * this.batchSize;
3181
3190
  this.addSplatsBatch(m, I, e, a, t, A);
3182
3191
  }
3183
- i.worker.postMessage({ method: "addBatches", insertionIndexes: d, positions: s.buffer, offset: o, stride: r, batchSize: i.batchSize }, [s.buffer]);
3192
+ i.worker.postMessage({ method: "addBatches", insertionIndexes: b, positions: s.buffer, offset: n, stride: r, batchSize: i.batchSize }, [s.buffer]);
3184
3193
  let h = !1;
3185
3194
  return { hide: () => {
3186
- h == 1 && i.worker && (i.numVisibleBatches--, h = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3195
+ h == 1 && i.worker && (i.numVisibleBatches--, h = !1, i.worker.postMessage({ method: "hideBatches", insertionIndexes: b, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }));
3187
3196
  }, show: (f) => {
3188
3197
  if (h == 0 && i.worker) {
3189
3198
  i.numVisibleBatches--, h = !0;
3190
3199
  const I = i.sortID, m = (u) => u >= I && (f(), !0);
3191
- i.sortListeners.push(m), i.worker.postMessage({ method: "showBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ });
3200
+ i.sortListeners.push(m), i.worker.postMessage({ method: "showBatches", insertionIndexes: b, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ });
3192
3201
  }
3193
3202
  }, remove: () => {
3194
- i.worker && (g = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: d, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), b.forEach((f) => i.freeAddresses.add(f)));
3203
+ i.worker && (g = void 0, i.worker.postMessage({ method: "removeBatches", insertionIndexes: b, xyz: [i.cameraPosition.x, i.cameraPosition.z, -i.cameraPosition.y], id: i.sortID++ }), c.forEach((f) => i.freeAddresses.add(f)));
3195
3204
  }, sort: this.sort, raycast: g, isSplatsBatch: !0 };
3196
3205
  }
3197
3206
  addSplatsBatch(e, a, t, A, i, s) {
3198
- const r = new Float32Array(4 * this.batchSize), o = new Uint8Array(4 * this.batchSize), n = new Float32Array(4 * this.batchSize), b = new Float32Array(4 * this.batchSize);
3207
+ const r = new Float32Array(4 * this.batchSize), n = new Uint8Array(4 * this.batchSize), o = new Float32Array(4 * this.batchSize), c = new Float32Array(4 * this.batchSize);
3199
3208
  for (let u = a; u < a + this.batchSize; u++) {
3200
3209
  const C = u - a, B = 4 * C, w = e + C;
3201
3210
  if (w >= t.count) break;
3202
- r[B] = t.getX(w), r[B + 1] = t.getY(w), r[B + 2] = t.getZ(w), Math.floor(255 * A.getX(w)), Math.floor(255 * A.getY(w)), Math.floor(255 * A.getZ(w)), Math.floor(255 * A.getW(w)), o[B] = Math.floor(255 * A.getX(w)), o[B + 1] = Math.floor(255 * A.getY(w)), o[B + 2] = Math.floor(255 * A.getZ(w)), o[B + 3] = Math.floor(255 * A.getW(w)), n[B] = i.getX(w), n[B + 1] = i.getY(w), n[B + 2] = i.getZ(w), b[B] = s.getX(w), b[B + 1] = s.getY(w), b[B + 2] = s.getZ(w);
3211
+ r[B] = t.getX(w), r[B + 1] = t.getY(w), r[B + 2] = t.getZ(w), Math.floor(255 * A.getX(w)), Math.floor(255 * A.getY(w)), Math.floor(255 * A.getZ(w)), Math.floor(255 * A.getW(w)), n[B] = Math.floor(255 * A.getX(w)), n[B + 1] = Math.floor(255 * A.getY(w)), n[B + 2] = Math.floor(255 * A.getZ(w)), n[B + 3] = Math.floor(255 * A.getW(w)), o[B] = i.getX(w), o[B + 1] = i.getY(w), o[B + 2] = i.getZ(w), c[B] = s.getX(w), c[B + 1] = s.getY(w), c[B + 2] = s.getZ(w);
3203
3212
  }
3204
- const d = Math.floor(a / Math.pow(this.textureSize, 2)), g = Math.ceil(this.batchSize / this.textureSize), l = [0, a / this.textureSize - d * this.textureSize, this.textureSize];
3213
+ const b = Math.floor(a / Math.pow(this.textureSize, 2)), g = Math.ceil(this.batchSize / this.textureSize), l = [0, a / this.textureSize - b * this.textureSize, this.textureSize];
3205
3214
  l.push(l[1] + g);
3206
- const h = new Ge(r, this.textureSize, g, ee, R);
3207
- h.generateMipmaps = !1, h.magFilter = v, h.minFilter = v, h.anisotropy = 0, h.needsUpdate = !0, this.renderer.initTexture(h), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(h, this.positionRenderTarget, l, d), h.dispose();
3208
- const f = new Ge(o, this.textureSize, g, ee, X);
3209
- f.generateMipmaps = !1, f.magFilter = v, f.minFilter = v, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, l, d), f.dispose();
3210
- const I = new Ge(n, this.textureSize, g, ee, R);
3211
- I.generateMipmaps = !1, I.magFilter = v, I.minFilter = v, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, l, d), I.dispose();
3212
- const m = new Ge(b, this.textureSize, g, ee, R);
3213
- m.generateMipmaps = !1, m.magFilter = v, m.minFilter = v, m.anisotropy = 0, m.needsUpdate = !0, this.renderer.initTexture(m), this.copyTex2D(m, this.cov2RenderTarget, l, d), m.dispose();
3215
+ const h = new Ge(r, this.textureSize, g, $, R);
3216
+ h.generateMipmaps = !1, h.magFilter = v, h.minFilter = v, h.anisotropy = 0, h.needsUpdate = !0, this.renderer.initTexture(h), this.renderer.initRenderTarget(this.positionRenderTarget), this.copyTex2D(h, this.positionRenderTarget, l, b), h.dispose();
3217
+ const f = new Ge(n, this.textureSize, g, $, W);
3218
+ f.generateMipmaps = !1, f.magFilter = v, f.minFilter = v, f.anisotropy = 0, f.needsUpdate = !0, this.renderer.initTexture(f), this.copyTex2D(f, this.colorRenderTarget, l, b), f.dispose();
3219
+ const I = new Ge(o, this.textureSize, g, $, R);
3220
+ I.generateMipmaps = !1, I.magFilter = v, I.minFilter = v, I.anisotropy = 0, I.needsUpdate = !0, this.renderer.initTexture(I), this.copyTex2D(I, this.cov1RenderTarget, l, b), I.dispose();
3221
+ const m = new Ge(c, this.textureSize, g, $, R);
3222
+ m.generateMipmaps = !1, m.magFilter = v, m.minFilter = v, m.anisotropy = 0, m.needsUpdate = !0, this.renderer.initTexture(m), this.copyTex2D(m, this.cov2RenderTarget, l, b), m.dispose();
3214
3223
  }
3215
3224
  growTextures() {
3216
3225
  for (let s = this.maxSplats; s < this.maxSplats + this.textureSize * this.textureSize; s += this.batchSize) this.freeAddresses.add(s);
3217
3226
  this.maxSplats += this.textureSize * this.textureSize;
3218
- const e = this.numTextures + 1, a = new ne(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3227
+ const e = this.numTextures + 1, a = new re(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, depthBuffer: !1, resolveDepthBuffer: !1 });
3219
3228
  this.renderer.initRenderTarget(a), this.copyTex3D(this.colorRenderTarget.texture, a, this.numTextures), this.colorRenderTarget.dispose(), this.colorRenderTarget = a, this.material.uniforms.colorTexture.value = this.colorRenderTarget.texture;
3220
- const t = new ne(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3229
+ const t = new re(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3221
3230
  t.texture.type = R, this.renderer.initRenderTarget(t), this.copyTex3D(this.positionRenderTarget.texture, t, this.numTextures), this.positionRenderTarget.dispose(), this.positionRenderTarget = t, this.material.uniforms.positionTexture.value = this.positionRenderTarget.texture;
3222
- const A = new ne(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3231
+ const A = new re(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3223
3232
  A.texture.type = R, this.renderer.initRenderTarget(A), this.copyTex3D(this.cov1RenderTarget.texture, A, this.numTextures), this.cov1RenderTarget.dispose(), this.cov1RenderTarget = A, this.material.uniforms.cov1Texture.value = this.cov1RenderTarget.texture;
3224
- const i = new ne(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3233
+ const i = new re(this.textureSize, this.textureSize, e, { magFilter: v, minFilter: v, anisotropy: 0, type: R, depthBuffer: !1, resolveDepthBuffer: !1 });
3225
3234
  i.texture.type = R, this.renderer.initRenderTarget(i), this.copyTex3D(this.cov2RenderTarget.texture, i, this.numTextures), this.cov2RenderTarget.dispose(), this.cov2RenderTarget = i, this.material.uniforms.cov2Texture.value = this.cov2RenderTarget.texture, this.numTextures = e, this.material.uniforms.numSlices.value = this.numTextures;
3226
3235
  }
3227
3236
  }
3228
- function qi() {
3237
+ function Li() {
3229
3238
  return `
3230
3239
  precision highp float;
3231
3240
  precision highp int;
@@ -3385,7 +3394,7 @@ void main() {
3385
3394
  }
3386
3395
  `;
3387
3396
  }
3388
- function _i() {
3397
+ function Oi() {
3389
3398
  return `
3390
3399
  precision highp float;
3391
3400
 
@@ -3416,7 +3425,7 @@ void main() {
3416
3425
 
3417
3426
  }`;
3418
3427
  }
3419
- function ht() {
3428
+ function dt() {
3420
3429
  return `
3421
3430
 
3422
3431
  out vec2 vUv;
@@ -3426,30 +3435,32 @@ void main() {
3426
3435
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
3427
3436
  }`;
3428
3437
  }
3429
- var W;
3430
- const Ae = new E.Sphere(new E.Vector3(0, 0, 0), 1), ue = new $([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
3438
+ var Y;
3439
+ const te = new E.Sphere(new E.Vector3(0, 0, 0), 1), fe = new Z([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
3431
3440
  new E.Box3();
3432
- const ce = new E.Vector3(0, 0, 0), we = new E.Vector3(0, 0, 0), Ki = new E.Vector3(0, 1, 0), Ye = new E.Ray(), We = new E.Matrix4();
3441
+ const oe = new E.Vector3(0, 0, 0), ye = new E.Vector3(0, 0, 0), Ji = new E.Vector3(0, 1, 0), ze = new E.Ray(), Ve = new E.Matrix4();
3433
3442
  new E.Matrix4(), new E.Frustum();
3434
- const Ca = new E.Vector3(), Xe = [], lt = new E.Quaternion(), Z = {};
3435
- function zi() {
3436
- var c = [];
3437
- for (let e in Z) Z.hasOwnProperty(e) && Z[e] > 0 && c.push(e);
3438
- return c;
3443
+ const Ia = new E.Vector3(), Ye = [], ht = new E.Quaternion(), X = {};
3444
+ function Pi() {
3445
+ var d = [];
3446
+ for (let e in X) X.hasOwnProperty(e) && X[e] > 0 && d.push(e);
3447
+ return d;
3439
3448
  }
3440
- class Wt extends E.Object3D {
3449
+ class Yt extends E.Object3D {
3441
3450
  constructor(e) {
3442
3451
  super();
3443
3452
  const a = this;
3444
- if (a.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.loadingStrategy = e.loadingStrategy ? e.loadingStrategy.toUpperCase() : "INCREMENTAL", this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.proxy = e.proxy, this.drawBoundingVolume = !!e.drawBoundingVolume && e.drawBoundingVolume, this.displayErrors = e.displayErrors, this.displayCopyright = e.displayCopyright, e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = St(), e.tileLoader) this.tileLoader = e.tileLoader;
3453
+ if (a.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.loadingStrategy = e.loadingStrategy ? e.loadingStrategy.toUpperCase() : "INCREMENTAL", this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.proxy = e.proxy, this.drawBoundingVolume = !!e.drawBoundingVolume && e.drawBoundingVolume, this.displayErrors = e.displayErrors, this.displayCopyright = e.displayCopyright, e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = jt(), e.tileLoader) this.tileLoader = e.tileLoader;
3445
3454
  else {
3446
3455
  const i = {};
3447
- i.meshCallback = e.meshCallback ? e.meshCallback : (s, r) => {
3448
- s.material.wireframe = !1, s.material.side = E.DoubleSide;
3449
- }, i.pointsCallback = e.pointsCallback ? e.pointsCallback : (s, r) => {
3450
- s.material.size = Math.pow(r, 0.33), s.material.sizeAttenuation = !0;
3451
- }, i.proxy = this.proxy, i.renderer = e.renderer, i.dracoLoader = e.dracoLoader, i.ktx2Loader = e.ktx2Loader, this.tileLoader = new Ni(i), this.update = (s) => {
3452
- this.update(s), this.tileLoader.update();
3456
+ i.meshCallback = e.meshCallback ? e.meshCallback : (r, n) => {
3457
+ r.material.wireframe = !1, r.material.side = E.DoubleSide;
3458
+ }, i.pointsCallback = e.pointsCallback ? e.pointsCallback : (r, n) => {
3459
+ r.material.size = Math.pow(n, 0.33), r.material.sizeAttenuation = !0;
3460
+ }, i.proxy = this.proxy, i.renderer = e.renderer, i.dracoLoader = e.dracoLoader, i.ktx2Loader = e.ktx2Loader, a.tileLoader = new Ti(i);
3461
+ const s = this.update;
3462
+ this.update = (r) => {
3463
+ s.call(a, r), a.tileLoader.update();
3453
3464
  };
3454
3465
  }
3455
3466
  if (this.displayCopyright = !!e.displayCopyright, this.geometricErrorMultiplier = e.geometricErrorMultiplier ? e.geometricErrorMultiplier : 1, this.splatsCropRadius = Number.MAX_VALUE, this.splatsSizeMultiplier = 1, this.renderer = e.renderer, this.meshCallback = e.meshCallback, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.occlusionCullingService = e.occlusionCullingService, this.static = e.static, this.occlusionCullingService && (this.color = new E.Color(), this.color.setHex(16777215 * Math.random()), this.colorID = E.MathUtils.clamp(255 * a.color.r, 0, 255) << 16 ^ E.MathUtils.clamp(255 * a.color.g, 0, 255) << 8 ^ E.MathUtils.clamp(255 * a.color.b, 0, 255)), this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.childrenTiles = [], this.meshContent = [], this.tileContent, this.refine, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.abortController = new AbortController(), this.onLoadCallback = e.onLoadCallback, e.json) a._setup(e);
@@ -3462,11 +3473,11 @@ class Wt extends E.Object3D {
3462
3473
  }
3463
3474
  (a.proxy ? () => fetch(a.proxy, { method: "POST", body: t, signal: a.abortController.signal }) : () => fetch(t, { signal: a.abortController.signal }))().then((i) => {
3464
3475
  if (!i.ok) throw new Error(`couldn't load "${e.url}". Request failed with status ${i.status} : ${i.statusText}`);
3465
- i.json().then((s) => Ua(s, t)).then((s) => {
3466
- a._setup({ rootPath: de.dirname(e.url), json: s });
3476
+ i.json().then((s) => Ra(s, t)).then((s) => {
3477
+ a._setup({ rootPath: be.dirname(e.url), json: s });
3467
3478
  });
3468
3479
  }).catch((i) => {
3469
- a.displayErrors && gt(i);
3480
+ a.displayErrors && lt(i);
3470
3481
  });
3471
3482
  }
3472
3483
  }
@@ -3488,14 +3499,14 @@ class Wt extends E.Object3D {
3488
3499
  }
3489
3500
  async _setup(e) {
3490
3501
  const a = this;
3491
- if (e.json.extensionsRequired && (e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") || e.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2")) && (a.splatsMesh = new Pi(a.tileLoader.renderer), a.splatsMesh.setSplatsCropRadius(a.splatsCropRadius), a.splatsMesh.setSplatsSizeMultiplier(a.splatsSizeMultiplier), a.static && (a.splatsMesh.matrixWorldAutoUpdate = !1), a.add(a.splatsMesh), a.updateMatrices()), e.json.root ? (a.json = e.json.root, a.json.refine || (a.json.refine = e.json.refine), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : a.json = e.json, a.json.children || (a.json.getChildren ? a.json.children = await a.json.getChildren() : a.json.children = []), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refine ? a.refine = a.json.refine : a.refine = e.parentRefine, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError, a.json.transform) {
3502
+ if (e.json.extensionsRequired && (e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") || e.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2")) && (a.splatsMesh = new Ni(a.tileLoader.renderer), a.splatsMesh.setSplatsCropRadius(a.splatsCropRadius), a.splatsMesh.setSplatsSizeMultiplier(a.splatsSizeMultiplier), a.static && (a.splatsMesh.matrixWorldAutoUpdate = !1), a.add(a.splatsMesh), a.updateMatrices()), e.json.root ? (a.json = e.json.root, a.json.refine || (a.json.refine = e.json.refine), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : a.json = e.json, a.json.children || (a.json.getChildren ? a.json.children = await a.json.getChildren() : a.json.children = []), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refine ? a.refine = a.json.refine : a.refine = e.parentRefine, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError, a.json.transform) {
3492
3503
  let A = new E.Matrix4();
3493
3504
  A.elements = a.json.transform, a.applyMatrix4(A);
3494
3505
  }
3495
- if (a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new $(a.json.boundingVolume.box);
3506
+ if (a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new Z(a.json.boundingVolume.box);
3496
3507
  else if (a.json.boundingVolume.region) {
3497
3508
  const A = a.json.boundingVolume.region;
3498
- a._transformWGS84ToCartesian(A[0], A[1], A[4], ce), a._transformWGS84ToCartesian(A[2], A[3], A[5], we), ce.lerp(we, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(ce.x, ce.y, ce.z), ce.distanceTo(we));
3509
+ a._transformWGS84ToCartesian(A[0], A[1], A[4], oe), a._transformWGS84ToCartesian(A[2], A[3], A[5], ye), oe.lerp(ye, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(oe.x, oe.y, oe.z), oe.distanceTo(ye));
3499
3510
  } else if (a.json.boundingVolume.sphere) {
3500
3511
  const A = a.json.boundingVolume.sphere;
3501
3512
  a.boundingVolume = new E.Sphere(new E.Vector3(A[0], A[1], A[2]), A[3]);
@@ -3504,10 +3515,10 @@ class Wt extends E.Object3D {
3504
3515
  function t(A) {
3505
3516
  A.uri && A.uri.includes("json") || A.url && A.url.includes("json") ? a.hasUnloadedJSONContent++ : a.hasMeshContent++;
3506
3517
  }
3507
- if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0))), a.centerModel && (we.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), ce), lt.setFromUnitVectors(ce.normalize(), Ki.normalize()), a.applyQuaternion(lt)), we.applyMatrix4(a.matrix), a.position.sub(we), a.updateMatrices()), a.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume) if (a.bbox && console.log("double setup"), this.boundingVolume.aabb) {
3518
+ if (a.json.content ? (t(a.json.content), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0)), a._load()) : a.json.contents && (a.json.contents.forEach((A) => t(A)), a.hasMeshContent == 0 && (a.level = Math.max(0, a.parentTile ? a.parentTile.level + 0.01 : 0))), a.centerModel && (ye.copy(a.boundingVolume.center), this.json.boundingVolume.region && (this._transformWGS84ToCartesian(0.5 * (this.json.boundingVolume.region[0] + this.json.boundingVolume.region[2]), 0.5 * (this.json.boundingVolume.region[1] + this.json.boundingVolume.region[3]), 0.5 * (this.json.boundingVolume.region[4] + this.json.boundingVolume.region[5]), oe), ht.setFromUnitVectors(oe.normalize(), Ji.normalize()), a.applyQuaternion(ht)), ye.applyMatrix4(a.matrix), a.position.sub(ye), a.updateMatrices()), a.onLoadCallback && a.onLoadCallback(a), a.isSetup = !0, a.level > 0 && a.drawBoundingVolume) if (a.bbox && console.log("double setup"), this.boundingVolume.aabb) {
3508
3519
  let A = this.boundingVolume.aabb.clone();
3509
3520
  A.applyMatrix4(this.matrixWorld), a.bbox = new E.Box3Helper(A, new E.Color(Math.random(), Math.random(), Math.random())), a.add(a.bbox), a.bbox.material.visible = !1;
3510
- } else a.boundingVolume instanceof $ && (a.bbox = a.boundingVolume.helper(), a.add(a.bbox), a.bbox.material.visible = !1);
3521
+ } else a.boundingVolume instanceof Z && (a.bbox = a.boundingVolume.helper(), a.add(a.bbox), a.bbox.material.visible = !1);
3511
3522
  }
3512
3523
  _assembleURL(e, a) {
3513
3524
  e.endsWith("/") || (e += "/");
@@ -3535,20 +3546,20 @@ class Wt extends E.Object3D {
3535
3546
  Promise.all(i);
3536
3547
  }
3537
3548
  }
3538
- async function A(i, s, r, o) {
3539
- let n;
3540
- i.uri ? n = i.uri : i.url && (n = i.url);
3541
- const b = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3542
- if (b.test(t.rootPath) ? b.test(n) || (n = t._assembleURL(t.rootPath, n)) : de.isAbsolute(t.rootPath) && (n = t.rootPath + de.sep + n), n = t._extractQueryParams(n, t.queryParams), t.queryParams) {
3543
- var d = "";
3544
- for (let g in t.queryParams) t.queryParams.hasOwnProperty(g) && (d += "&" + g + "=" + t.queryParams[g]);
3545
- n.includes("?") ? n += d : n += "?" + d.substring(1);
3549
+ async function A(i, s, r, n) {
3550
+ let o;
3551
+ i.uri ? o = i.uri : i.url && (o = i.url);
3552
+ const c = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3553
+ if (c.test(t.rootPath) ? c.test(o) || (o = t._assembleURL(t.rootPath, o)) : be.isAbsolute(t.rootPath) && (o = t.rootPath + be.sep + o), o = t._extractQueryParams(o, t.queryParams), t.queryParams) {
3554
+ var b = "";
3555
+ for (let g in t.queryParams) t.queryParams.hasOwnProperty(g) && (b += "&" + g + "=" + t.queryParams[g]);
3556
+ o.includes("?") ? o += b : o += "?" + b.substring(1);
3546
3557
  }
3547
- if (n) if (t.contentURL.push(n), o && (n.includes(".b3dm") || n.includes(".glb") || n.includes(".gltf"))) try {
3548
- t.tileLoader.get(t.abortController, t.uuid, n, (g) => {
3558
+ if (o) if (t.contentURL.push(o), n && (o.includes(".b3dm") || o.includes(".glb") || o.includes(".gltf"))) try {
3559
+ t.tileLoader.get(t.abortController, t.uuid, o, (g) => {
3549
3560
  t.deleted || (g.asset && g.asset.copyright && (g.asset.copyright.split(";").forEach((l) => {
3550
- Z[l] ? Z[l]++ : Z[l] = 1;
3551
- }), t.displayCopyright && pa()), t.meshContent.push(g), t.splatsMesh || (g.traverse((l) => {
3561
+ X[l] ? X[l]++ : X[l] = 1;
3562
+ }), t.displayCopyright && ma()), t.meshContent.push(g), t.splatsMesh || (g.traverse((l) => {
3552
3563
  if ((l.isMesh || l.isPoints) && l.layers.disable(0), l.isMesh && t.occlusionCullingService) {
3553
3564
  const h = l.geometry.attributes.position, f = [];
3554
3565
  for (let I = 0; I < h.count; I++) f.push(t.color.r, t.color.g, t.color.b);
@@ -3557,10 +3568,10 @@ class Wt extends E.Object3D {
3557
3568
  }), t.add(g), t.updateMatrices()));
3558
3569
  }, t.cameraOnLoad ? () => t.loadingStrategy == "IMMEDIATE" ? t._calculateDistanceToCamera(t.cameraOnLoad) : t.loadingStrategy == "INCREMENTAL" ? t.parentTile ? t.parentTile._calculateDistanceToCamera(t.cameraOnLoad) / Math.max(1, t.parentTile.level) : t._calculateDistanceToCamera(t.cameraOnLoad) / Math.max(1, t.level) : t.loadingStrategy == "PERLEVEL" ? t.parentTile ? t.level + t.parentTile._calculateDistanceToCamera(t.cameraOnLoad) : t.level + t._calculateDistanceToCamera(t.cameraOnLoad) : 0 : () => 0, () => t._getSiblings(), t.level, t.loadingStrategy, !t.json.boundingVolume.region, !!t.json.boundingVolume.region, t.geometricError, t.splatsMesh);
3559
3570
  } catch (g) {
3560
- t.displayErrors && gt(g);
3571
+ t.displayErrors && lt(g);
3561
3572
  }
3562
- else r && n.includes(".json") && (t.jsonRequested = n, t.tileLoader.get(t.abortController, t.uuid, n, async (g) => {
3563
- t.jsonReceived = !0, t.deleted || (g.rootPath = de.dirname(n), t.json.children.push(g), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3573
+ else r && o.includes(".json") && (t.jsonRequested = o, t.tileLoader.get(t.abortController, t.uuid, o, async (g) => {
3574
+ t.jsonReceived = !0, t.deleted || (g.rootPath = be.dirname(o), t.json.children.push(g), s == null ? delete t.json.content : t.json.contents.splice(s, 1), t.hasUnloadedJSONContent--);
3564
3575
  }));
3565
3576
  }
3566
3577
  }
@@ -3568,8 +3579,8 @@ class Wt extends E.Object3D {
3568
3579
  const e = this;
3569
3580
  e.meshContent.forEach((a) => {
3570
3581
  a && a.asset && a.asset.copyright && (a.asset.copyright.split(";").forEach((t) => {
3571
- Z[t] && Z[t]--;
3572
- }), e.displayCopyright && pa());
3582
+ X[t] && X[t]--;
3583
+ }), e.displayCopyright && ma());
3573
3584
  }), e.childrenTiles.forEach((a) => a.dispose()), e.deleted = !0, e.splatsMesh && (e.meshContent.forEach((a) => a.hide()), e.parentTile || (e.splatsMesh.dispose(), e.splatsMesh = void 0)), e.contentURL && (e.contentURL.forEach((a) => {
3574
3585
  e.tileLoader.invalidate(a, e.uuid);
3575
3586
  }), e.contentURL = []), e.abortController && !e.jsonRequested && e.abortController.abort("tile not needed"), this.parent = null, e.meshContent = [], e.bbox && e.bbox.dispose(), this.dispatchEvent({ type: "removed" });
@@ -3581,8 +3592,8 @@ class Wt extends E.Object3D {
3581
3592
  for (let a = e.meshContent.length - 1; a >= 0; a--) {
3582
3593
  const t = e.meshContent[a];
3583
3594
  t && t.asset && t.asset.copyright && (t.asset.copyright.split(";").forEach((A) => {
3584
- Z[A] && Z[A]--;
3585
- }), e.displayCopyright && pa()), e.remove(t);
3595
+ X[A] && X[A]--;
3596
+ }), e.displayCopyright && ma()), e.remove(t);
3586
3597
  }
3587
3598
  e.splatsMesh && e.meshContent.forEach((a) => a.hide()), e.meshContent = [], e.contentURL.forEach((a) => {
3588
3599
  e.tileLoader.invalidate(a, e.uuid);
@@ -3597,17 +3608,17 @@ class Wt extends E.Object3D {
3597
3608
  }
3598
3609
  raycast(e, a) {
3599
3610
  if (this.splatsMesh) {
3600
- Ye.copy(e.ray), We.copy(this.matrixWorld).invert(), Ye.applyMatrix4(We);
3611
+ ze.copy(e.ray), Ve.copy(this.matrixWorld).invert(), ze.applyMatrix4(Ve);
3601
3612
  let t = !1;
3602
- if (this.boundingVolume instanceof $) t = this.boundingVolume.intersectsRay(Ye);
3613
+ if (this.boundingVolume instanceof Z) t = this.boundingVolume.intersectsRay(ze);
3603
3614
  else {
3604
3615
  if (!(this.boundingVolume instanceof E.Sphere)) return !1;
3605
3616
  t = ray.intersectsSphere(this.boundingVolume);
3606
3617
  }
3607
- return t && this.materialVisibility && this.splatsReady && (Xe.length = 0, this.meshContent.forEach((A) => {
3608
- A.isSplatsBatch && (A.raycast(Ye, Xe, e.params.Points.threshold), Xe.forEach((i) => {
3618
+ return t && this.materialVisibility && this.splatsReady && (Ye.length = 0, this.meshContent.forEach((A) => {
3619
+ A.isSplatsBatch && (A.raycast(ze, Ye, e.params.Points.threshold), Ye.forEach((i) => {
3609
3620
  i.point.applyMatrix4(this.matrixWorld);
3610
- }), a.push(...Xe));
3621
+ }), a.push(...Ye));
3611
3622
  })), t;
3612
3623
  }
3613
3624
  return super.raycast(e, a);
@@ -3616,7 +3627,7 @@ class Wt extends E.Object3D {
3616
3627
  const a = new E.Frustum();
3617
3628
  a.setFromProjectionMatrix(new E.Matrix4().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse));
3618
3629
  let t = [0], A = [0], i = [0], s = [0];
3619
- return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, a), this._statsImmediate(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)), t > 0 && (s[0] /= t[0]), this.splatsMesh && (Ca.copy(e.position), We.copy(this.matrixWorld).invert(), Ca.applyMatrix4(We), this.splatsMesh.sort(Ca)), { numTilesLoaded: t[0], numTilesRendered: A[0], maxLOD: i[0], percentageLoaded: s[0] };
3630
+ return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, a), this._statsImmediate(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)) : (this._update(e, a), this._stats(i, t, s, A)), t > 0 && (s[0] /= t[0]), this.splatsMesh && (Ia.copy(e.position), Ve.copy(this.matrixWorld).invert(), Ia.applyMatrix4(Ve), this.splatsMesh.sort(Ia)), { numTilesLoaded: t[0], numTilesRendered: A[0], maxLOD: i[0], percentageLoaded: s[0] };
3620
3631
  }
3621
3632
  _updateImmediate(e, a) {
3622
3633
  this._computeMetricRecursive(e, a), this._updateNodeVisibilityImmediate(), this._expandTreeImmediate(e), this.shouldBeVisible = this.metric > 0 || !!this.loadOutsideView, this._shouldBeVisibleUpdateImmediate(), this._trimTreeImmediate(), this._loadMeshImmediate();
@@ -3734,7 +3745,7 @@ class Wt extends E.Object3D {
3734
3745
  const a = this;
3735
3746
  for (let t = a.json.children.length - 1; t >= 0; t--) a.json.children[t].root || a.json.children[t].children || a.json.children[t].getChildren || a.json.children[t].content || a.json.children[t].contents || a.json.children.splice(t, 1);
3736
3747
  a.json.children.forEach((t) => {
3737
- let A = new Wt({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefine: a.refine, json: t, rootPath: a.rootPath, geometricErrorMultiplier: a.geometricErrorMultiplier, loadOutsideView: a.loadOutsideView, level: Math.floor(a.level) + 1, tileLoader: a.tileLoader, cameraOnLoad: e, occlusionCullingService: a.occlusionCullingService, renderer: a.renderer, static: a.static, centerModel: !1, displayErrors: a.displayErrors, displayCopyright: a.displayCopyright, distanceBias: a.distanceBias, loadingStrategy: a.loadingStrategy, drawBoundingVolume: a.drawBoundingVolume, splatsMesh: a.splatsMesh });
3748
+ let A = new Yt({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefine: a.refine, json: t, rootPath: a.rootPath, geometricErrorMultiplier: a.geometricErrorMultiplier, loadOutsideView: a.loadOutsideView, level: Math.floor(a.level) + 1, tileLoader: a.tileLoader, cameraOnLoad: e, occlusionCullingService: a.occlusionCullingService, renderer: a.renderer, static: a.static, centerModel: !1, displayErrors: a.displayErrors, displayCopyright: a.displayCopyright, distanceBias: a.distanceBias, loadingStrategy: a.loadingStrategy, drawBoundingVolume: a.drawBoundingVolume, splatsMesh: a.splatsMesh });
3738
3749
  a.childrenTiles.push(A), a.add(A);
3739
3750
  }), a.updateMatrices(!0);
3740
3751
  }
@@ -3794,13 +3805,13 @@ class Wt extends E.Object3D {
3794
3805
  }
3795
3806
  _calculateUpdateMetric(e, a) {
3796
3807
  let t = 0;
3797
- if (this.boundingVolume instanceof $) {
3798
- if (ue.copy(this.boundingVolume), ue.applyMatrix4(this.matrixWorld), !ue.inFrustum(a)) return -1;
3799
- t = Math.max(0, ue.distanceToPoint(e.position) - e.near);
3808
+ if (this.boundingVolume instanceof Z) {
3809
+ if (fe.copy(this.boundingVolume), fe.applyMatrix4(this.matrixWorld), !fe.inFrustum(a)) return -1;
3810
+ t = Math.max(0, fe.distanceToPoint(e.position) - e.near);
3800
3811
  } else {
3801
3812
  if (!(this.boundingVolume instanceof E.Sphere)) return console.error("unsupported shape"), -1;
3802
- if (Ae.copy(this.boundingVolume), Ae.applyMatrix4(this.matrixWorld), !a.intersectsSphere(Ae)) return -1;
3803
- t = Math.max(0, e.position.distanceTo(Ae.center) - Ae.radius - e.near);
3813
+ if (te.copy(this.boundingVolume), te.applyMatrix4(this.matrixWorld), !a.intersectsSphere(te)) return -1;
3814
+ t = Math.max(0, e.position.distanceTo(te.center) - te.radius - e.near);
3804
3815
  }
3805
3816
  if (t = Math.pow(t, this.distanceBias), t == 0) return 0;
3806
3817
  const A = this.matrixWorld.getMaxScaleOnAxis();
@@ -3823,7 +3834,7 @@ class Wt extends E.Object3D {
3823
3834
  }), a;
3824
3835
  }
3825
3836
  _calculateDistanceToCamera(e) {
3826
- return this.boundingVolume instanceof $ ? (ue.copy(this.boundingVolume), ue.applyMatrix4(this.matrixWorld), Math.max(0, ue.distanceToPoint(e.position))) : this.boundingVolume instanceof E.Sphere ? (Ae.copy(this.boundingVolume), Ae.applyMatrix4(this.matrixWorld), Math.max(0, e.position.distanceTo(Ae.center) - Ae.radius)) : (console.error("unsupported shape"), -1);
3837
+ return this.boundingVolume instanceof Z ? (fe.copy(this.boundingVolume), fe.applyMatrix4(this.matrixWorld), Math.max(0, fe.distanceToPoint(e.position))) : this.boundingVolume instanceof E.Sphere ? (te.copy(this.boundingVolume), te.applyMatrix4(this.matrixWorld), Math.max(0, e.position.distanceTo(te.center) - te.radius)) : (console.error("unsupported shape"), -1);
3827
3838
  }
3828
3839
  setGeometricErrorMultiplier(e) {
3829
3840
  this.geometricErrorMultiplier = e, this.childrenTiles.forEach((a) => a.setGeometricErrorMultiplier(e));
@@ -3832,33 +3843,33 @@ class Wt extends E.Object3D {
3832
3843
  this.distanceBias = e, this.childrenTiles.forEach((a) => a.setDistanceBias(e));
3833
3844
  }
3834
3845
  _transformWGS84ToCartesian(e, a, t, A) {
3835
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
3836
- A.set(b, d, g);
3846
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), n = Math.sin(a), o = i + t, c = o * s * r, b = o * s * Math.sin(e), g = (0.993305615557957 * i + t) * n;
3847
+ A.set(c, b, g);
3837
3848
  }
3838
3849
  }
3839
- function gt(c) {
3850
+ function lt(d) {
3840
3851
  var e = document.createElement("div");
3841
- e.textContent = c, e.style.position = "fixed", e.style.top = "10px", e.style.left = "50%", e.style.transform = "translateX(-50%)", e.style.padding = "10px", e.style.backgroundColor = "#ff8800", e.style.color = "#ffffff", e.style.zIndex = "9999", document.body.appendChild(e), setTimeout(function() {
3852
+ e.textContent = d, e.style.position = "fixed", e.style.top = "10px", e.style.left = "50%", e.style.transform = "translateX(-50%)", e.style.padding = "10px", e.style.backgroundColor = "#ff8800", e.style.color = "#ffffff", e.style.zIndex = "9999", document.body.appendChild(e), setTimeout(function() {
3842
3853
  e.remove();
3843
3854
  }, 8e3);
3844
3855
  }
3845
- function pa() {
3846
- W || ((W = document.createElement("div")).style.position = "fixed", W.style.bottom = "20px", W.style.left = "20px", W.style.color = "white", W.style.textShadow = "2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000", W.style.padding = "10px", W.style.backgroundColor = "rgba(0, 0, 0, 0.1)", document.body.appendChild(W));
3847
- const c = zi();
3856
+ function ma() {
3857
+ Y || ((Y = document.createElement("div")).style.position = "fixed", Y.style.bottom = "20px", Y.style.left = "20px", Y.style.color = "white", Y.style.textShadow = "2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000", Y.style.padding = "10px", Y.style.backgroundColor = "rgba(0, 0, 0, 0.1)", document.body.appendChild(Y));
3858
+ const d = Pi();
3848
3859
  let e = "";
3849
- c.forEach((a) => {
3860
+ d.forEach((a) => {
3850
3861
  e += a + ", ";
3851
- }), e = e.slice(0, -2), W.textContent = e;
3862
+ }), e = e.slice(0, -2), Y.textContent = e;
3852
3863
  }
3853
- const N = new E.Sphere(new E.Vector3(0, 0, 0), 1), be = new E.Vector3(0, 0, 0), Ea = new E.Vector3(0, 0, 0), Vi = new E.Vector3(0, 1, 0), Qa = new E.Vector2(), ft = new E.Quaternion(), ut = new E.Matrix4();
3854
- class Ga extends E.Object3D {
3864
+ const N = new E.Sphere(new E.Vector3(0, 0, 0), 1), ce = new E.Vector3(0, 0, 0), Ba = new E.Vector3(0, 0, 0), qi = new E.Vector3(0, 1, 0), Ca = new E.Vector2(), gt = new E.Quaternion(), ft = new E.Matrix4();
3865
+ class Ma extends E.Object3D {
3855
3866
  constructor(e) {
3856
3867
  super();
3857
3868
  const a = this;
3858
- if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = St(), e.tileLoader ? this.tileLoader = e.tileLoader : console.error("an instanced tileset must be provided an InstancedTilesetLoader"), this.master = e.master, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.childrenTiles = [], this.jsonChildren = [], this.meshContent = /* @__PURE__ */ new Set(), this.static = e.static, this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.tileContent, this.refinement, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.inFrustum = !0, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.deleted = !1, this.abortController = new AbortController(), e.json) this.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, e.json.children && (this.jsonChildren = e.json.children), a.setup(e);
3869
+ if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = jt(), e.tileLoader ? this.tileLoader = e.tileLoader : console.error("an instanced tileset must be provided an InstancedTilesetLoader"), this.master = e.master, this.loadOutsideView = e.loadOutsideView, this.cameraOnLoad = e.cameraOnLoad, this.parentTile = e.parentTile, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.childrenTiles = [], this.jsonChildren = [], this.meshContent = /* @__PURE__ */ new Set(), this.static = e.static, this.static && (this.matrixAutoUpdate = !1, this.matrixWorldAutoUpdate = !1), this.tileContent, this.refinement, this.rootPath, this.geometricError, this.boundingVolume, this.json, this.materialVisibility = !1, this.inFrustum = !0, this.level = e.level ? e.level : 0, this.hasMeshContent = 0, this.hasUnloadedJSONContent = 0, this.centerModel = e.centerModel, this.deleted = !1, this.abortController = new AbortController(), e.json) this.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, e.json.children && (this.jsonChildren = e.json.children), a.setup(e);
3859
3870
  else if (e.url) {
3860
3871
  this.loadJson = (i, s) => {
3861
- const r = de.dirname(s);
3872
+ const r = be.dirname(s);
3862
3873
  a.setup({ rootPath: r, json: i, onLoadCallback: e.onLoadCallback });
3863
3874
  };
3864
3875
  var t = e.url;
@@ -3874,10 +3885,10 @@ class Ga extends E.Object3D {
3874
3885
  const a = this;
3875
3886
  e.json.root ? (a.json = e.json.root, !a.json.children && a.json.getChildren && (a.json.children = await a.json.getChildren()), a.jsonChildren = a.json.children, a.json.refinement || (a.json.refinement = e.json.refinement), a.json.geometricError || (a.json.geometricError = e.json.geometricError), a.json.transform || (a.json.transform = e.json.transform), a.json.boundingVolume || (a.json.boundingVolume = e.json.boundingVolume)) : (a.json = e.json, !a.json.children && a.json.getChildren && (a.json.children = await a.json.getChildren(), a.jsonChildren = a.json.children)), a.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, a.json.refinement ? a.refinement = a.json.refinement : a.refinement = e.parentRefinement, a.json.geometricError ? a.geometricError = a.json.geometricError : a.geometricError = e.parentGeometricError;
3876
3887
  let t = new E.Matrix4();
3877
- if (a.json.transform && !a.centerModel && (t.elements = a.json.transform), a.applyMatrix4(t), a.parentTile && a.parentTile.matrix && (a.matrix.premultiply(a.parentTile.matrix), a.matrix.decompose(a.position, a.quaternion, a.scale)), a.matrixWorldNeedsUpdate = !0, a.updateWorldMatrix(!0, !0), a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new $(a.json.boundingVolume.box);
3888
+ if (a.json.transform && !a.centerModel && (t.elements = a.json.transform), a.applyMatrix4(t), a.parentTile && a.parentTile.matrix && (a.matrix.premultiply(a.parentTile.matrix), a.matrix.decompose(a.position, a.quaternion, a.scale)), a.matrixWorldNeedsUpdate = !0, a.updateWorldMatrix(!0, !0), a.json.boundingVolume) if (a.json.boundingVolume.box) a.boundingVolume = new Z(a.json.boundingVolume.box);
3878
3889
  else if (a.json.boundingVolume.region) {
3879
3890
  const i = a.json.boundingVolume.region;
3880
- a.transformWGS84ToCartesian(i[0], i[1], i[4], be), a.transformWGS84ToCartesian(i[2], i[3], i[5], Ea), be.lerp(Ea, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(be.x, be.y, be.z), be.distanceTo(Ea));
3891
+ a.transformWGS84ToCartesian(i[0], i[1], i[4], ce), a.transformWGS84ToCartesian(i[2], i[3], i[5], Ba), ce.lerp(Ba, 0.5), a.boundingVolume = new E.Sphere(new E.Vector3(ce.x, ce.y, ce.z), ce.distanceTo(Ba));
3881
3892
  } else if (a.json.boundingVolume.sphere) {
3882
3893
  const i = a.json.boundingVolume.sphere;
3883
3894
  a.boundingVolume = new E.Sphere(new E.Vector3(i[0], i[1], i[2]), i[3]);
@@ -3888,7 +3899,7 @@ class Ga extends E.Object3D {
3888
3899
  }
3889
3900
  if (a.json.content ? (A(a.json.content), a.load()) : a.json.contents && (a.json.contents.forEach((i) => A(i)), a.load()), a.centerModel) {
3890
3901
  const i = new E.Sphere();
3891
- a.boundingVolume instanceof $ ? i.copy(a.boundingVolume.sphere) : a.boundingVolume instanceof E.Sphere && i.copy(a.boundingVolume), this.json.boundingVolume.region && (a.transformWGS84ToCartesian(0.5 * (a.json.boundingVolume.region[0] + a.json.boundingVolume.region[2]), 0.5 * (a.json.boundingVolume.region[1] + a.json.boundingVolume.region[3]), 0.5 * (a.json.boundingVolume.region[4] + a.json.boundingVolume.region[5]), be), ft.setFromUnitVectors(be.normalize(), Vi.normalize()), a.master.applyQuaternion(ft), a.master.updateWorldMatrix(!1, !1)), ut.makeTranslation(-i.center.x * a.scale.x, -i.center.y * a.scale.y, -i.center.z * a.scale.z), a.master.matrix.multiply(ut), a.master.matrix.decompose(a.master.position, a.master.quaternion, a.master.scale);
3902
+ a.boundingVolume instanceof Z ? i.copy(a.boundingVolume.sphere) : a.boundingVolume instanceof E.Sphere && i.copy(a.boundingVolume), this.json.boundingVolume.region && (a.transformWGS84ToCartesian(0.5 * (a.json.boundingVolume.region[0] + a.json.boundingVolume.region[2]), 0.5 * (a.json.boundingVolume.region[1] + a.json.boundingVolume.region[3]), 0.5 * (a.json.boundingVolume.region[4] + a.json.boundingVolume.region[5]), ce), gt.setFromUnitVectors(ce.normalize(), qi.normalize()), a.master.applyQuaternion(gt), a.master.updateWorldMatrix(!1, !1)), ft.makeTranslation(-i.center.x * a.scale.x, -i.center.y * a.scale.y, -i.center.z * a.scale.z), a.master.matrix.multiply(ft), a.master.matrix.decompose(a.master.position, a.master.quaternion, a.master.scale);
3892
3903
  }
3893
3904
  a.isSetup = !0, e.onLoadCallback && e.onLoadCallback(a);
3894
3905
  }
@@ -3919,7 +3930,7 @@ class Ga extends E.Object3D {
3919
3930
  let A;
3920
3931
  t.uri ? A = t.uri : t.url && (A = t.url);
3921
3932
  const i = /^(?:http|https|ftp|tcp|udp):\/\/\S+/;
3922
- if (i.test(e.rootPath) ? i.test(A) || (A = e.assembleURL(e.rootPath, A)) : de.isAbsolute(e.rootPath) && (A = e.rootPath + de.sep + A), A = e.extractQueryParams(A, e.queryParams), e.queryParams) {
3933
+ if (i.test(e.rootPath) ? i.test(A) || (A = e.assembleURL(e.rootPath, A)) : be.isAbsolute(e.rootPath) && (A = e.rootPath + be.sep + A), A = e.extractQueryParams(A, e.queryParams), e.queryParams) {
3923
3934
  var s = "";
3924
3935
  for (let r in e.queryParams) e.queryParams.hasOwnProperty(r) && (s += "&" + r + "=" + e.queryParams[r]);
3925
3936
  A.includes("?") ? A += s : A += "?" + s.substring(1);
@@ -3932,7 +3943,7 @@ class Ga extends E.Object3D {
3932
3943
  this.deleted || this.meshContent.add(e);
3933
3944
  }
3934
3945
  loadJson(e, a) {
3935
- this.deleted || (this.json.children && (this.jsonChildren = this.json.children), e.rootPath = de.dirname(a), this.jsonChildren.push(e), this.hasUnloadedJSONContent--);
3946
+ this.deleted || (this.json.children && (this.jsonChildren = this.json.children), e.rootPath = be.dirname(a), this.jsonChildren.push(e), this.hasUnloadedJSONContent--);
3936
3947
  }
3937
3948
  dispose() {
3938
3949
  const e = this;
@@ -3958,7 +3969,7 @@ class Ga extends E.Object3D {
3958
3969
  t.isSetup && (t.materialVisibility, t.boundingVolume && t.geometricError && (t.metric = t.calculateUpdateMetric(e, a)), t.childrenTiles.forEach((i) => i._update(e, a)), A(t.metric), function(i) {
3959
3970
  i < 0 && t.hasMeshContent || (!t.hasMeshContent && t.rootPath || i < t.master.geometricErrorMultiplier * t.geometricError && t.meshContent.size > 0) && t.json && t.jsonChildren && t.childrenTiles.length != t.jsonChildren.length && t.jsonChildren.forEach((s) => {
3960
3971
  if (!(s.root || s.children || s.getChildren || s.content || s.contents)) return;
3961
- let r = new Ga({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefinement: t.refinement, json: s, rootPath: t.rootPath, loadOutsideView: t.loadOutsideView, level: t.level + 1, tileLoader: t.tileLoader, cameraOnLoad: e, master: t.master, centerModel: !1 });
3972
+ let r = new Ma({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefinement: t.refinement, json: s, rootPath: t.rootPath, loadOutsideView: t.loadOutsideView, level: t.level + 1, tileLoader: t.tileLoader, cameraOnLoad: e, master: t.master, centerModel: !1 });
3962
3973
  t.childrenTiles.push(r);
3963
3974
  });
3964
3975
  }(t.metric), function(i) {
@@ -3995,7 +4006,7 @@ class Ga extends E.Object3D {
3995
4006
  this.materialVisibility = e;
3996
4007
  }
3997
4008
  calculateUpdateMetric(e, a) {
3998
- if (this.boundingVolume instanceof $) {
4009
+ if (this.boundingVolume instanceof Z) {
3999
4010
  if (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld), !a.intersectsSphere(N)) return -1;
4000
4011
  } else {
4001
4012
  if (!(this.boundingVolume instanceof E.Sphere)) return console.error("unsupported shape"), -1;
@@ -4004,9 +4015,9 @@ class Ga extends E.Object3D {
4004
4015
  let t = Math.max(0, e.position.distanceTo(N.center) - N.radius);
4005
4016
  if (t = Math.pow(t, this.distanceBias), t == 0) return 0;
4006
4017
  const A = this.matrixWorld.getMaxScaleOnAxis();
4007
- this.master._renderSize(Qa);
4008
- let i = Qa.y, s = e.fov;
4009
- e.aspect < 1 && (s *= e.aspect, i = Qa.x);
4018
+ this.master._renderSize(Ca);
4019
+ let i = Ca.y, s = e.fov;
4020
+ e.aspect < 1 && (s *= e.aspect, i = Ca.x);
4010
4021
  let r = 2 * Math.tan(0.5 * s * 0.017453292519943295) * t;
4011
4022
  return 16 * window.devicePixelRatio * r / (i * A);
4012
4023
  }
@@ -4023,19 +4034,19 @@ class Ga extends E.Object3D {
4023
4034
  }), a;
4024
4035
  }
4025
4036
  calculateDistanceToCamera(e) {
4026
- return this.boundingVolume instanceof $ ? (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld)) : this.boundingVolume instanceof E.Sphere ? (N.copy(this.boundingVolume), N.applyMatrix4(this.matrixWorld)) : console.error("unsupported shape"), Math.max(0, e.position.distanceTo(N.center) - N.radius);
4037
+ return this.boundingVolume instanceof Z ? (N.copy(this.boundingVolume.sphere), N.applyMatrix4(this.matrixWorld)) : this.boundingVolume instanceof E.Sphere ? (N.copy(this.boundingVolume), N.applyMatrix4(this.matrixWorld)) : console.error("unsupported shape"), Math.max(0, e.position.distanceTo(N.center) - N.radius);
4027
4038
  }
4028
4039
  getWorldMatrix() {
4029
4040
  return this.matrixWorld;
4030
4041
  }
4031
4042
  transformWGS84ToCartesian(e, a, t, A) {
4032
- const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), o = Math.sin(a), n = i + t, b = n * s * r, d = n * s * Math.sin(e), g = (0.993305615557957 * i + t) * o;
4033
- A.set(b, d, g);
4043
+ const i = 6378137 / Math.sqrt(1 - 0.006694384442042 * Math.pow(Math.sin(a), 2)), s = Math.cos(a), r = Math.cos(e), n = Math.sin(a), o = i + t, c = o * s * r, b = o * s * Math.sin(e), g = (0.993305615557957 * i + t) * n;
4044
+ A.set(c, b, g);
4034
4045
  }
4035
4046
  }
4036
- class as extends E.Object3D {
4047
+ class Xi extends E.Object3D {
4037
4048
  constructor(e) {
4038
- super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.renderer = e.renderer, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.geometricErrorMultiplier = e.geometricErrorMultiplier ? e.geometricErrorMultiplier : 1, this.tileset = new Ga(e), e.static && (this.matrixAutoUpdate = !1), this.tileLoader = e.tileLoader;
4049
+ super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new E.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new E.Vector2(1e3, 1e3), this.renderer = e.renderer, this.distanceBias = Math.max(1e-4, e.distanceBias ? e.distanceBias : 1), this.geometricErrorMultiplier = e.geometricErrorMultiplier ? e.geometricErrorMultiplier : 1, this.tileset = new Ma(e), e.static && (this.matrixAutoUpdate = !1), this.tileLoader = e.tileLoader;
4039
4050
  }
4040
4051
  _renderSize(e) {
4041
4052
  this.renderer ? this.renderer.getDrawingBufferSize(e) : e.copy(this.rendererSize);
@@ -4054,7 +4065,7 @@ class as extends E.Object3D {
4054
4065
  this.geometricErrorMultiplier = e || 1;
4055
4066
  }
4056
4067
  }
4057
- class Yi {
4068
+ class _i {
4058
4069
  constructor(e) {
4059
4070
  const a = this;
4060
4071
  a.scene = e, a.instancedTiles = [], a.instancedMesh, a.reuseableMatrix = new E.Matrix4();
@@ -4095,7 +4106,7 @@ class Yi {
4095
4106
  }), e.instancedMesh.dispose(), !0);
4096
4107
  }
4097
4108
  }
4098
- class Wi {
4109
+ class Ki {
4099
4110
  constructor() {
4100
4111
  const e = this;
4101
4112
  e.count = 0, e.json, e.instancedTiles = [];
@@ -4119,12 +4130,12 @@ class Wi {
4119
4130
  return !(!this.json || this.instancedTiles.length != 0);
4120
4131
  }
4121
4132
  }
4122
- let Ie = 0;
4123
- class ts {
4133
+ let ue = 0;
4134
+ class Zi {
4124
4135
  constructor(e, a) {
4125
- if (this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.maxInstances = 1, this.proxy = a.proxy, a && (this.meshCallback = a.meshCallback, this.pointsCallback = a.pointsCallback, a.maxCachedItems && (this.maxCachedItems = a.maxCachedItems), a.maxInstances && (this.maxInstances = a.maxInstances)), this.gltfLoader = new Dt(), a && a.dracoLoader) this.gltfLoader.setDRACOLoader(a.dracoLoader), this.hasDracoLoader = !0;
4136
+ if (this.zUpToYUpMatrix = new E.Matrix4(), this.zUpToYUpMatrix.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), this.maxCachedItems = 100, this.maxInstances = 1, this.proxy = a.proxy, a && (this.meshCallback = a.meshCallback, this.pointsCallback = a.pointsCallback, a.maxCachedItems && (this.maxCachedItems = a.maxCachedItems), a.maxInstances && (this.maxInstances = a.maxInstances)), this.gltfLoader = new St(), a && a.dracoLoader) this.gltfLoader.setDRACOLoader(a.dracoLoader), this.hasDracoLoader = !0;
4126
4137
  else {
4127
- const t = new Rt();
4138
+ const t = new Ft();
4128
4139
  t.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"), this.gltfLoader.setDRACOLoader(t), this.gltfLoader.hasDracoLoader = !0;
4129
4140
  }
4130
4141
  if (a && a.ktx2Loader) this.gltfLoader.setKTX2Loader(a.ktx2Loader), this.hasKTX2Loader = !0;
@@ -4132,20 +4143,20 @@ class ts {
4132
4143
  const t = new L();
4133
4144
  t.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(a.renderer), this.gltfLoader.setKTX2Loader(t), this.gltfLoader.hasKTX2Loader = !0;
4134
4145
  }
4135
- this.gltfLoader.setMeshoptDecoder(Vt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new jt(this.gltfLoader), this.cache = new kt(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
4146
+ this.gltfLoader.setMeshoptDecoder(zt), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new xt(this.gltfLoader), this.cache = new wt(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
4136
4147
  }
4137
4148
  update() {
4138
4149
  const e = this;
4139
4150
  e._checkSize(), e.cache._data.forEach((a) => {
4140
4151
  a.update();
4141
- }), Ie < 8 && e._download(), e._loadBatch();
4152
+ }), ue < 8 && e._download(), e._loadBatch();
4142
4153
  }
4143
4154
  _download() {
4144
4155
  const e = this;
4145
4156
  if (e.nextDownloads.length != 0 || (e._getNextDownloads(), e.nextDownloads.length != 0)) for (; e.nextDownloads.length > 0; ) {
4146
4157
  const t = e.nextDownloads.shift();
4147
4158
  if (t) {
4148
- if (t.path.includes(".b3dm") && (a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), Ie++, a().then((A) => {
4159
+ if (t.path.includes(".b3dm") && (a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), ue++, a().then((A) => {
4149
4160
  if (!A.ok) throw console.error("could not load tile with path : " + t.path), new Error(`couldn't load "${t.path}". Request failed with status ${A.status} : ${A.statusText}`);
4150
4161
  return A.arrayBuffer();
4151
4162
  }).then((A) => this.b3dmDecoder.parseB3DMInstanced(A, (i) => {
@@ -4153,12 +4164,12 @@ class ts {
4153
4164
  }, e.maxInstances, t.sceneZupToYup, t.meshZupToYup)).then((A) => {
4154
4165
  A.frustumCulled = !1, t.tile.setObject(A), e.ready.unshift(t);
4155
4166
  }).catch((A) => console.error(A)).finally(() => {
4156
- Ie--;
4157
- })), t.path.includes(".glb") || t.path.includes(".gltf")) a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), Ie++, a().then((A) => {
4167
+ ue--;
4168
+ })), t.path.includes(".glb") || t.path.includes(".gltf")) a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), ue++, a().then((A) => {
4158
4169
  if (!A.ok) throw new Error("missing content");
4159
4170
  return A.arrayBuffer();
4160
4171
  }).then(async (A) => {
4161
- await Xi(this.gltfLoader), this.gltfLoader.parse(A, null, (i) => {
4172
+ await zi(this.gltfLoader), this.gltfLoader.parse(A, null, (i) => {
4162
4173
  let s;
4163
4174
  i.scene.asset = i.asset, t.sceneZupToYup && i.scene.applyMatrix4(this.zUpToYUpMatrix), i.scene.traverse((r) => {
4164
4175
  r.geometricError = t.geometricError, r.isMesh && (t.meshZupToYup && r.applyMatrix4(this.zUpToYUpMatrix), e.meshCallback && e.meshCallback(r, r.geometricError)), r.isPoints && console.error("instanced point cloud is not supported");
@@ -4171,17 +4182,17 @@ class ts {
4171
4182
  }, (A) => {
4172
4183
  console.error("could not load tile : " + t.path);
4173
4184
  }).finally(() => {
4174
- Ie--;
4185
+ ue--;
4175
4186
  });
4176
4187
  else if (t.path.includes(".json")) {
4177
4188
  var a;
4178
- a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), Ie++, a().then((A) => {
4189
+ a = e.proxy ? () => fetch(e.proxy, { method: "POST", body: t.path }) : () => fetch(t.path), ue++, a().then((A) => {
4179
4190
  if (!A.ok) throw console.error("could not load tile with path : " + t.path), new Error(`couldn't load "${t.path}". Request failed with status ${A.status} : ${A.statusText}`);
4180
4191
  return A.json();
4181
- }).then((A) => Ua(A, t.path)).then((A) => {
4192
+ }).then((A) => Ra(A, t.path)).then((A) => {
4182
4193
  t.tile.setObject(A, t.path), e.ready.unshift(t);
4183
4194
  }).catch((A) => console.error(A)).finally(() => {
4184
- Ie--;
4195
+ ue--;
4185
4196
  });
4186
4197
  }
4187
4198
  }
@@ -4206,8 +4217,8 @@ class ts {
4206
4217
  }
4207
4218
  }
4208
4219
  }
4209
- get(e, a, t, A, i, s, r, o, n, b) {
4210
- const d = this, g = function(h) {
4220
+ get(e, a, t, A, i, s, r, n, o, c) {
4221
+ const b = this, g = function(h) {
4211
4222
  for (var f = h.split("/"), I = [], m = 0, u = 0; u < f.length; u++) {
4212
4223
  var C = f[u];
4213
4224
  C !== "." && C !== "" && C !== ".." ? I[m++] = C : C === ".." && m > 0 && m--;
@@ -4218,18 +4229,18 @@ class ts {
4218
4229
  return B;
4219
4230
  }(a);
4220
4231
  if (!(a.includes(".b3dm") || a.includes(".json") || a.includes(".glb") || a.includes(".gltf"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
4221
- const l = d.cache.get(g);
4232
+ const l = b.cache.get(g);
4222
4233
  if (l) l.addInstance(A);
4223
4234
  else if (a.includes(".b3dm") || a.includes(".glb") || a.includes(".gltf")) {
4224
- const h = new Yi(d.scene);
4225
- h.addInstance(A), d.cache.put(g, h);
4235
+ const h = new _i(b.scene);
4236
+ h.addInstance(A), b.cache.put(g, h);
4226
4237
  const f = new AbortController();
4227
4238
  e.signal.addEventListener("abort", () => {
4228
4239
  h.getCount() == 0 && f.abort();
4229
- }), this.downloads.push({ abortController: f, tile: h, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: o, meshZupToYup: n, geometricError: b, shouldDoDownload: () => !0 });
4240
+ }), this.downloads.push({ abortController: f, tile: h, key: g, path: a, distanceFunction: i, getSiblings: s, level: r, uuid: t, sceneZupToYup: n, meshZupToYup: o, geometricError: c, shouldDoDownload: () => !0 });
4230
4241
  } else if (a.includes(".json")) {
4231
- const h = new Wi();
4232
- h.addInstance(A), d.cache.put(g, h);
4242
+ const h = new Ki();
4243
+ h.addInstance(A), b.cache.put(g, h);
4233
4244
  const f = new AbortController();
4234
4245
  e.signal.addEventListener("abort", () => {
4235
4246
  h.getCount() == 0 && f.abort();
@@ -4265,21 +4276,21 @@ class ts {
4265
4276
  }
4266
4277
  }
4267
4278
  }
4268
- async function Xi(c) {
4279
+ async function zi(d) {
4269
4280
  return new Promise((e) => {
4270
4281
  const a = setInterval(() => {
4271
- c.hasDracoLoader && !c.dracoLoader || c.hasKTX2Loader && !c.ktx2Loader || (clearInterval(a), e());
4282
+ d.hasDracoLoader && !d.dracoLoader || d.hasKTX2Loader && !d.ktx2Loader || (clearInterval(a), e());
4272
4283
  }, 10);
4273
4284
  });
4274
4285
  }
4275
4286
  export {
4276
- as as InstancedOGC3DTile,
4277
- ts as InstancedTileLoader,
4278
- Wt as OGC3DTile,
4279
- es as OcclusionCullingService,
4280
- Ni as TileLoader,
4281
- zi as getOGC3DTilesCopyrightInfo,
4282
- _i as splatsFragmentShader,
4283
- qi as splatsVertexShader
4287
+ Xi as InstancedOGC3DTile,
4288
+ Zi as InstancedTileLoader,
4289
+ Yt as OGC3DTile,
4290
+ Wi as OcclusionCullingService,
4291
+ Ti as TileLoader,
4292
+ Pi as getOGC3DTilesCopyrightInfo,
4293
+ Oi as splatsFragmentShader,
4294
+ Li as splatsVertexShader
4284
4295
  };
4285
4296
  //# sourceMappingURL=threedtiles.es.js.map