@jdultra/threedtiles 13.0.9 → 13.0.11

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 GA = Object.defineProperty;
2
- var NA = (o, e, t) => e in o ? GA(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var Je = (o, e, t) => NA(o, typeof e != "symbol" ? e + "" : e, t);
1
+ var UA = Object.defineProperty;
2
+ var GA = (o, e, t) => e in o ? UA(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
+ var Je = (o, e, t) => GA(o, typeof e != "symbol" ? e + "" : e, t);
4
4
  import * as j from "three";
5
- import { Matrix3 as na, Vector3 as K, Box3 as oa, Matrix4 as it, Ray as _A, BufferGeometry as ca, BufferAttribute as Pe, TrianglesDrawMode as PA, TriangleFanDrawMode as Xt, TriangleStripDrawMode as eA, Loader as da, LoaderUtils as lt, FileLoader as Xe, Color as Oe, LinearSRGBColorSpace as be, SpotLight as OA, PointLight as HA, DirectionalLight as qA, MeshBasicMaterial as ot, SRGBColorSpace as ve, MeshPhysicalMaterial as me, Vector2 as tA, Quaternion as aA, InstancedMesh as JA, InstancedBufferAttribute as Zt, Object3D as AA, TextureLoader as KA, ImageBitmapLoader as zA, InterleavedBuffer as VA, InterleavedBufferAttribute as YA, LinearFilter as ut, LinearMipmapLinearFilter as ha, RepeatWrapping as $t, NearestFilter as P, PointsMaterial as WA, Material as jt, LineBasicMaterial as XA, MeshStandardMaterial as fa, DoubleSide as ZA, PropertyBinding as $A, SkinnedMesh as ei, Mesh as ea, LineSegments as ti, Line as ai, LineLoop as Ai, Points as ii, Group as Rt, PerspectiveCamera as si, MathUtils as ri, OrthographicCamera as iA, Skeleton as ni, AnimationClip as oi, Bone as ci, InterpolateLinear as sA, ColorManagement as ta, NearestMipmapNearestFilter as di, LinearMipmapNearestFilter as hi, NearestMipmapLinearFilter as li, ClampToEdgeWrapping as bi, MirroredRepeatWrapping as gi, InterpolateDiscrete as fi, FrontSide as wt, Texture as ua, VectorKeyframeTrack as Ia, NumberKeyframeTrack as pa, QuaternionKeyframeTrack as Ba, Sphere as ui, Interpolant as Ii, CompressedCubeTexture as pi, CompressedArrayTexture as Bi, CompressedTexture as ma, RGBAFormat as Be, RGBA_ASTC_4x4_Format as rA, RGB_BPTC_UNSIGNED_Format as mi, RGBA_BPTC_Format as Ci, RGBA_ETC2_EAC_Format as Ei, RGBA_PVRTC_4BPPV1_Format as Qi, RGBA_S3TC_DXT5_Format as yi, RGB_ETC1_Format as wi, RGB_ETC2_Format as xi, RGB_PVRTC_4BPPV1_Format as ki, RGBA_S3TC_DXT1_Format as Di, UnsignedByteType as ue, HalfFloatType as et, FloatType as W, DataTexture as ct, Data3DTexture as ji, NoColorSpace as Ri, RGFormat as dt, RedFormat as ht, RGBA_ASTC_6x6_Format as Ca, WebGL3DRenderTarget as Ue, ShaderMaterial as Mt, AlwaysDepth as Mi, InstancedBufferGeometry as Ea, DynamicDrawUsage as Qa, Scene as vi, PlaneGeometry as Ti } from "three";
6
- function It(o, e) {
5
+ import { Matrix3 as ia, Vector3 as K, Box3 as sa, Matrix4 as it, Ray as NA, BufferGeometry as ra, BufferAttribute as Pe, TrianglesDrawMode as _A, TriangleFanDrawMode as Vt, TriangleStripDrawMode as $a, Loader as na, LoaderUtils as lt, FileLoader as Xe, Color as Oe, LinearSRGBColorSpace as be, SpotLight as PA, PointLight as OA, DirectionalLight as HA, MeshBasicMaterial as ot, SRGBColorSpace as ve, MeshPhysicalMaterial as me, Vector2 as eA, Quaternion as tA, InstancedMesh as qA, InstancedBufferAttribute as Yt, Object3D as aA, TextureLoader as JA, ImageBitmapLoader as KA, InterleavedBuffer as zA, InterleavedBufferAttribute as VA, LinearFilter as ft, LinearMipmapLinearFilter as oa, RepeatWrapping as Wt, NearestFilter as P, PointsMaterial as YA, Material as wt, LineBasicMaterial as WA, MeshStandardMaterial as ga, DoubleSide as XA, PropertyBinding as ZA, SkinnedMesh as $A, Mesh as Xt, LineSegments as ei, Line as ti, LineLoop as ai, Points as Ai, Group as xt, PerspectiveCamera as ii, MathUtils as si, OrthographicCamera as AA, Skeleton as ri, AnimationClip as ni, Bone as oi, InterpolateLinear as iA, ColorManagement as Zt, NearestMipmapNearestFilter as ci, LinearMipmapNearestFilter as di, NearestMipmapLinearFilter as hi, ClampToEdgeWrapping as li, MirroredRepeatWrapping as bi, InterpolateDiscrete as gi, FrontSide as Et, Texture as fa, VectorKeyframeTrack as ua, NumberKeyframeTrack as Ia, QuaternionKeyframeTrack as pa, Sphere as fi, Interpolant as ui, CompressedCubeTexture as Ii, CompressedArrayTexture as pi, CompressedTexture as Ba, RGBAFormat as Be, RGBA_ASTC_4x4_Format as sA, RGB_BPTC_UNSIGNED_Format as Bi, RGBA_BPTC_Format as mi, RGBA_ETC2_EAC_Format as Ci, RGBA_PVRTC_4BPPV1_Format as Ei, RGBA_S3TC_DXT5_Format as Qi, RGB_ETC1_Format as yi, RGB_ETC2_Format as wi, RGB_PVRTC_4BPPV1_Format as xi, RGBA_S3TC_DXT1_Format as ki, UnsignedByteType as ue, HalfFloatType as et, FloatType as W, DataTexture as ct, Data3DTexture as Di, NoColorSpace as ji, RGFormat as dt, RedFormat as ht, RGBA_ASTC_6x6_Format as ma, WebGL3DRenderTarget as Ue, ShaderMaterial as kt, AlwaysDepth as Ri, InstancedBufferGeometry as Ca, DynamicDrawUsage as Ea, Scene as Mi, PlaneGeometry as vi } from "three";
6
+ function ca(o, e) {
7
7
  for (var t = 0; t < e.length; t++) {
8
8
  const a = e[t];
9
9
  if (typeof a != "string" && !Array.isArray(a)) {
@@ -15,7 +15,7 @@ function It(o, e) {
15
15
  }
16
16
  return Object.freeze(Object.defineProperty(o, Symbol.toStringTag, { value: "Module" }));
17
17
  }
18
- class $s {
18
+ class Ks {
19
19
  constructor() {
20
20
  this.cullMap = [], this.cullMaterial = new j.MeshBasicMaterial({ vertexColors: !0 }), this.cullMaterial.side = j.FrontSide, this.cullTarget = this._createCullTarget(), this.cullPixels = new Uint8Array(4 * this.cullTarget.width * this.cullTarget.height);
21
21
  }
@@ -38,10 +38,10 @@ class $s {
38
38
  return this.cullMap[e];
39
39
  }
40
40
  }
41
- const le = new na(), te = new K(), ya = new K(), wa = new oa(), Bt = new it(), xa = new it(), ka = new _A();
41
+ const le = new ia(), te = new K(), Qa = new K(), ya = new sa(), ut = new it(), wa = new it(), xa = new NA();
42
42
  class Re {
43
43
  constructor(e) {
44
- this.center = new K(e[0], e[1], e[2]), this.e1 = new K(e[3], e[4], e[5]), this.e2 = new K(e[6], e[7], e[8]), this.e3 = new K(e[9], e[10], e[11]), this.halfSize = new K(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new na(), this.rotationMatrix.set(this.e1.x, this.e1.y, this.e1.z, this.e2.x, this.e2.y, this.e2.z, this.e3.x, this.e3.y, this.e3.z);
44
+ this.center = new K(e[0], e[1], e[2]), this.e1 = new K(e[3], e[4], e[5]), this.e2 = new K(e[6], e[7], e[8]), this.e3 = new K(e[9], e[10], e[11]), this.halfSize = new K(this.e1.length(), this.e2.length(), this.e3.length()), this.e1.normalize(), this.e2.normalize(), this.e3.normalize(), this.rotationMatrix = new ia(), this.rotationMatrix.set(this.e1.x, this.e1.y, this.e1.z, this.e2.x, this.e2.y, this.e2.z, this.e3.x, this.e3.y, this.e3.z);
45
45
  }
46
46
  copy(e) {
47
47
  this.center.copy(e.center), this.rotationMatrix.copy(e.rotationMatrix), this.halfSize.copy(e.halfSize);
@@ -58,7 +58,7 @@ class Re {
58
58
  return le.elements[0] *= i, le.elements[1] *= i, le.elements[2] *= i, le.elements[3] *= n, le.elements[4] *= n, le.elements[5] *= n, le.elements[6] *= l, le.elements[7] *= l, le.elements[8] *= l, this.rotationMatrix.multiply(le), this.halfSize.x *= a, this.halfSize.y *= A, this.halfSize.z *= s, te.setFromMatrixPosition(e), this.center.applyMatrix4(e), this;
59
59
  }
60
60
  intersectRay(e, t) {
61
- return this.getSize(ya), wa.setFromCenterAndSize(te.set(0, 0, 0), ya), Bt.setFromMatrix3(this.rotationMatrix), Bt.setPosition(this.center), xa.copy(Bt).invert(), ka.copy(e).applyMatrix4(xa), ka.intersectBox(wa, t) ? t.applyMatrix4(Bt) : null;
61
+ return this.getSize(Qa), ya.setFromCenterAndSize(te.set(0, 0, 0), Qa), ut.setFromMatrix3(this.rotationMatrix), ut.setPosition(this.center), wa.copy(ut).invert(), xa.copy(e).applyMatrix4(wa), xa.intersectBox(ya, t) ? t.applyMatrix4(ut) : null;
62
62
  }
63
63
  intersectsRay(e) {
64
64
  return this.intersectRay(e, te) !== null;
@@ -81,10 +81,10 @@ class Re {
81
81
  return Math.sqrt(t * t + a * a + A * A);
82
82
  }
83
83
  }
84
- function Dt(o) {
84
+ function yt(o) {
85
85
  return o && o.__esModule && Object.prototype.hasOwnProperty.call(o, "default") ? o.default : o;
86
86
  }
87
- function pt(o) {
87
+ function da(o) {
88
88
  if (o.__esModule) return o;
89
89
  var e = o.default;
90
90
  if (typeof e == "function") {
@@ -108,7 +108,7 @@ function pt(o) {
108
108
  * Parent is math.floor((m - 1) / 2) where m is is the child index
109
109
  * @class Heap
110
110
  */
111
- var Da = class {
111
+ var ka = class {
112
112
  constructor(o, e) {
113
113
  if (this._data = [], this._comparator = function(t, a) {
114
114
  return t >= a;
@@ -156,8 +156,8 @@ var Da = class {
156
156
  this._comparator(this._data[o], this._data[a]) && (this.swap(o, a), this.heapifyDown(a));
157
157
  }
158
158
  };
159
- const Si = pt(It({ __proto__: null, default: Dt(Da) }, [Da]));
160
- var ja = class {
159
+ const Ti = da(ca({ __proto__: null, default: yt(ka) }, [ka]));
160
+ var Da = class {
161
161
  constructor(o, e) {
162
162
  if (this._data = [], this._head = 0, this._cap = null, o != null) {
163
163
  if (!Array.isArray(o)) throw Error("Constructor expects data to be an array");
@@ -195,8 +195,8 @@ var ja = class {
195
195
  return this._data.slice(this._head);
196
196
  }
197
197
  };
198
- const Fi = pt(It({ __proto__: null, default: Dt(ja) }, [ja]));
199
- var Ra = class {
198
+ const Si = da(ca({ __proto__: null, default: yt(Da) }, [Da]));
199
+ var ja = class {
200
200
  constructor() {
201
201
  this._data = /* @__PURE__ */ new Map(), this._link = /* @__PURE__ */ new Map(), this._head = void 0, this._tail = void 0;
202
202
  }
@@ -279,15 +279,15 @@ var Ra = class {
279
279
  }
280
280
  return Array.from(this.keys()).map((e) => ({ key: e, value: this.get(e) }));
281
281
  }
282
- }, nA = { Heap: Si, Queue: Fi, LinkedHashMap: pt(It({ __proto__: null, default: Dt(Ra) }, [Ra])) };
283
- const Li = new TextDecoder();
284
- class oA {
282
+ }, rA = { Heap: Ti, Queue: Si, LinkedHashMap: da(ca({ __proto__: null, default: yt(ja) }, [ja])) };
283
+ const Fi = new TextDecoder();
284
+ class nA {
285
285
  constructor(e, t, a, A) {
286
286
  this.buffer = e, this.binOffset = t + a, this.binLength = A;
287
287
  let s = null;
288
288
  if (a !== 0) try {
289
289
  const i = new Uint8Array(e, t, a);
290
- s = JSON.parse(Li.decode(i));
290
+ s = JSON.parse(Fi.decode(i));
291
291
  } catch {
292
292
  s = {};
293
293
  }
@@ -359,7 +359,7 @@ class oA {
359
359
  return i;
360
360
  }
361
361
  }
362
- class Ui extends oA {
362
+ class Li extends nA {
363
363
  constructor(e, t, a, A, s) {
364
364
  super(e, a, A, s), this.batchSize = t;
365
365
  }
@@ -367,7 +367,7 @@ class Ui extends oA {
367
367
  return super.getData(e, this.batchSize, t, a);
368
368
  }
369
369
  }
370
- function Ma(o) {
370
+ function Ra(o) {
371
371
  let e, t, a, A = -1, s = 0;
372
372
  for (let h = 0; h < o.length; ++h) {
373
373
  const b = o[h];
@@ -392,9 +392,9 @@ function Ma(o) {
392
392
  }
393
393
  return A !== void 0 && (n.gpuType = A), n;
394
394
  }
395
- function va(o, e) {
396
- if (e === PA) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
397
- if (e === Xt || e === eA) {
395
+ function Ma(o, e) {
396
+ if (e === _A) return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), o;
397
+ if (e === Vt || e === $a) {
398
398
  let t = o.getIndex();
399
399
  if (t === null) {
400
400
  const i = [], n = o.getAttribute("position");
@@ -403,7 +403,7 @@ function va(o, e) {
403
403
  o.setIndex(i), t = o.getIndex();
404
404
  }
405
405
  const a = t.count - 2, A = [];
406
- if (e === Xt) for (let i = 1; i <= a; i++) A.push(t.getX(0)), A.push(t.getX(i)), A.push(t.getX(i + 1));
406
+ if (e === Vt) for (let i = 1; i <= a; i++) A.push(t.getX(0)), A.push(t.getX(i)), A.push(t.getX(i + 1));
407
407
  else for (let i = 0; i < a; i++) i % 2 == 0 ? (A.push(t.getX(i)), A.push(t.getX(i + 1)), A.push(t.getX(i + 2))) : (A.push(t.getX(i + 2)), A.push(t.getX(i + 1)), A.push(t.getX(i)));
408
408
  A.length / 3 !== a && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
409
409
  const s = o.clone();
@@ -411,7 +411,7 @@ function va(o, e) {
411
411
  }
412
412
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), o;
413
413
  }
414
- class cA {
414
+ class oA {
415
415
  constructor(e) {
416
416
  Je(this, "checkLoaderInitialized", async () => new Promise((e) => {
417
417
  const t = setInterval(() => {
@@ -425,8 +425,8 @@ class cA {
425
425
  console.assert(n === "b3dm");
426
426
  const l = i.getUint32(8, !0);
427
427
  console.assert(l === e.byteLength);
428
- const h = i.getUint32(12, !0), b = i.getUint32(16, !0), g = i.getUint32(20, !0), f = i.getUint32(24, !0), I = new oA(e, 28, h, b), u = 28 + h + b;
429
- new Ui(e, I.getData("BATCH_LENGTH"), u, g, f);
428
+ const h = i.getUint32(12, !0), b = i.getUint32(16, !0), g = i.getUint32(20, !0), f = i.getUint32(24, !0), I = new nA(e, 28, h, b), u = 28 + h + b;
429
+ new Li(e, I.getData("BATCH_LENGTH"), u, g, f);
430
430
  const p = u + g + f, m = new Uint8Array(e, p, l - p).slice().buffer;
431
431
  return new Promise(async (C, E) => {
432
432
  await this.checkLoaderInitialized(), this.gltfLoader.parse(m, null, (x) => {
@@ -469,7 +469,7 @@ class cA {
469
469
  }
470
470
  });
471
471
  }), function(u, p = !1) {
472
- const m = u[0].index !== null, C = new Set(Object.keys(u[0].attributes)), E = new Set(Object.keys(u[0].morphAttributes)), x = {}, w = {}, M = u[0].morphTargetsRelative, T = new ca();
472
+ const m = u[0].index !== null, C = new Set(Object.keys(u[0].attributes)), E = new Set(Object.keys(u[0].morphAttributes)), x = {}, w = {}, M = u[0].morphTargetsRelative, T = new ra();
473
473
  let v = 0;
474
474
  for (let k = 0; k < u.length; ++k) {
475
475
  const R = u[k];
@@ -506,7 +506,7 @@ class cA {
506
506
  T.setIndex(R);
507
507
  }
508
508
  for (const k in x) {
509
- const R = Ma(x[k]);
509
+ const R = Ra(x[k]);
510
510
  if (!R) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + k + " attribute."), null;
511
511
  T.setAttribute(k, R);
512
512
  }
@@ -517,7 +517,7 @@ class cA {
517
517
  for (let S = 0; S < R; ++S) {
518
518
  const F = [];
519
519
  for (let Ae = 0; Ae < w[k].length; ++Ae) F.push(w[k][Ae][S]);
520
- const z = Ma(F);
520
+ const z = Ra(F);
521
521
  if (!z) return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + k + " morphAttribute."), null;
522
522
  T.morphAttributes[k].push(z);
523
523
  }
@@ -529,25 +529,25 @@ class cA {
529
529
  });
530
530
  }
531
531
  }
532
- var vt, Gi = new Uint8Array(16);
533
- function Ni() {
534
- if (!vt && !(vt = 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");
535
- return vt(Gi);
532
+ var Dt, Ui = new Uint8Array(16);
533
+ function Gi() {
534
+ if (!Dt && !(Dt = 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");
535
+ return Dt(Ui);
536
536
  }
537
- const _i = /^(?:[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;
538
- for (var $ = [], Tt = 0; Tt < 256; ++Tt) $.push((Tt + 256).toString(16).substr(1));
539
- function Pi(o) {
537
+ const Ni = /^(?:[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;
538
+ for (var $ = [], jt = 0; jt < 256; ++jt) $.push((jt + 256).toString(16).substr(1));
539
+ function _i(o) {
540
540
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, t = ($[o[e + 0]] + $[o[e + 1]] + $[o[e + 2]] + $[o[e + 3]] + "-" + $[o[e + 4]] + $[o[e + 5]] + "-" + $[o[e + 6]] + $[o[e + 7]] + "-" + $[o[e + 8]] + $[o[e + 9]] + "-" + $[o[e + 10]] + $[o[e + 11]] + $[o[e + 12]] + $[o[e + 13]] + $[o[e + 14]] + $[o[e + 15]]).toLowerCase();
541
541
  if (!function(a) {
542
- return typeof a == "string" && _i.test(a);
542
+ return typeof a == "string" && Ni.test(a);
543
543
  }(t)) throw TypeError("Stringified UUID is invalid");
544
544
  return t;
545
545
  }
546
- function dA(o, e, t) {
547
- var a = (o = o || {}).random || (o.rng || Ni)();
548
- return a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, Pi(a);
546
+ function cA(o, e, t) {
547
+ var a = (o = o || {}).random || (o.rng || Gi)();
548
+ return a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, _i(a);
549
549
  }
550
- class Oi {
550
+ class Pi {
551
551
  constructor(e, t) {
552
552
  Je(this, "checkLoaderInitialized", async () => {
553
553
  const e = this;
@@ -574,18 +574,20 @@ class Oi {
574
574
  });
575
575
  }
576
576
  }
577
- class hA extends da {
577
+ class dA extends na {
578
578
  constructor(e) {
579
579
  super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
580
+ return new Ki(t);
581
+ }), this.register(function(t) {
580
582
  return new zi(t);
581
583
  }), this.register(function(t) {
582
- return new Vi(t);
584
+ return new as(t);
583
585
  }), this.register(function(t) {
584
586
  return new As(t);
585
587
  }), this.register(function(t) {
586
588
  return new is(t);
587
589
  }), this.register(function(t) {
588
- return new ss(t);
590
+ return new Yi(t);
589
591
  }), this.register(function(t) {
590
592
  return new Wi(t);
591
593
  }), this.register(function(t) {
@@ -593,23 +595,21 @@ class hA extends da {
593
595
  }), this.register(function(t) {
594
596
  return new Zi(t);
595
597
  }), this.register(function(t) {
596
- return new $i(t);
598
+ return new Ji(t);
597
599
  }), this.register(function(t) {
598
- return new Ki(t);
600
+ return new $i(t);
599
601
  }), this.register(function(t) {
600
- return new es(t);
602
+ return new Vi(t);
601
603
  }), this.register(function(t) {
602
- return new Yi(t);
604
+ return new ts(t);
603
605
  }), this.register(function(t) {
604
- return new as(t);
606
+ return new es(t);
605
607
  }), this.register(function(t) {
606
- return new ts(t);
608
+ return new Hi(t);
607
609
  }), this.register(function(t) {
608
- return new qi(t);
610
+ return new ss(t);
609
611
  }), this.register(function(t) {
610
612
  return new rs(t);
611
- }), this.register(function(t) {
612
- return new ns(t);
613
613
  });
614
614
  }
615
615
  load(e, t, a, A) {
@@ -654,9 +654,9 @@ class hA extends da {
654
654
  const i = {}, n = {}, l = new TextDecoder();
655
655
  if (typeof e == "string") s = JSON.parse(e);
656
656
  else if (e instanceof ArrayBuffer)
657
- if (l.decode(new Uint8Array(e, 0, 4)) === lA) {
657
+ if (l.decode(new Uint8Array(e, 0, 4)) === hA) {
658
658
  try {
659
- i[U.KHR_BINARY_GLTF] = new ds(e);
659
+ i[U.KHR_BINARY_GLTF] = new cs(e);
660
660
  } catch (b) {
661
661
  return void (A && A(b));
662
662
  }
@@ -664,7 +664,7 @@ class hA extends da {
664
664
  } else s = JSON.parse(l.decode(e));
665
665
  else s = e;
666
666
  if (s.asset === void 0 || s.asset.version[0] < 2) return void (A && A(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));
667
- const h = new Qs(s, { path: t || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
667
+ const h = new Es(s, { path: t || this.resourcePath || "", crossOrigin: this.crossOrigin, requestHeader: this.requestHeader, manager: this.manager, ktx2Loader: this.ktx2Loader, meshoptDecoder: this.meshoptDecoder });
668
668
  h.fileLoader.setRequestHeader(this.requestHeader);
669
669
  for (let b = 0; b < this.pluginCallbacks.length; b++) {
670
670
  const g = this.pluginCallbacks[b](h);
@@ -674,16 +674,16 @@ class hA extends da {
674
674
  const g = s.extensionsUsed[b], f = s.extensionsRequired || [];
675
675
  switch (g) {
676
676
  case U.KHR_MATERIALS_UNLIT:
677
- i[g] = new Ji();
677
+ i[g] = new qi();
678
678
  break;
679
679
  case U.KHR_DRACO_MESH_COMPRESSION:
680
- i[g] = new hs(s, this.dracoLoader);
680
+ i[g] = new ds(s, this.dracoLoader);
681
681
  break;
682
682
  case U.KHR_TEXTURE_TRANSFORM:
683
- i[g] = new ls();
683
+ i[g] = new hs();
684
684
  break;
685
685
  case U.KHR_MESH_QUANTIZATION:
686
- i[g] = new bs();
686
+ i[g] = new ls();
687
687
  break;
688
688
  default:
689
689
  f.indexOf(g) >= 0 && n[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
@@ -698,7 +698,7 @@ class hA extends da {
698
698
  });
699
699
  }
700
700
  }
701
- function Hi() {
701
+ function Oi() {
702
702
  let o = {};
703
703
  return { get: function(e) {
704
704
  return o[e];
@@ -711,7 +711,7 @@ function Hi() {
711
711
  } };
712
712
  }
713
713
  const U = { 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" };
714
- class qi {
714
+ class Hi {
715
715
  constructor(e) {
716
716
  this.parser = e, this.name = U.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
717
717
  }
@@ -733,13 +733,13 @@ class qi {
733
733
  const h = i.range !== void 0 ? i.range : 0;
734
734
  switch (i.type) {
735
735
  case "directional":
736
- n = new qA(l), n.target.position.set(0, 0, -1), n.add(n.target);
736
+ n = new HA(l), n.target.position.set(0, 0, -1), n.add(n.target);
737
737
  break;
738
738
  case "point":
739
- n = new HA(l), n.distance = h;
739
+ n = new OA(l), n.distance = h;
740
740
  break;
741
741
  case "spot":
742
- n = new OA(l), n.distance = h, i.spot = i.spot || {}, i.spot.innerConeAngle = i.spot.innerConeAngle !== void 0 ? i.spot.innerConeAngle : 0, i.spot.outerConeAngle = i.spot.outerConeAngle !== void 0 ? i.spot.outerConeAngle : Math.PI / 4, n.angle = i.spot.outerConeAngle, n.penumbra = 1 - i.spot.innerConeAngle / i.spot.outerConeAngle, n.target.position.set(0, 0, -1), n.add(n.target);
742
+ n = new PA(l), n.distance = h, i.spot = i.spot || {}, i.spot.innerConeAngle = i.spot.innerConeAngle !== void 0 ? i.spot.innerConeAngle : 0, i.spot.outerConeAngle = i.spot.outerConeAngle !== void 0 ? i.spot.outerConeAngle : Math.PI / 4, n.angle = i.spot.outerConeAngle, n.penumbra = 1 - i.spot.innerConeAngle / i.spot.outerConeAngle, n.target.position.set(0, 0, -1), n.add(n.target);
743
743
  break;
744
744
  default:
745
745
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + i.type);
@@ -756,7 +756,7 @@ class qi {
756
756
  });
757
757
  }
758
758
  }
759
- class Ji {
759
+ class qi {
760
760
  constructor() {
761
761
  this.name = U.KHR_MATERIALS_UNLIT;
762
762
  }
@@ -777,7 +777,7 @@ class Ji {
777
777
  return Promise.all(A);
778
778
  }
779
779
  }
780
- class Ki {
780
+ class Ji {
781
781
  constructor(e) {
782
782
  this.parser = e, this.name = U.KHR_MATERIALS_EMISSIVE_STRENGTH;
783
783
  }
@@ -788,7 +788,7 @@ class Ki {
788
788
  return A !== void 0 && (t.emissiveIntensity = A), Promise.resolve();
789
789
  }
790
790
  }
791
- class zi {
791
+ class Ki {
792
792
  constructor(e) {
793
793
  this.parser = e, this.name = U.KHR_MATERIALS_CLEARCOAT;
794
794
  }
@@ -802,12 +802,12 @@ class zi {
802
802
  const s = [], i = A.extensions[this.name];
803
803
  if (i.clearcoatFactor !== void 0 && (t.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && s.push(a.assignTexture(t, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (t.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && s.push(a.assignTexture(t, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (s.push(a.assignTexture(t, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
804
804
  const n = i.clearcoatNormalTexture.scale;
805
- t.clearcoatNormalScale = new tA(n, n);
805
+ t.clearcoatNormalScale = new eA(n, n);
806
806
  }
807
807
  return Promise.all(s);
808
808
  }
809
809
  }
810
- class Vi {
810
+ class zi {
811
811
  constructor(e) {
812
812
  this.parser = e, this.name = U.KHR_MATERIALS_DISPERSION;
813
813
  }
@@ -822,7 +822,7 @@ class Vi {
822
822
  return t.dispersion = A.dispersion !== void 0 ? A.dispersion : 0, Promise.resolve();
823
823
  }
824
824
  }
825
- class Yi {
825
+ class Vi {
826
826
  constructor(e) {
827
827
  this.parser = e, this.name = U.KHR_MATERIALS_IRIDESCENCE;
828
828
  }
@@ -837,7 +837,7 @@ class Yi {
837
837
  return i.iridescenceFactor !== void 0 && (t.iridescence = i.iridescenceFactor), i.iridescenceTexture !== void 0 && s.push(a.assignTexture(t, "iridescenceMap", i.iridescenceTexture)), i.iridescenceIor !== void 0 && (t.iridescenceIOR = i.iridescenceIor), t.iridescenceThicknessRange === void 0 && (t.iridescenceThicknessRange = [100, 400]), i.iridescenceThicknessMinimum !== void 0 && (t.iridescenceThicknessRange[0] = i.iridescenceThicknessMinimum), i.iridescenceThicknessMaximum !== void 0 && (t.iridescenceThicknessRange[1] = i.iridescenceThicknessMaximum), i.iridescenceThicknessTexture !== void 0 && s.push(a.assignTexture(t, "iridescenceThicknessMap", i.iridescenceThicknessTexture)), Promise.all(s);
838
838
  }
839
839
  }
840
- class Wi {
840
+ class Yi {
841
841
  constructor(e) {
842
842
  this.parser = e, this.name = U.KHR_MATERIALS_SHEEN;
843
843
  }
@@ -858,7 +858,7 @@ class Wi {
858
858
  return i.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(t, "sheenColorMap", i.sheenColorTexture, ve)), i.sheenRoughnessTexture !== void 0 && s.push(a.assignTexture(t, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(s);
859
859
  }
860
860
  }
861
- class Xi {
861
+ class Wi {
862
862
  constructor(e) {
863
863
  this.parser = e, this.name = U.KHR_MATERIALS_TRANSMISSION;
864
864
  }
@@ -873,7 +873,7 @@ class Xi {
873
873
  return i.transmissionFactor !== void 0 && (t.transmission = i.transmissionFactor), i.transmissionTexture !== void 0 && s.push(a.assignTexture(t, "transmissionMap", i.transmissionTexture)), Promise.all(s);
874
874
  }
875
875
  }
876
- class Zi {
876
+ class Xi {
877
877
  constructor(e) {
878
878
  this.parser = e, this.name = U.KHR_MATERIALS_VOLUME;
879
879
  }
@@ -890,7 +890,7 @@ class Zi {
890
890
  return t.attenuationColor = new Oe().setRGB(n[0], n[1], n[2], be), Promise.all(s);
891
891
  }
892
892
  }
893
- class $i {
893
+ class Zi {
894
894
  constructor(e) {
895
895
  this.parser = e, this.name = U.KHR_MATERIALS_IOR;
896
896
  }
@@ -905,7 +905,7 @@ class $i {
905
905
  return t.ior = A.ior !== void 0 ? A.ior : 1.5, Promise.resolve();
906
906
  }
907
907
  }
908
- class es {
908
+ class $i {
909
909
  constructor(e) {
910
910
  this.parser = e, this.name = U.KHR_MATERIALS_SPECULAR;
911
911
  }
@@ -922,7 +922,7 @@ class es {
922
922
  return t.specularColor = new Oe().setRGB(n[0], n[1], n[2], be), i.specularColorTexture !== void 0 && s.push(a.assignTexture(t, "specularColorMap", i.specularColorTexture, ve)), Promise.all(s);
923
923
  }
924
924
  }
925
- class ts {
925
+ class es {
926
926
  constructor(e) {
927
927
  this.parser = e, this.name = U.EXT_MATERIALS_BUMP;
928
928
  }
@@ -937,7 +937,7 @@ class ts {
937
937
  return t.bumpScale = i.bumpFactor !== void 0 ? i.bumpFactor : 1, i.bumpTexture !== void 0 && s.push(a.assignTexture(t, "bumpMap", i.bumpTexture)), Promise.all(s);
938
938
  }
939
939
  }
940
- class as {
940
+ class ts {
941
941
  constructor(e) {
942
942
  this.parser = e, this.name = U.KHR_MATERIALS_ANISOTROPY;
943
943
  }
@@ -952,7 +952,7 @@ class as {
952
952
  return i.anisotropyStrength !== void 0 && (t.anisotropy = i.anisotropyStrength), i.anisotropyRotation !== void 0 && (t.anisotropyRotation = i.anisotropyRotation), i.anisotropyTexture !== void 0 && s.push(a.assignTexture(t, "anisotropyMap", i.anisotropyTexture)), Promise.all(s);
953
953
  }
954
954
  }
955
- class As {
955
+ class as {
956
956
  constructor(e) {
957
957
  this.parser = e, this.name = U.KHR_TEXTURE_BASISU;
958
958
  }
@@ -967,7 +967,7 @@ class As {
967
967
  return t.loadTextureImage(e, s.source, i);
968
968
  }
969
969
  }
970
- class is {
970
+ class As {
971
971
  constructor(e) {
972
972
  this.parser = e, this.name = U.EXT_TEXTURE_WEBP, this.isSupported = null;
973
973
  }
@@ -995,7 +995,7 @@ class is {
995
995
  })), this.isSupported;
996
996
  }
997
997
  }
998
- class ss {
998
+ class is {
999
999
  constructor(e) {
1000
1000
  this.parser = e, this.name = U.EXT_TEXTURE_AVIF, this.isSupported = null;
1001
1001
  }
@@ -1023,7 +1023,7 @@ class ss {
1023
1023
  })), this.isSupported;
1024
1024
  }
1025
1025
  }
1026
- class rs {
1026
+ class ss {
1027
1027
  constructor(e) {
1028
1028
  this.name = U.EXT_MESHOPT_COMPRESSION, this.parser = e;
1029
1029
  }
@@ -1048,7 +1048,7 @@ class rs {
1048
1048
  return null;
1049
1049
  }
1050
1050
  }
1051
- class ns {
1051
+ class rs {
1052
1052
  constructor(e) {
1053
1053
  this.name = U.EXT_MESH_GPU_INSTANCING, this.parser = e;
1054
1054
  }
@@ -1062,24 +1062,24 @@ class ns {
1062
1062
  return i.length < 1 ? null : (i.push(this.parser.createNodeMesh(e)), Promise.all(i).then((l) => {
1063
1063
  const h = l.pop(), b = h.isGroup ? h.children : [h], g = l[0].count, f = [];
1064
1064
  for (const I of b) {
1065
- const u = new it(), p = new K(), m = new aA(), C = new K(1, 1, 1), E = new JA(I.geometry, I.material, g);
1065
+ const u = new it(), p = new K(), m = new tA(), C = new K(1, 1, 1), E = new qA(I.geometry, I.material, g);
1066
1066
  for (let x = 0; x < g; x++) n.TRANSLATION && p.fromBufferAttribute(n.TRANSLATION, x), n.ROTATION && m.fromBufferAttribute(n.ROTATION, x), n.SCALE && C.fromBufferAttribute(n.SCALE, x), E.setMatrixAt(x, u.compose(p, m, C));
1067
1067
  for (const x in n) if (x === "_COLOR_0") {
1068
1068
  const w = n[x];
1069
- E.instanceColor = new Zt(w.array, w.itemSize, w.normalized);
1069
+ E.instanceColor = new Yt(w.array, w.itemSize, w.normalized);
1070
1070
  } else x !== "TRANSLATION" && x !== "ROTATION" && x !== "SCALE" && I.geometry.setAttribute(x, n[x]);
1071
- AA.prototype.copy.call(E, I), this.parser.assignFinalMaterial(E), f.push(E);
1071
+ aA.prototype.copy.call(E, I), this.parser.assignFinalMaterial(E), f.push(E);
1072
1072
  }
1073
1073
  return h.isGroup ? (h.clear(), h.add(...f), h) : f[0];
1074
1074
  }));
1075
1075
  }
1076
1076
  }
1077
- const lA = "glTF", os = 1313821514, cs = 5130562;
1078
- class ds {
1077
+ const hA = "glTF", ns = 1313821514, os = 5130562;
1078
+ class cs {
1079
1079
  constructor(e) {
1080
1080
  this.name = U.KHR_BINARY_GLTF, this.content = null, this.body = null;
1081
1081
  const t = new DataView(e, 0, 12), a = new TextDecoder();
1082
- if (this.header = { magic: a.decode(new Uint8Array(e.slice(0, 4))), version: t.getUint32(4, !0), length: t.getUint32(8, !0) }, this.header.magic !== lA) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
1082
+ if (this.header = { magic: a.decode(new Uint8Array(e.slice(0, 4))), version: t.getUint32(4, !0), length: t.getUint32(8, !0) }, this.header.magic !== hA) throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
1083
1083
  if (this.header.version < 2) throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
1084
1084
  const A = this.header.length - 12, s = new DataView(e, 12);
1085
1085
  let i = 0;
@@ -1087,10 +1087,10 @@ class ds {
1087
1087
  const n = s.getUint32(i, !0);
1088
1088
  i += 4;
1089
1089
  const l = s.getUint32(i, !0);
1090
- if (i += 4, l === os) {
1090
+ if (i += 4, l === ns) {
1091
1091
  const h = new Uint8Array(e, 12 + i, n);
1092
1092
  this.content = a.decode(h);
1093
- } else if (l === cs) {
1093
+ } else if (l === os) {
1094
1094
  const h = 12 + i;
1095
1095
  this.body = e.slice(h, h + n);
1096
1096
  }
@@ -1099,7 +1099,7 @@ class ds {
1099
1099
  if (this.content === null) throw new Error("THREE.GLTFLoader: JSON content not found.");
1100
1100
  }
1101
1101
  }
1102
- class hs {
1102
+ class ds {
1103
1103
  constructor(e, t) {
1104
1104
  if (!t) throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
1105
1105
  this.name = U.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = t, this.dracoLoader.preload();
@@ -1107,11 +1107,11 @@ class hs {
1107
1107
  decodePrimitive(e, t) {
1108
1108
  const a = this.json, A = this.dracoLoader, s = e.extensions[this.name].bufferView, i = e.extensions[this.name].attributes, n = {}, l = {}, h = {};
1109
1109
  for (const b in i) {
1110
- const g = aa[b] || b.toLowerCase();
1110
+ const g = $t[b] || b.toLowerCase();
1111
1111
  n[g] = i[b];
1112
1112
  }
1113
1113
  for (const b in e.attributes) {
1114
- const g = aa[b] || b.toLowerCase();
1114
+ const g = $t[b] || b.toLowerCase();
1115
1115
  if (i[b] !== void 0) {
1116
1116
  const f = a.accessors[e.attributes[b]], I = tt[f.componentType];
1117
1117
  h[g] = I.name, l[g] = f.normalized === !0;
@@ -1130,7 +1130,7 @@ class hs {
1130
1130
  });
1131
1131
  }
1132
1132
  }
1133
- class ls {
1133
+ class hs {
1134
1134
  constructor() {
1135
1135
  this.name = U.KHR_TEXTURE_TRANSFORM;
1136
1136
  }
@@ -1138,12 +1138,12 @@ class ls {
1138
1138
  return (t.texCoord !== void 0 && t.texCoord !== e.channel || t.offset !== void 0 || t.rotation !== void 0 || t.scale !== void 0) && (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
1139
1139
  }
1140
1140
  }
1141
- class bs {
1141
+ class ls {
1142
1142
  constructor() {
1143
1143
  this.name = U.KHR_MESH_QUANTIZATION;
1144
1144
  }
1145
1145
  }
1146
- class bA extends Ii {
1146
+ class lA extends ui {
1147
1147
  constructor(e, t, a, A) {
1148
1148
  super(e, t, a, A);
1149
1149
  }
@@ -1161,21 +1161,21 @@ class bA extends Ii {
1161
1161
  return s;
1162
1162
  }
1163
1163
  }
1164
- const gs = new aA();
1165
- class fs extends bA {
1164
+ const bs = new tA();
1165
+ class gs extends lA {
1166
1166
  interpolate_(e, t, a, A) {
1167
1167
  const s = super.interpolate_(e, t, a, A);
1168
- return gs.fromArray(s).normalize().toArray(s), s;
1168
+ return bs.fromArray(s).normalize().toArray(s), s;
1169
1169
  }
1170
1170
  }
1171
- const ce = { 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 }, tt = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, Ta = { 9728: P, 9729: ut, 9984: di, 9985: hi, 9986: li, 9987: ha }, Sa = { 33071: bi, 33648: gi, 10497: $t }, St = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, aa = { 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" }, Ge = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, us = { CUBICSPLINE: void 0, LINEAR: sA, STEP: fi }, Is = "OPAQUE", ps = "MASK", Bs = "BLEND";
1171
+ const ce = { 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 }, tt = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }, va = { 9728: P, 9729: ft, 9984: ci, 9985: di, 9986: hi, 9987: oa }, Ta = { 33071: li, 33648: bi, 10497: Wt }, Rt = { SCALAR: 1, VEC2: 2, VEC3: 3, VEC4: 4, MAT2: 4, MAT3: 9, MAT4: 16 }, $t = { 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" }, Ge = { scale: "scale", translation: "position", rotation: "quaternion", weights: "morphTargetInfluences" }, fs = { CUBICSPLINE: void 0, LINEAR: iA, STEP: gi }, us = "OPAQUE", Is = "MASK", ps = "BLEND";
1172
1172
  function Ke(o, e, t) {
1173
1173
  for (const a in t.extensions) o[a] === void 0 && (e.userData.gltfExtensions = e.userData.gltfExtensions || {}, e.userData.gltfExtensions[a] = t.extensions[a]);
1174
1174
  }
1175
1175
  function ke(o, e) {
1176
1176
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(o.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
1177
1177
  }
1178
- function ms(o, e) {
1178
+ function Bs(o, e) {
1179
1179
  if (o.updateMorphTargets(), e.weights !== void 0) for (let t = 0, a = e.weights.length; t < a; t++) o.morphTargetInfluences[t] = e.weights[t];
1180
1180
  if (e.extras && Array.isArray(e.extras.targetNames)) {
1181
1181
  const t = e.extras.targetNames;
@@ -1185,19 +1185,19 @@ function ms(o, e) {
1185
1185
  } else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1186
1186
  }
1187
1187
  }
1188
- function Cs(o) {
1188
+ function ms(o) {
1189
1189
  let e;
1190
1190
  const t = o.extensions && o.extensions[U.KHR_DRACO_MESH_COMPRESSION];
1191
- if (e = t ? "draco:" + t.bufferView + ":" + t.indices + ":" + Ft(t.attributes) : o.indices + ":" + Ft(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let a = 0, A = o.targets.length; a < A; a++) e += ":" + Ft(o.targets[a]);
1191
+ if (e = t ? "draco:" + t.bufferView + ":" + t.indices + ":" + Mt(t.attributes) : o.indices + ":" + Mt(o.attributes) + ":" + o.mode, o.targets !== void 0) for (let a = 0, A = o.targets.length; a < A; a++) e += ":" + Mt(o.targets[a]);
1192
1192
  return e;
1193
1193
  }
1194
- function Ft(o) {
1194
+ function Mt(o) {
1195
1195
  let e = "";
1196
1196
  const t = Object.keys(o).sort();
1197
1197
  for (let a = 0, A = t.length; a < A; a++) e += t[a] + ":" + o[t[a]] + ";";
1198
1198
  return e;
1199
1199
  }
1200
- function Aa(o) {
1200
+ function ea(o) {
1201
1201
  switch (o) {
1202
1202
  case Int8Array:
1203
1203
  return 1 / 127;
@@ -1211,10 +1211,10 @@ function Aa(o) {
1211
1211
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1212
1212
  }
1213
1213
  }
1214
- const Es = new it();
1215
- class Qs {
1214
+ const Cs = new it();
1215
+ class Es {
1216
1216
  constructor(e = {}, t = {}) {
1217
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Hi(), 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 = {};
1217
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Oi(), 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 = {};
1218
1218
  let a = !1, A = -1, s = !1, i = -1;
1219
1219
  if (typeof navigator < "u") {
1220
1220
  const n = navigator.userAgent;
@@ -1222,7 +1222,7 @@ class Qs {
1222
1222
  const l = n.match(/Version\/(\d+)/);
1223
1223
  A = a && l ? parseInt(l[1], 10) : -1, s = n.indexOf("Firefox") > -1, i = s ? n.match(/Firefox\/([0-9]+)\./)[1] : -1;
1224
1224
  }
1225
- typeof createImageBitmap > "u" || a && A < 17 || s && i < 98 ? this.textureLoader = new KA(this.options.manager) : this.textureLoader = new zA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xe(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1225
+ typeof createImageBitmap > "u" || a && A < 17 || s && i < 98 ? this.textureLoader = new JA(this.options.manager) : this.textureLoader = new KA(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xe(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1226
1226
  }
1227
1227
  setExtensions(e) {
1228
1228
  this.extensions = e;
@@ -1380,20 +1380,20 @@ class Qs {
1380
1380
  loadAccessor(e) {
1381
1381
  const t = this, a = this.json, A = this.json.accessors[e];
1382
1382
  if (A.bufferView === void 0 && A.sparse === void 0) {
1383
- const i = St[A.type], n = tt[A.componentType], l = A.normalized === !0, h = new n(A.count * i);
1383
+ const i = Rt[A.type], n = tt[A.componentType], l = A.normalized === !0, h = new n(A.count * i);
1384
1384
  return Promise.resolve(new Pe(h, i, l));
1385
1385
  }
1386
1386
  const s = [];
1387
1387
  return A.bufferView !== void 0 ? s.push(this.getDependency("bufferView", A.bufferView)) : s.push(null), A.sparse !== void 0 && (s.push(this.getDependency("bufferView", A.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", A.sparse.values.bufferView))), Promise.all(s).then(function(i) {
1388
- const n = i[0], l = St[A.type], h = tt[A.componentType], b = h.BYTES_PER_ELEMENT, g = b * l, f = A.byteOffset || 0, I = A.bufferView !== void 0 ? a.bufferViews[A.bufferView].byteStride : void 0, u = A.normalized === !0;
1388
+ const n = i[0], l = Rt[A.type], h = tt[A.componentType], b = h.BYTES_PER_ELEMENT, g = b * l, f = A.byteOffset || 0, I = A.bufferView !== void 0 ? a.bufferViews[A.bufferView].byteStride : void 0, u = A.normalized === !0;
1389
1389
  let p, m;
1390
1390
  if (I && I !== g) {
1391
1391
  const C = Math.floor(f / I), E = "InterleavedBuffer:" + A.bufferView + ":" + A.componentType + ":" + C + ":" + A.count;
1392
1392
  let x = t.cache.get(E);
1393
- x || (p = new h(n, C * I, A.count * I / b), x = new VA(p, I / b), t.cache.add(E, x)), m = new YA(x, l, f % I / b, u);
1393
+ x || (p = new h(n, C * I, A.count * I / b), x = new zA(p, I / b), t.cache.add(E, x)), m = new VA(x, l, f % I / b, u);
1394
1394
  } else p = n === null ? new h(A.count * l) : new h(n, f, A.count * l), m = new Pe(p, l, u);
1395
1395
  if (A.sparse !== void 0) {
1396
- const C = St.SCALAR, E = tt[A.sparse.indices.componentType], x = A.sparse.indices.byteOffset || 0, w = A.sparse.values.byteOffset || 0, M = new E(i[1], x, A.sparse.count * C), T = new h(i[2], w, A.sparse.count * l);
1396
+ const C = Rt.SCALAR, E = tt[A.sparse.indices.componentType], x = A.sparse.indices.byteOffset || 0, w = A.sparse.values.byteOffset || 0, M = new E(i[1], x, A.sparse.count * C), T = new h(i[2], w, A.sparse.count * l);
1397
1397
  n !== null && (m = new Pe(m.array.slice(), m.itemSize, m.normalized)), m.normalized = !1;
1398
1398
  for (let v = 0, k = M.length; v < k; v++) {
1399
1399
  const R = M[v];
@@ -1419,7 +1419,7 @@ class Qs {
1419
1419
  const h = this.loadImageSource(t, a).then(function(b) {
1420
1420
  b.flipY = !1, b.name = i.name || n.name || "", b.name === "" && typeof n.uri == "string" && n.uri.startsWith("data:image/") === !1 && (b.name = n.uri);
1421
1421
  const g = (s.samplers || {})[i.sampler] || {};
1422
- return b.magFilter = Ta[g.magFilter] || ut, b.minFilter = Ta[g.minFilter] || ha, b.wrapS = Sa[g.wrapS] || $t, b.wrapT = Sa[g.wrapT] || $t, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== P && b.minFilter !== ut, A.associations.set(b, { textures: e }), b;
1422
+ return b.magFilter = va[g.magFilter] || ft, b.minFilter = va[g.minFilter] || oa, b.wrapS = Ta[g.wrapS] || Wt, b.wrapT = Ta[g.wrapT] || Wt, b.generateMipmaps = !b.isCompressedTexture && b.minFilter !== P && b.minFilter !== ft, A.associations.set(b, { textures: e }), b;
1423
1423
  }).catch(function() {
1424
1424
  return null;
1425
1425
  });
@@ -1440,7 +1440,7 @@ class Qs {
1440
1440
  return new Promise(function(f, I) {
1441
1441
  let u = f;
1442
1442
  t.isImageBitmapLoader === !0 && (u = function(p) {
1443
- const m = new ua(p);
1443
+ const m = new fa(p);
1444
1444
  m.needsUpdate = !0, f(m);
1445
1445
  }), t.load(lt.resolveURL(g, s.path), u, void 0, I);
1446
1446
  });
@@ -1473,11 +1473,11 @@ class Qs {
1473
1473
  if (e.isPoints) {
1474
1474
  const n = "PointsMaterial:" + a.uuid;
1475
1475
  let l = this.cache.get(n);
1476
- l || (l = new WA(), jt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, l.sizeAttenuation = !1, this.cache.add(n, l)), a = l;
1476
+ l || (l = new YA(), wt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, l.sizeAttenuation = !1, this.cache.add(n, l)), a = l;
1477
1477
  } else if (e.isLine) {
1478
1478
  const n = "LineBasicMaterial:" + a.uuid;
1479
1479
  let l = this.cache.get(n);
1480
- l || (l = new XA(), jt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, this.cache.add(n, l)), a = l;
1480
+ l || (l = new WA(), wt.prototype.copy.call(l, a), l.color.copy(a.color), l.map = a.map, this.cache.add(n, l)), a = l;
1481
1481
  }
1482
1482
  if (A || s || i) {
1483
1483
  let n = "ClonedMaterial:" + a.uuid + ":";
@@ -1488,7 +1488,7 @@ class Qs {
1488
1488
  e.material = a;
1489
1489
  }
1490
1490
  getMaterialType() {
1491
- return fa;
1491
+ return ga;
1492
1492
  }
1493
1493
  loadMaterial(e) {
1494
1494
  const t = this, a = this.json, A = this.extensions, s = a.materials[e];
@@ -1509,9 +1509,9 @@ class Qs {
1509
1509
  return g.extendMaterialParams && g.extendMaterialParams(e, n);
1510
1510
  })));
1511
1511
  }
1512
- s.doubleSided === !0 && (n.side = ZA);
1513
- const h = s.alphaMode || Is;
1514
- if (h === Bs ? (n.transparent = !0, n.depthWrite = !1) : (n.transparent = !1, h === ps && (n.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== ot && (l.push(t.assignTexture(n, "normalMap", s.normalTexture)), n.normalScale = new tA(1, 1), s.normalTexture.scale !== void 0)) {
1512
+ s.doubleSided === !0 && (n.side = XA);
1513
+ const h = s.alphaMode || us;
1514
+ if (h === ps ? (n.transparent = !0, n.depthWrite = !1) : (n.transparent = !1, h === Is && (n.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== ot && (l.push(t.assignTexture(n, "normalMap", s.normalTexture)), n.normalScale = new eA(1, 1), s.normalTexture.scale !== void 0)) {
1515
1515
  const b = s.normalTexture.scale;
1516
1516
  n.normalScale.set(b, b);
1517
1517
  }
@@ -1525,23 +1525,23 @@ class Qs {
1525
1525
  });
1526
1526
  }
1527
1527
  createUniqueName(e) {
1528
- const t = $A.sanitizeNodeName(e || "");
1528
+ const t = ZA.sanitizeNodeName(e || "");
1529
1529
  return t in this.nodeNamesUsed ? t + "_" + ++this.nodeNamesUsed[t] : (this.nodeNamesUsed[t] = 0, t);
1530
1530
  }
1531
1531
  loadGeometries(e) {
1532
1532
  const t = this, a = this.extensions, A = this.primitiveCache;
1533
1533
  function s(n) {
1534
1534
  return a[U.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(n, t).then(function(l) {
1535
- return Fa(l, n, t);
1535
+ return Sa(l, n, t);
1536
1536
  });
1537
1537
  }
1538
1538
  const i = [];
1539
1539
  for (let n = 0, l = e.length; n < l; n++) {
1540
- const h = e[n], b = Cs(h), g = A[b];
1540
+ const h = e[n], b = ms(h), g = A[b];
1541
1541
  if (g) i.push(g.promise);
1542
1542
  else {
1543
1543
  let f;
1544
- f = h.extensions && h.extensions[U.KHR_DRACO_MESH_COMPRESSION] ? s(h) : Fa(new ca(), h, t), A[b] = { primitive: h, promise: f }, i.push(f);
1544
+ f = h.extensions && h.extensions[U.KHR_DRACO_MESH_COMPRESSION] ? s(h) : Sa(new ra(), h, t), A[b] = { primitive: h, promise: f }, i.push(f);
1545
1545
  }
1546
1546
  }
1547
1547
  return Promise.all(i);
@@ -1549,7 +1549,7 @@ class Qs {
1549
1549
  loadMesh(e) {
1550
1550
  const t = this, a = this.json, A = this.extensions, s = a.meshes[e], i = s.primitives, n = [];
1551
1551
  for (let h = 0, b = i.length; h < b; h++) {
1552
- const g = i[h].material === void 0 ? ((l = this.cache).DefaultMaterial === void 0 && (l.DefaultMaterial = new fa({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: wt })), l.DefaultMaterial) : this.getDependency("material", i[h].material);
1552
+ const g = i[h].material === void 0 ? ((l = this.cache).DefaultMaterial === void 0 && (l.DefaultMaterial = new ga({ color: 16777215, emissive: 0, metalness: 1, roughness: 1, transparent: !1, depthTest: !0, side: Et })), l.DefaultMaterial) : this.getDependency("material", i[h].material);
1553
1553
  n.push(g);
1554
1554
  }
1555
1555
  var l;
@@ -1559,19 +1559,19 @@ class Qs {
1559
1559
  const m = g[u], C = i[u];
1560
1560
  let E;
1561
1561
  const x = b[u];
1562
- if (C.mode === ce.TRIANGLES || C.mode === ce.TRIANGLE_STRIP || C.mode === ce.TRIANGLE_FAN || C.mode === void 0) E = s.isSkinnedMesh === !0 ? new ei(m, x) : new ea(m, x), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), C.mode === ce.TRIANGLE_STRIP ? E.geometry = va(E.geometry, eA) : C.mode === ce.TRIANGLE_FAN && (E.geometry = va(E.geometry, Xt));
1563
- else if (C.mode === ce.LINES) E = new ti(m, x);
1564
- else if (C.mode === ce.LINE_STRIP) E = new ai(m, x);
1565
- else if (C.mode === ce.LINE_LOOP) E = new Ai(m, x);
1562
+ if (C.mode === ce.TRIANGLES || C.mode === ce.TRIANGLE_STRIP || C.mode === ce.TRIANGLE_FAN || C.mode === void 0) E = s.isSkinnedMesh === !0 ? new $A(m, x) : new Xt(m, x), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), C.mode === ce.TRIANGLE_STRIP ? E.geometry = Ma(E.geometry, $a) : C.mode === ce.TRIANGLE_FAN && (E.geometry = Ma(E.geometry, Vt));
1563
+ else if (C.mode === ce.LINES) E = new ei(m, x);
1564
+ else if (C.mode === ce.LINE_STRIP) E = new ti(m, x);
1565
+ else if (C.mode === ce.LINE_LOOP) E = new ai(m, x);
1566
1566
  else {
1567
1567
  if (C.mode !== ce.POINTS) throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + C.mode);
1568
- E = new ii(m, x);
1568
+ E = new Ai(m, x);
1569
1569
  }
1570
- Object.keys(E.geometry.morphAttributes).length > 0 && ms(E, s), E.name = t.createUniqueName(s.name || "mesh_" + e), ke(E, s), C.extensions && Ke(A, E, C), t.assignFinalMaterial(E), f.push(E);
1570
+ Object.keys(E.geometry.morphAttributes).length > 0 && Bs(E, s), E.name = t.createUniqueName(s.name || "mesh_" + e), ke(E, s), C.extensions && Ke(A, E, C), t.assignFinalMaterial(E), f.push(E);
1571
1571
  }
1572
1572
  for (let u = 0, p = f.length; u < p; u++) t.associations.set(f[u], { meshes: e, primitives: u });
1573
1573
  if (f.length === 1) return s.extensions && Ke(A, f[0], s), f[0];
1574
- const I = new Rt();
1574
+ const I = new xt();
1575
1575
  s.extensions && Ke(A, I, s), t.associations.set(I, { meshes: e });
1576
1576
  for (let u = 0, p = f.length; u < p; u++) I.add(f[u]);
1577
1577
  return I;
@@ -1580,7 +1580,7 @@ class Qs {
1580
1580
  loadCamera(e) {
1581
1581
  let t;
1582
1582
  const a = this.json.cameras[e], A = a[a.type];
1583
- if (A) return a.type === "perspective" ? t = new si(ri.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : a.type === "orthographic" && (t = new iA(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), a.name && (t.name = this.createUniqueName(a.name)), ke(t, a), Promise.resolve(t);
1583
+ if (A) return a.type === "perspective" ? t = new ii(si.radToDeg(A.yfov), A.aspectRatio || 1, A.znear || 1, A.zfar || 2e6) : a.type === "orthographic" && (t = new AA(-A.xmag, A.xmag, A.ymag, -A.ymag, A.znear, A.zfar)), a.name && (t.name = this.createUniqueName(a.name)), ke(t, a), Promise.resolve(t);
1584
1584
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1585
1585
  }
1586
1586
  loadSkin(e) {
@@ -1596,7 +1596,7 @@ class Qs {
1596
1596
  s !== null && f.fromArray(s.array, 16 * h), l.push(f);
1597
1597
  } else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[h]);
1598
1598
  }
1599
- return new ni(n, l);
1599
+ return new ri(n, l);
1600
1600
  });
1601
1601
  }
1602
1602
  loadAnimation(e) {
@@ -1614,7 +1614,7 @@ class Qs {
1614
1614
  const R = a._createAnimationTracks(w, M, T, v, k);
1615
1615
  if (R) for (let S = 0; S < R.length; S++) C.push(R[S]);
1616
1616
  }
1617
- return new oi(s, void 0, C);
1617
+ return new ni(s, void 0, C);
1618
1618
  });
1619
1619
  }
1620
1620
  createNodeMesh(e) {
@@ -1633,7 +1633,7 @@ class Qs {
1633
1633
  return Promise.all([A, Promise.all(s), n]).then(function(l) {
1634
1634
  const h = l[0], b = l[1], g = l[2];
1635
1635
  g !== null && h.traverse(function(f) {
1636
- f.isSkinnedMesh && f.bind(g, Es);
1636
+ f.isSkinnedMesh && f.bind(g, Cs);
1637
1637
  });
1638
1638
  for (let f = 0, I = b.length; f < I; f++) h.add(b[f]);
1639
1639
  return h;
@@ -1653,7 +1653,7 @@ class Qs {
1653
1653
  n.push(h);
1654
1654
  }), this.nodeCache[e] = Promise.all(n).then(function(h) {
1655
1655
  let b;
1656
- if (b = s.isBone === !0 ? new ci() : h.length > 1 ? new Rt() : h.length === 1 ? h[0] : new AA(), b !== h[0]) for (let g = 0, f = h.length; g < f; g++) b.add(h[g]);
1656
+ if (b = s.isBone === !0 ? new oi() : h.length > 1 ? new xt() : h.length === 1 ? h[0] : new aA(), b !== h[0]) for (let g = 0, f = h.length; g < f; g++) b.add(h[g]);
1657
1657
  if (s.name && (b.userData.name = s.name, b.name = i), ke(b, s), s.extensions && Ke(a, b, s), s.matrix !== void 0) {
1658
1658
  const g = new it();
1659
1659
  g.fromArray(s.matrix), b.applyMatrix4(g);
@@ -1662,7 +1662,7 @@ class Qs {
1662
1662
  }), this.nodeCache[e];
1663
1663
  }
1664
1664
  loadScene(e) {
1665
- const t = this.extensions, a = this.json.scenes[e], A = this, s = new Rt();
1665
+ const t = this.extensions, a = this.json.scenes[e], A = this, s = new xt();
1666
1666
  a.name && (s.name = A.createUniqueName(a.name)), ke(s, a), a.extensions && Ke(t, s, a);
1667
1667
  const i = a.nodes || [], n = [];
1668
1668
  for (let l = 0, h = i.length; l < h; l++) n.push(A.getDependency("node", i[l]));
@@ -1670,7 +1670,7 @@ class Qs {
1670
1670
  for (let h = 0, b = l.length; h < b; h++) s.add(l[h]);
1671
1671
  return A.associations = ((h) => {
1672
1672
  const b = /* @__PURE__ */ new Map();
1673
- for (const [g, f] of A.associations) (g instanceof jt || g instanceof ua) && b.set(g, f);
1673
+ for (const [g, f] of A.associations) (g instanceof wt || g instanceof fa) && b.set(g, f);
1674
1674
  return h.traverse((g) => {
1675
1675
  const f = A.associations.get(g);
1676
1676
  f != null && b.set(g, f);
@@ -1685,19 +1685,19 @@ class Qs {
1685
1685
  f.morphTargetInfluences && l.push(f.name ? f.name : f.uuid);
1686
1686
  }) : l.push(n), Ge[s.path]) {
1687
1687
  case Ge.weights:
1688
- h = pa;
1688
+ h = Ia;
1689
1689
  break;
1690
1690
  case Ge.rotation:
1691
- h = Ba;
1691
+ h = pa;
1692
1692
  break;
1693
1693
  case Ge.position:
1694
1694
  case Ge.scale:
1695
- h = Ia;
1695
+ h = ua;
1696
1696
  break;
1697
1697
  default:
1698
- a.itemSize === 1 ? h = pa : h = Ia;
1698
+ a.itemSize === 1 ? h = Ia : h = ua;
1699
1699
  }
1700
- const b = A.interpolation !== void 0 ? us[A.interpolation] : sA, g = this._getArrayFromAccessor(a);
1700
+ const b = A.interpolation !== void 0 ? fs[A.interpolation] : iA, g = this._getArrayFromAccessor(a);
1701
1701
  for (let f = 0, I = l.length; f < I; f++) {
1702
1702
  const u = new h(l[f] + "." + Ge[s.path], t.array, g, b);
1703
1703
  A.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(u), i.push(u);
@@ -1707,7 +1707,7 @@ class Qs {
1707
1707
  _getArrayFromAccessor(e) {
1708
1708
  let t = e.array;
1709
1709
  if (e.normalized) {
1710
- const a = Aa(t.constructor), A = new Float32Array(t.length);
1710
+ const a = ea(t.constructor), A = new Float32Array(t.length);
1711
1711
  for (let s = 0, i = t.length; s < i; s++) A[s] = t[s] * a;
1712
1712
  t = A;
1713
1713
  }
@@ -1715,11 +1715,11 @@ class Qs {
1715
1715
  }
1716
1716
  _createCubicSplineTrackInterpolant(e) {
1717
1717
  e.createInterpolant = function(t) {
1718
- return new (this instanceof Ba ? fs : bA)(this.times, this.values, this.getValueSize() / 3, t);
1718
+ return new (this instanceof pa ? gs : lA)(this.times, this.values, this.getValueSize() / 3, t);
1719
1719
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1720
1720
  }
1721
1721
  }
1722
- function Fa(o, e, t) {
1722
+ function Sa(o, e, t) {
1723
1723
  const a = e.attributes, A = [];
1724
1724
  function s(i, n) {
1725
1725
  return t.getDependency("accessor", i).then(function(l) {
@@ -1727,7 +1727,7 @@ function Fa(o, e, t) {
1727
1727
  });
1728
1728
  }
1729
1729
  for (const i in a) {
1730
- const n = aa[i] || i.toLowerCase();
1730
+ const n = $t[i] || i.toLowerCase();
1731
1731
  n in o.attributes || A.push(s(a[i], n));
1732
1732
  }
1733
1733
  if (e.indices !== void 0 && !o.index) {
@@ -1736,14 +1736,14 @@ function Fa(o, e, t) {
1736
1736
  });
1737
1737
  A.push(i);
1738
1738
  }
1739
- return ta.workingColorSpace !== be && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ta.workingColorSpace}" not supported.`), ke(o, e), function(i, n, l) {
1740
- const h = n.attributes, b = new oa();
1739
+ return Zt.workingColorSpace !== be && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Zt.workingColorSpace}" not supported.`), ke(o, e), function(i, n, l) {
1740
+ const h = n.attributes, b = new sa();
1741
1741
  if (h.POSITION === void 0) return;
1742
1742
  {
1743
1743
  const I = l.json.accessors[h.POSITION], u = I.min, p = I.max;
1744
1744
  if (u === void 0 || p === void 0) return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1745
1745
  if (b.set(new K(u[0], u[1], u[2]), new K(p[0], p[1], p[2])), I.normalized) {
1746
- const m = Aa(tt[I.componentType]);
1746
+ const m = ea(tt[I.componentType]);
1747
1747
  b.min.multiplyScalar(m), b.max.multiplyScalar(m);
1748
1748
  }
1749
1749
  }
@@ -1756,7 +1756,7 @@ function Fa(o, e, t) {
1756
1756
  const E = l.json.accessors[C.POSITION], x = E.min, w = E.max;
1757
1757
  if (x !== void 0 && w !== void 0) {
1758
1758
  if (u.setX(Math.max(Math.abs(x[0]), Math.abs(w[0]))), u.setY(Math.max(Math.abs(x[1]), Math.abs(w[1]))), u.setZ(Math.max(Math.abs(x[2]), Math.abs(w[2]))), E.normalized) {
1759
- const M = Aa(tt[E.componentType]);
1759
+ const M = ea(tt[E.componentType]);
1760
1760
  u.multiplyScalar(M);
1761
1761
  }
1762
1762
  I.max(u);
@@ -1766,7 +1766,7 @@ function Fa(o, e, t) {
1766
1766
  b.expandByVector(I);
1767
1767
  }
1768
1768
  i.boundingBox = b;
1769
- const f = new ui();
1769
+ const f = new fi();
1770
1770
  b.getCenter(f.center), f.radius = b.min.distanceTo(b.max) / 2, i.boundingSphere = f;
1771
1771
  }(o, e, t), Promise.all(A).then(function() {
1772
1772
  return e.targets !== void 0 ? function(i, n, l) {
@@ -1799,8 +1799,8 @@ function Fa(o, e, t) {
1799
1799
  }(o, e.targets, t) : o;
1800
1800
  });
1801
1801
  }
1802
- const Lt = /* @__PURE__ */ new WeakMap();
1803
- class gA extends da {
1802
+ const vt = /* @__PURE__ */ new WeakMap();
1803
+ class bA extends na {
1804
1804
  constructor(e) {
1805
1805
  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" };
1806
1806
  }
@@ -1830,8 +1830,8 @@ class gA extends da {
1830
1830
  }
1831
1831
  decodeGeometry(e, t) {
1832
1832
  const a = JSON.stringify(t);
1833
- if (Lt.has(e)) {
1834
- const l = Lt.get(e);
1833
+ if (vt.has(e)) {
1834
+ const l = vt.get(e);
1835
1835
  if (l.key === a) return l.promise;
1836
1836
  if (e.byteLength === 0) throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.");
1837
1837
  }
@@ -1841,10 +1841,10 @@ class gA extends da {
1841
1841
  }))).then((l) => this._createGeometry(l.geometry));
1842
1842
  return n.catch(() => !0).then(() => {
1843
1843
  A && s && this._releaseTask(A, s);
1844
- }), Lt.set(e, { key: a, promise: n }), n;
1844
+ }), vt.set(e, { key: a, promise: n }), n;
1845
1845
  }
1846
1846
  _createGeometry(e) {
1847
- const t = new ca();
1847
+ const t = new ra();
1848
1848
  e.index && t.setIndex(new Pe(e.index.array, 1));
1849
1849
  for (let a = 0; a < e.attributes.length; a++) {
1850
1850
  const A = e.attributes[a], s = A.name, i = A.array, n = A.itemSize, l = new Pe(i, n);
@@ -1855,7 +1855,7 @@ class gA extends da {
1855
1855
  _assignVertexColorSpace(e, t) {
1856
1856
  if (t !== ve) return;
1857
1857
  const a = new Oe();
1858
- for (let A = 0, s = e.count; A < s; A++) a.fromBufferAttribute(e, A), ta.toWorkingColorSpace(a, ve), e.setXYZ(A, a.r, a.g, a.b);
1858
+ for (let A = 0, s = e.count; A < s; A++) a.fromBufferAttribute(e, A), Zt.toWorkingColorSpace(a, ve), e.setXYZ(A, a.r, a.g, a.b);
1859
1859
  }
1860
1860
  _loadLibrary(e, t) {
1861
1861
  const a = new Xe(this.manager);
@@ -1872,7 +1872,7 @@ class gA extends da {
1872
1872
  return e ? t.push(this._loadLibrary("draco_decoder.js", "text")) : (t.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), t.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(t).then((a) => {
1873
1873
  const A = a[0];
1874
1874
  e || (this.decoderConfig.wasmBinary = a[1]);
1875
- const s = ys.toString(), i = ["/* draco decoder */", A, "", "/* worker */", s.substring(s.indexOf("{") + 1, s.lastIndexOf("}"))].join(`
1875
+ const s = Qs.toString(), i = ["/* draco decoder */", A, "", "/* worker */", s.substring(s.indexOf("{") + 1, s.lastIndexOf("}"))].join(`
1876
1876
  `);
1877
1877
  this.workerSourceURL = URL.createObjectURL(new Blob([i]));
1878
1878
  }), this.decoderPending;
@@ -1912,7 +1912,7 @@ class gA extends da {
1912
1912
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1913
1913
  }
1914
1914
  }
1915
- function ys() {
1915
+ function Qs() {
1916
1916
  let o, e;
1917
1917
  function t(a, A, s, i, n, l) {
1918
1918
  const h = l.num_components(), b = s.num_points() * h, g = b * n.BYTES_PER_ELEMENT, f = function(p, m) {
@@ -1991,7 +1991,7 @@ function ys() {
1991
1991
  }
1992
1992
  };
1993
1993
  }
1994
- class ws {
1994
+ class ys {
1995
1995
  constructor(e = 4) {
1996
1996
  this.pool = e, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
1997
1997
  }
@@ -2028,8 +2028,8 @@ class ws {
2028
2028
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2029
2029
  }
2030
2030
  }
2031
- const fA = 9, uA = 15, IA = 16, pA = 22, BA = 37, mA = 43, CA = 76, EA = 83, QA = 97, yA = 100, wA = 103, xA = 109, kA = 165, DA = 166, la = 1000066e3;
2032
- class xs {
2031
+ const gA = 9, fA = 15, uA = 16, IA = 22, pA = 37, BA = 43, mA = 76, CA = 83, EA = 97, QA = 100, yA = 103, wA = 109, xA = 165, kA = 166, ha = 1000066e3;
2032
+ class ws {
2033
2033
  constructor() {
2034
2034
  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;
2035
2035
  }
@@ -2074,35 +2074,37 @@ class rt {
2074
2074
  }
2075
2075
  }
2076
2076
  const ae = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2077
- function La(o) {
2077
+ function Fa(o) {
2078
2078
  return new TextDecoder().decode(o);
2079
2079
  }
2080
- for (var jA = {}, bt = {}, ks = bt.byteLength = function(o) {
2081
- var e = Ga(o), t = e[0], a = e[1];
2080
+ for (var DA = {}, xs = { byteLength: function(o) {
2081
+ var e = Ua(o), t = e[0], a = e[1];
2082
2082
  return 3 * (t + a) / 4 - a;
2083
- }, Ds = bt.toByteArray = function(o) {
2084
- var e, t, a = Ga(o), A = a[0], s = a[1], i = new Rs(function(h, b, g) {
2083
+ }, toByteArray: function(o) {
2084
+ var e, t, a = Ua(o), A = a[0], s = a[1], i = new ks(function(h, b, g) {
2085
2085
  return 3 * (b + g) / 4 - g;
2086
2086
  }(0, A, s)), n = 0, l = s > 0 ? A - 4 : A;
2087
2087
  for (t = 0; t < l; t += 4) e = oe[o.charCodeAt(t)] << 18 | oe[o.charCodeAt(t + 1)] << 12 | oe[o.charCodeAt(t + 2)] << 6 | oe[o.charCodeAt(t + 3)], i[n++] = e >> 16 & 255, i[n++] = e >> 8 & 255, i[n++] = 255 & e;
2088
2088
  return s === 2 && (e = oe[o.charCodeAt(t)] << 2 | oe[o.charCodeAt(t + 1)] >> 4, i[n++] = 255 & e), s === 1 && (e = oe[o.charCodeAt(t)] << 10 | oe[o.charCodeAt(t + 1)] << 4 | oe[o.charCodeAt(t + 2)] >> 2, i[n++] = e >> 8 & 255, i[n++] = 255 & e), i;
2089
- }, js = bt.fromByteArray = function(o) {
2090
- for (var e, t = o.length, a = t % 3, A = [], s = 16383, i = 0, n = t - a; i < n; i += s) A.push(Ms(o, i, i + s > n ? n : i + s));
2089
+ }, fromByteArray: function(o) {
2090
+ for (var e, t = o.length, a = t % 3, A = [], s = 16383, i = 0, n = t - a; i < n; i += s) A.push(Ds(o, i, i + s > n ? n : i + s));
2091
2091
  return a === 1 ? (e = o[t - 1], A.push(pe[e >> 2] + pe[e << 4 & 63] + "==")) : a === 2 && (e = (o[t - 2] << 8) + o[t - 1], A.push(pe[e >> 10] + pe[e >> 4 & 63] + pe[e << 2 & 63] + "=")), A.join("");
2092
- }, pe = [], oe = [], Rs = typeof Uint8Array < "u" ? Uint8Array : Array, Ua = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ze = 0; Ze < 64; ++Ze) pe[Ze] = Ua[Ze], oe[Ua.charCodeAt(Ze)] = Ze;
2093
- function Ga(o) {
2092
+ } }, pe = [], oe = [], ks = typeof Uint8Array < "u" ? Uint8Array : Array, La = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ze = 0; Ze < 64; ++Ze) pe[Ze] = La[Ze], oe[La.charCodeAt(Ze)] = Ze;
2093
+ function Ua(o) {
2094
2094
  var e = o.length;
2095
2095
  if (e % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
2096
2096
  var t = o.indexOf("=");
2097
2097
  return t === -1 && (t = e), [t, t === e ? 0 : 4 - t % 4];
2098
2098
  }
2099
- function Ms(o, e, t) {
2099
+ function Ds(o, e, t) {
2100
2100
  for (var a, A, s = [], i = e; i < t; i += 3) a = (o[i] << 16 & 16711680) + (o[i + 1] << 8 & 65280) + (255 & o[i + 2]), s.push(pe[(A = a) >> 18 & 63] + pe[A >> 12 & 63] + pe[A >> 6 & 63] + pe[63 & A]);
2101
2101
  return s.join("");
2102
2102
  }
2103
2103
  oe[45] = 62, oe[95] = 63;
2104
- const vs = pt(It({ __proto__: null, byteLength: ks, default: bt, fromByteArray: js, toByteArray: Ds }, [bt]));
2105
- var kt = {}, Ts = kt.read = function(o, e, t, a, A) {
2104
+ var Tt = {};
2105
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
2106
+ let St, xe, ta;
2107
+ Tt.read = function(o, e, t, a, A) {
2106
2108
  var s, i, n = 8 * A - a - 1, l = (1 << n) - 1, h = l >> 1, b = -7, g = t ? A - 1 : 0, f = t ? -1 : 1, I = o[e + g];
2107
2109
  for (g += f, s = I & (1 << -b) - 1, I >>= -b, b += n; b > 0; s = 256 * s + o[e + g], g += f, b -= 8) ;
2108
2110
  for (i = s & (1 << -b) - 1, s >>= -b, b += a; b > 0; i = 256 * i + o[e + g], g += f, b -= 8) ;
@@ -2112,23 +2114,19 @@ var kt = {}, Ts = kt.read = function(o, e, t, a, A) {
2112
2114
  i += Math.pow(2, a), s -= h;
2113
2115
  }
2114
2116
  return (I ? -1 : 1) * i * Math.pow(2, s - a);
2115
- }, Ss = kt.write = function(o, e, t, a, A, s) {
2117
+ }, Tt.write = function(o, e, t, a, A, s) {
2116
2118
  var i, n, l, h = 8 * s - A - 1, b = (1 << h) - 1, g = b >> 1, f = A === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, I = a ? 0 : s - 1, u = a ? 1 : -1, p = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
2117
2119
  for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (n = isNaN(e) ? 1 : 0, i = b) : (i = Math.floor(Math.log(e) / Math.LN2), e * (l = Math.pow(2, -i)) < 1 && (i--, l *= 2), (e += i + g >= 1 ? f / l : f * Math.pow(2, 1 - g)) * l >= 2 && (i++, l /= 2), i + g >= b ? (n = 0, i = b) : i + g >= 1 ? (n = (e * l - 1) * Math.pow(2, A), i += g) : (n = e * Math.pow(2, g - 1) * Math.pow(2, A), i = 0)); A >= 8; o[t + I] = 255 & n, I += u, n /= 256, A -= 8) ;
2118
2120
  for (i = i << A | n, h += A; h > 0; o[t + I] = 255 & i, I += u, i /= 256, h -= 8) ;
2119
2121
  o[t + I - u] |= 128 * p;
2120
- };
2121
- /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
2122
- const Fs = pt(It({ __proto__: null, default: kt, read: Ts, write: Ss }, [kt]));
2123
- let Ut, xe, ia;
2124
- /*!
2122
+ }, /*!
2125
2123
  * The buffer module from node.js, for the browser.
2126
2124
  *
2127
2125
  * @author Feross Aboukhadijeh <https://feross.org>
2128
2126
  * @license MIT
2129
2127
  */
2130
- (function(o) {
2131
- const e = vs, t = Fs, a = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
2128
+ function(o) {
2129
+ const e = xs, t = Tt, a = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
2132
2130
  o.Buffer = i, o.SlowBuffer = function(r) {
2133
2131
  return +r != r && (r = 0), i.alloc(+r);
2134
2132
  }, o.INSPECT_MAX_BYTES = 50;
@@ -2530,7 +2528,7 @@ let Ut, xe, ia;
2530
2528
  const B = r.length;
2531
2529
  (!c || c < 0) && (c = 0), (!d || d < 0 || d > B) && (d = B);
2532
2530
  let Q = "";
2533
- for (let y = c; y < d; ++y) Q += LA[r[y]];
2531
+ for (let y = c; y < d; ++y) Q += FA[r[y]];
2534
2532
  return Q;
2535
2533
  }
2536
2534
  function Ae(r, c, d) {
@@ -2853,7 +2851,7 @@ let Ut, xe, ia;
2853
2851
  function st(r) {
2854
2852
  return r != r;
2855
2853
  }
2856
- const LA = function() {
2854
+ const FA = function() {
2857
2855
  const r = "0123456789abcdef", c = new Array(256);
2858
2856
  for (let d = 0; d < 16; ++d) {
2859
2857
  const B = 16 * d;
@@ -2862,35 +2860,35 @@ let Ut, xe, ia;
2862
2860
  return c;
2863
2861
  }();
2864
2862
  function Le(r) {
2865
- return typeof BigInt > "u" ? UA : r;
2863
+ return typeof BigInt > "u" ? LA : r;
2866
2864
  }
2867
- function UA() {
2865
+ function LA() {
2868
2866
  throw new Error("BigInt not supported");
2869
2867
  }
2870
- })(jA);
2871
- const Gt = { env: { emscripten_notify_memory_growth: function(o) {
2872
- ia = new Uint8Array(xe.exports.memory.buffer);
2868
+ }(DA);
2869
+ const Ft = { env: { emscripten_notify_memory_growth: function(o) {
2870
+ ta = new Uint8Array(xe.exports.memory.buffer);
2873
2871
  } } };
2874
- class Ls {
2872
+ class js {
2875
2873
  init() {
2876
- return Ut || (Ut = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Na).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Gt)).then(this._init) : WebAssembly.instantiate(jA.Buffer.from(Na, "base64"), Gt).then(this._init), Ut);
2874
+ return St || (St = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Ga).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Ft)).then(this._init) : WebAssembly.instantiate(DA.Buffer.from(Ga, "base64"), Ft).then(this._init), St);
2877
2875
  }
2878
2876
  _init(e) {
2879
- xe = e.instance, Gt.env.emscripten_notify_memory_growth(0);
2877
+ xe = e.instance, Ft.env.emscripten_notify_memory_growth(0);
2880
2878
  }
2881
2879
  decode(e, t = 0) {
2882
2880
  if (!xe) throw new Error("ZSTDDecoder: Await .init() before decoding.");
2883
2881
  const a = e.byteLength, A = xe.exports.malloc(a);
2884
- ia.set(e, A), t = t || Number(xe.exports.ZSTD_findDecompressedSize(A, a));
2885
- const s = xe.exports.malloc(t), i = xe.exports.ZSTD_decompress(s, t, A, a), n = ia.slice(s, s + i);
2882
+ ta.set(e, A), t = t || Number(xe.exports.ZSTD_findDecompressedSize(A, a));
2883
+ const s = xe.exports.malloc(t), i = xe.exports.ZSTD_decompress(s, t, A, a), n = ta.slice(s, s + i);
2886
2884
  return xe.exports.free(A), xe.exports.free(s), n;
2887
2885
  }
2888
2886
  }
2889
- const Na = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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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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", Nt = /* @__PURE__ */ new WeakMap();
2890
- let _t, Pt = 0;
2891
- class re extends da {
2887
+ const Ga = "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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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", Lt = /* @__PURE__ */ new WeakMap();
2888
+ let Ut, Gt = 0;
2889
+ class re extends na {
2892
2890
  constructor(e) {
2893
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new ws(), 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+.');
2891
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new ys(), 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+.');
2894
2892
  }
2895
2893
  setTranscoderPath(e) {
2896
2894
  return this.transcoderPath = e, this;
@@ -2918,7 +2916,7 @@ class re extends da {
2918
2916
  const h = new Worker(this.workerSourceURL), b = this.transcoderBinary.slice(0);
2919
2917
  return h.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: b }, [b]), h;
2920
2918
  });
2921
- }), Pt > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), Pt++;
2919
+ }), Gt > 0 && console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."), Gt++;
2922
2920
  }
2923
2921
  return this.transcoderPending;
2924
2922
  }
@@ -2931,26 +2929,26 @@ class re extends da {
2931
2929
  }
2932
2930
  parse(e, t, a) {
2933
2931
  if (this.workerConfig === null) throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2934
- if (Nt.has(e))
2935
- return Nt.get(e).promise.then(t).catch(a);
2932
+ if (Lt.has(e))
2933
+ return Lt.get(e).promise.then(t).catch(a);
2936
2934
  this._createTexture(e).then((A) => t ? t(A) : null).catch(a);
2937
2935
  }
2938
2936
  _createTextureFrom(e, t) {
2939
2937
  const { type: a, error: A, data: { faces: s, width: i, height: n, format: l, type: h, dfdFlags: b } } = e;
2940
2938
  if (a === "error") return Promise.reject(A);
2941
2939
  let g;
2942
- if (t.faceCount === 6) g = new pi(s, l, h);
2940
+ if (t.faceCount === 6) g = new Ii(s, l, h);
2943
2941
  else {
2944
2942
  const f = s[0].mipmaps;
2945
- g = t.layerCount > 1 ? new Bi(f, i, n, t.layerCount, l, h) : new ma(f, i, n, l, h);
2943
+ g = t.layerCount > 1 ? new pi(f, i, n, t.layerCount, l, h) : new Ba(f, i, n, l, h);
2946
2944
  }
2947
- return g.minFilter = s[0].mipmaps.length === 1 ? ut : ha, g.magFilter = ut, g.generateMipmaps = !1, g.needsUpdate = !0, g.colorSpace = _a(t), g.premultiplyAlpha = !!(1 & b), g;
2945
+ return g.minFilter = s[0].mipmaps.length === 1 ? ft : oa, g.magFilter = ft, g.generateMipmaps = !1, g.needsUpdate = !0, g.colorSpace = Na(t), g.premultiplyAlpha = !!(1 & b), g;
2948
2946
  }
2949
2947
  async _createTexture(e, t = {}) {
2950
2948
  const a = function(n) {
2951
2949
  const l = new Uint8Array(n.buffer, n.byteOffset, ae.length);
2952
2950
  if (l[0] !== ae[0] || l[1] !== ae[1] || l[2] !== ae[2] || l[3] !== ae[3] || l[4] !== ae[4] || l[5] !== ae[5] || l[6] !== ae[6] || l[7] !== ae[7] || l[8] !== ae[8] || l[9] !== ae[9] || l[10] !== ae[10] || l[11] !== ae[11]) throw new Error("Missing KTX 2.0 identifier.");
2953
- const h = new xs(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, g = new rt(n, ae.length, b, !0);
2951
+ const h = new ws(), b = 17 * Uint32Array.BYTES_PER_ELEMENT, g = new rt(n, ae.length, b, !0);
2954
2952
  h.vkFormat = g._nextUint32(), h.typeSize = g._nextUint32(), h.pixelWidth = g._nextUint32(), h.pixelHeight = g._nextUint32(), h.pixelDepth = g._nextUint32(), h.layerCount = g._nextUint32(), h.faceCount = g._nextUint32();
2955
2953
  const f = g._nextUint32();
2956
2954
  h.supercompressionScheme = g._nextUint32();
@@ -2964,9 +2962,9 @@ class re extends da {
2964
2962
  h.dataFormatDescriptor.length = 0, h.dataFormatDescriptor.push(M);
2965
2963
  const v = new rt(n, p, m, !0);
2966
2964
  for (; v._offset < m; ) {
2967
- const _ = v._nextUint32(), O = v._scan(_), X = La(O);
2965
+ const _ = v._nextUint32(), O = v._scan(_), X = Fa(O);
2968
2966
  if (h.keyValue[X] = v._nextUint8Array(_ - O.byteLength - 1), X.match(/^ktx/i)) {
2969
- const ne = La(h.keyValue[X]);
2967
+ const ne = Fa(h.keyValue[X]);
2970
2968
  h.keyValue[X] = ne.substring(0, ne.lastIndexOf("\0"));
2971
2969
  }
2972
2970
  v._skip(_ % 4 ? 4 - _ % 4 : 0);
@@ -2976,15 +2974,15 @@ class re extends da {
2976
2974
  for (let _ = 0; _ < f; _++) V.push({ imageFlags: k._nextUint32(), rgbSliceByteOffset: k._nextUint32(), rgbSliceByteLength: k._nextUint32(), alphaSliceByteOffset: k._nextUint32(), alphaSliceByteLength: k._nextUint32() });
2977
2975
  const He = C + k._offset, Te = He + F, Se = Te + z, Fe = Se + Ae, qe = new Uint8Array(n.buffer, n.byteOffset + He, F), de = new Uint8Array(n.buffer, n.byteOffset + Te, z), ie = new Uint8Array(n.buffer, n.byteOffset + Se, Ae), Ce = new Uint8Array(n.buffer, n.byteOffset + Fe, H);
2978
2976
  return h.globalData = { endpointCount: R, selectorCount: S, imageDescs: V, endpointsData: qe, selectorsData: de, tablesData: ie, extendedData: Ce }, h;
2979
- }(new Uint8Array(e)), A = a.vkFormat === la && a.dataFormatDescriptor[0].colorModel === 167;
2977
+ }(new Uint8Array(e)), A = a.vkFormat === ha && a.dataFormatDescriptor[0].colorModel === 167;
2980
2978
  if (!(a.vkFormat === 0 || A && !this.workerConfig.astcHDRSupported)) return async function(n) {
2981
2979
  const { vkFormat: l } = n;
2982
- if (Ot[l] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2980
+ if (Nt[l] === void 0) throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2983
2981
  let h;
2984
- n.supercompressionScheme === 2 && (_t || (_t = new Promise(async (f) => {
2985
- const I = new Ls();
2982
+ n.supercompressionScheme === 2 && (Ut || (Ut = new Promise(async (f) => {
2983
+ const I = new js();
2986
2984
  await I.init(), f(I);
2987
- })), h = await _t);
2985
+ })), h = await Ut);
2988
2986
  const b = [];
2989
2987
  for (let f = 0; f < n.levels.length; f++) {
2990
2988
  const I = Math.max(1, n.pixelWidth >> f), u = Math.max(1, n.pixelHeight >> f), p = n.pixelDepth ? Math.max(1, n.pixelDepth >> f) : 0, m = n.levels[f];
@@ -2994,24 +2992,24 @@ class re extends da {
2994
2992
  if (n.supercompressionScheme !== 2) throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
2995
2993
  C = h.decode(m.levelData, m.uncompressedByteLength);
2996
2994
  }
2997
- E = Ht[l] === W ? new Float32Array(C.buffer, C.byteOffset, C.byteLength / Float32Array.BYTES_PER_ELEMENT) : Ht[l] === et ? new Uint16Array(C.buffer, C.byteOffset, C.byteLength / Uint16Array.BYTES_PER_ELEMENT) : C, b.push({ data: E, width: I, height: u, depth: p });
2995
+ E = _t[l] === W ? new Float32Array(C.buffer, C.byteOffset, C.byteLength / Float32Array.BYTES_PER_ELEMENT) : _t[l] === et ? new Uint16Array(C.buffer, C.byteOffset, C.byteLength / Uint16Array.BYTES_PER_ELEMENT) : C, b.push({ data: E, width: I, height: u, depth: p });
2998
2996
  }
2999
2997
  let g;
3000
- if (Us.has(Ot[l])) g = n.pixelDepth === 0 ? new ct(b[0].data, n.pixelWidth, n.pixelHeight) : new ji(b[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
2998
+ if (Rs.has(Nt[l])) g = n.pixelDepth === 0 ? new ct(b[0].data, n.pixelWidth, n.pixelHeight) : new Di(b[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
3001
2999
  else {
3002
3000
  if (n.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
3003
- g = new ma(b, n.pixelWidth, n.pixelHeight);
3001
+ g = new Ba(b, n.pixelWidth, n.pixelHeight);
3004
3002
  }
3005
- return g.mipmaps = b, g.type = Ht[l], g.format = Ot[l], g.colorSpace = _a(n), g.needsUpdate = !0, Promise.resolve(g);
3003
+ return g.mipmaps = b, g.type = _t[l], g.format = Nt[l], g.colorSpace = Na(n), g.needsUpdate = !0, Promise.resolve(g);
3006
3004
  }(a);
3007
3005
  const s = t, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: s }, [e])).then((n) => this._createTextureFrom(n.data, a));
3008
- return Nt.set(e, { promise: i }), i;
3006
+ return Lt.set(e, { promise: i }), i;
3009
3007
  }
3010
3008
  dispose() {
3011
- return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Pt--, this;
3009
+ return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Gt--, this;
3012
3010
  }
3013
3011
  }
3014
- re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.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 }, re.EngineFormat = { RGBAFormat: Be, RGBA_ASTC_4x4_Format: rA, RGB_BPTC_UNSIGNED_Format: mi, RGBA_BPTC_Format: Ci, RGBA_ETC2_EAC_Format: Ei, RGBA_PVRTC_4BPPV1_Format: Qi, RGBA_S3TC_DXT5_Format: yi, RGB_ETC1_Format: wi, RGB_ETC2_Format: xi, RGB_PVRTC_4BPPV1_Format: ki, RGBA_S3TC_DXT1_Format: Di }, re.EngineType = { UnsignedByteType: ue, HalfFloatType: et, FloatType: W }, re.BasisWorker = function() {
3012
+ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.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 }, re.EngineFormat = { RGBAFormat: Be, RGBA_ASTC_4x4_Format: sA, RGB_BPTC_UNSIGNED_Format: Bi, RGBA_BPTC_Format: mi, RGBA_ETC2_EAC_Format: Ci, RGBA_PVRTC_4BPPV1_Format: Ei, RGBA_S3TC_DXT5_Format: Qi, RGB_ETC1_Format: yi, RGB_ETC2_Format: wi, RGB_PVRTC_4BPPV1_Format: xi, RGBA_S3TC_DXT1_Format: ki }, re.EngineType = { UnsignedByteType: ue, HalfFloatType: et, FloatType: W }, re.BasisWorker = function() {
3015
3013
  let o, e, t;
3016
3014
  const a = _EngineFormat, A = _EngineType, s = _TranscoderFormat, i = _BasisFormat;
3017
3015
  self.addEventListener("message", function(g) {
@@ -3098,17 +3096,17 @@ re.BasisFormat = { ETC1S: 0, UASTC: 1, UASTC_HDR: 2 }, re.TranscoderFormat = { E
3098
3096
  return I;
3099
3097
  }
3100
3098
  };
3101
- const Us = /* @__PURE__ */ new Set([Be, dt, ht]), Ot = { [xA]: Be, [QA]: Be, [BA]: Be, [mA]: Be, [wA]: dt, [EA]: dt, [IA]: dt, [pA]: dt, [yA]: ht, [CA]: ht, [uA]: ht, [fA]: ht, [la]: rA, [DA]: Ca, [kA]: Ca }, Ht = { [xA]: W, [QA]: et, [BA]: ue, [mA]: ue, [wA]: W, [EA]: et, [IA]: ue, [pA]: ue, [yA]: W, [CA]: et, [uA]: ue, [fA]: ue, [la]: et, [DA]: ue, [kA]: ue };
3102
- function _a(o) {
3099
+ const Rs = /* @__PURE__ */ new Set([Be, dt, ht]), Nt = { [wA]: Be, [EA]: Be, [pA]: Be, [BA]: Be, [yA]: dt, [CA]: dt, [uA]: dt, [IA]: dt, [QA]: ht, [mA]: ht, [fA]: ht, [gA]: ht, [ha]: sA, [kA]: ma, [xA]: ma }, _t = { [wA]: W, [EA]: et, [pA]: ue, [BA]: ue, [yA]: W, [CA]: et, [uA]: ue, [IA]: ue, [QA]: W, [mA]: et, [fA]: ue, [gA]: ue, [ha]: et, [kA]: ue, [xA]: ue };
3100
+ function Na(o) {
3103
3101
  const e = o.dataFormatDescriptor[0];
3104
- return e.colorPrimaries === 1 ? e.transferFunction === 2 ? ve : be : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), Ri);
3102
+ return e.colorPrimaries === 1 ? e.transferFunction === 2 ? ve : be : e.colorPrimaries === 10 ? e.transferFunction === 2 ? "display-p3" : "display-p3-linear" : (e.colorPrimaries === 0 || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ji);
3105
3103
  }
3106
- async function Pa(o) {
3104
+ async function _a(o) {
3107
3105
  const e = o.split("?")[0].split(".").pop(), t = await fetch(o);
3108
3106
  if (!t.ok) throw new Error(`Failed to fetch ${o}: ${t.statusText}`);
3109
3107
  if (e === "json") {
3110
3108
  const a = await t.json();
3111
- return handleJSONSubtree(a, Oa(o));
3109
+ return handleJSONSubtree(a, Pa(o));
3112
3110
  }
3113
3111
  if (e === "subtree")
3114
3112
  return async function(a, A) {
@@ -3140,11 +3138,11 @@ async function Pa(o) {
3140
3138
  }
3141
3139
  function M(k) {
3142
3140
  let R = 0;
3143
- return R = k.z == null ? qt(k.x, k.y, k.level) : Kt(k.x, k.y, k.z, k.level), x(C.tileAvailability, R);
3141
+ return R = k.z == null ? Pt(k.x, k.y, k.level) : Ht(k.x, k.y, k.z, k.level), x(C.tileAvailability, R);
3144
3142
  }
3145
3143
  function T(k) {
3146
3144
  let R = 0;
3147
- R = k.z == null ? qt(k.x, k.y, k.level) : Kt(k.x, k.y, k.z, k.level);
3145
+ R = k.z == null ? Pt(k.x, k.y, k.level) : Ht(k.x, k.y, k.z, k.level);
3148
3146
  const S = [];
3149
3147
  return C.contentAvailability.forEach((F) => {
3150
3148
  S.push(x(F, R));
@@ -3152,33 +3150,33 @@ async function Pa(o) {
3152
3150
  }
3153
3151
  function v(k) {
3154
3152
  let R = 0;
3155
- return R = k.z == null ? qt(k.x, k.y) : Kt(k.x, k.y, k.z), x(C.childSubtreeAvailability, R);
3153
+ return R = k.z == null ? Pt(k.x, k.y) : Ht(k.x, k.y, k.z), x(C.childSubtreeAvailability, R);
3156
3154
  }
3157
3155
  return { isTileAvailable: M, isContentAvailable: T, isChildSubtreeAvailable: v };
3158
3156
  }(u, m);
3159
- }(await t.arrayBuffer(), Oa(o));
3157
+ }(await t.arrayBuffer(), Pa(o));
3160
3158
  throw new Error(`Unsupported file extension: ${e}`);
3161
3159
  }
3162
- function Oa(o) {
3160
+ function Pa(o) {
3163
3161
  const e = o.split("?")[0];
3164
3162
  return e.substring(0, e.lastIndexOf("/") + 1);
3165
3163
  }
3166
- function Ha(o) {
3164
+ function Oa(o) {
3167
3165
  return o = 1431655765 & ((o = 858993459 & ((o = 252645135 & ((o = 16711935 & ((o &= 65535) ^ o << 8)) ^ o << 4)) ^ o << 2)) ^ o << 1);
3168
3166
  }
3169
- function qt(o, e, t) {
3167
+ function Pt(o, e, t) {
3170
3168
  let a = 0;
3171
- return t && (a = (Math.pow(4, t) - 1) / 3), a + (Ha(o) | Ha(e) << 1);
3169
+ return t && (a = (Math.pow(4, t) - 1) / 3), a + (Oa(o) | Oa(e) << 1);
3172
3170
  }
3173
- function Jt(o) {
3171
+ function Ot(o) {
3174
3172
  return o = 153391689 & ((o = 51130563 & ((o = 50393103 & ((o = 4278190335 & ((o &= 1023) ^ o << 16)) ^ o << 8)) ^ o << 4)) ^ o << 2);
3175
3173
  }
3176
- function Kt(o, e, t, a) {
3174
+ function Ht(o, e, t, a) {
3177
3175
  let A = 0;
3178
- return a && (A = (Math.pow(8, a) - 1) / 7), A + (Jt(o) | Jt(e) << 1 | Jt(t) << 2);
3176
+ return a && (A = (Math.pow(8, a) - 1) / 7), A + (Ot(o) | Ot(e) << 1 | Ot(t) << 2);
3179
3177
  }
3180
3178
  const nt = /* @__PURE__ */ new Map();
3181
- async function ba(o, e) {
3179
+ async function la(o, e) {
3182
3180
  if (!o.root || !o.root.implicitTiling) return o;
3183
3181
  if (!o.root.content && !o.root.contents) throw new Error("implicit tiling requires a Template URI");
3184
3182
  let t = !0;
@@ -3196,7 +3194,7 @@ async function ba(o, e) {
3196
3194
  let i;
3197
3195
  t && (i = a.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0)), t || (i = a.replace("{level}", 0).replace("{x}", 0).replace("{y}", 0).replace("{z}", 0));
3198
3196
  const n = { level: 0, x: 0, y: 0 }, l = { level: 0, x: 0, y: 0 };
3199
- t || (n.z = 0, l.z = 0), nt.set(i, await Pa(s + i));
3197
+ t || (n.z = 0, l.z = 0), nt.set(i, await _a(s + i));
3200
3198
  const h = nt.get(i), b = [];
3201
3199
  h.isContentAvailable(l) && A.forEach((I) => {
3202
3200
  let u;
@@ -3208,10 +3206,10 @@ async function ba(o, e) {
3208
3206
  const u = [];
3209
3207
  if (I.localAddress.level == o.root.implicitTiling.availableLevels - 1) return u;
3210
3208
  if ((I.localAddress.level + 1) % o.root.implicitTiling.subtreeLevels == 0) {
3211
- const p = mt(I.localAddress), m = mt(I.globalAddress), C = qa(t, o.root.boundingVolume, m);
3209
+ const p = It(I.localAddress), m = It(I.globalAddress), C = Ha(t, o.root.boundingVolume, m);
3212
3210
  for (let E = 0; E < p.length; E++) {
3213
3211
  const x = p[E], w = m[E];
3214
- I.subtree.isChildSubtreeAvailable(x) && (t && a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y), t || a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), nt.has(i) || nt.set(i, await Pa(s + i));
3212
+ I.subtree.isChildSubtreeAvailable(x) && (t && a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y), t || a.replace("{level}", w.level).replace("{x}", w.x).replace("{y}", w.y).replace("{z}", w.z)), nt.has(i) || nt.set(i, await _a(s + i));
3215
3213
  const M = nt.get(i), T = { level: 0, x: 0, y: 0 };
3216
3214
  t || (T.z = 0);
3217
3215
  const v = [];
@@ -3223,7 +3221,7 @@ async function ba(o, e) {
3223
3221
  u.push(k);
3224
3222
  }
3225
3223
  } else {
3226
- const p = mt(I.localAddress), m = mt(I.globalAddress), C = qa(t, o.root.boundingVolume, m);
3224
+ const p = It(I.localAddress), m = It(I.globalAddress), C = Ha(t, o.root.boundingVolume, m);
3227
3225
  for (let E = 0; E < p.length; E++) {
3228
3226
  const x = p[E], w = m[E];
3229
3227
  if (!I.subtree.isTileAvailable(x)) continue;
@@ -3241,17 +3239,17 @@ async function ba(o, e) {
3241
3239
  return u.length > 0 ? u : void 0;
3242
3240
  }
3243
3241
  }
3244
- function mt(o) {
3242
+ function It(o) {
3245
3243
  const { level: e, x: t, y: a, z: A } = o, s = e + 1;
3246
3244
  let i = [];
3247
3245
  return i = A === void 0 ? [{ level: s, x: 2 * t, y: 2 * a }, { level: s, x: 2 * t + 1, y: 2 * a }, { level: s, x: 2 * t, y: 2 * a + 1 }, { level: s, x: 2 * t + 1, y: 2 * a + 1 }] : [{ level: s, x: 2 * t, y: 2 * a, z: 2 * A }, { level: s, x: 2 * t + 1, y: 2 * a, z: 2 * A }, { level: s, x: 2 * t, y: 2 * a + 1, z: 2 * A }, { level: s, x: 2 * t + 1, y: 2 * a + 1, z: 2 * A }, { level: s, x: 2 * t, y: 2 * a, z: 2 * A + 1 }, { level: s, x: 2 * t + 1, y: 2 * a, z: 2 * A + 1 }, { level: s, x: 2 * t, y: 2 * a + 1, z: 2 * A + 1 }, { level: s, x: 2 * t + 1, y: 2 * a + 1, z: 2 * A + 1 }], i;
3248
3246
  }
3249
- function qa(o, e, t) {
3247
+ function Ha(o, e, t) {
3250
3248
  const a = [];
3251
- for (let A = 0; A < t.length; A++) a.push(Gs(o, e, t[A]));
3249
+ for (let A = 0; A < t.length; A++) a.push(Ms(o, e, t[A]));
3252
3250
  return a;
3253
3251
  }
3254
- function Gs(o, e, t) {
3252
+ function Ms(o, e, t) {
3255
3253
  if (e.region) return function(a, A, s) {
3256
3254
  const [i, n, l, h, b, g] = A, f = (l - i) / 2 ** s.level, I = (h - n) / 2 ** s.level, u = a ? 0 : (g - b) / 2 ** s.level, p = i + f * s.x, m = n + I * s.y, C = p + f, E = m + I, x = a ? b : b + u * s.z, w = a ? g : x + u;
3257
3255
  return { region: [p, m, C, E, x, w] };
@@ -3305,7 +3303,7 @@ function Gs(o, e, t) {
3305
3303
  return w.set(x.subarray(C, C + g * f)), m(C - m(0)), w;
3306
3304
  }
3307
3305
  })();
3308
- var RA = function() {
3306
+ var jA = function() {
3309
3307
  var o = 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]);
3310
3308
  if (typeof WebAssembly != "object") return { supported: !1 };
3311
3309
  var t, a = WebAssembly.validate(o) ? "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;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;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb" : "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;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;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = WebAssembly.instantiate(s(a), {}).then(function(I) {
@@ -3404,11 +3402,11 @@ var RA = function() {
3404
3402
  var i = { LockBorder: 1 };
3405
3403
  })();
3406
3404
  let Qe = 0;
3407
- class Ns {
3405
+ class vs {
3408
3406
  constructor(e) {
3409
- if (this.renderer = e.renderer, this.zUpToYUpMatrix = new j.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 hA(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
3407
+ if (this.renderer = e.renderer, this.zUpToYUpMatrix = new j.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 dA(), e && e.dracoLoader) this.gltfLoader.setDRACOLoader(e.dracoLoader), this.hasDracoLoader = !0;
3410
3408
  else {
3411
- const t = new gA();
3409
+ const t = new bA();
3412
3410
  t.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"), this.gltfLoader.setDRACOLoader(t), this.gltfLoader.hasDracoLoader = !0;
3413
3411
  }
3414
3412
  if (e && e.ktx2Loader) this.gltfLoader.setKTX2Loader(e.ktx2Loader), this.hasKTX2Loader = !0;
@@ -3416,7 +3414,7 @@ class Ns {
3416
3414
  const t = new re();
3417
3415
  t.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(e.renderer), this.gltfLoader.setKTX2Loader(t), this.gltfLoader.hasKTX2Loader = !0;
3418
3416
  }
3419
- this.gltfLoader.setMeshoptDecoder(RA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new cA(this.gltfLoader), this.splatsDecoder = new Oi(this.gltfLoader, this.renderer), this.cache = new nA.LinkedHashMap(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
3417
+ this.gltfLoader.setMeshoptDecoder(jA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new oA(this.gltfLoader), this.splatsDecoder = new Pi(this.gltfLoader, this.renderer), this.cache = new rA.LinkedHashMap(), this.register = {}, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
3420
3418
  }
3421
3419
  update() {
3422
3420
  const e = this;
@@ -3478,7 +3476,7 @@ class Ns {
3478
3476
  }
3479
3477
  }
3480
3478
  get(e, t, a, A, s, i, n, l, h, b, g) {
3481
- const f = this, I = Ja(a), u = new AbortController();
3479
+ const f = this, I = qa(a), u = new AbortController();
3482
3480
  if (e.signal.addEventListener("abort", () => {
3483
3481
  f.register[I] && Object.keys(f.register[I]).length != 0 || u.abort("user abort");
3484
3482
  }), !(a.includes(".b3dm") || a.includes(".json") || a.includes(".gltf") || a.includes(".glb"))) return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");
@@ -3536,7 +3534,7 @@ class Ns {
3536
3534
  m = f.proxy ? () => fetch(f.proxy, { method: "POST", body: a, signal: u.signal }) : () => fetch(a, { signal: u.signal }), Qe++, m().then((C) => {
3537
3535
  if (!C.ok) throw console.error("could not load tile with path : " + a), new Error(`couldn't load "${a}". Request failed with status ${C.status} : ${C.statusText}`);
3538
3536
  return C.json();
3539
- }).then((C) => ba(C, a)).then((C) => {
3537
+ }).then((C) => la(C, a)).then((C) => {
3540
3538
  f.cache.put(I, C), f._checkSize(), f._meshReceived(f.cache, f.register, I);
3541
3539
  }).catch((C) => {
3542
3540
  }).finally(() => {
@@ -3550,7 +3548,7 @@ class Ns {
3550
3548
  this.maxCachedItems = 0, this._checkSize(), this.maxCachedItems = e;
3551
3549
  }
3552
3550
  invalidate(e, t) {
3553
- const a = Ja(e);
3551
+ const a = qa(e);
3554
3552
  this.register[a] && (delete this.register[a][t], this._checkSize());
3555
3553
  }
3556
3554
  _checkSize() {
@@ -3567,7 +3565,7 @@ class Ns {
3567
3565
  }
3568
3566
  }
3569
3567
  }
3570
- function Ja(o) {
3568
+ function qa(o) {
3571
3569
  for (var e = o.split("/"), t = [], a = 0, A = 0; A < e.length; A++) {
3572
3570
  var s = e[A];
3573
3571
  s !== "." && s !== "" && s !== ".." ? t[a++] = s : s === ".." && a > 0 && a--;
@@ -3577,16 +3575,16 @@ function Ja(o) {
3577
3575
  for (A = 0; A < a; A++) i += "/" + t[A];
3578
3576
  return i;
3579
3577
  }
3580
- var De, je, MA = { exports: {} }, J = MA.exports = {};
3581
- function sa() {
3578
+ var De, je, RA = { exports: {} }, J = RA.exports = {};
3579
+ function aa() {
3582
3580
  throw new Error("setTimeout has not been defined");
3583
3581
  }
3584
- function ra() {
3582
+ function Aa() {
3585
3583
  throw new Error("clearTimeout has not been defined");
3586
3584
  }
3587
- function vA(o) {
3585
+ function MA(o) {
3588
3586
  if (De === setTimeout) return setTimeout(o, 0);
3589
- if ((De === sa || !De) && setTimeout) return De = setTimeout, setTimeout(o, 0);
3587
+ if ((De === aa || !De) && setTimeout) return De = setTimeout, setTimeout(o, 0);
3590
3588
  try {
3591
3589
  return De(o, 0);
3592
3590
  } catch {
@@ -3599,31 +3597,31 @@ function vA(o) {
3599
3597
  }
3600
3598
  (function() {
3601
3599
  try {
3602
- De = typeof setTimeout == "function" ? setTimeout : sa;
3600
+ De = typeof setTimeout == "function" ? setTimeout : aa;
3603
3601
  } catch {
3604
- De = sa;
3602
+ De = aa;
3605
3603
  }
3606
3604
  try {
3607
- je = typeof clearTimeout == "function" ? clearTimeout : ra;
3605
+ je = typeof clearTimeout == "function" ? clearTimeout : Aa;
3608
3606
  } catch {
3609
- je = ra;
3607
+ je = Aa;
3610
3608
  }
3611
3609
  })();
3612
- var We, Me = [], at = !1, xt = -1;
3613
- function _s() {
3614
- at && We && (at = !1, We.length ? Me = We.concat(Me) : xt = -1, Me.length && TA());
3610
+ var We, Me = [], at = !1, Qt = -1;
3611
+ function Ts() {
3612
+ at && We && (at = !1, We.length ? Me = We.concat(Me) : Qt = -1, Me.length && vA());
3615
3613
  }
3616
- function TA() {
3614
+ function vA() {
3617
3615
  if (!at) {
3618
- var o = vA(_s);
3616
+ var o = MA(Ts);
3619
3617
  at = !0;
3620
3618
  for (var e = Me.length; e; ) {
3621
- for (We = Me, Me = []; ++xt < e; ) We && We[xt].run();
3622
- xt = -1, e = Me.length;
3619
+ for (We = Me, Me = []; ++Qt < e; ) We && We[Qt].run();
3620
+ Qt = -1, e = Me.length;
3623
3621
  }
3624
3622
  We = null, at = !1, function(t) {
3625
3623
  if (je === clearTimeout) return clearTimeout(t);
3626
- if ((je === ra || !je) && clearTimeout) return je = clearTimeout, clearTimeout(t);
3624
+ if ((je === Aa || !je) && clearTimeout) return je = clearTimeout, clearTimeout(t);
3627
3625
  try {
3628
3626
  return je(t);
3629
3627
  } catch {
@@ -3636,7 +3634,7 @@ function TA() {
3636
3634
  }(o);
3637
3635
  }
3638
3636
  }
3639
- function Ka(o, e) {
3637
+ function Ja(o, e) {
3640
3638
  this.fun = o, this.array = e;
3641
3639
  }
3642
3640
  function ye() {
@@ -3644,8 +3642,8 @@ function ye() {
3644
3642
  J.nextTick = function(o) {
3645
3643
  var e = new Array(arguments.length - 1);
3646
3644
  if (arguments.length > 1) for (var t = 1; t < arguments.length; t++) e[t - 1] = arguments[t];
3647
- Me.push(new Ka(o, e)), Me.length !== 1 || at || vA(TA);
3648
- }, Ka.prototype.run = function() {
3645
+ Me.push(new Ja(o, e)), Me.length !== 1 || at || MA(vA);
3646
+ }, Ja.prototype.run = function() {
3649
3647
  this.fun.apply(null, this.array);
3650
3648
  }, J.title = "browser", J.browser = !0, J.env = {}, J.argv = [], J.version = "", J.versions = {}, J.on = ye, J.addListener = ye, J.once = ye, J.off = ye, J.removeListener = ye, J.removeAllListeners = ye, J.emit = ye, J.prependListener = ye, J.prependOnceListener = ye, J.listeners = function(o) {
3651
3649
  return [];
@@ -3658,11 +3656,11 @@ J.nextTick = function(o) {
3658
3656
  }, J.umask = function() {
3659
3657
  return 0;
3660
3658
  };
3661
- const Ps = Dt(MA.exports);
3659
+ const Ss = yt(RA.exports);
3662
3660
  function ge(o) {
3663
3661
  if (typeof o != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(o));
3664
3662
  }
3665
- function za(o, e) {
3663
+ function Ka(o, e) {
3666
3664
  for (var t, a = "", A = 0, s = -1, i = 0, n = 0; n <= o.length; ++n) {
3667
3665
  if (n < o.length) t = o.charCodeAt(n);
3668
3666
  else {
@@ -3690,16 +3688,16 @@ function za(o, e) {
3690
3688
  }
3691
3689
  return a;
3692
3690
  }
3693
- var Va, At = { resolve: function() {
3691
+ var za, At = { resolve: function() {
3694
3692
  for (var o, e = "", t = !1, a = arguments.length - 1; a >= -1 && !t; a--) {
3695
3693
  var A;
3696
- a >= 0 ? A = arguments[a] : (o === void 0 && (o = Ps.cwd()), A = o), ge(A), A.length !== 0 && (e = A + "/" + e, t = A.charCodeAt(0) === 47);
3694
+ a >= 0 ? A = arguments[a] : (o === void 0 && (o = Ss.cwd()), A = o), ge(A), A.length !== 0 && (e = A + "/" + e, t = A.charCodeAt(0) === 47);
3697
3695
  }
3698
- return e = za(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
3696
+ return e = Ka(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
3699
3697
  }, normalize: function(o) {
3700
3698
  if (ge(o), o.length === 0) return ".";
3701
3699
  var e = o.charCodeAt(0) === 47, t = o.charCodeAt(o.length - 1) === 47;
3702
- return (o = za(o, !e)).length !== 0 || e || (o = "."), o.length > 0 && t && (o += "/"), e ? "/" + o : o;
3700
+ return (o = Ka(o, !e)).length !== 0 || e || (o = "."), o.length > 0 && t && (o += "/"), e ? "/" + o : o;
3703
3701
  }, isAbsolute: function(o) {
3704
3702
  return ge(o), o.length > 0 && o.charCodeAt(0) === 47;
3705
3703
  }, join: function() {
@@ -3795,7 +3793,7 @@ var Va, At = { resolve: function() {
3795
3793
  return s === -1 || n === -1 || b === 0 || b === 1 && s === n - 1 && s === i + 1 ? n !== -1 && (e.base = e.name = i === 0 && A ? o.slice(1, n) : o.slice(i, n)) : (i === 0 && A ? (e.name = o.slice(1, s), e.base = o.slice(1, n)) : (e.name = o.slice(i, s), e.base = o.slice(i, n)), e.ext = o.slice(s, n)), i > 0 ? e.dir = o.slice(0, i - 1) : A && (e.dir = "/"), e;
3796
3794
  }, sep: "/", delimiter: ":", win32: null, posix: null };
3797
3795
  At.posix = At, module.exports = At;
3798
- class Os {
3796
+ class Fs {
3799
3797
  constructor(e) {
3800
3798
  Je(this, "_toElementFn");
3801
3799
  if (e) {
@@ -3853,7 +3851,7 @@ class Os {
3853
3851
  * @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
3854
3852
  * @license MIT License
3855
3853
  */
3856
- class Ye extends Os {
3854
+ class Ye extends Fs {
3857
3855
  constructor(t = [], a) {
3858
3856
  super(a);
3859
3857
  Je(this, "_elements", []);
@@ -3974,51 +3972,51 @@ class Ye extends Os {
3974
3972
  }
3975
3973
  (function(o) {
3976
3974
  o[o.VISIT = 0] = "VISIT", o[o.PROCESS = 1] = "PROCESS";
3977
- })(Va || (Va = {}));
3978
- class gt extends Ye {
3975
+ })(za || (za = {}));
3976
+ class bt extends Ye {
3979
3977
  constructor(e = [], t) {
3980
3978
  super(e, t);
3981
3979
  }
3982
3980
  clone() {
3983
- return new gt(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3981
+ return new bt(this, { comparator: this.comparator, toElementFn: this.toElementFn });
3984
3982
  }
3985
3983
  filter(e, t) {
3986
- const a = new gt([], { toElementFn: this.toElementFn, comparator: this.comparator });
3984
+ const a = new bt([], { toElementFn: this.toElementFn, comparator: this.comparator });
3987
3985
  let A = 0;
3988
3986
  for (const s of this) e.call(t, s, A, this) && a.add(s), A++;
3989
3987
  return a;
3990
3988
  }
3991
3989
  map(e, t, a, A) {
3992
- const s = new gt([], { comparator: t, toElementFn: a });
3990
+ const s = new bt([], { comparator: t, toElementFn: a });
3993
3991
  let i = 0;
3994
3992
  for (const n of this) s.add(e.call(A, n, i, this)), i++;
3995
3993
  return s;
3996
3994
  }
3997
3995
  }
3998
- class ft extends gt {
3996
+ class gt extends bt {
3999
3997
  constructor(e = [], t) {
4000
3998
  super(e, t);
4001
3999
  }
4002
4000
  clone() {
4003
- return new ft(this, { comparator: this.comparator, toElementFn: this.toElementFn });
4001
+ return new gt(this, { comparator: this.comparator, toElementFn: this.toElementFn });
4004
4002
  }
4005
4003
  filter(e, t) {
4006
- const a = new ft([], { toElementFn: this.toElementFn, comparator: this.comparator });
4004
+ const a = new gt([], { toElementFn: this.toElementFn, comparator: this.comparator });
4007
4005
  let A = 0;
4008
4006
  for (const s of this) e.call(t, s, A, this) && a.add(s), A++;
4009
4007
  return a;
4010
4008
  }
4011
4009
  map(e, t, a, A) {
4012
- const s = new ft([], { comparator: t, toElementFn: a });
4010
+ const s = new gt([], { comparator: t, toElementFn: a });
4013
4011
  let i = 0;
4014
4012
  for (const n of this) s.add(e.call(A, n, i, this)), i++;
4015
4013
  return s;
4016
4014
  }
4017
4015
  }
4018
- new oa(), new K(), new K(), new K(), new K();
4019
- const Ct = new K(), Hs = new K(), SA = new na();
4020
- SA.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
4021
- class qs extends ea {
4016
+ new sa(), new K(), new K(), new K(), new K();
4017
+ const pt = new K(), Ls = new K(), TA = new ia();
4018
+ TA.set(1, 0, 0, 0, 0, 1, 0, -1, 0);
4019
+ class Us extends Xt {
4022
4020
  constructor(e) {
4023
4021
  const a = Math.min(Math.ceil(8) * 512, Math.pow(512, 2));
4024
4022
  let A = 1 * Math.pow(512, 2);
@@ -4031,7 +4029,7 @@ class qs extends ea {
4031
4029
  n.texture.type = W, e.initRenderTarget(n);
4032
4030
  const l = new Ue(512, 512, 1, { magFilter: P, minFilter: P, anisotropy: 0, type: W, depthBuffer: !1, resolveDepthBuffer: !1 });
4033
4031
  l.texture.type = W, e.initRenderTarget(l);
4034
- const h = new Mt({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: n.texture }, cov2Texture: { value: l.texture }, colorTexture: { value: s.texture }, positionTexture: { value: i.texture }, zUpToYUpMatrix3x3: { value: SA }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE } }, vertexShader: `
4032
+ const h = new kt({ uniforms: { textureSize: { value: 512 }, numSlices: { value: 1 }, cov1Texture: { value: n.texture }, cov2Texture: { value: l.texture }, colorTexture: { value: s.texture }, positionTexture: { value: i.texture }, zUpToYUpMatrix3x3: { value: TA }, sizeMultiplier: { value: 1 }, cropRadius: { value: Number.MAX_VALUE } }, vertexShader: `
4035
4033
  precision highp float;
4036
4034
  precision highp int;
4037
4035
 
@@ -4190,23 +4188,23 @@ void main() {
4190
4188
 
4191
4189
  gl_FragColor = vec4(pow(color.xyz,vec3(1.0/2.2)), color.w * pow(alpha, 1.8));
4192
4190
 
4193
- }`, transparent: !0, side: wt, depthTest: !0, depthWrite: !0, depthFunc: Mi }), b = new Ea(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
4191
+ }`, transparent: !0, side: Et, depthTest: !0, depthWrite: !0, depthFunc: Ri }), b = new Ca(), g = new Float32Array([-0.5, 0.5, 0, 0.5, 0.5, 0, -0.5, -0.5, 0, 0.5, -0.5, 0]);
4194
4192
  b.setIndex([0, 2, 1, 2, 3, 1]), b.setAttribute("position", new Pe(g, 3));
4195
- const f = new Uint32Array(A), I = new Zt(f, 1, !1);
4196
- I.needsUpdate = !0, I.setUsage(Qa), b.setAttribute("order", I), b.instanceCount = 0, super(b, h), this.orderAttribute = I, this.textureSize = 512, this.numTextures = 1, this.batchSize = a, this.maxSplats = A, this.colorRenderTarget = s, this.positionRenderTarget = i, this.cov1RenderTarget = n, this.cov2RenderTarget = l, this.renderer = e, this.sortID = 0, this.freeAddresses = new ft();
4193
+ const f = new Uint32Array(A), I = new Yt(f, 1, !1);
4194
+ I.needsUpdate = !0, I.setUsage(Ea), b.setAttribute("order", I), b.instanceCount = 0, super(b, h), this.orderAttribute = I, this.textureSize = 512, this.numTextures = 1, this.batchSize = a, this.maxSplats = A, this.colorRenderTarget = s, this.positionRenderTarget = i, this.cov1RenderTarget = n, this.cov2RenderTarget = l, this.renderer = e, this.sortID = 0, this.freeAddresses = new gt();
4197
4195
  for (let m = 0; m < this.maxSplats; m += a) this.freeAddresses.add(m);
4198
4196
  this.worker = new Worker(new URL("" + new URL("assets/PointsManager.worker-5fpGpVvf.js", import.meta.url).href, import.meta.url), { type: "module" }), this.sortListeners = [], this.worker.onmessage = (m) => {
4199
4197
  const C = new Uint32Array(m.data.order);
4200
4198
  if (C.length > this.orderAttribute.count) {
4201
- const E = new Ea(), x = 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];
4199
+ const E = new Ca(), x = 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];
4202
4200
  E.setIndex(w), E.setAttribute("position", new Pe(x, 3));
4203
- const M = new Uint32Array(this.maxSplats), T = new Zt(M, 1, !1);
4204
- T.needsUpdate = !0, T.setUsage(Qa), E.setAttribute("order", T), E.instanceCount = 0, this.geometry.dispose(), this.geometry = E, this.orderAttribute = T;
4201
+ const M = new Uint32Array(this.maxSplats), T = new Yt(M, 1, !1);
4202
+ T.needsUpdate = !0, T.setUsage(Ea), E.setAttribute("order", T), E.instanceCount = 0, this.geometry.dispose(), this.geometry = E, this.orderAttribute = T;
4205
4203
  }
4206
4204
  this.orderAttribute.clearUpdateRanges(), this.orderAttribute.set(C), this.orderAttribute.addUpdateRange(0, C.length), this.orderAttribute.needsUpdate = !0, this.geometry.instanceCount = m.data.count, this.geometry.needsUpdate = !0;
4207
4205
  for (let E = this.sortListeners.length - 1; E >= 0; E--)
4208
4206
  this.sortListeners[E](m.data.id) && this.sortListeners.splice(E, 1);
4209
- }, this.cameraPosition = new K(0, 0, 0), this.rotateOnAxis(new K(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new Mt({ uniforms: { sourceTexture: {} }, vertexShader: Ya(), fragmentShader: `
4207
+ }, this.cameraPosition = new K(0, 0, 0), this.rotateOnAxis(new K(1, 0, 0), 0.5 * Math.PI), this.frustumCulled = !1, this.copyMaterial2D = new kt({ uniforms: { sourceTexture: {} }, vertexShader: Va(), fragmentShader: `
4210
4208
  precision highp float;
4211
4209
 
4212
4210
  uniform sampler2D sourceTexture;
@@ -4215,7 +4213,7 @@ in vec2 vUv;
4215
4213
 
4216
4214
  void main() {
4217
4215
  gl_FragColor = texture( sourceTexture, vUv );
4218
- }`, transparent: !1, side: wt, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new Mt({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: Ya(), fragmentShader: `
4216
+ }`, transparent: !1, side: Et, depthTest: !1, depthWrite: !1 }), this.copyMaterial3D = new kt({ uniforms: { sourceTexture: {}, w: { value: 0 } }, vertexShader: Va(), fragmentShader: `
4219
4217
  precision highp float;
4220
4218
 
4221
4219
  uniform sampler3D sourceTexture;
@@ -4225,9 +4223,9 @@ in vec2 vUv;
4225
4223
 
4226
4224
  void main() {
4227
4225
  gl_FragColor = texture( sourceTexture, vec3(vUv, w) );
4228
- }`, transparent: !1, side: wt, depthTest: !1, depthWrite: !1 }), this.copyCamera = new iA(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new vi();
4229
- const u = new Ti(1, 1);
4230
- this.copyQuad = new ea(u, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
4226
+ }`, transparent: !1, side: Et, depthTest: !1, depthWrite: !1 }), this.copyCamera = new AA(-0.5, 0.5, 0.5, -0.5, 0.1, 10), this.copyCamera.position.z = 1, this.copyScene = new Mi();
4227
+ const u = new vi(1, 1);
4228
+ this.copyQuad = new Xt(u, this.copyMaterial2D), this.copyScene.add(this.copyQuad), this.copyScene.matrixAutoUpdate = !1, this.copyQuad.matrixAutoUpdate = !1;
4231
4229
  const p = this;
4232
4230
  document.addEventListener("keyup", function(m) {
4233
4231
  m.key === "a" && (p.growTextures(), console.log(p.positionRenderTarget.depth));
@@ -4272,9 +4270,9 @@ void main() {
4272
4270
  f = (p, m, C) => {
4273
4271
  const E = C * C;
4274
4272
  for (let x = 0; x < I.length; x += 3) {
4275
- Ct.set(I[x], -I[x + 2], I[x + 1]);
4276
- const w = Hs.copy(Ct).sub(p.origin).dot(p.direction);
4277
- w > 0 && p.distanceSqToPoint(Ct) < E && m.push({ distance: w, point: Ct.clone(), type: "splat" });
4273
+ pt.set(I[x], -I[x + 2], I[x + 1]);
4274
+ const w = Ls.copy(pt).sub(p.origin).dot(p.direction);
4275
+ w > 0 && p.distanceSqToPoint(pt) < E && m.push({ distance: w, point: pt.clone(), type: "splat" });
4278
4276
  }
4279
4277
  }, h > this.freeAddresses.size && this.growTextures();
4280
4278
  for (let p = 0; p < h; p++) {
@@ -4326,7 +4324,7 @@ void main() {
4326
4324
  s.texture.type = W, this.renderer.initRenderTarget(s), this.copyTex3D(this.cov2RenderTarget.texture, s, this.numTextures), this.cov2RenderTarget.dispose(), this.cov2RenderTarget = s, this.material.uniforms.cov2Texture.value = this.cov2RenderTarget.texture, this.numTextures = e, this.material.uniforms.numSlices.value = this.numTextures;
4327
4325
  }
4328
4326
  }
4329
- function Ya() {
4327
+ function Va() {
4330
4328
  return `
4331
4329
 
4332
4330
  out vec2 vUv;
@@ -4339,26 +4337,26 @@ void main() {
4339
4337
  var fe;
4340
4338
  const we = new j.Sphere(new j.Vector3(0, 0, 0), 1), ze = new Re([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]);
4341
4339
  new j.Box3();
4342
- const Ne = new j.Vector3(0, 0, 0), $e = new j.Vector3(0, 0, 0), Js = new j.Vector3(0, 1, 0), Et = new j.Ray(), Qt = new j.Matrix4();
4340
+ const Ne = new j.Vector3(0, 0, 0), $e = new j.Vector3(0, 0, 0), Gs = new j.Vector3(0, 1, 0), Bt = new j.Ray(), mt = new j.Matrix4();
4343
4341
  new j.Matrix4(), new j.Frustum();
4344
- const zt = new j.Vector3(), yt = [], Wa = new j.Quaternion(), Ie = {};
4345
- function Ks() {
4342
+ const qt = new j.Vector3(), Ct = [], Ya = new j.Quaternion(), Ie = {};
4343
+ function Ns() {
4346
4344
  var o = [];
4347
4345
  for (let e in Ie) Ie.hasOwnProperty(e) && Ie[e] > 0 && o.push(e);
4348
4346
  return o;
4349
4347
  }
4350
- class FA extends j.Object3D {
4348
+ class SA extends j.Object3D {
4351
4349
  constructor(e) {
4352
4350
  super();
4353
4351
  const t = this;
4354
- if (t.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 = dA(), e.tileLoader) this.tileLoader = e.tileLoader;
4352
+ if (t.splatsMesh = e.splatsMesh, this.contentURL = [], e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 = cA(), e.tileLoader) this.tileLoader = e.tileLoader;
4355
4353
  else {
4356
4354
  const s = {};
4357
4355
  s.meshCallback = e.meshCallback ? e.meshCallback : (i, n) => {
4358
4356
  i.material.wireframe = !1, i.material.side = j.DoubleSide;
4359
4357
  }, s.pointsCallback = e.pointsCallback ? e.pointsCallback : (i, n) => {
4360
4358
  i.material.size = Math.pow(n, 0.33), i.material.sizeAttenuation = !0;
4361
- }, s.proxy = this.proxy, s.renderer = e.renderer, s.dracoLoader = e.dracoLoader, s.ktx2Loader = e.ktx2Loader, this.tileLoader = new Ns(s), this.update = (i) => {
4359
+ }, s.proxy = this.proxy, s.renderer = e.renderer, s.dracoLoader = e.dracoLoader, s.ktx2Loader = e.ktx2Loader, this.tileLoader = new vs(s), this.update = (i) => {
4362
4360
  this.update(i), this.tileLoader.update();
4363
4361
  };
4364
4362
  }
@@ -4372,11 +4370,11 @@ class FA extends j.Object3D {
4372
4370
  }
4373
4371
  (t.proxy ? () => fetch(t.proxy, { method: "POST", body: a, signal: t.abortController.signal }) : () => fetch(a, { signal: t.abortController.signal }))().then((s) => {
4374
4372
  if (!s.ok) throw new Error(`couldn't load "${e.url}". Request failed with status ${s.status} : ${s.statusText}`);
4375
- s.json().then((i) => ba(i, a)).then((i) => {
4373
+ s.json().then((i) => la(i, a)).then((i) => {
4376
4374
  t._setup({ rootPath: (void 0)(e.url), json: i });
4377
4375
  });
4378
4376
  }).catch((s) => {
4379
- t.displayErrors && Xa(s);
4377
+ t.displayErrors && Wa(s);
4380
4378
  });
4381
4379
  }
4382
4380
  }
@@ -4398,7 +4396,7 @@ class FA extends j.Object3D {
4398
4396
  }
4399
4397
  async _setup(e) {
4400
4398
  const t = this;
4401
- if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (t.splatsMesh = new qs(t.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), t.add(t.splatsMesh)), e.json.root ? (t.json = e.json.root, t.json.refine || (t.json.refine = e.json.refine), t.json.geometricError || (t.json.geometricError = e.json.geometricError), t.json.transform || (t.json.transform = e.json.transform), t.json.boundingVolume || (t.json.boundingVolume = e.json.boundingVolume)) : t.json = e.json, t.json.children || (t.json.getChildren ? t.json.children = await t.json.getChildren() : t.json.children = []), t.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, t.json.refine ? t.refine = t.json.refine : t.refine = e.parentRefine, t.json.geometricError ? t.geometricError = t.json.geometricError : t.geometricError = e.parentGeometricError, t.json.transform) {
4399
+ if (e.json.extensionsRequired && e.json.extensionsRequired.includes("JDULTRA_gaussian_splats") && (t.splatsMesh = new Us(t.tileLoader.renderer), this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius), this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier), t.add(t.splatsMesh)), e.json.root ? (t.json = e.json.root, t.json.refine || (t.json.refine = e.json.refine), t.json.geometricError || (t.json.geometricError = e.json.geometricError), t.json.transform || (t.json.transform = e.json.transform), t.json.boundingVolume || (t.json.boundingVolume = e.json.boundingVolume)) : t.json = e.json, t.json.children || (t.json.getChildren ? t.json.children = await t.json.getChildren() : t.json.children = []), t.rootPath = e.json.rootPath ? e.json.rootPath : e.rootPath, t.json.refine ? t.refine = t.json.refine : t.refine = e.parentRefine, t.json.geometricError ? t.geometricError = t.json.geometricError : t.geometricError = e.parentGeometricError, t.json.transform) {
4402
4400
  let A = new j.Matrix4();
4403
4401
  A.elements = t.json.transform, t.applyMatrix4(A);
4404
4402
  }
@@ -4414,7 +4412,7 @@ class FA extends j.Object3D {
4414
4412
  function a(A) {
4415
4413
  A.uri && A.uri.includes("json") || A.url && A.url.includes("json") ? t.hasUnloadedJSONContent++ : t.hasMeshContent++;
4416
4414
  }
4417
- if (t.json.content ? (a(t.json.content), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()) : t.json.contents && (t.json.contents.forEach((A) => a(A)), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()), t.centerModel && ($e.copy(t.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]), Ne), Wa.setFromUnitVectors(Ne.normalize(), Js.normalize()), t.applyQuaternion(Wa)), $e.applyMatrix4(t.matrix), t.position.sub($e), t.updateMatrices()), e.onLoadCallback && t.onLoadCallback(t), t.isSetup = !0, t.level > 0 && t.drawBoundingVolume && (t.bbox && console.log("double setup"), this.boundingVolume.aabb)) {
4415
+ if (t.json.content ? (a(t.json.content), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()) : t.json.contents && (t.json.contents.forEach((A) => a(A)), t.hasMeshContent == 0 && (t.level = Math.max(0, t.parentTile ? t.parentTile.level + 0.01 : 0)), t.loadingStrategy === "IMMEDIATE" ? t._load(!0, !1) : t._load()), t.centerModel && ($e.copy(t.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]), Ne), Ya.setFromUnitVectors(Ne.normalize(), Gs.normalize()), t.applyQuaternion(Ya)), $e.applyMatrix4(t.matrix), t.position.sub($e), t.updateMatrices()), e.onLoadCallback && t.onLoadCallback(t), t.isSetup = !0, t.level > 0 && t.drawBoundingVolume && (t.bbox && console.log("double setup"), this.boundingVolume.aabb)) {
4418
4416
  let A = this.boundingVolume.aabb.clone();
4419
4417
  A.applyMatrix4(this.matrixWorld), t.bbox = new j.Box3Helper(A, new j.Color(Math.random(), Math.random(), Math.random())), t.add(t.bbox), t.bbox.material.visible = !1;
4420
4418
  }
@@ -4460,7 +4458,7 @@ class FA extends j.Object3D {
4460
4458
  a.tileLoader.get(a.abortController, a.uuid, h, (f) => {
4461
4459
  a.deleted || (f.asset && f.asset.copyright && (f.asset.copyright.split(";").forEach((I) => {
4462
4460
  Ie[I] ? Ie[I]++ : Ie[I] = 1;
4463
- }), a.displayCopyright && Vt()), a.meshContent.push(f), a.splatsMesh || (f.traverse((I) => {
4461
+ }), a.displayCopyright && Jt()), a.meshContent.push(f), a.splatsMesh || (f.traverse((I) => {
4464
4462
  if ((I.isMesh || I.isPoints) && I.layers.disable(0), I.isMesh && a.occlusionCullingService) {
4465
4463
  const u = I.geometry.attributes.position, p = [];
4466
4464
  for (let m = 0; m < u.count; m++) p.push(a.color.r, a.color.g, a.color.b);
@@ -4472,7 +4470,7 @@ class FA extends j.Object3D {
4472
4470
  return (a.metric && a.metric < 0 || a.deleted) && (f = 2), a.parentTile ? a.parentTile._calculateDistanceToCamera(a.cameraOnLoad) * f * a.level : a._calculateDistanceToCamera(a.cameraOnLoad) * f * a.level;
4473
4471
  } : () => 0, () => a._getSiblings(), a.level, !a.json.boundingVolume.region, !!a.json.boundingVolume.region, a.geometricError, a.splatsMesh);
4474
4472
  } catch (f) {
4475
- a.displayErrors && Xa(f);
4473
+ a.displayErrors && Wa(f);
4476
4474
  }
4477
4475
  } else n && h.includes(".json") && (a.jsonRequested = h, a.tileLoader.get(a.abortController, a.uuid, h, async (f) => {
4478
4476
  a.deleted || (f.rootPath = (void 0)(h), a.json.children.push(f), i == null ? delete a.json.content : a.json.contents.splice(i, 1), a.hasUnloadedJSONContent--);
@@ -4484,7 +4482,7 @@ class FA extends j.Object3D {
4484
4482
  e.meshContent.forEach((t) => {
4485
4483
  t && t.asset && t.asset.copyright && (t.asset.copyright.split(";").forEach((a) => {
4486
4484
  Ie[a] && Ie[a]--;
4487
- }), e.displayCopyright && Vt());
4485
+ }), e.displayCopyright && Jt());
4488
4486
  }), e.meshContent = [], e.bbox && e.bbox.dispose(), e.childrenTiles.forEach((t) => t.dispose()), e.deleted = !0, e.splatsMesh && (e.meshContent.forEach((t) => t.hide()), e.parentTile || e.splatsMesh.dispose()), e.contentURL && (e.contentURL.forEach((t) => {
4489
4487
  e.tileLoader.invalidate(t, e.uuid);
4490
4488
  }), e.contentURL = []), e.abortController && e.abortController.abort("tile not needed"), this.parent = null, this.dispatchEvent({ type: "removed" });
@@ -4497,7 +4495,7 @@ class FA extends j.Object3D {
4497
4495
  const a = e.meshContent[t];
4498
4496
  a && a.asset && a.asset.copyright && (a.asset.copyright.split(";").forEach((A) => {
4499
4497
  Ie[A] && Ie[A]--;
4500
- }), e.displayCopyright && Vt()), e.remove(a);
4498
+ }), e.displayCopyright && Jt()), e.remove(a);
4501
4499
  }
4502
4500
  e.splatsMesh && e.meshContent.forEach((t) => t.hide()), e.meshContent = [], e.contentURL.forEach((t) => {
4503
4501
  e.tileLoader.invalidate(t, e.uuid);
@@ -4512,17 +4510,17 @@ class FA extends j.Object3D {
4512
4510
  }
4513
4511
  raycast(e, t) {
4514
4512
  if (this.splatsMesh) {
4515
- Et.copy(e.ray), Qt.copy(this.matrixWorld).invert(), Et.applyMatrix4(Qt);
4513
+ Bt.copy(e.ray), mt.copy(this.matrixWorld).invert(), Bt.applyMatrix4(mt);
4516
4514
  let a = !1;
4517
- if (this.boundingVolume instanceof Re) a = this.boundingVolume.intersectsRay(Et);
4515
+ if (this.boundingVolume instanceof Re) a = this.boundingVolume.intersectsRay(Bt);
4518
4516
  else {
4519
4517
  if (!(this.boundingVolume instanceof j.Sphere)) return !1;
4520
4518
  a = ray.intersectsSphere(this.boundingVolume);
4521
4519
  }
4522
- return a && this.materialVisibility && this.splatsReady && (yt.length = 0, this.meshContent.forEach((A) => {
4523
- A.isSplatsBatch && (A.raycast(Et, yt, e.params.Points.threshold), yt.forEach((s) => {
4520
+ return a && this.materialVisibility && this.splatsReady && (Ct.length = 0, this.meshContent.forEach((A) => {
4521
+ A.isSplatsBatch && (A.raycast(Bt, Ct, e.params.Points.threshold), Ct.forEach((s) => {
4524
4522
  s.point.applyMatrix4(this.matrixWorld);
4525
- }), t.push(...yt));
4523
+ }), t.push(...Ct));
4526
4524
  })), a;
4527
4525
  }
4528
4526
  return super.raycast(e, t);
@@ -4531,7 +4529,7 @@ class FA extends j.Object3D {
4531
4529
  const t = new j.Frustum();
4532
4530
  t.setFromProjectionMatrix(new j.Matrix4().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse));
4533
4531
  let a = [0], A = [0], s = [0], i = [0];
4534
- return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, t), this._statsImmediate(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)), a > 0 && (i[0] /= a[0]), this.splatsMesh && (zt.copy(e.position), Qt.copy(this.matrixWorld).invert(), zt.applyMatrix4(Qt), this.splatsMesh.sort(zt)), { numTilesLoaded: a[0], numTilesRendered: A[0], maxLOD: s[0], percentageLoaded: i[0] };
4532
+ return this.refine == "REPLACE" ? this.loadingStrategy === "IMMEDIATE" ? (this._updateImmediate(e, t), this._statsImmediate(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)) : (this._update(e, t), this._stats(s, a, i, A)), a > 0 && (i[0] /= a[0]), this.splatsMesh && (qt.copy(e.position), mt.copy(this.matrixWorld).invert(), qt.applyMatrix4(mt), this.splatsMesh.sort(qt)), { numTilesLoaded: a[0], numTilesRendered: A[0], maxLOD: s[0], percentageLoaded: i[0] };
4535
4533
  }
4536
4534
  _updateImmediate(e, t) {
4537
4535
  this._computeMetricRecursive(e, t), this._updateNodeVisibilityImmediate(), this._expandTreeImmediate(e), this.shouldBeVisible = this.metric > 0 || !!this.loadOutsideView, this._shouldBeVisibleUpdateImmediate(), this._trimTreeImmediate(), this._loadMeshImmediate();
@@ -4649,7 +4647,7 @@ class FA extends j.Object3D {
4649
4647
  const t = this;
4650
4648
  for (let a = t.json.children.length - 1; a >= 0; a--) t.json.children[a].root || t.json.children[a].children || t.json.children[a].getChildren || t.json.children[a].content || t.json.children[a].contents || t.json.children.splice(a, 1);
4651
4649
  t.json.children.forEach((a) => {
4652
- let A = new FA({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefine: t.refine, json: a, rootPath: t.rootPath, geometricErrorMultiplier: t.geometricErrorMultiplier, loadOutsideView: t.loadOutsideView, level: Math.floor(t.level) + 1, tileLoader: t.tileLoader, cameraOnLoad: e, occlusionCullingService: t.occlusionCullingService, renderer: t.renderer, static: t.static, centerModel: !1, displayErrors: t.displayErrors, displayCopyright: t.displayCopyright, distanceBias: t.distanceBias, loadingStrategy: t.loadingStrategy, drawBoundingVolume: t.drawBoundingVolume, splatsMesh: t.splatsMesh });
4650
+ let A = new SA({ parentTile: t, queryParams: t.queryParams, parentGeometricError: t.geometricError, parentBoundingVolume: t.boundingVolume, parentRefine: t.refine, json: a, rootPath: t.rootPath, geometricErrorMultiplier: t.geometricErrorMultiplier, loadOutsideView: t.loadOutsideView, level: Math.floor(t.level) + 1, tileLoader: t.tileLoader, cameraOnLoad: e, occlusionCullingService: t.occlusionCullingService, renderer: t.renderer, static: t.static, centerModel: !1, displayErrors: t.displayErrors, displayCopyright: t.displayCopyright, distanceBias: t.distanceBias, loadingStrategy: t.loadingStrategy, drawBoundingVolume: t.drawBoundingVolume, splatsMesh: t.splatsMesh });
4653
4651
  t.childrenTiles.push(A), t.add(A);
4654
4652
  }), t.updateMatrices(!0);
4655
4653
  }
@@ -4746,26 +4744,26 @@ class FA extends j.Object3D {
4746
4744
  A.set(b, g, f);
4747
4745
  }
4748
4746
  }
4749
- function Xa(o) {
4747
+ function Wa(o) {
4750
4748
  var e = document.createElement("div");
4751
4749
  e.textContent = o, 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() {
4752
4750
  e.remove();
4753
4751
  }, 8e3);
4754
4752
  }
4755
- function Vt() {
4753
+ function Jt() {
4756
4754
  fe || ((fe = document.createElement("div")).style.position = "fixed", fe.style.bottom = "20px", fe.style.left = "20px", fe.style.color = "white", fe.style.textShadow = "2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000", fe.style.padding = "10px", fe.style.backgroundColor = "rgba(0, 0, 0, 0.1)", document.body.appendChild(fe));
4757
- const o = Ks();
4755
+ const o = Ns();
4758
4756
  let e = "";
4759
4757
  o.forEach((t) => {
4760
4758
  e += t + ", ";
4761
4759
  }), e = e.slice(0, -2), fe.textContent = e;
4762
4760
  }
4763
- const se = new j.Sphere(new j.Vector3(0, 0, 0), 1), _e = new j.Vector3(0, 0, 0), Yt = new j.Vector3(0, 0, 0), zs = new j.Vector3(0, 1, 0), Wt = new j.Vector2(), Za = new j.Quaternion(), $a = new j.Matrix4();
4764
- class ga extends j.Object3D {
4761
+ const se = new j.Sphere(new j.Vector3(0, 0, 0), 1), _e = new j.Vector3(0, 0, 0), Kt = new j.Vector3(0, 0, 0), _s = new j.Vector3(0, 1, 0), zt = new j.Vector2(), Xa = new j.Quaternion(), Za = new j.Matrix4();
4762
+ class ba extends j.Object3D {
4765
4763
  constructor(e) {
4766
4764
  super();
4767
4765
  const t = this;
4768
- if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = dA(), 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), t.setup(e);
4766
+ if (e.queryParams && (this.queryParams = { ...e.queryParams }), this.uuid = cA(), 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), t.setup(e);
4769
4767
  else if (e.url) {
4770
4768
  this.loadJson = (s, i) => {
4771
4769
  const n = (void 0)(i);
@@ -4787,7 +4785,7 @@ class ga extends j.Object3D {
4787
4785
  if (t.json.transform && !t.centerModel && (a.elements = t.json.transform), t.applyMatrix4(a), t.parentTile && t.parentTile.matrix && (t.matrix.premultiply(t.parentTile.matrix), t.matrix.decompose(t.position, t.quaternion, t.scale)), t.matrixWorldNeedsUpdate = !0, t.updateWorldMatrix(!0, !0), t.json.boundingVolume) if (t.json.boundingVolume.box) t.boundingVolume = new Re(t.json.boundingVolume.box);
4788
4786
  else if (t.json.boundingVolume.region) {
4789
4787
  const s = t.json.boundingVolume.region;
4790
- t.transformWGS84ToCartesian(s[0], s[1], s[4], _e), t.transformWGS84ToCartesian(s[2], s[3], s[5], Yt), _e.lerp(Yt, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(_e.x, _e.y, _e.z), _e.distanceTo(Yt));
4788
+ t.transformWGS84ToCartesian(s[0], s[1], s[4], _e), t.transformWGS84ToCartesian(s[2], s[3], s[5], Kt), _e.lerp(Kt, 0.5), t.boundingVolume = new j.Sphere(new j.Vector3(_e.x, _e.y, _e.z), _e.distanceTo(Kt));
4791
4789
  } else if (t.json.boundingVolume.sphere) {
4792
4790
  const s = t.json.boundingVolume.sphere;
4793
4791
  t.boundingVolume = new j.Sphere(new j.Vector3(s[0], s[1], s[2]), s[3]);
@@ -4798,7 +4796,7 @@ class ga extends j.Object3D {
4798
4796
  }
4799
4797
  if (t.json.content ? (A(t.json.content), t.load()) : t.json.contents && (t.json.contents.forEach((s) => A(s)), t.load()), t.centerModel) {
4800
4798
  const s = new j.Sphere();
4801
- t.boundingVolume instanceof Re ? s.copy(t.boundingVolume.sphere) : t.boundingVolume instanceof j.Sphere && s.copy(t.boundingVolume), this.json.boundingVolume.region && (t.transformWGS84ToCartesian(0.5 * (t.json.boundingVolume.region[0] + t.json.boundingVolume.region[2]), 0.5 * (t.json.boundingVolume.region[1] + t.json.boundingVolume.region[3]), 0.5 * (t.json.boundingVolume.region[4] + t.json.boundingVolume.region[5]), _e), Za.setFromUnitVectors(_e.normalize(), zs.normalize()), t.master.applyQuaternion(Za), t.master.updateWorldMatrix(!1, !1)), $a.makeTranslation(-s.center.x * t.scale.x, -s.center.y * t.scale.y, -s.center.z * t.scale.z), t.master.matrix.multiply($a), t.master.matrix.decompose(t.master.position, t.master.quaternion, t.master.scale);
4799
+ t.boundingVolume instanceof Re ? s.copy(t.boundingVolume.sphere) : t.boundingVolume instanceof j.Sphere && s.copy(t.boundingVolume), this.json.boundingVolume.region && (t.transformWGS84ToCartesian(0.5 * (t.json.boundingVolume.region[0] + t.json.boundingVolume.region[2]), 0.5 * (t.json.boundingVolume.region[1] + t.json.boundingVolume.region[3]), 0.5 * (t.json.boundingVolume.region[4] + t.json.boundingVolume.region[5]), _e), Xa.setFromUnitVectors(_e.normalize(), _s.normalize()), t.master.applyQuaternion(Xa), t.master.updateWorldMatrix(!1, !1)), Za.makeTranslation(-s.center.x * t.scale.x, -s.center.y * t.scale.y, -s.center.z * t.scale.z), t.master.matrix.multiply(Za), t.master.matrix.decompose(t.master.position, t.master.quaternion, t.master.scale);
4802
4800
  }
4803
4801
  t.isSetup = !0, e.onLoadCallback && e.onLoadCallback(t);
4804
4802
  }
@@ -4868,7 +4866,7 @@ class ga extends j.Object3D {
4868
4866
  a.isSetup && (a.materialVisibility, a.boundingVolume && a.geometricError && (a.metric = a.calculateUpdateMetric(e, t)), a.childrenTiles.forEach((s) => s._update(e, t)), A(a.metric), function(s) {
4869
4867
  s < 0 && a.hasMeshContent || (!a.hasMeshContent && a.rootPath || s < a.master.geometricErrorMultiplier * a.geometricError && a.meshContent.size > 0) && a.json && a.jsonChildren && a.childrenTiles.length != a.jsonChildren.length && a.jsonChildren.forEach((i) => {
4870
4868
  if (!(i.root || i.children || i.getChildren || i.content || i.contents)) return;
4871
- let n = new ga({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefinement: a.refinement, json: i, rootPath: a.rootPath, loadOutsideView: a.loadOutsideView, level: a.level + 1, tileLoader: a.tileLoader, cameraOnLoad: e, master: a.master, centerModel: !1 });
4869
+ let n = new ba({ parentTile: a, queryParams: a.queryParams, parentGeometricError: a.geometricError, parentBoundingVolume: a.boundingVolume, parentRefinement: a.refinement, json: i, rootPath: a.rootPath, loadOutsideView: a.loadOutsideView, level: a.level + 1, tileLoader: a.tileLoader, cameraOnLoad: e, master: a.master, centerModel: !1 });
4872
4870
  a.childrenTiles.push(n);
4873
4871
  });
4874
4872
  }(a.metric), function(s) {
@@ -4914,9 +4912,9 @@ class ga extends j.Object3D {
4914
4912
  let a = Math.max(0, e.position.distanceTo(se.center) - se.radius);
4915
4913
  if (a = Math.pow(a, this.distanceBias), a == 0) return 0;
4916
4914
  const A = this.matrixWorld.getMaxScaleOnAxis();
4917
- this.master._renderSize(Wt);
4918
- let s = Wt.y, i = e.fov;
4919
- e.aspect < 1 && (i *= e.aspect, s = Wt.x);
4915
+ this.master._renderSize(zt);
4916
+ let s = zt.y, i = e.fov;
4917
+ e.aspect < 1 && (i *= e.aspect, s = zt.x);
4920
4918
  let n = 2 * Math.tan(0.5 * i * 0.017453292519943295) * a;
4921
4919
  return 16 * window.devicePixelRatio * n / (s * A);
4922
4920
  }
@@ -4943,9 +4941,9 @@ class ga extends j.Object3D {
4943
4941
  A.set(b, g, f);
4944
4942
  }
4945
4943
  }
4946
- class er extends j.Object3D {
4944
+ class zs extends j.Object3D {
4947
4945
  constructor(e) {
4948
- super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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;
4946
+ super(), e.master = this, e.domWidth && e.domHeight ? this.rendererSize = new j.Vector2(e.domWidth, e.domHeight) : this.rendererSize = new j.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 ba(e), e.static && (this.matrixAutoUpdate = !1), this.tileLoader = e.tileLoader;
4949
4947
  }
4950
4948
  _renderSize(e) {
4951
4949
  this.renderer ? this.renderer.getDrawingBufferSize(e) : e.copy(this.rendererSize);
@@ -4964,7 +4962,7 @@ class er extends j.Object3D {
4964
4962
  this.geometricErrorMultiplier = e || 1;
4965
4963
  }
4966
4964
  }
4967
- class Vs {
4965
+ class Ps {
4968
4966
  constructor(e) {
4969
4967
  const t = this;
4970
4968
  t.scene = e, t.instancedTiles = [], t.instancedMesh, t.reuseableMatrix = new j.Matrix4();
@@ -5005,7 +5003,7 @@ class Vs {
5005
5003
  }), e.instancedMesh.dispose(), !0);
5006
5004
  }
5007
5005
  }
5008
- class Ys {
5006
+ class Os {
5009
5007
  constructor() {
5010
5008
  const e = this;
5011
5009
  e.count = 0, e.json, e.instancedTiles = [];
@@ -5030,11 +5028,11 @@ class Ys {
5030
5028
  }
5031
5029
  }
5032
5030
  let Ve = 0;
5033
- class tr {
5031
+ class Vs {
5034
5032
  constructor(e, t) {
5035
- if (this.zUpToYUpMatrix = new j.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 = t.proxy, t && (this.meshCallback = t.meshCallback, this.pointsCallback = t.pointsCallback, t.maxCachedItems && (this.maxCachedItems = t.maxCachedItems), t.maxInstances && (this.maxInstances = t.maxInstances)), this.gltfLoader = new hA(), t && t.dracoLoader) this.gltfLoader.setDRACOLoader(t.dracoLoader), this.hasDracoLoader = !0;
5033
+ if (this.zUpToYUpMatrix = new j.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 = t.proxy, t && (this.meshCallback = t.meshCallback, this.pointsCallback = t.pointsCallback, t.maxCachedItems && (this.maxCachedItems = t.maxCachedItems), t.maxInstances && (this.maxInstances = t.maxInstances)), this.gltfLoader = new dA(), t && t.dracoLoader) this.gltfLoader.setDRACOLoader(t.dracoLoader), this.hasDracoLoader = !0;
5036
5034
  else {
5037
- const a = new gA();
5035
+ const a = new bA();
5038
5036
  a.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"), this.gltfLoader.setDRACOLoader(a), this.gltfLoader.hasDracoLoader = !0;
5039
5037
  }
5040
5038
  if (t && t.ktx2Loader) this.gltfLoader.setKTX2Loader(t.ktx2Loader), this.hasKTX2Loader = !0;
@@ -5042,7 +5040,7 @@ class tr {
5042
5040
  const a = new re();
5043
5041
  a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(t.renderer), this.gltfLoader.setKTX2Loader(a), this.gltfLoader.hasKTX2Loader = !0;
5044
5042
  }
5045
- this.gltfLoader.setMeshoptDecoder(RA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new cA(this.gltfLoader), this.cache = new nA.LinkedHashMap(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
5043
+ this.gltfLoader.setMeshoptDecoder(jA), this.hasMeshOptDecoder = !0, this.b3dmDecoder = new oA(this.gltfLoader), this.cache = new rA.LinkedHashMap(), this.scene = e, this.ready = [], this.downloads = [], this.nextReady = [], this.nextDownloads = [];
5046
5044
  }
5047
5045
  update() {
5048
5046
  const e = this;
@@ -5068,7 +5066,7 @@ class tr {
5068
5066
  if (!A.ok) throw new Error("missing content");
5069
5067
  return A.arrayBuffer();
5070
5068
  }).then(async (A) => {
5071
- await Ws(this.gltfLoader), this.gltfLoader.parse(A, null, (s) => {
5069
+ await Hs(this.gltfLoader), this.gltfLoader.parse(A, null, (s) => {
5072
5070
  let i;
5073
5071
  s.scene.asset = s.asset, a.sceneZupToYup && s.scene.applyMatrix4(this.zUpToYUpMatrix), s.scene.traverse((n) => {
5074
5072
  n.geometricError = a.geometricError, n.isMesh && (a.meshZupToYup && n.applyMatrix4(this.zUpToYUpMatrix), e.meshCallback && e.meshCallback(n, n.geometricError)), n.isPoints && console.error("instanced point cloud is not supported");
@@ -5088,7 +5086,7 @@ class tr {
5088
5086
  t = e.proxy ? () => fetch(e.proxy, { method: "POST", body: a.path }) : () => fetch(a.path), Ve++, t().then((A) => {
5089
5087
  if (!A.ok) throw console.error("could not load tile with path : " + a.path), new Error(`couldn't load "${a.path}". Request failed with status ${A.status} : ${A.statusText}`);
5090
5088
  return A.json();
5091
- }).then((A) => ba(A, a.path)).then((A) => {
5089
+ }).then((A) => la(A, a.path)).then((A) => {
5092
5090
  a.tile.setObject(A, a.path), e.ready.unshift(a);
5093
5091
  }).catch((A) => console.error(A)).finally(() => {
5094
5092
  Ve--;
@@ -5131,14 +5129,14 @@ class tr {
5131
5129
  const I = g.cache.get(f);
5132
5130
  if (I) I.addInstance(A);
5133
5131
  else if (t.includes(".b3dm") || t.includes(".glb") || t.includes(".gltf")) {
5134
- const u = new Vs(g.scene);
5132
+ const u = new Ps(g.scene);
5135
5133
  u.addInstance(A), g.cache.put(f, u);
5136
5134
  const p = new AbortController();
5137
5135
  e.signal.addEventListener("abort", () => {
5138
5136
  u.getCount() == 0 && p.abort();
5139
5137
  }), this.downloads.push({ abortController: p, tile: u, key: f, path: t, distanceFunction: s, getSiblings: i, level: n, uuid: a, sceneZupToYup: l, meshZupToYup: h, geometricError: b, shouldDoDownload: () => !0 });
5140
5138
  } else if (t.includes(".json")) {
5141
- const u = new Ys();
5139
+ const u = new Os();
5142
5140
  u.addInstance(A), g.cache.put(f, u);
5143
5141
  const p = new AbortController();
5144
5142
  e.signal.addEventListener("abort", () => {
@@ -5175,7 +5173,7 @@ class tr {
5175
5173
  }
5176
5174
  }
5177
5175
  }
5178
- async function Ws(o) {
5176
+ async function Hs(o) {
5179
5177
  return new Promise((e) => {
5180
5178
  const t = setInterval(() => {
5181
5179
  o.hasDracoLoader && !o.dracoLoader || o.hasKTX2Loader && !o.ktx2Loader || (clearInterval(t), e());
@@ -5183,11 +5181,11 @@ async function Ws(o) {
5183
5181
  });
5184
5182
  }
5185
5183
  export {
5186
- er as InstancedOGC3DTile,
5187
- tr as InstancedTileLoader,
5188
- FA as OGC3DTile,
5189
- $s as OcclusionCullingService,
5190
- Ns as TileLoader,
5191
- Ks as getOGC3DTilesCopyrightInfo
5184
+ zs as InstancedOGC3DTile,
5185
+ Vs as InstancedTileLoader,
5186
+ SA as OGC3DTile,
5187
+ Ks as OcclusionCullingService,
5188
+ vs as TileLoader,
5189
+ Ns as getOGC3DTilesCopyrightInfo
5192
5190
  };
5193
5191
  //# sourceMappingURL=threedtiles.es.js.map