@spz-loader/playcanvas
Version:
.spz GaussianSplatting loader for PlayCanvas Engine
745 lines • 255 kB
JavaScript
import { GSplatData as TI, GSplatResource as pI, Application as ZI } from "playcanvas";
var VI = (() => {
var a = import.meta.url;
return async function(s = {}) {
var y, E = s, J, M, t = new Promise((I, A) => {
J = I, M = A;
}), l = typeof window == "object", r = typeof WorkerGlobalScope < "u", Z = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
if (Z) {
const { createRequire: I } = await Promise.resolve().then(() => uI);
let A = import.meta.url;
A.startsWith("data:") && (A = "/");
var AA = I(A);
}
var R = Object.assign({}, E), RA = "./this.program", f = "", IA;
if (Z) {
var iI = AA("fs"), KA = AA("path");
import.meta.url.startsWith("data:") || (f = KA.dirname(AA("url").fileURLToPath(import.meta.url)) + "/"), IA = (I) => (I = aI(I) ? new URL(I) : KA.normalize(I), iI.readFileSync(I)), !E.thisProgram && 1 < process.argv.length && (RA = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2);
} else (l || r) && (r ? f = self.location.href : typeof document < "u" && document.currentScript && (f = document.currentScript.src), a && (f = a), f.startsWith("blob:") ? f = "" : f = f.substr(0, f.replace(/[?#].*/, "").lastIndexOf("/") + 1), r && (IA = (I) => {
var A = new XMLHttpRequest();
return A.open("GET", I, !1), A.responseType = "arraybuffer", A.send(null), new Uint8Array(A.response);
}));
var oI = E.print || console.log.bind(console), BA = E.printErr || console.error.bind(console);
Object.assign(E, R), R = null, E.thisProgram && (RA = E.thisProgram);
var nA = E.wasmBinary, gA, eA = !1, X, L, b, QA, V, N, fA, qA;
function dA() {
var I = gA.buffer;
E.HEAP8 = X = new Int8Array(I), E.HEAP16 = b = new Int16Array(I), E.HEAPU8 = L = new Uint8Array(I), E.HEAPU16 = QA = new Uint16Array(I), E.HEAP32 = V = new Int32Array(I), E.HEAPU32 = N = new Uint32Array(I), E.HEAPF32 = fA = new Float32Array(I), E.HEAPF64 = qA = new Float64Array(I);
}
var lA = [], WA = [], xA = [];
function wI() {
var I = E.preRun.shift();
lA.unshift(I);
}
var x = 0, m = null;
function TA(I) {
var A;
throw (A = E.onAbort) == null || A.call(E, I), I = "Aborted(" + I + ")", BA(I), eA = !0, I = new WebAssembly.RuntimeError(I + ". Build with -sASSERTIONS for more info."), M(I), I;
}
var FI = (I) => I.startsWith("data:application/octet-stream;base64,"), aI = (I) => I.startsWith("file://"), CA;
function GI() {
var I = CA;
return Promise.resolve().then(() => {
if (I == CA && nA) var A = new Uint8Array(nA);
else {
if (FI(I)) if (A = I.slice(37), typeof Z < "u" && Z) A = Buffer.from(A, "base64"), A = new Uint8Array(A.buffer, A.byteOffset, A.length);
else {
A = atob(A);
for (var B = new Uint8Array(A.length), g = 0; g < A.length; ++g) B[g] = A.charCodeAt(g);
A = B;
}
else A = void 0;
if (!A) if (IA) A = IA(I);
else throw "both async and sync fetching of the wasm failed";
}
return A;
});
}
function sI(I, A) {
return GI().then((B) => WebAssembly.instantiate(B, I)).then(A, (B) => {
BA(`failed to asynchronously prepare wasm: ${B}`), TA(B);
});
}
function RI(I, A) {
return sI(I, A);
}
var yA = (I) => {
for (; 0 < I.length; ) I.shift()(E);
}, EA = {}, pA = (I) => {
for (; I.length; ) {
var A = I.pop();
I.pop()(A);
}
};
function u(I) {
return this.fromWireType(N[I >> 2]);
}
var j = {}, T = {}, DA = {}, P, p = (I, A, B) => {
function g(D) {
if (D = B(D), D.length !== I.length) throw new P("Mismatched type converter count");
for (var o = 0; o < I.length; ++o) e(I[o], D[o]);
}
I.forEach((D) => DA[D] = A);
var Q = Array(A.length), C = [], i = 0;
A.forEach((D, o) => {
T.hasOwnProperty(D) ? Q[o] = T[D] : (C.push(D), j.hasOwnProperty(D) || (j[D] = []), j[D].push(() => {
Q[o] = T[D], ++i, i === C.length && g(Q);
}));
}), C.length === 0 && g(Q);
}, ZA, c = (I) => {
for (var A = ""; L[I]; ) A += ZA[L[I++]];
return A;
}, G, yI = (I) => {
throw new G(I);
};
function hI(I, A, B = {}) {
var g = A.name;
if (!I) throw new G(`type "${g}" must have a positive integer typeid pointer`);
if (T.hasOwnProperty(I)) {
if (B.sa) return;
throw new G(`Cannot register type '${g}' twice`);
}
T[I] = A, delete DA[I], j.hasOwnProperty(I) && (A = j[I], delete j[I], A.forEach((Q) => Q()));
}
function e(I, A, B = {}) {
return hI(I, A, B);
}
var hA = (I) => {
throw new G(I.K.N.L.name + " instance already deleted");
}, NA = !1, VA = () => {
}, jA = (I, A, B) => A === B ? I : B.R === void 0 ? null : (I = jA(I, A, B.R), I === null ? null : B.la(I)), OA = {}, NI = {}, MI = (I, A) => {
if (A === void 0) throw new G("ptr should not be undefined");
for (; I.R; ) A = I.aa(A), I = I.R;
return NI[A];
}, iA = (I, A) => {
if (!A.N || !A.M) throw new P("makeClassHandle requires ptr and ptrType");
if (!!A.S != !!A.P) throw new P("Both smartPtrType and smartPtr must be specified");
return A.count = { value: 1 }, z(Object.create(
I,
{ K: { value: A, writable: !0 } }
));
}, z = (I) => typeof FinalizationRegistry > "u" ? (z = (A) => A, I) : (NA = new FinalizationRegistry((A) => {
A = A.K, --A.count.value, A.count.value === 0 && (A.P ? A.S.U(A.P) : A.N.L.U(A.M));
}), z = (A) => {
var B = A.K;
return B.P && NA.register(A, { K: B }, A), A;
}, VA = (A) => {
NA.unregister(A);
}, z(I));
function oA() {
}
var wA = (I, A) => Object.defineProperty(A, "name", { value: I }), XA = (I, A, B) => {
if (I[A].O === void 0) {
var g = I[A];
I[A] = function(...Q) {
if (!I[A].O.hasOwnProperty(Q.length)) throw new G(`Function '${B}' called with an invalid number of arguments (${Q.length}) - expects one of (${I[A].O})!`);
return I[A].O[Q.length].apply(this, Q);
}, I[A].O = [], I[A].O[g.Y] = g;
}
}, bA = (I, A, B) => {
if (E.hasOwnProperty(I)) {
if (B === void 0 || E[I].O !== void 0 && E[I].O[B] !== void 0) throw new G(`Cannot register public name '${I}' twice`);
if (XA(E, I, I), E[I].O.hasOwnProperty(B)) throw new G(`Cannot register multiple overloads of a function with the same number of arguments (${B})!`);
E[I].O[B] = A;
} else E[I] = A, E[I].Y = B;
}, UI = (I) => {
I = I.replace(/[^a-zA-Z0-9_]/g, "$");
var A = I.charCodeAt(0);
return 48 <= A && 57 >= A ? `_${I}` : I;
};
function SI(I, A, B, g, Q, C, i, D) {
this.name = I, this.constructor = A, this.X = B, this.U = g, this.R = Q, this.na = C, this.aa = i, this.la = D, this.ua = [];
}
var MA = (I, A, B) => {
for (; A !== B; ) {
if (!A.aa) throw new G(`Expected null or instance of ${B.name}, got an instance of ${A.name}`);
I = A.aa(I), A = A.R;
}
return I;
};
function kI(I, A) {
if (A === null) {
if (this.ea) throw new G(`null is not a valid ${this.name}`);
return 0;
}
if (!A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`);
if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`);
return MA(A.K.M, A.K.N.L, this.L);
}
function JI(I, A) {
if (A === null) {
if (this.ea) throw new G(`null is not a valid ${this.name}`);
if (this.da) {
var B = this.fa();
return I !== null && I.push(this.U, B), B;
}
return 0;
}
if (!A || !A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`);
if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`);
if (!this.ba && A.K.N.ba) throw new G(`Cannot convert argument of type ${A.K.S ? A.K.S.name : A.K.N.name} to parameter type ${this.name}`);
if (B = MA(A.K.M, A.K.N.L, this.L), this.da) {
if (A.K.P === void 0) throw new G("Passing raw pointer to smart pointer is illegal");
switch (this.za) {
case 0:
if (A.K.S === this) B = A.K.P;
else throw new G(`Cannot convert argument of type ${A.K.S ? A.K.S.name : A.K.N.name} to parameter type ${this.name}`);
break;
case 1:
B = A.K.P;
break;
case 2:
if (A.K.S === this) B = A.K.P;
else {
var g = A.clone();
B = this.va(B, LA(() => g.delete())), I !== null && I.push(this.U, B);
}
break;
default:
throw new G("Unsupporting sharing policy");
}
}
return B;
}
function LI(I, A) {
if (A === null) {
if (this.ea) throw new G(`null is not a valid ${this.name}`);
return 0;
}
if (!A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`);
if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`);
if (A.K.N.ba) throw new G(`Cannot convert argument of type ${A.K.N.name} to parameter type ${this.name}`);
return MA(A.K.M, A.K.N.L, this.L);
}
function FA(I, A, B, g, Q, C, i, D, o, w, F) {
this.name = I, this.L = A, this.ea = B, this.ba = g, this.da = Q, this.ta = C, this.za = i, this.ja = D, this.fa = o, this.va = w, this.U = F, Q || A.R !== void 0 ? this.toWireType = JI : (this.toWireType = g ? kI : LI, this.T = null);
}
var mA = (I, A, B) => {
if (!E.hasOwnProperty(I)) throw new P("Replacing nonexistent public symbol");
E[I].O !== void 0 && B !== void 0 ? E[I].O[B] = A : (E[I] = A, E[I].Y = B);
}, UA, cI = (I, A, B = []) => (I.includes("j") ? (I = I.replace(/p/g, "i"), A = (0, E["dynCall_" + I])(A, ...B)) : A = UA.get(A)(...B), A), YI = (I, A) => (...B) => cI(I, A, B), n = (I, A) => {
I = c(I);
var B = I.includes("j") ? YI(I, A) : UA.get(A);
if (typeof B != "function") throw new G(`unknown function pointer with signature ${I}: ${A}`);
return B;
}, uA, PA = (I) => {
I = CI(I);
var A = c(I);
return q(I), A;
}, aA = (I, A) => {
function B(C) {
Q[C] || T[C] || (DA[C] ? DA[C].forEach(B) : (g.push(C), Q[C] = !0));
}
var g = [], Q = {};
throw A.forEach(B), new uA(`${I}: ` + g.map(PA).join([", "]));
}, SA = (I, A) => {
for (var B = [], g = 0; g < I; g++) B.push(N[A + 4 * g >> 2]);
return B;
};
function zA(I) {
for (var A = 1; A < I.length; ++A) if (I[A] !== null && I[A].T === void 0) return !0;
return !1;
}
function HI(I) {
var A = Function;
if (!(A instanceof Function)) throw new TypeError(`new_ called with constructor type ${typeof A} which is not a function`);
var B = wA(A.name || "unknownFunctionName", function() {
});
return B.prototype = A.prototype, B = new B(), I = A.apply(B, I), I instanceof Object ? I : B;
}
function kA(I, A, B, g, Q, C) {
var i = A.length;
if (2 > i) throw new G("argTypes array size mismatch! Must at least get return value and 'this' types!");
var D = A[1] !== null && B !== null, o = zA(A);
for (B = A[0].name !== "void", g = [I, yI, g, Q, pA, A[0], A[1]], Q = 0; Q < i - 2; ++Q) g.push(A[Q + 2]);
if (!o) for (Q = D ? 1 : 2; Q < A.length; ++Q) A[Q].T !== null && g.push(A[Q].T);
o = zA(A), Q = A.length - 2;
var w = [], F = ["fn"];
for (D && F.push("thisWired"), i = 0; i < Q; ++i) w.push(`arg${i}`), F.push(`arg${i}Wired`);
w = w.join(","), F = F.join(","), w = `return function (${w}) {
`, o && (w += `var destructors = [];
`);
var h = o ? "destructors" : "null", U = "humanName throwBindingError invoker fn runDestructors retType classParam".split(" ");
for (D && (w += `var thisWired = classParam['toWireType'](${h}, this);
`), i = 0; i < Q; ++i) w += `var arg${i}Wired = argType${i}['toWireType'](${h}, arg${i});
`, U.push(`argType${i}`);
if (w += (B || C ? "var rv = " : "") + `invoker(${F});
`, o) w += `runDestructors(destructors);
`;
else for (i = D ? 1 : 2; i < A.length; ++i) C = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired", A[i].T !== null && (w += `${C}_dtor(${C});
`, U.push(`${C}_dtor`));
B && (w += `var ret = retType['fromWireType'](rv);
return ret;
`);
let [k, S] = [U, w + `}
`];
return k.push(S), A = HI(k)(...g), wA(I, A);
}
var vA = (I) => {
I = I.trim();
const A = I.indexOf("(");
return A !== -1 ? I.substr(0, A) : I;
}, JA = [], W = [], _A = (I) => {
9 < I && --W[I + 1] === 0 && (W[I] = void 0, JA.push(I));
}, LA = (I) => {
switch (I) {
case void 0:
return 2;
case null:
return 4;
case !0:
return 6;
case !1:
return 8;
default:
const A = JA.pop() || W.length;
return W[A] = I, W[A + 1] = 1, A;
}
}, $A = { name: "emscripten::val", fromWireType: (I) => {
if (!I) throw new G("Cannot use deleted val. handle = " + I);
var A = W[I];
return _A(I), A;
}, toWireType: (I, A) => LA(A), V: 8, readValueFromPointer: u, T: null }, cA = (I) => {
if (I === null) return "null";
var A = typeof I;
return A === "object" || A === "array" || A === "function" ? I.toString() : "" + I;
}, tI = (I, A) => {
switch (A) {
case 4:
return function(B) {
return this.fromWireType(fA[B >> 2]);
};
case 8:
return function(B) {
return this.fromWireType(qA[B >> 3]);
};
default:
throw new TypeError(`invalid float width (${A}): ${I}`);
}
}, rI = (I, A, B) => {
switch (A) {
case 1:
return B ? (g) => X[g] : (g) => L[g];
case 2:
return B ? (g) => b[g >> 1] : (g) => QA[g >> 1];
case 4:
return B ? (g) => V[g >> 2] : (g) => N[g >> 2];
default:
throw new TypeError(`invalid integer width (${A}): ${I}`);
}
}, KI = Object.assign(
{ optional: !0 },
$A
), v = (I, A, B) => {
var g = L;
if (0 < B) {
B = A + B - 1;
for (var Q = 0; Q < I.length; ++Q) {
var C = I.charCodeAt(Q);
if (55296 <= C && 57343 >= C) {
var i = I.charCodeAt(++Q);
C = 65536 + ((C & 1023) << 10) | i & 1023;
}
if (127 >= C) {
if (A >= B) break;
g[A++] = C;
} else {
if (2047 >= C) {
if (A + 1 >= B) break;
g[A++] = 192 | C >> 6;
} else {
if (65535 >= C) {
if (A + 2 >= B) break;
g[A++] = 224 | C >> 12;
} else {
if (A + 3 >= B) break;
g[A++] = 240 | C >> 18, g[A++] = 128 | C >> 12 & 63;
}
g[A++] = 128 | C >> 6 & 63;
}
g[A++] = 128 | C & 63;
}
}
g[A] = 0;
}
}, AI = typeof TextDecoder < "u" ? new TextDecoder() : void 0, II = (I, A = 0, B = NaN) => {
var g = A + B;
for (B = A; I[B] && !(B >= g); ) ++B;
if (16 < B - A && I.buffer && AI) return AI.decode(I.subarray(A, B));
for (g = ""; A < B; ) {
var Q = I[A++];
if (Q & 128) {
var C = I[A++] & 63;
if ((Q & 224) == 192) g += String.fromCharCode((Q & 31) << 6 | C);
else {
var i = I[A++] & 63;
Q = (Q & 240) == 224 ? (Q & 15) << 12 | C << 6 | i : (Q & 7) << 18 | C << 12 | i << 6 | I[A++] & 63, 65536 > Q ? g += String.fromCharCode(Q) : (Q -= 65536, g += String.fromCharCode(55296 | Q >> 10, 56320 | Q & 1023));
}
} else g += String.fromCharCode(Q);
}
return g;
}, BI = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, nI = (I, A) => {
for (var B = I >> 1, g = B + A / 2; !(B >= g) && QA[B]; ) ++B;
if (B <<= 1, 32 < B - I && BI) return BI.decode(L.subarray(I, B));
for (B = "", g = 0; !(g >= A / 2); ++g) {
var Q = b[I + 2 * g >> 1];
if (Q == 0) break;
B += String.fromCharCode(Q);
}
return B;
}, eI = (I, A, B) => {
if (B ?? (B = 2147483647), 2 > B) return 0;
B -= 2;
var g = A;
B = B < 2 * I.length ? B / 2 : I.length;
for (var Q = 0; Q < B; ++Q) b[A >> 1] = I.charCodeAt(Q), A += 2;
return b[A >> 1] = 0, A - g;
}, fI = (I) => 2 * I.length, qI = (I, A) => {
for (var B = 0, g = ""; !(B >= A / 4); ) {
var Q = V[I + 4 * B >> 2];
if (Q == 0) break;
++B, 65536 <= Q ? (Q -= 65536, g += String.fromCharCode(55296 | Q >> 10, 56320 | Q & 1023)) : g += String.fromCharCode(Q);
}
return g;
}, dI = (I, A, B) => {
if (B ?? (B = 2147483647), 4 > B) return 0;
var g = A;
B = g + B - 4;
for (var Q = 0; Q < I.length; ++Q) {
var C = I.charCodeAt(Q);
if (55296 <= C && 57343 >= C) {
var i = I.charCodeAt(++Q);
C = 65536 + ((C & 1023) << 10) | i & 1023;
}
if (V[A >> 2] = C, A += 4, A + 4 > B) break;
}
return V[A >> 2] = 0, A - g;
}, lI = (I) => {
for (var A = 0, B = 0; B < I.length; ++B) {
var g = I.charCodeAt(B);
55296 <= g && 57343 >= g && ++B, A += 4;
}
return A;
}, YA = {}, gI = () => {
if (!HA) {
var I = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: RA || "./this.program" }, A;
for (A in YA) YA[A] === void 0 ? delete I[A] : I[A] = YA[A];
var B = [];
for (A in I) B.push(`${A}=${I[A]}`);
HA = B;
}
return HA;
}, HA, WI = [null, [], []];
P = E.InternalError = class extends Error {
constructor(I) {
super(I), this.name = "InternalError";
}
};
for (var QI = Array(256), GA = 0; 256 > GA; ++GA) QI[GA] = String.fromCharCode(GA);
ZA = QI, G = E.BindingError = class extends Error {
constructor(I) {
super(I), this.name = "BindingError";
}
}, Object.assign(oA.prototype, { isAliasOf: function(I) {
if (!(this instanceof oA && I instanceof oA)) return !1;
var A = this.K.N.L, B = this.K.M;
I.K = I.K;
var g = I.K.N.L;
for (I = I.K.M; A.R; ) B = A.aa(B), A = A.R;
for (; g.R; ) I = g.aa(I), g = g.R;
return A === g && B === I;
}, clone: function() {
if (this.K.M || hA(this), this.K.$) return this.K.count.value += 1, this;
var I = z, A = Object, B = A.create, g = Object.getPrototypeOf(this), Q = this.K;
return I = I(B.call(A, g, { K: { value: { count: Q.count, Z: Q.Z, $: Q.$, M: Q.M, N: Q.N, P: Q.P, S: Q.S } } })), I.K.count.value += 1, I.K.Z = !1, I;
}, delete() {
if (this.K.M || hA(this), this.K.Z && !this.K.$) throw new G("Object already scheduled for deletion");
VA(this);
var I = this.K;
--I.count.value, I.count.value === 0 && (I.P ? I.S.U(I.P) : I.N.L.U(I.M)), this.K.$ || (this.K.P = void 0, this.K.M = void 0);
}, isDeleted: function() {
return !this.K.M;
}, deleteLater: function() {
if (this.K.M || hA(this), this.K.Z && !this.K.$) throw new G("Object already scheduled for deletion");
return this.K.Z = !0, this;
} }), Object.assign(FA.prototype, { oa(I) {
return this.ja && (I = this.ja(I)), I;
}, ha(I) {
var A;
(A = this.U) == null || A.call(this, I);
}, V: 8, readValueFromPointer: u, fromWireType: function(I) {
function A() {
return this.da ? iA(this.L.X, { N: this.ta, M: B, S: this, P: I }) : iA(this.L.X, { N: this, M: I });
}
var B = this.oa(I);
if (!B) return this.ha(I), null;
var g = MI(this.L, B);
if (g !== void 0)
return g.K.count.value === 0 ? (g.K.M = B, g.K.P = I, g.clone()) : (g = g.clone(), this.ha(I), g);
if (g = this.L.na(B), g = OA[g], !g) return A.call(this);
g = this.ba ? g.ka : g.pointerType;
var Q = jA(B, this.L, g.L);
return Q === null ? A.call(this) : this.da ? iA(g.L.X, { N: g, M: Q, S: this, P: I }) : iA(g.L.X, { N: g, M: Q });
} }), uA = E.UnboundTypeError = ((I, A) => {
var B = wA(A, function(g) {
this.name = A, this.message = g, g = Error(g).stack, g !== void 0 && (this.stack = this.toString() + `
` + g.replace(/^Error(:[^\n]*)?\n/, ""));
});
return B.prototype = Object.create(I.prototype), B.prototype.constructor = B, B.prototype.toString = function() {
return this.message === void 0 ? this.name : `${this.name}: ${this.message}`;
}, B;
})(Error, "UnboundTypeError"), W.push(0, 1, void 0, 1, null, 1, !0, 1, !1, 1), E.count_emval_handles = () => W.length / 2 - 5 - JA.length;
var xI = { u: () => {
TA("");
}, y: (I) => {
var A = EA[I];
delete EA[I];
var B = A.fa, g = A.U, Q = A.ia, C = Q.map((i) => i.ra).concat(Q.map((i) => i.xa));
p([I], C, (i) => {
var D = {};
return Q.forEach((o, w) => {
var F = i[w], h = o.pa, U = o.qa, k = i[w + Q.length], S = o.wa, K = o.ya;
D[o.ma] = { read: (d) => F.fromWireType(h(U, d)), write: (d, _) => {
var H = [];
S(K, d, k.toWireType(H, _)), pA(H);
} };
}), [{ name: A.name, fromWireType: (o) => {
var w = {}, F;
for (F in D) w[F] = D[F].read(o);
return g(o), w;
}, toWireType: (o, w) => {
for (var F in D) if (!(F in w)) throw new TypeError(`Missing field: "${F}"`);
var h = B();
for (F in D) D[F].write(h, w[F]);
return o !== null && o.push(g, h), h;
}, V: 8, readValueFromPointer: u, T: g }];
});
}, p: () => {
}, w: (I, A, B, g) => {
A = c(A), e(I, { name: A, fromWireType: function(Q) {
return !!Q;
}, toWireType: function(Q, C) {
return C ? B : g;
}, V: 8, readValueFromPointer: function(Q) {
return this.fromWireType(L[Q]);
}, T: null });
}, i: (I, A, B, g, Q, C, i, D, o, w, F, h, U) => {
F = c(F), C = n(Q, C), D && (D = n(i, D)), w && (w = n(o, w)), U = n(h, U);
var k = UI(F);
bA(k, function() {
aA(`Cannot construct ${F} due to unbound types`, [g]);
}), p([I, A, B], g ? [g] : [], (S) => {
if (S = S[0], g)
var K = S.L, d = K.X;
else d = oA.prototype;
S = wA(F, function(...rA) {
if (Object.getPrototypeOf(this) !== _) throw new G("Use 'new' to construct " + F);
if (H.W === void 0) throw new G(F + " has no accessible constructor");
var DI = H.W[rA.length];
if (DI === void 0) throw new G(`Tried to invoke ctor of ${F} with invalid number of parameters (${rA.length}) - expected (${Object.keys(H.W).toString()}) parameters instead!`);
return DI.apply(this, rA);
});
var _ = Object.create(d, { constructor: { value: S } });
S.prototype = _;
var H = new SI(
F,
S,
_,
U,
K,
C,
D,
w
);
if (H.R) {
var $;
($ = H.R).ga ?? ($.ga = []), H.R.ga.push(H);
}
return K = new FA(F, H, !0, !1, !1), $ = new FA(F + "*", H, !1, !1, !1), d = new FA(F + " const*", H, !1, !0, !1), OA[I] = { pointerType: $, ka: d }, mA(k, S), [K, $, d];
});
}, g: (I, A, B, g, Q, C) => {
var i = SA(A, B);
Q = n(g, Q), p([], [I], (D) => {
D = D[0];
var o = `constructor ${D.name}`;
if (D.L.W === void 0 && (D.L.W = []), D.L.W[A - 1] !== void 0) throw new G(`Cannot register multiple constructors with identical number of parameters (${A - 1}) for class '${D.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
return D.L.W[A - 1] = () => {
aA(`Cannot construct ${D.name} due to unbound types`, i);
}, p([], i, (w) => (w.splice(1, 0, null), D.L.W[A - 1] = kA(o, w, null, Q, C), [])), [];
});
}, b: (I, A, B, g, Q, C, i, D, o) => {
var w = SA(B, g);
A = c(A), A = vA(A), C = n(Q, C), p([], [I], (F) => {
function h() {
aA(`Cannot call ${U} due to unbound types`, w);
}
F = F[0];
var U = `${F.name}.${A}`;
A.startsWith("@@") && (A = Symbol[A.substring(2)]), D && F.L.ua.push(A);
var k = F.L.X, S = k[A];
return S === void 0 || S.O === void 0 && S.className !== F.name && S.Y === B - 2 ? (h.Y = B - 2, h.className = F.name, k[A] = h) : (XA(
k,
A,
U
), k[A].O[B - 2] = h), p([], w, (K) => (K = kA(U, K, F, C, i, o), k[A].O === void 0 ? (K.Y = B - 2, k[A] = K) : k[A].O[B - 2] = K, [])), [];
});
}, v: (I) => e(I, $A), l: (I, A, B) => {
A = c(A), e(I, { name: A, fromWireType: (g) => g, toWireType: (g, Q) => Q, V: 8, readValueFromPointer: tI(A, B), T: null });
}, m: (I, A, B, g, Q, C, i) => {
var D = SA(A, B);
I = c(I), I = vA(I), Q = n(g, Q), bA(I, function() {
aA(`Cannot call ${I} due to unbound types`, D);
}, A - 1), p([], D, (o) => (o = [o[0], null].concat(o.slice(1)), mA(I, kA(I, o, null, Q, C, i), A - 1), []));
}, c: (I, A, B, g, Q) => {
if (A = c(A), Q === -1 && (Q = 4294967295), Q = (D) => D, g === 0) {
var C = 32 - 8 * B;
Q = (D) => D << C >>> C;
}
var i = A.includes("unsigned") ? function(D, o) {
return o >>> 0;
} : function(D, o) {
return o;
};
e(I, { name: A, fromWireType: Q, toWireType: i, V: 8, readValueFromPointer: rI(A, B, g !== 0), T: null });
}, a: (I, A, B) => {
function g(C) {
return new Q(X.buffer, N[C + 4 >> 2], N[C >> 2]);
}
var Q = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][A];
B = c(B), e(I, { name: B, fromWireType: g, V: 8, readValueFromPointer: g }, { sa: !0 });
}, h: (I) => {
e(I, KI);
}, k: (I, A) => {
A = c(A);
var B = A === "std::string";
e(I, { name: A, fromWireType: function(g) {
var Q = N[g >> 2], C = g + 4;
if (B) for (var i = C, D = 0; D <= Q; ++D) {
var o = C + D;
if (D == Q || L[o] == 0) {
if (i = i ? II(L, i, o - i) : "", w === void 0) var w = i;
else w += "\0", w += i;
i = o + 1;
}
}
else {
for (w = Array(Q), D = 0; D < Q; ++D) w[D] = String.fromCharCode(L[C + D]);
w = w.join("");
}
return q(g), w;
}, toWireType: function(g, Q) {
Q instanceof ArrayBuffer && (Q = new Uint8Array(Q));
var C, i = typeof Q == "string";
if (!(i || Q instanceof Uint8Array || Q instanceof Uint8ClampedArray || Q instanceof Int8Array)) throw new G("Cannot pass non-string to std::string");
if (B && i) for (var D = C = 0; D < Q.length; ++D) {
var o = Q.charCodeAt(D);
127 >= o ? C++ : 2047 >= o ? C += 2 : 55296 <= o && 57343 >= o ? (C += 4, ++D) : C += 3;
}
else C = Q.length;
if (D = tA(4 + C + 1), o = D + 4, N[D >> 2] = C, B && i) v(Q, o, C + 1);
else if (i) for (i = 0; i < C; ++i) {
var w = Q.charCodeAt(i);
if (255 < w) throw q(o), new G("String has UTF-16 code units that do not fit in 8 bits");
L[o + i] = w;
}
else for (i = 0; i < C; ++i) L[o + i] = Q[i];
return g !== null && g.push(q, D), D;
}, V: 8, readValueFromPointer: u, T(g) {
q(g);
} });
}, e: (I, A, B) => {
if (B = c(B), A === 2)
var g = nI, Q = eI, C = fI, i = (D) => QA[D >> 1];
else A === 4 && (g = qI, Q = dI, C = lI, i = (D) => N[D >> 2]);
e(I, { name: B, fromWireType: (D) => {
for (var o = N[D >> 2], w, F = D + 4, h = 0; h <= o; ++h) {
var U = D + 4 + h * A;
(h == o || i(U) == 0) && (F = g(F, U - F), w === void 0 ? w = F : (w += "\0", w += F), F = U + A);
}
return q(D), w;
}, toWireType: (D, o) => {
if (typeof o != "string") throw new G(`Cannot pass non-string to C++ string type ${B}`);
var w = C(o), F = tA(4 + w + A);
return N[F >> 2] = w / A, Q(o, F + 4, w + A), D !== null && D.push(q, F), F;
}, V: 8, readValueFromPointer: u, T(D) {
q(D);
} });
}, o: (I, A, B, g, Q, C) => {
EA[I] = {
name: c(A),
fa: n(B, g),
U: n(Q, C),
ia: []
};
}, d: (I, A, B, g, Q, C, i, D, o, w) => {
EA[I].ia.push({ ma: c(A), ra: B, pa: n(g, Q), qa: C, xa: i, wa: n(D, o), ya: w });
}, x: (I, A) => {
A = c(A), e(I, { Aa: !0, name: A, V: 0, fromWireType: () => {
}, toWireType: () => {
} });
}, n: _A, f: (I, A) => {
var B = T[I];
if (B === void 0) throw I = `_emval_take_value has unknown type ${PA(I)}`, new G(I);
return I = B, I = I.readValueFromPointer(A), LA(I);
}, q: (I, A, B, g) => {
var Q = (/* @__PURE__ */ new Date()).getFullYear(), C = new Date(Q, 0, 1).getTimezoneOffset();
Q = new Date(Q, 6, 1).getTimezoneOffset(), N[I >> 2] = 60 * Math.max(C, Q), V[A >> 2] = +(C != Q), A = (i) => {
var D = Math.abs(i);
return `UTC${0 <= i ? "-" : "+"}${String(Math.floor(D / 60)).padStart(2, "0")}${String(D % 60).padStart(2, "0")}`;
}, I = A(C), A = A(Q), Q < C ? (v(I, B, 17), v(A, g, 17)) : (v(I, g, 17), v(A, B, 17));
}, t: (I) => {
var A = L.length;
if (I >>>= 0, 2147483648 < I) return !1;
for (var B = 1; 4 >= B; B *= 2) {
var g = A * (1 + 0.2 / B);
g = Math.min(g, I + 100663296);
A: {
g = (Math.min(2147483648, 65536 * Math.ceil(Math.max(I, g) / 65536)) - gA.buffer.byteLength + 65535) / 65536 | 0;
try {
gA.grow(g), dA();
var Q = 1;
break A;
} catch {
}
Q = void 0;
}
if (Q) return !0;
}
return !1;
}, r: (I, A) => {
var B = 0;
return gI().forEach((g, Q) => {
var C = A + B;
for (Q = N[I + 4 * Q >> 2] = C, C = 0; C < g.length; ++C) X[Q++] = g.charCodeAt(C);
X[Q] = 0, B += g.length + 1;
}), 0;
}, s: (I, A) => {
var B = gI();
N[I >> 2] = B.length;
var g = 0;
return B.forEach((Q) => g += Q.length + 1), N[A >> 2] = g, 0;
}, j: (I, A, B, g) => {
for (var Q = 0, C = 0; C < B; C++) {
var i = N[A >> 2], D = N[A + 4 >> 2];
A += 8;
for (var o = 0; o < D; o++) {
var w = L[i + o], F = WI[I];
w === 0 || w === 10 ? ((I === 1 ? oI : BA)(II(F)), F.length = 0) : F.push(w);
}
Q += D;
}
return N[g >> 2] = Q, 0;
} }, Y = function() {
var I;
function A(g) {
var Q;
return Y = g.exports, gA = Y.z, dA(), UA = Y.B, WA.unshift(Y.A), x--, (Q = E.monitorRunDependencies) == null || Q.call(E, x), x == 0 && m && (g = m, m = null, g()), Y;
}
x++, (I = E.monitorRunDependencies) == null || I.call(E, x);
var B = { a: xI };
if (E.instantiateWasm) try {
return E.instantiateWasm(B, A);
} catch (g) {
BA(`Module.instantiateWasm callback failed with error: ${g}`), M(g);
}
return CA ?? (CA = "data:application/octet-stream;base64,AGFzbQEAAAAB1AM4YAF/AX9gAn9/AGABfwBgAn9/AX9gA39/fwF/YAN/f38AYAZ/f39/f38Bf2AEf39/fwBgBX9/f39/AX9gBH9/f38Bf2AGf39/f39/AGAFf39/f38AYAh/f39/f39/fwF/YAAAYAd/f39/f39/AX9gB39/f39/f38AYAV/fn5+fgBgBX9/f39+AX9gCn9/f39/f39/f38AYAABf2AFf39+f38AYAh/f39/f39/fwBgBH9+fn8AYAN/fn8BfmAKf39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAJ/fgBgA39/fwF+YAx/f39/f39/f39/f38Bf2AGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAGf3x/f39/AX9gBX9/f398AX9gDX9/f39/f39/f39/f38AYAJ/fABgBH5+fn4Bf2ACfn8Bf2ABfwF8YAR/f39+AX5gAn5+AXxgBH9/fn4AYAN/f38BfGADf39/AX1gA39/fgBgAn5+AX1gAn9/AX5gBH9+fn4AYAN+fn4Bf2ACfH8BfGAEf39/fQF/YAl/f39/f39/f38Bf2AEf39/fQBgA39/fQAClwEZAWEBYQAFAWEBYgASAWEBYwALAWEBZAASAWEBZQAFAWEBZgADAWEBZwAKAWEBaAABAWEBaQAkAWEBagAJAWEBawABAWEBbAAFAWEBbQAVAWEBbgACAWEBbwAKAWEBcAAPAWEBcQAHAWEBcgADAWEBcwADAWEBdAAAAWEBdQANAWEBdgACAWEBdwAHAWEBeAABAWEBeQACA4wFigUAAAEDAAACAAABAQEDAxMCEAADBQIAAAIEAAACDQQBBAAAEAMFBwEWCwEABAEADQAAABADAQgAAQEBBQQDAQAAAQEBAQUABAQFAAIDGwAAAwEICAkEACUADAwHDQEAAAEBAQADAAcDAAAFAwYAAwMBAQYEJgMDAAUWAgQBAAEAAQAFAwMYBAAYAQAAAQEAAwcAAQAnAw0CCAUDBQEAAAQCCwEVAAMAAAIBAAAAAQQHAw4DAwIOCQkDCQMABQMFAQEAAAECAQMoAAQABgEKBQcDBQEcAAAABAMAAwsBAgACBB0LBB0LAQcAKQAAEAACAQIJAgUEAgAAAxsBACoDDQ0CAg0AHgYe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An9B8OQBKAIAIgdBASABdCICcUUEQEHw5AEgAiAHcjYCACAEIAM2AgBBGCEBQQgMAQsgAEEZIAFBAXZrQQAgAUEfRxt0IQEgBCgCACEEA0AgBCICKAIEQXhxIABGDQIgAUEddiEEIAFBAXQhASACIARBBHFqIgcoAhAiBA0ACyAHIAM2AhBBGCEBIAIhBEEICyEAIAMiAgwBCyACKAIIIgQgAzYCDCACIAM2AghBGCEAQQghAUEACyEHIAEgA2ogBDYCACADIAI2AgwgACADaiAHNgIAQYzlAUGM5QEoAgBBAWsiAEF/IAAbNgIACwu7CgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4RCACEBUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxBAQRAgBmshBiAFKQNYIg1CIIghDiAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDCADIAwgDFAiCBt5IAhBBnStfKciCEEPaxBAIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+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IgMkACADIAE2AgwgACADQQxqEI0BIgBBBGogAhCNARogA0EQaiQAIAALCgAgACgCABCzAwsLACAAKAIAELgDwAs7AQJ/IwBBEGsiASQAIAEgADYCDCABKAIMIgAoAgAiAgRAIAAgAjYCBCAAKAIIGiACECgLIAFBEGokAAsGABCuAQALLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAKAIEIAEoAgQQ0AFFCyQBAX8gACgCACECIAAgATYCACACBEAgAiAAEJkBKAIAEQIACwspAQF/IAIEQCAAIQMDQCADIAE6AAAgA0EBaiEDIAJBAWsiAg0ACwsgAAsNACAAKAIAELIDGiAACw0AIAAoAgAQmwIaIAALdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMACxEAIAAgASAAKAIAKAIcEQMAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEOABDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRBAAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQQAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEEQaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAZRSACIAFrQQVIcg0AIAEgAhDFASACQQRrIQQgABAdIgIgABAZaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACws8ACAALAALQQBIBEAgACgCCBogACgCABAoCyAAIAEpAgA3AgAgACABKAIINgIIIAFBADoACyABQQA6AAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiAB