UNPKG

webshap

Version:

Explain any ML models anywhere

1,590 lines (1,588 loc) 2.18 MB
var N$ = Object.defineProperty; var k$ = (n, e, t) => e in n ? N$(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t; var Xe = (n, e, t) => (k$(n, typeof e != "symbol" ? e + "" : e, t), t); function A$(n, e) { for (var t = 0; t < e.length; t++) { const r = e[t]; if (typeof r != "string" && !Array.isArray(r)) { for (const s in r) if (s !== "default" && !(s in n)) { const o = Object.getOwnPropertyDescriptor(r, s); o && Object.defineProperty(n, s, o.get ? o : { enumerable: !0, get: () => r[s] }); } } } return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" })); } const $1 = Math.random, T$ = function n(e) { function t(r, s) { return r = r == null ? 0 : +r, s = s == null ? 1 : +s, arguments.length === 1 ? (s = r, r = 0) : s -= r, function() { return e() * s + r; }; } return t.source = n, t; }($1), F$ = function n(e) { function t(r, s) { return arguments.length < 2 && (s = r, r = 0), r = Math.floor(r), s = Math.floor(s) - r, function() { return Math.floor(e() * s + r); }; } return t.source = n, t; }($1), R$ = 1664525, _$ = 1013904223, Xm = 1 / 4294967296; function jm(n = Math.random()) { let e = (0 <= n && n < 1 ? n / Xm : Math.abs(n)) | 0; return () => (e = R$ * e + _$ | 0, Xm * (e >>> 0)); } const Ym = (n, e) => { const t = Math.min(e, n - e); return Array.from(new Array(t), (r, s) => s + 1).reduce((r, s) => r * (n + 1 - s) / s, 1); }, M$ = (n, e) => { const t = []; function r(s = 0, o = []) { if (o.length === e) { t.push(o); return; } for (let i = s; i < n.length; i++) r(i + 1, [...o, n[i]]); } return r(), t; }; function Kh() { return Kh = Object.assign ? Object.assign.bind() : function(n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, Kh.apply(this, arguments); } var I1 = { // minimum relative difference between two compared values, // used by all comparison functions epsilon: 1e-12, // type of default matrix output. Choose 'matrix' (default) or 'array' matrix: "Matrix", // type of default number output. Choose 'number' (default) 'BigNumber', or 'Fraction number: "number", // number of significant digits in BigNumbers precision: 64, // predictable output type of functions. When true, output type depends only // on the input types. When false (default), output type can vary depending // on input values. For example `math.sqrt(-4)` returns `complex('2i')` when // predictable is false, and returns `NaN` when true. predictable: !1, // random seed for seeded pseudo random number generation // null = randomly seed randomSeed: null }; function Nt(n) { return typeof n == "number"; } function Xt(n) { return !n || typeof n != "object" || typeof n.constructor != "function" ? !1 : n.isBigNumber === !0 && typeof n.constructor.prototype == "object" && n.constructor.prototype.isBigNumber === !0 || typeof n.constructor.isDecimal == "function" && n.constructor.isDecimal(n) === !0; } function S1(n) { return n && typeof n == "object" && Object.getPrototypeOf(n).isComplex === !0 || !1; } function E1(n) { return n && typeof n == "object" && Object.getPrototypeOf(n).isFraction === !0 || !1; } function N1(n) { return n && n.constructor.prototype.isUnit === !0 || !1; } function yr(n) { return typeof n == "string"; } var pt = Array.isArray; function ct(n) { return n && n.constructor.prototype.isMatrix === !0 || !1; } function Gi(n) { return Array.isArray(n) || ct(n); } function O$(n) { return n && n.isDenseMatrix && n.constructor.prototype.isMatrix === !0 || !1; } function B$(n) { return n && n.isSparseMatrix && n.constructor.prototype.isMatrix === !0 || !1; } function k1(n) { return n && n.constructor.prototype.isRange === !0 || !1; } function Zd(n) { return n && n.constructor.prototype.isIndex === !0 || !1; } function L$(n) { return typeof n == "boolean"; } function P$(n) { return n && n.constructor.prototype.isResultSet === !0 || !1; } function z$(n) { return n && n.constructor.prototype.isHelp === !0 || !1; } function V$(n) { return typeof n == "function"; } function W$(n) { return n instanceof Date; } function U$(n) { return n instanceof RegExp; } function G$(n) { return !!(n && typeof n == "object" && n.constructor === Object && !S1(n) && !E1(n)); } function H$(n) { return n === null; } function q$(n) { return n === void 0; } function K$(n) { return n && n.isAccessorNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function X$(n) { return n && n.isArrayNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function j$(n) { return n && n.isAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function Y$(n) { return n && n.isBlockNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function Z$(n) { return n && n.isConditionalNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function J$(n) { return n && n.isConstantNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function Q$(n) { return n && n.isFunctionAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function e2(n) { return n && n.isFunctionNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function t2(n) { return n && n.isIndexNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function n2(n) { return n && n.isNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function r2(n) { return n && n.isObjectNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function s2(n) { return n && n.isOperatorNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function o2(n) { return n && n.isParenthesisNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function i2(n) { return n && n.isRangeNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function a2(n) { return n && n.isRelationalNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function u2(n) { return n && n.isSymbolNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function l2(n) { return n && n.constructor.prototype.isChain === !0 || !1; } function ns(n) { var e = typeof n; return e === "object" ? n === null ? "null" : Xt(n) ? "BigNumber" : n.constructor && n.constructor.name ? n.constructor.name : "Object" : e; } function Qe(n) { var e = typeof n; if (e === "number" || e === "string" || e === "boolean" || n === null || n === void 0) return n; if (typeof n.clone == "function") return n.clone(); if (Array.isArray(n)) return n.map(function(t) { return Qe(t); }); if (n instanceof Date) return new Date(n.valueOf()); if (Xt(n)) return n; if (n instanceof RegExp) throw new TypeError("Cannot clone " + n); return c2(n, Qe); } function c2(n, e) { var t = {}; for (var r in n) Hi(n, r) && (t[r] = e(n[r])); return t; } function A1(n, e) { for (var t in e) Hi(e, t) && (n[t] = e[t]); return n; } function Qu(n, e) { var t, r, s; if (Array.isArray(n)) { if (!Array.isArray(e) || n.length !== e.length) return !1; for (r = 0, s = n.length; r < s; r++) if (!Qu(n[r], e[r])) return !1; return !0; } else { if (typeof n == "function") return n === e; if (n instanceof Object) { if (Array.isArray(e) || !(e instanceof Object)) return !1; for (t in n) if (!(t in e) || !Qu(n[t], e[t])) return !1; for (t in e) if (!(t in n)) return !1; return !0; } else return n === e; } } function Hi(n, e) { return n && Object.hasOwnProperty.call(n, e); } function h2(n, e) { for (var t = {}, r = 0; r < e.length; r++) { var s = e[r], o = n[s]; o !== void 0 && (t[s] = o); } return t; } var d2 = ["Matrix", "Array"], f2 = ["number", "BigNumber", "Fraction"], Jn = function(e) { if (e) throw new Error(`The global config is readonly. Please create a mathjs instance if you want to change the default configuration. Example: import { create, all } from 'mathjs'; const mathjs = create(all); mathjs.config({ number: 'BigNumber' }); `); return Object.freeze(I1); }; Kh(Jn, I1, { MATRIX_OPTIONS: d2, NUMBER_OPTIONS: f2 }); function xr(n, e) { var t = typeof Symbol < "u" && n[Symbol.iterator] || n["@@iterator"]; if (!t) { if (Array.isArray(n) || (t = p2(n)) || e && n && typeof n.length == "number") { t && (n = t); var r = 0, s = function() { }; return { s, n: function() { return r >= n.length ? { done: !0 } : { done: !1, value: n[r++] }; }, e: function(l) { throw l; }, f: s }; } throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var o = !0, i = !1, a; return { s: function() { t = t.call(n); }, n: function() { var l = t.next(); return o = l.done, l; }, e: function(l) { i = !0, a = l; }, f: function() { try { !o && t.return != null && t.return(); } finally { if (i) throw a; } } }; } function p2(n, e) { if (n) { if (typeof n == "string") return Zm(n, e); var t = Object.prototype.toString.call(n).slice(8, -1); if (t === "Object" && n.constructor && (t = n.constructor.name), t === "Map" || t === "Set") return Array.from(n); if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Zm(n, e); } } function Zm(n, e) { (e == null || e > n.length) && (e = n.length); for (var t = 0, r = new Array(e); t < e; t++) r[t] = n[t]; return r; } function Wo(n) { return Wo = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, Wo(n); } function Jm() { return !0; } function rr() { return !1; } function Mo() { } var Qm = "Argument is not a typed-function."; function T1() { function n(F) { return Wo(F) === "object" && F !== null && F.constructor === Object; } var e = [{ name: "number", test: function(B) { return typeof B == "number"; } }, { name: "string", test: function(B) { return typeof B == "string"; } }, { name: "boolean", test: function(B) { return typeof B == "boolean"; } }, { name: "Function", test: function(B) { return typeof B == "function"; } }, { name: "Array", test: Array.isArray }, { name: "Date", test: function(B) { return B instanceof Date; } }, { name: "RegExp", test: function(B) { return B instanceof RegExp; } }, { name: "Object", test: n }, { name: "null", test: function(B) { return B === null; } }, { name: "undefined", test: function(B) { return B === void 0; } }], t = { name: "any", test: Jm, isAny: !0 }, r, s, o = 0, i = { createCount: 0 }; function a(F) { var B = r.get(F); if (B) return B; var q = 'Unknown type "' + F + '"', Q = F.toLowerCase(), oe, ae = xr(s), he; try { for (ae.s(); !(he = ae.n()).done; ) if (oe = he.value, oe.toLowerCase() === Q) { q += '. Did you mean "' + oe + '" ?'; break; } } catch (te) { ae.e(te); } finally { ae.f(); } throw new TypeError(q); } function u(F) { for (var B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "any", q = B ? a(B).index : s.length, Q = [], oe = 0; oe < F.length; ++oe) { if (!F[oe] || typeof F[oe].name != "string" || typeof F[oe].test != "function") throw new TypeError("Object with properties {name: string, test: function} expected"); var ae = F[oe].name; if (r.has(ae)) throw new TypeError('Duplicate type name "' + ae + '"'); Q.push(ae), r.set(ae, { name: ae, test: F[oe].test, isAny: F[oe].isAny, index: q + oe, conversionsTo: [] // Newly added type can't have any conversions to it }); } var he = s.slice(q); s = s.slice(0, q).concat(Q).concat(he); for (var te = q + Q.length; te < s.length; ++te) r.get(s[te]).index = te; } function l() { r = /* @__PURE__ */ new Map(), s = [], o = 0, u([t], !1); } l(), u(e); function c() { var F, B = xr(s), q; try { for (B.s(); !(q = B.n()).done; ) F = q.value, r.get(F).conversionsTo = []; } catch (Q) { B.e(Q); } finally { B.f(); } o = 0; } function h(F) { var B = s.filter(function(q) { var Q = r.get(q); return !Q.isAny && Q.test(F); }); return B.length ? B : ["any"]; } function d(F) { return F && typeof F == "function" && "_typedFunctionData" in F; } function f(F, B, q) { if (!d(F)) throw new TypeError(Qm); var Q = q && q.exact, oe = Array.isArray(B) ? B.join(",") : B, ae = y(oe), he = g(ae); if (!Q || he in F.signatures) { var te = F._typedFunctionData.signatureMap.get(he); if (te) return te; } var le = ae.length, ke; if (Q) { ke = []; var ze; for (ze in F.signatures) ke.push(F._typedFunctionData.signatureMap.get(ze)); } else ke = F._typedFunctionData.signatures; for (var ge = 0; ge < le; ++ge) { var on = ae[ge], an = [], gn = void 0, Ut = xr(ke), Rn; try { for (Ut.s(); !(Rn = Ut.n()).done; ) { gn = Rn.value; var Jt = D(gn.params, ge); if (!(!Jt || on.restParam && !Jt.restParam)) { if (!Jt.hasAny) { var nr = function() { var _n = b(Jt); if (on.types.some(function(Us) { return !_n.has(Us.name); })) return "continue"; }(); if (nr === "continue") continue; } an.push(gn); } } } catch (_n) { Ut.e(_n); } finally { Ut.f(); } if (ke = an, ke.length === 0) break; } var In, Sn = xr(ke), Ws; try { for (Sn.s(); !(Ws = Sn.n()).done; ) if (In = Ws.value, In.params.length <= le) return In; } catch (_n) { Sn.e(_n); } finally { Sn.f(); } throw new TypeError("Signature not found (signature: " + (F.name || "unnamed") + "(" + g(ae, ", ") + "))"); } function p(F, B, q) { return f(F, B, q).implementation; } function m(F, B) { var q = a(B); if (q.test(F)) return F; var Q = q.conversionsTo; if (Q.length === 0) throw new Error("There are no conversions to " + B + " defined."); for (var oe = 0; oe < Q.length; oe++) { var ae = a(Q[oe].from); if (ae.test(F)) return Q[oe].convert(F); } throw new Error("Cannot convert " + F + " to " + B); } function g(F) { var B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ","; return F.map(function(q) { return q.name; }).join(B); } function x(F) { var B = F.indexOf("...") === 0, q = B ? F.length > 3 ? F.slice(3) : "any" : F, Q = q.split("|").map(function(te) { return a(te.trim()); }), oe = !1, ae = B ? "..." : "", he = Q.map(function(te) { return oe = te.isAny || oe, ae += te.name + "|", { name: te.name, typeIndex: te.index, test: te.test, isAny: te.isAny, conversion: null, conversionIndex: -1 }; }); return { types: he, name: ae.slice(0, -1), // remove trailing '|' from above hasAny: oe, hasConversion: !1, restParam: B }; } function v(F) { var B = F.types.map(function(he) { return he.name; }), q = V(B), Q = F.hasAny, oe = F.name, ae = q.map(function(he) { var te = a(he.from); return Q = te.isAny || Q, oe += "|" + he.from, { name: he.from, typeIndex: te.index, test: te.test, isAny: te.isAny, conversion: he, conversionIndex: he.index }; }); return { types: F.types.concat(ae), name: oe, hasAny: Q, hasConversion: ae.length > 0, restParam: F.restParam }; } function b(F) { return F.typeSet || (F.typeSet = /* @__PURE__ */ new Set(), F.types.forEach(function(B) { return F.typeSet.add(B.name); })), F.typeSet; } function y(F) { var B = []; if (typeof F != "string") throw new TypeError("Signatures must be strings"); var q = F.trim(); if (q === "") return B; for (var Q = q.split(","), oe = 0; oe < Q.length; ++oe) { var ae = x(Q[oe].trim()); if (ae.restParam && oe !== Q.length - 1) throw new SyntaxError('Unexpected rest parameter "' + Q[oe] + '": only allowed for the last parameter'); if (ae.types.length === 0) return null; B.push(ae); } return B; } function w(F) { var B = fe(F); return B ? B.restParam : !1; } function C(F) { if (!F || F.types.length === 0) return Jm; if (F.types.length === 1) return a(F.types[0].name).test; if (F.types.length === 2) { var B = a(F.types[0].name).test, q = a(F.types[1].name).test; return function(ae) { return B(ae) || q(ae); }; } else { var Q = F.types.map(function(oe) { return a(oe.name).test; }); return function(ae) { for (var he = 0; he < Q.length; he++) if (Q[he](ae)) return !0; return !1; }; } } function $(F) { var B, q, Q; if (w(F)) { B = Ce(F).map(C); var oe = B.length, ae = C(fe(F)), he = function(le) { for (var ke = oe; ke < le.length; ke++) if (!ae(le[ke])) return !1; return !0; }; return function(le) { for (var ke = 0; ke < B.length; ke++) if (!B[ke](le[ke])) return !1; return he(le) && le.length >= oe + 1; }; } else return F.length === 0 ? function(le) { return le.length === 0; } : F.length === 1 ? (q = C(F[0]), function(le) { return q(le[0]) && le.length === 1; }) : F.length === 2 ? (q = C(F[0]), Q = C(F[1]), function(le) { return q(le[0]) && Q(le[1]) && le.length === 2; }) : (B = F.map(C), function(le) { for (var ke = 0; ke < B.length; ke++) if (!B[ke](le[ke])) return !1; return le.length === B.length; }); } function D(F, B) { return B < F.length ? F[B] : w(F) ? fe(F) : null; } function I(F, B) { var q = D(F, B); return q ? b(q) : /* @__PURE__ */ new Set(); } function S(F) { return F.conversion === null || F.conversion === void 0; } function N(F, B) { var q = /* @__PURE__ */ new Set(); return F.forEach(function(Q) { var oe = I(Q.params, B), ae, he = xr(oe), te; try { for (he.s(); !(te = he.n()).done; ) ae = te.value, q.add(ae); } catch (le) { he.e(le); } finally { he.f(); } }), q.has("any") ? ["any"] : Array.from(q); } function A(F, B, q) { var Q, oe, ae = F || "unnamed", he = q, te, le = function() { var Ut = []; if (he.forEach(function(Jt) { var nr = D(Jt.params, te), In = C(nr); (te < Jt.params.length || w(Jt.params)) && In(B[te]) && Ut.push(Jt); }), Ut.length === 0) { if (oe = N(he, te), oe.length > 0) { var Rn = h(B[te]); return Q = new TypeError("Unexpected type of argument in function " + ae + " (expected: " + oe.join(" or ") + ", actual: " + Rn.join(" | ") + ", index: " + te + ")"), Q.data = { category: "wrongType", fn: ae, index: te, actual: Rn, expected: oe }, { v: Q }; } } else he = Ut; }; for (te = 0; te < B.length; te++) { var ke = le(); if (Wo(ke) === "object") return ke.v; } var ze = he.map(function(gn) { return w(gn.params) ? 1 / 0 : gn.params.length; }); if (B.length < Math.min.apply(null, ze)) return oe = N(he, te), Q = new TypeError("Too few arguments in function " + ae + " (expected: " + oe.join(" or ") + ", index: " + B.length + ")"), Q.data = { category: "tooFewArgs", fn: ae, index: B.length, expected: oe }, Q; var ge = Math.max.apply(null, ze); if (B.length > ge) return Q = new TypeError("Too many arguments in function " + ae + " (expected: " + ge + ", actual: " + B.length + ")"), Q.data = { category: "tooManyArgs", fn: ae, index: B.length, expectedLength: ge }, Q; for (var on = [], an = 0; an < B.length; ++an) on.push(h(B[an]).join("|")); return Q = new TypeError('Arguments of type "' + on.join(", ") + '" do not match any of the defined signatures of function ' + ae + "."), Q.data = { category: "mismatch", actual: on }, Q; } function M(F) { for (var B = s.length + 1, q = 0; q < F.types.length; q++) S(F.types[q]) && (B = Math.min(B, F.types[q].typeIndex)); return B; } function T(F) { for (var B = o + 1, q = 0; q < F.types.length; q++) S(F.types[q]) || (B = Math.min(B, F.types[q].conversionIndex)); return B; } function _(F, B) { if (F.hasAny) { if (!B.hasAny) return 1; } else if (B.hasAny) return -1; if (F.restParam) { if (!B.restParam) return 1; } else if (B.restParam) return -1; if (F.hasConversion) { if (!B.hasConversion) return 1; } else if (B.hasConversion) return -1; var q = M(F) - M(B); if (q < 0) return -1; if (q > 0) return 1; var Q = T(F) - T(B); return Q < 0 ? -1 : Q > 0 ? 1 : 0; } function k(F, B) { var q = F.params, Q = B.params, oe = fe(q), ae = fe(Q), he = w(q), te = w(Q); if (he && oe.hasAny) { if (!te || !ae.hasAny) return 1; } else if (te && ae.hasAny) return -1; var le = 0, ke = 0, ze, ge = xr(q), on; try { for (ge.s(); !(on = ge.n()).done; ) ze = on.value, ze.hasAny && ++le, ze.hasConversion && ++ke; } catch (Ai) { ge.e(Ai); } finally { ge.f(); } var an = 0, gn = 0, Ut = xr(Q), Rn; try { for (Ut.s(); !(Rn = Ut.n()).done; ) ze = Rn.value, ze.hasAny && ++an, ze.hasConversion && ++gn; } catch (Ai) { Ut.e(Ai); } finally { Ut.f(); } if (le !== an) return le - an; if (he && oe.hasConversion) { if (!te || !ae.hasConversion) return 1; } else if (te && ae.hasConversion) return -1; if (ke !== gn) return ke - gn; if (he) { if (!te) return 1; } else if (te) return -1; var Jt = (q.length - Q.length) * (he ? -1 : 1); if (Jt !== 0) return Jt; for (var nr = [], In = 0, Sn = 0; Sn < q.length; ++Sn) { var Ws = _(q[Sn], Q[Sn]); nr.push(Ws), In += Ws; } if (In !== 0) return In; for (var _n, Us = 0, Ru = nr; Us < Ru.length; Us++) if (_n = Ru[Us], _n !== 0) return _n; return 0; } function V(F) { if (F.length === 0) return []; var B = F.map(a); F.length > 1 && B.sort(function(le, ke) { return le.index - ke.index; }); var q = B[0].conversionsTo; if (F.length === 1) return q; q = q.concat([]); for (var Q = new Set(F), oe = 1; oe < B.length; ++oe) { var ae = void 0, he = xr(B[oe].conversionsTo), te; try { for (he.s(); !(te = he.n()).done; ) ae = te.value, Q.has(ae.from) || (q.push(ae), Q.add(ae.from)); } catch (le) { he.e(le); } finally { he.f(); } } return q; } function O(F, B) { var q = B; if (F.some(function(te) { return te.hasConversion; })) { var Q = w(F), oe = F.map(W); q = function() { for (var le = [], ke = Q ? arguments.length - 1 : arguments.length, ze = 0; ze < ke; ze++) le[ze] = oe[ze](arguments[ze]); return Q && (le[ke] = arguments[ke].map(oe[ke])), B.apply(this, le); }; } var ae = q; if (w(F)) { var he = F.length - 1; ae = function() { return q.apply(this, ye(arguments, 0, he).concat([ye(arguments, he)])); }; } return ae; } function W(F) { var B, q, Q, oe, ae = [], he = []; switch (F.types.forEach(function(te) { te.conversion && (ae.push(a(te.conversion.from).test), he.push(te.conversion.convert)); }), he.length) { case 0: return function(le) { return le; }; case 1: return B = ae[0], Q = he[0], function(le) { return B(le) ? Q(le) : le; }; case 2: return B = ae[0], q = ae[1], Q = he[0], oe = he[1], function(le) { return B(le) ? Q(le) : q(le) ? oe(le) : le; }; default: return function(le) { for (var ke = 0; ke < he.length; ke++) if (ae[ke](le)) return he[ke](le); return le; }; } } function X(F) { function B(q, Q, oe) { if (Q < q.length) { var ae = q[Q], he = []; if (ae.restParam) { var te = ae.types.filter(S); te.length < ae.types.length && he.push({ types: te, name: "..." + te.map(function(le) { return le.name; }).join("|"), hasAny: te.some(function(le) { return le.isAny; }), hasConversion: !1, restParam: !0 }), he.push(ae); } else he = ae.types.map(function(le) { return { types: [le], name: le.name, hasAny: le.isAny, hasConversion: le.conversion, restParam: !1 }; }); return Me(he, function(le) { return B(q, Q + 1, oe.concat([le])); }); } else return [oe]; } return B(F, 0, []); } function Z(F, B) { for (var q = Math.max(F.length, B.length), Q = 0; Q < q; Q++) { var oe = I(F, Q), ae = I(B, Q), he = !1, te = void 0, le = xr(ae), ke; try { for (le.s(); !(ke = le.n()).done; ) if (te = ke.value, oe.has(te)) { he = !0; break; } } catch (gn) { le.e(gn); } finally { le.f(); } if (!he) return !1; } var ze = F.length, ge = B.length, on = w(F), an = w(B); return on ? an ? ze === ge : ge >= ze : an ? ze >= ge : ze === ge; } function ee(F) { return F.map(function(B) { return Je(B) ? We(B.referToSelf.callback) : He(B) ? Ve(B.referTo.references, B.referTo.callback) : B; }); } function J(F, B, q) { var Q = [], oe, ae = xr(F), he; try { for (ae.s(); !(he = ae.n()).done; ) { oe = he.value; var te = q[oe]; if (typeof te != "number") throw new TypeError('No definition for referenced signature "' + oe + '"'); if (te = B[te], typeof te != "function") return !1; Q.push(te); } } catch (le) { ae.e(le); } finally { ae.f(); } return Q; } function ie(F, B, q) { for (var Q = ee(F), oe = new Array(Q.length).fill(!1), ae = !0; ae; ) { ae = !1; for (var he = !0, te = 0; te < Q.length; ++te) if (!oe[te]) { var le = Q[te]; if (Je(le)) Q[te] = le.referToSelf.callback(q), Q[te].referToSelf = le.referToSelf, oe[te] = !0, he = !1; else if (He(le)) { var ke = J(le.referTo.references, Q, B); ke ? (Q[te] = le.referTo.callback.apply(this, ke), Q[te].referTo = le.referTo, oe[te] = !0, he = !1) : ae = !0; } } if (he && ae) throw new SyntaxError("Circular reference detected in resolving typed.referTo"); } return Q; } function ne(F) { var B = /\bthis(\(|\.signatures\b)/; Object.keys(F).forEach(function(q) { var Q = F[q]; if (B.test(Q.toString())) throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead."); }); } function ce(F, B) { if (i.createCount++, Object.keys(B).length === 0) throw new SyntaxError("No signatures provided"); i.warnAgainstDeprecatedThis && ne(B); var q = [], Q = [], oe = {}, ae = [], he, te = function() { if (!Object.prototype.hasOwnProperty.call(B, he)) return "continue"; var un = y(he); if (!un) return "continue"; q.forEach(function(_o) { if (Z(_o, un)) throw new TypeError('Conflicting signatures "' + g(_o) + '" and "' + g(un) + '".'); }), q.push(un); var Hm = Q.length; Q.push(B[he]); var E$ = un.map(v), _u = void 0, Mu = xr(X(E$)), qm; try { for (Mu.s(); !(qm = Mu.n()).done; ) { _u = qm.value; var Km = g(_u); ae.push({ params: _u, name: Km, fn: Hm }), _u.every(function(_o) { return !_o.hasConversion; }) && (oe[Km] = Hm); } } catch (_o) { Mu.e(_o); } finally { Mu.f(); } }; for (he in B) var le = te(); ae.sort(k); var ke = ie(Q, oe, Fi), ze; for (ze in oe) Object.prototype.hasOwnProperty.call(oe, ze) && (oe[ze] = ke[oe[ze]]); for (var ge = [], on = /* @__PURE__ */ new Map(), an = 0, gn = ae; an < gn.length; an++) ze = gn[an], on.has(ze.name) || (ze.fn = ke[ze.fn], ge.push(ze), on.set(ze.name, ze)); for (var Ut = ge[0] && ge[0].params.length <= 2 && !w(ge[0].params), Rn = ge[1] && ge[1].params.length <= 2 && !w(ge[1].params), Jt = ge[2] && ge[2].params.length <= 2 && !w(ge[2].params), nr = ge[3] && ge[3].params.length <= 2 && !w(ge[3].params), In = ge[4] && ge[4].params.length <= 2 && !w(ge[4].params), Sn = ge[5] && ge[5].params.length <= 2 && !w(ge[5].params), Ws = Ut && Rn && Jt && nr && In && Sn, _n = 0; _n < ge.length; ++_n) ge[_n].test = $(ge[_n].params); for (var Us = Ut ? C(ge[0].params[0]) : rr, Ru = Rn ? C(ge[1].params[0]) : rr, Ai = Jt ? C(ge[2].params[0]) : rr, t$ = nr ? C(ge[3].params[0]) : rr, n$ = In ? C(ge[4].params[0]) : rr, r$ = Sn ? C(ge[5].params[0]) : rr, s$ = Ut ? C(ge[0].params[1]) : rr, o$ = Rn ? C(ge[1].params[1]) : rr, i$ = Jt ? C(ge[2].params[1]) : rr, a$ = nr ? C(ge[3].params[1]) : rr, u$ = In ? C(ge[4].params[1]) : rr, l$ = Sn ? C(ge[5].params[1]) : rr, Ti = 0; Ti < ge.length; ++Ti) ge[Ti].implementation = O(ge[Ti].params, ge[Ti].fn); var c$ = Ut ? ge[0].implementation : Mo, h$ = Rn ? ge[1].implementation : Mo, d$ = Jt ? ge[2].implementation : Mo, f$ = nr ? ge[3].implementation : Mo, p$ = In ? ge[4].implementation : Mo, m$ = Sn ? ge[5].implementation : Mo, g$ = Ut ? ge[0].params.length : -1, x$ = Rn ? ge[1].params.length : -1, v$ = Jt ? ge[2].params.length : -1, b$ = nr ? ge[3].params.length : -1, y$ = In ? ge[4].params.length : -1, w$ = Sn ? ge[5].params.length : -1, C$ = Ws ? 6 : 0, D$ = ge.length, $$ = ge.map(function(Hn) { return Hn.test; }), I$ = ge.map(function(Hn) { return Hn.implementation; }), S$ = function() { for (var un = C$; un < D$; un++) if ($$[un](arguments)) return I$[un].apply(this, arguments); return i.onMismatch(F, arguments, ge); }; function Fi(Hn, un) { return arguments.length === g$ && Us(Hn) && s$(un) ? c$.apply(this, arguments) : arguments.length === x$ && Ru(Hn) && o$(un) ? h$.apply(this, arguments) : arguments.length === v$ && Ai(Hn) && i$(un) ? d$.apply(this, arguments) : arguments.length === b$ && t$(Hn) && a$(un) ? f$.apply(this, arguments) : arguments.length === y$ && n$(Hn) && u$(un) ? p$.apply(this, arguments) : arguments.length === w$ && r$(Hn) && l$(un) ? m$.apply(this, arguments) : S$.apply(this, arguments); } try { Object.defineProperty(Fi, "name", { value: F }); } catch { } return Fi.signatures = oe, Fi._typedFunctionData = { signatures: ge, signatureMap: on }, Fi; } function de(F, B, q) { throw A(F, B, q); } function Ce(F) { return ye(F, 0, F.length - 1); } function fe(F) { return F[F.length - 1]; } function ye(F, B, q) { return Array.prototype.slice.call(F, B, q); } function Ae(F, B) { for (var q = 0; q < F.length; q++) if (B(F[q])) return F[q]; } function Me(F, B) { return Array.prototype.concat.apply([], F.map(B)); } function Ne() { var F = Ce(arguments).map(function(q) { return g(y(q)); }), B = fe(arguments); if (typeof B != "function") throw new TypeError("Callback function expected as last argument"); return Ve(F, B); } function Ve(F, B) { return { referTo: { references: F, callback: B } }; } function We(F) { if (typeof F != "function") throw new TypeError("Callback function expected as first argument"); return { referToSelf: { callback: F } }; } function He(F) { return F && Wo(F.referTo) === "object" && Array.isArray(F.referTo.references) && typeof F.referTo.callback == "function"; } function Je(F) { return F && Wo(F.referToSelf) === "object" && typeof F.referToSelf.callback == "function"; } function tt(F, B) { if (!F) return B; if (B && B !== F) { var q = new Error("Function names do not match (expected: " + F + ", actual: " + B + ")"); throw q.data = { actual: B, expected: F }, q; } return F; } function pn(F) { var B; for (var q in F) Object.prototype.hasOwnProperty.call(F, q) && (d(F[q]) || typeof F[q].signature == "string") && (B = tt(B, F[q].name)); return B; } function Et(F, B) { var q; for (q in B) if (Object.prototype.hasOwnProperty.call(B, q)) { if (q in F && B[q] !== F[q]) { var Q = new Error('Signature "' + q + '" is defined twice'); throw Q.data = { signature: q, sourceFunction: B[q], destFunction: F[q] }, Q; } F[q] = B[q]; } } var Mr = i; i = function(B) { for (var q = typeof B == "string", Q = q ? 1 : 0, oe = q ? B : "", ae = {}, he = Q; he < arguments.length; ++he) { var te = arguments[he], le = {}, ke = void 0; if (typeof te == "function" ? (ke = te.name, typeof te.signature == "string" ? le[te.signature] = te : d(te) && (le = te.signatures)) : n(te) && (le = te, q || (ke = pn(te))), Object.keys(le).length === 0) { var ze = new TypeError("Argument to 'typed' at index " + he + " is not a (typed) function, nor an object with signatures as keys and functions as values."); throw ze.data = { index: he, argument: te }, ze; } q || (oe = tt(oe, ke)), Et(ae, le); } return ce(oe || "", ae); }, i.create = T1, i.createCount = Mr.createCount, i.onMismatch = de, i.throwMismatchError = de, i.createError = A, i.clear = l, i.clearConversions = c, i.addTypes = u, i._findType = a, i.referTo = Ne, i.referToSelf = We, i.convert = m, i.findSignature = f, i.find = p, i.isTypedFunction = d, i.warnAgainstDeprecatedThis = !0, i.addType = function(F, B) { var q = "any"; B !== !1 && r.has("Object") && (q = "Object"), i.addTypes([F], q); }; function mn(F) { if (!F || typeof F.from != "string" || typeof F.to != "string" || typeof F.convert != "function") throw new TypeError("Object with properties {from: string, to: string, convert: function} expected"); if (F.to === F.from) throw new SyntaxError('Illegal to define conversion from "' + F.from + '" to itself.'); } return i.addConversion = function(F) { mn(F); var B = a(F.to); if (B.conversionsTo.every(function(q) { return q.from !== F.from; })) B.conversionsTo.push({ from: F.from, convert: F.convert, index: o++ }); else throw new Error('There is already a conversion from "' + F.from + '" to "' + B.name + '"'); }, i.addConversions = function(F) { F.forEach(i.addConversion); }, i.removeConversion = function(F) { mn(F); var B = a(F.to), q = Ae(B.conversionsTo, function(oe) { return oe.from === F.from; }); if (!q) throw new Error("Attempt to remove nonexistent conversion from " + F.from + " to " + F.to); if (q.convert !== F.convert) throw new Error("Conversion to remove does not match existing conversion"); var Q = B.conversionsTo.indexOf(q); B.conversionsTo.splice(Q, 1); }, i.resolve = function(F, B) { if (!d(F)) throw new TypeError(Qm); for (var q = F._typedFunctionData.signatures, Q = 0; Q < q.length; ++Q) if (q[Q].test(B)) return q[Q]; return null; }, i; } const eg = T1(); function Dt(n) { return typeof n == "boolean" ? !0 : isFinite(n) ? n === Math.round(n) : !1; } function Ih(n, e, t) { var r = { 2: "0b", 8: "0o", 16: "0x" }, s = r[e], o = ""; if (t) { if (t < 1) throw new Error("size must be in greater than 0"); if (!Dt(t)) throw new Error("size must be an integer"); if (n > 2 ** (t - 1) - 1 || n < -(2 ** (t - 1))) throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]")); if (!Dt(n)) throw new Error("Value must be an integer"); n < 0 && (n = n + 2 ** t), o = "i".concat(t); } var i = ""; return n < 0 && (n = -n, i = "-"), "".concat(i).concat(s).concat(n.toString(e)).concat(o); } function Xh(n, e) { if (typeof e == "function") return e(n); if (n === 1 / 0) return "Infinity"; if (n === -1 / 0) return "-Infinity"; if (isNaN(n)) return "NaN"; var t = "auto", r, s; if (e && (e.notation && (t = e.notation), Nt(e) ? r = e : Nt(e.precision) && (r = e.precision), e.wordSize && (s = e.wordSize, typeof s != "number"))) throw new Error('Option "wordSize" must be a number'); switch (t) { case "fixed": return g2(n, r); case "exponential": return F1(n, r); case "engineering": return m2(n, r); case "bin": return Ih(n, 2, s); case "oct": return Ih(n, 8, s); case "hex": return Ih(n, 16, s); case "auto": return x2(n, r, e && e).replace(/((\.\d*?)(0+))($|e)/, function() { var o = arguments[2], i = arguments[4]; return o !== "." ? o + i : i; }); default: throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.'); } } function Vl(n) { var e = String(n).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/); if (!e) throw new SyntaxError("Invalid number " + n); var t = e[1], r = e[2], s = parseFloat(e[4] || "0"), o = r.indexOf("."); s += o !== -1 ? o - 1 : r.length - 1; var i = r.replace(".", "").replace(/^0*/, function(a) { return s -= a.length, ""; }).replace(/0*$/, "").split("").map(function(a) { return parseInt(a); }); return i.length === 0 && (i.push(0), s++), { sign: t, coefficients: i, exponent: s }; } function m2(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Vl(n), r = Wl(t, e), s = r.exponent, o = r.coefficients, i = s % 3 === 0 ? s : s < 0 ? s - 3 - s % 3 : s - s % 3; if (Nt(e)) for (; e > o.length || s - i + 1 > o.length; ) o.push(0); else for (var a = Math.abs(s - i) - (o.length - 1), u = 0; u < a; u++) o.push(0); for (var l = Math.abs(s - i), c = 1; l > 0; ) c++, l--; var h = o.slice(c).join(""), d = Nt(e) && h.length || h.match(/[1-9]/) ? "." + h : "", f = o.slice(0, c).join("") + d + "e" + (s >= 0 ? "+" : "") + i.toString(); return r.sign + f; } function g2(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Vl(n), r = typeof e == "number" ? Wl(t, t.exponent + 1 + e) : t, s = r.coefficients, o = r.exponent + 1, i = o + (e || 0); return s.length < i && (s = s.concat(qo(i - s.length))), o < 0 && (s = qo(-o + 1).concat(s), o = 1), o < s.length && s.splice(o, 0, o === 0 ? "0." : "."), r.sign + s.join(""); } function F1(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Vl(n), r = e ? Wl(t, e) : t, s = r.coefficients, o = r.exponent; s.length < e && (s = s.concat(qo(e - s.length))); var i = s.shift(); return r.sign + i + (s.length > 0 ? "." + s.join("") : "") + "e" + (o >= 0 ? "+" : "") + o; } function x2(n, e, t) { if (isNaN(n) || !isFinite(n)) return String(n); var r = t && t.lowerExp !== void 0 ? t.lowerExp : -3, s = t && t.upperExp !== void 0 ? t.upperExp : 5, o = Vl(n), i = e ? Wl(o, e) : o; if (i.exponent < r || i.exponent >= s) return F1(n, e); var a = i.coefficients, u = i.exponent; a.length < e && (a = a.concat(qo(e - a.length))), a = a.concat(qo(u - a.length + 1 + (a.length < e ? e - a.length : 0))), a = qo(-u).concat(a); var l = u > 0 ? u : 0; return l < a.length - 1 && a.splice(l + 1, 0, "."), i.sign + a.join(""); } function Wl(n, e) { for (var t = { sign: n.sign, coefficients: n.coefficients, exponent: n.exponent }, r = t.coefficients; e <= 0; ) r.unshift(0), t.exponent++, e++; if (r.length > e) { var s = r.splice(e, r.length - e); if (s[0] >= 5) { var o = e - 1; for (r[o]++; r[o] === 10; ) r.pop(), o === 0 && (r.unshift(0), t.exponent++, o++), o--, r[o]++; } } return t; } function qo(n) { for (var e = [], t = 0; t < n; t++) e.push(0); return e; } function v2(n) { return n.toExponential().replace(/e.*$/, "").replace(/^0\.?0*|\./, "").length; } var b2 = Number.EPSILON || 2220446049250313e-31; function Cs(n, e, t) { if (t == null) return n === e; if (n === e) return !0; if (isNaN(n) || isNaN(e)) return !1; if (isFinite(n) && isFinite(e)) { var r = Math.abs(n - e); return r < b2 ? !0 : r <= Math.max(Math.abs(n), Math.abs(e)) * t; } return !1; } function Sh(n, e, t) { var r = n.constructor, s = new r(2), o = ""; if (t) { if (t < 1) throw new Error("size must be in greater than 0"); if (!Dt(t)) throw new Error("size must be an integer"); if (n.greaterThan(s.pow(t - 1).sub(1)) || n.lessThan(s.pow(t - 1).mul(-1))) throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]")); if (!n.isInteger()) throw new Error("Value must be an integer"); n.lessThan(0) && (n = n.add(s.pow(t))), o = "i".concat(t); } switch (e) { case 2: return "".concat(n.toBinary()).concat(o); case 8: return "".concat(n.toOctal()).concat(o); case 16: return "".concat(n.toHexadecimal()).concat(o); default: throw new Error("Base ".concat(e, " not supported ")); } } function y2(n, e) { if (typeof e == "function") return e(n); if (!n.isFinite()) return n.isNaN() ? "NaN" : n.gt(0) ? "Infinity" : "-Infinity"; var t = "auto", r, s; if (e !== void 0 && (e.notation && (t = e.notation), typeof e == "number" ? r = e : e.precision && (r = e.precision), e.wordSize && (s = e.wordSize, typeof s != "number"))) throw new Error('Option "wordSize" must be a number'); switch (t) { case "fixed": return C2(n, r); case "exponential": return tg(n, r); case "engineering": return w2(n, r); case "bin": return Sh(n, 2, s); case "oct": return Sh(n, 8, s); case "hex": return Sh(n, 16, s); case "auto": { var o = e && e.lowerExp !== void 0 ? e.lowerExp : -3, i = e && e.upperExp !== void 0 ? e.upperExp : 5; if (n.isZero()) return "0"; var a, u = n.toSignificantDigits(r), l = u.e; return l >= o && l < i ? a = u.toFixed() : a = tg(n, r), a.replace(/((\.\d*?)(0+))($|e)/, function() { var c = arguments[2], h = arguments[4]; return c !== "." ? c + h : h; }); } default: throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.'); } } function w2(n, e) { var t = n.e, r = t % 3 === 0 ? t : t < 0 ? t - 3 - t % 3 : t - t % 3, s = n.mul(Math.pow(10, -r)), o = s.toPrecision(e); return o.indexOf("e") !== -1 && (o = s.toString()), o + "e" + (t >= 0 ? "+" : "") + r.toString(); } function tg(n, e) { return e !== void 0 ? n.toExponential(e - 1) : n.toExponential(); } function C2(n, e) { return n.toFixed(e); } function St(n, e) { var t = D2(n, e); return e && typeof e == "object" && "truncate" in e && t.length > e.truncate ? t.substring(0, e.truncate - 3) + "..." : t; } function D2(n, e) { if (typeof n == "number") return Xh(n, e); if (Xt(n)) return y2(n, e); if ($2(n)) return !e || e.fraction !== "decimal" ? n.s * n.n + "/" + n.d : n.toString(); if (Array.isArray(n)) return R1(n, e); if (yr(n)) return '"' + n + '"'; if (typeof n == "function") return n.syntax ? String(n.syntax) : "function"; if (n && typeof n == "object") { if (typeof n.format == "function") return n.format(e); if (n && n.toString(e) !== {}.toString()) return n.toString(e); var t = Object.keys(n).map((r) => '"' + r + '": ' + St(n[r], e)); return "{" + t.join(", ") + "}"; } return String(n); } function R1(n, e) { if (Array.isArray(n)) { for (var t = "[", r = n.length, s = 0; s < r; s++) s !== 0 && (t += ", "), t += R1(n[s], e); return t += "]", t; } else return St(n, e); } function $2(n) { return n && typeof n == "object" && typeof n.s == "number" && typeof n.n == "number" && typeof n.d == "number" || !1; } function ot(n, e, t) { if (!(this instanceof ot)) throw new SyntaxError("Constructor must be called with the new operator"); this.actual = n, this.expected = e, this.relation = t, this.message = "Dimension mismatch (" + (Array.isArray(n) ? "[" + n.join(", ") + "]" : n) + " " + (this.relation || "!=") + " " + (Array.isArray(e) ? "[" + e.join(", ") + "]" : e) + ")", this.stack = new Error().stack; } ot.prototype = new RangeError(); ot.prototype.constructor = RangeError; ot.prototype.name = "DimensionError"; ot.prototype.isDimensionError = !0; function vo(n, e, t) { if (!(this instanceof vo)) throw new SyntaxError("Constructor must be called with the new operator"); this.index = n, arguments.length < 3 ? (this.min = 0, this.max = e) : (this.min = e, this.max = t), this.min !== void 0 && this.index < this.min ? this.message = "Index out of range (" + this.index + " < " + this.min + ")" : this.max !== void 0 && this.index >= this.max ? this.message = "Index out of range (" + this.index + " > " + (this.max - 1) + ")" : this.message = "Index out of range (" + this.index + ")", this.stack = new Error().stack; } vo.prototype = new RangeError(); vo.prototype.constructor = RangeError; vo.prototype.name = "IndexError"; vo.prototype.isIndexError = !0; function Qt(n) { for (var e = []; Array.isArray(n); ) e.push(n.length), n = n[0]; return e; } function _1(n, e, t) { var r, s = n.length; if (s !== e[t]) throw new ot(s, e[t]); if (t < e.length - 1) { var o = t + 1; for (r = 0; r < s; r++) { var i = n[r]; if (!Array.isArray(i)) throw new ot(e.length - 1, e.length, "<"); _1(n[r], e, o); } } else for (r = 0; r < s; r++) if (Array.isArray(n[r])) throw new ot(e.length + 1, e.length, ">"); } function ng(n, e) { var t = e.length === 0; if (t) { if (Array.isArray(n)) throw new ot(n.length, 0); } else _1(n, e, 0); } function yt(n, e) { if (!Nt(n) || !Dt(n)) throw new TypeError("Index must be an integer (value: " + n + ")"); if (n < 0 || typeof e == "number" && n >= e) throw new vo(n, e); } function qi(n, e, t) { if (!Array.isArray(n) || !Array.isArray(e)) throw new TypeError("Array expected"); if (e.length === 0) throw new Error("Resizing to scalar is not supported"); e.forEach(function(s) { if (!Nt(s) || !Dt(s) || s < 0) throw new TypeError("Invalid size, must contain positive integers (size: " + St(e) + ")"); }); var r = t !== void 0 ? t : 0; return jh(n, e, 0, r), n; } function jh(n, e, t, r) { var s, o, i = n.length, a = e[t], u = Math.min(i, a); if (n.length = a, t < e.length - 1) { var l = t + 1; for (s = 0; s < u; s++) o = n[s], Array.isArray(o) || (o = [o], n[s] = o), jh(o, e, l, r); for (s = u; s < a; s++) o = [], n[s] = o, jh(o, e, l, r); } else { for (s = 0; s < u; s++) for (; Array.isArray(n[s]); ) n[s] = n[s][0]; for (s = u; s < a; s++) n[s] = r; } } function M1(n, e) { var t = Yh(n), r = t.length; if (!Array.isArray(n) || !Array.isArray(e)) throw new TypeError("Array expected"); if (e.length === 0) throw new ot(0, r, "!="); e = Jd(e, r); var s = O1(e); if (r !== s) throw new ot(s, r, "!="); try { return I2(t, e); } catch (o) { throw o instanceof ot ? new ot(s, r, "!=") : o; } } function Jd(n, e) { var t = O1(n), r = n.slice(), s = -1, o = n.indexOf(s), i = n.indexOf(s, o + 1) >= 0; if (i) throw new Error("More than one wildcard in sizes");