@vctrl/hooks 0.9.4 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GLTFExporter-BmLF430n.cjs +18 -0
- package/{GLTFExporter-Q5UJ5eb1.js → GLTFExporter-C4hCeb4H.js} +30 -32
- package/index.cjs.js +1 -1
- package/index.es.js +3 -3
- package/{model-context-Du5WQddA.cjs → model-context-CQJta_vi.cjs} +5 -5
- package/{model-context-fEKN9ymq.js → model-context-D1Q8WdpT.js} +159 -171
- package/package.json +2 -2
- package/use-export-model-AFharGg5.js +77 -0
- package/use-export-model-CWcKp4A3.cjs +1 -0
- package/use-export-model.cjs.js +1 -1
- package/use-export-model.es.js +1 -1
- package/use-load-model.cjs.js +1 -1
- package/use-load-model.es.js +1 -1
- package/{use-optimize-model-EEn8K4nu.cjs → use-optimize-model-Cqkp__Vi.cjs} +1 -1
- package/{use-optimize-model-BXWR9d6e.js → use-optimize-model-DZWIb_40.js} +1 -1
- package/use-optimize-model.cjs.js +1 -1
- package/use-optimize-model.es.js +1 -1
- package/GLTFExporter-ltc8rmzz.cjs +0 -18
- package/use-export-model-BfzYIkcD.cjs +0 -1
- package/use-export-model-ccF7tK6m.js +0 -76
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as Bt } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback as z, useRef as Ct, useReducer as bt, useEffect as lt, createContext as ft, useContext as Et } from "react";
|
|
3
|
-
import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA,
|
|
3
|
+
import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, MeshPhysicalMaterial as W, Vector2 as SA, Color as rA, LinearSRGBColorSpace as Y, SRGBColorSpace as AA, SpotLight as dt, PointLight as ht, DirectionalLight as pt, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as ie, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearMipmapLinearFilter as se, NearestMipmapLinearFilter as Rt, LinearMipmapNearestFilter as Ft, NearestMipmapNearestFilter as St, LinearFilter as GA, NearestFilter as yt, RepeatWrapping as xA, MirroredRepeatWrapping as Le, ClampToEdgeWrapping as Me, PointsMaterial as Gt, Material as UA, LineBasicMaterial as xt, MeshStandardMaterial as Ue, DoubleSide as Tt, MeshBasicMaterial as hA, PropertyBinding as Lt, BufferGeometry as ne, SkinnedMesh as Mt, Mesh as Ne, LineSegments as Ut, Line as Nt, LineLoop as _t, Points as qt, Group as kA, PerspectiveCamera as Ht, MathUtils as Ot, OrthographicCamera as vt, Skeleton as Jt, AnimationClip as jt, Bone as Kt, InterpolateDiscrete as Pt, InterpolateLinear as _e, Texture as le, VectorKeyframeTrack as fe, NumberKeyframeTrack as Ee, QuaternionKeyframeTrack as Qe, ColorManagement as de, FrontSide as Yt, Interpolant as Wt, Box3 as Vt, Sphere as zt, CompressedCubeTexture as Xt, UnsignedByteType as K, CompressedArrayTexture as Zt, CompressedTexture as qe, DisplayP3ColorSpace as $t, LinearDisplayP3ColorSpace as Aa, NoColorSpace as oA, RGBA_ASTC_6x6_Format as he, RedFormat as pA, RGFormat as uA, RGBAFormat as bA, HalfFloatType as RA, FloatType as FA, DataTexture as ea, Data3DTexture as ta, RGBA_S3TC_DXT1_Format as aa, RGB_PVRTC_4BPPV1_Format as ia, RGB_ETC2_Format as sa, RGB_ETC1_Format as na, RGBA_S3TC_DXT5_Format as oa, RGBA_PVRTC_4BPPV1_Format as ra, RGBA_ETC2_EAC_Format as ca, RGBA_BPTC_Format as ga, RGBA_ASTC_4x4_Format as Ia, WebGLRenderer as Ba } from "three";
|
|
4
4
|
const BA = {}, V = {
|
|
5
5
|
emit(n, A) {
|
|
6
6
|
const e = BA[n];
|
|
@@ -120,13 +120,13 @@ class la extends TA {
|
|
|
120
120
|
}), this.register(function(e) {
|
|
121
121
|
return new da(e);
|
|
122
122
|
}), this.register(function(e) {
|
|
123
|
-
return new
|
|
123
|
+
return new Ra(e);
|
|
124
124
|
}), this.register(function(e) {
|
|
125
125
|
return new ua(e);
|
|
126
126
|
}), this.register(function(e) {
|
|
127
127
|
return new Sa(e);
|
|
128
128
|
}), this.register(function(e) {
|
|
129
|
-
return new
|
|
129
|
+
return new Fa(e);
|
|
130
130
|
}), this.register(function(e) {
|
|
131
131
|
return new Ea(e);
|
|
132
132
|
}), this.register(function(e) {
|
|
@@ -222,10 +222,10 @@ class la extends TA {
|
|
|
222
222
|
s[g] = new Qa();
|
|
223
223
|
break;
|
|
224
224
|
case y.KHR_DRACO_MESH_COMPRESSION:
|
|
225
|
-
s[g] = new
|
|
225
|
+
s[g] = new Ua(i, this.dracoLoader);
|
|
226
226
|
break;
|
|
227
227
|
case y.KHR_TEXTURE_TRANSFORM:
|
|
228
|
-
s[g] = new
|
|
228
|
+
s[g] = new Na();
|
|
229
229
|
break;
|
|
230
230
|
case y.KHR_MESH_QUANTIZATION:
|
|
231
231
|
s[g] = new _a();
|
|
@@ -487,7 +487,7 @@ class ka {
|
|
|
487
487
|
return e.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
|
|
488
488
|
}
|
|
489
489
|
}
|
|
490
|
-
class
|
|
490
|
+
class Ra {
|
|
491
491
|
constructor(A) {
|
|
492
492
|
this.parser = A, this.name = y.KHR_MATERIALS_SPECULAR;
|
|
493
493
|
}
|
|
@@ -505,7 +505,7 @@ class Fa {
|
|
|
505
505
|
return e.specularColor = new rA().setRGB(o[0], o[1], o[2], Y), s.specularColorTexture !== void 0 && i.push(a.assignTexture(e, "specularColorMap", s.specularColorTexture, AA)), Promise.all(i);
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
|
-
class
|
|
508
|
+
class Fa {
|
|
509
509
|
constructor(A) {
|
|
510
510
|
this.parser = A, this.name = y.EXT_MATERIALS_BUMP;
|
|
511
511
|
}
|
|
@@ -704,7 +704,7 @@ class Ma {
|
|
|
704
704
|
throw new Error("THREE.GLTFLoader: JSON content not found.");
|
|
705
705
|
}
|
|
706
706
|
}
|
|
707
|
-
class
|
|
707
|
+
class Ua {
|
|
708
708
|
constructor(A, e) {
|
|
709
709
|
if (!e)
|
|
710
710
|
throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
|
|
@@ -736,7 +736,7 @@ class Na {
|
|
|
736
736
|
});
|
|
737
737
|
}
|
|
738
738
|
}
|
|
739
|
-
class
|
|
739
|
+
class Na {
|
|
740
740
|
constructor() {
|
|
741
741
|
this.name = y.KHR_TEXTURE_TRANSFORM;
|
|
742
742
|
}
|
|
@@ -749,7 +749,7 @@ class _a {
|
|
|
749
749
|
this.name = y.KHR_MESH_QUANTIZATION;
|
|
750
750
|
}
|
|
751
751
|
}
|
|
752
|
-
class ve extends
|
|
752
|
+
class ve extends Wt {
|
|
753
753
|
constructor(A, e, a, t) {
|
|
754
754
|
super(A, e, a, t);
|
|
755
755
|
}
|
|
@@ -762,8 +762,8 @@ class ve extends zt {
|
|
|
762
762
|
interpolate_(A, e, a, t) {
|
|
763
763
|
const i = this.resultBuffer, s = this.sampleValues, o = this.valueSize, r = o * 2, c = o * 3, I = t - e, g = (a - e) / I, B = g * g, C = B * g, f = A * c, d = f - c, p = -2 * C + 3 * B, E = C - B, l = 1 - p, h = E - B + g;
|
|
764
764
|
for (let u = 0; u !== o; u++) {
|
|
765
|
-
const k = s[d + u + o],
|
|
766
|
-
i[u] = l * k + h *
|
|
765
|
+
const k = s[d + u + o], F = s[d + u + r] * I, G = s[f + u + o], M = s[f + u] * I;
|
|
766
|
+
i[u] = l * k + h * F + p * G + E * M;
|
|
767
767
|
}
|
|
768
768
|
return i;
|
|
769
769
|
}
|
|
@@ -776,25 +776,13 @@ class Ha extends ve {
|
|
|
776
776
|
}
|
|
777
777
|
}
|
|
778
778
|
const O = {
|
|
779
|
-
FLOAT: 5126,
|
|
780
|
-
//FLOAT_MAT2: 35674,
|
|
781
|
-
FLOAT_MAT3: 35675,
|
|
782
|
-
FLOAT_MAT4: 35676,
|
|
783
|
-
FLOAT_VEC2: 35664,
|
|
784
|
-
FLOAT_VEC3: 35665,
|
|
785
|
-
FLOAT_VEC4: 35666,
|
|
786
|
-
LINEAR: 9729,
|
|
787
|
-
REPEAT: 10497,
|
|
788
|
-
SAMPLER_2D: 35678,
|
|
789
779
|
POINTS: 0,
|
|
790
780
|
LINES: 1,
|
|
791
781
|
LINE_LOOP: 2,
|
|
792
782
|
LINE_STRIP: 3,
|
|
793
783
|
TRIANGLES: 4,
|
|
794
784
|
TRIANGLE_STRIP: 5,
|
|
795
|
-
TRIANGLE_FAN: 6
|
|
796
|
-
UNSIGNED_BYTE: 5121,
|
|
797
|
-
UNSIGNED_SHORT: 5123
|
|
785
|
+
TRIANGLE_FAN: 6
|
|
798
786
|
}, fA = {
|
|
799
787
|
5120: Int8Array,
|
|
800
788
|
5121: Uint8Array,
|
|
@@ -803,17 +791,17 @@ const O = {
|
|
|
803
791
|
5125: Uint32Array,
|
|
804
792
|
5126: Float32Array
|
|
805
793
|
}, we = {
|
|
806
|
-
9728:
|
|
794
|
+
9728: yt,
|
|
807
795
|
9729: GA,
|
|
808
|
-
9984:
|
|
809
|
-
9985:
|
|
810
|
-
9986:
|
|
796
|
+
9984: St,
|
|
797
|
+
9985: Ft,
|
|
798
|
+
9986: Rt,
|
|
811
799
|
9987: se
|
|
812
800
|
}, De = {
|
|
813
|
-
33071:
|
|
814
|
-
33648:
|
|
801
|
+
33071: Me,
|
|
802
|
+
33648: Le,
|
|
815
803
|
10497: xA
|
|
816
|
-
},
|
|
804
|
+
}, NA = {
|
|
817
805
|
SCALAR: 1,
|
|
818
806
|
VEC2: 2,
|
|
819
807
|
VEC3: 3,
|
|
@@ -841,7 +829,7 @@ const O = {
|
|
|
841
829
|
CUBICSPLINE: void 0,
|
|
842
830
|
// We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
|
|
843
831
|
// keyframe track will be initialized with a default interpolation type, then modified.
|
|
844
|
-
LINEAR:
|
|
832
|
+
LINEAR: _e,
|
|
845
833
|
STEP: Pt
|
|
846
834
|
}, _A = {
|
|
847
835
|
OPAQUE: "OPAQUE",
|
|
@@ -849,7 +837,7 @@ const O = {
|
|
|
849
837
|
BLEND: "BLEND"
|
|
850
838
|
};
|
|
851
839
|
function va(n) {
|
|
852
|
-
return n.DefaultMaterial === void 0 && (n.DefaultMaterial = new
|
|
840
|
+
return n.DefaultMaterial === void 0 && (n.DefaultMaterial = new Ue({
|
|
853
841
|
color: 16777215,
|
|
854
842
|
emissive: 0,
|
|
855
843
|
metalness: 1,
|
|
@@ -1171,12 +1159,12 @@ class Wa {
|
|
|
1171
1159
|
loadAccessor(A) {
|
|
1172
1160
|
const e = this, a = this.json, t = this.json.accessors[A];
|
|
1173
1161
|
if (t.bufferView === void 0 && t.sparse === void 0) {
|
|
1174
|
-
const s =
|
|
1162
|
+
const s = NA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * s);
|
|
1175
1163
|
return Promise.resolve(new X(c, s, r));
|
|
1176
1164
|
}
|
|
1177
1165
|
const i = [];
|
|
1178
1166
|
return t.bufferView !== void 0 ? i.push(this.getDependency("bufferView", t.bufferView)) : i.push(null), t.sparse !== void 0 && (i.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(i).then(function(s) {
|
|
1179
|
-
const o = s[0], r =
|
|
1167
|
+
const o = s[0], r = NA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * r, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
|
|
1180
1168
|
let d, p;
|
|
1181
1169
|
if (C && C !== g) {
|
|
1182
1170
|
const E = Math.floor(B / C), l = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + E + ":" + t.count;
|
|
@@ -1185,11 +1173,11 @@ class Wa {
|
|
|
1185
1173
|
} else
|
|
1186
1174
|
o === null ? d = new c(t.count * r) : d = new c(o, B, t.count * r), p = new X(d, r, f);
|
|
1187
1175
|
if (t.sparse !== void 0) {
|
|
1188
|
-
const E =
|
|
1176
|
+
const E = NA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(s[1], h, t.sparse.count * E), F = new c(s[2], u, t.sparse.count * r);
|
|
1189
1177
|
o !== null && (p = new X(p.array.slice(), p.itemSize, p.normalized));
|
|
1190
1178
|
for (let G = 0, M = k.length; G < M; G++) {
|
|
1191
1179
|
const b = k[G];
|
|
1192
|
-
if (p.setX(b,
|
|
1180
|
+
if (p.setX(b, F[G * r]), r >= 2 && p.setY(b, F[G * r + 1]), r >= 3 && p.setZ(b, F[G * r + 2]), r >= 4 && p.setW(b, F[G * r + 3]), r >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
|
|
1193
1181
|
}
|
|
1194
1182
|
}
|
|
1195
1183
|
return p;
|
|
@@ -1240,7 +1228,7 @@ class Wa {
|
|
|
1240
1228
|
return new Promise(function(B, C) {
|
|
1241
1229
|
let f = B;
|
|
1242
1230
|
e.isImageBitmapLoader === !0 && (f = function(d) {
|
|
1243
|
-
const p = new
|
|
1231
|
+
const p = new le(d);
|
|
1244
1232
|
p.needsUpdate = !0, B(p);
|
|
1245
1233
|
}), e.load(mA.resolveURL(g, i.path), f, void 0, C);
|
|
1246
1234
|
});
|
|
@@ -1287,11 +1275,11 @@ class Wa {
|
|
|
1287
1275
|
if (A.isPoints) {
|
|
1288
1276
|
const o = "PointsMaterial:" + a.uuid;
|
|
1289
1277
|
let r = this.cache.get(o);
|
|
1290
|
-
r || (r = new
|
|
1278
|
+
r || (r = new Gt(), UA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, r.sizeAttenuation = !1, this.cache.add(o, r)), a = r;
|
|
1291
1279
|
} else if (A.isLine) {
|
|
1292
1280
|
const o = "LineBasicMaterial:" + a.uuid;
|
|
1293
1281
|
let r = this.cache.get(o);
|
|
1294
|
-
r || (r = new
|
|
1282
|
+
r || (r = new xt(), UA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, this.cache.add(o, r)), a = r;
|
|
1295
1283
|
}
|
|
1296
1284
|
if (t || i || s) {
|
|
1297
1285
|
let o = "ClonedMaterial:" + a.uuid + ":";
|
|
@@ -1302,7 +1290,7 @@ class Wa {
|
|
|
1302
1290
|
A.material = a;
|
|
1303
1291
|
}
|
|
1304
1292
|
getMaterialType() {
|
|
1305
|
-
return
|
|
1293
|
+
return Ue;
|
|
1306
1294
|
}
|
|
1307
1295
|
/**
|
|
1308
1296
|
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
|
|
@@ -1328,7 +1316,7 @@ class Wa {
|
|
|
1328
1316
|
return B.extendMaterialParams && B.extendMaterialParams(A, o);
|
|
1329
1317
|
})));
|
|
1330
1318
|
}
|
|
1331
|
-
i.doubleSided === !0 && (o.side =
|
|
1319
|
+
i.doubleSided === !0 && (o.side = Tt);
|
|
1332
1320
|
const I = i.alphaMode || _A.OPAQUE;
|
|
1333
1321
|
if (I === _A.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === _A.MASK && (o.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== hA && (c.push(e.assignTexture(o, "normalMap", i.normalTexture)), o.normalScale = new SA(1, 1), i.normalTexture.scale !== void 0)) {
|
|
1334
1322
|
const g = i.normalTexture.scale;
|
|
@@ -1345,7 +1333,7 @@ class Wa {
|
|
|
1345
1333
|
}
|
|
1346
1334
|
/** When Object3D instances are targeted by animation, they need unique names. */
|
|
1347
1335
|
createUniqueName(A) {
|
|
1348
|
-
const e =
|
|
1336
|
+
const e = Lt.sanitizeNodeName(A || "");
|
|
1349
1337
|
return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
|
|
1350
1338
|
}
|
|
1351
1339
|
/**
|
|
@@ -1393,15 +1381,15 @@ class Wa {
|
|
|
1393
1381
|
let E;
|
|
1394
1382
|
const l = c[C];
|
|
1395
1383
|
if (p.mode === O.TRIANGLES || p.mode === O.TRIANGLE_STRIP || p.mode === O.TRIANGLE_FAN || p.mode === void 0)
|
|
1396
|
-
E = i.isSkinnedMesh === !0 ? new
|
|
1384
|
+
E = i.isSkinnedMesh === !0 ? new Mt(d, l) : new Ne(d, l), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), p.mode === O.TRIANGLE_STRIP ? E.geometry = ue(E.geometry, Ge) : p.mode === O.TRIANGLE_FAN && (E.geometry = ue(E.geometry, XA));
|
|
1397
1385
|
else if (p.mode === O.LINES)
|
|
1398
|
-
E = new
|
|
1386
|
+
E = new Ut(d, l);
|
|
1399
1387
|
else if (p.mode === O.LINE_STRIP)
|
|
1400
|
-
E = new
|
|
1388
|
+
E = new Nt(d, l);
|
|
1401
1389
|
else if (p.mode === O.LINE_LOOP)
|
|
1402
|
-
E = new
|
|
1390
|
+
E = new _t(d, l);
|
|
1403
1391
|
else if (p.mode === O.POINTS)
|
|
1404
|
-
E = new
|
|
1392
|
+
E = new qt(d, l);
|
|
1405
1393
|
else
|
|
1406
1394
|
throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + p.mode);
|
|
1407
1395
|
Object.keys(E.geometry.morphAttributes).length > 0 && ja(E, i), E.name = e.createUniqueName(i.name || "mesh_" + A), tA(E, i), p.extensions && gA(t, E, p), e.assignFinalMaterial(E), g.push(E);
|
|
@@ -1432,7 +1420,7 @@ class Wa {
|
|
|
1432
1420
|
console.warn("THREE.GLTFLoader: Missing camera parameters.");
|
|
1433
1421
|
return;
|
|
1434
1422
|
}
|
|
1435
|
-
return a.type === "perspective" ? e = new
|
|
1423
|
+
return a.type === "perspective" ? e = new Ht(Ot.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : a.type === "orthographic" && (e = new vt(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), a.name && (e.name = this.createUniqueName(a.name)), tA(e, a), Promise.resolve(e);
|
|
1436
1424
|
}
|
|
1437
1425
|
/**
|
|
1438
1426
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
|
|
@@ -1454,7 +1442,7 @@ class Wa {
|
|
|
1454
1442
|
} else
|
|
1455
1443
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[c]);
|
|
1456
1444
|
}
|
|
1457
|
-
return new
|
|
1445
|
+
return new Jt(o, r);
|
|
1458
1446
|
});
|
|
1459
1447
|
}
|
|
1460
1448
|
/**
|
|
@@ -1477,15 +1465,15 @@ class Wa {
|
|
|
1477
1465
|
]).then(function(g) {
|
|
1478
1466
|
const B = g[0], C = g[1], f = g[2], d = g[3], p = g[4], E = [];
|
|
1479
1467
|
for (let l = 0, h = B.length; l < h; l++) {
|
|
1480
|
-
const u = B[l], k = C[l],
|
|
1468
|
+
const u = B[l], k = C[l], F = f[l], G = d[l], M = p[l];
|
|
1481
1469
|
if (u === void 0) continue;
|
|
1482
1470
|
u.updateMatrix && u.updateMatrix();
|
|
1483
|
-
const b = a._createAnimationTracks(u, k,
|
|
1471
|
+
const b = a._createAnimationTracks(u, k, F, G, M);
|
|
1484
1472
|
if (b)
|
|
1485
1473
|
for (let Q = 0; Q < b.length; Q++)
|
|
1486
1474
|
E.push(b[Q]);
|
|
1487
1475
|
}
|
|
1488
|
-
return new
|
|
1476
|
+
return new jt(i, void 0, E);
|
|
1489
1477
|
});
|
|
1490
1478
|
}
|
|
1491
1479
|
createNodeMesh(A) {
|
|
@@ -1540,7 +1528,7 @@ class Wa {
|
|
|
1540
1528
|
o.push(c);
|
|
1541
1529
|
}), this.nodeCache[A] = Promise.all(o).then(function(c) {
|
|
1542
1530
|
let I;
|
|
1543
|
-
if (i.isBone === !0 ? I = new
|
|
1531
|
+
if (i.isBone === !0 ? I = new Kt() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new ie(), I !== c[0])
|
|
1544
1532
|
for (let g = 0, B = c.length; g < B; g++)
|
|
1545
1533
|
I.add(c[g]);
|
|
1546
1534
|
if (i.name && (I.userData.name = i.name, I.name = s), tA(I, i), i.extensions && gA(a, I, i), i.matrix !== void 0) {
|
|
@@ -1568,7 +1556,7 @@ class Wa {
|
|
|
1568
1556
|
const c = (I) => {
|
|
1569
1557
|
const g = /* @__PURE__ */ new Map();
|
|
1570
1558
|
for (const [B, C] of t.associations)
|
|
1571
|
-
(B instanceof
|
|
1559
|
+
(B instanceof UA || B instanceof le) && g.set(B, C);
|
|
1572
1560
|
return I.traverse((B) => {
|
|
1573
1561
|
const C = t.associations.get(B);
|
|
1574
1562
|
C != null && g.set(B, C);
|
|
@@ -1585,29 +1573,29 @@ class Wa {
|
|
|
1585
1573
|
let c;
|
|
1586
1574
|
switch (sA[i.path]) {
|
|
1587
1575
|
case sA.weights:
|
|
1588
|
-
c =
|
|
1576
|
+
c = Ee;
|
|
1589
1577
|
break;
|
|
1590
1578
|
case sA.rotation:
|
|
1591
|
-
c =
|
|
1579
|
+
c = Qe;
|
|
1592
1580
|
break;
|
|
1593
1581
|
case sA.position:
|
|
1594
1582
|
case sA.scale:
|
|
1595
|
-
c =
|
|
1583
|
+
c = fe;
|
|
1596
1584
|
break;
|
|
1597
1585
|
default:
|
|
1598
1586
|
switch (a.itemSize) {
|
|
1599
1587
|
case 1:
|
|
1600
|
-
c =
|
|
1588
|
+
c = Ee;
|
|
1601
1589
|
break;
|
|
1602
1590
|
case 2:
|
|
1603
1591
|
case 3:
|
|
1604
1592
|
default:
|
|
1605
|
-
c =
|
|
1593
|
+
c = fe;
|
|
1606
1594
|
break;
|
|
1607
1595
|
}
|
|
1608
1596
|
break;
|
|
1609
1597
|
}
|
|
1610
|
-
const I = t.interpolation !== void 0 ? Oa[t.interpolation] :
|
|
1598
|
+
const I = t.interpolation !== void 0 ? Oa[t.interpolation] : _e, g = this._getArrayFromAccessor(a);
|
|
1611
1599
|
for (let B = 0, C = r.length; B < C; B++) {
|
|
1612
1600
|
const f = new c(
|
|
1613
1601
|
r[B] + "." + sA[i.path],
|
|
@@ -1631,13 +1619,13 @@ class Wa {
|
|
|
1631
1619
|
}
|
|
1632
1620
|
_createCubicSplineTrackInterpolant(A) {
|
|
1633
1621
|
A.createInterpolant = function(a) {
|
|
1634
|
-
const t = this instanceof
|
|
1622
|
+
const t = this instanceof Qe ? Ha : ve;
|
|
1635
1623
|
return new t(this.times, this.values, this.getValueSize() / 3, a);
|
|
1636
1624
|
}, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
|
|
1637
1625
|
}
|
|
1638
1626
|
}
|
|
1639
1627
|
function Va(n, A, e) {
|
|
1640
|
-
const a = A.attributes, t = new
|
|
1628
|
+
const a = A.attributes, t = new Vt();
|
|
1641
1629
|
if (a.POSITION !== void 0) {
|
|
1642
1630
|
const o = e.json.accessors[a.POSITION], r = o.min, c = o.max;
|
|
1643
1631
|
if (r !== void 0 && c !== void 0) {
|
|
@@ -1674,7 +1662,7 @@ function Va(n, A, e) {
|
|
|
1674
1662
|
t.expandByVector(o);
|
|
1675
1663
|
}
|
|
1676
1664
|
n.boundingBox = t;
|
|
1677
|
-
const s = new
|
|
1665
|
+
const s = new zt();
|
|
1678
1666
|
t.getCenter(s.center), s.radius = t.min.distanceTo(t.max) / 2, n.boundingSphere = s;
|
|
1679
1667
|
}
|
|
1680
1668
|
function ke(n, A, e) {
|
|
@@ -1694,7 +1682,7 @@ function ke(n, A, e) {
|
|
|
1694
1682
|
});
|
|
1695
1683
|
t.push(s);
|
|
1696
1684
|
}
|
|
1697
|
-
return
|
|
1685
|
+
return de.workingColorSpace !== Y && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${de.workingColorSpace}" not supported.`), tA(n, A), Va(n, A, e), Promise.all(t).then(function() {
|
|
1698
1686
|
return A.targets !== void 0 ? Ja(n, A.targets, e) : n;
|
|
1699
1687
|
});
|
|
1700
1688
|
}
|
|
@@ -1971,7 +1959,7 @@ class Za {
|
|
|
1971
1959
|
this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
|
|
1972
1960
|
}
|
|
1973
1961
|
}
|
|
1974
|
-
const $a = 0,
|
|
1962
|
+
const $a = 0, Re = 2, Ai = 1, Fe = 2, ei = 0, ti = 1, ai = 10, ii = 0, Je = 9, je = 15, Ke = 16, Pe = 22, Ye = 37, We = 43, Ve = 76, ze = 83, Xe = 97, Ze = 100, $e = 103, At = 109, et = 165, tt = 166;
|
|
1975
1963
|
class si {
|
|
1976
1964
|
constructor() {
|
|
1977
1965
|
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;
|
|
@@ -2011,35 +1999,35 @@ class dA {
|
|
|
2011
1999
|
return t < A && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + a, t);
|
|
2012
2000
|
}
|
|
2013
2001
|
}
|
|
2014
|
-
const
|
|
2002
|
+
const N = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
|
|
2015
2003
|
function Se(n) {
|
|
2016
2004
|
return typeof TextDecoder < "u" ? new TextDecoder().decode(n) : Buffer.from(n).toString("utf8");
|
|
2017
2005
|
}
|
|
2018
2006
|
function ni(n) {
|
|
2019
|
-
const A = new Uint8Array(n.buffer, n.byteOffset,
|
|
2020
|
-
if (A[0] !==
|
|
2021
|
-
const e = new si(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n,
|
|
2007
|
+
const A = new Uint8Array(n.buffer, n.byteOffset, N.length);
|
|
2008
|
+
if (A[0] !== N[0] || A[1] !== N[1] || A[2] !== N[2] || A[3] !== N[3] || A[4] !== N[4] || A[5] !== N[5] || A[6] !== N[6] || A[7] !== N[7] || A[8] !== N[8] || A[9] !== N[9] || A[10] !== N[10] || A[11] !== N[11]) throw new Error("Missing KTX 2.0 identifier.");
|
|
2009
|
+
const e = new si(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n, N.length, a, !0);
|
|
2022
2010
|
e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
|
|
2023
2011
|
const i = t._nextUint32();
|
|
2024
2012
|
e.supercompressionScheme = t._nextUint32();
|
|
2025
|
-
const s = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n,
|
|
2013
|
+
const s = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, N.length + a, 3 * i * 8, !0);
|
|
2026
2014
|
for (let T = 0; T < i; T++) e.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
|
|
2027
2015
|
const C = new dA(n, s, o, !0), f = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, d = (f.descriptorBlockSize / 4 - 6) / 4;
|
|
2028
2016
|
for (let T = 0; T < d; T++) {
|
|
2029
|
-
const
|
|
2030
|
-
64 &
|
|
2017
|
+
const U = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
|
|
2018
|
+
64 & U.channelType ? (U.sampleLower = C._nextInt32(), U.sampleUpper = C._nextInt32()) : (U.sampleLower = C._nextUint32(), U.sampleUpper = C._nextUint32()), f.samples[T] = U;
|
|
2031
2019
|
}
|
|
2032
2020
|
e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(f);
|
|
2033
2021
|
const p = new dA(n, r, c, !0);
|
|
2034
2022
|
for (; p._offset < c; ) {
|
|
2035
|
-
const T = p._nextUint32(),
|
|
2023
|
+
const T = p._nextUint32(), U = p._scan(T), _ = Se(U), J = p._scan(T - U.byteLength);
|
|
2036
2024
|
e.keyValue[_] = _.match(/^ktx/i) ? Se(J) : J, p._offset % 4 && p._skip(4 - p._offset % 4);
|
|
2037
2025
|
}
|
|
2038
2026
|
if (g <= 0) return e;
|
|
2039
|
-
const E = new dA(n, I, g, !0), l = E._nextUint16(), h = E._nextUint16(), u = E._nextUint32(), k = E._nextUint32(),
|
|
2027
|
+
const E = new dA(n, I, g, !0), l = E._nextUint16(), h = E._nextUint16(), u = E._nextUint32(), k = E._nextUint32(), F = E._nextUint32(), G = E._nextUint32(), M = [];
|
|
2040
2028
|
for (let T = 0; T < i; T++) M.push({ imageFlags: E._nextUint32(), rgbSliceByteOffset: E._nextUint32(), rgbSliceByteLength: E._nextUint32(), alphaSliceByteOffset: E._nextUint32(), alphaSliceByteLength: E._nextUint32() });
|
|
2041
|
-
const b = I + E._offset, Q = b + u, m = Q + k, D = m +
|
|
2042
|
-
return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData:
|
|
2029
|
+
const b = I + E._offset, Q = b + u, m = Q + k, D = m + F, w = new Uint8Array(n.buffer, n.byteOffset + b, u), S = new Uint8Array(n.buffer, n.byteOffset + Q, k), R = new Uint8Array(n.buffer, n.byteOffset + m, F), x = new Uint8Array(n.buffer, n.byteOffset + D, G);
|
|
2030
|
+
return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: R, extendedData: x }, e;
|
|
2043
2031
|
}
|
|
2044
2032
|
let OA, eA, Ae;
|
|
2045
2033
|
const vA = { env: { emscripten_notify_memory_growth: function(n) {
|
|
@@ -2198,15 +2186,15 @@ $.TranscoderFormat = {
|
|
|
2198
2186
|
};
|
|
2199
2187
|
$.EngineFormat = {
|
|
2200
2188
|
RGBAFormat: bA,
|
|
2201
|
-
RGBA_ASTC_4x4_Format:
|
|
2202
|
-
RGBA_BPTC_Format:
|
|
2203
|
-
RGBA_ETC2_EAC_Format:
|
|
2204
|
-
RGBA_PVRTC_4BPPV1_Format:
|
|
2205
|
-
RGBA_S3TC_DXT5_Format:
|
|
2206
|
-
RGB_ETC1_Format:
|
|
2189
|
+
RGBA_ASTC_4x4_Format: Ia,
|
|
2190
|
+
RGBA_BPTC_Format: ga,
|
|
2191
|
+
RGBA_ETC2_EAC_Format: ca,
|
|
2192
|
+
RGBA_PVRTC_4BPPV1_Format: ra,
|
|
2193
|
+
RGBA_S3TC_DXT5_Format: oa,
|
|
2194
|
+
RGB_ETC1_Format: na,
|
|
2207
2195
|
RGB_ETC2_Format: sa,
|
|
2208
|
-
RGB_PVRTC_4BPPV1_Format:
|
|
2209
|
-
RGBA_S3TC_DXT1_Format:
|
|
2196
|
+
RGB_PVRTC_4BPPV1_Format: ia,
|
|
2197
|
+
RGBA_S3TC_DXT1_Format: aa
|
|
2210
2198
|
};
|
|
2211
2199
|
$.BasisWorker = function() {
|
|
2212
2200
|
let n, A, e;
|
|
@@ -2220,8 +2208,8 @@ $.BasisWorker = function() {
|
|
|
2220
2208
|
case "transcode":
|
|
2221
2209
|
A.then(() => {
|
|
2222
2210
|
try {
|
|
2223
|
-
const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags:
|
|
2224
|
-
self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags:
|
|
2211
|
+
const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: F } = o(d.buffer);
|
|
2212
|
+
self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags: F }, E);
|
|
2225
2213
|
} catch (p) {
|
|
2226
2214
|
console.error(p), self.postMessage({ type: "error", id: d.id, error: p.message });
|
|
2227
2215
|
}
|
|
@@ -2243,27 +2231,27 @@ $.BasisWorker = function() {
|
|
|
2243
2231
|
}
|
|
2244
2232
|
if (!d.isValid())
|
|
2245
2233
|
throw p(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
|
|
2246
|
-
const E = d.isUASTC() ? i.UASTC_4x4 : i.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(),
|
|
2234
|
+
const E = d.isUASTC() ? i.UASTC_4x4 : i.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(), F = d.getFaces(), G = d.getHasAlpha(), M = d.getDFDFlags(), { transcoderFormat: b, engineFormat: Q } = g(E, l, h, G);
|
|
2247
2235
|
if (!l || !h || !k)
|
|
2248
2236
|
throw p(), new Error("THREE.KTX2Loader: Invalid texture");
|
|
2249
2237
|
if (!d.startTranscoding())
|
|
2250
2238
|
throw p(), new Error("THREE.KTX2Loader: .startTranscoding failed");
|
|
2251
2239
|
const m = [], D = [];
|
|
2252
|
-
for (let w = 0; w <
|
|
2240
|
+
for (let w = 0; w < F; w++) {
|
|
2253
2241
|
const S = [];
|
|
2254
|
-
for (let
|
|
2242
|
+
for (let R = 0; R < k; R++) {
|
|
2255
2243
|
const x = [];
|
|
2256
|
-
let T,
|
|
2244
|
+
let T, U;
|
|
2257
2245
|
for (let J = 0; J < u; J++) {
|
|
2258
|
-
const iA = d.getImageLevelInfo(
|
|
2259
|
-
w === 0 &&
|
|
2260
|
-
const IA = new Uint8Array(d.getImageTranscodedSizeInBytes(
|
|
2261
|
-
if (!d.transcodeImage(IA,
|
|
2246
|
+
const iA = d.getImageLevelInfo(R, J, w);
|
|
2247
|
+
w === 0 && R === 0 && J === 0 && (iA.origWidth % 4 !== 0 || iA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), k > 1 ? (T = iA.origWidth, U = iA.origHeight) : (T = iA.width, U = iA.height);
|
|
2248
|
+
const IA = new Uint8Array(d.getImageTranscodedSizeInBytes(R, J, 0, b));
|
|
2249
|
+
if (!d.transcodeImage(IA, R, J, w, b, 0, -1, -1))
|
|
2262
2250
|
throw p(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
|
|
2263
2251
|
x.push(IA);
|
|
2264
2252
|
}
|
|
2265
2253
|
const _ = C(x);
|
|
2266
|
-
S.push({ data: _, width: T, height:
|
|
2254
|
+
S.push({ data: _, width: T, height: U }), D.push(_.buffer);
|
|
2267
2255
|
}
|
|
2268
2256
|
m.push({ mipmaps: S, width: l, height: h, format: Q });
|
|
2269
2257
|
}
|
|
@@ -2333,9 +2321,9 @@ $.BasisWorker = function() {
|
|
|
2333
2321
|
let l, h;
|
|
2334
2322
|
const u = f === i.ETC1S ? c : I;
|
|
2335
2323
|
for (let k = 0; k < u.length; k++) {
|
|
2336
|
-
const
|
|
2337
|
-
if (n[
|
|
2338
|
-
return l =
|
|
2324
|
+
const F = u[k];
|
|
2325
|
+
if (n[F.if] && F.basisFormat.includes(f) && !(E && F.transcoderFormat.length < 2) && !(F.needsPowerOfTwo && !(B(d) && B(p))))
|
|
2326
|
+
return l = F.transcoderFormat[E ? 1 : 0], h = F.engineFormat[E ? 1 : 0], { transcoderFormat: l, engineFormat: h };
|
|
2339
2327
|
}
|
|
2340
2328
|
return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), l = t.RGBA32, h = a.RGBAFormat, { transcoderFormat: l, engineFormat: h };
|
|
2341
2329
|
}
|
|
@@ -2358,19 +2346,19 @@ $.BasisWorker = function() {
|
|
|
2358
2346
|
return p;
|
|
2359
2347
|
}
|
|
2360
2348
|
};
|
|
2361
|
-
const ri = /* @__PURE__ */ new Set([bA,
|
|
2349
|
+
const ri = /* @__PURE__ */ new Set([bA, uA, pA]), PA = {
|
|
2362
2350
|
[At]: bA,
|
|
2363
2351
|
[Xe]: bA,
|
|
2364
2352
|
[Ye]: bA,
|
|
2365
2353
|
[We]: bA,
|
|
2366
|
-
[$e]:
|
|
2367
|
-
[ze]:
|
|
2368
|
-
[Ke]:
|
|
2369
|
-
[Pe]:
|
|
2370
|
-
[Ze]:
|
|
2371
|
-
[Ve]:
|
|
2372
|
-
[je]:
|
|
2373
|
-
[Je]:
|
|
2354
|
+
[$e]: uA,
|
|
2355
|
+
[ze]: uA,
|
|
2356
|
+
[Ke]: uA,
|
|
2357
|
+
[Pe]: uA,
|
|
2358
|
+
[Ze]: pA,
|
|
2359
|
+
[Ve]: pA,
|
|
2360
|
+
[je]: pA,
|
|
2361
|
+
[Je]: pA,
|
|
2374
2362
|
[tt]: he,
|
|
2375
2363
|
[et]: he
|
|
2376
2364
|
}, YA = {
|
|
@@ -2394,7 +2382,7 @@ async function ci(n) {
|
|
|
2394
2382
|
if (PA[A] === void 0)
|
|
2395
2383
|
throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
|
|
2396
2384
|
let e;
|
|
2397
|
-
n.supercompressionScheme ===
|
|
2385
|
+
n.supercompressionScheme === Re && (KA || (KA = new Promise(async (i) => {
|
|
2398
2386
|
const s = new oi();
|
|
2399
2387
|
await s.init(), i(s);
|
|
2400
2388
|
})), e = await KA);
|
|
@@ -2404,7 +2392,7 @@ async function ci(n) {
|
|
|
2404
2392
|
let I;
|
|
2405
2393
|
if (n.supercompressionScheme === $a)
|
|
2406
2394
|
I = c.levelData;
|
|
2407
|
-
else if (n.supercompressionScheme ===
|
|
2395
|
+
else if (n.supercompressionScheme === Re)
|
|
2408
2396
|
I = e.decode(c.levelData, c.uncompressedByteLength);
|
|
2409
2397
|
else
|
|
2410
2398
|
throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
|
|
@@ -2426,7 +2414,7 @@ async function ci(n) {
|
|
|
2426
2414
|
}
|
|
2427
2415
|
let t;
|
|
2428
2416
|
if (ri.has(PA[A]))
|
|
2429
|
-
t = n.pixelDepth === 0 ? new
|
|
2417
|
+
t = n.pixelDepth === 0 ? new ea(a[0].data, n.pixelWidth, n.pixelHeight) : new ta(a[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
|
|
2430
2418
|
else {
|
|
2431
2419
|
if (n.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
|
|
2432
2420
|
t = new qe(a, n.pixelWidth, n.pixelHeight);
|
|
@@ -2435,7 +2423,7 @@ async function ci(n) {
|
|
|
2435
2423
|
}
|
|
2436
2424
|
function at(n) {
|
|
2437
2425
|
const A = n.dataFormatDescriptor[0];
|
|
2438
|
-
return A.colorPrimaries === ti ? A.transferFunction ===
|
|
2426
|
+
return A.colorPrimaries === ti ? A.transferFunction === Fe ? AA : Y : A.colorPrimaries === ai ? A.transferFunction === Fe ? $t : Aa : A.colorPrimaries === ei ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
|
|
2439
2427
|
}
|
|
2440
2428
|
var gi = function() {
|
|
2441
2429
|
var n = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok: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:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;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:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;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;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;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;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", e = 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]), a = 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]);
|
|
@@ -2455,11 +2443,11 @@ var gi = function() {
|
|
|
2455
2443
|
l[k++] = l[h] < 60 ? a[l[h]] : (l[h] - 60) * 64 + l[++h];
|
|
2456
2444
|
return l.buffer.slice(0, k);
|
|
2457
2445
|
}
|
|
2458
|
-
function r(E, l, h, u, k,
|
|
2446
|
+
function r(E, l, h, u, k, F) {
|
|
2459
2447
|
var G = i.exports.sbrk, M = h + 3 & -4, b = G(M * u), Q = G(k.length), m = new Uint8Array(i.exports.memory.buffer);
|
|
2460
2448
|
m.set(k, Q);
|
|
2461
2449
|
var D = E(b, h, u, Q, k.length);
|
|
2462
|
-
if (D == 0 &&
|
|
2450
|
+
if (D == 0 && F && F(b, M, u), l.set(m.subarray(b, b + h * u)), G(b - G(0)), D != 0)
|
|
2463
2451
|
throw new Error("Malformed buffer data: " + D);
|
|
2464
2452
|
}
|
|
2465
2453
|
var c = {
|
|
@@ -2489,11 +2477,11 @@ var gi = function() {
|
|
|
2489
2477
|
URL.revokeObjectURL(u);
|
|
2490
2478
|
}
|
|
2491
2479
|
function d(E, l, h, u, k) {
|
|
2492
|
-
for (var
|
|
2493
|
-
g[G].pending <
|
|
2480
|
+
for (var F = g[0], G = 1; G < g.length; ++G)
|
|
2481
|
+
g[G].pending < F.pending && (F = g[G]);
|
|
2494
2482
|
return new Promise(function(M, b) {
|
|
2495
2483
|
var Q = new Uint8Array(h), m = B++;
|
|
2496
|
-
|
|
2484
|
+
F.pending += E, F.requests[m] = { resolve: M, reject: b }, F.object.postMessage({ id: m, count: E, size: l, source: Q, mode: u, filter: k }, [Q.buffer]);
|
|
2497
2485
|
});
|
|
2498
2486
|
}
|
|
2499
2487
|
function p(E) {
|
|
@@ -2522,13 +2510,13 @@ var gi = function() {
|
|
|
2522
2510
|
decodeIndexSequence: function(E, l, h, u) {
|
|
2523
2511
|
r(i.exports.meshopt_decodeIndexSequence, E, l, h, u);
|
|
2524
2512
|
},
|
|
2525
|
-
decodeGltfBuffer: function(E, l, h, u, k,
|
|
2526
|
-
r(i.exports[I[k]], E, l, h, u, i.exports[c[
|
|
2513
|
+
decodeGltfBuffer: function(E, l, h, u, k, F) {
|
|
2514
|
+
r(i.exports[I[k]], E, l, h, u, i.exports[c[F]]);
|
|
2527
2515
|
},
|
|
2528
2516
|
decodeGltfBufferAsync: function(E, l, h, u, k) {
|
|
2529
2517
|
return g.length > 0 ? d(E, l, h, I[u], c[k]) : s.then(function() {
|
|
2530
|
-
var
|
|
2531
|
-
return r(i.exports[I[u]],
|
|
2518
|
+
var F = new Uint8Array(E * l);
|
|
2519
|
+
return r(i.exports[I[u]], F, E, l, h, i.exports[c[k]]), F;
|
|
2532
2520
|
});
|
|
2533
2521
|
}
|
|
2534
2522
|
};
|
|
@@ -2718,15 +2706,15 @@ var fi = /* @__PURE__ */ wA(DA, 9, 1), Ei = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2718
2706
|
if (l == 1)
|
|
2719
2707
|
C = fi, f = Ei, d = 9, p = 5;
|
|
2720
2708
|
else if (l == 2) {
|
|
2721
|
-
var
|
|
2709
|
+
var F = j(n, g, 31) + 257, G = j(n, g + 10, 15) + 4, M = F + j(n, g + 5, 31) + 1;
|
|
2722
2710
|
g += 14;
|
|
2723
2711
|
for (var b = new H(M), Q = new H(19), m = 0; m < G; ++m)
|
|
2724
2712
|
Q[Bi[m]] = j(n, g + m * 3, 7);
|
|
2725
2713
|
g += G * 3;
|
|
2726
2714
|
for (var D = WA(Q), w = (1 << D) - 1, S = wA(Q, D, 1), m = 0; m < M; ) {
|
|
2727
|
-
var
|
|
2728
|
-
g +=
|
|
2729
|
-
var h =
|
|
2715
|
+
var R = S[j(n, g, w)];
|
|
2716
|
+
g += R & 15;
|
|
2717
|
+
var h = R >> 4;
|
|
2730
2718
|
if (h < 16)
|
|
2731
2719
|
b[m++] = h;
|
|
2732
2720
|
else {
|
|
@@ -2735,8 +2723,8 @@ var fi = /* @__PURE__ */ wA(DA, 9, 1), Ei = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2735
2723
|
b[m++] = x;
|
|
2736
2724
|
}
|
|
2737
2725
|
}
|
|
2738
|
-
var
|
|
2739
|
-
d = WA(
|
|
2726
|
+
var U = b.subarray(0, F), _ = b.subarray(F);
|
|
2727
|
+
d = WA(U), p = WA(_), C = wA(U, d, 1), f = wA(_, p, 1);
|
|
2740
2728
|
} else
|
|
2741
2729
|
v(1);
|
|
2742
2730
|
else {
|
|
@@ -2834,14 +2822,14 @@ function ae(n, A) {
|
|
|
2834
2822
|
var Di = function(n, A) {
|
|
2835
2823
|
return A + 30 + Z(n, A + 26) + Z(n, A + 28);
|
|
2836
2824
|
}, ki = function(n, A, e) {
|
|
2837
|
-
var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), i = A + 46 + a, s = P(n, A + 20), o = e && s == 4294967295 ?
|
|
2825
|
+
var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), i = A + 46 + a, s = P(n, A + 20), o = e && s == 4294967295 ? Ri(n, i) : [s, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
|
|
2838
2826
|
return [Z(n, A + 10), r, c, t, i + Z(n, A + 30) + Z(n, A + 32), I];
|
|
2839
|
-
},
|
|
2827
|
+
}, Ri = function(n, A) {
|
|
2840
2828
|
for (; Z(n, A) != 1; A += 4 + Z(n, A + 2))
|
|
2841
2829
|
;
|
|
2842
2830
|
return [zA(n, A + 12), zA(n, A + 4), zA(n, A + 20)];
|
|
2843
2831
|
};
|
|
2844
|
-
function
|
|
2832
|
+
function Fi(n, A) {
|
|
2845
2833
|
for (var e = {}, a = n.length - 22; P(n, a) != 101010256; --a)
|
|
2846
2834
|
(!a || n.length - a > 65558) && v(13);
|
|
2847
2835
|
var t = Z(n, a + 8);
|
|
@@ -2942,7 +2930,7 @@ class yi extends TA {
|
|
|
2942
2930
|
if (m)
|
|
2943
2931
|
throw Error("THREE.USDZLoader: Crate files (.usdc or binary .usd) are not supported.");
|
|
2944
2932
|
}
|
|
2945
|
-
const s =
|
|
2933
|
+
const s = Fi(new Uint8Array(A)), o = a(s), r = i(s), c = ae(r), I = e.parse(c);
|
|
2946
2934
|
function g(b) {
|
|
2947
2935
|
if (b) {
|
|
2948
2936
|
if ("prepend references" in b) {
|
|
@@ -2975,28 +2963,28 @@ class yi extends TA {
|
|
|
2975
2963
|
const Q = new ne();
|
|
2976
2964
|
let m = null, D = null, w = null, S = -1;
|
|
2977
2965
|
if ("int[] faceVertexIndices" in b && (m = JSON.parse(b["int[] faceVertexIndices"])), "int[] faceVertexCounts" in b && (D = JSON.parse(b["int[] faceVertexCounts"]), m = f(m, D)), "point3f[] points" in b) {
|
|
2978
|
-
const
|
|
2979
|
-
S =
|
|
2980
|
-
let x = new X(new Float32Array(
|
|
2966
|
+
const R = JSON.parse(b["point3f[] points"].replace(/[()]*/g, ""));
|
|
2967
|
+
S = R.length;
|
|
2968
|
+
let x = new X(new Float32Array(R), 3);
|
|
2981
2969
|
m !== null && (x = d(x, m)), Q.setAttribute("position", x);
|
|
2982
2970
|
}
|
|
2983
2971
|
if ("float2[] primvars:st" in b && (b["texCoord2f[] primvars:st"] = b["float2[] primvars:st"]), "texCoord2f[] primvars:st" in b) {
|
|
2984
2972
|
w = JSON.parse(b["texCoord2f[] primvars:st"].replace(/[()]*/g, ""));
|
|
2985
|
-
let
|
|
2986
|
-
m !== null && (
|
|
2973
|
+
let R = new X(new Float32Array(w), 2);
|
|
2974
|
+
m !== null && (R = d(R, m)), Q.setAttribute("uv", R);
|
|
2987
2975
|
}
|
|
2988
2976
|
if ("int[] primvars:st:indices" in b && w !== null) {
|
|
2989
|
-
const
|
|
2977
|
+
const R = new X(new Float32Array(w), 2);
|
|
2990
2978
|
let x = JSON.parse(b["int[] primvars:st:indices"]);
|
|
2991
|
-
x = f(x, D), Q.setAttribute("uv", d(
|
|
2979
|
+
x = f(x, D), Q.setAttribute("uv", d(R, x));
|
|
2992
2980
|
}
|
|
2993
2981
|
if ("normal3f[] normals" in b) {
|
|
2994
|
-
const
|
|
2995
|
-
let x = new X(new Float32Array(
|
|
2996
|
-
if (
|
|
2982
|
+
const R = JSON.parse(b["normal3f[] normals"].replace(/[()]*/g, ""));
|
|
2983
|
+
let x = new X(new Float32Array(R), 3);
|
|
2984
|
+
if (R.length === S)
|
|
2997
2985
|
m !== null && (x = d(x, m));
|
|
2998
2986
|
else {
|
|
2999
|
-
let T = Array.from(Array(
|
|
2987
|
+
let T = Array.from(Array(R.length / 3).keys());
|
|
3000
2988
|
T = f(T, D), x = d(x, T);
|
|
3001
2989
|
}
|
|
3002
2990
|
Q.setAttribute("normal", x);
|
|
@@ -3009,11 +2997,11 @@ class yi extends TA {
|
|
|
3009
2997
|
for (let D = 0; D < Q.length; D++) {
|
|
3010
2998
|
const w = Q[D], S = D * w;
|
|
3011
2999
|
if (w === 3) {
|
|
3012
|
-
const
|
|
3013
|
-
m.push(
|
|
3000
|
+
const R = b[S + 0], x = b[S + 1], T = b[S + 2];
|
|
3001
|
+
m.push(R, x, T);
|
|
3014
3002
|
} else if (w === 4) {
|
|
3015
|
-
const
|
|
3016
|
-
m.push(
|
|
3003
|
+
const R = b[S + 0], x = b[S + 1], T = b[S + 2], U = b[S + 3];
|
|
3004
|
+
m.push(R, x, T), m.push(R, T, U);
|
|
3017
3005
|
} else
|
|
3018
3006
|
console.warn("THREE.USDZLoader: Face vertex count of %s unsupported.", w);
|
|
3019
3007
|
}
|
|
@@ -3021,11 +3009,11 @@ class yi extends TA {
|
|
|
3021
3009
|
}
|
|
3022
3010
|
function d(b, Q) {
|
|
3023
3011
|
const m = b.array, D = b.itemSize, w = new m.constructor(Q.length * D);
|
|
3024
|
-
let S = 0,
|
|
3012
|
+
let S = 0, R = 0;
|
|
3025
3013
|
for (let x = 0, T = Q.length; x < T; x++) {
|
|
3026
3014
|
S = Q[x] * D;
|
|
3027
|
-
for (let
|
|
3028
|
-
w[
|
|
3015
|
+
for (let U = 0; U < D; U++)
|
|
3016
|
+
w[R++] = m[S++];
|
|
3029
3017
|
}
|
|
3030
3018
|
return new X(w, D);
|
|
3031
3019
|
}
|
|
@@ -3058,42 +3046,42 @@ class yi extends TA {
|
|
|
3058
3046
|
const m = b["token outputs:surface.connect"], D = /(\w+).output/.exec(m)[1], w = b[`def Shader "${D}"`];
|
|
3059
3047
|
if (w !== void 0) {
|
|
3060
3048
|
if ("color3f inputs:diffuseColor.connect" in w) {
|
|
3061
|
-
const S = w["color3f inputs:diffuseColor.connect"],
|
|
3062
|
-
Q.map = k(
|
|
3049
|
+
const S = w["color3f inputs:diffuseColor.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3050
|
+
Q.map = k(R), Q.map.colorSpace = AA, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
|
|
3063
3051
|
} else if ("color3f inputs:diffuseColor" in w) {
|
|
3064
3052
|
const S = w["color3f inputs:diffuseColor"].replace(/[()]*/g, "");
|
|
3065
3053
|
Q.color.fromArray(JSON.parse("[" + S + "]"));
|
|
3066
3054
|
}
|
|
3067
3055
|
if ("color3f inputs:emissiveColor.connect" in w) {
|
|
3068
|
-
const S = w["color3f inputs:emissiveColor.connect"],
|
|
3069
|
-
Q.emissiveMap = k(
|
|
3056
|
+
const S = w["color3f inputs:emissiveColor.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3057
|
+
Q.emissiveMap = k(R), Q.emissiveMap.colorSpace = AA, Q.emissive.set(16777215), 'def Shader "Transform2d_emissive"' in b && l(Q.emissiveMap, b['def Shader "Transform2d_emissive"']);
|
|
3070
3058
|
} else if ("color3f inputs:emissiveColor" in w) {
|
|
3071
3059
|
const S = w["color3f inputs:emissiveColor"].replace(/[()]*/g, "");
|
|
3072
3060
|
Q.emissive.fromArray(JSON.parse("[" + S + "]"));
|
|
3073
3061
|
}
|
|
3074
3062
|
if ("normal3f inputs:normal.connect" in w) {
|
|
3075
|
-
const S = w["normal3f inputs:normal.connect"],
|
|
3076
|
-
Q.normalMap = k(
|
|
3063
|
+
const S = w["normal3f inputs:normal.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3064
|
+
Q.normalMap = k(R), Q.normalMap.colorSpace = oA, 'def Shader "Transform2d_normal"' in b && l(Q.normalMap, b['def Shader "Transform2d_normal"']);
|
|
3077
3065
|
}
|
|
3078
3066
|
if ("float inputs:roughness.connect" in w) {
|
|
3079
|
-
const S = w["float inputs:roughness.connect"],
|
|
3080
|
-
Q.roughness = 1, Q.roughnessMap = k(
|
|
3067
|
+
const S = w["float inputs:roughness.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3068
|
+
Q.roughness = 1, Q.roughnessMap = k(R), Q.roughnessMap.colorSpace = oA, 'def Shader "Transform2d_roughness"' in b && l(Q.roughnessMap, b['def Shader "Transform2d_roughness"']);
|
|
3081
3069
|
} else "float inputs:roughness" in w && (Q.roughness = parseFloat(w["float inputs:roughness"]));
|
|
3082
3070
|
if ("float inputs:metallic.connect" in w) {
|
|
3083
|
-
const S = w["float inputs:metallic.connect"],
|
|
3084
|
-
Q.metalness = 1, Q.metalnessMap = k(
|
|
3071
|
+
const S = w["float inputs:metallic.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3072
|
+
Q.metalness = 1, Q.metalnessMap = k(R), Q.metalnessMap.colorSpace = oA, 'def Shader "Transform2d_metallic"' in b && l(Q.metalnessMap, b['def Shader "Transform2d_metallic"']);
|
|
3085
3073
|
} else "float inputs:metallic" in w && (Q.metalness = parseFloat(w["float inputs:metallic"]));
|
|
3086
3074
|
if ("float inputs:clearcoat.connect" in w) {
|
|
3087
|
-
const S = w["float inputs:clearcoat.connect"],
|
|
3088
|
-
Q.clearcoat = 1, Q.clearcoatMap = k(
|
|
3075
|
+
const S = w["float inputs:clearcoat.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3076
|
+
Q.clearcoat = 1, Q.clearcoatMap = k(R), Q.clearcoatMap.colorSpace = oA, 'def Shader "Transform2d_clearcoat"' in b && l(Q.clearcoatMap, b['def Shader "Transform2d_clearcoat"']);
|
|
3089
3077
|
} else "float inputs:clearcoat" in w && (Q.clearcoat = parseFloat(w["float inputs:clearcoat"]));
|
|
3090
3078
|
if ("float inputs:clearcoatRoughness.connect" in w) {
|
|
3091
|
-
const S = w["float inputs:clearcoatRoughness.connect"],
|
|
3092
|
-
Q.clearcoatRoughness = 1, Q.clearcoatRoughnessMap = k(
|
|
3079
|
+
const S = w["float inputs:clearcoatRoughness.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3080
|
+
Q.clearcoatRoughness = 1, Q.clearcoatRoughnessMap = k(R), Q.clearcoatRoughnessMap.colorSpace = oA, 'def Shader "Transform2d_clearcoatRoughness"' in b && l(Q.clearcoatRoughnessMap, b['def Shader "Transform2d_clearcoatRoughness"']);
|
|
3093
3081
|
} else "float inputs:clearcoatRoughness" in w && (Q.clearcoatRoughness = parseFloat(w["float inputs:clearcoatRoughness"]));
|
|
3094
3082
|
if ("float inputs:ior" in w && (Q.ior = parseFloat(w["float inputs:ior"])), "float inputs:occlusion.connect" in w) {
|
|
3095
|
-
const S = w["float inputs:occlusion.connect"],
|
|
3096
|
-
Q.aoMap = k(
|
|
3083
|
+
const S = w["float inputs:occlusion.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
|
|
3084
|
+
Q.aoMap = k(R), Q.aoMap.colorSpace = oA, 'def Shader "Transform2d_occlusion"' in b && l(Q.aoMap, b['def Shader "Transform2d_occlusion"']);
|
|
3097
3085
|
}
|
|
3098
3086
|
}
|
|
3099
3087
|
}
|
|
@@ -3113,16 +3101,16 @@ class yi extends TA {
|
|
|
3113
3101
|
function k(b) {
|
|
3114
3102
|
if ("asset inputs:file" in b) {
|
|
3115
3103
|
const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(o[Q]), w = {
|
|
3116
|
-
'"clamp"':
|
|
3117
|
-
'"mirror"':
|
|
3104
|
+
'"clamp"': Me,
|
|
3105
|
+
'"mirror"': Le,
|
|
3118
3106
|
'"repeat"': xA
|
|
3119
3107
|
};
|
|
3120
3108
|
return "token inputs:wrapS" in b && (D.wrapS = w[b["token inputs:wrapS"]]), "token inputs:wrapT" in b && (D.wrapT = w[b["token inputs:wrapT"]]), D;
|
|
3121
3109
|
}
|
|
3122
3110
|
return null;
|
|
3123
3111
|
}
|
|
3124
|
-
function
|
|
3125
|
-
const Q = C(g(b)), m = h(p(b)), D = Q ? new
|
|
3112
|
+
function F(b) {
|
|
3113
|
+
const Q = C(g(b)), m = h(p(b)), D = Q ? new Ne(Q, m) : new ie();
|
|
3126
3114
|
if ("matrix4d xformOp:transform" in b) {
|
|
3127
3115
|
const w = JSON.parse("[" + b["matrix4d xformOp:transform"].replace(/[()]*/g, "") + "]");
|
|
3128
3116
|
D.matrix.fromArray(w), D.matrix.decompose(D.position, D.quaternion, D.scale);
|
|
@@ -3134,7 +3122,7 @@ class yi extends TA {
|
|
|
3134
3122
|
if (m.startsWith("def Scope"))
|
|
3135
3123
|
G(b[m], Q);
|
|
3136
3124
|
else if (m.startsWith("def Xform")) {
|
|
3137
|
-
const D =
|
|
3125
|
+
const D = F(b[m]);
|
|
3138
3126
|
/def Xform "(\w+)"/.test(m) && (D.name = /def Xform "(\w+)"/.exec(m)[1]), Q.add(D), G(b[m], D);
|
|
3139
3127
|
}
|
|
3140
3128
|
}
|