var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
(async () => {
  function g4(e, t) {
    for (var r = 0; r < t.length; r++) {
      const n = t[r];
      if (typeof n != "string" && !Array.isArray(n)) {
        for (const a in n) if (a !== "default" && !(a in e)) {
          const i = Object.getOwnPropertyDescriptor(n, a);
          i && Object.defineProperty(e, a, i.get ? i : {
            enumerable: true,
            get: () => n[a]
          });
        }
      }
    }
    return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, {
      value: "Module"
    }));
  }
  (function() {
    const t = document.createElement("link").relList;
    if (t && t.supports && t.supports("modulepreload")) return;
    for (const a of document.querySelectorAll('link[rel="modulepreload"]')) n(a);
    new MutationObserver((a) => {
      for (const i of a) if (i.type === "childList") for (const s of i.addedNodes) s.tagName === "LINK" && s.rel === "modulepreload" && n(s);
    }).observe(document, {
      childList: true,
      subtree: true
    });
    function r(a) {
      const i = {};
      return a.integrity && (i.integrity = a.integrity), a.referrerPolicy && (i.referrerPolicy = a.referrerPolicy), a.crossOrigin === "use-credentials" ? i.credentials = "include" : a.crossOrigin === "anonymous" ? i.credentials = "omit" : i.credentials = "same-origin", i;
    }
    function n(a) {
      if (a.ep) return;
      a.ep = true;
      const i = r(a);
      fetch(a.href, i);
    }
  })();
  function a8(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
  }
  var Sh = {
    exports: {}
  }, ll = {}, Ih = {
    exports: {}
  }, nt = {}, y6;
  function nA() {
    if (y6) return nt;
    y6 = 1;
    var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), i = Symbol.for("react.provider"), s = Symbol.for("react.context"), l = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), x = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), f = Symbol.iterator;
    function m(M) {
      return M === null || typeof M != "object" ? null : (M = f && M[f] || M["@@iterator"], typeof M == "function" ? M : null);
    }
    var p = {
      isMounted: function() {
        return false;
      },
      enqueueForceUpdate: function() {
      },
      enqueueReplaceState: function() {
      },
      enqueueSetState: function() {
      }
    }, g = Object.assign, E = {};
    function A(M, H, re) {
      this.props = M, this.context = H, this.refs = E, this.updater = re || p;
    }
    A.prototype.isReactComponent = {}, A.prototype.setState = function(M, H) {
      if (typeof M != "object" && typeof M != "function" && M != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
      this.updater.enqueueSetState(this, M, H, "setState");
    }, A.prototype.forceUpdate = function(M) {
      this.updater.enqueueForceUpdate(this, M, "forceUpdate");
    };
    function w() {
    }
    w.prototype = A.prototype;
    function D(M, H, re) {
      this.props = M, this.context = H, this.refs = E, this.updater = re || p;
    }
    var B = D.prototype = new w();
    B.constructor = D, g(B, A.prototype), B.isPureReactComponent = true;
    var v = Array.isArray, _ = Object.prototype.hasOwnProperty, T = {
      current: null
    }, I = {
      key: true,
      ref: true,
      __self: true,
      __source: true
    };
    function z(M, H, re) {
      var te, ae = {}, xe = null, me = null;
      if (H != null) for (te in H.ref !== void 0 && (me = H.ref), H.key !== void 0 && (xe = "" + H.key), H) _.call(H, te) && !I.hasOwnProperty(te) && (ae[te] = H[te]);
      var fe = arguments.length - 2;
      if (fe === 1) ae.children = re;
      else if (1 < fe) {
        for (var ye = Array(fe), Ce = 0; Ce < fe; Ce++) ye[Ce] = arguments[Ce + 2];
        ae.children = ye;
      }
      if (M && M.defaultProps) for (te in fe = M.defaultProps, fe) ae[te] === void 0 && (ae[te] = fe[te]);
      return {
        $$typeof: e,
        type: M,
        key: xe,
        ref: me,
        props: ae,
        _owner: T.current
      };
    }
    function C(M, H) {
      return {
        $$typeof: e,
        type: M.type,
        key: H,
        ref: M.ref,
        props: M.props,
        _owner: M._owner
      };
    }
    function j(M) {
      return typeof M == "object" && M !== null && M.$$typeof === e;
    }
    function U(M) {
      var H = {
        "=": "=0",
        ":": "=2"
      };
      return "$" + M.replace(/[=:]/g, function(re) {
        return H[re];
      });
    }
    var P = /\/+/g;
    function L(M, H) {
      return typeof M == "object" && M !== null && M.key != null ? U("" + M.key) : H.toString(36);
    }
    function F(M, H, re, te, ae) {
      var xe = typeof M;
      (xe === "undefined" || xe === "boolean") && (M = null);
      var me = false;
      if (M === null) me = true;
      else switch (xe) {
        case "string":
        case "number":
          me = true;
          break;
        case "object":
          switch (M.$$typeof) {
            case e:
            case t:
              me = true;
          }
      }
      if (me) return me = M, ae = ae(me), M = te === "" ? "." + L(me, 0) : te, v(ae) ? (re = "", M != null && (re = M.replace(P, "$&/") + "/"), F(ae, H, re, "", function(Ce) {
        return Ce;
      })) : ae != null && (j(ae) && (ae = C(ae, re + (!ae.key || me && me.key === ae.key ? "" : ("" + ae.key).replace(P, "$&/") + "/") + M)), H.push(ae)), 1;
      if (me = 0, te = te === "" ? "." : te + ":", v(M)) for (var fe = 0; fe < M.length; fe++) {
        xe = M[fe];
        var ye = te + L(xe, fe);
        me += F(xe, H, re, ye, ae);
      }
      else if (ye = m(M), typeof ye == "function") for (M = ye.call(M), fe = 0; !(xe = M.next()).done; ) xe = xe.value, ye = te + L(xe, fe++), me += F(xe, H, re, ye, ae);
      else if (xe === "object") throw H = String(M), Error("Objects are not valid as a React child (found: " + (H === "[object Object]" ? "object with keys {" + Object.keys(M).join(", ") + "}" : H) + "). If you meant to render a collection of children, use an array instead.");
      return me;
    }
    function q(M, H, re) {
      if (M == null) return M;
      var te = [], ae = 0;
      return F(M, te, "", "", function(xe) {
        return H.call(re, xe, ae++);
      }), te;
    }
    function $(M) {
      if (M._status === -1) {
        var H = M._result;
        H = H(), H.then(function(re) {
          (M._status === 0 || M._status === -1) && (M._status = 1, M._result = re);
        }, function(re) {
          (M._status === 0 || M._status === -1) && (M._status = 2, M._result = re);
        }), M._status === -1 && (M._status = 0, M._result = H);
      }
      if (M._status === 1) return M._result.default;
      throw M._result;
    }
    var Y = {
      current: null
    }, J = {
      transition: null
    }, Q = {
      ReactCurrentDispatcher: Y,
      ReactCurrentBatchConfig: J,
      ReactCurrentOwner: T
    };
    function Z() {
      throw Error("act(...) is not supported in production builds of React.");
    }
    return nt.Children = {
      map: q,
      forEach: function(M, H, re) {
        q(M, function() {
          H.apply(this, arguments);
        }, re);
      },
      count: function(M) {
        var H = 0;
        return q(M, function() {
          H++;
        }), H;
      },
      toArray: function(M) {
        return q(M, function(H) {
          return H;
        }) || [];
      },
      only: function(M) {
        if (!j(M)) throw Error("React.Children.only expected to receive a single React element child.");
        return M;
      }
    }, nt.Component = A, nt.Fragment = r, nt.Profiler = a, nt.PureComponent = D, nt.StrictMode = n, nt.Suspense = u, nt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Q, nt.act = Z, nt.cloneElement = function(M, H, re) {
      if (M == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + M + ".");
      var te = g({}, M.props), ae = M.key, xe = M.ref, me = M._owner;
      if (H != null) {
        if (H.ref !== void 0 && (xe = H.ref, me = T.current), H.key !== void 0 && (ae = "" + H.key), M.type && M.type.defaultProps) var fe = M.type.defaultProps;
        for (ye in H) _.call(H, ye) && !I.hasOwnProperty(ye) && (te[ye] = H[ye] === void 0 && fe !== void 0 ? fe[ye] : H[ye]);
      }
      var ye = arguments.length - 2;
      if (ye === 1) te.children = re;
      else if (1 < ye) {
        fe = Array(ye);
        for (var Ce = 0; Ce < ye; Ce++) fe[Ce] = arguments[Ce + 2];
        te.children = fe;
      }
      return {
        $$typeof: e,
        type: M.type,
        key: ae,
        ref: xe,
        props: te,
        _owner: me
      };
    }, nt.createContext = function(M) {
      return M = {
        $$typeof: s,
        _currentValue: M,
        _currentValue2: M,
        _threadCount: 0,
        Provider: null,
        Consumer: null,
        _defaultValue: null,
        _globalName: null
      }, M.Provider = {
        $$typeof: i,
        _context: M
      }, M.Consumer = M;
    }, nt.createElement = z, nt.createFactory = function(M) {
      var H = z.bind(null, M);
      return H.type = M, H;
    }, nt.createRef = function() {
      return {
        current: null
      };
    }, nt.forwardRef = function(M) {
      return {
        $$typeof: l,
        render: M
      };
    }, nt.isValidElement = j, nt.lazy = function(M) {
      return {
        $$typeof: d,
        _payload: {
          _status: -1,
          _result: M
        },
        _init: $
      };
    }, nt.memo = function(M, H) {
      return {
        $$typeof: x,
        type: M,
        compare: H === void 0 ? null : H
      };
    }, nt.startTransition = function(M) {
      var H = J.transition;
      J.transition = {};
      try {
        M();
      } finally {
        J.transition = H;
      }
    }, nt.unstable_act = Z, nt.useCallback = function(M, H) {
      return Y.current.useCallback(M, H);
    }, nt.useContext = function(M) {
      return Y.current.useContext(M);
    }, nt.useDebugValue = function() {
    }, nt.useDeferredValue = function(M) {
      return Y.current.useDeferredValue(M);
    }, nt.useEffect = function(M, H) {
      return Y.current.useEffect(M, H);
    }, nt.useId = function() {
      return Y.current.useId();
    }, nt.useImperativeHandle = function(M, H, re) {
      return Y.current.useImperativeHandle(M, H, re);
    }, nt.useInsertionEffect = function(M, H) {
      return Y.current.useInsertionEffect(M, H);
    }, nt.useLayoutEffect = function(M, H) {
      return Y.current.useLayoutEffect(M, H);
    }, nt.useMemo = function(M, H) {
      return Y.current.useMemo(M, H);
    }, nt.useReducer = function(M, H, re) {
      return Y.current.useReducer(M, H, re);
    }, nt.useRef = function(M) {
      return Y.current.useRef(M);
    }, nt.useState = function(M) {
      return Y.current.useState(M);
    }, nt.useSyncExternalStore = function(M, H, re) {
      return Y.current.useSyncExternalStore(M, H, re);
    }, nt.useTransition = function() {
      return Y.current.useTransition();
    }, nt.version = "18.3.1", nt;
  }
  var E6;
  function i8() {
    return E6 || (E6 = 1, Ih.exports = nA()), Ih.exports;
  }
  var b6;
  function aA() {
    if (b6) return ll;
    b6 = 1;
    var e = i8(), t = Symbol.for("react.element"), r = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = {
      key: true,
      ref: true,
      __self: true,
      __source: true
    };
    function s(l, u, x) {
      var d, f = {}, m = null, p = null;
      x !== void 0 && (m = "" + x), u.key !== void 0 && (m = "" + u.key), u.ref !== void 0 && (p = u.ref);
      for (d in u) n.call(u, d) && !i.hasOwnProperty(d) && (f[d] = u[d]);
      if (l && l.defaultProps) for (d in u = l.defaultProps, u) f[d] === void 0 && (f[d] = u[d]);
      return {
        $$typeof: t,
        type: l,
        key: m,
        ref: p,
        props: f,
        _owner: a.current
      };
    }
    return ll.Fragment = r, ll.jsx = s, ll.jsxs = s, ll;
  }
  var A6;
  function iA() {
    return A6 || (A6 = 1, Sh.exports = aA()), Sh.exports;
  }
  var b = iA(), Ph = {}, cl = {}, w6;
  function oA() {
    if (w6) return cl;
    w6 = 1, cl.byteLength = l, cl.toByteArray = x, cl.fromByteArray = m;
    for (var e = [], t = [], r = typeof Uint8Array < "u" ? Uint8Array : Array, n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = 0, i = n.length; a < i; ++a) e[a] = n[a], t[n.charCodeAt(a)] = a;
    t[45] = 62, t[95] = 63;
    function s(p) {
      var g = p.length;
      if (g % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
      var E = p.indexOf("=");
      E === -1 && (E = g);
      var A = E === g ? 0 : 4 - E % 4;
      return [
        E,
        A
      ];
    }
    function l(p) {
      var g = s(p), E = g[0], A = g[1];
      return (E + A) * 3 / 4 - A;
    }
    function u(p, g, E) {
      return (g + E) * 3 / 4 - E;
    }
    function x(p) {
      var g, E = s(p), A = E[0], w = E[1], D = new r(u(p, A, w)), B = 0, v = w > 0 ? A - 4 : A, _;
      for (_ = 0; _ < v; _ += 4) g = t[p.charCodeAt(_)] << 18 | t[p.charCodeAt(_ + 1)] << 12 | t[p.charCodeAt(_ + 2)] << 6 | t[p.charCodeAt(_ + 3)], D[B++] = g >> 16 & 255, D[B++] = g >> 8 & 255, D[B++] = g & 255;
      return w === 2 && (g = t[p.charCodeAt(_)] << 2 | t[p.charCodeAt(_ + 1)] >> 4, D[B++] = g & 255), w === 1 && (g = t[p.charCodeAt(_)] << 10 | t[p.charCodeAt(_ + 1)] << 4 | t[p.charCodeAt(_ + 2)] >> 2, D[B++] = g >> 8 & 255, D[B++] = g & 255), D;
    }
    function d(p) {
      return e[p >> 18 & 63] + e[p >> 12 & 63] + e[p >> 6 & 63] + e[p & 63];
    }
    function f(p, g, E) {
      for (var A, w = [], D = g; D < E; D += 3) A = (p[D] << 16 & 16711680) + (p[D + 1] << 8 & 65280) + (p[D + 2] & 255), w.push(d(A));
      return w.join("");
    }
    function m(p) {
      for (var g, E = p.length, A = E % 3, w = [], D = 16383, B = 0, v = E - A; B < v; B += D) w.push(f(p, B, B + D > v ? v : B + D));
      return A === 1 ? (g = p[E - 1], w.push(e[g >> 2] + e[g << 4 & 63] + "==")) : A === 2 && (g = (p[E - 2] << 8) + p[E - 1], w.push(e[g >> 10] + e[g >> 4 & 63] + e[g << 2 & 63] + "=")), w.join("");
    }
    return cl;
  }
  var Hu = {};
  var v6;
  function sA() {
    return v6 || (v6 = 1, Hu.read = function(e, t, r, n, a) {
      var i, s, l = a * 8 - n - 1, u = (1 << l) - 1, x = u >> 1, d = -7, f = r ? a - 1 : 0, m = r ? -1 : 1, p = e[t + f];
      for (f += m, i = p & (1 << -d) - 1, p >>= -d, d += l; d > 0; i = i * 256 + e[t + f], f += m, d -= 8) ;
      for (s = i & (1 << -d) - 1, i >>= -d, d += n; d > 0; s = s * 256 + e[t + f], f += m, d -= 8) ;
      if (i === 0) i = 1 - x;
      else {
        if (i === u) return s ? NaN : (p ? -1 : 1) * (1 / 0);
        s = s + Math.pow(2, n), i = i - x;
      }
      return (p ? -1 : 1) * s * Math.pow(2, i - n);
    }, Hu.write = function(e, t, r, n, a, i) {
      var s, l, u, x = i * 8 - a - 1, d = (1 << x) - 1, f = d >> 1, m = a === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, p = n ? 0 : i - 1, g = n ? 1 : -1, E = t < 0 || t === 0 && 1 / t < 0 ? 1 : 0;
      for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (l = isNaN(t) ? 1 : 0, s = d) : (s = Math.floor(Math.log(t) / Math.LN2), t * (u = Math.pow(2, -s)) < 1 && (s--, u *= 2), s + f >= 1 ? t += m / u : t += m * Math.pow(2, 1 - f), t * u >= 2 && (s++, u /= 2), s + f >= d ? (l = 0, s = d) : s + f >= 1 ? (l = (t * u - 1) * Math.pow(2, a), s = s + f) : (l = t * Math.pow(2, f - 1) * Math.pow(2, a), s = 0)); a >= 8; e[r + p] = l & 255, p += g, l /= 256, a -= 8) ;
      for (s = s << a | l, x += a; x > 0; e[r + p] = s & 255, p += g, s /= 256, x -= 8) ;
      e[r + p - g] |= E * 128;
    }), Hu;
  }
  var B6;
  function lA() {
    return B6 || (B6 = 1, (function(e) {
      const t = oA(), r = sA(), n = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
      e.Buffer = l, e.SlowBuffer = D, e.INSPECT_MAX_BYTES = 50;
      const a = 2147483647;
      e.kMaxLength = a, l.TYPED_ARRAY_SUPPORT = i(), !l.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");
      function i() {
        try {
          const W = new Uint8Array(1), N = {
            foo: function() {
              return 42;
            }
          };
          return Object.setPrototypeOf(N, Uint8Array.prototype), Object.setPrototypeOf(W, N), W.foo() === 42;
        } catch {
          return false;
        }
      }
      Object.defineProperty(l.prototype, "parent", {
        enumerable: true,
        get: function() {
          if (l.isBuffer(this)) return this.buffer;
        }
      }), Object.defineProperty(l.prototype, "offset", {
        enumerable: true,
        get: function() {
          if (l.isBuffer(this)) return this.byteOffset;
        }
      });
      function s(W) {
        if (W > a) throw new RangeError('The value "' + W + '" is invalid for option "size"');
        const N = new Uint8Array(W);
        return Object.setPrototypeOf(N, l.prototype), N;
      }
      function l(W, N, K) {
        if (typeof W == "number") {
          if (typeof N == "string") throw new TypeError('The "string" argument must be of type string. Received type number');
          return f(W);
        }
        return u(W, N, K);
      }
      l.poolSize = 8192;
      function u(W, N, K) {
        if (typeof W == "string") return m(W, N);
        if (ArrayBuffer.isView(W)) return g(W);
        if (W == null) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof W);
        if (he(W, ArrayBuffer) || W && he(W.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (he(W, SharedArrayBuffer) || W && he(W.buffer, SharedArrayBuffer))) return E(W, N, K);
        if (typeof W == "number") throw new TypeError('The "value" argument must not be of type number. Received type number');
        const ne = W.valueOf && W.valueOf();
        if (ne != null && ne !== W) return l.from(ne, N, K);
        const ue = A(W);
        if (ue) return ue;
        if (typeof Symbol < "u" && Symbol.toPrimitive != null && typeof W[Symbol.toPrimitive] == "function") return l.from(W[Symbol.toPrimitive]("string"), N, K);
        throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof W);
      }
      l.from = function(W, N, K) {
        return u(W, N, K);
      }, Object.setPrototypeOf(l.prototype, Uint8Array.prototype), Object.setPrototypeOf(l, Uint8Array);
      function x(W) {
        if (typeof W != "number") throw new TypeError('"size" argument must be of type number');
        if (W < 0) throw new RangeError('The value "' + W + '" is invalid for option "size"');
      }
      function d(W, N, K) {
        return x(W), W <= 0 ? s(W) : N !== void 0 ? typeof K == "string" ? s(W).fill(N, K) : s(W).fill(N) : s(W);
      }
      l.alloc = function(W, N, K) {
        return d(W, N, K);
      };
      function f(W) {
        return x(W), s(W < 0 ? 0 : w(W) | 0);
      }
      l.allocUnsafe = function(W) {
        return f(W);
      }, l.allocUnsafeSlow = function(W) {
        return f(W);
      };
      function m(W, N) {
        if ((typeof N != "string" || N === "") && (N = "utf8"), !l.isEncoding(N)) throw new TypeError("Unknown encoding: " + N);
        const K = B(W, N) | 0;
        let ne = s(K);
        const ue = ne.write(W, N);
        return ue !== K && (ne = ne.slice(0, ue)), ne;
      }
      function p(W) {
        const N = W.length < 0 ? 0 : w(W.length) | 0, K = s(N);
        for (let ne = 0; ne < N; ne += 1) K[ne] = W[ne] & 255;
        return K;
      }
      function g(W) {
        if (he(W, Uint8Array)) {
          const N = new Uint8Array(W);
          return E(N.buffer, N.byteOffset, N.byteLength);
        }
        return p(W);
      }
      function E(W, N, K) {
        if (N < 0 || W.byteLength < N) throw new RangeError('"offset" is outside of buffer bounds');
        if (W.byteLength < N + (K || 0)) throw new RangeError('"length" is outside of buffer bounds');
        let ne;
        return N === void 0 && K === void 0 ? ne = new Uint8Array(W) : K === void 0 ? ne = new Uint8Array(W, N) : ne = new Uint8Array(W, N, K), Object.setPrototypeOf(ne, l.prototype), ne;
      }
      function A(W) {
        if (l.isBuffer(W)) {
          const N = w(W.length) | 0, K = s(N);
          return K.length === 0 || W.copy(K, 0, 0, N), K;
        }
        if (W.length !== void 0) return typeof W.length != "number" || Se(W.length) ? s(0) : p(W);
        if (W.type === "Buffer" && Array.isArray(W.data)) return p(W.data);
      }
      function w(W) {
        if (W >= a) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a.toString(16) + " bytes");
        return W | 0;
      }
      function D(W) {
        return +W != W && (W = 0), l.alloc(+W);
      }
      l.isBuffer = function(N) {
        return N != null && N._isBuffer === true && N !== l.prototype;
      }, l.compare = function(N, K) {
        if (he(N, Uint8Array) && (N = l.from(N, N.offset, N.byteLength)), he(K, Uint8Array) && (K = l.from(K, K.offset, K.byteLength)), !l.isBuffer(N) || !l.isBuffer(K)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
        if (N === K) return 0;
        let ne = N.length, ue = K.length;
        for (let Ee = 0, we = Math.min(ne, ue); Ee < we; ++Ee) if (N[Ee] !== K[Ee]) {
          ne = N[Ee], ue = K[Ee];
          break;
        }
        return ne < ue ? -1 : ue < ne ? 1 : 0;
      }, l.isEncoding = function(N) {
        switch (String(N).toLowerCase()) {
          case "hex":
          case "utf8":
          case "utf-8":
          case "ascii":
          case "latin1":
          case "binary":
          case "base64":
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return true;
          default:
            return false;
        }
      }, l.concat = function(N, K) {
        if (!Array.isArray(N)) throw new TypeError('"list" argument must be an Array of Buffers');
        if (N.length === 0) return l.alloc(0);
        let ne;
        if (K === void 0) for (K = 0, ne = 0; ne < N.length; ++ne) K += N[ne].length;
        const ue = l.allocUnsafe(K);
        let Ee = 0;
        for (ne = 0; ne < N.length; ++ne) {
          let we = N[ne];
          if (he(we, Uint8Array)) Ee + we.length > ue.length ? (l.isBuffer(we) || (we = l.from(we)), we.copy(ue, Ee)) : Uint8Array.prototype.set.call(ue, we, Ee);
          else if (l.isBuffer(we)) we.copy(ue, Ee);
          else throw new TypeError('"list" argument must be an Array of Buffers');
          Ee += we.length;
        }
        return ue;
      };
      function B(W, N) {
        if (l.isBuffer(W)) return W.length;
        if (ArrayBuffer.isView(W) || he(W, ArrayBuffer)) return W.byteLength;
        if (typeof W != "string") throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof W);
        const K = W.length, ne = arguments.length > 2 && arguments[2] === true;
        if (!ne && K === 0) return 0;
        let ue = false;
        for (; ; ) switch (N) {
          case "ascii":
          case "latin1":
          case "binary":
            return K;
          case "utf8":
          case "utf-8":
            return ee(W).length;
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return K * 2;
          case "hex":
            return K >>> 1;
          case "base64":
            return Be(W).length;
          default:
            if (ue) return ne ? -1 : ee(W).length;
            N = ("" + N).toLowerCase(), ue = true;
        }
      }
      l.byteLength = B;
      function v(W, N, K) {
        let ne = false;
        if ((N === void 0 || N < 0) && (N = 0), N > this.length || ((K === void 0 || K > this.length) && (K = this.length), K <= 0) || (K >>>= 0, N >>>= 0, K <= N)) return "";
        for (W || (W = "utf8"); ; ) switch (W) {
          case "hex":
            return Q(this, N, K);
          case "utf8":
          case "utf-8":
            return F(this, N, K);
          case "ascii":
            return Y(this, N, K);
          case "latin1":
          case "binary":
            return J(this, N, K);
          case "base64":
            return L(this, N, K);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return Z(this, N, K);
          default:
            if (ne) throw new TypeError("Unknown encoding: " + W);
            W = (W + "").toLowerCase(), ne = true;
        }
      }
      l.prototype._isBuffer = true;
      function _(W, N, K) {
        const ne = W[N];
        W[N] = W[K], W[K] = ne;
      }
      l.prototype.swap16 = function() {
        const N = this.length;
        if (N % 2 !== 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
        for (let K = 0; K < N; K += 2) _(this, K, K + 1);
        return this;
      }, l.prototype.swap32 = function() {
        const N = this.length;
        if (N % 4 !== 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
        for (let K = 0; K < N; K += 4) _(this, K, K + 3), _(this, K + 1, K + 2);
        return this;
      }, l.prototype.swap64 = function() {
        const N = this.length;
        if (N % 8 !== 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
        for (let K = 0; K < N; K += 8) _(this, K, K + 7), _(this, K + 1, K + 6), _(this, K + 2, K + 5), _(this, K + 3, K + 4);
        return this;
      }, l.prototype.toString = function() {
        const N = this.length;
        return N === 0 ? "" : arguments.length === 0 ? F(this, 0, N) : v.apply(this, arguments);
      }, l.prototype.toLocaleString = l.prototype.toString, l.prototype.equals = function(N) {
        if (!l.isBuffer(N)) throw new TypeError("Argument must be a Buffer");
        return this === N ? true : l.compare(this, N) === 0;
      }, l.prototype.inspect = function() {
        let N = "";
        const K = e.INSPECT_MAX_BYTES;
        return N = this.toString("hex", 0, K).replace(/(.{2})/g, "$1 ").trim(), this.length > K && (N += " ... "), "<Buffer " + N + ">";
      }, n && (l.prototype[n] = l.prototype.inspect), l.prototype.compare = function(N, K, ne, ue, Ee) {
        if (he(N, Uint8Array) && (N = l.from(N, N.offset, N.byteLength)), !l.isBuffer(N)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof N);
        if (K === void 0 && (K = 0), ne === void 0 && (ne = N ? N.length : 0), ue === void 0 && (ue = 0), Ee === void 0 && (Ee = this.length), K < 0 || ne > N.length || ue < 0 || Ee > this.length) throw new RangeError("out of range index");
        if (ue >= Ee && K >= ne) return 0;
        if (ue >= Ee) return -1;
        if (K >= ne) return 1;
        if (K >>>= 0, ne >>>= 0, ue >>>= 0, Ee >>>= 0, this === N) return 0;
        let we = Ee - ue, Ye = ne - K;
        const ht = Math.min(we, Ye), Xe = this.slice(ue, Ee), tt = N.slice(K, ne);
        for (let at = 0; at < ht; ++at) if (Xe[at] !== tt[at]) {
          we = Xe[at], Ye = tt[at];
          break;
        }
        return we < Ye ? -1 : Ye < we ? 1 : 0;
      };
      function T(W, N, K, ne, ue) {
        if (W.length === 0) return -1;
        if (typeof K == "string" ? (ne = K, K = 0) : K > 2147483647 ? K = 2147483647 : K < -2147483648 && (K = -2147483648), K = +K, Se(K) && (K = ue ? 0 : W.length - 1), K < 0 && (K = W.length + K), K >= W.length) {
          if (ue) return -1;
          K = W.length - 1;
        } else if (K < 0) if (ue) K = 0;
        else return -1;
        if (typeof N == "string" && (N = l.from(N, ne)), l.isBuffer(N)) return N.length === 0 ? -1 : I(W, N, K, ne, ue);
        if (typeof N == "number") return N = N & 255, typeof Uint8Array.prototype.indexOf == "function" ? ue ? Uint8Array.prototype.indexOf.call(W, N, K) : Uint8Array.prototype.lastIndexOf.call(W, N, K) : I(W, [
          N
        ], K, ne, ue);
        throw new TypeError("val must be string, number or Buffer");
      }
      function I(W, N, K, ne, ue) {
        let Ee = 1, we = W.length, Ye = N.length;
        if (ne !== void 0 && (ne = String(ne).toLowerCase(), ne === "ucs2" || ne === "ucs-2" || ne === "utf16le" || ne === "utf-16le")) {
          if (W.length < 2 || N.length < 2) return -1;
          Ee = 2, we /= 2, Ye /= 2, K /= 2;
        }
        function ht(tt, at) {
          return Ee === 1 ? tt[at] : tt.readUInt16BE(at * Ee);
        }
        let Xe;
        if (ue) {
          let tt = -1;
          for (Xe = K; Xe < we; Xe++) if (ht(W, Xe) === ht(N, tt === -1 ? 0 : Xe - tt)) {
            if (tt === -1 && (tt = Xe), Xe - tt + 1 === Ye) return tt * Ee;
          } else tt !== -1 && (Xe -= Xe - tt), tt = -1;
        } else for (K + Ye > we && (K = we - Ye), Xe = K; Xe >= 0; Xe--) {
          let tt = true;
          for (let at = 0; at < Ye; at++) if (ht(W, Xe + at) !== ht(N, at)) {
            tt = false;
            break;
          }
          if (tt) return Xe;
        }
        return -1;
      }
      l.prototype.includes = function(N, K, ne) {
        return this.indexOf(N, K, ne) !== -1;
      }, l.prototype.indexOf = function(N, K, ne) {
        return T(this, N, K, ne, true);
      }, l.prototype.lastIndexOf = function(N, K, ne) {
        return T(this, N, K, ne, false);
      };
      function z(W, N, K, ne) {
        K = Number(K) || 0;
        const ue = W.length - K;
        ne ? (ne = Number(ne), ne > ue && (ne = ue)) : ne = ue;
        const Ee = N.length;
        ne > Ee / 2 && (ne = Ee / 2);
        let we;
        for (we = 0; we < ne; ++we) {
          const Ye = parseInt(N.substr(we * 2, 2), 16);
          if (Se(Ye)) return we;
          W[K + we] = Ye;
        }
        return we;
      }
      function C(W, N, K, ne) {
        return ve(ee(N, W.length - K), W, K, ne);
      }
      function j(W, N, K, ne) {
        return ve(X(N), W, K, ne);
      }
      function U(W, N, K, ne) {
        return ve(Be(N), W, K, ne);
      }
      function P(W, N, K, ne) {
        return ve(oe(N, W.length - K), W, K, ne);
      }
      l.prototype.write = function(N, K, ne, ue) {
        if (K === void 0) ue = "utf8", ne = this.length, K = 0;
        else if (ne === void 0 && typeof K == "string") ue = K, ne = this.length, K = 0;
        else if (isFinite(K)) K = K >>> 0, isFinite(ne) ? (ne = ne >>> 0, ue === void 0 && (ue = "utf8")) : (ue = ne, ne = void 0);
        else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
        const Ee = this.length - K;
        if ((ne === void 0 || ne > Ee) && (ne = Ee), N.length > 0 && (ne < 0 || K < 0) || K > this.length) throw new RangeError("Attempt to write outside buffer bounds");
        ue || (ue = "utf8");
        let we = false;
        for (; ; ) switch (ue) {
          case "hex":
            return z(this, N, K, ne);
          case "utf8":
          case "utf-8":
            return C(this, N, K, ne);
          case "ascii":
          case "latin1":
          case "binary":
            return j(this, N, K, ne);
          case "base64":
            return U(this, N, K, ne);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return P(this, N, K, ne);
          default:
            if (we) throw new TypeError("Unknown encoding: " + ue);
            ue = ("" + ue).toLowerCase(), we = true;
        }
      }, l.prototype.toJSON = function() {
        return {
          type: "Buffer",
          data: Array.prototype.slice.call(this._arr || this, 0)
        };
      };
      function L(W, N, K) {
        return N === 0 && K === W.length ? t.fromByteArray(W) : t.fromByteArray(W.slice(N, K));
      }
      function F(W, N, K) {
        K = Math.min(W.length, K);
        const ne = [];
        let ue = N;
        for (; ue < K; ) {
          const Ee = W[ue];
          let we = null, Ye = Ee > 239 ? 4 : Ee > 223 ? 3 : Ee > 191 ? 2 : 1;
          if (ue + Ye <= K) {
            let ht, Xe, tt, at;
            switch (Ye) {
              case 1:
                Ee < 128 && (we = Ee);
                break;
              case 2:
                ht = W[ue + 1], (ht & 192) === 128 && (at = (Ee & 31) << 6 | ht & 63, at > 127 && (we = at));
                break;
              case 3:
                ht = W[ue + 1], Xe = W[ue + 2], (ht & 192) === 128 && (Xe & 192) === 128 && (at = (Ee & 15) << 12 | (ht & 63) << 6 | Xe & 63, at > 2047 && (at < 55296 || at > 57343) && (we = at));
                break;
              case 4:
                ht = W[ue + 1], Xe = W[ue + 2], tt = W[ue + 3], (ht & 192) === 128 && (Xe & 192) === 128 && (tt & 192) === 128 && (at = (Ee & 15) << 18 | (ht & 63) << 12 | (Xe & 63) << 6 | tt & 63, at > 65535 && at < 1114112 && (we = at));
            }
          }
          we === null ? (we = 65533, Ye = 1) : we > 65535 && (we -= 65536, ne.push(we >>> 10 & 1023 | 55296), we = 56320 | we & 1023), ne.push(we), ue += Ye;
        }
        return $(ne);
      }
      const q = 4096;
      function $(W) {
        const N = W.length;
        if (N <= q) return String.fromCharCode.apply(String, W);
        let K = "", ne = 0;
        for (; ne < N; ) K += String.fromCharCode.apply(String, W.slice(ne, ne += q));
        return K;
      }
      function Y(W, N, K) {
        let ne = "";
        K = Math.min(W.length, K);
        for (let ue = N; ue < K; ++ue) ne += String.fromCharCode(W[ue] & 127);
        return ne;
      }
      function J(W, N, K) {
        let ne = "";
        K = Math.min(W.length, K);
        for (let ue = N; ue < K; ++ue) ne += String.fromCharCode(W[ue]);
        return ne;
      }
      function Q(W, N, K) {
        const ne = W.length;
        (!N || N < 0) && (N = 0), (!K || K < 0 || K > ne) && (K = ne);
        let ue = "";
        for (let Ee = N; Ee < K; ++Ee) ue += Ue[W[Ee]];
        return ue;
      }
      function Z(W, N, K) {
        const ne = W.slice(N, K);
        let ue = "";
        for (let Ee = 0; Ee < ne.length - 1; Ee += 2) ue += String.fromCharCode(ne[Ee] + ne[Ee + 1] * 256);
        return ue;
      }
      l.prototype.slice = function(N, K) {
        const ne = this.length;
        N = ~~N, K = K === void 0 ? ne : ~~K, N < 0 ? (N += ne, N < 0 && (N = 0)) : N > ne && (N = ne), K < 0 ? (K += ne, K < 0 && (K = 0)) : K > ne && (K = ne), K < N && (K = N);
        const ue = this.subarray(N, K);
        return Object.setPrototypeOf(ue, l.prototype), ue;
      };
      function M(W, N, K) {
        if (W % 1 !== 0 || W < 0) throw new RangeError("offset is not uint");
        if (W + N > K) throw new RangeError("Trying to access beyond buffer length");
      }
      l.prototype.readUintLE = l.prototype.readUIntLE = function(N, K, ne) {
        N = N >>> 0, K = K >>> 0, ne || M(N, K, this.length);
        let ue = this[N], Ee = 1, we = 0;
        for (; ++we < K && (Ee *= 256); ) ue += this[N + we] * Ee;
        return ue;
      }, l.prototype.readUintBE = l.prototype.readUIntBE = function(N, K, ne) {
        N = N >>> 0, K = K >>> 0, ne || M(N, K, this.length);
        let ue = this[N + --K], Ee = 1;
        for (; K > 0 && (Ee *= 256); ) ue += this[N + --K] * Ee;
        return ue;
      }, l.prototype.readUint8 = l.prototype.readUInt8 = function(N, K) {
        return N = N >>> 0, K || M(N, 1, this.length), this[N];
      }, l.prototype.readUint16LE = l.prototype.readUInt16LE = function(N, K) {
        return N = N >>> 0, K || M(N, 2, this.length), this[N] | this[N + 1] << 8;
      }, l.prototype.readUint16BE = l.prototype.readUInt16BE = function(N, K) {
        return N = N >>> 0, K || M(N, 2, this.length), this[N] << 8 | this[N + 1];
      }, l.prototype.readUint32LE = l.prototype.readUInt32LE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), (this[N] | this[N + 1] << 8 | this[N + 2] << 16) + this[N + 3] * 16777216;
      }, l.prototype.readUint32BE = l.prototype.readUInt32BE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), this[N] * 16777216 + (this[N + 1] << 16 | this[N + 2] << 8 | this[N + 3]);
      }, l.prototype.readBigUInt64LE = Ie(function(N) {
        N = N >>> 0, Re(N, "offset");
        const K = this[N], ne = this[N + 7];
        (K === void 0 || ne === void 0) && O(N, this.length - 8);
        const ue = K + this[++N] * 2 ** 8 + this[++N] * 2 ** 16 + this[++N] * 2 ** 24, Ee = this[++N] + this[++N] * 2 ** 8 + this[++N] * 2 ** 16 + ne * 2 ** 24;
        return BigInt(ue) + (BigInt(Ee) << BigInt(32));
      }), l.prototype.readBigUInt64BE = Ie(function(N) {
        N = N >>> 0, Re(N, "offset");
        const K = this[N], ne = this[N + 7];
        (K === void 0 || ne === void 0) && O(N, this.length - 8);
        const ue = K * 2 ** 24 + this[++N] * 2 ** 16 + this[++N] * 2 ** 8 + this[++N], Ee = this[++N] * 2 ** 24 + this[++N] * 2 ** 16 + this[++N] * 2 ** 8 + ne;
        return (BigInt(ue) << BigInt(32)) + BigInt(Ee);
      }), l.prototype.readIntLE = function(N, K, ne) {
        N = N >>> 0, K = K >>> 0, ne || M(N, K, this.length);
        let ue = this[N], Ee = 1, we = 0;
        for (; ++we < K && (Ee *= 256); ) ue += this[N + we] * Ee;
        return Ee *= 128, ue >= Ee && (ue -= Math.pow(2, 8 * K)), ue;
      }, l.prototype.readIntBE = function(N, K, ne) {
        N = N >>> 0, K = K >>> 0, ne || M(N, K, this.length);
        let ue = K, Ee = 1, we = this[N + --ue];
        for (; ue > 0 && (Ee *= 256); ) we += this[N + --ue] * Ee;
        return Ee *= 128, we >= Ee && (we -= Math.pow(2, 8 * K)), we;
      }, l.prototype.readInt8 = function(N, K) {
        return N = N >>> 0, K || M(N, 1, this.length), this[N] & 128 ? (255 - this[N] + 1) * -1 : this[N];
      }, l.prototype.readInt16LE = function(N, K) {
        N = N >>> 0, K || M(N, 2, this.length);
        const ne = this[N] | this[N + 1] << 8;
        return ne & 32768 ? ne | 4294901760 : ne;
      }, l.prototype.readInt16BE = function(N, K) {
        N = N >>> 0, K || M(N, 2, this.length);
        const ne = this[N + 1] | this[N] << 8;
        return ne & 32768 ? ne | 4294901760 : ne;
      }, l.prototype.readInt32LE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), this[N] | this[N + 1] << 8 | this[N + 2] << 16 | this[N + 3] << 24;
      }, l.prototype.readInt32BE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), this[N] << 24 | this[N + 1] << 16 | this[N + 2] << 8 | this[N + 3];
      }, l.prototype.readBigInt64LE = Ie(function(N) {
        N = N >>> 0, Re(N, "offset");
        const K = this[N], ne = this[N + 7];
        (K === void 0 || ne === void 0) && O(N, this.length - 8);
        const ue = this[N + 4] + this[N + 5] * 2 ** 8 + this[N + 6] * 2 ** 16 + (ne << 24);
        return (BigInt(ue) << BigInt(32)) + BigInt(K + this[++N] * 2 ** 8 + this[++N] * 2 ** 16 + this[++N] * 2 ** 24);
      }), l.prototype.readBigInt64BE = Ie(function(N) {
        N = N >>> 0, Re(N, "offset");
        const K = this[N], ne = this[N + 7];
        (K === void 0 || ne === void 0) && O(N, this.length - 8);
        const ue = (K << 24) + this[++N] * 2 ** 16 + this[++N] * 2 ** 8 + this[++N];
        return (BigInt(ue) << BigInt(32)) + BigInt(this[++N] * 2 ** 24 + this[++N] * 2 ** 16 + this[++N] * 2 ** 8 + ne);
      }), l.prototype.readFloatLE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), r.read(this, N, true, 23, 4);
      }, l.prototype.readFloatBE = function(N, K) {
        return N = N >>> 0, K || M(N, 4, this.length), r.read(this, N, false, 23, 4);
      }, l.prototype.readDoubleLE = function(N, K) {
        return N = N >>> 0, K || M(N, 8, this.length), r.read(this, N, true, 52, 8);
      }, l.prototype.readDoubleBE = function(N, K) {
        return N = N >>> 0, K || M(N, 8, this.length), r.read(this, N, false, 52, 8);
      };
      function H(W, N, K, ne, ue, Ee) {
        if (!l.isBuffer(W)) throw new TypeError('"buffer" argument must be a Buffer instance');
        if (N > ue || N < Ee) throw new RangeError('"value" argument is out of bounds');
        if (K + ne > W.length) throw new RangeError("Index out of range");
      }
      l.prototype.writeUintLE = l.prototype.writeUIntLE = function(N, K, ne, ue) {
        if (N = +N, K = K >>> 0, ne = ne >>> 0, !ue) {
          const Ye = Math.pow(2, 8 * ne) - 1;
          H(this, N, K, ne, Ye, 0);
        }
        let Ee = 1, we = 0;
        for (this[K] = N & 255; ++we < ne && (Ee *= 256); ) this[K + we] = N / Ee & 255;
        return K + ne;
      }, l.prototype.writeUintBE = l.prototype.writeUIntBE = function(N, K, ne, ue) {
        if (N = +N, K = K >>> 0, ne = ne >>> 0, !ue) {
          const Ye = Math.pow(2, 8 * ne) - 1;
          H(this, N, K, ne, Ye, 0);
        }
        let Ee = ne - 1, we = 1;
        for (this[K + Ee] = N & 255; --Ee >= 0 && (we *= 256); ) this[K + Ee] = N / we & 255;
        return K + ne;
      }, l.prototype.writeUint8 = l.prototype.writeUInt8 = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 1, 255, 0), this[K] = N & 255, K + 1;
      }, l.prototype.writeUint16LE = l.prototype.writeUInt16LE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 2, 65535, 0), this[K] = N & 255, this[K + 1] = N >>> 8, K + 2;
      }, l.prototype.writeUint16BE = l.prototype.writeUInt16BE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 2, 65535, 0), this[K] = N >>> 8, this[K + 1] = N & 255, K + 2;
      }, l.prototype.writeUint32LE = l.prototype.writeUInt32LE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 4, 4294967295, 0), this[K + 3] = N >>> 24, this[K + 2] = N >>> 16, this[K + 1] = N >>> 8, this[K] = N & 255, K + 4;
      }, l.prototype.writeUint32BE = l.prototype.writeUInt32BE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 4, 4294967295, 0), this[K] = N >>> 24, this[K + 1] = N >>> 16, this[K + 2] = N >>> 8, this[K + 3] = N & 255, K + 4;
      };
      function re(W, N, K, ne, ue) {
        je(N, ne, ue, W, K, 7);
        let Ee = Number(N & BigInt(4294967295));
        W[K++] = Ee, Ee = Ee >> 8, W[K++] = Ee, Ee = Ee >> 8, W[K++] = Ee, Ee = Ee >> 8, W[K++] = Ee;
        let we = Number(N >> BigInt(32) & BigInt(4294967295));
        return W[K++] = we, we = we >> 8, W[K++] = we, we = we >> 8, W[K++] = we, we = we >> 8, W[K++] = we, K;
      }
      function te(W, N, K, ne, ue) {
        je(N, ne, ue, W, K, 7);
        let Ee = Number(N & BigInt(4294967295));
        W[K + 7] = Ee, Ee = Ee >> 8, W[K + 6] = Ee, Ee = Ee >> 8, W[K + 5] = Ee, Ee = Ee >> 8, W[K + 4] = Ee;
        let we = Number(N >> BigInt(32) & BigInt(4294967295));
        return W[K + 3] = we, we = we >> 8, W[K + 2] = we, we = we >> 8, W[K + 1] = we, we = we >> 8, W[K] = we, K + 8;
      }
      l.prototype.writeBigUInt64LE = Ie(function(N, K = 0) {
        return re(this, N, K, BigInt(0), BigInt("0xffffffffffffffff"));
      }), l.prototype.writeBigUInt64BE = Ie(function(N, K = 0) {
        return te(this, N, K, BigInt(0), BigInt("0xffffffffffffffff"));
      }), l.prototype.writeIntLE = function(N, K, ne, ue) {
        if (N = +N, K = K >>> 0, !ue) {
          const ht = Math.pow(2, 8 * ne - 1);
          H(this, N, K, ne, ht - 1, -ht);
        }
        let Ee = 0, we = 1, Ye = 0;
        for (this[K] = N & 255; ++Ee < ne && (we *= 256); ) N < 0 && Ye === 0 && this[K + Ee - 1] !== 0 && (Ye = 1), this[K + Ee] = (N / we >> 0) - Ye & 255;
        return K + ne;
      }, l.prototype.writeIntBE = function(N, K, ne, ue) {
        if (N = +N, K = K >>> 0, !ue) {
          const ht = Math.pow(2, 8 * ne - 1);
          H(this, N, K, ne, ht - 1, -ht);
        }
        let Ee = ne - 1, we = 1, Ye = 0;
        for (this[K + Ee] = N & 255; --Ee >= 0 && (we *= 256); ) N < 0 && Ye === 0 && this[K + Ee + 1] !== 0 && (Ye = 1), this[K + Ee] = (N / we >> 0) - Ye & 255;
        return K + ne;
      }, l.prototype.writeInt8 = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 1, 127, -128), N < 0 && (N = 255 + N + 1), this[K] = N & 255, K + 1;
      }, l.prototype.writeInt16LE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 2, 32767, -32768), this[K] = N & 255, this[K + 1] = N >>> 8, K + 2;
      }, l.prototype.writeInt16BE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 2, 32767, -32768), this[K] = N >>> 8, this[K + 1] = N & 255, K + 2;
      }, l.prototype.writeInt32LE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 4, 2147483647, -2147483648), this[K] = N & 255, this[K + 1] = N >>> 8, this[K + 2] = N >>> 16, this[K + 3] = N >>> 24, K + 4;
      }, l.prototype.writeInt32BE = function(N, K, ne) {
        return N = +N, K = K >>> 0, ne || H(this, N, K, 4, 2147483647, -2147483648), N < 0 && (N = 4294967295 + N + 1), this[K] = N >>> 24, this[K + 1] = N >>> 16, this[K + 2] = N >>> 8, this[K + 3] = N & 255, K + 4;
      }, l.prototype.writeBigInt64LE = Ie(function(N, K = 0) {
        return re(this, N, K, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      }), l.prototype.writeBigInt64BE = Ie(function(N, K = 0) {
        return te(this, N, K, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      });
      function ae(W, N, K, ne, ue, Ee) {
        if (K + ne > W.length) throw new RangeError("Index out of range");
        if (K < 0) throw new RangeError("Index out of range");
      }
      function xe(W, N, K, ne, ue) {
        return N = +N, K = K >>> 0, ue || ae(W, N, K, 4), r.write(W, N, K, ne, 23, 4), K + 4;
      }
      l.prototype.writeFloatLE = function(N, K, ne) {
        return xe(this, N, K, true, ne);
      }, l.prototype.writeFloatBE = function(N, K, ne) {
        return xe(this, N, K, false, ne);
      };
      function me(W, N, K, ne, ue) {
        return N = +N, K = K >>> 0, ue || ae(W, N, K, 8), r.write(W, N, K, ne, 52, 8), K + 8;
      }
      l.prototype.writeDoubleLE = function(N, K, ne) {
        return me(this, N, K, true, ne);
      }, l.prototype.writeDoubleBE = function(N, K, ne) {
        return me(this, N, K, false, ne);
      }, l.prototype.copy = function(N, K, ne, ue) {
        if (!l.isBuffer(N)) throw new TypeError("argument should be a Buffer");
        if (ne || (ne = 0), !ue && ue !== 0 && (ue = this.length), K >= N.length && (K = N.length), K || (K = 0), ue > 0 && ue < ne && (ue = ne), ue === ne || N.length === 0 || this.length === 0) return 0;
        if (K < 0) throw new RangeError("targetStart out of bounds");
        if (ne < 0 || ne >= this.length) throw new RangeError("Index out of range");
        if (ue < 0) throw new RangeError("sourceEnd out of bounds");
        ue > this.length && (ue = this.length), N.length - K < ue - ne && (ue = N.length - K + ne);
        const Ee = ue - ne;
        return this === N && typeof Uint8Array.prototype.copyWithin == "function" ? this.copyWithin(K, ne, ue) : Uint8Array.prototype.set.call(N, this.subarray(ne, ue), K), Ee;
      }, l.prototype.fill = function(N, K, ne, ue) {
        if (typeof N == "string") {
          if (typeof K == "string" ? (ue = K, K = 0, ne = this.length) : typeof ne == "string" && (ue = ne, ne = this.length), ue !== void 0 && typeof ue != "string") throw new TypeError("encoding must be a string");
          if (typeof ue == "string" && !l.isEncoding(ue)) throw new TypeError("Unknown encoding: " + ue);
          if (N.length === 1) {
            const we = N.charCodeAt(0);
            (ue === "utf8" && we < 128 || ue === "latin1") && (N = we);
          }
        } else typeof N == "number" ? N = N & 255 : typeof N == "boolean" && (N = Number(N));
        if (K < 0 || this.length < K || this.length < ne) throw new RangeError("Out of range index");
        if (ne <= K) return this;
        K = K >>> 0, ne = ne === void 0 ? this.length : ne >>> 0, N || (N = 0);
        let Ee;
        if (typeof N == "number") for (Ee = K; Ee < ne; ++Ee) this[Ee] = N;
        else {
          const we = l.isBuffer(N) ? N : l.from(N, ue), Ye = we.length;
          if (Ye === 0) throw new TypeError('The value "' + N + '" is invalid for argument "value"');
          for (Ee = 0; Ee < ne - K; ++Ee) this[Ee + K] = we[Ee % Ye];
        }
        return this;
      };
      const fe = {};
      function ye(W, N, K) {
        fe[W] = class extends K {
          constructor() {
            super(), Object.defineProperty(this, "message", {
              value: N.apply(this, arguments),
              writable: true,
              configurable: true
            }), this.name = `${this.name} [${W}]`, this.stack, delete this.name;
          }
          get code() {
            return W;
          }
          set code(ue) {
            Object.defineProperty(this, "code", {
              configurable: true,
              enumerable: true,
              value: ue,
              writable: true
            });
          }
          toString() {
            return `${this.name} [${W}]: ${this.message}`;
          }
        };
      }
      ye("ERR_BUFFER_OUT_OF_BOUNDS", function(W) {
        return W ? `${W} is outside of buffer bounds` : "Attempt to access memory outside buffer bounds";
      }, RangeError), ye("ERR_INVALID_ARG_TYPE", function(W, N) {
        return `The "${W}" argument must be of type number. Received type ${typeof N}`;
      }, TypeError), ye("ERR_OUT_OF_RANGE", function(W, N, K) {
        let ne = `The value of "${W}" is out of range.`, ue = K;
        return Number.isInteger(K) && Math.abs(K) > 2 ** 32 ? ue = Ce(String(K)) : typeof K == "bigint" && (ue = String(K), (K > BigInt(2) ** BigInt(32) || K < -(BigInt(2) ** BigInt(32))) && (ue = Ce(ue)), ue += "n"), ne += ` It must be ${N}. Received ${ue}`, ne;
      }, RangeError);
      function Ce(W) {
        let N = "", K = W.length;
        const ne = W[0] === "-" ? 1 : 0;
        for (; K >= ne + 4; K -= 3) N = `_${W.slice(K - 3, K)}${N}`;
        return `${W.slice(0, K)}${N}`;
      }
      function ke(W, N, K) {
        Re(N, "offset"), (W[N] === void 0 || W[N + K] === void 0) && O(N, W.length - (K + 1));
      }
      function je(W, N, K, ne, ue, Ee) {
        if (W > K || W < N) {
          const we = typeof N == "bigint" ? "n" : "";
          let Ye;
          throw N === 0 || N === BigInt(0) ? Ye = `>= 0${we} and < 2${we} ** ${(Ee + 1) * 8}${we}` : Ye = `>= -(2${we} ** ${(Ee + 1) * 8 - 1}${we}) and < 2 ** ${(Ee + 1) * 8 - 1}${we}`, new fe.ERR_OUT_OF_RANGE("value", Ye, W);
        }
        ke(ne, ue, Ee);
      }
      function Re(W, N) {
        if (typeof W != "number") throw new fe.ERR_INVALID_ARG_TYPE(N, "number", W);
      }
      function O(W, N, K) {
        throw Math.floor(W) !== W ? (Re(W, K), new fe.ERR_OUT_OF_RANGE("offset", "an integer", W)) : N < 0 ? new fe.ERR_BUFFER_OUT_OF_BOUNDS() : new fe.ERR_OUT_OF_RANGE("offset", `>= 0 and <= ${N}`, W);
      }
      const se = /[^+/0-9A-Za-z-_]/g;
      function ce(W) {
        if (W = W.split("=")[0], W = W.trim().replace(se, ""), W.length < 2) return "";
        for (; W.length % 4 !== 0; ) W = W + "=";
        return W;
      }
      function ee(W, N) {
        N = N || 1 / 0;
        let K;
        const ne = W.length;
        let ue = null;
        const Ee = [];
        for (let we = 0; we < ne; ++we) {
          if (K = W.charCodeAt(we), K > 55295 && K < 57344) {
            if (!ue) {
              if (K > 56319) {
                (N -= 3) > -1 && Ee.push(239, 191, 189);
                continue;
              } else if (we + 1 === ne) {
                (N -= 3) > -1 && Ee.push(239, 191, 189);
                continue;
              }
              ue = K;
              continue;
            }
            if (K < 56320) {
              (N -= 3) > -1 && Ee.push(239, 191, 189), ue = K;
              continue;
            }
            K = (ue - 55296 << 10 | K - 56320) + 65536;
          } else ue && (N -= 3) > -1 && Ee.push(239, 191, 189);
          if (ue = null, K < 128) {
            if ((N -= 1) < 0) break;
            Ee.push(K);
          } else if (K < 2048) {
            if ((N -= 2) < 0) break;
            Ee.push(K >> 6 | 192, K & 63 | 128);
          } else if (K < 65536) {
            if ((N -= 3) < 0) break;
            Ee.push(K >> 12 | 224, K >> 6 & 63 | 128, K & 63 | 128);
          } else if (K < 1114112) {
            if ((N -= 4) < 0) break;
            Ee.push(K >> 18 | 240, K >> 12 & 63 | 128, K >> 6 & 63 | 128, K & 63 | 128);
          } else throw new Error("Invalid code point");
        }
        return Ee;
      }
      function X(W) {
        const N = [];
        for (let K = 0; K < W.length; ++K) N.push(W.charCodeAt(K) & 255);
        return N;
      }
      function oe(W, N) {
        let K, ne, ue;
        const Ee = [];
        for (let we = 0; we < W.length && !((N -= 2) < 0); ++we) K = W.charCodeAt(we), ne = K >> 8, ue = K % 256, Ee.push(ue), Ee.push(ne);
        return Ee;
      }
      function Be(W) {
        return t.toByteArray(ce(W));
      }
      function ve(W, N, K, ne) {
        let ue;
        for (ue = 0; ue < ne && !(ue + K >= N.length || ue >= W.length); ++ue) N[ue + K] = W[ue];
        return ue;
      }
      function he(W, N) {
        return W instanceof N || W != null && W.constructor != null && W.constructor.name != null && W.constructor.name === N.name;
      }
      function Se(W) {
        return W !== W;
      }
      const Ue = (function() {
        const W = "0123456789abcdef", N = new Array(256);
        for (let K = 0; K < 16; ++K) {
          const ne = K * 16;
          for (let ue = 0; ue < 16; ++ue) N[ne + ue] = W[K] + W[ue];
        }
        return N;
      })();
      function Ie(W) {
        return typeof BigInt > "u" ? Me : W;
      }
      function Me() {
        throw new Error("BigInt not supported");
      }
    })(Ph)), Ph;
  }
  var y4 = lA();
  typeof window < "u" && (window.Buffer = y4.Buffer, window.global = window);
  var Ae = i8(), Qu = {}, Nh = {
    exports: {}
  }, Lr = {}, jh = {
    exports: {}
  }, zh = {};
  var C6;
  function cA() {
    return C6 || (C6 = 1, (function(e) {
      function t(J, Q) {
        var Z = J.length;
        J.push(Q);
        e: for (; 0 < Z; ) {
          var M = Z - 1 >>> 1, H = J[M];
          if (0 < a(H, Q)) J[M] = Q, J[Z] = H, Z = M;
          else break e;
        }
      }
      function r(J) {
        return J.length === 0 ? null : J[0];
      }
      function n(J) {
        if (J.length === 0) return null;
        var Q = J[0], Z = J.pop();
        if (Z !== Q) {
          J[0] = Z;
          e: for (var M = 0, H = J.length, re = H >>> 1; M < re; ) {
            var te = 2 * (M + 1) - 1, ae = J[te], xe = te + 1, me = J[xe];
            if (0 > a(ae, Z)) xe < H && 0 > a(me, ae) ? (J[M] = me, J[xe] = Z, M = xe) : (J[M] = ae, J[te] = Z, M = te);
            else if (xe < H && 0 > a(me, Z)) J[M] = me, J[xe] = Z, M = xe;
            else break e;
          }
        }
        return Q;
      }
      function a(J, Q) {
        var Z = J.sortIndex - Q.sortIndex;
        return Z !== 0 ? Z : J.id - Q.id;
      }
      if (typeof performance == "object" && typeof performance.now == "function") {
        var i = performance;
        e.unstable_now = function() {
          return i.now();
        };
      } else {
        var s = Date, l = s.now();
        e.unstable_now = function() {
          return s.now() - l;
        };
      }
      var u = [], x = [], d = 1, f = null, m = 3, p = false, g = false, E = false, A = typeof setTimeout == "function" ? setTimeout : null, w = typeof clearTimeout == "function" ? clearTimeout : null, D = typeof setImmediate < "u" ? setImmediate : null;
      typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
      function B(J) {
        for (var Q = r(x); Q !== null; ) {
          if (Q.callback === null) n(x);
          else if (Q.startTime <= J) n(x), Q.sortIndex = Q.expirationTime, t(u, Q);
          else break;
          Q = r(x);
        }
      }
      function v(J) {
        if (E = false, B(J), !g) if (r(u) !== null) g = true, $(_);
        else {
          var Q = r(x);
          Q !== null && Y(v, Q.startTime - J);
        }
      }
      function _(J, Q) {
        g = false, E && (E = false, w(z), z = -1), p = true;
        var Z = m;
        try {
          for (B(Q), f = r(u); f !== null && (!(f.expirationTime > Q) || J && !U()); ) {
            var M = f.callback;
            if (typeof M == "function") {
              f.callback = null, m = f.priorityLevel;
              var H = M(f.expirationTime <= Q);
              Q = e.unstable_now(), typeof H == "function" ? f.callback = H : f === r(u) && n(u), B(Q);
            } else n(u);
            f = r(u);
          }
          if (f !== null) var re = true;
          else {
            var te = r(x);
            te !== null && Y(v, te.startTime - Q), re = false;
          }
          return re;
        } finally {
          f = null, m = Z, p = false;
        }
      }
      var T = false, I = null, z = -1, C = 5, j = -1;
      function U() {
        return !(e.unstable_now() - j < C);
      }
      function P() {
        if (I !== null) {
          var J = e.unstable_now();
          j = J;
          var Q = true;
          try {
            Q = I(true, J);
          } finally {
            Q ? L() : (T = false, I = null);
          }
        } else T = false;
      }
      var L;
      if (typeof D == "function") L = function() {
        D(P);
      };
      else if (typeof MessageChannel < "u") {
        var F = new MessageChannel(), q = F.port2;
        F.port1.onmessage = P, L = function() {
          q.postMessage(null);
        };
      } else L = function() {
        A(P, 0);
      };
      function $(J) {
        I = J, T || (T = true, L());
      }
      function Y(J, Q) {
        z = A(function() {
          J(e.unstable_now());
        }, Q);
      }
      e.unstable_IdlePriority = 5, e.unstable_ImmediatePriority = 1, e.unstable_LowPriority = 4, e.unstable_NormalPriority = 3, e.unstable_Profiling = null, e.unstable_UserBlockingPriority = 2, e.unstable_cancelCallback = function(J) {
        J.callback = null;
      }, e.unstable_continueExecution = function() {
        g || p || (g = true, $(_));
      }, e.unstable_forceFrameRate = function(J) {
        0 > J || 125 < J ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : C = 0 < J ? Math.floor(1e3 / J) : 5;
      }, e.unstable_getCurrentPriorityLevel = function() {
        return m;
      }, e.unstable_getFirstCallbackNode = function() {
        return r(u);
      }, e.unstable_next = function(J) {
        switch (m) {
          case 1:
          case 2:
          case 3:
            var Q = 3;
            break;
          default:
            Q = m;
        }
        var Z = m;
        m = Q;
        try {
          return J();
        } finally {
          m = Z;
        }
      }, e.unstable_pauseExecution = function() {
      }, e.unstable_requestPaint = function() {
      }, e.unstable_runWithPriority = function(J, Q) {
        switch (J) {
          case 1:
          case 2:
          case 3:
          case 4:
          case 5:
            break;
          default:
            J = 3;
        }
        var Z = m;
        m = J;
        try {
          return Q();
        } finally {
          m = Z;
        }
      }, e.unstable_scheduleCallback = function(J, Q, Z) {
        var M = e.unstable_now();
        switch (typeof Z == "object" && Z !== null ? (Z = Z.delay, Z = typeof Z == "number" && 0 < Z ? M + Z : M) : Z = M, J) {
          case 1:
            var H = -1;
            break;
          case 2:
            H = 250;
            break;
          case 5:
            H = 1073741823;
            break;
          case 4:
            H = 1e4;
            break;
          default:
            H = 5e3;
        }
        return H = Z + H, J = {
          id: d++,
          callback: Q,
          priorityLevel: J,
          startTime: Z,
          expirationTime: H,
          sortIndex: -1
        }, Z > M ? (J.sortIndex = Z, t(x, J), r(u) === null && J === r(x) && (E ? (w(z), z = -1) : E = true, Y(v, Z - M))) : (J.sortIndex = H, t(u, J), g || p || (g = true, $(_))), J;
      }, e.unstable_shouldYield = U, e.unstable_wrapCallback = function(J) {
        var Q = m;
        return function() {
          var Z = m;
          m = Q;
          try {
            return J.apply(this, arguments);
          } finally {
            m = Z;
          }
        };
      };
    })(zh)), zh;
  }
  var k6;
  function uA() {
    return k6 || (k6 = 1, jh.exports = cA()), jh.exports;
  }
  var D6;
  function xA() {
    if (D6) return Lr;
    D6 = 1;
    var e = i8(), t = uA();
    function r(o) {
      for (var c = "https://reactjs.org/docs/error-decoder.html?invariant=" + o, h = 1; h < arguments.length; h++) c += "&args[]=" + encodeURIComponent(arguments[h]);
      return "Minified React error #" + o + "; visit " + c + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    }
    var n = /* @__PURE__ */ new Set(), a = {};
    function i(o, c) {
      s(o, c), s(o + "Capture", c);
    }
    function s(o, c) {
      for (a[o] = c, o = 0; o < c.length; o++) n.add(c[o]);
    }
    var l = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), u = Object.prototype.hasOwnProperty, x = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, d = {}, f = {};
    function m(o) {
      return u.call(f, o) ? true : u.call(d, o) ? false : x.test(o) ? f[o] = true : (d[o] = true, false);
    }
    function p(o, c, h, y) {
      if (h !== null && h.type === 0) return false;
      switch (typeof c) {
        case "function":
        case "symbol":
          return true;
        case "boolean":
          return y ? false : h !== null ? !h.acceptsBooleans : (o = o.toLowerCase().slice(0, 5), o !== "data-" && o !== "aria-");
        default:
          return false;
      }
    }
    function g(o, c, h, y) {
      if (c === null || typeof c > "u" || p(o, c, h, y)) return true;
      if (y) return false;
      if (h !== null) switch (h.type) {
        case 3:
          return !c;
        case 4:
          return c === false;
        case 5:
          return isNaN(c);
        case 6:
          return isNaN(c) || 1 > c;
      }
      return false;
    }
    function E(o, c, h, y, S, R, V) {
      this.acceptsBooleans = c === 2 || c === 3 || c === 4, this.attributeName = y, this.attributeNamespace = S, this.mustUseProperty = h, this.propertyName = o, this.type = c, this.sanitizeURL = R, this.removeEmptyString = V;
    }
    var A = {};
    "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o) {
      A[o] = new E(o, 0, false, o, null, false, false);
    }), [
      [
        "acceptCharset",
        "accept-charset"
      ],
      [
        "className",
        "class"
      ],
      [
        "htmlFor",
        "for"
      ],
      [
        "httpEquiv",
        "http-equiv"
      ]
    ].forEach(function(o) {
      var c = o[0];
      A[c] = new E(c, 1, false, o[1], null, false, false);
    }), [
      "contentEditable",
      "draggable",
      "spellCheck",
      "value"
    ].forEach(function(o) {
      A[o] = new E(o, 2, false, o.toLowerCase(), null, false, false);
    }), [
      "autoReverse",
      "externalResourcesRequired",
      "focusable",
      "preserveAlpha"
    ].forEach(function(o) {
      A[o] = new E(o, 2, false, o, null, false, false);
    }), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(o) {
      A[o] = new E(o, 3, false, o.toLowerCase(), null, false, false);
    }), [
      "checked",
      "multiple",
      "muted",
      "selected"
    ].forEach(function(o) {
      A[o] = new E(o, 3, true, o, null, false, false);
    }), [
      "capture",
      "download"
    ].forEach(function(o) {
      A[o] = new E(o, 4, false, o, null, false, false);
    }), [
      "cols",
      "rows",
      "size",
      "span"
    ].forEach(function(o) {
      A[o] = new E(o, 6, false, o, null, false, false);
    }), [
      "rowSpan",
      "start"
    ].forEach(function(o) {
      A[o] = new E(o, 5, false, o.toLowerCase(), null, false, false);
    });
    var w = /[\-:]([a-z])/g;
    function D(o) {
      return o[1].toUpperCase();
    }
    "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(o) {
      var c = o.replace(w, D);
      A[c] = new E(c, 1, false, o, null, false, false);
    }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o) {
      var c = o.replace(w, D);
      A[c] = new E(c, 1, false, o, "http://www.w3.org/1999/xlink", false, false);
    }), [
      "xml:base",
      "xml:lang",
      "xml:space"
    ].forEach(function(o) {
      var c = o.replace(w, D);
      A[c] = new E(c, 1, false, o, "http://www.w3.org/XML/1998/namespace", false, false);
    }), [
      "tabIndex",
      "crossOrigin"
    ].forEach(function(o) {
      A[o] = new E(o, 1, false, o.toLowerCase(), null, false, false);
    }), A.xlinkHref = new E("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false), [
      "src",
      "href",
      "action",
      "formAction"
    ].forEach(function(o) {
      A[o] = new E(o, 1, false, o.toLowerCase(), null, true, true);
    });
    function B(o, c, h, y) {
      var S = A.hasOwnProperty(c) ? A[c] : null;
      (S !== null ? S.type !== 0 : y || !(2 < c.length) || c[0] !== "o" && c[0] !== "O" || c[1] !== "n" && c[1] !== "N") && (g(c, h, S, y) && (h = null), y || S === null ? m(c) && (h === null ? o.removeAttribute(c) : o.setAttribute(c, "" + h)) : S.mustUseProperty ? o[S.propertyName] = h === null ? S.type === 3 ? false : "" : h : (c = S.attributeName, y = S.attributeNamespace, h === null ? o.removeAttribute(c) : (S = S.type, h = S === 3 || S === 4 && h === true ? "" : "" + h, y ? o.setAttributeNS(y, c, h) : o.setAttribute(c, h))));
    }
    var v = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, _ = Symbol.for("react.element"), T = Symbol.for("react.portal"), I = Symbol.for("react.fragment"), z = Symbol.for("react.strict_mode"), C = Symbol.for("react.profiler"), j = Symbol.for("react.provider"), U = Symbol.for("react.context"), P = Symbol.for("react.forward_ref"), L = Symbol.for("react.suspense"), F = Symbol.for("react.suspense_list"), q = Symbol.for("react.memo"), $ = Symbol.for("react.lazy"), Y = Symbol.for("react.offscreen"), J = Symbol.iterator;
    function Q(o) {
      return o === null || typeof o != "object" ? null : (o = J && o[J] || o["@@iterator"], typeof o == "function" ? o : null);
    }
    var Z = Object.assign, M;
    function H(o) {
      if (M === void 0) try {
        throw Error();
      } catch (h) {
        var c = h.stack.trim().match(/\n( *(at )?)/);
        M = c && c[1] || "";
      }
      return `
` + M + o;
    }
    var re = false;
    function te(o, c) {
      if (!o || re) return "";
      re = true;
      var h = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      try {
        if (c) if (c = function() {
          throw Error();
        }, Object.defineProperty(c.prototype, "props", {
          set: function() {
            throw Error();
          }
        }), typeof Reflect == "object" && Reflect.construct) {
          try {
            Reflect.construct(c, []);
          } catch (be) {
            var y = be;
          }
          Reflect.construct(o, [], c);
        } else {
          try {
            c.call();
          } catch (be) {
            y = be;
          }
          o.call(c.prototype);
        }
        else {
          try {
            throw Error();
          } catch (be) {
            y = be;
          }
          o();
        }
      } catch (be) {
        if (be && y && typeof be.stack == "string") {
          for (var S = be.stack.split(`
`), R = y.stack.split(`
`), V = S.length - 1, ie = R.length - 1; 1 <= V && 0 <= ie && S[V] !== R[ie]; ) ie--;
          for (; 1 <= V && 0 <= ie; V--, ie--) if (S[V] !== R[ie]) {
            if (V !== 1 || ie !== 1) do
              if (V--, ie--, 0 > ie || S[V] !== R[ie]) {
                var le = `
` + S[V].replace(" at new ", " at ");
                return o.displayName && le.includes("<anonymous>") && (le = le.replace("<anonymous>", o.displayName)), le;
              }
            while (1 <= V && 0 <= ie);
            break;
          }
        }
      } finally {
        re = false, Error.prepareStackTrace = h;
      }
      return (o = o ? o.displayName || o.name : "") ? H(o) : "";
    }
    function ae(o) {
      switch (o.tag) {
        case 5:
          return H(o.type);
        case 16:
          return H("Lazy");
        case 13:
          return H("Suspense");
        case 19:
          return H("SuspenseList");
        case 0:
        case 2:
        case 15:
          return o = te(o.type, false), o;
        case 11:
          return o = te(o.type.render, false), o;
        case 1:
          return o = te(o.type, true), o;
        default:
          return "";
      }
    }
    function xe(o) {
      if (o == null) return null;
      if (typeof o == "function") return o.displayName || o.name || null;
      if (typeof o == "string") return o;
      switch (o) {
        case I:
          return "Fragment";
        case T:
          return "Portal";
        case C:
          return "Profiler";
        case z:
          return "StrictMode";
        case L:
          return "Suspense";
        case F:
          return "SuspenseList";
      }
      if (typeof o == "object") switch (o.$$typeof) {
        case U:
          return (o.displayName || "Context") + ".Consumer";
        case j:
          return (o._context.displayName || "Context") + ".Provider";
        case P:
          var c = o.render;
          return o = o.displayName, o || (o = c.displayName || c.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
        case q:
          return c = o.displayName || null, c !== null ? c : xe(o.type) || "Memo";
        case $:
          c = o._payload, o = o._init;
          try {
            return xe(o(c));
          } catch {
          }
      }
      return null;
    }
    function me(o) {
      var c = o.type;
      switch (o.tag) {
        case 24:
          return "Cache";
        case 9:
          return (c.displayName || "Context") + ".Consumer";
        case 10:
          return (c._context.displayName || "Context") + ".Provider";
        case 18:
          return "DehydratedFragment";
        case 11:
          return o = c.render, o = o.displayName || o.name || "", c.displayName || (o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef");
        case 7:
          return "Fragment";
        case 5:
          return c;
        case 4:
          return "Portal";
        case 3:
          return "Root";
        case 6:
          return "Text";
        case 16:
          return xe(c);
        case 8:
          return c === z ? "StrictMode" : "Mode";
        case 22:
          return "Offscreen";
        case 12:
          return "Profiler";
        case 21:
          return "Scope";
        case 13:
          return "Suspense";
        case 19:
          return "SuspenseList";
        case 25:
          return "TracingMarker";
        case 1:
        case 0:
        case 17:
        case 2:
        case 14:
        case 15:
          if (typeof c == "function") return c.displayName || c.name || null;
          if (typeof c == "string") return c;
      }
      return null;
    }
    function fe(o) {
      switch (typeof o) {
        case "boolean":
        case "number":
        case "string":
        case "undefined":
          return o;
        case "object":
          return o;
        default:
          return "";
      }
    }
    function ye(o) {
      var c = o.type;
      return (o = o.nodeName) && o.toLowerCase() === "input" && (c === "checkbox" || c === "radio");
    }
    function Ce(o) {
      var c = ye(o) ? "checked" : "value", h = Object.getOwnPropertyDescriptor(o.constructor.prototype, c), y = "" + o[c];
      if (!o.hasOwnProperty(c) && typeof h < "u" && typeof h.get == "function" && typeof h.set == "function") {
        var S = h.get, R = h.set;
        return Object.defineProperty(o, c, {
          configurable: true,
          get: function() {
            return S.call(this);
          },
          set: function(V) {
            y = "" + V, R.call(this, V);
          }
        }), Object.defineProperty(o, c, {
          enumerable: h.enumerable
        }), {
          getValue: function() {
            return y;
          },
          setValue: function(V) {
            y = "" + V;
          },
          stopTracking: function() {
            o._valueTracker = null, delete o[c];
          }
        };
      }
    }
    function ke(o) {
      o._valueTracker || (o._valueTracker = Ce(o));
    }
    function je(o) {
      if (!o) return false;
      var c = o._valueTracker;
      if (!c) return true;
      var h = c.getValue(), y = "";
      return o && (y = ye(o) ? o.checked ? "true" : "false" : o.value), o = y, o !== h ? (c.setValue(o), true) : false;
    }
    function Re(o) {
      if (o = o || (typeof document < "u" ? document : void 0), typeof o > "u") return null;
      try {
        return o.activeElement || o.body;
      } catch {
        return o.body;
      }
    }
    function O(o, c) {
      var h = c.checked;
      return Z({}, c, {
        defaultChecked: void 0,
        defaultValue: void 0,
        value: void 0,
        checked: h ?? o._wrapperState.initialChecked
      });
    }
    function se(o, c) {
      var h = c.defaultValue == null ? "" : c.defaultValue, y = c.checked != null ? c.checked : c.defaultChecked;
      h = fe(c.value != null ? c.value : h), o._wrapperState = {
        initialChecked: y,
        initialValue: h,
        controlled: c.type === "checkbox" || c.type === "radio" ? c.checked != null : c.value != null
      };
    }
    function ce(o, c) {
      c = c.checked, c != null && B(o, "checked", c, false);
    }
    function ee(o, c) {
      ce(o, c);
      var h = fe(c.value), y = c.type;
      if (h != null) y === "number" ? (h === 0 && o.value === "" || o.value != h) && (o.value = "" + h) : o.value !== "" + h && (o.value = "" + h);
      else if (y === "submit" || y === "reset") {
        o.removeAttribute("value");
        return;
      }
      c.hasOwnProperty("value") ? oe(o, c.type, h) : c.hasOwnProperty("defaultValue") && oe(o, c.type, fe(c.defaultValue)), c.checked == null && c.defaultChecked != null && (o.defaultChecked = !!c.defaultChecked);
    }
    function X(o, c, h) {
      if (c.hasOwnProperty("value") || c.hasOwnProperty("defaultValue")) {
        var y = c.type;
        if (!(y !== "submit" && y !== "reset" || c.value !== void 0 && c.value !== null)) return;
        c = "" + o._wrapperState.initialValue, h || c === o.value || (o.value = c), o.defaultValue = c;
      }
      h = o.name, h !== "" && (o.name = ""), o.defaultChecked = !!o._wrapperState.initialChecked, h !== "" && (o.name = h);
    }
    function oe(o, c, h) {
      (c !== "number" || Re(o.ownerDocument) !== o) && (h == null ? o.defaultValue = "" + o._wrapperState.initialValue : o.defaultValue !== "" + h && (o.defaultValue = "" + h));
    }
    var Be = Array.isArray;
    function ve(o, c, h, y) {
      if (o = o.options, c) {
        c = {};
        for (var S = 0; S < h.length; S++) c["$" + h[S]] = true;
        for (h = 0; h < o.length; h++) S = c.hasOwnProperty("$" + o[h].value), o[h].selected !== S && (o[h].selected = S), S && y && (o[h].defaultSelected = true);
      } else {
        for (h = "" + fe(h), c = null, S = 0; S < o.length; S++) {
          if (o[S].value === h) {
            o[S].selected = true, y && (o[S].defaultSelected = true);
            return;
          }
          c !== null || o[S].disabled || (c = o[S]);
        }
        c !== null && (c.selected = true);
      }
    }
    function he(o, c) {
      if (c.dangerouslySetInnerHTML != null) throw Error(r(91));
      return Z({}, c, {
        value: void 0,
        defaultValue: void 0,
        children: "" + o._wrapperState.initialValue
      });
    }
    function Se(o, c) {
      var h = c.value;
      if (h == null) {
        if (h = c.children, c = c.defaultValue, h != null) {
          if (c != null) throw Error(r(92));
          if (Be(h)) {
            if (1 < h.length) throw Error(r(93));
            h = h[0];
          }
          c = h;
        }
        c == null && (c = ""), h = c;
      }
      o._wrapperState = {
        initialValue: fe(h)
      };
    }
    function Ue(o, c) {
      var h = fe(c.value), y = fe(c.defaultValue);
      h != null && (h = "" + h, h !== o.value && (o.value = h), c.defaultValue == null && o.defaultValue !== h && (o.defaultValue = h)), y != null && (o.defaultValue = "" + y);
    }
    function Ie(o) {
      var c = o.textContent;
      c === o._wrapperState.initialValue && c !== "" && c !== null && (o.value = c);
    }
    function Me(o) {
      switch (o) {
        case "svg":
          return "http://www.w3.org/2000/svg";
        case "math":
          return "http://www.w3.org/1998/Math/MathML";
        default:
          return "http://www.w3.org/1999/xhtml";
      }
    }
    function W(o, c) {
      return o == null || o === "http://www.w3.org/1999/xhtml" ? Me(c) : o === "http://www.w3.org/2000/svg" && c === "foreignObject" ? "http://www.w3.org/1999/xhtml" : o;
    }
    var N, K = (function(o) {
      return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(c, h, y, S) {
        MSApp.execUnsafeLocalFunction(function() {
          return o(c, h, y, S);
        });
      } : o;
    })(function(o, c) {
      if (o.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in o) o.innerHTML = c;
      else {
        for (N = N || document.createElement("div"), N.innerHTML = "<svg>" + c.valueOf().toString() + "</svg>", c = N.firstChild; o.firstChild; ) o.removeChild(o.firstChild);
        for (; c.firstChild; ) o.appendChild(c.firstChild);
      }
    });
    function ne(o, c) {
      if (c) {
        var h = o.firstChild;
        if (h && h === o.lastChild && h.nodeType === 3) {
          h.nodeValue = c;
          return;
        }
      }
      o.textContent = c;
    }
    var ue = {
      animationIterationCount: true,
      aspectRatio: true,
      borderImageOutset: true,
      borderImageSlice: true,
      borderImageWidth: true,
      boxFlex: true,
      boxFlexGroup: true,
      boxOrdinalGroup: true,
      columnCount: true,
      columns: true,
      flex: true,
      flexGrow: true,
      flexPositive: true,
      flexShrink: true,
      flexNegative: true,
      flexOrder: true,
      gridArea: true,
      gridRow: true,
      gridRowEnd: true,
      gridRowSpan: true,
      gridRowStart: true,
      gridColumn: true,
      gridColumnEnd: true,
      gridColumnSpan: true,
      gridColumnStart: true,
      fontWeight: true,
      lineClamp: true,
      lineHeight: true,
      opacity: true,
      order: true,
      orphans: true,
      tabSize: true,
      widows: true,
      zIndex: true,
      zoom: true,
      fillOpacity: true,
      floodOpacity: true,
      stopOpacity: true,
      strokeDasharray: true,
      strokeDashoffset: true,
      strokeMiterlimit: true,
      strokeOpacity: true,
      strokeWidth: true
    }, Ee = [
      "Webkit",
      "ms",
      "Moz",
      "O"
    ];
    Object.keys(ue).forEach(function(o) {
      Ee.forEach(function(c) {
        c = c + o.charAt(0).toUpperCase() + o.substring(1), ue[c] = ue[o];
      });
    });
    function we(o, c, h) {
      return c == null || typeof c == "boolean" || c === "" ? "" : h || typeof c != "number" || c === 0 || ue.hasOwnProperty(o) && ue[o] ? ("" + c).trim() : c + "px";
    }
    function Ye(o, c) {
      o = o.style;
      for (var h in c) if (c.hasOwnProperty(h)) {
        var y = h.indexOf("--") === 0, S = we(h, c[h], y);
        h === "float" && (h = "cssFloat"), y ? o.setProperty(h, S) : o[h] = S;
      }
    }
    var ht = Z({
      menuitem: true
    }, {
      area: true,
      base: true,
      br: true,
      col: true,
      embed: true,
      hr: true,
      img: true,
      input: true,
      keygen: true,
      link: true,
      meta: true,
      param: true,
      source: true,
      track: true,
      wbr: true
    });
    function Xe(o, c) {
      if (c) {
        if (ht[o] && (c.children != null || c.dangerouslySetInnerHTML != null)) throw Error(r(137, o));
        if (c.dangerouslySetInnerHTML != null) {
          if (c.children != null) throw Error(r(60));
          if (typeof c.dangerouslySetInnerHTML != "object" || !("__html" in c.dangerouslySetInnerHTML)) throw Error(r(61));
        }
        if (c.style != null && typeof c.style != "object") throw Error(r(62));
      }
    }
    function tt(o, c) {
      if (o.indexOf("-") === -1) return typeof c.is == "string";
      switch (o) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return false;
        default:
          return true;
      }
    }
    var at = null;
    function $n(o) {
      return o = o.target || o.srcElement || window, o.correspondingUseElement && (o = o.correspondingUseElement), o.nodeType === 3 ? o.parentNode : o;
    }
    var Xn = null, Nn = null, zr = null;
    function Jn(o) {
      if (o = V0(o)) {
        if (typeof Xn != "function") throw Error(r(280));
        var c = o.stateNode;
        c && (c = au(c), Xn(o.stateNode, o.type, c));
      }
    }
    function C0(o) {
      Nn ? zr ? zr.push(o) : zr = [
        o
      ] : Nn = o;
    }
    function Pc() {
      if (Nn) {
        var o = Nn, c = zr;
        if (zr = Nn = null, Jn(o), c) for (o = 0; o < c.length; o++) Jn(c[o]);
      }
    }
    function Nc(o, c) {
      return o(c);
    }
    function lo() {
    }
    var k0 = false;
    function jc(o, c, h) {
      if (k0) return o(c, h);
      k0 = true;
      try {
        return Nc(o, c, h);
      } finally {
        k0 = false, (Nn !== null || zr !== null) && (lo(), Pc());
      }
    }
    function ci(o, c) {
      var h = o.stateNode;
      if (h === null) return null;
      var y = au(h);
      if (y === null) return null;
      h = y[c];
      e: switch (c) {
        case "onClick":
        case "onClickCapture":
        case "onDoubleClick":
        case "onDoubleClickCapture":
        case "onMouseDown":
        case "onMouseDownCapture":
        case "onMouseMove":
        case "onMouseMoveCapture":
        case "onMouseUp":
        case "onMouseUpCapture":
        case "onMouseEnter":
          (y = !y.disabled) || (o = o.type, y = !(o === "button" || o === "input" || o === "select" || o === "textarea")), o = !y;
          break e;
        default:
          o = false;
      }
      if (o) return null;
      if (h && typeof h != "function") throw Error(r(231, c, typeof h));
      return h;
    }
    var D0 = false;
    if (l) try {
      var co = {};
      Object.defineProperty(co, "passive", {
        get: function() {
          D0 = true;
        }
      }), window.addEventListener("test", co, co), window.removeEventListener("test", co, co);
    } catch {
      D0 = false;
    }
    function Vd(o, c, h, y, S, R, V, ie, le) {
      var be = Array.prototype.slice.call(arguments, 3);
      try {
        c.apply(h, be);
      } catch (_e) {
        this.onError(_e);
      }
    }
    var uo = false, ui = null, os = false, F0 = null, zc = {
      onError: function(o) {
        uo = true, ui = o;
      }
    };
    function Wd(o, c, h, y, S, R, V, ie, le) {
      uo = false, ui = null, Vd.apply(zc, arguments);
    }
    function Zd(o, c, h, y, S, R, V, ie, le) {
      if (Wd.apply(this, arguments), uo) {
        if (uo) {
          var be = ui;
          uo = false, ui = null;
        } else throw Error(r(198));
        os || (os = true, F0 = be);
      }
    }
    function Ia(o) {
      var c = o, h = o;
      if (o.alternate) for (; c.return; ) c = c.return;
      else {
        o = c;
        do
          c = o, (c.flags & 4098) !== 0 && (h = c.return), o = c.return;
        while (o);
      }
      return c.tag === 3 ? h : null;
    }
    function Uc(o) {
      if (o.tag === 13) {
        var c = o.memoizedState;
        if (c === null && (o = o.alternate, o !== null && (c = o.memoizedState)), c !== null) return c.dehydrated;
      }
      return null;
    }
    function Rc(o) {
      if (Ia(o) !== o) throw Error(r(188));
    }
    function Fe(o) {
      var c = o.alternate;
      if (!c) {
        if (c = Ia(o), c === null) throw Error(r(188));
        return c !== o ? null : o;
      }
      for (var h = o, y = c; ; ) {
        var S = h.return;
        if (S === null) break;
        var R = S.alternate;
        if (R === null) {
          if (y = S.return, y !== null) {
            h = y;
            continue;
          }
          break;
        }
        if (S.child === R.child) {
          for (R = S.child; R; ) {
            if (R === h) return Rc(S), o;
            if (R === y) return Rc(S), c;
            R = R.sibling;
          }
          throw Error(r(188));
        }
        if (h.return !== y.return) h = S, y = R;
        else {
          for (var V = false, ie = S.child; ie; ) {
            if (ie === h) {
              V = true, h = S, y = R;
              break;
            }
            if (ie === y) {
              V = true, y = S, h = R;
              break;
            }
            ie = ie.sibling;
          }
          if (!V) {
            for (ie = R.child; ie; ) {
              if (ie === h) {
                V = true, h = R, y = S;
                break;
              }
              if (ie === y) {
                V = true, y = R, h = S;
                break;
              }
              ie = ie.sibling;
            }
            if (!V) throw Error(r(189));
          }
        }
        if (h.alternate !== y) throw Error(r(190));
      }
      if (h.tag !== 3) throw Error(r(188));
      return h.stateNode.current === h ? o : c;
    }
    function Ve(o) {
      return o = Fe(o), o !== null ? qe(o) : null;
    }
    function qe(o) {
      if (o.tag === 5 || o.tag === 6) return o;
      for (o = o.child; o !== null; ) {
        var c = qe(o);
        if (c !== null) return c;
        o = o.sibling;
      }
      return null;
    }
    var pt = t.unstable_scheduleCallback, xt = t.unstable_cancelCallback, tr = t.unstable_shouldYield, un = t.unstable_requestPaint, bt = t.unstable_now, xi = t.unstable_getCurrentPriorityLevel, ea = t.unstable_ImmediatePriority, V8 = t.unstable_UserBlockingPriority, Tc = t.unstable_NormalPriority, gE = t.unstable_LowPriority, W8 = t.unstable_IdlePriority, Mc = null, ta = null;
    function yE(o) {
      if (ta && typeof ta.onCommitFiberRoot == "function") try {
        ta.onCommitFiberRoot(Mc, o, void 0, (o.current.flags & 128) === 128);
      } catch {
      }
    }
    var jn = Math.clz32 ? Math.clz32 : AE, EE = Math.log, bE = Math.LN2;
    function AE(o) {
      return o >>>= 0, o === 0 ? 32 : 31 - (EE(o) / bE | 0) | 0;
    }
    var Kc = 64, Lc = 4194304;
    function _0(o) {
      switch (o & -o) {
        case 1:
          return 1;
        case 2:
          return 2;
        case 4:
          return 4;
        case 8:
          return 8;
        case 16:
          return 16;
        case 32:
          return 32;
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return o & 4194240;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return o & 130023424;
        case 134217728:
          return 134217728;
        case 268435456:
          return 268435456;
        case 536870912:
          return 536870912;
        case 1073741824:
          return 1073741824;
        default:
          return o;
      }
    }
    function Oc(o, c) {
      var h = o.pendingLanes;
      if (h === 0) return 0;
      var y = 0, S = o.suspendedLanes, R = o.pingedLanes, V = h & 268435455;
      if (V !== 0) {
        var ie = V & ~S;
        ie !== 0 ? y = _0(ie) : (R &= V, R !== 0 && (y = _0(R)));
      } else V = h & ~S, V !== 0 ? y = _0(V) : R !== 0 && (y = _0(R));
      if (y === 0) return 0;
      if (c !== 0 && c !== y && (c & S) === 0 && (S = y & -y, R = c & -c, S >= R || S === 16 && (R & 4194240) !== 0)) return c;
      if ((y & 4) !== 0 && (y |= h & 16), c = o.entangledLanes, c !== 0) for (o = o.entanglements, c &= y; 0 < c; ) h = 31 - jn(c), S = 1 << h, y |= o[h], c &= ~S;
      return y;
    }
    function wE(o, c) {
      switch (o) {
        case 1:
        case 2:
        case 4:
          return c + 250;
        case 8:
        case 16:
        case 32:
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return c + 5e3;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return -1;
        case 134217728:
        case 268435456:
        case 536870912:
        case 1073741824:
          return -1;
        default:
          return -1;
      }
    }
    function vE(o, c) {
      for (var h = o.suspendedLanes, y = o.pingedLanes, S = o.expirationTimes, R = o.pendingLanes; 0 < R; ) {
        var V = 31 - jn(R), ie = 1 << V, le = S[V];
        le === -1 ? ((ie & h) === 0 || (ie & y) !== 0) && (S[V] = wE(ie, c)) : le <= c && (o.expiredLanes |= ie), R &= ~ie;
      }
    }
    function Yd(o) {
      return o = o.pendingLanes & -1073741825, o !== 0 ? o : o & 1073741824 ? 1073741824 : 0;
    }
    function Z8() {
      var o = Kc;
      return Kc <<= 1, (Kc & 4194240) === 0 && (Kc = 64), o;
    }
    function $d(o) {
      for (var c = [], h = 0; 31 > h; h++) c.push(o);
      return c;
    }
    function S0(o, c, h) {
      o.pendingLanes |= c, c !== 536870912 && (o.suspendedLanes = 0, o.pingedLanes = 0), o = o.eventTimes, c = 31 - jn(c), o[c] = h;
    }
    function BE(o, c) {
      var h = o.pendingLanes & ~c;
      o.pendingLanes = c, o.suspendedLanes = 0, o.pingedLanes = 0, o.expiredLanes &= c, o.mutableReadLanes &= c, o.entangledLanes &= c, c = o.entanglements;
      var y = o.eventTimes;
      for (o = o.expirationTimes; 0 < h; ) {
        var S = 31 - jn(h), R = 1 << S;
        c[S] = 0, y[S] = -1, o[S] = -1, h &= ~R;
      }
    }
    function Xd(o, c) {
      var h = o.entangledLanes |= c;
      for (o = o.entanglements; h; ) {
        var y = 31 - jn(h), S = 1 << y;
        S & c | o[y] & c && (o[y] |= c), h &= ~S;
      }
    }
    var gt = 0;
    function Y8(o) {
      return o &= -o, 1 < o ? 4 < o ? (o & 268435455) !== 0 ? 16 : 536870912 : 4 : 1;
    }
    var $8, Jd, X8, J8, e5, ef = false, Hc = [], di = null, fi = null, hi = null, I0 = /* @__PURE__ */ new Map(), P0 = /* @__PURE__ */ new Map(), pi = [], CE = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
    function t5(o, c) {
      switch (o) {
        case "focusin":
        case "focusout":
          di = null;
          break;
        case "dragenter":
        case "dragleave":
          fi = null;
          break;
        case "mouseover":
        case "mouseout":
          hi = null;
          break;
        case "pointerover":
        case "pointerout":
          I0.delete(c.pointerId);
          break;
        case "gotpointercapture":
        case "lostpointercapture":
          P0.delete(c.pointerId);
      }
    }
    function N0(o, c, h, y, S, R) {
      return o === null || o.nativeEvent !== R ? (o = {
        blockedOn: c,
        domEventName: h,
        eventSystemFlags: y,
        nativeEvent: R,
        targetContainers: [
          S
        ]
      }, c !== null && (c = V0(c), c !== null && Jd(c)), o) : (o.eventSystemFlags |= y, c = o.targetContainers, S !== null && c.indexOf(S) === -1 && c.push(S), o);
    }
    function kE(o, c, h, y, S) {
      switch (c) {
        case "focusin":
          return di = N0(di, o, c, h, y, S), true;
        case "dragenter":
          return fi = N0(fi, o, c, h, y, S), true;
        case "mouseover":
          return hi = N0(hi, o, c, h, y, S), true;
        case "pointerover":
          var R = S.pointerId;
          return I0.set(R, N0(I0.get(R) || null, o, c, h, y, S)), true;
        case "gotpointercapture":
          return R = S.pointerId, P0.set(R, N0(P0.get(R) || null, o, c, h, y, S)), true;
      }
      return false;
    }
    function r5(o) {
      var c = xo(o.target);
      if (c !== null) {
        var h = Ia(c);
        if (h !== null) {
          if (c = h.tag, c === 13) {
            if (c = Uc(h), c !== null) {
              o.blockedOn = c, e5(o.priority, function() {
                X8(h);
              });
              return;
            }
          } else if (c === 3 && h.stateNode.current.memoizedState.isDehydrated) {
            o.blockedOn = h.tag === 3 ? h.stateNode.containerInfo : null;
            return;
          }
        }
      }
      o.blockedOn = null;
    }
    function Qc(o) {
      if (o.blockedOn !== null) return false;
      for (var c = o.targetContainers; 0 < c.length; ) {
        var h = rf(o.domEventName, o.eventSystemFlags, c[0], o.nativeEvent);
        if (h === null) {
          h = o.nativeEvent;
          var y = new h.constructor(h.type, h);
          at = y, h.target.dispatchEvent(y), at = null;
        } else return c = V0(h), c !== null && Jd(c), o.blockedOn = h, false;
        c.shift();
      }
      return true;
    }
    function n5(o, c, h) {
      Qc(o) && h.delete(c);
    }
    function DE() {
      ef = false, di !== null && Qc(di) && (di = null), fi !== null && Qc(fi) && (fi = null), hi !== null && Qc(hi) && (hi = null), I0.forEach(n5), P0.forEach(n5);
    }
    function j0(o, c) {
      o.blockedOn === c && (o.blockedOn = null, ef || (ef = true, t.unstable_scheduleCallback(t.unstable_NormalPriority, DE)));
    }
    function z0(o) {
      function c(S) {
        return j0(S, o);
      }
      if (0 < Hc.length) {
        j0(Hc[0], o);
        for (var h = 1; h < Hc.length; h++) {
          var y = Hc[h];
          y.blockedOn === o && (y.blockedOn = null);
        }
      }
      for (di !== null && j0(di, o), fi !== null && j0(fi, o), hi !== null && j0(hi, o), I0.forEach(c), P0.forEach(c), h = 0; h < pi.length; h++) y = pi[h], y.blockedOn === o && (y.blockedOn = null);
      for (; 0 < pi.length && (h = pi[0], h.blockedOn === null); ) r5(h), h.blockedOn === null && pi.shift();
    }
    var ss = v.ReactCurrentBatchConfig, Gc = true;
    function FE(o, c, h, y) {
      var S = gt, R = ss.transition;
      ss.transition = null;
      try {
        gt = 1, tf(o, c, h, y);
      } finally {
        gt = S, ss.transition = R;
      }
    }
    function _E(o, c, h, y) {
      var S = gt, R = ss.transition;
      ss.transition = null;
      try {
        gt = 4, tf(o, c, h, y);
      } finally {
        gt = S, ss.transition = R;
      }
    }
    function tf(o, c, h, y) {
      if (Gc) {
        var S = rf(o, c, h, y);
        if (S === null) bf(o, c, y, qc, h), t5(o, y);
        else if (kE(S, o, c, h, y)) y.stopPropagation();
        else if (t5(o, y), c & 4 && -1 < CE.indexOf(o)) {
          for (; S !== null; ) {
            var R = V0(S);
            if (R !== null && $8(R), R = rf(o, c, h, y), R === null && bf(o, c, y, qc, h), R === S) break;
            S = R;
          }
          S !== null && y.stopPropagation();
        } else bf(o, c, y, null, h);
      }
    }
    var qc = null;
    function rf(o, c, h, y) {
      if (qc = null, o = $n(y), o = xo(o), o !== null) if (c = Ia(o), c === null) o = null;
      else if (h = c.tag, h === 13) {
        if (o = Uc(c), o !== null) return o;
        o = null;
      } else if (h === 3) {
        if (c.stateNode.current.memoizedState.isDehydrated) return c.tag === 3 ? c.stateNode.containerInfo : null;
        o = null;
      } else c !== o && (o = null);
      return qc = o, null;
    }
    function a5(o) {
      switch (o) {
        case "cancel":
        case "click":
        case "close":
        case "contextmenu":
        case "copy":
        case "cut":
        case "auxclick":
        case "dblclick":
        case "dragend":
        case "dragstart":
        case "drop":
        case "focusin":
        case "focusout":
        case "input":
        case "invalid":
        case "keydown":
        case "keypress":
        case "keyup":
        case "mousedown":
        case "mouseup":
        case "paste":
        case "pause":
        case "play":
        case "pointercancel":
        case "pointerdown":
        case "pointerup":
        case "ratechange":
        case "reset":
        case "resize":
        case "seeked":
        case "submit":
        case "touchcancel":
        case "touchend":
        case "touchstart":
        case "volumechange":
        case "change":
        case "selectionchange":
        case "textInput":
        case "compositionstart":
        case "compositionend":
        case "compositionupdate":
        case "beforeblur":
        case "afterblur":
        case "beforeinput":
        case "blur":
        case "fullscreenchange":
        case "focus":
        case "hashchange":
        case "popstate":
        case "select":
        case "selectstart":
          return 1;
        case "drag":
        case "dragenter":
        case "dragexit":
        case "dragleave":
        case "dragover":
        case "mousemove":
        case "mouseout":
        case "mouseover":
        case "pointermove":
        case "pointerout":
        case "pointerover":
        case "scroll":
        case "toggle":
        case "touchmove":
        case "wheel":
        case "mouseenter":
        case "mouseleave":
        case "pointerenter":
        case "pointerleave":
          return 4;
        case "message":
          switch (xi()) {
            case ea:
              return 1;
            case V8:
              return 4;
            case Tc:
            case gE:
              return 16;
            case W8:
              return 536870912;
            default:
              return 16;
          }
        default:
          return 16;
      }
    }
    var mi = null, nf = null, Vc = null;
    function i5() {
      if (Vc) return Vc;
      var o, c = nf, h = c.length, y, S = "value" in mi ? mi.value : mi.textContent, R = S.length;
      for (o = 0; o < h && c[o] === S[o]; o++) ;
      var V = h - o;
      for (y = 1; y <= V && c[h - y] === S[R - y]; y++) ;
      return Vc = S.slice(o, 1 < y ? 1 - y : void 0);
    }
    function Wc(o) {
      var c = o.keyCode;
      return "charCode" in o ? (o = o.charCode, o === 0 && c === 13 && (o = 13)) : o = c, o === 10 && (o = 13), 32 <= o || o === 13 ? o : 0;
    }
    function Zc() {
      return true;
    }
    function o5() {
      return false;
    }
    function Xr(o) {
      function c(h, y, S, R, V) {
        this._reactName = h, this._targetInst = S, this.type = y, this.nativeEvent = R, this.target = V, this.currentTarget = null;
        for (var ie in o) o.hasOwnProperty(ie) && (h = o[ie], this[ie] = h ? h(R) : R[ie]);
        return this.isDefaultPrevented = (R.defaultPrevented != null ? R.defaultPrevented : R.returnValue === false) ? Zc : o5, this.isPropagationStopped = o5, this;
      }
      return Z(c.prototype, {
        preventDefault: function() {
          this.defaultPrevented = true;
          var h = this.nativeEvent;
          h && (h.preventDefault ? h.preventDefault() : typeof h.returnValue != "unknown" && (h.returnValue = false), this.isDefaultPrevented = Zc);
        },
        stopPropagation: function() {
          var h = this.nativeEvent;
          h && (h.stopPropagation ? h.stopPropagation() : typeof h.cancelBubble != "unknown" && (h.cancelBubble = true), this.isPropagationStopped = Zc);
        },
        persist: function() {
        },
        isPersistent: Zc
      }), c;
    }
    var ls = {
      eventPhase: 0,
      bubbles: 0,
      cancelable: 0,
      timeStamp: function(o) {
        return o.timeStamp || Date.now();
      },
      defaultPrevented: 0,
      isTrusted: 0
    }, af = Xr(ls), U0 = Z({}, ls, {
      view: 0,
      detail: 0
    }), SE = Xr(U0), of, sf, R0, Yc = Z({}, U0, {
      screenX: 0,
      screenY: 0,
      clientX: 0,
      clientY: 0,
      pageX: 0,
      pageY: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      getModifierState: cf,
      button: 0,
      buttons: 0,
      relatedTarget: function(o) {
        return o.relatedTarget === void 0 ? o.fromElement === o.srcElement ? o.toElement : o.fromElement : o.relatedTarget;
      },
      movementX: function(o) {
        return "movementX" in o ? o.movementX : (o !== R0 && (R0 && o.type === "mousemove" ? (of = o.screenX - R0.screenX, sf = o.screenY - R0.screenY) : sf = of = 0, R0 = o), of);
      },
      movementY: function(o) {
        return "movementY" in o ? o.movementY : sf;
      }
    }), s5 = Xr(Yc), IE = Z({}, Yc, {
      dataTransfer: 0
    }), PE = Xr(IE), NE = Z({}, U0, {
      relatedTarget: 0
    }), lf = Xr(NE), jE = Z({}, ls, {
      animationName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), zE = Xr(jE), UE = Z({}, ls, {
      clipboardData: function(o) {
        return "clipboardData" in o ? o.clipboardData : window.clipboardData;
      }
    }), RE = Xr(UE), TE = Z({}, ls, {
      data: 0
    }), l5 = Xr(TE), ME = {
      Esc: "Escape",
      Spacebar: " ",
      Left: "ArrowLeft",
      Up: "ArrowUp",
      Right: "ArrowRight",
      Down: "ArrowDown",
      Del: "Delete",
      Win: "OS",
      Menu: "ContextMenu",
      Apps: "ContextMenu",
      Scroll: "ScrollLock",
      MozPrintableKey: "Unidentified"
    }, KE = {
      8: "Backspace",
      9: "Tab",
      12: "Clear",
      13: "Enter",
      16: "Shift",
      17: "Control",
      18: "Alt",
      19: "Pause",
      20: "CapsLock",
      27: "Escape",
      32: " ",
      33: "PageUp",
      34: "PageDown",
      35: "End",
      36: "Home",
      37: "ArrowLeft",
      38: "ArrowUp",
      39: "ArrowRight",
      40: "ArrowDown",
      45: "Insert",
      46: "Delete",
      112: "F1",
      113: "F2",
      114: "F3",
      115: "F4",
      116: "F5",
      117: "F6",
      118: "F7",
      119: "F8",
      120: "F9",
      121: "F10",
      122: "F11",
      123: "F12",
      144: "NumLock",
      145: "ScrollLock",
      224: "Meta"
    }, LE = {
      Alt: "altKey",
      Control: "ctrlKey",
      Meta: "metaKey",
      Shift: "shiftKey"
    };
    function OE(o) {
      var c = this.nativeEvent;
      return c.getModifierState ? c.getModifierState(o) : (o = LE[o]) ? !!c[o] : false;
    }
    function cf() {
      return OE;
    }
    var HE = Z({}, U0, {
      key: function(o) {
        if (o.key) {
          var c = ME[o.key] || o.key;
          if (c !== "Unidentified") return c;
        }
        return o.type === "keypress" ? (o = Wc(o), o === 13 ? "Enter" : String.fromCharCode(o)) : o.type === "keydown" || o.type === "keyup" ? KE[o.keyCode] || "Unidentified" : "";
      },
      code: 0,
      location: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      repeat: 0,
      locale: 0,
      getModifierState: cf,
      charCode: function(o) {
        return o.type === "keypress" ? Wc(o) : 0;
      },
      keyCode: function(o) {
        return o.type === "keydown" || o.type === "keyup" ? o.keyCode : 0;
      },
      which: function(o) {
        return o.type === "keypress" ? Wc(o) : o.type === "keydown" || o.type === "keyup" ? o.keyCode : 0;
      }
    }), QE = Xr(HE), GE = Z({}, Yc, {
      pointerId: 0,
      width: 0,
      height: 0,
      pressure: 0,
      tangentialPressure: 0,
      tiltX: 0,
      tiltY: 0,
      twist: 0,
      pointerType: 0,
      isPrimary: 0
    }), c5 = Xr(GE), qE = Z({}, U0, {
      touches: 0,
      targetTouches: 0,
      changedTouches: 0,
      altKey: 0,
      metaKey: 0,
      ctrlKey: 0,
      shiftKey: 0,
      getModifierState: cf
    }), VE = Xr(qE), WE = Z({}, ls, {
      propertyName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), ZE = Xr(WE), YE = Z({}, Yc, {
      deltaX: function(o) {
        return "deltaX" in o ? o.deltaX : "wheelDeltaX" in o ? -o.wheelDeltaX : 0;
      },
      deltaY: function(o) {
        return "deltaY" in o ? o.deltaY : "wheelDeltaY" in o ? -o.wheelDeltaY : "wheelDelta" in o ? -o.wheelDelta : 0;
      },
      deltaZ: 0,
      deltaMode: 0
    }), $E = Xr(YE), XE = [
      9,
      13,
      27,
      32
    ], uf = l && "CompositionEvent" in window, T0 = null;
    l && "documentMode" in document && (T0 = document.documentMode);
    var JE = l && "TextEvent" in window && !T0, u5 = l && (!uf || T0 && 8 < T0 && 11 >= T0), x5 = " ", d5 = false;
    function f5(o, c) {
      switch (o) {
        case "keyup":
          return XE.indexOf(c.keyCode) !== -1;
        case "keydown":
          return c.keyCode !== 229;
        case "keypress":
        case "mousedown":
        case "focusout":
          return true;
        default:
          return false;
      }
    }
    function h5(o) {
      return o = o.detail, typeof o == "object" && "data" in o ? o.data : null;
    }
    var cs = false;
    function eb(o, c) {
      switch (o) {
        case "compositionend":
          return h5(c);
        case "keypress":
          return c.which !== 32 ? null : (d5 = true, x5);
        case "textInput":
          return o = c.data, o === x5 && d5 ? null : o;
        default:
          return null;
      }
    }
    function tb(o, c) {
      if (cs) return o === "compositionend" || !uf && f5(o, c) ? (o = i5(), Vc = nf = mi = null, cs = false, o) : null;
      switch (o) {
        case "paste":
          return null;
        case "keypress":
          if (!(c.ctrlKey || c.altKey || c.metaKey) || c.ctrlKey && c.altKey) {
            if (c.char && 1 < c.char.length) return c.char;
            if (c.which) return String.fromCharCode(c.which);
          }
          return null;
        case "compositionend":
          return u5 && c.locale !== "ko" ? null : c.data;
        default:
          return null;
      }
    }
    var rb = {
      color: true,
      date: true,
      datetime: true,
      "datetime-local": true,
      email: true,
      month: true,
      number: true,
      password: true,
      range: true,
      search: true,
      tel: true,
      text: true,
      time: true,
      url: true,
      week: true
    };
    function p5(o) {
      var c = o && o.nodeName && o.nodeName.toLowerCase();
      return c === "input" ? !!rb[o.type] : c === "textarea";
    }
    function m5(o, c, h, y) {
      C0(y), c = tu(c, "onChange"), 0 < c.length && (h = new af("onChange", "change", null, h, y), o.push({
        event: h,
        listeners: c
      }));
    }
    var M0 = null, K0 = null;
    function nb(o) {
      j5(o, 0);
    }
    function $c(o) {
      var c = hs(o);
      if (je(c)) return o;
    }
    function ab(o, c) {
      if (o === "change") return c;
    }
    var g5 = false;
    if (l) {
      var xf;
      if (l) {
        var df = "oninput" in document;
        if (!df) {
          var y5 = document.createElement("div");
          y5.setAttribute("oninput", "return;"), df = typeof y5.oninput == "function";
        }
        xf = df;
      } else xf = false;
      g5 = xf && (!document.documentMode || 9 < document.documentMode);
    }
    function E5() {
      M0 && (M0.detachEvent("onpropertychange", b5), K0 = M0 = null);
    }
    function b5(o) {
      if (o.propertyName === "value" && $c(K0)) {
        var c = [];
        m5(c, K0, o, $n(o)), jc(nb, c);
      }
    }
    function ib(o, c, h) {
      o === "focusin" ? (E5(), M0 = c, K0 = h, M0.attachEvent("onpropertychange", b5)) : o === "focusout" && E5();
    }
    function ob(o) {
      if (o === "selectionchange" || o === "keyup" || o === "keydown") return $c(K0);
    }
    function sb(o, c) {
      if (o === "click") return $c(c);
    }
    function lb(o, c) {
      if (o === "input" || o === "change") return $c(c);
    }
    function cb(o, c) {
      return o === c && (o !== 0 || 1 / o === 1 / c) || o !== o && c !== c;
    }
    var zn = typeof Object.is == "function" ? Object.is : cb;
    function L0(o, c) {
      if (zn(o, c)) return true;
      if (typeof o != "object" || o === null || typeof c != "object" || c === null) return false;
      var h = Object.keys(o), y = Object.keys(c);
      if (h.length !== y.length) return false;
      for (y = 0; y < h.length; y++) {
        var S = h[y];
        if (!u.call(c, S) || !zn(o[S], c[S])) return false;
      }
      return true;
    }
    function A5(o) {
      for (; o && o.firstChild; ) o = o.firstChild;
      return o;
    }
    function w5(o, c) {
      var h = A5(o);
      o = 0;
      for (var y; h; ) {
        if (h.nodeType === 3) {
          if (y = o + h.textContent.length, o <= c && y >= c) return {
            node: h,
            offset: c - o
          };
          o = y;
        }
        e: {
          for (; h; ) {
            if (h.nextSibling) {
              h = h.nextSibling;
              break e;
            }
            h = h.parentNode;
          }
          h = void 0;
        }
        h = A5(h);
      }
    }
    function v5(o, c) {
      return o && c ? o === c ? true : o && o.nodeType === 3 ? false : c && c.nodeType === 3 ? v5(o, c.parentNode) : "contains" in o ? o.contains(c) : o.compareDocumentPosition ? !!(o.compareDocumentPosition(c) & 16) : false : false;
    }
    function B5() {
      for (var o = window, c = Re(); c instanceof o.HTMLIFrameElement; ) {
        try {
          var h = typeof c.contentWindow.location.href == "string";
        } catch {
          h = false;
        }
        if (h) o = c.contentWindow;
        else break;
        c = Re(o.document);
      }
      return c;
    }
    function ff(o) {
      var c = o && o.nodeName && o.nodeName.toLowerCase();
      return c && (c === "input" && (o.type === "text" || o.type === "search" || o.type === "tel" || o.type === "url" || o.type === "password") || c === "textarea" || o.contentEditable === "true");
    }
    function ub(o) {
      var c = B5(), h = o.focusedElem, y = o.selectionRange;
      if (c !== h && h && h.ownerDocument && v5(h.ownerDocument.documentElement, h)) {
        if (y !== null && ff(h)) {
          if (c = y.start, o = y.end, o === void 0 && (o = c), "selectionStart" in h) h.selectionStart = c, h.selectionEnd = Math.min(o, h.value.length);
          else if (o = (c = h.ownerDocument || document) && c.defaultView || window, o.getSelection) {
            o = o.getSelection();
            var S = h.textContent.length, R = Math.min(y.start, S);
            y = y.end === void 0 ? R : Math.min(y.end, S), !o.extend && R > y && (S = y, y = R, R = S), S = w5(h, R);
            var V = w5(h, y);
            S && V && (o.rangeCount !== 1 || o.anchorNode !== S.node || o.anchorOffset !== S.offset || o.focusNode !== V.node || o.focusOffset !== V.offset) && (c = c.createRange(), c.setStart(S.node, S.offset), o.removeAllRanges(), R > y ? (o.addRange(c), o.extend(V.node, V.offset)) : (c.setEnd(V.node, V.offset), o.addRange(c)));
          }
        }
        for (c = [], o = h; o = o.parentNode; ) o.nodeType === 1 && c.push({
          element: o,
          left: o.scrollLeft,
          top: o.scrollTop
        });
        for (typeof h.focus == "function" && h.focus(), h = 0; h < c.length; h++) o = c[h], o.element.scrollLeft = o.left, o.element.scrollTop = o.top;
      }
    }
    var xb = l && "documentMode" in document && 11 >= document.documentMode, us = null, hf = null, O0 = null, pf = false;
    function C5(o, c, h) {
      var y = h.window === h ? h.document : h.nodeType === 9 ? h : h.ownerDocument;
      pf || us == null || us !== Re(y) || (y = us, "selectionStart" in y && ff(y) ? y = {
        start: y.selectionStart,
        end: y.selectionEnd
      } : (y = (y.ownerDocument && y.ownerDocument.defaultView || window).getSelection(), y = {
        anchorNode: y.anchorNode,
        anchorOffset: y.anchorOffset,
        focusNode: y.focusNode,
        focusOffset: y.focusOffset
      }), O0 && L0(O0, y) || (O0 = y, y = tu(hf, "onSelect"), 0 < y.length && (c = new af("onSelect", "select", null, c, h), o.push({
        event: c,
        listeners: y
      }), c.target = us)));
    }
    function Xc(o, c) {
      var h = {};
      return h[o.toLowerCase()] = c.toLowerCase(), h["Webkit" + o] = "webkit" + c, h["Moz" + o] = "moz" + c, h;
    }
    var xs = {
      animationend: Xc("Animation", "AnimationEnd"),
      animationiteration: Xc("Animation", "AnimationIteration"),
      animationstart: Xc("Animation", "AnimationStart"),
      transitionend: Xc("Transition", "TransitionEnd")
    }, mf = {}, k5 = {};
    l && (k5 = document.createElement("div").style, "AnimationEvent" in window || (delete xs.animationend.animation, delete xs.animationiteration.animation, delete xs.animationstart.animation), "TransitionEvent" in window || delete xs.transitionend.transition);
    function Jc(o) {
      if (mf[o]) return mf[o];
      if (!xs[o]) return o;
      var c = xs[o], h;
      for (h in c) if (c.hasOwnProperty(h) && h in k5) return mf[o] = c[h];
      return o;
    }
    var D5 = Jc("animationend"), F5 = Jc("animationiteration"), _5 = Jc("animationstart"), S5 = Jc("transitionend"), I5 = /* @__PURE__ */ new Map(), P5 = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
    function gi(o, c) {
      I5.set(o, c), i(c, [
        o
      ]);
    }
    for (var gf = 0; gf < P5.length; gf++) {
      var yf = P5[gf], db = yf.toLowerCase(), fb = yf[0].toUpperCase() + yf.slice(1);
      gi(db, "on" + fb);
    }
    gi(D5, "onAnimationEnd"), gi(F5, "onAnimationIteration"), gi(_5, "onAnimationStart"), gi("dblclick", "onDoubleClick"), gi("focusin", "onFocus"), gi("focusout", "onBlur"), gi(S5, "onTransitionEnd"), s("onMouseEnter", [
      "mouseout",
      "mouseover"
    ]), s("onMouseLeave", [
      "mouseout",
      "mouseover"
    ]), s("onPointerEnter", [
      "pointerout",
      "pointerover"
    ]), s("onPointerLeave", [
      "pointerout",
      "pointerover"
    ]), i("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), i("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), i("onBeforeInput", [
      "compositionend",
      "keypress",
      "textInput",
      "paste"
    ]), i("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), i("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), i("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
    var H0 = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), hb = new Set("cancel close invalid load scroll toggle".split(" ").concat(H0));
    function N5(o, c, h) {
      var y = o.type || "unknown-event";
      o.currentTarget = h, Zd(y, c, void 0, o), o.currentTarget = null;
    }
    function j5(o, c) {
      c = (c & 4) !== 0;
      for (var h = 0; h < o.length; h++) {
        var y = o[h], S = y.event;
        y = y.listeners;
        e: {
          var R = void 0;
          if (c) for (var V = y.length - 1; 0 <= V; V--) {
            var ie = y[V], le = ie.instance, be = ie.currentTarget;
            if (ie = ie.listener, le !== R && S.isPropagationStopped()) break e;
            N5(S, ie, be), R = le;
          }
          else for (V = 0; V < y.length; V++) {
            if (ie = y[V], le = ie.instance, be = ie.currentTarget, ie = ie.listener, le !== R && S.isPropagationStopped()) break e;
            N5(S, ie, be), R = le;
          }
        }
      }
      if (os) throw o = F0, os = false, F0 = null, o;
    }
    function Dt(o, c) {
      var h = c[kf];
      h === void 0 && (h = c[kf] = /* @__PURE__ */ new Set());
      var y = o + "__bubble";
      h.has(y) || (z5(c, o, 2, false), h.add(y));
    }
    function Ef(o, c, h) {
      var y = 0;
      c && (y |= 4), z5(h, o, y, c);
    }
    var eu = "_reactListening" + Math.random().toString(36).slice(2);
    function Q0(o) {
      if (!o[eu]) {
        o[eu] = true, n.forEach(function(h) {
          h !== "selectionchange" && (hb.has(h) || Ef(h, false, o), Ef(h, true, o));
        });
        var c = o.nodeType === 9 ? o : o.ownerDocument;
        c === null || c[eu] || (c[eu] = true, Ef("selectionchange", false, c));
      }
    }
    function z5(o, c, h, y) {
      switch (a5(c)) {
        case 1:
          var S = FE;
          break;
        case 4:
          S = _E;
          break;
        default:
          S = tf;
      }
      h = S.bind(null, c, h, o), S = void 0, !D0 || c !== "touchstart" && c !== "touchmove" && c !== "wheel" || (S = true), y ? S !== void 0 ? o.addEventListener(c, h, {
        capture: true,
        passive: S
      }) : o.addEventListener(c, h, true) : S !== void 0 ? o.addEventListener(c, h, {
        passive: S
      }) : o.addEventListener(c, h, false);
    }
    function bf(o, c, h, y, S) {
      var R = y;
      if ((c & 1) === 0 && (c & 2) === 0 && y !== null) e: for (; ; ) {
        if (y === null) return;
        var V = y.tag;
        if (V === 3 || V === 4) {
          var ie = y.stateNode.containerInfo;
          if (ie === S || ie.nodeType === 8 && ie.parentNode === S) break;
          if (V === 4) for (V = y.return; V !== null; ) {
            var le = V.tag;
            if ((le === 3 || le === 4) && (le = V.stateNode.containerInfo, le === S || le.nodeType === 8 && le.parentNode === S)) return;
            V = V.return;
          }
          for (; ie !== null; ) {
            if (V = xo(ie), V === null) return;
            if (le = V.tag, le === 5 || le === 6) {
              y = R = V;
              continue e;
            }
            ie = ie.parentNode;
          }
        }
        y = y.return;
      }
      jc(function() {
        var be = R, _e = $n(h), Pe = [];
        e: {
          var De = I5.get(o);
          if (De !== void 0) {
            var Te = af, Le = o;
            switch (o) {
              case "keypress":
                if (Wc(h) === 0) break e;
              case "keydown":
              case "keyup":
                Te = QE;
                break;
              case "focusin":
                Le = "focus", Te = lf;
                break;
              case "focusout":
                Le = "blur", Te = lf;
                break;
              case "beforeblur":
              case "afterblur":
                Te = lf;
                break;
              case "click":
                if (h.button === 2) break e;
              case "auxclick":
              case "dblclick":
              case "mousedown":
              case "mousemove":
              case "mouseup":
              case "mouseout":
              case "mouseover":
              case "contextmenu":
                Te = s5;
                break;
              case "drag":
              case "dragend":
              case "dragenter":
              case "dragexit":
              case "dragleave":
              case "dragover":
              case "dragstart":
              case "drop":
                Te = PE;
                break;
              case "touchcancel":
              case "touchend":
              case "touchmove":
              case "touchstart":
                Te = VE;
                break;
              case D5:
              case F5:
              case _5:
                Te = zE;
                break;
              case S5:
                Te = ZE;
                break;
              case "scroll":
                Te = SE;
                break;
              case "wheel":
                Te = $E;
                break;
              case "copy":
              case "cut":
              case "paste":
                Te = RE;
                break;
              case "gotpointercapture":
              case "lostpointercapture":
              case "pointercancel":
              case "pointerdown":
              case "pointermove":
              case "pointerout":
              case "pointerover":
              case "pointerup":
                Te = c5;
            }
            var Oe = (c & 4) !== 0, Lt = !Oe && o === "scroll", pe = Oe ? De !== null ? De + "Capture" : null : De;
            Oe = [];
            for (var de = be, ge; de !== null; ) {
              ge = de;
              var Ne = ge.stateNode;
              if (ge.tag === 5 && Ne !== null && (ge = Ne, pe !== null && (Ne = ci(de, pe), Ne != null && Oe.push(G0(de, Ne, ge)))), Lt) break;
              de = de.return;
            }
            0 < Oe.length && (De = new Te(De, Le, null, h, _e), Pe.push({
              event: De,
              listeners: Oe
            }));
          }
        }
        if ((c & 7) === 0) {
          e: {
            if (De = o === "mouseover" || o === "pointerover", Te = o === "mouseout" || o === "pointerout", De && h !== at && (Le = h.relatedTarget || h.fromElement) && (xo(Le) || Le[Pa])) break e;
            if ((Te || De) && (De = _e.window === _e ? _e : (De = _e.ownerDocument) ? De.defaultView || De.parentWindow : window, Te ? (Le = h.relatedTarget || h.toElement, Te = be, Le = Le ? xo(Le) : null, Le !== null && (Lt = Ia(Le), Le !== Lt || Le.tag !== 5 && Le.tag !== 6) && (Le = null)) : (Te = null, Le = be), Te !== Le)) {
              if (Oe = s5, Ne = "onMouseLeave", pe = "onMouseEnter", de = "mouse", (o === "pointerout" || o === "pointerover") && (Oe = c5, Ne = "onPointerLeave", pe = "onPointerEnter", de = "pointer"), Lt = Te == null ? De : hs(Te), ge = Le == null ? De : hs(Le), De = new Oe(Ne, de + "leave", Te, h, _e), De.target = Lt, De.relatedTarget = ge, Ne = null, xo(_e) === be && (Oe = new Oe(pe, de + "enter", Le, h, _e), Oe.target = ge, Oe.relatedTarget = Lt, Ne = Oe), Lt = Ne, Te && Le) t: {
                for (Oe = Te, pe = Le, de = 0, ge = Oe; ge; ge = ds(ge)) de++;
                for (ge = 0, Ne = pe; Ne; Ne = ds(Ne)) ge++;
                for (; 0 < de - ge; ) Oe = ds(Oe), de--;
                for (; 0 < ge - de; ) pe = ds(pe), ge--;
                for (; de--; ) {
                  if (Oe === pe || pe !== null && Oe === pe.alternate) break t;
                  Oe = ds(Oe), pe = ds(pe);
                }
                Oe = null;
              }
              else Oe = null;
              Te !== null && U5(Pe, De, Te, Oe, false), Le !== null && Lt !== null && U5(Pe, Lt, Le, Oe, true);
            }
          }
          e: {
            if (De = be ? hs(be) : window, Te = De.nodeName && De.nodeName.toLowerCase(), Te === "select" || Te === "input" && De.type === "file") var He = ab;
            else if (p5(De)) if (g5) He = lb;
            else {
              He = ob;
              var We = ib;
            }
            else (Te = De.nodeName) && Te.toLowerCase() === "input" && (De.type === "checkbox" || De.type === "radio") && (He = sb);
            if (He && (He = He(o, be))) {
              m5(Pe, He, h, _e);
              break e;
            }
            We && We(o, De, be), o === "focusout" && (We = De._wrapperState) && We.controlled && De.type === "number" && oe(De, "number", De.value);
          }
          switch (We = be ? hs(be) : window, o) {
            case "focusin":
              (p5(We) || We.contentEditable === "true") && (us = We, hf = be, O0 = null);
              break;
            case "focusout":
              O0 = hf = us = null;
              break;
            case "mousedown":
              pf = true;
              break;
            case "contextmenu":
            case "mouseup":
            case "dragend":
              pf = false, C5(Pe, h, _e);
              break;
            case "selectionchange":
              if (xb) break;
            case "keydown":
            case "keyup":
              C5(Pe, h, _e);
          }
          var Ze;
          if (uf) e: {
            switch (o) {
              case "compositionstart":
                var $e = "onCompositionStart";
                break e;
              case "compositionend":
                $e = "onCompositionEnd";
                break e;
              case "compositionupdate":
                $e = "onCompositionUpdate";
                break e;
            }
            $e = void 0;
          }
          else cs ? f5(o, h) && ($e = "onCompositionEnd") : o === "keydown" && h.keyCode === 229 && ($e = "onCompositionStart");
          $e && (u5 && h.locale !== "ko" && (cs || $e !== "onCompositionStart" ? $e === "onCompositionEnd" && cs && (Ze = i5()) : (mi = _e, nf = "value" in mi ? mi.value : mi.textContent, cs = true)), We = tu(be, $e), 0 < We.length && ($e = new l5($e, o, null, h, _e), Pe.push({
            event: $e,
            listeners: We
          }), Ze ? $e.data = Ze : (Ze = h5(h), Ze !== null && ($e.data = Ze)))), (Ze = JE ? eb(o, h) : tb(o, h)) && (be = tu(be, "onBeforeInput"), 0 < be.length && (_e = new l5("onBeforeInput", "beforeinput", null, h, _e), Pe.push({
            event: _e,
            listeners: be
          }), _e.data = Ze));
        }
        j5(Pe, c);
      });
    }
    function G0(o, c, h) {
      return {
        instance: o,
        listener: c,
        currentTarget: h
      };
    }
    function tu(o, c) {
      for (var h = c + "Capture", y = []; o !== null; ) {
        var S = o, R = S.stateNode;
        S.tag === 5 && R !== null && (S = R, R = ci(o, h), R != null && y.unshift(G0(o, R, S)), R = ci(o, c), R != null && y.push(G0(o, R, S))), o = o.return;
      }
      return y;
    }
    function ds(o) {
      if (o === null) return null;
      do
        o = o.return;
      while (o && o.tag !== 5);
      return o || null;
    }
    function U5(o, c, h, y, S) {
      for (var R = c._reactName, V = []; h !== null && h !== y; ) {
        var ie = h, le = ie.alternate, be = ie.stateNode;
        if (le !== null && le === y) break;
        ie.tag === 5 && be !== null && (ie = be, S ? (le = ci(h, R), le != null && V.unshift(G0(h, le, ie))) : S || (le = ci(h, R), le != null && V.push(G0(h, le, ie)))), h = h.return;
      }
      V.length !== 0 && o.push({
        event: c,
        listeners: V
      });
    }
    var pb = /\r\n?/g, mb = /\u0000|\uFFFD/g;
    function R5(o) {
      return (typeof o == "string" ? o : "" + o).replace(pb, `
`).replace(mb, "");
    }
    function ru(o, c, h) {
      if (c = R5(c), R5(o) !== c && h) throw Error(r(425));
    }
    function nu() {
    }
    var Af = null, wf = null;
    function vf(o, c) {
      return o === "textarea" || o === "noscript" || typeof c.children == "string" || typeof c.children == "number" || typeof c.dangerouslySetInnerHTML == "object" && c.dangerouslySetInnerHTML !== null && c.dangerouslySetInnerHTML.__html != null;
    }
    var Bf = typeof setTimeout == "function" ? setTimeout : void 0, gb = typeof clearTimeout == "function" ? clearTimeout : void 0, T5 = typeof Promise == "function" ? Promise : void 0, yb = typeof queueMicrotask == "function" ? queueMicrotask : typeof T5 < "u" ? function(o) {
      return T5.resolve(null).then(o).catch(Eb);
    } : Bf;
    function Eb(o) {
      setTimeout(function() {
        throw o;
      });
    }
    function Cf(o, c) {
      var h = c, y = 0;
      do {
        var S = h.nextSibling;
        if (o.removeChild(h), S && S.nodeType === 8) if (h = S.data, h === "/$") {
          if (y === 0) {
            o.removeChild(S), z0(c);
            return;
          }
          y--;
        } else h !== "$" && h !== "$?" && h !== "$!" || y++;
        h = S;
      } while (h);
      z0(c);
    }
    function yi(o) {
      for (; o != null; o = o.nextSibling) {
        var c = o.nodeType;
        if (c === 1 || c === 3) break;
        if (c === 8) {
          if (c = o.data, c === "$" || c === "$!" || c === "$?") break;
          if (c === "/$") return null;
        }
      }
      return o;
    }
    function M5(o) {
      o = o.previousSibling;
      for (var c = 0; o; ) {
        if (o.nodeType === 8) {
          var h = o.data;
          if (h === "$" || h === "$!" || h === "$?") {
            if (c === 0) return o;
            c--;
          } else h === "/$" && c++;
        }
        o = o.previousSibling;
      }
      return null;
    }
    var fs = Math.random().toString(36).slice(2), ra = "__reactFiber$" + fs, q0 = "__reactProps$" + fs, Pa = "__reactContainer$" + fs, kf = "__reactEvents$" + fs, bb = "__reactListeners$" + fs, Ab = "__reactHandles$" + fs;
    function xo(o) {
      var c = o[ra];
      if (c) return c;
      for (var h = o.parentNode; h; ) {
        if (c = h[Pa] || h[ra]) {
          if (h = c.alternate, c.child !== null || h !== null && h.child !== null) for (o = M5(o); o !== null; ) {
            if (h = o[ra]) return h;
            o = M5(o);
          }
          return c;
        }
        o = h, h = o.parentNode;
      }
      return null;
    }
    function V0(o) {
      return o = o[ra] || o[Pa], !o || o.tag !== 5 && o.tag !== 6 && o.tag !== 13 && o.tag !== 3 ? null : o;
    }
    function hs(o) {
      if (o.tag === 5 || o.tag === 6) return o.stateNode;
      throw Error(r(33));
    }
    function au(o) {
      return o[q0] || null;
    }
    var Df = [], ps = -1;
    function Ei(o) {
      return {
        current: o
      };
    }
    function Ft(o) {
      0 > ps || (o.current = Df[ps], Df[ps] = null, ps--);
    }
    function Bt(o, c) {
      ps++, Df[ps] = o.current, o.current = c;
    }
    var bi = {}, yr = Ei(bi), Ur = Ei(false), fo = bi;
    function ms(o, c) {
      var h = o.type.contextTypes;
      if (!h) return bi;
      var y = o.stateNode;
      if (y && y.__reactInternalMemoizedUnmaskedChildContext === c) return y.__reactInternalMemoizedMaskedChildContext;
      var S = {}, R;
      for (R in h) S[R] = c[R];
      return y && (o = o.stateNode, o.__reactInternalMemoizedUnmaskedChildContext = c, o.__reactInternalMemoizedMaskedChildContext = S), S;
    }
    function Rr(o) {
      return o = o.childContextTypes, o != null;
    }
    function iu() {
      Ft(Ur), Ft(yr);
    }
    function K5(o, c, h) {
      if (yr.current !== bi) throw Error(r(168));
      Bt(yr, c), Bt(Ur, h);
    }
    function L5(o, c, h) {
      var y = o.stateNode;
      if (c = c.childContextTypes, typeof y.getChildContext != "function") return h;
      y = y.getChildContext();
      for (var S in y) if (!(S in c)) throw Error(r(108, me(o) || "Unknown", S));
      return Z({}, h, y);
    }
    function ou(o) {
      return o = (o = o.stateNode) && o.__reactInternalMemoizedMergedChildContext || bi, fo = yr.current, Bt(yr, o), Bt(Ur, Ur.current), true;
    }
    function O5(o, c, h) {
      var y = o.stateNode;
      if (!y) throw Error(r(169));
      h ? (o = L5(o, c, fo), y.__reactInternalMemoizedMergedChildContext = o, Ft(Ur), Ft(yr), Bt(yr, o)) : Ft(Ur), Bt(Ur, h);
    }
    var Na = null, su = false, Ff = false;
    function H5(o) {
      Na === null ? Na = [
        o
      ] : Na.push(o);
    }
    function wb(o) {
      su = true, H5(o);
    }
    function Ai() {
      if (!Ff && Na !== null) {
        Ff = true;
        var o = 0, c = gt;
        try {
          var h = Na;
          for (gt = 1; o < h.length; o++) {
            var y = h[o];
            do
              y = y(true);
            while (y !== null);
          }
          Na = null, su = false;
        } catch (S) {
          throw Na !== null && (Na = Na.slice(o + 1)), pt(ea, Ai), S;
        } finally {
          gt = c, Ff = false;
        }
      }
      return null;
    }
    var gs = [], ys = 0, lu = null, cu = 0, xn = [], dn = 0, ho = null, ja = 1, za = "";
    function po(o, c) {
      gs[ys++] = cu, gs[ys++] = lu, lu = o, cu = c;
    }
    function Q5(o, c, h) {
      xn[dn++] = ja, xn[dn++] = za, xn[dn++] = ho, ho = o;
      var y = ja;
      o = za;
      var S = 32 - jn(y) - 1;
      y &= ~(1 << S), h += 1;
      var R = 32 - jn(c) + S;
      if (30 < R) {
        var V = S - S % 5;
        R = (y & (1 << V) - 1).toString(32), y >>= V, S -= V, ja = 1 << 32 - jn(c) + S | h << S | y, za = R + o;
      } else ja = 1 << R | h << S | y, za = o;
    }
    function _f(o) {
      o.return !== null && (po(o, 1), Q5(o, 1, 0));
    }
    function Sf(o) {
      for (; o === lu; ) lu = gs[--ys], gs[ys] = null, cu = gs[--ys], gs[ys] = null;
      for (; o === ho; ) ho = xn[--dn], xn[dn] = null, za = xn[--dn], xn[dn] = null, ja = xn[--dn], xn[dn] = null;
    }
    var Jr = null, en = null, St = false, Un = null;
    function G5(o, c) {
      var h = mn(5, null, null, 0);
      h.elementType = "DELETED", h.stateNode = c, h.return = o, c = o.deletions, c === null ? (o.deletions = [
        h
      ], o.flags |= 16) : c.push(h);
    }
    function q5(o, c) {
      switch (o.tag) {
        case 5:
          var h = o.type;
          return c = c.nodeType !== 1 || h.toLowerCase() !== c.nodeName.toLowerCase() ? null : c, c !== null ? (o.stateNode = c, Jr = o, en = yi(c.firstChild), true) : false;
        case 6:
          return c = o.pendingProps === "" || c.nodeType !== 3 ? null : c, c !== null ? (o.stateNode = c, Jr = o, en = null, true) : false;
        case 13:
          return c = c.nodeType !== 8 ? null : c, c !== null ? (h = ho !== null ? {
            id: ja,
            overflow: za
          } : null, o.memoizedState = {
            dehydrated: c,
            treeContext: h,
            retryLane: 1073741824
          }, h = mn(18, null, null, 0), h.stateNode = c, h.return = o, o.child = h, Jr = o, en = null, true) : false;
        default:
          return false;
      }
    }
    function If(o) {
      return (o.mode & 1) !== 0 && (o.flags & 128) === 0;
    }
    function Pf(o) {
      if (St) {
        var c = en;
        if (c) {
          var h = c;
          if (!q5(o, c)) {
            if (If(o)) throw Error(r(418));
            c = yi(h.nextSibling);
            var y = Jr;
            c && q5(o, c) ? G5(y, h) : (o.flags = o.flags & -4097 | 2, St = false, Jr = o);
          }
        } else {
          if (If(o)) throw Error(r(418));
          o.flags = o.flags & -4097 | 2, St = false, Jr = o;
        }
      }
    }
    function V5(o) {
      for (o = o.return; o !== null && o.tag !== 5 && o.tag !== 3 && o.tag !== 13; ) o = o.return;
      Jr = o;
    }
    function uu(o) {
      if (o !== Jr) return false;
      if (!St) return V5(o), St = true, false;
      var c;
      if ((c = o.tag !== 3) && !(c = o.tag !== 5) && (c = o.type, c = c !== "head" && c !== "body" && !vf(o.type, o.memoizedProps)), c && (c = en)) {
        if (If(o)) throw W5(), Error(r(418));
        for (; c; ) G5(o, c), c = yi(c.nextSibling);
      }
      if (V5(o), o.tag === 13) {
        if (o = o.memoizedState, o = o !== null ? o.dehydrated : null, !o) throw Error(r(317));
        e: {
          for (o = o.nextSibling, c = 0; o; ) {
            if (o.nodeType === 8) {
              var h = o.data;
              if (h === "/$") {
                if (c === 0) {
                  en = yi(o.nextSibling);
                  break e;
                }
                c--;
              } else h !== "$" && h !== "$!" && h !== "$?" || c++;
            }
            o = o.nextSibling;
          }
          en = null;
        }
      } else en = Jr ? yi(o.stateNode.nextSibling) : null;
      return true;
    }
    function W5() {
      for (var o = en; o; ) o = yi(o.nextSibling);
    }
    function Es() {
      en = Jr = null, St = false;
    }
    function Nf(o) {
      Un === null ? Un = [
        o
      ] : Un.push(o);
    }
    var vb = v.ReactCurrentBatchConfig;
    function W0(o, c, h) {
      if (o = h.ref, o !== null && typeof o != "function" && typeof o != "object") {
        if (h._owner) {
          if (h = h._owner, h) {
            if (h.tag !== 1) throw Error(r(309));
            var y = h.stateNode;
          }
          if (!y) throw Error(r(147, o));
          var S = y, R = "" + o;
          return c !== null && c.ref !== null && typeof c.ref == "function" && c.ref._stringRef === R ? c.ref : (c = function(V) {
            var ie = S.refs;
            V === null ? delete ie[R] : ie[R] = V;
          }, c._stringRef = R, c);
        }
        if (typeof o != "string") throw Error(r(284));
        if (!h._owner) throw Error(r(290, o));
      }
      return o;
    }
    function xu(o, c) {
      throw o = Object.prototype.toString.call(c), Error(r(31, o === "[object Object]" ? "object with keys {" + Object.keys(c).join(", ") + "}" : o));
    }
    function Z5(o) {
      var c = o._init;
      return c(o._payload);
    }
    function Y5(o) {
      function c(pe, de) {
        if (o) {
          var ge = pe.deletions;
          ge === null ? (pe.deletions = [
            de
          ], pe.flags |= 16) : ge.push(de);
        }
      }
      function h(pe, de) {
        if (!o) return null;
        for (; de !== null; ) c(pe, de), de = de.sibling;
        return null;
      }
      function y(pe, de) {
        for (pe = /* @__PURE__ */ new Map(); de !== null; ) de.key !== null ? pe.set(de.key, de) : pe.set(de.index, de), de = de.sibling;
        return pe;
      }
      function S(pe, de) {
        return pe = _i(pe, de), pe.index = 0, pe.sibling = null, pe;
      }
      function R(pe, de, ge) {
        return pe.index = ge, o ? (ge = pe.alternate, ge !== null ? (ge = ge.index, ge < de ? (pe.flags |= 2, de) : ge) : (pe.flags |= 2, de)) : (pe.flags |= 1048576, de);
      }
      function V(pe) {
        return o && pe.alternate === null && (pe.flags |= 2), pe;
      }
      function ie(pe, de, ge, Ne) {
        return de === null || de.tag !== 6 ? (de = Bh(ge, pe.mode, Ne), de.return = pe, de) : (de = S(de, ge), de.return = pe, de);
      }
      function le(pe, de, ge, Ne) {
        var He = ge.type;
        return He === I ? _e(pe, de, ge.props.children, Ne, ge.key) : de !== null && (de.elementType === He || typeof He == "object" && He !== null && He.$$typeof === $ && Z5(He) === de.type) ? (Ne = S(de, ge.props), Ne.ref = W0(pe, de, ge), Ne.return = pe, Ne) : (Ne = zu(ge.type, ge.key, ge.props, null, pe.mode, Ne), Ne.ref = W0(pe, de, ge), Ne.return = pe, Ne);
      }
      function be(pe, de, ge, Ne) {
        return de === null || de.tag !== 4 || de.stateNode.containerInfo !== ge.containerInfo || de.stateNode.implementation !== ge.implementation ? (de = Ch(ge, pe.mode, Ne), de.return = pe, de) : (de = S(de, ge.children || []), de.return = pe, de);
      }
      function _e(pe, de, ge, Ne, He) {
        return de === null || de.tag !== 7 ? (de = vo(ge, pe.mode, Ne, He), de.return = pe, de) : (de = S(de, ge), de.return = pe, de);
      }
      function Pe(pe, de, ge) {
        if (typeof de == "string" && de !== "" || typeof de == "number") return de = Bh("" + de, pe.mode, ge), de.return = pe, de;
        if (typeof de == "object" && de !== null) {
          switch (de.$$typeof) {
            case _:
              return ge = zu(de.type, de.key, de.props, null, pe.mode, ge), ge.ref = W0(pe, null, de), ge.return = pe, ge;
            case T:
              return de = Ch(de, pe.mode, ge), de.return = pe, de;
            case $:
              var Ne = de._init;
              return Pe(pe, Ne(de._payload), ge);
          }
          if (Be(de) || Q(de)) return de = vo(de, pe.mode, ge, null), de.return = pe, de;
          xu(pe, de);
        }
        return null;
      }
      function De(pe, de, ge, Ne) {
        var He = de !== null ? de.key : null;
        if (typeof ge == "string" && ge !== "" || typeof ge == "number") return He !== null ? null : ie(pe, de, "" + ge, Ne);
        if (typeof ge == "object" && ge !== null) {
          switch (ge.$$typeof) {
            case _:
              return ge.key === He ? le(pe, de, ge, Ne) : null;
            case T:
              return ge.key === He ? be(pe, de, ge, Ne) : null;
            case $:
              return He = ge._init, De(pe, de, He(ge._payload), Ne);
          }
          if (Be(ge) || Q(ge)) return He !== null ? null : _e(pe, de, ge, Ne, null);
          xu(pe, ge);
        }
        return null;
      }
      function Te(pe, de, ge, Ne, He) {
        if (typeof Ne == "string" && Ne !== "" || typeof Ne == "number") return pe = pe.get(ge) || null, ie(de, pe, "" + Ne, He);
        if (typeof Ne == "object" && Ne !== null) {
          switch (Ne.$$typeof) {
            case _:
              return pe = pe.get(Ne.key === null ? ge : Ne.key) || null, le(de, pe, Ne, He);
            case T:
              return pe = pe.get(Ne.key === null ? ge : Ne.key) || null, be(de, pe, Ne, He);
            case $:
              var We = Ne._init;
              return Te(pe, de, ge, We(Ne._payload), He);
          }
          if (Be(Ne) || Q(Ne)) return pe = pe.get(ge) || null, _e(de, pe, Ne, He, null);
          xu(de, Ne);
        }
        return null;
      }
      function Le(pe, de, ge, Ne) {
        for (var He = null, We = null, Ze = de, $e = de = 0, ar = null; Ze !== null && $e < ge.length; $e++) {
          Ze.index > $e ? (ar = Ze, Ze = null) : ar = Ze.sibling;
          var ut = De(pe, Ze, ge[$e], Ne);
          if (ut === null) {
            Ze === null && (Ze = ar);
            break;
          }
          o && Ze && ut.alternate === null && c(pe, Ze), de = R(ut, de, $e), We === null ? He = ut : We.sibling = ut, We = ut, Ze = ar;
        }
        if ($e === ge.length) return h(pe, Ze), St && po(pe, $e), He;
        if (Ze === null) {
          for (; $e < ge.length; $e++) Ze = Pe(pe, ge[$e], Ne), Ze !== null && (de = R(Ze, de, $e), We === null ? He = Ze : We.sibling = Ze, We = Ze);
          return St && po(pe, $e), He;
        }
        for (Ze = y(pe, Ze); $e < ge.length; $e++) ar = Te(Ze, pe, $e, ge[$e], Ne), ar !== null && (o && ar.alternate !== null && Ze.delete(ar.key === null ? $e : ar.key), de = R(ar, de, $e), We === null ? He = ar : We.sibling = ar, We = ar);
        return o && Ze.forEach(function(Si) {
          return c(pe, Si);
        }), St && po(pe, $e), He;
      }
      function Oe(pe, de, ge, Ne) {
        var He = Q(ge);
        if (typeof He != "function") throw Error(r(150));
        if (ge = He.call(ge), ge == null) throw Error(r(151));
        for (var We = He = null, Ze = de, $e = de = 0, ar = null, ut = ge.next(); Ze !== null && !ut.done; $e++, ut = ge.next()) {
          Ze.index > $e ? (ar = Ze, Ze = null) : ar = Ze.sibling;
          var Si = De(pe, Ze, ut.value, Ne);
          if (Si === null) {
            Ze === null && (Ze = ar);
            break;
          }
          o && Ze && Si.alternate === null && c(pe, Ze), de = R(Si, de, $e), We === null ? He = Si : We.sibling = Si, We = Si, Ze = ar;
        }
        if (ut.done) return h(pe, Ze), St && po(pe, $e), He;
        if (Ze === null) {
          for (; !ut.done; $e++, ut = ge.next()) ut = Pe(pe, ut.value, Ne), ut !== null && (de = R(ut, de, $e), We === null ? He = ut : We.sibling = ut, We = ut);
          return St && po(pe, $e), He;
        }
        for (Ze = y(pe, Ze); !ut.done; $e++, ut = ge.next()) ut = Te(Ze, pe, $e, ut.value, Ne), ut !== null && (o && ut.alternate !== null && Ze.delete(ut.key === null ? $e : ut.key), de = R(ut, de, $e), We === null ? He = ut : We.sibling = ut, We = ut);
        return o && Ze.forEach(function(rA) {
          return c(pe, rA);
        }), St && po(pe, $e), He;
      }
      function Lt(pe, de, ge, Ne) {
        if (typeof ge == "object" && ge !== null && ge.type === I && ge.key === null && (ge = ge.props.children), typeof ge == "object" && ge !== null) {
          switch (ge.$$typeof) {
            case _:
              e: {
                for (var He = ge.key, We = de; We !== null; ) {
                  if (We.key === He) {
                    if (He = ge.type, He === I) {
                      if (We.tag === 7) {
                        h(pe, We.sibling), de = S(We, ge.props.children), de.return = pe, pe = de;
                        break e;
                      }
                    } else if (We.elementType === He || typeof He == "object" && He !== null && He.$$typeof === $ && Z5(He) === We.type) {
                      h(pe, We.sibling), de = S(We, ge.props), de.ref = W0(pe, We, ge), de.return = pe, pe = de;
                      break e;
                    }
                    h(pe, We);
                    break;
                  } else c(pe, We);
                  We = We.sibling;
                }
                ge.type === I ? (de = vo(ge.props.children, pe.mode, Ne, ge.key), de.return = pe, pe = de) : (Ne = zu(ge.type, ge.key, ge.props, null, pe.mode, Ne), Ne.ref = W0(pe, de, ge), Ne.return = pe, pe = Ne);
              }
              return V(pe);
            case T:
              e: {
                for (We = ge.key; de !== null; ) {
                  if (de.key === We) if (de.tag === 4 && de.stateNode.containerInfo === ge.containerInfo && de.stateNode.implementation === ge.implementation) {
                    h(pe, de.sibling), de = S(de, ge.children || []), de.return = pe, pe = de;
                    break e;
                  } else {
                    h(pe, de);
                    break;
                  }
                  else c(pe, de);
                  de = de.sibling;
                }
                de = Ch(ge, pe.mode, Ne), de.return = pe, pe = de;
              }
              return V(pe);
            case $:
              return We = ge._init, Lt(pe, de, We(ge._payload), Ne);
          }
          if (Be(ge)) return Le(pe, de, ge, Ne);
          if (Q(ge)) return Oe(pe, de, ge, Ne);
          xu(pe, ge);
        }
        return typeof ge == "string" && ge !== "" || typeof ge == "number" ? (ge = "" + ge, de !== null && de.tag === 6 ? (h(pe, de.sibling), de = S(de, ge), de.return = pe, pe = de) : (h(pe, de), de = Bh(ge, pe.mode, Ne), de.return = pe, pe = de), V(pe)) : h(pe, de);
      }
      return Lt;
    }
    var bs = Y5(true), $5 = Y5(false), du = Ei(null), fu = null, As = null, jf = null;
    function zf() {
      jf = As = fu = null;
    }
    function Uf(o) {
      var c = du.current;
      Ft(du), o._currentValue = c;
    }
    function Rf(o, c, h) {
      for (; o !== null; ) {
        var y = o.alternate;
        if ((o.childLanes & c) !== c ? (o.childLanes |= c, y !== null && (y.childLanes |= c)) : y !== null && (y.childLanes & c) !== c && (y.childLanes |= c), o === h) break;
        o = o.return;
      }
    }
    function ws(o, c) {
      fu = o, jf = As = null, o = o.dependencies, o !== null && o.firstContext !== null && ((o.lanes & c) !== 0 && (Tr = true), o.firstContext = null);
    }
    function fn(o) {
      var c = o._currentValue;
      if (jf !== o) if (o = {
        context: o,
        memoizedValue: c,
        next: null
      }, As === null) {
        if (fu === null) throw Error(r(308));
        As = o, fu.dependencies = {
          lanes: 0,
          firstContext: o
        };
      } else As = As.next = o;
      return c;
    }
    var mo = null;
    function Tf(o) {
      mo === null ? mo = [
        o
      ] : mo.push(o);
    }
    function X5(o, c, h, y) {
      var S = c.interleaved;
      return S === null ? (h.next = h, Tf(c)) : (h.next = S.next, S.next = h), c.interleaved = h, Ua(o, y);
    }
    function Ua(o, c) {
      o.lanes |= c;
      var h = o.alternate;
      for (h !== null && (h.lanes |= c), h = o, o = o.return; o !== null; ) o.childLanes |= c, h = o.alternate, h !== null && (h.childLanes |= c), h = o, o = o.return;
      return h.tag === 3 ? h.stateNode : null;
    }
    var wi = false;
    function Mf(o) {
      o.updateQueue = {
        baseState: o.memoizedState,
        firstBaseUpdate: null,
        lastBaseUpdate: null,
        shared: {
          pending: null,
          interleaved: null,
          lanes: 0
        },
        effects: null
      };
    }
    function J5(o, c) {
      o = o.updateQueue, c.updateQueue === o && (c.updateQueue = {
        baseState: o.baseState,
        firstBaseUpdate: o.firstBaseUpdate,
        lastBaseUpdate: o.lastBaseUpdate,
        shared: o.shared,
        effects: o.effects
      });
    }
    function Ra(o, c) {
      return {
        eventTime: o,
        lane: c,
        tag: 0,
        payload: null,
        callback: null,
        next: null
      };
    }
    function vi(o, c, h) {
      var y = o.updateQueue;
      if (y === null) return null;
      if (y = y.shared, (ct & 2) !== 0) {
        var S = y.pending;
        return S === null ? c.next = c : (c.next = S.next, S.next = c), y.pending = c, Ua(o, h);
      }
      return S = y.interleaved, S === null ? (c.next = c, Tf(y)) : (c.next = S.next, S.next = c), y.interleaved = c, Ua(o, h);
    }
    function hu(o, c, h) {
      if (c = c.updateQueue, c !== null && (c = c.shared, (h & 4194240) !== 0)) {
        var y = c.lanes;
        y &= o.pendingLanes, h |= y, c.lanes = h, Xd(o, h);
      }
    }
    function e9(o, c) {
      var h = o.updateQueue, y = o.alternate;
      if (y !== null && (y = y.updateQueue, h === y)) {
        var S = null, R = null;
        if (h = h.firstBaseUpdate, h !== null) {
          do {
            var V = {
              eventTime: h.eventTime,
              lane: h.lane,
              tag: h.tag,
              payload: h.payload,
              callback: h.callback,
              next: null
            };
            R === null ? S = R = V : R = R.next = V, h = h.next;
          } while (h !== null);
          R === null ? S = R = c : R = R.next = c;
        } else S = R = c;
        h = {
          baseState: y.baseState,
          firstBaseUpdate: S,
          lastBaseUpdate: R,
          shared: y.shared,
          effects: y.effects
        }, o.updateQueue = h;
        return;
      }
      o = h.lastBaseUpdate, o === null ? h.firstBaseUpdate = c : o.next = c, h.lastBaseUpdate = c;
    }
    function pu(o, c, h, y) {
      var S = o.updateQueue;
      wi = false;
      var R = S.firstBaseUpdate, V = S.lastBaseUpdate, ie = S.shared.pending;
      if (ie !== null) {
        S.shared.pending = null;
        var le = ie, be = le.next;
        le.next = null, V === null ? R = be : V.next = be, V = le;
        var _e = o.alternate;
        _e !== null && (_e = _e.updateQueue, ie = _e.lastBaseUpdate, ie !== V && (ie === null ? _e.firstBaseUpdate = be : ie.next = be, _e.lastBaseUpdate = le));
      }
      if (R !== null) {
        var Pe = S.baseState;
        V = 0, _e = be = le = null, ie = R;
        do {
          var De = ie.lane, Te = ie.eventTime;
          if ((y & De) === De) {
            _e !== null && (_e = _e.next = {
              eventTime: Te,
              lane: 0,
              tag: ie.tag,
              payload: ie.payload,
              callback: ie.callback,
              next: null
            });
            e: {
              var Le = o, Oe = ie;
              switch (De = c, Te = h, Oe.tag) {
                case 1:
                  if (Le = Oe.payload, typeof Le == "function") {
                    Pe = Le.call(Te, Pe, De);
                    break e;
                  }
                  Pe = Le;
                  break e;
                case 3:
                  Le.flags = Le.flags & -65537 | 128;
                case 0:
                  if (Le = Oe.payload, De = typeof Le == "function" ? Le.call(Te, Pe, De) : Le, De == null) break e;
                  Pe = Z({}, Pe, De);
                  break e;
                case 2:
                  wi = true;
              }
            }
            ie.callback !== null && ie.lane !== 0 && (o.flags |= 64, De = S.effects, De === null ? S.effects = [
              ie
            ] : De.push(ie));
          } else Te = {
            eventTime: Te,
            lane: De,
            tag: ie.tag,
            payload: ie.payload,
            callback: ie.callback,
            next: null
          }, _e === null ? (be = _e = Te, le = Pe) : _e = _e.next = Te, V |= De;
          if (ie = ie.next, ie === null) {
            if (ie = S.shared.pending, ie === null) break;
            De = ie, ie = De.next, De.next = null, S.lastBaseUpdate = De, S.shared.pending = null;
          }
        } while (true);
        if (_e === null && (le = Pe), S.baseState = le, S.firstBaseUpdate = be, S.lastBaseUpdate = _e, c = S.shared.interleaved, c !== null) {
          S = c;
          do
            V |= S.lane, S = S.next;
          while (S !== c);
        } else R === null && (S.shared.lanes = 0);
        Eo |= V, o.lanes = V, o.memoizedState = Pe;
      }
    }
    function t9(o, c, h) {
      if (o = c.effects, c.effects = null, o !== null) for (c = 0; c < o.length; c++) {
        var y = o[c], S = y.callback;
        if (S !== null) {
          if (y.callback = null, y = h, typeof S != "function") throw Error(r(191, S));
          S.call(y);
        }
      }
    }
    var Z0 = {}, na = Ei(Z0), Y0 = Ei(Z0), $0 = Ei(Z0);
    function go(o) {
      if (o === Z0) throw Error(r(174));
      return o;
    }
    function Kf(o, c) {
      switch (Bt($0, c), Bt(Y0, o), Bt(na, Z0), o = c.nodeType, o) {
        case 9:
        case 11:
          c = (c = c.documentElement) ? c.namespaceURI : W(null, "");
          break;
        default:
          o = o === 8 ? c.parentNode : c, c = o.namespaceURI || null, o = o.tagName, c = W(c, o);
      }
      Ft(na), Bt(na, c);
    }
    function vs() {
      Ft(na), Ft(Y0), Ft($0);
    }
    function r9(o) {
      go($0.current);
      var c = go(na.current), h = W(c, o.type);
      c !== h && (Bt(Y0, o), Bt(na, h));
    }
    function Lf(o) {
      Y0.current === o && (Ft(na), Ft(Y0));
    }
    var Ut = Ei(0);
    function mu(o) {
      for (var c = o; c !== null; ) {
        if (c.tag === 13) {
          var h = c.memoizedState;
          if (h !== null && (h = h.dehydrated, h === null || h.data === "$?" || h.data === "$!")) return c;
        } else if (c.tag === 19 && c.memoizedProps.revealOrder !== void 0) {
          if ((c.flags & 128) !== 0) return c;
        } else if (c.child !== null) {
          c.child.return = c, c = c.child;
          continue;
        }
        if (c === o) break;
        for (; c.sibling === null; ) {
          if (c.return === null || c.return === o) return null;
          c = c.return;
        }
        c.sibling.return = c.return, c = c.sibling;
      }
      return null;
    }
    var Of = [];
    function Hf() {
      for (var o = 0; o < Of.length; o++) Of[o]._workInProgressVersionPrimary = null;
      Of.length = 0;
    }
    var gu = v.ReactCurrentDispatcher, Qf = v.ReactCurrentBatchConfig, yo = 0, Rt = null, Wt = null, rr = null, yu = false, X0 = false, J0 = 0, Bb = 0;
    function Er() {
      throw Error(r(321));
    }
    function Gf(o, c) {
      if (c === null) return false;
      for (var h = 0; h < c.length && h < o.length; h++) if (!zn(o[h], c[h])) return false;
      return true;
    }
    function qf(o, c, h, y, S, R) {
      if (yo = R, Rt = c, c.memoizedState = null, c.updateQueue = null, c.lanes = 0, gu.current = o === null || o.memoizedState === null ? Fb : _b, o = h(y, S), X0) {
        R = 0;
        do {
          if (X0 = false, J0 = 0, 25 <= R) throw Error(r(301));
          R += 1, rr = Wt = null, c.updateQueue = null, gu.current = Sb, o = h(y, S);
        } while (X0);
      }
      if (gu.current = Au, c = Wt !== null && Wt.next !== null, yo = 0, rr = Wt = Rt = null, yu = false, c) throw Error(r(300));
      return o;
    }
    function Vf() {
      var o = J0 !== 0;
      return J0 = 0, o;
    }
    function aa() {
      var o = {
        memoizedState: null,
        baseState: null,
        baseQueue: null,
        queue: null,
        next: null
      };
      return rr === null ? Rt.memoizedState = rr = o : rr = rr.next = o, rr;
    }
    function hn() {
      if (Wt === null) {
        var o = Rt.alternate;
        o = o !== null ? o.memoizedState : null;
      } else o = Wt.next;
      var c = rr === null ? Rt.memoizedState : rr.next;
      if (c !== null) rr = c, Wt = o;
      else {
        if (o === null) throw Error(r(310));
        Wt = o, o = {
          memoizedState: Wt.memoizedState,
          baseState: Wt.baseState,
          baseQueue: Wt.baseQueue,
          queue: Wt.queue,
          next: null
        }, rr === null ? Rt.memoizedState = rr = o : rr = rr.next = o;
      }
      return rr;
    }
    function el(o, c) {
      return typeof c == "function" ? c(o) : c;
    }
    function Wf(o) {
      var c = hn(), h = c.queue;
      if (h === null) throw Error(r(311));
      h.lastRenderedReducer = o;
      var y = Wt, S = y.baseQueue, R = h.pending;
      if (R !== null) {
        if (S !== null) {
          var V = S.next;
          S.next = R.next, R.next = V;
        }
        y.baseQueue = S = R, h.pending = null;
      }
      if (S !== null) {
        R = S.next, y = y.baseState;
        var ie = V = null, le = null, be = R;
        do {
          var _e = be.lane;
          if ((yo & _e) === _e) le !== null && (le = le.next = {
            lane: 0,
            action: be.action,
            hasEagerState: be.hasEagerState,
            eagerState: be.eagerState,
            next: null
          }), y = be.hasEagerState ? be.eagerState : o(y, be.action);
          else {
            var Pe = {
              lane: _e,
              action: be.action,
              hasEagerState: be.hasEagerState,
              eagerState: be.eagerState,
              next: null
            };
            le === null ? (ie = le = Pe, V = y) : le = le.next = Pe, Rt.lanes |= _e, Eo |= _e;
          }
          be = be.next;
        } while (be !== null && be !== R);
        le === null ? V = y : le.next = ie, zn(y, c.memoizedState) || (Tr = true), c.memoizedState = y, c.baseState = V, c.baseQueue = le, h.lastRenderedState = y;
      }
      if (o = h.interleaved, o !== null) {
        S = o;
        do
          R = S.lane, Rt.lanes |= R, Eo |= R, S = S.next;
        while (S !== o);
      } else S === null && (h.lanes = 0);
      return [
        c.memoizedState,
        h.dispatch
      ];
    }
    function Zf(o) {
      var c = hn(), h = c.queue;
      if (h === null) throw Error(r(311));
      h.lastRenderedReducer = o;
      var y = h.dispatch, S = h.pending, R = c.memoizedState;
      if (S !== null) {
        h.pending = null;
        var V = S = S.next;
        do
          R = o(R, V.action), V = V.next;
        while (V !== S);
        zn(R, c.memoizedState) || (Tr = true), c.memoizedState = R, c.baseQueue === null && (c.baseState = R), h.lastRenderedState = R;
      }
      return [
        R,
        y
      ];
    }
    function n9() {
    }
    function a9(o, c) {
      var h = Rt, y = hn(), S = c(), R = !zn(y.memoizedState, S);
      if (R && (y.memoizedState = S, Tr = true), y = y.queue, Yf(s9.bind(null, h, y, o), [
        o
      ]), y.getSnapshot !== c || R || rr !== null && rr.memoizedState.tag & 1) {
        if (h.flags |= 2048, tl(9, o9.bind(null, h, y, S, c), void 0, null), nr === null) throw Error(r(349));
        (yo & 30) !== 0 || i9(h, c, S);
      }
      return S;
    }
    function i9(o, c, h) {
      o.flags |= 16384, o = {
        getSnapshot: c,
        value: h
      }, c = Rt.updateQueue, c === null ? (c = {
        lastEffect: null,
        stores: null
      }, Rt.updateQueue = c, c.stores = [
        o
      ]) : (h = c.stores, h === null ? c.stores = [
        o
      ] : h.push(o));
    }
    function o9(o, c, h, y) {
      c.value = h, c.getSnapshot = y, l9(c) && c9(o);
    }
    function s9(o, c, h) {
      return h(function() {
        l9(c) && c9(o);
      });
    }
    function l9(o) {
      var c = o.getSnapshot;
      o = o.value;
      try {
        var h = c();
        return !zn(o, h);
      } catch {
        return true;
      }
    }
    function c9(o) {
      var c = Ua(o, 1);
      c !== null && Kn(c, o, 1, -1);
    }
    function u9(o) {
      var c = aa();
      return typeof o == "function" && (o = o()), c.memoizedState = c.baseState = o, o = {
        pending: null,
        interleaved: null,
        lanes: 0,
        dispatch: null,
        lastRenderedReducer: el,
        lastRenderedState: o
      }, c.queue = o, o = o.dispatch = Db.bind(null, Rt, o), [
        c.memoizedState,
        o
      ];
    }
    function tl(o, c, h, y) {
      return o = {
        tag: o,
        create: c,
        destroy: h,
        deps: y,
        next: null
      }, c = Rt.updateQueue, c === null ? (c = {
        lastEffect: null,
        stores: null
      }, Rt.updateQueue = c, c.lastEffect = o.next = o) : (h = c.lastEffect, h === null ? c.lastEffect = o.next = o : (y = h.next, h.next = o, o.next = y, c.lastEffect = o)), o;
    }
    function x9() {
      return hn().memoizedState;
    }
    function Eu(o, c, h, y) {
      var S = aa();
      Rt.flags |= o, S.memoizedState = tl(1 | c, h, void 0, y === void 0 ? null : y);
    }
    function bu(o, c, h, y) {
      var S = hn();
      y = y === void 0 ? null : y;
      var R = void 0;
      if (Wt !== null) {
        var V = Wt.memoizedState;
        if (R = V.destroy, y !== null && Gf(y, V.deps)) {
          S.memoizedState = tl(c, h, R, y);
          return;
        }
      }
      Rt.flags |= o, S.memoizedState = tl(1 | c, h, R, y);
    }
    function d9(o, c) {
      return Eu(8390656, 8, o, c);
    }
    function Yf(o, c) {
      return bu(2048, 8, o, c);
    }
    function f9(o, c) {
      return bu(4, 2, o, c);
    }
    function h9(o, c) {
      return bu(4, 4, o, c);
    }
    function p9(o, c) {
      if (typeof c == "function") return o = o(), c(o), function() {
        c(null);
      };
      if (c != null) return o = o(), c.current = o, function() {
        c.current = null;
      };
    }
    function m9(o, c, h) {
      return h = h != null ? h.concat([
        o
      ]) : null, bu(4, 4, p9.bind(null, c, o), h);
    }
    function $f() {
    }
    function g9(o, c) {
      var h = hn();
      c = c === void 0 ? null : c;
      var y = h.memoizedState;
      return y !== null && c !== null && Gf(c, y[1]) ? y[0] : (h.memoizedState = [
        o,
        c
      ], o);
    }
    function y9(o, c) {
      var h = hn();
      c = c === void 0 ? null : c;
      var y = h.memoizedState;
      return y !== null && c !== null && Gf(c, y[1]) ? y[0] : (o = o(), h.memoizedState = [
        o,
        c
      ], o);
    }
    function E9(o, c, h) {
      return (yo & 21) === 0 ? (o.baseState && (o.baseState = false, Tr = true), o.memoizedState = h) : (zn(h, c) || (h = Z8(), Rt.lanes |= h, Eo |= h, o.baseState = true), c);
    }
    function Cb(o, c) {
      var h = gt;
      gt = h !== 0 && 4 > h ? h : 4, o(true);
      var y = Qf.transition;
      Qf.transition = {};
      try {
        o(false), c();
      } finally {
        gt = h, Qf.transition = y;
      }
    }
    function b9() {
      return hn().memoizedState;
    }
    function kb(o, c, h) {
      var y = Di(o);
      if (h = {
        lane: y,
        action: h,
        hasEagerState: false,
        eagerState: null,
        next: null
      }, A9(o)) w9(c, h);
      else if (h = X5(o, c, h, y), h !== null) {
        var S = Sr();
        Kn(h, o, y, S), v9(h, c, y);
      }
    }
    function Db(o, c, h) {
      var y = Di(o), S = {
        lane: y,
        action: h,
        hasEagerState: false,
        eagerState: null,
        next: null
      };
      if (A9(o)) w9(c, S);
      else {
        var R = o.alternate;
        if (o.lanes === 0 && (R === null || R.lanes === 0) && (R = c.lastRenderedReducer, R !== null)) try {
          var V = c.lastRenderedState, ie = R(V, h);
          if (S.hasEagerState = true, S.eagerState = ie, zn(ie, V)) {
            var le = c.interleaved;
            le === null ? (S.next = S, Tf(c)) : (S.next = le.next, le.next = S), c.interleaved = S;
            return;
          }
        } catch {
        } finally {
        }
        h = X5(o, c, S, y), h !== null && (S = Sr(), Kn(h, o, y, S), v9(h, c, y));
      }
    }
    function A9(o) {
      var c = o.alternate;
      return o === Rt || c !== null && c === Rt;
    }
    function w9(o, c) {
      X0 = yu = true;
      var h = o.pending;
      h === null ? c.next = c : (c.next = h.next, h.next = c), o.pending = c;
    }
    function v9(o, c, h) {
      if ((h & 4194240) !== 0) {
        var y = c.lanes;
        y &= o.pendingLanes, h |= y, c.lanes = h, Xd(o, h);
      }
    }
    var Au = {
      readContext: fn,
      useCallback: Er,
      useContext: Er,
      useEffect: Er,
      useImperativeHandle: Er,
      useInsertionEffect: Er,
      useLayoutEffect: Er,
      useMemo: Er,
      useReducer: Er,
      useRef: Er,
      useState: Er,
      useDebugValue: Er,
      useDeferredValue: Er,
      useTransition: Er,
      useMutableSource: Er,
      useSyncExternalStore: Er,
      useId: Er,
      unstable_isNewReconciler: false
    }, Fb = {
      readContext: fn,
      useCallback: function(o, c) {
        return aa().memoizedState = [
          o,
          c === void 0 ? null : c
        ], o;
      },
      useContext: fn,
      useEffect: d9,
      useImperativeHandle: function(o, c, h) {
        return h = h != null ? h.concat([
          o
        ]) : null, Eu(4194308, 4, p9.bind(null, c, o), h);
      },
      useLayoutEffect: function(o, c) {
        return Eu(4194308, 4, o, c);
      },
      useInsertionEffect: function(o, c) {
        return Eu(4, 2, o, c);
      },
      useMemo: function(o, c) {
        var h = aa();
        return c = c === void 0 ? null : c, o = o(), h.memoizedState = [
          o,
          c
        ], o;
      },
      useReducer: function(o, c, h) {
        var y = aa();
        return c = h !== void 0 ? h(c) : c, y.memoizedState = y.baseState = c, o = {
          pending: null,
          interleaved: null,
          lanes: 0,
          dispatch: null,
          lastRenderedReducer: o,
          lastRenderedState: c
        }, y.queue = o, o = o.dispatch = kb.bind(null, Rt, o), [
          y.memoizedState,
          o
        ];
      },
      useRef: function(o) {
        var c = aa();
        return o = {
          current: o
        }, c.memoizedState = o;
      },
      useState: u9,
      useDebugValue: $f,
      useDeferredValue: function(o) {
        return aa().memoizedState = o;
      },
      useTransition: function() {
        var o = u9(false), c = o[0];
        return o = Cb.bind(null, o[1]), aa().memoizedState = o, [
          c,
          o
        ];
      },
      useMutableSource: function() {
      },
      useSyncExternalStore: function(o, c, h) {
        var y = Rt, S = aa();
        if (St) {
          if (h === void 0) throw Error(r(407));
          h = h();
        } else {
          if (h = c(), nr === null) throw Error(r(349));
          (yo & 30) !== 0 || i9(y, c, h);
        }
        S.memoizedState = h;
        var R = {
          value: h,
          getSnapshot: c
        };
        return S.queue = R, d9(s9.bind(null, y, R, o), [
          o
        ]), y.flags |= 2048, tl(9, o9.bind(null, y, R, h, c), void 0, null), h;
      },
      useId: function() {
        var o = aa(), c = nr.identifierPrefix;
        if (St) {
          var h = za, y = ja;
          h = (y & ~(1 << 32 - jn(y) - 1)).toString(32) + h, c = ":" + c + "R" + h, h = J0++, 0 < h && (c += "H" + h.toString(32)), c += ":";
        } else h = Bb++, c = ":" + c + "r" + h.toString(32) + ":";
        return o.memoizedState = c;
      },
      unstable_isNewReconciler: false
    }, _b = {
      readContext: fn,
      useCallback: g9,
      useContext: fn,
      useEffect: Yf,
      useImperativeHandle: m9,
      useInsertionEffect: f9,
      useLayoutEffect: h9,
      useMemo: y9,
      useReducer: Wf,
      useRef: x9,
      useState: function() {
        return Wf(el);
      },
      useDebugValue: $f,
      useDeferredValue: function(o) {
        var c = hn();
        return E9(c, Wt.memoizedState, o);
      },
      useTransition: function() {
        var o = Wf(el)[0], c = hn().memoizedState;
        return [
          o,
          c
        ];
      },
      useMutableSource: n9,
      useSyncExternalStore: a9,
      useId: b9,
      unstable_isNewReconciler: false
    }, Sb = {
      readContext: fn,
      useCallback: g9,
      useContext: fn,
      useEffect: Yf,
      useImperativeHandle: m9,
      useInsertionEffect: f9,
      useLayoutEffect: h9,
      useMemo: y9,
      useReducer: Zf,
      useRef: x9,
      useState: function() {
        return Zf(el);
      },
      useDebugValue: $f,
      useDeferredValue: function(o) {
        var c = hn();
        return Wt === null ? c.memoizedState = o : E9(c, Wt.memoizedState, o);
      },
      useTransition: function() {
        var o = Zf(el)[0], c = hn().memoizedState;
        return [
          o,
          c
        ];
      },
      useMutableSource: n9,
      useSyncExternalStore: a9,
      useId: b9,
      unstable_isNewReconciler: false
    };
    function Rn(o, c) {
      if (o && o.defaultProps) {
        c = Z({}, c), o = o.defaultProps;
        for (var h in o) c[h] === void 0 && (c[h] = o[h]);
        return c;
      }
      return c;
    }
    function Xf(o, c, h, y) {
      c = o.memoizedState, h = h(y, c), h = h == null ? c : Z({}, c, h), o.memoizedState = h, o.lanes === 0 && (o.updateQueue.baseState = h);
    }
    var wu = {
      isMounted: function(o) {
        return (o = o._reactInternals) ? Ia(o) === o : false;
      },
      enqueueSetState: function(o, c, h) {
        o = o._reactInternals;
        var y = Sr(), S = Di(o), R = Ra(y, S);
        R.payload = c, h != null && (R.callback = h), c = vi(o, R, S), c !== null && (Kn(c, o, S, y), hu(c, o, S));
      },
      enqueueReplaceState: function(o, c, h) {
        o = o._reactInternals;
        var y = Sr(), S = Di(o), R = Ra(y, S);
        R.tag = 1, R.payload = c, h != null && (R.callback = h), c = vi(o, R, S), c !== null && (Kn(c, o, S, y), hu(c, o, S));
      },
      enqueueForceUpdate: function(o, c) {
        o = o._reactInternals;
        var h = Sr(), y = Di(o), S = Ra(h, y);
        S.tag = 2, c != null && (S.callback = c), c = vi(o, S, y), c !== null && (Kn(c, o, y, h), hu(c, o, y));
      }
    };
    function B9(o, c, h, y, S, R, V) {
      return o = o.stateNode, typeof o.shouldComponentUpdate == "function" ? o.shouldComponentUpdate(y, R, V) : c.prototype && c.prototype.isPureReactComponent ? !L0(h, y) || !L0(S, R) : true;
    }
    function C9(o, c, h) {
      var y = false, S = bi, R = c.contextType;
      return typeof R == "object" && R !== null ? R = fn(R) : (S = Rr(c) ? fo : yr.current, y = c.contextTypes, R = (y = y != null) ? ms(o, S) : bi), c = new c(h, R), o.memoizedState = c.state !== null && c.state !== void 0 ? c.state : null, c.updater = wu, o.stateNode = c, c._reactInternals = o, y && (o = o.stateNode, o.__reactInternalMemoizedUnmaskedChildContext = S, o.__reactInternalMemoizedMaskedChildContext = R), c;
    }
    function k9(o, c, h, y) {
      o = c.state, typeof c.componentWillReceiveProps == "function" && c.componentWillReceiveProps(h, y), typeof c.UNSAFE_componentWillReceiveProps == "function" && c.UNSAFE_componentWillReceiveProps(h, y), c.state !== o && wu.enqueueReplaceState(c, c.state, null);
    }
    function Jf(o, c, h, y) {
      var S = o.stateNode;
      S.props = h, S.state = o.memoizedState, S.refs = {}, Mf(o);
      var R = c.contextType;
      typeof R == "object" && R !== null ? S.context = fn(R) : (R = Rr(c) ? fo : yr.current, S.context = ms(o, R)), S.state = o.memoizedState, R = c.getDerivedStateFromProps, typeof R == "function" && (Xf(o, c, R, h), S.state = o.memoizedState), typeof c.getDerivedStateFromProps == "function" || typeof S.getSnapshotBeforeUpdate == "function" || typeof S.UNSAFE_componentWillMount != "function" && typeof S.componentWillMount != "function" || (c = S.state, typeof S.componentWillMount == "function" && S.componentWillMount(), typeof S.UNSAFE_componentWillMount == "function" && S.UNSAFE_componentWillMount(), c !== S.state && wu.enqueueReplaceState(S, S.state, null), pu(o, h, S, y), S.state = o.memoizedState), typeof S.componentDidMount == "function" && (o.flags |= 4194308);
    }
    function Bs(o, c) {
      try {
        var h = "", y = c;
        do
          h += ae(y), y = y.return;
        while (y);
        var S = h;
      } catch (R) {
        S = `
Error generating stack: ` + R.message + `
` + R.stack;
      }
      return {
        value: o,
        source: c,
        stack: S,
        digest: null
      };
    }
    function eh(o, c, h) {
      return {
        value: o,
        source: null,
        stack: h ?? null,
        digest: c ?? null
      };
    }
    function th(o, c) {
      try {
        console.error(c.value);
      } catch (h) {
        setTimeout(function() {
          throw h;
        });
      }
    }
    var Ib = typeof WeakMap == "function" ? WeakMap : Map;
    function D9(o, c, h) {
      h = Ra(-1, h), h.tag = 3, h.payload = {
        element: null
      };
      var y = c.value;
      return h.callback = function() {
        _u || (_u = true, mh = y), th(o, c);
      }, h;
    }
    function F9(o, c, h) {
      h = Ra(-1, h), h.tag = 3;
      var y = o.type.getDerivedStateFromError;
      if (typeof y == "function") {
        var S = c.value;
        h.payload = function() {
          return y(S);
        }, h.callback = function() {
          th(o, c);
        };
      }
      var R = o.stateNode;
      return R !== null && typeof R.componentDidCatch == "function" && (h.callback = function() {
        th(o, c), typeof y != "function" && (Ci === null ? Ci = /* @__PURE__ */ new Set([
          this
        ]) : Ci.add(this));
        var V = c.stack;
        this.componentDidCatch(c.value, {
          componentStack: V !== null ? V : ""
        });
      }), h;
    }
    function _9(o, c, h) {
      var y = o.pingCache;
      if (y === null) {
        y = o.pingCache = new Ib();
        var S = /* @__PURE__ */ new Set();
        y.set(c, S);
      } else S = y.get(c), S === void 0 && (S = /* @__PURE__ */ new Set(), y.set(c, S));
      S.has(h) || (S.add(h), o = Gb.bind(null, o, c, h), c.then(o, o));
    }
    function S9(o) {
      do {
        var c;
        if ((c = o.tag === 13) && (c = o.memoizedState, c = c !== null ? c.dehydrated !== null : true), c) return o;
        o = o.return;
      } while (o !== null);
      return null;
    }
    function I9(o, c, h, y, S) {
      return (o.mode & 1) === 0 ? (o === c ? o.flags |= 65536 : (o.flags |= 128, h.flags |= 131072, h.flags &= -52805, h.tag === 1 && (h.alternate === null ? h.tag = 17 : (c = Ra(-1, 1), c.tag = 2, vi(h, c, 1))), h.lanes |= 1), o) : (o.flags |= 65536, o.lanes = S, o);
    }
    var Pb = v.ReactCurrentOwner, Tr = false;
    function _r(o, c, h, y) {
      c.child = o === null ? $5(c, null, h, y) : bs(c, o.child, h, y);
    }
    function P9(o, c, h, y, S) {
      h = h.render;
      var R = c.ref;
      return ws(c, S), y = qf(o, c, h, y, R, S), h = Vf(), o !== null && !Tr ? (c.updateQueue = o.updateQueue, c.flags &= -2053, o.lanes &= ~S, Ta(o, c, S)) : (St && h && _f(c), c.flags |= 1, _r(o, c, y, S), c.child);
    }
    function N9(o, c, h, y, S) {
      if (o === null) {
        var R = h.type;
        return typeof R == "function" && !vh(R) && R.defaultProps === void 0 && h.compare === null && h.defaultProps === void 0 ? (c.tag = 15, c.type = R, j9(o, c, R, y, S)) : (o = zu(h.type, null, y, c, c.mode, S), o.ref = c.ref, o.return = c, c.child = o);
      }
      if (R = o.child, (o.lanes & S) === 0) {
        var V = R.memoizedProps;
        if (h = h.compare, h = h !== null ? h : L0, h(V, y) && o.ref === c.ref) return Ta(o, c, S);
      }
      return c.flags |= 1, o = _i(R, y), o.ref = c.ref, o.return = c, c.child = o;
    }
    function j9(o, c, h, y, S) {
      if (o !== null) {
        var R = o.memoizedProps;
        if (L0(R, y) && o.ref === c.ref) if (Tr = false, c.pendingProps = y = R, (o.lanes & S) !== 0) (o.flags & 131072) !== 0 && (Tr = true);
        else return c.lanes = o.lanes, Ta(o, c, S);
      }
      return rh(o, c, h, y, S);
    }
    function z9(o, c, h) {
      var y = c.pendingProps, S = y.children, R = o !== null ? o.memoizedState : null;
      if (y.mode === "hidden") if ((c.mode & 1) === 0) c.memoizedState = {
        baseLanes: 0,
        cachePool: null,
        transitions: null
      }, Bt(ks, tn), tn |= h;
      else {
        if ((h & 1073741824) === 0) return o = R !== null ? R.baseLanes | h : h, c.lanes = c.childLanes = 1073741824, c.memoizedState = {
          baseLanes: o,
          cachePool: null,
          transitions: null
        }, c.updateQueue = null, Bt(ks, tn), tn |= o, null;
        c.memoizedState = {
          baseLanes: 0,
          cachePool: null,
          transitions: null
        }, y = R !== null ? R.baseLanes : h, Bt(ks, tn), tn |= y;
      }
      else R !== null ? (y = R.baseLanes | h, c.memoizedState = null) : y = h, Bt(ks, tn), tn |= y;
      return _r(o, c, S, h), c.child;
    }
    function U9(o, c) {
      var h = c.ref;
      (o === null && h !== null || o !== null && o.ref !== h) && (c.flags |= 512, c.flags |= 2097152);
    }
    function rh(o, c, h, y, S) {
      var R = Rr(h) ? fo : yr.current;
      return R = ms(c, R), ws(c, S), h = qf(o, c, h, y, R, S), y = Vf(), o !== null && !Tr ? (c.updateQueue = o.updateQueue, c.flags &= -2053, o.lanes &= ~S, Ta(o, c, S)) : (St && y && _f(c), c.flags |= 1, _r(o, c, h, S), c.child);
    }
    function R9(o, c, h, y, S) {
      if (Rr(h)) {
        var R = true;
        ou(c);
      } else R = false;
      if (ws(c, S), c.stateNode === null) Bu(o, c), C9(c, h, y), Jf(c, h, y, S), y = true;
      else if (o === null) {
        var V = c.stateNode, ie = c.memoizedProps;
        V.props = ie;
        var le = V.context, be = h.contextType;
        typeof be == "object" && be !== null ? be = fn(be) : (be = Rr(h) ? fo : yr.current, be = ms(c, be));
        var _e = h.getDerivedStateFromProps, Pe = typeof _e == "function" || typeof V.getSnapshotBeforeUpdate == "function";
        Pe || typeof V.UNSAFE_componentWillReceiveProps != "function" && typeof V.componentWillReceiveProps != "function" || (ie !== y || le !== be) && k9(c, V, y, be), wi = false;
        var De = c.memoizedState;
        V.state = De, pu(c, y, V, S), le = c.memoizedState, ie !== y || De !== le || Ur.current || wi ? (typeof _e == "function" && (Xf(c, h, _e, y), le = c.memoizedState), (ie = wi || B9(c, h, ie, y, De, le, be)) ? (Pe || typeof V.UNSAFE_componentWillMount != "function" && typeof V.componentWillMount != "function" || (typeof V.componentWillMount == "function" && V.componentWillMount(), typeof V.UNSAFE_componentWillMount == "function" && V.UNSAFE_componentWillMount()), typeof V.componentDidMount == "function" && (c.flags |= 4194308)) : (typeof V.componentDidMount == "function" && (c.flags |= 4194308), c.memoizedProps = y, c.memoizedState = le), V.props = y, V.state = le, V.context = be, y = ie) : (typeof V.componentDidMount == "function" && (c.flags |= 4194308), y = false);
      } else {
        V = c.stateNode, J5(o, c), ie = c.memoizedProps, be = c.type === c.elementType ? ie : Rn(c.type, ie), V.props = be, Pe = c.pendingProps, De = V.context, le = h.contextType, typeof le == "object" && le !== null ? le = fn(le) : (le = Rr(h) ? fo : yr.current, le = ms(c, le));
        var Te = h.getDerivedStateFromProps;
        (_e = typeof Te == "function" || typeof V.getSnapshotBeforeUpdate == "function") || typeof V.UNSAFE_componentWillReceiveProps != "function" && typeof V.componentWillReceiveProps != "function" || (ie !== Pe || De !== le) && k9(c, V, y, le), wi = false, De = c.memoizedState, V.state = De, pu(c, y, V, S);
        var Le = c.memoizedState;
        ie !== Pe || De !== Le || Ur.current || wi ? (typeof Te == "function" && (Xf(c, h, Te, y), Le = c.memoizedState), (be = wi || B9(c, h, be, y, De, Le, le) || false) ? (_e || typeof V.UNSAFE_componentWillUpdate != "function" && typeof V.componentWillUpdate != "function" || (typeof V.componentWillUpdate == "function" && V.componentWillUpdate(y, Le, le), typeof V.UNSAFE_componentWillUpdate == "function" && V.UNSAFE_componentWillUpdate(y, Le, le)), typeof V.componentDidUpdate == "function" && (c.flags |= 4), typeof V.getSnapshotBeforeUpdate == "function" && (c.flags |= 1024)) : (typeof V.componentDidUpdate != "function" || ie === o.memoizedProps && De === o.memoizedState || (c.flags |= 4), typeof V.getSnapshotBeforeUpdate != "function" || ie === o.memoizedProps && De === o.memoizedState || (c.flags |= 1024), c.memoizedProps = y, c.memoizedState = Le), V.props = y, V.state = Le, V.context = le, y = be) : (typeof V.componentDidUpdate != "function" || ie === o.memoizedProps && De === o.memoizedState || (c.flags |= 4), typeof V.getSnapshotBeforeUpdate != "function" || ie === o.memoizedProps && De === o.memoizedState || (c.flags |= 1024), y = false);
      }
      return nh(o, c, h, y, R, S);
    }
    function nh(o, c, h, y, S, R) {
      U9(o, c);
      var V = (c.flags & 128) !== 0;
      if (!y && !V) return S && O5(c, h, false), Ta(o, c, R);
      y = c.stateNode, Pb.current = c;
      var ie = V && typeof h.getDerivedStateFromError != "function" ? null : y.render();
      return c.flags |= 1, o !== null && V ? (c.child = bs(c, o.child, null, R), c.child = bs(c, null, ie, R)) : _r(o, c, ie, R), c.memoizedState = y.state, S && O5(c, h, true), c.child;
    }
    function T9(o) {
      var c = o.stateNode;
      c.pendingContext ? K5(o, c.pendingContext, c.pendingContext !== c.context) : c.context && K5(o, c.context, false), Kf(o, c.containerInfo);
    }
    function M9(o, c, h, y, S) {
      return Es(), Nf(S), c.flags |= 256, _r(o, c, h, y), c.child;
    }
    var ah = {
      dehydrated: null,
      treeContext: null,
      retryLane: 0
    };
    function ih(o) {
      return {
        baseLanes: o,
        cachePool: null,
        transitions: null
      };
    }
    function K9(o, c, h) {
      var y = c.pendingProps, S = Ut.current, R = false, V = (c.flags & 128) !== 0, ie;
      if ((ie = V) || (ie = o !== null && o.memoizedState === null ? false : (S & 2) !== 0), ie ? (R = true, c.flags &= -129) : (o === null || o.memoizedState !== null) && (S |= 1), Bt(Ut, S & 1), o === null) return Pf(c), o = c.memoizedState, o !== null && (o = o.dehydrated, o !== null) ? ((c.mode & 1) === 0 ? c.lanes = 1 : o.data === "$!" ? c.lanes = 8 : c.lanes = 1073741824, null) : (V = y.children, o = y.fallback, R ? (y = c.mode, R = c.child, V = {
        mode: "hidden",
        children: V
      }, (y & 1) === 0 && R !== null ? (R.childLanes = 0, R.pendingProps = V) : R = Uu(V, y, 0, null), o = vo(o, y, h, null), R.return = c, o.return = c, R.sibling = o, c.child = R, c.child.memoizedState = ih(h), c.memoizedState = ah, o) : oh(c, V));
      if (S = o.memoizedState, S !== null && (ie = S.dehydrated, ie !== null)) return Nb(o, c, V, y, ie, S, h);
      if (R) {
        R = y.fallback, V = c.mode, S = o.child, ie = S.sibling;
        var le = {
          mode: "hidden",
          children: y.children
        };
        return (V & 1) === 0 && c.child !== S ? (y = c.child, y.childLanes = 0, y.pendingProps = le, c.deletions = null) : (y = _i(S, le), y.subtreeFlags = S.subtreeFlags & 14680064), ie !== null ? R = _i(ie, R) : (R = vo(R, V, h, null), R.flags |= 2), R.return = c, y.return = c, y.sibling = R, c.child = y, y = R, R = c.child, V = o.child.memoizedState, V = V === null ? ih(h) : {
          baseLanes: V.baseLanes | h,
          cachePool: null,
          transitions: V.transitions
        }, R.memoizedState = V, R.childLanes = o.childLanes & ~h, c.memoizedState = ah, y;
      }
      return R = o.child, o = R.sibling, y = _i(R, {
        mode: "visible",
        children: y.children
      }), (c.mode & 1) === 0 && (y.lanes = h), y.return = c, y.sibling = null, o !== null && (h = c.deletions, h === null ? (c.deletions = [
        o
      ], c.flags |= 16) : h.push(o)), c.child = y, c.memoizedState = null, y;
    }
    function oh(o, c) {
      return c = Uu({
        mode: "visible",
        children: c
      }, o.mode, 0, null), c.return = o, o.child = c;
    }
    function vu(o, c, h, y) {
      return y !== null && Nf(y), bs(c, o.child, null, h), o = oh(c, c.pendingProps.children), o.flags |= 2, c.memoizedState = null, o;
    }
    function Nb(o, c, h, y, S, R, V) {
      if (h) return c.flags & 256 ? (c.flags &= -257, y = eh(Error(r(422))), vu(o, c, V, y)) : c.memoizedState !== null ? (c.child = o.child, c.flags |= 128, null) : (R = y.fallback, S = c.mode, y = Uu({
        mode: "visible",
        children: y.children
      }, S, 0, null), R = vo(R, S, V, null), R.flags |= 2, y.return = c, R.return = c, y.sibling = R, c.child = y, (c.mode & 1) !== 0 && bs(c, o.child, null, V), c.child.memoizedState = ih(V), c.memoizedState = ah, R);
      if ((c.mode & 1) === 0) return vu(o, c, V, null);
      if (S.data === "$!") {
        if (y = S.nextSibling && S.nextSibling.dataset, y) var ie = y.dgst;
        return y = ie, R = Error(r(419)), y = eh(R, y, void 0), vu(o, c, V, y);
      }
      if (ie = (V & o.childLanes) !== 0, Tr || ie) {
        if (y = nr, y !== null) {
          switch (V & -V) {
            case 4:
              S = 2;
              break;
            case 16:
              S = 8;
              break;
            case 64:
            case 128:
            case 256:
            case 512:
            case 1024:
            case 2048:
            case 4096:
            case 8192:
            case 16384:
            case 32768:
            case 65536:
            case 131072:
            case 262144:
            case 524288:
            case 1048576:
            case 2097152:
            case 4194304:
            case 8388608:
            case 16777216:
            case 33554432:
            case 67108864:
              S = 32;
              break;
            case 536870912:
              S = 268435456;
              break;
            default:
              S = 0;
          }
          S = (S & (y.suspendedLanes | V)) !== 0 ? 0 : S, S !== 0 && S !== R.retryLane && (R.retryLane = S, Ua(o, S), Kn(y, o, S, -1));
        }
        return wh(), y = eh(Error(r(421))), vu(o, c, V, y);
      }
      return S.data === "$?" ? (c.flags |= 128, c.child = o.child, c = qb.bind(null, o), S._reactRetry = c, null) : (o = R.treeContext, en = yi(S.nextSibling), Jr = c, St = true, Un = null, o !== null && (xn[dn++] = ja, xn[dn++] = za, xn[dn++] = ho, ja = o.id, za = o.overflow, ho = c), c = oh(c, y.children), c.flags |= 4096, c);
    }
    function L9(o, c, h) {
      o.lanes |= c;
      var y = o.alternate;
      y !== null && (y.lanes |= c), Rf(o.return, c, h);
    }
    function sh(o, c, h, y, S) {
      var R = o.memoizedState;
      R === null ? o.memoizedState = {
        isBackwards: c,
        rendering: null,
        renderingStartTime: 0,
        last: y,
        tail: h,
        tailMode: S
      } : (R.isBackwards = c, R.rendering = null, R.renderingStartTime = 0, R.last = y, R.tail = h, R.tailMode = S);
    }
    function O9(o, c, h) {
      var y = c.pendingProps, S = y.revealOrder, R = y.tail;
      if (_r(o, c, y.children, h), y = Ut.current, (y & 2) !== 0) y = y & 1 | 2, c.flags |= 128;
      else {
        if (o !== null && (o.flags & 128) !== 0) e: for (o = c.child; o !== null; ) {
          if (o.tag === 13) o.memoizedState !== null && L9(o, h, c);
          else if (o.tag === 19) L9(o, h, c);
          else if (o.child !== null) {
            o.child.return = o, o = o.child;
            continue;
          }
          if (o === c) break e;
          for (; o.sibling === null; ) {
            if (o.return === null || o.return === c) break e;
            o = o.return;
          }
          o.sibling.return = o.return, o = o.sibling;
        }
        y &= 1;
      }
      if (Bt(Ut, y), (c.mode & 1) === 0) c.memoizedState = null;
      else switch (S) {
        case "forwards":
          for (h = c.child, S = null; h !== null; ) o = h.alternate, o !== null && mu(o) === null && (S = h), h = h.sibling;
          h = S, h === null ? (S = c.child, c.child = null) : (S = h.sibling, h.sibling = null), sh(c, false, S, h, R);
          break;
        case "backwards":
          for (h = null, S = c.child, c.child = null; S !== null; ) {
            if (o = S.alternate, o !== null && mu(o) === null) {
              c.child = S;
              break;
            }
            o = S.sibling, S.sibling = h, h = S, S = o;
          }
          sh(c, true, h, null, R);
          break;
        case "together":
          sh(c, false, null, null, void 0);
          break;
        default:
          c.memoizedState = null;
      }
      return c.child;
    }
    function Bu(o, c) {
      (c.mode & 1) === 0 && o !== null && (o.alternate = null, c.alternate = null, c.flags |= 2);
    }
    function Ta(o, c, h) {
      if (o !== null && (c.dependencies = o.dependencies), Eo |= c.lanes, (h & c.childLanes) === 0) return null;
      if (o !== null && c.child !== o.child) throw Error(r(153));
      if (c.child !== null) {
        for (o = c.child, h = _i(o, o.pendingProps), c.child = h, h.return = c; o.sibling !== null; ) o = o.sibling, h = h.sibling = _i(o, o.pendingProps), h.return = c;
        h.sibling = null;
      }
      return c.child;
    }
    function jb(o, c, h) {
      switch (c.tag) {
        case 3:
          T9(c), Es();
          break;
        case 5:
          r9(c);
          break;
        case 1:
          Rr(c.type) && ou(c);
          break;
        case 4:
          Kf(c, c.stateNode.containerInfo);
          break;
        case 10:
          var y = c.type._context, S = c.memoizedProps.value;
          Bt(du, y._currentValue), y._currentValue = S;
          break;
        case 13:
          if (y = c.memoizedState, y !== null) return y.dehydrated !== null ? (Bt(Ut, Ut.current & 1), c.flags |= 128, null) : (h & c.child.childLanes) !== 0 ? K9(o, c, h) : (Bt(Ut, Ut.current & 1), o = Ta(o, c, h), o !== null ? o.sibling : null);
          Bt(Ut, Ut.current & 1);
          break;
        case 19:
          if (y = (h & c.childLanes) !== 0, (o.flags & 128) !== 0) {
            if (y) return O9(o, c, h);
            c.flags |= 128;
          }
          if (S = c.memoizedState, S !== null && (S.rendering = null, S.tail = null, S.lastEffect = null), Bt(Ut, Ut.current), y) break;
          return null;
        case 22:
        case 23:
          return c.lanes = 0, z9(o, c, h);
      }
      return Ta(o, c, h);
    }
    var H9, lh, Q9, G9;
    H9 = function(o, c) {
      for (var h = c.child; h !== null; ) {
        if (h.tag === 5 || h.tag === 6) o.appendChild(h.stateNode);
        else if (h.tag !== 4 && h.child !== null) {
          h.child.return = h, h = h.child;
          continue;
        }
        if (h === c) break;
        for (; h.sibling === null; ) {
          if (h.return === null || h.return === c) return;
          h = h.return;
        }
        h.sibling.return = h.return, h = h.sibling;
      }
    }, lh = function() {
    }, Q9 = function(o, c, h, y) {
      var S = o.memoizedProps;
      if (S !== y) {
        o = c.stateNode, go(na.current);
        var R = null;
        switch (h) {
          case "input":
            S = O(o, S), y = O(o, y), R = [];
            break;
          case "select":
            S = Z({}, S, {
              value: void 0
            }), y = Z({}, y, {
              value: void 0
            }), R = [];
            break;
          case "textarea":
            S = he(o, S), y = he(o, y), R = [];
            break;
          default:
            typeof S.onClick != "function" && typeof y.onClick == "function" && (o.onclick = nu);
        }
        Xe(h, y);
        var V;
        h = null;
        for (be in S) if (!y.hasOwnProperty(be) && S.hasOwnProperty(be) && S[be] != null) if (be === "style") {
          var ie = S[be];
          for (V in ie) ie.hasOwnProperty(V) && (h || (h = {}), h[V] = "");
        } else be !== "dangerouslySetInnerHTML" && be !== "children" && be !== "suppressContentEditableWarning" && be !== "suppressHydrationWarning" && be !== "autoFocus" && (a.hasOwnProperty(be) ? R || (R = []) : (R = R || []).push(be, null));
        for (be in y) {
          var le = y[be];
          if (ie = S == null ? void 0 : S[be], y.hasOwnProperty(be) && le !== ie && (le != null || ie != null)) if (be === "style") if (ie) {
            for (V in ie) !ie.hasOwnProperty(V) || le && le.hasOwnProperty(V) || (h || (h = {}), h[V] = "");
            for (V in le) le.hasOwnProperty(V) && ie[V] !== le[V] && (h || (h = {}), h[V] = le[V]);
          } else h || (R || (R = []), R.push(be, h)), h = le;
          else be === "dangerouslySetInnerHTML" ? (le = le ? le.__html : void 0, ie = ie ? ie.__html : void 0, le != null && ie !== le && (R = R || []).push(be, le)) : be === "children" ? typeof le != "string" && typeof le != "number" || (R = R || []).push(be, "" + le) : be !== "suppressContentEditableWarning" && be !== "suppressHydrationWarning" && (a.hasOwnProperty(be) ? (le != null && be === "onScroll" && Dt("scroll", o), R || ie === le || (R = [])) : (R = R || []).push(be, le));
        }
        h && (R = R || []).push("style", h);
        var be = R;
        (c.updateQueue = be) && (c.flags |= 4);
      }
    }, G9 = function(o, c, h, y) {
      h !== y && (c.flags |= 4);
    };
    function rl(o, c) {
      if (!St) switch (o.tailMode) {
        case "hidden":
          c = o.tail;
          for (var h = null; c !== null; ) c.alternate !== null && (h = c), c = c.sibling;
          h === null ? o.tail = null : h.sibling = null;
          break;
        case "collapsed":
          h = o.tail;
          for (var y = null; h !== null; ) h.alternate !== null && (y = h), h = h.sibling;
          y === null ? c || o.tail === null ? o.tail = null : o.tail.sibling = null : y.sibling = null;
      }
    }
    function br(o) {
      var c = o.alternate !== null && o.alternate.child === o.child, h = 0, y = 0;
      if (c) for (var S = o.child; S !== null; ) h |= S.lanes | S.childLanes, y |= S.subtreeFlags & 14680064, y |= S.flags & 14680064, S.return = o, S = S.sibling;
      else for (S = o.child; S !== null; ) h |= S.lanes | S.childLanes, y |= S.subtreeFlags, y |= S.flags, S.return = o, S = S.sibling;
      return o.subtreeFlags |= y, o.childLanes = h, c;
    }
    function zb(o, c, h) {
      var y = c.pendingProps;
      switch (Sf(c), c.tag) {
        case 2:
        case 16:
        case 15:
        case 0:
        case 11:
        case 7:
        case 8:
        case 12:
        case 9:
        case 14:
          return br(c), null;
        case 1:
          return Rr(c.type) && iu(), br(c), null;
        case 3:
          return y = c.stateNode, vs(), Ft(Ur), Ft(yr), Hf(), y.pendingContext && (y.context = y.pendingContext, y.pendingContext = null), (o === null || o.child === null) && (uu(c) ? c.flags |= 4 : o === null || o.memoizedState.isDehydrated && (c.flags & 256) === 0 || (c.flags |= 1024, Un !== null && (Eh(Un), Un = null))), lh(o, c), br(c), null;
        case 5:
          Lf(c);
          var S = go($0.current);
          if (h = c.type, o !== null && c.stateNode != null) Q9(o, c, h, y, S), o.ref !== c.ref && (c.flags |= 512, c.flags |= 2097152);
          else {
            if (!y) {
              if (c.stateNode === null) throw Error(r(166));
              return br(c), null;
            }
            if (o = go(na.current), uu(c)) {
              y = c.stateNode, h = c.type;
              var R = c.memoizedProps;
              switch (y[ra] = c, y[q0] = R, o = (c.mode & 1) !== 0, h) {
                case "dialog":
                  Dt("cancel", y), Dt("close", y);
                  break;
                case "iframe":
                case "object":
                case "embed":
                  Dt("load", y);
                  break;
                case "video":
                case "audio":
                  for (S = 0; S < H0.length; S++) Dt(H0[S], y);
                  break;
                case "source":
                  Dt("error", y);
                  break;
                case "img":
                case "image":
                case "link":
                  Dt("error", y), Dt("load", y);
                  break;
                case "details":
                  Dt("toggle", y);
                  break;
                case "input":
                  se(y, R), Dt("invalid", y);
                  break;
                case "select":
                  y._wrapperState = {
                    wasMultiple: !!R.multiple
                  }, Dt("invalid", y);
                  break;
                case "textarea":
                  Se(y, R), Dt("invalid", y);
              }
              Xe(h, R), S = null;
              for (var V in R) if (R.hasOwnProperty(V)) {
                var ie = R[V];
                V === "children" ? typeof ie == "string" ? y.textContent !== ie && (R.suppressHydrationWarning !== true && ru(y.textContent, ie, o), S = [
                  "children",
                  ie
                ]) : typeof ie == "number" && y.textContent !== "" + ie && (R.suppressHydrationWarning !== true && ru(y.textContent, ie, o), S = [
                  "children",
                  "" + ie
                ]) : a.hasOwnProperty(V) && ie != null && V === "onScroll" && Dt("scroll", y);
              }
              switch (h) {
                case "input":
                  ke(y), X(y, R, true);
                  break;
                case "textarea":
                  ke(y), Ie(y);
                  break;
                case "select":
                case "option":
                  break;
                default:
                  typeof R.onClick == "function" && (y.onclick = nu);
              }
              y = S, c.updateQueue = y, y !== null && (c.flags |= 4);
            } else {
              V = S.nodeType === 9 ? S : S.ownerDocument, o === "http://www.w3.org/1999/xhtml" && (o = Me(h)), o === "http://www.w3.org/1999/xhtml" ? h === "script" ? (o = V.createElement("div"), o.innerHTML = "<script><\/script>", o = o.removeChild(o.firstChild)) : typeof y.is == "string" ? o = V.createElement(h, {
                is: y.is
              }) : (o = V.createElement(h), h === "select" && (V = o, y.multiple ? V.multiple = true : y.size && (V.size = y.size))) : o = V.createElementNS(o, h), o[ra] = c, o[q0] = y, H9(o, c, false, false), c.stateNode = o;
              e: {
                switch (V = tt(h, y), h) {
                  case "dialog":
                    Dt("cancel", o), Dt("close", o), S = y;
                    break;
                  case "iframe":
                  case "object":
                  case "embed":
                    Dt("load", o), S = y;
                    break;
                  case "video":
                  case "audio":
                    for (S = 0; S < H0.length; S++) Dt(H0[S], o);
                    S = y;
                    break;
                  case "source":
                    Dt("error", o), S = y;
                    break;
                  case "img":
                  case "image":
                  case "link":
                    Dt("error", o), Dt("load", o), S = y;
                    break;
                  case "details":
                    Dt("toggle", o), S = y;
                    break;
                  case "input":
                    se(o, y), S = O(o, y), Dt("invalid", o);
                    break;
                  case "option":
                    S = y;
                    break;
                  case "select":
                    o._wrapperState = {
                      wasMultiple: !!y.multiple
                    }, S = Z({}, y, {
                      value: void 0
                    }), Dt("invalid", o);
                    break;
                  case "textarea":
                    Se(o, y), S = he(o, y), Dt("invalid", o);
                    break;
                  default:
                    S = y;
                }
                Xe(h, S), ie = S;
                for (R in ie) if (ie.hasOwnProperty(R)) {
                  var le = ie[R];
                  R === "style" ? Ye(o, le) : R === "dangerouslySetInnerHTML" ? (le = le ? le.__html : void 0, le != null && K(o, le)) : R === "children" ? typeof le == "string" ? (h !== "textarea" || le !== "") && ne(o, le) : typeof le == "number" && ne(o, "" + le) : R !== "suppressContentEditableWarning" && R !== "suppressHydrationWarning" && R !== "autoFocus" && (a.hasOwnProperty(R) ? le != null && R === "onScroll" && Dt("scroll", o) : le != null && B(o, R, le, V));
                }
                switch (h) {
                  case "input":
                    ke(o), X(o, y, false);
                    break;
                  case "textarea":
                    ke(o), Ie(o);
                    break;
                  case "option":
                    y.value != null && o.setAttribute("value", "" + fe(y.value));
                    break;
                  case "select":
                    o.multiple = !!y.multiple, R = y.value, R != null ? ve(o, !!y.multiple, R, false) : y.defaultValue != null && ve(o, !!y.multiple, y.defaultValue, true);
                    break;
                  default:
                    typeof S.onClick == "function" && (o.onclick = nu);
                }
                switch (h) {
                  case "button":
                  case "input":
                  case "select":
                  case "textarea":
                    y = !!y.autoFocus;
                    break e;
                  case "img":
                    y = true;
                    break e;
                  default:
                    y = false;
                }
              }
              y && (c.flags |= 4);
            }
            c.ref !== null && (c.flags |= 512, c.flags |= 2097152);
          }
          return br(c), null;
        case 6:
          if (o && c.stateNode != null) G9(o, c, o.memoizedProps, y);
          else {
            if (typeof y != "string" && c.stateNode === null) throw Error(r(166));
            if (h = go($0.current), go(na.current), uu(c)) {
              if (y = c.stateNode, h = c.memoizedProps, y[ra] = c, (R = y.nodeValue !== h) && (o = Jr, o !== null)) switch (o.tag) {
                case 3:
                  ru(y.nodeValue, h, (o.mode & 1) !== 0);
                  break;
                case 5:
                  o.memoizedProps.suppressHydrationWarning !== true && ru(y.nodeValue, h, (o.mode & 1) !== 0);
              }
              R && (c.flags |= 4);
            } else y = (h.nodeType === 9 ? h : h.ownerDocument).createTextNode(y), y[ra] = c, c.stateNode = y;
          }
          return br(c), null;
        case 13:
          if (Ft(Ut), y = c.memoizedState, o === null || o.memoizedState !== null && o.memoizedState.dehydrated !== null) {
            if (St && en !== null && (c.mode & 1) !== 0 && (c.flags & 128) === 0) W5(), Es(), c.flags |= 98560, R = false;
            else if (R = uu(c), y !== null && y.dehydrated !== null) {
              if (o === null) {
                if (!R) throw Error(r(318));
                if (R = c.memoizedState, R = R !== null ? R.dehydrated : null, !R) throw Error(r(317));
                R[ra] = c;
              } else Es(), (c.flags & 128) === 0 && (c.memoizedState = null), c.flags |= 4;
              br(c), R = false;
            } else Un !== null && (Eh(Un), Un = null), R = true;
            if (!R) return c.flags & 65536 ? c : null;
          }
          return (c.flags & 128) !== 0 ? (c.lanes = h, c) : (y = y !== null, y !== (o !== null && o.memoizedState !== null) && y && (c.child.flags |= 8192, (c.mode & 1) !== 0 && (o === null || (Ut.current & 1) !== 0 ? Zt === 0 && (Zt = 3) : wh())), c.updateQueue !== null && (c.flags |= 4), br(c), null);
        case 4:
          return vs(), lh(o, c), o === null && Q0(c.stateNode.containerInfo), br(c), null;
        case 10:
          return Uf(c.type._context), br(c), null;
        case 17:
          return Rr(c.type) && iu(), br(c), null;
        case 19:
          if (Ft(Ut), R = c.memoizedState, R === null) return br(c), null;
          if (y = (c.flags & 128) !== 0, V = R.rendering, V === null) if (y) rl(R, false);
          else {
            if (Zt !== 0 || o !== null && (o.flags & 128) !== 0) for (o = c.child; o !== null; ) {
              if (V = mu(o), V !== null) {
                for (c.flags |= 128, rl(R, false), y = V.updateQueue, y !== null && (c.updateQueue = y, c.flags |= 4), c.subtreeFlags = 0, y = h, h = c.child; h !== null; ) R = h, o = y, R.flags &= 14680066, V = R.alternate, V === null ? (R.childLanes = 0, R.lanes = o, R.child = null, R.subtreeFlags = 0, R.memoizedProps = null, R.memoizedState = null, R.updateQueue = null, R.dependencies = null, R.stateNode = null) : (R.childLanes = V.childLanes, R.lanes = V.lanes, R.child = V.child, R.subtreeFlags = 0, R.deletions = null, R.memoizedProps = V.memoizedProps, R.memoizedState = V.memoizedState, R.updateQueue = V.updateQueue, R.type = V.type, o = V.dependencies, R.dependencies = o === null ? null : {
                  lanes: o.lanes,
                  firstContext: o.firstContext
                }), h = h.sibling;
                return Bt(Ut, Ut.current & 1 | 2), c.child;
              }
              o = o.sibling;
            }
            R.tail !== null && bt() > Ds && (c.flags |= 128, y = true, rl(R, false), c.lanes = 4194304);
          }
          else {
            if (!y) if (o = mu(V), o !== null) {
              if (c.flags |= 128, y = true, h = o.updateQueue, h !== null && (c.updateQueue = h, c.flags |= 4), rl(R, true), R.tail === null && R.tailMode === "hidden" && !V.alternate && !St) return br(c), null;
            } else 2 * bt() - R.renderingStartTime > Ds && h !== 1073741824 && (c.flags |= 128, y = true, rl(R, false), c.lanes = 4194304);
            R.isBackwards ? (V.sibling = c.child, c.child = V) : (h = R.last, h !== null ? h.sibling = V : c.child = V, R.last = V);
          }
          return R.tail !== null ? (c = R.tail, R.rendering = c, R.tail = c.sibling, R.renderingStartTime = bt(), c.sibling = null, h = Ut.current, Bt(Ut, y ? h & 1 | 2 : h & 1), c) : (br(c), null);
        case 22:
        case 23:
          return Ah(), y = c.memoizedState !== null, o !== null && o.memoizedState !== null !== y && (c.flags |= 8192), y && (c.mode & 1) !== 0 ? (tn & 1073741824) !== 0 && (br(c), c.subtreeFlags & 6 && (c.flags |= 8192)) : br(c), null;
        case 24:
          return null;
        case 25:
          return null;
      }
      throw Error(r(156, c.tag));
    }
    function Ub(o, c) {
      switch (Sf(c), c.tag) {
        case 1:
          return Rr(c.type) && iu(), o = c.flags, o & 65536 ? (c.flags = o & -65537 | 128, c) : null;
        case 3:
          return vs(), Ft(Ur), Ft(yr), Hf(), o = c.flags, (o & 65536) !== 0 && (o & 128) === 0 ? (c.flags = o & -65537 | 128, c) : null;
        case 5:
          return Lf(c), null;
        case 13:
          if (Ft(Ut), o = c.memoizedState, o !== null && o.dehydrated !== null) {
            if (c.alternate === null) throw Error(r(340));
            Es();
          }
          return o = c.flags, o & 65536 ? (c.flags = o & -65537 | 128, c) : null;
        case 19:
          return Ft(Ut), null;
        case 4:
          return vs(), null;
        case 10:
          return Uf(c.type._context), null;
        case 22:
        case 23:
          return Ah(), null;
        case 24:
          return null;
        default:
          return null;
      }
    }
    var Cu = false, Ar = false, Rb = typeof WeakSet == "function" ? WeakSet : Set, Ke = null;
    function Cs(o, c) {
      var h = o.ref;
      if (h !== null) if (typeof h == "function") try {
        h(null);
      } catch (y) {
        Tt(o, c, y);
      }
      else h.current = null;
    }
    function ch(o, c, h) {
      try {
        h();
      } catch (y) {
        Tt(o, c, y);
      }
    }
    var q9 = false;
    function Tb(o, c) {
      if (Af = Gc, o = B5(), ff(o)) {
        if ("selectionStart" in o) var h = {
          start: o.selectionStart,
          end: o.selectionEnd
        };
        else e: {
          h = (h = o.ownerDocument) && h.defaultView || window;
          var y = h.getSelection && h.getSelection();
          if (y && y.rangeCount !== 0) {
            h = y.anchorNode;
            var S = y.anchorOffset, R = y.focusNode;
            y = y.focusOffset;
            try {
              h.nodeType, R.nodeType;
            } catch {
              h = null;
              break e;
            }
            var V = 0, ie = -1, le = -1, be = 0, _e = 0, Pe = o, De = null;
            t: for (; ; ) {
              for (var Te; Pe !== h || S !== 0 && Pe.nodeType !== 3 || (ie = V + S), Pe !== R || y !== 0 && Pe.nodeType !== 3 || (le = V + y), Pe.nodeType === 3 && (V += Pe.nodeValue.length), (Te = Pe.firstChild) !== null; ) De = Pe, Pe = Te;
              for (; ; ) {
                if (Pe === o) break t;
                if (De === h && ++be === S && (ie = V), De === R && ++_e === y && (le = V), (Te = Pe.nextSibling) !== null) break;
                Pe = De, De = Pe.parentNode;
              }
              Pe = Te;
            }
            h = ie === -1 || le === -1 ? null : {
              start: ie,
              end: le
            };
          } else h = null;
        }
        h = h || {
          start: 0,
          end: 0
        };
      } else h = null;
      for (wf = {
        focusedElem: o,
        selectionRange: h
      }, Gc = false, Ke = c; Ke !== null; ) if (c = Ke, o = c.child, (c.subtreeFlags & 1028) !== 0 && o !== null) o.return = c, Ke = o;
      else for (; Ke !== null; ) {
        c = Ke;
        try {
          var Le = c.alternate;
          if ((c.flags & 1024) !== 0) switch (c.tag) {
            case 0:
            case 11:
            case 15:
              break;
            case 1:
              if (Le !== null) {
                var Oe = Le.memoizedProps, Lt = Le.memoizedState, pe = c.stateNode, de = pe.getSnapshotBeforeUpdate(c.elementType === c.type ? Oe : Rn(c.type, Oe), Lt);
                pe.__reactInternalSnapshotBeforeUpdate = de;
              }
              break;
            case 3:
              var ge = c.stateNode.containerInfo;
              ge.nodeType === 1 ? ge.textContent = "" : ge.nodeType === 9 && ge.documentElement && ge.removeChild(ge.documentElement);
              break;
            case 5:
            case 6:
            case 4:
            case 17:
              break;
            default:
              throw Error(r(163));
          }
        } catch (Ne) {
          Tt(c, c.return, Ne);
        }
        if (o = c.sibling, o !== null) {
          o.return = c.return, Ke = o;
          break;
        }
        Ke = c.return;
      }
      return Le = q9, q9 = false, Le;
    }
    function nl(o, c, h) {
      var y = c.updateQueue;
      if (y = y !== null ? y.lastEffect : null, y !== null) {
        var S = y = y.next;
        do {
          if ((S.tag & o) === o) {
            var R = S.destroy;
            S.destroy = void 0, R !== void 0 && ch(c, h, R);
          }
          S = S.next;
        } while (S !== y);
      }
    }
    function ku(o, c) {
      if (c = c.updateQueue, c = c !== null ? c.lastEffect : null, c !== null) {
        var h = c = c.next;
        do {
          if ((h.tag & o) === o) {
            var y = h.create;
            h.destroy = y();
          }
          h = h.next;
        } while (h !== c);
      }
    }
    function uh(o) {
      var c = o.ref;
      if (c !== null) {
        var h = o.stateNode;
        switch (o.tag) {
          case 5:
            o = h;
            break;
          default:
            o = h;
        }
        typeof c == "function" ? c(o) : c.current = o;
      }
    }
    function V9(o) {
      var c = o.alternate;
      c !== null && (o.alternate = null, V9(c)), o.child = null, o.deletions = null, o.sibling = null, o.tag === 5 && (c = o.stateNode, c !== null && (delete c[ra], delete c[q0], delete c[kf], delete c[bb], delete c[Ab])), o.stateNode = null, o.return = null, o.dependencies = null, o.memoizedProps = null, o.memoizedState = null, o.pendingProps = null, o.stateNode = null, o.updateQueue = null;
    }
    function W9(o) {
      return o.tag === 5 || o.tag === 3 || o.tag === 4;
    }
    function Z9(o) {
      e: for (; ; ) {
        for (; o.sibling === null; ) {
          if (o.return === null || W9(o.return)) return null;
          o = o.return;
        }
        for (o.sibling.return = o.return, o = o.sibling; o.tag !== 5 && o.tag !== 6 && o.tag !== 18; ) {
          if (o.flags & 2 || o.child === null || o.tag === 4) continue e;
          o.child.return = o, o = o.child;
        }
        if (!(o.flags & 2)) return o.stateNode;
      }
    }
    function xh(o, c, h) {
      var y = o.tag;
      if (y === 5 || y === 6) o = o.stateNode, c ? h.nodeType === 8 ? h.parentNode.insertBefore(o, c) : h.insertBefore(o, c) : (h.nodeType === 8 ? (c = h.parentNode, c.insertBefore(o, h)) : (c = h, c.appendChild(o)), h = h._reactRootContainer, h != null || c.onclick !== null || (c.onclick = nu));
      else if (y !== 4 && (o = o.child, o !== null)) for (xh(o, c, h), o = o.sibling; o !== null; ) xh(o, c, h), o = o.sibling;
    }
    function dh(o, c, h) {
      var y = o.tag;
      if (y === 5 || y === 6) o = o.stateNode, c ? h.insertBefore(o, c) : h.appendChild(o);
      else if (y !== 4 && (o = o.child, o !== null)) for (dh(o, c, h), o = o.sibling; o !== null; ) dh(o, c, h), o = o.sibling;
    }
    var ur = null, Tn = false;
    function Bi(o, c, h) {
      for (h = h.child; h !== null; ) Y9(o, c, h), h = h.sibling;
    }
    function Y9(o, c, h) {
      if (ta && typeof ta.onCommitFiberUnmount == "function") try {
        ta.onCommitFiberUnmount(Mc, h);
      } catch {
      }
      switch (h.tag) {
        case 5:
          Ar || Cs(h, c);
        case 6:
          var y = ur, S = Tn;
          ur = null, Bi(o, c, h), ur = y, Tn = S, ur !== null && (Tn ? (o = ur, h = h.stateNode, o.nodeType === 8 ? o.parentNode.removeChild(h) : o.removeChild(h)) : ur.removeChild(h.stateNode));
          break;
        case 18:
          ur !== null && (Tn ? (o = ur, h = h.stateNode, o.nodeType === 8 ? Cf(o.parentNode, h) : o.nodeType === 1 && Cf(o, h), z0(o)) : Cf(ur, h.stateNode));
          break;
        case 4:
          y = ur, S = Tn, ur = h.stateNode.containerInfo, Tn = true, Bi(o, c, h), ur = y, Tn = S;
          break;
        case 0:
        case 11:
        case 14:
        case 15:
          if (!Ar && (y = h.updateQueue, y !== null && (y = y.lastEffect, y !== null))) {
            S = y = y.next;
            do {
              var R = S, V = R.destroy;
              R = R.tag, V !== void 0 && ((R & 2) !== 0 || (R & 4) !== 0) && ch(h, c, V), S = S.next;
            } while (S !== y);
          }
          Bi(o, c, h);
          break;
        case 1:
          if (!Ar && (Cs(h, c), y = h.stateNode, typeof y.componentWillUnmount == "function")) try {
            y.props = h.memoizedProps, y.state = h.memoizedState, y.componentWillUnmount();
          } catch (ie) {
            Tt(h, c, ie);
          }
          Bi(o, c, h);
          break;
        case 21:
          Bi(o, c, h);
          break;
        case 22:
          h.mode & 1 ? (Ar = (y = Ar) || h.memoizedState !== null, Bi(o, c, h), Ar = y) : Bi(o, c, h);
          break;
        default:
          Bi(o, c, h);
      }
    }
    function $9(o) {
      var c = o.updateQueue;
      if (c !== null) {
        o.updateQueue = null;
        var h = o.stateNode;
        h === null && (h = o.stateNode = new Rb()), c.forEach(function(y) {
          var S = Vb.bind(null, o, y);
          h.has(y) || (h.add(y), y.then(S, S));
        });
      }
    }
    function Mn(o, c) {
      var h = c.deletions;
      if (h !== null) for (var y = 0; y < h.length; y++) {
        var S = h[y];
        try {
          var R = o, V = c, ie = V;
          e: for (; ie !== null; ) {
            switch (ie.tag) {
              case 5:
                ur = ie.stateNode, Tn = false;
                break e;
              case 3:
                ur = ie.stateNode.containerInfo, Tn = true;
                break e;
              case 4:
                ur = ie.stateNode.containerInfo, Tn = true;
                break e;
            }
            ie = ie.return;
          }
          if (ur === null) throw Error(r(160));
          Y9(R, V, S), ur = null, Tn = false;
          var le = S.alternate;
          le !== null && (le.return = null), S.return = null;
        } catch (be) {
          Tt(S, c, be);
        }
      }
      if (c.subtreeFlags & 12854) for (c = c.child; c !== null; ) X9(c, o), c = c.sibling;
    }
    function X9(o, c) {
      var h = o.alternate, y = o.flags;
      switch (o.tag) {
        case 0:
        case 11:
        case 14:
        case 15:
          if (Mn(c, o), ia(o), y & 4) {
            try {
              nl(3, o, o.return), ku(3, o);
            } catch (Oe) {
              Tt(o, o.return, Oe);
            }
            try {
              nl(5, o, o.return);
            } catch (Oe) {
              Tt(o, o.return, Oe);
            }
          }
          break;
        case 1:
          Mn(c, o), ia(o), y & 512 && h !== null && Cs(h, h.return);
          break;
        case 5:
          if (Mn(c, o), ia(o), y & 512 && h !== null && Cs(h, h.return), o.flags & 32) {
            var S = o.stateNode;
            try {
              ne(S, "");
            } catch (Oe) {
              Tt(o, o.return, Oe);
            }
          }
          if (y & 4 && (S = o.stateNode, S != null)) {
            var R = o.memoizedProps, V = h !== null ? h.memoizedProps : R, ie = o.type, le = o.updateQueue;
            if (o.updateQueue = null, le !== null) try {
              ie === "input" && R.type === "radio" && R.name != null && ce(S, R), tt(ie, V);
              var be = tt(ie, R);
              for (V = 0; V < le.length; V += 2) {
                var _e = le[V], Pe = le[V + 1];
                _e === "style" ? Ye(S, Pe) : _e === "dangerouslySetInnerHTML" ? K(S, Pe) : _e === "children" ? ne(S, Pe) : B(S, _e, Pe, be);
              }
              switch (ie) {
                case "input":
                  ee(S, R);
                  break;
                case "textarea":
                  Ue(S, R);
                  break;
                case "select":
                  var De = S._wrapperState.wasMultiple;
                  S._wrapperState.wasMultiple = !!R.multiple;
                  var Te = R.value;
                  Te != null ? ve(S, !!R.multiple, Te, false) : De !== !!R.multiple && (R.defaultValue != null ? ve(S, !!R.multiple, R.defaultValue, true) : ve(S, !!R.multiple, R.multiple ? [] : "", false));
              }
              S[q0] = R;
            } catch (Oe) {
              Tt(o, o.return, Oe);
            }
          }
          break;
        case 6:
          if (Mn(c, o), ia(o), y & 4) {
            if (o.stateNode === null) throw Error(r(162));
            S = o.stateNode, R = o.memoizedProps;
            try {
              S.nodeValue = R;
            } catch (Oe) {
              Tt(o, o.return, Oe);
            }
          }
          break;
        case 3:
          if (Mn(c, o), ia(o), y & 4 && h !== null && h.memoizedState.isDehydrated) try {
            z0(c.containerInfo);
          } catch (Oe) {
            Tt(o, o.return, Oe);
          }
          break;
        case 4:
          Mn(c, o), ia(o);
          break;
        case 13:
          Mn(c, o), ia(o), S = o.child, S.flags & 8192 && (R = S.memoizedState !== null, S.stateNode.isHidden = R, !R || S.alternate !== null && S.alternate.memoizedState !== null || (ph = bt())), y & 4 && $9(o);
          break;
        case 22:
          if (_e = h !== null && h.memoizedState !== null, o.mode & 1 ? (Ar = (be = Ar) || _e, Mn(c, o), Ar = be) : Mn(c, o), ia(o), y & 8192) {
            if (be = o.memoizedState !== null, (o.stateNode.isHidden = be) && !_e && (o.mode & 1) !== 0) for (Ke = o, _e = o.child; _e !== null; ) {
              for (Pe = Ke = _e; Ke !== null; ) {
                switch (De = Ke, Te = De.child, De.tag) {
                  case 0:
                  case 11:
                  case 14:
                  case 15:
                    nl(4, De, De.return);
                    break;
                  case 1:
                    Cs(De, De.return);
                    var Le = De.stateNode;
                    if (typeof Le.componentWillUnmount == "function") {
                      y = De, h = De.return;
                      try {
                        c = y, Le.props = c.memoizedProps, Le.state = c.memoizedState, Le.componentWillUnmount();
                      } catch (Oe) {
                        Tt(y, h, Oe);
                      }
                    }
                    break;
                  case 5:
                    Cs(De, De.return);
                    break;
                  case 22:
                    if (De.memoizedState !== null) {
                      t6(Pe);
                      continue;
                    }
                }
                Te !== null ? (Te.return = De, Ke = Te) : t6(Pe);
              }
              _e = _e.sibling;
            }
            e: for (_e = null, Pe = o; ; ) {
              if (Pe.tag === 5) {
                if (_e === null) {
                  _e = Pe;
                  try {
                    S = Pe.stateNode, be ? (R = S.style, typeof R.setProperty == "function" ? R.setProperty("display", "none", "important") : R.display = "none") : (ie = Pe.stateNode, le = Pe.memoizedProps.style, V = le != null && le.hasOwnProperty("display") ? le.display : null, ie.style.display = we("display", V));
                  } catch (Oe) {
                    Tt(o, o.return, Oe);
                  }
                }
              } else if (Pe.tag === 6) {
                if (_e === null) try {
                  Pe.stateNode.nodeValue = be ? "" : Pe.memoizedProps;
                } catch (Oe) {
                  Tt(o, o.return, Oe);
                }
              } else if ((Pe.tag !== 22 && Pe.tag !== 23 || Pe.memoizedState === null || Pe === o) && Pe.child !== null) {
                Pe.child.return = Pe, Pe = Pe.child;
                continue;
              }
              if (Pe === o) break e;
              for (; Pe.sibling === null; ) {
                if (Pe.return === null || Pe.return === o) break e;
                _e === Pe && (_e = null), Pe = Pe.return;
              }
              _e === Pe && (_e = null), Pe.sibling.return = Pe.return, Pe = Pe.sibling;
            }
          }
          break;
        case 19:
          Mn(c, o), ia(o), y & 4 && $9(o);
          break;
        case 21:
          break;
        default:
          Mn(c, o), ia(o);
      }
    }
    function ia(o) {
      var c = o.flags;
      if (c & 2) {
        try {
          e: {
            for (var h = o.return; h !== null; ) {
              if (W9(h)) {
                var y = h;
                break e;
              }
              h = h.return;
            }
            throw Error(r(160));
          }
          switch (y.tag) {
            case 5:
              var S = y.stateNode;
              y.flags & 32 && (ne(S, ""), y.flags &= -33);
              var R = Z9(o);
              dh(o, R, S);
              break;
            case 3:
            case 4:
              var V = y.stateNode.containerInfo, ie = Z9(o);
              xh(o, ie, V);
              break;
            default:
              throw Error(r(161));
          }
        } catch (le) {
          Tt(o, o.return, le);
        }
        o.flags &= -3;
      }
      c & 4096 && (o.flags &= -4097);
    }
    function Mb(o, c, h) {
      Ke = o, J9(o);
    }
    function J9(o, c, h) {
      for (var y = (o.mode & 1) !== 0; Ke !== null; ) {
        var S = Ke, R = S.child;
        if (S.tag === 22 && y) {
          var V = S.memoizedState !== null || Cu;
          if (!V) {
            var ie = S.alternate, le = ie !== null && ie.memoizedState !== null || Ar;
            ie = Cu;
            var be = Ar;
            if (Cu = V, (Ar = le) && !be) for (Ke = S; Ke !== null; ) V = Ke, le = V.child, V.tag === 22 && V.memoizedState !== null ? r6(S) : le !== null ? (le.return = V, Ke = le) : r6(S);
            for (; R !== null; ) Ke = R, J9(R), R = R.sibling;
            Ke = S, Cu = ie, Ar = be;
          }
          e6(o);
        } else (S.subtreeFlags & 8772) !== 0 && R !== null ? (R.return = S, Ke = R) : e6(o);
      }
    }
    function e6(o) {
      for (; Ke !== null; ) {
        var c = Ke;
        if ((c.flags & 8772) !== 0) {
          var h = c.alternate;
          try {
            if ((c.flags & 8772) !== 0) switch (c.tag) {
              case 0:
              case 11:
              case 15:
                Ar || ku(5, c);
                break;
              case 1:
                var y = c.stateNode;
                if (c.flags & 4 && !Ar) if (h === null) y.componentDidMount();
                else {
                  var S = c.elementType === c.type ? h.memoizedProps : Rn(c.type, h.memoizedProps);
                  y.componentDidUpdate(S, h.memoizedState, y.__reactInternalSnapshotBeforeUpdate);
                }
                var R = c.updateQueue;
                R !== null && t9(c, R, y);
                break;
              case 3:
                var V = c.updateQueue;
                if (V !== null) {
                  if (h = null, c.child !== null) switch (c.child.tag) {
                    case 5:
                      h = c.child.stateNode;
                      break;
                    case 1:
                      h = c.child.stateNode;
                  }
                  t9(c, V, h);
                }
                break;
              case 5:
                var ie = c.stateNode;
                if (h === null && c.flags & 4) {
                  h = ie;
                  var le = c.memoizedProps;
                  switch (c.type) {
                    case "button":
                    case "input":
                    case "select":
                    case "textarea":
                      le.autoFocus && h.focus();
                      break;
                    case "img":
                      le.src && (h.src = le.src);
                  }
                }
                break;
              case 6:
                break;
              case 4:
                break;
              case 12:
                break;
              case 13:
                if (c.memoizedState === null) {
                  var be = c.alternate;
                  if (be !== null) {
                    var _e = be.memoizedState;
                    if (_e !== null) {
                      var Pe = _e.dehydrated;
                      Pe !== null && z0(Pe);
                    }
                  }
                }
                break;
              case 19:
              case 17:
              case 21:
              case 22:
              case 23:
              case 25:
                break;
              default:
                throw Error(r(163));
            }
            Ar || c.flags & 512 && uh(c);
          } catch (De) {
            Tt(c, c.return, De);
          }
        }
        if (c === o) {
          Ke = null;
          break;
        }
        if (h = c.sibling, h !== null) {
          h.return = c.return, Ke = h;
          break;
        }
        Ke = c.return;
      }
    }
    function t6(o) {
      for (; Ke !== null; ) {
        var c = Ke;
        if (c === o) {
          Ke = null;
          break;
        }
        var h = c.sibling;
        if (h !== null) {
          h.return = c.return, Ke = h;
          break;
        }
        Ke = c.return;
      }
    }
    function r6(o) {
      for (; Ke !== null; ) {
        var c = Ke;
        try {
          switch (c.tag) {
            case 0:
            case 11:
            case 15:
              var h = c.return;
              try {
                ku(4, c);
              } catch (le) {
                Tt(c, h, le);
              }
              break;
            case 1:
              var y = c.stateNode;
              if (typeof y.componentDidMount == "function") {
                var S = c.return;
                try {
                  y.componentDidMount();
                } catch (le) {
                  Tt(c, S, le);
                }
              }
              var R = c.return;
              try {
                uh(c);
              } catch (le) {
                Tt(c, R, le);
              }
              break;
            case 5:
              var V = c.return;
              try {
                uh(c);
              } catch (le) {
                Tt(c, V, le);
              }
          }
        } catch (le) {
          Tt(c, c.return, le);
        }
        if (c === o) {
          Ke = null;
          break;
        }
        var ie = c.sibling;
        if (ie !== null) {
          ie.return = c.return, Ke = ie;
          break;
        }
        Ke = c.return;
      }
    }
    var Kb = Math.ceil, Du = v.ReactCurrentDispatcher, fh = v.ReactCurrentOwner, pn = v.ReactCurrentBatchConfig, ct = 0, nr = null, Gt = null, xr = 0, tn = 0, ks = Ei(0), Zt = 0, al = null, Eo = 0, Fu = 0, hh = 0, il = null, Mr = null, ph = 0, Ds = 1 / 0, Ma = null, _u = false, mh = null, Ci = null, Su = false, ki = null, Iu = 0, ol = 0, gh = null, Pu = -1, Nu = 0;
    function Sr() {
      return (ct & 6) !== 0 ? bt() : Pu !== -1 ? Pu : Pu = bt();
    }
    function Di(o) {
      return (o.mode & 1) === 0 ? 1 : (ct & 2) !== 0 && xr !== 0 ? xr & -xr : vb.transition !== null ? (Nu === 0 && (Nu = Z8()), Nu) : (o = gt, o !== 0 || (o = window.event, o = o === void 0 ? 16 : a5(o.type)), o);
    }
    function Kn(o, c, h, y) {
      if (50 < ol) throw ol = 0, gh = null, Error(r(185));
      S0(o, h, y), ((ct & 2) === 0 || o !== nr) && (o === nr && ((ct & 2) === 0 && (Fu |= h), Zt === 4 && Fi(o, xr)), Kr(o, y), h === 1 && ct === 0 && (c.mode & 1) === 0 && (Ds = bt() + 500, su && Ai()));
    }
    function Kr(o, c) {
      var h = o.callbackNode;
      vE(o, c);
      var y = Oc(o, o === nr ? xr : 0);
      if (y === 0) h !== null && xt(h), o.callbackNode = null, o.callbackPriority = 0;
      else if (c = y & -y, o.callbackPriority !== c) {
        if (h != null && xt(h), c === 1) o.tag === 0 ? wb(a6.bind(null, o)) : H5(a6.bind(null, o)), yb(function() {
          (ct & 6) === 0 && Ai();
        }), h = null;
        else {
          switch (Y8(y)) {
            case 1:
              h = ea;
              break;
            case 4:
              h = V8;
              break;
            case 16:
              h = Tc;
              break;
            case 536870912:
              h = W8;
              break;
            default:
              h = Tc;
          }
          h = d6(h, n6.bind(null, o));
        }
        o.callbackPriority = c, o.callbackNode = h;
      }
    }
    function n6(o, c) {
      if (Pu = -1, Nu = 0, (ct & 6) !== 0) throw Error(r(327));
      var h = o.callbackNode;
      if (Fs() && o.callbackNode !== h) return null;
      var y = Oc(o, o === nr ? xr : 0);
      if (y === 0) return null;
      if ((y & 30) !== 0 || (y & o.expiredLanes) !== 0 || c) c = ju(o, y);
      else {
        c = y;
        var S = ct;
        ct |= 2;
        var R = o6();
        (nr !== o || xr !== c) && (Ma = null, Ds = bt() + 500, Ao(o, c));
        do
          try {
            Hb();
            break;
          } catch (ie) {
            i6(o, ie);
          }
        while (true);
        zf(), Du.current = R, ct = S, Gt !== null ? c = 0 : (nr = null, xr = 0, c = Zt);
      }
      if (c !== 0) {
        if (c === 2 && (S = Yd(o), S !== 0 && (y = S, c = yh(o, S))), c === 1) throw h = al, Ao(o, 0), Fi(o, y), Kr(o, bt()), h;
        if (c === 6) Fi(o, y);
        else {
          if (S = o.current.alternate, (y & 30) === 0 && !Lb(S) && (c = ju(o, y), c === 2 && (R = Yd(o), R !== 0 && (y = R, c = yh(o, R))), c === 1)) throw h = al, Ao(o, 0), Fi(o, y), Kr(o, bt()), h;
          switch (o.finishedWork = S, o.finishedLanes = y, c) {
            case 0:
            case 1:
              throw Error(r(345));
            case 2:
              wo(o, Mr, Ma);
              break;
            case 3:
              if (Fi(o, y), (y & 130023424) === y && (c = ph + 500 - bt(), 10 < c)) {
                if (Oc(o, 0) !== 0) break;
                if (S = o.suspendedLanes, (S & y) !== y) {
                  Sr(), o.pingedLanes |= o.suspendedLanes & S;
                  break;
                }
                o.timeoutHandle = Bf(wo.bind(null, o, Mr, Ma), c);
                break;
              }
              wo(o, Mr, Ma);
              break;
            case 4:
              if (Fi(o, y), (y & 4194240) === y) break;
              for (c = o.eventTimes, S = -1; 0 < y; ) {
                var V = 31 - jn(y);
                R = 1 << V, V = c[V], V > S && (S = V), y &= ~R;
              }
              if (y = S, y = bt() - y, y = (120 > y ? 120 : 480 > y ? 480 : 1080 > y ? 1080 : 1920 > y ? 1920 : 3e3 > y ? 3e3 : 4320 > y ? 4320 : 1960 * Kb(y / 1960)) - y, 10 < y) {
                o.timeoutHandle = Bf(wo.bind(null, o, Mr, Ma), y);
                break;
              }
              wo(o, Mr, Ma);
              break;
            case 5:
              wo(o, Mr, Ma);
              break;
            default:
              throw Error(r(329));
          }
        }
      }
      return Kr(o, bt()), o.callbackNode === h ? n6.bind(null, o) : null;
    }
    function yh(o, c) {
      var h = il;
      return o.current.memoizedState.isDehydrated && (Ao(o, c).flags |= 256), o = ju(o, c), o !== 2 && (c = Mr, Mr = h, c !== null && Eh(c)), o;
    }
    function Eh(o) {
      Mr === null ? Mr = o : Mr.push.apply(Mr, o);
    }
    function Lb(o) {
      for (var c = o; ; ) {
        if (c.flags & 16384) {
          var h = c.updateQueue;
          if (h !== null && (h = h.stores, h !== null)) for (var y = 0; y < h.length; y++) {
            var S = h[y], R = S.getSnapshot;
            S = S.value;
            try {
              if (!zn(R(), S)) return false;
            } catch {
              return false;
            }
          }
        }
        if (h = c.child, c.subtreeFlags & 16384 && h !== null) h.return = c, c = h;
        else {
          if (c === o) break;
          for (; c.sibling === null; ) {
            if (c.return === null || c.return === o) return true;
            c = c.return;
          }
          c.sibling.return = c.return, c = c.sibling;
        }
      }
      return true;
    }
    function Fi(o, c) {
      for (c &= ~hh, c &= ~Fu, o.suspendedLanes |= c, o.pingedLanes &= ~c, o = o.expirationTimes; 0 < c; ) {
        var h = 31 - jn(c), y = 1 << h;
        o[h] = -1, c &= ~y;
      }
    }
    function a6(o) {
      if ((ct & 6) !== 0) throw Error(r(327));
      Fs();
      var c = Oc(o, 0);
      if ((c & 1) === 0) return Kr(o, bt()), null;
      var h = ju(o, c);
      if (o.tag !== 0 && h === 2) {
        var y = Yd(o);
        y !== 0 && (c = y, h = yh(o, y));
      }
      if (h === 1) throw h = al, Ao(o, 0), Fi(o, c), Kr(o, bt()), h;
      if (h === 6) throw Error(r(345));
      return o.finishedWork = o.current.alternate, o.finishedLanes = c, wo(o, Mr, Ma), Kr(o, bt()), null;
    }
    function bh(o, c) {
      var h = ct;
      ct |= 1;
      try {
        return o(c);
      } finally {
        ct = h, ct === 0 && (Ds = bt() + 500, su && Ai());
      }
    }
    function bo(o) {
      ki !== null && ki.tag === 0 && (ct & 6) === 0 && Fs();
      var c = ct;
      ct |= 1;
      var h = pn.transition, y = gt;
      try {
        if (pn.transition = null, gt = 1, o) return o();
      } finally {
        gt = y, pn.transition = h, ct = c, (ct & 6) === 0 && Ai();
      }
    }
    function Ah() {
      tn = ks.current, Ft(ks);
    }
    function Ao(o, c) {
      o.finishedWork = null, o.finishedLanes = 0;
      var h = o.timeoutHandle;
      if (h !== -1 && (o.timeoutHandle = -1, gb(h)), Gt !== null) for (h = Gt.return; h !== null; ) {
        var y = h;
        switch (Sf(y), y.tag) {
          case 1:
            y = y.type.childContextTypes, y != null && iu();
            break;
          case 3:
            vs(), Ft(Ur), Ft(yr), Hf();
            break;
          case 5:
            Lf(y);
            break;
          case 4:
            vs();
            break;
          case 13:
            Ft(Ut);
            break;
          case 19:
            Ft(Ut);
            break;
          case 10:
            Uf(y.type._context);
            break;
          case 22:
          case 23:
            Ah();
        }
        h = h.return;
      }
      if (nr = o, Gt = o = _i(o.current, null), xr = tn = c, Zt = 0, al = null, hh = Fu = Eo = 0, Mr = il = null, mo !== null) {
        for (c = 0; c < mo.length; c++) if (h = mo[c], y = h.interleaved, y !== null) {
          h.interleaved = null;
          var S = y.next, R = h.pending;
          if (R !== null) {
            var V = R.next;
            R.next = S, y.next = V;
          }
          h.pending = y;
        }
        mo = null;
      }
      return o;
    }
    function i6(o, c) {
      do {
        var h = Gt;
        try {
          if (zf(), gu.current = Au, yu) {
            for (var y = Rt.memoizedState; y !== null; ) {
              var S = y.queue;
              S !== null && (S.pending = null), y = y.next;
            }
            yu = false;
          }
          if (yo = 0, rr = Wt = Rt = null, X0 = false, J0 = 0, fh.current = null, h === null || h.return === null) {
            Zt = 1, al = c, Gt = null;
            break;
          }
          e: {
            var R = o, V = h.return, ie = h, le = c;
            if (c = xr, ie.flags |= 32768, le !== null && typeof le == "object" && typeof le.then == "function") {
              var be = le, _e = ie, Pe = _e.tag;
              if ((_e.mode & 1) === 0 && (Pe === 0 || Pe === 11 || Pe === 15)) {
                var De = _e.alternate;
                De ? (_e.updateQueue = De.updateQueue, _e.memoizedState = De.memoizedState, _e.lanes = De.lanes) : (_e.updateQueue = null, _e.memoizedState = null);
              }
              var Te = S9(V);
              if (Te !== null) {
                Te.flags &= -257, I9(Te, V, ie, R, c), Te.mode & 1 && _9(R, be, c), c = Te, le = be;
                var Le = c.updateQueue;
                if (Le === null) {
                  var Oe = /* @__PURE__ */ new Set();
                  Oe.add(le), c.updateQueue = Oe;
                } else Le.add(le);
                break e;
              } else {
                if ((c & 1) === 0) {
                  _9(R, be, c), wh();
                  break e;
                }
                le = Error(r(426));
              }
            } else if (St && ie.mode & 1) {
              var Lt = S9(V);
              if (Lt !== null) {
                (Lt.flags & 65536) === 0 && (Lt.flags |= 256), I9(Lt, V, ie, R, c), Nf(Bs(le, ie));
                break e;
              }
            }
            R = le = Bs(le, ie), Zt !== 4 && (Zt = 2), il === null ? il = [
              R
            ] : il.push(R), R = V;
            do {
              switch (R.tag) {
                case 3:
                  R.flags |= 65536, c &= -c, R.lanes |= c;
                  var pe = D9(R, le, c);
                  e9(R, pe);
                  break e;
                case 1:
                  ie = le;
                  var de = R.type, ge = R.stateNode;
                  if ((R.flags & 128) === 0 && (typeof de.getDerivedStateFromError == "function" || ge !== null && typeof ge.componentDidCatch == "function" && (Ci === null || !Ci.has(ge)))) {
                    R.flags |= 65536, c &= -c, R.lanes |= c;
                    var Ne = F9(R, ie, c);
                    e9(R, Ne);
                    break e;
                  }
              }
              R = R.return;
            } while (R !== null);
          }
          l6(h);
        } catch (He) {
          c = He, Gt === h && h !== null && (Gt = h = h.return);
          continue;
        }
        break;
      } while (true);
    }
    function o6() {
      var o = Du.current;
      return Du.current = Au, o === null ? Au : o;
    }
    function wh() {
      (Zt === 0 || Zt === 3 || Zt === 2) && (Zt = 4), nr === null || (Eo & 268435455) === 0 && (Fu & 268435455) === 0 || Fi(nr, xr);
    }
    function ju(o, c) {
      var h = ct;
      ct |= 2;
      var y = o6();
      (nr !== o || xr !== c) && (Ma = null, Ao(o, c));
      do
        try {
          Ob();
          break;
        } catch (S) {
          i6(o, S);
        }
      while (true);
      if (zf(), ct = h, Du.current = y, Gt !== null) throw Error(r(261));
      return nr = null, xr = 0, Zt;
    }
    function Ob() {
      for (; Gt !== null; ) s6(Gt);
    }
    function Hb() {
      for (; Gt !== null && !tr(); ) s6(Gt);
    }
    function s6(o) {
      var c = x6(o.alternate, o, tn);
      o.memoizedProps = o.pendingProps, c === null ? l6(o) : Gt = c, fh.current = null;
    }
    function l6(o) {
      var c = o;
      do {
        var h = c.alternate;
        if (o = c.return, (c.flags & 32768) === 0) {
          if (h = zb(h, c, tn), h !== null) {
            Gt = h;
            return;
          }
        } else {
          if (h = Ub(h, c), h !== null) {
            h.flags &= 32767, Gt = h;
            return;
          }
          if (o !== null) o.flags |= 32768, o.subtreeFlags = 0, o.deletions = null;
          else {
            Zt = 6, Gt = null;
            return;
          }
        }
        if (c = c.sibling, c !== null) {
          Gt = c;
          return;
        }
        Gt = c = o;
      } while (c !== null);
      Zt === 0 && (Zt = 5);
    }
    function wo(o, c, h) {
      var y = gt, S = pn.transition;
      try {
        pn.transition = null, gt = 1, Qb(o, c, h, y);
      } finally {
        pn.transition = S, gt = y;
      }
      return null;
    }
    function Qb(o, c, h, y) {
      do
        Fs();
      while (ki !== null);
      if ((ct & 6) !== 0) throw Error(r(327));
      h = o.finishedWork;
      var S = o.finishedLanes;
      if (h === null) return null;
      if (o.finishedWork = null, o.finishedLanes = 0, h === o.current) throw Error(r(177));
      o.callbackNode = null, o.callbackPriority = 0;
      var R = h.lanes | h.childLanes;
      if (BE(o, R), o === nr && (Gt = nr = null, xr = 0), (h.subtreeFlags & 2064) === 0 && (h.flags & 2064) === 0 || Su || (Su = true, d6(Tc, function() {
        return Fs(), null;
      })), R = (h.flags & 15990) !== 0, (h.subtreeFlags & 15990) !== 0 || R) {
        R = pn.transition, pn.transition = null;
        var V = gt;
        gt = 1;
        var ie = ct;
        ct |= 4, fh.current = null, Tb(o, h), X9(h, o), ub(wf), Gc = !!Af, wf = Af = null, o.current = h, Mb(h), un(), ct = ie, gt = V, pn.transition = R;
      } else o.current = h;
      if (Su && (Su = false, ki = o, Iu = S), R = o.pendingLanes, R === 0 && (Ci = null), yE(h.stateNode), Kr(o, bt()), c !== null) for (y = o.onRecoverableError, h = 0; h < c.length; h++) S = c[h], y(S.value, {
        componentStack: S.stack,
        digest: S.digest
      });
      if (_u) throw _u = false, o = mh, mh = null, o;
      return (Iu & 1) !== 0 && o.tag !== 0 && Fs(), R = o.pendingLanes, (R & 1) !== 0 ? o === gh ? ol++ : (ol = 0, gh = o) : ol = 0, Ai(), null;
    }
    function Fs() {
      if (ki !== null) {
        var o = Y8(Iu), c = pn.transition, h = gt;
        try {
          if (pn.transition = null, gt = 16 > o ? 16 : o, ki === null) var y = false;
          else {
            if (o = ki, ki = null, Iu = 0, (ct & 6) !== 0) throw Error(r(331));
            var S = ct;
            for (ct |= 4, Ke = o.current; Ke !== null; ) {
              var R = Ke, V = R.child;
              if ((Ke.flags & 16) !== 0) {
                var ie = R.deletions;
                if (ie !== null) {
                  for (var le = 0; le < ie.length; le++) {
                    var be = ie[le];
                    for (Ke = be; Ke !== null; ) {
                      var _e = Ke;
                      switch (_e.tag) {
                        case 0:
                        case 11:
                        case 15:
                          nl(8, _e, R);
                      }
                      var Pe = _e.child;
                      if (Pe !== null) Pe.return = _e, Ke = Pe;
                      else for (; Ke !== null; ) {
                        _e = Ke;
                        var De = _e.sibling, Te = _e.return;
                        if (V9(_e), _e === be) {
                          Ke = null;
                          break;
                        }
                        if (De !== null) {
                          De.return = Te, Ke = De;
                          break;
                        }
                        Ke = Te;
                      }
                    }
                  }
                  var Le = R.alternate;
                  if (Le !== null) {
                    var Oe = Le.child;
                    if (Oe !== null) {
                      Le.child = null;
                      do {
                        var Lt = Oe.sibling;
                        Oe.sibling = null, Oe = Lt;
                      } while (Oe !== null);
                    }
                  }
                  Ke = R;
                }
              }
              if ((R.subtreeFlags & 2064) !== 0 && V !== null) V.return = R, Ke = V;
              else e: for (; Ke !== null; ) {
                if (R = Ke, (R.flags & 2048) !== 0) switch (R.tag) {
                  case 0:
                  case 11:
                  case 15:
                    nl(9, R, R.return);
                }
                var pe = R.sibling;
                if (pe !== null) {
                  pe.return = R.return, Ke = pe;
                  break e;
                }
                Ke = R.return;
              }
            }
            var de = o.current;
            for (Ke = de; Ke !== null; ) {
              V = Ke;
              var ge = V.child;
              if ((V.subtreeFlags & 2064) !== 0 && ge !== null) ge.return = V, Ke = ge;
              else e: for (V = de; Ke !== null; ) {
                if (ie = Ke, (ie.flags & 2048) !== 0) try {
                  switch (ie.tag) {
                    case 0:
                    case 11:
                    case 15:
                      ku(9, ie);
                  }
                } catch (He) {
                  Tt(ie, ie.return, He);
                }
                if (ie === V) {
                  Ke = null;
                  break e;
                }
                var Ne = ie.sibling;
                if (Ne !== null) {
                  Ne.return = ie.return, Ke = Ne;
                  break e;
                }
                Ke = ie.return;
              }
            }
            if (ct = S, Ai(), ta && typeof ta.onPostCommitFiberRoot == "function") try {
              ta.onPostCommitFiberRoot(Mc, o);
            } catch {
            }
            y = true;
          }
          return y;
        } finally {
          gt = h, pn.transition = c;
        }
      }
      return false;
    }
    function c6(o, c, h) {
      c = Bs(h, c), c = D9(o, c, 1), o = vi(o, c, 1), c = Sr(), o !== null && (S0(o, 1, c), Kr(o, c));
    }
    function Tt(o, c, h) {
      if (o.tag === 3) c6(o, o, h);
      else for (; c !== null; ) {
        if (c.tag === 3) {
          c6(c, o, h);
          break;
        } else if (c.tag === 1) {
          var y = c.stateNode;
          if (typeof c.type.getDerivedStateFromError == "function" || typeof y.componentDidCatch == "function" && (Ci === null || !Ci.has(y))) {
            o = Bs(h, o), o = F9(c, o, 1), c = vi(c, o, 1), o = Sr(), c !== null && (S0(c, 1, o), Kr(c, o));
            break;
          }
        }
        c = c.return;
      }
    }
    function Gb(o, c, h) {
      var y = o.pingCache;
      y !== null && y.delete(c), c = Sr(), o.pingedLanes |= o.suspendedLanes & h, nr === o && (xr & h) === h && (Zt === 4 || Zt === 3 && (xr & 130023424) === xr && 500 > bt() - ph ? Ao(o, 0) : hh |= h), Kr(o, c);
    }
    function u6(o, c) {
      c === 0 && ((o.mode & 1) === 0 ? c = 1 : (c = Lc, Lc <<= 1, (Lc & 130023424) === 0 && (Lc = 4194304)));
      var h = Sr();
      o = Ua(o, c), o !== null && (S0(o, c, h), Kr(o, h));
    }
    function qb(o) {
      var c = o.memoizedState, h = 0;
      c !== null && (h = c.retryLane), u6(o, h);
    }
    function Vb(o, c) {
      var h = 0;
      switch (o.tag) {
        case 13:
          var y = o.stateNode, S = o.memoizedState;
          S !== null && (h = S.retryLane);
          break;
        case 19:
          y = o.stateNode;
          break;
        default:
          throw Error(r(314));
      }
      y !== null && y.delete(c), u6(o, h);
    }
    var x6;
    x6 = function(o, c, h) {
      if (o !== null) if (o.memoizedProps !== c.pendingProps || Ur.current) Tr = true;
      else {
        if ((o.lanes & h) === 0 && (c.flags & 128) === 0) return Tr = false, jb(o, c, h);
        Tr = (o.flags & 131072) !== 0;
      }
      else Tr = false, St && (c.flags & 1048576) !== 0 && Q5(c, cu, c.index);
      switch (c.lanes = 0, c.tag) {
        case 2:
          var y = c.type;
          Bu(o, c), o = c.pendingProps;
          var S = ms(c, yr.current);
          ws(c, h), S = qf(null, c, y, o, S, h);
          var R = Vf();
          return c.flags |= 1, typeof S == "object" && S !== null && typeof S.render == "function" && S.$$typeof === void 0 ? (c.tag = 1, c.memoizedState = null, c.updateQueue = null, Rr(y) ? (R = true, ou(c)) : R = false, c.memoizedState = S.state !== null && S.state !== void 0 ? S.state : null, Mf(c), S.updater = wu, c.stateNode = S, S._reactInternals = c, Jf(c, y, o, h), c = nh(null, c, y, true, R, h)) : (c.tag = 0, St && R && _f(c), _r(null, c, S, h), c = c.child), c;
        case 16:
          y = c.elementType;
          e: {
            switch (Bu(o, c), o = c.pendingProps, S = y._init, y = S(y._payload), c.type = y, S = c.tag = Zb(y), o = Rn(y, o), S) {
              case 0:
                c = rh(null, c, y, o, h);
                break e;
              case 1:
                c = R9(null, c, y, o, h);
                break e;
              case 11:
                c = P9(null, c, y, o, h);
                break e;
              case 14:
                c = N9(null, c, y, Rn(y.type, o), h);
                break e;
            }
            throw Error(r(306, y, ""));
          }
          return c;
        case 0:
          return y = c.type, S = c.pendingProps, S = c.elementType === y ? S : Rn(y, S), rh(o, c, y, S, h);
        case 1:
          return y = c.type, S = c.pendingProps, S = c.elementType === y ? S : Rn(y, S), R9(o, c, y, S, h);
        case 3:
          e: {
            if (T9(c), o === null) throw Error(r(387));
            y = c.pendingProps, R = c.memoizedState, S = R.element, J5(o, c), pu(c, y, null, h);
            var V = c.memoizedState;
            if (y = V.element, R.isDehydrated) if (R = {
              element: y,
              isDehydrated: false,
              cache: V.cache,
              pendingSuspenseBoundaries: V.pendingSuspenseBoundaries,
              transitions: V.transitions
            }, c.updateQueue.baseState = R, c.memoizedState = R, c.flags & 256) {
              S = Bs(Error(r(423)), c), c = M9(o, c, y, h, S);
              break e;
            } else if (y !== S) {
              S = Bs(Error(r(424)), c), c = M9(o, c, y, h, S);
              break e;
            } else for (en = yi(c.stateNode.containerInfo.firstChild), Jr = c, St = true, Un = null, h = $5(c, null, y, h), c.child = h; h; ) h.flags = h.flags & -3 | 4096, h = h.sibling;
            else {
              if (Es(), y === S) {
                c = Ta(o, c, h);
                break e;
              }
              _r(o, c, y, h);
            }
            c = c.child;
          }
          return c;
        case 5:
          return r9(c), o === null && Pf(c), y = c.type, S = c.pendingProps, R = o !== null ? o.memoizedProps : null, V = S.children, vf(y, S) ? V = null : R !== null && vf(y, R) && (c.flags |= 32), U9(o, c), _r(o, c, V, h), c.child;
        case 6:
          return o === null && Pf(c), null;
        case 13:
          return K9(o, c, h);
        case 4:
          return Kf(c, c.stateNode.containerInfo), y = c.pendingProps, o === null ? c.child = bs(c, null, y, h) : _r(o, c, y, h), c.child;
        case 11:
          return y = c.type, S = c.pendingProps, S = c.elementType === y ? S : Rn(y, S), P9(o, c, y, S, h);
        case 7:
          return _r(o, c, c.pendingProps, h), c.child;
        case 8:
          return _r(o, c, c.pendingProps.children, h), c.child;
        case 12:
          return _r(o, c, c.pendingProps.children, h), c.child;
        case 10:
          e: {
            if (y = c.type._context, S = c.pendingProps, R = c.memoizedProps, V = S.value, Bt(du, y._currentValue), y._currentValue = V, R !== null) if (zn(R.value, V)) {
              if (R.children === S.children && !Ur.current) {
                c = Ta(o, c, h);
                break e;
              }
            } else for (R = c.child, R !== null && (R.return = c); R !== null; ) {
              var ie = R.dependencies;
              if (ie !== null) {
                V = R.child;
                for (var le = ie.firstContext; le !== null; ) {
                  if (le.context === y) {
                    if (R.tag === 1) {
                      le = Ra(-1, h & -h), le.tag = 2;
                      var be = R.updateQueue;
                      if (be !== null) {
                        be = be.shared;
                        var _e = be.pending;
                        _e === null ? le.next = le : (le.next = _e.next, _e.next = le), be.pending = le;
                      }
                    }
                    R.lanes |= h, le = R.alternate, le !== null && (le.lanes |= h), Rf(R.return, h, c), ie.lanes |= h;
                    break;
                  }
                  le = le.next;
                }
              } else if (R.tag === 10) V = R.type === c.type ? null : R.child;
              else if (R.tag === 18) {
                if (V = R.return, V === null) throw Error(r(341));
                V.lanes |= h, ie = V.alternate, ie !== null && (ie.lanes |= h), Rf(V, h, c), V = R.sibling;
              } else V = R.child;
              if (V !== null) V.return = R;
              else for (V = R; V !== null; ) {
                if (V === c) {
                  V = null;
                  break;
                }
                if (R = V.sibling, R !== null) {
                  R.return = V.return, V = R;
                  break;
                }
                V = V.return;
              }
              R = V;
            }
            _r(o, c, S.children, h), c = c.child;
          }
          return c;
        case 9:
          return S = c.type, y = c.pendingProps.children, ws(c, h), S = fn(S), y = y(S), c.flags |= 1, _r(o, c, y, h), c.child;
        case 14:
          return y = c.type, S = Rn(y, c.pendingProps), S = Rn(y.type, S), N9(o, c, y, S, h);
        case 15:
          return j9(o, c, c.type, c.pendingProps, h);
        case 17:
          return y = c.type, S = c.pendingProps, S = c.elementType === y ? S : Rn(y, S), Bu(o, c), c.tag = 1, Rr(y) ? (o = true, ou(c)) : o = false, ws(c, h), C9(c, y, S), Jf(c, y, S, h), nh(null, c, y, true, o, h);
        case 19:
          return O9(o, c, h);
        case 22:
          return z9(o, c, h);
      }
      throw Error(r(156, c.tag));
    };
    function d6(o, c) {
      return pt(o, c);
    }
    function Wb(o, c, h, y) {
      this.tag = o, this.key = h, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = c, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = y, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
    }
    function mn(o, c, h, y) {
      return new Wb(o, c, h, y);
    }
    function vh(o) {
      return o = o.prototype, !(!o || !o.isReactComponent);
    }
    function Zb(o) {
      if (typeof o == "function") return vh(o) ? 1 : 0;
      if (o != null) {
        if (o = o.$$typeof, o === P) return 11;
        if (o === q) return 14;
      }
      return 2;
    }
    function _i(o, c) {
      var h = o.alternate;
      return h === null ? (h = mn(o.tag, c, o.key, o.mode), h.elementType = o.elementType, h.type = o.type, h.stateNode = o.stateNode, h.alternate = o, o.alternate = h) : (h.pendingProps = c, h.type = o.type, h.flags = 0, h.subtreeFlags = 0, h.deletions = null), h.flags = o.flags & 14680064, h.childLanes = o.childLanes, h.lanes = o.lanes, h.child = o.child, h.memoizedProps = o.memoizedProps, h.memoizedState = o.memoizedState, h.updateQueue = o.updateQueue, c = o.dependencies, h.dependencies = c === null ? null : {
        lanes: c.lanes,
        firstContext: c.firstContext
      }, h.sibling = o.sibling, h.index = o.index, h.ref = o.ref, h;
    }
    function zu(o, c, h, y, S, R) {
      var V = 2;
      if (y = o, typeof o == "function") vh(o) && (V = 1);
      else if (typeof o == "string") V = 5;
      else e: switch (o) {
        case I:
          return vo(h.children, S, R, c);
        case z:
          V = 8, S |= 8;
          break;
        case C:
          return o = mn(12, h, c, S | 2), o.elementType = C, o.lanes = R, o;
        case L:
          return o = mn(13, h, c, S), o.elementType = L, o.lanes = R, o;
        case F:
          return o = mn(19, h, c, S), o.elementType = F, o.lanes = R, o;
        case Y:
          return Uu(h, S, R, c);
        default:
          if (typeof o == "object" && o !== null) switch (o.$$typeof) {
            case j:
              V = 10;
              break e;
            case U:
              V = 9;
              break e;
            case P:
              V = 11;
              break e;
            case q:
              V = 14;
              break e;
            case $:
              V = 16, y = null;
              break e;
          }
          throw Error(r(130, o == null ? o : typeof o, ""));
      }
      return c = mn(V, h, c, S), c.elementType = o, c.type = y, c.lanes = R, c;
    }
    function vo(o, c, h, y) {
      return o = mn(7, o, y, c), o.lanes = h, o;
    }
    function Uu(o, c, h, y) {
      return o = mn(22, o, y, c), o.elementType = Y, o.lanes = h, o.stateNode = {
        isHidden: false
      }, o;
    }
    function Bh(o, c, h) {
      return o = mn(6, o, null, c), o.lanes = h, o;
    }
    function Ch(o, c, h) {
      return c = mn(4, o.children !== null ? o.children : [], o.key, c), c.lanes = h, c.stateNode = {
        containerInfo: o.containerInfo,
        pendingChildren: null,
        implementation: o.implementation
      }, c;
    }
    function Yb(o, c, h, y, S) {
      this.tag = c, this.containerInfo = o, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = $d(0), this.expirationTimes = $d(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = $d(0), this.identifierPrefix = y, this.onRecoverableError = S, this.mutableSourceEagerHydrationData = null;
    }
    function kh(o, c, h, y, S, R, V, ie, le) {
      return o = new Yb(o, c, h, ie, le), c === 1 ? (c = 1, R === true && (c |= 8)) : c = 0, R = mn(3, null, null, c), o.current = R, R.stateNode = o, R.memoizedState = {
        element: y,
        isDehydrated: h,
        cache: null,
        transitions: null,
        pendingSuspenseBoundaries: null
      }, Mf(R), o;
    }
    function $b(o, c, h) {
      var y = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
      return {
        $$typeof: T,
        key: y == null ? null : "" + y,
        children: o,
        containerInfo: c,
        implementation: h
      };
    }
    function f6(o) {
      if (!o) return bi;
      o = o._reactInternals;
      e: {
        if (Ia(o) !== o || o.tag !== 1) throw Error(r(170));
        var c = o;
        do {
          switch (c.tag) {
            case 3:
              c = c.stateNode.context;
              break e;
            case 1:
              if (Rr(c.type)) {
                c = c.stateNode.__reactInternalMemoizedMergedChildContext;
                break e;
              }
          }
          c = c.return;
        } while (c !== null);
        throw Error(r(171));
      }
      if (o.tag === 1) {
        var h = o.type;
        if (Rr(h)) return L5(o, h, c);
      }
      return c;
    }
    function h6(o, c, h, y, S, R, V, ie, le) {
      return o = kh(h, y, true, o, S, R, V, ie, le), o.context = f6(null), h = o.current, y = Sr(), S = Di(h), R = Ra(y, S), R.callback = c ?? null, vi(h, R, S), o.current.lanes = S, S0(o, S, y), Kr(o, y), o;
    }
    function Ru(o, c, h, y) {
      var S = c.current, R = Sr(), V = Di(S);
      return h = f6(h), c.context === null ? c.context = h : c.pendingContext = h, c = Ra(R, V), c.payload = {
        element: o
      }, y = y === void 0 ? null : y, y !== null && (c.callback = y), o = vi(S, c, V), o !== null && (Kn(o, S, V, R), hu(o, S, V)), V;
    }
    function Tu(o) {
      if (o = o.current, !o.child) return null;
      switch (o.child.tag) {
        case 5:
          return o.child.stateNode;
        default:
          return o.child.stateNode;
      }
    }
    function p6(o, c) {
      if (o = o.memoizedState, o !== null && o.dehydrated !== null) {
        var h = o.retryLane;
        o.retryLane = h !== 0 && h < c ? h : c;
      }
    }
    function Dh(o, c) {
      p6(o, c), (o = o.alternate) && p6(o, c);
    }
    function Xb() {
      return null;
    }
    var m6 = typeof reportError == "function" ? reportError : function(o) {
      console.error(o);
    };
    function Fh(o) {
      this._internalRoot = o;
    }
    Mu.prototype.render = Fh.prototype.render = function(o) {
      var c = this._internalRoot;
      if (c === null) throw Error(r(409));
      Ru(o, c, null, null);
    }, Mu.prototype.unmount = Fh.prototype.unmount = function() {
      var o = this._internalRoot;
      if (o !== null) {
        this._internalRoot = null;
        var c = o.containerInfo;
        bo(function() {
          Ru(null, o, null, null);
        }), c[Pa] = null;
      }
    };
    function Mu(o) {
      this._internalRoot = o;
    }
    Mu.prototype.unstable_scheduleHydration = function(o) {
      if (o) {
        var c = J8();
        o = {
          blockedOn: null,
          target: o,
          priority: c
        };
        for (var h = 0; h < pi.length && c !== 0 && c < pi[h].priority; h++) ;
        pi.splice(h, 0, o), h === 0 && r5(o);
      }
    };
    function _h(o) {
      return !(!o || o.nodeType !== 1 && o.nodeType !== 9 && o.nodeType !== 11);
    }
    function Ku(o) {
      return !(!o || o.nodeType !== 1 && o.nodeType !== 9 && o.nodeType !== 11 && (o.nodeType !== 8 || o.nodeValue !== " react-mount-point-unstable "));
    }
    function g6() {
    }
    function Jb(o, c, h, y, S) {
      if (S) {
        if (typeof y == "function") {
          var R = y;
          y = function() {
            var be = Tu(V);
            R.call(be);
          };
        }
        var V = h6(c, y, o, 0, null, false, false, "", g6);
        return o._reactRootContainer = V, o[Pa] = V.current, Q0(o.nodeType === 8 ? o.parentNode : o), bo(), V;
      }
      for (; S = o.lastChild; ) o.removeChild(S);
      if (typeof y == "function") {
        var ie = y;
        y = function() {
          var be = Tu(le);
          ie.call(be);
        };
      }
      var le = kh(o, 0, false, null, null, false, false, "", g6);
      return o._reactRootContainer = le, o[Pa] = le.current, Q0(o.nodeType === 8 ? o.parentNode : o), bo(function() {
        Ru(c, le, h, y);
      }), le;
    }
    function Lu(o, c, h, y, S) {
      var R = h._reactRootContainer;
      if (R) {
        var V = R;
        if (typeof S == "function") {
          var ie = S;
          S = function() {
            var le = Tu(V);
            ie.call(le);
          };
        }
        Ru(c, V, o, S);
      } else V = Jb(h, c, o, S, y);
      return Tu(V);
    }
    $8 = function(o) {
      switch (o.tag) {
        case 3:
          var c = o.stateNode;
          if (c.current.memoizedState.isDehydrated) {
            var h = _0(c.pendingLanes);
            h !== 0 && (Xd(c, h | 1), Kr(c, bt()), (ct & 6) === 0 && (Ds = bt() + 500, Ai()));
          }
          break;
        case 13:
          bo(function() {
            var y = Ua(o, 1);
            if (y !== null) {
              var S = Sr();
              Kn(y, o, 1, S);
            }
          }), Dh(o, 1);
      }
    }, Jd = function(o) {
      if (o.tag === 13) {
        var c = Ua(o, 134217728);
        if (c !== null) {
          var h = Sr();
          Kn(c, o, 134217728, h);
        }
        Dh(o, 134217728);
      }
    }, X8 = function(o) {
      if (o.tag === 13) {
        var c = Di(o), h = Ua(o, c);
        if (h !== null) {
          var y = Sr();
          Kn(h, o, c, y);
        }
        Dh(o, c);
      }
    }, J8 = function() {
      return gt;
    }, e5 = function(o, c) {
      var h = gt;
      try {
        return gt = o, c();
      } finally {
        gt = h;
      }
    }, Xn = function(o, c, h) {
      switch (c) {
        case "input":
          if (ee(o, h), c = h.name, h.type === "radio" && c != null) {
            for (h = o; h.parentNode; ) h = h.parentNode;
            for (h = h.querySelectorAll("input[name=" + JSON.stringify("" + c) + '][type="radio"]'), c = 0; c < h.length; c++) {
              var y = h[c];
              if (y !== o && y.form === o.form) {
                var S = au(y);
                if (!S) throw Error(r(90));
                je(y), ee(y, S);
              }
            }
          }
          break;
        case "textarea":
          Ue(o, h);
          break;
        case "select":
          c = h.value, c != null && ve(o, !!h.multiple, c, false);
      }
    }, Nc = bh, lo = bo;
    var eA = {
      usingClientEntryPoint: false,
      Events: [
        V0,
        hs,
        au,
        C0,
        Pc,
        bh
      ]
    }, sl = {
      findFiberByHostInstance: xo,
      bundleType: 0,
      version: "18.3.1",
      rendererPackageName: "react-dom"
    }, tA = {
      bundleType: sl.bundleType,
      version: sl.version,
      rendererPackageName: sl.rendererPackageName,
      rendererConfig: sl.rendererConfig,
      overrideHookState: null,
      overrideHookStateDeletePath: null,
      overrideHookStateRenamePath: null,
      overrideProps: null,
      overridePropsDeletePath: null,
      overridePropsRenamePath: null,
      setErrorHandler: null,
      setSuspenseHandler: null,
      scheduleUpdate: null,
      currentDispatcherRef: v.ReactCurrentDispatcher,
      findHostInstanceByFiber: function(o) {
        return o = Ve(o), o === null ? null : o.stateNode;
      },
      findFiberByHostInstance: sl.findFiberByHostInstance || Xb,
      findHostInstancesForRefresh: null,
      scheduleRefresh: null,
      scheduleRoot: null,
      setRefreshHandler: null,
      getCurrentFiber: null,
      reconcilerVersion: "18.3.1-next-f1338f8080-20240426"
    };
    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
      var Ou = __REACT_DEVTOOLS_GLOBAL_HOOK__;
      if (!Ou.isDisabled && Ou.supportsFiber) try {
        Mc = Ou.inject(tA), ta = Ou;
      } catch {
      }
    }
    return Lr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = eA, Lr.createPortal = function(o, c) {
      var h = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
      if (!_h(c)) throw Error(r(200));
      return $b(o, c, null, h);
    }, Lr.createRoot = function(o, c) {
      if (!_h(o)) throw Error(r(299));
      var h = false, y = "", S = m6;
      return c != null && (c.unstable_strictMode === true && (h = true), c.identifierPrefix !== void 0 && (y = c.identifierPrefix), c.onRecoverableError !== void 0 && (S = c.onRecoverableError)), c = kh(o, 1, false, null, null, h, false, y, S), o[Pa] = c.current, Q0(o.nodeType === 8 ? o.parentNode : o), new Fh(c);
    }, Lr.findDOMNode = function(o) {
      if (o == null) return null;
      if (o.nodeType === 1) return o;
      var c = o._reactInternals;
      if (c === void 0) throw typeof o.render == "function" ? Error(r(188)) : (o = Object.keys(o).join(","), Error(r(268, o)));
      return o = Ve(c), o = o === null ? null : o.stateNode, o;
    }, Lr.flushSync = function(o) {
      return bo(o);
    }, Lr.hydrate = function(o, c, h) {
      if (!Ku(c)) throw Error(r(200));
      return Lu(null, o, c, true, h);
    }, Lr.hydrateRoot = function(o, c, h) {
      if (!_h(o)) throw Error(r(405));
      var y = h != null && h.hydratedSources || null, S = false, R = "", V = m6;
      if (h != null && (h.unstable_strictMode === true && (S = true), h.identifierPrefix !== void 0 && (R = h.identifierPrefix), h.onRecoverableError !== void 0 && (V = h.onRecoverableError)), c = h6(c, null, o, 1, h ?? null, S, false, R, V), o[Pa] = c.current, Q0(o), y) for (o = 0; o < y.length; o++) h = y[o], S = h._getVersion, S = S(h._source), c.mutableSourceEagerHydrationData == null ? c.mutableSourceEagerHydrationData = [
        h,
        S
      ] : c.mutableSourceEagerHydrationData.push(h, S);
      return new Mu(c);
    }, Lr.render = function(o, c, h) {
      if (!Ku(c)) throw Error(r(200));
      return Lu(null, o, c, false, h);
    }, Lr.unmountComponentAtNode = function(o) {
      if (!Ku(o)) throw Error(r(40));
      return o._reactRootContainer ? (bo(function() {
        Lu(null, null, o, false, function() {
          o._reactRootContainer = null, o[Pa] = null;
        });
      }), true) : false;
    }, Lr.unstable_batchedUpdates = bh, Lr.unstable_renderSubtreeIntoContainer = function(o, c, h, y) {
      if (!Ku(h)) throw Error(r(200));
      if (o == null || o._reactInternals === void 0) throw Error(r(38));
      return Lu(o, c, h, false, y);
    }, Lr.version = "18.3.1-next-f1338f8080-20240426", Lr;
  }
  var F6;
  function dA() {
    if (F6) return Nh.exports;
    F6 = 1;
    function e() {
      if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try {
        __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);
      } catch (t) {
        console.error(t);
      }
    }
    return e(), Nh.exports = xA(), Nh.exports;
  }
  var _6;
  function fA() {
    if (_6) return Qu;
    _6 = 1;
    var e = dA();
    return Qu.createRoot = e.createRoot, Qu.hydrateRoot = e.hydrateRoot, Qu;
  }
  var hA = fA();
  const pA = "modulepreload", mA = function(e, t) {
    return new URL(e, t).href;
  }, S6 = {}, ud = function(t, r, n) {
    let a = Promise.resolve();
    if (r && r.length > 0) {
      let s = function(d) {
        return Promise.all(d.map((f) => Promise.resolve(f).then((m) => ({
          status: "fulfilled",
          value: m
        }), (m) => ({
          status: "rejected",
          reason: m
        }))));
      };
      const l = document.getElementsByTagName("link"), u = document.querySelector("meta[property=csp-nonce]"), x = (u == null ? void 0 : u.nonce) || (u == null ? void 0 : u.getAttribute("nonce"));
      a = s(r.map((d) => {
        if (d = mA(d, n), d in S6) return;
        S6[d] = true;
        const f = d.endsWith(".css"), m = f ? '[rel="stylesheet"]' : "";
        if (!!n) for (let E = l.length - 1; E >= 0; E--) {
          const A = l[E];
          if (A.href === d && (!f || A.rel === "stylesheet")) return;
        }
        else if (document.querySelector(`link[href="${d}"]${m}`)) return;
        const g = document.createElement("link");
        if (g.rel = f ? "stylesheet" : pA, f || (g.as = "script"), g.crossOrigin = "", g.href = d, x && g.setAttribute("nonce", x), document.head.appendChild(g), f) return new Promise((E, A) => {
          g.addEventListener("load", E), g.addEventListener("error", () => A(new Error(`Unable to preload CSS for ${d}`)));
        });
      }));
    }
    function i(s) {
      const l = new Event("vite:preloadError", {
        cancelable: true
      });
      if (l.payload = s, window.dispatchEvent(l), !l.defaultPrevented) throw s;
    }
    return a.then((s) => {
      for (const l of s || []) l.status === "rejected" && i(l.reason);
      return t().catch(i);
    });
  };
  const gA = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), E4 = (...e) => e.filter((t, r, n) => !!t && t.trim() !== "" && n.indexOf(t) === r).join(" ").trim();
  var yA = {
    xmlns: "http://www.w3.org/2000/svg",
    width: 24,
    height: 24,
    viewBox: "0 0 24 24",
    fill: "none",
    stroke: "currentColor",
    strokeWidth: 2,
    strokeLinecap: "round",
    strokeLinejoin: "round"
  };
  const EA = Ae.forwardRef(({ color: e = "currentColor", size: t = 24, strokeWidth: r = 2, absoluteStrokeWidth: n, className: a = "", children: i, iconNode: s, ...l }, u) => Ae.createElement("svg", {
    ref: u,
    ...yA,
    width: t,
    height: t,
    stroke: e,
    strokeWidth: n ? Number(r) * 24 / Number(t) : r,
    className: E4("lucide", a),
    ...l
  }, [
    ...s.map(([x, d]) => Ae.createElement(x, d)),
    ...Array.isArray(i) ? i : [
      i
    ]
  ]));
  const yt = (e, t) => {
    const r = Ae.forwardRef(({ className: n, ...a }, i) => Ae.createElement(EA, {
      ref: i,
      iconNode: t,
      className: E4(`lucide-${gA(e)}`, n),
      ...a
    }));
    return r.displayName = `${e}`, r;
  };
  const bA = yt("ArrowRight", [
    [
      "path",
      {
        d: "M5 12h14",
        key: "1ays0h"
      }
    ],
    [
      "path",
      {
        d: "m12 5 7 7-7 7",
        key: "xquz4c"
      }
    ]
  ]);
  const Ux = yt("Camera", [
    [
      "path",
      {
        d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",
        key: "1tc9qg"
      }
    ],
    [
      "circle",
      {
        cx: "12",
        cy: "13",
        r: "3",
        key: "1vg3eu"
      }
    ]
  ]);
  const ti = yt("CircleAlert", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "8",
        y2: "12",
        key: "1pkeuh"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12.01",
        y1: "16",
        y2: "16",
        key: "4dfq90"
      }
    ]
  ]);
  const hr = yt("CircleCheck", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "m9 12 2 2 4-4",
        key: "dzmm74"
      }
    ]
  ]);
  const AA = yt("CirclePlay", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "polygon",
      {
        points: "10 8 16 12 10 16 10 8",
        key: "1cimsy"
      }
    ]
  ]);
  const wA = yt("Clipboard", [
    [
      "rect",
      {
        width: "8",
        height: "4",
        x: "8",
        y: "2",
        rx: "1",
        ry: "1",
        key: "tgr4d6"
      }
    ],
    [
      "path",
      {
        d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
        key: "116196"
      }
    ]
  ]);
  const vA = yt("Copy", [
    [
      "rect",
      {
        width: "14",
        height: "14",
        x: "8",
        y: "8",
        rx: "2",
        ry: "2",
        key: "17jyea"
      }
    ],
    [
      "path",
      {
        d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
        key: "zix9uf"
      }
    ]
  ]);
  const yx = yt("Dices", [
    [
      "rect",
      {
        width: "12",
        height: "12",
        x: "2",
        y: "10",
        rx: "2",
        ry: "2",
        key: "6agr2n"
      }
    ],
    [
      "path",
      {
        d: "m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",
        key: "1o487t"
      }
    ],
    [
      "path",
      {
        d: "M6 18h.01",
        key: "uhywen"
      }
    ],
    [
      "path",
      {
        d: "M10 14h.01",
        key: "ssrbsk"
      }
    ],
    [
      "path",
      {
        d: "M15 6h.01",
        key: "cblpky"
      }
    ],
    [
      "path",
      {
        d: "M18 9h.01",
        key: "2061c0"
      }
    ]
  ]);
  const BA = yt("Download", [
    [
      "path",
      {
        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
        key: "ih7n3h"
      }
    ],
    [
      "polyline",
      {
        points: "7 10 12 15 17 10",
        key: "2ggqvy"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "15",
        y2: "3",
        key: "1vk2je"
      }
    ]
  ]);
  const CA = yt("ExternalLink", [
    [
      "path",
      {
        d: "M15 3h6v6",
        key: "1q9fwt"
      }
    ],
    [
      "path",
      {
        d: "M10 14 21 3",
        key: "gplh6r"
      }
    ],
    [
      "path",
      {
        d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
        key: "a6xqqp"
      }
    ]
  ]);
  const o8 = yt("EyeOff", [
    [
      "path",
      {
        d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
        key: "ct8e1f"
      }
    ],
    [
      "path",
      {
        d: "M14.084 14.158a3 3 0 0 1-4.242-4.242",
        key: "151rxh"
      }
    ],
    [
      "path",
      {
        d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
        key: "13bj9a"
      }
    ],
    [
      "path",
      {
        d: "m2 2 20 20",
        key: "1ooewy"
      }
    ]
  ]);
  const kA = yt("Eye", [
    [
      "path",
      {
        d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
        key: "1nclc0"
      }
    ],
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "3",
        key: "1v7zrd"
      }
    ]
  ]);
  const I6 = yt("FileKey", [
    [
      "path",
      {
        d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
        key: "1rqfz7"
      }
    ],
    [
      "circle",
      {
        cx: "10",
        cy: "16",
        r: "2",
        key: "4ckbqe"
      }
    ],
    [
      "path",
      {
        d: "m16 10-4.5 4.5",
        key: "7p3ebg"
      }
    ],
    [
      "path",
      {
        d: "m15 11 1 1",
        key: "1bsyx3"
      }
    ]
  ]);
  const DA = yt("Globe", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",
        key: "13o1zl"
      }
    ],
    [
      "path",
      {
        d: "M2 12h20",
        key: "9i4pu4"
      }
    ]
  ]);
  const FA = yt("HardDrive", [
    [
      "line",
      {
        x1: "22",
        x2: "2",
        y1: "12",
        y2: "12",
        key: "1y58io"
      }
    ],
    [
      "path",
      {
        d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
        key: "oot6mr"
      }
    ],
    [
      "line",
      {
        x1: "6",
        x2: "6.01",
        y1: "16",
        y2: "16",
        key: "sgf278"
      }
    ],
    [
      "line",
      {
        x1: "10",
        x2: "10.01",
        y1: "16",
        y2: "16",
        key: "1l4acy"
      }
    ]
  ]);
  const Fl = yt("Info", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "M12 16v-4",
        key: "1dtifu"
      }
    ],
    [
      "path",
      {
        d: "M12 8h.01",
        key: "e9boi3"
      }
    ]
  ]);
  const _A = yt("Key", [
    [
      "path",
      {
        d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",
        key: "g0fldk"
      }
    ],
    [
      "path",
      {
        d: "m21 2-9.6 9.6",
        key: "1j0ho8"
      }
    ],
    [
      "circle",
      {
        cx: "7.5",
        cy: "15.5",
        r: "5.5",
        key: "yqb3hr"
      }
    ]
  ]);
  const b4 = yt("LockOpen", [
    [
      "rect",
      {
        width: "18",
        height: "11",
        x: "3",
        y: "11",
        rx: "2",
        ry: "2",
        key: "1w4ew1"
      }
    ],
    [
      "path",
      {
        d: "M7 11V7a5 5 0 0 1 9.9-1",
        key: "1mm8w8"
      }
    ]
  ]);
  const Hs = yt("Lock", [
    [
      "rect",
      {
        width: "18",
        height: "11",
        x: "3",
        y: "11",
        rx: "2",
        ry: "2",
        key: "1w4ew1"
      }
    ],
    [
      "path",
      {
        d: "M7 11V7a5 5 0 0 1 10 0v4",
        key: "fwvmzm"
      }
    ]
  ]);
  const Ex = yt("Mic", [
    [
      "path",
      {
        d: "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",
        key: "131961"
      }
    ],
    [
      "path",
      {
        d: "M19 10v2a7 7 0 0 1-14 0v-2",
        key: "1vc78b"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "19",
        y2: "22",
        key: "x3vr5v"
      }
    ]
  ]);
  const A4 = yt("Package", [
    [
      "path",
      {
        d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
        key: "1a0edw"
      }
    ],
    [
      "path",
      {
        d: "M12 22V12",
        key: "d0xqtd"
      }
    ],
    [
      "path",
      {
        d: "m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",
        key: "yx3hmr"
      }
    ],
    [
      "path",
      {
        d: "m7.5 4.27 9 5.15",
        key: "1c824w"
      }
    ]
  ]);
  const SA = yt("Plus", [
    [
      "path",
      {
        d: "M5 12h14",
        key: "1ays0h"
      }
    ],
    [
      "path",
      {
        d: "M12 5v14",
        key: "s699le"
      }
    ]
  ]);
  const Rx = yt("QrCode", [
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "3",
        y: "3",
        rx: "1",
        key: "1tu5fj"
      }
    ],
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "16",
        y: "3",
        rx: "1",
        key: "1v8r4q"
      }
    ],
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "3",
        y: "16",
        rx: "1",
        key: "1x03jg"
      }
    ],
    [
      "path",
      {
        d: "M21 16h-3a2 2 0 0 0-2 2v3",
        key: "177gqh"
      }
    ],
    [
      "path",
      {
        d: "M21 21v.01",
        key: "ents32"
      }
    ],
    [
      "path",
      {
        d: "M12 7v3a2 2 0 0 1-2 2H7",
        key: "8crl2c"
      }
    ],
    [
      "path",
      {
        d: "M3 12h.01",
        key: "nlz23k"
      }
    ],
    [
      "path",
      {
        d: "M12 3h.01",
        key: "n36tog"
      }
    ],
    [
      "path",
      {
        d: "M12 16v.01",
        key: "133mhm"
      }
    ],
    [
      "path",
      {
        d: "M16 12h1",
        key: "1slzba"
      }
    ],
    [
      "path",
      {
        d: "M21 12v.01",
        key: "1lwtk9"
      }
    ],
    [
      "path",
      {
        d: "M12 21v-1",
        key: "1880an"
      }
    ]
  ]);
  const ma = yt("RefreshCw", [
    [
      "path",
      {
        d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
        key: "v9h5vc"
      }
    ],
    [
      "path",
      {
        d: "M21 3v5h-5",
        key: "1q7to0"
      }
    ],
    [
      "path",
      {
        d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",
        key: "3uifl3"
      }
    ],
    [
      "path",
      {
        d: "M8 16H3v5",
        key: "1cv678"
      }
    ]
  ]);
  const IA = yt("Shield", [
    [
      "path",
      {
        d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
        key: "oel41y"
      }
    ]
  ]);
  const PA = yt("Sparkles", [
    [
      "path",
      {
        d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",
        key: "4pj2yx"
      }
    ],
    [
      "path",
      {
        d: "M20 3v4",
        key: "1olli1"
      }
    ],
    [
      "path",
      {
        d: "M22 5h-4",
        key: "1gvqau"
      }
    ],
    [
      "path",
      {
        d: "M4 17v2",
        key: "vumght"
      }
    ],
    [
      "path",
      {
        d: "M5 18H3",
        key: "zchphs"
      }
    ]
  ]);
  const bx = yt("TriangleAlert", [
    [
      "path",
      {
        d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
        key: "wmoenq"
      }
    ],
    [
      "path",
      {
        d: "M12 9v4",
        key: "juzpu7"
      }
    ],
    [
      "path",
      {
        d: "M12 17h.01",
        key: "p32p05"
      }
    ]
  ]);
  const NA = yt("Upload", [
    [
      "path",
      {
        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
        key: "ih7n3h"
      }
    ],
    [
      "polyline",
      {
        points: "17 8 12 3 7 8",
        key: "t8dd8p"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "3",
        y2: "15",
        key: "widbto"
      }
    ]
  ]);
  const p0 = yt("X", [
    [
      "path",
      {
        d: "M18 6 6 18",
        key: "1bl5f8"
      }
    ],
    [
      "path",
      {
        d: "m6 6 12 12",
        key: "d8bk6v"
      }
    ]
  ]), P6 = ({ value: e, onChange: t, placeholder: r, label: n, icon: a, readOnly: i = false }) => {
    const [s, l] = Ae.useState(false), u = (f) => {
      i || (f.preventDefault(), l(true));
    }, x = (f) => {
      i || (f.preventDefault(), l(false));
    }, d = (f) => {
      if (i) return;
      f.preventDefault(), l(false);
      const m = f.dataTransfer.files[0];
      if (m) {
        const p = new FileReader();
        p.onload = (g) => {
          var _a2;
          ((_a2 = g.target) == null ? void 0 : _a2.result) && t(g.target.result);
        }, p.readAsText(m);
      }
    };
    return b.jsxs("div", {
      className: "space-y-2",
      children: [
        b.jsxs("label", {
          className: "text-[12px] font-bold text-[#00f0ff] uppercase tracking-widest flex items-center justify-between",
          style: {
            textShadow: "0 0 10px rgba(0,240,255,0.7)"
          },
          children: [
            b.jsxs("span", {
              className: "flex items-center gap-2",
              children: [
                a && b.jsx(a, {
                  size: 14
                }),
                " ",
                n
              ]
            }),
            !i && b.jsx("span", {
              className: "text-[10px] text-[#6ef3f7] font-normal bg-[#16213e] px-2 py-0.5 rounded-full border border-[#00f0ff]/30",
              children: "Drag & Drop .asc file"
            })
          ]
        }),
        b.jsxs("div", {
          className: `relative transition-all duration-200 ${s && !i ? "scale-[1.01]" : ""}`,
          onDragOver: u,
          onDragLeave: x,
          onDrop: d,
          children: [
            b.jsx("textarea", {
              className: `w-full h-40 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-xl text-xs font-mono text-[#00f0ff] placeholder-[#9d84b7] transition-colors resize-none focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] ${s && !i ? "border-[#ff006e] bg-[#16213e]" : "border-[#00f0ff]/50"} ${i ? "blur-sm select-none" : ""}`,
              placeholder: r,
              value: e,
              onChange: (f) => t(f.target.value),
              readOnly: i
            }),
            s && !i && b.jsx("div", {
              className: "absolute inset-0 flex items-center justify-center bg-[#16213e]/90 rounded-xl border-2 border-dashed border-[#ff006e] pointer-events-none z-10",
              children: b.jsxs("div", {
                className: "text-[#ff006e] font-bold flex flex-col items-center animate-bounce",
                style: {
                  textShadow: "0 0 10px rgba(255,0,110,0.5)"
                },
                children: [
                  b.jsx(NA, {
                    size: 24
                  }),
                  b.jsx("span", {
                    className: "text-sm mt-2",
                    children: "Drop Key File Here"
                  })
                ]
              })
            })
          ]
        })
      ]
    });
  };
  var _s = {}, Uh, N6;
  function jA() {
    return N6 || (N6 = 1, Uh = function() {
      return typeof Promise == "function" && Promise.prototype && Promise.prototype.then;
    }), Uh;
  }
  var Rh = {}, Ii = {}, j6;
  function Xo() {
    if (j6) return Ii;
    j6 = 1;
    let e;
    const t = [
      0,
      26,
      44,
      70,
      100,
      134,
      172,
      196,
      242,
      292,
      346,
      404,
      466,
      532,
      581,
      655,
      733,
      815,
      901,
      991,
      1085,
      1156,
      1258,
      1364,
      1474,
      1588,
      1706,
      1828,
      1921,
      2051,
      2185,
      2323,
      2465,
      2611,
      2761,
      2876,
      3034,
      3196,
      3362,
      3532,
      3706
    ];
    return Ii.getSymbolSize = function(n) {
      if (!n) throw new Error('"version" cannot be null or undefined');
      if (n < 1 || n > 40) throw new Error('"version" should be in range from 1 to 40');
      return n * 4 + 17;
    }, Ii.getSymbolTotalCodewords = function(n) {
      return t[n];
    }, Ii.getBCHDigit = function(r) {
      let n = 0;
      for (; r !== 0; ) n++, r >>>= 1;
      return n;
    }, Ii.setToSJISFunction = function(n) {
      if (typeof n != "function") throw new Error('"toSJISFunc" is not a valid function.');
      e = n;
    }, Ii.isKanjiModeEnabled = function() {
      return typeof e < "u";
    }, Ii.toSJIS = function(n) {
      return e(n);
    }, Ii;
  }
  var Th = {}, z6;
  function s8() {
    return z6 || (z6 = 1, (function(e) {
      e.L = {
        bit: 1
      }, e.M = {
        bit: 0
      }, e.Q = {
        bit: 3
      }, e.H = {
        bit: 2
      };
      function t(r) {
        if (typeof r != "string") throw new Error("Param is not a string");
        switch (r.toLowerCase()) {
          case "l":
          case "low":
            return e.L;
          case "m":
          case "medium":
            return e.M;
          case "q":
          case "quartile":
            return e.Q;
          case "h":
          case "high":
            return e.H;
          default:
            throw new Error("Unknown EC Level: " + r);
        }
      }
      e.isValid = function(n) {
        return n && typeof n.bit < "u" && n.bit >= 0 && n.bit < 4;
      }, e.from = function(n, a) {
        if (e.isValid(n)) return n;
        try {
          return t(n);
        } catch {
          return a;
        }
      };
    })(Th)), Th;
  }
  var Mh, U6;
  function zA() {
    if (U6) return Mh;
    U6 = 1;
    function e() {
      this.buffer = [], this.length = 0;
    }
    return e.prototype = {
      get: function(t) {
        const r = Math.floor(t / 8);
        return (this.buffer[r] >>> 7 - t % 8 & 1) === 1;
      },
      put: function(t, r) {
        for (let n = 0; n < r; n++) this.putBit((t >>> r - n - 1 & 1) === 1);
      },
      getLengthInBits: function() {
        return this.length;
      },
      putBit: function(t) {
        const r = Math.floor(this.length / 8);
        this.buffer.length <= r && this.buffer.push(0), t && (this.buffer[r] |= 128 >>> this.length % 8), this.length++;
      }
    }, Mh = e, Mh;
  }
  var Kh, R6;
  function UA() {
    if (R6) return Kh;
    R6 = 1;
    function e(t) {
      if (!t || t < 1) throw new Error("BitMatrix size must be defined and greater than 0");
      this.size = t, this.data = new Uint8Array(t * t), this.reservedBit = new Uint8Array(t * t);
    }
    return e.prototype.set = function(t, r, n, a) {
      const i = t * this.size + r;
      this.data[i] = n, a && (this.reservedBit[i] = true);
    }, e.prototype.get = function(t, r) {
      return this.data[t * this.size + r];
    }, e.prototype.xor = function(t, r, n) {
      this.data[t * this.size + r] ^= n;
    }, e.prototype.isReserved = function(t, r) {
      return this.reservedBit[t * this.size + r];
    }, Kh = e, Kh;
  }
  var Lh = {}, T6;
  function RA() {
    return T6 || (T6 = 1, (function(e) {
      const t = Xo().getSymbolSize;
      e.getRowColCoords = function(n) {
        if (n === 1) return [];
        const a = Math.floor(n / 7) + 2, i = t(n), s = i === 145 ? 26 : Math.ceil((i - 13) / (2 * a - 2)) * 2, l = [
          i - 7
        ];
        for (let u = 1; u < a - 1; u++) l[u] = l[u - 1] - s;
        return l.push(6), l.reverse();
      }, e.getPositions = function(n) {
        const a = [], i = e.getRowColCoords(n), s = i.length;
        for (let l = 0; l < s; l++) for (let u = 0; u < s; u++) l === 0 && u === 0 || l === 0 && u === s - 1 || l === s - 1 && u === 0 || a.push([
          i[l],
          i[u]
        ]);
        return a;
      };
    })(Lh)), Lh;
  }
  var Oh = {}, M6;
  function TA() {
    if (M6) return Oh;
    M6 = 1;
    const e = Xo().getSymbolSize, t = 7;
    return Oh.getPositions = function(n) {
      const a = e(n);
      return [
        [
          0,
          0
        ],
        [
          a - t,
          0
        ],
        [
          0,
          a - t
        ]
      ];
    }, Oh;
  }
  var Hh = {}, K6;
  function MA() {
    return K6 || (K6 = 1, (function(e) {
      e.Patterns = {
        PATTERN000: 0,
        PATTERN001: 1,
        PATTERN010: 2,
        PATTERN011: 3,
        PATTERN100: 4,
        PATTERN101: 5,
        PATTERN110: 6,
        PATTERN111: 7
      };
      const t = {
        N1: 3,
        N2: 3,
        N3: 40,
        N4: 10
      };
      e.isValid = function(a) {
        return a != null && a !== "" && !isNaN(a) && a >= 0 && a <= 7;
      }, e.from = function(a) {
        return e.isValid(a) ? parseInt(a, 10) : void 0;
      }, e.getPenaltyN1 = function(a) {
        const i = a.size;
        let s = 0, l = 0, u = 0, x = null, d = null;
        for (let f = 0; f < i; f++) {
          l = u = 0, x = d = null;
          for (let m = 0; m < i; m++) {
            let p = a.get(f, m);
            p === x ? l++ : (l >= 5 && (s += t.N1 + (l - 5)), x = p, l = 1), p = a.get(m, f), p === d ? u++ : (u >= 5 && (s += t.N1 + (u - 5)), d = p, u = 1);
          }
          l >= 5 && (s += t.N1 + (l - 5)), u >= 5 && (s += t.N1 + (u - 5));
        }
        return s;
      }, e.getPenaltyN2 = function(a) {
        const i = a.size;
        let s = 0;
        for (let l = 0; l < i - 1; l++) for (let u = 0; u < i - 1; u++) {
          const x = a.get(l, u) + a.get(l, u + 1) + a.get(l + 1, u) + a.get(l + 1, u + 1);
          (x === 4 || x === 0) && s++;
        }
        return s * t.N2;
      }, e.getPenaltyN3 = function(a) {
        const i = a.size;
        let s = 0, l = 0, u = 0;
        for (let x = 0; x < i; x++) {
          l = u = 0;
          for (let d = 0; d < i; d++) l = l << 1 & 2047 | a.get(x, d), d >= 10 && (l === 1488 || l === 93) && s++, u = u << 1 & 2047 | a.get(d, x), d >= 10 && (u === 1488 || u === 93) && s++;
        }
        return s * t.N3;
      }, e.getPenaltyN4 = function(a) {
        let i = 0;
        const s = a.data.length;
        for (let u = 0; u < s; u++) i += a.data[u];
        return Math.abs(Math.ceil(i * 100 / s / 5) - 10) * t.N4;
      };
      function r(n, a, i) {
        switch (n) {
          case e.Patterns.PATTERN000:
            return (a + i) % 2 === 0;
          case e.Patterns.PATTERN001:
            return a % 2 === 0;
          case e.Patterns.PATTERN010:
            return i % 3 === 0;
          case e.Patterns.PATTERN011:
            return (a + i) % 3 === 0;
          case e.Patterns.PATTERN100:
            return (Math.floor(a / 2) + Math.floor(i / 3)) % 2 === 0;
          case e.Patterns.PATTERN101:
            return a * i % 2 + a * i % 3 === 0;
          case e.Patterns.PATTERN110:
            return (a * i % 2 + a * i % 3) % 2 === 0;
          case e.Patterns.PATTERN111:
            return (a * i % 3 + (a + i) % 2) % 2 === 0;
          default:
            throw new Error("bad maskPattern:" + n);
        }
      }
      e.applyMask = function(a, i) {
        const s = i.size;
        for (let l = 0; l < s; l++) for (let u = 0; u < s; u++) i.isReserved(u, l) || i.xor(u, l, r(a, u, l));
      }, e.getBestMask = function(a, i) {
        const s = Object.keys(e.Patterns).length;
        let l = 0, u = 1 / 0;
        for (let x = 0; x < s; x++) {
          i(x), e.applyMask(x, a);
          const d = e.getPenaltyN1(a) + e.getPenaltyN2(a) + e.getPenaltyN3(a) + e.getPenaltyN4(a);
          e.applyMask(x, a), d < u && (u = d, l = x);
        }
        return l;
      };
    })(Hh)), Hh;
  }
  var Gu = {}, L6;
  function w4() {
    if (L6) return Gu;
    L6 = 1;
    const e = s8(), t = [
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      2,
      2,
      1,
      2,
      2,
      4,
      1,
      2,
      4,
      4,
      2,
      4,
      4,
      4,
      2,
      4,
      6,
      5,
      2,
      4,
      6,
      6,
      2,
      5,
      8,
      8,
      4,
      5,
      8,
      8,
      4,
      5,
      8,
      11,
      4,
      8,
      10,
      11,
      4,
      9,
      12,
      16,
      4,
      9,
      16,
      16,
      6,
      10,
      12,
      18,
      6,
      10,
      17,
      16,
      6,
      11,
      16,
      19,
      6,
      13,
      18,
      21,
      7,
      14,
      21,
      25,
      8,
      16,
      20,
      25,
      8,
      17,
      23,
      25,
      9,
      17,
      23,
      34,
      9,
      18,
      25,
      30,
      10,
      20,
      27,
      32,
      12,
      21,
      29,
      35,
      12,
      23,
      34,
      37,
      12,
      25,
      34,
      40,
      13,
      26,
      35,
      42,
      14,
      28,
      38,
      45,
      15,
      29,
      40,
      48,
      16,
      31,
      43,
      51,
      17,
      33,
      45,
      54,
      18,
      35,
      48,
      57,
      19,
      37,
      51,
      60,
      19,
      38,
      53,
      63,
      20,
      40,
      56,
      66,
      21,
      43,
      59,
      70,
      22,
      45,
      62,
      74,
      24,
      47,
      65,
      77,
      25,
      49,
      68,
      81
    ], r = [
      7,
      10,
      13,
      17,
      10,
      16,
      22,
      28,
      15,
      26,
      36,
      44,
      20,
      36,
      52,
      64,
      26,
      48,
      72,
      88,
      36,
      64,
      96,
      112,
      40,
      72,
      108,
      130,
      48,
      88,
      132,
      156,
      60,
      110,
      160,
      192,
      72,
      130,
      192,
      224,
      80,
      150,
      224,
      264,
      96,
      176,
      260,
      308,
      104,
      198,
      288,
      352,
      120,
      216,
      320,
      384,
      132,
      240,
      360,
      432,
      144,
      280,
      408,
      480,
      168,
      308,
      448,
      532,
      180,
      338,
      504,
      588,
      196,
      364,
      546,
      650,
      224,
      416,
      600,
      700,
      224,
      442,
      644,
      750,
      252,
      476,
      690,
      816,
      270,
      504,
      750,
      900,
      300,
      560,
      810,
      960,
      312,
      588,
      870,
      1050,
      336,
      644,
      952,
      1110,
      360,
      700,
      1020,
      1200,
      390,
      728,
      1050,
      1260,
      420,
      784,
      1140,
      1350,
      450,
      812,
      1200,
      1440,
      480,
      868,
      1290,
      1530,
      510,
      924,
      1350,
      1620,
      540,
      980,
      1440,
      1710,
      570,
      1036,
      1530,
      1800,
      570,
      1064,
      1590,
      1890,
      600,
      1120,
      1680,
      1980,
      630,
      1204,
      1770,
      2100,
      660,
      1260,
      1860,
      2220,
      720,
      1316,
      1950,
      2310,
      750,
      1372,
      2040,
      2430
    ];
    return Gu.getBlocksCount = function(a, i) {
      switch (i) {
        case e.L:
          return t[(a - 1) * 4 + 0];
        case e.M:
          return t[(a - 1) * 4 + 1];
        case e.Q:
          return t[(a - 1) * 4 + 2];
        case e.H:
          return t[(a - 1) * 4 + 3];
        default:
          return;
      }
    }, Gu.getTotalCodewordsCount = function(a, i) {
      switch (i) {
        case e.L:
          return r[(a - 1) * 4 + 0];
        case e.M:
          return r[(a - 1) * 4 + 1];
        case e.Q:
          return r[(a - 1) * 4 + 2];
        case e.H:
          return r[(a - 1) * 4 + 3];
        default:
          return;
      }
    }, Gu;
  }
  var Qh = {}, ul = {}, O6;
  function KA() {
    if (O6) return ul;
    O6 = 1;
    const e = new Uint8Array(512), t = new Uint8Array(256);
    return (function() {
      let n = 1;
      for (let a = 0; a < 255; a++) e[a] = n, t[n] = a, n <<= 1, n & 256 && (n ^= 285);
      for (let a = 255; a < 512; a++) e[a] = e[a - 255];
    })(), ul.log = function(n) {
      if (n < 1) throw new Error("log(" + n + ")");
      return t[n];
    }, ul.exp = function(n) {
      return e[n];
    }, ul.mul = function(n, a) {
      return n === 0 || a === 0 ? 0 : e[t[n] + t[a]];
    }, ul;
  }
  var H6;
  function LA() {
    return H6 || (H6 = 1, (function(e) {
      const t = KA();
      e.mul = function(n, a) {
        const i = new Uint8Array(n.length + a.length - 1);
        for (let s = 0; s < n.length; s++) for (let l = 0; l < a.length; l++) i[s + l] ^= t.mul(n[s], a[l]);
        return i;
      }, e.mod = function(n, a) {
        let i = new Uint8Array(n);
        for (; i.length - a.length >= 0; ) {
          const s = i[0];
          for (let u = 0; u < a.length; u++) i[u] ^= t.mul(a[u], s);
          let l = 0;
          for (; l < i.length && i[l] === 0; ) l++;
          i = i.slice(l);
        }
        return i;
      }, e.generateECPolynomial = function(n) {
        let a = new Uint8Array([
          1
        ]);
        for (let i = 0; i < n; i++) a = e.mul(a, new Uint8Array([
          1,
          t.exp(i)
        ]));
        return a;
      };
    })(Qh)), Qh;
  }
  var Gh, Q6;
  function OA() {
    if (Q6) return Gh;
    Q6 = 1;
    const e = LA();
    function t(r) {
      this.genPoly = void 0, this.degree = r, this.degree && this.initialize(this.degree);
    }
    return t.prototype.initialize = function(n) {
      this.degree = n, this.genPoly = e.generateECPolynomial(this.degree);
    }, t.prototype.encode = function(n) {
      if (!this.genPoly) throw new Error("Encoder not initialized");
      const a = new Uint8Array(n.length + this.degree);
      a.set(n);
      const i = e.mod(a, this.genPoly), s = this.degree - i.length;
      if (s > 0) {
        const l = new Uint8Array(this.degree);
        return l.set(i, s), l;
      }
      return i;
    }, Gh = t, Gh;
  }
  var qh = {}, Vh = {}, Wh = {}, G6;
  function v4() {
    return G6 || (G6 = 1, Wh.isValid = function(t) {
      return !isNaN(t) && t >= 1 && t <= 40;
    }), Wh;
  }
  var oa = {}, q6;
  function B4() {
    if (q6) return oa;
    q6 = 1;
    const e = "[0-9]+", t = "[A-Z $%*+\\-./:]+";
    let r = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";
    r = r.replace(/u/g, "\\u");
    const n = "(?:(?![A-Z0-9 $%*+\\-./:]|" + r + `)(?:.|[\r
]))+`;
    oa.KANJI = new RegExp(r, "g"), oa.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g"), oa.BYTE = new RegExp(n, "g"), oa.NUMERIC = new RegExp(e, "g"), oa.ALPHANUMERIC = new RegExp(t, "g");
    const a = new RegExp("^" + r + "$"), i = new RegExp("^" + e + "$"), s = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
    return oa.testKanji = function(u) {
      return a.test(u);
    }, oa.testNumeric = function(u) {
      return i.test(u);
    }, oa.testAlphanumeric = function(u) {
      return s.test(u);
    }, oa;
  }
  var V6;
  function Jo() {
    return V6 || (V6 = 1, (function(e) {
      const t = v4(), r = B4();
      e.NUMERIC = {
        id: "Numeric",
        bit: 1,
        ccBits: [
          10,
          12,
          14
        ]
      }, e.ALPHANUMERIC = {
        id: "Alphanumeric",
        bit: 2,
        ccBits: [
          9,
          11,
          13
        ]
      }, e.BYTE = {
        id: "Byte",
        bit: 4,
        ccBits: [
          8,
          16,
          16
        ]
      }, e.KANJI = {
        id: "Kanji",
        bit: 8,
        ccBits: [
          8,
          10,
          12
        ]
      }, e.MIXED = {
        bit: -1
      }, e.getCharCountIndicator = function(i, s) {
        if (!i.ccBits) throw new Error("Invalid mode: " + i);
        if (!t.isValid(s)) throw new Error("Invalid version: " + s);
        return s >= 1 && s < 10 ? i.ccBits[0] : s < 27 ? i.ccBits[1] : i.ccBits[2];
      }, e.getBestModeForData = function(i) {
        return r.testNumeric(i) ? e.NUMERIC : r.testAlphanumeric(i) ? e.ALPHANUMERIC : r.testKanji(i) ? e.KANJI : e.BYTE;
      }, e.toString = function(i) {
        if (i && i.id) return i.id;
        throw new Error("Invalid mode");
      }, e.isValid = function(i) {
        return i && i.bit && i.ccBits;
      };
      function n(a) {
        if (typeof a != "string") throw new Error("Param is not a string");
        switch (a.toLowerCase()) {
          case "numeric":
            return e.NUMERIC;
          case "alphanumeric":
            return e.ALPHANUMERIC;
          case "kanji":
            return e.KANJI;
          case "byte":
            return e.BYTE;
          default:
            throw new Error("Unknown mode: " + a);
        }
      }
      e.from = function(i, s) {
        if (e.isValid(i)) return i;
        try {
          return n(i);
        } catch {
          return s;
        }
      };
    })(Vh)), Vh;
  }
  var W6;
  function HA() {
    return W6 || (W6 = 1, (function(e) {
      const t = Xo(), r = w4(), n = s8(), a = Jo(), i = v4(), s = 7973, l = t.getBCHDigit(s);
      function u(m, p, g) {
        for (let E = 1; E <= 40; E++) if (p <= e.getCapacity(E, g, m)) return E;
      }
      function x(m, p) {
        return a.getCharCountIndicator(m, p) + 4;
      }
      function d(m, p) {
        let g = 0;
        return m.forEach(function(E) {
          const A = x(E.mode, p);
          g += A + E.getBitsLength();
        }), g;
      }
      function f(m, p) {
        for (let g = 1; g <= 40; g++) if (d(m, g) <= e.getCapacity(g, p, a.MIXED)) return g;
      }
      e.from = function(p, g) {
        return i.isValid(p) ? parseInt(p, 10) : g;
      }, e.getCapacity = function(p, g, E) {
        if (!i.isValid(p)) throw new Error("Invalid QR Code version");
        typeof E > "u" && (E = a.BYTE);
        const A = t.getSymbolTotalCodewords(p), w = r.getTotalCodewordsCount(p, g), D = (A - w) * 8;
        if (E === a.MIXED) return D;
        const B = D - x(E, p);
        switch (E) {
          case a.NUMERIC:
            return Math.floor(B / 10 * 3);
          case a.ALPHANUMERIC:
            return Math.floor(B / 11 * 2);
          case a.KANJI:
            return Math.floor(B / 13);
          case a.BYTE:
          default:
            return Math.floor(B / 8);
        }
      }, e.getBestVersionForData = function(p, g) {
        let E;
        const A = n.from(g, n.M);
        if (Array.isArray(p)) {
          if (p.length > 1) return f(p, A);
          if (p.length === 0) return 1;
          E = p[0];
        } else E = p;
        return u(E.mode, E.getLength(), A);
      }, e.getEncodedBits = function(p) {
        if (!i.isValid(p) || p < 7) throw new Error("Invalid QR Code version");
        let g = p << 12;
        for (; t.getBCHDigit(g) - l >= 0; ) g ^= s << t.getBCHDigit(g) - l;
        return p << 12 | g;
      };
    })(qh)), qh;
  }
  var Zh = {}, Z6;
  function QA() {
    if (Z6) return Zh;
    Z6 = 1;
    const e = Xo(), t = 1335, r = 21522, n = e.getBCHDigit(t);
    return Zh.getEncodedBits = function(i, s) {
      const l = i.bit << 3 | s;
      let u = l << 10;
      for (; e.getBCHDigit(u) - n >= 0; ) u ^= t << e.getBCHDigit(u) - n;
      return (l << 10 | u) ^ r;
    }, Zh;
  }
  var Yh = {}, $h, Y6;
  function GA() {
    if (Y6) return $h;
    Y6 = 1;
    const e = Jo();
    function t(r) {
      this.mode = e.NUMERIC, this.data = r.toString();
    }
    return t.getBitsLength = function(n) {
      return 10 * Math.floor(n / 3) + (n % 3 ? n % 3 * 3 + 1 : 0);
    }, t.prototype.getLength = function() {
      return this.data.length;
    }, t.prototype.getBitsLength = function() {
      return t.getBitsLength(this.data.length);
    }, t.prototype.write = function(n) {
      let a, i, s;
      for (a = 0; a + 3 <= this.data.length; a += 3) i = this.data.substr(a, 3), s = parseInt(i, 10), n.put(s, 10);
      const l = this.data.length - a;
      l > 0 && (i = this.data.substr(a), s = parseInt(i, 10), n.put(s, l * 3 + 1));
    }, $h = t, $h;
  }
  var Xh, $6;
  function qA() {
    if ($6) return Xh;
    $6 = 1;
    const e = Jo(), t = [
      "0",
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "A",
      "B",
      "C",
      "D",
      "E",
      "F",
      "G",
      "H",
      "I",
      "J",
      "K",
      "L",
      "M",
      "N",
      "O",
      "P",
      "Q",
      "R",
      "S",
      "T",
      "U",
      "V",
      "W",
      "X",
      "Y",
      "Z",
      " ",
      "$",
      "%",
      "*",
      "+",
      "-",
      ".",
      "/",
      ":"
    ];
    function r(n) {
      this.mode = e.ALPHANUMERIC, this.data = n;
    }
    return r.getBitsLength = function(a) {
      return 11 * Math.floor(a / 2) + 6 * (a % 2);
    }, r.prototype.getLength = function() {
      return this.data.length;
    }, r.prototype.getBitsLength = function() {
      return r.getBitsLength(this.data.length);
    }, r.prototype.write = function(a) {
      let i;
      for (i = 0; i + 2 <= this.data.length; i += 2) {
        let s = t.indexOf(this.data[i]) * 45;
        s += t.indexOf(this.data[i + 1]), a.put(s, 11);
      }
      this.data.length % 2 && a.put(t.indexOf(this.data[i]), 6);
    }, Xh = r, Xh;
  }
  var Jh, X6;
  function VA() {
    if (X6) return Jh;
    X6 = 1;
    const e = Jo();
    function t(r) {
      this.mode = e.BYTE, typeof r == "string" ? this.data = new TextEncoder().encode(r) : this.data = new Uint8Array(r);
    }
    return t.getBitsLength = function(n) {
      return n * 8;
    }, t.prototype.getLength = function() {
      return this.data.length;
    }, t.prototype.getBitsLength = function() {
      return t.getBitsLength(this.data.length);
    }, t.prototype.write = function(r) {
      for (let n = 0, a = this.data.length; n < a; n++) r.put(this.data[n], 8);
    }, Jh = t, Jh;
  }
  var e1, J6;
  function WA() {
    if (J6) return e1;
    J6 = 1;
    const e = Jo(), t = Xo();
    function r(n) {
      this.mode = e.KANJI, this.data = n;
    }
    return r.getBitsLength = function(a) {
      return a * 13;
    }, r.prototype.getLength = function() {
      return this.data.length;
    }, r.prototype.getBitsLength = function() {
      return r.getBitsLength(this.data.length);
    }, r.prototype.write = function(n) {
      let a;
      for (a = 0; a < this.data.length; a++) {
        let i = t.toSJIS(this.data[a]);
        if (i >= 33088 && i <= 40956) i -= 33088;
        else if (i >= 57408 && i <= 60351) i -= 49472;
        else throw new Error("Invalid SJIS character: " + this.data[a] + `
Make sure your charset is UTF-8`);
        i = (i >>> 8 & 255) * 192 + (i & 255), n.put(i, 13);
      }
    }, e1 = r, e1;
  }
  var t1 = {
    exports: {}
  }, e3;
  function ZA() {
    return e3 || (e3 = 1, (function(e) {
      var t = {
        single_source_shortest_paths: function(r, n, a) {
          var i = {}, s = {};
          s[n] = 0;
          var l = t.PriorityQueue.make();
          l.push(n, 0);
          for (var u, x, d, f, m, p, g, E, A; !l.empty(); ) {
            u = l.pop(), x = u.value, f = u.cost, m = r[x] || {};
            for (d in m) m.hasOwnProperty(d) && (p = m[d], g = f + p, E = s[d], A = typeof s[d] > "u", (A || E > g) && (s[d] = g, l.push(d, g), i[d] = x));
          }
          if (typeof a < "u" && typeof s[a] > "u") {
            var w = [
              "Could not find a path from ",
              n,
              " to ",
              a,
              "."
            ].join("");
            throw new Error(w);
          }
          return i;
        },
        extract_shortest_path_from_predecessor_list: function(r, n) {
          for (var a = [], i = n; i; ) a.push(i), r[i], i = r[i];
          return a.reverse(), a;
        },
        find_path: function(r, n, a) {
          var i = t.single_source_shortest_paths(r, n, a);
          return t.extract_shortest_path_from_predecessor_list(i, a);
        },
        PriorityQueue: {
          make: function(r) {
            var n = t.PriorityQueue, a = {}, i;
            r = r || {};
            for (i in n) n.hasOwnProperty(i) && (a[i] = n[i]);
            return a.queue = [], a.sorter = r.sorter || n.default_sorter, a;
          },
          default_sorter: function(r, n) {
            return r.cost - n.cost;
          },
          push: function(r, n) {
            var a = {
              value: r,
              cost: n
            };
            this.queue.push(a), this.queue.sort(this.sorter);
          },
          pop: function() {
            return this.queue.shift();
          },
          empty: function() {
            return this.queue.length === 0;
          }
        }
      };
      e.exports = t;
    })(t1)), t1.exports;
  }
  var t3;
  function YA() {
    return t3 || (t3 = 1, (function(e) {
      const t = Jo(), r = GA(), n = qA(), a = VA(), i = WA(), s = B4(), l = Xo(), u = ZA();
      function x(w) {
        return unescape(encodeURIComponent(w)).length;
      }
      function d(w, D, B) {
        const v = [];
        let _;
        for (; (_ = w.exec(B)) !== null; ) v.push({
          data: _[0],
          index: _.index,
          mode: D,
          length: _[0].length
        });
        return v;
      }
      function f(w) {
        const D = d(s.NUMERIC, t.NUMERIC, w), B = d(s.ALPHANUMERIC, t.ALPHANUMERIC, w);
        let v, _;
        return l.isKanjiModeEnabled() ? (v = d(s.BYTE, t.BYTE, w), _ = d(s.KANJI, t.KANJI, w)) : (v = d(s.BYTE_KANJI, t.BYTE, w), _ = []), D.concat(B, v, _).sort(function(I, z) {
          return I.index - z.index;
        }).map(function(I) {
          return {
            data: I.data,
            mode: I.mode,
            length: I.length
          };
        });
      }
      function m(w, D) {
        switch (D) {
          case t.NUMERIC:
            return r.getBitsLength(w);
          case t.ALPHANUMERIC:
            return n.getBitsLength(w);
          case t.KANJI:
            return i.getBitsLength(w);
          case t.BYTE:
            return a.getBitsLength(w);
        }
      }
      function p(w) {
        return w.reduce(function(D, B) {
          const v = D.length - 1 >= 0 ? D[D.length - 1] : null;
          return v && v.mode === B.mode ? (D[D.length - 1].data += B.data, D) : (D.push(B), D);
        }, []);
      }
      function g(w) {
        const D = [];
        for (let B = 0; B < w.length; B++) {
          const v = w[B];
          switch (v.mode) {
            case t.NUMERIC:
              D.push([
                v,
                {
                  data: v.data,
                  mode: t.ALPHANUMERIC,
                  length: v.length
                },
                {
                  data: v.data,
                  mode: t.BYTE,
                  length: v.length
                }
              ]);
              break;
            case t.ALPHANUMERIC:
              D.push([
                v,
                {
                  data: v.data,
                  mode: t.BYTE,
                  length: v.length
                }
              ]);
              break;
            case t.KANJI:
              D.push([
                v,
                {
                  data: v.data,
                  mode: t.BYTE,
                  length: x(v.data)
                }
              ]);
              break;
            case t.BYTE:
              D.push([
                {
                  data: v.data,
                  mode: t.BYTE,
                  length: x(v.data)
                }
              ]);
          }
        }
        return D;
      }
      function E(w, D) {
        const B = {}, v = {
          start: {}
        };
        let _ = [
          "start"
        ];
        for (let T = 0; T < w.length; T++) {
          const I = w[T], z = [];
          for (let C = 0; C < I.length; C++) {
            const j = I[C], U = "" + T + C;
            z.push(U), B[U] = {
              node: j,
              lastCount: 0
            }, v[U] = {};
            for (let P = 0; P < _.length; P++) {
              const L = _[P];
              B[L] && B[L].node.mode === j.mode ? (v[L][U] = m(B[L].lastCount + j.length, j.mode) - m(B[L].lastCount, j.mode), B[L].lastCount += j.length) : (B[L] && (B[L].lastCount = j.length), v[L][U] = m(j.length, j.mode) + 4 + t.getCharCountIndicator(j.mode, D));
            }
          }
          _ = z;
        }
        for (let T = 0; T < _.length; T++) v[_[T]].end = 0;
        return {
          map: v,
          table: B
        };
      }
      function A(w, D) {
        let B;
        const v = t.getBestModeForData(w);
        if (B = t.from(D, v), B !== t.BYTE && B.bit < v.bit) throw new Error('"' + w + '" cannot be encoded with mode ' + t.toString(B) + `.
 Suggested mode is: ` + t.toString(v));
        switch (B === t.KANJI && !l.isKanjiModeEnabled() && (B = t.BYTE), B) {
          case t.NUMERIC:
            return new r(w);
          case t.ALPHANUMERIC:
            return new n(w);
          case t.KANJI:
            return new i(w);
          case t.BYTE:
            return new a(w);
        }
      }
      e.fromArray = function(D) {
        return D.reduce(function(B, v) {
          return typeof v == "string" ? B.push(A(v, null)) : v.data && B.push(A(v.data, v.mode)), B;
        }, []);
      }, e.fromString = function(D, B) {
        const v = f(D, l.isKanjiModeEnabled()), _ = g(v), T = E(_, B), I = u.find_path(T.map, "start", "end"), z = [];
        for (let C = 1; C < I.length - 1; C++) z.push(T.table[I[C]].node);
        return e.fromArray(p(z));
      }, e.rawSplit = function(D) {
        return e.fromArray(f(D, l.isKanjiModeEnabled()));
      };
    })(Yh)), Yh;
  }
  var r3;
  function $A() {
    if (r3) return Rh;
    r3 = 1;
    const e = Xo(), t = s8(), r = zA(), n = UA(), a = RA(), i = TA(), s = MA(), l = w4(), u = OA(), x = HA(), d = QA(), f = Jo(), m = YA();
    function p(T, I) {
      const z = T.size, C = i.getPositions(I);
      for (let j = 0; j < C.length; j++) {
        const U = C[j][0], P = C[j][1];
        for (let L = -1; L <= 7; L++) if (!(U + L <= -1 || z <= U + L)) for (let F = -1; F <= 7; F++) P + F <= -1 || z <= P + F || (L >= 0 && L <= 6 && (F === 0 || F === 6) || F >= 0 && F <= 6 && (L === 0 || L === 6) || L >= 2 && L <= 4 && F >= 2 && F <= 4 ? T.set(U + L, P + F, true, true) : T.set(U + L, P + F, false, true));
      }
    }
    function g(T) {
      const I = T.size;
      for (let z = 8; z < I - 8; z++) {
        const C = z % 2 === 0;
        T.set(z, 6, C, true), T.set(6, z, C, true);
      }
    }
    function E(T, I) {
      const z = a.getPositions(I);
      for (let C = 0; C < z.length; C++) {
        const j = z[C][0], U = z[C][1];
        for (let P = -2; P <= 2; P++) for (let L = -2; L <= 2; L++) P === -2 || P === 2 || L === -2 || L === 2 || P === 0 && L === 0 ? T.set(j + P, U + L, true, true) : T.set(j + P, U + L, false, true);
      }
    }
    function A(T, I) {
      const z = T.size, C = x.getEncodedBits(I);
      let j, U, P;
      for (let L = 0; L < 18; L++) j = Math.floor(L / 3), U = L % 3 + z - 8 - 3, P = (C >> L & 1) === 1, T.set(j, U, P, true), T.set(U, j, P, true);
    }
    function w(T, I, z) {
      const C = T.size, j = d.getEncodedBits(I, z);
      let U, P;
      for (U = 0; U < 15; U++) P = (j >> U & 1) === 1, U < 6 ? T.set(U, 8, P, true) : U < 8 ? T.set(U + 1, 8, P, true) : T.set(C - 15 + U, 8, P, true), U < 8 ? T.set(8, C - U - 1, P, true) : U < 9 ? T.set(8, 15 - U - 1 + 1, P, true) : T.set(8, 15 - U - 1, P, true);
      T.set(C - 8, 8, 1, true);
    }
    function D(T, I) {
      const z = T.size;
      let C = -1, j = z - 1, U = 7, P = 0;
      for (let L = z - 1; L > 0; L -= 2) for (L === 6 && L--; ; ) {
        for (let F = 0; F < 2; F++) if (!T.isReserved(j, L - F)) {
          let q = false;
          P < I.length && (q = (I[P] >>> U & 1) === 1), T.set(j, L - F, q), U--, U === -1 && (P++, U = 7);
        }
        if (j += C, j < 0 || z <= j) {
          j -= C, C = -C;
          break;
        }
      }
    }
    function B(T, I, z) {
      const C = new r();
      z.forEach(function(F) {
        C.put(F.mode.bit, 4), C.put(F.getLength(), f.getCharCountIndicator(F.mode, T)), F.write(C);
      });
      const j = e.getSymbolTotalCodewords(T), U = l.getTotalCodewordsCount(T, I), P = (j - U) * 8;
      for (C.getLengthInBits() + 4 <= P && C.put(0, 4); C.getLengthInBits() % 8 !== 0; ) C.putBit(0);
      const L = (P - C.getLengthInBits()) / 8;
      for (let F = 0; F < L; F++) C.put(F % 2 ? 17 : 236, 8);
      return v(C, T, I);
    }
    function v(T, I, z) {
      const C = e.getSymbolTotalCodewords(I), j = l.getTotalCodewordsCount(I, z), U = C - j, P = l.getBlocksCount(I, z), L = C % P, F = P - L, q = Math.floor(C / P), $ = Math.floor(U / P), Y = $ + 1, J = q - $, Q = new u(J);
      let Z = 0;
      const M = new Array(P), H = new Array(P);
      let re = 0;
      const te = new Uint8Array(T.buffer);
      for (let ye = 0; ye < P; ye++) {
        const Ce = ye < F ? $ : Y;
        M[ye] = te.slice(Z, Z + Ce), H[ye] = Q.encode(M[ye]), Z += Ce, re = Math.max(re, Ce);
      }
      const ae = new Uint8Array(C);
      let xe = 0, me, fe;
      for (me = 0; me < re; me++) for (fe = 0; fe < P; fe++) me < M[fe].length && (ae[xe++] = M[fe][me]);
      for (me = 0; me < J; me++) for (fe = 0; fe < P; fe++) ae[xe++] = H[fe][me];
      return ae;
    }
    function _(T, I, z, C) {
      let j;
      if (Array.isArray(T)) j = m.fromArray(T);
      else if (typeof T == "string") {
        let q = I;
        if (!q) {
          const $ = m.rawSplit(T);
          q = x.getBestVersionForData($, z);
        }
        j = m.fromString(T, q || 40);
      } else throw new Error("Invalid data");
      const U = x.getBestVersionForData(j, z);
      if (!U) throw new Error("The amount of data is too big to be stored in a QR Code");
      if (!I) I = U;
      else if (I < U) throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: ` + U + `.
`);
      const P = B(I, z, j), L = e.getSymbolSize(I), F = new n(L);
      return p(F, I), g(F), E(F, I), w(F, z, 0), I >= 7 && A(F, I), D(F, P), isNaN(C) && (C = s.getBestMask(F, w.bind(null, F, z))), s.applyMask(C, F), w(F, z, C), {
        modules: F,
        version: I,
        errorCorrectionLevel: z,
        maskPattern: C,
        segments: j
      };
    }
    return Rh.create = function(I, z) {
      if (typeof I > "u" || I === "") throw new Error("No input text");
      let C = t.M, j, U;
      return typeof z < "u" && (C = t.from(z.errorCorrectionLevel, t.M), j = x.from(z.version), U = s.from(z.maskPattern), z.toSJISFunc && e.setToSJISFunction(z.toSJISFunc)), _(I, j, C, U);
    }, Rh;
  }
  var r1 = {}, n1 = {}, n3;
  function C4() {
    return n3 || (n3 = 1, (function(e) {
      function t(r) {
        if (typeof r == "number" && (r = r.toString()), typeof r != "string") throw new Error("Color should be defined as hex string");
        let n = r.slice().replace("#", "").split("");
        if (n.length < 3 || n.length === 5 || n.length > 8) throw new Error("Invalid hex color: " + r);
        (n.length === 3 || n.length === 4) && (n = Array.prototype.concat.apply([], n.map(function(i) {
          return [
            i,
            i
          ];
        }))), n.length === 6 && n.push("F", "F");
        const a = parseInt(n.join(""), 16);
        return {
          r: a >> 24 & 255,
          g: a >> 16 & 255,
          b: a >> 8 & 255,
          a: a & 255,
          hex: "#" + n.slice(0, 6).join("")
        };
      }
      e.getOptions = function(n) {
        n || (n = {}), n.color || (n.color = {});
        const a = typeof n.margin > "u" || n.margin === null || n.margin < 0 ? 4 : n.margin, i = n.width && n.width >= 21 ? n.width : void 0, s = n.scale || 4;
        return {
          width: i,
          scale: i ? 4 : s,
          margin: a,
          color: {
            dark: t(n.color.dark || "#000000ff"),
            light: t(n.color.light || "#ffffffff")
          },
          type: n.type,
          rendererOpts: n.rendererOpts || {}
        };
      }, e.getScale = function(n, a) {
        return a.width && a.width >= n + a.margin * 2 ? a.width / (n + a.margin * 2) : a.scale;
      }, e.getImageWidth = function(n, a) {
        const i = e.getScale(n, a);
        return Math.floor((n + a.margin * 2) * i);
      }, e.qrToImageData = function(n, a, i) {
        const s = a.modules.size, l = a.modules.data, u = e.getScale(s, i), x = Math.floor((s + i.margin * 2) * u), d = i.margin * u, f = [
          i.color.light,
          i.color.dark
        ];
        for (let m = 0; m < x; m++) for (let p = 0; p < x; p++) {
          let g = (m * x + p) * 4, E = i.color.light;
          if (m >= d && p >= d && m < x - d && p < x - d) {
            const A = Math.floor((m - d) / u), w = Math.floor((p - d) / u);
            E = f[l[A * s + w] ? 1 : 0];
          }
          n[g++] = E.r, n[g++] = E.g, n[g++] = E.b, n[g] = E.a;
        }
      };
    })(n1)), n1;
  }
  var a3;
  function XA() {
    return a3 || (a3 = 1, (function(e) {
      const t = C4();
      function r(a, i, s) {
        a.clearRect(0, 0, i.width, i.height), i.style || (i.style = {}), i.height = s, i.width = s, i.style.height = s + "px", i.style.width = s + "px";
      }
      function n() {
        try {
          return document.createElement("canvas");
        } catch {
          throw new Error("You need to specify a canvas element");
        }
      }
      e.render = function(i, s, l) {
        let u = l, x = s;
        typeof u > "u" && (!s || !s.getContext) && (u = s, s = void 0), s || (x = n()), u = t.getOptions(u);
        const d = t.getImageWidth(i.modules.size, u), f = x.getContext("2d"), m = f.createImageData(d, d);
        return t.qrToImageData(m.data, i, u), r(f, x, d), f.putImageData(m, 0, 0), x;
      }, e.renderToDataURL = function(i, s, l) {
        let u = l;
        typeof u > "u" && (!s || !s.getContext) && (u = s, s = void 0), u || (u = {});
        const x = e.render(i, s, u), d = u.type || "image/png", f = u.rendererOpts || {};
        return x.toDataURL(d, f.quality);
      };
    })(r1)), r1;
  }
  var a1 = {}, i3;
  function JA() {
    if (i3) return a1;
    i3 = 1;
    const e = C4();
    function t(a, i) {
      const s = a.a / 255, l = i + '="' + a.hex + '"';
      return s < 1 ? l + " " + i + '-opacity="' + s.toFixed(2).slice(1) + '"' : l;
    }
    function r(a, i, s) {
      let l = a + i;
      return typeof s < "u" && (l += " " + s), l;
    }
    function n(a, i, s) {
      let l = "", u = 0, x = false, d = 0;
      for (let f = 0; f < a.length; f++) {
        const m = Math.floor(f % i), p = Math.floor(f / i);
        !m && !x && (x = true), a[f] ? (d++, f > 0 && m > 0 && a[f - 1] || (l += x ? r("M", m + s, 0.5 + p + s) : r("m", u, 0), u = 0, x = false), m + 1 < i && a[f + 1] || (l += r("h", d), d = 0)) : u++;
      }
      return l;
    }
    return a1.render = function(i, s, l) {
      const u = e.getOptions(s), x = i.modules.size, d = i.modules.data, f = x + u.margin * 2, m = u.color.light.a ? "<path " + t(u.color.light, "fill") + ' d="M0 0h' + f + "v" + f + 'H0z"/>' : "", p = "<path " + t(u.color.dark, "stroke") + ' d="' + n(d, x, u.margin) + '"/>', g = 'viewBox="0 0 ' + f + " " + f + '"', A = '<svg xmlns="http://www.w3.org/2000/svg" ' + (u.width ? 'width="' + u.width + '" height="' + u.width + '" ' : "") + g + ' shape-rendering="crispEdges">' + m + p + `</svg>
`;
      return typeof l == "function" && l(null, A), A;
    }, a1;
  }
  var o3;
  function ew() {
    if (o3) return _s;
    o3 = 1;
    const e = jA(), t = $A(), r = XA(), n = JA();
    function a(i, s, l, u, x) {
      const d = [].slice.call(arguments, 1), f = d.length, m = typeof d[f - 1] == "function";
      if (!m && !e()) throw new Error("Callback required as last argument");
      if (m) {
        if (f < 2) throw new Error("Too few arguments provided");
        f === 2 ? (x = l, l = s, s = u = void 0) : f === 3 && (s.getContext && typeof x > "u" ? (x = u, u = void 0) : (x = u, u = l, l = s, s = void 0));
      } else {
        if (f < 1) throw new Error("Too few arguments provided");
        return f === 1 ? (l = s, s = u = void 0) : f === 2 && !s.getContext && (u = l, l = s, s = void 0), new Promise(function(p, g) {
          try {
            const E = t.create(l, u);
            p(i(E, s, u));
          } catch (E) {
            g(E);
          }
        });
      }
      try {
        const p = t.create(l, u);
        x(null, i(p, s, u));
      } catch (p) {
        x(p);
      }
    }
    return _s.create = t.create, _s.toCanvas = a.bind(null, r.render), _s.toDataURL = a.bind(null, r.renderToDataURL), _s.toString = a.bind(null, function(i, s, l) {
      return n.render(i, l);
    }), _s;
  }
  var tw = ew();
  const s3 = a8(tw), k4 = ({ value: e, encryptionMode: t = "pgp", fingerprint: r }) => {
    const [n, a] = Ae.useState(""), [i, s] = Ae.useState("");
    Ae.useEffect(() => {
      if (!e) {
        a("");
        return;
      }
      (async () => {
        try {
          if (e instanceof Uint8Array) {
            const d = document.createElement("canvas");
            await s3.toCanvas(d, [
              {
                data: e,
                mode: "byte"
              }
            ], {
              errorCorrectionLevel: "L",
              width: 512,
              margin: 4,
              color: {
                dark: "#000000",
                light: "#FFFFFF"
              }
            });
            const f = d.toDataURL("image/png");
            a(f), s(`Binary QR: ${e.length} bytes`);
          } else {
            console.log("  - String data:", e.slice(0, 50));
            const d = await s3.toDataURL(e, {
              errorCorrectionLevel: "L",
              type: "image/png",
              width: 512,
              margin: 4,
              color: {
                dark: "#000000",
                light: "#FFFFFF"
              }
            });
            a(d), s(`String QR: ${e.length} chars`);
          }
        } catch {
          s("Error generating QR code");
        }
      })();
    }, [
      e
    ]);
    const l = () => {
      if (!n) return;
      const x = /* @__PURE__ */ new Date(), d = x.toISOString().split("T")[0], f = x.toTimeString().split(" ")[0].replace(/:/g, ""), m = `SeedPGP_${d}_${f}.png`, p = document.createElement("a");
      p.href = n, p.download = m, document.body.appendChild(p), p.click(), document.body.removeChild(p);
    };
    if (!n) return null;
    const u = {
      format: t.toUpperCase(),
      created: (/* @__PURE__ */ new Date()).toLocaleDateString(),
      recovery_url: "github.com/kccleoc/seedpgp-web",
      fingerprint: r || "N/A"
    };
    return b.jsxs("div", {
      className: "border-4 border-[#00f0ff] rounded-xl shadow-[0_0_40px_rgba(0,240,255,0.6)] p-4 bg-[#0a0a0f] space-y-4 qr-container",
      children: [
        b.jsx("div", {
          className: "bg-[#16213e] p-6 rounded-lg inline-block shadow-[0_0_20px_rgba(0,240,255,0.3)] border-2 border-[#00f0ff]/30",
          children: b.jsx("img", {
            src: n,
            alt: "QR Code",
            className: "w-full h-auto"
          })
        }),
        i && b.jsx("div", {
          className: "text-xs text-[#6ef3f7] font-mono",
          children: i
        }),
        b.jsx("div", {
          className: "bg-[#0a0a0f] border border-[#00f0ff]/30 rounded-lg p-3 text-xs font-mono qr-metadata",
          children: b.jsxs("div", {
            className: "grid grid-cols-2 gap-2 text-[#6ef3f7]",
            children: [
              b.jsx("div", {
                children: "Format:"
              }),
              b.jsx("div", {
                className: "text-[#00f0ff] font-bold",
                children: u.format
              }),
              b.jsx("div", {
                children: "Created:"
              }),
              b.jsx("div", {
                className: "text-[#00f0ff]",
                children: u.created
              }),
              r && b.jsxs(b.Fragment, {
                children: [
                  b.jsx("div", {
                    children: "PGP Key:"
                  }),
                  b.jsxs("div", {
                    className: "text-[#00f0ff] break-all",
                    children: [
                      u.fingerprint.slice(0, 16),
                      "..."
                    ]
                  })
                ]
              }),
              b.jsx("div", {
                className: "whitespace-nowrap",
                children: "Recovery Guide:"
              }),
              b.jsx("div", {
                className: "text-[#00f0ff] break-all text-right min-w-0",
                children: u.recovery_url
              })
            ]
          })
        }),
        b.jsxs("button", {
          onClick: l,
          className: "flex items-center gap-2 px-4 py-2 bg-[#00f0ff] hover:bg-[#00f0ff]/80 text-[#0a0a0f] rounded-lg transition-all hover:shadow-[0_0_15px_rgba(0,240,255,0.5)]",
          children: [
            b.jsx(BA, {
              size: 16
            }),
            "Download QR Code"
          ]
        }),
        b.jsx("p", {
          className: "text-xs text-[#6ef3f7] text-center",
          children: "\u{1F4A1} Screenshot this entire area (QR + metadata) for easy identification"
        }),
        b.jsxs("p", {
          className: "text-xs text-[#6ef3f7]",
          children: [
            "Downloads as: SeedPGP_",
            (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
            "_HHMMSS.png"
          ]
        })
      ]
    });
  };
  var Ax = {
    exports: {}
  }, rw = Ax.exports, l3;
  function nw() {
    return l3 || (l3 = 1, (function(e, t) {
      (function(n, a) {
        e.exports = a();
      })(typeof self < "u" ? self : rw, function() {
        return (function(r) {
          var n = {};
          function a(i) {
            if (n[i]) return n[i].exports;
            var s = n[i] = {
              i,
              l: false,
              exports: {}
            };
            return r[i].call(s.exports, s, s.exports, a), s.l = true, s.exports;
          }
          return a.m = r, a.c = n, a.d = function(i, s, l) {
            a.o(i, s) || Object.defineProperty(i, s, {
              configurable: false,
              enumerable: true,
              get: l
            });
          }, a.n = function(i) {
            var s = i && i.__esModule ? function() {
              return i.default;
            } : function() {
              return i;
            };
            return a.d(s, "a", s), s;
          }, a.o = function(i, s) {
            return Object.prototype.hasOwnProperty.call(i, s);
          }, a.p = "", a(a.s = 3);
        })([
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = (function() {
              function s(l, u) {
                this.width = u, this.height = l.length / u, this.data = l;
              }
              return s.createEmpty = function(l, u) {
                return new s(new Uint8ClampedArray(l * u), l);
              }, s.prototype.get = function(l, u) {
                return l < 0 || l >= this.width || u < 0 || u >= this.height ? false : !!this.data[u * this.width + l];
              }, s.prototype.set = function(l, u, x) {
                this.data[u * this.width + l] = x ? 1 : 0;
              }, s.prototype.setRegion = function(l, u, x, d, f) {
                for (var m = u; m < u + d; m++) for (var p = l; p < l + x; p++) this.set(p, m, !!f);
              }, s;
            })();
            n.BitMatrix = i;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(2);
            function s(u, x) {
              return u ^ x;
            }
            n.addOrSubtractGF = s;
            var l = (function() {
              function u(x, d, f) {
                this.primitive = x, this.size = d, this.generatorBase = f, this.expTable = new Array(this.size), this.logTable = new Array(this.size);
                for (var m = 1, p = 0; p < this.size; p++) this.expTable[p] = m, m = m * 2, m >= this.size && (m = (m ^ this.primitive) & this.size - 1);
                for (var p = 0; p < this.size - 1; p++) this.logTable[this.expTable[p]] = p;
                this.zero = new i.default(this, Uint8ClampedArray.from([
                  0
                ])), this.one = new i.default(this, Uint8ClampedArray.from([
                  1
                ]));
              }
              return u.prototype.multiply = function(x, d) {
                return x === 0 || d === 0 ? 0 : this.expTable[(this.logTable[x] + this.logTable[d]) % (this.size - 1)];
              }, u.prototype.inverse = function(x) {
                if (x === 0) throw new Error("Can't invert 0");
                return this.expTable[this.size - this.logTable[x] - 1];
              }, u.prototype.buildMonomial = function(x, d) {
                if (x < 0) throw new Error("Invalid monomial degree less than 0");
                if (d === 0) return this.zero;
                var f = new Uint8ClampedArray(x + 1);
                return f[0] = d, new i.default(this, f);
              }, u.prototype.log = function(x) {
                if (x === 0) throw new Error("Can't take log(0)");
                return this.logTable[x];
              }, u.prototype.exp = function(x) {
                return this.expTable[x];
              }, u;
            })();
            n.default = l;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(1), s = (function() {
              function l(u, x) {
                if (x.length === 0) throw new Error("No coefficients.");
                this.field = u;
                var d = x.length;
                if (d > 1 && x[0] === 0) {
                  for (var f = 1; f < d && x[f] === 0; ) f++;
                  if (f === d) this.coefficients = u.zero.coefficients;
                  else {
                    this.coefficients = new Uint8ClampedArray(d - f);
                    for (var m = 0; m < this.coefficients.length; m++) this.coefficients[m] = x[f + m];
                  }
                } else this.coefficients = x;
              }
              return l.prototype.degree = function() {
                return this.coefficients.length - 1;
              }, l.prototype.isZero = function() {
                return this.coefficients[0] === 0;
              }, l.prototype.getCoefficient = function(u) {
                return this.coefficients[this.coefficients.length - 1 - u];
              }, l.prototype.addOrSubtract = function(u) {
                var x;
                if (this.isZero()) return u;
                if (u.isZero()) return this;
                var d = this.coefficients, f = u.coefficients;
                d.length > f.length && (x = [
                  f,
                  d
                ], d = x[0], f = x[1]);
                for (var m = new Uint8ClampedArray(f.length), p = f.length - d.length, g = 0; g < p; g++) m[g] = f[g];
                for (var g = p; g < f.length; g++) m[g] = i.addOrSubtractGF(d[g - p], f[g]);
                return new l(this.field, m);
              }, l.prototype.multiply = function(u) {
                if (u === 0) return this.field.zero;
                if (u === 1) return this;
                for (var x = this.coefficients.length, d = new Uint8ClampedArray(x), f = 0; f < x; f++) d[f] = this.field.multiply(this.coefficients[f], u);
                return new l(this.field, d);
              }, l.prototype.multiplyPoly = function(u) {
                if (this.isZero() || u.isZero()) return this.field.zero;
                for (var x = this.coefficients, d = x.length, f = u.coefficients, m = f.length, p = new Uint8ClampedArray(d + m - 1), g = 0; g < d; g++) for (var E = x[g], A = 0; A < m; A++) p[g + A] = i.addOrSubtractGF(p[g + A], this.field.multiply(E, f[A]));
                return new l(this.field, p);
              }, l.prototype.multiplyByMonomial = function(u, x) {
                if (u < 0) throw new Error("Invalid degree less than 0");
                if (x === 0) return this.field.zero;
                for (var d = this.coefficients.length, f = new Uint8ClampedArray(d + u), m = 0; m < d; m++) f[m] = this.field.multiply(this.coefficients[m], x);
                return new l(this.field, f);
              }, l.prototype.evaluateAt = function(u) {
                var x = 0;
                if (u === 0) return this.getCoefficient(0);
                var d = this.coefficients.length;
                if (u === 1) return this.coefficients.forEach(function(m) {
                  x = i.addOrSubtractGF(x, m);
                }), x;
                x = this.coefficients[0];
                for (var f = 1; f < d; f++) x = i.addOrSubtractGF(this.field.multiply(u, x), this.coefficients[f]);
                return x;
              }, l;
            })();
            n.default = s;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(4), s = a(5), l = a(11), u = a(12);
            function x(m) {
              var p = u.locate(m);
              if (!p) return null;
              for (var g = 0, E = p; g < E.length; g++) {
                var A = E[g], w = l.extract(m, A), D = s.decode(w.matrix);
                if (D) return {
                  binaryData: D.bytes,
                  data: D.text,
                  chunks: D.chunks,
                  version: D.version,
                  location: {
                    topRightCorner: w.mappingFunction(A.dimension, 0),
                    topLeftCorner: w.mappingFunction(0, 0),
                    bottomRightCorner: w.mappingFunction(A.dimension, A.dimension),
                    bottomLeftCorner: w.mappingFunction(0, A.dimension),
                    topRightFinderPattern: A.topRight,
                    topLeftFinderPattern: A.topLeft,
                    bottomLeftFinderPattern: A.bottomLeft,
                    bottomRightAlignmentPattern: A.alignmentPattern
                  }
                };
              }
              return null;
            }
            var d = {
              inversionAttempts: "attemptBoth"
            };
            function f(m, p, g, E) {
              E === void 0 && (E = {});
              var A = d;
              Object.keys(A || {}).forEach(function(I) {
                A[I] = E[I] || A[I];
              });
              var w = A.inversionAttempts === "attemptBoth" || A.inversionAttempts === "invertFirst", D = A.inversionAttempts === "onlyInvert" || A.inversionAttempts === "invertFirst", B = i.binarize(m, p, g, w), v = B.binarized, _ = B.inverted, T = x(D ? _ : v);
              return !T && (A.inversionAttempts === "attemptBoth" || A.inversionAttempts === "invertFirst") && (T = x(D ? v : _)), T;
            }
            f.default = f, n.default = f;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0), s = 8, l = 24;
            function u(f, m, p) {
              return f < m ? m : f > p ? p : f;
            }
            var x = (function() {
              function f(m, p) {
                this.width = m, this.data = new Uint8ClampedArray(m * p);
              }
              return f.prototype.get = function(m, p) {
                return this.data[p * this.width + m];
              }, f.prototype.set = function(m, p, g) {
                this.data[p * this.width + m] = g;
              }, f;
            })();
            function d(f, m, p, g) {
              if (f.length !== m * p * 4) throw new Error("Malformed data passed to binarizer.");
              for (var E = new x(m, p), A = 0; A < m; A++) for (var w = 0; w < p; w++) {
                var D = f[(w * m + A) * 4 + 0], B = f[(w * m + A) * 4 + 1], v = f[(w * m + A) * 4 + 2];
                E.set(A, w, 0.2126 * D + 0.7152 * B + 0.0722 * v);
              }
              for (var _ = Math.ceil(m / s), T = Math.ceil(p / s), I = new x(_, T), z = 0; z < T; z++) for (var C = 0; C < _; C++) {
                for (var j = 0, U = 1 / 0, P = 0, w = 0; w < s; w++) for (var A = 0; A < s; A++) {
                  var L = E.get(C * s + A, z * s + w);
                  j += L, U = Math.min(U, L), P = Math.max(P, L);
                }
                var F = j / Math.pow(s, 2);
                if (P - U <= l && (F = U / 2, z > 0 && C > 0)) {
                  var q = (I.get(C, z - 1) + 2 * I.get(C - 1, z) + I.get(C - 1, z - 1)) / 4;
                  U < q && (F = q);
                }
                I.set(C, z, F);
              }
              var $ = i.BitMatrix.createEmpty(m, p), Y = null;
              g && (Y = i.BitMatrix.createEmpty(m, p));
              for (var z = 0; z < T; z++) for (var C = 0; C < _; C++) {
                for (var J = u(C, 2, _ - 3), Q = u(z, 2, T - 3), j = 0, Z = -2; Z <= 2; Z++) for (var M = -2; M <= 2; M++) j += I.get(J + Z, Q + M);
                for (var H = j / 25, Z = 0; Z < s; Z++) for (var M = 0; M < s; M++) {
                  var A = C * s + Z, w = z * s + M, re = E.get(A, w);
                  $.set(A, w, re <= H), g && Y.set(A, w, !(re <= H));
                }
              }
              return g ? {
                binarized: $,
                inverted: Y
              } : {
                binarized: $
              };
            }
            n.binarize = d;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0), s = a(6), l = a(9), u = a(10);
            function x(v, _) {
              for (var T = v ^ _, I = 0; T; ) I++, T &= T - 1;
              return I;
            }
            function d(v, _) {
              return _ << 1 | v;
            }
            var f = [
              {
                bits: 21522,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 0
                }
              },
              {
                bits: 20773,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 1
                }
              },
              {
                bits: 24188,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 2
                }
              },
              {
                bits: 23371,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 3
                }
              },
              {
                bits: 17913,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 4
                }
              },
              {
                bits: 16590,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 5
                }
              },
              {
                bits: 20375,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 6
                }
              },
              {
                bits: 19104,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 7
                }
              },
              {
                bits: 30660,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 0
                }
              },
              {
                bits: 29427,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 1
                }
              },
              {
                bits: 32170,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 2
                }
              },
              {
                bits: 30877,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 3
                }
              },
              {
                bits: 26159,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 4
                }
              },
              {
                bits: 25368,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 5
                }
              },
              {
                bits: 27713,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 6
                }
              },
              {
                bits: 26998,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 7
                }
              },
              {
                bits: 5769,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 0
                }
              },
              {
                bits: 5054,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 1
                }
              },
              {
                bits: 7399,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 2
                }
              },
              {
                bits: 6608,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 3
                }
              },
              {
                bits: 1890,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 4
                }
              },
              {
                bits: 597,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 5
                }
              },
              {
                bits: 3340,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 6
                }
              },
              {
                bits: 2107,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 7
                }
              },
              {
                bits: 13663,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 0
                }
              },
              {
                bits: 12392,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 1
                }
              },
              {
                bits: 16177,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 2
                }
              },
              {
                bits: 14854,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 3
                }
              },
              {
                bits: 9396,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 4
                }
              },
              {
                bits: 8579,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 5
                }
              },
              {
                bits: 11994,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 6
                }
              },
              {
                bits: 11245,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 7
                }
              }
            ], m = [
              function(v) {
                return (v.y + v.x) % 2 === 0;
              },
              function(v) {
                return v.y % 2 === 0;
              },
              function(v) {
                return v.x % 3 === 0;
              },
              function(v) {
                return (v.y + v.x) % 3 === 0;
              },
              function(v) {
                return (Math.floor(v.y / 2) + Math.floor(v.x / 3)) % 2 === 0;
              },
              function(v) {
                return v.x * v.y % 2 + v.x * v.y % 3 === 0;
              },
              function(v) {
                return (v.y * v.x % 2 + v.y * v.x % 3) % 2 === 0;
              },
              function(v) {
                return ((v.y + v.x) % 2 + v.y * v.x % 3) % 2 === 0;
              }
            ];
            function p(v) {
              var _ = 17 + 4 * v.versionNumber, T = i.BitMatrix.createEmpty(_, _);
              T.setRegion(0, 0, 9, 9, true), T.setRegion(_ - 8, 0, 8, 9, true), T.setRegion(0, _ - 8, 9, 8, true);
              for (var I = 0, z = v.alignmentPatternCenters; I < z.length; I++) for (var C = z[I], j = 0, U = v.alignmentPatternCenters; j < U.length; j++) {
                var P = U[j];
                C === 6 && P === 6 || C === 6 && P === _ - 7 || C === _ - 7 && P === 6 || T.setRegion(C - 2, P - 2, 5, 5, true);
              }
              return T.setRegion(6, 9, 1, _ - 17, true), T.setRegion(9, 6, _ - 17, 1, true), v.versionNumber > 6 && (T.setRegion(_ - 11, 0, 3, 6, true), T.setRegion(0, _ - 11, 6, 3, true)), T;
            }
            function g(v, _, T) {
              for (var I = m[T.dataMask], z = v.height, C = p(_), j = [], U = 0, P = 0, L = true, F = z - 1; F > 0; F -= 2) {
                F === 6 && F--;
                for (var q = 0; q < z; q++) for (var $ = L ? z - 1 - q : q, Y = 0; Y < 2; Y++) {
                  var J = F - Y;
                  if (!C.get(J, $)) {
                    P++;
                    var Q = v.get(J, $);
                    I({
                      y: $,
                      x: J
                    }) && (Q = !Q), U = d(Q, U), P === 8 && (j.push(U), P = 0, U = 0);
                  }
                }
                L = !L;
              }
              return j;
            }
            function E(v) {
              var _ = v.height, T = Math.floor((_ - 17) / 4);
              if (T <= 6) return u.VERSIONS[T - 1];
              for (var I = 0, z = 5; z >= 0; z--) for (var C = _ - 9; C >= _ - 11; C--) I = d(v.get(C, z), I);
              for (var j = 0, C = 5; C >= 0; C--) for (var z = _ - 9; z >= _ - 11; z--) j = d(v.get(C, z), j);
              for (var U = 1 / 0, P, L = 0, F = u.VERSIONS; L < F.length; L++) {
                var q = F[L];
                if (q.infoBits === I || q.infoBits === j) return q;
                var $ = x(I, q.infoBits);
                $ < U && (P = q, U = $), $ = x(j, q.infoBits), $ < U && (P = q, U = $);
              }
              if (U <= 3) return P;
            }
            function A(v) {
              for (var _ = 0, T = 0; T <= 8; T++) T !== 6 && (_ = d(v.get(T, 8), _));
              for (var I = 7; I >= 0; I--) I !== 6 && (_ = d(v.get(8, I), _));
              for (var z = v.height, C = 0, I = z - 1; I >= z - 7; I--) C = d(v.get(8, I), C);
              for (var T = z - 8; T < z; T++) C = d(v.get(T, 8), C);
              for (var j = 1 / 0, U = null, P = 0, L = f; P < L.length; P++) {
                var F = L[P], q = F.bits, $ = F.formatInfo;
                if (q === _ || q === C) return $;
                var Y = x(_, q);
                Y < j && (U = $, j = Y), _ !== C && (Y = x(C, q), Y < j && (U = $, j = Y));
              }
              return j <= 3 ? U : null;
            }
            function w(v, _, T) {
              var I = _.errorCorrectionLevels[T], z = [], C = 0;
              if (I.ecBlocks.forEach(function(Q) {
                for (var Z = 0; Z < Q.numBlocks; Z++) z.push({
                  numDataCodewords: Q.dataCodewordsPerBlock,
                  codewords: []
                }), C += Q.dataCodewordsPerBlock + I.ecCodewordsPerBlock;
              }), v.length < C) return null;
              v = v.slice(0, C);
              for (var j = I.ecBlocks[0].dataCodewordsPerBlock, U = 0; U < j; U++) for (var P = 0, L = z; P < L.length; P++) {
                var F = L[P];
                F.codewords.push(v.shift());
              }
              if (I.ecBlocks.length > 1) for (var q = I.ecBlocks[0].numBlocks, $ = I.ecBlocks[1].numBlocks, U = 0; U < $; U++) z[q + U].codewords.push(v.shift());
              for (; v.length > 0; ) for (var Y = 0, J = z; Y < J.length; Y++) {
                var F = J[Y];
                F.codewords.push(v.shift());
              }
              return z;
            }
            function D(v) {
              var _ = E(v);
              if (!_) return null;
              var T = A(v);
              if (!T) return null;
              var I = g(v, _, T), z = w(I, _, T.errorCorrectionLevel);
              if (!z) return null;
              for (var C = z.reduce(function(Y, J) {
                return Y + J.numDataCodewords;
              }, 0), j = new Uint8ClampedArray(C), U = 0, P = 0, L = z; P < L.length; P++) {
                var F = L[P], q = l.decode(F.codewords, F.codewords.length - F.numDataCodewords);
                if (!q) return null;
                for (var $ = 0; $ < F.numDataCodewords; $++) j[U++] = q[$];
              }
              try {
                return s.decode(j, _.versionNumber);
              } catch {
                return null;
              }
            }
            function B(v) {
              if (v == null) return null;
              var _ = D(v);
              if (_) return _;
              for (var T = 0; T < v.width; T++) for (var I = T + 1; I < v.height; I++) v.get(T, I) !== v.get(I, T) && (v.set(T, I, !v.get(T, I)), v.set(I, T, !v.get(I, T)));
              return D(v);
            }
            n.decode = B;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(7), s = a(8), l;
            (function(E) {
              E.Numeric = "numeric", E.Alphanumeric = "alphanumeric", E.Byte = "byte", E.Kanji = "kanji", E.ECI = "eci";
            })(l = n.Mode || (n.Mode = {}));
            var u;
            (function(E) {
              E[E.Terminator = 0] = "Terminator", E[E.Numeric = 1] = "Numeric", E[E.Alphanumeric = 2] = "Alphanumeric", E[E.Byte = 4] = "Byte", E[E.Kanji = 8] = "Kanji", E[E.ECI = 7] = "ECI";
            })(u || (u = {}));
            function x(E, A) {
              for (var w = [], D = "", B = [
                10,
                12,
                14
              ][A], v = E.readBits(B); v >= 3; ) {
                var _ = E.readBits(10);
                if (_ >= 1e3) throw new Error("Invalid numeric value above 999");
                var T = Math.floor(_ / 100), I = Math.floor(_ / 10) % 10, z = _ % 10;
                w.push(48 + T, 48 + I, 48 + z), D += T.toString() + I.toString() + z.toString(), v -= 3;
              }
              if (v === 2) {
                var _ = E.readBits(7);
                if (_ >= 100) throw new Error("Invalid numeric value above 99");
                var T = Math.floor(_ / 10), I = _ % 10;
                w.push(48 + T, 48 + I), D += T.toString() + I.toString();
              } else if (v === 1) {
                var _ = E.readBits(4);
                if (_ >= 10) throw new Error("Invalid numeric value above 9");
                w.push(48 + _), D += _.toString();
              }
              return {
                bytes: w,
                text: D
              };
            }
            var d = [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U",
              "V",
              "W",
              "X",
              "Y",
              "Z",
              " ",
              "$",
              "%",
              "*",
              "+",
              "-",
              ".",
              "/",
              ":"
            ];
            function f(E, A) {
              for (var w = [], D = "", B = [
                9,
                11,
                13
              ][A], v = E.readBits(B); v >= 2; ) {
                var _ = E.readBits(11), T = Math.floor(_ / 45), I = _ % 45;
                w.push(d[T].charCodeAt(0), d[I].charCodeAt(0)), D += d[T] + d[I], v -= 2;
              }
              if (v === 1) {
                var T = E.readBits(6);
                w.push(d[T].charCodeAt(0)), D += d[T];
              }
              return {
                bytes: w,
                text: D
              };
            }
            function m(E, A) {
              for (var w = [], D = "", B = [
                8,
                16,
                16
              ][A], v = E.readBits(B), _ = 0; _ < v; _++) {
                var T = E.readBits(8);
                w.push(T);
              }
              try {
                D += decodeURIComponent(w.map(function(I) {
                  return "%" + ("0" + I.toString(16)).substr(-2);
                }).join(""));
              } catch {
              }
              return {
                bytes: w,
                text: D
              };
            }
            function p(E, A) {
              for (var w = [], D = "", B = [
                8,
                10,
                12
              ][A], v = E.readBits(B), _ = 0; _ < v; _++) {
                var T = E.readBits(13), I = Math.floor(T / 192) << 8 | T % 192;
                I < 7936 ? I += 33088 : I += 49472, w.push(I >> 8, I & 255), D += String.fromCharCode(s.shiftJISTable[I]);
              }
              return {
                bytes: w,
                text: D
              };
            }
            function g(E, A) {
              for (var w, D, B, v, _ = new i.BitStream(E), T = A <= 9 ? 0 : A <= 26 ? 1 : 2, I = {
                text: "",
                bytes: [],
                chunks: [],
                version: A
              }; _.available() >= 4; ) {
                var z = _.readBits(4);
                if (z === u.Terminator) return I;
                if (z === u.ECI) _.readBits(1) === 0 ? I.chunks.push({
                  type: l.ECI,
                  assignmentNumber: _.readBits(7)
                }) : _.readBits(1) === 0 ? I.chunks.push({
                  type: l.ECI,
                  assignmentNumber: _.readBits(14)
                }) : _.readBits(1) === 0 ? I.chunks.push({
                  type: l.ECI,
                  assignmentNumber: _.readBits(21)
                }) : I.chunks.push({
                  type: l.ECI,
                  assignmentNumber: -1
                });
                else if (z === u.Numeric) {
                  var C = x(_, T);
                  I.text += C.text, (w = I.bytes).push.apply(w, C.bytes), I.chunks.push({
                    type: l.Numeric,
                    text: C.text
                  });
                } else if (z === u.Alphanumeric) {
                  var j = f(_, T);
                  I.text += j.text, (D = I.bytes).push.apply(D, j.bytes), I.chunks.push({
                    type: l.Alphanumeric,
                    text: j.text
                  });
                } else if (z === u.Byte) {
                  var U = m(_, T);
                  I.text += U.text, (B = I.bytes).push.apply(B, U.bytes), I.chunks.push({
                    type: l.Byte,
                    bytes: U.bytes,
                    text: U.text
                  });
                } else if (z === u.Kanji) {
                  var P = p(_, T);
                  I.text += P.text, (v = I.bytes).push.apply(v, P.bytes), I.chunks.push({
                    type: l.Kanji,
                    bytes: P.bytes,
                    text: P.text
                  });
                }
              }
              if (_.available() === 0 || _.readBits(_.available()) === 0) return I;
            }
            n.decode = g;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = (function() {
              function s(l) {
                this.byteOffset = 0, this.bitOffset = 0, this.bytes = l;
              }
              return s.prototype.readBits = function(l) {
                if (l < 1 || l > 32 || l > this.available()) throw new Error("Cannot read " + l.toString() + " bits");
                var u = 0;
                if (this.bitOffset > 0) {
                  var x = 8 - this.bitOffset, d = l < x ? l : x, f = x - d, m = 255 >> 8 - d << f;
                  u = (this.bytes[this.byteOffset] & m) >> f, l -= d, this.bitOffset += d, this.bitOffset === 8 && (this.bitOffset = 0, this.byteOffset++);
                }
                if (l > 0) {
                  for (; l >= 8; ) u = u << 8 | this.bytes[this.byteOffset] & 255, this.byteOffset++, l -= 8;
                  if (l > 0) {
                    var f = 8 - l, m = 255 >> f << f;
                    u = u << l | (this.bytes[this.byteOffset] & m) >> f, this.bitOffset += l;
                  }
                }
                return u;
              }, s.prototype.available = function() {
                return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;
              }, s;
            })();
            n.BitStream = i;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            }), n.shiftJISTable = {
              32: 32,
              33: 33,
              34: 34,
              35: 35,
              36: 36,
              37: 37,
              38: 38,
              39: 39,
              40: 40,
              41: 41,
              42: 42,
              43: 43,
              44: 44,
              45: 45,
              46: 46,
              47: 47,
              48: 48,
              49: 49,
              50: 50,
              51: 51,
              52: 52,
              53: 53,
              54: 54,
              55: 55,
              56: 56,
              57: 57,
              58: 58,
              59: 59,
              60: 60,
              61: 61,
              62: 62,
              63: 63,
              64: 64,
              65: 65,
              66: 66,
              67: 67,
              68: 68,
              69: 69,
              70: 70,
              71: 71,
              72: 72,
              73: 73,
              74: 74,
              75: 75,
              76: 76,
              77: 77,
              78: 78,
              79: 79,
              80: 80,
              81: 81,
              82: 82,
              83: 83,
              84: 84,
              85: 85,
              86: 86,
              87: 87,
              88: 88,
              89: 89,
              90: 90,
              91: 91,
              92: 165,
              93: 93,
              94: 94,
              95: 95,
              96: 96,
              97: 97,
              98: 98,
              99: 99,
              100: 100,
              101: 101,
              102: 102,
              103: 103,
              104: 104,
              105: 105,
              106: 106,
              107: 107,
              108: 108,
              109: 109,
              110: 110,
              111: 111,
              112: 112,
              113: 113,
              114: 114,
              115: 115,
              116: 116,
              117: 117,
              118: 118,
              119: 119,
              120: 120,
              121: 121,
              122: 122,
              123: 123,
              124: 124,
              125: 125,
              126: 8254,
              33088: 12288,
              33089: 12289,
              33090: 12290,
              33091: 65292,
              33092: 65294,
              33093: 12539,
              33094: 65306,
              33095: 65307,
              33096: 65311,
              33097: 65281,
              33098: 12443,
              33099: 12444,
              33100: 180,
              33101: 65344,
              33102: 168,
              33103: 65342,
              33104: 65507,
              33105: 65343,
              33106: 12541,
              33107: 12542,
              33108: 12445,
              33109: 12446,
              33110: 12291,
              33111: 20189,
              33112: 12293,
              33113: 12294,
              33114: 12295,
              33115: 12540,
              33116: 8213,
              33117: 8208,
              33118: 65295,
              33119: 92,
              33120: 12316,
              33121: 8214,
              33122: 65372,
              33123: 8230,
              33124: 8229,
              33125: 8216,
              33126: 8217,
              33127: 8220,
              33128: 8221,
              33129: 65288,
              33130: 65289,
              33131: 12308,
              33132: 12309,
              33133: 65339,
              33134: 65341,
              33135: 65371,
              33136: 65373,
              33137: 12296,
              33138: 12297,
              33139: 12298,
              33140: 12299,
              33141: 12300,
              33142: 12301,
              33143: 12302,
              33144: 12303,
              33145: 12304,
              33146: 12305,
              33147: 65291,
              33148: 8722,
              33149: 177,
              33150: 215,
              33152: 247,
              33153: 65309,
              33154: 8800,
              33155: 65308,
              33156: 65310,
              33157: 8806,
              33158: 8807,
              33159: 8734,
              33160: 8756,
              33161: 9794,
              33162: 9792,
              33163: 176,
              33164: 8242,
              33165: 8243,
              33166: 8451,
              33167: 65509,
              33168: 65284,
              33169: 162,
              33170: 163,
              33171: 65285,
              33172: 65283,
              33173: 65286,
              33174: 65290,
              33175: 65312,
              33176: 167,
              33177: 9734,
              33178: 9733,
              33179: 9675,
              33180: 9679,
              33181: 9678,
              33182: 9671,
              33183: 9670,
              33184: 9633,
              33185: 9632,
              33186: 9651,
              33187: 9650,
              33188: 9661,
              33189: 9660,
              33190: 8251,
              33191: 12306,
              33192: 8594,
              33193: 8592,
              33194: 8593,
              33195: 8595,
              33196: 12307,
              33208: 8712,
              33209: 8715,
              33210: 8838,
              33211: 8839,
              33212: 8834,
              33213: 8835,
              33214: 8746,
              33215: 8745,
              33224: 8743,
              33225: 8744,
              33226: 172,
              33227: 8658,
              33228: 8660,
              33229: 8704,
              33230: 8707,
              33242: 8736,
              33243: 8869,
              33244: 8978,
              33245: 8706,
              33246: 8711,
              33247: 8801,
              33248: 8786,
              33249: 8810,
              33250: 8811,
              33251: 8730,
              33252: 8765,
              33253: 8733,
              33254: 8757,
              33255: 8747,
              33256: 8748,
              33264: 8491,
              33265: 8240,
              33266: 9839,
              33267: 9837,
              33268: 9834,
              33269: 8224,
              33270: 8225,
              33271: 182,
              33276: 9711,
              33359: 65296,
              33360: 65297,
              33361: 65298,
              33362: 65299,
              33363: 65300,
              33364: 65301,
              33365: 65302,
              33366: 65303,
              33367: 65304,
              33368: 65305,
              33376: 65313,
              33377: 65314,
              33378: 65315,
              33379: 65316,
              33380: 65317,
              33381: 65318,
              33382: 65319,
              33383: 65320,
              33384: 65321,
              33385: 65322,
              33386: 65323,
              33387: 65324,
              33388: 65325,
              33389: 65326,
              33390: 65327,
              33391: 65328,
              33392: 65329,
              33393: 65330,
              33394: 65331,
              33395: 65332,
              33396: 65333,
              33397: 65334,
              33398: 65335,
              33399: 65336,
              33400: 65337,
              33401: 65338,
              33409: 65345,
              33410: 65346,
              33411: 65347,
              33412: 65348,
              33413: 65349,
              33414: 65350,
              33415: 65351,
              33416: 65352,
              33417: 65353,
              33418: 65354,
              33419: 65355,
              33420: 65356,
              33421: 65357,
              33422: 65358,
              33423: 65359,
              33424: 65360,
              33425: 65361,
              33426: 65362,
              33427: 65363,
              33428: 65364,
              33429: 65365,
              33430: 65366,
              33431: 65367,
              33432: 65368,
              33433: 65369,
              33434: 65370,
              33439: 12353,
              33440: 12354,
              33441: 12355,
              33442: 12356,
              33443: 12357,
              33444: 12358,
              33445: 12359,
              33446: 12360,
              33447: 12361,
              33448: 12362,
              33449: 12363,
              33450: 12364,
              33451: 12365,
              33452: 12366,
              33453: 12367,
              33454: 12368,
              33455: 12369,
              33456: 12370,
              33457: 12371,
              33458: 12372,
              33459: 12373,
              33460: 12374,
              33461: 12375,
              33462: 12376,
              33463: 12377,
              33464: 12378,
              33465: 12379,
              33466: 12380,
              33467: 12381,
              33468: 12382,
              33469: 12383,
              33470: 12384,
              33471: 12385,
              33472: 12386,
              33473: 12387,
              33474: 12388,
              33475: 12389,
              33476: 12390,
              33477: 12391,
              33478: 12392,
              33479: 12393,
              33480: 12394,
              33481: 12395,
              33482: 12396,
              33483: 12397,
              33484: 12398,
              33485: 12399,
              33486: 12400,
              33487: 12401,
              33488: 12402,
              33489: 12403,
              33490: 12404,
              33491: 12405,
              33492: 12406,
              33493: 12407,
              33494: 12408,
              33495: 12409,
              33496: 12410,
              33497: 12411,
              33498: 12412,
              33499: 12413,
              33500: 12414,
              33501: 12415,
              33502: 12416,
              33503: 12417,
              33504: 12418,
              33505: 12419,
              33506: 12420,
              33507: 12421,
              33508: 12422,
              33509: 12423,
              33510: 12424,
              33511: 12425,
              33512: 12426,
              33513: 12427,
              33514: 12428,
              33515: 12429,
              33516: 12430,
              33517: 12431,
              33518: 12432,
              33519: 12433,
              33520: 12434,
              33521: 12435,
              33600: 12449,
              33601: 12450,
              33602: 12451,
              33603: 12452,
              33604: 12453,
              33605: 12454,
              33606: 12455,
              33607: 12456,
              33608: 12457,
              33609: 12458,
              33610: 12459,
              33611: 12460,
              33612: 12461,
              33613: 12462,
              33614: 12463,
              33615: 12464,
              33616: 12465,
              33617: 12466,
              33618: 12467,
              33619: 12468,
              33620: 12469,
              33621: 12470,
              33622: 12471,
              33623: 12472,
              33624: 12473,
              33625: 12474,
              33626: 12475,
              33627: 12476,
              33628: 12477,
              33629: 12478,
              33630: 12479,
              33631: 12480,
              33632: 12481,
              33633: 12482,
              33634: 12483,
              33635: 12484,
              33636: 12485,
              33637: 12486,
              33638: 12487,
              33639: 12488,
              33640: 12489,
              33641: 12490,
              33642: 12491,
              33643: 12492,
              33644: 12493,
              33645: 12494,
              33646: 12495,
              33647: 12496,
              33648: 12497,
              33649: 12498,
              33650: 12499,
              33651: 12500,
              33652: 12501,
              33653: 12502,
              33654: 12503,
              33655: 12504,
              33656: 12505,
              33657: 12506,
              33658: 12507,
              33659: 12508,
              33660: 12509,
              33661: 12510,
              33662: 12511,
              33664: 12512,
              33665: 12513,
              33666: 12514,
              33667: 12515,
              33668: 12516,
              33669: 12517,
              33670: 12518,
              33671: 12519,
              33672: 12520,
              33673: 12521,
              33674: 12522,
              33675: 12523,
              33676: 12524,
              33677: 12525,
              33678: 12526,
              33679: 12527,
              33680: 12528,
              33681: 12529,
              33682: 12530,
              33683: 12531,
              33684: 12532,
              33685: 12533,
              33686: 12534,
              33695: 913,
              33696: 914,
              33697: 915,
              33698: 916,
              33699: 917,
              33700: 918,
              33701: 919,
              33702: 920,
              33703: 921,
              33704: 922,
              33705: 923,
              33706: 924,
              33707: 925,
              33708: 926,
              33709: 927,
              33710: 928,
              33711: 929,
              33712: 931,
              33713: 932,
              33714: 933,
              33715: 934,
              33716: 935,
              33717: 936,
              33718: 937,
              33727: 945,
              33728: 946,
              33729: 947,
              33730: 948,
              33731: 949,
              33732: 950,
              33733: 951,
              33734: 952,
              33735: 953,
              33736: 954,
              33737: 955,
              33738: 956,
              33739: 957,
              33740: 958,
              33741: 959,
              33742: 960,
              33743: 961,
              33744: 963,
              33745: 964,
              33746: 965,
              33747: 966,
              33748: 967,
              33749: 968,
              33750: 969,
              33856: 1040,
              33857: 1041,
              33858: 1042,
              33859: 1043,
              33860: 1044,
              33861: 1045,
              33862: 1025,
              33863: 1046,
              33864: 1047,
              33865: 1048,
              33866: 1049,
              33867: 1050,
              33868: 1051,
              33869: 1052,
              33870: 1053,
              33871: 1054,
              33872: 1055,
              33873: 1056,
              33874: 1057,
              33875: 1058,
              33876: 1059,
              33877: 1060,
              33878: 1061,
              33879: 1062,
              33880: 1063,
              33881: 1064,
              33882: 1065,
              33883: 1066,
              33884: 1067,
              33885: 1068,
              33886: 1069,
              33887: 1070,
              33888: 1071,
              33904: 1072,
              33905: 1073,
              33906: 1074,
              33907: 1075,
              33908: 1076,
              33909: 1077,
              33910: 1105,
              33911: 1078,
              33912: 1079,
              33913: 1080,
              33914: 1081,
              33915: 1082,
              33916: 1083,
              33917: 1084,
              33918: 1085,
              33920: 1086,
              33921: 1087,
              33922: 1088,
              33923: 1089,
              33924: 1090,
              33925: 1091,
              33926: 1092,
              33927: 1093,
              33928: 1094,
              33929: 1095,
              33930: 1096,
              33931: 1097,
              33932: 1098,
              33933: 1099,
              33934: 1100,
              33935: 1101,
              33936: 1102,
              33937: 1103,
              33951: 9472,
              33952: 9474,
              33953: 9484,
              33954: 9488,
              33955: 9496,
              33956: 9492,
              33957: 9500,
              33958: 9516,
              33959: 9508,
              33960: 9524,
              33961: 9532,
              33962: 9473,
              33963: 9475,
              33964: 9487,
              33965: 9491,
              33966: 9499,
              33967: 9495,
              33968: 9507,
              33969: 9523,
              33970: 9515,
              33971: 9531,
              33972: 9547,
              33973: 9504,
              33974: 9519,
              33975: 9512,
              33976: 9527,
              33977: 9535,
              33978: 9501,
              33979: 9520,
              33980: 9509,
              33981: 9528,
              33982: 9538,
              34975: 20124,
              34976: 21782,
              34977: 23043,
              34978: 38463,
              34979: 21696,
              34980: 24859,
              34981: 25384,
              34982: 23030,
              34983: 36898,
              34984: 33909,
              34985: 33564,
              34986: 31312,
              34987: 24746,
              34988: 25569,
              34989: 28197,
              34990: 26093,
              34991: 33894,
              34992: 33446,
              34993: 39925,
              34994: 26771,
              34995: 22311,
              34996: 26017,
              34997: 25201,
              34998: 23451,
              34999: 22992,
              35e3: 34427,
              35001: 39156,
              35002: 32098,
              35003: 32190,
              35004: 39822,
              35005: 25110,
              35006: 31903,
              35007: 34999,
              35008: 23433,
              35009: 24245,
              35010: 25353,
              35011: 26263,
              35012: 26696,
              35013: 38343,
              35014: 38797,
              35015: 26447,
              35016: 20197,
              35017: 20234,
              35018: 20301,
              35019: 20381,
              35020: 20553,
              35021: 22258,
              35022: 22839,
              35023: 22996,
              35024: 23041,
              35025: 23561,
              35026: 24799,
              35027: 24847,
              35028: 24944,
              35029: 26131,
              35030: 26885,
              35031: 28858,
              35032: 30031,
              35033: 30064,
              35034: 31227,
              35035: 32173,
              35036: 32239,
              35037: 32963,
              35038: 33806,
              35039: 34915,
              35040: 35586,
              35041: 36949,
              35042: 36986,
              35043: 21307,
              35044: 20117,
              35045: 20133,
              35046: 22495,
              35047: 32946,
              35048: 37057,
              35049: 30959,
              35050: 19968,
              35051: 22769,
              35052: 28322,
              35053: 36920,
              35054: 31282,
              35055: 33576,
              35056: 33419,
              35057: 39983,
              35058: 20801,
              35059: 21360,
              35060: 21693,
              35061: 21729,
              35062: 22240,
              35063: 23035,
              35064: 24341,
              35065: 39154,
              35066: 28139,
              35067: 32996,
              35068: 34093,
              35136: 38498,
              35137: 38512,
              35138: 38560,
              35139: 38907,
              35140: 21515,
              35141: 21491,
              35142: 23431,
              35143: 28879,
              35144: 32701,
              35145: 36802,
              35146: 38632,
              35147: 21359,
              35148: 40284,
              35149: 31418,
              35150: 19985,
              35151: 30867,
              35152: 33276,
              35153: 28198,
              35154: 22040,
              35155: 21764,
              35156: 27421,
              35157: 34074,
              35158: 39995,
              35159: 23013,
              35160: 21417,
              35161: 28006,
              35162: 29916,
              35163: 38287,
              35164: 22082,
              35165: 20113,
              35166: 36939,
              35167: 38642,
              35168: 33615,
              35169: 39180,
              35170: 21473,
              35171: 21942,
              35172: 23344,
              35173: 24433,
              35174: 26144,
              35175: 26355,
              35176: 26628,
              35177: 27704,
              35178: 27891,
              35179: 27945,
              35180: 29787,
              35181: 30408,
              35182: 31310,
              35183: 38964,
              35184: 33521,
              35185: 34907,
              35186: 35424,
              35187: 37613,
              35188: 28082,
              35189: 30123,
              35190: 30410,
              35191: 39365,
              35192: 24742,
              35193: 35585,
              35194: 36234,
              35195: 38322,
              35196: 27022,
              35197: 21421,
              35198: 20870,
              35200: 22290,
              35201: 22576,
              35202: 22852,
              35203: 23476,
              35204: 24310,
              35205: 24616,
              35206: 25513,
              35207: 25588,
              35208: 27839,
              35209: 28436,
              35210: 28814,
              35211: 28948,
              35212: 29017,
              35213: 29141,
              35214: 29503,
              35215: 32257,
              35216: 33398,
              35217: 33489,
              35218: 34199,
              35219: 36960,
              35220: 37467,
              35221: 40219,
              35222: 22633,
              35223: 26044,
              35224: 27738,
              35225: 29989,
              35226: 20985,
              35227: 22830,
              35228: 22885,
              35229: 24448,
              35230: 24540,
              35231: 25276,
              35232: 26106,
              35233: 27178,
              35234: 27431,
              35235: 27572,
              35236: 29579,
              35237: 32705,
              35238: 35158,
              35239: 40236,
              35240: 40206,
              35241: 40644,
              35242: 23713,
              35243: 27798,
              35244: 33659,
              35245: 20740,
              35246: 23627,
              35247: 25014,
              35248: 33222,
              35249: 26742,
              35250: 29281,
              35251: 20057,
              35252: 20474,
              35253: 21368,
              35254: 24681,
              35255: 28201,
              35256: 31311,
              35257: 38899,
              35258: 19979,
              35259: 21270,
              35260: 20206,
              35261: 20309,
              35262: 20285,
              35263: 20385,
              35264: 20339,
              35265: 21152,
              35266: 21487,
              35267: 22025,
              35268: 22799,
              35269: 23233,
              35270: 23478,
              35271: 23521,
              35272: 31185,
              35273: 26247,
              35274: 26524,
              35275: 26550,
              35276: 27468,
              35277: 27827,
              35278: 28779,
              35279: 29634,
              35280: 31117,
              35281: 31166,
              35282: 31292,
              35283: 31623,
              35284: 33457,
              35285: 33499,
              35286: 33540,
              35287: 33655,
              35288: 33775,
              35289: 33747,
              35290: 34662,
              35291: 35506,
              35292: 22057,
              35293: 36008,
              35294: 36838,
              35295: 36942,
              35296: 38686,
              35297: 34442,
              35298: 20420,
              35299: 23784,
              35300: 25105,
              35301: 29273,
              35302: 30011,
              35303: 33253,
              35304: 33469,
              35305: 34558,
              35306: 36032,
              35307: 38597,
              35308: 39187,
              35309: 39381,
              35310: 20171,
              35311: 20250,
              35312: 35299,
              35313: 22238,
              35314: 22602,
              35315: 22730,
              35316: 24315,
              35317: 24555,
              35318: 24618,
              35319: 24724,
              35320: 24674,
              35321: 25040,
              35322: 25106,
              35323: 25296,
              35324: 25913,
              35392: 39745,
              35393: 26214,
              35394: 26800,
              35395: 28023,
              35396: 28784,
              35397: 30028,
              35398: 30342,
              35399: 32117,
              35400: 33445,
              35401: 34809,
              35402: 38283,
              35403: 38542,
              35404: 35997,
              35405: 20977,
              35406: 21182,
              35407: 22806,
              35408: 21683,
              35409: 23475,
              35410: 23830,
              35411: 24936,
              35412: 27010,
              35413: 28079,
              35414: 30861,
              35415: 33995,
              35416: 34903,
              35417: 35442,
              35418: 37799,
              35419: 39608,
              35420: 28012,
              35421: 39336,
              35422: 34521,
              35423: 22435,
              35424: 26623,
              35425: 34510,
              35426: 37390,
              35427: 21123,
              35428: 22151,
              35429: 21508,
              35430: 24275,
              35431: 25313,
              35432: 25785,
              35433: 26684,
              35434: 26680,
              35435: 27579,
              35436: 29554,
              35437: 30906,
              35438: 31339,
              35439: 35226,
              35440: 35282,
              35441: 36203,
              35442: 36611,
              35443: 37101,
              35444: 38307,
              35445: 38548,
              35446: 38761,
              35447: 23398,
              35448: 23731,
              35449: 27005,
              35450: 38989,
              35451: 38990,
              35452: 25499,
              35453: 31520,
              35454: 27179,
              35456: 27263,
              35457: 26806,
              35458: 39949,
              35459: 28511,
              35460: 21106,
              35461: 21917,
              35462: 24688,
              35463: 25324,
              35464: 27963,
              35465: 28167,
              35466: 28369,
              35467: 33883,
              35468: 35088,
              35469: 36676,
              35470: 19988,
              35471: 39993,
              35472: 21494,
              35473: 26907,
              35474: 27194,
              35475: 38788,
              35476: 26666,
              35477: 20828,
              35478: 31427,
              35479: 33970,
              35480: 37340,
              35481: 37772,
              35482: 22107,
              35483: 40232,
              35484: 26658,
              35485: 33541,
              35486: 33841,
              35487: 31909,
              35488: 21e3,
              35489: 33477,
              35490: 29926,
              35491: 20094,
              35492: 20355,
              35493: 20896,
              35494: 23506,
              35495: 21002,
              35496: 21208,
              35497: 21223,
              35498: 24059,
              35499: 21914,
              35500: 22570,
              35501: 23014,
              35502: 23436,
              35503: 23448,
              35504: 23515,
              35505: 24178,
              35506: 24185,
              35507: 24739,
              35508: 24863,
              35509: 24931,
              35510: 25022,
              35511: 25563,
              35512: 25954,
              35513: 26577,
              35514: 26707,
              35515: 26874,
              35516: 27454,
              35517: 27475,
              35518: 27735,
              35519: 28450,
              35520: 28567,
              35521: 28485,
              35522: 29872,
              35523: 29976,
              35524: 30435,
              35525: 30475,
              35526: 31487,
              35527: 31649,
              35528: 31777,
              35529: 32233,
              35530: 32566,
              35531: 32752,
              35532: 32925,
              35533: 33382,
              35534: 33694,
              35535: 35251,
              35536: 35532,
              35537: 36011,
              35538: 36996,
              35539: 37969,
              35540: 38291,
              35541: 38289,
              35542: 38306,
              35543: 38501,
              35544: 38867,
              35545: 39208,
              35546: 33304,
              35547: 20024,
              35548: 21547,
              35549: 23736,
              35550: 24012,
              35551: 29609,
              35552: 30284,
              35553: 30524,
              35554: 23721,
              35555: 32747,
              35556: 36107,
              35557: 38593,
              35558: 38929,
              35559: 38996,
              35560: 39e3,
              35561: 20225,
              35562: 20238,
              35563: 21361,
              35564: 21916,
              35565: 22120,
              35566: 22522,
              35567: 22855,
              35568: 23305,
              35569: 23492,
              35570: 23696,
              35571: 24076,
              35572: 24190,
              35573: 24524,
              35574: 25582,
              35575: 26426,
              35576: 26071,
              35577: 26082,
              35578: 26399,
              35579: 26827,
              35580: 26820,
              35648: 27231,
              35649: 24112,
              35650: 27589,
              35651: 27671,
              35652: 27773,
              35653: 30079,
              35654: 31048,
              35655: 23395,
              35656: 31232,
              35657: 32e3,
              35658: 24509,
              35659: 35215,
              35660: 35352,
              35661: 36020,
              35662: 36215,
              35663: 36556,
              35664: 36637,
              35665: 39138,
              35666: 39438,
              35667: 39740,
              35668: 20096,
              35669: 20605,
              35670: 20736,
              35671: 22931,
              35672: 23452,
              35673: 25135,
              35674: 25216,
              35675: 25836,
              35676: 27450,
              35677: 29344,
              35678: 30097,
              35679: 31047,
              35680: 32681,
              35681: 34811,
              35682: 35516,
              35683: 35696,
              35684: 25516,
              35685: 33738,
              35686: 38816,
              35687: 21513,
              35688: 21507,
              35689: 21931,
              35690: 26708,
              35691: 27224,
              35692: 35440,
              35693: 30759,
              35694: 26485,
              35695: 40653,
              35696: 21364,
              35697: 23458,
              35698: 33050,
              35699: 34384,
              35700: 36870,
              35701: 19992,
              35702: 20037,
              35703: 20167,
              35704: 20241,
              35705: 21450,
              35706: 21560,
              35707: 23470,
              35708: 24339,
              35709: 24613,
              35710: 25937,
              35712: 26429,
              35713: 27714,
              35714: 27762,
              35715: 27875,
              35716: 28792,
              35717: 29699,
              35718: 31350,
              35719: 31406,
              35720: 31496,
              35721: 32026,
              35722: 31998,
              35723: 32102,
              35724: 26087,
              35725: 29275,
              35726: 21435,
              35727: 23621,
              35728: 24040,
              35729: 25298,
              35730: 25312,
              35731: 25369,
              35732: 28192,
              35733: 34394,
              35734: 35377,
              35735: 36317,
              35736: 37624,
              35737: 28417,
              35738: 31142,
              35739: 39770,
              35740: 20136,
              35741: 20139,
              35742: 20140,
              35743: 20379,
              35744: 20384,
              35745: 20689,
              35746: 20807,
              35747: 31478,
              35748: 20849,
              35749: 20982,
              35750: 21332,
              35751: 21281,
              35752: 21375,
              35753: 21483,
              35754: 21932,
              35755: 22659,
              35756: 23777,
              35757: 24375,
              35758: 24394,
              35759: 24623,
              35760: 24656,
              35761: 24685,
              35762: 25375,
              35763: 25945,
              35764: 27211,
              35765: 27841,
              35766: 29378,
              35767: 29421,
              35768: 30703,
              35769: 33016,
              35770: 33029,
              35771: 33288,
              35772: 34126,
              35773: 37111,
              35774: 37857,
              35775: 38911,
              35776: 39255,
              35777: 39514,
              35778: 20208,
              35779: 20957,
              35780: 23597,
              35781: 26241,
              35782: 26989,
              35783: 23616,
              35784: 26354,
              35785: 26997,
              35786: 29577,
              35787: 26704,
              35788: 31873,
              35789: 20677,
              35790: 21220,
              35791: 22343,
              35792: 24062,
              35793: 37670,
              35794: 26020,
              35795: 27427,
              35796: 27453,
              35797: 29748,
              35798: 31105,
              35799: 31165,
              35800: 31563,
              35801: 32202,
              35802: 33465,
              35803: 33740,
              35804: 34943,
              35805: 35167,
              35806: 35641,
              35807: 36817,
              35808: 37329,
              35809: 21535,
              35810: 37504,
              35811: 20061,
              35812: 20534,
              35813: 21477,
              35814: 21306,
              35815: 29399,
              35816: 29590,
              35817: 30697,
              35818: 33510,
              35819: 36527,
              35820: 39366,
              35821: 39368,
              35822: 39378,
              35823: 20855,
              35824: 24858,
              35825: 34398,
              35826: 21936,
              35827: 31354,
              35828: 20598,
              35829: 23507,
              35830: 36935,
              35831: 38533,
              35832: 20018,
              35833: 27355,
              35834: 37351,
              35835: 23633,
              35836: 23624,
              35904: 25496,
              35905: 31391,
              35906: 27795,
              35907: 38772,
              35908: 36705,
              35909: 31402,
              35910: 29066,
              35911: 38536,
              35912: 31874,
              35913: 26647,
              35914: 32368,
              35915: 26705,
              35916: 37740,
              35917: 21234,
              35918: 21531,
              35919: 34219,
              35920: 35347,
              35921: 32676,
              35922: 36557,
              35923: 37089,
              35924: 21350,
              35925: 34952,
              35926: 31041,
              35927: 20418,
              35928: 20670,
              35929: 21009,
              35930: 20804,
              35931: 21843,
              35932: 22317,
              35933: 29674,
              35934: 22411,
              35935: 22865,
              35936: 24418,
              35937: 24452,
              35938: 24693,
              35939: 24950,
              35940: 24935,
              35941: 25001,
              35942: 25522,
              35943: 25658,
              35944: 25964,
              35945: 26223,
              35946: 26690,
              35947: 28179,
              35948: 30054,
              35949: 31293,
              35950: 31995,
              35951: 32076,
              35952: 32153,
              35953: 32331,
              35954: 32619,
              35955: 33550,
              35956: 33610,
              35957: 34509,
              35958: 35336,
              35959: 35427,
              35960: 35686,
              35961: 36605,
              35962: 38938,
              35963: 40335,
              35964: 33464,
              35965: 36814,
              35966: 39912,
              35968: 21127,
              35969: 25119,
              35970: 25731,
              35971: 28608,
              35972: 38553,
              35973: 26689,
              35974: 20625,
              35975: 27424,
              35976: 27770,
              35977: 28500,
              35978: 31348,
              35979: 32080,
              35980: 34880,
              35981: 35363,
              35982: 26376,
              35983: 20214,
              35984: 20537,
              35985: 20518,
              35986: 20581,
              35987: 20860,
              35988: 21048,
              35989: 21091,
              35990: 21927,
              35991: 22287,
              35992: 22533,
              35993: 23244,
              35994: 24314,
              35995: 25010,
              35996: 25080,
              35997: 25331,
              35998: 25458,
              35999: 26908,
              36e3: 27177,
              36001: 29309,
              36002: 29356,
              36003: 29486,
              36004: 30740,
              36005: 30831,
              36006: 32121,
              36007: 30476,
              36008: 32937,
              36009: 35211,
              36010: 35609,
              36011: 36066,
              36012: 36562,
              36013: 36963,
              36014: 37749,
              36015: 38522,
              36016: 38997,
              36017: 39443,
              36018: 40568,
              36019: 20803,
              36020: 21407,
              36021: 21427,
              36022: 24187,
              36023: 24358,
              36024: 28187,
              36025: 28304,
              36026: 29572,
              36027: 29694,
              36028: 32067,
              36029: 33335,
              36030: 35328,
              36031: 35578,
              36032: 38480,
              36033: 20046,
              36034: 20491,
              36035: 21476,
              36036: 21628,
              36037: 22266,
              36038: 22993,
              36039: 23396,
              36040: 24049,
              36041: 24235,
              36042: 24359,
              36043: 25144,
              36044: 25925,
              36045: 26543,
              36046: 28246,
              36047: 29392,
              36048: 31946,
              36049: 34996,
              36050: 32929,
              36051: 32993,
              36052: 33776,
              36053: 34382,
              36054: 35463,
              36055: 36328,
              36056: 37431,
              36057: 38599,
              36058: 39015,
              36059: 40723,
              36060: 20116,
              36061: 20114,
              36062: 20237,
              36063: 21320,
              36064: 21577,
              36065: 21566,
              36066: 23087,
              36067: 24460,
              36068: 24481,
              36069: 24735,
              36070: 26791,
              36071: 27278,
              36072: 29786,
              36073: 30849,
              36074: 35486,
              36075: 35492,
              36076: 35703,
              36077: 37264,
              36078: 20062,
              36079: 39881,
              36080: 20132,
              36081: 20348,
              36082: 20399,
              36083: 20505,
              36084: 20502,
              36085: 20809,
              36086: 20844,
              36087: 21151,
              36088: 21177,
              36089: 21246,
              36090: 21402,
              36091: 21475,
              36092: 21521,
              36160: 21518,
              36161: 21897,
              36162: 22353,
              36163: 22434,
              36164: 22909,
              36165: 23380,
              36166: 23389,
              36167: 23439,
              36168: 24037,
              36169: 24039,
              36170: 24055,
              36171: 24184,
              36172: 24195,
              36173: 24218,
              36174: 24247,
              36175: 24344,
              36176: 24658,
              36177: 24908,
              36178: 25239,
              36179: 25304,
              36180: 25511,
              36181: 25915,
              36182: 26114,
              36183: 26179,
              36184: 26356,
              36185: 26477,
              36186: 26657,
              36187: 26775,
              36188: 27083,
              36189: 27743,
              36190: 27946,
              36191: 28009,
              36192: 28207,
              36193: 28317,
              36194: 30002,
              36195: 30343,
              36196: 30828,
              36197: 31295,
              36198: 31968,
              36199: 32005,
              36200: 32024,
              36201: 32094,
              36202: 32177,
              36203: 32789,
              36204: 32771,
              36205: 32943,
              36206: 32945,
              36207: 33108,
              36208: 33167,
              36209: 33322,
              36210: 33618,
              36211: 34892,
              36212: 34913,
              36213: 35611,
              36214: 36002,
              36215: 36092,
              36216: 37066,
              36217: 37237,
              36218: 37489,
              36219: 30783,
              36220: 37628,
              36221: 38308,
              36222: 38477,
              36224: 38917,
              36225: 39321,
              36226: 39640,
              36227: 40251,
              36228: 21083,
              36229: 21163,
              36230: 21495,
              36231: 21512,
              36232: 22741,
              36233: 25335,
              36234: 28640,
              36235: 35946,
              36236: 36703,
              36237: 40633,
              36238: 20811,
              36239: 21051,
              36240: 21578,
              36241: 22269,
              36242: 31296,
              36243: 37239,
              36244: 40288,
              36245: 40658,
              36246: 29508,
              36247: 28425,
              36248: 33136,
              36249: 29969,
              36250: 24573,
              36251: 24794,
              36252: 39592,
              36253: 29403,
              36254: 36796,
              36255: 27492,
              36256: 38915,
              36257: 20170,
              36258: 22256,
              36259: 22372,
              36260: 22718,
              36261: 23130,
              36262: 24680,
              36263: 25031,
              36264: 26127,
              36265: 26118,
              36266: 26681,
              36267: 26801,
              36268: 28151,
              36269: 30165,
              36270: 32058,
              36271: 33390,
              36272: 39746,
              36273: 20123,
              36274: 20304,
              36275: 21449,
              36276: 21766,
              36277: 23919,
              36278: 24038,
              36279: 24046,
              36280: 26619,
              36281: 27801,
              36282: 29811,
              36283: 30722,
              36284: 35408,
              36285: 37782,
              36286: 35039,
              36287: 22352,
              36288: 24231,
              36289: 25387,
              36290: 20661,
              36291: 20652,
              36292: 20877,
              36293: 26368,
              36294: 21705,
              36295: 22622,
              36296: 22971,
              36297: 23472,
              36298: 24425,
              36299: 25165,
              36300: 25505,
              36301: 26685,
              36302: 27507,
              36303: 28168,
              36304: 28797,
              36305: 37319,
              36306: 29312,
              36307: 30741,
              36308: 30758,
              36309: 31085,
              36310: 25998,
              36311: 32048,
              36312: 33756,
              36313: 35009,
              36314: 36617,
              36315: 38555,
              36316: 21092,
              36317: 22312,
              36318: 26448,
              36319: 32618,
              36320: 36001,
              36321: 20916,
              36322: 22338,
              36323: 38442,
              36324: 22586,
              36325: 27018,
              36326: 32948,
              36327: 21682,
              36328: 23822,
              36329: 22524,
              36330: 30869,
              36331: 40442,
              36332: 20316,
              36333: 21066,
              36334: 21643,
              36335: 25662,
              36336: 26152,
              36337: 26388,
              36338: 26613,
              36339: 31364,
              36340: 31574,
              36341: 32034,
              36342: 37679,
              36343: 26716,
              36344: 39853,
              36345: 31545,
              36346: 21273,
              36347: 20874,
              36348: 21047,
              36416: 23519,
              36417: 25334,
              36418: 25774,
              36419: 25830,
              36420: 26413,
              36421: 27578,
              36422: 34217,
              36423: 38609,
              36424: 30352,
              36425: 39894,
              36426: 25420,
              36427: 37638,
              36428: 39851,
              36429: 30399,
              36430: 26194,
              36431: 19977,
              36432: 20632,
              36433: 21442,
              36434: 23665,
              36435: 24808,
              36436: 25746,
              36437: 25955,
              36438: 26719,
              36439: 29158,
              36440: 29642,
              36441: 29987,
              36442: 31639,
              36443: 32386,
              36444: 34453,
              36445: 35715,
              36446: 36059,
              36447: 37240,
              36448: 39184,
              36449: 26028,
              36450: 26283,
              36451: 27531,
              36452: 20181,
              36453: 20180,
              36454: 20282,
              36455: 20351,
              36456: 21050,
              36457: 21496,
              36458: 21490,
              36459: 21987,
              36460: 22235,
              36461: 22763,
              36462: 22987,
              36463: 22985,
              36464: 23039,
              36465: 23376,
              36466: 23629,
              36467: 24066,
              36468: 24107,
              36469: 24535,
              36470: 24605,
              36471: 25351,
              36472: 25903,
              36473: 23388,
              36474: 26031,
              36475: 26045,
              36476: 26088,
              36477: 26525,
              36478: 27490,
              36480: 27515,
              36481: 27663,
              36482: 29509,
              36483: 31049,
              36484: 31169,
              36485: 31992,
              36486: 32025,
              36487: 32043,
              36488: 32930,
              36489: 33026,
              36490: 33267,
              36491: 35222,
              36492: 35422,
              36493: 35433,
              36494: 35430,
              36495: 35468,
              36496: 35566,
              36497: 36039,
              36498: 36060,
              36499: 38604,
              36500: 39164,
              36501: 27503,
              36502: 20107,
              36503: 20284,
              36504: 20365,
              36505: 20816,
              36506: 23383,
              36507: 23546,
              36508: 24904,
              36509: 25345,
              36510: 26178,
              36511: 27425,
              36512: 28363,
              36513: 27835,
              36514: 29246,
              36515: 29885,
              36516: 30164,
              36517: 30913,
              36518: 31034,
              36519: 32780,
              36520: 32819,
              36521: 33258,
              36522: 33940,
              36523: 36766,
              36524: 27728,
              36525: 40575,
              36526: 24335,
              36527: 35672,
              36528: 40235,
              36529: 31482,
              36530: 36600,
              36531: 23437,
              36532: 38635,
              36533: 19971,
              36534: 21489,
              36535: 22519,
              36536: 22833,
              36537: 23241,
              36538: 23460,
              36539: 24713,
              36540: 28287,
              36541: 28422,
              36542: 30142,
              36543: 36074,
              36544: 23455,
              36545: 34048,
              36546: 31712,
              36547: 20594,
              36548: 26612,
              36549: 33437,
              36550: 23649,
              36551: 34122,
              36552: 32286,
              36553: 33294,
              36554: 20889,
              36555: 23556,
              36556: 25448,
              36557: 36198,
              36558: 26012,
              36559: 29038,
              36560: 31038,
              36561: 32023,
              36562: 32773,
              36563: 35613,
              36564: 36554,
              36565: 36974,
              36566: 34503,
              36567: 37034,
              36568: 20511,
              36569: 21242,
              36570: 23610,
              36571: 26451,
              36572: 28796,
              36573: 29237,
              36574: 37196,
              36575: 37320,
              36576: 37675,
              36577: 33509,
              36578: 23490,
              36579: 24369,
              36580: 24825,
              36581: 20027,
              36582: 21462,
              36583: 23432,
              36584: 25163,
              36585: 26417,
              36586: 27530,
              36587: 29417,
              36588: 29664,
              36589: 31278,
              36590: 33131,
              36591: 36259,
              36592: 37202,
              36593: 39318,
              36594: 20754,
              36595: 21463,
              36596: 21610,
              36597: 23551,
              36598: 25480,
              36599: 27193,
              36600: 32172,
              36601: 38656,
              36602: 22234,
              36603: 21454,
              36604: 21608,
              36672: 23447,
              36673: 23601,
              36674: 24030,
              36675: 20462,
              36676: 24833,
              36677: 25342,
              36678: 27954,
              36679: 31168,
              36680: 31179,
              36681: 32066,
              36682: 32333,
              36683: 32722,
              36684: 33261,
              36685: 33311,
              36686: 33936,
              36687: 34886,
              36688: 35186,
              36689: 35728,
              36690: 36468,
              36691: 36655,
              36692: 36913,
              36693: 37195,
              36694: 37228,
              36695: 38598,
              36696: 37276,
              36697: 20160,
              36698: 20303,
              36699: 20805,
              36700: 21313,
              36701: 24467,
              36702: 25102,
              36703: 26580,
              36704: 27713,
              36705: 28171,
              36706: 29539,
              36707: 32294,
              36708: 37325,
              36709: 37507,
              36710: 21460,
              36711: 22809,
              36712: 23487,
              36713: 28113,
              36714: 31069,
              36715: 32302,
              36716: 31899,
              36717: 22654,
              36718: 29087,
              36719: 20986,
              36720: 34899,
              36721: 36848,
              36722: 20426,
              36723: 23803,
              36724: 26149,
              36725: 30636,
              36726: 31459,
              36727: 33308,
              36728: 39423,
              36729: 20934,
              36730: 24490,
              36731: 26092,
              36732: 26991,
              36733: 27529,
              36734: 28147,
              36736: 28310,
              36737: 28516,
              36738: 30462,
              36739: 32020,
              36740: 24033,
              36741: 36981,
              36742: 37255,
              36743: 38918,
              36744: 20966,
              36745: 21021,
              36746: 25152,
              36747: 26257,
              36748: 26329,
              36749: 28186,
              36750: 24246,
              36751: 32210,
              36752: 32626,
              36753: 26360,
              36754: 34223,
              36755: 34295,
              36756: 35576,
              36757: 21161,
              36758: 21465,
              36759: 22899,
              36760: 24207,
              36761: 24464,
              36762: 24661,
              36763: 37604,
              36764: 38500,
              36765: 20663,
              36766: 20767,
              36767: 21213,
              36768: 21280,
              36769: 21319,
              36770: 21484,
              36771: 21736,
              36772: 21830,
              36773: 21809,
              36774: 22039,
              36775: 22888,
              36776: 22974,
              36777: 23100,
              36778: 23477,
              36779: 23558,
              36780: 23567,
              36781: 23569,
              36782: 23578,
              36783: 24196,
              36784: 24202,
              36785: 24288,
              36786: 24432,
              36787: 25215,
              36788: 25220,
              36789: 25307,
              36790: 25484,
              36791: 25463,
              36792: 26119,
              36793: 26124,
              36794: 26157,
              36795: 26230,
              36796: 26494,
              36797: 26786,
              36798: 27167,
              36799: 27189,
              36800: 27836,
              36801: 28040,
              36802: 28169,
              36803: 28248,
              36804: 28988,
              36805: 28966,
              36806: 29031,
              36807: 30151,
              36808: 30465,
              36809: 30813,
              36810: 30977,
              36811: 31077,
              36812: 31216,
              36813: 31456,
              36814: 31505,
              36815: 31911,
              36816: 32057,
              36817: 32918,
              36818: 33750,
              36819: 33931,
              36820: 34121,
              36821: 34909,
              36822: 35059,
              36823: 35359,
              36824: 35388,
              36825: 35412,
              36826: 35443,
              36827: 35937,
              36828: 36062,
              36829: 37284,
              36830: 37478,
              36831: 37758,
              36832: 37912,
              36833: 38556,
              36834: 38808,
              36835: 19978,
              36836: 19976,
              36837: 19998,
              36838: 20055,
              36839: 20887,
              36840: 21104,
              36841: 22478,
              36842: 22580,
              36843: 22732,
              36844: 23330,
              36845: 24120,
              36846: 24773,
              36847: 25854,
              36848: 26465,
              36849: 26454,
              36850: 27972,
              36851: 29366,
              36852: 30067,
              36853: 31331,
              36854: 33976,
              36855: 35698,
              36856: 37304,
              36857: 37664,
              36858: 22065,
              36859: 22516,
              36860: 39166,
              36928: 25325,
              36929: 26893,
              36930: 27542,
              36931: 29165,
              36932: 32340,
              36933: 32887,
              36934: 33394,
              36935: 35302,
              36936: 39135,
              36937: 34645,
              36938: 36785,
              36939: 23611,
              36940: 20280,
              36941: 20449,
              36942: 20405,
              36943: 21767,
              36944: 23072,
              36945: 23517,
              36946: 23529,
              36947: 24515,
              36948: 24910,
              36949: 25391,
              36950: 26032,
              36951: 26187,
              36952: 26862,
              36953: 27035,
              36954: 28024,
              36955: 28145,
              36956: 30003,
              36957: 30137,
              36958: 30495,
              36959: 31070,
              36960: 31206,
              36961: 32051,
              36962: 33251,
              36963: 33455,
              36964: 34218,
              36965: 35242,
              36966: 35386,
              36967: 36523,
              36968: 36763,
              36969: 36914,
              36970: 37341,
              36971: 38663,
              36972: 20154,
              36973: 20161,
              36974: 20995,
              36975: 22645,
              36976: 22764,
              36977: 23563,
              36978: 29978,
              36979: 23613,
              36980: 33102,
              36981: 35338,
              36982: 36805,
              36983: 38499,
              36984: 38765,
              36985: 31525,
              36986: 35535,
              36987: 38920,
              36988: 37218,
              36989: 22259,
              36990: 21416,
              36992: 36887,
              36993: 21561,
              36994: 22402,
              36995: 24101,
              36996: 25512,
              36997: 27700,
              36998: 28810,
              36999: 30561,
              37e3: 31883,
              37001: 32736,
              37002: 34928,
              37003: 36930,
              37004: 37204,
              37005: 37648,
              37006: 37656,
              37007: 38543,
              37008: 29790,
              37009: 39620,
              37010: 23815,
              37011: 23913,
              37012: 25968,
              37013: 26530,
              37014: 36264,
              37015: 38619,
              37016: 25454,
              37017: 26441,
              37018: 26905,
              37019: 33733,
              37020: 38935,
              37021: 38592,
              37022: 35070,
              37023: 28548,
              37024: 25722,
              37025: 23544,
              37026: 19990,
              37027: 28716,
              37028: 30045,
              37029: 26159,
              37030: 20932,
              37031: 21046,
              37032: 21218,
              37033: 22995,
              37034: 24449,
              37035: 24615,
              37036: 25104,
              37037: 25919,
              37038: 25972,
              37039: 26143,
              37040: 26228,
              37041: 26866,
              37042: 26646,
              37043: 27491,
              37044: 28165,
              37045: 29298,
              37046: 29983,
              37047: 30427,
              37048: 31934,
              37049: 32854,
              37050: 22768,
              37051: 35069,
              37052: 35199,
              37053: 35488,
              37054: 35475,
              37055: 35531,
              37056: 36893,
              37057: 37266,
              37058: 38738,
              37059: 38745,
              37060: 25993,
              37061: 31246,
              37062: 33030,
              37063: 38587,
              37064: 24109,
              37065: 24796,
              37066: 25114,
              37067: 26021,
              37068: 26132,
              37069: 26512,
              37070: 30707,
              37071: 31309,
              37072: 31821,
              37073: 32318,
              37074: 33034,
              37075: 36012,
              37076: 36196,
              37077: 36321,
              37078: 36447,
              37079: 30889,
              37080: 20999,
              37081: 25305,
              37082: 25509,
              37083: 25666,
              37084: 25240,
              37085: 35373,
              37086: 31363,
              37087: 31680,
              37088: 35500,
              37089: 38634,
              37090: 32118,
              37091: 33292,
              37092: 34633,
              37093: 20185,
              37094: 20808,
              37095: 21315,
              37096: 21344,
              37097: 23459,
              37098: 23554,
              37099: 23574,
              37100: 24029,
              37101: 25126,
              37102: 25159,
              37103: 25776,
              37104: 26643,
              37105: 26676,
              37106: 27849,
              37107: 27973,
              37108: 27927,
              37109: 26579,
              37110: 28508,
              37111: 29006,
              37112: 29053,
              37113: 26059,
              37114: 31359,
              37115: 31661,
              37116: 32218,
              37184: 32330,
              37185: 32680,
              37186: 33146,
              37187: 33307,
              37188: 33337,
              37189: 34214,
              37190: 35438,
              37191: 36046,
              37192: 36341,
              37193: 36984,
              37194: 36983,
              37195: 37549,
              37196: 37521,
              37197: 38275,
              37198: 39854,
              37199: 21069,
              37200: 21892,
              37201: 28472,
              37202: 28982,
              37203: 20840,
              37204: 31109,
              37205: 32341,
              37206: 33203,
              37207: 31950,
              37208: 22092,
              37209: 22609,
              37210: 23720,
              37211: 25514,
              37212: 26366,
              37213: 26365,
              37214: 26970,
              37215: 29401,
              37216: 30095,
              37217: 30094,
              37218: 30990,
              37219: 31062,
              37220: 31199,
              37221: 31895,
              37222: 32032,
              37223: 32068,
              37224: 34311,
              37225: 35380,
              37226: 38459,
              37227: 36961,
              37228: 40736,
              37229: 20711,
              37230: 21109,
              37231: 21452,
              37232: 21474,
              37233: 20489,
              37234: 21930,
              37235: 22766,
              37236: 22863,
              37237: 29245,
              37238: 23435,
              37239: 23652,
              37240: 21277,
              37241: 24803,
              37242: 24819,
              37243: 25436,
              37244: 25475,
              37245: 25407,
              37246: 25531,
              37248: 25805,
              37249: 26089,
              37250: 26361,
              37251: 24035,
              37252: 27085,
              37253: 27133,
              37254: 28437,
              37255: 29157,
              37256: 20105,
              37257: 30185,
              37258: 30456,
              37259: 31379,
              37260: 31967,
              37261: 32207,
              37262: 32156,
              37263: 32865,
              37264: 33609,
              37265: 33624,
              37266: 33900,
              37267: 33980,
              37268: 34299,
              37269: 35013,
              37270: 36208,
              37271: 36865,
              37272: 36973,
              37273: 37783,
              37274: 38684,
              37275: 39442,
              37276: 20687,
              37277: 22679,
              37278: 24974,
              37279: 33235,
              37280: 34101,
              37281: 36104,
              37282: 36896,
              37283: 20419,
              37284: 20596,
              37285: 21063,
              37286: 21363,
              37287: 24687,
              37288: 25417,
              37289: 26463,
              37290: 28204,
              37291: 36275,
              37292: 36895,
              37293: 20439,
              37294: 23646,
              37295: 36042,
              37296: 26063,
              37297: 32154,
              37298: 21330,
              37299: 34966,
              37300: 20854,
              37301: 25539,
              37302: 23384,
              37303: 23403,
              37304: 23562,
              37305: 25613,
              37306: 26449,
              37307: 36956,
              37308: 20182,
              37309: 22810,
              37310: 22826,
              37311: 27760,
              37312: 35409,
              37313: 21822,
              37314: 22549,
              37315: 22949,
              37316: 24816,
              37317: 25171,
              37318: 26561,
              37319: 33333,
              37320: 26965,
              37321: 38464,
              37322: 39364,
              37323: 39464,
              37324: 20307,
              37325: 22534,
              37326: 23550,
              37327: 32784,
              37328: 23729,
              37329: 24111,
              37330: 24453,
              37331: 24608,
              37332: 24907,
              37333: 25140,
              37334: 26367,
              37335: 27888,
              37336: 28382,
              37337: 32974,
              37338: 33151,
              37339: 33492,
              37340: 34955,
              37341: 36024,
              37342: 36864,
              37343: 36910,
              37344: 38538,
              37345: 40667,
              37346: 39899,
              37347: 20195,
              37348: 21488,
              37349: 22823,
              37350: 31532,
              37351: 37261,
              37352: 38988,
              37353: 40441,
              37354: 28381,
              37355: 28711,
              37356: 21331,
              37357: 21828,
              37358: 23429,
              37359: 25176,
              37360: 25246,
              37361: 25299,
              37362: 27810,
              37363: 28655,
              37364: 29730,
              37365: 35351,
              37366: 37944,
              37367: 28609,
              37368: 35582,
              37369: 33592,
              37370: 20967,
              37371: 34552,
              37372: 21482,
              37440: 21481,
              37441: 20294,
              37442: 36948,
              37443: 36784,
              37444: 22890,
              37445: 33073,
              37446: 24061,
              37447: 31466,
              37448: 36799,
              37449: 26842,
              37450: 35895,
              37451: 29432,
              37452: 40008,
              37453: 27197,
              37454: 35504,
              37455: 20025,
              37456: 21336,
              37457: 22022,
              37458: 22374,
              37459: 25285,
              37460: 25506,
              37461: 26086,
              37462: 27470,
              37463: 28129,
              37464: 28251,
              37465: 28845,
              37466: 30701,
              37467: 31471,
              37468: 31658,
              37469: 32187,
              37470: 32829,
              37471: 32966,
              37472: 34507,
              37473: 35477,
              37474: 37723,
              37475: 22243,
              37476: 22727,
              37477: 24382,
              37478: 26029,
              37479: 26262,
              37480: 27264,
              37481: 27573,
              37482: 30007,
              37483: 35527,
              37484: 20516,
              37485: 30693,
              37486: 22320,
              37487: 24347,
              37488: 24677,
              37489: 26234,
              37490: 27744,
              37491: 30196,
              37492: 31258,
              37493: 32622,
              37494: 33268,
              37495: 34584,
              37496: 36933,
              37497: 39347,
              37498: 31689,
              37499: 30044,
              37500: 31481,
              37501: 31569,
              37502: 33988,
              37504: 36880,
              37505: 31209,
              37506: 31378,
              37507: 33590,
              37508: 23265,
              37509: 30528,
              37510: 20013,
              37511: 20210,
              37512: 23449,
              37513: 24544,
              37514: 25277,
              37515: 26172,
              37516: 26609,
              37517: 27880,
              37518: 34411,
              37519: 34935,
              37520: 35387,
              37521: 37198,
              37522: 37619,
              37523: 39376,
              37524: 27159,
              37525: 28710,
              37526: 29482,
              37527: 33511,
              37528: 33879,
              37529: 36015,
              37530: 19969,
              37531: 20806,
              37532: 20939,
              37533: 21899,
              37534: 23541,
              37535: 24086,
              37536: 24115,
              37537: 24193,
              37538: 24340,
              37539: 24373,
              37540: 24427,
              37541: 24500,
              37542: 25074,
              37543: 25361,
              37544: 26274,
              37545: 26397,
              37546: 28526,
              37547: 29266,
              37548: 30010,
              37549: 30522,
              37550: 32884,
              37551: 33081,
              37552: 33144,
              37553: 34678,
              37554: 35519,
              37555: 35548,
              37556: 36229,
              37557: 36339,
              37558: 37530,
              37559: 38263,
              37560: 38914,
              37561: 40165,
              37562: 21189,
              37563: 25431,
              37564: 30452,
              37565: 26389,
              37566: 27784,
              37567: 29645,
              37568: 36035,
              37569: 37806,
              37570: 38515,
              37571: 27941,
              37572: 22684,
              37573: 26894,
              37574: 27084,
              37575: 36861,
              37576: 37786,
              37577: 30171,
              37578: 36890,
              37579: 22618,
              37580: 26626,
              37581: 25524,
              37582: 27131,
              37583: 20291,
              37584: 28460,
              37585: 26584,
              37586: 36795,
              37587: 34086,
              37588: 32180,
              37589: 37716,
              37590: 26943,
              37591: 28528,
              37592: 22378,
              37593: 22775,
              37594: 23340,
              37595: 32044,
              37596: 29226,
              37597: 21514,
              37598: 37347,
              37599: 40372,
              37600: 20141,
              37601: 20302,
              37602: 20572,
              37603: 20597,
              37604: 21059,
              37605: 35998,
              37606: 21576,
              37607: 22564,
              37608: 23450,
              37609: 24093,
              37610: 24213,
              37611: 24237,
              37612: 24311,
              37613: 24351,
              37614: 24716,
              37615: 25269,
              37616: 25402,
              37617: 25552,
              37618: 26799,
              37619: 27712,
              37620: 30855,
              37621: 31118,
              37622: 31243,
              37623: 32224,
              37624: 33351,
              37625: 35330,
              37626: 35558,
              37627: 36420,
              37628: 36883,
              37696: 37048,
              37697: 37165,
              37698: 37336,
              37699: 40718,
              37700: 27877,
              37701: 25688,
              37702: 25826,
              37703: 25973,
              37704: 28404,
              37705: 30340,
              37706: 31515,
              37707: 36969,
              37708: 37841,
              37709: 28346,
              37710: 21746,
              37711: 24505,
              37712: 25764,
              37713: 36685,
              37714: 36845,
              37715: 37444,
              37716: 20856,
              37717: 22635,
              37718: 22825,
              37719: 23637,
              37720: 24215,
              37721: 28155,
              37722: 32399,
              37723: 29980,
              37724: 36028,
              37725: 36578,
              37726: 39003,
              37727: 28857,
              37728: 20253,
              37729: 27583,
              37730: 28593,
              37731: 3e4,
              37732: 38651,
              37733: 20814,
              37734: 21520,
              37735: 22581,
              37736: 22615,
              37737: 22956,
              37738: 23648,
              37739: 24466,
              37740: 26007,
              37741: 26460,
              37742: 28193,
              37743: 30331,
              37744: 33759,
              37745: 36077,
              37746: 36884,
              37747: 37117,
              37748: 37709,
              37749: 30757,
              37750: 30778,
              37751: 21162,
              37752: 24230,
              37753: 22303,
              37754: 22900,
              37755: 24594,
              37756: 20498,
              37757: 20826,
              37758: 20908,
              37760: 20941,
              37761: 20992,
              37762: 21776,
              37763: 22612,
              37764: 22616,
              37765: 22871,
              37766: 23445,
              37767: 23798,
              37768: 23947,
              37769: 24764,
              37770: 25237,
              37771: 25645,
              37772: 26481,
              37773: 26691,
              37774: 26812,
              37775: 26847,
              37776: 30423,
              37777: 28120,
              37778: 28271,
              37779: 28059,
              37780: 28783,
              37781: 29128,
              37782: 24403,
              37783: 30168,
              37784: 31095,
              37785: 31561,
              37786: 31572,
              37787: 31570,
              37788: 31958,
              37789: 32113,
              37790: 21040,
              37791: 33891,
              37792: 34153,
              37793: 34276,
              37794: 35342,
              37795: 35588,
              37796: 35910,
              37797: 36367,
              37798: 36867,
              37799: 36879,
              37800: 37913,
              37801: 38518,
              37802: 38957,
              37803: 39472,
              37804: 38360,
              37805: 20685,
              37806: 21205,
              37807: 21516,
              37808: 22530,
              37809: 23566,
              37810: 24999,
              37811: 25758,
              37812: 27934,
              37813: 30643,
              37814: 31461,
              37815: 33012,
              37816: 33796,
              37817: 36947,
              37818: 37509,
              37819: 23776,
              37820: 40199,
              37821: 21311,
              37822: 24471,
              37823: 24499,
              37824: 28060,
              37825: 29305,
              37826: 30563,
              37827: 31167,
              37828: 31716,
              37829: 27602,
              37830: 29420,
              37831: 35501,
              37832: 26627,
              37833: 27233,
              37834: 20984,
              37835: 31361,
              37836: 26932,
              37837: 23626,
              37838: 40182,
              37839: 33515,
              37840: 23493,
              37841: 37193,
              37842: 28702,
              37843: 22136,
              37844: 23663,
              37845: 24775,
              37846: 25958,
              37847: 27788,
              37848: 35930,
              37849: 36929,
              37850: 38931,
              37851: 21585,
              37852: 26311,
              37853: 37389,
              37854: 22856,
              37855: 37027,
              37856: 20869,
              37857: 20045,
              37858: 20970,
              37859: 34201,
              37860: 35598,
              37861: 28760,
              37862: 25466,
              37863: 37707,
              37864: 26978,
              37865: 39348,
              37866: 32260,
              37867: 30071,
              37868: 21335,
              37869: 26976,
              37870: 36575,
              37871: 38627,
              37872: 27741,
              37873: 20108,
              37874: 23612,
              37875: 24336,
              37876: 36841,
              37877: 21250,
              37878: 36049,
              37879: 32905,
              37880: 34425,
              37881: 24319,
              37882: 26085,
              37883: 20083,
              37884: 20837,
              37952: 22914,
              37953: 23615,
              37954: 38894,
              37955: 20219,
              37956: 22922,
              37957: 24525,
              37958: 35469,
              37959: 28641,
              37960: 31152,
              37961: 31074,
              37962: 23527,
              37963: 33905,
              37964: 29483,
              37965: 29105,
              37966: 24180,
              37967: 24565,
              37968: 25467,
              37969: 25754,
              37970: 29123,
              37971: 31896,
              37972: 20035,
              37973: 24316,
              37974: 20043,
              37975: 22492,
              37976: 22178,
              37977: 24745,
              37978: 28611,
              37979: 32013,
              37980: 33021,
              37981: 33075,
              37982: 33215,
              37983: 36786,
              37984: 35223,
              37985: 34468,
              37986: 24052,
              37987: 25226,
              37988: 25773,
              37989: 35207,
              37990: 26487,
              37991: 27874,
              37992: 27966,
              37993: 29750,
              37994: 30772,
              37995: 23110,
              37996: 32629,
              37997: 33453,
              37998: 39340,
              37999: 20467,
              38e3: 24259,
              38001: 25309,
              38002: 25490,
              38003: 25943,
              38004: 26479,
              38005: 30403,
              38006: 29260,
              38007: 32972,
              38008: 32954,
              38009: 36649,
              38010: 37197,
              38011: 20493,
              38012: 22521,
              38013: 23186,
              38014: 26757,
              38016: 26995,
              38017: 29028,
              38018: 29437,
              38019: 36023,
              38020: 22770,
              38021: 36064,
              38022: 38506,
              38023: 36889,
              38024: 34687,
              38025: 31204,
              38026: 30695,
              38027: 33833,
              38028: 20271,
              38029: 21093,
              38030: 21338,
              38031: 25293,
              38032: 26575,
              38033: 27850,
              38034: 30333,
              38035: 31636,
              38036: 31893,
              38037: 33334,
              38038: 34180,
              38039: 36843,
              38040: 26333,
              38041: 28448,
              38042: 29190,
              38043: 32283,
              38044: 33707,
              38045: 39361,
              38046: 40614,
              38047: 20989,
              38048: 31665,
              38049: 30834,
              38050: 31672,
              38051: 32903,
              38052: 31560,
              38053: 27368,
              38054: 24161,
              38055: 32908,
              38056: 30033,
              38057: 30048,
              38058: 20843,
              38059: 37474,
              38060: 28300,
              38061: 30330,
              38062: 37271,
              38063: 39658,
              38064: 20240,
              38065: 32624,
              38066: 25244,
              38067: 31567,
              38068: 38309,
              38069: 40169,
              38070: 22138,
              38071: 22617,
              38072: 34532,
              38073: 38588,
              38074: 20276,
              38075: 21028,
              38076: 21322,
              38077: 21453,
              38078: 21467,
              38079: 24070,
              38080: 25644,
              38081: 26001,
              38082: 26495,
              38083: 27710,
              38084: 27726,
              38085: 29256,
              38086: 29359,
              38087: 29677,
              38088: 30036,
              38089: 32321,
              38090: 33324,
              38091: 34281,
              38092: 36009,
              38093: 31684,
              38094: 37318,
              38095: 29033,
              38096: 38930,
              38097: 39151,
              38098: 25405,
              38099: 26217,
              38100: 30058,
              38101: 30436,
              38102: 30928,
              38103: 34115,
              38104: 34542,
              38105: 21290,
              38106: 21329,
              38107: 21542,
              38108: 22915,
              38109: 24199,
              38110: 24444,
              38111: 24754,
              38112: 25161,
              38113: 25209,
              38114: 25259,
              38115: 26e3,
              38116: 27604,
              38117: 27852,
              38118: 30130,
              38119: 30382,
              38120: 30865,
              38121: 31192,
              38122: 32203,
              38123: 32631,
              38124: 32933,
              38125: 34987,
              38126: 35513,
              38127: 36027,
              38128: 36991,
              38129: 38750,
              38130: 39131,
              38131: 27147,
              38132: 31800,
              38133: 20633,
              38134: 23614,
              38135: 24494,
              38136: 26503,
              38137: 27608,
              38138: 29749,
              38139: 30473,
              38140: 32654,
              38208: 40763,
              38209: 26570,
              38210: 31255,
              38211: 21305,
              38212: 30091,
              38213: 39661,
              38214: 24422,
              38215: 33181,
              38216: 33777,
              38217: 32920,
              38218: 24380,
              38219: 24517,
              38220: 30050,
              38221: 31558,
              38222: 36924,
              38223: 26727,
              38224: 23019,
              38225: 23195,
              38226: 32016,
              38227: 30334,
              38228: 35628,
              38229: 20469,
              38230: 24426,
              38231: 27161,
              38232: 27703,
              38233: 28418,
              38234: 29922,
              38235: 31080,
              38236: 34920,
              38237: 35413,
              38238: 35961,
              38239: 24287,
              38240: 25551,
              38241: 30149,
              38242: 31186,
              38243: 33495,
              38244: 37672,
              38245: 37618,
              38246: 33948,
              38247: 34541,
              38248: 39981,
              38249: 21697,
              38250: 24428,
              38251: 25996,
              38252: 27996,
              38253: 28693,
              38254: 36007,
              38255: 36051,
              38256: 38971,
              38257: 25935,
              38258: 29942,
              38259: 19981,
              38260: 20184,
              38261: 22496,
              38262: 22827,
              38263: 23142,
              38264: 23500,
              38265: 20904,
              38266: 24067,
              38267: 24220,
              38268: 24598,
              38269: 25206,
              38270: 25975,
              38272: 26023,
              38273: 26222,
              38274: 28014,
              38275: 29238,
              38276: 31526,
              38277: 33104,
              38278: 33178,
              38279: 33433,
              38280: 35676,
              38281: 36e3,
              38282: 36070,
              38283: 36212,
              38284: 38428,
              38285: 38468,
              38286: 20398,
              38287: 25771,
              38288: 27494,
              38289: 33310,
              38290: 33889,
              38291: 34154,
              38292: 37096,
              38293: 23553,
              38294: 26963,
              38295: 39080,
              38296: 33914,
              38297: 34135,
              38298: 20239,
              38299: 21103,
              38300: 24489,
              38301: 24133,
              38302: 26381,
              38303: 31119,
              38304: 33145,
              38305: 35079,
              38306: 35206,
              38307: 28149,
              38308: 24343,
              38309: 25173,
              38310: 27832,
              38311: 20175,
              38312: 29289,
              38313: 39826,
              38314: 20998,
              38315: 21563,
              38316: 22132,
              38317: 22707,
              38318: 24996,
              38319: 25198,
              38320: 28954,
              38321: 22894,
              38322: 31881,
              38323: 31966,
              38324: 32027,
              38325: 38640,
              38326: 25991,
              38327: 32862,
              38328: 19993,
              38329: 20341,
              38330: 20853,
              38331: 22592,
              38332: 24163,
              38333: 24179,
              38334: 24330,
              38335: 26564,
              38336: 20006,
              38337: 34109,
              38338: 38281,
              38339: 38491,
              38340: 31859,
              38341: 38913,
              38342: 20731,
              38343: 22721,
              38344: 30294,
              38345: 30887,
              38346: 21029,
              38347: 30629,
              38348: 34065,
              38349: 31622,
              38350: 20559,
              38351: 22793,
              38352: 29255,
              38353: 31687,
              38354: 32232,
              38355: 36794,
              38356: 36820,
              38357: 36941,
              38358: 20415,
              38359: 21193,
              38360: 23081,
              38361: 24321,
              38362: 38829,
              38363: 20445,
              38364: 33303,
              38365: 37610,
              38366: 22275,
              38367: 25429,
              38368: 27497,
              38369: 29995,
              38370: 35036,
              38371: 36628,
              38372: 31298,
              38373: 21215,
              38374: 22675,
              38375: 24917,
              38376: 25098,
              38377: 26286,
              38378: 27597,
              38379: 31807,
              38380: 33769,
              38381: 20515,
              38382: 20472,
              38383: 21253,
              38384: 21574,
              38385: 22577,
              38386: 22857,
              38387: 23453,
              38388: 23792,
              38389: 23791,
              38390: 23849,
              38391: 24214,
              38392: 25265,
              38393: 25447,
              38394: 25918,
              38395: 26041,
              38396: 26379,
              38464: 27861,
              38465: 27873,
              38466: 28921,
              38467: 30770,
              38468: 32299,
              38469: 32990,
              38470: 33459,
              38471: 33804,
              38472: 34028,
              38473: 34562,
              38474: 35090,
              38475: 35370,
              38476: 35914,
              38477: 37030,
              38478: 37586,
              38479: 39165,
              38480: 40179,
              38481: 40300,
              38482: 20047,
              38483: 20129,
              38484: 20621,
              38485: 21078,
              38486: 22346,
              38487: 22952,
              38488: 24125,
              38489: 24536,
              38490: 24537,
              38491: 25151,
              38492: 26292,
              38493: 26395,
              38494: 26576,
              38495: 26834,
              38496: 20882,
              38497: 32033,
              38498: 32938,
              38499: 33192,
              38500: 35584,
              38501: 35980,
              38502: 36031,
              38503: 37502,
              38504: 38450,
              38505: 21536,
              38506: 38956,
              38507: 21271,
              38508: 20693,
              38509: 21340,
              38510: 22696,
              38511: 25778,
              38512: 26420,
              38513: 29287,
              38514: 30566,
              38515: 31302,
              38516: 37350,
              38517: 21187,
              38518: 27809,
              38519: 27526,
              38520: 22528,
              38521: 24140,
              38522: 22868,
              38523: 26412,
              38524: 32763,
              38525: 20961,
              38526: 30406,
              38528: 25705,
              38529: 30952,
              38530: 39764,
              38531: 40635,
              38532: 22475,
              38533: 22969,
              38534: 26151,
              38535: 26522,
              38536: 27598,
              38537: 21737,
              38538: 27097,
              38539: 24149,
              38540: 33180,
              38541: 26517,
              38542: 39850,
              38543: 26622,
              38544: 40018,
              38545: 26717,
              38546: 20134,
              38547: 20451,
              38548: 21448,
              38549: 25273,
              38550: 26411,
              38551: 27819,
              38552: 36804,
              38553: 20397,
              38554: 32365,
              38555: 40639,
              38556: 19975,
              38557: 24930,
              38558: 28288,
              38559: 28459,
              38560: 34067,
              38561: 21619,
              38562: 26410,
              38563: 39749,
              38564: 24051,
              38565: 31637,
              38566: 23724,
              38567: 23494,
              38568: 34588,
              38569: 28234,
              38570: 34001,
              38571: 31252,
              38572: 33032,
              38573: 22937,
              38574: 31885,
              38575: 27665,
              38576: 30496,
              38577: 21209,
              38578: 22818,
              38579: 28961,
              38580: 29279,
              38581: 30683,
              38582: 38695,
              38583: 40289,
              38584: 26891,
              38585: 23167,
              38586: 23064,
              38587: 20901,
              38588: 21517,
              38589: 21629,
              38590: 26126,
              38591: 30431,
              38592: 36855,
              38593: 37528,
              38594: 40180,
              38595: 23018,
              38596: 29277,
              38597: 28357,
              38598: 20813,
              38599: 26825,
              38600: 32191,
              38601: 32236,
              38602: 38754,
              38603: 40634,
              38604: 25720,
              38605: 27169,
              38606: 33538,
              38607: 22916,
              38608: 23391,
              38609: 27611,
              38610: 29467,
              38611: 30450,
              38612: 32178,
              38613: 32791,
              38614: 33945,
              38615: 20786,
              38616: 26408,
              38617: 40665,
              38618: 30446,
              38619: 26466,
              38620: 21247,
              38621: 39173,
              38622: 23588,
              38623: 25147,
              38624: 31870,
              38625: 36016,
              38626: 21839,
              38627: 24758,
              38628: 32011,
              38629: 38272,
              38630: 21249,
              38631: 20063,
              38632: 20918,
              38633: 22812,
              38634: 29242,
              38635: 32822,
              38636: 37326,
              38637: 24357,
              38638: 30690,
              38639: 21380,
              38640: 24441,
              38641: 32004,
              38642: 34220,
              38643: 35379,
              38644: 36493,
              38645: 38742,
              38646: 26611,
              38647: 34222,
              38648: 37971,
              38649: 24841,
              38650: 24840,
              38651: 27833,
              38652: 30290,
              38720: 35565,
              38721: 36664,
              38722: 21807,
              38723: 20305,
              38724: 20778,
              38725: 21191,
              38726: 21451,
              38727: 23461,
              38728: 24189,
              38729: 24736,
              38730: 24962,
              38731: 25558,
              38732: 26377,
              38733: 26586,
              38734: 28263,
              38735: 28044,
              38736: 29494,
              38737: 29495,
              38738: 30001,
              38739: 31056,
              38740: 35029,
              38741: 35480,
              38742: 36938,
              38743: 37009,
              38744: 37109,
              38745: 38596,
              38746: 34701,
              38747: 22805,
              38748: 20104,
              38749: 20313,
              38750: 19982,
              38751: 35465,
              38752: 36671,
              38753: 38928,
              38754: 20653,
              38755: 24188,
              38756: 22934,
              38757: 23481,
              38758: 24248,
              38759: 25562,
              38760: 25594,
              38761: 25793,
              38762: 26332,
              38763: 26954,
              38764: 27096,
              38765: 27915,
              38766: 28342,
              38767: 29076,
              38768: 29992,
              38769: 31407,
              38770: 32650,
              38771: 32768,
              38772: 33865,
              38773: 33993,
              38774: 35201,
              38775: 35617,
              38776: 36362,
              38777: 36965,
              38778: 38525,
              38779: 39178,
              38780: 24958,
              38781: 25233,
              38782: 27442,
              38784: 27779,
              38785: 28020,
              38786: 32716,
              38787: 32764,
              38788: 28096,
              38789: 32645,
              38790: 34746,
              38791: 35064,
              38792: 26469,
              38793: 33713,
              38794: 38972,
              38795: 38647,
              38796: 27931,
              38797: 32097,
              38798: 33853,
              38799: 37226,
              38800: 20081,
              38801: 21365,
              38802: 23888,
              38803: 27396,
              38804: 28651,
              38805: 34253,
              38806: 34349,
              38807: 35239,
              38808: 21033,
              38809: 21519,
              38810: 23653,
              38811: 26446,
              38812: 26792,
              38813: 29702,
              38814: 29827,
              38815: 30178,
              38816: 35023,
              38817: 35041,
              38818: 37324,
              38819: 38626,
              38820: 38520,
              38821: 24459,
              38822: 29575,
              38823: 31435,
              38824: 33870,
              38825: 25504,
              38826: 30053,
              38827: 21129,
              38828: 27969,
              38829: 28316,
              38830: 29705,
              38831: 30041,
              38832: 30827,
              38833: 31890,
              38834: 38534,
              38835: 31452,
              38836: 40845,
              38837: 20406,
              38838: 24942,
              38839: 26053,
              38840: 34396,
              38841: 20102,
              38842: 20142,
              38843: 20698,
              38844: 20001,
              38845: 20940,
              38846: 23534,
              38847: 26009,
              38848: 26753,
              38849: 28092,
              38850: 29471,
              38851: 30274,
              38852: 30637,
              38853: 31260,
              38854: 31975,
              38855: 33391,
              38856: 35538,
              38857: 36988,
              38858: 37327,
              38859: 38517,
              38860: 38936,
              38861: 21147,
              38862: 32209,
              38863: 20523,
              38864: 21400,
              38865: 26519,
              38866: 28107,
              38867: 29136,
              38868: 29747,
              38869: 33256,
              38870: 36650,
              38871: 38563,
              38872: 40023,
              38873: 40607,
              38874: 29792,
              38875: 22593,
              38876: 28057,
              38877: 32047,
              38878: 39006,
              38879: 20196,
              38880: 20278,
              38881: 20363,
              38882: 20919,
              38883: 21169,
              38884: 23994,
              38885: 24604,
              38886: 29618,
              38887: 31036,
              38888: 33491,
              38889: 37428,
              38890: 38583,
              38891: 38646,
              38892: 38666,
              38893: 40599,
              38894: 40802,
              38895: 26278,
              38896: 27508,
              38897: 21015,
              38898: 21155,
              38899: 28872,
              38900: 35010,
              38901: 24265,
              38902: 24651,
              38903: 24976,
              38904: 28451,
              38905: 29001,
              38906: 31806,
              38907: 32244,
              38908: 32879,
              38976: 34030,
              38977: 36899,
              38978: 37676,
              38979: 21570,
              38980: 39791,
              38981: 27347,
              38982: 28809,
              38983: 36034,
              38984: 36335,
              38985: 38706,
              38986: 21172,
              38987: 23105,
              38988: 24266,
              38989: 24324,
              38990: 26391,
              38991: 27004,
              38992: 27028,
              38993: 28010,
              38994: 28431,
              38995: 29282,
              38996: 29436,
              38997: 31725,
              38998: 32769,
              38999: 32894,
              39e3: 34635,
              39001: 37070,
              39002: 20845,
              39003: 40595,
              39004: 31108,
              39005: 32907,
              39006: 37682,
              39007: 35542,
              39008: 20525,
              39009: 21644,
              39010: 35441,
              39011: 27498,
              39012: 36036,
              39013: 33031,
              39014: 24785,
              39015: 26528,
              39016: 40434,
              39017: 20121,
              39018: 20120,
              39019: 39952,
              39020: 35435,
              39021: 34241,
              39022: 34152,
              39023: 26880,
              39024: 28286,
              39025: 30871,
              39026: 33109,
              39071: 24332,
              39072: 19984,
              39073: 19989,
              39074: 20010,
              39075: 20017,
              39076: 20022,
              39077: 20028,
              39078: 20031,
              39079: 20034,
              39080: 20054,
              39081: 20056,
              39082: 20098,
              39083: 20101,
              39084: 35947,
              39085: 20106,
              39086: 33298,
              39087: 24333,
              39088: 20110,
              39089: 20126,
              39090: 20127,
              39091: 20128,
              39092: 20130,
              39093: 20144,
              39094: 20147,
              39095: 20150,
              39096: 20174,
              39097: 20173,
              39098: 20164,
              39099: 20166,
              39100: 20162,
              39101: 20183,
              39102: 20190,
              39103: 20205,
              39104: 20191,
              39105: 20215,
              39106: 20233,
              39107: 20314,
              39108: 20272,
              39109: 20315,
              39110: 20317,
              39111: 20311,
              39112: 20295,
              39113: 20342,
              39114: 20360,
              39115: 20367,
              39116: 20376,
              39117: 20347,
              39118: 20329,
              39119: 20336,
              39120: 20369,
              39121: 20335,
              39122: 20358,
              39123: 20374,
              39124: 20760,
              39125: 20436,
              39126: 20447,
              39127: 20430,
              39128: 20440,
              39129: 20443,
              39130: 20433,
              39131: 20442,
              39132: 20432,
              39133: 20452,
              39134: 20453,
              39135: 20506,
              39136: 20520,
              39137: 20500,
              39138: 20522,
              39139: 20517,
              39140: 20485,
              39141: 20252,
              39142: 20470,
              39143: 20513,
              39144: 20521,
              39145: 20524,
              39146: 20478,
              39147: 20463,
              39148: 20497,
              39149: 20486,
              39150: 20547,
              39151: 20551,
              39152: 26371,
              39153: 20565,
              39154: 20560,
              39155: 20552,
              39156: 20570,
              39157: 20566,
              39158: 20588,
              39159: 20600,
              39160: 20608,
              39161: 20634,
              39162: 20613,
              39163: 20660,
              39164: 20658,
              39232: 20681,
              39233: 20682,
              39234: 20659,
              39235: 20674,
              39236: 20694,
              39237: 20702,
              39238: 20709,
              39239: 20717,
              39240: 20707,
              39241: 20718,
              39242: 20729,
              39243: 20725,
              39244: 20745,
              39245: 20737,
              39246: 20738,
              39247: 20758,
              39248: 20757,
              39249: 20756,
              39250: 20762,
              39251: 20769,
              39252: 20794,
              39253: 20791,
              39254: 20796,
              39255: 20795,
              39256: 20799,
              39257: 20800,
              39258: 20818,
              39259: 20812,
              39260: 20820,
              39261: 20834,
              39262: 31480,
              39263: 20841,
              39264: 20842,
              39265: 20846,
              39266: 20864,
              39267: 20866,
              39268: 22232,
              39269: 20876,
              39270: 20873,
              39271: 20879,
              39272: 20881,
              39273: 20883,
              39274: 20885,
              39275: 20886,
              39276: 20900,
              39277: 20902,
              39278: 20898,
              39279: 20905,
              39280: 20906,
              39281: 20907,
              39282: 20915,
              39283: 20913,
              39284: 20914,
              39285: 20912,
              39286: 20917,
              39287: 20925,
              39288: 20933,
              39289: 20937,
              39290: 20955,
              39291: 20960,
              39292: 34389,
              39293: 20969,
              39294: 20973,
              39296: 20976,
              39297: 20981,
              39298: 20990,
              39299: 20996,
              39300: 21003,
              39301: 21012,
              39302: 21006,
              39303: 21031,
              39304: 21034,
              39305: 21038,
              39306: 21043,
              39307: 21049,
              39308: 21071,
              39309: 21060,
              39310: 21067,
              39311: 21068,
              39312: 21086,
              39313: 21076,
              39314: 21098,
              39315: 21108,
              39316: 21097,
              39317: 21107,
              39318: 21119,
              39319: 21117,
              39320: 21133,
              39321: 21140,
              39322: 21138,
              39323: 21105,
              39324: 21128,
              39325: 21137,
              39326: 36776,
              39327: 36775,
              39328: 21164,
              39329: 21165,
              39330: 21180,
              39331: 21173,
              39332: 21185,
              39333: 21197,
              39334: 21207,
              39335: 21214,
              39336: 21219,
              39337: 21222,
              39338: 39149,
              39339: 21216,
              39340: 21235,
              39341: 21237,
              39342: 21240,
              39343: 21241,
              39344: 21254,
              39345: 21256,
              39346: 30008,
              39347: 21261,
              39348: 21264,
              39349: 21263,
              39350: 21269,
              39351: 21274,
              39352: 21283,
              39353: 21295,
              39354: 21297,
              39355: 21299,
              39356: 21304,
              39357: 21312,
              39358: 21318,
              39359: 21317,
              39360: 19991,
              39361: 21321,
              39362: 21325,
              39363: 20950,
              39364: 21342,
              39365: 21353,
              39366: 21358,
              39367: 22808,
              39368: 21371,
              39369: 21367,
              39370: 21378,
              39371: 21398,
              39372: 21408,
              39373: 21414,
              39374: 21413,
              39375: 21422,
              39376: 21424,
              39377: 21430,
              39378: 21443,
              39379: 31762,
              39380: 38617,
              39381: 21471,
              39382: 26364,
              39383: 29166,
              39384: 21486,
              39385: 21480,
              39386: 21485,
              39387: 21498,
              39388: 21505,
              39389: 21565,
              39390: 21568,
              39391: 21548,
              39392: 21549,
              39393: 21564,
              39394: 21550,
              39395: 21558,
              39396: 21545,
              39397: 21533,
              39398: 21582,
              39399: 21647,
              39400: 21621,
              39401: 21646,
              39402: 21599,
              39403: 21617,
              39404: 21623,
              39405: 21616,
              39406: 21650,
              39407: 21627,
              39408: 21632,
              39409: 21622,
              39410: 21636,
              39411: 21648,
              39412: 21638,
              39413: 21703,
              39414: 21666,
              39415: 21688,
              39416: 21669,
              39417: 21676,
              39418: 21700,
              39419: 21704,
              39420: 21672,
              39488: 21675,
              39489: 21698,
              39490: 21668,
              39491: 21694,
              39492: 21692,
              39493: 21720,
              39494: 21733,
              39495: 21734,
              39496: 21775,
              39497: 21780,
              39498: 21757,
              39499: 21742,
              39500: 21741,
              39501: 21754,
              39502: 21730,
              39503: 21817,
              39504: 21824,
              39505: 21859,
              39506: 21836,
              39507: 21806,
              39508: 21852,
              39509: 21829,
              39510: 21846,
              39511: 21847,
              39512: 21816,
              39513: 21811,
              39514: 21853,
              39515: 21913,
              39516: 21888,
              39517: 21679,
              39518: 21898,
              39519: 21919,
              39520: 21883,
              39521: 21886,
              39522: 21912,
              39523: 21918,
              39524: 21934,
              39525: 21884,
              39526: 21891,
              39527: 21929,
              39528: 21895,
              39529: 21928,
              39530: 21978,
              39531: 21957,
              39532: 21983,
              39533: 21956,
              39534: 21980,
              39535: 21988,
              39536: 21972,
              39537: 22036,
              39538: 22007,
              39539: 22038,
              39540: 22014,
              39541: 22013,
              39542: 22043,
              39543: 22009,
              39544: 22094,
              39545: 22096,
              39546: 29151,
              39547: 22068,
              39548: 22070,
              39549: 22066,
              39550: 22072,
              39552: 22123,
              39553: 22116,
              39554: 22063,
              39555: 22124,
              39556: 22122,
              39557: 22150,
              39558: 22144,
              39559: 22154,
              39560: 22176,
              39561: 22164,
              39562: 22159,
              39563: 22181,
              39564: 22190,
              39565: 22198,
              39566: 22196,
              39567: 22210,
              39568: 22204,
              39569: 22209,
              39570: 22211,
              39571: 22208,
              39572: 22216,
              39573: 22222,
              39574: 22225,
              39575: 22227,
              39576: 22231,
              39577: 22254,
              39578: 22265,
              39579: 22272,
              39580: 22271,
              39581: 22276,
              39582: 22281,
              39583: 22280,
              39584: 22283,
              39585: 22285,
              39586: 22291,
              39587: 22296,
              39588: 22294,
              39589: 21959,
              39590: 22300,
              39591: 22310,
              39592: 22327,
              39593: 22328,
              39594: 22350,
              39595: 22331,
              39596: 22336,
              39597: 22351,
              39598: 22377,
              39599: 22464,
              39600: 22408,
              39601: 22369,
              39602: 22399,
              39603: 22409,
              39604: 22419,
              39605: 22432,
              39606: 22451,
              39607: 22436,
              39608: 22442,
              39609: 22448,
              39610: 22467,
              39611: 22470,
              39612: 22484,
              39613: 22482,
              39614: 22483,
              39615: 22538,
              39616: 22486,
              39617: 22499,
              39618: 22539,
              39619: 22553,
              39620: 22557,
              39621: 22642,
              39622: 22561,
              39623: 22626,
              39624: 22603,
              39625: 22640,
              39626: 27584,
              39627: 22610,
              39628: 22589,
              39629: 22649,
              39630: 22661,
              39631: 22713,
              39632: 22687,
              39633: 22699,
              39634: 22714,
              39635: 22750,
              39636: 22715,
              39637: 22712,
              39638: 22702,
              39639: 22725,
              39640: 22739,
              39641: 22737,
              39642: 22743,
              39643: 22745,
              39644: 22744,
              39645: 22757,
              39646: 22748,
              39647: 22756,
              39648: 22751,
              39649: 22767,
              39650: 22778,
              39651: 22777,
              39652: 22779,
              39653: 22780,
              39654: 22781,
              39655: 22786,
              39656: 22794,
              39657: 22800,
              39658: 22811,
              39659: 26790,
              39660: 22821,
              39661: 22828,
              39662: 22829,
              39663: 22834,
              39664: 22840,
              39665: 22846,
              39666: 31442,
              39667: 22869,
              39668: 22864,
              39669: 22862,
              39670: 22874,
              39671: 22872,
              39672: 22882,
              39673: 22880,
              39674: 22887,
              39675: 22892,
              39676: 22889,
              39744: 22904,
              39745: 22913,
              39746: 22941,
              39747: 20318,
              39748: 20395,
              39749: 22947,
              39750: 22962,
              39751: 22982,
              39752: 23016,
              39753: 23004,
              39754: 22925,
              39755: 23001,
              39756: 23002,
              39757: 23077,
              39758: 23071,
              39759: 23057,
              39760: 23068,
              39761: 23049,
              39762: 23066,
              39763: 23104,
              39764: 23148,
              39765: 23113,
              39766: 23093,
              39767: 23094,
              39768: 23138,
              39769: 23146,
              39770: 23194,
              39771: 23228,
              39772: 23230,
              39773: 23243,
              39774: 23234,
              39775: 23229,
              39776: 23267,
              39777: 23255,
              39778: 23270,
              39779: 23273,
              39780: 23254,
              39781: 23290,
              39782: 23291,
              39783: 23308,
              39784: 23307,
              39785: 23318,
              39786: 23346,
              39787: 23248,
              39788: 23338,
              39789: 23350,
              39790: 23358,
              39791: 23363,
              39792: 23365,
              39793: 23360,
              39794: 23377,
              39795: 23381,
              39796: 23386,
              39797: 23387,
              39798: 23397,
              39799: 23401,
              39800: 23408,
              39801: 23411,
              39802: 23413,
              39803: 23416,
              39804: 25992,
              39805: 23418,
              39806: 23424,
              39808: 23427,
              39809: 23462,
              39810: 23480,
              39811: 23491,
              39812: 23495,
              39813: 23497,
              39814: 23508,
              39815: 23504,
              39816: 23524,
              39817: 23526,
              39818: 23522,
              39819: 23518,
              39820: 23525,
              39821: 23531,
              39822: 23536,
              39823: 23542,
              39824: 23539,
              39825: 23557,
              39826: 23559,
              39827: 23560,
              39828: 23565,
              39829: 23571,
              39830: 23584,
              39831: 23586,
              39832: 23592,
              39833: 23608,
              39834: 23609,
              39835: 23617,
              39836: 23622,
              39837: 23630,
              39838: 23635,
              39839: 23632,
              39840: 23631,
              39841: 23409,
              39842: 23660,
              39843: 23662,
              39844: 20066,
              39845: 23670,
              39846: 23673,
              39847: 23692,
              39848: 23697,
              39849: 23700,
              39850: 22939,
              39851: 23723,
              39852: 23739,
              39853: 23734,
              39854: 23740,
              39855: 23735,
              39856: 23749,
              39857: 23742,
              39858: 23751,
              39859: 23769,
              39860: 23785,
              39861: 23805,
              39862: 23802,
              39863: 23789,
              39864: 23948,
              39865: 23786,
              39866: 23819,
              39867: 23829,
              39868: 23831,
              39869: 23900,
              39870: 23839,
              39871: 23835,
              39872: 23825,
              39873: 23828,
              39874: 23842,
              39875: 23834,
              39876: 23833,
              39877: 23832,
              39878: 23884,
              39879: 23890,
              39880: 23886,
              39881: 23883,
              39882: 23916,
              39883: 23923,
              39884: 23926,
              39885: 23943,
              39886: 23940,
              39887: 23938,
              39888: 23970,
              39889: 23965,
              39890: 23980,
              39891: 23982,
              39892: 23997,
              39893: 23952,
              39894: 23991,
              39895: 23996,
              39896: 24009,
              39897: 24013,
              39898: 24019,
              39899: 24018,
              39900: 24022,
              39901: 24027,
              39902: 24043,
              39903: 24050,
              39904: 24053,
              39905: 24075,
              39906: 24090,
              39907: 24089,
              39908: 24081,
              39909: 24091,
              39910: 24118,
              39911: 24119,
              39912: 24132,
              39913: 24131,
              39914: 24128,
              39915: 24142,
              39916: 24151,
              39917: 24148,
              39918: 24159,
              39919: 24162,
              39920: 24164,
              39921: 24135,
              39922: 24181,
              39923: 24182,
              39924: 24186,
              39925: 40636,
              39926: 24191,
              39927: 24224,
              39928: 24257,
              39929: 24258,
              39930: 24264,
              39931: 24272,
              39932: 24271,
              4e4: 24278,
              40001: 24291,
              40002: 24285,
              40003: 24282,
              40004: 24283,
              40005: 24290,
              40006: 24289,
              40007: 24296,
              40008: 24297,
              40009: 24300,
              40010: 24305,
              40011: 24307,
              40012: 24304,
              40013: 24308,
              40014: 24312,
              40015: 24318,
              40016: 24323,
              40017: 24329,
              40018: 24413,
              40019: 24412,
              40020: 24331,
              40021: 24337,
              40022: 24342,
              40023: 24361,
              40024: 24365,
              40025: 24376,
              40026: 24385,
              40027: 24392,
              40028: 24396,
              40029: 24398,
              40030: 24367,
              40031: 24401,
              40032: 24406,
              40033: 24407,
              40034: 24409,
              40035: 24417,
              40036: 24429,
              40037: 24435,
              40038: 24439,
              40039: 24451,
              40040: 24450,
              40041: 24447,
              40042: 24458,
              40043: 24456,
              40044: 24465,
              40045: 24455,
              40046: 24478,
              40047: 24473,
              40048: 24472,
              40049: 24480,
              40050: 24488,
              40051: 24493,
              40052: 24508,
              40053: 24534,
              40054: 24571,
              40055: 24548,
              40056: 24568,
              40057: 24561,
              40058: 24541,
              40059: 24755,
              40060: 24575,
              40061: 24609,
              40062: 24672,
              40064: 24601,
              40065: 24592,
              40066: 24617,
              40067: 24590,
              40068: 24625,
              40069: 24603,
              40070: 24597,
              40071: 24619,
              40072: 24614,
              40073: 24591,
              40074: 24634,
              40075: 24666,
              40076: 24641,
              40077: 24682,
              40078: 24695,
              40079: 24671,
              40080: 24650,
              40081: 24646,
              40082: 24653,
              40083: 24675,
              40084: 24643,
              40085: 24676,
              40086: 24642,
              40087: 24684,
              40088: 24683,
              40089: 24665,
              40090: 24705,
              40091: 24717,
              40092: 24807,
              40093: 24707,
              40094: 24730,
              40095: 24708,
              40096: 24731,
              40097: 24726,
              40098: 24727,
              40099: 24722,
              40100: 24743,
              40101: 24715,
              40102: 24801,
              40103: 24760,
              40104: 24800,
              40105: 24787,
              40106: 24756,
              40107: 24560,
              40108: 24765,
              40109: 24774,
              40110: 24757,
              40111: 24792,
              40112: 24909,
              40113: 24853,
              40114: 24838,
              40115: 24822,
              40116: 24823,
              40117: 24832,
              40118: 24820,
              40119: 24826,
              40120: 24835,
              40121: 24865,
              40122: 24827,
              40123: 24817,
              40124: 24845,
              40125: 24846,
              40126: 24903,
              40127: 24894,
              40128: 24872,
              40129: 24871,
              40130: 24906,
              40131: 24895,
              40132: 24892,
              40133: 24876,
              40134: 24884,
              40135: 24893,
              40136: 24898,
              40137: 24900,
              40138: 24947,
              40139: 24951,
              40140: 24920,
              40141: 24921,
              40142: 24922,
              40143: 24939,
              40144: 24948,
              40145: 24943,
              40146: 24933,
              40147: 24945,
              40148: 24927,
              40149: 24925,
              40150: 24915,
              40151: 24949,
              40152: 24985,
              40153: 24982,
              40154: 24967,
              40155: 25004,
              40156: 24980,
              40157: 24986,
              40158: 24970,
              40159: 24977,
              40160: 25003,
              40161: 25006,
              40162: 25036,
              40163: 25034,
              40164: 25033,
              40165: 25079,
              40166: 25032,
              40167: 25027,
              40168: 25030,
              40169: 25018,
              40170: 25035,
              40171: 32633,
              40172: 25037,
              40173: 25062,
              40174: 25059,
              40175: 25078,
              40176: 25082,
              40177: 25076,
              40178: 25087,
              40179: 25085,
              40180: 25084,
              40181: 25086,
              40182: 25088,
              40183: 25096,
              40184: 25097,
              40185: 25101,
              40186: 25100,
              40187: 25108,
              40188: 25115,
              40256: 25118,
              40257: 25121,
              40258: 25130,
              40259: 25134,
              40260: 25136,
              40261: 25138,
              40262: 25139,
              40263: 25153,
              40264: 25166,
              40265: 25182,
              40266: 25187,
              40267: 25179,
              40268: 25184,
              40269: 25192,
              40270: 25212,
              40271: 25218,
              40272: 25225,
              40273: 25214,
              40274: 25234,
              40275: 25235,
              40276: 25238,
              40277: 25300,
              40278: 25219,
              40279: 25236,
              40280: 25303,
              40281: 25297,
              40282: 25275,
              40283: 25295,
              40284: 25343,
              40285: 25286,
              40286: 25812,
              40287: 25288,
              40288: 25308,
              40289: 25292,
              40290: 25290,
              40291: 25282,
              40292: 25287,
              40293: 25243,
              40294: 25289,
              40295: 25356,
              40296: 25326,
              40297: 25329,
              40298: 25383,
              40299: 25346,
              40300: 25352,
              40301: 25327,
              40302: 25333,
              40303: 25424,
              40304: 25406,
              40305: 25421,
              40306: 25628,
              40307: 25423,
              40308: 25494,
              40309: 25486,
              40310: 25472,
              40311: 25515,
              40312: 25462,
              40313: 25507,
              40314: 25487,
              40315: 25481,
              40316: 25503,
              40317: 25525,
              40318: 25451,
              40320: 25449,
              40321: 25534,
              40322: 25577,
              40323: 25536,
              40324: 25542,
              40325: 25571,
              40326: 25545,
              40327: 25554,
              40328: 25590,
              40329: 25540,
              40330: 25622,
              40331: 25652,
              40332: 25606,
              40333: 25619,
              40334: 25638,
              40335: 25654,
              40336: 25885,
              40337: 25623,
              40338: 25640,
              40339: 25615,
              40340: 25703,
              40341: 25711,
              40342: 25718,
              40343: 25678,
              40344: 25898,
              40345: 25749,
              40346: 25747,
              40347: 25765,
              40348: 25769,
              40349: 25736,
              40350: 25788,
              40351: 25818,
              40352: 25810,
              40353: 25797,
              40354: 25799,
              40355: 25787,
              40356: 25816,
              40357: 25794,
              40358: 25841,
              40359: 25831,
              40360: 33289,
              40361: 25824,
              40362: 25825,
              40363: 25260,
              40364: 25827,
              40365: 25839,
              40366: 25900,
              40367: 25846,
              40368: 25844,
              40369: 25842,
              40370: 25850,
              40371: 25856,
              40372: 25853,
              40373: 25880,
              40374: 25884,
              40375: 25861,
              40376: 25892,
              40377: 25891,
              40378: 25899,
              40379: 25908,
              40380: 25909,
              40381: 25911,
              40382: 25910,
              40383: 25912,
              40384: 30027,
              40385: 25928,
              40386: 25942,
              40387: 25941,
              40388: 25933,
              40389: 25944,
              40390: 25950,
              40391: 25949,
              40392: 25970,
              40393: 25976,
              40394: 25986,
              40395: 25987,
              40396: 35722,
              40397: 26011,
              40398: 26015,
              40399: 26027,
              40400: 26039,
              40401: 26051,
              40402: 26054,
              40403: 26049,
              40404: 26052,
              40405: 26060,
              40406: 26066,
              40407: 26075,
              40408: 26073,
              40409: 26080,
              40410: 26081,
              40411: 26097,
              40412: 26482,
              40413: 26122,
              40414: 26115,
              40415: 26107,
              40416: 26483,
              40417: 26165,
              40418: 26166,
              40419: 26164,
              40420: 26140,
              40421: 26191,
              40422: 26180,
              40423: 26185,
              40424: 26177,
              40425: 26206,
              40426: 26205,
              40427: 26212,
              40428: 26215,
              40429: 26216,
              40430: 26207,
              40431: 26210,
              40432: 26224,
              40433: 26243,
              40434: 26248,
              40435: 26254,
              40436: 26249,
              40437: 26244,
              40438: 26264,
              40439: 26269,
              40440: 26305,
              40441: 26297,
              40442: 26313,
              40443: 26302,
              40444: 26300,
              40512: 26308,
              40513: 26296,
              40514: 26326,
              40515: 26330,
              40516: 26336,
              40517: 26175,
              40518: 26342,
              40519: 26345,
              40520: 26352,
              40521: 26357,
              40522: 26359,
              40523: 26383,
              40524: 26390,
              40525: 26398,
              40526: 26406,
              40527: 26407,
              40528: 38712,
              40529: 26414,
              40530: 26431,
              40531: 26422,
              40532: 26433,
              40533: 26424,
              40534: 26423,
              40535: 26438,
              40536: 26462,
              40537: 26464,
              40538: 26457,
              40539: 26467,
              40540: 26468,
              40541: 26505,
              40542: 26480,
              40543: 26537,
              40544: 26492,
              40545: 26474,
              40546: 26508,
              40547: 26507,
              40548: 26534,
              40549: 26529,
              40550: 26501,
              40551: 26551,
              40552: 26607,
              40553: 26548,
              40554: 26604,
              40555: 26547,
              40556: 26601,
              40557: 26552,
              40558: 26596,
              40559: 26590,
              40560: 26589,
              40561: 26594,
              40562: 26606,
              40563: 26553,
              40564: 26574,
              40565: 26566,
              40566: 26599,
              40567: 27292,
              40568: 26654,
              40569: 26694,
              40570: 26665,
              40571: 26688,
              40572: 26701,
              40573: 26674,
              40574: 26702,
              40576: 26803,
              40577: 26667,
              40578: 26713,
              40579: 26723,
              40580: 26743,
              40581: 26751,
              40582: 26783,
              40583: 26767,
              40584: 26797,
              40585: 26772,
              40586: 26781,
              40587: 26779,
              40588: 26755,
              40589: 27310,
              40590: 26809,
              40591: 26740,
              40592: 26805,
              40593: 26784,
              40594: 26810,
              40595: 26895,
              40596: 26765,
              40597: 26750,
              40598: 26881,
              40599: 26826,
              40600: 26888,
              40601: 26840,
              40602: 26914,
              40603: 26918,
              40604: 26849,
              40605: 26892,
              40606: 26829,
              40607: 26836,
              40608: 26855,
              40609: 26837,
              40610: 26934,
              40611: 26898,
              40612: 26884,
              40613: 26839,
              40614: 26851,
              40615: 26917,
              40616: 26873,
              40617: 26848,
              40618: 26863,
              40619: 26920,
              40620: 26922,
              40621: 26906,
              40622: 26915,
              40623: 26913,
              40624: 26822,
              40625: 27001,
              40626: 26999,
              40627: 26972,
              40628: 27e3,
              40629: 26987,
              40630: 26964,
              40631: 27006,
              40632: 26990,
              40633: 26937,
              40634: 26996,
              40635: 26941,
              40636: 26969,
              40637: 26928,
              40638: 26977,
              40639: 26974,
              40640: 26973,
              40641: 27009,
              40642: 26986,
              40643: 27058,
              40644: 27054,
              40645: 27088,
              40646: 27071,
              40647: 27073,
              40648: 27091,
              40649: 27070,
              40650: 27086,
              40651: 23528,
              40652: 27082,
              40653: 27101,
              40654: 27067,
              40655: 27075,
              40656: 27047,
              40657: 27182,
              40658: 27025,
              40659: 27040,
              40660: 27036,
              40661: 27029,
              40662: 27060,
              40663: 27102,
              40664: 27112,
              40665: 27138,
              40666: 27163,
              40667: 27135,
              40668: 27402,
              40669: 27129,
              40670: 27122,
              40671: 27111,
              40672: 27141,
              40673: 27057,
              40674: 27166,
              40675: 27117,
              40676: 27156,
              40677: 27115,
              40678: 27146,
              40679: 27154,
              40680: 27329,
              40681: 27171,
              40682: 27155,
              40683: 27204,
              40684: 27148,
              40685: 27250,
              40686: 27190,
              40687: 27256,
              40688: 27207,
              40689: 27234,
              40690: 27225,
              40691: 27238,
              40692: 27208,
              40693: 27192,
              40694: 27170,
              40695: 27280,
              40696: 27277,
              40697: 27296,
              40698: 27268,
              40699: 27298,
              40700: 27299,
              40768: 27287,
              40769: 34327,
              40770: 27323,
              40771: 27331,
              40772: 27330,
              40773: 27320,
              40774: 27315,
              40775: 27308,
              40776: 27358,
              40777: 27345,
              40778: 27359,
              40779: 27306,
              40780: 27354,
              40781: 27370,
              40782: 27387,
              40783: 27397,
              40784: 34326,
              40785: 27386,
              40786: 27410,
              40787: 27414,
              40788: 39729,
              40789: 27423,
              40790: 27448,
              40791: 27447,
              40792: 30428,
              40793: 27449,
              40794: 39150,
              40795: 27463,
              40796: 27459,
              40797: 27465,
              40798: 27472,
              40799: 27481,
              40800: 27476,
              40801: 27483,
              40802: 27487,
              40803: 27489,
              40804: 27512,
              40805: 27513,
              40806: 27519,
              40807: 27520,
              40808: 27524,
              40809: 27523,
              40810: 27533,
              40811: 27544,
              40812: 27541,
              40813: 27550,
              40814: 27556,
              40815: 27562,
              40816: 27563,
              40817: 27567,
              40818: 27570,
              40819: 27569,
              40820: 27571,
              40821: 27575,
              40822: 27580,
              40823: 27590,
              40824: 27595,
              40825: 27603,
              40826: 27615,
              40827: 27628,
              40828: 27627,
              40829: 27635,
              40830: 27631,
              40832: 40638,
              40833: 27656,
              40834: 27667,
              40835: 27668,
              40836: 27675,
              40837: 27684,
              40838: 27683,
              40839: 27742,
              40840: 27733,
              40841: 27746,
              40842: 27754,
              40843: 27778,
              40844: 27789,
              40845: 27802,
              40846: 27777,
              40847: 27803,
              40848: 27774,
              40849: 27752,
              40850: 27763,
              40851: 27794,
              40852: 27792,
              40853: 27844,
              40854: 27889,
              40855: 27859,
              40856: 27837,
              40857: 27863,
              40858: 27845,
              40859: 27869,
              40860: 27822,
              40861: 27825,
              40862: 27838,
              40863: 27834,
              40864: 27867,
              40865: 27887,
              40866: 27865,
              40867: 27882,
              40868: 27935,
              40869: 34893,
              40870: 27958,
              40871: 27947,
              40872: 27965,
              40873: 27960,
              40874: 27929,
              40875: 27957,
              40876: 27955,
              40877: 27922,
              40878: 27916,
              40879: 28003,
              40880: 28051,
              40881: 28004,
              40882: 27994,
              40883: 28025,
              40884: 27993,
              40885: 28046,
              40886: 28053,
              40887: 28644,
              40888: 28037,
              40889: 28153,
              40890: 28181,
              40891: 28170,
              40892: 28085,
              40893: 28103,
              40894: 28134,
              40895: 28088,
              40896: 28102,
              40897: 28140,
              40898: 28126,
              40899: 28108,
              40900: 28136,
              40901: 28114,
              40902: 28101,
              40903: 28154,
              40904: 28121,
              40905: 28132,
              40906: 28117,
              40907: 28138,
              40908: 28142,
              40909: 28205,
              40910: 28270,
              40911: 28206,
              40912: 28185,
              40913: 28274,
              40914: 28255,
              40915: 28222,
              40916: 28195,
              40917: 28267,
              40918: 28203,
              40919: 28278,
              40920: 28237,
              40921: 28191,
              40922: 28227,
              40923: 28218,
              40924: 28238,
              40925: 28196,
              40926: 28415,
              40927: 28189,
              40928: 28216,
              40929: 28290,
              40930: 28330,
              40931: 28312,
              40932: 28361,
              40933: 28343,
              40934: 28371,
              40935: 28349,
              40936: 28335,
              40937: 28356,
              40938: 28338,
              40939: 28372,
              40940: 28373,
              40941: 28303,
              40942: 28325,
              40943: 28354,
              40944: 28319,
              40945: 28481,
              40946: 28433,
              40947: 28748,
              40948: 28396,
              40949: 28408,
              40950: 28414,
              40951: 28479,
              40952: 28402,
              40953: 28465,
              40954: 28399,
              40955: 28466,
              40956: 28364,
              161: 65377,
              162: 65378,
              163: 65379,
              164: 65380,
              165: 65381,
              166: 65382,
              167: 65383,
              168: 65384,
              169: 65385,
              170: 65386,
              171: 65387,
              172: 65388,
              173: 65389,
              174: 65390,
              175: 65391,
              176: 65392,
              177: 65393,
              178: 65394,
              179: 65395,
              180: 65396,
              181: 65397,
              182: 65398,
              183: 65399,
              184: 65400,
              185: 65401,
              186: 65402,
              187: 65403,
              188: 65404,
              189: 65405,
              190: 65406,
              191: 65407,
              192: 65408,
              193: 65409,
              194: 65410,
              195: 65411,
              196: 65412,
              197: 65413,
              198: 65414,
              199: 65415,
              200: 65416,
              201: 65417,
              202: 65418,
              203: 65419,
              204: 65420,
              205: 65421,
              206: 65422,
              207: 65423,
              208: 65424,
              209: 65425,
              210: 65426,
              211: 65427,
              212: 65428,
              213: 65429,
              214: 65430,
              215: 65431,
              216: 65432,
              217: 65433,
              218: 65434,
              219: 65435,
              220: 65436,
              221: 65437,
              222: 65438,
              223: 65439,
              57408: 28478,
              57409: 28435,
              57410: 28407,
              57411: 28550,
              57412: 28538,
              57413: 28536,
              57414: 28545,
              57415: 28544,
              57416: 28527,
              57417: 28507,
              57418: 28659,
              57419: 28525,
              57420: 28546,
              57421: 28540,
              57422: 28504,
              57423: 28558,
              57424: 28561,
              57425: 28610,
              57426: 28518,
              57427: 28595,
              57428: 28579,
              57429: 28577,
              57430: 28580,
              57431: 28601,
              57432: 28614,
              57433: 28586,
              57434: 28639,
              57435: 28629,
              57436: 28652,
              57437: 28628,
              57438: 28632,
              57439: 28657,
              57440: 28654,
              57441: 28635,
              57442: 28681,
              57443: 28683,
              57444: 28666,
              57445: 28689,
              57446: 28673,
              57447: 28687,
              57448: 28670,
              57449: 28699,
              57450: 28698,
              57451: 28532,
              57452: 28701,
              57453: 28696,
              57454: 28703,
              57455: 28720,
              57456: 28734,
              57457: 28722,
              57458: 28753,
              57459: 28771,
              57460: 28825,
              57461: 28818,
              57462: 28847,
              57463: 28913,
              57464: 28844,
              57465: 28856,
              57466: 28851,
              57467: 28846,
              57468: 28895,
              57469: 28875,
              57470: 28893,
              57472: 28889,
              57473: 28937,
              57474: 28925,
              57475: 28956,
              57476: 28953,
              57477: 29029,
              57478: 29013,
              57479: 29064,
              57480: 29030,
              57481: 29026,
              57482: 29004,
              57483: 29014,
              57484: 29036,
              57485: 29071,
              57486: 29179,
              57487: 29060,
              57488: 29077,
              57489: 29096,
              57490: 29100,
              57491: 29143,
              57492: 29113,
              57493: 29118,
              57494: 29138,
              57495: 29129,
              57496: 29140,
              57497: 29134,
              57498: 29152,
              57499: 29164,
              57500: 29159,
              57501: 29173,
              57502: 29180,
              57503: 29177,
              57504: 29183,
              57505: 29197,
              57506: 29200,
              57507: 29211,
              57508: 29224,
              57509: 29229,
              57510: 29228,
              57511: 29232,
              57512: 29234,
              57513: 29243,
              57514: 29244,
              57515: 29247,
              57516: 29248,
              57517: 29254,
              57518: 29259,
              57519: 29272,
              57520: 29300,
              57521: 29310,
              57522: 29314,
              57523: 29313,
              57524: 29319,
              57525: 29330,
              57526: 29334,
              57527: 29346,
              57528: 29351,
              57529: 29369,
              57530: 29362,
              57531: 29379,
              57532: 29382,
              57533: 29380,
              57534: 29390,
              57535: 29394,
              57536: 29410,
              57537: 29408,
              57538: 29409,
              57539: 29433,
              57540: 29431,
              57541: 20495,
              57542: 29463,
              57543: 29450,
              57544: 29468,
              57545: 29462,
              57546: 29469,
              57547: 29492,
              57548: 29487,
              57549: 29481,
              57550: 29477,
              57551: 29502,
              57552: 29518,
              57553: 29519,
              57554: 40664,
              57555: 29527,
              57556: 29546,
              57557: 29544,
              57558: 29552,
              57559: 29560,
              57560: 29557,
              57561: 29563,
              57562: 29562,
              57563: 29640,
              57564: 29619,
              57565: 29646,
              57566: 29627,
              57567: 29632,
              57568: 29669,
              57569: 29678,
              57570: 29662,
              57571: 29858,
              57572: 29701,
              57573: 29807,
              57574: 29733,
              57575: 29688,
              57576: 29746,
              57577: 29754,
              57578: 29781,
              57579: 29759,
              57580: 29791,
              57581: 29785,
              57582: 29761,
              57583: 29788,
              57584: 29801,
              57585: 29808,
              57586: 29795,
              57587: 29802,
              57588: 29814,
              57589: 29822,
              57590: 29835,
              57591: 29854,
              57592: 29863,
              57593: 29898,
              57594: 29903,
              57595: 29908,
              57596: 29681,
              57664: 29920,
              57665: 29923,
              57666: 29927,
              57667: 29929,
              57668: 29934,
              57669: 29938,
              57670: 29936,
              57671: 29937,
              57672: 29944,
              57673: 29943,
              57674: 29956,
              57675: 29955,
              57676: 29957,
              57677: 29964,
              57678: 29966,
              57679: 29965,
              57680: 29973,
              57681: 29971,
              57682: 29982,
              57683: 29990,
              57684: 29996,
              57685: 30012,
              57686: 30020,
              57687: 30029,
              57688: 30026,
              57689: 30025,
              57690: 30043,
              57691: 30022,
              57692: 30042,
              57693: 30057,
              57694: 30052,
              57695: 30055,
              57696: 30059,
              57697: 30061,
              57698: 30072,
              57699: 30070,
              57700: 30086,
              57701: 30087,
              57702: 30068,
              57703: 30090,
              57704: 30089,
              57705: 30082,
              57706: 30100,
              57707: 30106,
              57708: 30109,
              57709: 30117,
              57710: 30115,
              57711: 30146,
              57712: 30131,
              57713: 30147,
              57714: 30133,
              57715: 30141,
              57716: 30136,
              57717: 30140,
              57718: 30129,
              57719: 30157,
              57720: 30154,
              57721: 30162,
              57722: 30169,
              57723: 30179,
              57724: 30174,
              57725: 30206,
              57726: 30207,
              57728: 30204,
              57729: 30209,
              57730: 30192,
              57731: 30202,
              57732: 30194,
              57733: 30195,
              57734: 30219,
              57735: 30221,
              57736: 30217,
              57737: 30239,
              57738: 30247,
              57739: 30240,
              57740: 30241,
              57741: 30242,
              57742: 30244,
              57743: 30260,
              57744: 30256,
              57745: 30267,
              57746: 30279,
              57747: 30280,
              57748: 30278,
              57749: 30300,
              57750: 30296,
              57751: 30305,
              57752: 30306,
              57753: 30312,
              57754: 30313,
              57755: 30314,
              57756: 30311,
              57757: 30316,
              57758: 30320,
              57759: 30322,
              57760: 30326,
              57761: 30328,
              57762: 30332,
              57763: 30336,
              57764: 30339,
              57765: 30344,
              57766: 30347,
              57767: 30350,
              57768: 30358,
              57769: 30355,
              57770: 30361,
              57771: 30362,
              57772: 30384,
              57773: 30388,
              57774: 30392,
              57775: 30393,
              57776: 30394,
              57777: 30402,
              57778: 30413,
              57779: 30422,
              57780: 30418,
              57781: 30430,
              57782: 30433,
              57783: 30437,
              57784: 30439,
              57785: 30442,
              57786: 34351,
              57787: 30459,
              57788: 30472,
              57789: 30471,
              57790: 30468,
              57791: 30505,
              57792: 30500,
              57793: 30494,
              57794: 30501,
              57795: 30502,
              57796: 30491,
              57797: 30519,
              57798: 30520,
              57799: 30535,
              57800: 30554,
              57801: 30568,
              57802: 30571,
              57803: 30555,
              57804: 30565,
              57805: 30591,
              57806: 30590,
              57807: 30585,
              57808: 30606,
              57809: 30603,
              57810: 30609,
              57811: 30624,
              57812: 30622,
              57813: 30640,
              57814: 30646,
              57815: 30649,
              57816: 30655,
              57817: 30652,
              57818: 30653,
              57819: 30651,
              57820: 30663,
              57821: 30669,
              57822: 30679,
              57823: 30682,
              57824: 30684,
              57825: 30691,
              57826: 30702,
              57827: 30716,
              57828: 30732,
              57829: 30738,
              57830: 31014,
              57831: 30752,
              57832: 31018,
              57833: 30789,
              57834: 30862,
              57835: 30836,
              57836: 30854,
              57837: 30844,
              57838: 30874,
              57839: 30860,
              57840: 30883,
              57841: 30901,
              57842: 30890,
              57843: 30895,
              57844: 30929,
              57845: 30918,
              57846: 30923,
              57847: 30932,
              57848: 30910,
              57849: 30908,
              57850: 30917,
              57851: 30922,
              57852: 30956,
              57920: 30951,
              57921: 30938,
              57922: 30973,
              57923: 30964,
              57924: 30983,
              57925: 30994,
              57926: 30993,
              57927: 31001,
              57928: 31020,
              57929: 31019,
              57930: 31040,
              57931: 31072,
              57932: 31063,
              57933: 31071,
              57934: 31066,
              57935: 31061,
              57936: 31059,
              57937: 31098,
              57938: 31103,
              57939: 31114,
              57940: 31133,
              57941: 31143,
              57942: 40779,
              57943: 31146,
              57944: 31150,
              57945: 31155,
              57946: 31161,
              57947: 31162,
              57948: 31177,
              57949: 31189,
              57950: 31207,
              57951: 31212,
              57952: 31201,
              57953: 31203,
              57954: 31240,
              57955: 31245,
              57956: 31256,
              57957: 31257,
              57958: 31264,
              57959: 31263,
              57960: 31104,
              57961: 31281,
              57962: 31291,
              57963: 31294,
              57964: 31287,
              57965: 31299,
              57966: 31319,
              57967: 31305,
              57968: 31329,
              57969: 31330,
              57970: 31337,
              57971: 40861,
              57972: 31344,
              57973: 31353,
              57974: 31357,
              57975: 31368,
              57976: 31383,
              57977: 31381,
              57978: 31384,
              57979: 31382,
              57980: 31401,
              57981: 31432,
              57982: 31408,
              57984: 31414,
              57985: 31429,
              57986: 31428,
              57987: 31423,
              57988: 36995,
              57989: 31431,
              57990: 31434,
              57991: 31437,
              57992: 31439,
              57993: 31445,
              57994: 31443,
              57995: 31449,
              57996: 31450,
              57997: 31453,
              57998: 31457,
              57999: 31458,
              58e3: 31462,
              58001: 31469,
              58002: 31472,
              58003: 31490,
              58004: 31503,
              58005: 31498,
              58006: 31494,
              58007: 31539,
              58008: 31512,
              58009: 31513,
              58010: 31518,
              58011: 31541,
              58012: 31528,
              58013: 31542,
              58014: 31568,
              58015: 31610,
              58016: 31492,
              58017: 31565,
              58018: 31499,
              58019: 31564,
              58020: 31557,
              58021: 31605,
              58022: 31589,
              58023: 31604,
              58024: 31591,
              58025: 31600,
              58026: 31601,
              58027: 31596,
              58028: 31598,
              58029: 31645,
              58030: 31640,
              58031: 31647,
              58032: 31629,
              58033: 31644,
              58034: 31642,
              58035: 31627,
              58036: 31634,
              58037: 31631,
              58038: 31581,
              58039: 31641,
              58040: 31691,
              58041: 31681,
              58042: 31692,
              58043: 31695,
              58044: 31668,
              58045: 31686,
              58046: 31709,
              58047: 31721,
              58048: 31761,
              58049: 31764,
              58050: 31718,
              58051: 31717,
              58052: 31840,
              58053: 31744,
              58054: 31751,
              58055: 31763,
              58056: 31731,
              58057: 31735,
              58058: 31767,
              58059: 31757,
              58060: 31734,
              58061: 31779,
              58062: 31783,
              58063: 31786,
              58064: 31775,
              58065: 31799,
              58066: 31787,
              58067: 31805,
              58068: 31820,
              58069: 31811,
              58070: 31828,
              58071: 31823,
              58072: 31808,
              58073: 31824,
              58074: 31832,
              58075: 31839,
              58076: 31844,
              58077: 31830,
              58078: 31845,
              58079: 31852,
              58080: 31861,
              58081: 31875,
              58082: 31888,
              58083: 31908,
              58084: 31917,
              58085: 31906,
              58086: 31915,
              58087: 31905,
              58088: 31912,
              58089: 31923,
              58090: 31922,
              58091: 31921,
              58092: 31918,
              58093: 31929,
              58094: 31933,
              58095: 31936,
              58096: 31941,
              58097: 31938,
              58098: 31960,
              58099: 31954,
              58100: 31964,
              58101: 31970,
              58102: 39739,
              58103: 31983,
              58104: 31986,
              58105: 31988,
              58106: 31990,
              58107: 31994,
              58108: 32006,
              58176: 32002,
              58177: 32028,
              58178: 32021,
              58179: 32010,
              58180: 32069,
              58181: 32075,
              58182: 32046,
              58183: 32050,
              58184: 32063,
              58185: 32053,
              58186: 32070,
              58187: 32115,
              58188: 32086,
              58189: 32078,
              58190: 32114,
              58191: 32104,
              58192: 32110,
              58193: 32079,
              58194: 32099,
              58195: 32147,
              58196: 32137,
              58197: 32091,
              58198: 32143,
              58199: 32125,
              58200: 32155,
              58201: 32186,
              58202: 32174,
              58203: 32163,
              58204: 32181,
              58205: 32199,
              58206: 32189,
              58207: 32171,
              58208: 32317,
              58209: 32162,
              58210: 32175,
              58211: 32220,
              58212: 32184,
              58213: 32159,
              58214: 32176,
              58215: 32216,
              58216: 32221,
              58217: 32228,
              58218: 32222,
              58219: 32251,
              58220: 32242,
              58221: 32225,
              58222: 32261,
              58223: 32266,
              58224: 32291,
              58225: 32289,
              58226: 32274,
              58227: 32305,
              58228: 32287,
              58229: 32265,
              58230: 32267,
              58231: 32290,
              58232: 32326,
              58233: 32358,
              58234: 32315,
              58235: 32309,
              58236: 32313,
              58237: 32323,
              58238: 32311,
              58240: 32306,
              58241: 32314,
              58242: 32359,
              58243: 32349,
              58244: 32342,
              58245: 32350,
              58246: 32345,
              58247: 32346,
              58248: 32377,
              58249: 32362,
              58250: 32361,
              58251: 32380,
              58252: 32379,
              58253: 32387,
              58254: 32213,
              58255: 32381,
              58256: 36782,
              58257: 32383,
              58258: 32392,
              58259: 32393,
              58260: 32396,
              58261: 32402,
              58262: 32400,
              58263: 32403,
              58264: 32404,
              58265: 32406,
              58266: 32398,
              58267: 32411,
              58268: 32412,
              58269: 32568,
              58270: 32570,
              58271: 32581,
              58272: 32588,
              58273: 32589,
              58274: 32590,
              58275: 32592,
              58276: 32593,
              58277: 32597,
              58278: 32596,
              58279: 32600,
              58280: 32607,
              58281: 32608,
              58282: 32616,
              58283: 32617,
              58284: 32615,
              58285: 32632,
              58286: 32642,
              58287: 32646,
              58288: 32643,
              58289: 32648,
              58290: 32647,
              58291: 32652,
              58292: 32660,
              58293: 32670,
              58294: 32669,
              58295: 32666,
              58296: 32675,
              58297: 32687,
              58298: 32690,
              58299: 32697,
              58300: 32686,
              58301: 32694,
              58302: 32696,
              58303: 35697,
              58304: 32709,
              58305: 32710,
              58306: 32714,
              58307: 32725,
              58308: 32724,
              58309: 32737,
              58310: 32742,
              58311: 32745,
              58312: 32755,
              58313: 32761,
              58314: 39132,
              58315: 32774,
              58316: 32772,
              58317: 32779,
              58318: 32786,
              58319: 32792,
              58320: 32793,
              58321: 32796,
              58322: 32801,
              58323: 32808,
              58324: 32831,
              58325: 32827,
              58326: 32842,
              58327: 32838,
              58328: 32850,
              58329: 32856,
              58330: 32858,
              58331: 32863,
              58332: 32866,
              58333: 32872,
              58334: 32883,
              58335: 32882,
              58336: 32880,
              58337: 32886,
              58338: 32889,
              58339: 32893,
              58340: 32895,
              58341: 32900,
              58342: 32902,
              58343: 32901,
              58344: 32923,
              58345: 32915,
              58346: 32922,
              58347: 32941,
              58348: 20880,
              58349: 32940,
              58350: 32987,
              58351: 32997,
              58352: 32985,
              58353: 32989,
              58354: 32964,
              58355: 32986,
              58356: 32982,
              58357: 33033,
              58358: 33007,
              58359: 33009,
              58360: 33051,
              58361: 33065,
              58362: 33059,
              58363: 33071,
              58364: 33099,
              58432: 38539,
              58433: 33094,
              58434: 33086,
              58435: 33107,
              58436: 33105,
              58437: 33020,
              58438: 33137,
              58439: 33134,
              58440: 33125,
              58441: 33126,
              58442: 33140,
              58443: 33155,
              58444: 33160,
              58445: 33162,
              58446: 33152,
              58447: 33154,
              58448: 33184,
              58449: 33173,
              58450: 33188,
              58451: 33187,
              58452: 33119,
              58453: 33171,
              58454: 33193,
              58455: 33200,
              58456: 33205,
              58457: 33214,
              58458: 33208,
              58459: 33213,
              58460: 33216,
              58461: 33218,
              58462: 33210,
              58463: 33225,
              58464: 33229,
              58465: 33233,
              58466: 33241,
              58467: 33240,
              58468: 33224,
              58469: 33242,
              58470: 33247,
              58471: 33248,
              58472: 33255,
              58473: 33274,
              58474: 33275,
              58475: 33278,
              58476: 33281,
              58477: 33282,
              58478: 33285,
              58479: 33287,
              58480: 33290,
              58481: 33293,
              58482: 33296,
              58483: 33302,
              58484: 33321,
              58485: 33323,
              58486: 33336,
              58487: 33331,
              58488: 33344,
              58489: 33369,
              58490: 33368,
              58491: 33373,
              58492: 33370,
              58493: 33375,
              58494: 33380,
              58496: 33378,
              58497: 33384,
              58498: 33386,
              58499: 33387,
              58500: 33326,
              58501: 33393,
              58502: 33399,
              58503: 33400,
              58504: 33406,
              58505: 33421,
              58506: 33426,
              58507: 33451,
              58508: 33439,
              58509: 33467,
              58510: 33452,
              58511: 33505,
              58512: 33507,
              58513: 33503,
              58514: 33490,
              58515: 33524,
              58516: 33523,
              58517: 33530,
              58518: 33683,
              58519: 33539,
              58520: 33531,
              58521: 33529,
              58522: 33502,
              58523: 33542,
              58524: 33500,
              58525: 33545,
              58526: 33497,
              58527: 33589,
              58528: 33588,
              58529: 33558,
              58530: 33586,
              58531: 33585,
              58532: 33600,
              58533: 33593,
              58534: 33616,
              58535: 33605,
              58536: 33583,
              58537: 33579,
              58538: 33559,
              58539: 33560,
              58540: 33669,
              58541: 33690,
              58542: 33706,
              58543: 33695,
              58544: 33698,
              58545: 33686,
              58546: 33571,
              58547: 33678,
              58548: 33671,
              58549: 33674,
              58550: 33660,
              58551: 33717,
              58552: 33651,
              58553: 33653,
              58554: 33696,
              58555: 33673,
              58556: 33704,
              58557: 33780,
              58558: 33811,
              58559: 33771,
              58560: 33742,
              58561: 33789,
              58562: 33795,
              58563: 33752,
              58564: 33803,
              58565: 33729,
              58566: 33783,
              58567: 33799,
              58568: 33760,
              58569: 33778,
              58570: 33805,
              58571: 33826,
              58572: 33824,
              58573: 33725,
              58574: 33848,
              58575: 34054,
              58576: 33787,
              58577: 33901,
              58578: 33834,
              58579: 33852,
              58580: 34138,
              58581: 33924,
              58582: 33911,
              58583: 33899,
              58584: 33965,
              58585: 33902,
              58586: 33922,
              58587: 33897,
              58588: 33862,
              58589: 33836,
              58590: 33903,
              58591: 33913,
              58592: 33845,
              58593: 33994,
              58594: 33890,
              58595: 33977,
              58596: 33983,
              58597: 33951,
              58598: 34009,
              58599: 33997,
              58600: 33979,
              58601: 34010,
              58602: 34e3,
              58603: 33985,
              58604: 33990,
              58605: 34006,
              58606: 33953,
              58607: 34081,
              58608: 34047,
              58609: 34036,
              58610: 34071,
              58611: 34072,
              58612: 34092,
              58613: 34079,
              58614: 34069,
              58615: 34068,
              58616: 34044,
              58617: 34112,
              58618: 34147,
              58619: 34136,
              58620: 34120,
              58688: 34113,
              58689: 34306,
              58690: 34123,
              58691: 34133,
              58692: 34176,
              58693: 34212,
              58694: 34184,
              58695: 34193,
              58696: 34186,
              58697: 34216,
              58698: 34157,
              58699: 34196,
              58700: 34203,
              58701: 34282,
              58702: 34183,
              58703: 34204,
              58704: 34167,
              58705: 34174,
              58706: 34192,
              58707: 34249,
              58708: 34234,
              58709: 34255,
              58710: 34233,
              58711: 34256,
              58712: 34261,
              58713: 34269,
              58714: 34277,
              58715: 34268,
              58716: 34297,
              58717: 34314,
              58718: 34323,
              58719: 34315,
              58720: 34302,
              58721: 34298,
              58722: 34310,
              58723: 34338,
              58724: 34330,
              58725: 34352,
              58726: 34367,
              58727: 34381,
              58728: 20053,
              58729: 34388,
              58730: 34399,
              58731: 34407,
              58732: 34417,
              58733: 34451,
              58734: 34467,
              58735: 34473,
              58736: 34474,
              58737: 34443,
              58738: 34444,
              58739: 34486,
              58740: 34479,
              58741: 34500,
              58742: 34502,
              58743: 34480,
              58744: 34505,
              58745: 34851,
              58746: 34475,
              58747: 34516,
              58748: 34526,
              58749: 34537,
              58750: 34540,
              58752: 34527,
              58753: 34523,
              58754: 34543,
              58755: 34578,
              58756: 34566,
              58757: 34568,
              58758: 34560,
              58759: 34563,
              58760: 34555,
              58761: 34577,
              58762: 34569,
              58763: 34573,
              58764: 34553,
              58765: 34570,
              58766: 34612,
              58767: 34623,
              58768: 34615,
              58769: 34619,
              58770: 34597,
              58771: 34601,
              58772: 34586,
              58773: 34656,
              58774: 34655,
              58775: 34680,
              58776: 34636,
              58777: 34638,
              58778: 34676,
              58779: 34647,
              58780: 34664,
              58781: 34670,
              58782: 34649,
              58783: 34643,
              58784: 34659,
              58785: 34666,
              58786: 34821,
              58787: 34722,
              58788: 34719,
              58789: 34690,
              58790: 34735,
              58791: 34763,
              58792: 34749,
              58793: 34752,
              58794: 34768,
              58795: 38614,
              58796: 34731,
              58797: 34756,
              58798: 34739,
              58799: 34759,
              58800: 34758,
              58801: 34747,
              58802: 34799,
              58803: 34802,
              58804: 34784,
              58805: 34831,
              58806: 34829,
              58807: 34814,
              58808: 34806,
              58809: 34807,
              58810: 34830,
              58811: 34770,
              58812: 34833,
              58813: 34838,
              58814: 34837,
              58815: 34850,
              58816: 34849,
              58817: 34865,
              58818: 34870,
              58819: 34873,
              58820: 34855,
              58821: 34875,
              58822: 34884,
              58823: 34882,
              58824: 34898,
              58825: 34905,
              58826: 34910,
              58827: 34914,
              58828: 34923,
              58829: 34945,
              58830: 34942,
              58831: 34974,
              58832: 34933,
              58833: 34941,
              58834: 34997,
              58835: 34930,
              58836: 34946,
              58837: 34967,
              58838: 34962,
              58839: 34990,
              58840: 34969,
              58841: 34978,
              58842: 34957,
              58843: 34980,
              58844: 34992,
              58845: 35007,
              58846: 34993,
              58847: 35011,
              58848: 35012,
              58849: 35028,
              58850: 35032,
              58851: 35033,
              58852: 35037,
              58853: 35065,
              58854: 35074,
              58855: 35068,
              58856: 35060,
              58857: 35048,
              58858: 35058,
              58859: 35076,
              58860: 35084,
              58861: 35082,
              58862: 35091,
              58863: 35139,
              58864: 35102,
              58865: 35109,
              58866: 35114,
              58867: 35115,
              58868: 35137,
              58869: 35140,
              58870: 35131,
              58871: 35126,
              58872: 35128,
              58873: 35148,
              58874: 35101,
              58875: 35168,
              58876: 35166,
              58944: 35174,
              58945: 35172,
              58946: 35181,
              58947: 35178,
              58948: 35183,
              58949: 35188,
              58950: 35191,
              58951: 35198,
              58952: 35203,
              58953: 35208,
              58954: 35210,
              58955: 35219,
              58956: 35224,
              58957: 35233,
              58958: 35241,
              58959: 35238,
              58960: 35244,
              58961: 35247,
              58962: 35250,
              58963: 35258,
              58964: 35261,
              58965: 35263,
              58966: 35264,
              58967: 35290,
              58968: 35292,
              58969: 35293,
              58970: 35303,
              58971: 35316,
              58972: 35320,
              58973: 35331,
              58974: 35350,
              58975: 35344,
              58976: 35340,
              58977: 35355,
              58978: 35357,
              58979: 35365,
              58980: 35382,
              58981: 35393,
              58982: 35419,
              58983: 35410,
              58984: 35398,
              58985: 35400,
              58986: 35452,
              58987: 35437,
              58988: 35436,
              58989: 35426,
              58990: 35461,
              58991: 35458,
              58992: 35460,
              58993: 35496,
              58994: 35489,
              58995: 35473,
              58996: 35493,
              58997: 35494,
              58998: 35482,
              58999: 35491,
              59e3: 35524,
              59001: 35533,
              59002: 35522,
              59003: 35546,
              59004: 35563,
              59005: 35571,
              59006: 35559,
              59008: 35556,
              59009: 35569,
              59010: 35604,
              59011: 35552,
              59012: 35554,
              59013: 35575,
              59014: 35550,
              59015: 35547,
              59016: 35596,
              59017: 35591,
              59018: 35610,
              59019: 35553,
              59020: 35606,
              59021: 35600,
              59022: 35607,
              59023: 35616,
              59024: 35635,
              59025: 38827,
              59026: 35622,
              59027: 35627,
              59028: 35646,
              59029: 35624,
              59030: 35649,
              59031: 35660,
              59032: 35663,
              59033: 35662,
              59034: 35657,
              59035: 35670,
              59036: 35675,
              59037: 35674,
              59038: 35691,
              59039: 35679,
              59040: 35692,
              59041: 35695,
              59042: 35700,
              59043: 35709,
              59044: 35712,
              59045: 35724,
              59046: 35726,
              59047: 35730,
              59048: 35731,
              59049: 35734,
              59050: 35737,
              59051: 35738,
              59052: 35898,
              59053: 35905,
              59054: 35903,
              59055: 35912,
              59056: 35916,
              59057: 35918,
              59058: 35920,
              59059: 35925,
              59060: 35938,
              59061: 35948,
              59062: 35960,
              59063: 35962,
              59064: 35970,
              59065: 35977,
              59066: 35973,
              59067: 35978,
              59068: 35981,
              59069: 35982,
              59070: 35988,
              59071: 35964,
              59072: 35992,
              59073: 25117,
              59074: 36013,
              59075: 36010,
              59076: 36029,
              59077: 36018,
              59078: 36019,
              59079: 36014,
              59080: 36022,
              59081: 36040,
              59082: 36033,
              59083: 36068,
              59084: 36067,
              59085: 36058,
              59086: 36093,
              59087: 36090,
              59088: 36091,
              59089: 36100,
              59090: 36101,
              59091: 36106,
              59092: 36103,
              59093: 36111,
              59094: 36109,
              59095: 36112,
              59096: 40782,
              59097: 36115,
              59098: 36045,
              59099: 36116,
              59100: 36118,
              59101: 36199,
              59102: 36205,
              59103: 36209,
              59104: 36211,
              59105: 36225,
              59106: 36249,
              59107: 36290,
              59108: 36286,
              59109: 36282,
              59110: 36303,
              59111: 36314,
              59112: 36310,
              59113: 36300,
              59114: 36315,
              59115: 36299,
              59116: 36330,
              59117: 36331,
              59118: 36319,
              59119: 36323,
              59120: 36348,
              59121: 36360,
              59122: 36361,
              59123: 36351,
              59124: 36381,
              59125: 36382,
              59126: 36368,
              59127: 36383,
              59128: 36418,
              59129: 36405,
              59130: 36400,
              59131: 36404,
              59132: 36426,
              59200: 36423,
              59201: 36425,
              59202: 36428,
              59203: 36432,
              59204: 36424,
              59205: 36441,
              59206: 36452,
              59207: 36448,
              59208: 36394,
              59209: 36451,
              59210: 36437,
              59211: 36470,
              59212: 36466,
              59213: 36476,
              59214: 36481,
              59215: 36487,
              59216: 36485,
              59217: 36484,
              59218: 36491,
              59219: 36490,
              59220: 36499,
              59221: 36497,
              59222: 36500,
              59223: 36505,
              59224: 36522,
              59225: 36513,
              59226: 36524,
              59227: 36528,
              59228: 36550,
              59229: 36529,
              59230: 36542,
              59231: 36549,
              59232: 36552,
              59233: 36555,
              59234: 36571,
              59235: 36579,
              59236: 36604,
              59237: 36603,
              59238: 36587,
              59239: 36606,
              59240: 36618,
              59241: 36613,
              59242: 36629,
              59243: 36626,
              59244: 36633,
              59245: 36627,
              59246: 36636,
              59247: 36639,
              59248: 36635,
              59249: 36620,
              59250: 36646,
              59251: 36659,
              59252: 36667,
              59253: 36665,
              59254: 36677,
              59255: 36674,
              59256: 36670,
              59257: 36684,
              59258: 36681,
              59259: 36678,
              59260: 36686,
              59261: 36695,
              59262: 36700,
              59264: 36706,
              59265: 36707,
              59266: 36708,
              59267: 36764,
              59268: 36767,
              59269: 36771,
              59270: 36781,
              59271: 36783,
              59272: 36791,
              59273: 36826,
              59274: 36837,
              59275: 36834,
              59276: 36842,
              59277: 36847,
              59278: 36999,
              59279: 36852,
              59280: 36869,
              59281: 36857,
              59282: 36858,
              59283: 36881,
              59284: 36885,
              59285: 36897,
              59286: 36877,
              59287: 36894,
              59288: 36886,
              59289: 36875,
              59290: 36903,
              59291: 36918,
              59292: 36917,
              59293: 36921,
              59294: 36856,
              59295: 36943,
              59296: 36944,
              59297: 36945,
              59298: 36946,
              59299: 36878,
              59300: 36937,
              59301: 36926,
              59302: 36950,
              59303: 36952,
              59304: 36958,
              59305: 36968,
              59306: 36975,
              59307: 36982,
              59308: 38568,
              59309: 36978,
              59310: 36994,
              59311: 36989,
              59312: 36993,
              59313: 36992,
              59314: 37002,
              59315: 37001,
              59316: 37007,
              59317: 37032,
              59318: 37039,
              59319: 37041,
              59320: 37045,
              59321: 37090,
              59322: 37092,
              59323: 25160,
              59324: 37083,
              59325: 37122,
              59326: 37138,
              59327: 37145,
              59328: 37170,
              59329: 37168,
              59330: 37194,
              59331: 37206,
              59332: 37208,
              59333: 37219,
              59334: 37221,
              59335: 37225,
              59336: 37235,
              59337: 37234,
              59338: 37259,
              59339: 37257,
              59340: 37250,
              59341: 37282,
              59342: 37291,
              59343: 37295,
              59344: 37290,
              59345: 37301,
              59346: 37300,
              59347: 37306,
              59348: 37312,
              59349: 37313,
              59350: 37321,
              59351: 37323,
              59352: 37328,
              59353: 37334,
              59354: 37343,
              59355: 37345,
              59356: 37339,
              59357: 37372,
              59358: 37365,
              59359: 37366,
              59360: 37406,
              59361: 37375,
              59362: 37396,
              59363: 37420,
              59364: 37397,
              59365: 37393,
              59366: 37470,
              59367: 37463,
              59368: 37445,
              59369: 37449,
              59370: 37476,
              59371: 37448,
              59372: 37525,
              59373: 37439,
              59374: 37451,
              59375: 37456,
              59376: 37532,
              59377: 37526,
              59378: 37523,
              59379: 37531,
              59380: 37466,
              59381: 37583,
              59382: 37561,
              59383: 37559,
              59384: 37609,
              59385: 37647,
              59386: 37626,
              59387: 37700,
              59388: 37678,
              59456: 37657,
              59457: 37666,
              59458: 37658,
              59459: 37667,
              59460: 37690,
              59461: 37685,
              59462: 37691,
              59463: 37724,
              59464: 37728,
              59465: 37756,
              59466: 37742,
              59467: 37718,
              59468: 37808,
              59469: 37804,
              59470: 37805,
              59471: 37780,
              59472: 37817,
              59473: 37846,
              59474: 37847,
              59475: 37864,
              59476: 37861,
              59477: 37848,
              59478: 37827,
              59479: 37853,
              59480: 37840,
              59481: 37832,
              59482: 37860,
              59483: 37914,
              59484: 37908,
              59485: 37907,
              59486: 37891,
              59487: 37895,
              59488: 37904,
              59489: 37942,
              59490: 37931,
              59491: 37941,
              59492: 37921,
              59493: 37946,
              59494: 37953,
              59495: 37970,
              59496: 37956,
              59497: 37979,
              59498: 37984,
              59499: 37986,
              59500: 37982,
              59501: 37994,
              59502: 37417,
              59503: 38e3,
              59504: 38005,
              59505: 38007,
              59506: 38013,
              59507: 37978,
              59508: 38012,
              59509: 38014,
              59510: 38017,
              59511: 38015,
              59512: 38274,
              59513: 38279,
              59514: 38282,
              59515: 38292,
              59516: 38294,
              59517: 38296,
              59518: 38297,
              59520: 38304,
              59521: 38312,
              59522: 38311,
              59523: 38317,
              59524: 38332,
              59525: 38331,
              59526: 38329,
              59527: 38334,
              59528: 38346,
              59529: 28662,
              59530: 38339,
              59531: 38349,
              59532: 38348,
              59533: 38357,
              59534: 38356,
              59535: 38358,
              59536: 38364,
              59537: 38369,
              59538: 38373,
              59539: 38370,
              59540: 38433,
              59541: 38440,
              59542: 38446,
              59543: 38447,
              59544: 38466,
              59545: 38476,
              59546: 38479,
              59547: 38475,
              59548: 38519,
              59549: 38492,
              59550: 38494,
              59551: 38493,
              59552: 38495,
              59553: 38502,
              59554: 38514,
              59555: 38508,
              59556: 38541,
              59557: 38552,
              59558: 38549,
              59559: 38551,
              59560: 38570,
              59561: 38567,
              59562: 38577,
              59563: 38578,
              59564: 38576,
              59565: 38580,
              59566: 38582,
              59567: 38584,
              59568: 38585,
              59569: 38606,
              59570: 38603,
              59571: 38601,
              59572: 38605,
              59573: 35149,
              59574: 38620,
              59575: 38669,
              59576: 38613,
              59577: 38649,
              59578: 38660,
              59579: 38662,
              59580: 38664,
              59581: 38675,
              59582: 38670,
              59583: 38673,
              59584: 38671,
              59585: 38678,
              59586: 38681,
              59587: 38692,
              59588: 38698,
              59589: 38704,
              59590: 38713,
              59591: 38717,
              59592: 38718,
              59593: 38724,
              59594: 38726,
              59595: 38728,
              59596: 38722,
              59597: 38729,
              59598: 38748,
              59599: 38752,
              59600: 38756,
              59601: 38758,
              59602: 38760,
              59603: 21202,
              59604: 38763,
              59605: 38769,
              59606: 38777,
              59607: 38789,
              59608: 38780,
              59609: 38785,
              59610: 38778,
              59611: 38790,
              59612: 38795,
              59613: 38799,
              59614: 38800,
              59615: 38812,
              59616: 38824,
              59617: 38822,
              59618: 38819,
              59619: 38835,
              59620: 38836,
              59621: 38851,
              59622: 38854,
              59623: 38856,
              59624: 38859,
              59625: 38876,
              59626: 38893,
              59627: 40783,
              59628: 38898,
              59629: 31455,
              59630: 38902,
              59631: 38901,
              59632: 38927,
              59633: 38924,
              59634: 38968,
              59635: 38948,
              59636: 38945,
              59637: 38967,
              59638: 38973,
              59639: 38982,
              59640: 38991,
              59641: 38987,
              59642: 39019,
              59643: 39023,
              59644: 39024,
              59712: 39025,
              59713: 39028,
              59714: 39027,
              59715: 39082,
              59716: 39087,
              59717: 39089,
              59718: 39094,
              59719: 39108,
              59720: 39107,
              59721: 39110,
              59722: 39145,
              59723: 39147,
              59724: 39171,
              59725: 39177,
              59726: 39186,
              59727: 39188,
              59728: 39192,
              59729: 39201,
              59730: 39197,
              59731: 39198,
              59732: 39204,
              59733: 39200,
              59734: 39212,
              59735: 39214,
              59736: 39229,
              59737: 39230,
              59738: 39234,
              59739: 39241,
              59740: 39237,
              59741: 39248,
              59742: 39243,
              59743: 39249,
              59744: 39250,
              59745: 39244,
              59746: 39253,
              59747: 39319,
              59748: 39320,
              59749: 39333,
              59750: 39341,
              59751: 39342,
              59752: 39356,
              59753: 39391,
              59754: 39387,
              59755: 39389,
              59756: 39384,
              59757: 39377,
              59758: 39405,
              59759: 39406,
              59760: 39409,
              59761: 39410,
              59762: 39419,
              59763: 39416,
              59764: 39425,
              59765: 39439,
              59766: 39429,
              59767: 39394,
              59768: 39449,
              59769: 39467,
              59770: 39479,
              59771: 39493,
              59772: 39490,
              59773: 39488,
              59774: 39491,
              59776: 39486,
              59777: 39509,
              59778: 39501,
              59779: 39515,
              59780: 39511,
              59781: 39519,
              59782: 39522,
              59783: 39525,
              59784: 39524,
              59785: 39529,
              59786: 39531,
              59787: 39530,
              59788: 39597,
              59789: 39600,
              59790: 39612,
              59791: 39616,
              59792: 39631,
              59793: 39633,
              59794: 39635,
              59795: 39636,
              59796: 39646,
              59797: 39647,
              59798: 39650,
              59799: 39651,
              59800: 39654,
              59801: 39663,
              59802: 39659,
              59803: 39662,
              59804: 39668,
              59805: 39665,
              59806: 39671,
              59807: 39675,
              59808: 39686,
              59809: 39704,
              59810: 39706,
              59811: 39711,
              59812: 39714,
              59813: 39715,
              59814: 39717,
              59815: 39719,
              59816: 39720,
              59817: 39721,
              59818: 39722,
              59819: 39726,
              59820: 39727,
              59821: 39730,
              59822: 39748,
              59823: 39747,
              59824: 39759,
              59825: 39757,
              59826: 39758,
              59827: 39761,
              59828: 39768,
              59829: 39796,
              59830: 39827,
              59831: 39811,
              59832: 39825,
              59833: 39830,
              59834: 39831,
              59835: 39839,
              59836: 39840,
              59837: 39848,
              59838: 39860,
              59839: 39872,
              59840: 39882,
              59841: 39865,
              59842: 39878,
              59843: 39887,
              59844: 39889,
              59845: 39890,
              59846: 39907,
              59847: 39906,
              59848: 39908,
              59849: 39892,
              59850: 39905,
              59851: 39994,
              59852: 39922,
              59853: 39921,
              59854: 39920,
              59855: 39957,
              59856: 39956,
              59857: 39945,
              59858: 39955,
              59859: 39948,
              59860: 39942,
              59861: 39944,
              59862: 39954,
              59863: 39946,
              59864: 39940,
              59865: 39982,
              59866: 39963,
              59867: 39973,
              59868: 39972,
              59869: 39969,
              59870: 39984,
              59871: 40007,
              59872: 39986,
              59873: 40006,
              59874: 39998,
              59875: 40026,
              59876: 40032,
              59877: 40039,
              59878: 40054,
              59879: 40056,
              59880: 40167,
              59881: 40172,
              59882: 40176,
              59883: 40201,
              59884: 40200,
              59885: 40171,
              59886: 40195,
              59887: 40198,
              59888: 40234,
              59889: 40230,
              59890: 40367,
              59891: 40227,
              59892: 40223,
              59893: 40260,
              59894: 40213,
              59895: 40210,
              59896: 40257,
              59897: 40255,
              59898: 40254,
              59899: 40262,
              59900: 40264,
              59968: 40285,
              59969: 40286,
              59970: 40292,
              59971: 40273,
              59972: 40272,
              59973: 40281,
              59974: 40306,
              59975: 40329,
              59976: 40327,
              59977: 40363,
              59978: 40303,
              59979: 40314,
              59980: 40346,
              59981: 40356,
              59982: 40361,
              59983: 40370,
              59984: 40388,
              59985: 40385,
              59986: 40379,
              59987: 40376,
              59988: 40378,
              59989: 40390,
              59990: 40399,
              59991: 40386,
              59992: 40409,
              59993: 40403,
              59994: 40440,
              59995: 40422,
              59996: 40429,
              59997: 40431,
              59998: 40445,
              59999: 40474,
              6e4: 40475,
              60001: 40478,
              60002: 40565,
              60003: 40569,
              60004: 40573,
              60005: 40577,
              60006: 40584,
              60007: 40587,
              60008: 40588,
              60009: 40594,
              60010: 40597,
              60011: 40593,
              60012: 40605,
              60013: 40613,
              60014: 40617,
              60015: 40632,
              60016: 40618,
              60017: 40621,
              60018: 38753,
              60019: 40652,
              60020: 40654,
              60021: 40655,
              60022: 40656,
              60023: 40660,
              60024: 40668,
              60025: 40670,
              60026: 40669,
              60027: 40672,
              60028: 40677,
              60029: 40680,
              60030: 40687,
              60032: 40692,
              60033: 40694,
              60034: 40695,
              60035: 40697,
              60036: 40699,
              60037: 40700,
              60038: 40701,
              60039: 40711,
              60040: 40712,
              60041: 30391,
              60042: 40725,
              60043: 40737,
              60044: 40748,
              60045: 40766,
              60046: 40778,
              60047: 40786,
              60048: 40788,
              60049: 40803,
              60050: 40799,
              60051: 40800,
              60052: 40801,
              60053: 40806,
              60054: 40807,
              60055: 40812,
              60056: 40810,
              60057: 40823,
              60058: 40818,
              60059: 40822,
              60060: 40853,
              60061: 40860,
              60062: 40864,
              60063: 22575,
              60064: 27079,
              60065: 36953,
              60066: 29796,
              60067: 20956,
              60068: 29081
            };
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(1), s = a(2);
            function l(f, m, p, g) {
              var E;
              m.degree() < p.degree() && (E = [
                p,
                m
              ], m = E[0], p = E[1]);
              for (var A = m, w = p, D = f.zero, B = f.one; w.degree() >= g / 2; ) {
                var v = A, _ = D;
                if (A = w, D = B, A.isZero()) return null;
                w = v;
                for (var T = f.zero, I = A.getCoefficient(A.degree()), z = f.inverse(I); w.degree() >= A.degree() && !w.isZero(); ) {
                  var C = w.degree() - A.degree(), j = f.multiply(w.getCoefficient(w.degree()), z);
                  T = T.addOrSubtract(f.buildMonomial(C, j)), w = w.addOrSubtract(A.multiplyByMonomial(C, j));
                }
                if (B = T.multiplyPoly(D).addOrSubtract(_), w.degree() >= A.degree()) return null;
              }
              var U = B.getCoefficient(0);
              if (U === 0) return null;
              var P = f.inverse(U);
              return [
                B.multiply(P),
                w.multiply(P)
              ];
            }
            function u(f, m) {
              var p = m.degree();
              if (p === 1) return [
                m.getCoefficient(1)
              ];
              for (var g = new Array(p), E = 0, A = 1; A < f.size && E < p; A++) m.evaluateAt(A) === 0 && (g[E] = f.inverse(A), E++);
              return E !== p ? null : g;
            }
            function x(f, m, p) {
              for (var g = p.length, E = new Array(g), A = 0; A < g; A++) {
                for (var w = f.inverse(p[A]), D = 1, B = 0; B < g; B++) A !== B && (D = f.multiply(D, i.addOrSubtractGF(1, f.multiply(p[B], w))));
                E[A] = f.multiply(m.evaluateAt(w), f.inverse(D)), f.generatorBase !== 0 && (E[A] = f.multiply(E[A], w));
              }
              return E;
            }
            function d(f, m) {
              var p = new Uint8ClampedArray(f.length);
              p.set(f);
              for (var g = new i.default(285, 256, 0), E = new s.default(g, p), A = new Uint8ClampedArray(m), w = false, D = 0; D < m; D++) {
                var B = E.evaluateAt(g.exp(D + g.generatorBase));
                A[A.length - 1 - D] = B, B !== 0 && (w = true);
              }
              if (!w) return p;
              var v = new s.default(g, A), _ = l(g, g.buildMonomial(m, 1), v, m);
              if (_ === null) return null;
              var T = u(g, _[0]);
              if (T == null) return null;
              for (var I = x(g, _[1], T), z = 0; z < T.length; z++) {
                var C = p.length - 1 - g.log(T[z]);
                if (C < 0) return null;
                p[C] = i.addOrSubtractGF(p[C], I[z]);
              }
              return p;
            }
            n.decode = d;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            }), n.VERSIONS = [
              {
                infoBits: null,
                versionNumber: 1,
                alignmentPatternCenters: [],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 7,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 10,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 13,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 17,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 9
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 2,
                alignmentPatternCenters: [
                  6,
                  18
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 10,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 34
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 28
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 22
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 3,
                alignmentPatternCenters: [
                  6,
                  22
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 15,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 55
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 4,
                alignmentPatternCenters: [
                  6,
                  26
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 80
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 32
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 9
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 5,
                alignmentPatternCenters: [
                  6,
                  30
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 43
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 11
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 12
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 6,
                alignmentPatternCenters: [
                  6,
                  34
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 68
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 27
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 31892,
                versionNumber: 7,
                alignmentPatternCenters: [
                  6,
                  22,
                  38
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 78
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 31
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 13
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 14
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 34236,
                versionNumber: 8,
                alignmentPatternCenters: [
                  6,
                  24,
                  42
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 97
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 38
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 39
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 18
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 39577,
                versionNumber: 9,
                alignmentPatternCenters: [
                  6,
                  26,
                  46
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 36
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 37
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 42195,
                versionNumber: 10,
                alignmentPatternCenters: [
                  6,
                  28,
                  50
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 68
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 69
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 43
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 19
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 20
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 48118,
                versionNumber: 11,
                alignmentPatternCenters: [
                  6,
                  30,
                  54
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 81
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 50
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 51
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 51042,
                versionNumber: 12,
                alignmentPatternCenters: [
                  6,
                  32,
                  58
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 92
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 93
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 36
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 37
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 20
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 21
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 55367,
                versionNumber: 13,
                alignmentPatternCenters: [
                  6,
                  34,
                  62
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 107
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 37
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 38
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 20
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 21
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 11
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 12
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 58893,
                versionNumber: 14,
                alignmentPatternCenters: [
                  6,
                  26,
                  46,
                  66
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 40
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 41
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 63784,
                versionNumber: 15,
                alignmentPatternCenters: [
                  6,
                  26,
                  48,
                  70
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 87
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 88
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 41
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 68472,
                versionNumber: 16,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 98
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 99
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 19
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 20
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 70749,
                versionNumber: 17,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 107
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 76311,
                versionNumber: 18,
                alignmentPatternCenters: [
                  6,
                  30,
                  56,
                  82
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 120
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 121
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 9,
                        dataCodewordsPerBlock: 43
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 79154,
                versionNumber: 19,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 113
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 114
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 44
                      },
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 45
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 21
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 22
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 9,
                        dataCodewordsPerBlock: 13
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 14
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 84390,
                versionNumber: 20,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 107
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 41
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 87683,
                versionNumber: 21,
                alignmentPatternCenters: [
                  6,
                  28,
                  50,
                  72,
                  94
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 116
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 117
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 92361,
                versionNumber: 22,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74,
                  98
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 111
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 112
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 96236,
                versionNumber: 23,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  74,
                  102
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 102084,
                versionNumber: 24,
                alignmentPatternCenters: [
                  6,
                  28,
                  54,
                  80,
                  106
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 30,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 102881,
                versionNumber: 25,
                alignmentPatternCenters: [
                  6,
                  32,
                  58,
                  84,
                  110
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 106
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 107
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 110507,
                versionNumber: 26,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 114
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 115
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 33,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 110734,
                versionNumber: 27,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90,
                  118
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 23
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 117786,
                versionNumber: 28,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74,
                  98,
                  122
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 119615,
                versionNumber: 29,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78,
                  102,
                  126
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 116
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 117
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 21,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 23
                      },
                      {
                        numBlocks: 37,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 126325,
                versionNumber: 30,
                alignmentPatternCenters: [
                  6,
                  26,
                  52,
                  78,
                  104,
                  130
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 25,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 25,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 127568,
                versionNumber: 31,
                alignmentPatternCenters: [
                  6,
                  30,
                  56,
                  82,
                  108,
                  134
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 42,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 133589,
                versionNumber: 32,
                alignmentPatternCenters: [
                  6,
                  34,
                  60,
                  86,
                  112,
                  138
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 115
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 35,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 35,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 136944,
                versionNumber: 33,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114,
                  142
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 21,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 141498,
                versionNumber: 34,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90,
                  118,
                  146
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 44,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 59,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 145311,
                versionNumber: 35,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78,
                  102,
                  126,
                  150
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 39,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 41,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 150283,
                versionNumber: 36,
                alignmentPatternCenters: [
                  6,
                  24,
                  50,
                  76,
                  102,
                  128,
                  154
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 64,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 152622,
                versionNumber: 37,
                alignmentPatternCenters: [
                  6,
                  28,
                  54,
                  80,
                  106,
                  132,
                  158
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 49,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 24,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 158308,
                versionNumber: 38,
                alignmentPatternCenters: [
                  6,
                  32,
                  58,
                  84,
                  110,
                  136,
                  162
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 18,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 32,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 48,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 42,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 32,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 161089,
                versionNumber: 39,
                alignmentPatternCenters: [
                  6,
                  26,
                  54,
                  82,
                  110,
                  138,
                  166
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 20,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 40,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 43,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 67,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 167017,
                versionNumber: 40,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114,
                  142,
                  170
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 118
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 119
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 18,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 20,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 61,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              }
            ];
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0);
            function s(d, f, m, p) {
              var g = d.x - f.x + m.x - p.x, E = d.y - f.y + m.y - p.y;
              if (g === 0 && E === 0) return {
                a11: f.x - d.x,
                a12: f.y - d.y,
                a13: 0,
                a21: m.x - f.x,
                a22: m.y - f.y,
                a23: 0,
                a31: d.x,
                a32: d.y,
                a33: 1
              };
              var A = f.x - m.x, w = p.x - m.x, D = f.y - m.y, B = p.y - m.y, v = A * B - w * D, _ = (g * B - w * E) / v, T = (A * E - g * D) / v;
              return {
                a11: f.x - d.x + _ * f.x,
                a12: f.y - d.y + _ * f.y,
                a13: _,
                a21: p.x - d.x + T * p.x,
                a22: p.y - d.y + T * p.y,
                a23: T,
                a31: d.x,
                a32: d.y,
                a33: 1
              };
            }
            function l(d, f, m, p) {
              var g = s(d, f, m, p);
              return {
                a11: g.a22 * g.a33 - g.a23 * g.a32,
                a12: g.a13 * g.a32 - g.a12 * g.a33,
                a13: g.a12 * g.a23 - g.a13 * g.a22,
                a21: g.a23 * g.a31 - g.a21 * g.a33,
                a22: g.a11 * g.a33 - g.a13 * g.a31,
                a23: g.a13 * g.a21 - g.a11 * g.a23,
                a31: g.a21 * g.a32 - g.a22 * g.a31,
                a32: g.a12 * g.a31 - g.a11 * g.a32,
                a33: g.a11 * g.a22 - g.a12 * g.a21
              };
            }
            function u(d, f) {
              return {
                a11: d.a11 * f.a11 + d.a21 * f.a12 + d.a31 * f.a13,
                a12: d.a12 * f.a11 + d.a22 * f.a12 + d.a32 * f.a13,
                a13: d.a13 * f.a11 + d.a23 * f.a12 + d.a33 * f.a13,
                a21: d.a11 * f.a21 + d.a21 * f.a22 + d.a31 * f.a23,
                a22: d.a12 * f.a21 + d.a22 * f.a22 + d.a32 * f.a23,
                a23: d.a13 * f.a21 + d.a23 * f.a22 + d.a33 * f.a23,
                a31: d.a11 * f.a31 + d.a21 * f.a32 + d.a31 * f.a33,
                a32: d.a12 * f.a31 + d.a22 * f.a32 + d.a32 * f.a33,
                a33: d.a13 * f.a31 + d.a23 * f.a32 + d.a33 * f.a33
              };
            }
            function x(d, f) {
              for (var m = l({
                x: 3.5,
                y: 3.5
              }, {
                x: f.dimension - 3.5,
                y: 3.5
              }, {
                x: f.dimension - 6.5,
                y: f.dimension - 6.5
              }, {
                x: 3.5,
                y: f.dimension - 3.5
              }), p = s(f.topLeft, f.topRight, f.alignmentPattern, f.bottomLeft), g = u(p, m), E = i.BitMatrix.createEmpty(f.dimension, f.dimension), A = function(T, I) {
                var z = g.a13 * T + g.a23 * I + g.a33;
                return {
                  x: (g.a11 * T + g.a21 * I + g.a31) / z,
                  y: (g.a12 * T + g.a22 * I + g.a32) / z
                };
              }, w = 0; w < f.dimension; w++) for (var D = 0; D < f.dimension; D++) {
                var B = D + 0.5, v = w + 0.5, _ = A(B, v);
                E.set(D, w, d.get(Math.floor(_.x), Math.floor(_.y)));
              }
              return {
                matrix: E,
                mappingFunction: A
              };
            }
            n.extract = x;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = 4, s = 0.5, l = 1.5, u = function(B, v) {
              return Math.sqrt(Math.pow(v.x - B.x, 2) + Math.pow(v.y - B.y, 2));
            };
            function x(B) {
              return B.reduce(function(v, _) {
                return v + _;
              });
            }
            function d(B, v, _) {
              var T, I, z, C, j = u(B, v), U = u(v, _), P = u(B, _), L, F, q;
              return U >= j && U >= P ? (T = [
                v,
                B,
                _
              ], L = T[0], F = T[1], q = T[2]) : P >= U && P >= j ? (I = [
                B,
                v,
                _
              ], L = I[0], F = I[1], q = I[2]) : (z = [
                B,
                _,
                v
              ], L = z[0], F = z[1], q = z[2]), (q.x - F.x) * (L.y - F.y) - (q.y - F.y) * (L.x - F.x) < 0 && (C = [
                q,
                L
              ], L = C[0], q = C[1]), {
                bottomLeft: L,
                topLeft: F,
                topRight: q
              };
            }
            function f(B, v, _, T) {
              var I = (x(p(B, _, T, 5)) / 7 + x(p(B, v, T, 5)) / 7 + x(p(_, B, T, 5)) / 7 + x(p(v, B, T, 5)) / 7) / 4;
              if (I < 1) throw new Error("Invalid module size");
              var z = Math.round(u(B, v) / I), C = Math.round(u(B, _) / I), j = Math.floor((z + C) / 2) + 7;
              switch (j % 4) {
                case 0:
                  j++;
                  break;
                case 2:
                  j--;
                  break;
              }
              return {
                dimension: j,
                moduleSize: I
              };
            }
            function m(B, v, _, T) {
              var I = [
                {
                  x: Math.floor(B.x),
                  y: Math.floor(B.y)
                }
              ], z = Math.abs(v.y - B.y) > Math.abs(v.x - B.x), C, j, U, P;
              z ? (C = Math.floor(B.y), j = Math.floor(B.x), U = Math.floor(v.y), P = Math.floor(v.x)) : (C = Math.floor(B.x), j = Math.floor(B.y), U = Math.floor(v.x), P = Math.floor(v.y));
              for (var L = Math.abs(U - C), F = Math.abs(P - j), q = Math.floor(-L / 2), $ = C < U ? 1 : -1, Y = j < P ? 1 : -1, J = true, Q = C, Z = j; Q !== U + $; Q += $) {
                var M = z ? Z : Q, H = z ? Q : Z;
                if (_.get(M, H) !== J && (J = !J, I.push({
                  x: M,
                  y: H
                }), I.length === T + 1)) break;
                if (q += F, q > 0) {
                  if (Z === P) break;
                  Z += Y, q -= L;
                }
              }
              for (var re = [], te = 0; te < T; te++) I[te] && I[te + 1] ? re.push(u(I[te], I[te + 1])) : re.push(0);
              return re;
            }
            function p(B, v, _, T) {
              var I, z = v.y - B.y, C = v.x - B.x, j = m(B, v, _, Math.ceil(T / 2)), U = m(B, {
                x: B.x - C,
                y: B.y - z
              }, _, Math.ceil(T / 2)), P = j.shift() + U.shift() - 1;
              return (I = U.concat(P)).concat.apply(I, j);
            }
            function g(B, v) {
              var _ = x(B) / x(v), T = 0;
              return v.forEach(function(I, z) {
                T += Math.pow(B[z] - I * _, 2);
              }), {
                averageSize: _,
                error: T
              };
            }
            function E(B, v, _) {
              try {
                var T = p(B, {
                  x: -1,
                  y: B.y
                }, _, v.length), I = p(B, {
                  x: B.x,
                  y: -1
                }, _, v.length), z = {
                  x: Math.max(0, B.x - B.y) - 1,
                  y: Math.max(0, B.y - B.x) - 1
                }, C = p(B, z, _, v.length), j = {
                  x: Math.min(_.width, B.x + B.y) + 1,
                  y: Math.min(_.height, B.y + B.x) + 1
                }, U = p(B, j, _, v.length), P = g(T, v), L = g(I, v), F = g(C, v), q = g(U, v), $ = Math.sqrt(P.error * P.error + L.error * L.error + F.error * F.error + q.error * q.error), Y = (P.averageSize + L.averageSize + F.averageSize + q.averageSize) / 4, J = (Math.pow(P.averageSize - Y, 2) + Math.pow(L.averageSize - Y, 2) + Math.pow(F.averageSize - Y, 2) + Math.pow(q.averageSize - Y, 2)) / Y;
                return $ + J;
              } catch {
                return 1 / 0;
              }
            }
            function A(B, v) {
              for (var _ = Math.round(v.x); B.get(_, Math.round(v.y)); ) _--;
              for (var T = Math.round(v.x); B.get(T, Math.round(v.y)); ) T++;
              for (var I = (_ + T) / 2, z = Math.round(v.y); B.get(Math.round(I), z); ) z--;
              for (var C = Math.round(v.y); B.get(Math.round(I), C); ) C++;
              var j = (z + C) / 2;
              return {
                x: I,
                y: j
              };
            }
            function w(B) {
              for (var v = [], _ = [], T = [], I = [], z = function(M) {
                for (var H = 0, re = false, te = [
                  0,
                  0,
                  0,
                  0,
                  0
                ], ae = function(me) {
                  var fe = B.get(me, M);
                  if (fe === re) H++;
                  else {
                    te = [
                      te[1],
                      te[2],
                      te[3],
                      te[4],
                      H
                    ], H = 1, re = fe;
                    var ye = x(te) / 7, Ce = Math.abs(te[0] - ye) < ye && Math.abs(te[1] - ye) < ye && Math.abs(te[2] - 3 * ye) < 3 * ye && Math.abs(te[3] - ye) < ye && Math.abs(te[4] - ye) < ye && !fe, ke = x(te.slice(-3)) / 3, je = Math.abs(te[2] - ke) < ke && Math.abs(te[3] - ke) < ke && Math.abs(te[4] - ke) < ke && fe;
                    if (Ce) {
                      var Re = me - te[3] - te[4], O = Re - te[2], se = {
                        startX: O,
                        endX: Re,
                        y: M
                      }, ce = _.filter(function(oe) {
                        return O >= oe.bottom.startX && O <= oe.bottom.endX || Re >= oe.bottom.startX && O <= oe.bottom.endX || O <= oe.bottom.startX && Re >= oe.bottom.endX && te[2] / (oe.bottom.endX - oe.bottom.startX) < l && te[2] / (oe.bottom.endX - oe.bottom.startX) > s;
                      });
                      ce.length > 0 ? ce[0].bottom = se : _.push({
                        top: se,
                        bottom: se
                      });
                    }
                    if (je) {
                      var ee = me - te[4], X = ee - te[3], se = {
                        startX: X,
                        y: M,
                        endX: ee
                      }, ce = I.filter(function(ve) {
                        return X >= ve.bottom.startX && X <= ve.bottom.endX || ee >= ve.bottom.startX && X <= ve.bottom.endX || X <= ve.bottom.startX && ee >= ve.bottom.endX && te[2] / (ve.bottom.endX - ve.bottom.startX) < l && te[2] / (ve.bottom.endX - ve.bottom.startX) > s;
                      });
                      ce.length > 0 ? ce[0].bottom = se : I.push({
                        top: se,
                        bottom: se
                      });
                    }
                  }
                }, xe = -1; xe <= B.width; xe++) ae(xe);
                v.push.apply(v, _.filter(function(me) {
                  return me.bottom.y !== M && me.bottom.y - me.top.y >= 2;
                })), _ = _.filter(function(me) {
                  return me.bottom.y === M;
                }), T.push.apply(T, I.filter(function(me) {
                  return me.bottom.y !== M;
                })), I = I.filter(function(me) {
                  return me.bottom.y === M;
                });
              }, C = 0; C <= B.height; C++) z(C);
              v.push.apply(v, _.filter(function(M) {
                return M.bottom.y - M.top.y >= 2;
              })), T.push.apply(T, I);
              var j = v.filter(function(M) {
                return M.bottom.y - M.top.y >= 2;
              }).map(function(M) {
                var H = (M.top.startX + M.top.endX + M.bottom.startX + M.bottom.endX) / 4, re = (M.top.y + M.bottom.y + 1) / 2;
                if (B.get(Math.round(H), Math.round(re))) {
                  var te = [
                    M.top.endX - M.top.startX,
                    M.bottom.endX - M.bottom.startX,
                    M.bottom.y - M.top.y + 1
                  ], ae = x(te) / te.length, xe = E({
                    x: Math.round(H),
                    y: Math.round(re)
                  }, [
                    1,
                    1,
                    3,
                    1,
                    1
                  ], B);
                  return {
                    score: xe,
                    x: H,
                    y: re,
                    size: ae
                  };
                }
              }).filter(function(M) {
                return !!M;
              }).sort(function(M, H) {
                return M.score - H.score;
              }).map(function(M, H, re) {
                if (H > i) return null;
                var te = re.filter(function(xe, me) {
                  return H !== me;
                }).map(function(xe) {
                  return {
                    x: xe.x,
                    y: xe.y,
                    score: xe.score + Math.pow(xe.size - M.size, 2) / M.size,
                    size: xe.size
                  };
                }).sort(function(xe, me) {
                  return xe.score - me.score;
                });
                if (te.length < 2) return null;
                var ae = M.score + te[0].score + te[1].score;
                return {
                  points: [
                    M
                  ].concat(te.slice(0, 2)),
                  score: ae
                };
              }).filter(function(M) {
                return !!M;
              }).sort(function(M, H) {
                return M.score - H.score;
              });
              if (j.length === 0) return null;
              var U = d(j[0].points[0], j[0].points[1], j[0].points[2]), P = U.topRight, L = U.topLeft, F = U.bottomLeft, q = D(B, T, P, L, F), $ = [];
              q && $.push({
                alignmentPattern: {
                  x: q.alignmentPattern.x,
                  y: q.alignmentPattern.y
                },
                bottomLeft: {
                  x: F.x,
                  y: F.y
                },
                dimension: q.dimension,
                topLeft: {
                  x: L.x,
                  y: L.y
                },
                topRight: {
                  x: P.x,
                  y: P.y
                }
              });
              var Y = A(B, P), J = A(B, L), Q = A(B, F), Z = D(B, T, Y, J, Q);
              return Z && $.push({
                alignmentPattern: {
                  x: Z.alignmentPattern.x,
                  y: Z.alignmentPattern.y
                },
                bottomLeft: {
                  x: Q.x,
                  y: Q.y
                },
                topLeft: {
                  x: J.x,
                  y: J.y
                },
                topRight: {
                  x: Y.x,
                  y: Y.y
                },
                dimension: Z.dimension
              }), $.length === 0 ? null : $;
            }
            n.locate = w;
            function D(B, v, _, T, I) {
              var z, C, j;
              try {
                z = f(T, _, I, B), C = z.dimension, j = z.moduleSize;
              } catch {
                return null;
              }
              var U = {
                x: _.x - T.x + I.x,
                y: _.y - T.y + I.y
              }, P = (u(T, I) + u(T, _)) / 2 / j, L = 1 - 3 / P, F = {
                x: T.x + L * (U.x - T.x),
                y: T.y + L * (U.y - T.y)
              }, q = v.map(function(Y) {
                var J = (Y.top.startX + Y.top.endX + Y.bottom.startX + Y.bottom.endX) / 4, Q = (Y.top.y + Y.bottom.y + 1) / 2;
                if (B.get(Math.floor(J), Math.floor(Q))) {
                  var Z = [
                    Y.top.endX - Y.top.startX,
                    Y.bottom.endX - Y.bottom.startX,
                    Y.bottom.y - Y.top.y + 1
                  ];
                  x(Z) / Z.length;
                  var M = E({
                    x: Math.floor(J),
                    y: Math.floor(Q)
                  }, [
                    1,
                    1,
                    1
                  ], B), H = M + u({
                    x: J,
                    y: Q
                  }, F);
                  return {
                    x: J,
                    y: Q,
                    score: H
                  };
                }
              }).filter(function(Y) {
                return !!Y;
              }).sort(function(Y, J) {
                return Y.score - J.score;
              }), $ = P >= 15 && q.length ? q[0] : F;
              return {
                alignmentPattern: $,
                dimension: C
              };
            }
          })
        ]).default;
      });
    })(Ax)), Ax.exports;
  }
  var D4 = nw();
  const F4 = a8(D4), aw = g4({
    __proto__: null,
    default: F4
  }, [
    D4
  ]);
  function _4({ onScanSuccess: e, onClose: t, onError: r }) {
    const [n, a] = Ae.useState(""), [i, s] = Ae.useState(false), [l, u] = Ae.useState(null), x = Ae.useRef(null), d = Ae.useRef(null);
    return Ae.useEffect(() => {
      let f = null, m = null, p = false;
      const g = () => {
        m && clearInterval(m), f && f.getTracks().forEach((A) => A.stop());
      };
      return (async () => {
        try {
          if (f = await navigator.mediaDevices.getUserMedia({
            video: {
              facingMode: "environment"
            }
          }), p) return g();
          u(true);
          const A = x.current, w = d.current;
          if (A && w) {
            if (A.srcObject = f, await A.play(), p) return g();
            const D = w.getContext("2d");
            if (!D) return a("Canvas context not available"), g();
            m = window.setInterval(() => {
              if (p || !A || A.paused || A.ended || !A.videoWidth || !A.videoHeight) return;
              w.width = A.videoWidth, w.height = A.videoHeight, D.drawImage(A, 0, 0, w.width, w.height);
              const B = D.getImageData(0, 0, w.width, w.height), v = F4(B.data, B.width, B.height, {
                inversionAttempts: "dontInvert"
              });
              if (v) {
                p = true, g(), s(true);
                const _ = v.binaryData, T = (_.length === 16 || _.length === 32) && /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\xFF]/.test(String.fromCharCode(...Array.from(_)));
                e(T ? new Uint8Array(_) : v.data), setTimeout(() => t(), 1e3);
              }
            }, 300);
          }
        } catch (A) {
          if (!A) {
            console.error("Caught a null or undefined error inside QRScanner.");
            return;
          }
          if (p || A.name === "AbortError") {
            console.log("Camera operation was cancelled or aborted, which is expected on unmount.");
            return;
          }
          console.error("Camera error:", A), u(false);
          let w = "An unknown camera error occurred.";
          A.name === "NotAllowedError" ? w = "Camera access was denied. Please grant permission in your browser settings." : A.name === "NotFoundError" ? w = "No camera found on this device." : A.name === "NotReadableError" ? w = "Cannot access the camera. It may be in use by another application or browser tab." : A.name === "OverconstrainedError" ? w = "The camera does not meet the required constraints." : A instanceof Error && (w = `Camera error: ${A.message}`), a(w), r == null ? void 0 : r(w);
        }
      })(), () => {
        p = true, g();
      };
    }, [
      e,
      t,
      r
    ]), b.jsx("div", {
      className: "fixed inset-0 bg-black/80 backdrop-blur-sm flex items-center justify-center z-50",
      children: b.jsxs("div", {
        className: "bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/50 p-6 max-w-md w-full mx-4 shadow-[0_0_40px_rgba(0,240,255,0.3)]",
        children: [
          b.jsxs("div", {
            className: "flex items-center justify-between mb-4",
            children: [
              b.jsxs("h3", {
                className: "text-lg font-semibold text-[#00f0ff] flex items-center gap-2",
                style: {
                  textShadow: "0 0 10px rgba(0,240,255,0.7)"
                },
                children: [
                  b.jsx(Ux, {
                    size: 20
                  }),
                  "Scan QR Code"
                ]
              }),
              b.jsx("button", {
                onClick: t,
                className: "p-2 hover:bg-[#1a1a2e] rounded-lg transition-colors border-2 border-[#00f0ff]/30",
                children: b.jsx(p0, {
                  size: 20,
                  className: "text-[#6ef3f7]"
                })
              })
            ]
          }),
          n && b.jsxs("div", {
            className: "mb-4 p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 rounded-lg flex items-start gap-2 text-[#ff006e] text-sm",
            children: [
              b.jsx(ti, {
                size: 16,
                className: "shrink-0 mt-0.5"
              }),
              b.jsx("span", {
                children: n
              })
            ]
          }),
          i && b.jsxs("div", {
            className: "mb-4 p-3 bg-[#39ff14]/10 border-2 border-[#39ff14]/30 rounded-lg flex items-center gap-2 text-[#39ff14] text-sm",
            children: [
              b.jsx(hr, {
                size: 16
              }),
              b.jsx("span", {
                children: "QR Code detected!"
              })
            ]
          }),
          b.jsxs("div", {
            className: "relative bg-black rounded-lg overflow-hidden border-2 border-[#00f0ff]/30",
            children: [
              b.jsx("video", {
                ref: x,
                className: "w-full h-64 object-cover",
                playsInline: true,
                muted: true
              }),
              b.jsx("canvas", {
                ref: d,
                className: "hidden"
              })
            ]
          }),
          !l && !n && b.jsx("p", {
            className: "text-sm text-[#6ef3f7] mt-3 text-center",
            children: "Requesting camera access..."
          }),
          b.jsx("button", {
            onClick: t,
            className: "w-full mt-4 py-2 bg-[#1a1a2e] hover:bg-[#16213e] rounded-lg text-[#00f0ff] font-medium transition-all border-2 border-[#00f0ff]/50 hover:shadow-[0_0_15px_rgba(0,240,255,0.3)]",
            children: "Cancel"
          })
        ]
      })
    });
  }
  const l8 = `abandon
ability
able
about
above
absent
absorb
abstract
absurd
abuse
access
accident
account
accuse
achieve
acid
acoustic
acquire
across
act
action
actor
actress
actual
adapt
add
addict
address
adjust
admit
adult
advance
advice
aerobic
affair
afford
afraid
again
age
agent
agree
ahead
aim
air
airport
aisle
alarm
album
alcohol
alert
alien
all
alley
allow
almost
alone
alpha
already
also
alter
always
amateur
amazing
among
amount
amused
analyst
anchor
ancient
anger
angle
angry
animal
ankle
announce
annual
another
answer
antenna
antique
anxiety
any
apart
apology
appear
apple
approve
april
arch
arctic
area
arena
argue
arm
armed
armor
army
around
arrange
arrest
arrive
arrow
art
artefact
artist
artwork
ask
aspect
assault
asset
assist
assume
asthma
athlete
atom
attack
attend
attitude
attract
auction
audit
august
aunt
author
auto
autumn
average
avocado
avoid
awake
aware
away
awesome
awful
awkward
axis
baby
bachelor
bacon
badge
bag
balance
balcony
ball
bamboo
banana
banner
bar
barely
bargain
barrel
base
basic
basket
battle
beach
bean
beauty
because
become
beef
before
begin
behave
behind
believe
below
belt
bench
benefit
best
betray
better
between
beyond
bicycle
bid
bike
bind
biology
bird
birth
bitter
black
blade
blame
blanket
blast
bleak
bless
blind
blood
blossom
blouse
blue
blur
blush
board
boat
body
boil
bomb
bone
bonus
book
boost
border
boring
borrow
boss
bottom
bounce
box
boy
bracket
brain
brand
brass
brave
bread
breeze
brick
bridge
brief
bright
bring
brisk
broccoli
broken
bronze
broom
brother
brown
brush
bubble
buddy
budget
buffalo
build
bulb
bulk
bullet
bundle
bunker
burden
burger
burst
bus
business
busy
butter
buyer
buzz
cabbage
cabin
cable
cactus
cage
cake
call
calm
camera
camp
can
canal
cancel
candy
cannon
canoe
canvas
canyon
capable
capital
captain
car
carbon
card
cargo
carpet
carry
cart
case
cash
casino
castle
casual
cat
catalog
catch
category
cattle
caught
cause
caution
cave
ceiling
celery
cement
census
century
cereal
certain
chair
chalk
champion
change
chaos
chapter
charge
chase
chat
cheap
check
cheese
chef
cherry
chest
chicken
chief
child
chimney
choice
choose
chronic
chuckle
chunk
churn
cigar
cinnamon
circle
citizen
city
civil
claim
clap
clarify
claw
clay
clean
clerk
clever
click
client
cliff
climb
clinic
clip
clock
clog
close
cloth
cloud
clown
club
clump
cluster
clutch
coach
coast
coconut
code
coffee
coil
coin
collect
color
column
combine
come
comfort
comic
common
company
concert
conduct
confirm
congress
connect
consider
control
convince
cook
cool
copper
copy
coral
core
corn
correct
cost
cotton
couch
country
couple
course
cousin
cover
coyote
crack
cradle
craft
cram
crane
crash
crater
crawl
crazy
cream
credit
creek
crew
cricket
crime
crisp
critic
crop
cross
crouch
crowd
crucial
cruel
cruise
crumble
crunch
crush
cry
crystal
cube
culture
cup
cupboard
curious
current
curtain
curve
cushion
custom
cute
cycle
dad
damage
damp
dance
danger
daring
dash
daughter
dawn
day
deal
debate
debris
decade
december
decide
decline
decorate
decrease
deer
defense
define
defy
degree
delay
deliver
demand
demise
denial
dentist
deny
depart
depend
deposit
depth
deputy
derive
describe
desert
design
desk
despair
destroy
detail
detect
develop
device
devote
diagram
dial
diamond
diary
dice
diesel
diet
differ
digital
dignity
dilemma
dinner
dinosaur
direct
dirt
disagree
discover
disease
dish
dismiss
disorder
display
distance
divert
divide
divorce
dizzy
doctor
document
dog
doll
dolphin
domain
donate
donkey
donor
door
dose
double
dove
draft
dragon
drama
drastic
draw
dream
dress
drift
drill
drink
drip
drive
drop
drum
dry
duck
dumb
dune
during
dust
dutch
duty
dwarf
dynamic
eager
eagle
early
earn
earth
easily
east
easy
echo
ecology
economy
edge
edit
educate
effort
egg
eight
either
elbow
elder
electric
elegant
element
elephant
elevator
elite
else
embark
embody
embrace
emerge
emotion
employ
empower
empty
enable
enact
end
endless
endorse
enemy
energy
enforce
engage
engine
enhance
enjoy
enlist
enough
enrich
enroll
ensure
enter
entire
entry
envelope
episode
equal
equip
era
erase
erode
erosion
error
erupt
escape
essay
essence
estate
eternal
ethics
evidence
evil
evoke
evolve
exact
example
excess
exchange
excite
exclude
excuse
execute
exercise
exhaust
exhibit
exile
exist
exit
exotic
expand
expect
expire
explain
expose
express
extend
extra
eye
eyebrow
fabric
face
faculty
fade
faint
faith
fall
false
fame
family
famous
fan
fancy
fantasy
farm
fashion
fat
fatal
father
fatigue
fault
favorite
feature
february
federal
fee
feed
feel
female
fence
festival
fetch
fever
few
fiber
fiction
field
figure
file
film
filter
final
find
fine
finger
finish
fire
firm
first
fiscal
fish
fit
fitness
fix
flag
flame
flash
flat
flavor
flee
flight
flip
float
flock
floor
flower
fluid
flush
fly
foam
focus
fog
foil
fold
follow
food
foot
force
forest
forget
fork
fortune
forum
forward
fossil
foster
found
fox
fragile
frame
frequent
fresh
friend
fringe
frog
front
frost
frown
frozen
fruit
fuel
fun
funny
furnace
fury
future
gadget
gain
galaxy
gallery
game
gap
garage
garbage
garden
garlic
garment
gas
gasp
gate
gather
gauge
gaze
general
genius
genre
gentle
genuine
gesture
ghost
giant
gift
giggle
ginger
giraffe
girl
give
glad
glance
glare
glass
glide
glimpse
globe
gloom
glory
glove
glow
glue
goat
goddess
gold
good
goose
gorilla
gospel
gossip
govern
gown
grab
grace
grain
grant
grape
grass
gravity
great
green
grid
grief
grit
grocery
group
grow
grunt
guard
guess
guide
guilt
guitar
gun
gym
habit
hair
half
hammer
hamster
hand
happy
harbor
hard
harsh
harvest
hat
have
hawk
hazard
head
health
heart
heavy
hedgehog
height
hello
helmet
help
hen
hero
hidden
high
hill
hint
hip
hire
history
hobby
hockey
hold
hole
holiday
hollow
home
honey
hood
hope
horn
horror
horse
hospital
host
hotel
hour
hover
hub
huge
human
humble
humor
hundred
hungry
hunt
hurdle
hurry
hurt
husband
hybrid
ice
icon
idea
identify
idle
ignore
ill
illegal
illness
image
imitate
immense
immune
impact
impose
improve
impulse
inch
include
income
increase
index
indicate
indoor
industry
infant
inflict
inform
inhale
inherit
initial
inject
injury
inmate
inner
innocent
input
inquiry
insane
insect
inside
inspire
install
intact
interest
into
invest
invite
involve
iron
island
isolate
issue
item
ivory
jacket
jaguar
jar
jazz
jealous
jeans
jelly
jewel
job
join
joke
journey
joy
judge
juice
jump
jungle
junior
junk
just
kangaroo
keen
keep
ketchup
key
kick
kid
kidney
kind
kingdom
kiss
kit
kitchen
kite
kitten
kiwi
knee
knife
knock
know
lab
label
labor
ladder
lady
lake
lamp
language
laptop
large
later
latin
laugh
laundry
lava
law
lawn
lawsuit
layer
lazy
leader
leaf
learn
leave
lecture
left
leg
legal
legend
leisure
lemon
lend
length
lens
leopard
lesson
letter
level
liar
liberty
library
license
life
lift
light
like
limb
limit
link
lion
liquid
list
little
live
lizard
load
loan
lobster
local
lock
logic
lonely
long
loop
lottery
loud
lounge
love
loyal
lucky
luggage
lumber
lunar
lunch
luxury
lyrics
machine
mad
magic
magnet
maid
mail
main
major
make
mammal
man
manage
mandate
mango
mansion
manual
maple
marble
march
margin
marine
market
marriage
mask
mass
master
match
material
math
matrix
matter
maximum
maze
meadow
mean
measure
meat
mechanic
medal
media
melody
melt
member
memory
mention
menu
mercy
merge
merit
merry
mesh
message
metal
method
middle
midnight
milk
million
mimic
mind
minimum
minor
minute
miracle
mirror
misery
miss
mistake
mix
mixed
mixture
mobile
model
modify
mom
moment
monitor
monkey
monster
month
moon
moral
more
morning
mosquito
mother
motion
motor
mountain
mouse
move
movie
much
muffin
mule
multiply
muscle
museum
mushroom
music
must
mutual
myself
mystery
myth
naive
name
napkin
narrow
nasty
nation
nature
near
neck
need
negative
neglect
neither
nephew
nerve
nest
net
network
neutral
never
news
next
nice
night
noble
noise
nominee
noodle
normal
north
nose
notable
note
nothing
notice
novel
now
nuclear
number
nurse
nut
oak
obey
object
oblige
obscure
observe
obtain
obvious
occur
ocean
october
odor
off
offer
office
often
oil
okay
old
olive
olympic
omit
once
one
onion
online
only
open
opera
opinion
oppose
option
orange
orbit
orchard
order
ordinary
organ
orient
original
orphan
ostrich
other
outdoor
outer
output
outside
oval
oven
over
own
owner
oxygen
oyster
ozone
pact
paddle
page
pair
palace
palm
panda
panel
panic
panther
paper
parade
parent
park
parrot
party
pass
patch
path
patient
patrol
pattern
pause
pave
payment
peace
peanut
pear
peasant
pelican
pen
penalty
pencil
people
pepper
perfect
permit
person
pet
phone
photo
phrase
physical
piano
picnic
picture
piece
pig
pigeon
pill
pilot
pink
pioneer
pipe
pistol
pitch
pizza
place
planet
plastic
plate
play
please
pledge
pluck
plug
plunge
poem
poet
point
polar
pole
police
pond
pony
pool
popular
portion
position
possible
post
potato
pottery
poverty
powder
power
practice
praise
predict
prefer
prepare
present
pretty
prevent
price
pride
primary
print
priority
prison
private
prize
problem
process
produce
profit
program
project
promote
proof
property
prosper
protect
proud
provide
public
pudding
pull
pulp
pulse
pumpkin
punch
pupil
puppy
purchase
purity
purpose
purse
push
put
puzzle
pyramid
quality
quantum
quarter
question
quick
quit
quiz
quote
rabbit
raccoon
race
rack
radar
radio
rail
rain
raise
rally
ramp
ranch
random
range
rapid
rare
rate
rather
raven
raw
razor
ready
real
reason
rebel
rebuild
recall
receive
recipe
record
recycle
reduce
reflect
reform
refuse
region
regret
regular
reject
relax
release
relief
rely
remain
remember
remind
remove
render
renew
rent
reopen
repair
repeat
replace
report
require
rescue
resemble
resist
resource
response
result
retire
retreat
return
reunion
reveal
review
reward
rhythm
rib
ribbon
rice
rich
ride
ridge
rifle
right
rigid
ring
riot
ripple
risk
ritual
rival
river
road
roast
robot
robust
rocket
romance
roof
rookie
room
rose
rotate
rough
round
route
royal
rubber
rude
rug
rule
run
runway
rural
sad
saddle
sadness
safe
sail
salad
salmon
salon
salt
salute
same
sample
sand
satisfy
satoshi
sauce
sausage
save
say
scale
scan
scare
scatter
scene
scheme
school
science
scissors
scorpion
scout
scrap
screen
script
scrub
sea
search
season
seat
second
secret
section
security
seed
seek
segment
select
sell
seminar
senior
sense
sentence
series
service
session
settle
setup
seven
shadow
shaft
shallow
share
shed
shell
sheriff
shield
shift
shine
ship
shiver
shock
shoe
shoot
shop
short
shoulder
shove
shrimp
shrug
shuffle
shy
sibling
sick
side
siege
sight
sign
silent
silk
silly
silver
similar
simple
since
sing
siren
sister
situate
six
size
skate
sketch
ski
skill
skin
skirt
skull
slab
slam
sleep
slender
slice
slide
slight
slim
slogan
slot
slow
slush
small
smart
smile
smoke
smooth
snack
snake
snap
sniff
snow
soap
soccer
social
sock
soda
soft
solar
soldier
solid
solution
solve
someone
song
soon
sorry
sort
soul
sound
soup
source
south
space
spare
spatial
spawn
speak
special
speed
spell
spend
sphere
spice
spider
spike
spin
spirit
split
spoil
sponsor
spoon
sport
spot
spray
spread
spring
spy
square
squeeze
squirrel
stable
stadium
staff
stage
stairs
stamp
stand
start
state
stay
steak
steel
stem
step
stereo
stick
still
sting
stock
stomach
stone
stool
story
stove
strategy
street
strike
strong
struggle
student
stuff
stumble
style
subject
submit
subway
success
such
sudden
suffer
sugar
suggest
suit
summer
sun
sunny
sunset
super
supply
supreme
sure
surface
surge
surprise
surround
survey
suspect
sustain
swallow
swamp
swap
swarm
swear
sweet
swift
swim
swing
switch
sword
symbol
symptom
syrup
system
table
tackle
tag
tail
talent
talk
tank
tape
target
task
taste
tattoo
taxi
teach
team
tell
ten
tenant
tennis
tent
term
test
text
thank
that
theme
then
theory
there
they
thing
this
thought
three
thrive
throw
thumb
thunder
ticket
tide
tiger
tilt
timber
time
tiny
tip
tired
tissue
title
toast
tobacco
today
toddler
toe
together
toilet
token
tomato
tomorrow
tone
tongue
tonight
tool
tooth
top
topic
topple
torch
tornado
tortoise
toss
total
tourist
toward
tower
town
toy
track
trade
traffic
tragic
train
transfer
trap
trash
travel
tray
treat
tree
trend
trial
tribe
trick
trigger
trim
trip
trophy
trouble
truck
true
truly
trumpet
trust
truth
try
tube
tuition
tumble
tuna
tunnel
turkey
turn
turtle
twelve
twenty
twice
twin
twist
two
type
typical
ugly
umbrella
unable
unaware
uncle
uncover
under
undo
unfair
unfold
unhappy
uniform
unique
unit
universe
unknown
unlock
until
unusual
unveil
update
upgrade
uphold
upon
upper
upset
urban
urge
usage
use
used
useful
useless
usual
utility
vacant
vacuum
vague
valid
valley
valve
van
vanish
vapor
various
vast
vault
vehicle
velvet
vendor
venture
venue
verb
verify
version
very
vessel
veteran
viable
vibrant
vicious
victory
video
view
village
vintage
violin
virtual
virus
visa
visit
visual
vital
vivid
vocal
voice
void
volcano
volume
vote
voyage
wage
wagon
wait
walk
wall
walnut
want
warfare
warm
warrior
wash
wasp
waste
water
wave
way
wealth
weapon
wear
weasel
weather
web
wedding
weekend
weird
welcome
west
wet
whale
what
wheat
wheel
when
where
whip
whisper
wide
width
wife
wild
will
win
window
wine
wing
wink
winner
winter
wire
wisdom
wise
wish
witness
wolf
woman
wonder
wood
wool
word
work
world
worry
worth
wrap
wreck
wrestle
wrist
write
wrong
yard
year
yellow
you
young
youth
zebra
zero
zone
zoo
`, tp = l8.trim().split(/\r?\n/), c3 = new Map(tp.map((e, t) => [
    e,
    t
  ]));
  if (tp.length !== 2048) throw new Error(`Invalid wordlist loaded: expected 2048 words, got ${tp.length}`);
  async function iw() {
    var _a2;
    if ((_a2 = globalThis.crypto) == null ? void 0 : _a2.subtle) return globalThis.crypto.subtle;
    try {
      const { webcrypto: e } = await ud(async () => {
        const { webcrypto: t } = await Promise.resolve().then(() => mE);
        return {
          webcrypto: t
        };
      }, void 0, import.meta.url);
      if (e == null ? void 0 : e.subtle) return e.subtle;
    } catch {
    }
    throw new Error("SubtleCrypto not found in this environment");
  }
  async function ow(e) {
    const t = await iw(), r = new Uint8Array(e), n = await t.digest("SHA-256", r);
    return new Uint8Array(n);
  }
  function sw(e) {
    return e.trim().toLowerCase().replace(/\s+/g, " ");
  }
  async function lw(e) {
    const t = sw(e), r = t.length ? t.split(" ") : [];
    if (!(/* @__PURE__ */ new Set([
      12,
      15,
      18,
      21,
      24
    ])).has(r.length)) return {
      valid: false,
      error: `Invalid word count: ${r.length}. Must be 12, 15, 18, 21, or 24.`
    };
    for (const a of r) if (!c3.has(a)) return {
      valid: false,
      error: `Invalid word: "${a}" is not in the BIP39 wordlist.`
    };
    try {
      let a = 0n;
      for (const p of r) a = a << 11n | BigInt(c3.get(p));
      const i = r.length * 11, s = i / 33, l = i - s;
      let u = a >> BigInt(s);
      const x = new Uint8Array(l / 8);
      for (let p = x.length - 1; p >= 0; p--) x[p] = Number(u & 0xFFn), u >>= 8n;
      const f = (await ow(x))[0] >> 8 - s;
      if (Number(a & (1n << BigInt(s)) - 1n) !== f) return {
        valid: false,
        error: "Invalid mnemonic: Checksum mismatch."
      };
    } catch (a) {
      return {
        valid: false,
        error: `An unexpected error occurred during validation: ${a instanceof Error ? a.message : "Unknown error"}`
      };
    }
    return {
      valid: true
    };
  }
  const Dr = typeof window < "u" ? window : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {}, Gs = Symbol("doneWritingPromise"), S4 = Symbol("doneWritingResolve"), I4 = Symbol("doneWritingReject"), xl = Symbol("readingIndex");
  class vn extends Array {
    constructor() {
      super(), Object.setPrototypeOf(this, vn.prototype), this[Gs] = new Promise(((t, r) => {
        this[S4] = t, this[I4] = r;
      })), this[Gs].catch((() => {
      }));
    }
  }
  function zt(e) {
    return e && e.getReader && Array.isArray(e);
  }
  function _l(e) {
    if (!zt(e)) {
      const t = e.getWriter(), r = t.releaseLock;
      return t.releaseLock = () => {
        t.closed.catch((function() {
        })), r.call(t);
      }, t;
    }
    this.stream = e;
  }
  function Vt(e) {
    if (zt(e)) return "array";
    if (Dr.ReadableStream && Dr.ReadableStream.prototype.isPrototypeOf(e)) return "web";
    if (e && !(Dr.ReadableStream && e instanceof Dr.ReadableStream) && typeof e._read == "function" && typeof e._readableState == "object") throw Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");
    return !(!e || !e.getReader) && "web-like";
  }
  function xd(e) {
    return Uint8Array.prototype.isPrototypeOf(e);
  }
  function P4(e) {
    if (e.length === 1) return e[0];
    let t = 0;
    for (let a = 0; a < e.length; a++) {
      if (!xd(e[a])) throw Error("concatUint8Array: Data must be in the form of a Uint8Array");
      t += e[a].length;
    }
    const r = new Uint8Array(t);
    let n = 0;
    return e.forEach((function(a) {
      r.set(a, n), n += a.length;
    })), r;
  }
  vn.prototype.getReader = function() {
    return this[xl] === void 0 && (this[xl] = 0), {
      read: async () => (await this[Gs], this[xl] === this.length ? {
        value: void 0,
        done: true
      } : {
        value: this[this[xl]++],
        done: false
      })
    };
  }, vn.prototype.readToEnd = async function(e) {
    await this[Gs];
    const t = e(this.slice(this[xl]));
    return this.length = 0, t;
  }, vn.prototype.clone = function() {
    const e = new vn();
    return e[Gs] = this[Gs].then((() => {
      e.push(...this);
    })), e;
  }, _l.prototype.write = async function(e) {
    this.stream.push(e);
  }, _l.prototype.close = async function() {
    this.stream[S4]();
  }, _l.prototype.abort = async function(e) {
    return this.stream[I4](e), e;
  }, _l.prototype.releaseLock = function() {
  }, typeof Dr.process == "object" && Dr.process.versions;
  const u3 = /* @__PURE__ */ new WeakSet(), Ct = Symbol("externalBuffer");
  function xa(e) {
    if (this.stream = e, e[Ct] && (this[Ct] = e[Ct].slice()), zt(e)) {
      const r = e.getReader();
      return this._read = r.read.bind(r), this._releaseLock = () => {
      }, void (this._cancel = () => {
      });
    }
    if (Vt(e)) {
      const r = e.getReader();
      return this._read = r.read.bind(r), this._releaseLock = () => {
        r.closed.catch((function() {
        })), r.releaseLock();
      }, void (this._cancel = r.cancel.bind(r));
    }
    let t = false;
    this._read = async () => t || u3.has(e) ? {
      value: void 0,
      done: true
    } : (t = true, {
      value: e,
      done: false
    }), this._releaseLock = () => {
      if (t) try {
        u3.add(e);
      } catch {
      }
    };
  }
  function gc(e) {
    return Vt(e) ? e : new ReadableStream({
      start(t) {
        t.enqueue(e), t.close();
      }
    });
  }
  function N4(e) {
    const t = Vt(e);
    if (t) {
      if (t !== "array") throw Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");
      return e;
    }
    const r = new vn();
    return (async () => {
      const n = ln(r);
      await n.write(e), await n.close();
    })(), r;
  }
  function Nr(e) {
    return e.some(((t) => Vt(t) && !zt(t))) ? (function(t) {
      t = t.map(gc);
      const r = j4((async function(i) {
        await Promise.all(a.map(((s) => np(s, i))));
      }));
      let n = Promise.resolve();
      const a = t.map(((i, s) => io(i, ((l, u) => (n = n.then((() => r0(l, r.writable, {
        preventClose: s !== t.length - 1
      }))), n)))));
      return r.readable;
    })(e) : e.some(((t) => zt(t))) ? (function(t) {
      const r = new vn();
      let n = Promise.resolve();
      return t.forEach(((a, i) => (n = n.then((() => r0(a, r, {
        preventClose: i !== t.length - 1
      }))), n))), r;
    })(e) : typeof e[0] == "string" ? e.join("") : P4(e);
  }
  async function r0(e, t, { preventClose: r = false, preventAbort: n = false, preventCancel: a = false } = {}) {
    if (Vt(e) && !zt(e) && !zt(t)) {
      e = gc(e);
      try {
        if (e[Ct]) {
          const l = ln(t);
          for (let u = 0; u < e[Ct].length; u++) await l.ready, await l.write(e[Ct][u]);
          l.releaseLock();
        }
        await e.pipeTo(t, {
          preventClose: r,
          preventAbort: n,
          preventCancel: a
        });
      } catch {
      }
      return;
    }
    Vt(e) || (e = N4(e));
    const i = Wn(e), s = ln(t);
    try {
      for (; ; ) {
        await s.ready;
        const { done: l, value: u } = await i.read();
        if (l) {
          r || await s.close();
          break;
        }
        await s.write(u);
      }
    } catch (l) {
      n || await s.abort(l);
    } finally {
      i.releaseLock(), s.releaseLock();
    }
  }
  function j4(e) {
    let t, r, n, a = false, i = false;
    return {
      readable: new ReadableStream({
        start(s) {
          n = s;
        },
        pull() {
          t ? t() : a = true;
        },
        async cancel(s) {
          i = true, e && await e(s), r && r(s);
        }
      }, {
        highWaterMark: 0
      }),
      writable: new WritableStream({
        write: async function(s) {
          if (i) throw Error("Stream is cancelled");
          n.enqueue(s), a ? a = false : (await new Promise(((l, u) => {
            t = l, r = u;
          })), t = null, r = null);
        },
        close: n.close.bind(n),
        abort: n.error.bind(n)
      })
    };
  }
  function qt(e, t = () => {
  }, r = () => {
  }, n = {
    highWaterMark: 0
  }) {
    if (Vt(e)) return z4(e, t, r, n);
    const a = t(e), i = r();
    return a !== void 0 && i !== void 0 ? Nr([
      a,
      i
    ]) : a !== void 0 ? a : i;
  }
  async function rp(e, t = async () => {
  }, r = async () => {
  }, n = {
    highWaterMark: 1
  }) {
    if (Vt(e)) return z4(e, t, r, n);
    const a = await t(e), i = await r();
    return a !== void 0 && i !== void 0 ? Nr([
      a,
      i
    ]) : a !== void 0 ? a : i;
  }
  function z4(e, t, r, n) {
    if (zt(e)) {
      const a = new vn();
      return (async () => {
        const i = ln(a);
        try {
          const s = await Qt(e), l = await t(s), u = await r();
          let x;
          x = l !== void 0 && u !== void 0 ? Nr([
            l,
            u
          ]) : l !== void 0 ? l : u, await i.write(x), await i.close();
        } catch (s) {
          await i.abort(s);
        }
      })(), a;
    }
    if (Vt(e)) {
      let a, i = false;
      return new ReadableStream({
        start() {
          a = e.getReader();
        },
        async pull(s) {
          if (i) return s.close(), void e.releaseLock();
          try {
            for (; ; ) {
              const { value: l, done: u } = await a.read();
              i = u;
              const x = await (u ? r : t)(l);
              if (x !== void 0) return void s.enqueue(x);
              if (u) return s.close(), void e.releaseLock();
            }
          } catch (l) {
            s.error(l);
          }
        },
        async cancel(s) {
          await a.cancel(s);
        }
      }, n);
    }
    throw Error("Unreachable");
  }
  function io(e, t) {
    if (Vt(e) && !zt(e)) {
      let n;
      const a = new TransformStream({
        start(l) {
          n = l;
        }
      }), i = r0(e, a.writable), s = j4((async function(l) {
        n.error(l), await i, await new Promise(((u) => setTimeout(u)));
      }));
      return t(a.readable, s.writable), s.readable;
    }
    e = N4(e);
    const r = new vn();
    return t(e, r), r;
  }
  function dd(e, t) {
    let r;
    const n = io(e, ((a, i) => {
      const s = Wn(a);
      s.remainder = () => (s.releaseLock(), r0(a, i), n), r = t(s);
    }));
    return r;
  }
  function Lo(e) {
    if (zt(e)) return e.clone();
    if (Vt(e)) {
      const t = (function(r) {
        if (zt(r)) throw Error("ArrayStream cannot be tee()d, use clone() instead");
        if (Vt(r)) {
          const n = gc(r).tee();
          return n[0][Ct] = n[1][Ct] = r[Ct], n;
        }
        return [
          pr(r),
          pr(r)
        ];
      })(e);
      return U4(e, t[0]), t[1];
    }
    return pr(e);
  }
  function Ol(e) {
    return zt(e) ? Lo(e) : Vt(e) ? new ReadableStream({
      start(t) {
        const r = io(e, (async (n, a) => {
          const i = Wn(n), s = ln(a);
          try {
            for (; ; ) {
              await s.ready;
              const { done: l, value: u } = await i.read();
              if (l) {
                try {
                  t.close();
                } catch {
                }
                return void await s.close();
              }
              try {
                t.enqueue(u);
              } catch {
              }
              await s.write(u);
            }
          } catch (l) {
            t.error(l), await s.abort(l);
          }
        }));
        U4(e, r);
      }
    }) : pr(e);
  }
  function U4(e, t) {
    Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r, n]) => {
      r !== "constructor" && (n.value ? n.value = n.value.bind(t) : n.get = n.get.bind(t), Object.defineProperty(e, r, n));
    }));
  }
  function pr(e, t = 0, r = 1 / 0) {
    if (zt(e)) throw Error("Not implemented");
    if (Vt(e)) {
      if (t >= 0 && r >= 0) {
        let n, a = 0;
        return new ReadableStream({
          start() {
            n = e.getReader();
          },
          async pull(i) {
            try {
              for (; ; ) {
                if (!(a < r)) return i.close(), void e.releaseLock();
                {
                  const { value: s, done: l } = await n.read();
                  if (l) return i.close(), void e.releaseLock();
                  let u;
                  if (a + s.length >= t && (u = pr(s, Math.max(t - a, 0), r - a)), a += s.length, u) return void i.enqueue(u);
                }
              }
            } catch (s) {
              i.error(s);
            }
          },
          async cancel(i) {
            await n.cancel(i);
          }
        }, {
          highWaterMark: 0
        });
      }
      if (t < 0 && (r < 0 || r === 1 / 0)) {
        let n = [];
        return qt(e, ((a) => {
          a.length >= -t ? n = [
            a
          ] : n.push(a);
        }), (() => pr(Nr(n), t, r)));
      }
      if (t === 0 && r < 0) {
        let n;
        return qt(e, ((a) => {
          const i = n ? Nr([
            n,
            a
          ]) : a;
          if (i.length >= -r) return n = pr(i, r), pr(i, t, r);
          n = i;
        }));
      }
      return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`), es((async () => pr(await Qt(e), t, r)));
    }
    return e[Ct] && (e = Nr(e[Ct].concat([
      e
    ]))), xd(e) ? e.subarray(t, r === 1 / 0 ? e.length : r) : e.slice(t, r);
  }
  async function Qt(e, t = Nr) {
    return zt(e) ? e.readToEnd(t) : Vt(e) ? Wn(e).readToEnd(t) : e;
  }
  async function np(e, t) {
    if (Vt(e)) {
      if (e.cancel) {
        const r = await e.cancel(t);
        return await new Promise(((n) => setTimeout(n))), r;
      }
      if (e.destroy) return e.destroy(t), await new Promise(((r) => setTimeout(r))), t;
    }
  }
  function es(e) {
    const t = new vn();
    return (async () => {
      const r = ln(t);
      try {
        await r.write(await e()), await r.close();
      } catch (n) {
        await r.abort(n);
      }
    })(), t;
  }
  function Wn(e) {
    return new xa(e);
  }
  function ln(e) {
    return new _l(e);
  }
  xa.prototype.read = async function() {
    return this[Ct] && this[Ct].length ? {
      done: false,
      value: this[Ct].shift()
    } : this._read();
  }, xa.prototype.releaseLock = function() {
    this[Ct] && (this.stream[Ct] = this[Ct]), this._releaseLock();
  }, xa.prototype.cancel = function(e) {
    return this._cancel(e);
  }, xa.prototype.readLine = async function() {
    let e, t = [];
    for (; !e; ) {
      let { done: r, value: n } = await this.read();
      if (n += "", r) return t.length ? Nr(t) : void 0;
      const a = n.indexOf(`
`) + 1;
      a && (e = Nr(t.concat(n.substr(0, a))), t = []), a !== n.length && t.push(n.substr(a));
    }
    return this.unshift(...t), e;
  }, xa.prototype.readByte = async function() {
    const { done: e, value: t } = await this.read();
    if (e) return;
    const r = t[0];
    return this.unshift(pr(t, 1)), r;
  }, xa.prototype.readBytes = async function(e) {
    const t = [];
    let r = 0;
    for (; ; ) {
      const { done: n, value: a } = await this.read();
      if (n) return t.length ? Nr(t) : void 0;
      if (t.push(a), r += a.length, r >= e) {
        const i = Nr(t);
        return this.unshift(pr(i, e)), pr(i, 0, e);
      }
    }
  }, xa.prototype.peekBytes = async function(e) {
    const t = await this.readBytes(e);
    return this.unshift(t), t;
  }, xa.prototype.unshift = function(...e) {
    this[Ct] || (this[Ct] = []), e.length === 1 && xd(e[0]) && this[Ct].length && e[0].length && this[Ct][0].byteOffset >= e[0].length ? this[Ct][0] = new Uint8Array(this[Ct][0].buffer, this[Ct][0].byteOffset - e[0].length, this[Ct][0].byteLength + e[0].length) : this[Ct].unshift(...e.filter(((t) => t && t.length)));
  }, xa.prototype.readToEnd = async function(e = Nr) {
    const t = [];
    for (; ; ) {
      const { done: r, value: n } = await this.read();
      if (r) break;
      t.push(n);
    }
    return e(t);
  };
  const dl = Symbol("byValue");
  var k = {
    curve: {
      nistP256: "nistP256",
      p256: "nistP256",
      nistP384: "nistP384",
      p384: "nistP384",
      nistP521: "nistP521",
      p521: "nistP521",
      secp256k1: "secp256k1",
      ed25519Legacy: "ed25519Legacy",
      ed25519: "ed25519Legacy",
      curve25519Legacy: "curve25519Legacy",
      curve25519: "curve25519Legacy",
      brainpoolP256r1: "brainpoolP256r1",
      brainpoolP384r1: "brainpoolP384r1",
      brainpoolP512r1: "brainpoolP512r1"
    },
    s2k: {
      simple: 0,
      salted: 1,
      iterated: 3,
      argon2: 4,
      gnu: 101
    },
    publicKey: {
      rsaEncryptSign: 1,
      rsaEncrypt: 2,
      rsaSign: 3,
      elgamal: 16,
      dsa: 17,
      ecdh: 18,
      ecdsa: 19,
      eddsaLegacy: 22,
      aedh: 23,
      aedsa: 24,
      x25519: 25,
      x448: 26,
      ed25519: 27,
      ed448: 28
    },
    symmetric: {
      idea: 1,
      tripledes: 2,
      cast5: 3,
      blowfish: 4,
      aes128: 7,
      aes192: 8,
      aes256: 9,
      twofish: 10
    },
    compression: {
      uncompressed: 0,
      zip: 1,
      zlib: 2,
      bzip2: 3
    },
    hash: {
      md5: 1,
      sha1: 2,
      ripemd: 3,
      sha256: 8,
      sha384: 9,
      sha512: 10,
      sha224: 11,
      sha3_256: 12,
      sha3_512: 14
    },
    webHash: {
      "SHA-1": 2,
      "SHA-256": 8,
      "SHA-384": 9,
      "SHA-512": 10
    },
    aead: {
      eax: 1,
      ocb: 2,
      gcm: 3,
      experimentalGCM: 100
    },
    packet: {
      publicKeyEncryptedSessionKey: 1,
      signature: 2,
      symEncryptedSessionKey: 3,
      onePassSignature: 4,
      secretKey: 5,
      publicKey: 6,
      secretSubkey: 7,
      compressedData: 8,
      symmetricallyEncryptedData: 9,
      marker: 10,
      literalData: 11,
      trust: 12,
      userID: 13,
      publicSubkey: 14,
      userAttribute: 17,
      symEncryptedIntegrityProtectedData: 18,
      modificationDetectionCode: 19,
      aeadEncryptedData: 20,
      padding: 21
    },
    literal: {
      binary: 98,
      text: 116,
      utf8: 117,
      mime: 109
    },
    signature: {
      binary: 0,
      text: 1,
      standalone: 2,
      certGeneric: 16,
      certPersona: 17,
      certCasual: 18,
      certPositive: 19,
      certRevocation: 48,
      subkeyBinding: 24,
      keyBinding: 25,
      key: 31,
      keyRevocation: 32,
      subkeyRevocation: 40,
      timestamp: 64,
      thirdParty: 80
    },
    signatureSubpacket: {
      signatureCreationTime: 2,
      signatureExpirationTime: 3,
      exportableCertification: 4,
      trustSignature: 5,
      regularExpression: 6,
      revocable: 7,
      keyExpirationTime: 9,
      placeholderBackwardsCompatibility: 10,
      preferredSymmetricAlgorithms: 11,
      revocationKey: 12,
      issuerKeyID: 16,
      notationData: 20,
      preferredHashAlgorithms: 21,
      preferredCompressionAlgorithms: 22,
      keyServerPreferences: 23,
      preferredKeyServer: 24,
      primaryUserID: 25,
      policyURI: 26,
      keyFlags: 27,
      signersUserID: 28,
      reasonForRevocation: 29,
      features: 30,
      signatureTarget: 31,
      embeddedSignature: 32,
      issuerFingerprint: 33,
      preferredAEADAlgorithms: 34,
      preferredCipherSuites: 39
    },
    keyFlags: {
      certifyKeys: 1,
      signData: 2,
      encryptCommunication: 4,
      encryptStorage: 8,
      splitPrivateKey: 16,
      authentication: 32,
      sharedPrivateKey: 128
    },
    armor: {
      multipartSection: 0,
      multipartLast: 1,
      signed: 2,
      message: 3,
      publicKey: 4,
      privateKey: 5,
      signature: 6
    },
    reasonForRevocation: {
      noReason: 0,
      keySuperseded: 1,
      keyCompromised: 2,
      keyRetired: 3,
      userIDInvalid: 32
    },
    features: {
      modificationDetection: 1,
      aead: 2,
      v5Keys: 4,
      seipdv2: 8
    },
    write: function(e, t) {
      if (typeof t == "number" && (t = this.read(e, t)), e[t] !== void 0) return e[t];
      throw Error("Invalid enum value.");
    },
    read: function(e, t) {
      if (e[dl] || (e[dl] = [], Object.entries(e).forEach((([r, n]) => {
        e[dl][n] = r;
      }))), e[dl][t] !== void 0) return e[dl][t];
      throw Error("Invalid enum value.");
    }
  }, ze = {
    preferredHashAlgorithm: k.hash.sha512,
    preferredSymmetricAlgorithm: k.symmetric.aes256,
    preferredCompressionAlgorithm: k.compression.uncompressed,
    aeadProtect: false,
    parseAEADEncryptedV4KeysAsLegacy: false,
    preferredAEADAlgorithm: k.aead.gcm,
    aeadChunkSizeByte: 12,
    v6Keys: false,
    enableParsingV5Entities: false,
    s2kType: k.s2k.iterated,
    s2kIterationCountByte: 224,
    s2kArgon2Params: {
      passes: 3,
      parallelism: 4,
      memoryExponent: 16
    },
    allowUnauthenticatedMessages: false,
    allowUnauthenticatedStream: false,
    minRSABits: 2047,
    passwordCollisionCheck: false,
    allowInsecureDecryptionWithSigningKeys: false,
    allowInsecureVerificationWithReformattedKeys: false,
    allowMissingKeyFlags: false,
    constantTimePKCS1Decryption: false,
    constantTimePKCS1DecryptionSupportedSymmetricAlgorithms: /* @__PURE__ */ new Set([
      k.symmetric.aes128,
      k.symmetric.aes192,
      k.symmetric.aes256
    ]),
    ignoreUnsupportedPackets: true,
    ignoreMalformedPackets: false,
    enforceGrammar: true,
    additionalAllowedPackets: [],
    showVersion: false,
    showComment: false,
    versionString: "OpenPGP.js 6.3.0",
    commentString: "https://openpgpjs.org",
    maxUserIDLength: 5120,
    maxDecompressedMessageSize: 1 / 0,
    knownNotations: [],
    nonDeterministicSignaturesViaNotation: true,
    useEllipticFallback: true,
    rejectHashAlgorithms: /* @__PURE__ */ new Set([
      k.hash.md5,
      k.hash.ripemd
    ]),
    rejectMessageHashAlgorithms: /* @__PURE__ */ new Set([
      k.hash.md5,
      k.hash.ripemd,
      k.hash.sha1
    ]),
    rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set([
      k.publicKey.elgamal,
      k.publicKey.dsa
    ]),
    rejectCurves: /* @__PURE__ */ new Set([
      k.curve.secp256k1
    ])
  };
  const x3 = (() => {
    try {
      return false;
    } catch {
    }
    return false;
  })(), G = {
    isString: function(e) {
      return typeof e == "string" || e instanceof String;
    },
    nodeRequire: () => {
    },
    isArray: function(e) {
      return e instanceof Array;
    },
    isUint8Array: xd,
    isStream: Vt,
    getNobleCurve: async (e, t) => {
      if (!ze.useEllipticFallback) throw Error("This curve is only supported in the full build of OpenPGP.js");
      const { nobleCurves: r } = await Promise.resolve().then((function() {
        return uC;
      }));
      switch (e) {
        case k.publicKey.ecdh:
        case k.publicKey.ecdsa: {
          const n = r.get(t);
          if (!n) throw Error("Unsupported curve");
          return n;
        }
        case k.publicKey.x448:
          return r.get("x448");
        case k.publicKey.ed448:
          return r.get("ed448");
        default:
          throw Error("Unsupported curve");
      }
    },
    readNumber: function(e) {
      let t = 0;
      for (let r = 0; r < e.length; r++) t += 256 ** r * e[e.length - 1 - r];
      return t;
    },
    writeNumber: function(e, t) {
      const r = new Uint8Array(t);
      for (let n = 0; n < t; n++) r[n] = e >> 8 * (t - n - 1) & 255;
      return r;
    },
    readDate: function(e) {
      const t = G.readNumber(e);
      return new Date(1e3 * t);
    },
    writeDate: function(e) {
      const t = Math.floor(e.getTime() / 1e3);
      return G.writeNumber(t, 4);
    },
    normalizeDate: function(e = Date.now()) {
      return e === null || e === 1 / 0 ? e : new Date(1e3 * Math.floor(+e / 1e3));
    },
    readMPI: function(e) {
      const t = (e[0] << 8 | e[1]) + 7 >>> 3;
      return G.readExactSubarray(e, 2, 2 + t);
    },
    readExactSubarray: function(e, t, r) {
      if (e.length < r - t) throw Error("Input array too short");
      return e.subarray(t, r);
    },
    leftPad(e, t) {
      if (e.length > t) throw Error("Input array too long");
      const r = new Uint8Array(t), n = t - e.length;
      return r.set(e, n), r;
    },
    uint8ArrayToMPI: function(e) {
      const t = G.uint8ArrayBitLength(e);
      if (t === 0) throw Error("Zero MPI");
      const r = e.subarray(e.length - Math.ceil(t / 8)), n = new Uint8Array([
        (65280 & t) >> 8,
        255 & t
      ]);
      return G.concatUint8Array([
        n,
        r
      ]);
    },
    uint8ArrayBitLength: function(e) {
      let t;
      for (t = 0; t < e.length && e[t] === 0; t++) ;
      if (t === e.length) return 0;
      const r = e.subarray(t);
      return 8 * (r.length - 1) + G.nbits(r[0]);
    },
    hexToUint8Array: function(e) {
      const t = new Uint8Array(e.length >> 1);
      for (let r = 0; r < e.length >> 1; r++) t[r] = parseInt(e.substr(r << 1, 2), 16);
      return t;
    },
    uint8ArrayToHex: function(e) {
      const t = "0123456789abcdef";
      let r = "";
      return e.forEach(((n) => {
        r += t[n >> 4] + t[15 & n];
      })), r;
    },
    stringToUint8Array: function(e) {
      return qt(e, ((t) => {
        if (!G.isString(t)) throw Error("stringToUint8Array: Data must be in the form of a string");
        const r = new Uint8Array(t.length);
        for (let n = 0; n < t.length; n++) r[n] = t.charCodeAt(n);
        return r;
      }));
    },
    uint8ArrayToString: function(e) {
      const t = [], n = (e = new Uint8Array(e)).length;
      for (let a = 0; a < n; a += 16384) t.push(String.fromCharCode.apply(String, e.subarray(a, a + 16384 < n ? a + 16384 : n)));
      return t.join("");
    },
    encodeUTF8: function(e) {
      const t = new TextEncoder("utf-8");
      function r(n, a = false) {
        return t.encode(n, {
          stream: !a
        });
      }
      return qt(e, r, (() => r("", true)));
    },
    decodeUTF8: function(e) {
      const t = new TextDecoder("utf-8");
      function r(n, a = false) {
        return t.decode(n, {
          stream: !a
        });
      }
      return qt(e, r, (() => r(new Uint8Array(), true)));
    },
    concat: Nr,
    concatUint8Array: P4,
    equalsUint8Array: function(e, t) {
      if (!G.isUint8Array(e) || !G.isUint8Array(t)) throw Error("Data must be in the form of a Uint8Array");
      if (e.length !== t.length) return false;
      for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return false;
      return true;
    },
    findLastIndex: function(e, t) {
      for (let r = e.length; r >= 0; r--) if (t(e[r], r, e)) return r;
      return -1;
    },
    writeChecksum: function(e) {
      let t = 0;
      for (let r = 0; r < e.length; r++) t = t + e[r] & 65535;
      return G.writeNumber(t, 2);
    },
    printDebug: function(e) {
      x3 && console.log("[OpenPGP.js debug]", e);
    },
    printDebugError: function(e) {
      x3 && console.error("[OpenPGP.js debug]", e);
    },
    nbits: function(e) {
      let t = 1, r = e >>> 16;
      return r !== 0 && (e = r, t += 16), r = e >> 8, r !== 0 && (e = r, t += 8), r = e >> 4, r !== 0 && (e = r, t += 4), r = e >> 2, r !== 0 && (e = r, t += 2), r = e >> 1, r !== 0 && (e = r, t += 1), t;
    },
    double: function(e) {
      const t = new Uint8Array(e.length), r = e.length - 1;
      for (let n = 0; n < r; n++) t[n] = e[n] << 1 ^ e[n + 1] >> 7;
      return t[r] = e[r] << 1 ^ 135 * (e[0] >> 7), t;
    },
    shiftRight: function(e, t) {
      if (t) for (let r = e.length - 1; r >= 0; r--) e[r] >>= t, r > 0 && (e[r] |= e[r - 1] << 8 - t);
      return e;
    },
    getWebCrypto: function() {
      var _a2;
      const e = Dr !== void 0 && Dr.crypto && Dr.crypto.subtle || ((_a2 = this.getNodeCrypto()) == null ? void 0 : _a2.webcrypto.subtle);
      if (!e) throw Error("The WebCrypto API is not available");
      return e;
    },
    getNodeCrypto: function() {
      return this.nodeRequire("crypto");
    },
    getNodeZlib: function() {
      return this.nodeRequire("zlib");
    },
    getNodeBuffer: function() {
      return (this.nodeRequire("buffer") || {}).Buffer;
    },
    getHardwareConcurrency: function() {
      return typeof navigator < "u" ? navigator.hardwareConcurrency || 1 : this.nodeRequire("os").cpus().length;
    },
    isEmailAddress: function(e) {
      return G.isString(e) ? /^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e) : false;
    },
    canonicalizeEOL: function(e) {
      let t = false;
      return qt(e, ((r) => {
        let n;
        t && (r = G.concatUint8Array([
          new Uint8Array([
            13
          ]),
          r
        ])), r[r.length - 1] === 13 ? (t = true, r = r.subarray(0, -1)) : t = false;
        const a = [];
        for (let l = 0; n = r.indexOf(10, l) + 1, n; l = n) r[n - 2] !== 13 && a.push(n);
        if (!a.length) return r;
        const i = new Uint8Array(r.length + a.length);
        let s = 0;
        for (let l = 0; l < a.length; l++) {
          const u = r.subarray(a[l - 1] || 0, a[l]);
          i.set(u, s), s += u.length, i[s - 1] = 13, i[s] = 10, s++;
        }
        return i.set(r.subarray(a[a.length - 1] || 0), s), i;
      }), (() => t ? new Uint8Array([
        13
      ]) : void 0));
    },
    nativeEOL: function(e) {
      let t = false;
      return qt(e, ((r) => {
        let n;
        (r = t && r[0] !== 10 ? G.concatUint8Array([
          new Uint8Array([
            13
          ]),
          r
        ]) : new Uint8Array(r))[r.length - 1] === 13 ? (t = true, r = r.subarray(0, -1)) : t = false;
        let a = 0;
        for (let i = 0; i !== r.length; i = n) {
          n = r.indexOf(13, i) + 1, n || (n = r.length);
          const s = n - (r[n] === 10 ? 1 : 0);
          i && r.copyWithin(a, i, s), a += s - i;
        }
        return r.subarray(0, a);
      }), (() => t ? new Uint8Array([
        13
      ]) : void 0));
    },
    removeTrailingSpaces: function(e) {
      return e.split(`
`).map(((t) => {
        let r = t.length - 1;
        for (; r >= 0 && (t[r] === " " || t[r] === "	" || t[r] === "\r"); r--) ;
        return t.substr(0, r + 1);
      })).join(`
`);
    },
    wrapError: function(e, t) {
      if (!t) return e instanceof Error ? e : Error(e);
      if (e instanceof Error) {
        try {
          e.message += ": " + t.message, e.cause = t;
        } catch {
        }
        return e;
      }
      return Error(e + ": " + t.message, {
        cause: t
      });
    },
    constructAllowedPackets: function(e) {
      const t = {};
      return e.forEach(((r) => {
        if (!r.tag) throw Error("Invalid input: expected a packet class");
        t[r.tag] = r;
      })), t;
    },
    anyPromise: function(e) {
      return new Promise(((t, r) => {
        let n;
        Promise.all(e.map((async (a) => {
          try {
            t(await a);
          } catch (i) {
            n = i;
          }
        }))).then((() => {
          r(n);
        }));
      }));
    },
    selectUint8Array: function(e, t, r) {
      const n = Math.max(t.length, r.length), a = new Uint8Array(n);
      let i = 0;
      for (let s = 0; s < a.length; s++) a[s] = t[s] & 256 - e | r[s] & 255 + e, i += e & s < t.length | 1 - e & s < r.length;
      return a.subarray(0, i);
    },
    selectUint8: function(e, t, r) {
      return t & 256 - e | r & 255 + e;
    },
    isAES: function(e) {
      return e === k.symmetric.aes128 || e === k.symmetric.aes192 || e === k.symmetric.aes256;
    }
  }, i1 = G.getNodeBuffer();
  let Tx, Mx;
  function Za(e) {
    let t = new Uint8Array();
    return qt(e, ((r) => {
      t = G.concatUint8Array([
        t,
        r
      ]);
      const n = [], a = Math.floor(t.length / 45), i = 45 * a, s = Tx(t.subarray(0, i));
      for (let l = 0; l < a; l++) n.push(s.substr(60 * l, 60)), n.push(`
`);
      return t = t.subarray(i), n.join("");
    }), (() => t.length ? Tx(t) + `
` : ""));
  }
  function R4(e) {
    let t = "";
    return qt(e, ((r) => {
      t += r;
      let n = 0;
      const a = [
        " ",
        "	",
        "\r",
        `
`
      ];
      for (let l = 0; l < a.length; l++) {
        const u = a[l];
        for (let x = t.indexOf(u); x !== -1; x = t.indexOf(u, x + 1)) n++;
      }
      let i = t.length;
      for (; i > 0 && (i - n) % 4 != 0; i--) a.includes(t[i]) && n--;
      const s = Mx(t.substr(0, i));
      return t = t.substr(i), s;
    }), (() => Mx(t)));
  }
  function qr(e) {
    return R4(e.replace(/-/g, "+").replace(/_/g, "/"));
  }
  function fr(e, t) {
    let r = Za(e).replace(/[\r\n]/g, "");
    return r = r.replace(/[+]/g, "-").replace(/[/]/g, "_").replace(/[=]/g, ""), r;
  }
  function cw(e) {
    const t = e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);
    if (!t) throw Error("Unknown ASCII armor type");
    return /MESSAGE, PART \d+\/\d+/.test(t[1]) ? k.armor.multipartSection : /MESSAGE, PART \d+/.test(t[1]) ? k.armor.multipartLast : /SIGNED MESSAGE/.test(t[1]) ? k.armor.signed : /MESSAGE/.test(t[1]) ? k.armor.message : /PUBLIC KEY BLOCK/.test(t[1]) ? k.armor.publicKey : /PRIVATE KEY BLOCK/.test(t[1]) ? k.armor.privateKey : /SIGNATURE/.test(t[1]) ? k.armor.signature : void 0;
  }
  function Bo(e, t) {
    let r = "";
    return t.showVersion && (r += "Version: " + t.versionString + `
`), t.showComment && (r += "Comment: " + t.commentString + `
`), e && (r += "Comment: " + e + `
`), r += `
`, r;
  }
  function Co(e) {
    const t = (function(r) {
      let n = 13501623;
      return qt(r, ((a) => {
        const i = uw ? Math.floor(a.length / 4) : 0, s = new Uint32Array(a.buffer, a.byteOffset, i);
        for (let l = 0; l < i; l++) n ^= s[l], n = lr[0][n >> 24 & 255] ^ lr[1][n >> 16 & 255] ^ lr[2][n >> 8 & 255] ^ lr[3][255 & n];
        for (let l = 4 * i; l < a.length; l++) n = n >> 8 ^ lr[0][255 & n ^ a[l]];
      }), (() => new Uint8Array([
        n,
        n >> 8,
        n >> 16
      ])));
    })(e);
    return Za(t);
  }
  i1 ? (Tx = (e) => i1.from(e).toString("base64"), Mx = (e) => {
    const t = i1.from(e, "base64");
    return new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
  }) : (Tx = (e) => btoa(G.uint8ArrayToString(e)), Mx = (e) => G.stringToUint8Array(atob(e)));
  const lr = [
    Array(255),
    Array(255),
    Array(255),
    Array(255)
  ];
  for (let e = 0; e <= 255; e++) {
    let t = e << 16;
    for (let r = 0; r < 8; r++) t = t << 1 ^ (8388608 & t ? 8801531 : 0);
    lr[0][e] = (16711680 & t) >> 16 | 65280 & t | (255 & t) << 16;
  }
  for (let e = 0; e <= 255; e++) lr[1][e] = lr[0][e] >> 8 ^ lr[0][255 & lr[0][e]];
  for (let e = 0; e <= 255; e++) lr[2][e] = lr[1][e] >> 8 ^ lr[0][255 & lr[1][e]];
  for (let e = 0; e <= 255; e++) lr[3][e] = lr[2][e] >> 8 ^ lr[0][255 & lr[2][e]];
  const uw = (function() {
    const e = new ArrayBuffer(2);
    return new DataView(e).setInt16(0, 255, true), new Int16Array(e)[0] === 255;
  })();
  function d3(e) {
    for (let t = 0; t < e.length; t++) /^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t]) || G.printDebugError(Error("Improperly formatted armor header: " + e[t])), /^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t]) || G.printDebugError(Error("Unknown header: " + e[t]));
  }
  function xw(e) {
    let t = e;
    const r = e.lastIndexOf("=");
    return r >= 0 && r !== e.length - 1 && (t = e.slice(0, r)), t;
  }
  function yc(e) {
    return new Promise(((t, r) => {
      try {
        const n = /^-----[^-]+-----$/m, a = /^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;
        let i;
        const s = [];
        let l, u, x = s, d = [];
        const f = R4(io(e, (async (m, p) => {
          const g = Wn(m);
          try {
            for (; ; ) {
              let A = await g.readLine();
              if (A === void 0) throw Error("Misformed armored text");
              if (A = G.removeTrailingSpaces(A.replace(/[\r\n]/g, "")), i) if (l) u || i !== k.armor.signed || (n.test(A) ? (d = d.join(`\r
`), u = true, d3(x), x = [], l = false) : d.push(A.replace(/^- /, "")));
              else if (n.test(A) && r(Error("Mandatory blank line missing between armor headers and armor data")), a.test(A)) {
                if (d3(x), l = true, u || i !== k.armor.signed) {
                  t({
                    text: d,
                    data: f,
                    headers: s,
                    type: i
                  });
                  break;
                }
              } else x.push(A);
              else n.test(A) && (i = cw(A));
            }
          } catch (A) {
            return void r(A);
          }
          const E = ln(p);
          try {
            for (; ; ) {
              await E.ready;
              const { done: A, value: w } = await g.read();
              if (A) throw Error("Misformed armored text");
              const D = w + "";
              if (D.indexOf("=") !== -1 || D.indexOf("-") !== -1) {
                let B = await g.readToEnd();
                B.length || (B = ""), B = D + B, B = G.removeTrailingSpaces(B.replace(/\r/g, ""));
                const v = B.split(n);
                if (v.length === 1) throw Error("Misformed armored text");
                const _ = xw(v[0].slice(0, -1));
                await E.write(_);
                break;
              }
              await E.write(D);
            }
            await E.ready, await E.close();
          } catch (A) {
            await E.abort(A);
          }
        })));
      } catch (n) {
        r(n);
      }
    })).then((async (t) => (zt(t.data) && (t.data = await Qt(t.data)), t)));
  }
  function Ec(e, t, r, n, a, i = false, s = ze) {
    let l, u;
    e === k.armor.signed && (l = t.text, u = t.hash, t = t.data);
    const x = i && Ol(t), d = [];
    switch (e) {
      case k.armor.multipartSection:
        d.push("-----BEGIN PGP MESSAGE, PART " + r + "/" + n + `-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push("-----END PGP MESSAGE, PART " + r + "/" + n + `-----
`);
        break;
      case k.armor.multipartLast:
        d.push("-----BEGIN PGP MESSAGE, PART " + r + `-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push("-----END PGP MESSAGE, PART " + r + `-----
`);
        break;
      case k.armor.signed:
        d.push(`-----BEGIN PGP SIGNED MESSAGE-----
`), d.push(u ? `Hash: ${u}

` : `
`), d.push(l.replace(/^-/gm, "- -")), d.push(`
-----BEGIN PGP SIGNATURE-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push(`-----END PGP SIGNATURE-----
`);
        break;
      case k.armor.message:
        d.push(`-----BEGIN PGP MESSAGE-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push(`-----END PGP MESSAGE-----
`);
        break;
      case k.armor.publicKey:
        d.push(`-----BEGIN PGP PUBLIC KEY BLOCK-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push(`-----END PGP PUBLIC KEY BLOCK-----
`);
        break;
      case k.armor.privateKey:
        d.push(`-----BEGIN PGP PRIVATE KEY BLOCK-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push(`-----END PGP PRIVATE KEY BLOCK-----
`);
        break;
      case k.armor.signature:
        d.push(`-----BEGIN PGP SIGNATURE-----
`), d.push(Bo(a, s)), d.push(Za(t)), x && d.push("=", Co(x)), d.push(`-----END PGP SIGNATURE-----
`);
    }
    return G.concat(d);
  }
  const Zr = BigInt(0), Xs = BigInt(1);
  function Ge(e) {
    const t = "0123456789ABCDEF";
    let r = "";
    return e.forEach(((n) => {
      r += t[n >> 4] + t[15 & n];
    })), BigInt("0x0" + r);
  }
  function ot(e, t) {
    const r = e % t;
    return r < Zr ? r + t : r;
  }
  function cr(e, t, r) {
    if (r === Zr) throw Error("Modulo cannot be zero");
    if (r === Xs) return BigInt(0);
    if (t < Zr) throw Error("Unsopported negative exponent");
    let n = t, a = e;
    a %= r;
    let i = BigInt(1);
    for (; n > Zr; ) {
      const s = n & Xs;
      n >>= Xs, i = s ? i * a % r : i, a = a * a % r;
    }
    return i;
  }
  function f3(e) {
    return e >= Zr ? e : -e;
  }
  function n0(e, t) {
    const { gcd: r, x: n } = (function(a, i) {
      let s = BigInt(0), l = BigInt(1), u = BigInt(1), x = BigInt(0), d = f3(a), f = f3(i);
      const m = a < Zr, p = i < Zr;
      for (; f !== Zr; ) {
        const g = d / f;
        let E = s;
        s = u - g * s, u = E, E = l, l = x - g * l, x = E, E = f, f = d % f, d = E;
      }
      return {
        x: m ? -u : u,
        y: p ? -x : x,
        gcd: d
      };
    })(e, t);
    if (r !== Xs) throw Error("Inverse does not exist");
    return ot(n + t, t);
  }
  function ap(e) {
    const t = Number(e);
    if (t > Number.MAX_SAFE_INTEGER) throw Error("Number can only safely store up to 53 bits");
    return t;
  }
  function dw(e, t) {
    return (e >> BigInt(t) & Xs) === Zr ? 0 : 1;
  }
  function Js(e) {
    const t = e < Zr ? BigInt(-1) : Zr;
    let r = 1, n = e;
    for (; (n >>= Xs) !== t; ) r++;
    return r;
  }
  function Yr(e) {
    const t = e < Zr ? BigInt(-1) : Zr, r = BigInt(8);
    let n = 1, a = e;
    for (; (a >>= r) !== t; ) n++;
    return n;
  }
  function Ht(e, t = "be", r) {
    let n = e.toString(16);
    n.length % 2 == 1 && (n = "0" + n);
    const a = n.length / 2, i = new Uint8Array(r || a), s = r ? r - a : 0;
    let l = 0;
    for (; l < a; ) i[l + s] = parseInt(n.slice(2 * l, 2 * l + 2), 16), l++;
    return t !== "be" && i.reverse(), i;
  }
  const fw = G.getNodeCrypto();
  function mr(e) {
    const t = typeof crypto < "u" ? crypto : fw == null ? void 0 : fw.webcrypto;
    if (t == null ? void 0 : t.getRandomValues) {
      const r = new Uint8Array(e);
      return t.getRandomValues(r);
    }
    throw Error("No secure random number generator available.");
  }
  function $i(e, t) {
    if (t < e) throw Error("Illegal parameter value: max <= min");
    const r = t - e;
    return ot(Ge(mr(Yr(r) + 8)), r) + e;
  }
  const fa = BigInt(1);
  function h3(e, t, r) {
    const n = BigInt(30), a = fa << BigInt(e - 1), i = [
      1,
      6,
      5,
      4,
      3,
      2,
      1,
      4,
      3,
      2,
      1,
      2,
      1,
      4,
      3,
      2,
      1,
      2,
      1,
      4,
      3,
      2,
      1,
      6,
      5,
      4,
      3,
      2,
      1,
      2
    ];
    let s = $i(a, a << fa), l = ap(ot(s, n));
    do
      s += BigInt(i[l]), l = (l + i[l]) % i.length, Js(s) > e && (s = ot(s, a << fa), s += a, l = ap(ot(s, n)));
    while (!T4(s, t, r));
    return s;
  }
  function T4(e, t, r) {
    return (!t || (function(n, a) {
      let i = n, s = a;
      for (; s !== Zr; ) {
        const l = s;
        s = i % s, i = l;
      }
      return i;
    })(e - fa, t) === fa) && !!(function(n) {
      const a = BigInt(0);
      return hw.every(((i) => ot(n, i) !== a));
    })(e) && !!(function(n, a = BigInt(2)) {
      return cr(a, n - fa, n) === fa;
    })(e) && !!(function(n, a) {
      const i = Js(n);
      a || (a = Math.max(1, i / 48 | 0));
      const s = n - fa;
      let l = 0;
      for (; !dw(s, l); ) l++;
      const u = n >> BigInt(l);
      for (; a > 0; a--) {
        let x, d = cr($i(BigInt(2), s), u, n);
        if (d !== fa && d !== s) {
          for (x = 1; x < l; x++) {
            if (d = ot(d * d, n), d === fa) return false;
            if (d === s) break;
          }
          if (x === l) return false;
        }
      }
      return true;
    })(e, r);
  }
  const hw = [
    7,
    11,
    13,
    17,
    19,
    23,
    29,
    31,
    37,
    41,
    43,
    47,
    53,
    59,
    61,
    67,
    71,
    73,
    79,
    83,
    89,
    97,
    101,
    103,
    107,
    109,
    113,
    127,
    131,
    137,
    139,
    149,
    151,
    157,
    163,
    167,
    173,
    179,
    181,
    191,
    193,
    197,
    199,
    211,
    223,
    227,
    229,
    233,
    239,
    241,
    251,
    257,
    263,
    269,
    271,
    277,
    281,
    283,
    293,
    307,
    311,
    313,
    317,
    331,
    337,
    347,
    349,
    353,
    359,
    367,
    373,
    379,
    383,
    389,
    397,
    401,
    409,
    419,
    421,
    431,
    433,
    439,
    443,
    449,
    457,
    461,
    463,
    467,
    479,
    487,
    491,
    499,
    503,
    509,
    521,
    523,
    541,
    547,
    557,
    563,
    569,
    571,
    577,
    587,
    593,
    599,
    601,
    607,
    613,
    617,
    619,
    631,
    641,
    643,
    647,
    653,
    659,
    661,
    673,
    677,
    683,
    691,
    701,
    709,
    719,
    727,
    733,
    739,
    743,
    751,
    757,
    761,
    769,
    773,
    787,
    797,
    809,
    811,
    821,
    823,
    827,
    829,
    839,
    853,
    857,
    859,
    863,
    877,
    881,
    883,
    887,
    907,
    911,
    919,
    929,
    937,
    941,
    947,
    953,
    967,
    971,
    977,
    983,
    991,
    997,
    1009,
    1013,
    1019,
    1021,
    1031,
    1033,
    1039,
    1049,
    1051,
    1061,
    1063,
    1069,
    1087,
    1091,
    1093,
    1097,
    1103,
    1109,
    1117,
    1123,
    1129,
    1151,
    1153,
    1163,
    1171,
    1181,
    1187,
    1193,
    1201,
    1213,
    1217,
    1223,
    1229,
    1231,
    1237,
    1249,
    1259,
    1277,
    1279,
    1283,
    1289,
    1291,
    1297,
    1301,
    1303,
    1307,
    1319,
    1321,
    1327,
    1361,
    1367,
    1373,
    1381,
    1399,
    1409,
    1423,
    1427,
    1429,
    1433,
    1439,
    1447,
    1451,
    1453,
    1459,
    1471,
    1481,
    1483,
    1487,
    1489,
    1493,
    1499,
    1511,
    1523,
    1531,
    1543,
    1549,
    1553,
    1559,
    1567,
    1571,
    1579,
    1583,
    1597,
    1601,
    1607,
    1609,
    1613,
    1619,
    1621,
    1627,
    1637,
    1657,
    1663,
    1667,
    1669,
    1693,
    1697,
    1699,
    1709,
    1721,
    1723,
    1733,
    1741,
    1747,
    1753,
    1759,
    1777,
    1783,
    1787,
    1789,
    1801,
    1811,
    1823,
    1831,
    1847,
    1861,
    1867,
    1871,
    1873,
    1877,
    1879,
    1889,
    1901,
    1907,
    1913,
    1931,
    1933,
    1949,
    1951,
    1973,
    1979,
    1987,
    1993,
    1997,
    1999,
    2003,
    2011,
    2017,
    2027,
    2029,
    2039,
    2053,
    2063,
    2069,
    2081,
    2083,
    2087,
    2089,
    2099,
    2111,
    2113,
    2129,
    2131,
    2137,
    2141,
    2143,
    2153,
    2161,
    2179,
    2203,
    2207,
    2213,
    2221,
    2237,
    2239,
    2243,
    2251,
    2267,
    2269,
    2273,
    2281,
    2287,
    2293,
    2297,
    2309,
    2311,
    2333,
    2339,
    2341,
    2347,
    2351,
    2357,
    2371,
    2377,
    2381,
    2383,
    2389,
    2393,
    2399,
    2411,
    2417,
    2423,
    2437,
    2441,
    2447,
    2459,
    2467,
    2473,
    2477,
    2503,
    2521,
    2531,
    2539,
    2543,
    2549,
    2551,
    2557,
    2579,
    2591,
    2593,
    2609,
    2617,
    2621,
    2633,
    2647,
    2657,
    2659,
    2663,
    2671,
    2677,
    2683,
    2687,
    2689,
    2693,
    2699,
    2707,
    2711,
    2713,
    2719,
    2729,
    2731,
    2741,
    2749,
    2753,
    2767,
    2777,
    2789,
    2791,
    2797,
    2801,
    2803,
    2819,
    2833,
    2837,
    2843,
    2851,
    2857,
    2861,
    2879,
    2887,
    2897,
    2903,
    2909,
    2917,
    2927,
    2939,
    2953,
    2957,
    2963,
    2969,
    2971,
    2999,
    3001,
    3011,
    3019,
    3023,
    3037,
    3041,
    3049,
    3061,
    3067,
    3079,
    3083,
    3089,
    3109,
    3119,
    3121,
    3137,
    3163,
    3167,
    3169,
    3181,
    3187,
    3191,
    3203,
    3209,
    3217,
    3221,
    3229,
    3251,
    3253,
    3257,
    3259,
    3271,
    3299,
    3301,
    3307,
    3313,
    3319,
    3323,
    3329,
    3331,
    3343,
    3347,
    3359,
    3361,
    3371,
    3373,
    3389,
    3391,
    3407,
    3413,
    3433,
    3449,
    3457,
    3461,
    3463,
    3467,
    3469,
    3491,
    3499,
    3511,
    3517,
    3527,
    3529,
    3533,
    3539,
    3541,
    3547,
    3557,
    3559,
    3571,
    3581,
    3583,
    3593,
    3607,
    3613,
    3617,
    3623,
    3631,
    3637,
    3643,
    3659,
    3671,
    3673,
    3677,
    3691,
    3697,
    3701,
    3709,
    3719,
    3727,
    3733,
    3739,
    3761,
    3767,
    3769,
    3779,
    3793,
    3797,
    3803,
    3821,
    3823,
    3833,
    3847,
    3851,
    3853,
    3863,
    3877,
    3881,
    3889,
    3907,
    3911,
    3917,
    3919,
    3923,
    3929,
    3931,
    3943,
    3947,
    3967,
    3989,
    4001,
    4003,
    4007,
    4013,
    4019,
    4021,
    4027,
    4049,
    4051,
    4057,
    4073,
    4079,
    4091,
    4093,
    4099,
    4111,
    4127,
    4129,
    4133,
    4139,
    4153,
    4157,
    4159,
    4177,
    4201,
    4211,
    4217,
    4219,
    4229,
    4231,
    4241,
    4243,
    4253,
    4259,
    4261,
    4271,
    4273,
    4283,
    4289,
    4297,
    4327,
    4337,
    4339,
    4349,
    4357,
    4363,
    4373,
    4391,
    4397,
    4409,
    4421,
    4423,
    4441,
    4447,
    4451,
    4457,
    4463,
    4481,
    4483,
    4493,
    4507,
    4513,
    4517,
    4519,
    4523,
    4547,
    4549,
    4561,
    4567,
    4583,
    4591,
    4597,
    4603,
    4621,
    4637,
    4639,
    4643,
    4649,
    4651,
    4657,
    4663,
    4673,
    4679,
    4691,
    4703,
    4721,
    4723,
    4729,
    4733,
    4751,
    4759,
    4783,
    4787,
    4789,
    4793,
    4799,
    4801,
    4813,
    4817,
    4831,
    4861,
    4871,
    4877,
    4889,
    4903,
    4909,
    4919,
    4931,
    4933,
    4937,
    4943,
    4951,
    4957,
    4967,
    4969,
    4973,
    4987,
    4993,
    4999
  ].map(((e) => BigInt(e))), p3 = G.getWebCrypto(), Kx = G.getNodeCrypto(), pw = Kx && Kx.getHashes();
  function ai(e) {
    if (Kx && pw.includes(e)) return async function(t) {
      const r = Kx.createHash(e);
      return qt(t, ((n) => {
        r.update(n);
      }), (() => new Uint8Array(r.digest())));
    };
  }
  function ii(e, t) {
    const r = async () => {
      const { nobleHashes: n } = await Promise.resolve().then((function() {
        return CC;
      })), a = n.get(e);
      if (!a) throw Error("Unsupported hash");
      return a;
    };
    return async function(n) {
      if (zt(n) && (n = await Qt(n)), G.isStream(n)) {
        const a = (await r()).create();
        return qt(n, ((i) => {
          a.update(i);
        }), (() => a.digest()));
      }
      return p3 && t ? new Uint8Array(await p3.digest(t, n)) : (await r())(n);
    };
  }
  const mw = ai("md5") || ii("md5"), gw = ai("sha1") || ii("sha1", "SHA-1"), yw = ai("sha224") || ii("sha224"), Ew = ai("sha256") || ii("sha256", "SHA-256"), bw = ai("sha384") || ii("sha384", "SHA-384"), Aw = ai("sha512") || ii("sha512", "SHA-512"), ww = ai("ripemd160") || ii("ripemd160"), vw = ai("sha3-256") || ii("sha3_256"), Bw = ai("sha3-512") || ii("sha3_512");
  function Fa(e, t) {
    switch (e) {
      case k.hash.md5:
        return mw(t);
      case k.hash.sha1:
        return gw(t);
      case k.hash.ripemd:
        return ww(t);
      case k.hash.sha256:
        return Ew(t);
      case k.hash.sha384:
        return bw(t);
      case k.hash.sha512:
        return Aw(t);
      case k.hash.sha224:
        return yw(t);
      case k.hash.sha3_256:
        return vw(t);
      case k.hash.sha3_512:
        return Bw(t);
      default:
        throw Error("Unsupported hash function");
    }
  }
  function Xt(e) {
    switch (e) {
      case k.hash.md5:
        return 16;
      case k.hash.sha1:
      case k.hash.ripemd:
        return 20;
      case k.hash.sha256:
        return 32;
      case k.hash.sha384:
        return 48;
      case k.hash.sha512:
        return 64;
      case k.hash.sha224:
        return 28;
      case k.hash.sha3_256:
        return 32;
      case k.hash.sha3_512:
        return 64;
      default:
        throw Error("Invalid hash algorithm.");
    }
  }
  const ha = [];
  function M4(e, t) {
    const r = e.length;
    if (r > t - 11) throw Error("Message too long");
    const n = (function(i) {
      const s = new Uint8Array(i);
      let l = 0;
      for (; l < i; ) {
        const u = mr(i - l);
        for (let x = 0; x < u.length; x++) u[x] !== 0 && (s[l++] = u[x]);
      }
      return s;
    })(t - r - 3), a = new Uint8Array(t);
    return a[1] = 2, a.set(n, 2), a.set(e, t - r), a;
  }
  function K4(e, t) {
    let r = 2, n = 1;
    for (let l = r; l < e.length; l++) n &= e[l] !== 0, r += n;
    const a = r - 2, i = e.subarray(r + 1), s = e[0] === 0 & e[1] === 2 & a >= 8 & !n;
    if (t) return G.selectUint8Array(s, i, t);
    if (s) return i;
    throw Error("Decryption error");
  }
  function L4(e, t, r) {
    let n;
    if (t.length !== Xt(e)) throw Error("Invalid hash length");
    const a = new Uint8Array(ha[e].length);
    for (n = 0; n < ha[e].length; n++) a[n] = ha[e][n];
    const i = a.length + t.length;
    if (r < i + 11) throw Error("Intended encoded message length too short");
    const s = new Uint8Array(r - i - 3).fill(255), l = new Uint8Array(r);
    return l[1] = 1, l.set(s, 2), l.set(a, r - i), l.set(t, r - t.length), l;
  }
  ha[1] = [
    48,
    32,
    48,
    12,
    6,
    8,
    42,
    134,
    72,
    134,
    247,
    13,
    2,
    5,
    5,
    0,
    4,
    16
  ], ha[2] = [
    48,
    33,
    48,
    9,
    6,
    5,
    43,
    14,
    3,
    2,
    26,
    5,
    0,
    4,
    20
  ], ha[3] = [
    48,
    33,
    48,
    9,
    6,
    5,
    43,
    36,
    3,
    2,
    1,
    5,
    0,
    4,
    20
  ], ha[8] = [
    48,
    49,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    1,
    5,
    0,
    4,
    32
  ], ha[9] = [
    48,
    65,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    2,
    5,
    0,
    4,
    48
  ], ha[10] = [
    48,
    81,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    3,
    5,
    0,
    4,
    64
  ], ha[11] = [
    48,
    45,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    4,
    5,
    0,
    4,
    28
  ];
  const a0 = G.getWebCrypto(), Oo = G.getNodeCrypto(), to = BigInt(1);
  async function Cw(e, t, r, n, a, i, s, l, u) {
    if (Xt(e) >= r.length) throw Error("Digest size cannot exceed key modulus size");
    if (t && !G.isStream(t)) {
      if (G.getWebCrypto()) try {
        return await (async function(x, d, f, m, p, g, E, A) {
          const w = ip(f, m, p, g, E, A), D = {
            name: "RSASSA-PKCS1-v1_5",
            hash: {
              name: x
            }
          }, B = await a0.importKey("jwk", w, D, false, [
            "sign"
          ]);
          return new Uint8Array(await a0.sign("RSASSA-PKCS1-v1_5", B, d));
        })(k.read(k.webHash, e), t, r, n, a, i, s, l);
      } catch (x) {
        G.printDebugError(x);
      }
      else if (G.getNodeCrypto()) return (function(x, d, f, m, p, g, E, A) {
        const w = Oo.createSign(k.read(k.hash, x));
        w.write(d), w.end();
        const D = ip(f, m, p, g, E, A);
        return new Uint8Array(w.sign({
          key: D,
          format: "jwk",
          type: "pkcs1"
        }));
      })(e, t, r, n, a, i, s, l);
    }
    return (function(x, d, f, m) {
      d = Ge(d);
      const p = Ge(L4(x, m, Yr(d)));
      return f = Ge(f), Ht(cr(p, f, d), "be", Yr(d));
    })(e, r, a, u);
  }
  async function kw(e, t, r, n, a, i) {
    if (t && !G.isStream(t)) {
      if (G.getWebCrypto()) try {
        return await (async function(s, l, u, x, d) {
          const f = op(x, d), m = await a0.importKey("jwk", f, {
            name: "RSASSA-PKCS1-v1_5",
            hash: {
              name: s
            }
          }, false, [
            "verify"
          ]);
          return a0.verify("RSASSA-PKCS1-v1_5", m, u, l);
        })(k.read(k.webHash, e), t, r, n, a);
      } catch (s) {
        G.printDebugError(s);
      }
      else if (G.getNodeCrypto()) return (function(s, l, u, x, d) {
        const f = op(x, d), m = {
          key: f,
          format: "jwk",
          type: "pkcs1"
        }, p = Oo.createVerify(k.read(k.hash, s));
        p.write(l), p.end();
        try {
          return p.verify(m, u);
        } catch {
          return false;
        }
      })(e, t, r, n, a);
    }
    return (function(s, l, u, x, d) {
      if (u = Ge(u), l = Ge(l), x = Ge(x), l >= u) throw Error("Signature size cannot exceed modulus size");
      const f = Ht(cr(l, x, u), "be", Yr(u)), m = L4(s, d, Yr(u));
      return G.equalsUint8Array(f, m);
    })(e, r, n, a, i);
  }
  async function Dw(e, t, r) {
    return G.getNodeCrypto() ? (function(n, a, i) {
      const s = op(a, i), l = {
        key: s,
        format: "jwk",
        type: "pkcs1",
        padding: Oo.constants.RSA_PKCS1_PADDING
      };
      return new Uint8Array(Oo.publicEncrypt(l, n));
    })(e, t, r) : (function(n, a, i) {
      if (a = Ge(a), n = Ge(M4(n, Yr(a))), i = Ge(i), n >= a) throw Error("Message size cannot exceed modulus size");
      return Ht(cr(n, i, a), "be", Yr(a));
    })(e, t, r);
  }
  async function Fw(e, t, r, n, a, i, s, l) {
    if (G.getNodeCrypto() && !l) try {
      return (function(u, x, d, f, m, p, g) {
        const E = ip(x, d, f, m, p, g), A = {
          key: E,
          format: "jwk",
          type: "pkcs1",
          padding: Oo.constants.RSA_PKCS1_PADDING
        };
        try {
          return new Uint8Array(Oo.privateDecrypt(A, u));
        } catch {
          throw Error("Decryption error");
        }
      })(e, t, r, n, a, i, s);
    } catch (u) {
      G.printDebugError(u);
    }
    return (function(u, x, d, f, m, p, g, E) {
      if (u = Ge(u), x = Ge(x), d = Ge(d), f = Ge(f), m = Ge(m), p = Ge(p), g = Ge(g), u >= x) throw Error("Data too large.");
      const A = ot(f, p - to), w = ot(f, m - to), D = $i(BigInt(2), x), B = cr(n0(D, x), d, x);
      u = ot(u * B, x);
      const v = cr(u, w, m), _ = cr(u, A, p);
      let I = ot(g * (_ - v), p) * m + v;
      return I = ot(I * D, x), K4(Ht(I, "be", Yr(x)), E);
    })(e, t, r, n, a, i, s, l);
  }
  function ip(e, t, r, n, a, i) {
    const s = Ge(n), l = Ge(a), u = Ge(r);
    let x = ot(u, l - to), d = ot(u, s - to);
    return d = Ht(d), x = Ht(x), {
      kty: "RSA",
      n: fr(e),
      e: fr(t),
      d: fr(r),
      p: fr(a),
      q: fr(n),
      dp: fr(x),
      dq: fr(d),
      qi: fr(i),
      ext: true
    };
  }
  function op(e, t) {
    return {
      kty: "RSA",
      n: fr(e),
      e: fr(t),
      ext: true
    };
  }
  function m3(e, t) {
    return {
      n: qr(e.n),
      e: Ht(t),
      d: qr(e.d),
      p: qr(e.q),
      q: qr(e.p),
      u: qr(e.qi)
    };
  }
  const Gi = BigInt(1), _w = {
    "2a8648ce3d030107": k.curve.nistP256,
    "2b81040022": k.curve.nistP384,
    "2b81040023": k.curve.nistP521,
    "2b8104000a": k.curve.secp256k1,
    "2b06010401da470f01": k.curve.ed25519Legacy,
    "2b060104019755010501": k.curve.curve25519Legacy,
    "2b2403030208010107": k.curve.brainpoolP256r1,
    "2b240303020801010b": k.curve.brainpoolP384r1,
    "2b240303020801010d": k.curve.brainpoolP512r1
  };
  class ri {
    constructor(t) {
      if (t instanceof ri) this.oid = t.oid;
      else if (G.isArray(t) || G.isUint8Array(t)) {
        if ((t = new Uint8Array(t))[0] === 6) {
          if (t[1] !== t.length - 2) throw Error("Length mismatch in DER encoded oid");
          t = t.subarray(2);
        }
        this.oid = t;
      } else this.oid = "";
    }
    read(t) {
      if (t.length >= 1) {
        const r = t[0];
        if (t.length >= 1 + r) return this.oid = t.subarray(1, 1 + r), 1 + this.oid.length;
      }
      throw Error("Invalid oid");
    }
    write() {
      return G.concatUint8Array([
        new Uint8Array([
          this.oid.length
        ]),
        this.oid
      ]);
    }
    toHex() {
      return G.uint8ArrayToHex(this.oid);
    }
    getName() {
      const t = _w[this.toHex()];
      if (!t) throw Error("Unknown curve object identifier.");
      return t;
    }
  }
  function O4(e) {
    let t, r = 0;
    const n = e[0];
    return n < 192 ? ([r] = e, t = 1) : n < 255 ? (r = (e[0] - 192 << 8) + e[1] + 192, t = 2) : n === 255 && (r = G.readNumber(e.subarray(1, 5)), t = 5), {
      len: r,
      offset: t
    };
  }
  function fd(e) {
    return e < 192 ? new Uint8Array([
      e
    ]) : e > 191 && e < 8384 ? new Uint8Array([
      192 + (e - 192 >> 8),
      e - 192 & 255
    ]) : G.concatUint8Array([
      new Uint8Array([
        255
      ]),
      G.writeNumber(e, 4)
    ]);
  }
  function Sw(e) {
    if (e < 0 || e > 30) throw Error("Partial Length power must be between 1 and 30");
    return new Uint8Array([
      224 + e
    ]);
  }
  function Lx(e) {
    return new Uint8Array([
      192 | e
    ]);
  }
  function g3(e, t) {
    return G.concatUint8Array([
      Lx(e),
      fd(t)
    ]);
  }
  function wx(e) {
    return [
      k.packet.literalData,
      k.packet.compressedData,
      k.packet.symmetricallyEncryptedData,
      k.packet.symEncryptedIntegrityProtectedData,
      k.packet.aeadEncryptedData
    ].includes(e);
  }
  async function Iw(e, t, r) {
    let n, a;
    try {
      const i = await e.peekBytes(2);
      if (!i || i.length < 2 || !(128 & i[0])) throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");
      const s = await e.readByte();
      let l, u, x = -1, d = -1;
      d = 0, 64 & s && (d = 1), d ? x = 63 & s : (x = (63 & s) >> 2, u = 3 & s);
      const f = wx(x);
      let m, p = null;
      if (t && f) {
        if (t === "array") {
          const g = new vn();
          n = ln(g), p = g;
        } else {
          const g = new TransformStream();
          n = ln(g.writable), p = g.readable;
        }
        a = r({
          tag: x,
          packet: p
        });
      } else p = [];
      do {
        if (d) {
          const g = await e.readByte();
          if (m = false, g < 192) l = g;
          else if (g >= 192 && g < 224) l = (g - 192 << 8) + await e.readByte() + 192;
          else if (g > 223 && g < 255) {
            if (l = 1 << (31 & g), m = true, !f) throw new TypeError("This packet type does not support partial lengths.");
          } else l = await e.readByte() << 24 | await e.readByte() << 16 | await e.readByte() << 8 | await e.readByte();
        } else switch (u) {
          case 0:
            l = await e.readByte();
            break;
          case 1:
            l = await e.readByte() << 8 | await e.readByte();
            break;
          case 2:
            l = await e.readByte() << 24 | await e.readByte() << 16 | await e.readByte() << 8 | await e.readByte();
            break;
          default:
            l = 1 / 0;
        }
        if (l > 0) {
          let g = 0;
          for (; ; ) {
            n && await n.ready;
            const { done: E, value: A } = await e.read();
            if (E) {
              if (l === 1 / 0) break;
              throw Error("Unexpected end of packet");
            }
            const w = l === 1 / 0 ? A : A.subarray(0, l - g);
            if (n ? await n.write(w) : p.push(w), g += A.length, g >= l) {
              e.unshift(A.subarray(l - g + A.length));
              break;
            }
          }
        }
      } while (m);
      n ? (await n.ready, await n.close()) : (p = G.concatUint8Array(p), await r({
        tag: x,
        packet: p
      }));
    } catch (i) {
      if (n) return await n.abort(i), true;
      throw i;
    } finally {
      n && await a;
    }
  }
  class mt extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, mt), this.name = "UnsupportedError";
    }
  }
  class vx extends mt {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, mt), this.name = "UnknownPacketError";
    }
  }
  class o1 extends mt {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, mt), this.name = "MalformedPacketError";
    }
  }
  class sp {
    constructor(t, r) {
      this.tag = t, this.rawContent = r;
    }
    write() {
      return this.rawContent;
    }
  }
  async function c8(e) {
    switch (e) {
      case k.publicKey.ed25519:
        try {
          const t = G.getWebCrypto(), r = await t.generateKey("Ed25519", true, [
            "sign",
            "verify"
          ]).catch(((i) => {
            if (i.name === "OperationError") {
              const s = Error("Unexpected key generation issue");
              throw s.name = "NotSupportedError", s;
            }
            throw i;
          })), n = await t.exportKey("jwk", r.privateKey), a = await t.exportKey("jwk", r.publicKey);
          return {
            A: new Uint8Array(qr(a.x)),
            seed: qr(n.d)
          };
        } catch (t) {
          if (t.name !== "NotSupportedError") throw t;
          const { default: r } = await Promise.resolve().then((function() {
            return as;
          })), n = mr(hd(e)), { publicKey: a } = r.sign.keyPair.fromSeed(n);
          return {
            A: a,
            seed: n
          };
        }
      case k.publicKey.ed448: {
        const t = await G.getNobleCurve(k.publicKey.ed448), { secretKey: r, publicKey: n } = t.keygen();
        return {
          A: n,
          seed: r
        };
      }
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function u8(e, t, r, n, a, i) {
    if (Xt(t) < Xt(pd(e))) throw Error("Hash algorithm too weak for EdDSA.");
    switch (e) {
      case k.publicKey.ed25519:
        try {
          const s = G.getWebCrypto(), l = H4(e, n, a), u = await s.importKey("jwk", l, "Ed25519", false, [
            "sign"
          ]);
          return {
            RS: new Uint8Array(await s.sign("Ed25519", u, i))
          };
        } catch (s) {
          if (s.name !== "NotSupportedError") throw s;
          const { default: l } = await Promise.resolve().then((function() {
            return as;
          })), u = G.concatUint8Array([
            a,
            n
          ]);
          return {
            RS: l.sign.detached(i, u)
          };
        }
      case k.publicKey.ed448:
        return {
          RS: (await G.getNobleCurve(k.publicKey.ed448)).sign(i, a)
        };
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function x8(e, t, { RS: r }, n, a, i) {
    if (Xt(t) < Xt(pd(e))) throw Error("Hash algorithm too weak for EdDSA.");
    switch (e) {
      case k.publicKey.ed25519:
        try {
          const s = G.getWebCrypto(), l = f8(e, a), u = await s.importKey("jwk", l, "Ed25519", false, [
            "verify"
          ]);
          return await s.verify("Ed25519", u, r, i);
        } catch (s) {
          if (s.name !== "NotSupportedError") throw s;
          const { default: l } = await Promise.resolve().then((function() {
            return as;
          }));
          return l.sign.detached.verify(i, r, a);
        }
      case k.publicKey.ed448:
        return (await G.getNobleCurve(k.publicKey.ed448)).verify(r, i, a);
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function d8(e, t, r) {
    switch (e) {
      case k.publicKey.ed25519:
        try {
          const n = G.getWebCrypto(), a = H4(e, t, r), i = f8(e, t), s = await n.importKey("jwk", a, "Ed25519", false, [
            "sign"
          ]), l = await n.importKey("jwk", i, "Ed25519", false, [
            "verify"
          ]), u = mr(8), x = new Uint8Array(await n.sign("Ed25519", s, u));
          return await n.verify("Ed25519", l, x, u);
        } catch (n) {
          if (n.name !== "NotSupportedError") return false;
          const { default: a } = await Promise.resolve().then((function() {
            return as;
          })), { publicKey: i } = a.sign.keyPair.fromSeed(r);
          return G.equalsUint8Array(t, i);
        }
      case k.publicKey.ed448: {
        const n = (await G.getNobleCurve(k.publicKey.ed448)).getPublicKey(r);
        return G.equalsUint8Array(t, n);
      }
      default:
        return false;
    }
  }
  function hd(e) {
    switch (e) {
      case k.publicKey.ed25519:
        return 32;
      case k.publicKey.ed448:
        return 57;
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  function pd(e) {
    switch (e) {
      case k.publicKey.ed25519:
        return k.hash.sha256;
      case k.publicKey.ed448:
        return k.hash.sha512;
      default:
        throw Error("Unknown EdDSA algo");
    }
  }
  const f8 = (e, t) => {
    if (e === k.publicKey.ed25519) return {
      kty: "OKP",
      crv: "Ed25519",
      x: fr(t),
      ext: true
    };
    throw Error("Unsupported EdDSA algorithm");
  }, H4 = (e, t, r) => {
    if (e === k.publicKey.ed25519) {
      const n = f8(e, t);
      return n.d = fr(r), n;
    }
    throw Error("Unsupported EdDSA algorithm");
  };
  var Pw = Object.freeze({
    __proto__: null,
    generate: c8,
    getPayloadSize: hd,
    getPreferredHashAlgo: pd,
    sign: u8,
    validateParams: d8,
    verify: x8
  });
  function Q4(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function jt(e, ...t) {
    if (!Q4(e)) throw Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function Ox(e, t = true) {
    if (e.destroyed) throw Error("Hash instance has been destroyed");
    if (t && e.finished) throw Error("Hash#digest() has already been called");
  }
  function G4(e, t) {
    jt(e);
    const r = t.outputLen;
    if (e.length < r) throw Error("digestInto() expects output buffer of length at least " + r);
  }
  function h8(e) {
    return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
  }
  function kt(e) {
    return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
  }
  function Fr(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function md(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  const Nw = new Uint8Array(new Uint32Array([
    287454020
  ]).buffer)[0] === 68;
  function Zl(e) {
    if (typeof e == "string") e = (function(t) {
      if (typeof t != "string") throw Error("string expected");
      return new Uint8Array(new TextEncoder().encode(t));
    })(e);
    else {
      if (!Q4(e)) throw Error("Uint8Array expected, got " + typeof e);
      e = Vr(e);
    }
    return e;
  }
  function q4(e, t) {
    return e.buffer === t.buffer && e.byteOffset < t.byteOffset + t.byteLength && t.byteOffset < e.byteOffset + e.byteLength;
  }
  function lp(e, t) {
    if (q4(e, t) && e.byteOffset < t.byteOffset) throw Error("complex overlap of input and output is not supported");
  }
  function V4(e, t) {
    if (e.length !== t.length) return false;
    let r = 0;
    for (let n = 0; n < e.length; n++) r |= e[n] ^ t[n];
    return r === 0;
  }
  const bc = (e, t) => {
    function r(n, ...a) {
      if (jt(n), !Nw) throw Error("Non little-endian hardware is not yet supported");
      if (e.nonceLength !== void 0) {
        const x = a[0];
        if (!x) throw Error("nonce / iv required");
        e.varSizeNonce ? jt(x) : jt(x, e.nonceLength);
      }
      const i = e.tagLength;
      i && a[1] !== void 0 && jt(a[1]);
      const s = t(n, ...a), l = (x, d) => {
        if (d !== void 0) {
          if (x !== 2) throw Error("cipher output not supported");
          jt(d);
        }
      };
      let u = false;
      return {
        encrypt(x, d) {
          if (u) throw Error("cannot encrypt() twice with same key + nonce");
          return u = true, jt(x), l(s.encrypt.length, d), s.encrypt(x, d);
        },
        decrypt(x, d) {
          if (jt(x), i && x.length < i) throw Error("invalid ciphertext length: smaller than tagLength=" + i);
          return l(s.decrypt.length, d), s.decrypt(x, d);
        }
      };
    }
    return Object.assign(r, e), r;
  };
  function Yl(e, t, r = true) {
    if (t === void 0) return new Uint8Array(e);
    if (t.length !== e) throw Error("invalid output length, expected " + e + ", got: " + t.length);
    if (r && !Bn(t)) throw Error("invalid output, must be aligned");
    return t;
  }
  function cp(e, t, r, n) {
    if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, n);
    const a = BigInt(32), i = BigInt(4294967295), s = Number(r >> a & i), l = Number(r & i);
    e.setUint32(t + 0, s, n), e.setUint32(t + 4, l, n);
  }
  function Bn(e) {
    return e.byteOffset % 4 == 0;
  }
  function Vr(e) {
    return Uint8Array.from(e);
  }
  const Ya = 16, p8 = new Uint8Array(16), ga = kt(p8), En = (e) => (e >>> 0 & 255) << 24 | (e >>> 8 & 255) << 16 | (e >>> 16 & 255) << 8 | e >>> 24 & 255;
  class W4 {
    constructor(t, r) {
      this.blockLen = Ya, this.outputLen = Ya, this.s0 = 0, this.s1 = 0, this.s2 = 0, this.s3 = 0, this.finished = false, jt(t = Zl(t), 16);
      const n = md(t);
      let a = n.getUint32(0, false), i = n.getUint32(4, false), s = n.getUint32(8, false), l = n.getUint32(12, false);
      const u = [];
      for (let D = 0; D < 128; D++) u.push({
        s0: En(a),
        s1: En(i),
        s2: En(s),
        s3: En(l)
      }), { s0: a, s1: i, s2: s, s3: l } = {
        s3: (f = s) << 31 | (m = l) >>> 1,
        s2: (d = i) << 31 | f >>> 1,
        s1: (x = a) << 31 | d >>> 1,
        s0: x >>> 1 ^ 225 << 24 & -(1 & m)
      };
      var x, d, f, m;
      const p = (g = r || 1024) > 65536 ? 8 : g > 1024 ? 4 : 2;
      var g;
      if (![
        1,
        2,
        4,
        8
      ].includes(p)) throw Error("ghash: invalid window size, expected 2, 4 or 8");
      this.W = p;
      const E = 128 / p, A = this.windowSize = 2 ** p, w = [];
      for (let D = 0; D < E; D++) for (let B = 0; B < A; B++) {
        let v = 0, _ = 0, T = 0, I = 0;
        for (let z = 0; z < p; z++) {
          if (!(B >>> p - z - 1 & 1)) continue;
          const { s0: C, s1: j, s2: U, s3: P } = u[p * D + z];
          v ^= C, _ ^= j, T ^= U, I ^= P;
        }
        w.push({
          s0: v,
          s1: _,
          s2: T,
          s3: I
        });
      }
      this.t = w;
    }
    _updateBlock(t, r, n, a) {
      t ^= this.s0, r ^= this.s1, n ^= this.s2, a ^= this.s3;
      const { W: i, t: s, windowSize: l } = this;
      let u = 0, x = 0, d = 0, f = 0;
      const m = (1 << i) - 1;
      let p = 0;
      for (const g of [
        t,
        r,
        n,
        a
      ]) for (let E = 0; E < 4; E++) {
        const A = g >>> 8 * E & 255;
        for (let w = 8 / i - 1; w >= 0; w--) {
          const D = A >>> i * w & m, { s0: B, s1: v, s2: _, s3: T } = s[p * l + D];
          u ^= B, x ^= v, d ^= _, f ^= T, p += 1;
        }
      }
      this.s0 = u, this.s1 = x, this.s2 = d, this.s3 = f;
    }
    update(t) {
      Ox(this), jt(t = Zl(t));
      const r = kt(t), n = Math.floor(t.length / Ya), a = t.length % Ya;
      for (let i = 0; i < n; i++) this._updateBlock(r[4 * i + 0], r[4 * i + 1], r[4 * i + 2], r[4 * i + 3]);
      return a && (p8.set(t.subarray(n * Ya)), this._updateBlock(ga[0], ga[1], ga[2], ga[3]), Fr(ga)), this;
    }
    destroy() {
      const { t } = this;
      for (const r of t) r.s0 = 0, r.s1 = 0, r.s2 = 0, r.s3 = 0;
    }
    digestInto(t) {
      Ox(this), G4(t, this), this.finished = true;
      const { s0: r, s1: n, s2: a, s3: i } = this, s = kt(t);
      return s[0] = r, s[1] = n, s[2] = a, s[3] = i, t;
    }
    digest() {
      const t = new Uint8Array(Ya);
      return this.digestInto(t), this.destroy(), t;
    }
  }
  class jw extends W4 {
    constructor(t, r) {
      jt(t = Zl(t));
      const n = (function(a) {
        a.reverse();
        const i = 1 & a[15];
        let s = 0;
        for (let l = 0; l < a.length; l++) {
          const u = a[l];
          a[l] = u >>> 1 | s, s = (1 & u) << 7;
        }
        return a[0] ^= 225 & -i, a;
      })(Vr(t));
      super(n, r), Fr(n);
    }
    update(t) {
      t = Zl(t), Ox(this);
      const r = kt(t), n = t.length % Ya, a = Math.floor(t.length / Ya);
      for (let i = 0; i < a; i++) this._updateBlock(En(r[4 * i + 3]), En(r[4 * i + 2]), En(r[4 * i + 1]), En(r[4 * i + 0]));
      return n && (p8.set(t.subarray(a * Ya)), this._updateBlock(En(ga[3]), En(ga[2]), En(ga[1]), En(ga[0])), Fr(ga)), this;
    }
    digestInto(t) {
      Ox(this), G4(t, this), this.finished = true;
      const { s0: r, s1: n, s2: a, s3: i } = this, s = kt(t);
      return s[0] = r, s[1] = n, s[2] = a, s[3] = i, t.reverse();
    }
  }
  function Z4(e) {
    const t = (n, a) => e(a, n.length).update(Zl(n)).digest(), r = e(new Uint8Array(16), 0);
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = (n, a) => e(n, a), t;
  }
  const y3 = Z4(((e, t) => new W4(e, t)));
  Z4(((e, t) => new jw(e, t)));
  const an = 16, qu = new Uint8Array(an);
  function m8(e) {
    return e << 1 ^ 283 & -(e >> 7);
  }
  function qs(e, t) {
    let r = 0;
    for (; t > 0; t >>= 1) r ^= e & -(1 & t), e = m8(e);
    return r;
  }
  const up = (() => {
    const e = new Uint8Array(256);
    for (let r = 0, n = 1; r < 256; r++, n ^= m8(n)) e[r] = n;
    const t = new Uint8Array(256);
    t[0] = 99;
    for (let r = 0; r < 255; r++) {
      let n = e[255 - r];
      n |= n << 8, t[e[r]] = 255 & (n ^ n >> 4 ^ n >> 5 ^ n >> 6 ^ n >> 7 ^ 99);
    }
    return Fr(e), t;
  })(), zw = up.map(((e, t) => up.indexOf(t))), s1 = (e) => e << 8 | e >>> 24, E3 = (e) => e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
  function Y4(e, t) {
    if (e.length !== 256) throw Error("Wrong sbox length");
    const r = new Uint32Array(256).map(((x, d) => t(e[d]))), n = r.map(s1), a = n.map(s1), i = a.map(s1), s = new Uint32Array(65536), l = new Uint32Array(65536), u = new Uint16Array(65536);
    for (let x = 0; x < 256; x++) for (let d = 0; d < 256; d++) {
      const f = 256 * x + d;
      s[f] = r[x] ^ n[d], l[f] = a[x] ^ i[d], u[f] = e[x] << 8 | e[d];
    }
    return {
      sbox: e,
      sbox2: u,
      T0: r,
      T1: n,
      T2: a,
      T3: i,
      T01: s,
      T23: l
    };
  }
  const g8 = Y4(up, ((e) => qs(e, 3) << 24 | e << 16 | e << 8 | qs(e, 2))), $4 = Y4(zw, ((e) => qs(e, 11) << 24 | qs(e, 13) << 16 | qs(e, 9) << 8 | qs(e, 14))), Uw = (() => {
    const e = new Uint8Array(16);
    for (let t = 0, r = 1; t < 16; t++, r = m8(r)) e[t] = r;
    return e;
  })();
  function ts(e) {
    jt(e);
    const t = e.length;
    if (![
      16,
      24,
      32
    ].includes(t)) throw Error("aes: invalid key size, should be 16, 24 or 32, got " + t);
    const { sbox2: r } = g8, n = [];
    Bn(e) || n.push(e = Vr(e));
    const a = kt(e), i = a.length, s = (x) => ba(r, x, x, x, x), l = new Uint32Array(t + 28);
    l.set(a);
    for (let x = i; x < l.length; x++) {
      let d = l[x - 1];
      x % i == 0 ? d = s((u = d) << 24 | u >>> 8) ^ Uw[x / i - 1] : i > 6 && x % i == 4 && (d = s(d)), l[x] = l[x - i] ^ d;
    }
    var u;
    return Fr(...n), l;
  }
  function y8(e) {
    const t = ts(e), r = t.slice(), n = t.length, { sbox2: a } = g8, { T0: i, T1: s, T2: l, T3: u } = $4;
    for (let x = 0; x < n; x += 4) for (let d = 0; d < 4; d++) r[x + d] = t[n - x - 4 + d];
    Fr(t);
    for (let x = 4; x < n - 4; x++) {
      const d = r[x], f = ba(a, d, d, d, d);
      r[x] = i[255 & f] ^ s[f >>> 8 & 255] ^ l[f >>> 16 & 255] ^ u[f >>> 24];
    }
    return r;
  }
  function Vi(e, t, r, n, a, i) {
    return e[r << 8 & 65280 | n >>> 8 & 255] ^ t[a >>> 8 & 65280 | i >>> 24 & 255];
  }
  function ba(e, t, r, n, a) {
    return e[255 & t | 65280 & r] | e[n >>> 16 & 255 | a >>> 16 & 65280] << 16;
  }
  function Zn(e, t, r, n, a) {
    const { sbox2: i, T01: s, T23: l } = g8;
    let u = 0;
    t ^= e[u++], r ^= e[u++], n ^= e[u++], a ^= e[u++];
    const x = e.length / 4 - 2;
    for (let d = 0; d < x; d++) {
      const f = e[u++] ^ Vi(s, l, t, r, n, a), m = e[u++] ^ Vi(s, l, r, n, a, t), p = e[u++] ^ Vi(s, l, n, a, t, r), g = e[u++] ^ Vi(s, l, a, t, r, n);
      t = f, r = m, n = p, a = g;
    }
    return {
      s0: e[u++] ^ ba(i, t, r, n, a),
      s1: e[u++] ^ ba(i, r, n, a, t),
      s2: e[u++] ^ ba(i, n, a, t, r),
      s3: e[u++] ^ ba(i, a, t, r, n)
    };
  }
  function gd(e, t, r, n, a) {
    const { sbox2: i, T01: s, T23: l } = $4;
    let u = 0;
    t ^= e[u++], r ^= e[u++], n ^= e[u++], a ^= e[u++];
    const x = e.length / 4 - 2;
    for (let d = 0; d < x; d++) {
      const f = e[u++] ^ Vi(s, l, t, a, n, r), m = e[u++] ^ Vi(s, l, r, t, a, n), p = e[u++] ^ Vi(s, l, n, r, t, a), g = e[u++] ^ Vi(s, l, a, n, r, t);
      t = f, r = m, n = p, a = g;
    }
    return {
      s0: e[u++] ^ ba(i, t, a, n, r),
      s1: e[u++] ^ ba(i, r, t, a, n),
      s2: e[u++] ^ ba(i, n, r, t, a),
      s3: e[u++] ^ ba(i, a, n, r, t)
    };
  }
  function X4(e, t, r, n) {
    jt(t, an), jt(r);
    const a = r.length;
    lp(r, n = Yl(a, n));
    const i = t, s = kt(i);
    let { s0: l, s1: u, s2: x, s3: d } = Zn(e, s[0], s[1], s[2], s[3]);
    const f = kt(r), m = kt(n);
    for (let g = 0; g + 4 <= f.length; g += 4) {
      m[g + 0] = f[g + 0] ^ l, m[g + 1] = f[g + 1] ^ u, m[g + 2] = f[g + 2] ^ x, m[g + 3] = f[g + 3] ^ d;
      let E = 1;
      for (let A = i.length - 1; A >= 0; A--) E = E + (255 & i[A]) | 0, i[A] = 255 & E, E >>>= 8;
      ({ s0: l, s1: u, s2: x, s3: d } = Zn(e, s[0], s[1], s[2], s[3]));
    }
    const p = an * Math.floor(f.length / 4);
    if (p < a) {
      const g = new Uint32Array([
        l,
        u,
        x,
        d
      ]), E = h8(g);
      for (let A = p, w = 0; A < a; A++, w++) n[A] = r[A] ^ E[w];
      Fr(g);
    }
    return n;
  }
  function Sl(e, t, r, n, a) {
    jt(r, an), jt(n), a = Yl(n.length, a);
    const i = r, s = kt(i), l = md(i), u = kt(n), x = kt(a), d = t ? 0 : 12, f = n.length;
    let m = l.getUint32(d, t), { s0: p, s1: g, s2: E, s3: A } = Zn(e, s[0], s[1], s[2], s[3]);
    for (let D = 0; D + 4 <= u.length; D += 4) x[D + 0] = u[D + 0] ^ p, x[D + 1] = u[D + 1] ^ g, x[D + 2] = u[D + 2] ^ E, x[D + 3] = u[D + 3] ^ A, m = m + 1 >>> 0, l.setUint32(d, m, t), { s0: p, s1: g, s2: E, s3: A } = Zn(e, s[0], s[1], s[2], s[3]);
    const w = an * Math.floor(u.length / 4);
    if (w < f) {
      const D = new Uint32Array([
        p,
        g,
        E,
        A
      ]), B = h8(D);
      for (let v = w, _ = 0; v < f; v++, _++) a[v] = n[v] ^ B[_];
      Fr(D);
    }
    return a;
  }
  const Rw = bc({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t) {
    function r(n, a) {
      if (jt(n), a !== void 0 && (jt(a), !Bn(a))) throw Error("unaligned destination");
      const i = ts(e), s = Vr(t), l = [
        i,
        s
      ];
      Bn(n) || l.push(n = Vr(n));
      const u = X4(i, s, n, a);
      return Fr(...l), u;
    }
    return {
      encrypt: (n, a) => r(n, a),
      decrypt: (n, a) => r(n, a)
    };
  })), xp = bc({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t, r = {}) {
    const n = !r.disablePadding;
    return {
      encrypt(a, i) {
        const s = ts(e), { b: l, o: u, out: x } = (function(D, B, v) {
          jt(D);
          let _ = D.length;
          const T = _ % an;
          if (!B && T !== 0) throw Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");
          Bn(D) || (D = Vr(D));
          const I = kt(D);
          if (B) {
            let z = an - T;
            z || (z = an), _ += z;
          }
          return lp(D, v = Yl(_, v)), {
            b: I,
            o: kt(v),
            out: v
          };
        })(a, n, i);
        let d = t;
        const f = [
          s
        ];
        Bn(d) || f.push(d = Vr(d));
        const m = kt(d);
        let p = m[0], g = m[1], E = m[2], A = m[3], w = 0;
        for (; w + 4 <= l.length; ) p ^= l[w + 0], g ^= l[w + 1], E ^= l[w + 2], A ^= l[w + 3], { s0: p, s1: g, s2: E, s3: A } = Zn(s, p, g, E, A), u[w++] = p, u[w++] = g, u[w++] = E, u[w++] = A;
        if (n) {
          const D = (function(B) {
            const v = new Uint8Array(16), _ = kt(v);
            v.set(B);
            const T = an - B.length;
            for (let I = an - T; I < an; I++) v[I] = T;
            return _;
          })(a.subarray(4 * w));
          p ^= D[0], g ^= D[1], E ^= D[2], A ^= D[3], { s0: p, s1: g, s2: E, s3: A } = Zn(s, p, g, E, A), u[w++] = p, u[w++] = g, u[w++] = E, u[w++] = A;
        }
        return Fr(...f), x;
      },
      decrypt(a, i) {
        (function(A) {
          if (jt(A), A.length % an != 0) throw Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size 16");
        })(a);
        const s = y8(e);
        let l = t;
        const u = [
          s
        ];
        Bn(l) || u.push(l = Vr(l));
        const x = kt(l);
        i = Yl(a.length, i), Bn(a) || u.push(a = Vr(a)), lp(a, i);
        const d = kt(a), f = kt(i);
        let m = x[0], p = x[1], g = x[2], E = x[3];
        for (let A = 0; A + 4 <= d.length; ) {
          const w = m, D = p, B = g, v = E;
          m = d[A + 0], p = d[A + 1], g = d[A + 2], E = d[A + 3];
          const { s0: _, s1: T, s2: I, s3: z } = gd(s, m, p, g, E);
          f[A++] = _ ^ w, f[A++] = T ^ D, f[A++] = I ^ B, f[A++] = z ^ v;
        }
        return Fr(...u), (function(A, w) {
          if (!w) return A;
          const D = A.length;
          if (!D) throw Error("aes/pcks5: empty ciphertext not allowed");
          const B = A[D - 1];
          if (B <= 0 || B > 16) throw Error("aes/pcks5: wrong padding");
          const v = A.subarray(0, -B);
          for (let _ = 0; _ < B; _++) if (A[D - _ - 1] !== B) throw Error("aes/pcks5: wrong padding");
          return v;
        })(i, n);
      }
    };
  })), J4 = bc({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t) {
    function r(n, a, i) {
      jt(n);
      const s = n.length;
      if (q4(n, i = Yl(s, i))) throw Error("overlapping src and dst not supported.");
      const l = ts(e);
      let u = t;
      const x = [
        l
      ];
      Bn(u) || x.push(u = Vr(u)), Bn(n) || x.push(n = Vr(n));
      const d = kt(n), f = kt(i), m = a ? f : d, p = kt(u);
      let g = p[0], E = p[1], A = p[2], w = p[3];
      for (let B = 0; B + 4 <= d.length; ) {
        const { s0: v, s1: _, s2: T, s3: I } = Zn(l, g, E, A, w);
        f[B + 0] = d[B + 0] ^ v, f[B + 1] = d[B + 1] ^ _, f[B + 2] = d[B + 2] ^ T, f[B + 3] = d[B + 3] ^ I, g = m[B++], E = m[B++], A = m[B++], w = m[B++];
      }
      const D = an * Math.floor(d.length / 4);
      if (D < s) {
        ({ s0: g, s1: E, s2: A, s3: w } = Zn(l, g, E, A, w));
        const B = h8(new Uint32Array([
          g,
          E,
          A,
          w
        ]));
        for (let v = D, _ = 0; v < s; v++, _++) i[v] = n[v] ^ B[_];
        Fr(B);
      }
      return Fr(...x), i;
    }
    return {
      encrypt: (n, a) => r(n, true, a),
      decrypt: (n, a) => r(n, false, a)
    };
  }));
  function Tw(e, t, r, n, a) {
    const i = a ? a.length : 0, s = e.create(r, n.length + i);
    a && s.update(a);
    const l = (function(x, d, f) {
      const m = new Uint8Array(16), p = md(m);
      return cp(p, 0, BigInt(d), f), cp(p, 8, BigInt(x), f), m;
    })(8 * n.length, 8 * i, t);
    s.update(n), s.update(l);
    const u = s.digest();
    return Fr(l), u;
  }
  const Vu = bc({
    blockSize: 16,
    nonceLength: 12,
    tagLength: 16,
    varSizeNonce: true
  }, (function(e, t, r) {
    if (t.length < 8) throw Error("aes/gcm: invalid nonce length");
    function n(i, s, l) {
      const u = Tw(y3, false, i, l, r);
      for (let x = 0; x < s.length; x++) u[x] ^= s[x];
      return u;
    }
    function a() {
      const i = ts(e), s = qu.slice(), l = qu.slice();
      if (Sl(i, false, l, l, s), t.length === 12) l.set(t);
      else {
        const u = qu.slice();
        cp(md(u), 8, BigInt(8 * t.length), false);
        const x = y3.create(s).update(t).update(u);
        x.digestInto(l), x.destroy();
      }
      return {
        xk: i,
        authKey: s,
        counter: l,
        tagMask: Sl(i, false, l, qu)
      };
    }
    return {
      encrypt(i) {
        const { xk: s, authKey: l, counter: u, tagMask: x } = a(), d = new Uint8Array(i.length + 16), f = [
          s,
          l,
          u,
          x
        ];
        Bn(i) || f.push(i = Vr(i)), Sl(s, false, u, i, d.subarray(0, i.length));
        const m = n(l, x, d.subarray(0, d.length - 16));
        return f.push(m), d.set(m, i.length), Fr(...f), d;
      },
      decrypt(i) {
        const { xk: s, authKey: l, counter: u, tagMask: x } = a(), d = [
          s,
          l,
          x,
          u
        ];
        Bn(i) || d.push(i = Vr(i));
        const f = i.subarray(0, -16), m = i.subarray(-16), p = n(l, x, f);
        if (d.push(p), !V4(p, m)) throw Error("aes/gcm: invalid ghash tag");
        const g = Sl(s, false, u, f);
        return Fr(...d), g;
      }
    };
  }));
  function eg(e) {
    return e instanceof Uint32Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint32Array";
  }
  function tg(e, t) {
    if (jt(t, 16), !eg(e)) throw Error("_encryptBlock accepts result of expandKeyLE");
    const r = kt(t);
    let { s0: n, s1: a, s2: i, s3: s } = Zn(e, r[0], r[1], r[2], r[3]);
    return r[0] = n, r[1] = a, r[2] = i, r[3] = s, t;
  }
  function rg(e, t) {
    if (jt(t, 16), !eg(e)) throw Error("_decryptBlock accepts result of expandKeyLE");
    const r = kt(t);
    let { s0: n, s1: a, s2: i, s3: s } = gd(e, r[0], r[1], r[2], r[3]);
    return r[0] = n, r[1] = a, r[2] = i, r[3] = s, t;
  }
  const b3 = {
    encrypt(e, t) {
      if (t.length >= 2 ** 32) throw Error("plaintext should be less than 4gb");
      const r = ts(e);
      if (t.length === 16) tg(r, t);
      else {
        const n = kt(t);
        let a = n[0], i = n[1];
        for (let s = 0, l = 1; s < 6; s++) for (let u = 2; u < n.length; u += 2, l++) {
          const { s0: x, s1: d, s2: f, s3: m } = Zn(r, a, i, n[u], n[u + 1]);
          a = x, i = d ^ E3(l), n[u] = f, n[u + 1] = m;
        }
        n[0] = a, n[1] = i;
      }
      r.fill(0);
    },
    decrypt(e, t) {
      if (t.length - 8 >= 2 ** 32) throw Error("ciphertext should be less than 4gb");
      const r = y8(e), n = t.length / 8 - 1;
      if (n === 1) rg(r, t);
      else {
        const a = kt(t);
        let i = a[0], s = a[1];
        for (let l = 0, u = 6 * n; l < 6; l++) for (let x = 2 * n; x >= 1; x -= 2, u--) {
          s ^= E3(u);
          const { s0: d, s1: f, s2: m, s3: p } = gd(r, i, s, a[x], a[x + 1]);
          i = d, s = f, a[x] = m, a[x + 1] = p;
        }
        a[0] = i, a[1] = s;
      }
      r.fill(0);
    }
  }, A3 = new Uint8Array(8).fill(166), ng = bc({
    blockSize: 8
  }, ((e) => ({
    encrypt(t) {
      if (!t.length || t.length % 8 != 0) throw Error("invalid plaintext length");
      if (t.length === 8) throw Error("8-byte keys not allowed in AESKW, use AESKWP instead");
      const r = (function(...n) {
        let a = 0;
        for (let s = 0; s < n.length; s++) {
          const l = n[s];
          jt(l), a += l.length;
        }
        const i = new Uint8Array(a);
        for (let s = 0, l = 0; s < n.length; s++) {
          const u = n[s];
          i.set(u, l), l += u.length;
        }
        return i;
      })(A3, t);
      return b3.encrypt(e, r), r;
    },
    decrypt(t) {
      if (t.length % 8 != 0 || t.length < 24) throw Error("invalid ciphertext length");
      const r = Vr(t);
      if (b3.decrypt(e, r), !V4(r.subarray(0, 8), A3)) throw Error("integrity check failed");
      return r.subarray(0, 8).fill(0), r.subarray(8);
    }
  }))), w3 = {
    expandKeyLE: ts,
    expandKeyDecLE: y8,
    encrypt: Zn,
    decrypt: gd,
    encryptBlock: tg,
    decryptBlock: rg,
    ctrCounter: X4,
    ctr32: Sl
  };
  async function ag(e) {
    switch (e) {
      case k.symmetric.aes128:
      case k.symmetric.aes192:
      case k.symmetric.aes256:
        throw Error("Not a legacy cipher");
      case k.symmetric.cast5:
      case k.symmetric.blowfish:
      case k.symmetric.twofish:
      case k.symmetric.tripledes: {
        const { legacyCiphers: t } = await Promise.resolve().then((function() {
          return NC;
        })), r = k.read(k.symmetric, e), n = t.get(r);
        if (!n) throw Error("Unsupported cipher algorithm");
        return n;
      }
      default:
        throw Error("Unsupported cipher algorithm");
    }
  }
  function Mw(e) {
    switch (e) {
      case k.symmetric.aes128:
      case k.symmetric.aes192:
      case k.symmetric.aes256:
      case k.symmetric.twofish:
        return 16;
      case k.symmetric.blowfish:
      case k.symmetric.cast5:
      case k.symmetric.tripledes:
        return 8;
      default:
        throw Error("Unsupported cipher");
    }
  }
  function Kw(e) {
    switch (e) {
      case k.symmetric.aes128:
      case k.symmetric.blowfish:
      case k.symmetric.cast5:
        return 16;
      case k.symmetric.aes192:
      case k.symmetric.tripledes:
        return 24;
      case k.symmetric.aes256:
      case k.symmetric.twofish:
        return 32;
      default:
        throw Error("Unsupported cipher");
    }
  }
  function vt(e) {
    return {
      keySize: Kw(e),
      blockSize: Mw(e)
    };
  }
  const e0 = G.getWebCrypto();
  async function dp(e, t, r) {
    const { keySize: n } = vt(e);
    if (!G.isAES(e) || t.length !== n) throw Error("Unexpected algorithm or key size");
    try {
      const a = await e0.importKey("raw", t, {
        name: "AES-KW"
      }, false, [
        "wrapKey"
      ]), i = await e0.importKey("raw", r, {
        name: "HMAC",
        hash: "SHA-256"
      }, true, [
        "sign"
      ]), s = await e0.wrapKey("raw", i, a, {
        name: "AES-KW"
      });
      return new Uint8Array(s);
    } catch (a) {
      if (a.name !== "NotSupportedError" && (t.length !== 24 || a.name !== "OperationError")) throw a;
      G.printDebugError("Browser did not support operation: " + a.message);
    }
    return ng(t).encrypt(r);
  }
  async function fp(e, t, r) {
    const { keySize: n } = vt(e);
    if (!G.isAES(e) || t.length !== n) throw Error("Unexpected algorithm or key size");
    let a;
    try {
      a = await e0.importKey("raw", t, {
        name: "AES-KW"
      }, false, [
        "unwrapKey"
      ]);
    } catch (i) {
      if (i.name !== "NotSupportedError" && (t.length !== 24 || i.name !== "OperationError")) throw i;
      return G.printDebugError("Browser did not support operation: " + i.message), ng(t).decrypt(r);
    }
    try {
      const i = await e0.unwrapKey("raw", r, a, {
        name: "AES-KW"
      }, {
        name: "HMAC",
        hash: "SHA-256"
      }, true, [
        "sign"
      ]);
      return new Uint8Array(await e0.exportKey("raw", i));
    } catch (i) {
      throw i.name === "OperationError" ? Error("Key Data Integrity failed") : i;
    }
  }
  async function ro(e, t, r, n, a) {
    const i = G.getWebCrypto(), s = k.read(k.webHash, e);
    if (!s) throw Error("Hash algo not supported with HKDF");
    const l = await i.importKey("raw", t, "HKDF", false, [
      "deriveBits"
    ]), u = await i.deriveBits({
      name: "HKDF",
      hash: s,
      salt: r,
      info: n
    }, l, 8 * a);
    return new Uint8Array(u);
  }
  const Hx = {
    x25519: G.encodeUTF8("OpenPGP X25519"),
    x448: G.encodeUTF8("OpenPGP X448")
  };
  async function E8(e) {
    switch (e) {
      case k.publicKey.x25519:
        try {
          const t = G.getWebCrypto(), r = await t.generateKey("X25519", true, [
            "deriveKey",
            "deriveBits"
          ]).catch(((i) => {
            if (i.name === "OperationError") {
              const s = Error("Unexpected key generation issue");
              throw s.name = "NotSupportedError", s;
            }
            throw i;
          })), n = await t.exportKey("jwk", r.privateKey), a = await t.exportKey("jwk", r.publicKey);
          if (n.x !== a.x) {
            const i = Error("Unexpected mismatching public point");
            throw i.name = "NotSupportedError", i;
          }
          return {
            A: new Uint8Array(qr(a.x)),
            k: qr(n.d)
          };
        } catch (t) {
          if (t.name !== "NotSupportedError") throw t;
          const { default: r } = await Promise.resolve().then((function() {
            return as;
          })), { secretKey: n, publicKey: a } = r.box.keyPair();
          return {
            A: a,
            k: n
          };
        }
      case k.publicKey.x448: {
        const t = await G.getNobleCurve(k.publicKey.x448), { secretKey: r, publicKey: n } = t.keygen();
        return {
          A: n,
          k: r
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function b8(e, t, r) {
    switch (e) {
      case k.publicKey.x25519:
        try {
          const { ephemeralPublicKey: n, sharedSecret: a } = await Ed(e, t), i = await bd(e, n, t, r);
          return G.equalsUint8Array(a, i);
        } catch {
          return false;
        }
      case k.publicKey.x448: {
        const n = (await G.getNobleCurve(k.publicKey.x448)).getPublicKey(r);
        return G.equalsUint8Array(t, n);
      }
      default:
        return false;
    }
  }
  async function ig(e, t, r) {
    const { ephemeralPublicKey: n, sharedSecret: a } = await Ed(e, r), i = G.concatUint8Array([
      n,
      r,
      a
    ]);
    switch (e) {
      case k.publicKey.x25519: {
        const s = k.symmetric.aes128, { keySize: l } = vt(s), u = await ro(k.hash.sha256, i, new Uint8Array(), Hx.x25519, l);
        return {
          ephemeralPublicKey: n,
          wrappedKey: await dp(s, u, t)
        };
      }
      case k.publicKey.x448: {
        const s = k.symmetric.aes256, { keySize: l } = vt(k.symmetric.aes256), u = await ro(k.hash.sha512, i, new Uint8Array(), Hx.x448, l);
        return {
          ephemeralPublicKey: n,
          wrappedKey: await dp(s, u, t)
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function og(e, t, r, n, a) {
    const i = await bd(e, t, n, a), s = G.concatUint8Array([
      t,
      n,
      i
    ]);
    switch (e) {
      case k.publicKey.x25519: {
        const l = k.symmetric.aes128, { keySize: u } = vt(l);
        return fp(l, await ro(k.hash.sha256, s, new Uint8Array(), Hx.x25519, u), r);
      }
      case k.publicKey.x448: {
        const l = k.symmetric.aes256, { keySize: u } = vt(k.symmetric.aes256);
        return fp(l, await ro(k.hash.sha512, s, new Uint8Array(), Hx.x448, u), r);
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  function yd(e) {
    switch (e) {
      case k.publicKey.x25519:
        return 32;
      case k.publicKey.x448:
        return 56;
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function Ed(e, t) {
    switch (e) {
      case k.publicKey.x25519:
        try {
          const r = G.getWebCrypto(), n = await r.generateKey("X25519", true, [
            "deriveKey",
            "deriveBits"
          ]).catch(((u) => {
            if (u.name === "OperationError") {
              const x = Error("Unexpected key generation issue");
              throw x.name = "NotSupportedError", x;
            }
            throw u;
          })), a = await r.exportKey("jwk", n.publicKey);
          if ((await r.exportKey("jwk", n.privateKey)).x !== a.x) {
            const u = Error("Unexpected mismatching public point");
            throw u.name = "NotSupportedError", u;
          }
          const i = hp(e, t), s = await r.importKey("jwk", i, "X25519", false, []), l = await r.deriveBits({
            name: "X25519",
            public: s
          }, n.privateKey, 8 * yd(e));
          return {
            sharedSecret: new Uint8Array(l),
            ephemeralPublicKey: new Uint8Array(qr(a.x))
          };
        } catch (r) {
          if (r.name !== "NotSupportedError") throw r;
          const { default: n } = await Promise.resolve().then((function() {
            return as;
          })), { secretKey: a, publicKey: i } = n.box.keyPair(), s = n.scalarMult(a, t);
          return Qx(s), {
            ephemeralPublicKey: i,
            sharedSecret: s
          };
        }
      case k.publicKey.x448: {
        const r = await G.getNobleCurve(k.publicKey.x448), { secretKey: n, publicKey: a } = r.keygen(), i = r.getSharedSecret(n, t);
        return Qx(i), {
          ephemeralPublicKey: a,
          sharedSecret: i
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function bd(e, t, r, n) {
    switch (e) {
      case k.publicKey.x25519:
        try {
          const a = G.getWebCrypto(), i = (function(d, f, m) {
            if (d === k.publicKey.x25519) {
              const p = hp(d, f);
              return p.d = fr(m), p;
            }
            throw Error("Unsupported ECDH algorithm");
          })(e, r, n), s = hp(e, t), l = await a.importKey("jwk", i, "X25519", false, [
            "deriveKey",
            "deriveBits"
          ]), u = await a.importKey("jwk", s, "X25519", false, []), x = await a.deriveBits({
            name: "X25519",
            public: u
          }, l, 8 * yd(e));
          return new Uint8Array(x);
        } catch (a) {
          if (a.name !== "NotSupportedError") throw a;
          const { default: i } = await Promise.resolve().then((function() {
            return as;
          })), s = i.scalarMult(n, t);
          return Qx(s), s;
        }
      case k.publicKey.x448: {
        const a = (await G.getNobleCurve(k.publicKey.x448)).getSharedSecret(n, t);
        return Qx(a), a;
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  function Qx(e) {
    let t = 0;
    for (let r = 0; r < e.length; r++) t |= e[r];
    if (t === 0) throw Error("Unexpected low order point");
  }
  function hp(e, t) {
    if (e === k.publicKey.x25519) return {
      kty: "OKP",
      crv: "X25519",
      x: fr(t),
      ext: true
    };
    throw Error("Unsupported ECDH algorithm");
  }
  var Lw = Object.freeze({
    __proto__: null,
    decrypt: og,
    encrypt: ig,
    generate: E8,
    generateEphemeralEncryptionMaterial: Ed,
    getPayloadSize: yd,
    recomputeSharedSecret: bd,
    validateParams: b8
  });
  const l1 = G.getWebCrypto(), Gx = G.getNodeCrypto(), va = {
    [k.curve.nistP256]: "P-256",
    [k.curve.nistP384]: "P-384",
    [k.curve.nistP521]: "P-521"
  }, Ka = Gx ? Gx.getCurves() : [], pa = Gx ? {
    [k.curve.secp256k1]: Ka.includes("secp256k1") ? "secp256k1" : void 0,
    [k.curve.nistP256]: Ka.includes("prime256v1") ? "prime256v1" : void 0,
    [k.curve.nistP384]: Ka.includes("secp384r1") ? "secp384r1" : void 0,
    [k.curve.nistP521]: Ka.includes("secp521r1") ? "secp521r1" : void 0,
    [k.curve.ed25519Legacy]: Ka.includes("ED25519") ? "ED25519" : void 0,
    [k.curve.curve25519Legacy]: Ka.includes("X25519") ? "X25519" : void 0,
    [k.curve.brainpoolP256r1]: Ka.includes("brainpoolP256r1") ? "brainpoolP256r1" : void 0,
    [k.curve.brainpoolP384r1]: Ka.includes("brainpoolP384r1") ? "brainpoolP384r1" : void 0,
    [k.curve.brainpoolP512r1]: Ka.includes("brainpoolP512r1") ? "brainpoolP512r1" : void 0
  } : {}, sg = {
    [k.curve.nistP256]: {
      oid: [
        6,
        8,
        42,
        134,
        72,
        206,
        61,
        3,
        1,
        7
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha256,
      cipher: k.symmetric.aes128,
      node: pa[k.curve.nistP256],
      web: va[k.curve.nistP256],
      payloadSize: 32,
      sharedSize: 256,
      wireFormatLeadingByte: 4
    },
    [k.curve.nistP384]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        34
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha384,
      cipher: k.symmetric.aes192,
      node: pa[k.curve.nistP384],
      web: va[k.curve.nistP384],
      payloadSize: 48,
      sharedSize: 384,
      wireFormatLeadingByte: 4
    },
    [k.curve.nistP521]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        35
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha512,
      cipher: k.symmetric.aes256,
      node: pa[k.curve.nistP521],
      web: va[k.curve.nistP521],
      payloadSize: 66,
      sharedSize: 528,
      wireFormatLeadingByte: 4
    },
    [k.curve.secp256k1]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        10
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha256,
      cipher: k.symmetric.aes128,
      node: pa[k.curve.secp256k1],
      payloadSize: 32,
      wireFormatLeadingByte: 4
    },
    [k.curve.ed25519Legacy]: {
      oid: [
        6,
        9,
        43,
        6,
        1,
        4,
        1,
        218,
        71,
        15,
        1
      ],
      keyType: k.publicKey.eddsaLegacy,
      hash: k.hash.sha512,
      node: false,
      payloadSize: 32,
      wireFormatLeadingByte: 64
    },
    [k.curve.curve25519Legacy]: {
      oid: [
        6,
        10,
        43,
        6,
        1,
        4,
        1,
        151,
        85,
        1,
        5,
        1
      ],
      keyType: k.publicKey.ecdh,
      hash: k.hash.sha256,
      cipher: k.symmetric.aes128,
      node: false,
      payloadSize: 32,
      wireFormatLeadingByte: 64
    },
    [k.curve.brainpoolP256r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        7
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha256,
      cipher: k.symmetric.aes128,
      node: pa[k.curve.brainpoolP256r1],
      payloadSize: 32,
      wireFormatLeadingByte: 4
    },
    [k.curve.brainpoolP384r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        11
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha384,
      cipher: k.symmetric.aes192,
      node: pa[k.curve.brainpoolP384r1],
      payloadSize: 48,
      wireFormatLeadingByte: 4
    },
    [k.curve.brainpoolP512r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        13
      ],
      keyType: k.publicKey.ecdsa,
      hash: k.hash.sha512,
      cipher: k.symmetric.aes256,
      node: pa[k.curve.brainpoolP512r1],
      payloadSize: 64,
      wireFormatLeadingByte: 4
    }
  };
  class Dn {
    constructor(t) {
      try {
        this.name = t instanceof ri ? t.getName() : k.write(k.curve, t);
      } catch {
        throw new mt("Unknown curve");
      }
      const r = sg[this.name];
      this.keyType = r.keyType, this.oid = r.oid, this.hash = r.hash, this.cipher = r.cipher, this.node = r.node, this.web = r.web, this.payloadSize = r.payloadSize, this.sharedSize = r.sharedSize, this.wireFormatLeadingByte = r.wireFormatLeadingByte, this.web && G.getWebCrypto() ? this.type = "web" : this.node && G.getNodeCrypto() ? this.type = "node" : this.name === k.curve.curve25519Legacy ? this.type = "curve25519Legacy" : this.name === k.curve.ed25519Legacy && (this.type = "ed25519Legacy");
    }
    async genKeyPair() {
      switch (this.type) {
        case "web":
          try {
            return await (async function(t, r) {
              const n = await l1.generateKey({
                name: "ECDSA",
                namedCurve: va[t]
              }, true, [
                "sign",
                "verify"
              ]), a = await l1.exportKey("jwk", n.privateKey);
              return {
                publicKey: ug(await l1.exportKey("jwk", n.publicKey), r),
                privateKey: qr(a.d)
              };
            })(this.name, this.wireFormatLeadingByte);
          } catch (t) {
            return G.printDebugError("Browser did not support generating ec key " + t.message), v3(this.name);
          }
        case "node":
          return (function(t) {
            const r = Gx.createECDH(pa[t]);
            return r.generateKeys(), {
              publicKey: new Uint8Array(r.getPublicKey()),
              privateKey: new Uint8Array(r.getPrivateKey())
            };
          })(this.name);
        case "curve25519Legacy": {
          const { k: t, A: r } = await E8(k.publicKey.x25519), n = t.slice().reverse();
          return n[0] = 127 & n[0] | 64, n[31] &= 248, {
            publicKey: G.concatUint8Array([
              new Uint8Array([
                this.wireFormatLeadingByte
              ]),
              r
            ]),
            privateKey: n
          };
        }
        case "ed25519Legacy": {
          const { seed: t, A: r } = await c8(k.publicKey.ed25519);
          return {
            publicKey: G.concatUint8Array([
              new Uint8Array([
                this.wireFormatLeadingByte
              ]),
              r
            ]),
            privateKey: t
          };
        }
        default:
          return v3(this.name);
      }
    }
  }
  async function Bx(e) {
    const t = new Dn(e), { oid: r, hash: n, cipher: a } = t, i = await t.genKeyPair();
    return {
      oid: r,
      Q: i.publicKey,
      secret: G.leftPad(i.privateKey, t.payloadSize),
      hash: n,
      cipher: a
    };
  }
  function lg(e) {
    return sg[e.getName()].hash;
  }
  async function cg(e, t, r, n) {
    const a = {
      [k.curve.nistP256]: true,
      [k.curve.nistP384]: true,
      [k.curve.nistP521]: true,
      [k.curve.secp256k1]: true,
      [k.curve.curve25519Legacy]: e === k.publicKey.ecdh,
      [k.curve.brainpoolP256r1]: true,
      [k.curve.brainpoolP384r1]: true,
      [k.curve.brainpoolP512r1]: true
    }, i = t.getName();
    if (!a[i]) return false;
    if (i === k.curve.curve25519Legacy) {
      const l = n.slice().reverse();
      return !(r.length < 1 || r[0] !== 64) && b8(k.publicKey.x25519, r.subarray(1), l);
    }
    const s = (await G.getNobleCurve(k.publicKey.ecdsa, i)).getPublicKey(n, false);
    return !!G.equalsUint8Array(s, r);
  }
  function Ho(e, t) {
    const { payloadSize: r, wireFormatLeadingByte: n, name: a } = e, i = a === k.curve.curve25519Legacy || a === k.curve.ed25519Legacy ? r : 2 * r;
    if (t[0] !== n || t.length !== i + 1) throw Error("Invalid point encoding");
  }
  async function v3(e) {
    const t = await G.getNobleCurve(k.publicKey.ecdsa, e), { secretKey: r } = t.keygen();
    return {
      publicKey: t.getPublicKey(r, false),
      privateKey: r
    };
  }
  function ug(e, t) {
    const r = qr(e.x), n = qr(e.y), a = new Uint8Array(r.length + n.length + 1);
    return a[0] = t, a.set(r, 1), a.set(n, r.length + 1), a;
  }
  function Ad(e, t, r) {
    const n = e, a = r.slice(1, n + 1), i = r.slice(n + 1, 2 * n + 1);
    return {
      kty: "EC",
      crv: t,
      x: fr(a),
      y: fr(i),
      ext: true
    };
  }
  function xg(e, t, r, n) {
    const a = Ad(e, t, r);
    return a.d = fr(n), a;
  }
  const qx = G.getWebCrypto(), dg = G.getNodeCrypto();
  async function pp(e, t, r, n, a, i) {
    const s = new Dn(e);
    if (Ho(s, n), r && !G.isStream(r)) {
      const u = {
        publicKey: n,
        privateKey: a
      };
      switch (s.type) {
        case "web":
          try {
            return await (async function(x, d, f, m) {
              const p = x.payloadSize, g = xg(x.payloadSize, va[x.name], m.publicKey, m.privateKey), E = await qx.importKey("jwk", g, {
                name: "ECDSA",
                namedCurve: va[x.name],
                hash: {
                  name: k.read(k.webHash, x.hash)
                }
              }, false, [
                "sign"
              ]), A = new Uint8Array(await qx.sign({
                name: "ECDSA",
                namedCurve: va[x.name],
                hash: {
                  name: k.read(k.webHash, d)
                }
              }, E, f));
              return {
                r: A.slice(0, p),
                s: A.slice(p, p << 1)
              };
            })(s, t, r, u);
          } catch (x) {
            if (s.name !== "nistP521" && (x.name === "DataError" || x.name === "OperationError")) throw x;
            G.printDebugError("Browser did not support signing: " + x.message);
          }
          break;
        case "node":
          return (function(x, d, f, m) {
            const p = G.nodeRequire("eckey-utils"), g = G.getNodeBuffer(), { privateKey: E } = p.generateDer({
              curveName: pa[x.name],
              privateKey: g.from(m)
            }), A = dg.createSign(k.read(k.hash, d));
            A.write(f), A.end();
            const w = new Uint8Array(A.sign({
              key: E,
              format: "der",
              type: "sec1",
              dsaEncoding: "ieee-p1363"
            })), D = x.payloadSize;
            return {
              r: w.subarray(0, D),
              s: w.subarray(D, D << 1)
            };
          })(s, t, r, a);
      }
    }
    const l = (await G.getNobleCurve(k.publicKey.ecdsa, s.name)).sign(i, a, {
      lowS: false
    });
    return {
      r: Ht(l.r, "be", s.payloadSize),
      s: Ht(l.s, "be", s.payloadSize)
    };
  }
  async function mp(e, t, r, n, a, i) {
    const s = new Dn(e);
    Ho(s, a);
    const l = async () => i[0] === 0 && B3(s, r, i.subarray(1), a);
    if (n && !G.isStream(n)) switch (s.type) {
      case "web":
        try {
          return await (async function(x, d, { r: f, s: m }, p, g) {
            const E = Ad(x.payloadSize, va[x.name], g), A = await qx.importKey("jwk", E, {
              name: "ECDSA",
              namedCurve: va[x.name],
              hash: {
                name: k.read(k.webHash, x.hash)
              }
            }, false, [
              "verify"
            ]), w = G.concatUint8Array([
              f,
              m
            ]).buffer;
            return qx.verify({
              name: "ECDSA",
              namedCurve: va[x.name],
              hash: {
                name: k.read(k.webHash, d)
              }
            }, A, w, p);
          })(s, t, r, n, a) || l();
        } catch (u) {
          if (s.name !== "nistP521" && (u.name === "DataError" || u.name === "OperationError")) throw u;
          G.printDebugError("Browser did not support verifying: " + u.message);
        }
        break;
      case "node":
        return (function(x, d, { r: f, s: m }, p, g) {
          const E = G.nodeRequire("eckey-utils"), A = G.getNodeBuffer(), { publicKey: w } = E.generateDer({
            curveName: pa[x.name],
            publicKey: A.from(g)
          }), D = dg.createVerify(k.read(k.hash, d));
          D.write(p), D.end();
          const B = G.concatUint8Array([
            f,
            m
          ]);
          try {
            return D.verify({
              key: w,
              format: "der",
              type: "spki",
              dsaEncoding: "ieee-p1363"
            }, B);
          } catch {
            return false;
          }
        })(s, t, r, n, a) || l();
    }
    return await B3(s, r, i, a) || l();
  }
  async function B3(e, t, r, n) {
    return (await G.getNobleCurve(k.publicKey.ecdsa, e.name)).verify(G.concatUint8Array([
      t.r,
      t.s
    ]), r, n, {
      lowS: false
    });
  }
  var Ow = Object.freeze({
    __proto__: null,
    sign: pp,
    validateParams: async function(e, t, r) {
      const n = new Dn(e);
      if (n.keyType !== k.publicKey.ecdsa) return false;
      switch (n.type) {
        case "web":
        case "node": {
          const a = mr(8), i = k.hash.sha256, s = await Fa(i, a);
          try {
            const l = await pp(e, i, a, t, r, s);
            return await mp(e, i, l, a, t, s);
          } catch {
            return false;
          }
        }
        default:
          return cg(k.publicKey.ecdsa, e, t, r);
      }
    },
    verify: mp
  });
  async function fg(e, t, r, n, a, i) {
    if (Ho(new Dn(e), n), Xt(t) < Xt(k.hash.sha256)) throw Error("Hash algorithm too weak for EdDSA.");
    const { RS: s } = await u8(k.publicKey.ed25519, t, 0, n.subarray(1), a, i);
    return {
      r: s.subarray(0, 32),
      s: s.subarray(32)
    };
  }
  async function hg(e, t, { r, s: n }, a, i, s) {
    if (Ho(new Dn(e), i), Xt(t) < Xt(k.hash.sha256)) throw Error("Hash algorithm too weak for EdDSA.");
    const l = G.concatUint8Array([
      r,
      n
    ]);
    return x8(k.publicKey.ed25519, t, {
      RS: l
    }, 0, i.subarray(1), s);
  }
  async function pg(e, t, r) {
    return e.getName() === k.curve.ed25519Legacy && !(t.length < 1 || t[0] !== 64) && d8(k.publicKey.ed25519, t.subarray(1), r);
  }
  var Hw = Object.freeze({
    __proto__: null,
    sign: fg,
    validateParams: pg,
    verify: hg
  });
  function Qw(e) {
    const t = e.length;
    if (t > 0) {
      const r = e[t - 1];
      if (r >= 1) {
        const n = e.subarray(t - r), a = new Uint8Array(r).fill(r);
        if (G.equalsUint8Array(n, a)) return e.subarray(0, t - r);
      }
    }
    throw Error("Invalid padding");
  }
  function mg(e, t, r, n) {
    return G.concatUint8Array([
      t.write(),
      new Uint8Array([
        e
      ]),
      r.write(),
      G.stringToUint8Array("Anonymous Sender    "),
      n
    ]);
  }
  async function gg(e, t, r, n, a = false, i = false) {
    let s;
    if (a) {
      for (s = 0; s < t.length && t[s] === 0; s++) ;
      t = t.subarray(s);
    }
    if (i) {
      for (s = t.length - 1; s >= 0 && t[s] === 0; s--) ;
      t = t.subarray(0, s + 1);
    }
    return (await Fa(e, G.concatUint8Array([
      new Uint8Array([
        0,
        0,
        0,
        1
      ]),
      t,
      n
    ]))).subarray(0, r);
  }
  async function Gw(e, t) {
    switch (e.type) {
      case "curve25519Legacy": {
        const { sharedSecret: r, ephemeralPublicKey: n } = await Ed(k.publicKey.x25519, t.subarray(1));
        return {
          publicKey: G.concatUint8Array([
            new Uint8Array([
              e.wireFormatLeadingByte
            ]),
            n
          ]),
          sharedKey: r
        };
      }
      case "web":
        if (e.web && G.getWebCrypto()) try {
          return await (async function(r, n) {
            const a = G.getWebCrypto(), i = Ad(r.payloadSize, r.web, n);
            let s = a.generateKey({
              name: "ECDH",
              namedCurve: r.web
            }, true, [
              "deriveKey",
              "deriveBits"
            ]), l = a.importKey("jwk", i, {
              name: "ECDH",
              namedCurve: r.web
            }, false, []);
            [s, l] = await Promise.all([
              s,
              l
            ]);
            let u = a.deriveBits({
              name: "ECDH",
              namedCurve: r.web,
              public: l
            }, s.privateKey, r.sharedSize), x = a.exportKey("jwk", s.publicKey);
            [u, x] = await Promise.all([
              u,
              x
            ]);
            const d = new Uint8Array(u);
            return {
              publicKey: new Uint8Array(ug(x, r.wireFormatLeadingByte)),
              sharedKey: d
            };
          })(e, t);
        } catch (r) {
          return G.printDebugError(r), k3(e, t);
        }
        break;
      case "node":
        return (function(r, n) {
          const a = G.getNodeCrypto(), i = a.createECDH(r.node);
          i.generateKeys();
          const s = new Uint8Array(i.computeSecret(n));
          return {
            publicKey: new Uint8Array(i.getPublicKey()),
            sharedKey: s
          };
        })(e, t);
      default:
        return k3(e, t);
    }
  }
  async function yg(e, t, r, n, a) {
    const i = (function(m) {
      const p = 8 - m.length % 8, g = new Uint8Array(m.length + p).fill(p);
      return g.set(m), g;
    })(r), s = new Dn(e);
    Ho(s, n);
    const { publicKey: l, sharedKey: u } = await Gw(s, n), x = mg(k.publicKey.ecdh, e, t, a), { keySize: d } = vt(t.cipher), f = await gg(t.hash, u, d, x);
    return {
      publicKey: l,
      wrappedKey: await dp(t.cipher, f, i)
    };
  }
  async function qw(e, t, r, n) {
    if (n.length !== e.payloadSize) {
      const a = new Uint8Array(e.payloadSize);
      a.set(n, e.payloadSize - n.length), n = a;
    }
    switch (e.type) {
      case "curve25519Legacy": {
        const a = n.slice().reverse();
        return {
          secretKey: a,
          sharedKey: await bd(k.publicKey.x25519, t.subarray(1), r.subarray(1), a)
        };
      }
      case "web":
        if (e.web && G.getWebCrypto()) try {
          return await (async function(a, i, s, l) {
            const u = G.getWebCrypto(), x = xg(a.payloadSize, a.web, s, l);
            let d = u.importKey("jwk", x, {
              name: "ECDH",
              namedCurve: a.web
            }, true, [
              "deriveKey",
              "deriveBits"
            ]);
            const f = Ad(a.payloadSize, a.web, i);
            let m = u.importKey("jwk", f, {
              name: "ECDH",
              namedCurve: a.web
            }, true, []);
            [d, m] = await Promise.all([
              d,
              m
            ]);
            let p = u.deriveBits({
              name: "ECDH",
              namedCurve: a.web,
              public: m
            }, d, a.sharedSize), g = u.exportKey("jwk", d);
            [p, g] = await Promise.all([
              p,
              g
            ]);
            const E = new Uint8Array(p);
            return {
              secretKey: qr(g.d),
              sharedKey: E
            };
          })(e, t, r, n);
        } catch (a) {
          return G.printDebugError(a), C3(e, t, n);
        }
        break;
      case "node":
        return (function(a, i, s) {
          const l = G.getNodeCrypto(), u = l.createECDH(a.node);
          u.setPrivateKey(s);
          const x = new Uint8Array(u.computeSecret(i));
          return {
            secretKey: new Uint8Array(u.getPrivateKey()),
            sharedKey: x
          };
        })(e, t, n);
      default:
        return C3(e, t, n);
    }
  }
  async function Eg(e, t, r, n, a, i, s) {
    const l = new Dn(e);
    Ho(l, a), Ho(l, r);
    const { sharedKey: u } = await qw(l, r, a, i), x = mg(k.publicKey.ecdh, e, t, s), { keySize: d } = vt(t.cipher);
    let f;
    for (let m = 0; m < 3; m++) try {
      const p = await gg(t.hash, u, d, x, m === 1, m === 2);
      return Qw(await fp(t.cipher, p, n));
    } catch (p) {
      f = p;
    }
    throw f;
  }
  async function C3(e, t, r) {
    return {
      secretKey: r,
      sharedKey: (await G.getNobleCurve(k.publicKey.ecdh, e.name)).getSharedSecret(r, t).subarray(1)
    };
  }
  async function k3(e, t) {
    const r = await G.getNobleCurve(k.publicKey.ecdh, e.name), { publicKey: n, privateKey: a } = await e.genKeyPair();
    return {
      publicKey: n,
      sharedKey: r.getSharedSecret(a, t).subarray(1)
    };
  }
  var Vw = Object.freeze({
    __proto__: null,
    CurveWithOID: Dn,
    ecdh: Object.freeze({
      __proto__: null,
      decrypt: Eg,
      encrypt: yg,
      validateParams: async function(e, t, r) {
        return cg(k.publicKey.ecdh, e, t, r);
      }
    }),
    ecdhX: Lw,
    ecdsa: Ow,
    eddsa: Pw,
    eddsaLegacy: Hw,
    generate: Bx,
    getPreferredHashAlgo: lg
  });
  const Cx = BigInt(0), Il = BigInt(1);
  class bg {
    constructor(t) {
      t && (this.data = t);
    }
    read(t) {
      if (t.length >= 1) {
        const r = t[0];
        if (t.length >= 1 + r) return this.data = t.subarray(1, 1 + r), 1 + this.data.length;
      }
      throw Error("Invalid symmetric key");
    }
    write() {
      return G.concatUint8Array([
        new Uint8Array([
          this.data.length
        ]),
        this.data
      ]);
    }
  }
  class Ag {
    constructor(t) {
      if (t) {
        const { hash: r, cipher: n } = t;
        this.hash = r, this.cipher = n;
      } else this.hash = null, this.cipher = null;
    }
    read(t) {
      if (t.length < 4 || t[0] !== 3 || t[1] !== 1) throw new mt("Cannot read KDFParams");
      return this.hash = t[2], this.cipher = t[3], 4;
    }
    write() {
      return new Uint8Array([
        3,
        1,
        this.hash,
        this.cipher
      ]);
    }
  }
  class wd {
    static fromObject({ wrappedKey: t, algorithm: r }) {
      const n = new wd();
      return n.wrappedKey = t, n.algorithm = r, n;
    }
    read(t) {
      let r = 0, n = t[r++];
      this.algorithm = n % 2 ? t[r++] : null, n -= n % 2, this.wrappedKey = G.readExactSubarray(t, r, r + n), r += n;
    }
    write() {
      return G.concatUint8Array([
        this.algorithm ? new Uint8Array([
          this.wrappedKey.length + 1,
          this.algorithm
        ]) : new Uint8Array([
          this.wrappedKey.length
        ]),
        this.wrappedKey
      ]);
    }
  }
  async function Ww(e, t, r, n, a) {
    switch (e) {
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaEncryptSign: {
        const { n: i, e: s } = r;
        return {
          c: await Dw(n, i, s)
        };
      }
      case k.publicKey.elgamal: {
        const { p: i, g: s, y: l } = r;
        return (async function(u, x, d, f) {
          x = Ge(x), d = Ge(d), f = Ge(f);
          const m = Ge(M4(u, Yr(x))), p = $i(Gi, x - Gi);
          return {
            c1: Ht(cr(d, p, x)),
            c2: Ht(ot(cr(f, p, x) * m, x))
          };
        })(n, i, s, l);
      }
      case k.publicKey.ecdh: {
        const { oid: i, Q: s, kdfParams: l } = r, { publicKey: u, wrappedKey: x } = await yg(i, l, n, s, a);
        return {
          V: u,
          C: new bg(x)
        };
      }
      case k.publicKey.x25519:
      case k.publicKey.x448: {
        if (t && !G.isAES(t)) throw Error("X25519 and X448 keys can only encrypt AES session keys");
        const { A: i } = r, { ephemeralPublicKey: s, wrappedKey: l } = await ig(e, n, i);
        return {
          ephemeralPublicKey: s,
          C: wd.fromObject({
            algorithm: t,
            wrappedKey: l
          })
        };
      }
      default:
        return [];
    }
  }
  async function Zw(e, t, r, n, a, i) {
    switch (e) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaEncrypt: {
        const { c: s } = n, { n: l, e: u } = t, { d: x, p: d, q: f, u: m } = r;
        return Fw(s, l, u, x, d, f, m, i);
      }
      case k.publicKey.elgamal: {
        const { c1: s, c2: l } = n;
        return (async function(u, x, d, f, m) {
          return u = Ge(u), x = Ge(x), d = Ge(d), K4(Ht(ot(n0(cr(u, f = Ge(f), d), d) * x, d), "be", Yr(d)), m);
        })(s, l, t.p, r.x, i);
      }
      case k.publicKey.ecdh: {
        const { oid: s, Q: l, kdfParams: u } = t, { d: x } = r, { V: d, C: f } = n;
        return Eg(s, u, d, f.data, l, x, a);
      }
      case k.publicKey.x25519:
      case k.publicKey.x448: {
        const { A: s } = t, { k: l } = r, { ephemeralPublicKey: u, C: x } = n;
        if (x.algorithm !== null && !G.isAES(x.algorithm)) throw Error("AES session key expected");
        return og(e, u, x.wrappedKey, s, l);
      }
      default:
        throw Error("Unknown public key encryption algorithm.");
    }
  }
  function D3(e, t, r) {
    let n = 0;
    switch (e) {
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaSign: {
        const a = G.readMPI(t.subarray(n));
        n += a.length + 2;
        const i = G.readMPI(t.subarray(n));
        n += i.length + 2;
        const s = G.readMPI(t.subarray(n));
        n += s.length + 2;
        const l = G.readMPI(t.subarray(n));
        return n += l.length + 2, {
          read: n,
          privateParams: {
            d: a,
            p: i,
            q: s,
            u: l
          }
        };
      }
      case k.publicKey.dsa:
      case k.publicKey.elgamal: {
        const a = G.readMPI(t.subarray(n));
        return n += a.length + 2, {
          read: n,
          privateParams: {
            x: a
          }
        };
      }
      case k.publicKey.ecdsa:
      case k.publicKey.ecdh: {
        const a = Vs(e, r.oid);
        let i = G.readMPI(t.subarray(n));
        return n += i.length + 2, i = G.leftPad(i, a), {
          read: n,
          privateParams: {
            d: i
          }
        };
      }
      case k.publicKey.eddsaLegacy: {
        const a = Vs(e, r.oid);
        if (r.oid.getName() !== k.curve.ed25519Legacy) throw Error("Unexpected OID for eddsaLegacy");
        let i = G.readMPI(t.subarray(n));
        return n += i.length + 2, i = G.leftPad(i, a), {
          read: n,
          privateParams: {
            seed: i
          }
        };
      }
      case k.publicKey.ed25519:
      case k.publicKey.ed448: {
        const a = Vs(e), i = G.readExactSubarray(t, n, n + a);
        return n += i.length, {
          read: n,
          privateParams: {
            seed: i
          }
        };
      }
      case k.publicKey.x25519:
      case k.publicKey.x448: {
        const a = Vs(e), i = G.readExactSubarray(t, n, n + a);
        return n += i.length, {
          read: n,
          privateParams: {
            k: i
          }
        };
      }
      default:
        throw new mt("Unknown public key encryption algorithm.");
    }
  }
  function i0(e, t) {
    const r = /* @__PURE__ */ new Set([
      k.publicKey.ed25519,
      k.publicKey.x25519,
      k.publicKey.ed448,
      k.publicKey.x448
    ]), n = Object.keys(t).map(((a) => {
      const i = t[a];
      return G.isUint8Array(i) ? r.has(e) ? i : G.uint8ArrayToMPI(i) : i.write();
    }));
    return G.concatUint8Array(n);
  }
  function Yw(e, t, r) {
    switch (e) {
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaSign:
        return (async function(n, a) {
          if (a = BigInt(a), G.getWebCrypto()) {
            const x = {
              name: "RSASSA-PKCS1-v1_5",
              modulusLength: n,
              publicExponent: Ht(a),
              hash: {
                name: "SHA-1"
              }
            }, d = await a0.generateKey(x, true, [
              "sign",
              "verify"
            ]);
            return m3(await a0.exportKey("jwk", d.privateKey), a);
          }
          if (G.getNodeCrypto()) {
            const x = {
              modulusLength: n,
              publicExponent: ap(a),
              publicKeyEncoding: {
                type: "pkcs1",
                format: "jwk"
              },
              privateKeyEncoding: {
                type: "pkcs1",
                format: "jwk"
              }
            }, d = await new Promise(((f, m) => {
              Oo.generateKeyPair("rsa", x, ((p, g, E) => {
                p ? m(p) : f(E);
              }));
            }));
            return m3(d, a);
          }
          let i, s, l;
          do
            s = h3(n - (n >> 1), a, 40), i = h3(n >> 1, a, 40), l = i * s;
          while (Js(l) !== n);
          const u = (i - to) * (s - to);
          return s < i && ([i, s] = [
            s,
            i
          ]), {
            n: Ht(l),
            e: Ht(a),
            d: Ht(n0(a, u)),
            p: Ht(i),
            q: Ht(s),
            u: Ht(n0(i, s))
          };
        })(t, 65537).then((({ n, e: a, d: i, p: s, q: l, u }) => ({
          privateParams: {
            d: i,
            p: s,
            q: l,
            u
          },
          publicParams: {
            n,
            e: a
          }
        })));
      case k.publicKey.ecdsa:
        return Bx(r).then((({ oid: n, Q: a, secret: i }) => ({
          privateParams: {
            d: i
          },
          publicParams: {
            oid: new ri(n),
            Q: a
          }
        })));
      case k.publicKey.eddsaLegacy:
        return Bx(r).then((({ oid: n, Q: a, secret: i }) => ({
          privateParams: {
            seed: i
          },
          publicParams: {
            oid: new ri(n),
            Q: a
          }
        })));
      case k.publicKey.ecdh:
        return Bx(r).then((({ oid: n, Q: a, secret: i, hash: s, cipher: l }) => ({
          privateParams: {
            d: i
          },
          publicParams: {
            oid: new ri(n),
            Q: a,
            kdfParams: new Ag({
              hash: s,
              cipher: l
            })
          }
        })));
      case k.publicKey.ed25519:
      case k.publicKey.ed448:
        return c8(e).then((({ A: n, seed: a }) => ({
          privateParams: {
            seed: a
          },
          publicParams: {
            A: n
          }
        })));
      case k.publicKey.x25519:
      case k.publicKey.x448:
        return E8(e).then((({ A: n, k: a }) => ({
          privateParams: {
            k: a
          },
          publicParams: {
            A: n
          }
        })));
      case k.publicKey.dsa:
      case k.publicKey.elgamal:
        throw Error("Unsupported algorithm for key generation.");
      default:
        throw Error("Unknown public key algorithm.");
    }
  }
  async function $w(e, t, r) {
    if (!t || !r) throw Error("Missing key parameters");
    switch (e) {
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaSign: {
        const { n, e: a } = t, { d: i, p: s, q: l, u } = r;
        return (async function(x, d, f, m, p, g) {
          if (x = Ge(x), (m = Ge(m)) * (p = Ge(p)) !== x) return false;
          const E = BigInt(2);
          if (ot(m * (g = Ge(g)), p) !== BigInt(1)) return false;
          d = Ge(d), f = Ge(f);
          const A = $i(E, E << BigInt(Math.floor(Js(x) / 3))), w = A * f * d;
          return !(ot(w, m - to) !== A || ot(w, p - to) !== A);
        })(n, a, i, s, l, u);
      }
      case k.publicKey.dsa: {
        const { p: n, q: a, g: i, y: s } = t, { x: l } = r;
        return (async function(u, x, d, f, m) {
          const p = Ge(u), g = Ge(x), E = Ge(d), A = Ge(f);
          if (E <= Il || E >= p || ot(p - Il, g) !== Cx || cr(E, g, p) !== Il) return false;
          const w = BigInt(Js(g));
          if (w < BigInt(150) || !T4(g, null, 32)) return false;
          const D = Ge(m), B = BigInt(2);
          return A === cr(E, g * $i(B << w - Il, B << w) + D, p);
        })(n, a, i, s, l);
      }
      case k.publicKey.elgamal: {
        const { p: n, g: a, y: i } = t, { x: s } = r;
        return (async function(l, u, x, d) {
          const f = Ge(l), m = Ge(u), p = Ge(x);
          if (m <= Gi || m >= f) return false;
          const g = BigInt(Js(f));
          if (g < BigInt(1023) || cr(m, f - Gi, f) !== Gi) return false;
          let E = m, A = BigInt(1);
          const w = BigInt(2), D = w << BigInt(17);
          for (; A < D; ) {
            if (E = ot(E * m, f), E === Gi) return false;
            A++;
          }
          const B = Ge(d), v = $i(w << g - Gi, w << g);
          return p === cr(m, (f - Gi) * v + B, f);
        })(n, a, i, s);
      }
      case k.publicKey.ecdsa:
      case k.publicKey.ecdh: {
        const n = Vw[k.read(k.publicKey, e)], { oid: a, Q: i } = t, { d: s } = r;
        return n.validateParams(a, i, s);
      }
      case k.publicKey.eddsaLegacy: {
        const { Q: n, oid: a } = t, { seed: i } = r;
        return pg(a, n, i);
      }
      case k.publicKey.ed25519:
      case k.publicKey.ed448: {
        const { A: n } = t, { seed: a } = r;
        return d8(e, n, a);
      }
      case k.publicKey.x25519:
      case k.publicKey.x448: {
        const { A: n } = t, { k: a } = r;
        return b8(e, n, a);
      }
      default:
        throw Error("Unknown public key algorithm.");
    }
  }
  function gp(e) {
    const { keySize: t } = vt(e);
    return mr(t);
  }
  function c1(e) {
    try {
      e.getName();
    } catch {
      throw new mt("Unknown curve OID");
    }
  }
  function Vs(e, t) {
    switch (e) {
      case k.publicKey.ecdsa:
      case k.publicKey.ecdh:
      case k.publicKey.eddsaLegacy:
        return new Dn(t).payloadSize;
      case k.publicKey.ed25519:
      case k.publicKey.ed448:
        return hd(e);
      case k.publicKey.x25519:
      case k.publicKey.x448:
        return yd(e);
      default:
        throw Error("Unknown elliptic algo");
    }
  }
  const kx = G.getWebCrypto(), $l = G.getNodeCrypto(), ko = $l ? $l.getCiphers() : [], Vx = {
    idea: ko.includes("idea-cfb") ? "idea-cfb" : void 0,
    tripledes: ko.includes("des-ede3-cfb") ? "des-ede3-cfb" : void 0,
    cast5: ko.includes("cast5-cfb") ? "cast5-cfb" : void 0,
    blowfish: ko.includes("bf-cfb") ? "bf-cfb" : void 0,
    aes128: ko.includes("aes-128-cfb") ? "aes-128-cfb" : void 0,
    aes192: ko.includes("aes-192-cfb") ? "aes-192-cfb" : void 0,
    aes256: ko.includes("aes-256-cfb") ? "aes-256-cfb" : void 0
  };
  function wg(e) {
    const { blockSize: t } = vt(e), r = mr(t), n = new Uint8Array([
      r[r.length - 2],
      r[r.length - 1]
    ]);
    return G.concat([
      r,
      n
    ]);
  }
  async function Xl(e, t, r, n, a) {
    const i = k.read(k.symmetric, e);
    if (G.getNodeCrypto() && Vx[i]) return (function(f, m, p, g) {
      const E = k.read(k.symmetric, f), A = new $l.createCipheriv(Vx[E], m, g);
      return qt(p, ((w) => new Uint8Array(A.update(w))));
    })(e, t, r, n);
    if (G.isAES(e)) return (async function(f, m, p, g) {
      if (kx && await F3.isSupported(f)) {
        const E = new F3(f, m, g);
        return G.isStream(p) ? rp(p, ((A) => E.encryptChunk(A)), (() => E.finish())) : E.encrypt(p);
      }
      if (G.isStream(p)) {
        const E = new vg(true, f, m, g);
        return rp(p, ((A) => E.processChunk(A)), (() => E.finish()));
      }
      return J4(m, g).encrypt(p);
    })(e, t, r, n);
    const s = new (await ag(e))(t), l = s.blockSize, u = n.slice();
    let x = new Uint8Array();
    const d = (f) => {
      f && (x = G.concatUint8Array([
        x,
        f
      ]));
      const m = new Uint8Array(x.length);
      let p, g = 0;
      for (; f ? x.length >= l : x.length; ) {
        const E = s.encrypt(u);
        for (p = 0; p < l; p++) u[p] = x[p] ^ E[p], m[g++] = u[p];
        x = x.subarray(l);
      }
      return m.subarray(0, g);
    };
    return qt(r, d, d);
  }
  async function vd(e, t, r, n) {
    const a = k.read(k.symmetric, e);
    if ($l && Vx[a]) return (function(d, f, m, p) {
      const g = k.read(k.symmetric, d), E = new $l.createDecipheriv(Vx[g], f, p);
      return qt(m, ((A) => new Uint8Array(E.update(A))));
    })(e, t, r, n);
    if (G.isAES(e)) return (function(d, f, m, p) {
      if (G.isStream(m)) {
        const g = new vg(false, d, f, p);
        return rp(m, ((E) => g.processChunk(E)), (() => g.finish()));
      }
      return J4(f, p).decrypt(m);
    })(e, t, r, n);
    const i = new (await ag(e))(t), s = i.blockSize;
    let l = n, u = new Uint8Array();
    const x = (d) => {
      d && (u = G.concatUint8Array([
        u,
        d
      ]));
      const f = new Uint8Array(u.length);
      let m, p = 0;
      for (; d ? u.length >= s : u.length; ) {
        const g = i.encrypt(l);
        for (l = u.subarray(0, s), m = 0; m < s; m++) f[p++] = l[m] ^ g[m];
        u = u.subarray(s);
      }
      return f.subarray(0, p);
    };
    return qt(r, x, x);
  }
  class F3 {
    constructor(t, r, n) {
      const { blockSize: a } = vt(t);
      this.key = r, this.prevBlock = n, this.nextBlock = new Uint8Array(a), this.i = 0, this.blockSize = a, this.zeroBlock = new Uint8Array(this.blockSize);
    }
    static isSupported(t) {
      const { keySize: r } = vt(t);
      return kx.importKey("raw", new Uint8Array(r), "aes-cbc", false, [
        "encrypt"
      ]).then((() => true), (() => false));
    }
    async _runCBC(t, r) {
      const n = "AES-CBC";
      this.keyRef = this.keyRef || await kx.importKey("raw", this.key, n, false, [
        "encrypt"
      ]);
      const a = await kx.encrypt({
        name: n,
        iv: r || this.zeroBlock
      }, this.keyRef, t);
      return new Uint8Array(a).subarray(0, t.length);
    }
    async encryptChunk(t) {
      const r = this.nextBlock.length - this.i, n = t.subarray(0, r);
      if (this.nextBlock.set(n, this.i), this.i + t.length >= 2 * this.blockSize) {
        const i = (t.length - r) % this.blockSize, s = G.concatUint8Array([
          this.nextBlock,
          t.subarray(r, t.length - i)
        ]), l = G.concatUint8Array([
          this.prevBlock,
          s.subarray(0, s.length - this.blockSize)
        ]), u = await this._runCBC(l);
        return Wu(u, s), this.prevBlock = u.slice(-this.blockSize), i > 0 && this.nextBlock.set(t.subarray(-i)), this.i = i, u;
      }
      let a;
      if (this.i += n.length, this.i === this.nextBlock.length) {
        const i = this.nextBlock;
        a = await this._runCBC(this.prevBlock), Wu(a, i), this.prevBlock = a.slice(), this.i = 0;
        const s = t.subarray(n.length);
        this.nextBlock.set(s, this.i), this.i += s.length;
      } else a = new Uint8Array();
      return a;
    }
    async finish() {
      let t;
      if (this.i === 0) t = new Uint8Array();
      else {
        this.nextBlock = this.nextBlock.subarray(0, this.i);
        const r = this.nextBlock, n = await this._runCBC(this.prevBlock);
        Wu(n, r), t = n.subarray(0, r.length);
      }
      return this.clearSensitiveData(), t;
    }
    clearSensitiveData() {
      this.nextBlock.fill(0), this.prevBlock.fill(0), this.keyRef = null, this.key = null;
    }
    async encrypt(t) {
      const r = (await this._runCBC(G.concatUint8Array([
        new Uint8Array(this.blockSize),
        t
      ]), this.iv)).subarray(0, t.length);
      return Wu(r, t), this.clearSensitiveData(), r;
    }
  }
  class vg {
    constructor(t, r, n, a) {
      this.forEncryption = t;
      const { blockSize: i } = vt(r);
      this.key = w3.expandKeyLE(n), a.byteOffset % 4 != 0 && (a = a.slice()), this.prevBlock = u1(a), this.nextBlock = new Uint8Array(i), this.i = 0, this.blockSize = i;
    }
    _runCFB(t) {
      const r = u1(t), n = new Uint8Array(t.length), a = u1(n);
      for (let i = 0; i + 4 <= a.length; i += 4) {
        const { s0: s, s1: l, s2: u, s3: x } = w3.encrypt(this.key, this.prevBlock[0], this.prevBlock[1], this.prevBlock[2], this.prevBlock[3]);
        a[i + 0] = r[i + 0] ^ s, a[i + 1] = r[i + 1] ^ l, a[i + 2] = r[i + 2] ^ u, a[i + 3] = r[i + 3] ^ x, this.prevBlock = (this.forEncryption ? a : r).slice(i, i + 4);
      }
      return n;
    }
    async processChunk(t) {
      const r = this.nextBlock.length - this.i, n = t.subarray(0, r);
      if (this.nextBlock.set(n, this.i), this.i + t.length >= 2 * this.blockSize) {
        const i = (t.length - r) % this.blockSize, s = G.concatUint8Array([
          this.nextBlock,
          t.subarray(r, t.length - i)
        ]), l = this._runCFB(s);
        return i > 0 && this.nextBlock.set(t.subarray(-i)), this.i = i, l;
      }
      let a;
      if (this.i += n.length, this.i === this.nextBlock.length) {
        a = this._runCFB(this.nextBlock), this.i = 0;
        const i = t.subarray(n.length);
        this.nextBlock.set(i, this.i), this.i += i.length;
      } else a = new Uint8Array();
      return a;
    }
    async finish() {
      let t;
      return this.i === 0 ? t = new Uint8Array() : t = this._runCFB(this.nextBlock).subarray(0, this.i), this.clearSensitiveData(), t;
    }
    clearSensitiveData() {
      this.nextBlock.fill(0), this.prevBlock.fill(0), this.key.fill(0);
    }
  }
  function Wu(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; n++) e[n] = e[n] ^ t[n];
  }
  const u1 = (e) => new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4)), _3 = G.getWebCrypto(), Xw = G.getNodeCrypto(), To = 16;
  function S3(e, t) {
    const r = e.length - To;
    for (let n = 0; n < To; n++) e[n + r] ^= t[n];
    return e;
  }
  const Dx = new Uint8Array(To);
  async function Jw(e) {
    const t = await ev(e), r = G.double(await t(Dx)), n = G.double(r);
    return async function(a) {
      return (await t((function(i, s, l) {
        if (i.length && i.length % To == 0) return S3(i, s);
        const u = new Uint8Array(i.length + (To - i.length % To));
        return u.set(i), u[i.length] = 128, S3(u, l);
      })(a, r, n))).subarray(-16);
    };
  }
  async function ev(e) {
    if (G.getNodeCrypto()) return async function(t) {
      const r = new Xw.createCipheriv("aes-" + 8 * e.length + "-cbc", e, Dx).update(t);
      return new Uint8Array(r);
    };
    if (G.getWebCrypto()) try {
      return e = await _3.importKey("raw", e, {
        name: "AES-CBC",
        length: 8 * e.length
      }, false, [
        "encrypt"
      ]), async function(t) {
        const r = await _3.encrypt({
          name: "AES-CBC",
          iv: Dx,
          length: 128
        }, e, t);
        return new Uint8Array(r).subarray(0, r.byteLength - To);
      };
    } catch (t) {
      if (t.name !== "NotSupportedError" && (e.length !== 24 || t.name !== "OperationError")) throw t;
      G.printDebugError("Browser did not support operation: " + t.message);
    }
    return async function(t) {
      return xp(e, Dx, {
        disablePadding: true
      }).encrypt(t);
    };
  }
  const I3 = G.getWebCrypto(), tv = G.getNodeCrypto(), rv = G.getNodeBuffer(), Ac = 16, Fx = Ac, P3 = new Uint8Array(Ac), yp = new Uint8Array(Ac);
  yp[15] = 1;
  const Ep = new Uint8Array(Ac);
  async function nv(e) {
    const t = await Jw(e);
    return function(r, n) {
      return t(G.concatUint8Array([
        r,
        n
      ]));
    };
  }
  async function av(e) {
    if (G.getNodeCrypto()) return async function(t, r) {
      const n = new tv.createCipheriv("aes-" + 8 * e.length + "-ctr", e, r), a = rv.concat([
        n.update(t),
        n.final()
      ]);
      return new Uint8Array(a);
    };
    if (G.getWebCrypto()) try {
      const t = await I3.importKey("raw", e, {
        name: "AES-CTR",
        length: 8 * e.length
      }, false, [
        "encrypt"
      ]);
      return async function(r, n) {
        const a = await I3.encrypt({
          name: "AES-CTR",
          counter: n,
          length: 128
        }, t, r);
        return new Uint8Array(a);
      };
    } catch (t) {
      if (t.name !== "NotSupportedError" && (e.length !== 24 || t.name !== "OperationError")) throw t;
      G.printDebugError("Browser did not support operation: " + t.message);
    }
    return async function(t, r) {
      return Rw(e, r).encrypt(t);
    };
  }
  async function Pl(e, t) {
    if (e !== k.symmetric.aes128 && e !== k.symmetric.aes192 && e !== k.symmetric.aes256) throw Error("EAX mode supports only AES cipher");
    const [r, n] = await Promise.all([
      nv(t),
      av(t)
    ]);
    return {
      encrypt: async function(a, i, s) {
        const [l, u] = await Promise.all([
          r(P3, i),
          r(yp, s)
        ]), x = await n(a, l), d = await r(Ep, x);
        for (let f = 0; f < Fx; f++) d[f] ^= u[f] ^ l[f];
        return G.concatUint8Array([
          x,
          d
        ]);
      },
      decrypt: async function(a, i, s) {
        if (a.length < Fx) throw Error("Invalid EAX ciphertext");
        const l = a.subarray(0, -16), u = a.subarray(-16), [x, d, f] = await Promise.all([
          r(P3, i),
          r(yp, s),
          r(Ep, l)
        ]), m = f;
        for (let p = 0; p < Fx; p++) m[p] ^= d[p] ^ x[p];
        if (!G.equalsUint8Array(u, m)) throw Error("Authentication tag mismatch");
        return await n(l, x);
      }
    };
  }
  Ep[15] = 2, Pl.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[8 + n] ^= t[n];
    return r;
  }, Pl.blockLength = Ac, Pl.ivLength = 16, Pl.tagLength = Fx;
  const rn = 16, bp = 16;
  function N3(e) {
    let t = 0;
    for (let r = 1; !(e & r); r <<= 1) t++;
    return t;
  }
  function Or(e, t) {
    for (let r = 0; r < e.length; r++) e[r] ^= t[r];
    return e;
  }
  function Zu(e, t) {
    return Or(e.slice(), t);
  }
  const fl = new Uint8Array(rn), iv = new Uint8Array([
    1
  ]);
  async function Nl(e, t) {
    const { keySize: r } = vt(e);
    if (!G.isAES(e) || t.length !== r) throw Error("Unexpected algorithm or key size");
    let n = 0;
    const a = (u) => xp(t, fl, {
      disablePadding: true
    }).encrypt(u), i = (u) => xp(t, fl, {
      disablePadding: true
    }).decrypt(u);
    let s;
    function l(u, x, d, f) {
      const m = x.length / rn | 0;
      (function(I, z) {
        const C = G.nbits(Math.max(I.length, z.length) / rn | 0) - 1;
        for (let j = n + 1; j <= C; j++) s[j] = G.double(s[j - 1]);
        n = C;
      })(x, f);
      const p = G.concatUint8Array([
        fl.subarray(0, 15 - d.length),
        iv,
        d
      ]), g = 63 & p[15];
      p[15] &= 192;
      const E = a(p), A = G.concatUint8Array([
        E,
        Zu(E.subarray(0, 8), E.subarray(1, 9))
      ]), w = G.shiftRight(A.subarray(0 + (g >> 3), 17 + (g >> 3)), 8 - (7 & g)).subarray(1), D = new Uint8Array(rn), B = new Uint8Array(x.length + bp);
      let v, _ = 0;
      for (v = 0; v < m; v++) Or(w, s[N3(v + 1)]), B.set(Or(u(Zu(w, x)), w), _), Or(D, u === a ? x : B.subarray(_)), x = x.subarray(rn), _ += rn;
      if (x.length) {
        Or(w, s.x);
        const I = a(w);
        B.set(Zu(x, I), _);
        const z = new Uint8Array(rn);
        z.set(u === a ? x : B.subarray(_, -16), 0), z[x.length] = 128, Or(D, z), _ += x.length;
      }
      const T = Or(a(Or(Or(D, w), s.$)), (function(I) {
        if (!I.length) return fl;
        const z = I.length / rn | 0, C = new Uint8Array(rn), j = new Uint8Array(rn);
        for (let U = 0; U < z; U++) Or(C, s[N3(U + 1)]), Or(j, a(Zu(C, I))), I = I.subarray(rn);
        if (I.length) {
          Or(C, s.x);
          const U = new Uint8Array(rn);
          U.set(I, 0), U[I.length] = 128, Or(U, C), Or(j, a(U));
        }
        return j;
      })(f));
      return B.set(T, _), B;
    }
    return (function() {
      const u = a(fl), x = G.double(u);
      s = [], s[0] = G.double(x), s.x = u, s.$ = x;
    })(), {
      encrypt: async function(u, x, d) {
        return l(a, u, x, d);
      },
      decrypt: async function(u, x, d) {
        if (u.length < bp) throw Error("Invalid OCB ciphertext");
        const f = u.subarray(-16);
        u = u.subarray(0, -16);
        const m = l(i, u, x, d);
        if (G.equalsUint8Array(f, m.subarray(-16))) return m.subarray(0, -16);
        throw Error("Authentication tag mismatch");
      }
    };
  }
  Nl.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[7 + n] ^= t[n];
    return r;
  }, Nl.blockLength = rn, Nl.ivLength = 15, Nl.tagLength = bp;
  const x1 = G.getWebCrypto(), j3 = G.getNodeCrypto(), z3 = G.getNodeBuffer(), _x = 16, d1 = "AES-GCM";
  async function Ws(e, t) {
    if (e !== k.symmetric.aes128 && e !== k.symmetric.aes192 && e !== k.symmetric.aes256) throw Error("GCM mode supports only AES cipher");
    if (G.getNodeCrypto()) return {
      encrypt: async function(r, n, a = new Uint8Array()) {
        const i = new j3.createCipheriv("aes-" + 8 * t.length + "-gcm", t, n);
        i.setAAD(a);
        const s = z3.concat([
          i.update(r),
          i.final(),
          i.getAuthTag()
        ]);
        return new Uint8Array(s);
      },
      decrypt: async function(r, n, a = new Uint8Array()) {
        const i = new j3.createDecipheriv("aes-" + 8 * t.length + "-gcm", t, n);
        i.setAAD(a), i.setAuthTag(r.slice(r.length - _x, r.length));
        const s = z3.concat([
          i.update(r.slice(0, r.length - _x)),
          i.final()
        ]);
        return new Uint8Array(s);
      }
    };
    if (G.getWebCrypto()) try {
      const r = await x1.importKey("raw", t, {
        name: d1
      }, false, [
        "encrypt",
        "decrypt"
      ]), n = navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/) || navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);
      return {
        encrypt: async function(a, i, s = new Uint8Array()) {
          if (n && !a.length) return Vu(t, i, s).encrypt(a);
          const l = await x1.encrypt({
            name: d1,
            iv: i,
            additionalData: s,
            tagLength: 128
          }, r, a);
          return new Uint8Array(l);
        },
        decrypt: async function(a, i, s = new Uint8Array()) {
          if (n && a.length === _x) return Vu(t, i, s).decrypt(a);
          try {
            const l = await x1.decrypt({
              name: d1,
              iv: i,
              additionalData: s,
              tagLength: 128
            }, r, a);
            return new Uint8Array(l);
          } catch (l) {
            if (l.name === "OperationError") throw Error("Authentication tag mismatch");
          }
        }
      };
    } catch (r) {
      if (r.name !== "NotSupportedError" && (t.length !== 24 || r.name !== "OperationError")) throw r;
      G.printDebugError("Browser did not support operation: " + r.message);
    }
    return {
      encrypt: async function(r, n, a) {
        return Vu(t, n, a).encrypt(r);
      },
      decrypt: async function(r, n, a) {
        return Vu(t, n, a).decrypt(r);
      }
    };
  }
  function ni(e, t = false) {
    switch (e) {
      case k.aead.eax:
        return Pl;
      case k.aead.ocb:
        return Nl;
      case k.aead.gcm:
        return Ws;
      case k.aead.experimentalGCM:
        if (!t) throw Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");
        return Ws;
      default:
        throw Error("Unsupported AEAD mode");
    }
  }
  async function ov(e, t, r, n, a, i) {
    switch (e) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaSign: {
        const { n: s, e: l } = n;
        return kw(t, a, G.leftPad(r.s, s.length), s, l, i);
      }
      case k.publicKey.dsa: {
        const { g: s, p: l, q: u, y: x } = n, { r: d, s: f } = r;
        return (async function(m, p, g, E, A, w, D, B) {
          if (p = Ge(p), g = Ge(g), w = Ge(w), D = Ge(D), A = Ge(A), B = Ge(B), p <= Cx || p >= D || g <= Cx || g >= D) return G.printDebug("invalid DSA Signature"), false;
          const v = ot(Ge(E.subarray(0, Yr(D))), D), _ = n0(g, D);
          if (_ === Cx) return G.printDebug("invalid DSA Signature"), false;
          A = ot(A, w), B = ot(B, w);
          const T = ot(v * _, D), I = ot(p * _, D);
          return ot(ot(cr(A, T, w) * cr(B, I, w), w), D) === p;
        })(0, d, f, i, s, l, u, x);
      }
      case k.publicKey.ecdsa: {
        const { oid: s, Q: l } = n, u = new Dn(s).payloadSize;
        return mp(s, t, {
          r: G.leftPad(r.r, u),
          s: G.leftPad(r.s, u)
        }, a, l, i);
      }
      case k.publicKey.eddsaLegacy: {
        const { oid: s, Q: l } = n, u = new Dn(s).payloadSize;
        return hg(s, t, {
          r: G.leftPad(r.r, u),
          s: G.leftPad(r.s, u)
        }, 0, l, i);
      }
      case k.publicKey.ed25519:
      case k.publicKey.ed448: {
        const { A: s } = n;
        return x8(e, t, r, 0, s, i);
      }
      default:
        throw Error("Unknown signature algorithm.");
    }
  }
  async function sv(e, t, r, n, a, i) {
    if (!r || !n) throw Error("Missing key parameters");
    switch (e) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaSign: {
        const { n: s, e: l } = r, { d: u, p: x, q: d, u: f } = n;
        return {
          s: await Cw(t, a, s, l, u, x, d, f, i)
        };
      }
      case k.publicKey.dsa: {
        const { g: s, p: l, q: u } = r, { x } = n;
        return (async function(d, f, m, p, g, E) {
          const A = BigInt(0);
          let w, D, B, v;
          p = Ge(p), g = Ge(g), m = Ge(m), E = Ge(E), m = ot(m, p), E = ot(E, g);
          const _ = ot(Ge(f.subarray(0, Yr(g))), g);
          for (; ; ) {
            if (w = $i(Il, g), D = ot(cr(m, w, p), g), D === A) continue;
            const T = ot(E * D, g);
            if (v = ot(_ + T, g), B = ot(n0(w, g) * v, g), B !== A) break;
          }
          return {
            r: Ht(D, "be", Yr(p)),
            s: Ht(B, "be", Yr(p))
          };
        })(0, i, s, l, u, x);
      }
      case k.publicKey.elgamal:
        throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");
      case k.publicKey.ecdsa: {
        const { oid: s, Q: l } = r, { d: u } = n;
        return pp(s, t, a, l, u, i);
      }
      case k.publicKey.eddsaLegacy: {
        const { oid: s, Q: l } = r, { seed: u } = n;
        return fg(s, t, 0, l, u, i);
      }
      case k.publicKey.ed25519:
      case k.publicKey.ed448: {
        const { A: s } = r, { seed: l } = n;
        return u8(e, t, 0, s, l, i);
      }
      default:
        throw Error("Unknown signature algorithm.");
    }
  }
  Ws.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[4 + n] ^= t[n];
    return r;
  }, Ws.blockLength = 16, Ws.ivLength = 12, Ws.tagLength = _x;
  class Bd extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, Bd), this.name = "Argon2OutOfMemoryError";
    }
  }
  let Yu, hl;
  class lv {
    constructor(t = ze) {
      const { passes: r, parallelism: n, memoryExponent: a } = t.s2kArgon2Params;
      this.type = "argon2", this.salt = null, this.t = r, this.p = n, this.encodedM = a;
    }
    generateSalt() {
      this.salt = mr(16);
    }
    read(t) {
      let r = 0;
      return this.salt = t.subarray(r, r + 16), r += 16, this.t = t[r++], this.p = t[r++], this.encodedM = t[r++], r;
    }
    write() {
      const t = [
        new Uint8Array([
          k.write(k.s2k, this.type)
        ]),
        this.salt,
        new Uint8Array([
          this.t,
          this.p,
          this.encodedM
        ])
      ];
      return G.concatUint8Array(t);
    }
    async produceKey(t, r) {
      const n = 2 << this.encodedM - 1;
      try {
        Yu = Yu || (await Promise.resolve().then((function() {
          return LC;
        }))).default, hl = hl || Yu();
        const a = await hl, i = a({
          version: 19,
          type: 2,
          password: G.encodeUTF8(t),
          salt: this.salt,
          tagLength: r,
          memorySize: n,
          parallelism: this.p,
          passes: this.t
        });
        return n > 1048576 && (hl = Yu(), hl.catch((() => {
        }))), i;
      } catch (a) {
        throw a.message && (a.message.includes("Unable to grow instance memory") || a.message.includes("failed to grow memory") || a.message.includes("WebAssembly.Memory.grow") || a.message.includes("Out of memory")) ? new Bd("Could not allocate required memory for Argon2") : a;
      }
    }
  }
  class cv {
    constructor(t, r = ze) {
      this.algorithm = k.hash.sha256, this.type = k.read(k.s2k, t), this.c = r.s2kIterationCountByte, this.salt = null;
    }
    generateSalt() {
      switch (this.type) {
        case "salted":
        case "iterated":
          this.salt = mr(8);
      }
    }
    getCount() {
      return 16 + (15 & this.c) << 6 + (this.c >> 4);
    }
    read(t) {
      let r = 0;
      switch (this.algorithm = t[r++], this.type) {
        case "simple":
          break;
        case "salted":
          this.salt = t.subarray(r, r + 8), r += 8;
          break;
        case "iterated":
          this.salt = t.subarray(r, r + 8), r += 8, this.c = t[r++];
          break;
        case "gnu":
          if (G.uint8ArrayToString(t.subarray(r, r + 3)) !== "GNU") throw new mt("Unknown s2k type.");
          if (r += 3, 1e3 + t[r++] !== 1001) throw new mt("Unknown s2k gnu protection mode.");
          this.type = "gnu-dummy";
          break;
        default:
          throw new mt("Unknown s2k type.");
      }
      return r;
    }
    write() {
      if (this.type === "gnu-dummy") return new Uint8Array([
        101,
        0,
        ...G.stringToUint8Array("GNU"),
        1
      ]);
      const t = [
        new Uint8Array([
          k.write(k.s2k, this.type),
          this.algorithm
        ])
      ];
      switch (this.type) {
        case "simple":
          break;
        case "salted":
          t.push(this.salt);
          break;
        case "iterated":
          t.push(this.salt), t.push(new Uint8Array([
            this.c
          ]));
          break;
        case "gnu":
          throw Error("GNU s2k type not supported.");
        default:
          throw Error("Unknown s2k type.");
      }
      return G.concatUint8Array(t);
    }
    async produceKey(t, r) {
      t = G.encodeUTF8(t);
      const n = [];
      let a = 0, i = 0;
      for (; a < r; ) {
        let s;
        switch (this.type) {
          case "simple":
            s = G.concatUint8Array([
              new Uint8Array(i),
              t
            ]);
            break;
          case "salted":
            s = G.concatUint8Array([
              new Uint8Array(i),
              this.salt,
              t
            ]);
            break;
          case "iterated": {
            const u = G.concatUint8Array([
              this.salt,
              t
            ]);
            let x = u.length;
            const d = Math.max(this.getCount(), x);
            s = new Uint8Array(i + d), s.set(u, i);
            for (let f = i + x; f < d; f += x, x *= 2) s.copyWithin(f, i, f);
            break;
          }
          case "gnu":
            throw Error("GNU s2k type not supported.");
          default:
            throw Error("Unknown s2k type.");
        }
        const l = await Fa(this.algorithm, s);
        n.push(l), a += l.length, i++;
      }
      return G.concatUint8Array(n).subarray(0, r);
    }
  }
  const uv = /* @__PURE__ */ new Set([
    k.s2k.argon2,
    k.s2k.iterated
  ]);
  function Wx(e, t = ze) {
    switch (e) {
      case k.s2k.argon2:
        return new lv(t);
      case k.s2k.iterated:
      case k.s2k.gnu:
      case k.s2k.salted:
      case k.s2k.simple:
        return new cv(e, t);
      default:
        throw new mt("Unsupported S2K type");
    }
  }
  function Bg(e) {
    const { s2kType: t } = e;
    if (!uv.has(t)) throw Error("The provided `config.s2kType` value is not allowed");
    return Wx(t, e);
  }
  var Ot = Uint8Array, on = Uint16Array, A8 = Int32Array, Cd = new Ot([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    1,
    1,
    1,
    2,
    2,
    2,
    2,
    3,
    3,
    3,
    3,
    4,
    4,
    4,
    4,
    5,
    5,
    5,
    5,
    0,
    0,
    0,
    0
  ]), kd = new Ot([
    0,
    0,
    0,
    0,
    1,
    1,
    2,
    2,
    3,
    3,
    4,
    4,
    5,
    5,
    6,
    6,
    7,
    7,
    8,
    8,
    9,
    9,
    10,
    10,
    11,
    11,
    12,
    12,
    13,
    13,
    0,
    0
  ]), Ap = new Ot([
    16,
    17,
    18,
    0,
    8,
    7,
    9,
    6,
    10,
    5,
    11,
    4,
    12,
    3,
    13,
    2,
    14,
    1,
    15
  ]), Cg = function(e, t) {
    for (var r = new on(31), n = 0; n < 31; ++n) r[n] = t += 1 << e[n - 1];
    var a = new A8(r[30]);
    for (n = 1; n < 30; ++n) for (var i = r[n]; i < r[n + 1]; ++i) a[i] = i - r[n] << 5 | n;
    return {
      b: r,
      r: a
    };
  }, kg = Cg(Cd, 2), Dg = kg.b, wp = kg.r;
  Dg[28] = 258, wp[258] = 28;
  for (var U3 = Cg(kd, 0), xv = U3.b, R3 = U3.r, vp = new on(32768), _t = 0; _t < 32768; ++_t) {
    var Do = (43690 & _t) >> 1 | (21845 & _t) << 1;
    Do = (61680 & (Do = (52428 & Do) >> 2 | (13107 & Do) << 2)) >> 4 | (3855 & Do) << 4, vp[_t] = ((65280 & Do) >> 8 | (255 & Do) << 8) >> 1;
  }
  var Ba = function(e, t, r) {
    for (var n = e.length, a = 0, i = new on(t); a < n; ++a) e[a] && ++i[e[a] - 1];
    var s, l = new on(t);
    for (a = 1; a < t; ++a) l[a] = l[a - 1] + i[a - 1] << 1;
    if (r) {
      s = new on(1 << t);
      var u = 15 - t;
      for (a = 0; a < n; ++a) if (e[a]) for (var x = a << 4 | e[a], d = t - e[a], f = l[e[a] - 1]++ << d, m = f | (1 << d) - 1; f <= m; ++f) s[vp[f] >> u] = x;
    } else for (s = new on(n), a = 0; a < n; ++a) e[a] && (s[a] = vp[l[e[a] - 1]++] >> 15 - e[a]);
    return s;
  }, no = new Ot(288);
  for (_t = 0; _t < 144; ++_t) no[_t] = 8;
  for (_t = 144; _t < 256; ++_t) no[_t] = 9;
  for (_t = 256; _t < 280; ++_t) no[_t] = 7;
  for (_t = 280; _t < 288; ++_t) no[_t] = 8;
  var Jl = new Ot(32);
  for (_t = 0; _t < 32; ++_t) Jl[_t] = 5;
  var dv = Ba(no, 9, 0), fv = Ba(no, 9, 1), hv = Ba(Jl, 5, 0), pv = Ba(Jl, 5, 1), f1 = function(e) {
    for (var t = e[0], r = 1; r < e.length; ++r) e[r] > t && (t = e[r]);
    return t;
  }, Ln = function(e, t, r) {
    var n = t / 8 | 0;
    return (e[n] | e[n + 1] << 8) >> (7 & t) & r;
  }, h1 = function(e, t) {
    var r = t / 8 | 0;
    return (e[r] | e[r + 1] << 8 | e[r + 2] << 16) >> (7 & t);
  }, w8 = function(e) {
    return (e + 7) / 8 | 0;
  }, jl = function(e, t, r) {
    return (t == null || t < 0) && (t = 0), (r == null || r > e.length) && (r = e.length), new Ot(e.subarray(t, r));
  }, mv = [
    "unexpected EOF",
    "invalid block type",
    "invalid length/literal",
    "invalid distance",
    "stream finished",
    "no stream handler",
    ,
    "no callback",
    "invalid UTF-8 data",
    "extra field too long",
    "date not in range 1980-2099",
    "filename too long",
    "stream finishing",
    "invalid zip data"
  ], or = function(e, t, r) {
    var n = Error(t || mv[e]);
    if (n.code = e, Error.captureStackTrace && Error.captureStackTrace(n, or), !r) throw n;
    return n;
  }, La = function(e, t, r) {
    r <<= 7 & t;
    var n = t / 8 | 0;
    e[n] |= r, e[n + 1] |= r >> 8;
  }, pl = function(e, t, r) {
    r <<= 7 & t;
    var n = t / 8 | 0;
    e[n] |= r, e[n + 1] |= r >> 8, e[n + 2] |= r >> 16;
  }, p1 = function(e, t) {
    for (var r = [], n = 0; n < e.length; ++n) e[n] && r.push({
      s: n,
      f: e[n]
    });
    var a = r.length, i = r.slice();
    if (!a) return {
      t: _g,
      l: 0
    };
    if (a == 1) {
      var s = new Ot(r[0].s + 1);
      return s[r[0].s] = 1, {
        t: s,
        l: 1
      };
    }
    r.sort((function(_, T) {
      return _.f - T.f;
    })), r.push({
      s: -1,
      f: 25001
    });
    var l = r[0], u = r[1], x = 0, d = 1, f = 2;
    for (r[0] = {
      s: -1,
      f: l.f + u.f,
      l,
      r: u
    }; d != a - 1; ) l = r[r[x].f < r[f].f ? x++ : f++], u = r[x != d && r[x].f < r[f].f ? x++ : f++], r[d++] = {
      s: -1,
      f: l.f + u.f,
      l,
      r: u
    };
    var m = i[0].s;
    for (n = 1; n < a; ++n) i[n].s > m && (m = i[n].s);
    var p = new on(m + 1), g = Bp(r[d - 1], p, 0);
    if (g > t) {
      n = 0;
      var E = 0, A = g - t, w = 1 << A;
      for (i.sort((function(_, T) {
        return p[T.s] - p[_.s] || _.f - T.f;
      })); n < a; ++n) {
        var D = i[n].s;
        if (!(p[D] > t)) break;
        E += w - (1 << g - p[D]), p[D] = t;
      }
      for (E >>= A; E > 0; ) {
        var B = i[n].s;
        p[B] < t ? E -= 1 << t - p[B]++ - 1 : ++n;
      }
      for (; n >= 0 && E; --n) {
        var v = i[n].s;
        p[v] == t && (--p[v], ++E);
      }
      g = t;
    }
    return {
      t: new Ot(p),
      l: g
    };
  }, Bp = function(e, t, r) {
    return e.s == -1 ? Math.max(Bp(e.l, t, r + 1), Bp(e.r, t, r + 1)) : t[e.s] = r;
  }, T3 = function(e) {
    for (var t = e.length; t && !e[--t]; ) ;
    for (var r = new on(++t), n = 0, a = e[0], i = 1, s = function(u) {
      r[n++] = u;
    }, l = 1; l <= t; ++l) if (e[l] == a && l != t) ++i;
    else {
      if (!a && i > 2) {
        for (; i > 138; i -= 138) s(32754);
        i > 2 && (s(i > 10 ? i - 11 << 5 | 28690 : i - 3 << 5 | 12305), i = 0);
      } else if (i > 3) {
        for (s(a), --i; i > 6; i -= 6) s(8304);
        i > 2 && (s(i - 3 << 5 | 8208), i = 0);
      }
      for (; i--; ) s(a);
      i = 1, a = e[l];
    }
    return {
      c: r.subarray(0, n),
      n: t
    };
  }, ml = function(e, t) {
    for (var r = 0, n = 0; n < t.length; ++n) r += e[n] * t[n];
    return r;
  }, Fg = function(e, t, r) {
    var n = r.length, a = w8(t + 2);
    e[a] = 255 & n, e[a + 1] = n >> 8, e[a + 2] = 255 ^ e[a], e[a + 3] = 255 ^ e[a + 1];
    for (var i = 0; i < n; ++i) e[a + i + 4] = r[i];
    return 8 * (a + 4 + n);
  }, M3 = function(e, t, r, n, a, i, s, l, u, x, d) {
    La(t, d++, r), ++a[256];
    for (var f = p1(a, 15), m = f.t, p = f.l, g = p1(i, 15), E = g.t, A = g.l, w = T3(m), D = w.c, B = w.n, v = T3(E), _ = v.c, T = v.n, I = new on(19), z = 0; z < D.length; ++z) ++I[31 & D[z]];
    for (z = 0; z < _.length; ++z) ++I[31 & _[z]];
    for (var C = p1(I, 7), j = C.t, U = C.l, P = 19; P > 4 && !j[Ap[P - 1]]; --P) ;
    var L, F, q, $, Y = x + 5 << 3, J = ml(a, no) + ml(i, Jl) + s, Q = ml(a, m) + ml(i, E) + s + 14 + 3 * P + ml(I, j) + 2 * I[16] + 3 * I[17] + 7 * I[18];
    if (u >= 0 && Y <= J && Y <= Q) return Fg(t, d, e.subarray(u, u + x));
    if (La(t, d, 1 + (Q < J)), d += 2, Q < J) {
      L = Ba(m, p, 0), F = m, q = Ba(E, A, 0), $ = E;
      var Z = Ba(j, U, 0);
      for (La(t, d, B - 257), La(t, d + 5, T - 1), La(t, d + 10, P - 4), d += 14, z = 0; z < P; ++z) La(t, d + 3 * z, j[Ap[z]]);
      d += 3 * P;
      for (var M = [
        D,
        _
      ], H = 0; H < 2; ++H) {
        var re = M[H];
        for (z = 0; z < re.length; ++z) {
          var te = 31 & re[z];
          La(t, d, Z[te]), d += j[te], te > 15 && (La(t, d, re[z] >> 5 & 127), d += re[z] >> 12);
        }
      }
    } else L = dv, F = no, q = hv, $ = Jl;
    for (z = 0; z < l; ++z) {
      var ae = n[z];
      if (ae > 255) {
        pl(t, d, L[(te = ae >> 18 & 31) + 257]), d += F[te + 257], te > 7 && (La(t, d, ae >> 23 & 31), d += Cd[te]);
        var xe = 31 & ae;
        pl(t, d, q[xe]), d += $[xe], xe > 3 && (pl(t, d, ae >> 5 & 8191), d += kd[xe]);
      } else pl(t, d, L[ae]), d += F[ae];
    }
    return pl(t, d, L[256]), d + F[256];
  }, gv = new A8([
    65540,
    131080,
    131088,
    131104,
    262176,
    1048704,
    1048832,
    2114560,
    2117632
  ]), _g = new Ot(0), K3 = function() {
    var e = 1, t = 0;
    return {
      p: function(r) {
        for (var n = e, a = t, i = 0 | r.length, s = 0; s != i; ) {
          for (var l = Math.min(s + 2655, i); s < l; ++s) a += n += r[s];
          n = (65535 & n) + 15 * (n >> 16), a = (65535 & a) + 15 * (a >> 16);
        }
        e = n, t = a;
      },
      d: function() {
        return (255 & (e %= 65521)) << 24 | (65280 & e) << 8 | (255 & (t %= 65521)) << 8 | t >> 8;
      }
    };
  }, Sg = function(e, t, r, n, a) {
    if (!a && (a = {
      l: 1
    }, t.dictionary)) {
      var i = t.dictionary.subarray(-32768), s = new Ot(i.length + e.length);
      s.set(i), s.set(e, i.length), e = s, a.w = i.length;
    }
    return (function(l, u, x, d, f, m) {
      var p = m.z || l.length, g = new Ot(d + p + 5 * (1 + Math.ceil(p / 7e3)) + f), E = g.subarray(d, g.length - f), A = m.l, w = 7 & (m.r || 0);
      if (u) {
        w && (E[0] = m.r >> 3);
        for (var D = gv[u - 1], B = D >> 13, v = 8191 & D, _ = (1 << x) - 1, T = m.p || new on(32768), I = m.h || new on(_ + 1), z = Math.ceil(x / 3), C = 2 * z, j = function(Be) {
          return (l[Be] ^ l[Be + 1] << z ^ l[Be + 2] << C) & _;
        }, U = new A8(25e3), P = new on(288), L = new on(32), F = 0, q = 0, $ = m.i || 0, Y = 0, J = m.w || 0, Q = 0; $ + 2 < p; ++$) {
          var Z = j($), M = 32767 & $, H = I[Z];
          if (T[M] = H, I[Z] = M, J <= $) {
            var re = p - $;
            if ((F > 7e3 || Y > 24576) && (re > 423 || !A)) {
              w = M3(l, E, 0, U, P, L, q, Y, Q, $ - Q, w), Y = F = q = 0, Q = $;
              for (var te = 0; te < 286; ++te) P[te] = 0;
              for (te = 0; te < 30; ++te) L[te] = 0;
            }
            var ae = 2, xe = 0, me = v, fe = M - H & 32767;
            if (re > 2 && Z == j($ - fe)) for (var ye = Math.min(B, re) - 1, Ce = Math.min(32767, $), ke = Math.min(258, re); fe <= Ce && --me && M != H; ) {
              if (l[$ + ae] == l[$ + ae - fe]) {
                for (var je = 0; je < ke && l[$ + je] == l[$ + je - fe]; ++je) ;
                if (je > ae) {
                  if (ae = je, xe = fe, je > ye) break;
                  var Re = Math.min(fe, je - 2), O = 0;
                  for (te = 0; te < Re; ++te) {
                    var se = $ - fe + te & 32767, ce = se - T[se] & 32767;
                    ce > O && (O = ce, H = se);
                  }
                }
              }
              fe += (M = H) - (H = T[M]) & 32767;
            }
            if (xe) {
              U[Y++] = 268435456 | wp[ae] << 18 | R3[xe];
              var ee = 31 & wp[ae], X = 31 & R3[xe];
              q += Cd[ee] + kd[X], ++P[257 + ee], ++L[X], J = $ + ae, ++F;
            } else U[Y++] = l[$], ++P[l[$]];
          }
        }
        for ($ = Math.max($, J); $ < p; ++$) U[Y++] = l[$], ++P[l[$]];
        w = M3(l, E, A, U, P, L, q, Y, Q, $ - Q, w), A || (m.r = 7 & w | E[w / 8 | 0] << 3, w -= 7, m.h = I, m.p = T, m.i = $, m.w = J);
      } else {
        for ($ = m.w || 0; $ < p + A; $ += 65535) {
          var oe = $ + 65535;
          oe >= p && (E[w / 8 | 0] = A, oe = p), w = Fg(E, w + 1, l.subarray($, oe));
        }
        m.i = p;
      }
      return jl(g, 0, d + w8(w) + f);
    })(e, t.level == null ? 6 : t.level, t.mem == null ? a.l ? Math.ceil(1.5 * Math.max(8, Math.min(13, Math.log(e.length)))) : 20 : 12 + t.mem, r, n, a);
  }, L3 = function(e, t, r) {
    for (; r; ++t) e[t] = r, r >>>= 8;
  }, Sx = (function() {
    function e(t, r) {
      if (typeof t == "function" && (r = t, t = {}), this.ondata = r, this.o = t || {}, this.s = {
        l: 0,
        i: 32768,
        w: 32768,
        z: 32768
      }, this.b = new Ot(98304), this.o.dictionary) {
        var n = this.o.dictionary.subarray(-32768);
        this.b.set(n, 32768 - n.length), this.s.i = 32768 - n.length;
      }
    }
    return e.prototype.p = function(t, r) {
      this.ondata(Sg(t, this.o, 0, 0, this.s), r);
    }, e.prototype.push = function(t, r) {
      this.ondata || or(5), this.s.l && or(4);
      var n = t.length + this.s.z;
      if (n > this.b.length) {
        if (n > 2 * this.b.length - 32768) {
          var a = new Ot(-32768 & n);
          a.set(this.b.subarray(0, this.s.z)), this.b = a;
        }
        var i = this.b.length - this.s.z;
        this.b.set(t.subarray(0, i), this.s.z), this.s.z = this.b.length, this.p(this.b, false), this.b.set(this.b.subarray(-32768)), this.b.set(t.subarray(i), 32768), this.s.z = t.length - i + 32768, this.s.i = 32766, this.s.w = 32768;
      } else this.b.set(t, this.s.z), this.s.z += t.length;
      this.s.l = 1 & r, (this.s.z > this.s.w + 8191 || r) && (this.p(this.b, r || false), this.s.w = this.s.i, this.s.i -= 2);
    }, e.prototype.flush = function() {
      this.ondata || or(5), this.s.l && or(4), this.p(this.b, false), this.s.w = this.s.i, this.s.i -= 2;
    }, e;
  })(), Ix = (function() {
    function e(t, r) {
      typeof t == "function" && (r = t, t = {}), this.ondata = r;
      var n = t && t.dictionary && t.dictionary.subarray(-32768);
      this.s = {
        i: 0,
        b: n ? n.length : 0
      }, this.o = new Ot(32768), this.p = new Ot(0), n && this.o.set(n);
    }
    return e.prototype.e = function(t) {
      if (this.ondata || or(5), this.d && or(4), this.p.length) {
        if (t.length) {
          var r = new Ot(this.p.length + t.length);
          r.set(this.p), r.set(t, this.p.length), this.p = r;
        }
      } else this.p = t;
    }, e.prototype.c = function(t) {
      this.s.i = +(this.d = t || false);
      var r = this.s.b, n = (function(a, i, s, l) {
        var u = a.length;
        if (!u || i.f && !i.l) return s || new Ot(0);
        var x = !s, d = x || i.i != 2, f = i.i;
        x && (s = new Ot(3 * u));
        var m = function(O) {
          var se = s.length;
          if (O > se) {
            var ce = new Ot(Math.max(2 * se, O));
            ce.set(s), s = ce;
          }
        }, p = i.f || 0, g = i.p || 0, E = i.b || 0, A = i.l, w = i.d, D = i.m, B = i.n, v = 8 * u;
        do {
          if (!A) {
            p = Ln(a, g, 1);
            var _ = Ln(a, g + 1, 3);
            if (g += 3, !_) {
              var T = a[(Y = w8(g) + 4) - 4] | a[Y - 3] << 8, I = Y + T;
              if (I > u) {
                f && or(0);
                break;
              }
              d && m(E + T), s.set(a.subarray(Y, I), E), i.b = E += T, i.p = g = 8 * I, i.f = p;
              continue;
            }
            if (_ == 1) A = fv, w = pv, D = 9, B = 5;
            else if (_ == 2) {
              var z = Ln(a, g, 31) + 257, C = Ln(a, g + 10, 15) + 4, j = z + Ln(a, g + 5, 31) + 1;
              g += 14;
              for (var U = new Ot(j), P = new Ot(19), L = 0; L < C; ++L) P[Ap[L]] = Ln(a, g + 3 * L, 7);
              g += 3 * C;
              var F = f1(P), q = (1 << F) - 1, $ = Ba(P, F, 1);
              for (L = 0; L < j; ) {
                var Y, J = $[Ln(a, g, q)];
                if (g += 15 & J, (Y = J >> 4) < 16) U[L++] = Y;
                else {
                  var Q = 0, Z = 0;
                  for (Y == 16 ? (Z = 3 + Ln(a, g, 3), g += 2, Q = U[L - 1]) : Y == 17 ? (Z = 3 + Ln(a, g, 7), g += 3) : Y == 18 && (Z = 11 + Ln(a, g, 127), g += 7); Z--; ) U[L++] = Q;
                }
              }
              var M = U.subarray(0, z), H = U.subarray(z);
              D = f1(M), B = f1(H), A = Ba(M, D, 1), w = Ba(H, B, 1);
            } else or(1);
            if (g > v) {
              f && or(0);
              break;
            }
          }
          d && m(E + 131072);
          for (var re = (1 << D) - 1, te = (1 << B) - 1, ae = g; ; ae = g) {
            var xe = (Q = A[h1(a, g) & re]) >> 4;
            if ((g += 15 & Q) > v) {
              f && or(0);
              break;
            }
            if (Q || or(2), xe < 256) s[E++] = xe;
            else {
              if (xe == 256) {
                ae = g, A = null;
                break;
              }
              var me = xe - 254;
              if (xe > 264) {
                var fe = Cd[L = xe - 257];
                me = Ln(a, g, (1 << fe) - 1) + Dg[L], g += fe;
              }
              var ye = w[h1(a, g) & te], Ce = ye >> 4;
              if (ye || or(3), g += 15 & ye, H = xv[Ce], Ce > 3 && (fe = kd[Ce], H += h1(a, g) & (1 << fe) - 1, g += fe), g > v) {
                f && or(0);
                break;
              }
              d && m(E + 131072);
              var ke = E + me;
              if (E < H) {
                var je = 0 - H, Re = Math.min(H, ke);
                for (je + E < 0 && or(3); E < Re; ++E) s[E] = l[je + E];
              }
              for (; E < ke; ++E) s[E] = s[E - H];
            }
          }
          i.l = A, i.p = ae, i.b = E, i.f = p, A && (p = 1, i.m = D, i.d = w, i.n = B);
        } while (!p);
        return E != s.length && x ? jl(s, 0, E) : s.subarray(0, E);
      })(this.p, this.s, this.o);
      this.ondata(jl(n, r, this.s.b), this.d), this.o = jl(n, this.s.b - 32768), this.s.b = this.o.length, this.p = jl(this.p, this.s.p / 8 | 0), this.s.p &= 7;
    }, e.prototype.push = function(t, r) {
      this.e(t), this.c(r);
    }, e;
  })(), yv = (function() {
    function e(t, r) {
      this.c = K3(), this.v = 1, Sx.call(this, t, r);
    }
    return e.prototype.push = function(t, r) {
      this.c.p(t), Sx.prototype.push.call(this, t, r);
    }, e.prototype.p = function(t, r) {
      var n = Sg(t, this.o, this.v && (this.o.dictionary ? 6 : 2), r && 4, this.s);
      this.v && ((function(a, i) {
        var s = i.level, l = s == 0 ? 0 : s < 6 ? 1 : s == 9 ? 3 : 2;
        if (a[0] = 120, a[1] = l << 6 | (i.dictionary && 32), a[1] |= 31 - (a[0] << 8 | a[1]) % 31, i.dictionary) {
          var u = K3();
          u.p(i.dictionary), L3(a, 2, u.d());
        }
      })(n, this.o), this.v = 0), r && L3(n, n.length - 4, this.c.d()), this.ondata(n, r);
    }, e.prototype.flush = function() {
      Sx.prototype.flush.call(this);
    }, e;
  })(), Ev = (function() {
    function e(t, r) {
      Ix.call(this, t, r), this.v = t && t.dictionary ? 2 : 1;
    }
    return e.prototype.push = function(t, r) {
      if (Ix.prototype.e.call(this, t), this.v) {
        if (this.p.length < 6 && !r) return;
        this.p = this.p.subarray((n = this.p, a = this.v - 1, ((15 & n[0]) != 8 || n[0] >> 4 > 7 || (n[0] << 8 | n[1]) % 31) && or(6, "invalid zlib data"), (n[1] >> 5 & 1) == +!a && or(6, "invalid zlib data: " + (32 & n[1] ? "need" : "unexpected") + " dictionary"), 2 + (n[1] >> 3 & 4))), this.v = 0;
      }
      var n, a;
      r && (this.p.length < 4 && or(6, "invalid zlib data"), this.p = this.p.subarray(0, -4)), Ix.prototype.c.call(this, r);
    }, e;
  })(), bv = typeof TextDecoder < "u" && new TextDecoder();
  try {
    bv.decode(_g, {
      stream: true
    });
  } catch {
  }
  class m0 {
    static get tag() {
      return k.packet.literalData;
    }
    constructor(t = /* @__PURE__ */ new Date()) {
      this.format = k.literal.utf8, this.date = G.normalizeDate(t), this.text = null, this.data = null, this.filename = "";
    }
    setText(t, r = k.literal.utf8) {
      this.format = r, this.text = t, this.data = null;
    }
    getText(t = false) {
      return (this.text === null || G.isStream(this.text)) && (this.text = G.decodeUTF8(G.nativeEOL(this.getBytes(t)))), this.text;
    }
    setBytes(t, r) {
      this.format = r, this.data = t, this.text = null;
    }
    getBytes(t = false) {
      return this.data === null && (this.data = G.canonicalizeEOL(G.encodeUTF8(this.text))), t ? Ol(this.data) : this.data;
    }
    setFilename(t) {
      this.filename = t;
    }
    getFilename() {
      return this.filename;
    }
    async read(t) {
      await dd(t, (async (r) => {
        const n = await r.readByte(), a = await r.readByte();
        this.filename = G.decodeUTF8(await r.readBytes(a)), this.date = G.readDate(await r.readBytes(4));
        let i = r.remainder();
        zt(i) && (i = await Qt(i)), this.setBytes(i, n);
      }));
    }
    writeHeader() {
      const t = G.encodeUTF8(this.filename), r = new Uint8Array([
        t.length
      ]), n = new Uint8Array([
        this.format
      ]), a = G.writeDate(this.date);
      return G.concatUint8Array([
        n,
        r,
        t,
        a
      ]);
    }
    write() {
      const t = this.writeHeader(), r = this.getBytes();
      return G.concat([
        t,
        r
      ]);
    }
  }
  class Ca {
    constructor() {
      this.bytes = "";
    }
    read(t) {
      return this.bytes = G.uint8ArrayToString(t.subarray(0, 8)), this.bytes.length;
    }
    write() {
      return G.stringToUint8Array(this.bytes);
    }
    toHex() {
      return G.uint8ArrayToHex(G.stringToUint8Array(this.bytes));
    }
    equals(t, r = false) {
      return r && (t.isWildcard() || this.isWildcard()) || this.bytes === t.bytes;
    }
    isNull() {
      return this.bytes === "";
    }
    isWildcard() {
      return /^0+$/.test(this.toHex());
    }
    static mapToHex(t) {
      return t.toHex();
    }
    static fromID(t) {
      const r = new Ca();
      return r.read(G.hexToUint8Array(t)), r;
    }
    static wildcard() {
      const t = new Ca();
      return t.read(new Uint8Array(8)), t;
    }
  }
  const gl = Symbol("verified"), O3 = "salt@notations.openpgpjs.org", Av = /* @__PURE__ */ new Set([
    k.signatureSubpacket.issuerKeyID,
    k.signatureSubpacket.issuerFingerprint,
    k.signatureSubpacket.embeddedSignature
  ]);
  class gr {
    static get tag() {
      return k.packet.signature;
    }
    constructor() {
      this.version = null, this.signatureType = null, this.hashAlgorithm = null, this.publicKeyAlgorithm = null, this.signatureData = null, this.unhashedSubpackets = [], this.unknownSubpackets = [], this.signedHashValue = null, this.salt = null, this.created = null, this.signatureExpirationTime = null, this.signatureNeverExpires = true, this.exportable = null, this.trustLevel = null, this.trustAmount = null, this.regularExpression = null, this.revocable = null, this.keyExpirationTime = null, this.keyNeverExpires = null, this.preferredSymmetricAlgorithms = null, this.revocationKeyClass = null, this.revocationKeyAlgorithm = null, this.revocationKeyFingerprint = null, this.issuerKeyID = new Ca(), this.rawNotations = [], this.notations = {}, this.preferredHashAlgorithms = null, this.preferredCompressionAlgorithms = null, this.keyServerPreferences = null, this.preferredKeyServer = null, this.isPrimaryUserID = null, this.policyURI = null, this.keyFlags = null, this.signersUserID = null, this.reasonForRevocationFlag = null, this.reasonForRevocationString = null, this.features = null, this.signatureTargetPublicKeyAlgorithm = null, this.signatureTargetHashAlgorithm = null, this.signatureTargetHash = null, this.embeddedSignature = null, this.issuerKeyVersion = null, this.issuerFingerprint = null, this.preferredAEADAlgorithms = null, this.preferredCipherSuites = null, this.revoked = null, this[gl] = null;
    }
    read(t, r = ze) {
      let n = 0;
      if (this.version = t[n++], this.version === 5 && !r.enableParsingV5Entities) throw new mt("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
      if (this.version !== 4 && this.version !== 5 && this.version !== 6) throw new mt(`Version ${this.version} of the signature packet is unsupported.`);
      if (this.signatureType = t[n++], this.publicKeyAlgorithm = t[n++], this.hashAlgorithm = t[n++], n += this.readSubPackets(t.subarray(n, t.length), true), !this.created) throw Error("Missing signature creation time subpacket.");
      if (this.signatureData = t.subarray(0, n), n += this.readSubPackets(t.subarray(n, t.length), false), this.signedHashValue = t.subarray(n, n + 2), n += 2, this.version === 6) {
        const l = t[n++];
        this.salt = t.subarray(n, n + l), n += l;
      }
      const a = t.subarray(n, t.length), { read: i, signatureParams: s } = (function(l, u) {
        let x = 0;
        switch (l) {
          case k.publicKey.rsaEncryptSign:
          case k.publicKey.rsaEncrypt:
          case k.publicKey.rsaSign: {
            const d = G.readMPI(u.subarray(x));
            return x += d.length + 2, {
              read: x,
              signatureParams: {
                s: d
              }
            };
          }
          case k.publicKey.dsa:
          case k.publicKey.ecdsa: {
            const d = G.readMPI(u.subarray(x));
            x += d.length + 2;
            const f = G.readMPI(u.subarray(x));
            return x += f.length + 2, {
              read: x,
              signatureParams: {
                r: d,
                s: f
              }
            };
          }
          case k.publicKey.eddsaLegacy: {
            const d = G.readMPI(u.subarray(x));
            x += d.length + 2;
            const f = G.readMPI(u.subarray(x));
            return x += f.length + 2, {
              read: x,
              signatureParams: {
                r: d,
                s: f
              }
            };
          }
          case k.publicKey.ed25519:
          case k.publicKey.ed448: {
            const d = 2 * hd(l), f = G.readExactSubarray(u, x, x + d);
            return x += f.length, {
              read: x,
              signatureParams: {
                RS: f
              }
            };
          }
          default:
            throw new mt("Unknown signature algorithm.");
        }
      })(this.publicKeyAlgorithm, a);
      if (i < a.length) throw Error("Error reading MPIs");
      this.params = s;
    }
    writeParams() {
      return this.params instanceof Promise ? es((async () => i0(this.publicKeyAlgorithm, await this.params))) : i0(this.publicKeyAlgorithm, this.params);
    }
    write() {
      const t = [];
      return t.push(this.signatureData), t.push(this.writeUnhashedSubPackets()), t.push(this.signedHashValue), this.version === 6 && (t.push(new Uint8Array([
        this.salt.length
      ])), t.push(this.salt)), t.push(this.writeParams()), G.concat(t);
    }
    async sign(t, r, n = /* @__PURE__ */ new Date(), a = false, i) {
      this.version = t.version, this.created = G.normalizeDate(n), this.issuerKeyVersion = t.version, this.issuerFingerprint = t.getFingerprintBytes(), this.issuerKeyID = t.getKeyID();
      const s = [
        new Uint8Array([
          this.version,
          this.signatureType,
          this.publicKeyAlgorithm,
          this.hashAlgorithm
        ])
      ];
      if (this.version === 6) {
        const d = m1(this.hashAlgorithm);
        if (this.salt === null) this.salt = mr(d);
        else if (d !== this.salt.length) throw Error("Provided salt does not have the required length");
      } else if (i.nonDeterministicSignaturesViaNotation) {
        if (this.rawNotations.filter((({ name: d }) => d === O3)).length !== 0) throw Error("Unexpected existing salt notation");
        {
          const d = mr(m1(this.hashAlgorithm));
          this.rawNotations.push({
            name: O3,
            value: d,
            humanReadable: false,
            critical: false
          });
        }
      }
      s.push(this.writeHashedSubPackets()), this.unhashedSubpackets = [], this.signatureData = G.concat(s);
      const l = this.toHash(this.signatureType, r, a), u = await this.hash(this.signatureType, r, l, a);
      this.signedHashValue = pr(Lo(u), 0, 2);
      const x = async () => sv(this.publicKeyAlgorithm, this.hashAlgorithm, t.publicParams, t.privateParams, l, await Qt(u));
      G.isStream(u) ? this.params = x() : (this.params = await x(), this[gl] = true);
    }
    writeHashedSubPackets() {
      const t = k.signatureSubpacket, r = [];
      let n;
      if (this.created === null) throw Error("Missing signature creation time");
      r.push(At(t.signatureCreationTime, true, G.writeDate(this.created))), this.signatureExpirationTime !== null && r.push(At(t.signatureExpirationTime, true, G.writeNumber(this.signatureExpirationTime, 4))), this.exportable !== null && r.push(At(t.exportableCertification, true, new Uint8Array([
        this.exportable ? 1 : 0
      ]))), this.trustLevel !== null && (n = new Uint8Array([
        this.trustLevel,
        this.trustAmount
      ]), r.push(At(t.trustSignature, true, n))), this.regularExpression !== null && r.push(At(t.regularExpression, true, this.regularExpression)), this.revocable !== null && r.push(At(t.revocable, true, new Uint8Array([
        this.revocable ? 1 : 0
      ]))), this.keyExpirationTime !== null && r.push(At(t.keyExpirationTime, true, G.writeNumber(this.keyExpirationTime, 4))), this.preferredSymmetricAlgorithms !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.preferredSymmetricAlgorithms)), r.push(At(t.preferredSymmetricAlgorithms, false, n))), this.revocationKeyClass !== null && (n = new Uint8Array([
        this.revocationKeyClass,
        this.revocationKeyAlgorithm
      ]), n = G.concat([
        n,
        this.revocationKeyFingerprint
      ]), r.push(At(t.revocationKey, false, n))), !this.issuerKeyID.isNull() && this.issuerKeyVersion < 5 && r.push(At(t.issuerKeyID, false, this.issuerKeyID.write())), this.rawNotations.forEach((({ name: s, value: l, humanReadable: u, critical: x }) => {
        n = [
          new Uint8Array([
            u ? 128 : 0,
            0,
            0,
            0
          ])
        ];
        const d = G.encodeUTF8(s);
        n.push(G.writeNumber(d.length, 2)), n.push(G.writeNumber(l.length, 2)), n.push(d), n.push(l), n = G.concat(n), r.push(At(t.notationData, x, n));
      })), this.preferredHashAlgorithms !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.preferredHashAlgorithms)), r.push(At(t.preferredHashAlgorithms, false, n))), this.preferredCompressionAlgorithms !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.preferredCompressionAlgorithms)), r.push(At(t.preferredCompressionAlgorithms, false, n))), this.keyServerPreferences !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.keyServerPreferences)), r.push(At(t.keyServerPreferences, false, n))), this.preferredKeyServer !== null && r.push(At(t.preferredKeyServer, false, G.encodeUTF8(this.preferredKeyServer))), this.isPrimaryUserID !== null && r.push(At(t.primaryUserID, false, new Uint8Array([
        this.isPrimaryUserID ? 1 : 0
      ]))), this.policyURI !== null && r.push(At(t.policyURI, false, G.encodeUTF8(this.policyURI))), this.keyFlags !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.keyFlags)), r.push(At(t.keyFlags, true, n))), this.signersUserID !== null && r.push(At(t.signersUserID, false, G.encodeUTF8(this.signersUserID))), this.reasonForRevocationFlag !== null && (n = G.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag) + this.reasonForRevocationString), r.push(At(t.reasonForRevocation, true, n))), this.features !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.features)), r.push(At(t.features, false, n))), this.signatureTargetPublicKeyAlgorithm !== null && (n = [
        new Uint8Array([
          this.signatureTargetPublicKeyAlgorithm,
          this.signatureTargetHashAlgorithm
        ])
      ], n.push(G.stringToUint8Array(this.signatureTargetHash)), n = G.concat(n), r.push(At(t.signatureTarget, true, n))), this.embeddedSignature !== null && r.push(At(t.embeddedSignature, true, this.embeddedSignature.write())), this.issuerFingerprint !== null && (n = [
        new Uint8Array([
          this.issuerKeyVersion
        ]),
        this.issuerFingerprint
      ], n = G.concat(n), r.push(At(t.issuerFingerprint, this.version >= 5, n))), this.preferredAEADAlgorithms !== null && (n = G.stringToUint8Array(G.uint8ArrayToString(this.preferredAEADAlgorithms)), r.push(At(t.preferredAEADAlgorithms, false, n))), this.preferredCipherSuites !== null && (n = new Uint8Array([].concat(...this.preferredCipherSuites)), r.push(At(t.preferredCipherSuites, false, n)));
      const a = G.concat(r), i = G.writeNumber(a.length, this.version === 6 ? 4 : 2);
      return G.concat([
        i,
        a
      ]);
    }
    writeUnhashedSubPackets() {
      const t = this.unhashedSubpackets.map((({ type: a, critical: i, body: s }) => At(a, i, s))), r = G.concat(t), n = G.writeNumber(r.length, this.version === 6 ? 4 : 2);
      return G.concat([
        n,
        r
      ]);
    }
    readSubPacket(t, r = true) {
      let n = 0;
      const a = !!(128 & t[n]), i = 127 & t[n];
      if (n++, r || (this.unhashedSubpackets.push({
        type: i,
        critical: a,
        body: t.subarray(n, t.length)
      }), Av.has(i))) switch (i) {
        case k.signatureSubpacket.signatureCreationTime:
          this.created = G.readDate(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.signatureExpirationTime: {
          const s = G.readNumber(t.subarray(n, t.length));
          this.signatureNeverExpires = s === 0, this.signatureExpirationTime = s;
          break;
        }
        case k.signatureSubpacket.exportableCertification:
          this.exportable = t[n++] === 1;
          break;
        case k.signatureSubpacket.trustSignature:
          this.trustLevel = t[n++], this.trustAmount = t[n++];
          break;
        case k.signatureSubpacket.regularExpression:
          this.regularExpression = t[n];
          break;
        case k.signatureSubpacket.revocable:
          this.revocable = t[n++] === 1;
          break;
        case k.signatureSubpacket.keyExpirationTime: {
          const s = G.readNumber(t.subarray(n, t.length));
          this.keyExpirationTime = s, this.keyNeverExpires = s === 0;
          break;
        }
        case k.signatureSubpacket.preferredSymmetricAlgorithms:
          this.preferredSymmetricAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.revocationKey:
          this.revocationKeyClass = t[n++], this.revocationKeyAlgorithm = t[n++], this.revocationKeyFingerprint = t.subarray(n, n + 20);
          break;
        case k.signatureSubpacket.issuerKeyID:
          if (this.version === 4) this.issuerKeyID.read(t.subarray(n, t.length));
          else if (r) throw Error("Unexpected Issuer Key ID subpacket");
          break;
        case k.signatureSubpacket.notationData: {
          const s = !!(128 & t[n]);
          n += 4;
          const l = G.readNumber(t.subarray(n, n + 2));
          n += 2;
          const u = G.readNumber(t.subarray(n, n + 2));
          n += 2;
          const x = G.decodeUTF8(t.subarray(n, n + l)), d = t.subarray(n + l, n + l + u);
          this.rawNotations.push({
            name: x,
            humanReadable: s,
            value: d,
            critical: a
          }), s && (this.notations[x] = G.decodeUTF8(d));
          break;
        }
        case k.signatureSubpacket.preferredHashAlgorithms:
          this.preferredHashAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.preferredCompressionAlgorithms:
          this.preferredCompressionAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.keyServerPreferences:
          this.keyServerPreferences = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.preferredKeyServer:
          this.preferredKeyServer = G.decodeUTF8(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.primaryUserID:
          this.isPrimaryUserID = t[n++] !== 0;
          break;
        case k.signatureSubpacket.policyURI:
          this.policyURI = G.decodeUTF8(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.keyFlags:
          this.keyFlags = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.signersUserID:
          this.signersUserID = G.decodeUTF8(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.reasonForRevocation:
          this.reasonForRevocationFlag = t[n++], this.reasonForRevocationString = G.decodeUTF8(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.features:
          this.features = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.signatureTarget: {
          this.signatureTargetPublicKeyAlgorithm = t[n++], this.signatureTargetHashAlgorithm = t[n++];
          const s = Xt(this.signatureTargetHashAlgorithm);
          this.signatureTargetHash = G.uint8ArrayToString(t.subarray(n, n + s));
          break;
        }
        case k.signatureSubpacket.embeddedSignature:
          this.embeddedSignature = new gr(), this.embeddedSignature.read(t.subarray(n, t.length));
          break;
        case k.signatureSubpacket.issuerFingerprint:
          this.issuerKeyVersion = t[n++], this.issuerFingerprint = t.subarray(n, t.length), this.issuerKeyVersion >= 5 ? this.issuerKeyID.read(this.issuerFingerprint) : this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));
          break;
        case k.signatureSubpacket.preferredAEADAlgorithms:
          this.preferredAEADAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case k.signatureSubpacket.preferredCipherSuites:
          this.preferredCipherSuites = [];
          for (let s = n; s < t.length; s += 2) this.preferredCipherSuites.push([
            t[s],
            t[s + 1]
          ]);
          break;
        default:
          this.unknownSubpackets.push({
            type: i,
            critical: a,
            body: t.subarray(n, t.length)
          });
      }
    }
    readSubPackets(t, r = true, n) {
      const a = this.version === 6 ? 4 : 2, i = G.readNumber(t.subarray(0, a));
      let s = a;
      for (; s < 2 + i; ) {
        const l = O4(t.subarray(s, t.length));
        s += l.offset, this.readSubPacket(t.subarray(s, s + l.len), r, n), s += l.len;
      }
      return s;
    }
    toSign(t, r) {
      const n = k.signature;
      switch (t) {
        case n.binary:
          return r.text !== null ? G.encodeUTF8(r.getText(true)) : r.getBytes(true);
        case n.text: {
          const a = r.getBytes(true);
          return G.canonicalizeEOL(a);
        }
        case n.standalone:
          return new Uint8Array(0);
        case n.certGeneric:
        case n.certPersona:
        case n.certCasual:
        case n.certPositive:
        case n.certRevocation: {
          let a, i;
          if (r.userID) i = 180, a = r.userID;
          else {
            if (!r.userAttribute) throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");
            i = 209, a = r.userAttribute;
          }
          const s = a.write();
          return G.concat([
            this.toSign(n.key, r),
            new Uint8Array([
              i
            ]),
            G.writeNumber(s.length, 4),
            s
          ]);
        }
        case n.subkeyBinding:
        case n.subkeyRevocation:
        case n.keyBinding:
          return G.concat([
            this.toSign(n.key, r),
            this.toSign(n.key, {
              key: r.bind
            })
          ]);
        case n.key:
          if (r.key === void 0) throw Error("Key packet is required for this signature.");
          return r.key.writeForHash(this.version);
        case n.keyRevocation:
          return this.toSign(n.key, r);
        case n.timestamp:
          return new Uint8Array(0);
        case n.thirdParty:
          throw Error("Not implemented");
        default:
          throw Error("Unknown signature type.");
      }
    }
    calculateTrailer(t, r) {
      let n = 0;
      return qt(Lo(this.signatureData), ((a) => {
        n += a.length;
      }), (() => {
        const a = [];
        return this.version !== 5 || this.signatureType !== k.signature.binary && this.signatureType !== k.signature.text || (r ? a.push(new Uint8Array(6)) : a.push(t.writeHeader())), a.push(new Uint8Array([
          this.version,
          255
        ])), this.version === 5 && a.push(new Uint8Array(4)), a.push(G.writeNumber(n, 4)), G.concat(a);
      }));
    }
    toHash(t, r, n = false) {
      const a = this.toSign(t, r);
      return G.concat([
        this.salt || new Uint8Array(),
        a,
        this.signatureData,
        this.calculateTrailer(r, n)
      ]);
    }
    async hash(t, r, n, a = false) {
      if (this.version === 6 && this.salt.length !== m1(this.hashAlgorithm)) throw Error("Signature salt does not have the expected length");
      return n || (n = this.toHash(t, r, a)), Fa(this.hashAlgorithm, n);
    }
    async verify(t, r, n, a = /* @__PURE__ */ new Date(), i = false, s = ze) {
      if (!this.issuerKeyID.equals(t.getKeyID())) throw Error("Signature was not issued by the given public key");
      if (this.publicKeyAlgorithm !== t.algorithm) throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");
      const l = r === k.signature.binary || r === k.signature.text;
      if (!(this[gl] && !l)) {
        let x, d;
        if (this.hashed ? d = await this.hashed : (x = this.toHash(r, n, i), d = await this.hash(r, n, x)), d = await Qt(d), this.signedHashValue[0] !== d[0] || this.signedHashValue[1] !== d[1]) throw Error("Signed digest did not match");
        if (this.params = await this.params, this[gl] = await ov(this.publicKeyAlgorithm, this.hashAlgorithm, this.params, t.publicParams, x, d), !this[gl]) throw Error("Signature verification failed");
      }
      const u = G.normalizeDate(a);
      if (u && this.created > u) throw Error("Signature creation time is in the future");
      if (u && u >= this.getExpirationTime()) throw Error("Signature is expired");
      if (s.rejectHashAlgorithms.has(this.hashAlgorithm)) throw Error("Insecure hash algorithm: " + k.read(k.hash, this.hashAlgorithm).toUpperCase());
      if (s.rejectMessageHashAlgorithms.has(this.hashAlgorithm) && [
        k.signature.binary,
        k.signature.text
      ].includes(this.signatureType)) throw Error("Insecure message hash algorithm: " + k.read(k.hash, this.hashAlgorithm).toUpperCase());
      if (this.unknownSubpackets.forEach((({ type: x, critical: d }) => {
        if (d) throw Error("Unknown critical signature subpacket type " + x);
      })), this.rawNotations.forEach((({ name: x, critical: d }) => {
        if (d && s.knownNotations.indexOf(x) < 0) throw Error("Unknown critical notation: " + x);
      })), this.revocationKeyClass !== null) throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.");
    }
    isExpired(t = /* @__PURE__ */ new Date()) {
      const r = G.normalizeDate(t);
      return r !== null && !(this.created <= r && r < this.getExpirationTime());
    }
    getExpirationTime() {
      return this.signatureNeverExpires ? 1 / 0 : new Date(this.created.getTime() + 1e3 * this.signatureExpirationTime);
    }
  }
  function At(e, t, r) {
    const n = [];
    return n.push(fd(r.length + 1)), n.push(new Uint8Array([
      (t ? 128 : 0) | e
    ])), n.push(r), G.concat(n);
  }
  function m1(e) {
    switch (e) {
      case k.hash.sha256:
        return 16;
      case k.hash.sha384:
        return 24;
      case k.hash.sha512:
        return 32;
      case k.hash.sha224:
      case k.hash.sha3_256:
        return 16;
      case k.hash.sha3_512:
        return 32;
      default:
        throw Error("Unsupported hash function");
    }
  }
  class Cn {
    static get tag() {
      return k.packet.onePassSignature;
    }
    static fromSignaturePacket(t, r) {
      const n = new Cn();
      return n.version = t.version === 6 ? 6 : 3, n.signatureType = t.signatureType, n.hashAlgorithm = t.hashAlgorithm, n.publicKeyAlgorithm = t.publicKeyAlgorithm, n.issuerKeyID = t.issuerKeyID, n.salt = t.salt, n.issuerFingerprint = t.issuerFingerprint, n.flags = r ? 1 : 0, n;
    }
    constructor() {
      this.version = null, this.signatureType = null, this.hashAlgorithm = null, this.publicKeyAlgorithm = null, this.salt = null, this.issuerKeyID = null, this.issuerFingerprint = null, this.flags = null;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 3 && this.version !== 6) throw new mt(`Version ${this.version} of the one-pass signature packet is unsupported.`);
      if (this.signatureType = t[r++], this.hashAlgorithm = t[r++], this.publicKeyAlgorithm = t[r++], this.version === 6) {
        const n = t[r++];
        this.salt = t.subarray(r, r + n), r += n, this.issuerFingerprint = t.subarray(r, r + 32), r += 32, this.issuerKeyID = new Ca(), this.issuerKeyID.read(this.issuerFingerprint);
      } else this.issuerKeyID = new Ca(), this.issuerKeyID.read(t.subarray(r, r + 8)), r += 8;
      return this.flags = t[r++], this;
    }
    write() {
      const t = [
        new Uint8Array([
          this.version,
          this.signatureType,
          this.hashAlgorithm,
          this.publicKeyAlgorithm
        ])
      ];
      return this.version === 6 ? t.push(new Uint8Array([
        this.salt.length
      ]), this.salt, this.issuerFingerprint) : t.push(this.issuerKeyID.write()), t.push(new Uint8Array([
        this.flags
      ])), G.concatUint8Array(t);
    }
    calculateTrailer(...t) {
      return es((async () => gr.prototype.calculateTrailer.apply(await this.correspondingSig, t)));
    }
    async verify() {
      const t = await this.correspondingSig;
      if (!t || t.constructor.tag !== k.packet.signature) throw Error("Corresponding signature packet missing");
      if (t.signatureType !== this.signatureType || t.hashAlgorithm !== this.hashAlgorithm || t.publicKeyAlgorithm !== this.publicKeyAlgorithm || !t.issuerKeyID.equals(this.issuerKeyID) || this.version === 3 && t.version === 6 || this.version === 6 && t.version !== 6 || this.version === 6 && !G.equalsUint8Array(t.issuerFingerprint, this.issuerFingerprint) || this.version === 6 && !G.equalsUint8Array(t.salt, this.salt)) throw Error("Corresponding signature packet does not match one-pass signature packet");
      return t.hashed = this.hashed, t.verify.apply(t, arguments);
    }
  }
  function wv(e, t) {
    if (!t[e]) {
      let r;
      try {
        r = k.read(k.packet, e);
      } catch {
        throw new vx("Unknown packet type with tag: " + e);
      }
      throw Error("Packet not allowed in this context: " + r);
    }
    return new t[e]();
  }
  Cn.prototype.hash = gr.prototype.hash, Cn.prototype.toHash = gr.prototype.toHash, Cn.prototype.toSign = gr.prototype.toSign;
  class Et extends Array {
    static async fromBinary(t, r, n = ze, a = null, i = false) {
      const s = new Et();
      return await s.read(t, r, n, a, i), s;
    }
    async read(t, r, n = ze, a = null, i = false) {
      let s;
      n.additionalAllowedPackets.length && (s = G.constructAllowedPackets(n.additionalAllowedPackets), r = {
        ...r,
        ...s
      }), this.stream = io(t, (async (u, x) => {
        const d = Wn(u), f = ln(x);
        try {
          let m = G.isStream(u);
          for (; ; ) {
            let p, g;
            if (await f.ready, await Iw(d, m, (async (A) => {
              try {
                if (A.tag === k.packet.marker || A.tag === k.packet.trust || A.tag === k.packet.padding) return;
                const w = wv(A.tag, r);
                try {
                  a == null ? void 0 : a.recordPacket(A.tag, s);
                } catch (D) {
                  if (n.enforceGrammar) throw D;
                  G.printDebugError(D);
                }
                w.packets = new Et(), w.fromStream = G.isStream(A.packet), g = w.fromStream;
                try {
                  await w.read(A.packet, n);
                } catch (D) {
                  throw D instanceof mt ? D : G.wrapError(new o1(`Parsing ${w.constructor.name} failed`), D);
                }
                await f.write(w);
              } catch (w) {
                const D = w instanceof vx && A.tag <= 39, B = w instanceof mt && !(w instanceof vx) && !n.ignoreUnsupportedPackets, v = w instanceof o1 && !n.ignoreMalformedPackets, _ = wx(A.tag);
                if (D || B || v || _ || !(w instanceof vx || w instanceof mt || w instanceof o1)) i ? p = w : await f.abort(w);
                else {
                  const T = new sp(A.tag, A.packet);
                  await f.write(T);
                }
                G.printDebugError(w);
              }
            })), g && (m = null), p) throw await d.readToEnd(), p;
            const E = await d.peekBytes(2);
            if (!E || !E.length) {
              try {
                a == null ? void 0 : a.recordEnd();
              } catch (A) {
                if (n.enforceGrammar) throw A;
                G.printDebugError(A);
              }
              return await f.ready, void await f.close();
            }
          }
        } catch (m) {
          await f.abort(m);
        }
      }));
      const l = Wn(this.stream);
      for (; ; ) {
        const { done: u, value: x } = await l.read();
        if (u ? this.stream = null : this.push(x), u || wx(x.constructor.tag)) break;
      }
      l.releaseLock();
    }
    write() {
      const t = [];
      for (let r = 0; r < this.length; r++) {
        const n = this[r] instanceof sp ? this[r].tag : this[r].constructor.tag, a = this[r].write();
        if (G.isStream(a) && wx(this[r].constructor.tag)) {
          let i = [], s = 0;
          const l = 512;
          t.push(Lx(n)), t.push(qt(a, ((u) => {
            if (i.push(u), s += u.length, s >= l) {
              const x = Math.min(Math.log(s) / Math.LN2 | 0, 30), d = 2 ** x, f = G.concat([
                Sw(x)
              ].concat(i));
              return i = [
                f.subarray(1 + d)
              ], s = i[0].length, f.subarray(0, 1 + d);
            }
          }), (() => G.concat([
            fd(s)
          ].concat(i)))));
        } else {
          if (G.isStream(a)) {
            let i = 0;
            t.push(qt(Lo(a), ((s) => {
              i += s.length;
            }), (() => g3(n, i))));
          } else t.push(g3(n, a.length));
          t.push(a);
        }
      }
      return G.concat(t);
    }
    filterByTag(...t) {
      const r = new Et(), n = (a) => (i) => a === i;
      for (let a = 0; a < this.length; a++) t.some(n(this[a].constructor.tag)) && r.push(this[a]);
      return r;
    }
    findPacket(t) {
      return this.find(((r) => r.constructor.tag === t));
    }
    indexOfTag(...t) {
      const r = [], n = this, a = (i) => (s) => i === s;
      for (let i = 0; i < this.length; i++) t.some(a(n[i].constructor.tag)) && r.push(i);
      return r;
    }
  }
  class da extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, da), this.name = "GrammarError";
    }
  }
  var Mt;
  (function(e) {
    e[e.EmptyMessage = 0] = "EmptyMessage", e[e.PlaintextOrEncryptedData = 1] = "PlaintextOrEncryptedData", e[e.EncryptedSessionKeys = 2] = "EncryptedSessionKeys", e[e.StandaloneAdditionalAllowedData = 3] = "StandaloneAdditionalAllowedData";
  })(Mt || (Mt = {}));
  class Dd {
    constructor() {
      this.state = Mt.EmptyMessage, this.leadingOnePassSignatureCounter = 0;
    }
    recordPacket(t, r) {
      switch (this.state) {
        case Mt.EmptyMessage:
        case Mt.StandaloneAdditionalAllowedData:
          switch (t) {
            case k.packet.literalData:
            case k.packet.compressedData:
            case k.packet.aeadEncryptedData:
            case k.packet.symEncryptedIntegrityProtectedData:
            case k.packet.symmetricallyEncryptedData:
              return void (this.state = Mt.PlaintextOrEncryptedData);
            case k.packet.signature:
              if (this.state === Mt.StandaloneAdditionalAllowedData && --this.leadingOnePassSignatureCounter < 0) throw new da("Trailing signature packet without OPS");
              return;
            case k.packet.onePassSignature:
              if (this.state === Mt.StandaloneAdditionalAllowedData) throw new da("OPS following StandaloneAdditionalAllowedData");
              return void this.leadingOnePassSignatureCounter++;
            case k.packet.publicKeyEncryptedSessionKey:
            case k.packet.symEncryptedSessionKey:
              return void (this.state = Mt.EncryptedSessionKeys);
            default:
              if (!(r == null ? void 0 : r[t])) throw new da(`Unexpected packet ${t} in state ${this.state}`);
              return void (this.state = Mt.StandaloneAdditionalAllowedData);
          }
        case Mt.PlaintextOrEncryptedData:
          if (t === k.packet.signature) {
            if (--this.leadingOnePassSignatureCounter < 0) throw new da("Trailing signature packet without OPS");
            return void (this.state = Mt.PlaintextOrEncryptedData);
          }
          if (!(r == null ? void 0 : r[t])) throw new da(`Unexpected packet ${t} in state ${this.state}`);
          return void (this.state = Mt.PlaintextOrEncryptedData);
        case Mt.EncryptedSessionKeys:
          switch (t) {
            case k.packet.publicKeyEncryptedSessionKey:
            case k.packet.symEncryptedSessionKey:
              return void (this.state = Mt.EncryptedSessionKeys);
            case k.packet.symEncryptedIntegrityProtectedData:
            case k.packet.aeadEncryptedData:
            case k.packet.symmetricallyEncryptedData:
              return void (this.state = Mt.PlaintextOrEncryptedData);
            case k.packet.signature:
              if (--this.leadingOnePassSignatureCounter < 0) throw new da("Trailing signature packet without OPS");
              return void (this.state = Mt.PlaintextOrEncryptedData);
            default:
              if (!(r == null ? void 0 : r[t])) throw new da(`Unexpected packet ${t} in state ${this.state}`);
              this.state = Mt.EncryptedSessionKeys;
          }
      }
    }
    recordEnd() {
      switch (this.state) {
        case Mt.EmptyMessage:
        case Mt.PlaintextOrEncryptedData:
        case Mt.EncryptedSessionKeys:
        case Mt.StandaloneAdditionalAllowedData:
          if (this.leadingOnePassSignatureCounter > 0) throw new da("Missing trailing signature packets");
      }
    }
  }
  const vv = G.constructAllowedPackets([
    m0,
    Cn,
    gr
  ]);
  class wc {
    static get tag() {
      return k.packet.compressedData;
    }
    constructor(t = ze) {
      this.packets = null, this.algorithm = t.preferredCompressionAlgorithm, this.compressed = null;
    }
    async read(t, r = ze) {
      await dd(t, (async (n) => {
        this.algorithm = await n.readByte(), this.compressed = n.remainder(), await this.decompress(r);
      }));
    }
    write() {
      return this.compressed === null && this.compress(), G.concat([
        new Uint8Array([
          this.algorithm
        ]),
        this.compressed
      ]);
    }
    async decompress(t = ze) {
      const r = k.read(k.compression, this.algorithm), n = kv[r];
      if (!n) throw Error(r + " decompression not supported");
      let a = await n(this.compressed);
      if (t.maxDecompressedMessageSize !== 1 / 0) {
        let i = 0;
        a = qt(a, ((s) => {
          if (i += s.length, i > t.maxDecompressedMessageSize) throw Error("Maximum decompressed message size exceeded");
          return s;
        }));
      }
      Vt(this.compressed) && !zt(this.compressed) || (a = await Qt(a)), this.packets = await Et.fromBinary(a, vv, t, new Dd());
    }
    compress() {
      const t = k.read(k.compression, this.algorithm), r = Cv[t];
      if (!r) throw Error(t + " compression not supported");
      const n = this.packets.write();
      let a = r(n);
      Vt(n) && !zt(n) || (a = es((() => Qt(a)))), this.compressed = a;
    }
  }
  function Zx(e, t) {
    return (r) => {
      let n;
      if (n = zt(r) ? new ReadableStream({
        async start(u) {
          try {
            u.enqueue(await Qt(r)), u.close();
          } catch (x) {
            u.error(x);
          }
        }
      }) : Vt(r) ? r : gc(r), n = (function(u) {
        const x = Wn(u);
        return new ReadableStream({
          async pull(d) {
            try {
              const { value: f, done: m } = await x.read();
              if (m) return void d.close();
              for (let p = 0; p <= f.length; p += 65536) (!p || p < f.length) && d.enqueue(f.subarray(p, p + 65536));
            } catch (f) {
              d.error(f);
            }
          }
        }, {
          highWaterMark: 0
        });
      })(n), e) try {
        const u = e();
        return n.pipeThrough(u);
      } catch (u) {
        if (u.name !== "TypeError") throw u;
      }
      const a = Wn(n), i = new t();
      let s = false, l = false;
      return new ReadableStream({
        start(u) {
          i.ondata = (x, d) => {
            u.enqueue(x), s = true, d && (u.close(), l = true);
          };
        },
        async pull() {
          for (s = false; !s && !l; ) {
            const { done: u, value: x } = await a.read();
            if (u) return void i.push(new Uint8Array(), true);
            x.length && i.push(x);
          }
        }
      }, {
        highWaterMark: 0
      });
    };
  }
  function Bv() {
    return async function(e) {
      const { default: t } = await Promise.resolve().then((function() {
        return QC;
      }));
      return t(gc(e));
    };
  }
  const Yx = (e) => ({
    compressor: typeof CompressionStream < "u" && (() => new CompressionStream(e)),
    decompressor: typeof DecompressionStream < "u" && (() => new DecompressionStream(e))
  }), Cv = {
    zip: Zx(Yx("deflate-raw").compressor, Sx),
    zlib: Zx(Yx("deflate").compressor, yv)
  }, kv = {
    uncompressed: (e) => e,
    zip: Zx(Yx("deflate-raw").decompressor, Ix),
    zlib: Zx(Yx("deflate").decompressor, Ev),
    bzip2: Bv()
  }, Dv = G.constructAllowedPackets([
    m0,
    wc,
    Cn,
    gr
  ]);
  class o0 {
    static get tag() {
      return k.packet.symEncryptedIntegrityProtectedData;
    }
    static fromObject({ version: t, aeadAlgorithm: r }) {
      if (t !== 1 && t !== 2) throw Error("Unsupported SEIPD version");
      const n = new o0();
      return n.version = t, t === 2 && (n.aeadAlgorithm = r), n;
    }
    constructor() {
      this.version = null, this.cipherAlgorithm = null, this.aeadAlgorithm = null, this.chunkSizeByte = null, this.salt = null, this.encrypted = null, this.packets = null;
    }
    async read(t) {
      await dd(t, (async (r) => {
        if (this.version = await r.readByte(), this.version !== 1 && this.version !== 2) throw new mt(`Version ${this.version} of the SEIP packet is unsupported.`);
        this.version === 2 && (this.cipherAlgorithm = await r.readByte(), this.aeadAlgorithm = await r.readByte(), this.chunkSizeByte = await r.readByte(), this.salt = await r.readBytes(32)), this.encrypted = r.remainder();
      }));
    }
    write() {
      return this.version === 2 ? G.concat([
        new Uint8Array([
          this.version,
          this.cipherAlgorithm,
          this.aeadAlgorithm,
          this.chunkSizeByte
        ]),
        this.salt,
        this.encrypted
      ]) : G.concat([
        new Uint8Array([
          this.version
        ]),
        this.encrypted
      ]);
    }
    async encrypt(t, r, n = ze) {
      const { blockSize: a, keySize: i } = vt(t);
      if (r.length !== i) throw Error("Unexpected session key size");
      let s = this.packets.write();
      if (zt(s) && (s = await Qt(s)), this.version === 2) this.cipherAlgorithm = t, this.salt = mr(32), this.chunkSizeByte = n.aeadChunkSizeByte, this.encrypted = await $x(this, "encrypt", r, s);
      else {
        const l = await wg(t), u = new Uint8Array([
          211,
          20
        ]), x = G.concat([
          l,
          s,
          u
        ]), d = await Fa(k.hash.sha1, Ol(x)), f = G.concat([
          x,
          d
        ]);
        this.encrypted = await Xl(t, r, f, new Uint8Array(a));
      }
      return true;
    }
    async decrypt(t, r, n = ze) {
      if (r.length !== vt(t).keySize) throw Error("Unexpected session key size");
      let a, i = Lo(this.encrypted);
      zt(i) && (i = await Qt(i));
      let s = false;
      if (this.version === 2) {
        if (this.cipherAlgorithm !== t) throw Error("Unexpected session key algorithm");
        a = await $x(this, "decrypt", r, i);
      } else {
        const { blockSize: l } = vt(t), u = await vd(t, r, i, new Uint8Array(l)), x = pr(Ol(u), -20), d = pr(u, 0, -20), f = Promise.all([
          Qt(await Fa(k.hash.sha1, Ol(d))),
          Qt(x)
        ]).then((([p, g]) => {
          if (!G.equalsUint8Array(p, g)) throw Error("Modification detected.");
          return new Uint8Array();
        })), m = pr(d, l + 2);
        a = pr(m, 0, -2), a = Nr([
          a,
          es((() => f))
        ]), G.isStream(i) && n.allowUnauthenticatedStream ? s = true : a = await Qt(a);
      }
      return this.packets = await Et.fromBinary(a, Dv, n, new Dd(), s), true;
    }
  }
  async function $x(e, t, r, n) {
    const a = e instanceof o0 && e.version === 2, i = !a && e.constructor.tag === k.packet.aeadEncryptedData;
    if (!a && !i) throw Error("Unexpected packet type");
    const s = ni(e.aeadAlgorithm, i), l = t === "decrypt" ? s.tagLength : 0, u = t === "encrypt" ? s.tagLength : 0, x = 2 ** (e.chunkSizeByte + 6) + l, d = i ? 8 : 0, f = new ArrayBuffer(13 + d), m = new Uint8Array(f, 0, 5 + d), p = new Uint8Array(f), g = new DataView(f), E = new Uint8Array(f, 5, 8);
    m.set([
      192 | e.constructor.tag,
      e.version,
      e.cipherAlgorithm,
      e.aeadAlgorithm,
      e.chunkSizeByte
    ], 0);
    let A, w, D = 0, B = Promise.resolve(), v = 0, _ = 0;
    if (a) {
      const { keySize: I } = vt(e.cipherAlgorithm), { ivLength: z } = s, C = new Uint8Array(f, 0, 5), j = await ro(k.hash.sha256, r, e.salt, C, I + z);
      r = j.subarray(0, I), A = j.subarray(I), A.fill(0, A.length - 8), w = new DataView(A.buffer, A.byteOffset, A.byteLength);
    } else A = e.iv;
    const T = await s(e.cipherAlgorithm, r);
    return io(n, (async (I, z) => {
      if (G.isStream(I) !== "array") {
        const U = new TransformStream({}, {
          highWaterMark: G.getHardwareConcurrency() * 2 ** (e.chunkSizeByte + 6),
          size: (P) => P.length
        });
        r0(U.readable, z), z = U.writable;
      }
      const C = Wn(I), j = ln(z);
      try {
        for (; ; ) {
          let U = await C.readBytes(x + l) || new Uint8Array();
          const P = U.subarray(U.length - l);
          let L, F, q;
          if (U = U.subarray(0, U.length - l), a) q = A;
          else {
            q = A.slice();
            for (let $ = 0; $ < 8; $++) q[A.length - 8 + $] ^= E[$];
          }
          if (!D || U.length ? (C.unshift(P), L = T[t](U, q, m), L.catch((() => {
          })), _ += U.length - l + u) : (g.setInt32(5 + d + 4, v), L = T[t](P, q, p), L.catch((() => {
          })), _ += u, F = true), v += U.length - l, B = B.then((() => L)).then((async ($) => {
            await j.ready, await j.write($), _ -= $.length;
          })).catch((($) => j.abort($))), (F || _ > j.desiredSize) && await B, F) {
            await j.close();
            break;
          }
          a ? w.setInt32(A.length - 4, ++D) : g.setInt32(9, ++D);
        }
      } catch (U) {
        await j.ready.catch((() => {
        })), await j.abort(U);
      }
    }));
  }
  const Fv = G.constructAllowedPackets([
    m0,
    wc,
    Cn,
    gr
  ]);
  class _v {
    static get tag() {
      return k.packet.aeadEncryptedData;
    }
    constructor() {
      this.version = 1, this.cipherAlgorithm = null, this.aeadAlgorithm = k.aead.eax, this.chunkSizeByte = null, this.iv = null, this.encrypted = null, this.packets = null;
    }
    async read(t) {
      await dd(t, (async (r) => {
        const n = await r.readByte();
        if (n !== 1) throw new mt(`Version ${n} of the AEAD-encrypted data packet is not supported.`);
        this.cipherAlgorithm = await r.readByte(), this.aeadAlgorithm = await r.readByte(), this.chunkSizeByte = await r.readByte();
        const a = ni(this.aeadAlgorithm, true);
        this.iv = await r.readBytes(a.ivLength), this.encrypted = r.remainder();
      }));
    }
    write() {
      return G.concat([
        new Uint8Array([
          this.version,
          this.cipherAlgorithm,
          this.aeadAlgorithm,
          this.chunkSizeByte
        ]),
        this.iv,
        this.encrypted
      ]);
    }
    async decrypt(t, r, n = ze) {
      this.packets = await Et.fromBinary(await $x(this, "decrypt", r, Lo(this.encrypted)), Fv, n, new Dd());
    }
    async encrypt(t, r, n = ze) {
      this.cipherAlgorithm = t;
      const { ivLength: a } = ni(this.aeadAlgorithm, true);
      this.iv = mr(a), this.chunkSizeByte = n.aeadChunkSizeByte;
      const i = this.packets.write();
      this.encrypted = await $x(this, "encrypt", r, i);
    }
  }
  class ec {
    static get tag() {
      return k.packet.publicKeyEncryptedSessionKey;
    }
    constructor() {
      this.version = null, this.publicKeyID = new Ca(), this.publicKeyVersion = null, this.publicKeyFingerprint = null, this.publicKeyAlgorithm = null, this.sessionKey = null, this.sessionKeyAlgorithm = null, this.encrypted = {};
    }
    static fromObject({ version: t, encryptionKeyPacket: r, anonymousRecipient: n, sessionKey: a, sessionKeyAlgorithm: i }) {
      const s = new ec();
      if (t !== 3 && t !== 6) throw Error("Unsupported PKESK version");
      return s.version = t, t === 6 && (s.publicKeyVersion = n ? null : r.version, s.publicKeyFingerprint = n ? null : r.getFingerprintBytes()), s.publicKeyID = n ? Ca.wildcard() : r.getKeyID(), s.publicKeyAlgorithm = r.algorithm, s.sessionKey = a, s.sessionKeyAlgorithm = i, s;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 3 && this.version !== 6) throw new mt(`Version ${this.version} of the PKESK packet is unsupported.`);
      if (this.version === 6) {
        const n = t[r++];
        if (n) {
          this.publicKeyVersion = t[r++];
          const a = n - 1;
          this.publicKeyFingerprint = t.subarray(r, r + a), r += a, this.publicKeyVersion >= 5 ? this.publicKeyID.read(this.publicKeyFingerprint) : this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8));
        } else this.publicKeyID = Ca.wildcard();
      } else r += this.publicKeyID.read(t.subarray(r, r + 8));
      if (this.publicKeyAlgorithm = t[r++], this.encrypted = (function(n, a) {
        let i = 0;
        switch (n) {
          case k.publicKey.rsaEncrypt:
          case k.publicKey.rsaEncryptSign:
            return {
              c: G.readMPI(a.subarray(i))
            };
          case k.publicKey.elgamal: {
            const s = G.readMPI(a.subarray(i));
            return i += s.length + 2, {
              c1: s,
              c2: G.readMPI(a.subarray(i))
            };
          }
          case k.publicKey.ecdh: {
            const s = G.readMPI(a.subarray(i));
            i += s.length + 2;
            const l = new bg();
            return l.read(a.subarray(i)), {
              V: s,
              C: l
            };
          }
          case k.publicKey.x25519:
          case k.publicKey.x448: {
            const s = Vs(n), l = G.readExactSubarray(a, i, i + s);
            i += l.length;
            const u = new wd();
            return u.read(a.subarray(i)), {
              ephemeralPublicKey: l,
              C: u
            };
          }
          default:
            throw new mt("Unknown public key encryption algorithm.");
        }
      })(this.publicKeyAlgorithm, t.subarray(r)), this.publicKeyAlgorithm === k.publicKey.x25519 || this.publicKeyAlgorithm === k.publicKey.x448) {
        if (this.version === 3) this.sessionKeyAlgorithm = k.write(k.symmetric, this.encrypted.C.algorithm);
        else if (this.encrypted.C.algorithm !== null) throw Error("Unexpected cleartext symmetric algorithm");
      }
    }
    write() {
      const t = [
        new Uint8Array([
          this.version
        ])
      ];
      return this.version === 6 ? this.publicKeyFingerprint !== null ? (t.push(new Uint8Array([
        this.publicKeyFingerprint.length + 1,
        this.publicKeyVersion
      ])), t.push(this.publicKeyFingerprint)) : t.push(new Uint8Array([
        0
      ])) : t.push(this.publicKeyID.write()), t.push(new Uint8Array([
        this.publicKeyAlgorithm
      ]), i0(this.publicKeyAlgorithm, this.encrypted)), G.concatUint8Array(t);
    }
    async encrypt(t) {
      const r = k.write(k.publicKey, this.publicKeyAlgorithm), n = this.version === 3 ? this.sessionKeyAlgorithm : null, a = t.version === 5 ? t.getFingerprintBytes().subarray(0, 20) : t.getFingerprintBytes(), i = H3(this.version, r, n, this.sessionKey);
      this.encrypted = await Ww(r, n, t.publicParams, i, a);
    }
    async decrypt(t, r) {
      if (this.publicKeyAlgorithm !== t.algorithm) throw Error("Decryption error");
      const n = r ? H3(this.version, this.publicKeyAlgorithm, r.sessionKeyAlgorithm, r.sessionKey) : null, a = t.version === 5 ? t.getFingerprintBytes().subarray(0, 20) : t.getFingerprintBytes(), i = await Zw(this.publicKeyAlgorithm, t.publicParams, t.privateParams, this.encrypted, a, n), { sessionKey: s, sessionKeyAlgorithm: l } = (function(u, x, d, f) {
        switch (x) {
          case k.publicKey.rsaEncrypt:
          case k.publicKey.rsaEncryptSign:
          case k.publicKey.elgamal:
          case k.publicKey.ecdh: {
            const m = d.subarray(0, d.length - 2), p = d.subarray(d.length - 2), g = G.writeChecksum(m.subarray(m.length % 8)), E = g[0] === p[0] & g[1] === p[1], A = u === 6 ? {
              sessionKeyAlgorithm: null,
              sessionKey: m
            } : {
              sessionKeyAlgorithm: m[0],
              sessionKey: m.subarray(1)
            };
            if (f) {
              const w = E & A.sessionKeyAlgorithm === f.sessionKeyAlgorithm & A.sessionKey.length === f.sessionKey.length;
              return {
                sessionKey: G.selectUint8Array(w, A.sessionKey, f.sessionKey),
                sessionKeyAlgorithm: u === 6 ? null : G.selectUint8(w, A.sessionKeyAlgorithm, f.sessionKeyAlgorithm)
              };
            }
            if (E && (u === 6 || k.read(k.symmetric, A.sessionKeyAlgorithm))) return A;
            throw Error("Decryption error");
          }
          case k.publicKey.x25519:
          case k.publicKey.x448:
            return {
              sessionKeyAlgorithm: null,
              sessionKey: d
            };
          default:
            throw Error("Unsupported public key algorithm");
        }
      })(this.version, this.publicKeyAlgorithm, i, r);
      if (this.version === 3) {
        const u = this.publicKeyAlgorithm !== k.publicKey.x25519 && this.publicKeyAlgorithm !== k.publicKey.x448;
        if (this.sessionKeyAlgorithm = u ? l : this.sessionKeyAlgorithm, s.length !== vt(this.sessionKeyAlgorithm).keySize) throw Error("Unexpected session key size");
      }
      this.sessionKey = s;
    }
  }
  function H3(e, t, r, n) {
    switch (t) {
      case k.publicKey.rsaEncrypt:
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.elgamal:
      case k.publicKey.ecdh:
        return G.concatUint8Array([
          new Uint8Array(e === 6 ? [] : [
            r
          ]),
          n,
          G.writeChecksum(n.subarray(n.length % 8))
        ]);
      case k.publicKey.x25519:
      case k.publicKey.x448:
        return n;
      default:
        throw Error("Unsupported public key algorithm");
    }
  }
  class s0 {
    static get tag() {
      return k.packet.symEncryptedSessionKey;
    }
    constructor(t = ze) {
      this.version = t.aeadProtect ? 6 : 4, this.sessionKey = null, this.sessionKeyEncryptionAlgorithm = null, this.sessionKeyAlgorithm = null, this.aeadAlgorithm = k.write(k.aead, t.preferredAEADAlgorithm), this.encrypted = null, this.s2k = null, this.iv = null;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 4 && this.version !== 5 && this.version !== 6) throw new mt(`Version ${this.version} of the SKESK packet is unsupported.`);
      this.version === 6 && r++;
      const n = t[r++];
      this.version >= 5 && (this.aeadAlgorithm = t[r++], this.version === 6 && r++);
      const a = t[r++];
      if (this.s2k = Wx(a), r += this.s2k.read(t.subarray(r, t.length)), this.version >= 5) {
        const i = ni(this.aeadAlgorithm, true);
        this.iv = t.subarray(r, r += i.ivLength);
      }
      this.version >= 5 || r < t.length ? (this.encrypted = t.subarray(r, t.length), this.sessionKeyEncryptionAlgorithm = n) : this.sessionKeyAlgorithm = n;
    }
    write() {
      const t = this.encrypted === null ? this.sessionKeyAlgorithm : this.sessionKeyEncryptionAlgorithm;
      let r;
      const n = this.s2k.write();
      if (this.version === 6) {
        const a = n.length, i = 3 + a + this.iv.length;
        r = G.concatUint8Array([
          new Uint8Array([
            this.version,
            i,
            t,
            this.aeadAlgorithm,
            a
          ]),
          n,
          this.iv,
          this.encrypted
        ]);
      } else this.version === 5 ? r = G.concatUint8Array([
        new Uint8Array([
          this.version,
          t,
          this.aeadAlgorithm
        ]),
        n,
        this.iv,
        this.encrypted
      ]) : (r = G.concatUint8Array([
        new Uint8Array([
          this.version,
          t
        ]),
        n
      ]), this.encrypted !== null && (r = G.concatUint8Array([
        r,
        this.encrypted
      ])));
      return r;
    }
    async decrypt(t) {
      const r = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm, { blockSize: n, keySize: a } = vt(r), i = await this.s2k.produceKey(t, a);
      if (this.version >= 5) {
        const s = ni(this.aeadAlgorithm, true), l = new Uint8Array([
          192 | s0.tag,
          this.version,
          this.sessionKeyEncryptionAlgorithm,
          this.aeadAlgorithm
        ]), u = this.version === 6 ? await ro(k.hash.sha256, i, new Uint8Array(), l, a) : i, x = await s(r, u);
        this.sessionKey = await x.decrypt(this.encrypted, this.iv, l);
      } else if (this.encrypted !== null) {
        const s = await vd(r, i, this.encrypted, new Uint8Array(n));
        if (this.sessionKeyAlgorithm = k.write(k.symmetric, s[0]), this.sessionKey = s.subarray(1, s.length), this.sessionKey.length !== vt(this.sessionKeyAlgorithm).keySize) throw Error("Unexpected session key size");
      } else this.sessionKey = i;
    }
    async encrypt(t, r = ze) {
      const n = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm;
      this.sessionKeyEncryptionAlgorithm = n, this.s2k = Bg(r), this.s2k.generateSalt();
      const { blockSize: a, keySize: i } = vt(n), s = await this.s2k.produceKey(t, i);
      if (this.sessionKey === null && (this.sessionKey = gp(this.sessionKeyAlgorithm)), this.version >= 5) {
        const l = ni(this.aeadAlgorithm);
        this.iv = mr(l.ivLength);
        const u = new Uint8Array([
          192 | s0.tag,
          this.version,
          this.sessionKeyEncryptionAlgorithm,
          this.aeadAlgorithm
        ]), x = this.version === 6 ? await ro(k.hash.sha256, s, new Uint8Array(), u, i) : s, d = await l(n, x);
        this.encrypted = await d.encrypt(this.sessionKey, this.iv, u);
      } else {
        const l = G.concatUint8Array([
          new Uint8Array([
            this.sessionKeyAlgorithm
          ]),
          this.sessionKey
        ]);
        this.encrypted = await Xl(n, s, l, new Uint8Array(a));
      }
    }
  }
  class Aa {
    static get tag() {
      return k.packet.publicKey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = ze) {
      this.version = r.v6Keys ? 6 : 4, this.created = G.normalizeDate(t), this.algorithm = null, this.publicParams = null, this.expirationTimeV3 = 0, this.fingerprint = null, this.keyID = null;
    }
    static fromSecretKeyPacket(t) {
      const r = new Aa(), { version: n, created: a, algorithm: i, publicParams: s, keyID: l, fingerprint: u } = t;
      return r.version = n, r.created = a, r.algorithm = i, r.publicParams = s, r.keyID = l, r.fingerprint = u, r;
    }
    async read(t, r = ze) {
      let n = 0;
      if (this.version = t[n++], this.version === 5 && !r.enableParsingV5Entities) throw new mt("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
      if (this.version === 4 || this.version === 5 || this.version === 6) {
        this.created = G.readDate(t.subarray(n, n + 4)), n += 4, this.algorithm = t[n++], this.version >= 5 && (n += 4);
        const { read: a, publicParams: i } = (function(s, l) {
          let u = 0;
          switch (s) {
            case k.publicKey.rsaEncrypt:
            case k.publicKey.rsaEncryptSign:
            case k.publicKey.rsaSign: {
              const x = G.readMPI(l.subarray(u));
              u += x.length + 2;
              const d = G.readMPI(l.subarray(u));
              return u += d.length + 2, {
                read: u,
                publicParams: {
                  n: x,
                  e: d
                }
              };
            }
            case k.publicKey.dsa: {
              const x = G.readMPI(l.subarray(u));
              u += x.length + 2;
              const d = G.readMPI(l.subarray(u));
              u += d.length + 2;
              const f = G.readMPI(l.subarray(u));
              u += f.length + 2;
              const m = G.readMPI(l.subarray(u));
              return u += m.length + 2, {
                read: u,
                publicParams: {
                  p: x,
                  q: d,
                  g: f,
                  y: m
                }
              };
            }
            case k.publicKey.elgamal: {
              const x = G.readMPI(l.subarray(u));
              u += x.length + 2;
              const d = G.readMPI(l.subarray(u));
              u += d.length + 2;
              const f = G.readMPI(l.subarray(u));
              return u += f.length + 2, {
                read: u,
                publicParams: {
                  p: x,
                  g: d,
                  y: f
                }
              };
            }
            case k.publicKey.ecdsa: {
              const x = new ri();
              u += x.read(l), c1(x);
              const d = G.readMPI(l.subarray(u));
              return u += d.length + 2, {
                read: u,
                publicParams: {
                  oid: x,
                  Q: d
                }
              };
            }
            case k.publicKey.eddsaLegacy: {
              const x = new ri();
              if (u += x.read(l), c1(x), x.getName() !== k.curve.ed25519Legacy) throw Error("Unexpected OID for eddsaLegacy");
              let d = G.readMPI(l.subarray(u));
              return u += d.length + 2, d = G.leftPad(d, 33), {
                read: u,
                publicParams: {
                  oid: x,
                  Q: d
                }
              };
            }
            case k.publicKey.ecdh: {
              const x = new ri();
              u += x.read(l), c1(x);
              const d = G.readMPI(l.subarray(u));
              u += d.length + 2;
              const f = new Ag();
              return u += f.read(l.subarray(u)), {
                read: u,
                publicParams: {
                  oid: x,
                  Q: d,
                  kdfParams: f
                }
              };
            }
            case k.publicKey.ed25519:
            case k.publicKey.ed448:
            case k.publicKey.x25519:
            case k.publicKey.x448: {
              const x = G.readExactSubarray(l, u, u + Vs(s));
              return u += x.length, {
                read: u,
                publicParams: {
                  A: x
                }
              };
            }
            default:
              throw new mt("Unknown public key encryption algorithm.");
          }
        })(this.algorithm, t.subarray(n));
        if (this.version === 6 && i.oid && (i.oid.getName() === k.curve.curve25519Legacy || i.oid.getName() === k.curve.ed25519Legacy)) throw Error("Legacy curve25519 cannot be used with v6 keys");
        return this.publicParams = i, n += a, await this.computeFingerprintAndKeyID(), n;
      }
      throw new mt(`Version ${this.version} of the key packet is unsupported.`);
    }
    write() {
      const t = [];
      t.push(new Uint8Array([
        this.version
      ])), t.push(G.writeDate(this.created)), t.push(new Uint8Array([
        this.algorithm
      ]));
      const r = i0(this.algorithm, this.publicParams);
      return this.version >= 5 && t.push(G.writeNumber(r.length, 4)), t.push(r), G.concatUint8Array(t);
    }
    writeForHash(t) {
      const r = this.writePublicKey(), n = 149 + t, a = t >= 5 ? 4 : 2;
      return G.concatUint8Array([
        new Uint8Array([
          n
        ]),
        G.writeNumber(r.length, a),
        r
      ]);
    }
    isDecrypted() {
      return null;
    }
    getCreationTime() {
      return this.created;
    }
    getKeyID() {
      return this.keyID;
    }
    async computeFingerprintAndKeyID() {
      if (await this.computeFingerprint(), this.keyID = new Ca(), this.version >= 5) this.keyID.read(this.fingerprint.subarray(0, 8));
      else {
        if (this.version !== 4) throw Error("Unsupported key version");
        this.keyID.read(this.fingerprint.subarray(12, 20));
      }
    }
    async computeFingerprint() {
      const t = this.writeForHash(this.version);
      if (this.version >= 5) this.fingerprint = await Fa(k.hash.sha256, t);
      else {
        if (this.version !== 4) throw Error("Unsupported key version");
        this.fingerprint = await Fa(k.hash.sha1, t);
      }
    }
    getFingerprintBytes() {
      return this.fingerprint;
    }
    getFingerprint() {
      return G.uint8ArrayToHex(this.getFingerprintBytes());
    }
    hasSameFingerprintAs(t) {
      return this.version === t.version && G.equalsUint8Array(this.writePublicKey(), t.writePublicKey());
    }
    getAlgorithmInfo() {
      const t = {};
      t.algorithm = k.read(k.publicKey, this.algorithm);
      const r = this.publicParams.n || this.publicParams.p;
      return r ? t.bits = G.uint8ArrayBitLength(r) : this.publicParams.oid && (t.curve = this.publicParams.oid.getName()), t;
    }
  }
  Aa.prototype.readPublicKey = Aa.prototype.read, Aa.prototype.writePublicKey = Aa.prototype.write;
  const Sv = G.constructAllowedPackets([
    m0,
    wc,
    Cn,
    gr
  ]);
  class Iv {
    static get tag() {
      return k.packet.symmetricallyEncryptedData;
    }
    constructor() {
      this.encrypted = null, this.packets = null;
    }
    read(t) {
      this.encrypted = t;
    }
    write() {
      return this.encrypted;
    }
    async decrypt(t, r, n = ze) {
      if (!n.allowUnauthenticatedMessages) throw Error("Message is not authenticated.");
      const { blockSize: a } = vt(t), i = await Qt(Lo(this.encrypted)), s = await vd(t, r, i.subarray(a + 2), i.subarray(2, a + 2));
      this.packets = await Et.fromBinary(s, Sv, n);
    }
    async encrypt(t, r, n = ze) {
      const a = this.packets.write(), { blockSize: i } = vt(t), s = await wg(t), l = await Xl(t, r, s, new Uint8Array(i)), u = await Xl(t, r, a, l.subarray(2));
      this.encrypted = G.concat([
        l,
        u
      ]);
    }
  }
  class Fd extends Aa {
    static get tag() {
      return k.packet.publicSubkey;
    }
    constructor(t, r) {
      super(t, r);
    }
    static fromSecretSubkeyPacket(t) {
      const r = new Fd(), { version: n, created: a, algorithm: i, publicParams: s, keyID: l, fingerprint: u } = t;
      return r.version = n, r.created = a, r.algorithm = i, r.publicParams = s, r.keyID = l, r.fingerprint = u, r;
    }
  }
  class v8 {
    static get tag() {
      return k.packet.userAttribute;
    }
    constructor() {
      this.attributes = [];
    }
    read(t) {
      let r = 0;
      for (; r < t.length; ) {
        const n = O4(t.subarray(r, t.length));
        r += n.offset, this.attributes.push(G.uint8ArrayToString(t.subarray(r, r + n.len))), r += n.len;
      }
    }
    write() {
      const t = [];
      for (let r = 0; r < this.attributes.length; r++) t.push(fd(this.attributes[r].length)), t.push(G.stringToUint8Array(this.attributes[r]));
      return G.concatUint8Array(t);
    }
    equals(t) {
      return !!(t && t instanceof v8) && this.attributes.every((function(r, n) {
        return r === t.attributes[n];
      }));
    }
  }
  class Ig extends Aa {
    static get tag() {
      return k.packet.secretKey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = ze) {
      super(t, r), this.keyMaterial = null, this.isEncrypted = null, this.s2kUsage = 0, this.s2k = null, this.symmetric = null, this.aead = null, this.isLegacyAEAD = null, this.privateParams = null, this.usedModernAEAD = null;
    }
    async read(t, r = ze) {
      let n = await this.readPublicKey(t, r);
      const a = n;
      this.s2kUsage = t[n++], this.version === 5 && n++, this.version === 6 && this.s2kUsage && n++;
      try {
        if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
          this.symmetric = t[n++], this.s2kUsage === 253 && (this.aead = t[n++]), this.version === 6 && n++;
          const i = t[n++];
          if (this.s2k = Wx(i), n += this.s2k.read(t.subarray(n, t.length)), this.s2k.type === "gnu-dummy") return;
        } else this.s2kUsage && (this.symmetric = this.s2kUsage);
        this.s2kUsage && (this.isLegacyAEAD = this.s2kUsage === 253 && (this.version === 5 || this.version === 4 && r.parseAEADEncryptedV4KeysAsLegacy), this.s2kUsage !== 253 || this.isLegacyAEAD ? (this.iv = t.subarray(n, n + vt(this.symmetric).blockSize), this.usedModernAEAD = false) : (this.iv = t.subarray(n, n + ni(this.aead).ivLength), this.usedModernAEAD = true), n += this.iv.length);
      } catch (i) {
        if (!this.s2kUsage) throw i;
        this.unparseableKeyMaterial = t.subarray(a), this.isEncrypted = true;
      }
      if (this.version === 5 && (n += 4), this.keyMaterial = t.subarray(n), this.isEncrypted = !!this.s2kUsage, !this.isEncrypted) {
        let i;
        if (this.version === 6) i = this.keyMaterial;
        else if (i = this.keyMaterial.subarray(0, -2), !G.equalsUint8Array(G.writeChecksum(i), this.keyMaterial.subarray(-2))) throw Error("Key checksum mismatch");
        try {
          const { read: s, privateParams: l } = D3(this.algorithm, i, this.publicParams);
          if (s < i.length) throw Error("Error reading MPIs");
          this.privateParams = l;
        } catch (s) {
          throw s instanceof mt ? s : Error("Error reading MPIs");
        }
      }
    }
    write() {
      const t = this.writePublicKey();
      if (this.unparseableKeyMaterial) return G.concatUint8Array([
        t,
        this.unparseableKeyMaterial
      ]);
      const r = [
        t
      ];
      r.push(new Uint8Array([
        this.s2kUsage
      ]));
      const n = [];
      if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
        n.push(this.symmetric), this.s2kUsage === 253 && n.push(this.aead);
        const a = this.s2k.write();
        this.version === 6 && n.push(a.length), n.push(...a);
      }
      return this.s2kUsage && this.s2k.type !== "gnu-dummy" && n.push(...this.iv), (this.version === 5 || this.version === 6 && this.s2kUsage) && r.push(new Uint8Array([
        n.length
      ])), r.push(new Uint8Array(n)), this.isDummy() || (this.s2kUsage || (this.keyMaterial = i0(this.algorithm, this.privateParams)), this.version === 5 && r.push(G.writeNumber(this.keyMaterial.length, 4)), r.push(this.keyMaterial), this.s2kUsage || this.version === 6 || r.push(G.writeChecksum(this.keyMaterial))), G.concatUint8Array(r);
    }
    isDecrypted() {
      return this.isEncrypted === false;
    }
    isMissingSecretKeyMaterial() {
      return this.unparseableKeyMaterial !== void 0 || this.isDummy();
    }
    isDummy() {
      return !(!this.s2k || this.s2k.type !== "gnu-dummy");
    }
    makeDummy(t = ze) {
      this.isDummy() || (this.isDecrypted() && this.clearPrivateParams(), delete this.unparseableKeyMaterial, this.isEncrypted = null, this.keyMaterial = null, this.s2k = Wx(k.s2k.gnu, t), this.s2k.algorithm = 0, this.s2k.c = 0, this.s2k.type = "gnu-dummy", this.s2kUsage = 254, this.symmetric = k.symmetric.aes256, this.isLegacyAEAD = null, this.usedModernAEAD = null);
    }
    async encrypt(t, r = ze) {
      if (this.isDummy()) return;
      if (!this.isDecrypted()) throw Error("Key packet is already encrypted");
      if (!t) throw Error("A non-empty passphrase is required for key encryption.");
      this.s2k = Bg(r), this.s2k.generateSalt();
      const n = i0(this.algorithm, this.privateParams);
      this.symmetric = k.symmetric.aes256;
      const { blockSize: a } = vt(this.symmetric);
      if (r.aeadProtect) {
        this.s2kUsage = 253, this.aead = r.preferredAEADAlgorithm;
        const i = ni(this.aead);
        this.isLegacyAEAD = this.version === 5, this.usedModernAEAD = !this.isLegacyAEAD;
        const s = Lx(this.constructor.tag), l = await g1(this.version, this.s2k, t, this.symmetric, this.aead, s, this.isLegacyAEAD), u = await i(this.symmetric, l);
        this.iv = this.isLegacyAEAD ? mr(a) : mr(i.ivLength);
        const x = this.isLegacyAEAD ? new Uint8Array() : G.concatUint8Array([
          s,
          this.writePublicKey()
        ]);
        this.keyMaterial = await u.encrypt(n, this.iv.subarray(0, i.ivLength), x);
      } else {
        this.s2kUsage = 254, this.usedModernAEAD = false;
        const i = await g1(this.version, this.s2k, t, this.symmetric);
        this.iv = mr(a), this.keyMaterial = await Xl(this.symmetric, i, G.concatUint8Array([
          n,
          await Fa(k.hash.sha1, n)
        ]), this.iv);
      }
    }
    async decrypt(t) {
      if (this.isDummy()) return false;
      if (this.unparseableKeyMaterial) throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");
      if (this.isDecrypted()) throw Error("Key packet is already decrypted.");
      let r;
      const n = Lx(this.constructor.tag);
      if (this.s2kUsage !== 254 && this.s2kUsage !== 253) throw this.s2kUsage === 255 ? Error("Encrypted private key is authenticated using an insecure two-byte hash") : Error("Private key is encrypted using an insecure S2K function: unsalted MD5");
      let a;
      if (r = await g1(this.version, this.s2k, t, this.symmetric, this.aead, n, this.isLegacyAEAD), this.s2kUsage === 253) {
        const i = ni(this.aead, true), s = await i(this.symmetric, r);
        try {
          const l = this.isLegacyAEAD ? new Uint8Array() : G.concatUint8Array([
            n,
            this.writePublicKey()
          ]);
          a = await s.decrypt(this.keyMaterial, this.iv.subarray(0, i.ivLength), l);
        } catch (l) {
          throw l.message === "Authentication tag mismatch" ? Error("Incorrect key passphrase: " + l.message) : l;
        }
      } else {
        const i = await vd(this.symmetric, r, this.keyMaterial, this.iv);
        a = i.subarray(0, -20);
        const s = await Fa(k.hash.sha1, a);
        if (!G.equalsUint8Array(s, i.subarray(-20))) throw Error("Incorrect key passphrase");
      }
      try {
        const { privateParams: i } = D3(this.algorithm, a, this.publicParams);
        this.privateParams = i;
      } catch {
        throw Error("Error reading MPIs");
      }
      this.isEncrypted = false, this.keyMaterial = null, this.s2kUsage = 0, this.aead = null, this.symmetric = null, this.isLegacyAEAD = null;
    }
    async validate() {
      if (this.isDummy()) return;
      if (!this.isDecrypted()) throw Error("Key is not decrypted");
      if (this.usedModernAEAD) return;
      let t;
      try {
        t = await $w(this.algorithm, this.publicParams, this.privateParams);
      } catch {
        t = false;
      }
      if (!t) throw Error("Key is invalid");
    }
    async generate(t, r) {
      if (this.version === 6 && (this.algorithm === k.publicKey.ecdh && r === k.curve.curve25519Legacy || this.algorithm === k.publicKey.eddsaLegacy)) throw Error(`Cannot generate v6 keys of type 'ecc' with curve ${r}. Generate a key of type 'curve25519' instead`);
      const { privateParams: n, publicParams: a } = await Yw(this.algorithm, t, r);
      this.privateParams = n, this.publicParams = a, this.isEncrypted = false;
    }
    clearPrivateParams() {
      this.isMissingSecretKeyMaterial() || (Object.keys(this.privateParams).forEach(((t) => {
        this.privateParams[t].fill(0), delete this.privateParams[t];
      })), this.privateParams = null, this.isEncrypted = true);
    }
  }
  async function g1(e, t, r, n, a, i, s) {
    if (t.type === "argon2" && !a) throw Error("Using Argon2 S2K without AEAD is not allowed");
    if (t.type === "simple" && e === 6) throw Error("Using Simple S2K with version 6 keys is not allowed");
    const { keySize: l } = vt(n), u = await t.produceKey(r, l);
    if (!a || e === 5 || s) return u;
    const x = G.concatUint8Array([
      i,
      new Uint8Array([
        e,
        n,
        a
      ])
    ]);
    return ro(k.hash.sha256, u, new Uint8Array(), x, l);
  }
  class B8 {
    static get tag() {
      return k.packet.userID;
    }
    constructor() {
      this.userID = "", this.name = "", this.email = "", this.comment = "";
    }
    static fromObject(t) {
      if (G.isString(t) || t.name && !G.isString(t.name) || t.email && !G.isEmailAddress(t.email) || t.comment && !G.isString(t.comment)) throw Error("Invalid user ID format");
      const r = new B8();
      Object.assign(r, t);
      const n = [];
      return r.name && n.push(r.name), r.comment && n.push(`(${r.comment})`), r.email && n.push(`<${r.email}>`), r.userID = n.join(" "), r;
    }
    read(t, r = ze) {
      const n = G.decodeUTF8(t);
      if (n.length > r.maxUserIDLength) throw Error("User ID string is too long");
      const a = (l) => /^[^\s@]+@[^\s@]+$/.test(l), i = n.indexOf("<"), s = n.lastIndexOf(">");
      if (i !== -1 && s !== -1 && s > i) {
        const l = n.substring(i + 1, s);
        if (a(l)) {
          this.email = l;
          const u = n.substring(0, i).trim(), x = u.indexOf("("), d = u.lastIndexOf(")");
          x !== -1 && d !== -1 && d > x ? (this.comment = u.substring(x + 1, d).trim(), this.name = u.substring(0, x).trim()) : (this.name = u, this.comment = "");
        }
      } else a(n.trim()) && (this.email = n.trim(), this.name = "", this.comment = "");
      this.userID = n;
    }
    write() {
      return G.encodeUTF8(this.userID);
    }
    equals(t) {
      return t && t.userID === this.userID;
    }
  }
  class Pg extends Ig {
    static get tag() {
      return k.packet.secretSubkey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = ze) {
      super(t, r);
    }
  }
  class Ng {
    constructor(t) {
      this.packets = t || new Et();
    }
    write() {
      return this.packets.write();
    }
    armor(t = ze) {
      const r = this.packets.some(((n) => n.constructor.tag === gr.tag && n.version !== 6));
      return Ec(k.armor.signature, this.write(), void 0, void 0, void 0, r, t);
    }
    getSigningKeyIDs() {
      return this.packets.map(((t) => t.issuerKeyID));
    }
  }
  async function Pv(e, t) {
    const r = new Pg(e.date, t);
    return r.packets = null, r.algorithm = k.write(k.publicKey, e.algorithm), await r.generate(e.rsaBits, e.curve), await r.computeFingerprintAndKeyID(), r;
  }
  async function Qn(e, t, r, n, a = /* @__PURE__ */ new Date(), i) {
    let s, l;
    for (let u = e.length - 1; u >= 0; u--) try {
      (!s || e[u].created >= s.created) && (await e[u].verify(t, r, n, a, void 0, i), s = e[u]);
    } catch (x) {
      l = x;
    }
    if (!s) throw G.wrapError(`Could not find valid ${k.read(k.signature, r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ", "self-").replace(/([a-z])([A-Z])/g, ((u, x, d) => x + " " + d.toLowerCase())), l);
    return s;
  }
  function Cp(e, t, r = /* @__PURE__ */ new Date()) {
    const n = G.normalizeDate(r);
    if (n !== null) {
      const a = Xx(e, t);
      return !(e.created <= n && n < a);
    }
    return false;
  }
  async function Nv(e, t, r, n) {
    const a = {};
    a.key = t, a.bind = e;
    const i = {
      signatureType: k.signature.subkeyBinding
    };
    return r.sign ? (i.keyFlags = [
      k.keyFlags.signData
    ], i.embeddedSignature = await Qo(a, [], e, {
      signatureType: k.signature.keyBinding
    }, r.date, void 0, void 0, void 0, n)) : i.keyFlags = [
      k.keyFlags.encryptCommunication | k.keyFlags.encryptStorage
    ], r.keyExpirationTime > 0 && (i.keyExpirationTime = r.keyExpirationTime, i.keyNeverExpires = false), await Qo(a, [], t, i, r.date, void 0, void 0, void 0, n);
  }
  async function jv(e, t, r = /* @__PURE__ */ new Date(), n = [], a) {
    const i = k.hash.sha256, s = a.preferredHashAlgorithm, l = await Promise.all(e.map((async (f, m) => (await f.getPrimarySelfSignature(r, n[m], a)).preferredHashAlgorithms || []))), u = /* @__PURE__ */ new Map();
    for (const f of l) for (const m of f) try {
      const p = k.write(k.hash, m);
      u.set(p, u.has(p) ? u.get(p) + 1 : 1);
    } catch {
    }
    const x = (f) => e.length === 0 || u.get(f) === e.length || f === i, d = () => {
      if (u.size === 0) return i;
      const f = Array.from(u.keys()).filter(((m) => x(m))).sort(((m, p) => Xt(m) - Xt(p)))[0];
      return Xt(f) >= Xt(i) ? f : i;
    };
    if ((/* @__PURE__ */ new Set([
      k.publicKey.ecdsa,
      k.publicKey.eddsaLegacy,
      k.publicKey.ed25519,
      k.publicKey.ed448
    ])).has(t.algorithm)) {
      const f = (function(g, E) {
        switch (g) {
          case k.publicKey.ecdsa:
          case k.publicKey.eddsaLegacy:
            return lg(E);
          case k.publicKey.ed25519:
          case k.publicKey.ed448:
            return pd(g);
          default:
            throw Error("Unknown elliptic signing algo");
        }
      })(t.algorithm, t.publicParams.oid), m = x(s), p = Xt(s) >= Xt(f);
      if (m && p) return s;
      {
        const g = d();
        return Xt(g) >= Xt(f) ? g : f;
      }
    }
    return x(s) ? s : d();
  }
  async function Qo(e, t, r, n, a, i, s = [], l = false, u) {
    if (r.isDummy()) throw Error("Cannot sign with a gnu-dummy key.");
    if (!r.isDecrypted()) throw Error("Signing key is not decrypted.");
    const x = new gr();
    return Object.assign(x, n), x.publicKeyAlgorithm = r.algorithm, x.hashAlgorithm = await jv(t, r, a, i, u), x.rawNotations = [
      ...s
    ], await x.sign(r, e, a, l, u), x;
  }
  async function Mo(e, t, r, n = /* @__PURE__ */ new Date(), a) {
    (e = e[r]) && (t[r].length ? await Promise.all(e.map((async function(i) {
      i.isExpired(n) || a && !await a(i) || t[r].some((function(s) {
        return G.equalsUint8Array(s.writeParams(), i.writeParams());
      })) || t[r].push(i);
    }))) : t[r] = e);
  }
  async function l0(e, t, r, n, a, i, s = /* @__PURE__ */ new Date(), l) {
    i = i || e;
    const u = [];
    return await Promise.all(n.map((async function(x) {
      try {
        if (!a || x.issuerKeyID.equals(a.issuerKeyID)) {
          const d = ![
            k.reasonForRevocation.keyRetired,
            k.reasonForRevocation.keySuperseded,
            k.reasonForRevocation.userIDInvalid
          ].includes(x.reasonForRevocationFlag);
          await x.verify(i, t, r, d ? null : s, false, l), u.push(x.issuerKeyID);
        }
      } catch {
      }
    }))), a ? (a.revoked = !!u.some(((x) => x.equals(a.issuerKeyID))) || a.revoked || false, a.revoked) : u.length > 0;
  }
  function Xx(e, t) {
    let r;
    return t.keyNeverExpires === false && (r = e.created.getTime() + 1e3 * t.keyExpirationTime), r ? new Date(r) : 1 / 0;
  }
  function zv(e, t = {}) {
    switch (e.type = e.type || t.type, e.curve = e.curve || t.curve, e.rsaBits = e.rsaBits || t.rsaBits, e.keyExpirationTime = e.keyExpirationTime !== void 0 ? e.keyExpirationTime : t.keyExpirationTime, e.passphrase = G.isString(e.passphrase) ? e.passphrase : t.passphrase, e.date = e.date || t.date, e.sign = e.sign || false, e.type) {
      case "ecc":
        try {
          e.curve = k.write(k.curve, e.curve);
        } catch {
          throw Error("Unknown curve");
        }
        e.curve !== k.curve.ed25519Legacy && e.curve !== k.curve.curve25519Legacy && e.curve !== "ed25519" && e.curve !== "curve25519" || (e.curve = e.sign ? k.curve.ed25519Legacy : k.curve.curve25519Legacy), e.sign ? e.algorithm = e.curve === k.curve.ed25519Legacy ? k.publicKey.eddsaLegacy : k.publicKey.ecdsa : e.algorithm = k.publicKey.ecdh;
        break;
      case "curve25519":
        e.algorithm = e.sign ? k.publicKey.ed25519 : k.publicKey.x25519;
        break;
      case "curve448":
        e.algorithm = e.sign ? k.publicKey.ed448 : k.publicKey.x448;
        break;
      case "rsa":
        e.algorithm = k.publicKey.rsaEncryptSign;
        break;
      default:
        throw Error("Unsupported key type " + e.type);
    }
    return e;
  }
  function Q3(e, t, r) {
    switch (e.algorithm) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaSign:
      case k.publicKey.dsa:
      case k.publicKey.ecdsa:
      case k.publicKey.eddsaLegacy:
      case k.publicKey.ed25519:
      case k.publicKey.ed448:
        if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
        return !t.keyFlags || !!(t.keyFlags[0] & k.keyFlags.signData);
      default:
        return false;
    }
  }
  function G3(e, t, r) {
    switch (e.algorithm) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaEncrypt:
      case k.publicKey.elgamal:
      case k.publicKey.ecdh:
      case k.publicKey.x25519:
      case k.publicKey.x448:
        if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
        return !t.keyFlags || !!(t.keyFlags[0] & k.keyFlags.encryptCommunication) || !!(t.keyFlags[0] & k.keyFlags.encryptStorage);
      default:
        return false;
    }
  }
  function q3(e, t, r) {
    if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
    switch (e.algorithm) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaEncrypt:
      case k.publicKey.elgamal:
      case k.publicKey.ecdh:
      case k.publicKey.x25519:
      case k.publicKey.x448:
        return !(!(!t.keyFlags || t.keyFlags[0] & k.keyFlags.signData) || !r.allowInsecureDecryptionWithSigningKeys) || !t.keyFlags || !!(t.keyFlags[0] & k.keyFlags.encryptCommunication) || !!(t.keyFlags[0] & k.keyFlags.encryptStorage);
      default:
        return false;
    }
  }
  function So(e, t) {
    const r = k.write(k.publicKey, e.algorithm), n = e.getAlgorithmInfo();
    if (t.rejectPublicKeyAlgorithms.has(r)) throw Error(n.algorithm + " keys are considered too weak.");
    switch (r) {
      case k.publicKey.rsaEncryptSign:
      case k.publicKey.rsaSign:
      case k.publicKey.rsaEncrypt:
        if (n.bits < t.minRSABits) throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);
        break;
      case k.publicKey.ecdsa:
      case k.publicKey.eddsaLegacy:
      case k.publicKey.ecdh:
        if (t.rejectCurves.has(n.curve)) throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`);
    }
  }
  class Hl {
    constructor(t, r) {
      this.userID = t.constructor.tag === k.packet.userID ? t : null, this.userAttribute = t.constructor.tag === k.packet.userAttribute ? t : null, this.selfCertifications = [], this.otherCertifications = [], this.revocationSignatures = [], this.mainKey = r;
    }
    toPacketList() {
      const t = new Et();
      return t.push(this.userID || this.userAttribute), t.push(...this.revocationSignatures), t.push(...this.selfCertifications), t.push(...this.otherCertifications), t;
    }
    clone() {
      const t = new Hl(this.userID || this.userAttribute, this.mainKey);
      return t.selfCertifications = [
        ...this.selfCertifications
      ], t.otherCertifications = [
        ...this.otherCertifications
      ], t.revocationSignatures = [
        ...this.revocationSignatures
      ], t;
    }
    async certify(t, r, n) {
      const a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      }, s = new Hl(i.userID || i.userAttribute, this.mainKey);
      return s.otherCertifications = await Promise.all(t.map((async function(l) {
        if (!l.isPrivate()) throw Error("Need private key for signing");
        if (l.hasSameFingerprintAs(a)) throw Error("The user's own key can only be used for self-certifications");
        const u = await l.getSigningKey(void 0, r, void 0, n);
        return Qo(i, [
          l
        ], u.keyPacket, {
          signatureType: k.signature.certGeneric,
          keyFlags: [
            k.keyFlags.certifyKeys | k.keyFlags.signData
          ]
        }, r, void 0, void 0, void 0, n);
      }))), await s.update(this, r, n), s;
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = ze) {
      const i = this.mainKey.keyPacket;
      return l0(i, k.signature.certRevocation, {
        key: i,
        userID: this.userID,
        userAttribute: this.userAttribute
      }, this.revocationSignatures, t, r, n, a);
    }
    async verifyCertificate(t, r, n = /* @__PURE__ */ new Date(), a) {
      const i = this, s = this.mainKey.keyPacket, l = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: s
      }, { issuerKeyID: u } = t, x = r.filter(((d) => d.getKeys(u).length > 0));
      return x.length === 0 ? null : (await Promise.all(x.map((async (d) => {
        const f = await d.getSigningKey(u, t.created, void 0, a);
        if (t.revoked || await i.isRevoked(t, f.keyPacket, n, a)) throw Error("User certificate is revoked");
        try {
          await t.verify(f.keyPacket, k.signature.certGeneric, l, n, void 0, a);
        } catch (m) {
          throw G.wrapError("User certificate is invalid", m);
        }
      }))), true);
    }
    async verifyAllCertifications(t, r = /* @__PURE__ */ new Date(), n) {
      const a = this, i = this.selfCertifications.concat(this.otherCertifications);
      return Promise.all(i.map((async (s) => ({
        keyID: s.issuerKeyID,
        valid: await a.verifyCertificate(s, t, r, n).catch((() => false))
      }))));
    }
    async verify(t = /* @__PURE__ */ new Date(), r) {
      if (!this.selfCertifications.length) throw Error("No self-certifications found");
      const n = this, a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      };
      let s;
      for (let l = this.selfCertifications.length - 1; l >= 0; l--) try {
        const u = this.selfCertifications[l];
        if (u.revoked || await n.isRevoked(u, void 0, t, r)) throw Error("Self-certification is revoked");
        try {
          await u.verify(a, k.signature.certGeneric, i, t, void 0, r);
        } catch (x) {
          throw G.wrapError("Self-certification is invalid", x);
        }
        return true;
      } catch (u) {
        s = u;
      }
      throw s;
    }
    async update(t, r, n) {
      const a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      };
      await Mo(t, this, "selfCertifications", r, (async function(s) {
        try {
          return await s.verify(a, k.signature.certGeneric, i, r, false, n), true;
        } catch {
          return false;
        }
      })), await Mo(t, this, "otherCertifications", r), await Mo(t, this, "revocationSignatures", r, (function(s) {
        return l0(a, k.signature.certRevocation, i, [
          s
        ], void 0, void 0, r, n);
      }));
    }
    async revoke(t, { flag: r = k.reasonForRevocation.noReason, string: n = "" } = {}, a = /* @__PURE__ */ new Date(), i = ze) {
      const s = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: t
      }, l = new Hl(s.userID || s.userAttribute, this.mainKey);
      return l.revocationSignatures.push(await Qo(s, [], t, {
        signatureType: k.signature.certRevocation,
        reasonForRevocationFlag: k.write(k.reasonForRevocation, r),
        reasonForRevocationString: n
      }, a, void 0, void 0, false, i)), await l.update(this), l;
    }
  }
  class c0 {
    constructor(t, r) {
      this.keyPacket = t, this.bindingSignatures = [], this.revocationSignatures = [], this.mainKey = r;
    }
    toPacketList() {
      const t = new Et();
      return t.push(this.keyPacket), t.push(...this.revocationSignatures), t.push(...this.bindingSignatures), t;
    }
    clone() {
      const t = new c0(this.keyPacket, this.mainKey);
      return t.bindingSignatures = [
        ...this.bindingSignatures
      ], t.revocationSignatures = [
        ...this.revocationSignatures
      ], t;
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = ze) {
      const i = this.mainKey.keyPacket;
      return l0(i, k.signature.subkeyRevocation, {
        key: i,
        bind: this.keyPacket
      }, this.revocationSignatures, t, r, n, a);
    }
    async verify(t = /* @__PURE__ */ new Date(), r = ze) {
      const n = this.mainKey.keyPacket, a = {
        key: n,
        bind: this.keyPacket
      }, i = await Qn(this.bindingSignatures, n, k.signature.subkeyBinding, a, t, r);
      if (i.revoked || await this.isRevoked(i, null, t, r)) throw Error("Subkey is revoked");
      if (Cp(this.keyPacket, i, t)) throw Error("Subkey is expired");
      return i;
    }
    async getExpirationTime(t = /* @__PURE__ */ new Date(), r = ze) {
      const n = this.mainKey.keyPacket, a = {
        key: n,
        bind: this.keyPacket
      };
      let i;
      try {
        i = await Qn(this.bindingSignatures, n, k.signature.subkeyBinding, a, t, r);
      } catch {
        return null;
      }
      const s = Xx(this.keyPacket, i), l = i.getExpirationTime();
      return s < l ? s : l;
    }
    async update(t, r = /* @__PURE__ */ new Date(), n = ze) {
      const a = this.mainKey.keyPacket;
      if (!this.hasSameFingerprintAs(t)) throw Error("Subkey update method: fingerprints of subkeys not equal");
      this.keyPacket.constructor.tag === k.packet.publicSubkey && t.keyPacket.constructor.tag === k.packet.secretSubkey && (this.keyPacket = t.keyPacket);
      const i = this, s = {
        key: a,
        bind: i.keyPacket
      };
      await Mo(t, this, "bindingSignatures", r, (async function(l) {
        for (let u = 0; u < i.bindingSignatures.length; u++) if (i.bindingSignatures[u].issuerKeyID.equals(l.issuerKeyID)) return l.created > i.bindingSignatures[u].created && (i.bindingSignatures[u] = l), false;
        try {
          return await l.verify(a, k.signature.subkeyBinding, s, r, void 0, n), true;
        } catch {
          return false;
        }
      })), await Mo(t, this, "revocationSignatures", r, (function(l) {
        return l0(a, k.signature.subkeyRevocation, s, [
          l
        ], void 0, void 0, r, n);
      }));
    }
    async revoke(t, { flag: r = k.reasonForRevocation.noReason, string: n = "" } = {}, a = /* @__PURE__ */ new Date(), i = ze) {
      const s = {
        key: t,
        bind: this.keyPacket
      }, l = new c0(this.keyPacket, this.mainKey);
      return l.revocationSignatures.push(await Qo(s, [], t, {
        signatureType: k.signature.subkeyRevocation,
        reasonForRevocationFlag: k.write(k.reasonForRevocation, r),
        reasonForRevocationString: n
      }, a, void 0, void 0, false, i)), await l.update(this), l;
    }
    hasSameFingerprintAs(t) {
      return this.keyPacket.hasSameFingerprintAs(t.keyPacket || t);
    }
  }
  [
    "getKeyID",
    "getFingerprint",
    "getAlgorithmInfo",
    "getCreationTime",
    "isDecrypted"
  ].forEach(((e) => {
    c0.prototype[e] = function() {
      return this.keyPacket[e]();
    };
  }));
  const Uv = G.constructAllowedPackets([
    gr
  ]), V3 = /* @__PURE__ */ new Set([
    k.packet.publicKey,
    k.packet.privateKey
  ]), W3 = /* @__PURE__ */ new Set([
    k.packet.publicKey,
    k.packet.privateKey,
    k.packet.publicSubkey,
    k.packet.privateSubkey
  ]);
  class jg {
    packetListToStructure(t, r = /* @__PURE__ */ new Set()) {
      let n, a, i, s;
      for (const l of t) {
        if (l instanceof sp) {
          W3.has(l.tag) && !s && (s = V3.has(l.tag) ? V3 : W3);
          continue;
        }
        const u = l.constructor.tag;
        if (s) {
          if (!s.has(u)) continue;
          s = null;
        }
        if (r.has(u)) throw Error("Unexpected packet type: " + u);
        switch (u) {
          case k.packet.publicKey:
          case k.packet.secretKey:
            if (this.keyPacket) throw Error("Key block contains multiple keys");
            if (this.keyPacket = l, a = this.getKeyID(), !a) throw Error("Missing Key ID");
            break;
          case k.packet.userID:
          case k.packet.userAttribute:
            n = new Hl(l, this), this.users.push(n);
            break;
          case k.packet.publicSubkey:
          case k.packet.secretSubkey:
            n = null, i = new c0(l, this), this.subkeys.push(i);
            break;
          case k.packet.signature:
            switch (l.signatureType) {
              case k.signature.certGeneric:
              case k.signature.certPersona:
              case k.signature.certCasual:
              case k.signature.certPositive:
                if (!n) {
                  G.printDebug("Dropping certification signatures without preceding user packet");
                  continue;
                }
                l.issuerKeyID.equals(a) ? n.selfCertifications.push(l) : n.otherCertifications.push(l);
                break;
              case k.signature.certRevocation:
                n ? n.revocationSignatures.push(l) : this.directSignatures.push(l);
                break;
              case k.signature.key:
                this.directSignatures.push(l);
                break;
              case k.signature.subkeyBinding:
                if (!i) {
                  G.printDebug("Dropping subkey binding signature without preceding subkey packet");
                  continue;
                }
                i.bindingSignatures.push(l);
                break;
              case k.signature.keyRevocation:
                this.revocationSignatures.push(l);
                break;
              case k.signature.subkeyRevocation:
                if (!i) {
                  G.printDebug("Dropping subkey revocation signature without preceding subkey packet");
                  continue;
                }
                i.revocationSignatures.push(l);
            }
        }
      }
    }
    toPacketList() {
      const t = new Et();
      return t.push(this.keyPacket), t.push(...this.revocationSignatures), t.push(...this.directSignatures), this.users.map(((r) => t.push(...r.toPacketList()))), this.subkeys.map(((r) => t.push(...r.toPacketList()))), t;
    }
    clone(t = false) {
      const r = new this.constructor(this.toPacketList());
      return t && r.getKeys().forEach(((n) => {
        if (n.keyPacket = Object.create(Object.getPrototypeOf(n.keyPacket), Object.getOwnPropertyDescriptors(n.keyPacket)), !n.keyPacket.isDecrypted()) return;
        const a = {};
        Object.keys(n.keyPacket.privateParams).forEach(((i) => {
          a[i] = new Uint8Array(n.keyPacket.privateParams[i]);
        })), n.keyPacket.privateParams = a;
      })), r;
    }
    getSubkeys(t = null) {
      return this.subkeys.filter(((r) => !t || r.getKeyID().equals(t, true)));
    }
    getKeys(t = null) {
      const r = [];
      return t && !this.getKeyID().equals(t, true) || r.push(this), r.concat(this.getSubkeys(t));
    }
    getKeyIDs() {
      return this.getKeys().map(((t) => t.getKeyID()));
    }
    getUserIDs() {
      return this.users.map(((t) => t.userID ? t.userID.userID : null)).filter(((t) => t !== null));
    }
    write() {
      return this.toPacketList().write();
    }
    async getSigningKey(t = null, r = /* @__PURE__ */ new Date(), n = {}, a = ze) {
      await this.verifyPrimaryKey(r, n, a);
      const i = this.keyPacket;
      try {
        So(i, a);
      } catch (u) {
        throw G.wrapError("Could not verify primary key", u);
      }
      const s = this.subkeys.slice().sort(((u, x) => x.keyPacket.created - u.keyPacket.created || x.keyPacket.algorithm - u.keyPacket.algorithm));
      let l;
      for (const u of s) if (!t || u.getKeyID().equals(t)) try {
        await u.verify(r, a);
        const x = {
          key: i,
          bind: u.keyPacket
        }, d = await Qn(u.bindingSignatures, i, k.signature.subkeyBinding, x, r, a);
        if (!Q3(u.keyPacket, d, a)) continue;
        if (!d.embeddedSignature) throw Error("Missing embedded signature");
        return await Qn([
          d.embeddedSignature
        ], u.keyPacket, k.signature.keyBinding, x, r, a), So(u.keyPacket, a), u;
      } catch (x) {
        l = x;
      }
      try {
        const u = await this.getPrimarySelfSignature(r, n, a);
        if ((!t || i.getKeyID().equals(t)) && Q3(i, u, a)) return So(i, a), this;
      } catch (u) {
        l = u;
      }
      throw G.wrapError("Could not find valid signing key packet in key " + this.getKeyID().toHex(), l);
    }
    async getEncryptionKey(t, r = /* @__PURE__ */ new Date(), n = {}, a = ze) {
      await this.verifyPrimaryKey(r, n, a);
      const i = this.keyPacket;
      try {
        So(i, a);
      } catch (u) {
        throw G.wrapError("Could not verify primary key", u);
      }
      const s = this.subkeys.slice().sort(((u, x) => x.keyPacket.created - u.keyPacket.created || x.keyPacket.algorithm - u.keyPacket.algorithm));
      let l;
      for (const u of s) if (!t || u.getKeyID().equals(t)) try {
        await u.verify(r, a);
        const x = {
          key: i,
          bind: u.keyPacket
        }, d = await Qn(u.bindingSignatures, i, k.signature.subkeyBinding, x, r, a);
        if (G3(u.keyPacket, d, a)) return So(u.keyPacket, a), u;
      } catch (x) {
        l = x;
      }
      try {
        const u = await this.getPrimarySelfSignature(r, n, a);
        if ((!t || i.getKeyID().equals(t)) && G3(i, u, a)) return So(i, a), this;
      } catch (u) {
        l = u;
      }
      throw G.wrapError("Could not find valid encryption key packet in key " + this.getKeyID().toHex(), l);
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = ze) {
      return l0(this.keyPacket, k.signature.keyRevocation, {
        key: this.keyPacket
      }, this.revocationSignatures, t, r, n, a);
    }
    async verifyPrimaryKey(t = /* @__PURE__ */ new Date(), r = {}, n = ze) {
      const a = this.keyPacket;
      if (await this.isRevoked(null, null, t, n)) throw Error("Primary key is revoked");
      if (Cp(a, await this.getPrimarySelfSignature(t, r, n), t)) throw Error("Primary key is expired");
      if (a.version !== 6) {
        const i = await Qn(this.directSignatures, a, k.signature.key, {
          key: a
        }, t, n).catch((() => {
        }));
        if (i && Cp(a, i, t)) throw Error("Primary key is expired");
      }
    }
    async getExpirationTime(t, r = ze) {
      let n;
      try {
        const a = await this.getPrimarySelfSignature(null, t, r), i = Xx(this.keyPacket, a), s = a.getExpirationTime(), l = this.keyPacket.version !== 6 && await Qn(this.directSignatures, this.keyPacket, k.signature.key, {
          key: this.keyPacket
        }, null, r).catch((() => {
        }));
        if (l) {
          const u = Xx(this.keyPacket, l);
          n = Math.min(i, s, u);
        } else n = i < s ? i : s;
      } catch {
        n = null;
      }
      return G.normalizeDate(n);
    }
    async getPrimarySelfSignature(t = /* @__PURE__ */ new Date(), r = {}, n = ze) {
      const a = this.keyPacket;
      if (a.version === 6) return Qn(this.directSignatures, a, k.signature.key, {
        key: a
      }, t, n);
      const { selfCertification: i } = await this.getPrimaryUser(t, r, n);
      return i;
    }
    async getPrimaryUser(t = /* @__PURE__ */ new Date(), r = {}, n = ze) {
      const a = this.keyPacket, i = [];
      let s;
      for (let d = 0; d < this.users.length; d++) try {
        const f = this.users[d];
        if (!f.userID) continue;
        if (r.name !== void 0 && f.userID.name !== r.name || r.email !== void 0 && f.userID.email !== r.email || r.comment !== void 0 && f.userID.comment !== r.comment) throw Error("Could not find user that matches that user ID");
        const m = {
          userID: f.userID,
          key: a
        }, p = await Qn(f.selfCertifications, a, k.signature.certGeneric, m, t, n);
        i.push({
          index: d,
          user: f,
          selfCertification: p
        });
      } catch (f) {
        s = f;
      }
      if (!i.length) throw s || Error("Could not find primary user");
      await Promise.all(i.map((async (d) => {
        d.selfCertification.revoked || await d.user.isRevoked(d.selfCertification, null, t, n);
      })));
      const l = i.sort((function(d, f) {
        const m = d.selfCertification, p = f.selfCertification;
        return p.revoked - m.revoked || m.isPrimaryUserID - p.isPrimaryUserID || m.created - p.created;
      })).pop(), { user: u, selfCertification: x } = l;
      if (x.revoked || await u.isRevoked(x, null, t, n)) throw Error("Primary user is revoked");
      return l;
    }
    async update(t, r = /* @__PURE__ */ new Date(), n = ze) {
      if (!this.hasSameFingerprintAs(t)) throw Error("Primary key fingerprints must be equal to update the key");
      if (!this.isPrivate() && t.isPrivate()) {
        if (!(this.subkeys.length === t.subkeys.length && this.subkeys.every(((i) => t.subkeys.some(((s) => i.hasSameFingerprintAs(s))))))) throw Error("Cannot update public key with private key if subkeys mismatch");
        return t.update(this, n);
      }
      const a = this.clone();
      return await Mo(t, a, "revocationSignatures", r, ((i) => l0(a.keyPacket, k.signature.keyRevocation, a, [
        i
      ], null, t.keyPacket, r, n))), await Mo(t, a, "directSignatures", r), await Promise.all(t.users.map((async (i) => {
        const s = a.users.filter(((l) => i.userID && i.userID.equals(l.userID) || i.userAttribute && i.userAttribute.equals(l.userAttribute)));
        if (s.length > 0) await Promise.all(s.map(((l) => l.update(i, r, n))));
        else {
          const l = i.clone();
          l.mainKey = a, a.users.push(l);
        }
      }))), await Promise.all(t.subkeys.map((async (i) => {
        const s = a.subkeys.filter(((l) => l.hasSameFingerprintAs(i)));
        if (s.length > 0) await Promise.all(s.map(((l) => l.update(i, r, n))));
        else {
          const l = i.clone();
          l.mainKey = a, a.subkeys.push(l);
        }
      }))), a;
    }
    async getRevocationCertificate(t = /* @__PURE__ */ new Date(), r = ze) {
      const n = {
        key: this.keyPacket
      }, a = await Qn(this.revocationSignatures, this.keyPacket, k.signature.keyRevocation, n, t, r), i = new Et();
      i.push(a);
      const s = this.keyPacket.version !== 6;
      return Ec(k.armor.publicKey, i.write(), null, null, "This is a revocation certificate", s, r);
    }
    async applyRevocationCertificate(t, r = /* @__PURE__ */ new Date(), n = ze) {
      const a = await yc(t), i = (await Et.fromBinary(a.data, Uv, n)).findPacket(k.packet.signature);
      if (!i || i.signatureType !== k.signature.keyRevocation) throw Error("Could not find revocation signature packet");
      if (!i.issuerKeyID.equals(this.getKeyID())) throw Error("Revocation signature does not match key");
      try {
        await i.verify(this.keyPacket, k.signature.keyRevocation, {
          key: this.keyPacket
        }, r, void 0, n);
      } catch (l) {
        throw G.wrapError("Could not verify revocation signature", l);
      }
      const s = this.clone();
      return s.revocationSignatures.push(i), s;
    }
    async signPrimaryUser(t, r, n, a = ze) {
      const { index: i, user: s } = await this.getPrimaryUser(r, n, a), l = await s.certify(t, r, a), u = this.clone();
      return u.users[i] = l, u;
    }
    async signAllUsers(t, r = /* @__PURE__ */ new Date(), n = ze) {
      const a = this.clone();
      return a.users = await Promise.all(this.users.map((function(i) {
        return i.certify(t, r, n);
      }))), a;
    }
    async verifyPrimaryUser(t, r = /* @__PURE__ */ new Date(), n, a = ze) {
      const i = this.keyPacket, { user: s } = await this.getPrimaryUser(r, n, a);
      return t ? await s.verifyAllCertifications(t, r, a) : [
        {
          keyID: i.getKeyID(),
          valid: await s.verify(r, a).catch((() => false))
        }
      ];
    }
    async verifyAllUsers(t, r = /* @__PURE__ */ new Date(), n = ze) {
      const a = this.keyPacket, i = [];
      return await Promise.all(this.users.map((async (s) => {
        const l = t ? await s.verifyAllCertifications(t, r, n) : [
          {
            keyID: a.getKeyID(),
            valid: await s.verify(r, n).catch((() => false))
          }
        ];
        i.push(...l.map(((u) => ({
          userID: s.userID ? s.userID.userID : null,
          userAttribute: s.userAttribute,
          keyID: u.keyID,
          valid: u.valid
        }))));
      }))), i;
    }
  }
  [
    "getKeyID",
    "getFingerprint",
    "getAlgorithmInfo",
    "getCreationTime",
    "hasSameFingerprintAs"
  ].forEach(((e) => {
    jg.prototype[e] = c0.prototype[e];
  }));
  class kp extends jg {
    constructor(t) {
      if (super(), this.keyPacket = null, this.revocationSignatures = [], this.directSignatures = [], this.users = [], this.subkeys = [], t && (this.packetListToStructure(t, /* @__PURE__ */ new Set([
        k.packet.secretKey,
        k.packet.secretSubkey
      ])), !this.keyPacket)) throw Error("Invalid key: missing public-key packet");
    }
    isPrivate() {
      return false;
    }
    toPublic() {
      return this;
    }
    armor(t = ze) {
      const r = this.keyPacket.version !== 6;
      return Ec(k.armor.publicKey, this.toPacketList().write(), void 0, void 0, void 0, r, t);
    }
  }
  class _d extends kp {
    constructor(t) {
      if (super(), this.packetListToStructure(t, /* @__PURE__ */ new Set([
        k.packet.publicKey,
        k.packet.publicSubkey
      ])), !this.keyPacket) throw Error("Invalid key: missing private-key packet");
    }
    isPrivate() {
      return true;
    }
    toPublic() {
      const t = new Et(), r = this.toPacketList();
      for (const n of r) switch (n.constructor.tag) {
        case k.packet.secretKey: {
          const a = Aa.fromSecretKeyPacket(n);
          t.push(a);
          break;
        }
        case k.packet.secretSubkey: {
          const a = Fd.fromSecretSubkeyPacket(n);
          t.push(a);
          break;
        }
        default:
          t.push(n);
      }
      return new kp(t);
    }
    armor(t = ze) {
      const r = this.keyPacket.version !== 6;
      return Ec(k.armor.privateKey, this.toPacketList().write(), void 0, void 0, void 0, r, t);
    }
    async getDecryptionKeys(t, r = /* @__PURE__ */ new Date(), n = {}, a = ze) {
      const i = this.keyPacket, s = [];
      let l = null;
      for (let x = 0; x < this.subkeys.length; x++) if (!t || this.subkeys[x].getKeyID().equals(t, true)) {
        if (this.subkeys[x].keyPacket.isDummy()) {
          l = l || Error("Gnu-dummy key packets cannot be used for decryption");
          continue;
        }
        try {
          const d = {
            key: i,
            bind: this.subkeys[x].keyPacket
          }, f = await Qn(this.subkeys[x].bindingSignatures, i, k.signature.subkeyBinding, d, r, a);
          q3(this.subkeys[x].keyPacket, f, a) && s.push(this.subkeys[x]);
        } catch (d) {
          l = d;
        }
      }
      const u = await this.getPrimarySelfSignature(r, n, a);
      if (t && !i.getKeyID().equals(t, true) || !q3(i, u, a) || (i.isDummy() ? l = l || Error("Gnu-dummy key packets cannot be used for decryption") : s.push(this)), s.length === 0) throw l || Error("No decryption key packets found");
      return s;
    }
    isDecrypted() {
      return this.getKeys().some((({ keyPacket: t }) => t.isDecrypted()));
    }
    async validate(t = ze) {
      if (!this.isPrivate()) throw Error("Cannot validate a public key");
      let r;
      if (this.keyPacket.isDummy()) {
        const n = await this.getSigningKey(null, null, void 0, {
          ...t,
          rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set(),
          minRSABits: 0
        });
        n && !n.keyPacket.isDummy() && (r = n.keyPacket);
      } else r = this.keyPacket;
      if (r) return r.validate();
      {
        const n = this.getKeys();
        if (n.map(((a) => a.keyPacket.isDummy())).every(Boolean)) throw Error("Cannot validate an all-gnu-dummy key");
        return Promise.all(n.map(((a) => a.keyPacket.validate())));
      }
    }
    clearPrivateParams() {
      this.getKeys().forEach((({ keyPacket: t }) => {
        t.isDecrypted() && t.clearPrivateParams();
      }));
    }
    async revoke({ flag: t = k.reasonForRevocation.noReason, string: r = "" } = {}, n = /* @__PURE__ */ new Date(), a = ze) {
      if (!this.isPrivate()) throw Error("Need private key for revoking");
      const i = {
        key: this.keyPacket
      }, s = this.clone();
      return s.revocationSignatures.push(await Qo(i, [], this.keyPacket, {
        signatureType: k.signature.keyRevocation,
        reasonForRevocationFlag: k.write(k.reasonForRevocation, t),
        reasonForRevocationString: r
      }, n, void 0, void 0, void 0, a)), s;
    }
    async addSubkey(t = {}) {
      const r = {
        ...ze,
        ...t.config
      };
      if (t.passphrase) throw Error("Subkey could not be encrypted here, please encrypt whole key");
      if (t.rsaBits < r.minRSABits) throw Error(`rsaBits should be at least ${r.minRSABits}, got: ${t.rsaBits}`);
      const n = this.keyPacket;
      if (n.isDummy()) throw Error("Cannot add subkey to gnu-dummy primary key");
      if (!n.isDecrypted()) throw Error("Key is not decrypted");
      const a = n.getAlgorithmInfo();
      a.type = (function(u) {
        switch (k.write(k.publicKey, u)) {
          case k.publicKey.rsaEncrypt:
          case k.publicKey.rsaEncryptSign:
          case k.publicKey.rsaSign:
          case k.publicKey.dsa:
            return "rsa";
          case k.publicKey.ecdsa:
          case k.publicKey.eddsaLegacy:
            return "ecc";
          case k.publicKey.ed25519:
            return "curve25519";
          case k.publicKey.ed448:
            return "curve448";
          default:
            throw Error("Unsupported algorithm");
        }
      })(a.algorithm), a.rsaBits = a.bits || 4096, a.curve = a.curve || "curve25519Legacy", t = zv(t, a);
      const i = await Pv(t, {
        ...r,
        v6Keys: this.keyPacket.version === 6
      });
      So(i, r);
      const s = await Nv(i, n, t, r), l = this.toPacketList();
      return l.push(i, s), new _d(l);
    }
  }
  const zg = G.constructAllowedPackets([
    Aa,
    Fd,
    Ig,
    Pg,
    B8,
    v8,
    gr
  ]);
  function Rv(e) {
    for (const t of e) switch (t.constructor.tag) {
      case k.packet.secretKey:
        return new _d(e);
      case k.packet.publicKey:
        return new kp(e);
    }
    throw Error("No key packet found");
  }
  async function Ug({ armoredKey: e, binaryKey: t, config: r, ...n }) {
    if (r = {
      ...ze,
      ...r
    }, !e && !t) throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");
    if (e && !G.isString(e)) throw Error("readKey: options.armoredKey must be a string");
    if (t && !G.isUint8Array(t)) throw Error("readKey: options.binaryKey must be a Uint8Array");
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    let i;
    if (e) {
      const { type: u, data: x } = await yc(e);
      if (u !== k.armor.publicKey && u !== k.armor.privateKey) throw Error("Armored text not of type key");
      i = x;
    } else i = t;
    const s = await Et.fromBinary(i, zg, r), l = s.indexOfTag(k.packet.publicKey, k.packet.secretKey);
    if (l.length === 0) throw Error("No key packet found");
    return Rv(s.slice(l[0], l[1]));
  }
  async function Tv({ armoredKey: e, binaryKey: t, config: r, ...n }) {
    if (r = {
      ...ze,
      ...r
    }, !e && !t) throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");
    if (e && !G.isString(e)) throw Error("readPrivateKey: options.armoredKey must be a string");
    if (t && !G.isUint8Array(t)) throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    let i;
    if (e) {
      const { type: u, data: x } = await yc(e);
      if (u !== k.armor.privateKey) throw Error("Armored text not of type private key");
      i = x;
    } else i = t;
    const s = await Et.fromBinary(i, zg, r), l = s.indexOfTag(k.packet.publicKey, k.packet.secretKey);
    for (let u = 0; u < l.length; u++) {
      if (s[l[u]].constructor.tag === k.packet.publicKey) continue;
      const x = s.slice(l[u], l[u + 1]);
      return new _d(x);
    }
    throw Error("No secret key packet found");
  }
  const Mv = G.constructAllowedPackets([
    m0,
    wc,
    _v,
    o0,
    Iv,
    ec,
    s0,
    Cn,
    gr
  ]), Kv = G.constructAllowedPackets([
    s0
  ]), Lv = G.constructAllowedPackets([
    gr
  ]);
  class bn {
    constructor(t) {
      this.packets = t || new Et();
    }
    getEncryptionKeyIDs() {
      const t = [];
      return this.packets.filterByTag(k.packet.publicKeyEncryptedSessionKey).forEach((function(r) {
        t.push(r.publicKeyID);
      })), t;
    }
    getSigningKeyIDs() {
      const t = this.unwrapCompressed(), r = t.packets.filterByTag(k.packet.onePassSignature);
      return r.length > 0 ? r.map(((n) => n.issuerKeyID)) : t.packets.filterByTag(k.packet.signature).map(((n) => n.issuerKeyID));
    }
    async decrypt(t, r, n, a = /* @__PURE__ */ new Date(), i = ze) {
      const s = this.packets.filterByTag(k.packet.symmetricallyEncryptedData, k.packet.symEncryptedIntegrityProtectedData, k.packet.aeadEncryptedData);
      if (s.length === 0) throw Error("No encrypted data found");
      const l = s[0], u = l.cipherAlgorithm, x = n || await this.decryptSessionKeys(t, r, u, a, i);
      let d = null;
      const f = Promise.all(x.map((async ({ algorithm: p, data: g }) => {
        if (!G.isUint8Array(g) || !l.cipherAlgorithm && !G.isString(p)) throw Error("Invalid session key for decryption.");
        try {
          const E = l.cipherAlgorithm || k.write(k.symmetric, p);
          await l.decrypt(E, g, i);
        } catch (E) {
          G.printDebugError(E), d = E;
        }
      })));
      if (np(l.encrypted), l.encrypted = null, await f, !l.packets || !l.packets.length) throw d || Error("Decryption failed.");
      const m = new bn(l.packets);
      return l.packets = new Et(), m;
    }
    async decryptSessionKeys(t, r, n, a = /* @__PURE__ */ new Date(), i = ze) {
      let s, l = [];
      if (r) {
        const u = this.packets.filterByTag(k.packet.symEncryptedSessionKey);
        if (u.length === 0) throw Error("No symmetrically encrypted session key packet found.");
        await Promise.all(r.map((async function(x, d) {
          let f;
          f = d ? await Et.fromBinary(u.write(), Kv, i) : u, await Promise.all(f.map((async function(m) {
            try {
              await m.decrypt(x), l.push(m);
            } catch (p) {
              G.printDebugError(p), p instanceof Bd && (s = p);
            }
          })));
        })));
      } else {
        if (!t) throw Error("No key or password specified.");
        {
          const u = this.packets.filterByTag(k.packet.publicKeyEncryptedSessionKey);
          if (u.length === 0) throw Error("No public key encrypted session key packet found.");
          await Promise.all(u.map((async function(x) {
            await Promise.all(t.map((async function(d) {
              let f;
              try {
                f = (await d.getDecryptionKeys(x.publicKeyID, null, void 0, i)).map(((p) => p.keyPacket));
              } catch (p) {
                return void (s = p);
              }
              let m = [
                k.symmetric.aes256,
                k.symmetric.aes128,
                k.symmetric.tripledes,
                k.symmetric.cast5
              ];
              try {
                const p = await d.getPrimarySelfSignature(a, void 0, i);
                p.preferredSymmetricAlgorithms && (m = m.concat(p.preferredSymmetricAlgorithms));
              } catch {
              }
              await Promise.all(f.map((async function(p) {
                if (!p.isDecrypted()) throw Error("Decryption key is not decrypted.");
                if (i.constantTimePKCS1Decryption && (x.publicKeyAlgorithm === k.publicKey.rsaEncrypt || x.publicKeyAlgorithm === k.publicKey.rsaEncryptSign || x.publicKeyAlgorithm === k.publicKey.rsaSign || x.publicKeyAlgorithm === k.publicKey.elgamal)) {
                  const g = x.write();
                  await Promise.all((n ? [
                    n
                  ] : Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map((async (E) => {
                    const A = new ec();
                    A.read(g);
                    const w = {
                      sessionKeyAlgorithm: E,
                      sessionKey: gp(E)
                    };
                    try {
                      await A.decrypt(p, w), l.push(A);
                    } catch (D) {
                      G.printDebugError(D), s = D;
                    }
                  })));
                } else try {
                  await x.decrypt(p);
                  const g = n || x.sessionKeyAlgorithm;
                  if (g && !m.includes(k.write(k.symmetric, g))) throw Error("A non-preferred symmetric algorithm was used.");
                  l.push(x);
                } catch (g) {
                  G.printDebugError(g), s = g;
                }
              })));
            }))), np(x.encrypted), x.encrypted = null;
          })));
        }
      }
      if (l.length > 0) {
        if (l.length > 1) {
          const u = /* @__PURE__ */ new Set();
          l = l.filter(((x) => {
            const d = x.sessionKeyAlgorithm + G.uint8ArrayToString(x.sessionKey);
            return !u.has(d) && (u.add(d), true);
          }));
        }
        return l.map(((u) => ({
          data: u.sessionKey,
          algorithm: u.sessionKeyAlgorithm && k.read(k.symmetric, u.sessionKeyAlgorithm)
        })));
      }
      throw s || Error("Session key decryption failed.");
    }
    getLiteralData() {
      const t = this.unwrapCompressed().packets.findPacket(k.packet.literalData);
      return t && t.getBytes() || null;
    }
    getFilename() {
      const t = this.unwrapCompressed().packets.findPacket(k.packet.literalData);
      return t && t.getFilename() || null;
    }
    getText() {
      const t = this.unwrapCompressed().packets.findPacket(k.packet.literalData);
      return t ? t.getText() : null;
    }
    static async generateSessionKey(t = [], r = /* @__PURE__ */ new Date(), n = [], a = ze) {
      const { symmetricAlgo: i, aeadAlgo: s } = await (async function(x = [], d = /* @__PURE__ */ new Date(), f = [], m = ze) {
        const p = await Promise.all(x.map(((A, w) => A.getPrimarySelfSignature(d, f[w], m))));
        if (x.length ? p.every(((A) => A.features && A.features[0] & k.features.seipdv2)) : m.aeadProtect) {
          const A = {
            symmetricAlgo: k.symmetric.aes128,
            aeadAlgo: k.aead.ocb
          }, w = [
            {
              symmetricAlgo: m.preferredSymmetricAlgorithm,
              aeadAlgo: m.preferredAEADAlgorithm
            },
            {
              symmetricAlgo: m.preferredSymmetricAlgorithm,
              aeadAlgo: k.aead.ocb
            },
            {
              symmetricAlgo: k.symmetric.aes128,
              aeadAlgo: m.preferredAEADAlgorithm
            }
          ];
          for (const D of w) if (p.every(((B) => B.preferredCipherSuites && B.preferredCipherSuites.some(((v) => v[0] === D.symmetricAlgo && v[1] === D.aeadAlgo))))) return D;
          return A;
        }
        const g = k.symmetric.aes128, E = m.preferredSymmetricAlgorithm;
        return {
          symmetricAlgo: p.every(((A) => A.preferredSymmetricAlgorithms && A.preferredSymmetricAlgorithms.includes(E))) ? E : g,
          aeadAlgo: void 0
        };
      })(t, r, n, a), l = k.read(k.symmetric, i), u = s ? k.read(k.aead, s) : void 0;
      return await Promise.all(t.map(((x) => x.getEncryptionKey().catch((() => null)).then(((d) => {
        if (d && (d.keyPacket.algorithm === k.publicKey.x25519 || d.keyPacket.algorithm === k.publicKey.x448) && !u && !G.isAES(i)) throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.");
      }))))), {
        data: gp(i),
        algorithm: l,
        aeadAlgorithm: u
      };
    }
    async encrypt(t, r, n, a = false, i = [], s = /* @__PURE__ */ new Date(), l = [], u = ze) {
      if (n) {
        if (!G.isUint8Array(n.data) || !G.isString(n.algorithm)) throw Error("Invalid session key for encryption.");
      } else if (t && t.length) n = await bn.generateSessionKey(t, s, l, u);
      else {
        if (!r || !r.length) throw Error("No keys, passwords, or session key provided.");
        n = await bn.generateSessionKey(void 0, void 0, void 0, u);
      }
      const { data: x, algorithm: d, aeadAlgorithm: f } = n, m = await bn.encryptSessionKey(x, d, f, t, r, a, i, s, l, u), p = o0.fromObject({
        version: f ? 2 : 1,
        aeadAlgorithm: f ? k.write(k.aead, f) : null
      });
      p.packets = this.packets;
      const g = k.write(k.symmetric, d);
      return await p.encrypt(g, x, u), m.packets.push(p), p.packets = new Et(), m;
    }
    static async encryptSessionKey(t, r, n, a, i, s = false, l = [], u = /* @__PURE__ */ new Date(), x = [], d = ze) {
      const f = new Et(), m = k.write(k.symmetric, r), p = n && k.write(k.aead, n);
      if (a) {
        const g = await Promise.all(a.map((async function(E, A) {
          const w = await E.getEncryptionKey(l[A], u, x, d), D = ec.fromObject({
            version: p ? 6 : 3,
            encryptionKeyPacket: w.keyPacket,
            anonymousRecipient: s,
            sessionKey: t,
            sessionKeyAlgorithm: m
          });
          return await D.encrypt(w.keyPacket), delete D.sessionKey, D;
        })));
        f.push(...g);
      }
      if (i) {
        const g = async function(D, B) {
          try {
            return await D.decrypt(B), 1;
          } catch {
            return 0;
          }
        }, E = (D, B) => D + B, A = async function(D, B, v, _) {
          const T = new s0(d);
          return T.sessionKey = D, T.sessionKeyAlgorithm = B, v && (T.aeadAlgorithm = v), await T.encrypt(_, d), d.passwordCollisionCheck && (await Promise.all(i.map(((I) => g(T, I))))).reduce(E) !== 1 ? A(D, B, _) : (delete T.sessionKey, T);
        }, w = await Promise.all(i.map(((D) => A(t, m, p, D))));
        f.push(...w);
      }
      return new bn(f);
    }
    async sign(t = [], r = [], n = null, a = [], i = /* @__PURE__ */ new Date(), s = [], l = [], u = [], x = ze) {
      const d = new Et(), f = this.packets.findPacket(k.packet.literalData);
      if (!f) throw Error("No literal data packet to sign.");
      const m = await Z3(f, t, r, n, a, i, s, l, u, false, x), p = m.map(((g, E) => Cn.fromSignaturePacket(g, E === 0))).reverse();
      return d.push(...p), d.push(f), d.push(...m), new bn(d);
    }
    compress(t, r = ze) {
      if (t === k.compression.uncompressed) return this;
      const n = new wc(r);
      n.algorithm = t, n.packets = this.packets;
      const a = new Et();
      return a.push(n), new bn(a);
    }
    async signDetached(t = [], r = [], n = null, a = [], i = [], s = /* @__PURE__ */ new Date(), l = [], u = [], x = ze) {
      const d = this.packets.findPacket(k.packet.literalData);
      if (!d) throw Error("No literal data packet to sign.");
      return new Ng(await Z3(d, t, r, n, a, i, s, l, u, true, x));
    }
    async verify(t, r = /* @__PURE__ */ new Date(), n = ze) {
      const a = this.unwrapCompressed(), i = a.packets.filterByTag(k.packet.literalData);
      if (i.length !== 1) throw Error("Can only verify message with one literal data packet.");
      let s = a.packets;
      zt(s.stream) && (s = s.concat(await Qt(s.stream, ((x) => x || []))));
      const l = s.filterByTag(k.packet.onePassSignature).reverse(), u = s.filterByTag(k.packet.signature);
      return l.length && !u.length && G.isStream(s.stream) && !zt(s.stream) ? (await Promise.all(l.map((async (x) => {
        x.correspondingSig = new Promise(((d, f) => {
          x.correspondingSigResolve = d, x.correspondingSigReject = f;
        })), x.signatureData = es((async () => (await x.correspondingSig).signatureData)), x.hashed = Qt(await x.hash(x.signatureType, i[0], void 0, false)), x.hashed.catch((() => {
        }));
      }))), s.stream = io(s.stream, (async (x, d) => {
        const f = Wn(x), m = ln(d);
        try {
          for (let p = 0; p < l.length; p++) {
            const { value: g } = await f.read();
            l[p].correspondingSigResolve(g);
          }
          await f.readToEnd(), await m.ready, await m.close();
        } catch (p) {
          l.forEach(((g) => {
            g.correspondingSigReject(p);
          })), await m.abort(p);
        }
      })), y1(l, i, t, r, false, n)) : y1(u, i, t, r, false, n);
    }
    async verifyDetached(t, r, n = /* @__PURE__ */ new Date(), a = ze) {
      const i = this.unwrapCompressed().packets.filterByTag(k.packet.literalData);
      if (i.length !== 1) throw Error("Can only verify message with one literal data packet.");
      return y1(t.packets.filterByTag(k.packet.signature), i, r, n, true, a);
    }
    unwrapCompressed() {
      const t = this.packets.filterByTag(k.packet.compressedData);
      return t.length ? new bn(t[0].packets) : this;
    }
    async appendSignature(t, r = ze) {
      await this.packets.read(G.isUint8Array(t) ? t : (await yc(t)).data, Lv, r);
    }
    write() {
      return this.packets.write();
    }
    armor(t = ze) {
      const r = this.packets[this.packets.length - 1], n = r.constructor.tag === o0.tag ? r.version !== 2 : this.packets.some(((a) => a.constructor.tag === gr.tag && a.version !== 6));
      return Ec(k.armor.message, this.write(), null, null, null, n, t);
    }
  }
  async function Z3(e, t, r = [], n = null, a = [], i = /* @__PURE__ */ new Date(), s = [], l = [], u = [], x = false, d = ze) {
    const f = new Et(), m = e.text === null ? k.signature.binary : k.signature.text;
    if (await Promise.all(t.map((async (p, g) => {
      const E = s[g];
      if (!p.isPrivate()) throw Error("Need private key for signing");
      const A = await p.getSigningKey(a[g], i, E, d);
      return Qo(e, r.length ? r : [
        p
      ], A.keyPacket, {
        signatureType: m
      }, i, l, u, x, d);
    }))).then(((p) => {
      f.push(...p);
    })), n) {
      const p = n.packets.filterByTag(k.packet.signature);
      f.push(...p);
    }
    return f;
  }
  function y1(e, t, r, n = /* @__PURE__ */ new Date(), a = false, i = ze) {
    return e.filter(((s) => [
      "text",
      "binary"
    ].includes(k.read(k.signature, s.signatureType)))).map(((s) => (function(l, u, x, d = /* @__PURE__ */ new Date(), f = false, m = ze) {
      let p, g;
      for (const w of x) {
        const D = w.getKeys(l.issuerKeyID);
        if (D.length > 0) {
          p = w, g = D[0];
          break;
        }
      }
      const E = l instanceof Cn ? l.correspondingSig : l, A = {
        keyID: l.issuerKeyID,
        verified: (async () => {
          if (!g) throw Error("Could not find signing key with key ID " + l.issuerKeyID.toHex());
          await l.verify(g.keyPacket, l.signatureType, u[0], d, f, m);
          const w = await E;
          if (g.getCreationTime() > w.created) throw Error("Key is newer than the signature");
          try {
            await p.getSigningKey(g.getKeyID(), w.created, void 0, m);
          } catch (D) {
            if (!m.allowInsecureVerificationWithReformattedKeys || !D.message.match(/Signature creation time is in the future/)) throw D;
            await p.getSigningKey(g.getKeyID(), d, void 0, m);
          }
          return true;
        })(),
        signature: (async () => {
          const w = await E, D = new Et();
          return w && D.push(w), new Ng(D);
        })()
      };
      return A.signature.catch((() => {
      })), A.verified.catch((() => {
      })), A;
    })(s, t, r, n, a, i)));
  }
  async function Ov({ armoredMessage: e, binaryMessage: t, config: r, ...n }) {
    r = {
      ...ze,
      ...r
    };
    let a = e || t;
    if (!a) throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");
    if (e && !G.isString(e) && !G.isStream(e)) throw Error("readMessage: options.armoredMessage must be a string or stream");
    if (t && !G.isUint8Array(t) && !G.isStream(t)) throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");
    const i = Object.keys(n);
    if (i.length > 0) throw Error("Unknown option: " + i.join(", "));
    const s = G.isStream(a);
    if (e) {
      const { type: x, data: d } = await yc(a);
      if (x !== k.armor.message) throw Error("Armored text not of type message");
      a = d;
    }
    const l = await Et.fromBinary(a, Mv, r, new Dd()), u = new bn(l);
    return u.fromStream = s, u;
  }
  async function Hv({ text: e, binary: t, filename: r, date: n = /* @__PURE__ */ new Date(), format: a = e !== void 0 ? "utf8" : "binary", ...i }) {
    const s = e !== void 0 ? e : t;
    if (s === void 0) throw Error("createMessage: must pass options object containing `text` or `binary`");
    if (e && !G.isString(e) && !G.isStream(e)) throw Error("createMessage: options.text must be a string or stream");
    if (t && !G.isUint8Array(t) && !G.isStream(t)) throw Error("createMessage: options.binary must be a Uint8Array or stream");
    const l = Object.keys(i);
    if (l.length > 0) throw Error("Unknown option: " + l.join(", "));
    const u = G.isStream(s), x = new m0(n);
    e !== void 0 ? x.setText(s, k.write(k.literal, a)) : x.setBytes(s, k.write(k.literal, a)), r !== void 0 && x.setFilename(r);
    const d = new Et();
    d.push(x);
    const f = new bn(d);
    return f.fromStream = u, f;
  }
  async function Qv({ privateKey: e, passphrase: t, config: r, ...n }) {
    C8(r = {
      ...ze,
      ...r
    });
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    if (!e.isPrivate()) throw Error("Cannot decrypt a public key");
    const i = e.clone(true), s = G.isArray(t) ? t : [
      t
    ];
    try {
      return await Promise.all(i.getKeys().map(((l) => G.anyPromise(s.map(((u) => l.keyPacket.decrypt(u))))))), await i.validate(r), i;
    } catch (l) {
      throw i.clearPrivateParams(), G.wrapError("Error decrypting private key", l);
    }
  }
  async function Gv({ message: e, encryptionKeys: t, signingKeys: r, passwords: n, sessionKey: a, format: i = "armored", signature: s = null, wildcard: l = false, signingKeyIDs: u = [], encryptionKeyIDs: x = [], date: d = /* @__PURE__ */ new Date(), signingUserIDs: f = [], encryptionUserIDs: m = [], signatureNotations: p = [], config: g, ...E }) {
    if (C8(g = {
      ...ze,
      ...g
    }), Rg(e), Vv(i), t = An(t), r = An(r), n = An(n), u = An(u), x = An(x), f = An(f), m = An(m), p = An(p), E.detached) throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");
    if (E.publicKeys) throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");
    if (E.privateKeys) throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");
    if (E.armor !== void 0) throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");
    const A = Object.keys(E);
    if (A.length > 0) throw Error("Unknown option: " + A.join(", "));
    r || (r = []);
    try {
      if ((r.length || s) && (e = await e.sign(r, t, s, u, d, f, x, p, g)), e = e.compress(await (async function(D = [], B = /* @__PURE__ */ new Date(), v = [], _ = ze) {
        const T = k.compression.uncompressed, I = _.preferredCompressionAlgorithm;
        return (await Promise.all(D.map((async function(C, j) {
          const U = (await C.getPrimarySelfSignature(B, v[j], _)).preferredCompressionAlgorithms;
          return !!U && U.indexOf(I) >= 0;
        })))).every(Boolean) ? I : T;
      })(t, d, m, g), g), e = await e.encrypt(t, n, a, l, x, d, m, g), i === "object") return e;
      const w = i === "armored" ? e.armor(g) : e.write();
      return await Tg(w);
    } catch (w) {
      throw G.wrapError("Error encrypting message", w);
    }
  }
  async function qv({ message: e, decryptionKeys: t, passwords: r, sessionKeys: n, verificationKeys: a, expectSigned: i = false, format: s = "utf8", signature: l = null, date: u = /* @__PURE__ */ new Date(), config: x, ...d }) {
    if (C8(x = {
      ...ze,
      ...x
    }), Rg(e), a = An(a), t = An(t), r = An(r), n = An(n), d.privateKeys) throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");
    if (d.publicKeys) throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");
    const f = Object.keys(d);
    if (f.length > 0) throw Error("Unknown option: " + f.join(", "));
    try {
      const m = await e.decrypt(t, r, n, u, x);
      a || (a = []);
      const p = {};
      if (p.signatures = l ? await m.verifyDetached(l, a, u, x) : await m.verify(a, u, x), p.data = s === "binary" ? m.getLiteralData() : m.getText(), p.filename = m.getFilename(), Zv(p, e, .../* @__PURE__ */ new Set([
        m,
        m.unwrapCompressed()
      ])), i) {
        if (a.length === 0) throw Error("Verification keys are required to verify message signatures");
        if (p.signatures.length === 0) throw Error("Message is not signed");
        p.data = Nr([
          p.data,
          es((async () => (await G.anyPromise(p.signatures.map(((g) => g.verified))), s === "binary" ? new Uint8Array() : "")))
        ]);
      }
      return p.data = await Tg(p.data), p;
    } catch (m) {
      throw G.wrapError("Error decrypting message", m);
    }
  }
  function Rg(e) {
    if (!(e instanceof bn)) throw Error("Parameter [message] needs to be of type Message");
  }
  function Vv(e) {
    if (e !== "armored" && e !== "binary" && e !== "object") throw Error("Unsupported format " + e);
  }
  const Wv = Object.keys(ze).length;
  function C8(e) {
    const t = Object.keys(e);
    if (t.length !== Wv) {
      for (const r of t) if (ze[r] === void 0) throw Error("Unknown config property: " + r);
    }
  }
  function An(e) {
    return e && !G.isArray(e) && (e = [
      e
    ]), e;
  }
  async function Tg(e) {
    return G.isStream(e) === "array" ? Qt(e) : e;
  }
  function Zv(e, t, ...r) {
    e.data = io(t.packets.stream, (async (n, a) => {
      await r0(e.data, a, {
        preventClose: true
      });
      const i = ln(a);
      try {
        await Qt(n, ((s) => s)), await Promise.all(r.map(((s) => Qt(s.packets.stream, ((l) => l))))), await i.close();
      } catch (s) {
        await i.abort(s);
      }
    }));
  }
  const Ss = typeof Dr == "object" && "crypto" in Dr ? Dr.crypto : void 0;
  function vc(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function tc(e) {
    if (!Number.isSafeInteger(e) || e < 0) throw Error("positive integer expected, got " + e);
  }
  function _a(e, ...t) {
    if (!vc(e)) throw Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function Mg(e) {
    if (typeof e != "function" || typeof e.create != "function") throw Error("Hash should be wrapped by utils.createHasher");
    tc(e.outputLen), tc(e.blockLen);
  }
  function u0(e, t = true) {
    if (e.destroyed) throw Error("Hash instance has been destroyed");
    if (t && e.finished) throw Error("Hash#digest() has already been called");
  }
  function Kg(e, t) {
    _a(e);
    const r = t.outputLen;
    if (e.length < r) throw Error("digestInto() expects output buffer of length at least " + r);
  }
  function Fn(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function E1(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  function sa(e, t) {
    return e << 32 - t | e >>> t;
  }
  function Wi(e, t) {
    return e << t | e >>> 32 - t >>> 0;
  }
  const Y3 = new Uint8Array(new Uint32Array([
    287454020
  ]).buffer)[0] === 68 ? (e) => e : function(e) {
    for (let r = 0; r < e.length; r++) e[r] = (t = e[r]) << 24 & 4278190080 | t << 8 & 16711680 | t >>> 8 & 65280 | t >>> 24 & 255;
    var t;
    return e;
  }, Lg = typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", Yv = Array.from({
    length: 256
  }, ((e, t) => t.toString(16).padStart(2, "0")));
  function Ko(e) {
    if (_a(e), Lg) return e.toHex();
    let t = "";
    for (let r = 0; r < e.length; r++) t += Yv[e[r]];
    return t;
  }
  const $3 = 48, $v = 57, X3 = 65, Xv = 70, J3 = 97, Jv = 102;
  function e2(e) {
    return e >= $3 && e <= $v ? e - $3 : e >= X3 && e <= Xv ? e - (X3 - 10) : e >= J3 && e <= Jv ? e - (J3 - 10) : void 0;
  }
  function Jx(e) {
    if (typeof e != "string") throw Error("hex string expected, got " + typeof e);
    if (Lg) return Uint8Array.fromHex(e);
    const t = e.length, r = t / 2;
    if (t % 2) throw Error("hex string expected, got unpadded hex of length " + t);
    const n = new Uint8Array(r);
    for (let a = 0, i = 0; a < r; a++, i += 2) {
      const s = e2(e.charCodeAt(i)), l = e2(e.charCodeAt(i + 1));
      if (s === void 0 || l === void 0) {
        const u = e[i] + e[i + 1];
        throw Error('hex string expected, got non-hex character "' + u + '" at index ' + i);
      }
      n[a] = 16 * s + l;
    }
    return n;
  }
  function Bc(e) {
    return typeof e == "string" && (e = (function(t) {
      if (typeof t != "string") throw Error("string expected");
      return new Uint8Array(new TextEncoder().encode(t));
    })(e)), _a(e), e;
  }
  function Gn(...e) {
    let t = 0;
    for (let n = 0; n < e.length; n++) {
      const a = e[n];
      _a(a), t += a.length;
    }
    const r = new Uint8Array(t);
    for (let n = 0, a = 0; n < e.length; n++) {
      const i = e[n];
      r.set(i, a), a += i.length;
    }
    return r;
  }
  class k8 {
  }
  function oi(e) {
    const t = (n) => e().update(Bc(n)).digest(), r = e();
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t;
  }
  const eB = oi;
  function Sd(e = 32) {
    if (Ss && typeof Ss.getRandomValues == "function") return Ss.getRandomValues(new Uint8Array(e));
    if (Ss && typeof Ss.randomBytes == "function") return Uint8Array.from(Ss.randomBytes(e));
    throw Error("crypto.getRandomValues must be defined");
  }
  const D8 = BigInt(0), Dp = BigInt(1);
  function Go(e, t = "") {
    if (typeof e != "boolean") throw Error((t && `"${t}"`) + "expected boolean, got type=" + typeof e);
    return e;
  }
  function Vn(e, t, r = "") {
    const n = vc(e), a = e == null ? void 0 : e.length, i = t !== void 0;
    if (!n || i && a !== t) throw Error((r && `"${r}" `) + "expected Uint8Array" + (i ? " of length " + t : "") + ", got " + (n ? "length=" + a : "type=" + typeof e));
    return e;
  }
  function $u(e) {
    const t = e.toString(16);
    return 1 & t.length ? "0" + t : t;
  }
  function Og(e) {
    if (typeof e != "string") throw Error("hex string expected, got " + typeof e);
    return e === "" ? D8 : BigInt("0x" + e);
  }
  function Id(e) {
    return Og(Ko(e));
  }
  function qo(e) {
    return _a(e), Og(Ko(Uint8Array.from(e).reverse()));
  }
  function F8(e, t) {
    return Jx(e.toString(16).padStart(2 * t, "0"));
  }
  function _8(e, t) {
    return F8(e, t).reverse();
  }
  function Nt(e, t, r) {
    let n;
    if (typeof t == "string") try {
      n = Jx(t);
    } catch (i) {
      throw Error(e + " must be hex string or Uint8Array, cause: " + i);
    }
    else {
      if (!vc(t)) throw Error(e + " must be hex string or Uint8Array");
      n = Uint8Array.from(t);
    }
    const a = n.length;
    if (typeof r == "number" && a !== r) throw Error(e + " of length " + r + " expected, got " + a);
    return n;
  }
  function t2(e) {
    return Uint8Array.from(e);
  }
  const b1 = (e) => typeof e == "bigint" && D8 <= e;
  function rc(e, t, r, n) {
    if (!(function(a, i, s) {
      return b1(a) && b1(i) && b1(s) && i <= a && a < s;
    })(t, r, n)) throw Error("expected valid " + e + ": " + r + " <= n < " + n + ", got " + t);
  }
  function Hg(e) {
    let t;
    for (t = 0; e > D8; e >>= Dp, t += 1) ;
    return t;
  }
  const Cc = (e) => (Dp << BigInt(e)) - Dp;
  function g0(e, t, r = {}) {
    if (!e || typeof e != "object") throw Error("expected valid options object");
    function n(a, i, s) {
      const l = e[a];
      if (s && l === void 0) return;
      const u = typeof l;
      if (u !== i || l === null) throw Error(`param "${a}" is invalid: expected ${i}, got ${u}`);
    }
    Object.entries(t).forEach((([a, i]) => n(a, i, false))), Object.entries(r).forEach((([a, i]) => n(a, i, true)));
  }
  function ed(e) {
    const t = /* @__PURE__ */ new WeakMap();
    return (r, ...n) => {
      const a = t.get(r);
      if (a !== void 0) return a;
      const i = e(r, ...n);
      return t.set(r, i), i;
    };
  }
  const Gr = BigInt(0), Pr = BigInt(1), Po = BigInt(2), Qg = BigInt(3), Gg = BigInt(4), qg = BigInt(5), tB = BigInt(7), Vg = BigInt(8), rB = BigInt(9), r2 = BigInt(16);
  function Jt(e, t) {
    const r = e % t;
    return r >= Gr ? r : t + r;
  }
  function Pt(e, t, r) {
    let n = e;
    for (; t-- > Gr; ) n *= n, n %= r;
    return n;
  }
  function n2(e, t) {
    if (e === Gr) throw Error("invert: expected non-zero number");
    if (t <= Gr) throw Error("invert: expected positive modulus, got " + t);
    let r = Jt(e, t), n = t, a = Gr, i = Pr;
    for (; r !== Gr; ) {
      const s = n % r, l = a - i * (n / r);
      n = r, r = s, a = i, i = l;
    }
    if (n !== Pr) throw Error("invert: does not exist");
    return Jt(a, t);
  }
  function S8(e, t, r) {
    if (!e.eql(e.sqr(t), r)) throw Error("Cannot find square root");
  }
  function Wg(e, t) {
    const r = (e.ORDER + Pr) / Gg, n = e.pow(t, r);
    return S8(e, n, t), n;
  }
  function nB(e, t) {
    const r = (e.ORDER - qg) / Vg, n = e.mul(t, Po), a = e.pow(n, r), i = e.mul(t, a), s = e.mul(e.mul(i, Po), a), l = e.mul(i, e.sub(s, e.ONE));
    return S8(e, l, t), l;
  }
  function a2(e) {
    if (e < Qg) throw Error("sqrt is not defined for small field");
    let t = e - Pr, r = 0;
    for (; t % Po === Gr; ) t /= Po, r++;
    let n = Po;
    const a = $r(e);
    for (; i2(a, n) === 1; ) if (n++ > 1e3) throw Error("Cannot find square root: probably non-prime P");
    if (r === 1) return Wg;
    let i = a.pow(n, t);
    const s = (t + Pr) / Po;
    return function(l, u) {
      if (l.is0(u)) return u;
      if (i2(l, u) !== 1) throw Error("Cannot find square root");
      let x = r, d = l.mul(l.ONE, i), f = l.pow(u, t), m = l.pow(u, s);
      for (; !l.eql(f, l.ONE); ) {
        if (l.is0(f)) return l.ZERO;
        let p = 1, g = l.sqr(f);
        for (; !l.eql(g, l.ONE); ) if (p++, g = l.sqr(g), p === x) throw Error("Cannot find square root");
        const E = Pr << BigInt(x - p - 1), A = l.pow(d, E);
        x = p, d = l.sqr(A), f = l.mul(f, d), m = l.mul(m, A);
      }
      return m;
    };
  }
  function aB(e) {
    return e % Gg === Qg ? Wg : e % Vg === qg ? nB : e % r2 === rB ? (function(t) {
      const r = $r(t), n = a2(t), a = n(r, r.neg(r.ONE)), i = n(r, a), s = n(r, r.neg(a)), l = (t + tB) / r2;
      return (u, x) => {
        let d = u.pow(x, l), f = u.mul(d, a);
        const m = u.mul(d, i), p = u.mul(d, s), g = u.eql(u.sqr(f), x), E = u.eql(u.sqr(m), x);
        d = u.cmov(d, f, g), f = u.cmov(p, m, E);
        const A = u.eql(u.sqr(f), x), w = u.cmov(d, f, A);
        return S8(u, w, x), w;
      };
    })(e) : a2(e);
  }
  const iB = [
    "create",
    "isValid",
    "is0",
    "neg",
    "inv",
    "sqrt",
    "sqr",
    "eql",
    "add",
    "sub",
    "mul",
    "pow",
    "div",
    "addN",
    "subN",
    "mulN",
    "sqrN"
  ];
  function Zg(e, t, r = false) {
    const n = Array(t.length).fill(r ? e.ZERO : void 0), a = t.reduce(((s, l, u) => e.is0(l) ? s : (n[u] = s, e.mul(s, l))), e.ONE), i = e.inv(a);
    return t.reduceRight(((s, l, u) => e.is0(l) ? s : (n[u] = e.mul(s, n[u]), e.mul(s, l))), i), n;
  }
  function i2(e, t) {
    const r = (e.ORDER - Pr) / Po, n = e.pow(t, r), a = e.eql(n, e.ONE), i = e.eql(n, e.ZERO), s = e.eql(n, e.neg(e.ONE));
    if (!a && !i && !s) throw Error("invalid Legendre symbol result");
    return a ? 1 : i ? 0 : -1;
  }
  function Yg(e, t) {
    t !== void 0 && tc(t);
    const r = t !== void 0 ? t : e.toString(2).length;
    return {
      nBitLength: r,
      nByteLength: Math.ceil(r / 8)
    };
  }
  function $r(e, t, r = false, n = {}) {
    if (e <= Gr) throw Error("invalid field: expected ORDER > 0, got " + e);
    let a, i, s, l = false;
    if (typeof t == "object" && t != null) {
      if (n.sqrt || r) throw Error("cannot specify opts in two arguments");
      const m = t;
      m.BITS && (a = m.BITS), m.sqrt && (i = m.sqrt), typeof m.isLE == "boolean" && (r = m.isLE), typeof m.modFromBytes == "boolean" && (l = m.modFromBytes), s = m.allowedLengths;
    } else typeof t == "number" && (a = t), n.sqrt && (i = n.sqrt);
    const { nBitLength: u, nByteLength: x } = Yg(e, a);
    if (x > 2048) throw Error("invalid field: expected ORDER of <= 2048 bytes");
    let d;
    const f = Object.freeze({
      ORDER: e,
      isLE: r,
      BITS: u,
      BYTES: x,
      MASK: Cc(u),
      ZERO: Gr,
      ONE: Pr,
      allowedLengths: s,
      create: (m) => Jt(m, e),
      isValid: (m) => {
        if (typeof m != "bigint") throw Error("invalid field element: expected bigint, got " + typeof m);
        return Gr <= m && m < e;
      },
      is0: (m) => m === Gr,
      isValidNot0: (m) => !f.is0(m) && f.isValid(m),
      isOdd: (m) => (m & Pr) === Pr,
      neg: (m) => Jt(-m, e),
      eql: (m, p) => m === p,
      sqr: (m) => Jt(m * m, e),
      add: (m, p) => Jt(m + p, e),
      sub: (m, p) => Jt(m - p, e),
      mul: (m, p) => Jt(m * p, e),
      pow: (m, p) => (function(g, E, A) {
        if (A < Gr) throw Error("invalid exponent, negatives unsupported");
        if (A === Gr) return g.ONE;
        if (A === Pr) return E;
        let w = g.ONE, D = E;
        for (; A > Gr; ) A & Pr && (w = g.mul(w, D)), D = g.sqr(D), A >>= Pr;
        return w;
      })(f, m, p),
      div: (m, p) => Jt(m * n2(p, e), e),
      sqrN: (m) => m * m,
      addN: (m, p) => m + p,
      subN: (m, p) => m - p,
      mulN: (m, p) => m * p,
      inv: (m) => n2(m, e),
      sqrt: i || ((m) => (d || (d = aB(e)), d(f, m))),
      toBytes: (m) => r ? _8(m, x) : F8(m, x),
      fromBytes: (m, p = true) => {
        if (s) {
          if (!s.includes(m.length) || m.length > x) throw Error("Field.fromBytes: expected " + s + " bytes, got " + m.length);
          const E = new Uint8Array(x);
          E.set(m, r ? 0 : E.length - m.length), m = E;
        }
        if (m.length !== x) throw Error("Field.fromBytes: expected " + x + " bytes, got " + m.length);
        let g = r ? qo(m) : Id(m);
        if (l && (g = Jt(g, e)), !p && !f.isValid(g)) throw Error("invalid field element: outside of range 0..ORDER");
        return g;
      },
      invertBatch: (m) => Zg(f, m),
      cmov: (m, p, g) => g ? p : m
    });
    return Object.freeze(f);
  }
  function $g(e) {
    if (typeof e != "bigint") throw Error("field order must be bigint");
    const t = e.toString(2).length;
    return Math.ceil(t / 8);
  }
  function o2(e) {
    const t = $g(e);
    return t + Math.ceil(t / 2);
  }
  function Xg(e, t, r) {
    return e & t ^ ~e & r;
  }
  function Jg(e, t, r) {
    return e & t ^ e & r ^ t & r;
  }
  class kc extends k8 {
    constructor(t, r, n, a) {
      super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = a, this.buffer = new Uint8Array(t), this.view = E1(this.buffer);
    }
    update(t) {
      u0(this), _a(t = Bc(t));
      const { view: r, buffer: n, blockLen: a } = this, i = t.length;
      for (let s = 0; s < i; ) {
        const l = Math.min(a - this.pos, i - s);
        if (l !== a) n.set(t.subarray(s, s + l), this.pos), this.pos += l, s += l, this.pos === a && (this.process(r, 0), this.pos = 0);
        else {
          const u = E1(t);
          for (; a <= i - s; s += a) this.process(u, s);
        }
      }
      return this.length += t.length, this.roundClean(), this;
    }
    digestInto(t) {
      u0(this), Kg(t, this), this.finished = true;
      const { buffer: r, view: n, blockLen: a, isLE: i } = this;
      let { pos: s } = this;
      r[s++] = 128, Fn(this.buffer.subarray(s)), this.padOffset > a - s && (this.process(n, 0), s = 0);
      for (let f = s; f < a; f++) r[f] = 0;
      (function(f, m, p, g) {
        if (typeof f.setBigUint64 == "function") return f.setBigUint64(m, p, g);
        const E = BigInt(32), A = BigInt(4294967295), w = Number(p >> E & A), D = Number(p & A), B = g ? 4 : 0, v = g ? 0 : 4;
        f.setUint32(m + B, w, g), f.setUint32(m + v, D, g);
      })(n, a - 8, BigInt(8 * this.length), i), this.process(n, 0);
      const l = E1(t), u = this.outputLen;
      if (u % 4) throw Error("_sha2: outputLen should be aligned to 32bit");
      const x = u / 4, d = this.get();
      if (x > d.length) throw Error("_sha2: outputLen bigger than state");
      for (let f = 0; f < x; f++) l.setUint32(4 * f, d[f], i);
    }
    digest() {
      const { buffer: t, outputLen: r } = this;
      this.digestInto(t);
      const n = t.slice(0, r);
      return this.destroy(), n;
    }
    _cloneInto(t) {
      t || (t = new this.constructor()), t.set(...this.get());
      const { blockLen: r, buffer: n, length: a, finished: i, destroyed: s, pos: l } = this;
      return t.destroyed = s, t.finished = i, t.length = a, t.pos = l, a % r && t.buffer.set(n), t;
    }
    clone() {
      return this._cloneInto();
    }
  }
  const Pi = Uint32Array.from([
    1779033703,
    3144134277,
    1013904242,
    2773480762,
    1359893119,
    2600822924,
    528734635,
    1541459225
  ]), Ni = Uint32Array.from([
    3238371032,
    914150663,
    812702999,
    4144912697,
    4290775857,
    1750603025,
    1694076839,
    3204075428
  ]), wr = Uint32Array.from([
    3418070365,
    3238371032,
    1654270250,
    914150663,
    2438529370,
    812702999,
    355462360,
    4144912697,
    1731405415,
    4290775857,
    2394180231,
    1750603025,
    3675008525,
    1694076839,
    1203062813,
    3204075428
  ]), vr = Uint32Array.from([
    1779033703,
    4089235720,
    3144134277,
    2227873595,
    1013904242,
    4271175723,
    2773480762,
    1595750129,
    1359893119,
    2917565137,
    2600822924,
    725511199,
    528734635,
    4215389547,
    1541459225,
    327033209
  ]), Xu = BigInt(2 ** 32 - 1), s2 = BigInt(32);
  function oB(e, t = false) {
    return t ? {
      h: Number(e & Xu),
      l: Number(e >> s2 & Xu)
    } : {
      h: 0 | Number(e >> s2 & Xu),
      l: 0 | Number(e & Xu)
    };
  }
  function ey(e, t = false) {
    const r = e.length;
    let n = new Uint32Array(r), a = new Uint32Array(r);
    for (let i = 0; i < r; i++) {
      const { h: s, l } = oB(e[i], t);
      [n[i], a[i]] = [
        s,
        l
      ];
    }
    return [
      n,
      a
    ];
  }
  const l2 = (e, t, r) => e >>> r, c2 = (e, t, r) => e << 32 - r | t >>> r, Is = (e, t, r) => e >>> r | t << 32 - r, Ps = (e, t, r) => e << 32 - r | t >>> r, Ju = (e, t, r) => e << 64 - r | t >>> r - 32, ex = (e, t, r) => e >>> r - 32 | t << 64 - r;
  function Oa(e, t, r, n) {
    const a = (t >>> 0) + (n >>> 0);
    return {
      h: e + r + (a / 2 ** 32 | 0) | 0,
      l: 0 | a
    };
  }
  const sB = (e, t, r) => (e >>> 0) + (t >>> 0) + (r >>> 0), lB = (e, t, r, n) => t + r + n + (e / 2 ** 32 | 0) | 0, cB = (e, t, r, n) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0), uB = (e, t, r, n, a) => t + r + n + a + (e / 2 ** 32 | 0) | 0, xB = (e, t, r, n, a) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0) + (a >>> 0), dB = (e, t, r, n, a, i) => t + r + n + a + i + (e / 2 ** 32 | 0) | 0, fB = Uint32Array.from([
    1116352408,
    1899447441,
    3049323471,
    3921009573,
    961987163,
    1508970993,
    2453635748,
    2870763221,
    3624381080,
    310598401,
    607225278,
    1426881987,
    1925078388,
    2162078206,
    2614888103,
    3248222580,
    3835390401,
    4022224774,
    264347078,
    604807628,
    770255983,
    1249150122,
    1555081692,
    1996064986,
    2554220882,
    2821834349,
    2952996808,
    3210313671,
    3336571891,
    3584528711,
    113926993,
    338241895,
    666307205,
    773529912,
    1294757372,
    1396182291,
    1695183700,
    1986661051,
    2177026350,
    2456956037,
    2730485921,
    2820302411,
    3259730800,
    3345764771,
    3516065817,
    3600352804,
    4094571909,
    275423344,
    430227734,
    506948616,
    659060556,
    883997877,
    958139571,
    1322822218,
    1537002063,
    1747873779,
    1955562222,
    2024104815,
    2227730452,
    2361852424,
    2428436474,
    2756734187,
    3204031479,
    3329325298
  ]), ji = new Uint32Array(64);
  class ty extends kc {
    constructor(t = 32) {
      super(64, t, 8, false), this.A = 0 | Pi[0], this.B = 0 | Pi[1], this.C = 0 | Pi[2], this.D = 0 | Pi[3], this.E = 0 | Pi[4], this.F = 0 | Pi[5], this.G = 0 | Pi[6], this.H = 0 | Pi[7];
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i, F: s, G: l, H: u } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        s,
        l,
        u
      ];
    }
    set(t, r, n, a, i, s, l, u) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a, this.E = 0 | i, this.F = 0 | s, this.G = 0 | l, this.H = 0 | u;
    }
    process(t, r) {
      for (let f = 0; f < 16; f++, r += 4) ji[f] = t.getUint32(r, false);
      for (let f = 16; f < 64; f++) {
        const m = ji[f - 15], p = ji[f - 2], g = sa(m, 7) ^ sa(m, 18) ^ m >>> 3, E = sa(p, 17) ^ sa(p, 19) ^ p >>> 10;
        ji[f] = E + ji[f - 7] + g + ji[f - 16] | 0;
      }
      let { A: n, B: a, C: i, D: s, E: l, F: u, G: x, H: d } = this;
      for (let f = 0; f < 64; f++) {
        const m = d + (sa(l, 6) ^ sa(l, 11) ^ sa(l, 25)) + Xg(l, u, x) + fB[f] + ji[f] | 0, p = (sa(n, 2) ^ sa(n, 13) ^ sa(n, 22)) + Jg(n, a, i) | 0;
        d = x, x = u, u = l, l = s + m | 0, s = i, i = a, a = n, n = m + p | 0;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, s = s + this.D | 0, l = l + this.E | 0, u = u + this.F | 0, x = x + this.G | 0, d = d + this.H | 0, this.set(n, a, i, s, l, u, x, d);
    }
    roundClean() {
      Fn(ji);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0, 0, 0, 0), Fn(this.buffer);
    }
  }
  class hB extends ty {
    constructor() {
      super(28), this.A = 0 | Ni[0], this.B = 0 | Ni[1], this.C = 0 | Ni[2], this.D = 0 | Ni[3], this.E = 0 | Ni[4], this.F = 0 | Ni[5], this.G = 0 | Ni[6], this.H = 0 | Ni[7];
    }
  }
  const ry = ey([
    "0x428a2f98d728ae22",
    "0x7137449123ef65cd",
    "0xb5c0fbcfec4d3b2f",
    "0xe9b5dba58189dbbc",
    "0x3956c25bf348b538",
    "0x59f111f1b605d019",
    "0x923f82a4af194f9b",
    "0xab1c5ed5da6d8118",
    "0xd807aa98a3030242",
    "0x12835b0145706fbe",
    "0x243185be4ee4b28c",
    "0x550c7dc3d5ffb4e2",
    "0x72be5d74f27b896f",
    "0x80deb1fe3b1696b1",
    "0x9bdc06a725c71235",
    "0xc19bf174cf692694",
    "0xe49b69c19ef14ad2",
    "0xefbe4786384f25e3",
    "0x0fc19dc68b8cd5b5",
    "0x240ca1cc77ac9c65",
    "0x2de92c6f592b0275",
    "0x4a7484aa6ea6e483",
    "0x5cb0a9dcbd41fbd4",
    "0x76f988da831153b5",
    "0x983e5152ee66dfab",
    "0xa831c66d2db43210",
    "0xb00327c898fb213f",
    "0xbf597fc7beef0ee4",
    "0xc6e00bf33da88fc2",
    "0xd5a79147930aa725",
    "0x06ca6351e003826f",
    "0x142929670a0e6e70",
    "0x27b70a8546d22ffc",
    "0x2e1b21385c26c926",
    "0x4d2c6dfc5ac42aed",
    "0x53380d139d95b3df",
    "0x650a73548baf63de",
    "0x766a0abb3c77b2a8",
    "0x81c2c92e47edaee6",
    "0x92722c851482353b",
    "0xa2bfe8a14cf10364",
    "0xa81a664bbc423001",
    "0xc24b8b70d0f89791",
    "0xc76c51a30654be30",
    "0xd192e819d6ef5218",
    "0xd69906245565a910",
    "0xf40e35855771202a",
    "0x106aa07032bbd1b8",
    "0x19a4c116b8d2d0c8",
    "0x1e376c085141ab53",
    "0x2748774cdf8eeb99",
    "0x34b0bcb5e19b48a8",
    "0x391c0cb3c5c95a63",
    "0x4ed8aa4ae3418acb",
    "0x5b9cca4f7763e373",
    "0x682e6ff3d6b2b8a3",
    "0x748f82ee5defb2fc",
    "0x78a5636f43172f60",
    "0x84c87814a1f0ab72",
    "0x8cc702081a6439ec",
    "0x90befffa23631e28",
    "0xa4506cebde82bde9",
    "0xbef9a3f7b2c67915",
    "0xc67178f2e372532b",
    "0xca273eceea26619c",
    "0xd186b8c721c0c207",
    "0xeada7dd6cde0eb1e",
    "0xf57d4f7fee6ed178",
    "0x06f067aa72176fba",
    "0x0a637dc5a2c898a6",
    "0x113f9804bef90dae",
    "0x1b710b35131c471b",
    "0x28db77f523047d84",
    "0x32caab7b40c72493",
    "0x3c9ebe0a15c9bebc",
    "0x431d67c49c100d4c",
    "0x4cc5d4becb3e42b6",
    "0x597f299cfc657e2a",
    "0x5fcb6fab3ad6faec",
    "0x6c44198c4a475817"
  ].map(((e) => BigInt(e)))), pB = ry[0], mB = ry[1], zi = new Uint32Array(80), Ui = new Uint32Array(80);
  class ny extends kc {
    constructor(t = 64) {
      super(128, t, 16, false), this.Ah = 0 | vr[0], this.Al = 0 | vr[1], this.Bh = 0 | vr[2], this.Bl = 0 | vr[3], this.Ch = 0 | vr[4], this.Cl = 0 | vr[5], this.Dh = 0 | vr[6], this.Dl = 0 | vr[7], this.Eh = 0 | vr[8], this.El = 0 | vr[9], this.Fh = 0 | vr[10], this.Fl = 0 | vr[11], this.Gh = 0 | vr[12], this.Gl = 0 | vr[13], this.Hh = 0 | vr[14], this.Hl = 0 | vr[15];
    }
    get() {
      const { Ah: t, Al: r, Bh: n, Bl: a, Ch: i, Cl: s, Dh: l, Dl: u, Eh: x, El: d, Fh: f, Fl: m, Gh: p, Gl: g, Hh: E, Hl: A } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        s,
        l,
        u,
        x,
        d,
        f,
        m,
        p,
        g,
        E,
        A
      ];
    }
    set(t, r, n, a, i, s, l, u, x, d, f, m, p, g, E, A) {
      this.Ah = 0 | t, this.Al = 0 | r, this.Bh = 0 | n, this.Bl = 0 | a, this.Ch = 0 | i, this.Cl = 0 | s, this.Dh = 0 | l, this.Dl = 0 | u, this.Eh = 0 | x, this.El = 0 | d, this.Fh = 0 | f, this.Fl = 0 | m, this.Gh = 0 | p, this.Gl = 0 | g, this.Hh = 0 | E, this.Hl = 0 | A;
    }
    process(t, r) {
      for (let B = 0; B < 16; B++, r += 4) zi[B] = t.getUint32(r), Ui[B] = t.getUint32(r += 4);
      for (let B = 16; B < 80; B++) {
        const v = 0 | zi[B - 15], _ = 0 | Ui[B - 15], T = Is(v, _, 1) ^ Is(v, _, 8) ^ l2(v, 0, 7), I = Ps(v, _, 1) ^ Ps(v, _, 8) ^ c2(v, _, 7), z = 0 | zi[B - 2], C = 0 | Ui[B - 2], j = Is(z, C, 19) ^ Ju(z, C, 61) ^ l2(z, 0, 6), U = Ps(z, C, 19) ^ ex(z, C, 61) ^ c2(z, C, 6), P = cB(I, U, Ui[B - 7], Ui[B - 16]), L = uB(P, T, j, zi[B - 7], zi[B - 16]);
        zi[B] = 0 | L, Ui[B] = 0 | P;
      }
      let { Ah: n, Al: a, Bh: i, Bl: s, Ch: l, Cl: u, Dh: x, Dl: d, Eh: f, El: m, Fh: p, Fl: g, Gh: E, Gl: A, Hh: w, Hl: D } = this;
      for (let B = 0; B < 80; B++) {
        const v = Is(f, m, 14) ^ Is(f, m, 18) ^ Ju(f, m, 41), _ = Ps(f, m, 14) ^ Ps(f, m, 18) ^ ex(f, m, 41), T = f & p ^ ~f & E, I = xB(D, _, m & g ^ ~m & A, mB[B], Ui[B]), z = dB(I, w, v, T, pB[B], zi[B]), C = 0 | I, j = Is(n, a, 28) ^ Ju(n, a, 34) ^ Ju(n, a, 39), U = Ps(n, a, 28) ^ ex(n, a, 34) ^ ex(n, a, 39), P = n & i ^ n & l ^ i & l, L = a & s ^ a & u ^ s & u;
        w = 0 | E, D = 0 | A, E = 0 | p, A = 0 | g, p = 0 | f, g = 0 | m, { h: f, l: m } = Oa(0 | x, 0 | d, 0 | z, 0 | C), x = 0 | l, d = 0 | u, l = 0 | i, u = 0 | s, i = 0 | n, s = 0 | a;
        const F = sB(C, U, L);
        n = lB(F, z, j, P), a = 0 | F;
      }
      ({ h: n, l: a } = Oa(0 | this.Ah, 0 | this.Al, 0 | n, 0 | a)), { h: i, l: s } = Oa(0 | this.Bh, 0 | this.Bl, 0 | i, 0 | s), { h: l, l: u } = Oa(0 | this.Ch, 0 | this.Cl, 0 | l, 0 | u), { h: x, l: d } = Oa(0 | this.Dh, 0 | this.Dl, 0 | x, 0 | d), { h: f, l: m } = Oa(0 | this.Eh, 0 | this.El, 0 | f, 0 | m), { h: p, l: g } = Oa(0 | this.Fh, 0 | this.Fl, 0 | p, 0 | g), { h: E, l: A } = Oa(0 | this.Gh, 0 | this.Gl, 0 | E, 0 | A), { h: w, l: D } = Oa(0 | this.Hh, 0 | this.Hl, 0 | w, 0 | D), this.set(n, a, i, s, l, u, x, d, f, m, p, g, E, A, w, D);
    }
    roundClean() {
      Fn(zi, Ui);
    }
    destroy() {
      Fn(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }
  }
  class gB extends ny {
    constructor() {
      super(48), this.Ah = 0 | wr[0], this.Al = 0 | wr[1], this.Bh = 0 | wr[2], this.Bl = 0 | wr[3], this.Ch = 0 | wr[4], this.Cl = 0 | wr[5], this.Dh = 0 | wr[6], this.Dl = 0 | wr[7], this.Eh = 0 | wr[8], this.El = 0 | wr[9], this.Fh = 0 | wr[10], this.Fl = 0 | wr[11], this.Gh = 0 | wr[12], this.Gl = 0 | wr[13], this.Hh = 0 | wr[14], this.Hl = 0 | wr[15];
    }
  }
  const I8 = oi((() => new ty())), yB = oi((() => new hB())), ay = oi((() => new ny())), iy = oi((() => new gB()));
  class oy extends k8 {
    constructor(t, r) {
      super(), this.finished = false, this.destroyed = false, Mg(t);
      const n = Bc(r);
      if (this.iHash = t.create(), typeof this.iHash.update != "function") throw Error("Expected instance of class which extends utils.Hash");
      this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
      const a = this.blockLen, i = new Uint8Array(a);
      i.set(n.length > a ? t.create().update(n).digest() : n);
      for (let s = 0; s < i.length; s++) i[s] ^= 54;
      this.iHash.update(i), this.oHash = t.create();
      for (let s = 0; s < i.length; s++) i[s] ^= 106;
      this.oHash.update(i), Fn(i);
    }
    update(t) {
      return u0(this), this.iHash.update(t), this;
    }
    digestInto(t) {
      u0(this), _a(t, this.outputLen), this.finished = true, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
    }
    digest() {
      const t = new Uint8Array(this.oHash.outputLen);
      return this.digestInto(t), t;
    }
    _cloneInto(t) {
      t || (t = Object.create(Object.getPrototypeOf(this), {}));
      const { oHash: r, iHash: n, finished: a, destroyed: i, blockLen: s, outputLen: l } = this;
      return t.finished = a, t.destroyed = i, t.blockLen = s, t.outputLen = l, t.oHash = r._cloneInto(t.oHash), t.iHash = n._cloneInto(t.iHash), t;
    }
    clone() {
      return this._cloneInto();
    }
    destroy() {
      this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
    }
  }
  const sy = (e, t, r) => new oy(e, t).update(r).digest();
  sy.create = (e, t) => new oy(e, t);
  const x0 = BigInt(0), No = BigInt(1);
  function td(e, t) {
    const r = t.negate();
    return e ? r : t;
  }
  function jo(e, t) {
    const r = Zg(e.Fp, t.map(((n) => n.Z)));
    return t.map(((n, a) => e.fromAffine(n.toAffine(r[a]))));
  }
  function ly(e, t) {
    if (!Number.isSafeInteger(e) || e <= 0 || e > t) throw Error("invalid window size, expected [1.." + t + "], got W=" + e);
  }
  function A1(e, t) {
    ly(e, t);
    const r = 2 ** e;
    return {
      windows: Math.ceil(t / e) + 1,
      windowSize: 2 ** (e - 1),
      mask: Cc(e),
      maxNumber: r,
      shiftBy: BigInt(e)
    };
  }
  function u2(e, t, r) {
    const { windowSize: n, mask: a, maxNumber: i, shiftBy: s } = r;
    let l = Number(e & a), u = e >> s;
    l > n && (l -= i, u += No);
    const x = t * n;
    return {
      nextN: u,
      offset: x + Math.abs(l) - 1,
      isZero: l === 0,
      isNeg: l < 0,
      isNegF: t % 2 != 0,
      offsetF: x
    };
  }
  const w1 = /* @__PURE__ */ new WeakMap(), cy = /* @__PURE__ */ new WeakMap();
  function v1(e) {
    return cy.get(e) || 1;
  }
  function x2(e) {
    if (e !== x0) throw Error("invalid wNAF");
  }
  class uy {
    constructor(t, r) {
      this.BASE = t.BASE, this.ZERO = t.ZERO, this.Fn = t.Fn, this.bits = r;
    }
    _unsafeLadder(t, r, n = this.ZERO) {
      let a = t;
      for (; r > x0; ) r & No && (n = n.add(a)), a = a.double(), r >>= No;
      return n;
    }
    precomputeWindow(t, r) {
      const { windows: n, windowSize: a } = A1(r, this.bits), i = [];
      let s = t, l = s;
      for (let u = 0; u < n; u++) {
        l = s, i.push(l);
        for (let x = 1; x < a; x++) l = l.add(s), i.push(l);
        s = l.double();
      }
      return i;
    }
    wNAF(t, r, n) {
      if (!this.Fn.isValid(n)) throw Error("invalid scalar");
      let a = this.ZERO, i = this.BASE;
      const s = A1(t, this.bits);
      for (let l = 0; l < s.windows; l++) {
        const { nextN: u, offset: x, isZero: d, isNeg: f, isNegF: m, offsetF: p } = u2(n, l, s);
        n = u, d ? i = i.add(td(m, r[p])) : a = a.add(td(f, r[x]));
      }
      return x2(n), {
        p: a,
        f: i
      };
    }
    wNAFUnsafe(t, r, n, a = this.ZERO) {
      const i = A1(t, this.bits);
      for (let s = 0; s < i.windows && n !== x0; s++) {
        const { nextN: l, offset: u, isZero: x, isNeg: d } = u2(n, s, i);
        if (n = l, !x) {
          const f = r[u];
          a = a.add(d ? f.negate() : f);
        }
      }
      return x2(n), a;
    }
    getPrecomputes(t, r, n) {
      let a = w1.get(r);
      return a || (a = this.precomputeWindow(r, t), t !== 1 && (typeof n == "function" && (a = n(a)), w1.set(r, a))), a;
    }
    cached(t, r, n) {
      const a = v1(t);
      return this.wNAF(a, this.getPrecomputes(a, t, n), r);
    }
    unsafe(t, r, n, a) {
      const i = v1(t);
      return i === 1 ? this._unsafeLadder(t, r, a) : this.wNAFUnsafe(i, this.getPrecomputes(i, t, n), r, a);
    }
    createCache(t, r) {
      ly(r, this.bits), cy.set(t, r), w1.delete(t);
    }
    hasCache(t) {
      return v1(t) !== 1;
    }
  }
  function xy(e, t, r, n) {
    (function(m, p) {
      if (!Array.isArray(m)) throw Error("array expected");
      m.forEach(((g, E) => {
        if (!(g instanceof p)) throw Error("invalid point at index " + E);
      }));
    })(r, e), (function(m, p) {
      if (!Array.isArray(m)) throw Error("array of scalars expected");
      m.forEach(((g, E) => {
        if (!p.isValid(g)) throw Error("invalid scalar at index " + E);
      }));
    })(n, t);
    const a = r.length, i = n.length;
    if (a !== i) throw Error("arrays of points and scalars must have equal length");
    const s = e.ZERO, l = Hg(BigInt(a));
    let u = 1;
    l > 12 ? u = l - 3 : l > 4 ? u = l - 2 : l > 0 && (u = 2);
    const x = Cc(u), d = Array(Number(x) + 1).fill(s);
    let f = s;
    for (let m = Math.floor((t.BITS - 1) / u) * u; m >= 0; m -= u) {
      d.fill(s);
      for (let g = 0; g < i; g++) {
        const E = n[g], A = Number(E >> BigInt(m) & x);
        d[A] = d[A].add(r[g]);
      }
      let p = s;
      for (let g = d.length - 1, E = s; g > 0; g--) E = E.add(d[g]), p = p.add(E);
      if (f = f.add(p), m !== 0) for (let g = 0; g < u; g++) f = f.double();
    }
    return f;
  }
  function d2(e, t, r) {
    if (t) {
      if (t.ORDER !== e) throw Error("Field.ORDER must match order: Fp == p, Fn == n");
      return (function(n) {
        g0(n, iB.reduce(((a, i) => (a[i] = "function", a)), {
          ORDER: "bigint",
          MASK: "bigint",
          BYTES: "number",
          BITS: "number"
        }));
      })(t), t;
    }
    return $r(e, {
      isLE: r
    });
  }
  function dy(e, t, r = {}, n) {
    if (n === void 0 && (n = e === "edwards"), !t || typeof t != "object") throw Error(`expected valid ${e} CURVE object`);
    for (const l of [
      "p",
      "n",
      "h"
    ]) {
      const u = t[l];
      if (!(typeof u == "bigint" && u > x0)) throw Error(`CURVE.${l} must be positive bigint`);
    }
    const a = d2(t.p, r.Fp, n), i = d2(t.n, r.Fn, n), s = [
      "Gx",
      "Gy",
      "a",
      e === "weierstrass" ? "b" : "d"
    ];
    for (const l of s) if (!a.isValid(t[l])) throw Error(`CURVE.${l} must be valid field element of CURVE.Fp`);
    return {
      CURVE: t = Object.freeze(Object.assign({}, t)),
      Fp: a,
      Fn: i
    };
  }
  const f2 = (e, t) => (e + (e >= 0 ? t : -t) / fy) / t;
  function Fp(e) {
    if (![
      "compact",
      "recovered",
      "der"
    ].includes(e)) throw Error('Signature format must be "compact", "recovered", or "der"');
    return e;
  }
  function B1(e, t) {
    const r = {};
    for (let n of Object.keys(t)) r[n] = e[n] === void 0 ? t[n] : e[n];
    return Go(r.lowS, "lowS"), Go(r.prehash, "prehash"), r.format !== void 0 && Fp(r.format), r;
  }
  const $a = {
    Err: class extends Error {
      constructor(e = "") {
        super(e);
      }
    },
    _tlv: {
      encode: (e, t) => {
        const { Err: r } = $a;
        if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
        if (1 & t.length) throw new r("tlv.encode: unpadded data");
        const n = t.length / 2, a = $u(n);
        if (a.length / 2 & 128) throw new r("tlv.encode: long form length too big");
        const i = n > 127 ? $u(a.length / 2 | 128) : "";
        return $u(e) + i + a + t;
      },
      decode(e, t) {
        const { Err: r } = $a;
        let n = 0;
        if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
        if (t.length < 2 || t[n++] !== e) throw new r("tlv.decode: wrong tlv");
        const a = t[n++];
        let i = 0;
        if (128 & a) {
          const l = 127 & a;
          if (!l) throw new r("tlv.decode(long): indefinite length not supported");
          if (l > 4) throw new r("tlv.decode(long): byte length is too big");
          const u = t.subarray(n, n + l);
          if (u.length !== l) throw new r("tlv.decode: length bytes not complete");
          if (u[0] === 0) throw new r("tlv.decode(long): zero leftmost byte");
          for (const x of u) i = i << 8 | x;
          if (n += l, i < 128) throw new r("tlv.decode(long): not minimal encoding");
        } else i = a;
        const s = t.subarray(n, n + i);
        if (s.length !== i) throw new r("tlv.decode: wrong value length");
        return {
          v: s,
          l: t.subarray(n + i)
        };
      }
    },
    _int: {
      encode(e) {
        const { Err: t } = $a;
        if (e < ei) throw new t("integer: negative integers are not allowed");
        let r = $u(e);
        if (8 & Number.parseInt(r[0], 16) && (r = "00" + r), 1 & r.length) throw new t("unexpected DER parsing assertion: unpadded hex");
        return r;
      },
      decode(e) {
        const { Err: t } = $a;
        if (128 & e[0]) throw new t("invalid signature integer: negative");
        if (e[0] === 0 && !(128 & e[1])) throw new t("invalid signature integer: unnecessary leading zero");
        return Id(e);
      }
    },
    toSig(e) {
      const { Err: t, _int: r, _tlv: n } = $a, a = Nt("signature", e), { v: i, l: s } = n.decode(48, a);
      if (s.length) throw new t("invalid signature: left bytes after parsing");
      const { v: l, l: u } = n.decode(2, i), { v: x, l: d } = n.decode(2, u);
      if (d.length) throw new t("invalid signature: left bytes after parsing");
      return {
        r: r.decode(l),
        s: r.decode(x)
      };
    },
    hexFromSig(e) {
      const { _tlv: t, _int: r } = $a, n = t.encode(2, r.encode(e.r)) + t.encode(2, r.encode(e.s));
      return t.encode(48, n);
    }
  }, ei = BigInt(0), Zs = BigInt(1), fy = BigInt(2), tx = BigInt(3), EB = BigInt(4);
  function Ys(e, t) {
    const { BYTES: r } = e;
    let n;
    if (typeof t == "bigint") n = t;
    else {
      let a = Nt("private key", t);
      try {
        n = e.fromBytes(a);
      } catch {
        throw Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`);
      }
    }
    if (!e.isValidNot0(n)) throw Error("invalid private key: out of range [1..N-1]");
    return n;
  }
  function bB(e, t = {}) {
    const r = dy("weierstrass", e, t), { Fp: n, Fn: a } = r;
    let i = r.CURVE;
    const { h: s, n: l } = i;
    g0(t, {}, {
      allowInfinityPoint: "boolean",
      clearCofactor: "function",
      isTorsionFree: "function",
      fromBytes: "function",
      toBytes: "function",
      endo: "object",
      wrapPrivateKey: "boolean"
    });
    const { endo: u } = t;
    if (u && (!n.is0(i.a) || typeof u.beta != "bigint" || !Array.isArray(u.basises))) throw Error('invalid endo: expected "beta": bigint and "basises": array');
    const x = py(n, a);
    function d() {
      if (!n.isOdd) throw Error("compression is not supported: Field does not have .isOdd()");
    }
    const f = t.toBytes || function(j, U, P) {
      const { x: L, y: F } = U.toAffine(), q = n.toBytes(L);
      return Go(P, "isCompressed"), P ? (d(), Gn(hy(!n.isOdd(F)), q)) : Gn(Uint8Array.of(4), q, n.toBytes(F));
    }, m = t.fromBytes || function(j) {
      Vn(j, void 0, "Point");
      const { publicKey: U, publicKeyUncompressed: P } = x, L = j.length, F = j[0], q = j.subarray(1);
      if (L !== U || F !== 2 && F !== 3) {
        if (L === P && F === 4) {
          const $ = n.BYTES, Y = n.fromBytes(q.subarray(0, $)), J = n.fromBytes(q.subarray($, 2 * $));
          if (!g(Y, J)) throw Error("bad point: is not on curve");
          return {
            x: Y,
            y: J
          };
        }
        throw Error(`bad point: got length ${L}, expected compressed=${U} or uncompressed=${P}`);
      }
      {
        const $ = n.fromBytes(q);
        if (!n.isValid($)) throw Error("bad point: is not on curve, wrong x");
        const Y = p($);
        let J;
        try {
          J = n.sqrt(Y);
        } catch (Q) {
          const Z = Q instanceof Error ? ": " + Q.message : "";
          throw Error("bad point: is not on curve, sqrt error" + Z);
        }
        return d(), !(1 & ~F) !== n.isOdd(J) && (J = n.neg(J)), {
          x: $,
          y: J
        };
      }
    };
    function p(j) {
      const U = n.sqr(j), P = n.mul(U, j);
      return n.add(n.add(P, n.mul(j, i.a)), i.b);
    }
    function g(j, U) {
      const P = n.sqr(U), L = p(j);
      return n.eql(P, L);
    }
    if (!g(i.Gx, i.Gy)) throw Error("bad curve params: generator point");
    const E = n.mul(n.pow(i.a, tx), EB), A = n.mul(n.sqr(i.b), BigInt(27));
    if (n.is0(n.add(E, A))) throw Error("bad curve params: a or b");
    function w(j, U, P = false) {
      if (!n.isValid(U) || P && n.is0(U)) throw Error("bad point coordinate " + j);
      return U;
    }
    function D(j) {
      if (!(j instanceof I)) throw Error("ProjectivePoint expected");
    }
    function B(j) {
      if (!u || !u.basises) throw Error("no endo");
      return (function(U, P, L) {
        const [[F, q], [$, Y]] = P, J = f2(Y * U, L), Q = f2(-q * U, L);
        let Z = U - J * F - Q * $, M = -J * q - Q * Y;
        const H = Z < ei, re = M < ei;
        H && (Z = -Z), re && (M = -M);
        const te = Cc(Math.ceil(Hg(L) / 2)) + Zs;
        if (Z < ei || Z >= te || M < ei || M >= te) throw Error("splitScalar (endomorphism): failed, k=" + U);
        return {
          k1neg: H,
          k1: Z,
          k2neg: re,
          k2: M
        };
      })(j, u.basises, a.ORDER);
    }
    const v = ed(((j, U) => {
      const { X: P, Y: L, Z: F } = j;
      if (n.eql(F, n.ONE)) return {
        x: P,
        y: L
      };
      const q = j.is0();
      U == null && (U = q ? n.ONE : n.inv(F));
      const $ = n.mul(P, U), Y = n.mul(L, U), J = n.mul(F, U);
      if (q) return {
        x: n.ZERO,
        y: n.ZERO
      };
      if (!n.eql(J, n.ONE)) throw Error("invZ was invalid");
      return {
        x: $,
        y: Y
      };
    })), _ = ed(((j) => {
      if (j.is0()) {
        if (t.allowInfinityPoint && !n.is0(j.Y)) return;
        throw Error("bad point: ZERO");
      }
      const { x: U, y: P } = j.toAffine();
      if (!n.isValid(U) || !n.isValid(P)) throw Error("bad point: x or y not field elements");
      if (!g(U, P)) throw Error("bad point: equation left != right");
      if (!j.isTorsionFree()) throw Error("bad point: not in prime-order subgroup");
      return true;
    }));
    function T(j, U, P, L, F) {
      return P = new I(n.mul(P.X, j), P.Y, P.Z), U = td(L, U), P = td(F, P), U.add(P);
    }
    class I {
      constructor(U, P, L) {
        this.X = w("x", U), this.Y = w("y", P, true), this.Z = w("z", L), Object.freeze(this);
      }
      static CURVE() {
        return i;
      }
      static fromAffine(U) {
        const { x: P, y: L } = U || {};
        if (!U || !n.isValid(P) || !n.isValid(L)) throw Error("invalid affine point");
        if (U instanceof I) throw Error("projective point not allowed");
        return n.is0(P) && n.is0(L) ? I.ZERO : new I(P, L, n.ONE);
      }
      static fromBytes(U) {
        const P = I.fromAffine(m(Vn(U, void 0, "point")));
        return P.assertValidity(), P;
      }
      static fromHex(U) {
        return I.fromBytes(Nt("pointHex", U));
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      precompute(U = 8, P = true) {
        return C.createCache(this, U), P || this.multiply(tx), this;
      }
      assertValidity() {
        _(this);
      }
      hasEvenY() {
        const { y: U } = this.toAffine();
        if (!n.isOdd) throw Error("Field doesn't support isOdd");
        return !n.isOdd(U);
      }
      equals(U) {
        D(U);
        const { X: P, Y: L, Z: F } = this, { X: q, Y: $, Z: Y } = U, J = n.eql(n.mul(P, Y), n.mul(q, F)), Q = n.eql(n.mul(L, Y), n.mul($, F));
        return J && Q;
      }
      negate() {
        return new I(this.X, n.neg(this.Y), this.Z);
      }
      double() {
        const { a: U, b: P } = i, L = n.mul(P, tx), { X: F, Y: q, Z: $ } = this;
        let Y = n.ZERO, J = n.ZERO, Q = n.ZERO, Z = n.mul(F, F), M = n.mul(q, q), H = n.mul($, $), re = n.mul(F, q);
        return re = n.add(re, re), Q = n.mul(F, $), Q = n.add(Q, Q), Y = n.mul(U, Q), J = n.mul(L, H), J = n.add(Y, J), Y = n.sub(M, J), J = n.add(M, J), J = n.mul(Y, J), Y = n.mul(re, Y), Q = n.mul(L, Q), H = n.mul(U, H), re = n.sub(Z, H), re = n.mul(U, re), re = n.add(re, Q), Q = n.add(Z, Z), Z = n.add(Q, Z), Z = n.add(Z, H), Z = n.mul(Z, re), J = n.add(J, Z), H = n.mul(q, $), H = n.add(H, H), Z = n.mul(H, re), Y = n.sub(Y, Z), Q = n.mul(H, M), Q = n.add(Q, Q), Q = n.add(Q, Q), new I(Y, J, Q);
      }
      add(U) {
        D(U);
        const { X: P, Y: L, Z: F } = this, { X: q, Y: $, Z: Y } = U;
        let J = n.ZERO, Q = n.ZERO, Z = n.ZERO;
        const M = i.a, H = n.mul(i.b, tx);
        let re = n.mul(P, q), te = n.mul(L, $), ae = n.mul(F, Y), xe = n.add(P, L), me = n.add(q, $);
        xe = n.mul(xe, me), me = n.add(re, te), xe = n.sub(xe, me), me = n.add(P, F);
        let fe = n.add(q, Y);
        return me = n.mul(me, fe), fe = n.add(re, ae), me = n.sub(me, fe), fe = n.add(L, F), J = n.add($, Y), fe = n.mul(fe, J), J = n.add(te, ae), fe = n.sub(fe, J), Z = n.mul(M, me), J = n.mul(H, ae), Z = n.add(J, Z), J = n.sub(te, Z), Z = n.add(te, Z), Q = n.mul(J, Z), te = n.add(re, re), te = n.add(te, re), ae = n.mul(M, ae), me = n.mul(H, me), te = n.add(te, ae), ae = n.sub(re, ae), ae = n.mul(M, ae), me = n.add(me, ae), re = n.mul(te, me), Q = n.add(Q, re), re = n.mul(fe, me), J = n.mul(xe, J), J = n.sub(J, re), re = n.mul(xe, te), Z = n.mul(fe, Z), Z = n.add(Z, re), new I(J, Q, Z);
      }
      subtract(U) {
        return this.add(U.negate());
      }
      is0() {
        return this.equals(I.ZERO);
      }
      multiply(U) {
        const { endo: P } = t;
        if (!a.isValidNot0(U)) throw Error("invalid scalar: out of range");
        let L, F;
        const q = ($) => C.cached(this, $, ((Y) => jo(I, Y)));
        if (P) {
          const { k1neg: $, k1: Y, k2neg: J, k2: Q } = B(U), { p: Z, f: M } = q(Y), { p: H, f: re } = q(Q);
          F = M.add(re), L = T(P.beta, Z, H, $, J);
        } else {
          const { p: $, f: Y } = q(U);
          L = $, F = Y;
        }
        return jo(I, [
          L,
          F
        ])[0];
      }
      multiplyUnsafe(U) {
        const { endo: P } = t, L = this;
        if (!a.isValid(U)) throw Error("invalid scalar: out of range");
        if (U === ei || L.is0()) return I.ZERO;
        if (U === Zs) return L;
        if (C.hasCache(this)) return this.multiply(U);
        if (P) {
          const { k1neg: F, k1: q, k2neg: $, k2: Y } = B(U), { p1: J, p2: Q } = (function(Z, M, H, re) {
            let te = M, ae = Z.ZERO, xe = Z.ZERO;
            for (; H > x0 || re > x0; ) H & No && (ae = ae.add(te)), re & No && (xe = xe.add(te)), te = te.double(), H >>= No, re >>= No;
            return {
              p1: ae,
              p2: xe
            };
          })(I, L, q, Y);
          return T(P.beta, J, Q, F, $);
        }
        return C.unsafe(L, U);
      }
      multiplyAndAddUnsafe(U, P, L) {
        const F = this.multiplyUnsafe(P).add(U.multiplyUnsafe(L));
        return F.is0() ? void 0 : F;
      }
      toAffine(U) {
        return v(this, U);
      }
      isTorsionFree() {
        const { isTorsionFree: U } = t;
        return s === Zs || (U ? U(I, this) : C.unsafe(this, l).is0());
      }
      clearCofactor() {
        const { clearCofactor: U } = t;
        return s === Zs ? this : U ? U(I, this) : this.multiplyUnsafe(s);
      }
      isSmallOrder() {
        return this.multiplyUnsafe(s).is0();
      }
      toBytes(U = true) {
        return Go(U, "isCompressed"), this.assertValidity(), f(I, this, U);
      }
      toHex(U = true) {
        return Ko(this.toBytes(U));
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      get px() {
        return this.X;
      }
      get py() {
        return this.X;
      }
      get pz() {
        return this.Z;
      }
      toRawBytes(U = true) {
        return this.toBytes(U);
      }
      _setWindowSize(U) {
        this.precompute(U);
      }
      static normalizeZ(U) {
        return jo(I, U);
      }
      static msm(U, P) {
        return xy(I, a, U, P);
      }
      static fromPrivateKey(U) {
        return I.BASE.multiply(Ys(a, U));
      }
    }
    I.BASE = new I(i.Gx, i.Gy, n.ONE), I.ZERO = new I(n.ZERO, n.ONE, n.ZERO), I.Fp = n, I.Fn = a;
    const z = a.BITS, C = new uy(I, t.endo ? Math.ceil(z / 2) : z);
    return I.BASE.precompute(8), I;
  }
  function hy(e) {
    return Uint8Array.of(e ? 2 : 3);
  }
  function py(e, t) {
    return {
      secretKey: t.BYTES,
      publicKey: 1 + e.BYTES,
      publicKeyUncompressed: 1 + 2 * e.BYTES,
      publicKeyHasPrefix: true,
      signature: 2 * t.BYTES
    };
  }
  function AB(e, t = {}) {
    const { Fn: r } = e, n = t.randomBytes || Sd, a = Object.assign(py(e.Fp, r), {
      seed: o2(r.ORDER)
    });
    function i(d) {
      try {
        return !!Ys(r, d);
      } catch {
        return false;
      }
    }
    function s(d = n(a.seed)) {
      return (function(f, m, p = false) {
        const g = f.length, E = $g(m), A = o2(m);
        if (g < 16 || g < A || g > 1024) throw Error("expected " + A + "-1024 bytes of input, got " + g);
        const w = Jt(p ? qo(f) : Id(f), m - Pr) + Pr;
        return p ? _8(w, E) : F8(w, E);
      })(Vn(d, a.seed, "seed"), r.ORDER);
    }
    function l(d, f = true) {
      return e.BASE.multiply(Ys(r, d)).toBytes(f);
    }
    function u(d) {
      if (typeof d == "bigint") return false;
      if (d instanceof e) return true;
      const { secretKey: f, publicKey: m, publicKeyUncompressed: p } = a;
      if (r.allowedLengths || f === m) return;
      const g = Nt("key", d).length;
      return g === m || g === p;
    }
    return Object.freeze({
      getPublicKey: l,
      getSharedSecret: function(d, f, m = true) {
        if (u(d) === true) throw Error("first arg must be private key");
        if (u(f) === false) throw Error("second arg must be public key");
        const p = Ys(r, d);
        return e.fromHex(f).multiply(p).toBytes(m);
      },
      keygen: function(d) {
        const f = s(d);
        return {
          secretKey: f,
          publicKey: l(f)
        };
      },
      Point: e,
      utils: {
        isValidSecretKey: i,
        isValidPublicKey: function(d, f) {
          const { publicKey: m, publicKeyUncompressed: p } = a;
          try {
            const g = d.length;
            return (f !== true || g === m) && (f !== false || g === p) && !!e.fromBytes(d);
          } catch {
            return false;
          }
        },
        randomSecretKey: s,
        isValidPrivateKey: i,
        randomPrivateKey: s,
        normPrivateKeyToScalar: (d) => Ys(r, d),
        precompute: (d = 8, f = e.BASE) => f.precompute(d, false)
      },
      lengths: a
    });
  }
  function wB(e, t, r = {}) {
    Mg(t), g0(r, {}, {
      hmac: "function",
      lowS: "boolean",
      randomBytes: "function",
      bits2int: "function",
      bits2int_modN: "function"
    });
    const n = r.randomBytes || Sd, a = r.hmac || ((z, ...C) => sy(t, z, Gn(...C))), { Fp: i, Fn: s } = e, { ORDER: l, BITS: u } = s, { keygen: x, getPublicKey: d, getSharedSecret: f, utils: m, lengths: p } = AB(e, r), g = {
      prehash: false,
      lowS: typeof r.lowS == "boolean" && r.lowS,
      format: void 0,
      extraEntropy: false
    }, E = "compact";
    function A(z) {
      return z > l >> Zs;
    }
    function w(z, C) {
      if (!s.isValidNot0(C)) throw Error(`invalid signature ${z}: out of range 1..Point.Fn.ORDER`);
      return C;
    }
    class D {
      constructor(C, j, U) {
        this.r = w("r", C), this.s = w("s", j), U != null && (this.recovery = U), Object.freeze(this);
      }
      static fromBytes(C, j = E) {
        let U;
        if ((function(q, $) {
          Fp($);
          const Y = p.signature;
          Vn(q, $ === "compact" ? Y : $ === "recovered" ? Y + 1 : void 0, $ + " signature");
        })(C, j), j === "der") {
          const { r: q, s: $ } = $a.toSig(Vn(C));
          return new D(q, $);
        }
        j === "recovered" && (U = C[0], j = "compact", C = C.subarray(1));
        const P = s.BYTES, L = C.subarray(0, P), F = C.subarray(P, 2 * P);
        return new D(s.fromBytes(L), s.fromBytes(F), U);
      }
      static fromHex(C, j) {
        return this.fromBytes(Jx(C), j);
      }
      addRecoveryBit(C) {
        return new D(this.r, this.s, C);
      }
      recoverPublicKey(C) {
        const j = i.ORDER, { r: U, s: P, recovery: L } = this;
        if (L == null || ![
          0,
          1,
          2,
          3
        ].includes(L)) throw Error("recovery id invalid");
        if (l * fy < j && L > 1) throw Error("recovery id is ambiguous for h>1 curve");
        const F = L === 2 || L === 3 ? U + l : U;
        if (!i.isValid(F)) throw Error("recovery id 2 or 3 invalid");
        const q = i.toBytes(F), $ = e.fromBytes(Gn(hy(!(1 & L)), q)), Y = s.inv(F), J = v(Nt("msgHash", C)), Q = s.create(-J * Y), Z = s.create(P * Y), M = e.BASE.multiplyUnsafe(Q).add($.multiplyUnsafe(Z));
        if (M.is0()) throw Error("point at infinify");
        return M.assertValidity(), M;
      }
      hasHighS() {
        return A(this.s);
      }
      toBytes(C = E) {
        if (Fp(C), C === "der") return Jx($a.hexFromSig(this));
        const j = s.toBytes(this.r), U = s.toBytes(this.s);
        if (C === "recovered") {
          if (this.recovery == null) throw Error("recovery bit must be present");
          return Gn(Uint8Array.of(this.recovery), j, U);
        }
        return Gn(j, U);
      }
      toHex(C) {
        return Ko(this.toBytes(C));
      }
      assertValidity() {
      }
      static fromCompact(C) {
        return D.fromBytes(Nt("sig", C), "compact");
      }
      static fromDER(C) {
        return D.fromBytes(Nt("sig", C), "der");
      }
      normalizeS() {
        return this.hasHighS() ? new D(this.r, s.neg(this.s), this.recovery) : this;
      }
      toDERRawBytes() {
        return this.toBytes("der");
      }
      toDERHex() {
        return Ko(this.toBytes("der"));
      }
      toCompactRawBytes() {
        return this.toBytes("compact");
      }
      toCompactHex() {
        return Ko(this.toBytes("compact"));
      }
    }
    const B = r.bits2int || function(z) {
      if (z.length > 8192) throw Error("input is too large");
      const C = Id(z), j = 8 * z.length - u;
      return j > 0 ? C >> BigInt(j) : C;
    }, v = r.bits2int_modN || function(z) {
      return s.create(B(z));
    }, _ = Cc(u);
    function T(z) {
      return rc("num < 2^" + u, z, ei, _), s.toBytes(z);
    }
    function I(z, C) {
      return Vn(z, void 0, "message"), C ? Vn(t(z), void 0, "prehashed message") : z;
    }
    return Object.freeze({
      keygen: x,
      getPublicKey: d,
      getSharedSecret: f,
      utils: m,
      lengths: p,
      Point: e,
      sign: function(z, C, j = {}) {
        z = Nt("message", z);
        const { seed: U, k2sig: P } = (function(F, q, $) {
          if ([
            "recovered",
            "canonical"
          ].some(((ae) => ae in $))) throw Error("sign() legacy options not supported");
          const { lowS: Y, prehash: J, extraEntropy: Q } = B1($, g);
          F = I(F, J);
          const Z = v(F), M = Ys(s, q), H = [
            T(M),
            T(Z)
          ];
          if (Q != null && Q !== false) {
            const ae = Q === true ? n(p.secretKey) : Q;
            H.push(Nt("extraEntropy", ae));
          }
          const re = Gn(...H), te = Z;
          return {
            seed: re,
            k2sig: function(ae) {
              const xe = B(ae);
              if (!s.isValidNot0(xe)) return;
              const me = s.inv(xe), fe = e.BASE.multiply(xe).toAffine(), ye = s.create(fe.x);
              if (ye === ei) return;
              const Ce = s.create(me * s.create(te + ye * M));
              if (Ce === ei) return;
              let ke = (fe.x === ye ? 0 : 2) | Number(fe.y & Zs), je = Ce;
              return Y && A(Ce) && (je = s.neg(Ce), ke ^= 1), new D(ye, je, ke);
            }
          };
        })(z, C, j);
        return (function(F, q, $) {
          if (typeof F != "number" || F < 2) throw Error("hashLen must be a number");
          if (typeof q != "number" || q < 2) throw Error("qByteLen must be a number");
          if (typeof $ != "function") throw Error("hmacFn must be a function");
          const Y = (xe) => new Uint8Array(xe), J = (xe) => Uint8Array.of(xe);
          let Q = Y(F), Z = Y(F), M = 0;
          const H = () => {
            Q.fill(1), Z.fill(0), M = 0;
          }, re = (...xe) => $(Z, Q, ...xe), te = (xe = Y(0)) => {
            Z = re(J(0), xe), Q = re(), xe.length !== 0 && (Z = re(J(1), xe), Q = re());
          }, ae = () => {
            if (M++ >= 1e3) throw Error("drbg: tried 1000 values");
            let xe = 0;
            const me = [];
            for (; xe < q; ) {
              Q = re();
              const fe = Q.slice();
              me.push(fe), xe += Q.length;
            }
            return Gn(...me);
          };
          return (xe, me) => {
            let fe;
            for (H(), te(xe); !(fe = me(ae())); ) te();
            return H(), fe;
          };
        })(t.outputLen, s.BYTES, a)(U, P);
      },
      verify: function(z, C, j, U = {}) {
        const { lowS: P, prehash: L, format: F } = B1(U, g);
        if (j = Nt("publicKey", j), C = I(Nt("message", C), L), "strict" in U) throw Error("options.strict was renamed to lowS");
        const q = F === void 0 ? (function($) {
          let Y;
          const J = typeof $ == "string" || vc($), Q = !J && $ !== null && typeof $ == "object" && typeof $.r == "bigint" && typeof $.s == "bigint";
          if (!J && !Q) throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");
          if (Q) Y = new D($.r, $.s);
          else if (J) {
            try {
              Y = D.fromBytes(Nt("sig", $), "der");
            } catch (Z) {
              if (!(Z instanceof $a.Err)) throw Z;
            }
            if (!Y) try {
              Y = D.fromBytes(Nt("sig", $), "compact");
            } catch {
              return false;
            }
          }
          return Y || false;
        })(z) : D.fromBytes(Nt("sig", z), F);
        if (q === false) return false;
        try {
          const $ = e.fromBytes(j);
          if (P && q.hasHighS()) return false;
          const { r: Y, s: J } = q, Q = v(C), Z = s.inv(J), M = s.create(Q * Z), H = s.create(Y * Z), re = e.BASE.multiplyUnsafe(M).add($.multiplyUnsafe(H));
          return re.is0() ? false : s.create(re.x) === Y;
        } catch {
          return false;
        }
      },
      recoverPublicKey: function(z, C, j = {}) {
        const { prehash: U } = B1(j, g);
        return C = I(C, U), D.fromBytes(z, "recovered").recoverPublicKey(C).toBytes();
      },
      Signature: D,
      hash: t
    });
  }
  function vB(e) {
    const { CURVE: t, curveOpts: r } = (function(a) {
      const i = {
        a: a.a,
        b: a.b,
        p: a.Fp.ORDER,
        n: a.n,
        h: a.h,
        Gx: a.Gx,
        Gy: a.Gy
      }, s = a.Fp;
      let l = a.allowedPrivateKeyLengths ? Array.from(new Set(a.allowedPrivateKeyLengths.map(((u) => Math.ceil(u / 2))))) : void 0;
      return {
        CURVE: i,
        curveOpts: {
          Fp: s,
          Fn: $r(i.n, {
            BITS: a.nBitLength,
            allowedLengths: l,
            modFromBytes: a.wrapPrivateKey
          }),
          allowInfinityPoint: a.allowInfinityPoint,
          endo: a.endo,
          isTorsionFree: a.isTorsionFree,
          clearCofactor: a.clearCofactor,
          fromBytes: a.fromBytes,
          toBytes: a.toBytes
        }
      };
    })(e), n = {
      hmac: e.hmac,
      randomBytes: e.randomBytes,
      lowS: e.lowS,
      bits2int: e.bits2int,
      bits2int_modN: e.bits2int_modN
    };
    return {
      CURVE: t,
      curveOpts: r,
      hash: e.hash,
      ecdsaOpts: n
    };
  }
  function BB(e) {
    const { CURVE: t, curveOpts: r, hash: n, ecdsaOpts: a } = vB(e);
    return (function(i, s) {
      const l = s.Point;
      return Object.assign({}, s, {
        ProjectivePoint: l,
        CURVE: Object.assign({}, i, Yg(l.Fn.ORDER, l.Fn.BITS))
      });
    })(e, wB(bB(t, r), n, a));
  }
  function rs(e, t) {
    const r = (n) => BB({
      ...e,
      hash: n
    });
    return {
      ...r(t),
      create: r
    };
  }
  const my = {
    p: BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),
    n: BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),
    h: BigInt(1),
    a: BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),
    b: BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),
    Gx: BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),
    Gy: BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")
  }, gy = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),
    n: BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),
    h: BigInt(1),
    a: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),
    b: BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),
    Gx: BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),
    Gy: BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")
  }, yy = {
    p: BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
    n: BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),
    h: BigInt(1),
    a: BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),
    b: BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),
    Gx: BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),
    Gy: BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")
  }, CB = $r(my.p), kB = $r(gy.p), DB = $r(yy.p), FB = rs({
    ...my,
    Fp: CB,
    lowS: false
  }, I8), _B = rs({
    ...gy,
    Fp: kB,
    lowS: false
  }, iy), SB = rs({
    ...yy,
    Fp: DB,
    lowS: false,
    allowedPrivateKeyLengths: [
      130,
      131,
      132
    ]
  }, ay), IB = BigInt(0), yl = BigInt(1), PB = BigInt(2), NB = BigInt(7), jB = BigInt(256), zB = BigInt(113), Ey = [], by = [], Ay = [];
  for (let e = 0, t = yl, r = 1, n = 0; e < 24; e++) {
    [r, n] = [
      n,
      (2 * r + 3 * n) % 5
    ], Ey.push(2 * (5 * n + r)), by.push((e + 1) * (e + 2) / 2 % 64);
    let a = IB;
    for (let i = 0; i < 7; i++) t = (t << yl ^ (t >> NB) * zB) % jB, t & PB && (a ^= yl << (yl << BigInt(i)) - yl);
    Ay.push(a);
  }
  const wy = ey(Ay, true), UB = wy[0], RB = wy[1], h2 = (e, t, r) => r > 32 ? ((n, a, i) => a << i - 32 | n >>> 64 - i)(e, t, r) : ((n, a, i) => n << i | a >>> 32 - i)(e, t, r), p2 = (e, t, r) => r > 32 ? ((n, a, i) => n << i - 32 | a >>> 64 - i)(e, t, r) : ((n, a, i) => a << i | n >>> 32 - i)(e, t, r);
  class Pd extends k8 {
    constructor(t, r, n, a = false, i = 24) {
      if (super(), this.pos = 0, this.posOut = 0, this.finished = false, this.destroyed = false, this.enableXOF = false, this.blockLen = t, this.suffix = r, this.outputLen = n, this.enableXOF = a, this.rounds = i, tc(n), !(0 < t && t < 200)) throw Error("only keccak-f1600 function is supported");
      var s;
      this.state = new Uint8Array(200), this.state32 = (s = this.state, new Uint32Array(s.buffer, s.byteOffset, Math.floor(s.byteLength / 4)));
    }
    clone() {
      return this._cloneInto();
    }
    keccak() {
      Y3(this.state32), (function(t, r = 24) {
        const n = new Uint32Array(10);
        for (let a = 24 - r; a < 24; a++) {
          for (let l = 0; l < 10; l++) n[l] = t[l] ^ t[l + 10] ^ t[l + 20] ^ t[l + 30] ^ t[l + 40];
          for (let l = 0; l < 10; l += 2) {
            const u = (l + 8) % 10, x = (l + 2) % 10, d = n[x], f = n[x + 1], m = h2(d, f, 1) ^ n[u], p = p2(d, f, 1) ^ n[u + 1];
            for (let g = 0; g < 50; g += 10) t[l + g] ^= m, t[l + g + 1] ^= p;
          }
          let i = t[2], s = t[3];
          for (let l = 0; l < 24; l++) {
            const u = by[l], x = h2(i, s, u), d = p2(i, s, u), f = Ey[l];
            i = t[f], s = t[f + 1], t[f] = x, t[f + 1] = d;
          }
          for (let l = 0; l < 50; l += 10) {
            for (let u = 0; u < 10; u++) n[u] = t[l + u];
            for (let u = 0; u < 10; u++) t[l + u] ^= ~n[(u + 2) % 10] & n[(u + 4) % 10];
          }
          t[0] ^= UB[a], t[1] ^= RB[a];
        }
        Fn(n);
      })(this.state32, this.rounds), Y3(this.state32), this.posOut = 0, this.pos = 0;
    }
    update(t) {
      u0(this), _a(t = Bc(t));
      const { blockLen: r, state: n } = this, a = t.length;
      for (let i = 0; i < a; ) {
        const s = Math.min(r - this.pos, a - i);
        for (let l = 0; l < s; l++) n[this.pos++] ^= t[i++];
        this.pos === r && this.keccak();
      }
      return this;
    }
    finish() {
      if (this.finished) return;
      this.finished = true;
      const { state: t, suffix: r, pos: n, blockLen: a } = this;
      t[n] ^= r, 128 & r && n === a - 1 && this.keccak(), t[a - 1] ^= 128, this.keccak();
    }
    writeInto(t) {
      u0(this, false), _a(t), this.finish();
      const r = this.state, { blockLen: n } = this;
      for (let a = 0, i = t.length; a < i; ) {
        this.posOut >= n && this.keccak();
        const s = Math.min(n - this.posOut, i - a);
        t.set(r.subarray(this.posOut, this.posOut + s), a), this.posOut += s, a += s;
      }
      return t;
    }
    xofInto(t) {
      if (!this.enableXOF) throw Error("XOF is not possible for this instance");
      return this.writeInto(t);
    }
    xof(t) {
      return tc(t), this.xofInto(new Uint8Array(t));
    }
    digestInto(t) {
      if (Kg(t, this), this.finished) throw Error("digest() was already called");
      return this.writeInto(t), this.destroy(), t;
    }
    digest() {
      return this.digestInto(new Uint8Array(this.outputLen));
    }
    destroy() {
      this.destroyed = true, Fn(this.state);
    }
    _cloneInto(t) {
      const { blockLen: r, suffix: n, outputLen: a, rounds: i, enableXOF: s } = this;
      return t || (t = new Pd(r, n, a, s, i)), t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = i, t.suffix = n, t.outputLen = a, t.enableXOF = s, t.destroyed = this.destroyed, t;
    }
  }
  const vy = (e, t, r) => oi((() => new Pd(t, e, r))), TB = vy(6, 136, 32), MB = vy(6, 72, 64), KB = (e, t, r) => (function(n) {
    const a = (s, l) => n(l).update(Bc(s)).digest(), i = n({});
    return a.outputLen = i.outputLen, a.blockLen = i.blockLen, a.create = (s) => n(s), a;
  })(((n = {}) => new Pd(t, e, n.dkLen === void 0 ? r : n.dkLen, true))), LB = KB(31, 136, 32), Ri = BigInt(0), ir = BigInt(1), C1 = BigInt(2), OB = BigInt(8);
  function By(e, t = {}) {
    const r = dy("edwards", e, t, t.FpFnLE), { Fp: n, Fn: a } = r;
    let i = r.CURVE;
    const { h: s } = i;
    g0(t, {}, {
      uvRatio: "function"
    });
    const l = C1 << BigInt(8 * a.BYTES) - ir, u = (A) => n.create(A), x = t.uvRatio || ((A, w) => {
      try {
        return {
          isValid: true,
          value: n.sqrt(n.div(A, w))
        };
      } catch {
        return {
          isValid: false,
          value: Ri
        };
      }
    });
    if (!(function(A, w, D, B) {
      const v = A.sqr(D), _ = A.sqr(B), T = A.add(A.mul(w.a, v), _), I = A.add(A.ONE, A.mul(w.d, A.mul(v, _)));
      return A.eql(T, I);
    })(n, i, i.Gx, i.Gy)) throw Error("bad curve params: generator point");
    function d(A, w, D = false) {
      return rc("coordinate " + A, w, D ? ir : Ri, l), w;
    }
    function f(A) {
      if (!(A instanceof g)) throw Error("ExtendedPoint expected");
    }
    const m = ed(((A, w) => {
      const { X: D, Y: B, Z: v } = A, _ = A.is0();
      w == null && (w = _ ? OB : n.inv(v));
      const T = u(D * w), I = u(B * w), z = n.mul(v, w);
      if (_) return {
        x: Ri,
        y: ir
      };
      if (z !== ir) throw Error("invZ was invalid");
      return {
        x: T,
        y: I
      };
    })), p = ed(((A) => {
      const { a: w, d: D } = i;
      if (A.is0()) throw Error("bad point: ZERO");
      const { X: B, Y: v, Z: _, T } = A, I = u(B * B), z = u(v * v), C = u(_ * _), j = u(C * C), U = u(I * w);
      if (u(C * u(U + z)) !== u(j + u(D * u(I * z)))) throw Error("bad point: equation left != right (1)");
      if (u(B * v) !== u(_ * T)) throw Error("bad point: equation left != right (2)");
      return true;
    }));
    class g {
      constructor(w, D, B, v) {
        this.X = d("x", w), this.Y = d("y", D), this.Z = d("z", B, true), this.T = d("t", v), Object.freeze(this);
      }
      static CURVE() {
        return i;
      }
      static fromAffine(w) {
        if (w instanceof g) throw Error("extended point not allowed");
        const { x: D, y: B } = w || {};
        return d("x", D), d("y", B), new g(D, B, ir, u(D * B));
      }
      static fromBytes(w, D = false) {
        const B = n.BYTES, { a: v, d: _ } = i;
        w = t2(Vn(w, B, "point")), Go(D, "zip215");
        const T = t2(w), I = w[B - 1];
        T[B - 1] = -129 & I;
        const z = qo(T), C = D ? l : n.ORDER;
        rc("point.y", z, Ri, C);
        const j = u(z * z), U = u(j - ir), P = u(_ * j - v);
        let { isValid: L, value: F } = x(U, P);
        if (!L) throw Error("bad point: invalid y coordinate");
        const q = (F & ir) === ir, $ = !!(128 & I);
        if (!D && F === Ri && $) throw Error("bad point: x=0 and x_0=1");
        return $ !== q && (F = u(-F)), g.fromAffine({
          x: F,
          y: z
        });
      }
      static fromHex(w, D = false) {
        return g.fromBytes(Nt("point", w), D);
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      precompute(w = 8, D = true) {
        return E.createCache(this, w), D || this.multiply(C1), this;
      }
      assertValidity() {
        p(this);
      }
      equals(w) {
        f(w);
        const { X: D, Y: B, Z: v } = this, { X: _, Y: T, Z: I } = w, z = u(D * I), C = u(_ * v), j = u(B * I), U = u(T * v);
        return z === C && j === U;
      }
      is0() {
        return this.equals(g.ZERO);
      }
      negate() {
        return new g(u(-this.X), this.Y, this.Z, u(-this.T));
      }
      double() {
        const { a: w } = i, { X: D, Y: B, Z: v } = this, _ = u(D * D), T = u(B * B), I = u(C1 * u(v * v)), z = u(w * _), C = D + B, j = u(u(C * C) - _ - T), U = z + T, P = U - I, L = z - T, F = u(j * P), q = u(U * L), $ = u(j * L), Y = u(P * U);
        return new g(F, q, Y, $);
      }
      add(w) {
        f(w);
        const { a: D, d: B } = i, { X: v, Y: _, Z: T, T: I } = this, { X: z, Y: C, Z: j, T: U } = w, P = u(v * z), L = u(_ * C), F = u(I * B * U), q = u(T * j), $ = u((v + _) * (z + C) - P - L), Y = q - F, J = q + F, Q = u(L - D * P), Z = u($ * Y), M = u(J * Q), H = u($ * Q), re = u(Y * J);
        return new g(Z, M, re, H);
      }
      subtract(w) {
        return this.add(w.negate());
      }
      multiply(w) {
        if (!a.isValidNot0(w)) throw Error("invalid scalar: expected 1 <= sc < curve.n");
        const { p: D, f: B } = E.cached(this, w, ((v) => jo(g, v)));
        return jo(g, [
          D,
          B
        ])[0];
      }
      multiplyUnsafe(w, D = g.ZERO) {
        if (!a.isValid(w)) throw Error("invalid scalar: expected 0 <= sc < curve.n");
        return w === Ri ? g.ZERO : this.is0() || w === ir ? this : E.unsafe(this, w, ((B) => jo(g, B)), D);
      }
      isSmallOrder() {
        return this.multiplyUnsafe(s).is0();
      }
      isTorsionFree() {
        return E.unsafe(this, i.n).is0();
      }
      toAffine(w) {
        return m(this, w);
      }
      clearCofactor() {
        return s === ir ? this : this.multiplyUnsafe(s);
      }
      toBytes() {
        const { x: w, y: D } = this.toAffine(), B = n.toBytes(D);
        return B[B.length - 1] |= w & ir ? 128 : 0, B;
      }
      toHex() {
        return Ko(this.toBytes());
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      get ex() {
        return this.X;
      }
      get ey() {
        return this.Y;
      }
      get ez() {
        return this.Z;
      }
      get et() {
        return this.T;
      }
      static normalizeZ(w) {
        return jo(g, w);
      }
      static msm(w, D) {
        return xy(g, a, w, D);
      }
      _setWindowSize(w) {
        this.precompute(w);
      }
      toRawBytes() {
        return this.toBytes();
      }
    }
    g.BASE = new g(i.Gx, i.Gy, ir, u(i.Gx * i.Gy)), g.ZERO = new g(Ri, ir, ir, Ri), g.Fp = n, g.Fn = a;
    const E = new uy(g, a.BITS);
    return g.BASE.precompute(8), g;
  }
  function HB(e, t, r = {}) {
    if (typeof t != "function") throw Error('"hash" function param is required');
    g0(r, {}, {
      adjustScalarBytes: "function",
      randomBytes: "function",
      domain: "function",
      prehash: "function",
      mapToCurve: "function"
    });
    const { prehash: n } = r, { BASE: a, Fp: i, Fn: s } = e, l = r.randomBytes || Sd, u = r.adjustScalarBytes || ((B) => B), x = r.domain || ((B, v, _) => {
      if (Go(_, "phflag"), v.length || _) throw Error("Contexts/pre-hash are not supported");
      return B;
    });
    function d(B) {
      return s.create(qo(B));
    }
    function f(B) {
      const { head: v, prefix: _, scalar: T } = (function(C) {
        const j = A.secretKey;
        C = Nt("private key", C, j);
        const U = Nt("hashed private key", t(C), 2 * j), P = u(U.slice(0, j));
        return {
          head: P,
          prefix: U.slice(j, 2 * j),
          scalar: d(P)
        };
      })(B), I = a.multiply(T), z = I.toBytes();
      return {
        head: v,
        prefix: _,
        scalar: T,
        point: I,
        pointBytes: z
      };
    }
    function m(B) {
      return f(B).pointBytes;
    }
    function p(B = Uint8Array.of(), ...v) {
      const _ = Gn(...v);
      return d(t(x(_, Nt("context", B), !!n)));
    }
    const g = {
      zip215: true
    }, E = i.BYTES, A = {
      secretKey: E,
      publicKey: E,
      signature: 2 * E,
      seed: E
    };
    function w(B = l(A.seed)) {
      return Vn(B, A.seed, "seed");
    }
    const D = {
      getExtendedPublicKey: f,
      randomSecretKey: w,
      isValidSecretKey: function(B) {
        return vc(B) && B.length === s.BYTES;
      },
      isValidPublicKey: function(B, v) {
        try {
          return !!e.fromBytes(B, v);
        } catch {
          return false;
        }
      },
      toMontgomery(B) {
        const { y: v } = e.fromBytes(B), _ = A.publicKey, T = _ === 32;
        if (!T && _ !== 57) throw Error("only defined for 25519 and 448");
        const I = T ? i.div(ir + v, ir - v) : i.div(v - ir, v + ir);
        return i.toBytes(I);
      },
      toMontgomerySecret(B) {
        const v = A.secretKey;
        Vn(B, v);
        const _ = t(B.subarray(0, v));
        return u(_).subarray(0, v);
      },
      randomPrivateKey: w,
      precompute: (B = 8, v = e.BASE) => v.precompute(B, false)
    };
    return Object.freeze({
      keygen: function(B) {
        const v = D.randomSecretKey(B);
        return {
          secretKey: v,
          publicKey: m(v)
        };
      },
      getPublicKey: m,
      sign: function(B, v, _ = {}) {
        B = Nt("message", B), n && (B = n(B));
        const { prefix: T, scalar: I, pointBytes: z } = f(v), C = p(_.context, T, B), j = a.multiply(C).toBytes(), U = p(_.context, j, z, B), P = s.create(C + U * I);
        if (!s.isValid(P)) throw Error("sign failed: invalid s");
        return Vn(Gn(j, s.toBytes(P)), A.signature, "result");
      },
      verify: function(B, v, _, T = g) {
        const { context: I, zip215: z } = T, C = A.signature;
        B = Nt("signature", B, C), v = Nt("message", v), _ = Nt("publicKey", _, A.publicKey), z !== void 0 && Go(z, "zip215"), n && (v = n(v));
        const j = C / 2, U = B.subarray(0, j), P = qo(B.subarray(j, C));
        let L, F, q;
        try {
          L = e.fromBytes(_, z), F = e.fromBytes(U, z), q = a.multiplyUnsafe(P);
        } catch {
          return false;
        }
        if (!z && L.isSmallOrder()) return false;
        const $ = p(I, F.toBytes(), L.toBytes(), v);
        return F.add(L.multiplyUnsafe($)).subtract(q).clearCofactor().is0();
      },
      utils: D,
      Point: e,
      lengths: A
    });
  }
  const El = BigInt(0), Ns = BigInt(1), rx = BigInt(2);
  function QB(e) {
    const t = (g0(r = e, {
      adjustScalarBytes: "function",
      powPminus2: "function"
    }), Object.freeze({
      ...r
    }));
    var r;
    const { P: n, type: a, adjustScalarBytes: i, powPminus2: s, randomBytes: l } = t, u = a === "x25519";
    if (!u && a !== "x448") throw Error("invalid type");
    const x = l || Sd, d = u ? 255 : 448, f = u ? 32 : 56, m = BigInt(u ? 9 : 5), p = BigInt(u ? 121665 : 39081), g = u ? rx ** BigInt(254) : rx ** BigInt(447), E = u ? BigInt(8) * rx ** BigInt(251) - Ns : BigInt(4) * rx ** BigInt(445) - Ns, A = g + E + Ns, w = (C) => Jt(C, n), D = B(m);
    function B(C) {
      return _8(w(C), f);
    }
    function v(C, j) {
      const U = (function(P, L) {
        rc("u", P, El, n), rc("scalar", L, g, A);
        const F = L, q = P;
        let $ = Ns, Y = El, J = P, Q = Ns, Z = El;
        for (let H = BigInt(d - 1); H >= El; H--) {
          const re = F >> H & Ns;
          Z ^= re, { x_2: $, x_3: J } = T(Z, $, J), { x_2: Y, x_3: Q } = T(Z, Y, Q), Z = re;
          const te = $ + Y, ae = w(te * te), xe = $ - Y, me = w(xe * xe), fe = ae - me, ye = J + Q, Ce = w((J - Q) * te), ke = w(ye * xe), je = Ce + ke, Re = Ce - ke;
          J = w(je * je), Q = w(q * w(Re * Re)), $ = w(ae * me), Y = w(fe * (ae + w(p * fe)));
        }
        ({ x_2: $, x_3: J } = T(Z, $, J)), { x_2: Y, x_3: Q } = T(Z, Y, Q);
        const M = s(Y);
        return w($ * M);
      })((function(P) {
        const L = Nt("u coordinate", P, f);
        return u && (L[31] &= 127), w(qo(L));
      })(j), (function(P) {
        return qo(i(Nt("scalar", P, f)));
      })(C));
      if (U === El) throw Error("invalid private or public key received");
      return B(U);
    }
    function _(C) {
      return v(C, D);
    }
    function T(C, j, U) {
      const P = w(C * (j - U));
      return {
        x_2: j = w(j - P),
        x_3: U = w(U + P)
      };
    }
    const I = {
      secretKey: f,
      publicKey: f,
      seed: f
    }, z = (C = x(f)) => (_a(C, I.seed), C);
    return {
      keygen: function(C) {
        const j = z(C);
        return {
          secretKey: j,
          publicKey: _(j)
        };
      },
      getSharedSecret: (C, j) => v(C, j),
      getPublicKey: (C) => _(C),
      scalarMult: v,
      scalarMultBase: _,
      utils: {
        randomSecretKey: z,
        randomPrivateKey: z
      },
      GuBytes: D.slice(),
      lengths: I
    };
  }
  const ns = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
    n: BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),
    h: BigInt(4),
    a: BigInt(1),
    d: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),
    Gx: BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),
    Gy: BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")
  }, GB = Object.assign({}, ns, {
    d: BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),
    Gx: BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),
    Gy: BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")
  }), qB = oi((() => LB.create({
    dkLen: 114
  }))), VB = BigInt(1), _p = BigInt(2), m2 = BigInt(3);
  BigInt(4);
  const WB = BigInt(11), ZB = BigInt(22), g2 = BigInt(44), YB = BigInt(88), $B = BigInt(223);
  function Cy(e) {
    const t = ns.p, r = e * e * e % t, n = r * r * e % t, a = Pt(n, m2, t) * n % t, i = Pt(a, m2, t) * n % t, s = Pt(i, _p, t) * r % t, l = Pt(s, WB, t) * s % t, u = Pt(l, ZB, t) * l % t, x = Pt(u, g2, t) * u % t, d = Pt(x, YB, t) * x % t, f = Pt(d, g2, t) * u % t, m = Pt(f, _p, t) * r % t, p = Pt(m, VB, t) * e % t;
    return Pt(p, $B, t) * m % t;
  }
  function ky(e) {
    return e[0] &= 252, e[55] |= 128, e[56] = 0, e;
  }
  function XB(e, t) {
    const r = ns.p, n = Jt(e * e * t, r), a = Jt(n * e, r), i = Jt(a * n * t, r), s = Jt(a * Cy(i), r), l = Jt(s * s, r);
    return {
      isValid: Jt(l * t, r) === e,
      value: s
    };
  }
  const JB = $r(ns.p, {
    BITS: 456,
    isLE: true
  }), y2 = $r(ns.n, {
    BITS: 456,
    isLE: true
  });
  function eC(e, t, r) {
    if (t.length > 255) throw Error("context must be smaller than 255, got: " + t.length);
    return Gn((n = "SigEd448", Uint8Array.from(n, ((a, i) => {
      const s = a.charCodeAt(0);
      if (a.length !== 1 || s > 127) throw Error(`string contains non-ASCII character "${n[i]}" with code ${s} at position ${i}`);
      return s;
    }))), new Uint8Array([
      r ? 1 : 0,
      t.length
    ]), t, e);
    var n;
  }
  const tC = (function(e) {
    const { CURVE: t, curveOpts: r, hash: n, eddsaOpts: a } = (function(i) {
      const s = {
        a: i.a,
        d: i.d,
        p: i.Fp.ORDER,
        n: i.n,
        h: i.h,
        Gx: i.Gx,
        Gy: i.Gy
      }, l = {
        Fp: i.Fp,
        Fn: $r(s.n, i.nBitLength, true),
        uvRatio: i.uvRatio
      }, u = {
        randomBytes: i.randomBytes,
        adjustScalarBytes: i.adjustScalarBytes,
        domain: i.domain,
        prehash: i.prehash,
        mapToCurve: i.mapToCurve
      };
      return {
        CURVE: s,
        curveOpts: l,
        hash: i.hash,
        eddsaOpts: u
      };
    })(e);
    return (function(i, s) {
      const l = s.Point;
      return Object.assign({}, s, {
        ExtendedPoint: l,
        CURVE: i,
        nBitLength: l.Fn.BITS,
        nByteLength: l.Fn.BYTES
      });
    })(e, HB(By(t, r), n, a));
  })({
    ...ns,
    Fp: JB,
    Fn: y2,
    nBitLength: y2.BITS,
    hash: qB,
    adjustScalarBytes: ky,
    domain: eC,
    uvRatio: XB
  });
  By(GB);
  const rC = (() => {
    const e = ns.p;
    return QB({
      P: e,
      type: "x448",
      powPminus2: (t) => Jt(Pt(Cy(t), _p, e) * t, e),
      adjustScalarBytes: ky
    });
  })(), Sp = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),
    n: BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),
    h: BigInt(1),
    a: BigInt(0),
    b: BigInt(7),
    Gx: BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),
    Gy: BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")
  }, nC = {
    beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),
    basises: [
      [
        BigInt("0x3086d221a7d46bcde86c90e49284eb15"),
        -BigInt("0xe4437ed6010e88286f547fa90abfe4c3")
      ],
      [
        BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),
        BigInt("0x3086d221a7d46bcde86c90e49284eb15")
      ]
    ]
  }, E2 = BigInt(2);
  const Ip = $r(Sp.p, {
    sqrt: function(e) {
      const t = Sp.p, r = BigInt(3), n = BigInt(6), a = BigInt(11), i = BigInt(22), s = BigInt(23), l = BigInt(44), u = BigInt(88), x = e * e * e % t, d = x * x * e % t, f = Pt(d, r, t) * d % t, m = Pt(f, r, t) * d % t, p = Pt(m, E2, t) * x % t, g = Pt(p, a, t) * p % t, E = Pt(g, i, t) * g % t, A = Pt(E, l, t) * E % t, w = Pt(A, u, t) * A % t, D = Pt(w, l, t) * E % t, B = Pt(D, r, t) * d % t, v = Pt(B, s, t) * g % t, _ = Pt(v, n, t) * x % t, T = Pt(_, E2, t);
      if (!Ip.eql(Ip.sqr(T), e)) throw Error("Cannot find square root");
      return T;
    }
  }), aC = rs({
    ...Sp,
    Fp: Ip,
    lowS: true,
    endo: nC
  }, I8), Dy = I8, iC = yB, b2 = $r(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")), oC = rs({
    a: b2.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),
    b: BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),
    Fp: b2,
    n: BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),
    Gx: BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),
    Gy: BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),
    h: BigInt(1),
    lowS: false
  }, Dy), Fy = ay, _y = iy, A2 = $r(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")), sC = rs({
    a: A2.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),
    b: BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),
    Fp: A2,
    n: BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),
    Gx: BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),
    Gy: BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),
    h: BigInt(1),
    lowS: false
  }, _y), w2 = $r(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")), lC = rs({
    a: w2.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),
    b: BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),
    Fp: w2,
    n: BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),
    Gx: BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),
    Gy: BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),
    h: BigInt(1),
    lowS: false
  }, Fy), cC = new Map(Object.entries({
    nistP256: FB,
    nistP384: _B,
    nistP521: SB,
    brainpoolP256r1: oC,
    brainpoolP384r1: sC,
    brainpoolP512r1: lC,
    secp256k1: aC,
    x448: rC,
    ed448: tC
  }));
  var uC = Object.freeze({
    __proto__: null,
    nobleCurves: cC
  });
  const bl = Uint32Array.from([
    1732584193,
    4023233417,
    2562383102,
    271733878,
    3285377520
  ]), Ti = new Uint32Array(80);
  class xC extends kc {
    constructor() {
      super(64, 20, 8, false), this.A = 0 | bl[0], this.B = 0 | bl[1], this.C = 0 | bl[2], this.D = 0 | bl[3], this.E = 0 | bl[4];
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a, this.E = 0 | i;
    }
    process(t, r) {
      for (let u = 0; u < 16; u++, r += 4) Ti[u] = t.getUint32(r, false);
      for (let u = 16; u < 80; u++) Ti[u] = Wi(Ti[u - 3] ^ Ti[u - 8] ^ Ti[u - 14] ^ Ti[u - 16], 1);
      let { A: n, B: a, C: i, D: s, E: l } = this;
      for (let u = 0; u < 80; u++) {
        let x, d;
        u < 20 ? (x = Xg(a, i, s), d = 1518500249) : u < 40 ? (x = a ^ i ^ s, d = 1859775393) : u < 60 ? (x = Jg(a, i, s), d = 2400959708) : (x = a ^ i ^ s, d = 3395469782);
        const f = Wi(n, 5) + x + l + d + Ti[u] | 0;
        l = s, s = i, i = Wi(a, 30), a = n, n = f;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, s = s + this.D | 0, l = l + this.E | 0, this.set(n, a, i, s, l);
    }
    roundClean() {
      Fn(Ti);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0), Fn(this.buffer);
    }
  }
  const dC = oi((() => new xC())), fC = Uint8Array.from([
    7,
    4,
    13,
    1,
    10,
    6,
    15,
    3,
    12,
    0,
    9,
    5,
    2,
    14,
    11,
    8
  ]), Sy = Uint8Array.from(Array(16).fill(0).map(((e, t) => t))), hC = Sy.map(((e) => (9 * e + 5) % 16)), Iy = (() => {
    const e = [
      [
        Sy
      ],
      [
        hC
      ]
    ];
    for (let t = 0; t < 4; t++) for (let r of e) r.push(r[t].map(((n) => fC[n])));
    return e;
  })(), Py = Iy[0], Ny = Iy[1], jy = [
    [
      11,
      14,
      15,
      12,
      5,
      8,
      7,
      9,
      11,
      13,
      14,
      15,
      6,
      7,
      9,
      8
    ],
    [
      12,
      13,
      11,
      15,
      6,
      9,
      9,
      7,
      12,
      15,
      11,
      13,
      7,
      8,
      7,
      7
    ],
    [
      13,
      15,
      14,
      11,
      7,
      7,
      6,
      8,
      13,
      14,
      13,
      12,
      5,
      5,
      6,
      9
    ],
    [
      14,
      11,
      12,
      14,
      8,
      6,
      5,
      5,
      15,
      12,
      15,
      14,
      9,
      9,
      8,
      6
    ],
    [
      15,
      12,
      13,
      13,
      9,
      5,
      8,
      6,
      14,
      11,
      12,
      11,
      8,
      6,
      5,
      5
    ]
  ].map(((e) => Uint8Array.from(e))), pC = Py.map(((e, t) => e.map(((r) => jy[t][r])))), mC = Ny.map(((e, t) => e.map(((r) => jy[t][r])))), gC = Uint32Array.from([
    0,
    1518500249,
    1859775393,
    2400959708,
    2840853838
  ]), yC = Uint32Array.from([
    1352829926,
    1548603684,
    1836072691,
    2053994217,
    0
  ]);
  function v2(e, t, r, n) {
    return e === 0 ? t ^ r ^ n : e === 1 ? t & r | ~t & n : e === 2 ? (t | ~r) ^ n : e === 3 ? t & n | r & ~n : t ^ (r | ~n);
  }
  const nx = new Uint32Array(16);
  class EC extends kc {
    constructor() {
      super(64, 20, 8, true), this.h0 = 1732584193, this.h1 = -271733879, this.h2 = -1732584194, this.h3 = 271733878, this.h4 = -1009589776;
    }
    get() {
      const { h0: t, h1: r, h2: n, h3: a, h4: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.h0 = 0 | t, this.h1 = 0 | r, this.h2 = 0 | n, this.h3 = 0 | a, this.h4 = 0 | i;
    }
    process(t, r) {
      for (let p = 0; p < 16; p++, r += 4) nx[p] = t.getUint32(r, true);
      let n = 0 | this.h0, a = n, i = 0 | this.h1, s = i, l = 0 | this.h2, u = l, x = 0 | this.h3, d = x, f = 0 | this.h4, m = f;
      for (let p = 0; p < 5; p++) {
        const g = 4 - p, E = gC[p], A = yC[p], w = Py[p], D = Ny[p], B = pC[p], v = mC[p];
        for (let _ = 0; _ < 16; _++) {
          const T = Wi(n + v2(p, i, l, x) + nx[w[_]] + E, B[_]) + f | 0;
          n = f, f = x, x = 0 | Wi(l, 10), l = i, i = T;
        }
        for (let _ = 0; _ < 16; _++) {
          const T = Wi(a + v2(g, s, u, d) + nx[D[_]] + A, v[_]) + m | 0;
          a = m, m = d, d = 0 | Wi(u, 10), u = s, s = T;
        }
      }
      this.set(this.h1 + l + d | 0, this.h2 + x + m | 0, this.h3 + f + a | 0, this.h4 + n + s | 0, this.h0 + i + u | 0);
    }
    roundClean() {
      Fn(nx);
    }
    destroy() {
      this.destroyed = true, Fn(this.buffer), this.set(0, 0, 0, 0, 0);
    }
  }
  const bC = dC, AC = oi((() => new EC())), wC = Array.from({
    length: 64
  }, ((e, t) => Math.floor(2 ** 32 * Math.abs(Math.sin(t + 1))))), B2 = (e, t, r) => e & t ^ ~e & r, ax = new Uint32Array([
    1732584193,
    4023233417,
    2562383102,
    271733878
  ]), k1 = new Uint32Array(16);
  class vC extends kc {
    constructor() {
      super(64, 16, 8, true), this.A = 0 | ax[0], this.B = 0 | ax[1], this.C = 0 | ax[2], this.D = 0 | ax[3];
    }
    get() {
      const { A: t, B: r, C: n, D: a } = this;
      return [
        t,
        r,
        n,
        a
      ];
    }
    set(t, r, n, a) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a;
    }
    process(t, r) {
      for (let l = 0; l < 16; l++, r += 4) k1[l] = t.getUint32(r, true);
      let { A: n, B: a, C: i, D: s } = this;
      for (let l = 0; l < 64; l++) {
        let u, x, d;
        l < 16 ? (u = B2(a, i, s), x = l, d = [
          7,
          12,
          17,
          22
        ]) : l < 32 ? (u = B2(s, a, i), x = (5 * l + 1) % 16, d = [
          5,
          9,
          14,
          20
        ]) : l < 48 ? (u = a ^ i ^ s, x = (3 * l + 5) % 16, d = [
          4,
          11,
          16,
          23
        ]) : (u = i ^ (a | ~s), x = 7 * l % 16, d = [
          6,
          10,
          15,
          21
        ]), u = u + n + wC[l] + k1[x], n = s, s = i, i = a, a += Wi(u, d[l % 4]);
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, s = s + this.D | 0, this.set(n, a, i, s);
    }
    roundClean() {
      k1.fill(0);
    }
    destroy() {
      this.set(0, 0, 0, 0), this.buffer.fill(0);
    }
  }
  const BC = new Map(Object.entries({
    md5: eB((() => new vC())),
    sha1: bC,
    sha224: iC,
    sha256: Dy,
    sha384: _y,
    sha512: Fy,
    sha3_256: TB,
    sha3_512: MB,
    ripemd160: AC
  }));
  var CC = Object.freeze({
    __proto__: null,
    nobleHashes: BC
  });
  const D1 = typeof Dr == "object" && "crypto" in Dr ? Dr.crypto : void 0, Hr = {};
  var Qe = function(e) {
    var t, r = new Float64Array(16);
    if (e) for (t = 0; t < e.length; t++) r[t] = e[t];
    return r;
  }, Pp = function() {
    throw Error("no PRNG");
  }, zy = new Uint8Array(32);
  zy[0] = 9;
  var Np = Qe(), rd = Qe([
    1
  ]), kC = Qe([
    56129,
    1
  ]), DC = Qe([
    30883,
    4953,
    19914,
    30187,
    55467,
    16705,
    2637,
    112,
    59544,
    30585,
    16505,
    36039,
    65139,
    11119,
    27886,
    20995
  ]), FC = Qe([
    61785,
    9906,
    39828,
    60374,
    45398,
    33411,
    5274,
    224,
    53552,
    61171,
    33010,
    6542,
    64743,
    22239,
    55772,
    9222
  ]), C2 = Qe([
    54554,
    36645,
    11616,
    51542,
    42930,
    38181,
    51040,
    26924,
    56412,
    64982,
    57905,
    49316,
    21502,
    52590,
    14035,
    8553
  ]), k2 = Qe([
    26200,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214
  ]), _C = Qe([
    41136,
    18958,
    6951,
    50414,
    58488,
    44335,
    6150,
    12099,
    55207,
    15867,
    153,
    11085,
    57099,
    20417,
    9344,
    11139
  ]);
  function D2(e, t, r, n) {
    e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = 255 & r, e[t + 4] = n >> 24 & 255, e[t + 5] = n >> 16 & 255, e[t + 6] = n >> 8 & 255, e[t + 7] = 255 & n;
  }
  function Uy(e, t, r, n) {
    return (function(a, i, s, l, u) {
      var x, d = 0;
      for (x = 0; x < u; x++) d |= a[i + x] ^ s[l + x];
      return (1 & d - 1 >>> 8) - 1;
    })(e, t, r, n, 32);
  }
  function Zi(e, t) {
    var r;
    for (r = 0; r < 16; r++) e[r] = 0 | t[r];
  }
  function F1(e) {
    var t, r, n = 1;
    for (t = 0; t < 16; t++) r = e[t] + n + 65535, n = Math.floor(r / 65536), e[t] = r - 65536 * n;
    e[0] += n - 1 + 37 * (n - 1);
  }
  function $s(e, t, r) {
    for (var n, a = ~(r - 1), i = 0; i < 16; i++) n = a & (e[i] ^ t[i]), e[i] ^= n, t[i] ^= n;
  }
  function nc(e, t) {
    var r, n, a, i = Qe(), s = Qe();
    for (r = 0; r < 16; r++) s[r] = t[r];
    for (F1(s), F1(s), F1(s), n = 0; n < 2; n++) {
      for (i[0] = s[0] - 65517, r = 1; r < 15; r++) i[r] = s[r] - 65535 - (i[r - 1] >> 16 & 1), i[r - 1] &= 65535;
      i[15] = s[15] - 32767 - (i[14] >> 16 & 1), a = i[15] >> 16 & 1, i[14] &= 65535, $s(s, i, 1 - a);
    }
    for (r = 0; r < 16; r++) e[2 * r] = 255 & s[r], e[2 * r + 1] = s[r] >> 8;
  }
  function F2(e, t) {
    var r = new Uint8Array(32), n = new Uint8Array(32);
    return nc(r, e), nc(n, t), Uy(r, 0, n, 0);
  }
  function Ry(e) {
    var t = new Uint8Array(32);
    return nc(t, e), 1 & t[0];
  }
  function Ty(e, t) {
    var r;
    for (r = 0; r < 16; r++) e[r] = t[2 * r] + (t[2 * r + 1] << 8);
    e[15] &= 32767;
  }
  function ya(e, t, r) {
    for (var n = 0; n < 16; n++) e[n] = t[n] + r[n];
  }
  function wa(e, t, r) {
    for (var n = 0; n < 16; n++) e[n] = t[n] - r[n];
  }
  function st(e, t, r) {
    var n, a, i = 0, s = 0, l = 0, u = 0, x = 0, d = 0, f = 0, m = 0, p = 0, g = 0, E = 0, A = 0, w = 0, D = 0, B = 0, v = 0, _ = 0, T = 0, I = 0, z = 0, C = 0, j = 0, U = 0, P = 0, L = 0, F = 0, q = 0, $ = 0, Y = 0, J = 0, Q = 0, Z = r[0], M = r[1], H = r[2], re = r[3], te = r[4], ae = r[5], xe = r[6], me = r[7], fe = r[8], ye = r[9], Ce = r[10], ke = r[11], je = r[12], Re = r[13], O = r[14], se = r[15];
    i += (n = t[0]) * Z, s += n * M, l += n * H, u += n * re, x += n * te, d += n * ae, f += n * xe, m += n * me, p += n * fe, g += n * ye, E += n * Ce, A += n * ke, w += n * je, D += n * Re, B += n * O, v += n * se, s += (n = t[1]) * Z, l += n * M, u += n * H, x += n * re, d += n * te, f += n * ae, m += n * xe, p += n * me, g += n * fe, E += n * ye, A += n * Ce, w += n * ke, D += n * je, B += n * Re, v += n * O, _ += n * se, l += (n = t[2]) * Z, u += n * M, x += n * H, d += n * re, f += n * te, m += n * ae, p += n * xe, g += n * me, E += n * fe, A += n * ye, w += n * Ce, D += n * ke, B += n * je, v += n * Re, _ += n * O, T += n * se, u += (n = t[3]) * Z, x += n * M, d += n * H, f += n * re, m += n * te, p += n * ae, g += n * xe, E += n * me, A += n * fe, w += n * ye, D += n * Ce, B += n * ke, v += n * je, _ += n * Re, T += n * O, I += n * se, x += (n = t[4]) * Z, d += n * M, f += n * H, m += n * re, p += n * te, g += n * ae, E += n * xe, A += n * me, w += n * fe, D += n * ye, B += n * Ce, v += n * ke, _ += n * je, T += n * Re, I += n * O, z += n * se, d += (n = t[5]) * Z, f += n * M, m += n * H, p += n * re, g += n * te, E += n * ae, A += n * xe, w += n * me, D += n * fe, B += n * ye, v += n * Ce, _ += n * ke, T += n * je, I += n * Re, z += n * O, C += n * se, f += (n = t[6]) * Z, m += n * M, p += n * H, g += n * re, E += n * te, A += n * ae, w += n * xe, D += n * me, B += n * fe, v += n * ye, _ += n * Ce, T += n * ke, I += n * je, z += n * Re, C += n * O, j += n * se, m += (n = t[7]) * Z, p += n * M, g += n * H, E += n * re, A += n * te, w += n * ae, D += n * xe, B += n * me, v += n * fe, _ += n * ye, T += n * Ce, I += n * ke, z += n * je, C += n * Re, j += n * O, U += n * se, p += (n = t[8]) * Z, g += n * M, E += n * H, A += n * re, w += n * te, D += n * ae, B += n * xe, v += n * me, _ += n * fe, T += n * ye, I += n * Ce, z += n * ke, C += n * je, j += n * Re, U += n * O, P += n * se, g += (n = t[9]) * Z, E += n * M, A += n * H, w += n * re, D += n * te, B += n * ae, v += n * xe, _ += n * me, T += n * fe, I += n * ye, z += n * Ce, C += n * ke, j += n * je, U += n * Re, P += n * O, L += n * se, E += (n = t[10]) * Z, A += n * M, w += n * H, D += n * re, B += n * te, v += n * ae, _ += n * xe, T += n * me, I += n * fe, z += n * ye, C += n * Ce, j += n * ke, U += n * je, P += n * Re, L += n * O, F += n * se, A += (n = t[11]) * Z, w += n * M, D += n * H, B += n * re, v += n * te, _ += n * ae, T += n * xe, I += n * me, z += n * fe, C += n * ye, j += n * Ce, U += n * ke, P += n * je, L += n * Re, F += n * O, q += n * se, w += (n = t[12]) * Z, D += n * M, B += n * H, v += n * re, _ += n * te, T += n * ae, I += n * xe, z += n * me, C += n * fe, j += n * ye, U += n * Ce, P += n * ke, L += n * je, F += n * Re, q += n * O, $ += n * se, D += (n = t[13]) * Z, B += n * M, v += n * H, _ += n * re, T += n * te, I += n * ae, z += n * xe, C += n * me, j += n * fe, U += n * ye, P += n * Ce, L += n * ke, F += n * je, q += n * Re, $ += n * O, Y += n * se, B += (n = t[14]) * Z, v += n * M, _ += n * H, T += n * re, I += n * te, z += n * ae, C += n * xe, j += n * me, U += n * fe, P += n * ye, L += n * Ce, F += n * ke, q += n * je, $ += n * Re, Y += n * O, J += n * se, v += (n = t[15]) * Z, s += 38 * (T += n * H), l += 38 * (I += n * re), u += 38 * (z += n * te), x += 38 * (C += n * ae), d += 38 * (j += n * xe), f += 38 * (U += n * me), m += 38 * (P += n * fe), p += 38 * (L += n * ye), g += 38 * (F += n * Ce), E += 38 * (q += n * ke), A += 38 * ($ += n * je), w += 38 * (Y += n * Re), D += 38 * (J += n * O), B += 38 * (Q += n * se), i = (n = (i += 38 * (_ += n * M)) + (a = 1) + 65535) - 65536 * (a = Math.floor(n / 65536)), s = (n = s + a + 65535) - 65536 * (a = Math.floor(n / 65536)), l = (n = l + a + 65535) - 65536 * (a = Math.floor(n / 65536)), u = (n = u + a + 65535) - 65536 * (a = Math.floor(n / 65536)), x = (n = x + a + 65535) - 65536 * (a = Math.floor(n / 65536)), d = (n = d + a + 65535) - 65536 * (a = Math.floor(n / 65536)), f = (n = f + a + 65535) - 65536 * (a = Math.floor(n / 65536)), m = (n = m + a + 65535) - 65536 * (a = Math.floor(n / 65536)), p = (n = p + a + 65535) - 65536 * (a = Math.floor(n / 65536)), g = (n = g + a + 65535) - 65536 * (a = Math.floor(n / 65536)), E = (n = E + a + 65535) - 65536 * (a = Math.floor(n / 65536)), A = (n = A + a + 65535) - 65536 * (a = Math.floor(n / 65536)), w = (n = w + a + 65535) - 65536 * (a = Math.floor(n / 65536)), D = (n = D + a + 65535) - 65536 * (a = Math.floor(n / 65536)), B = (n = B + a + 65535) - 65536 * (a = Math.floor(n / 65536)), v = (n = v + a + 65535) - 65536 * (a = Math.floor(n / 65536)), i = (n = (i += a - 1 + 37 * (a - 1)) + (a = 1) + 65535) - 65536 * (a = Math.floor(n / 65536)), s = (n = s + a + 65535) - 65536 * (a = Math.floor(n / 65536)), l = (n = l + a + 65535) - 65536 * (a = Math.floor(n / 65536)), u = (n = u + a + 65535) - 65536 * (a = Math.floor(n / 65536)), x = (n = x + a + 65535) - 65536 * (a = Math.floor(n / 65536)), d = (n = d + a + 65535) - 65536 * (a = Math.floor(n / 65536)), f = (n = f + a + 65535) - 65536 * (a = Math.floor(n / 65536)), m = (n = m + a + 65535) - 65536 * (a = Math.floor(n / 65536)), p = (n = p + a + 65535) - 65536 * (a = Math.floor(n / 65536)), g = (n = g + a + 65535) - 65536 * (a = Math.floor(n / 65536)), E = (n = E + a + 65535) - 65536 * (a = Math.floor(n / 65536)), A = (n = A + a + 65535) - 65536 * (a = Math.floor(n / 65536)), w = (n = w + a + 65535) - 65536 * (a = Math.floor(n / 65536)), D = (n = D + a + 65535) - 65536 * (a = Math.floor(n / 65536)), B = (n = B + a + 65535) - 65536 * (a = Math.floor(n / 65536)), v = (n = v + a + 65535) - 65536 * (a = Math.floor(n / 65536)), i += a - 1 + 37 * (a - 1), e[0] = i, e[1] = s, e[2] = l, e[3] = u, e[4] = x, e[5] = d, e[6] = f, e[7] = m, e[8] = p, e[9] = g, e[10] = E, e[11] = A, e[12] = w, e[13] = D, e[14] = B, e[15] = v;
  }
  function qn(e, t) {
    st(e, t, t);
  }
  function My(e, t) {
    var r, n = Qe();
    for (r = 0; r < 16; r++) n[r] = t[r];
    for (r = 253; r >= 0; r--) qn(n, n), r !== 2 && r !== 4 && st(n, n, t);
    for (r = 0; r < 16; r++) e[r] = n[r];
  }
  function Ky(e, t, r) {
    var n, a, i = new Uint8Array(32), s = new Float64Array(80), l = Qe(), u = Qe(), x = Qe(), d = Qe(), f = Qe(), m = Qe();
    for (a = 0; a < 31; a++) i[a] = t[a];
    for (i[31] = 127 & t[31] | 64, i[0] &= 248, Ty(s, r), a = 0; a < 16; a++) u[a] = s[a], d[a] = l[a] = x[a] = 0;
    for (l[0] = d[0] = 1, a = 254; a >= 0; --a) $s(l, u, n = i[a >>> 3] >>> (7 & a) & 1), $s(x, d, n), ya(f, l, x), wa(l, l, x), ya(x, u, d), wa(u, u, d), qn(d, f), qn(m, l), st(l, x, l), st(x, u, f), ya(f, l, x), wa(l, l, x), qn(u, l), wa(x, d, m), st(l, x, kC), ya(l, l, d), st(x, x, l), st(l, d, m), st(d, u, s), qn(u, f), $s(l, u, n), $s(x, d, n);
    for (a = 0; a < 16; a++) s[a + 16] = l[a], s[a + 32] = x[a], s[a + 48] = u[a], s[a + 64] = d[a];
    var p = s.subarray(32), g = s.subarray(16);
    return My(p, p), st(g, g, p), nc(e, g), 0;
  }
  function _2(e, t) {
    return Ky(e, t, zy);
  }
  var S2 = [
    1116352408,
    3609767458,
    1899447441,
    602891725,
    3049323471,
    3964484399,
    3921009573,
    2173295548,
    961987163,
    4081628472,
    1508970993,
    3053834265,
    2453635748,
    2937671579,
    2870763221,
    3664609560,
    3624381080,
    2734883394,
    310598401,
    1164996542,
    607225278,
    1323610764,
    1426881987,
    3590304994,
    1925078388,
    4068182383,
    2162078206,
    991336113,
    2614888103,
    633803317,
    3248222580,
    3479774868,
    3835390401,
    2666613458,
    4022224774,
    944711139,
    264347078,
    2341262773,
    604807628,
    2007800933,
    770255983,
    1495990901,
    1249150122,
    1856431235,
    1555081692,
    3175218132,
    1996064986,
    2198950837,
    2554220882,
    3999719339,
    2821834349,
    766784016,
    2952996808,
    2566594879,
    3210313671,
    3203337956,
    3336571891,
    1034457026,
    3584528711,
    2466948901,
    113926993,
    3758326383,
    338241895,
    168717936,
    666307205,
    1188179964,
    773529912,
    1546045734,
    1294757372,
    1522805485,
    1396182291,
    2643833823,
    1695183700,
    2343527390,
    1986661051,
    1014477480,
    2177026350,
    1206759142,
    2456956037,
    344077627,
    2730485921,
    1290863460,
    2820302411,
    3158454273,
    3259730800,
    3505952657,
    3345764771,
    106217008,
    3516065817,
    3606008344,
    3600352804,
    1432725776,
    4094571909,
    1467031594,
    275423344,
    851169720,
    430227734,
    3100823752,
    506948616,
    1363258195,
    659060556,
    3750685593,
    883997877,
    3785050280,
    958139571,
    3318307427,
    1322822218,
    3812723403,
    1537002063,
    2003034995,
    1747873779,
    3602036899,
    1955562222,
    1575990012,
    2024104815,
    1125592928,
    2227730452,
    2716904306,
    2361852424,
    442776044,
    2428436474,
    593698344,
    2756734187,
    3733110249,
    3204031479,
    2999351573,
    3329325298,
    3815920427,
    3391569614,
    3928383900,
    3515267271,
    566280711,
    3940187606,
    3454069534,
    4118630271,
    4000239992,
    116418474,
    1914138554,
    174292421,
    2731055270,
    289380356,
    3203993006,
    460393269,
    320620315,
    685471733,
    587496836,
    852142971,
    1086792851,
    1017036298,
    365543100,
    1126000580,
    2618297676,
    1288033470,
    3409855158,
    1501505948,
    4234509866,
    1607167915,
    987167468,
    1816402316,
    1246189591
  ];
  function I2(e, t, r, n) {
    for (var a, i, s, l, u, x, d, f, m, p, g, E, A, w, D, B, v, _, T, I, z, C, j, U, P, L, F = new Int32Array(16), q = new Int32Array(16), $ = e[0], Y = e[1], J = e[2], Q = e[3], Z = e[4], M = e[5], H = e[6], re = e[7], te = t[0], ae = t[1], xe = t[2], me = t[3], fe = t[4], ye = t[5], Ce = t[6], ke = t[7], je = 0; n >= 128; ) {
      for (T = 0; T < 16; T++) I = 8 * T + je, F[T] = r[I + 0] << 24 | r[I + 1] << 16 | r[I + 2] << 8 | r[I + 3], q[T] = r[I + 4] << 24 | r[I + 5] << 16 | r[I + 6] << 8 | r[I + 7];
      for (T = 0; T < 80; T++) if (a = $, i = Y, s = J, l = Q, u = Z, x = M, d = H, m = te, p = ae, g = xe, E = me, A = fe, w = ye, D = Ce, j = 65535 & (C = ke), U = C >>> 16, P = 65535 & (z = re), L = z >>> 16, j += 65535 & (C = (fe >>> 14 | Z << 18) ^ (fe >>> 18 | Z << 14) ^ (Z >>> 9 | fe << 23)), U += C >>> 16, P += 65535 & (z = (Z >>> 14 | fe << 18) ^ (Z >>> 18 | fe << 14) ^ (fe >>> 9 | Z << 23)), L += z >>> 16, j += 65535 & (C = fe & ye ^ ~fe & Ce), U += C >>> 16, P += 65535 & (z = Z & M ^ ~Z & H), L += z >>> 16, j += 65535 & (C = S2[2 * T + 1]), U += C >>> 16, P += 65535 & (z = S2[2 * T]), L += z >>> 16, z = F[T % 16], U += (C = q[T % 16]) >>> 16, P += 65535 & z, L += z >>> 16, P += (U += (j += 65535 & C) >>> 16) >>> 16, j = 65535 & (C = _ = 65535 & j | U << 16), U = C >>> 16, P = 65535 & (z = v = 65535 & P | (L += P >>> 16) << 16), L = z >>> 16, j += 65535 & (C = (te >>> 28 | $ << 4) ^ ($ >>> 2 | te << 30) ^ ($ >>> 7 | te << 25)), U += C >>> 16, P += 65535 & (z = ($ >>> 28 | te << 4) ^ (te >>> 2 | $ << 30) ^ (te >>> 7 | $ << 25)), L += z >>> 16, U += (C = te & ae ^ te & xe ^ ae & xe) >>> 16, P += 65535 & (z = $ & Y ^ $ & J ^ Y & J), L += z >>> 16, f = 65535 & (P += (U += (j += 65535 & C) >>> 16) >>> 16) | (L += P >>> 16) << 16, B = 65535 & j | U << 16, j = 65535 & (C = E), U = C >>> 16, P = 65535 & (z = l), L = z >>> 16, U += (C = _) >>> 16, P += 65535 & (z = v), L += z >>> 16, Y = a, J = i, Q = s, Z = l = 65535 & (P += (U += (j += 65535 & C) >>> 16) >>> 16) | (L += P >>> 16) << 16, M = u, H = x, re = d, $ = f, ae = m, xe = p, me = g, fe = E = 65535 & j | U << 16, ye = A, Ce = w, ke = D, te = B, T % 16 == 15) for (I = 0; I < 16; I++) z = F[I], j = 65535 & (C = q[I]), U = C >>> 16, P = 65535 & z, L = z >>> 16, z = F[(I + 9) % 16], j += 65535 & (C = q[(I + 9) % 16]), U += C >>> 16, P += 65535 & z, L += z >>> 16, v = F[(I + 1) % 16], j += 65535 & (C = ((_ = q[(I + 1) % 16]) >>> 1 | v << 31) ^ (_ >>> 8 | v << 24) ^ (_ >>> 7 | v << 25)), U += C >>> 16, P += 65535 & (z = (v >>> 1 | _ << 31) ^ (v >>> 8 | _ << 24) ^ v >>> 7), L += z >>> 16, v = F[(I + 14) % 16], U += (C = ((_ = q[(I + 14) % 16]) >>> 19 | v << 13) ^ (v >>> 29 | _ << 3) ^ (_ >>> 6 | v << 26)) >>> 16, P += 65535 & (z = (v >>> 19 | _ << 13) ^ (_ >>> 29 | v << 3) ^ v >>> 6), L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, F[I] = 65535 & P | L << 16, q[I] = 65535 & j | U << 16;
      j = 65535 & (C = te), U = C >>> 16, P = 65535 & (z = $), L = z >>> 16, z = e[0], U += (C = t[0]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[0] = $ = 65535 & P | L << 16, t[0] = te = 65535 & j | U << 16, j = 65535 & (C = ae), U = C >>> 16, P = 65535 & (z = Y), L = z >>> 16, z = e[1], U += (C = t[1]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[1] = Y = 65535 & P | L << 16, t[1] = ae = 65535 & j | U << 16, j = 65535 & (C = xe), U = C >>> 16, P = 65535 & (z = J), L = z >>> 16, z = e[2], U += (C = t[2]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[2] = J = 65535 & P | L << 16, t[2] = xe = 65535 & j | U << 16, j = 65535 & (C = me), U = C >>> 16, P = 65535 & (z = Q), L = z >>> 16, z = e[3], U += (C = t[3]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[3] = Q = 65535 & P | L << 16, t[3] = me = 65535 & j | U << 16, j = 65535 & (C = fe), U = C >>> 16, P = 65535 & (z = Z), L = z >>> 16, z = e[4], U += (C = t[4]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[4] = Z = 65535 & P | L << 16, t[4] = fe = 65535 & j | U << 16, j = 65535 & (C = ye), U = C >>> 16, P = 65535 & (z = M), L = z >>> 16, z = e[5], U += (C = t[5]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[5] = M = 65535 & P | L << 16, t[5] = ye = 65535 & j | U << 16, j = 65535 & (C = Ce), U = C >>> 16, P = 65535 & (z = H), L = z >>> 16, z = e[6], U += (C = t[6]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[6] = H = 65535 & P | L << 16, t[6] = Ce = 65535 & j | U << 16, j = 65535 & (C = ke), U = C >>> 16, P = 65535 & (z = re), L = z >>> 16, z = e[7], U += (C = t[7]) >>> 16, P += 65535 & z, L += z >>> 16, L += (P += (U += (j += 65535 & C) >>> 16) >>> 16) >>> 16, e[7] = re = 65535 & P | L << 16, t[7] = ke = 65535 & j | U << 16, je += 128, n -= 128;
    }
    return n;
  }
  function zl(e, t, r) {
    var n, a = new Int32Array(8), i = new Int32Array(8), s = new Uint8Array(256), l = r;
    for (a[0] = 1779033703, a[1] = 3144134277, a[2] = 1013904242, a[3] = 2773480762, a[4] = 1359893119, a[5] = 2600822924, a[6] = 528734635, a[7] = 1541459225, i[0] = 4089235720, i[1] = 2227873595, i[2] = 4271175723, i[3] = 1595750129, i[4] = 2917565137, i[5] = 725511199, i[6] = 4215389547, i[7] = 327033209, I2(a, i, t, r), r %= 128, n = 0; n < r; n++) s[n] = t[l - r + n];
    for (s[r] = 128, s[(r = 256 - 128 * (r < 112 ? 1 : 0)) - 9] = 0, D2(s, r - 8, l / 536870912 | 0, l << 3), I2(a, i, s, r), n = 0; n < 8; n++) D2(e, 8 * n, a[n], i[n]);
    return 0;
  }
  function jp(e, t) {
    var r = Qe(), n = Qe(), a = Qe(), i = Qe(), s = Qe(), l = Qe(), u = Qe(), x = Qe(), d = Qe();
    wa(r, e[1], e[0]), wa(d, t[1], t[0]), st(r, r, d), ya(n, e[0], e[1]), ya(d, t[0], t[1]), st(n, n, d), st(a, e[3], t[3]), st(a, a, FC), st(i, e[2], t[2]), ya(i, i, i), wa(s, n, r), wa(l, i, a), ya(u, i, a), ya(x, n, r), st(e[0], s, l), st(e[1], x, u), st(e[2], u, l), st(e[3], s, x);
  }
  function P2(e, t, r) {
    var n;
    for (n = 0; n < 4; n++) $s(e[n], t[n], r);
  }
  function zp(e, t) {
    var r = Qe(), n = Qe(), a = Qe();
    My(a, t[2]), st(r, t[0], a), st(n, t[1], a), nc(e, n), e[31] ^= Ry(r) << 7;
  }
  function Ly(e, t, r) {
    var n, a;
    for (Zi(e[0], Np), Zi(e[1], rd), Zi(e[2], rd), Zi(e[3], Np), a = 255; a >= 0; --a) P2(e, t, n = r[a / 8 | 0] >> (7 & a) & 1), jp(t, e), jp(e, e), P2(e, t, n);
  }
  function Up(e, t) {
    var r = [
      Qe(),
      Qe(),
      Qe(),
      Qe()
    ];
    Zi(r[0], C2), Zi(r[1], k2), Zi(r[2], rd), st(r[3], C2, k2), Ly(e, r, t);
  }
  function N2(e, t, r) {
    var n, a = new Uint8Array(64), i = [
      Qe(),
      Qe(),
      Qe(),
      Qe()
    ];
    for (r || Pp(t, 32), zl(a, t, 32), a[0] &= 248, a[31] &= 127, a[31] |= 64, Up(i, a), zp(e, i), n = 0; n < 32; n++) t[n + 32] = e[n];
    return 0;
  }
  var _1 = new Float64Array([
    237,
    211,
    245,
    92,
    26,
    99,
    18,
    88,
    214,
    156,
    247,
    162,
    222,
    249,
    222,
    20,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    16
  ]);
  function Oy(e, t) {
    var r, n, a, i;
    for (n = 63; n >= 32; --n) {
      for (r = 0, a = n - 32, i = n - 12; a < i; ++a) t[a] += r - 16 * t[n] * _1[a - (n - 32)], r = Math.floor((t[a] + 128) / 256), t[a] -= 256 * r;
      t[a] += r, t[n] = 0;
    }
    for (r = 0, a = 0; a < 32; a++) t[a] += r - (t[31] >> 4) * _1[a], r = t[a] >> 8, t[a] &= 255;
    for (a = 0; a < 32; a++) t[a] -= r * _1[a];
    for (n = 0; n < 32; n++) t[n + 1] += t[n] >> 8, e[n] = 255 & t[n];
  }
  function S1(e) {
    var t, r = new Float64Array(64);
    for (t = 0; t < 64; t++) r[t] = e[t];
    for (t = 0; t < 64; t++) e[t] = 0;
    Oy(e, r);
  }
  function SC(e, t) {
    var r = Qe(), n = Qe(), a = Qe(), i = Qe(), s = Qe(), l = Qe(), u = Qe();
    return Zi(e[2], rd), Ty(e[1], t), qn(a, e[1]), st(i, a, DC), wa(a, a, e[2]), ya(i, e[2], i), qn(s, i), qn(l, s), st(u, l, s), st(r, u, a), st(r, r, i), (function(x, d) {
      var f, m = Qe();
      for (f = 0; f < 16; f++) m[f] = d[f];
      for (f = 250; f >= 0; f--) qn(m, m), f !== 1 && st(m, m, d);
      for (f = 0; f < 16; f++) x[f] = m[f];
    })(r, r), st(r, r, a), st(r, r, i), st(r, r, i), st(e[0], r, i), qn(n, e[0]), st(n, n, i), F2(n, a) && st(e[0], e[0], _C), qn(n, e[0]), st(n, n, i), F2(n, a) ? -1 : (Ry(e[0]) === t[31] >> 7 && wa(e[0], Np, e[0]), st(e[3], e[0], e[1]), 0);
  }
  var Fo = 64;
  function js() {
    for (var e = 0; e < arguments.length; e++) if (!(arguments[e] instanceof Uint8Array)) throw new TypeError("unexpected type, use Uint8Array");
  }
  Hr.scalarMult = function(e, t) {
    if (js(e, t), e.length !== 32) throw Error("bad n size");
    if (t.length !== 32) throw Error("bad p size");
    var r = new Uint8Array(32);
    return Ky(r, e, t), r;
  }, Hr.box = {}, Hr.box.keyPair = function() {
    var e = new Uint8Array(32), t = new Uint8Array(32);
    return (function(r, n) {
      Pp(n, 32), _2(r, n);
    })(e, t), {
      publicKey: e,
      secretKey: t
    };
  }, Hr.box.keyPair.fromSecretKey = function(e) {
    if (js(e), e.length !== 32) throw Error("bad secret key size");
    var t = new Uint8Array(32);
    return _2(t, e), {
      publicKey: t,
      secretKey: new Uint8Array(e)
    };
  }, Hr.sign = function(e, t) {
    if (js(e, t), t.length !== 64) throw Error("bad secret key size");
    var r = new Uint8Array(Fo + e.length);
    return (function(n, a, i, s) {
      var l, u, x = new Uint8Array(64), d = new Uint8Array(64), f = new Uint8Array(64), m = new Float64Array(64), p = [
        Qe(),
        Qe(),
        Qe(),
        Qe()
      ];
      for (zl(x, s, 32), x[0] &= 248, x[31] &= 127, x[31] |= 64, l = 0; l < i; l++) n[64 + l] = a[l];
      for (l = 0; l < 32; l++) n[32 + l] = x[32 + l];
      for (zl(f, n.subarray(32), i + 32), S1(f), Up(p, f), zp(n, p), l = 32; l < 64; l++) n[l] = s[l];
      for (zl(d, n, i + 64), S1(d), l = 0; l < 64; l++) m[l] = 0;
      for (l = 0; l < 32; l++) m[l] = f[l];
      for (l = 0; l < 32; l++) for (u = 0; u < 32; u++) m[l + u] += d[l] * x[u];
      Oy(n.subarray(32), m);
    })(r, e, e.length, t), r;
  }, Hr.sign.detached = function(e, t) {
    for (var r = Hr.sign(e, t), n = new Uint8Array(Fo), a = 0; a < n.length; a++) n[a] = r[a];
    return n;
  }, Hr.sign.detached.verify = function(e, t, r) {
    if (js(e, t, r), t.length !== Fo) throw Error("bad signature size");
    if (r.length !== 32) throw Error("bad public key size");
    var n, a = new Uint8Array(Fo + e.length), i = new Uint8Array(Fo + e.length);
    for (n = 0; n < Fo; n++) a[n] = t[n];
    for (n = 0; n < e.length; n++) a[n + Fo] = e[n];
    return (function(s, l, u, x) {
      var d, f = new Uint8Array(32), m = new Uint8Array(64), p = [
        Qe(),
        Qe(),
        Qe(),
        Qe()
      ], g = [
        Qe(),
        Qe(),
        Qe(),
        Qe()
      ];
      if (u < 64 || SC(g, x)) return -1;
      for (d = 0; d < u; d++) s[d] = l[d];
      for (d = 0; d < 32; d++) s[d + 32] = x[d];
      if (zl(m, s, u), S1(m), Ly(p, g, m), Up(g, l.subarray(32)), jp(p, g), zp(f, p), u -= 64, Uy(l, 0, f, 0)) {
        for (d = 0; d < u; d++) s[d] = 0;
        return -1;
      }
      for (d = 0; d < u; d++) s[d] = l[d + 64];
      return u;
    })(i, a, a.length, r) >= 0;
  }, Hr.sign.keyPair = function() {
    var e = new Uint8Array(32), t = new Uint8Array(64);
    return N2(e, t), {
      publicKey: e,
      secretKey: t
    };
  }, Hr.sign.keyPair.fromSecretKey = function(e) {
    if (js(e), e.length !== 64) throw Error("bad secret key size");
    for (var t = new Uint8Array(32), r = 0; r < t.length; r++) t[r] = e[32 + r];
    return {
      publicKey: t,
      secretKey: new Uint8Array(e)
    };
  }, Hr.sign.keyPair.fromSeed = function(e) {
    if (js(e), e.length !== 32) throw Error("bad seed size");
    for (var t = new Uint8Array(32), r = new Uint8Array(64), n = 0; n < 32; n++) r[n] = e[n];
    return N2(t, r, true), {
      publicKey: t,
      secretKey: r
    };
  }, Hr.setPRNG = function(e) {
    Pp = e;
  }, (function() {
    D1 && D1.getRandomValues && Hr.setPRNG((function(e, t) {
      var r, n = new Uint8Array(t);
      for (r = 0; r < t; r += 65536) D1.getRandomValues(n.subarray(r, r + Math.min(t - r, 65536)));
      for (r = 0; r < t; r++) e[r] = n[r];
      (function(a) {
        for (var i = 0; i < a.length; i++) a[i] = 0;
      })(n);
    }));
  })();
  var as = Object.freeze({
    __proto__: null,
    default: Hr
  });
  function I1(e, t, r, n, a, i) {
    const s = [
      16843776,
      0,
      65536,
      16843780,
      16842756,
      66564,
      4,
      65536,
      1024,
      16843776,
      16843780,
      1024,
      16778244,
      16842756,
      16777216,
      4,
      1028,
      16778240,
      16778240,
      66560,
      66560,
      16842752,
      16842752,
      16778244,
      65540,
      16777220,
      16777220,
      65540,
      0,
      1028,
      66564,
      16777216,
      65536,
      16843780,
      4,
      16842752,
      16843776,
      16777216,
      16777216,
      1024,
      16842756,
      65536,
      66560,
      16777220,
      1024,
      4,
      16778244,
      66564,
      16843780,
      65540,
      16842752,
      16778244,
      16777220,
      1028,
      66564,
      16843776,
      1028,
      16778240,
      16778240,
      0,
      65540,
      66560,
      0,
      16842756
    ], l = [
      -2146402272,
      -2147450880,
      32768,
      1081376,
      1048576,
      32,
      -2146435040,
      -2147450848,
      -2147483616,
      -2146402272,
      -2146402304,
      -2147483648,
      -2147450880,
      1048576,
      32,
      -2146435040,
      1081344,
      1048608,
      -2147450848,
      0,
      -2147483648,
      32768,
      1081376,
      -2146435072,
      1048608,
      -2147483616,
      0,
      1081344,
      32800,
      -2146402304,
      -2146435072,
      32800,
      0,
      1081376,
      -2146435040,
      1048576,
      -2147450848,
      -2146435072,
      -2146402304,
      32768,
      -2146435072,
      -2147450880,
      32,
      -2146402272,
      1081376,
      32,
      32768,
      -2147483648,
      32800,
      -2146402304,
      1048576,
      -2147483616,
      1048608,
      -2147450848,
      -2147483616,
      1048608,
      1081344,
      0,
      -2147450880,
      32800,
      -2147483648,
      -2146435040,
      -2146402272,
      1081344
    ], u = [
      520,
      134349312,
      0,
      134348808,
      134218240,
      0,
      131592,
      134218240,
      131080,
      134217736,
      134217736,
      131072,
      134349320,
      131080,
      134348800,
      520,
      134217728,
      8,
      134349312,
      512,
      131584,
      134348800,
      134348808,
      131592,
      134218248,
      131584,
      131072,
      134218248,
      8,
      134349320,
      512,
      134217728,
      134349312,
      134217728,
      131080,
      520,
      131072,
      134349312,
      134218240,
      0,
      512,
      131080,
      134349320,
      134218240,
      134217736,
      512,
      0,
      134348808,
      134218248,
      131072,
      134217728,
      134349320,
      8,
      131592,
      131584,
      134217736,
      134348800,
      134218248,
      520,
      134348800,
      131592,
      8,
      134348808,
      131584
    ], x = [
      8396801,
      8321,
      8321,
      128,
      8396928,
      8388737,
      8388609,
      8193,
      0,
      8396800,
      8396800,
      8396929,
      129,
      0,
      8388736,
      8388609,
      1,
      8192,
      8388608,
      8396801,
      128,
      8388608,
      8193,
      8320,
      8388737,
      1,
      8320,
      8388736,
      8192,
      8396928,
      8396929,
      129,
      8388736,
      8388609,
      8396800,
      8396929,
      129,
      0,
      0,
      8396800,
      8320,
      8388736,
      8388737,
      1,
      8396801,
      8321,
      8321,
      128,
      8396929,
      129,
      1,
      8192,
      8388609,
      8193,
      8396928,
      8388737,
      8193,
      8320,
      8388608,
      8396801,
      128,
      8388608,
      8192,
      8396928
    ], d = [
      256,
      34078976,
      34078720,
      1107296512,
      524288,
      256,
      1073741824,
      34078720,
      1074266368,
      524288,
      33554688,
      1074266368,
      1107296512,
      1107820544,
      524544,
      1073741824,
      33554432,
      1074266112,
      1074266112,
      0,
      1073742080,
      1107820800,
      1107820800,
      33554688,
      1107820544,
      1073742080,
      0,
      1107296256,
      34078976,
      33554432,
      1107296256,
      524544,
      524288,
      1107296512,
      256,
      33554432,
      1073741824,
      34078720,
      1107296512,
      1074266368,
      33554688,
      1073741824,
      1107820544,
      34078976,
      1074266368,
      256,
      33554432,
      1107820544,
      1107820800,
      524544,
      1107296256,
      1107820800,
      34078720,
      0,
      1074266112,
      1107296256,
      524544,
      33554688,
      1073742080,
      524288,
      0,
      1074266112,
      34078976,
      1073742080
    ], f = [
      536870928,
      541065216,
      16384,
      541081616,
      541065216,
      16,
      541081616,
      4194304,
      536887296,
      4210704,
      4194304,
      536870928,
      4194320,
      536887296,
      536870912,
      16400,
      0,
      4194320,
      536887312,
      16384,
      4210688,
      536887312,
      16,
      541065232,
      541065232,
      0,
      4210704,
      541081600,
      16400,
      4210688,
      541081600,
      536870912,
      536887296,
      16,
      541065232,
      4210688,
      541081616,
      4194304,
      16400,
      536870928,
      4194304,
      536887296,
      536870912,
      16400,
      536870928,
      541081616,
      4210688,
      541065216,
      4210704,
      541081600,
      0,
      541065232,
      16,
      16384,
      541065216,
      4210704,
      16384,
      4194320,
      536887312,
      0,
      541081600,
      536870912,
      4194320,
      536887312
    ], m = [
      2097152,
      69206018,
      67110914,
      0,
      2048,
      67110914,
      2099202,
      69208064,
      69208066,
      2097152,
      0,
      67108866,
      2,
      67108864,
      69206018,
      2050,
      67110912,
      2099202,
      2097154,
      67110912,
      67108866,
      69206016,
      69208064,
      2097154,
      69206016,
      2048,
      2050,
      69208066,
      2099200,
      2,
      67108864,
      2099200,
      67108864,
      2099200,
      2097152,
      67110914,
      67110914,
      69206018,
      69206018,
      2,
      2097154,
      67108864,
      67110912,
      2097152,
      69208064,
      2050,
      2099202,
      69208064,
      2050,
      67108866,
      69208066,
      69206016,
      2099200,
      0,
      2,
      69208066,
      0,
      2099202,
      69206016,
      2048,
      67108866,
      67110912,
      2048,
      2097154
    ], p = [
      268439616,
      4096,
      262144,
      268701760,
      268435456,
      268439616,
      64,
      268435456,
      262208,
      268697600,
      268701760,
      266240,
      268701696,
      266304,
      4096,
      64,
      268697600,
      268435520,
      268439552,
      4160,
      266240,
      262208,
      268697664,
      268701696,
      4160,
      0,
      0,
      268697664,
      268435520,
      268439552,
      266304,
      262144,
      266304,
      262144,
      268701696,
      4096,
      64,
      268697664,
      4096,
      266304,
      268439552,
      64,
      268435520,
      268697600,
      268697664,
      268435456,
      262144,
      268439616,
      0,
      268701760,
      262208,
      268435520,
      268697600,
      268439552,
      268439616,
      0,
      268701760,
      266240,
      266240,
      4160,
      4160,
      262208,
      268435456,
      268701696
    ];
    let g, E, A, w, D, B, v, _, T, I, z = 0, C = t.length;
    const j = e.length === 32 ? 3 : 9;
    _ = j === 3 ? r ? [
      0,
      32,
      2
    ] : [
      30,
      -2,
      -2
    ] : r ? [
      0,
      32,
      2,
      62,
      30,
      -2,
      64,
      96,
      2
    ] : [
      94,
      62,
      -2,
      32,
      64,
      2,
      30,
      -2,
      -2
    ], r && (t = (function(L) {
      const F = 8 - L.length % 8;
      let q;
      if (!(F < 8)) {
        if (F === 8) return L;
        throw Error("des: invalid padding");
      }
      q = 0;
      const $ = new Uint8Array(L.length + F);
      for (let Y = 0; Y < L.length; Y++) $[Y] = L[Y];
      for (let Y = 0; Y < F; Y++) $[L.length + Y] = q;
      return $;
    })(t), C = t.length);
    let U = new Uint8Array(C), P = 0;
    for (; z < C; ) {
      for (B = t[z++] << 24 | t[z++] << 16 | t[z++] << 8 | t[z++], v = t[z++] << 24 | t[z++] << 16 | t[z++] << 8 | t[z++], A = 252645135 & (B >>> 4 ^ v), v ^= A, B ^= A << 4, A = 65535 & (B >>> 16 ^ v), v ^= A, B ^= A << 16, A = 858993459 & (v >>> 2 ^ B), B ^= A, v ^= A << 2, A = 16711935 & (v >>> 8 ^ B), B ^= A, v ^= A << 8, A = 1431655765 & (B >>> 1 ^ v), v ^= A, B ^= A << 1, B = B << 1 | B >>> 31, v = v << 1 | v >>> 31, E = 0; E < j; E += 3) {
        for (T = _[E + 1], I = _[E + 2], g = _[E]; g !== T; g += I) w = v ^ e[g], D = (v >>> 4 | v << 28) ^ e[g + 1], A = B, B = v, v = A ^ (l[w >>> 24 & 63] | x[w >>> 16 & 63] | f[w >>> 8 & 63] | p[63 & w] | s[D >>> 24 & 63] | u[D >>> 16 & 63] | d[D >>> 8 & 63] | m[63 & D]);
        A = B, B = v, v = A;
      }
      B = B >>> 1 | B << 31, v = v >>> 1 | v << 31, A = 1431655765 & (B >>> 1 ^ v), v ^= A, B ^= A << 1, A = 16711935 & (v >>> 8 ^ B), B ^= A, v ^= A << 8, A = 858993459 & (v >>> 2 ^ B), B ^= A, v ^= A << 2, A = 65535 & (B >>> 16 ^ v), v ^= A, B ^= A << 16, A = 252645135 & (B >>> 4 ^ v), v ^= A, B ^= A << 4, U[P++] = B >>> 24, U[P++] = B >>> 16 & 255, U[P++] = B >>> 8 & 255, U[P++] = 255 & B, U[P++] = v >>> 24, U[P++] = v >>> 16 & 255, U[P++] = v >>> 8 & 255, U[P++] = 255 & v;
    }
    return r || (U = (function(L) {
      let F, q = null;
      if (F = 0, !q) {
        for (q = 1; L[L.length - q] === F; ) q++;
        q--;
      }
      return L.subarray(0, L.length - q);
    })(U)), U;
  }
  function P1(e) {
    const t = [
      0,
      4,
      536870912,
      536870916,
      65536,
      65540,
      536936448,
      536936452,
      512,
      516,
      536871424,
      536871428,
      66048,
      66052,
      536936960,
      536936964
    ], r = [
      0,
      1,
      1048576,
      1048577,
      67108864,
      67108865,
      68157440,
      68157441,
      256,
      257,
      1048832,
      1048833,
      67109120,
      67109121,
      68157696,
      68157697
    ], n = [
      0,
      8,
      2048,
      2056,
      16777216,
      16777224,
      16779264,
      16779272,
      0,
      8,
      2048,
      2056,
      16777216,
      16777224,
      16779264,
      16779272
    ], a = [
      0,
      2097152,
      134217728,
      136314880,
      8192,
      2105344,
      134225920,
      136323072,
      131072,
      2228224,
      134348800,
      136445952,
      139264,
      2236416,
      134356992,
      136454144
    ], i = [
      0,
      262144,
      16,
      262160,
      0,
      262144,
      16,
      262160,
      4096,
      266240,
      4112,
      266256,
      4096,
      266240,
      4112,
      266256
    ], s = [
      0,
      1024,
      32,
      1056,
      0,
      1024,
      32,
      1056,
      33554432,
      33555456,
      33554464,
      33555488,
      33554432,
      33555456,
      33554464,
      33555488
    ], l = [
      0,
      268435456,
      524288,
      268959744,
      2,
      268435458,
      524290,
      268959746,
      0,
      268435456,
      524288,
      268959744,
      2,
      268435458,
      524290,
      268959746
    ], u = [
      0,
      65536,
      2048,
      67584,
      536870912,
      536936448,
      536872960,
      536938496,
      131072,
      196608,
      133120,
      198656,
      537001984,
      537067520,
      537004032,
      537069568
    ], x = [
      0,
      262144,
      0,
      262144,
      2,
      262146,
      2,
      262146,
      33554432,
      33816576,
      33554432,
      33816576,
      33554434,
      33816578,
      33554434,
      33816578
    ], d = [
      0,
      268435456,
      8,
      268435464,
      0,
      268435456,
      8,
      268435464,
      1024,
      268436480,
      1032,
      268436488,
      1024,
      268436480,
      1032,
      268436488
    ], f = [
      0,
      32,
      0,
      32,
      1048576,
      1048608,
      1048576,
      1048608,
      8192,
      8224,
      8192,
      8224,
      1056768,
      1056800,
      1056768,
      1056800
    ], m = [
      0,
      16777216,
      512,
      16777728,
      2097152,
      18874368,
      2097664,
      18874880,
      67108864,
      83886080,
      67109376,
      83886592,
      69206016,
      85983232,
      69206528,
      85983744
    ], p = [
      0,
      4096,
      134217728,
      134221824,
      524288,
      528384,
      134742016,
      134746112,
      16,
      4112,
      134217744,
      134221840,
      524304,
      528400,
      134742032,
      134746128
    ], g = [
      0,
      4,
      256,
      260,
      0,
      4,
      256,
      260,
      1,
      5,
      257,
      261,
      1,
      5,
      257,
      261
    ], E = e.length > 8 ? 3 : 1, A = Array(32 * E), w = [
      0,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      0
    ];
    let D, B, v, _ = 0, T = 0;
    for (let I = 0; I < E; I++) {
      let z = e[_++] << 24 | e[_++] << 16 | e[_++] << 8 | e[_++], C = e[_++] << 24 | e[_++] << 16 | e[_++] << 8 | e[_++];
      v = 252645135 & (z >>> 4 ^ C), C ^= v, z ^= v << 4, v = 65535 & (C >>> -16 ^ z), z ^= v, C ^= v << -16, v = 858993459 & (z >>> 2 ^ C), C ^= v, z ^= v << 2, v = 65535 & (C >>> -16 ^ z), z ^= v, C ^= v << -16, v = 1431655765 & (z >>> 1 ^ C), C ^= v, z ^= v << 1, v = 16711935 & (C >>> 8 ^ z), z ^= v, C ^= v << 8, v = 1431655765 & (z >>> 1 ^ C), C ^= v, z ^= v << 1, v = z << 8 | C >>> 20 & 240, z = C << 24 | C << 8 & 16711680 | C >>> 8 & 65280 | C >>> 24 & 240, C = v;
      for (let j = 0; j < 16; j++) w[j] ? (z = z << 2 | z >>> 26, C = C << 2 | C >>> 26) : (z = z << 1 | z >>> 27, C = C << 1 | C >>> 27), z &= -15, C &= -15, D = t[z >>> 28] | r[z >>> 24 & 15] | n[z >>> 20 & 15] | a[z >>> 16 & 15] | i[z >>> 12 & 15] | s[z >>> 8 & 15] | l[z >>> 4 & 15], B = u[C >>> 28] | x[C >>> 24 & 15] | d[C >>> 20 & 15] | f[C >>> 16 & 15] | m[C >>> 12 & 15] | p[C >>> 8 & 15] | g[C >>> 4 & 15], v = 65535 & (B >>> 16 ^ D), A[T++] = D ^ v, A[T++] = B ^ v << 16;
    }
    return A;
  }
  function Ul(e) {
    this.key = [];
    for (let t = 0; t < 3; t++) this.key.push(new Uint8Array(e.subarray(8 * t, 8 * t + 8)));
    this.encrypt = function(t) {
      return I1(P1(this.key[2]), I1(P1(this.key[1]), I1(P1(this.key[0]), t, true), false), true);
    };
  }
  function IC() {
    this.BlockSize = 8, this.KeySize = 16, this.setKey = function(s) {
      if (this.masking = Array(16), this.rotate = Array(16), this.reset(), s.length !== this.KeySize) throw Error("CAST-128: keys must be 16 bytes");
      return this.keySchedule(s), true;
    }, this.reset = function() {
      for (let s = 0; s < 16; s++) this.masking[s] = 0, this.rotate[s] = 0;
    }, this.getBlockSize = function() {
      return this.BlockSize;
    }, this.encrypt = function(s) {
      const l = Array(s.length);
      for (let u = 0; u < s.length; u += 8) {
        let x, d = s[u] << 24 | s[u + 1] << 16 | s[u + 2] << 8 | s[u + 3], f = s[u + 4] << 24 | s[u + 5] << 16 | s[u + 6] << 8 | s[u + 7];
        x = f, f = d ^ r(f, this.masking[0], this.rotate[0]), d = x, x = f, f = d ^ n(f, this.masking[1], this.rotate[1]), d = x, x = f, f = d ^ a(f, this.masking[2], this.rotate[2]), d = x, x = f, f = d ^ r(f, this.masking[3], this.rotate[3]), d = x, x = f, f = d ^ n(f, this.masking[4], this.rotate[4]), d = x, x = f, f = d ^ a(f, this.masking[5], this.rotate[5]), d = x, x = f, f = d ^ r(f, this.masking[6], this.rotate[6]), d = x, x = f, f = d ^ n(f, this.masking[7], this.rotate[7]), d = x, x = f, f = d ^ a(f, this.masking[8], this.rotate[8]), d = x, x = f, f = d ^ r(f, this.masking[9], this.rotate[9]), d = x, x = f, f = d ^ n(f, this.masking[10], this.rotate[10]), d = x, x = f, f = d ^ a(f, this.masking[11], this.rotate[11]), d = x, x = f, f = d ^ r(f, this.masking[12], this.rotate[12]), d = x, x = f, f = d ^ n(f, this.masking[13], this.rotate[13]), d = x, x = f, f = d ^ a(f, this.masking[14], this.rotate[14]), d = x, x = f, f = d ^ r(f, this.masking[15], this.rotate[15]), d = x, l[u] = f >>> 24 & 255, l[u + 1] = f >>> 16 & 255, l[u + 2] = f >>> 8 & 255, l[u + 3] = 255 & f, l[u + 4] = d >>> 24 & 255, l[u + 5] = d >>> 16 & 255, l[u + 6] = d >>> 8 & 255, l[u + 7] = 255 & d;
      }
      return l;
    }, this.decrypt = function(s) {
      const l = Array(s.length);
      for (let u = 0; u < s.length; u += 8) {
        let x, d = s[u] << 24 | s[u + 1] << 16 | s[u + 2] << 8 | s[u + 3], f = s[u + 4] << 24 | s[u + 5] << 16 | s[u + 6] << 8 | s[u + 7];
        x = f, f = d ^ r(f, this.masking[15], this.rotate[15]), d = x, x = f, f = d ^ a(f, this.masking[14], this.rotate[14]), d = x, x = f, f = d ^ n(f, this.masking[13], this.rotate[13]), d = x, x = f, f = d ^ r(f, this.masking[12], this.rotate[12]), d = x, x = f, f = d ^ a(f, this.masking[11], this.rotate[11]), d = x, x = f, f = d ^ n(f, this.masking[10], this.rotate[10]), d = x, x = f, f = d ^ r(f, this.masking[9], this.rotate[9]), d = x, x = f, f = d ^ a(f, this.masking[8], this.rotate[8]), d = x, x = f, f = d ^ n(f, this.masking[7], this.rotate[7]), d = x, x = f, f = d ^ r(f, this.masking[6], this.rotate[6]), d = x, x = f, f = d ^ a(f, this.masking[5], this.rotate[5]), d = x, x = f, f = d ^ n(f, this.masking[4], this.rotate[4]), d = x, x = f, f = d ^ r(f, this.masking[3], this.rotate[3]), d = x, x = f, f = d ^ a(f, this.masking[2], this.rotate[2]), d = x, x = f, f = d ^ n(f, this.masking[1], this.rotate[1]), d = x, x = f, f = d ^ r(f, this.masking[0], this.rotate[0]), d = x, l[u] = f >>> 24 & 255, l[u + 1] = f >>> 16 & 255, l[u + 2] = f >>> 8 & 255, l[u + 3] = 255 & f, l[u + 4] = d >>> 24 & 255, l[u + 5] = d >> 16 & 255, l[u + 6] = d >> 8 & 255, l[u + 7] = 255 & d;
      }
      return l;
    };
    const e = [
      ,
      ,
      ,
      ,
    ];
    e[0] = [
      ,
      ,
      ,
      ,
    ], e[0][0] = [
      4,
      0,
      13,
      15,
      12,
      14,
      8
    ], e[0][1] = [
      5,
      2,
      16,
      18,
      17,
      19,
      10
    ], e[0][2] = [
      6,
      3,
      23,
      22,
      21,
      20,
      9
    ], e[0][3] = [
      7,
      1,
      26,
      25,
      27,
      24,
      11
    ], e[1] = [
      ,
      ,
      ,
      ,
    ], e[1][0] = [
      0,
      6,
      21,
      23,
      20,
      22,
      16
    ], e[1][1] = [
      1,
      4,
      0,
      2,
      1,
      3,
      18
    ], e[1][2] = [
      2,
      5,
      7,
      6,
      5,
      4,
      17
    ], e[1][3] = [
      3,
      7,
      10,
      9,
      11,
      8,
      19
    ], e[2] = [
      ,
      ,
      ,
      ,
    ], e[2][0] = [
      4,
      0,
      13,
      15,
      12,
      14,
      8
    ], e[2][1] = [
      5,
      2,
      16,
      18,
      17,
      19,
      10
    ], e[2][2] = [
      6,
      3,
      23,
      22,
      21,
      20,
      9
    ], e[2][3] = [
      7,
      1,
      26,
      25,
      27,
      24,
      11
    ], e[3] = [
      ,
      ,
      ,
      ,
    ], e[3][0] = [
      0,
      6,
      21,
      23,
      20,
      22,
      16
    ], e[3][1] = [
      1,
      4,
      0,
      2,
      1,
      3,
      18
    ], e[3][2] = [
      2,
      5,
      7,
      6,
      5,
      4,
      17
    ], e[3][3] = [
      3,
      7,
      10,
      9,
      11,
      8,
      19
    ];
    const t = [
      ,
      ,
      ,
      ,
    ];
    function r(s, l, u) {
      const x = l + s, d = x << u | x >>> 32 - u;
      return (i[0][d >>> 24] ^ i[1][d >>> 16 & 255]) - i[2][d >>> 8 & 255] + i[3][255 & d];
    }
    function n(s, l, u) {
      const x = l ^ s, d = x << u | x >>> 32 - u;
      return i[0][d >>> 24] - i[1][d >>> 16 & 255] + i[2][d >>> 8 & 255] ^ i[3][255 & d];
    }
    function a(s, l, u) {
      const x = l - s, d = x << u | x >>> 32 - u;
      return (i[0][d >>> 24] + i[1][d >>> 16 & 255] ^ i[2][d >>> 8 & 255]) - i[3][255 & d];
    }
    t[0] = [
      ,
      ,
      ,
      ,
    ], t[0][0] = [
      24,
      25,
      23,
      22,
      18
    ], t[0][1] = [
      26,
      27,
      21,
      20,
      22
    ], t[0][2] = [
      28,
      29,
      19,
      18,
      25
    ], t[0][3] = [
      30,
      31,
      17,
      16,
      28
    ], t[1] = [
      ,
      ,
      ,
      ,
    ], t[1][0] = [
      3,
      2,
      12,
      13,
      8
    ], t[1][1] = [
      1,
      0,
      14,
      15,
      13
    ], t[1][2] = [
      7,
      6,
      8,
      9,
      3
    ], t[1][3] = [
      5,
      4,
      10,
      11,
      7
    ], t[2] = [
      ,
      ,
      ,
      ,
    ], t[2][0] = [
      19,
      18,
      28,
      29,
      25
    ], t[2][1] = [
      17,
      16,
      30,
      31,
      28
    ], t[2][2] = [
      23,
      22,
      24,
      25,
      18
    ], t[2][3] = [
      21,
      20,
      26,
      27,
      22
    ], t[3] = [
      ,
      ,
      ,
      ,
    ], t[3][0] = [
      8,
      9,
      7,
      6,
      3
    ], t[3][1] = [
      10,
      11,
      5,
      4,
      7
    ], t[3][2] = [
      12,
      13,
      3,
      2,
      8
    ], t[3][3] = [
      14,
      15,
      1,
      0,
      13
    ], this.keySchedule = function(s) {
      const l = [
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
      ], u = Array(32);
      let x;
      for (let p = 0; p < 4; p++) x = 4 * p, l[p] = s[x] << 24 | s[x + 1] << 16 | s[x + 2] << 8 | s[x + 3];
      const d = [
        6,
        7,
        4,
        5
      ];
      let f, m = 0;
      for (let p = 0; p < 2; p++) for (let g = 0; g < 4; g++) {
        for (x = 0; x < 4; x++) {
          const E = e[g][x];
          f = l[E[1]], f ^= i[4][l[E[2] >>> 2] >>> 24 - 8 * (3 & E[2]) & 255], f ^= i[5][l[E[3] >>> 2] >>> 24 - 8 * (3 & E[3]) & 255], f ^= i[6][l[E[4] >>> 2] >>> 24 - 8 * (3 & E[4]) & 255], f ^= i[7][l[E[5] >>> 2] >>> 24 - 8 * (3 & E[5]) & 255], f ^= i[d[x]][l[E[6] >>> 2] >>> 24 - 8 * (3 & E[6]) & 255], l[E[0]] = f;
        }
        for (x = 0; x < 4; x++) {
          const E = t[g][x];
          f = i[4][l[E[0] >>> 2] >>> 24 - 8 * (3 & E[0]) & 255], f ^= i[5][l[E[1] >>> 2] >>> 24 - 8 * (3 & E[1]) & 255], f ^= i[6][l[E[2] >>> 2] >>> 24 - 8 * (3 & E[2]) & 255], f ^= i[7][l[E[3] >>> 2] >>> 24 - 8 * (3 & E[3]) & 255], f ^= i[4 + x][l[E[4] >>> 2] >>> 24 - 8 * (3 & E[4]) & 255], u[m] = f, m++;
        }
      }
      for (let p = 0; p < 16; p++) this.masking[p] = u[p], this.rotate[p] = 31 & u[16 + p];
    };
    const i = [
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
    ];
    i[0] = [
      821772500,
      2678128395,
      1810681135,
      1059425402,
      505495343,
      2617265619,
      1610868032,
      3483355465,
      3218386727,
      2294005173,
      3791863952,
      2563806837,
      1852023008,
      365126098,
      3269944861,
      584384398,
      677919599,
      3229601881,
      4280515016,
      2002735330,
      1136869587,
      3744433750,
      2289869850,
      2731719981,
      2714362070,
      879511577,
      1639411079,
      575934255,
      717107937,
      2857637483,
      576097850,
      2731753936,
      1725645e3,
      2810460463,
      5111599,
      767152862,
      2543075244,
      1251459544,
      1383482551,
      3052681127,
      3089939183,
      3612463449,
      1878520045,
      1510570527,
      2189125840,
      2431448366,
      582008916,
      3163445557,
      1265446783,
      1354458274,
      3529918736,
      3202711853,
      3073581712,
      3912963487,
      3029263377,
      1275016285,
      4249207360,
      2905708351,
      3304509486,
      1442611557,
      3585198765,
      2712415662,
      2731849581,
      3248163920,
      2283946226,
      208555832,
      2766454743,
      1331405426,
      1447828783,
      3315356441,
      3108627284,
      2957404670,
      2981538698,
      3339933917,
      1669711173,
      286233437,
      1465092821,
      1782121619,
      3862771680,
      710211251,
      980974943,
      1651941557,
      430374111,
      2051154026,
      704238805,
      4128970897,
      3144820574,
      2857402727,
      948965521,
      3333752299,
      2227686284,
      718756367,
      2269778983,
      2731643755,
      718440111,
      2857816721,
      3616097120,
      1113355533,
      2478022182,
      410092745,
      1811985197,
      1944238868,
      2696854588,
      1415722873,
      1682284203,
      1060277122,
      1998114690,
      1503841958,
      82706478,
      2315155686,
      1068173648,
      845149890,
      2167947013,
      1768146376,
      1993038550,
      3566826697,
      3390574031,
      940016341,
      3355073782,
      2328040721,
      904371731,
      1205506512,
      4094660742,
      2816623006,
      825647681,
      85914773,
      2857843460,
      1249926541,
      1417871568,
      3287612,
      3211054559,
      3126306446,
      1975924523,
      1353700161,
      2814456437,
      2438597621,
      1800716203,
      722146342,
      2873936343,
      1151126914,
      4160483941,
      2877670899,
      458611604,
      2866078500,
      3483680063,
      770352098,
      2652916994,
      3367839148,
      3940505011,
      3585973912,
      3809620402,
      718646636,
      2504206814,
      2914927912,
      3631288169,
      2857486607,
      2860018678,
      575749918,
      2857478043,
      718488780,
      2069512688,
      3548183469,
      453416197,
      1106044049,
      3032691430,
      52586708,
      3378514636,
      3459808877,
      3211506028,
      1785789304,
      218356169,
      3571399134,
      3759170522,
      1194783844,
      1523787992,
      3007827094,
      1975193539,
      2555452411,
      1341901877,
      3045838698,
      3776907964,
      3217423946,
      2802510864,
      2889438986,
      1057244207,
      1636348243,
      3761863214,
      1462225785,
      2632663439,
      481089165,
      718503062,
      24497053,
      3332243209,
      3344655856,
      3655024856,
      3960371065,
      1195698900,
      2971415156,
      3710176158,
      2115785917,
      4027663609,
      3525578417,
      2524296189,
      2745972565,
      3564906415,
      1372086093,
      1452307862,
      2780501478,
      1476592880,
      3389271281,
      18495466,
      2378148571,
      901398090,
      891748256,
      3279637769,
      3157290713,
      2560960102,
      1447622437,
      4284372637,
      216884176,
      2086908623,
      1879786977,
      3588903153,
      2242455666,
      2938092967,
      3559082096,
      2810645491,
      758861177,
      1121993112,
      215018983,
      642190776,
      4169236812,
      1196255959,
      2081185372,
      3508738393,
      941322904,
      4124243163,
      2877523539,
      1848581667,
      2205260958,
      3180453958,
      2589345134,
      3694731276,
      550028657,
      2519456284,
      3789985535,
      2973870856,
      2093648313,
      443148163,
      46942275,
      2734146937,
      1117713533,
      1115362972,
      1523183689,
      3717140224,
      1551984063
    ], i[1] = [
      522195092,
      4010518363,
      1776537470,
      960447360,
      4267822970,
      4005896314,
      1435016340,
      1929119313,
      2913464185,
      1310552629,
      3579470798,
      3724818106,
      2579771631,
      1594623892,
      417127293,
      2715217907,
      2696228731,
      1508390405,
      3994398868,
      3925858569,
      3695444102,
      4019471449,
      3129199795,
      3770928635,
      3520741761,
      990456497,
      4187484609,
      2783367035,
      21106139,
      3840405339,
      631373633,
      3783325702,
      532942976,
      396095098,
      3548038825,
      4267192484,
      2564721535,
      2011709262,
      2039648873,
      620404603,
      3776170075,
      2898526339,
      3612357925,
      4159332703,
      1645490516,
      223693667,
      1567101217,
      3362177881,
      1029951347,
      3470931136,
      3570957959,
      1550265121,
      119497089,
      972513919,
      907948164,
      3840628539,
      1613718692,
      3594177948,
      465323573,
      2659255085,
      654439692,
      2575596212,
      2699288441,
      3127702412,
      277098644,
      624404830,
      4100943870,
      2717858591,
      546110314,
      2403699828,
      3655377447,
      1321679412,
      4236791657,
      1045293279,
      4010672264,
      895050893,
      2319792268,
      494945126,
      1914543101,
      2777056443,
      3894764339,
      2219737618,
      311263384,
      4275257268,
      3458730721,
      669096869,
      3584475730,
      3835122877,
      3319158237,
      3949359204,
      2005142349,
      2713102337,
      2228954793,
      3769984788,
      569394103,
      3855636576,
      1425027204,
      108000370,
      2736431443,
      3671869269,
      3043122623,
      1750473702,
      2211081108,
      762237499,
      3972989403,
      2798899386,
      3061857628,
      2943854345,
      867476300,
      964413654,
      1591880597,
      1594774276,
      2179821409,
      552026980,
      3026064248,
      3726140315,
      2283577634,
      3110545105,
      2152310760,
      582474363,
      1582640421,
      1383256631,
      2043843868,
      3322775884,
      1217180674,
      463797851,
      2763038571,
      480777679,
      2718707717,
      2289164131,
      3118346187,
      214354409,
      200212307,
      3810608407,
      3025414197,
      2674075964,
      3997296425,
      1847405948,
      1342460550,
      510035443,
      4080271814,
      815934613,
      833030224,
      1620250387,
      1945732119,
      2703661145,
      3966000196,
      1388869545,
      3456054182,
      2687178561,
      2092620194,
      562037615,
      1356438536,
      3409922145,
      3261847397,
      1688467115,
      2150901366,
      631725691,
      3840332284,
      549916902,
      3455104640,
      394546491,
      837744717,
      2114462948,
      751520235,
      2221554606,
      2415360136,
      3999097078,
      2063029875,
      803036379,
      2702586305,
      821456707,
      3019566164,
      360699898,
      4018502092,
      3511869016,
      3677355358,
      2402471449,
      812317050,
      49299192,
      2570164949,
      3259169295,
      2816732080,
      3331213574,
      3101303564,
      2156015656,
      3705598920,
      3546263921,
      143268808,
      3200304480,
      1638124008,
      3165189453,
      3341807610,
      578956953,
      2193977524,
      3638120073,
      2333881532,
      807278310,
      658237817,
      2969561766,
      1641658566,
      11683945,
      3086995007,
      148645947,
      1138423386,
      4158756760,
      1981396783,
      2401016740,
      3699783584,
      380097457,
      2680394679,
      2803068651,
      3334260286,
      441530178,
      4016580796,
      1375954390,
      761952171,
      891809099,
      2183123478,
      157052462,
      3683840763,
      1592404427,
      341349109,
      2438483839,
      1417898363,
      644327628,
      2233032776,
      2353769706,
      2201510100,
      220455161,
      1815641738,
      182899273,
      2995019788,
      3627381533,
      3702638151,
      2890684138,
      1052606899,
      588164016,
      1681439879,
      4038439418,
      2405343923,
      4229449282,
      167996282,
      1336969661,
      1688053129,
      2739224926,
      1543734051,
      1046297529,
      1138201970,
      2121126012,
      115334942,
      1819067631,
      1902159161,
      1941945968,
      2206692869,
      1159982321
    ], i[2] = [
      2381300288,
      637164959,
      3952098751,
      3893414151,
      1197506559,
      916448331,
      2350892612,
      2932787856,
      3199334847,
      4009478890,
      3905886544,
      1373570990,
      2450425862,
      4037870920,
      3778841987,
      2456817877,
      286293407,
      124026297,
      3001279700,
      1028597854,
      3115296800,
      4208886496,
      2691114635,
      2188540206,
      1430237888,
      1218109995,
      3572471700,
      308166588,
      570424558,
      2187009021,
      2455094765,
      307733056,
      1310360322,
      3135275007,
      1384269543,
      2388071438,
      863238079,
      2359263624,
      2801553128,
      3380786597,
      2831162807,
      1470087780,
      1728663345,
      4072488799,
      1090516929,
      532123132,
      2389430977,
      1132193179,
      2578464191,
      3051079243,
      1670234342,
      1434557849,
      2711078940,
      1241591150,
      3314043432,
      3435360113,
      3091448339,
      1812415473,
      2198440252,
      267246943,
      796911696,
      3619716990,
      38830015,
      1526438404,
      2806502096,
      374413614,
      2943401790,
      1489179520,
      1603809326,
      1920779204,
      168801282,
      260042626,
      2358705581,
      1563175598,
      2397674057,
      1356499128,
      2217211040,
      514611088,
      2037363785,
      2186468373,
      4022173083,
      2792511869,
      2913485016,
      1173701892,
      4200428547,
      3896427269,
      1334932762,
      2455136706,
      602925377,
      2835607854,
      1613172210,
      41346230,
      2499634548,
      2457437618,
      2188827595,
      41386358,
      4172255629,
      1313404830,
      2405527007,
      3801973774,
      2217704835,
      873260488,
      2528884354,
      2478092616,
      4012915883,
      2555359016,
      2006953883,
      2463913485,
      575479328,
      2218240648,
      2099895446,
      660001756,
      2341502190,
      3038761536,
      3888151779,
      3848713377,
      3286851934,
      1022894237,
      1620365795,
      3449594689,
      1551255054,
      15374395,
      3570825345,
      4249311020,
      4151111129,
      3181912732,
      310226346,
      1133119310,
      530038928,
      136043402,
      2476768958,
      3107506709,
      2544909567,
      1036173560,
      2367337196,
      1681395281,
      1758231547,
      3641649032,
      306774401,
      1575354324,
      3716085866,
      1990386196,
      3114533736,
      2455606671,
      1262092282,
      3124342505,
      2768229131,
      4210529083,
      1833535011,
      423410938,
      660763973,
      2187129978,
      1639812e3,
      3508421329,
      3467445492,
      310289298,
      272797111,
      2188552562,
      2456863912,
      310240523,
      677093832,
      1013118031,
      901835429,
      3892695601,
      1116285435,
      3036471170,
      1337354835,
      243122523,
      520626091,
      277223598,
      4244441197,
      4194248841,
      1766575121,
      594173102,
      316590669,
      742362309,
      3536858622,
      4176435350,
      3838792410,
      2501204839,
      1229605004,
      3115755532,
      1552908988,
      2312334149,
      979407927,
      3959474601,
      1148277331,
      176638793,
      3614686272,
      2083809052,
      40992502,
      1340822838,
      2731552767,
      3535757508,
      3560899520,
      1354035053,
      122129617,
      7215240,
      2732932949,
      3118912700,
      2718203926,
      2539075635,
      3609230695,
      3725561661,
      1928887091,
      2882293555,
      1988674909,
      2063640240,
      2491088897,
      1459647954,
      4189817080,
      2302804382,
      1113892351,
      2237858528,
      1927010603,
      4002880361,
      1856122846,
      1594404395,
      2944033133,
      3855189863,
      3474975698,
      1643104450,
      4054590833,
      3431086530,
      1730235576,
      2984608721,
      3084664418,
      2131803598,
      4178205752,
      267404349,
      1617849798,
      1616132681,
      1462223176,
      736725533,
      2327058232,
      551665188,
      2945899023,
      1749386277,
      2575514597,
      1611482493,
      674206544,
      2201269090,
      3642560800,
      728599968,
      1680547377,
      2620414464,
      1388111496,
      453204106,
      4156223445,
      1094905244,
      2754698257,
      2201108165,
      3757000246,
      2704524545,
      3922940700,
      3996465027
    ], i[3] = [
      2645754912,
      532081118,
      2814278639,
      3530793624,
      1246723035,
      1689095255,
      2236679235,
      4194438865,
      2116582143,
      3859789411,
      157234593,
      2045505824,
      4245003587,
      1687664561,
      4083425123,
      605965023,
      672431967,
      1336064205,
      3376611392,
      214114848,
      4258466608,
      3232053071,
      489488601,
      605322005,
      3998028058,
      264917351,
      1912574028,
      756637694,
      436560991,
      202637054,
      135989450,
      85393697,
      2152923392,
      3896401662,
      2895836408,
      2145855233,
      3535335007,
      115294817,
      3147733898,
      1922296357,
      3464822751,
      4117858305,
      1037454084,
      2725193275,
      2127856640,
      1417604070,
      1148013728,
      1827919605,
      642362335,
      2929772533,
      909348033,
      1346338451,
      3547799649,
      297154785,
      1917849091,
      4161712827,
      2883604526,
      3968694238,
      1469521537,
      3780077382,
      3375584256,
      1763717519,
      136166297,
      4290970789,
      1295325189,
      2134727907,
      2798151366,
      1566297257,
      3672928234,
      2677174161,
      2672173615,
      965822077,
      2780786062,
      289653839,
      1133871874,
      3491843819,
      35685304,
      1068898316,
      418943774,
      672553190,
      642281022,
      2346158704,
      1954014401,
      3037126780,
      4079815205,
      2030668546,
      3840588673,
      672283427,
      1776201016,
      359975446,
      3750173538,
      555499703,
      2769985273,
      1324923,
      69110472,
      152125443,
      3176785106,
      3822147285,
      1340634837,
      798073664,
      1434183902,
      15393959,
      216384236,
      1303690150,
      3881221631,
      3711134124,
      3960975413,
      106373927,
      2578434224,
      1455997841,
      1801814300,
      1578393881,
      1854262133,
      3188178946,
      3258078583,
      2302670060,
      1539295533,
      3505142565,
      3078625975,
      2372746020,
      549938159,
      3278284284,
      2620926080,
      181285381,
      2865321098,
      3970029511,
      68876850,
      488006234,
      1728155692,
      2608167508,
      836007927,
      2435231793,
      919367643,
      3339422534,
      3655756360,
      1457871481,
      40520939,
      1380155135,
      797931188,
      234455205,
      2255801827,
      3990488299,
      397000196,
      739833055,
      3077865373,
      2871719860,
      4022553888,
      772369276,
      390177364,
      3853951029,
      557662966,
      740064294,
      1640166671,
      1699928825,
      3535942136,
      622006121,
      3625353122,
      68743880,
      1742502,
      219489963,
      1664179233,
      1577743084,
      1236991741,
      410585305,
      2366487942,
      823226535,
      1050371084,
      3426619607,
      3586839478,
      212779912,
      4147118561,
      1819446015,
      1911218849,
      530248558,
      3486241071,
      3252585495,
      2886188651,
      3410272728,
      2342195030,
      20547779,
      2982490058,
      3032363469,
      3631753222,
      312714466,
      1870521650,
      1493008054,
      3491686656,
      615382978,
      4103671749,
      2534517445,
      1932181,
      2196105170,
      278426614,
      6369430,
      3274544417,
      2913018367,
      697336853,
      2143000447,
      2946413531,
      701099306,
      1558357093,
      2805003052,
      3500818408,
      2321334417,
      3567135975,
      216290473,
      3591032198,
      23009561,
      1996984579,
      3735042806,
      2024298078,
      3739440863,
      569400510,
      2339758983,
      3016033873,
      3097871343,
      3639523026,
      3844324983,
      3256173865,
      795471839,
      2951117563,
      4101031090,
      4091603803,
      3603732598,
      971261452,
      534414648,
      428311343,
      3389027175,
      2844869880,
      694888862,
      1227866773,
      2456207019,
      3043454569,
      2614353370,
      3749578031,
      3676663836,
      459166190,
      4132644070,
      1794958188,
      51825668,
      2252611902,
      3084671440,
      2036672799,
      3436641603,
      1099053433,
      2469121526,
      3059204941,
      1323291266,
      2061838604,
      1018778475,
      2233344254,
      2553501054,
      334295216,
      3556750194,
      1065731521,
      183467730
    ], i[4] = [
      2127105028,
      745436345,
      2601412319,
      2788391185,
      3093987327,
      500390133,
      1155374404,
      389092991,
      150729210,
      3891597772,
      3523549952,
      1935325696,
      716645080,
      946045387,
      2901812282,
      1774124410,
      3869435775,
      4039581901,
      3293136918,
      3438657920,
      948246080,
      363898952,
      3867875531,
      1286266623,
      1598556673,
      68334250,
      630723836,
      1104211938,
      1312863373,
      613332731,
      2377784574,
      1101634306,
      441780740,
      3129959883,
      1917973735,
      2510624549,
      3238456535,
      2544211978,
      3308894634,
      1299840618,
      4076074851,
      1756332096,
      3977027158,
      297047435,
      3790297736,
      2265573040,
      3621810518,
      1311375015,
      1667687725,
      47300608,
      3299642885,
      2474112369,
      201668394,
      1468347890,
      576830978,
      3594690761,
      3742605952,
      1958042578,
      1747032512,
      3558991340,
      1408974056,
      3366841779,
      682131401,
      1033214337,
      1545599232,
      4265137049,
      206503691,
      103024618,
      2855227313,
      1337551222,
      2428998917,
      2963842932,
      4015366655,
      3852247746,
      2796956967,
      3865723491,
      3747938335,
      247794022,
      3755824572,
      702416469,
      2434691994,
      397379957,
      851939612,
      2314769512,
      218229120,
      1380406772,
      62274761,
      214451378,
      3170103466,
      2276210409,
      3845813286,
      28563499,
      446592073,
      1693330814,
      3453727194,
      29968656,
      3093872512,
      220656637,
      2470637031,
      77972100,
      1667708854,
      1358280214,
      4064765667,
      2395616961,
      325977563,
      4277240721,
      4220025399,
      3605526484,
      3355147721,
      811859167,
      3069544926,
      3962126810,
      652502677,
      3075892249,
      4132761541,
      3498924215,
      1217549313,
      3250244479,
      3858715919,
      3053989961,
      1538642152,
      2279026266,
      2875879137,
      574252750,
      3324769229,
      2651358713,
      1758150215,
      141295887,
      2719868960,
      3515574750,
      4093007735,
      4194485238,
      1082055363,
      3417560400,
      395511885,
      2966884026,
      179534037,
      3646028556,
      3738688086,
      1092926436,
      2496269142,
      257381841,
      3772900718,
      1636087230,
      1477059743,
      2499234752,
      3811018894,
      2675660129,
      3285975680,
      90732309,
      1684827095,
      1150307763,
      1723134115,
      3237045386,
      1769919919,
      1240018934,
      815675215,
      750138730,
      2239792499,
      1234303040,
      1995484674,
      138143821,
      675421338,
      1145607174,
      1936608440,
      3238603024,
      2345230278,
      2105974004,
      323969391,
      779555213,
      3004902369,
      2861610098,
      1017501463,
      2098600890,
      2628620304,
      2940611490,
      2682542546,
      1171473753,
      3656571411,
      3687208071,
      4091869518,
      393037935,
      159126506,
      1662887367,
      1147106178,
      391545844,
      3452332695,
      1891500680,
      3016609650,
      1851642611,
      546529401,
      1167818917,
      3194020571,
      2848076033,
      3953471836,
      575554290,
      475796850,
      4134673196,
      450035699,
      2351251534,
      844027695,
      1080539133,
      86184846,
      1554234488,
      3692025454,
      1972511363,
      2018339607,
      1491841390,
      1141460869,
      1061690759,
      4244549243,
      2008416118,
      2351104703,
      2868147542,
      1598468138,
      722020353,
      1027143159,
      212344630,
      1387219594,
      1725294528,
      3745187956,
      2500153616,
      458938280,
      4129215917,
      1828119673,
      544571780,
      3503225445,
      2297937496,
      1241802790,
      267843827,
      2694610800,
      1397140384,
      1558801448,
      3782667683,
      1806446719,
      929573330,
      2234912681,
      400817706,
      616011623,
      4121520928,
      3603768725,
      1761550015,
      1968522284,
      4053731006,
      4192232858,
      4005120285,
      872482584,
      3140537016,
      3894607381,
      2287405443,
      1963876937,
      3663887957,
      1584857e3,
      2975024454,
      1833426440,
      4025083860
    ], i[5] = [
      4143615901,
      749497569,
      1285769319,
      3795025788,
      2514159847,
      23610292,
      3974978748,
      844452780,
      3214870880,
      3751928557,
      2213566365,
      1676510905,
      448177848,
      3730751033,
      4086298418,
      2307502392,
      871450977,
      3222878141,
      4110862042,
      3831651966,
      2735270553,
      1310974780,
      2043402188,
      1218528103,
      2736035353,
      4274605013,
      2702448458,
      3936360550,
      2693061421,
      162023535,
      2827510090,
      687910808,
      23484817,
      3784910947,
      3371371616,
      779677500,
      3503626546,
      3473927188,
      4157212626,
      3500679282,
      4248902014,
      2466621104,
      3899384794,
      1958663117,
      925738300,
      1283408968,
      3669349440,
      1840910019,
      137959847,
      2679828185,
      1239142320,
      1315376211,
      1547541505,
      1690155329,
      739140458,
      3128809933,
      3933172616,
      3876308834,
      905091803,
      1548541325,
      4040461708,
      3095483362,
      144808038,
      451078856,
      676114313,
      2861728291,
      2469707347,
      993665471,
      373509091,
      2599041286,
      4025009006,
      4170239449,
      2149739950,
      3275793571,
      3749616649,
      2794760199,
      1534877388,
      572371878,
      2590613551,
      1753320020,
      3467782511,
      1405125690,
      4270405205,
      633333386,
      3026356924,
      3475123903,
      632057672,
      2846462855,
      1404951397,
      3882875879,
      3915906424,
      195638627,
      2385783745,
      3902872553,
      1233155085,
      3355999740,
      2380578713,
      2702246304,
      2144565621,
      3663341248,
      3894384975,
      2502479241,
      4248018925,
      3094885567,
      1594115437,
      572884632,
      3385116731,
      767645374,
      1331858858,
      1475698373,
      3793881790,
      3532746431,
      1321687957,
      619889600,
      1121017241,
      3440213920,
      2070816767,
      2833025776,
      1933951238,
      4095615791,
      890643334,
      3874130214,
      859025556,
      360630002,
      925594799,
      1764062180,
      3920222280,
      4078305929,
      979562269,
      2810700344,
      4087740022,
      1949714515,
      546639971,
      1165388173,
      3069891591,
      1495988560,
      922170659,
      1291546247,
      2107952832,
      1813327274,
      3406010024,
      3306028637,
      4241950635,
      153207855,
      2313154747,
      1608695416,
      1150242611,
      1967526857,
      721801357,
      1220138373,
      3691287617,
      3356069787,
      2112743302,
      3281662835,
      1111556101,
      1778980689,
      250857638,
      2298507990,
      673216130,
      2846488510,
      3207751581,
      3562756981,
      3008625920,
      3417367384,
      2198807050,
      529510932,
      3547516680,
      3426503187,
      2364944742,
      102533054,
      2294910856,
      1617093527,
      1204784762,
      3066581635,
      1019391227,
      1069574518,
      1317995090,
      1691889997,
      3661132003,
      510022745,
      3238594800,
      1362108837,
      1817929911,
      2184153760,
      805817662,
      1953603311,
      3699844737,
      120799444,
      2118332377,
      207536705,
      2282301548,
      4120041617,
      145305846,
      2508124933,
      3086745533,
      3261524335,
      1877257368,
      2977164480,
      3160454186,
      2503252186,
      4221677074,
      759945014,
      254147243,
      2767453419,
      3801518371,
      629083197,
      2471014217,
      907280572,
      3900796746,
      940896768,
      2751021123,
      2625262786,
      3161476951,
      3661752313,
      3260732218,
      1425318020,
      2977912069,
      1496677566,
      3988592072,
      2140652971,
      3126511541,
      3069632175,
      977771578,
      1392695845,
      1698528874,
      1411812681,
      1369733098,
      1343739227,
      3620887944,
      1142123638,
      67414216,
      3102056737,
      3088749194,
      1626167401,
      2546293654,
      3941374235,
      697522451,
      33404913,
      143560186,
      2595682037,
      994885535,
      1247667115,
      3859094837,
      2699155541,
      3547024625,
      4114935275,
      2968073508,
      3199963069,
      2732024527,
      1237921620,
      951448369,
      1898488916,
      1211705605,
      2790989240,
      2233243581,
      3598044975
    ], i[6] = [
      2246066201,
      858518887,
      1714274303,
      3485882003,
      713916271,
      2879113490,
      3730835617,
      539548191,
      36158695,
      1298409750,
      419087104,
      1358007170,
      749914897,
      2989680476,
      1261868530,
      2995193822,
      2690628854,
      3443622377,
      3780124940,
      3796824509,
      2976433025,
      4259637129,
      1551479e3,
      512490819,
      1296650241,
      951993153,
      2436689437,
      2460458047,
      144139966,
      3136204276,
      310820559,
      3068840729,
      643875328,
      1969602020,
      1680088954,
      2185813161,
      3283332454,
      672358534,
      198762408,
      896343282,
      276269502,
      3014846926,
      84060815,
      197145886,
      376173866,
      3943890818,
      3813173521,
      3545068822,
      1316698879,
      1598252827,
      2633424951,
      1233235075,
      859989710,
      2358460855,
      3503838400,
      3409603720,
      1203513385,
      1193654839,
      2792018475,
      2060853022,
      207403770,
      1144516871,
      3068631394,
      1121114134,
      177607304,
      3785736302,
      326409831,
      1929119770,
      2983279095,
      4183308101,
      3474579288,
      3200513878,
      3228482096,
      119610148,
      1170376745,
      3378393471,
      3163473169,
      951863017,
      3337026068,
      3135789130,
      2907618374,
      1183797387,
      2015970143,
      4045674555,
      2182986399,
      2952138740,
      3928772205,
      384012900,
      2454997643,
      10178499,
      2879818989,
      2596892536,
      111523738,
      2995089006,
      451689641,
      3196290696,
      235406569,
      1441906262,
      3890558523,
      3013735005,
      4158569349,
      1644036924,
      376726067,
      1006849064,
      3664579700,
      2041234796,
      1021632941,
      1374734338,
      2566452058,
      371631263,
      4007144233,
      490221539,
      206551450,
      3140638584,
      1053219195,
      1853335209,
      3412429660,
      3562156231,
      735133835,
      1623211703,
      3104214392,
      2738312436,
      4096837757,
      3366392578,
      3110964274,
      3956598718,
      3196820781,
      2038037254,
      3877786376,
      2339753847,
      300912036,
      3766732888,
      2372630639,
      1516443558,
      4200396704,
      1574567987,
      4069441456,
      4122592016,
      2699739776,
      146372218,
      2748961456,
      2043888151,
      35287437,
      2596680554,
      655490400,
      1132482787,
      110692520,
      1031794116,
      2188192751,
      1324057718,
      1217253157,
      919197030,
      686247489,
      3261139658,
      1028237775,
      3135486431,
      3059715558,
      2460921700,
      986174950,
      2661811465,
      4062904701,
      2752986992,
      3709736643,
      367056889,
      1353824391,
      731860949,
      1650113154,
      1778481506,
      784341916,
      357075625,
      3608602432,
      1074092588,
      2480052770,
      3811426202,
      92751289,
      877911070,
      3600361838,
      1231880047,
      480201094,
      3756190983,
      3094495953,
      434011822,
      87971354,
      363687820,
      1717726236,
      1901380172,
      3926403882,
      2481662265,
      400339184,
      1490350766,
      2661455099,
      1389319756,
      2558787174,
      784598401,
      1983468483,
      30828846,
      3550527752,
      2716276238,
      3841122214,
      1765724805,
      1955612312,
      1277890269,
      1333098070,
      1564029816,
      2704417615,
      1026694237,
      3287671188,
      1260819201,
      3349086767,
      1016692350,
      1582273796,
      1073413053,
      1995943182,
      694588404,
      1025494639,
      3323872702,
      3551898420,
      4146854327,
      453260480,
      1316140391,
      1435673405,
      3038941953,
      3486689407,
      1622062951,
      403978347,
      817677117,
      950059133,
      4246079218,
      3278066075,
      1486738320,
      1417279718,
      481875527,
      2549965225,
      3933690356,
      760697757,
      1452955855,
      3897451437,
      1177426808,
      1702951038,
      4085348628,
      2447005172,
      1084371187,
      3516436277,
      3068336338,
      1073369276,
      1027665953,
      3284188590,
      1230553676,
      1368340146,
      2226246512,
      267243139,
      2274220762,
      4070734279,
      2497715176,
      2423353163,
      2504755875
    ], i[7] = [
      3793104909,
      3151888380,
      2817252029,
      895778965,
      2005530807,
      3871412763,
      237245952,
      86829237,
      296341424,
      3851759377,
      3974600970,
      2475086196,
      709006108,
      1994621201,
      2972577594,
      937287164,
      3734691505,
      168608556,
      3189338153,
      2225080640,
      3139713551,
      3033610191,
      3025041904,
      77524477,
      185966941,
      1208824168,
      2344345178,
      1721625922,
      3354191921,
      1066374631,
      1927223579,
      1971335949,
      2483503697,
      1551748602,
      2881383779,
      2856329572,
      3003241482,
      48746954,
      1398218158,
      2050065058,
      313056748,
      4255789917,
      393167848,
      1912293076,
      940740642,
      3465845460,
      3091687853,
      2522601570,
      2197016661,
      1727764327,
      364383054,
      492521376,
      1291706479,
      3264136376,
      1474851438,
      1685747964,
      2575719748,
      1619776915,
      1814040067,
      970743798,
      1561002147,
      2925768690,
      2123093554,
      1880132620,
      3151188041,
      697884420,
      2550985770,
      2607674513,
      2659114323,
      110200136,
      1489731079,
      997519150,
      1378877361,
      3527870668,
      478029773,
      2766872923,
      1022481122,
      431258168,
      1112503832,
      897933369,
      2635587303,
      669726182,
      3383752315,
      918222264,
      163866573,
      3246985393,
      3776823163,
      114105080,
      1903216136,
      761148244,
      3571337562,
      1690750982,
      3166750252,
      1037045171,
      1888456500,
      2010454850,
      642736655,
      616092351,
      365016990,
      1185228132,
      4174898510,
      1043824992,
      2023083429,
      2241598885,
      3863320456,
      3279669087,
      3674716684,
      108438443,
      2132974366,
      830746235,
      606445527,
      4173263986,
      2204105912,
      1844756978,
      2532684181,
      4245352700,
      2969441100,
      3796921661,
      1335562986,
      4061524517,
      2720232303,
      2679424040,
      634407289,
      885462008,
      3294724487,
      3933892248,
      2094100220,
      339117932,
      4048830727,
      3202280980,
      1458155303,
      2689246273,
      1022871705,
      2464987878,
      3714515309,
      353796843,
      2822958815,
      4256850100,
      4052777845,
      551748367,
      618185374,
      3778635579,
      4020649912,
      1904685140,
      3069366075,
      2670879810,
      3407193292,
      2954511620,
      4058283405,
      2219449317,
      3135758300,
      1120655984,
      3447565834,
      1474845562,
      3577699062,
      550456716,
      3466908712,
      2043752612,
      881257467,
      869518812,
      2005220179,
      938474677,
      3305539448,
      3850417126,
      1315485940,
      3318264702,
      226533026,
      965733244,
      321539988,
      1136104718,
      804158748,
      573969341,
      3708209826,
      937399083,
      3290727049,
      2901666755,
      1461057207,
      4013193437,
      4066861423,
      3242773476,
      2421326174,
      1581322155,
      3028952165,
      786071460,
      3900391652,
      3918438532,
      1485433313,
      4023619836,
      3708277595,
      3678951060,
      953673138,
      1467089153,
      1930354364,
      1533292819,
      2492563023,
      1346121658,
      1685000834,
      1965281866,
      3765933717,
      4190206607,
      2052792609,
      3515332758,
      690371149,
      3125873887,
      2180283551,
      2903598061,
      3933952357,
      436236910,
      289419410,
      14314871,
      1242357089,
      2904507907,
      1616633776,
      2666382180,
      585885352,
      3471299210,
      2699507360,
      1432659641,
      277164553,
      3354103607,
      770115018,
      2303809295,
      3741942315,
      3177781868,
      2853364978,
      2269453327,
      3774259834,
      987383833,
      1290892879,
      225909803,
      1741533526,
      890078084,
      1496906255,
      1111072499,
      916028167,
      243534141,
      1252605537,
      2204162171,
      531204876,
      290011180,
      3916834213,
      102027703,
      237315147,
      209093447,
      1486785922,
      220223953,
      2758195998,
      4175039106,
      82940208,
      3127791296,
      2569425252,
      518464269,
      1353887104,
      3941492737,
      2377294467,
      3935040926
    ];
  }
  function Rl(e) {
    this.cast5 = new IC(), this.cast5.setKey(e), this.encrypt = function(t) {
      return this.cast5.encrypt(t);
    };
  }
  Ul.keySize = Ul.prototype.keySize = 24, Ul.blockSize = Ul.prototype.blockSize = 8, Rl.blockSize = Rl.prototype.blockSize = 8, Rl.keySize = Rl.prototype.keySize = 16;
  const yn = 4294967295;
  function la(e, t) {
    return (e << t | e >>> 32 - t) & yn;
  }
  function Ha(e, t) {
    return e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24;
  }
  function Mi(e, t, r) {
    e.splice(t, 4, 255 & r, r >>> 8 & 255, r >>> 16 & 255, r >>> 24 & 255);
  }
  function et(e, t) {
    return e >>> 8 * t & 255;
  }
  function Tl(e) {
    this.tf = /* @__PURE__ */ (function() {
      let t = null, r = null, n = -1, a = [], i = [
        [],
        [],
        [],
        []
      ];
      function s(d) {
        return i[0][et(d, 0)] ^ i[1][et(d, 1)] ^ i[2][et(d, 2)] ^ i[3][et(d, 3)];
      }
      function l(d) {
        return i[0][et(d, 3)] ^ i[1][et(d, 0)] ^ i[2][et(d, 1)] ^ i[3][et(d, 2)];
      }
      function u(d, f) {
        let m = s(f[0]), p = l(f[1]);
        f[2] = la(f[2] ^ m + p + a[4 * d + 8] & yn, 31), f[3] = la(f[3], 1) ^ m + 2 * p + a[4 * d + 9] & yn, m = s(f[2]), p = l(f[3]), f[0] = la(f[0] ^ m + p + a[4 * d + 10] & yn, 31), f[1] = la(f[1], 1) ^ m + 2 * p + a[4 * d + 11] & yn;
      }
      function x(d, f) {
        let m = s(f[0]), p = l(f[1]);
        f[2] = la(f[2], 1) ^ m + p + a[4 * d + 10] & yn, f[3] = la(f[3] ^ m + 2 * p + a[4 * d + 11] & yn, 31), m = s(f[2]), p = l(f[3]), f[0] = la(f[0], 1) ^ m + p + a[4 * d + 8] & yn, f[1] = la(f[1] ^ m + 2 * p + a[4 * d + 9] & yn, 31);
      }
      return {
        name: "twofish",
        blocksize: 16,
        open: function(d) {
          let f, m, p, g, E;
          t = d;
          const A = [], w = [], D = [];
          let B;
          const v = [];
          let _, T, I;
          const z = [
            [
              8,
              1,
              7,
              13,
              6,
              15,
              3,
              2,
              0,
              11,
              5,
              9,
              14,
              12,
              10,
              4
            ],
            [
              2,
              8,
              11,
              13,
              15,
              7,
              6,
              14,
              3,
              1,
              9,
              4,
              0,
              10,
              12,
              5
            ]
          ], C = [
            [
              14,
              12,
              11,
              8,
              1,
              2,
              3,
              5,
              15,
              4,
              10,
              6,
              7,
              0,
              9,
              13
            ],
            [
              1,
              14,
              2,
              11,
              4,
              12,
              3,
              7,
              6,
              13,
              10,
              5,
              15,
              9,
              0,
              8
            ]
          ], j = [
            [
              11,
              10,
              5,
              14,
              6,
              13,
              9,
              0,
              12,
              8,
              15,
              3,
              2,
              4,
              7,
              1
            ],
            [
              4,
              12,
              7,
              5,
              1,
              6,
              9,
              10,
              0,
              14,
              13,
              8,
              2,
              11,
              3,
              15
            ]
          ], U = [
            [
              13,
              7,
              15,
              4,
              1,
              2,
              6,
              14,
              9,
              11,
              3,
              0,
              8,
              5,
              12,
              10
            ],
            [
              11,
              9,
              5,
              1,
              12,
              3,
              13,
              14,
              6,
              4,
              7,
              15,
              2,
              0,
              8,
              10
            ]
          ], P = [
            0,
            8,
            1,
            9,
            2,
            10,
            3,
            11,
            4,
            12,
            5,
            13,
            6,
            14,
            7,
            15
          ], L = [
            0,
            9,
            2,
            11,
            4,
            13,
            6,
            15,
            8,
            1,
            10,
            3,
            12,
            5,
            14,
            7
          ], F = [
            [],
            []
          ], q = [
            [],
            [],
            [],
            []
          ];
          function $(M) {
            return M ^ M >> 2 ^ [
              0,
              90,
              180,
              238
            ][3 & M];
          }
          function Y(M) {
            return M ^ M >> 1 ^ M >> 2 ^ [
              0,
              238,
              180,
              90
            ][3 & M];
          }
          function J(M, H) {
            let re, te, ae;
            for (re = 0; re < 8; re++) te = H >>> 24, H = H << 8 & yn | M >>> 24, M = M << 8 & yn, ae = te << 1, 128 & te && (ae ^= 333), H ^= te ^ ae << 16, ae ^= te >>> 1, 1 & te && (ae ^= 166), H ^= ae << 24 | ae << 8;
            return H;
          }
          function Q(M, H) {
            const re = H >> 4, te = 15 & H, ae = z[M][re ^ te], xe = C[M][P[te] ^ L[re]];
            return U[M][P[xe] ^ L[ae]] << 4 | j[M][ae ^ xe];
          }
          function Z(M, H) {
            let re = et(M, 0), te = et(M, 1), ae = et(M, 2), xe = et(M, 3);
            switch (B) {
              case 4:
                re = F[1][re] ^ et(H[3], 0), te = F[0][te] ^ et(H[3], 1), ae = F[0][ae] ^ et(H[3], 2), xe = F[1][xe] ^ et(H[3], 3);
              case 3:
                re = F[1][re] ^ et(H[2], 0), te = F[1][te] ^ et(H[2], 1), ae = F[0][ae] ^ et(H[2], 2), xe = F[0][xe] ^ et(H[2], 3);
              case 2:
                re = F[0][F[0][re] ^ et(H[1], 0)] ^ et(H[0], 0), te = F[0][F[1][te] ^ et(H[1], 1)] ^ et(H[0], 1), ae = F[1][F[0][ae] ^ et(H[1], 2)] ^ et(H[0], 2), xe = F[1][F[1][xe] ^ et(H[1], 3)] ^ et(H[0], 3);
            }
            return q[0][re] ^ q[1][te] ^ q[2][ae] ^ q[3][xe];
          }
          for (t = t.slice(0, 32), f = t.length; f !== 16 && f !== 24 && f !== 32; ) t[f++] = 0;
          for (f = 0; f < t.length; f += 4) D[f >> 2] = Ha(t, f);
          for (f = 0; f < 256; f++) F[0][f] = Q(0, f), F[1][f] = Q(1, f);
          for (f = 0; f < 256; f++) _ = F[1][f], T = $(_), I = Y(_), q[0][f] = _ + (T << 8) + (I << 16) + (I << 24), q[2][f] = T + (I << 8) + (_ << 16) + (I << 24), _ = F[0][f], T = $(_), I = Y(_), q[1][f] = I + (I << 8) + (T << 16) + (_ << 24), q[3][f] = T + (_ << 8) + (I << 16) + (T << 24);
          for (B = D.length / 2, f = 0; f < B; f++) m = D[f + f], A[f] = m, p = D[f + f + 1], w[f] = p, v[B - f - 1] = J(m, p);
          for (f = 0; f < 40; f += 2) m = 16843009 * f, p = m + 16843009, m = Z(m, A), p = la(Z(p, w), 8), a[f] = m + p & yn, a[f + 1] = la(m + 2 * p, 9);
          for (f = 0; f < 256; f++) switch (m = p = g = E = f, B) {
            case 4:
              m = F[1][m] ^ et(v[3], 0), p = F[0][p] ^ et(v[3], 1), g = F[0][g] ^ et(v[3], 2), E = F[1][E] ^ et(v[3], 3);
            case 3:
              m = F[1][m] ^ et(v[2], 0), p = F[1][p] ^ et(v[2], 1), g = F[0][g] ^ et(v[2], 2), E = F[0][E] ^ et(v[2], 3);
            case 2:
              i[0][f] = q[0][F[0][F[0][m] ^ et(v[1], 0)] ^ et(v[0], 0)], i[1][f] = q[1][F[0][F[1][p] ^ et(v[1], 1)] ^ et(v[0], 1)], i[2][f] = q[2][F[1][F[0][g] ^ et(v[1], 2)] ^ et(v[0], 2)], i[3][f] = q[3][F[1][F[1][E] ^ et(v[1], 3)] ^ et(v[0], 3)];
          }
        },
        close: function() {
          a = [], i = [
            [],
            [],
            [],
            []
          ];
        },
        encrypt: function(d, f) {
          r = d, n = f;
          const m = [
            Ha(r, n) ^ a[0],
            Ha(r, n + 4) ^ a[1],
            Ha(r, n + 8) ^ a[2],
            Ha(r, n + 12) ^ a[3]
          ];
          for (let p = 0; p < 8; p++) u(p, m);
          return Mi(r, n, m[2] ^ a[4]), Mi(r, n + 4, m[3] ^ a[5]), Mi(r, n + 8, m[0] ^ a[6]), Mi(r, n + 12, m[1] ^ a[7]), n += 16, r;
        },
        decrypt: function(d, f) {
          r = d, n = f;
          const m = [
            Ha(r, n) ^ a[4],
            Ha(r, n + 4) ^ a[5],
            Ha(r, n + 8) ^ a[6],
            Ha(r, n + 12) ^ a[7]
          ];
          for (let p = 7; p >= 0; p--) x(p, m);
          Mi(r, n, m[2] ^ a[0]), Mi(r, n + 4, m[3] ^ a[1]), Mi(r, n + 8, m[0] ^ a[2]), Mi(r, n + 12, m[1] ^ a[3]), n += 16;
        },
        finalize: function() {
          return r;
        }
      };
    })(), this.tf.open(Array.from(e), 0), this.encrypt = function(t) {
      return this.tf.encrypt(Array.from(t), 0);
    };
  }
  function Hn() {
  }
  function Ml(e) {
    this.bf = new Hn(), this.bf.init(e), this.encrypt = function(t) {
      return this.bf.encryptBlock(t);
    };
  }
  Tl.keySize = Tl.prototype.keySize = 32, Tl.blockSize = Tl.prototype.blockSize = 16, Hn.prototype.BLOCKSIZE = 8, Hn.prototype.SBOXES = [
    [
      3509652390,
      2564797868,
      805139163,
      3491422135,
      3101798381,
      1780907670,
      3128725573,
      4046225305,
      614570311,
      3012652279,
      134345442,
      2240740374,
      1667834072,
      1901547113,
      2757295779,
      4103290238,
      227898511,
      1921955416,
      1904987480,
      2182433518,
      2069144605,
      3260701109,
      2620446009,
      720527379,
      3318853667,
      677414384,
      3393288472,
      3101374703,
      2390351024,
      1614419982,
      1822297739,
      2954791486,
      3608508353,
      3174124327,
      2024746970,
      1432378464,
      3864339955,
      2857741204,
      1464375394,
      1676153920,
      1439316330,
      715854006,
      3033291828,
      289532110,
      2706671279,
      2087905683,
      3018724369,
      1668267050,
      732546397,
      1947742710,
      3462151702,
      2609353502,
      2950085171,
      1814351708,
      2050118529,
      680887927,
      999245976,
      1800124847,
      3300911131,
      1713906067,
      1641548236,
      4213287313,
      1216130144,
      1575780402,
      4018429277,
      3917837745,
      3693486850,
      3949271944,
      596196993,
      3549867205,
      258830323,
      2213823033,
      772490370,
      2760122372,
      1774776394,
      2652871518,
      566650946,
      4142492826,
      1728879713,
      2882767088,
      1783734482,
      3629395816,
      2517608232,
      2874225571,
      1861159788,
      326777828,
      3124490320,
      2130389656,
      2716951837,
      967770486,
      1724537150,
      2185432712,
      2364442137,
      1164943284,
      2105845187,
      998989502,
      3765401048,
      2244026483,
      1075463327,
      1455516326,
      1322494562,
      910128902,
      469688178,
      1117454909,
      936433444,
      3490320968,
      3675253459,
      1240580251,
      122909385,
      2157517691,
      634681816,
      4142456567,
      3825094682,
      3061402683,
      2540495037,
      79693498,
      3249098678,
      1084186820,
      1583128258,
      426386531,
      1761308591,
      1047286709,
      322548459,
      995290223,
      1845252383,
      2603652396,
      3431023940,
      2942221577,
      3202600964,
      3727903485,
      1712269319,
      422464435,
      3234572375,
      1170764815,
      3523960633,
      3117677531,
      1434042557,
      442511882,
      3600875718,
      1076654713,
      1738483198,
      4213154764,
      2393238008,
      3677496056,
      1014306527,
      4251020053,
      793779912,
      2902807211,
      842905082,
      4246964064,
      1395751752,
      1040244610,
      2656851899,
      3396308128,
      445077038,
      3742853595,
      3577915638,
      679411651,
      2892444358,
      2354009459,
      1767581616,
      3150600392,
      3791627101,
      3102740896,
      284835224,
      4246832056,
      1258075500,
      768725851,
      2589189241,
      3069724005,
      3532540348,
      1274779536,
      3789419226,
      2764799539,
      1660621633,
      3471099624,
      4011903706,
      913787905,
      3497959166,
      737222580,
      2514213453,
      2928710040,
      3937242737,
      1804850592,
      3499020752,
      2949064160,
      2386320175,
      2390070455,
      2415321851,
      4061277028,
      2290661394,
      2416832540,
      1336762016,
      1754252060,
      3520065937,
      3014181293,
      791618072,
      3188594551,
      3933548030,
      2332172193,
      3852520463,
      3043980520,
      413987798,
      3465142937,
      3030929376,
      4245938359,
      2093235073,
      3534596313,
      375366246,
      2157278981,
      2479649556,
      555357303,
      3870105701,
      2008414854,
      3344188149,
      4221384143,
      3956125452,
      2067696032,
      3594591187,
      2921233993,
      2428461,
      544322398,
      577241275,
      1471733935,
      610547355,
      4027169054,
      1432588573,
      1507829418,
      2025931657,
      3646575487,
      545086370,
      48609733,
      2200306550,
      1653985193,
      298326376,
      1316178497,
      3007786442,
      2064951626,
      458293330,
      2589141269,
      3591329599,
      3164325604,
      727753846,
      2179363840,
      146436021,
      1461446943,
      4069977195,
      705550613,
      3059967265,
      3887724982,
      4281599278,
      3313849956,
      1404054877,
      2845806497,
      146425753,
      1854211946
    ],
    [
      1266315497,
      3048417604,
      3681880366,
      3289982499,
      290971e4,
      1235738493,
      2632868024,
      2414719590,
      3970600049,
      1771706367,
      1449415276,
      3266420449,
      422970021,
      1963543593,
      2690192192,
      3826793022,
      1062508698,
      1531092325,
      1804592342,
      2583117782,
      2714934279,
      4024971509,
      1294809318,
      4028980673,
      1289560198,
      2221992742,
      1669523910,
      35572830,
      157838143,
      1052438473,
      1016535060,
      1802137761,
      1753167236,
      1386275462,
      3080475397,
      2857371447,
      1040679964,
      2145300060,
      2390574316,
      1461121720,
      2956646967,
      4031777805,
      4028374788,
      33600511,
      2920084762,
      1018524850,
      629373528,
      3691585981,
      3515945977,
      2091462646,
      2486323059,
      586499841,
      988145025,
      935516892,
      3367335476,
      2599673255,
      2839830854,
      265290510,
      3972581182,
      2759138881,
      3795373465,
      1005194799,
      847297441,
      406762289,
      1314163512,
      1332590856,
      1866599683,
      4127851711,
      750260880,
      613907577,
      1450815602,
      3165620655,
      3734664991,
      3650291728,
      3012275730,
      3704569646,
      1427272223,
      778793252,
      1343938022,
      2676280711,
      2052605720,
      1946737175,
      3164576444,
      3914038668,
      3967478842,
      3682934266,
      1661551462,
      3294938066,
      4011595847,
      840292616,
      3712170807,
      616741398,
      312560963,
      711312465,
      1351876610,
      322626781,
      1910503582,
      271666773,
      2175563734,
      1594956187,
      70604529,
      3617834859,
      1007753275,
      1495573769,
      4069517037,
      2549218298,
      2663038764,
      504708206,
      2263041392,
      3941167025,
      2249088522,
      1514023603,
      1998579484,
      1312622330,
      694541497,
      2582060303,
      2151582166,
      1382467621,
      776784248,
      2618340202,
      3323268794,
      2497899128,
      2784771155,
      503983604,
      4076293799,
      907881277,
      423175695,
      432175456,
      1378068232,
      4145222326,
      3954048622,
      3938656102,
      3820766613,
      2793130115,
      2977904593,
      26017576,
      3274890735,
      3194772133,
      1700274565,
      1756076034,
      4006520079,
      3677328699,
      720338349,
      1533947780,
      354530856,
      688349552,
      3973924725,
      1637815568,
      332179504,
      3949051286,
      53804574,
      2852348879,
      3044236432,
      1282449977,
      3583942155,
      3416972820,
      4006381244,
      1617046695,
      2628476075,
      3002303598,
      1686838959,
      431878346,
      2686675385,
      1700445008,
      1080580658,
      1009431731,
      832498133,
      3223435511,
      2605976345,
      2271191193,
      2516031870,
      1648197032,
      4164389018,
      2548247927,
      300782431,
      375919233,
      238389289,
      3353747414,
      2531188641,
      2019080857,
      1475708069,
      455242339,
      2609103871,
      448939670,
      3451063019,
      1395535956,
      2413381860,
      1841049896,
      1491858159,
      885456874,
      4264095073,
      4001119347,
      1565136089,
      3898914787,
      1108368660,
      540939232,
      1173283510,
      2745871338,
      3681308437,
      4207628240,
      3343053890,
      4016749493,
      1699691293,
      1103962373,
      3625875870,
      2256883143,
      3830138730,
      1031889488,
      3479347698,
      1535977030,
      4236805024,
      3251091107,
      2132092099,
      1774941330,
      1199868427,
      1452454533,
      157007616,
      2904115357,
      342012276,
      595725824,
      1480756522,
      206960106,
      497939518,
      591360097,
      863170706,
      2375253569,
      3596610801,
      1814182875,
      2094937945,
      3421402208,
      1082520231,
      3463918190,
      2785509508,
      435703966,
      3908032597,
      1641649973,
      2842273706,
      3305899714,
      1510255612,
      2148256476,
      2655287854,
      3276092548,
      4258621189,
      236887753,
      3681803219,
      274041037,
      1734335097,
      3815195456,
      3317970021,
      1899903192,
      1026095262,
      4050517792,
      356393447,
      2410691914,
      3873677099,
      3682840055
    ],
    [
      3913112168,
      2491498743,
      4132185628,
      2489919796,
      1091903735,
      1979897079,
      3170134830,
      3567386728,
      3557303409,
      857797738,
      1136121015,
      1342202287,
      507115054,
      2535736646,
      337727348,
      3213592640,
      1301675037,
      2528481711,
      1895095763,
      1721773893,
      3216771564,
      62756741,
      2142006736,
      835421444,
      2531993523,
      1442658625,
      3659876326,
      2882144922,
      676362277,
      1392781812,
      170690266,
      3921047035,
      1759253602,
      3611846912,
      1745797284,
      664899054,
      1329594018,
      3901205900,
      3045908486,
      2062866102,
      2865634940,
      3543621612,
      3464012697,
      1080764994,
      553557557,
      3656615353,
      3996768171,
      991055499,
      499776247,
      1265440854,
      648242737,
      3940784050,
      980351604,
      3713745714,
      1749149687,
      3396870395,
      4211799374,
      3640570775,
      1161844396,
      3125318951,
      1431517754,
      545492359,
      4268468663,
      3499529547,
      1437099964,
      2702547544,
      3433638243,
      2581715763,
      2787789398,
      1060185593,
      1593081372,
      2418618748,
      4260947970,
      69676912,
      2159744348,
      86519011,
      2512459080,
      3838209314,
      1220612927,
      3339683548,
      133810670,
      1090789135,
      1078426020,
      1569222167,
      845107691,
      3583754449,
      4072456591,
      1091646820,
      628848692,
      1613405280,
      3757631651,
      526609435,
      236106946,
      48312990,
      2942717905,
      3402727701,
      1797494240,
      859738849,
      992217954,
      4005476642,
      2243076622,
      3870952857,
      3732016268,
      765654824,
      3490871365,
      2511836413,
      1685915746,
      3888969200,
      1414112111,
      2273134842,
      3281911079,
      4080962846,
      172450625,
      2569994100,
      980381355,
      4109958455,
      2819808352,
      2716589560,
      2568741196,
      3681446669,
      3329971472,
      1835478071,
      660984891,
      3704678404,
      4045999559,
      3422617507,
      3040415634,
      1762651403,
      1719377915,
      3470491036,
      2693910283,
      3642056355,
      3138596744,
      1364962596,
      2073328063,
      1983633131,
      926494387,
      3423689081,
      2150032023,
      4096667949,
      1749200295,
      3328846651,
      309677260,
      2016342300,
      1779581495,
      3079819751,
      111262694,
      1274766160,
      443224088,
      298511866,
      1025883608,
      3806446537,
      1145181785,
      168956806,
      3641502830,
      3584813610,
      1689216846,
      3666258015,
      3200248200,
      1692713982,
      2646376535,
      4042768518,
      1618508792,
      1610833997,
      3523052358,
      4130873264,
      2001055236,
      3610705100,
      2202168115,
      4028541809,
      2961195399,
      1006657119,
      2006996926,
      3186142756,
      1430667929,
      3210227297,
      1314452623,
      4074634658,
      4101304120,
      2273951170,
      1399257539,
      3367210612,
      3027628629,
      1190975929,
      2062231137,
      2333990788,
      2221543033,
      2438960610,
      1181637006,
      548689776,
      2362791313,
      3372408396,
      3104550113,
      3145860560,
      296247880,
      1970579870,
      3078560182,
      3769228297,
      1714227617,
      3291629107,
      3898220290,
      166772364,
      1251581989,
      493813264,
      448347421,
      195405023,
      2709975567,
      677966185,
      3703036547,
      1463355134,
      2715995803,
      1338867538,
      1343315457,
      2802222074,
      2684532164,
      233230375,
      2599980071,
      2000651841,
      3277868038,
      1638401717,
      4028070440,
      3237316320,
      6314154,
      819756386,
      300326615,
      590932579,
      1405279636,
      3267499572,
      3150704214,
      2428286686,
      3959192993,
      3461946742,
      1862657033,
      1266418056,
      963775037,
      2089974820,
      2263052895,
      1917689273,
      448879540,
      3550394620,
      3981727096,
      150775221,
      3627908307,
      1303187396,
      508620638,
      2975983352,
      2726630617,
      1817252668,
      1876281319,
      1457606340,
      908771278,
      3720792119,
      3617206836,
      2455994898,
      1729034894,
      1080033504
    ],
    [
      976866871,
      3556439503,
      2881648439,
      1522871579,
      1555064734,
      1336096578,
      3548522304,
      2579274686,
      3574697629,
      3205460757,
      3593280638,
      3338716283,
      3079412587,
      564236357,
      2993598910,
      1781952180,
      1464380207,
      3163844217,
      3332601554,
      1699332808,
      1393555694,
      1183702653,
      3581086237,
      1288719814,
      691649499,
      2847557200,
      2895455976,
      3193889540,
      2717570544,
      1781354906,
      1676643554,
      2592534050,
      3230253752,
      1126444790,
      2770207658,
      2633158820,
      2210423226,
      2615765581,
      2414155088,
      3127139286,
      673620729,
      2805611233,
      1269405062,
      4015350505,
      3341807571,
      4149409754,
      1057255273,
      2012875353,
      2162469141,
      2276492801,
      2601117357,
      993977747,
      3918593370,
      2654263191,
      753973209,
      36408145,
      2530585658,
      25011837,
      3520020182,
      2088578344,
      530523599,
      2918365339,
      1524020338,
      1518925132,
      3760827505,
      3759777254,
      1202760957,
      3985898139,
      3906192525,
      674977740,
      4174734889,
      2031300136,
      2019492241,
      3983892565,
      4153806404,
      3822280332,
      352677332,
      2297720250,
      60907813,
      90501309,
      3286998549,
      1016092578,
      2535922412,
      2839152426,
      457141659,
      509813237,
      4120667899,
      652014361,
      1966332200,
      2975202805,
      55981186,
      2327461051,
      676427537,
      3255491064,
      2882294119,
      3433927263,
      1307055953,
      942726286,
      933058658,
      2468411793,
      3933900994,
      4215176142,
      1361170020,
      2001714738,
      2830558078,
      3274259782,
      1222529897,
      1679025792,
      2729314320,
      3714953764,
      1770335741,
      151462246,
      3013232138,
      1682292957,
      1483529935,
      471910574,
      1539241949,
      458788160,
      3436315007,
      1807016891,
      3718408830,
      978976581,
      1043663428,
      3165965781,
      1927990952,
      4200891579,
      2372276910,
      3208408903,
      3533431907,
      1412390302,
      2931980059,
      4132332400,
      1947078029,
      3881505623,
      4168226417,
      2941484381,
      1077988104,
      1320477388,
      886195818,
      18198404,
      3786409e3,
      2509781533,
      112762804,
      3463356488,
      1866414978,
      891333506,
      18488651,
      661792760,
      1628790961,
      3885187036,
      3141171499,
      876946877,
      2693282273,
      1372485963,
      791857591,
      2686433993,
      3759982718,
      3167212022,
      3472953795,
      2716379847,
      445679433,
      3561995674,
      3504004811,
      3574258232,
      54117162,
      3331405415,
      2381918588,
      3769707343,
      4154350007,
      1140177722,
      4074052095,
      668550556,
      3214352940,
      367459370,
      261225585,
      2610173221,
      4209349473,
      3468074219,
      3265815641,
      314222801,
      3066103646,
      3808782860,
      282218597,
      3406013506,
      3773591054,
      379116347,
      1285071038,
      846784868,
      2669647154,
      3771962079,
      3550491691,
      2305946142,
      453669953,
      1268987020,
      3317592352,
      3279303384,
      3744833421,
      2610507566,
      3859509063,
      266596637,
      3847019092,
      517658769,
      3462560207,
      3443424879,
      370717030,
      4247526661,
      2224018117,
      4143653529,
      4112773975,
      2788324899,
      2477274417,
      1456262402,
      2901442914,
      1517677493,
      1846949527,
      2295493580,
      3734397586,
      2176403920,
      1280348187,
      1908823572,
      3871786941,
      846861322,
      1172426758,
      3287448474,
      3383383037,
      1655181056,
      3139813346,
      901632758,
      1897031941,
      2986607138,
      3066810236,
      3447102507,
      1393639104,
      373351379,
      950779232,
      625454576,
      3124240540,
      4148612726,
      2007998917,
      544563296,
      2244738638,
      2330496472,
      2058025392,
      1291430526,
      424198748,
      50039436,
      29584100,
      3605783033,
      2429876329,
      2791104160,
      1057563949,
      3255363231,
      3075367218,
      3463963227,
      1469046755,
      985887462
    ]
  ], Hn.prototype.PARRAY = [
    608135816,
    2242054355,
    320440878,
    57701188,
    2752067618,
    698298832,
    137296536,
    3964562569,
    1160258022,
    953160567,
    3193202383,
    887688300,
    3232508343,
    3380367581,
    1065670069,
    3041331479,
    2450970073,
    2306472731
  ], Hn.prototype.NN = 16, Hn.prototype._clean = function(e) {
    return e < 0 && (e = (2147483647 & e) + 2147483648), e;
  }, Hn.prototype._F = function(e) {
    let t;
    const r = 255 & e, n = 255 & (e >>>= 8), a = 255 & (e >>>= 8), i = 255 & (e >>>= 8);
    return t = this.sboxes[0][i] + this.sboxes[1][a], t ^= this.sboxes[2][n], t += this.sboxes[3][r], t;
  }, Hn.prototype._encryptBlock = function(e) {
    let t, r = e[0], n = e[1];
    for (t = 0; t < this.NN; ++t) {
      r ^= this.parray[t], n = this._F(r) ^ n;
      const a = r;
      r = n, n = a;
    }
    r ^= this.parray[this.NN + 0], n ^= this.parray[this.NN + 1], e[0] = this._clean(n), e[1] = this._clean(r);
  }, Hn.prototype.encryptBlock = function(e) {
    let t;
    const r = [
      0,
      0
    ], n = this.BLOCKSIZE / 2;
    for (t = 0; t < this.BLOCKSIZE / 2; ++t) r[0] = r[0] << 8 | 255 & e[t + 0], r[1] = r[1] << 8 | 255 & e[t + n];
    this._encryptBlock(r);
    const a = [];
    for (t = 0; t < this.BLOCKSIZE / 2; ++t) a[t + 0] = r[0] >>> 24 - 8 * t & 255, a[t + n] = r[1] >>> 24 - 8 * t & 255;
    return a;
  }, Hn.prototype._decryptBlock = function(e) {
    let t, r = e[0], n = e[1];
    for (t = this.NN + 1; t > 1; --t) {
      r ^= this.parray[t], n = this._F(r) ^ n;
      const a = r;
      r = n, n = a;
    }
    r ^= this.parray[1], n ^= this.parray[0], e[0] = this._clean(n), e[1] = this._clean(r);
  }, Hn.prototype.init = function(e) {
    let t, r = 0;
    for (this.parray = [], t = 0; t < this.NN + 2; ++t) {
      let a = 0;
      for (let i = 0; i < 4; ++i) a = a << 8 | 255 & e[r], ++r >= e.length && (r = 0);
      this.parray[t] = this.PARRAY[t] ^ a;
    }
    for (this.sboxes = [], t = 0; t < 4; ++t) for (this.sboxes[t] = [], r = 0; r < 256; ++r) this.sboxes[t][r] = this.SBOXES[t][r];
    const n = [
      0,
      0
    ];
    for (t = 0; t < this.NN + 2; t += 2) this._encryptBlock(n), this.parray[t + 0] = n[0], this.parray[t + 1] = n[1];
    for (t = 0; t < 4; ++t) for (r = 0; r < 256; r += 2) this._encryptBlock(n), this.sboxes[t][r + 0] = n[0], this.sboxes[t][r + 1] = n[1];
  }, Ml.keySize = Ml.prototype.keySize = 16, Ml.blockSize = Ml.prototype.blockSize = 8;
  const PC = new Map(Object.entries({
    tripledes: Ul,
    cast5: Rl,
    twofish: Tl,
    blowfish: Ml
  }));
  var NC = Object.freeze({
    __proto__: null,
    legacyCiphers: PC
  });
  function zs(e, t, r, n) {
    e[t] += r[n], e[t + 1] += r[n + 1] + (e[t] < r[n]);
  }
  function j2(e, t) {
    e[0] += t, e[1] += e[0] < t;
  }
  function Ki(e, t, r, n, a, i, s, l) {
    zs(e, r, e, n), zs(e, r, t, s);
    let u = e[i] ^ e[r], x = e[i + 1] ^ e[r + 1];
    e[i] = x, e[i + 1] = u, zs(e, a, e, i), u = e[n] ^ e[a], x = e[n + 1] ^ e[a + 1], e[n] = u >>> 24 ^ x << 8, e[n + 1] = x >>> 24 ^ u << 8, zs(e, r, e, n), zs(e, r, t, l), u = e[i] ^ e[r], x = e[i + 1] ^ e[r + 1], e[i] = u >>> 16 ^ x << 16, e[i + 1] = x >>> 16 ^ u << 16, zs(e, a, e, i), u = e[n] ^ e[a], x = e[n + 1] ^ e[a + 1], e[n] = x >>> 31 ^ u << 1, e[n + 1] = u >>> 31 ^ x << 1;
  }
  const Hy = new Uint32Array([
    4089235720,
    1779033703,
    2227873595,
    3144134277,
    4271175723,
    1013904242,
    1595750129,
    2773480762,
    2917565137,
    1359893119,
    725511199,
    2600822924,
    4215389547,
    528734635,
    327033209,
    1541459225
  ]), Br = new Uint8Array([
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    14,
    10,
    4,
    8,
    9,
    15,
    13,
    6,
    1,
    12,
    0,
    2,
    11,
    7,
    5,
    3,
    11,
    8,
    12,
    0,
    5,
    2,
    15,
    13,
    10,
    14,
    3,
    6,
    7,
    1,
    9,
    4,
    7,
    9,
    3,
    1,
    13,
    12,
    11,
    14,
    2,
    6,
    5,
    10,
    4,
    0,
    15,
    8,
    9,
    0,
    5,
    7,
    2,
    4,
    10,
    15,
    14,
    1,
    11,
    12,
    6,
    8,
    3,
    13,
    2,
    12,
    6,
    10,
    0,
    11,
    8,
    3,
    4,
    13,
    7,
    5,
    15,
    14,
    1,
    9,
    12,
    5,
    1,
    15,
    14,
    13,
    4,
    10,
    0,
    7,
    6,
    3,
    9,
    2,
    8,
    11,
    13,
    11,
    7,
    14,
    12,
    1,
    3,
    9,
    5,
    0,
    15,
    4,
    8,
    6,
    2,
    10,
    6,
    15,
    14,
    9,
    11,
    3,
    0,
    8,
    12,
    2,
    13,
    7,
    1,
    4,
    10,
    5,
    10,
    2,
    8,
    4,
    7,
    6,
    1,
    5,
    15,
    11,
    9,
    14,
    3,
    12,
    13,
    0,
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    14,
    10,
    4,
    8,
    9,
    15,
    13,
    6,
    1,
    12,
    0,
    2,
    11,
    7,
    5,
    3
  ].map(((e) => 2 * e)));
  function z2(e, t) {
    const r = new Uint32Array(32), n = new Uint32Array(e.b.buffer, e.b.byteOffset, 32);
    for (let i = 0; i < 16; i++) r[i] = e.h[i], r[i + 16] = Hy[i];
    r[24] ^= e.t0[0], r[25] ^= e.t0[1];
    const a = t ? 4294967295 : 0;
    r[28] ^= a, r[29] ^= a;
    for (let i = 0; i < 12; i++) {
      const s = i << 4;
      Ki(r, n, 0, 8, 16, 24, Br[s + 0], Br[s + 1]), Ki(r, n, 2, 10, 18, 26, Br[s + 2], Br[s + 3]), Ki(r, n, 4, 12, 20, 28, Br[s + 4], Br[s + 5]), Ki(r, n, 6, 14, 22, 30, Br[s + 6], Br[s + 7]), Ki(r, n, 0, 10, 20, 30, Br[s + 8], Br[s + 9]), Ki(r, n, 2, 12, 22, 24, Br[s + 10], Br[s + 11]), Ki(r, n, 4, 14, 16, 26, Br[s + 12], Br[s + 13]), Ki(r, n, 6, 8, 18, 28, Br[s + 14], Br[s + 15]);
    }
    for (let i = 0; i < 16; i++) e.h[i] ^= r[i] ^ r[i + 16];
  }
  class jC {
    constructor(t, r, n, a) {
      const i = new Uint8Array(64);
      this.S = {
        b: new Uint8Array(Al),
        h: new Uint32Array(Rp / 4),
        t0: new Uint32Array(2),
        c: 0,
        outlen: t
      }, i[0] = t, r && (i[1] = r.length), i[2] = 1, i[3] = 1, n && i.set(n, 32), a && i.set(a, 48);
      const s = new Uint32Array(i.buffer, i.byteOffset, i.length / Uint32Array.BYTES_PER_ELEMENT);
      for (let l = 0; l < 16; l++) this.S.h[l] = Hy[l] ^ s[l];
      if (r) {
        const l = new Uint8Array(Al);
        l.set(r), this.update(l);
      }
    }
    update(t) {
      if (!(t instanceof Uint8Array)) throw Error("Input must be Uint8Array or Buffer");
      let r = 0;
      for (; r < t.length; ) {
        this.S.c === Al && (j2(this.S.t0, this.S.c), z2(this.S, false), this.S.c = 0);
        let n = Al - this.S.c;
        this.S.b.set(t.subarray(r, r + n), this.S.c);
        const a = Math.min(n, t.length - r);
        this.S.c += a, r += a;
      }
      return this;
    }
    digest(t) {
      j2(this.S.t0, this.S.c), this.S.b.fill(0, this.S.c), this.S.c = Al, z2(this.S, true);
      const r = t || new Uint8Array(this.S.outlen);
      for (let n = 0; n < this.S.outlen; n++) r[n] = this.S.h[n >> 2] >> 8 * (3 & n);
      return this.S.h = null, r.buffer;
    }
  }
  function Px(e, t, r, n) {
    if (e > Rp) throw Error(`outlen must be at most ${Rp} (given: ${e})`);
    return new jC(e, t, r, n);
  }
  const Rp = 64, Al = 128, Qa = 1024, zC = new Uint8Array(new Uint16Array([
    43981
  ]).buffer)[0] === 205;
  function Qr(e, t, r) {
    return e[r + 0] = t, e[r + 1] = t >> 8, e[r + 2] = t >> 16, e[r + 3] = t >> 24, e;
  }
  function _o(e, t, r) {
    if (t > Number.MAX_SAFE_INTEGER) throw Error("LE64: large numbers unsupported");
    let n = t;
    for (let a = r; a < r + 7; a++) e[a] = n, n = (n - e[a]) / 256;
    return e;
  }
  function N1(e, t, r) {
    const n = new Uint8Array(64), a = new Uint8Array(4 + t.length);
    if (Qr(a, e, 0), a.set(t, 4), e <= 64) return Px(e).update(a).digest(r), r;
    const i = Math.ceil(e / 32) - 2;
    for (let l = 0; l < i; l++) Px(64).update(l === 0 ? a : n).digest(n), r.set(n.subarray(0, 32), 32 * l);
    const s = new Uint8Array(Px(e - 32 * i).update(n).digest());
    return r.set(s, 32 * i), r;
  }
  function U2(e, t, r, n) {
    return e.fn.XOR(t.byteOffset, r.byteOffset, n.byteOffset), t;
  }
  function UC(e, t, r, n) {
    return e.fn.G(t.byteOffset, r.byteOffset, n.byteOffset, e.refs.gZ.byteOffset), n;
  }
  function RC(e, t, r, n) {
    return e.fn.G2(t.byteOffset, r.byteOffset, n.byteOffset, e.refs.gZ.byteOffset), n;
  }
  function* TC(e, t, r, n, a, i, s, l) {
    e.refs.prngTmp.fill(0);
    const u = e.refs.prngTmp.subarray(0, 48);
    _o(u, t, 0), _o(u, r, 8), _o(u, n, 16), _o(u, a, 24), _o(u, i, 32), _o(u, 2, 40);
    for (let x = 1; x <= s; x++) {
      _o(e.refs.prngTmp, x, u.length);
      const d = RC(e, e.refs.ZERO1024, e.refs.prngTmp, e.refs.prngR);
      for (let f = x === 1 ? 8 * l : 0; f < d.length; f += 8) yield d.subarray(f, f + 8);
    }
    return [];
  }
  function MC(e, { memory: t, instance: r }) {
    if (!zC) throw Error("BigEndian system not supported");
    const n = (function({ type: C, version: j, tagLength: U, password: P, salt: L, ad: F, secret: q, parallelism: $, memorySize: Y, passes: J }) {
      const Q = (Z, M, H, re) => {
        if (M < H || M > re) throw Error(`${Z} size should be between ${H} and ${re} bytes`);
      };
      if (C !== 2 || j !== 19) throw Error("Unsupported type or version");
      return Q("password", P, 8, 4294967295), Q("salt", L, 8, 4294967295), Q("tag", U, 4, 4294967295), Q("memory", Y, 8 * $, 4294967295), F && Q("associated data", F, 0, 4294967295), q && Q("secret", q, 0, 32), {
        type: C,
        version: j,
        tagLength: U,
        password: P,
        salt: L,
        ad: F,
        secret: q,
        lanes: $,
        memorySize: Y,
        passes: J
      };
    })({
      type: 2,
      version: 19,
      ...e
    }), { G: a, G2: i, xor: s, getLZ: l } = r.exports, u = {}, x = {};
    x.G = a, x.G2 = i, x.XOR = s;
    const d = 4 * n.lanes * Math.floor(n.memorySize / (4 * n.lanes)), f = d * Qa + 10240;
    if (t.buffer.byteLength < f) {
      const C = Math.ceil((f - t.buffer.byteLength) / 65536);
      t.grow(C);
    }
    let m = 0;
    u.gZ = new Uint8Array(t.buffer, m, Qa), m += u.gZ.length, u.prngR = new Uint8Array(t.buffer, m, Qa), m += u.prngR.length, u.prngTmp = new Uint8Array(t.buffer, m, Qa), m += u.prngTmp.length, u.ZERO1024 = new Uint8Array(t.buffer, m, 1024), m += u.ZERO1024.length;
    const p = new Uint32Array(t.buffer, m, 2);
    m += p.length * Uint32Array.BYTES_PER_ELEMENT;
    const g = {
      fn: x,
      refs: u
    }, E = new Uint8Array(t.buffer, m, Qa);
    m += E.length;
    const A = new Uint8Array(t.buffer, m, n.memorySize * Qa), w = new Uint8Array(t.buffer, 0, m), D = (function(C) {
      const j = Px(64), U = new Uint8Array(4), P = new Uint8Array(24);
      Qr(P, C.lanes, 0), Qr(P, C.tagLength, 4), Qr(P, C.memorySize, 8), Qr(P, C.passes, 12), Qr(P, C.version, 16), Qr(P, C.type, 20);
      const L = [
        P
      ];
      C.password ? (L.push(Qr(new Uint8Array(4), C.password.length, 0)), L.push(C.password)) : L.push(U), C.salt ? (L.push(Qr(new Uint8Array(4), C.salt.length, 0)), L.push(C.salt)) : L.push(U), C.secret ? (L.push(Qr(new Uint8Array(4), C.secret.length, 0)), L.push(C.secret)) : L.push(U), C.ad ? (L.push(Qr(new Uint8Array(4), C.ad.length, 0)), L.push(C.ad)) : L.push(U), j.update((function(q) {
        if (q.length === 1) return q[0];
        let $ = 0;
        for (let Q = 0; Q < q.length; Q++) {
          if (!(q[Q] instanceof Uint8Array)) throw Error("concatArrays: Data must be in the form of a Uint8Array");
          $ += q[Q].length;
        }
        const Y = new Uint8Array($);
        let J = 0;
        return q.forEach(((Q) => {
          Y.set(Q, J), J += Q.length;
        })), Y;
      })(L));
      const F = j.digest();
      return new Uint8Array(F);
    })(n), B = d / n.lanes, v = Array(n.lanes).fill(null).map((() => Array(B))), _ = (C, j) => (v[C][j] = A.subarray(C * B * 1024 + 1024 * j, C * B * 1024 + 1024 * j + Qa), v[C][j]);
    for (let C = 0; C < n.lanes; C++) {
      const j = new Uint8Array(D.length + 8);
      j.set(D), Qr(j, 0, D.length), Qr(j, C, D.length + 4), N1(Qa, j, _(C, 0)), Qr(j, 1, D.length), N1(Qa, j, _(C, 1));
    }
    const T = B / 4;
    for (let C = 0; C < n.passes; C++) for (let j = 0; j < 4; j++) {
      const U = C === 0 && j <= 1;
      for (let P = 0; P < n.lanes; P++) {
        let L = j === 0 && C === 0 ? 2 : 0;
        const F = U ? TC(g, C, P, j, d, n.passes, T, L) : null;
        for (; L < T; L++) {
          const q = j * T + L, $ = q > 0 ? v[P][q - 1] : v[P][B - 1], Y = U ? F.next().value : $;
          l(p.byteOffset, Y.byteOffset, P, n.lanes, C, j, L, 4, T);
          const J = p[0], Q = p[1];
          C === 0 && _(P, q), UC(g, $, v[J][Q], C > 0 ? E : v[P][q]), C > 0 && U2(g, v[P][q], E, v[P][q]);
        }
      }
    }
    const I = v[0][B - 1];
    for (let C = 1; C < n.lanes; C++) U2(g, I, I, v[C][B - 1]);
    const z = N1(n.tagLength, I, new Uint8Array(n.tagLength));
    return w.fill(0), t.grow(0), z;
  }
  let ix;
  async function KC(e, t) {
    const r = new WebAssembly.Memory({
      initial: 1040,
      maximum: 65536
    }), n = await (async function(a, i, s) {
      const l = {
        env: {
          memory: a
        }
      };
      if (ix === void 0) try {
        const u = await i(l);
        return ix = true, u;
      } catch {
        ix = false;
      }
      return (ix ? i : s)(l);
    })(r, e, t);
    return (a) => MC(a, {
      instance: n.instance,
      memory: r
    });
  }
  function R2(e, t, r, n) {
    var a = null, i = Dr.atob(r), s = i.length;
    a = new Uint8Array(new ArrayBuffer(s));
    for (var l = 0; l < s; l++) a[l] = i.charCodeAt(l);
    return (function(u, x, d) {
      var f = WebAssembly.instantiate, m = WebAssembly.compile;
      return x ? f(u, x) : m(u);
    })(a, n);
  }
  var T2, M2, K2, L2, O2, H2, LC = Object.freeze({
    __proto__: null,
    default: async () => KC(((e) => R2(0, 0, " ", e)), ((e) => R2(0, 0, " ", e)))
  });
  function OC(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
  }
  var HC = (function() {
    if (H2) return O2;
    H2 = 1;
    const e = (function() {
      if (M2) return T2;
      function r(i) {
        this.name = "Bzip2Error", this.message = i, this.stack = Error().stack;
      }
      M2 = 1, r.prototype = Error();
      var n = function(i) {
        throw new r(i);
      }, a = {};
      return a.Bzip2Error = r, a.crcTable = [
        0,
        79764919,
        159529838,
        222504665,
        319059676,
        398814059,
        445009330,
        507990021,
        638119352,
        583659535,
        797628118,
        726387553,
        890018660,
        835552979,
        1015980042,
        944750013,
        1276238704,
        1221641927,
        1167319070,
        1095957929,
        1595256236,
        1540665371,
        1452775106,
        1381403509,
        1780037320,
        1859660671,
        1671105958,
        1733955601,
        2031960084,
        2111593891,
        1889500026,
        1952343757,
        2552477408,
        2632100695,
        2443283854,
        2506133561,
        2334638140,
        2414271883,
        2191915858,
        2254759653,
        3190512472,
        3135915759,
        3081330742,
        3009969537,
        2905550212,
        2850959411,
        2762807018,
        2691435357,
        3560074640,
        3505614887,
        3719321342,
        3648080713,
        3342211916,
        3287746299,
        3467911202,
        3396681109,
        4063920168,
        4143685023,
        4223187782,
        4286162673,
        3779000052,
        3858754371,
        3904687514,
        3967668269,
        881225847,
        809987520,
        1023691545,
        969234094,
        662832811,
        591600412,
        771767749,
        717299826,
        311336399,
        374308984,
        453813921,
        533576470,
        25881363,
        88864420,
        134795389,
        214552010,
        2023205639,
        2086057648,
        1897238633,
        1976864222,
        1804852699,
        1867694188,
        1645340341,
        1724971778,
        1587496639,
        1516133128,
        1461550545,
        1406951526,
        1302016099,
        1230646740,
        1142491917,
        1087903418,
        2896545431,
        2825181984,
        2770861561,
        2716262478,
        3215044683,
        3143675388,
        3055782693,
        3001194130,
        2326604591,
        2389456536,
        2200899649,
        2280525302,
        2578013683,
        2640855108,
        2418763421,
        2498394922,
        3769900519,
        3832873040,
        3912640137,
        3992402750,
        4088425275,
        4151408268,
        4197601365,
        4277358050,
        3334271071,
        3263032808,
        3476998961,
        3422541446,
        3585640067,
        3514407732,
        3694837229,
        3640369242,
        1762451694,
        1842216281,
        1619975040,
        1682949687,
        2047383090,
        2127137669,
        1938468188,
        2001449195,
        1325665622,
        1271206113,
        1183200824,
        1111960463,
        1543535498,
        1489069629,
        1434599652,
        1363369299,
        622672798,
        568075817,
        748617968,
        677256519,
        907627842,
        853037301,
        1067152940,
        995781531,
        51762726,
        131386257,
        177728840,
        240578815,
        269590778,
        349224269,
        429104020,
        491947555,
        4046411278,
        4126034873,
        4172115296,
        4234965207,
        3794477266,
        3874110821,
        3953728444,
        4016571915,
        3609705398,
        3555108353,
        3735388376,
        3664026991,
        3290680682,
        3236090077,
        3449943556,
        3378572211,
        3174993278,
        3120533705,
        3032266256,
        2961025959,
        2923101090,
        2868635157,
        2813903052,
        2742672763,
        2604032198,
        2683796849,
        2461293480,
        2524268063,
        2284983834,
        2364738477,
        2175806836,
        2238787779,
        1569362073,
        1498123566,
        1409854455,
        1355396672,
        1317987909,
        1246755826,
        1192025387,
        1137557660,
        2072149281,
        2135122070,
        1912620623,
        1992383480,
        1753615357,
        1816598090,
        1627664531,
        1707420964,
        295390185,
        358241886,
        404320391,
        483945776,
        43990325,
        106832002,
        186451547,
        266083308,
        932423249,
        861060070,
        1041341759,
        986742920,
        613929101,
        542559546,
        756411363,
        701822548,
        3316196985,
        3244833742,
        3425377559,
        3370778784,
        3601682597,
        3530312978,
        3744426955,
        3689838204,
        3819031489,
        3881883254,
        3928223919,
        4007849240,
        4037393693,
        4100235434,
        4180117107,
        4259748804,
        2310601993,
        2373574846,
        2151335527,
        2231098320,
        2596047829,
        2659030626,
        2470359227,
        2550115596,
        2947551409,
        2876312838,
        2788305887,
        2733848168,
        3165939309,
        3094707162,
        3040238851,
        2985771188
      ], a.array = function(i) {
        var s = 0, l = 0, u = [
          0,
          1,
          3,
          7,
          15,
          31,
          63,
          127,
          255
        ];
        return function(x) {
          for (var d = 0; x > 0; ) {
            var f = 8 - s;
            x >= f ? (d <<= f, d |= u[f] & i[l++], s = 0, x -= f) : (d <<= x, d |= (i[l] & u[x] << 8 - x - s) >> 8 - x - s, s += x, x = 0);
          }
          return d;
        };
      }, a.simple = function(i, s) {
        var l = a.array(i), u = false, x = 1e5 * a.header(l), d = new Int32Array(x);
        do
          u = a.decompress(l, s, d, x);
        while (!u);
      }, a.header = function(i) {
        this.byteCount = new Int32Array(256), this.symToByte = new Uint8Array(256), this.mtfSymbol = new Int32Array(256), this.selectors = new Uint8Array(32768), i(24) != 4348520 && n("No magic number found");
        var s = i(8) - 48;
        return (s < 1 || s > 9) && n("Not a BZIP archive"), s;
      }, a.decompress = function(i, s, l, u, x) {
        for (var d = -1, f = "", m = 0; m < 6; m++) f += i(8).toString(16);
        if (f == "177245385090") return (0 | i(32)) !== x && n("Error in bzip2: crc32 do not match"), i(null), null;
        f != "314159265359" && n("Invalid bzip data");
        var p = 0 | i(32);
        i(1) && n("unsupported obsolete version");
        var g = i(24);
        g > u && n("Initial position larger than buffer size");
        var E = i(16), A = 0;
        for (m = 0; m < 16; m++) if (E & 1 << 15 - m) {
          var w = i(16);
          for (v = 0; v < 16; v++) w & 1 << 15 - v && (this.symToByte[A++] = 16 * m + v);
        }
        var D = i(3);
        (D < 2 || D > 6) && n("Invalid bzip data");
        var B = i(15);
        for (B == 0 && n("Invalid bzip data"), m = 0; m < D; m++) this.mtfSymbol[m] = m;
        for (m = 0; m < B; m++) {
          for (var v = 0; i(1); v++) v >= D && n("Invalid bzip data");
          var _ = this.mtfSymbol[v];
          for (w = v - 1; w >= 0; w--) this.mtfSymbol[w + 1] = this.mtfSymbol[w];
          this.mtfSymbol[0] = _, this.selectors[m] = _;
        }
        var T, I, z, C, j = A + 2, U = [], P = new Uint8Array(258), L = new Uint16Array(21);
        for (v = 0; v < D; v++) {
          for (E = i(5), m = 0; m < j; m++) {
            for (; (E < 1 || E > 20) && n("Invalid bzip data"), i(1); ) i(1) ? E-- : E++;
            P[m] = E;
          }
          var F, q;
          for (F = q = P[0], m = 1; m < j; m++) P[m] > q ? q = P[m] : P[m] < F && (F = P[m]);
          (T = U[v] = {}).permute = new Int32Array(258), T.limit = new Int32Array(21), T.base = new Int32Array(21), T.minLen = F, T.maxLen = q;
          var $ = T.base, Y = T.limit, J = 0;
          for (m = F; m <= q; m++) for (E = 0; E < j; E++) P[E] == m && (T.permute[J++] = E);
          for (m = F; m <= q; m++) L[m] = Y[m] = 0;
          for (m = 0; m < j; m++) L[P[m]]++;
          for (J = E = 0, m = F; m < q; m++) J += L[m], Y[m] = J - 1, J <<= 1, $[m + 1] = J - (E += L[m]);
          Y[q] = J + L[q] - 1, $[F] = 0;
        }
        for (m = 0; m < 256; m++) this.mtfSymbol[m] = m, this.byteCount[m] = 0;
        for (I = z = j = C = 0; ; ) {
          for (j-- || (j = 49, C >= B && n("Invalid bzip data"), $ = (T = U[this.selectors[C++]]).base, Y = T.limit), v = i(m = T.minLen); m > T.maxLen && n("Invalid bzip data"), !(v <= Y[m]); ) m++, v = v << 1 | i(1);
          ((v -= $[m]) < 0 || v >= 258) && n("Invalid bzip data");
          var Q = T.permute[v];
          if (Q != 0 && Q != 1) {
            if (I) for (I = 0, z + E > u && n("Invalid bzip data"), _ = this.symToByte[this.mtfSymbol[0]], this.byteCount[_] += E; E--; ) l[z++] = _;
            if (Q > A) break;
            for (z >= u && n("Invalid bzip data"), m = Q - 1, _ = this.mtfSymbol[m], w = m - 1; w >= 0; w--) this.mtfSymbol[w + 1] = this.mtfSymbol[w];
            this.mtfSymbol[0] = _, _ = this.symToByte[_], this.byteCount[_]++, l[z++] = _;
          } else I || (I = 1, E = 0), E += Q == 0 ? I : 2 * I, I <<= 1;
        }
        for ((g < 0 || g >= z) && n("Invalid bzip data"), v = 0, m = 0; m < 256; m++) w = v + this.byteCount[m], this.byteCount[m] = v, v = w;
        for (m = 0; m < z; m++) _ = 255 & l[m], l[this.byteCount[_]] |= m << 8, this.byteCount[_]++;
        var Z, M, H, re = 0, te = 0, ae = 0;
        for (z && (te = 255 & (re = l[g]), re >>= 8, ae = -1); z; ) {
          for (z--, M = te, te = 255 & (re = l[re]), re >>= 8, ae++ == 3 ? (Z = te, H = M, te = -1) : (Z = 1, H = te); Z--; ) d = 4294967295 & (d << 8 ^ this.crcTable[255 & (d >> 24 ^ H)]), s(H);
          te != M && (ae = 0);
        }
        return (0 | (d = ~d >>> 0)) != (0 | p) && n("Error in bzip2: crc32 do not match"), 4294967295 & (d ^ (x << 1 | x >>> 31));
      }, T2 = a;
    })(), t = (function() {
      if (L2) return K2;
      L2 = 1;
      var r = [
        0,
        1,
        3,
        7,
        15,
        31,
        63,
        127,
        255
      ];
      return K2 = function(n) {
        var a = 0, i = 0, s = n(), l = function(u) {
          if (u === null && a != 0) return a = 0, void i++;
          for (var x = 0; u > 0; ) {
            i >= s.length && (i = 0, s = n());
            var d = 8 - a;
            a === 0 && u > 0 && l.bytesRead++, u >= d ? (x <<= d, x |= r[d] & s[i++], a = 0, u -= d) : (x <<= u, x |= (s[i] & r[u] << 8 - u - a) >> 8 - u - a, a += u, u = 0);
          }
          return x;
        };
        return l.bytesRead = 0, l;
      };
    })();
    return O2 = function(r) {
      const n = [];
      let a = 0, i = 0, s = false, l = false, u = null, x = null, d, f = 0;
      function m(p) {
        if (!s) try {
          return (function(g) {
            if (i) {
              const E = 1e5 * i, A = new Int32Array(E), w = [], D = function(B) {
                w.push(B);
              };
              return x = e.decompress(u, D, A, E, x), x === null ? (i = 0, false) : (g(new Uint8Array(w)), true);
            }
            return i = e.header(u), x = 0, false;
          })((function(g) {
            p.enqueue(g), g !== null && (f += g.length);
          }));
        } catch (g) {
          return p.error(g), s = true, true;
        }
      }
      return new ReadableStream({
        start() {
          d = r.getReader();
        },
        async pull(p) {
          try {
            for (; ; ) {
              for (; !(l || u && a - u.bytesRead + 1 >= 25e3 + 1e5 * (i || 4)); ) {
                const { value: g, done: E } = await d.read();
                E ? l = true : (n.push(g), a += g.length, u === null && (u = t((function() {
                  return n.shift();
                }))));
              }
              for (; l ? u && a > u.bytesRead : u && a - u.bytesRead + 1 >= 25e3 + 1e5 * (i || 4); ) if (m(p)) return;
              if (l && !s && (!u || a <= u.bytesRead)) return void (x === null ? p.close() : p.error(Error("input stream ended prematurely")));
            }
          } catch (g) {
            p.error(g);
          }
        },
        async cancel(p) {
          await d.abort(p);
        }
      }, {
        highWaterMark: 0
      });
    };
  })(), QC = Object.freeze({
    __proto__: null,
    default: OC(HC)
  });
  const Io = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:", Us = (() => {
    const e = /* @__PURE__ */ new Map();
    for (let t = 0; t < Io.length; t++) e.set(Io[t], t);
    return e;
  })();
  function GC(e) {
    let t = "";
    for (let r = 0; r < e.length; r += 2) if (r + 1 < e.length) {
      const n = e[r] * 256 + e[r + 1], a = n % 45, i = Math.floor(n / 45) % 45, s = Math.floor(n / 2025);
      t += Io[a] + Io[i] + Io[s];
    } else {
      const n = e[r], a = n % 45, i = Math.floor(n / 45);
      t += Io[a] + Io[i];
    }
    return t;
  }
  function qC(e) {
    if (!e.length) return new Uint8Array();
    for (const r of e) if (!Us.has(r)) throw new Error(`Base45 decode: invalid character '${r}' (position ${e.indexOf(r)})`);
    if (e.length % 3 === 1) throw new Error("Base45 decode: invalid length (length mod 3 == 1)");
    const t = [];
    for (let r = 0; r < e.length; ) if (e.length - r >= 3) {
      const a = Us.get(e[r++]), i = Us.get(e[r++]), s = Us.get(e[r++]), l = a + i * 45 + s * 45 * 45;
      if (l > 65535) throw new Error("Base45 decode: value overflow in 3-tuple");
      t.push(l >> 8 & 255, l & 255);
    } else {
      const a = Us.get(e[r++]), i = Us.get(e[r++]), s = a + i * 45;
      if (s > 255) throw new Error("Base45 decode: value overflow in 2-tuple");
      t.push(s);
    }
    return new Uint8Array(t);
  }
  function Qy(e) {
    let t = 65535;
    for (let r = 0; r < e.length; r++) {
      t ^= e[r] << 8;
      for (let n = 0; n < 8; n++) t = t & 32768 ? t << 1 ^ 4129 : t << 1, t &= 65535;
    }
    return t.toString(16).toUpperCase().padStart(4, "0");
  }
  const VC = 4, Q2 = 0, G2 = 1, WC = 2;
  function y0(e) {
    let t = e.length;
    for (; --t >= 0; ) e[t] = 0;
  }
  const ZC = 0, Gy = 1, YC = 2, $C = 3, XC = 258, P8 = 29, Dc = 256, ac = Dc + 1 + P8, t0 = 30, N8 = 19, qy = 2 * ac + 1, zo = 15, j1 = 16, JC = 7, j8 = 256, Vy = 16, Wy = 17, Zy = 18, Tp = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    1,
    1,
    1,
    2,
    2,
    2,
    2,
    3,
    3,
    3,
    3,
    4,
    4,
    4,
    4,
    5,
    5,
    5,
    5,
    0
  ]), Nx = new Uint8Array([
    0,
    0,
    0,
    0,
    1,
    1,
    2,
    2,
    3,
    3,
    4,
    4,
    5,
    5,
    6,
    6,
    7,
    7,
    8,
    8,
    9,
    9,
    10,
    10,
    11,
    11,
    12,
    12,
    13,
    13
  ]), ek = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    2,
    3,
    7
  ]), Yy = new Uint8Array([
    16,
    17,
    18,
    0,
    8,
    7,
    9,
    6,
    10,
    5,
    11,
    4,
    12,
    3,
    13,
    2,
    14,
    1,
    15
  ]), tk = 512, Xa = new Array((ac + 2) * 2);
  y0(Xa);
  const Ql = new Array(t0 * 2);
  y0(Ql);
  const ic = new Array(tk);
  y0(ic);
  const oc = new Array(XC - $C + 1);
  y0(oc);
  const z8 = new Array(P8);
  y0(z8);
  const nd = new Array(t0);
  y0(nd);
  function z1(e, t, r, n, a) {
    this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = a, this.has_stree = e && e.length;
  }
  let $y, Xy, Jy;
  function U1(e, t) {
    this.dyn_tree = e, this.max_code = 0, this.stat_desc = t;
  }
  const e7 = (e) => e < 256 ? ic[e] : ic[256 + (e >>> 7)], sc = (e, t) => {
    e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255;
  }, Wr = (e, t, r) => {
    e.bi_valid > j1 - r ? (e.bi_buf |= t << e.bi_valid & 65535, sc(e, e.bi_buf), e.bi_buf = t >> j1 - e.bi_valid, e.bi_valid += r - j1) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r);
  }, Ea = (e, t, r) => {
    Wr(e, r[t * 2], r[t * 2 + 1]);
  }, t7 = (e, t) => {
    let r = 0;
    do
      r |= e & 1, e >>>= 1, r <<= 1;
    while (--t > 0);
    return r >>> 1;
  }, rk = (e) => {
    e.bi_valid === 16 ? (sc(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8);
  }, nk = (e, t) => {
    const r = t.dyn_tree, n = t.max_code, a = t.stat_desc.static_tree, i = t.stat_desc.has_stree, s = t.stat_desc.extra_bits, l = t.stat_desc.extra_base, u = t.stat_desc.max_length;
    let x, d, f, m, p, g, E = 0;
    for (m = 0; m <= zo; m++) e.bl_count[m] = 0;
    for (r[e.heap[e.heap_max] * 2 + 1] = 0, x = e.heap_max + 1; x < qy; x++) d = e.heap[x], m = r[r[d * 2 + 1] * 2 + 1] + 1, m > u && (m = u, E++), r[d * 2 + 1] = m, !(d > n) && (e.bl_count[m]++, p = 0, d >= l && (p = s[d - l]), g = r[d * 2], e.opt_len += g * (m + p), i && (e.static_len += g * (a[d * 2 + 1] + p)));
    if (E !== 0) {
      do {
        for (m = u - 1; e.bl_count[m] === 0; ) m--;
        e.bl_count[m]--, e.bl_count[m + 1] += 2, e.bl_count[u]--, E -= 2;
      } while (E > 0);
      for (m = u; m !== 0; m--) for (d = e.bl_count[m]; d !== 0; ) f = e.heap[--x], !(f > n) && (r[f * 2 + 1] !== m && (e.opt_len += (m - r[f * 2 + 1]) * r[f * 2], r[f * 2 + 1] = m), d--);
    }
  }, r7 = (e, t, r) => {
    const n = new Array(zo + 1);
    let a = 0, i, s;
    for (i = 1; i <= zo; i++) a = a + r[i - 1] << 1, n[i] = a;
    for (s = 0; s <= t; s++) {
      let l = e[s * 2 + 1];
      l !== 0 && (e[s * 2] = t7(n[l]++, l));
    }
  }, ak = () => {
    let e, t, r, n, a;
    const i = new Array(zo + 1);
    for (r = 0, n = 0; n < P8 - 1; n++) for (z8[n] = r, e = 0; e < 1 << Tp[n]; e++) oc[r++] = n;
    for (oc[r - 1] = n, a = 0, n = 0; n < 16; n++) for (nd[n] = a, e = 0; e < 1 << Nx[n]; e++) ic[a++] = n;
    for (a >>= 7; n < t0; n++) for (nd[n] = a << 7, e = 0; e < 1 << Nx[n] - 7; e++) ic[256 + a++] = n;
    for (t = 0; t <= zo; t++) i[t] = 0;
    for (e = 0; e <= 143; ) Xa[e * 2 + 1] = 8, e++, i[8]++;
    for (; e <= 255; ) Xa[e * 2 + 1] = 9, e++, i[9]++;
    for (; e <= 279; ) Xa[e * 2 + 1] = 7, e++, i[7]++;
    for (; e <= 287; ) Xa[e * 2 + 1] = 8, e++, i[8]++;
    for (r7(Xa, ac + 1, i), e = 0; e < t0; e++) Ql[e * 2 + 1] = 5, Ql[e * 2] = t7(e, 5);
    $y = new z1(Xa, Tp, Dc + 1, ac, zo), Xy = new z1(Ql, Nx, 0, t0, zo), Jy = new z1(new Array(0), ek, 0, N8, JC);
  }, n7 = (e) => {
    let t;
    for (t = 0; t < ac; t++) e.dyn_ltree[t * 2] = 0;
    for (t = 0; t < t0; t++) e.dyn_dtree[t * 2] = 0;
    for (t = 0; t < N8; t++) e.bl_tree[t * 2] = 0;
    e.dyn_ltree[j8 * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0;
  }, a7 = (e) => {
    e.bi_valid > 8 ? sc(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;
  }, q2 = (e, t, r, n) => {
    const a = t * 2, i = r * 2;
    return e[a] < e[i] || e[a] === e[i] && n[t] <= n[r];
  }, R1 = (e, t, r) => {
    const n = e.heap[r];
    let a = r << 1;
    for (; a <= e.heap_len && (a < e.heap_len && q2(t, e.heap[a + 1], e.heap[a], e.depth) && a++, !q2(t, n, e.heap[a], e.depth)); ) e.heap[r] = e.heap[a], r = a, a <<= 1;
    e.heap[r] = n;
  }, V2 = (e, t, r) => {
    let n, a, i = 0, s, l;
    if (e.sym_next !== 0) do
      n = e.pending_buf[e.sym_buf + i++] & 255, n += (e.pending_buf[e.sym_buf + i++] & 255) << 8, a = e.pending_buf[e.sym_buf + i++], n === 0 ? Ea(e, a, t) : (s = oc[a], Ea(e, s + Dc + 1, t), l = Tp[s], l !== 0 && (a -= z8[s], Wr(e, a, l)), n--, s = e7(n), Ea(e, s, r), l = Nx[s], l !== 0 && (n -= nd[s], Wr(e, n, l)));
    while (i < e.sym_next);
    Ea(e, j8, t);
  }, Mp = (e, t) => {
    const r = t.dyn_tree, n = t.stat_desc.static_tree, a = t.stat_desc.has_stree, i = t.stat_desc.elems;
    let s, l, u = -1, x;
    for (e.heap_len = 0, e.heap_max = qy, s = 0; s < i; s++) r[s * 2] !== 0 ? (e.heap[++e.heap_len] = u = s, e.depth[s] = 0) : r[s * 2 + 1] = 0;
    for (; e.heap_len < 2; ) x = e.heap[++e.heap_len] = u < 2 ? ++u : 0, r[x * 2] = 1, e.depth[x] = 0, e.opt_len--, a && (e.static_len -= n[x * 2 + 1]);
    for (t.max_code = u, s = e.heap_len >> 1; s >= 1; s--) R1(e, r, s);
    x = i;
    do
      s = e.heap[1], e.heap[1] = e.heap[e.heap_len--], R1(e, r, 1), l = e.heap[1], e.heap[--e.heap_max] = s, e.heap[--e.heap_max] = l, r[x * 2] = r[s * 2] + r[l * 2], e.depth[x] = (e.depth[s] >= e.depth[l] ? e.depth[s] : e.depth[l]) + 1, r[s * 2 + 1] = r[l * 2 + 1] = x, e.heap[1] = x++, R1(e, r, 1);
    while (e.heap_len >= 2);
    e.heap[--e.heap_max] = e.heap[1], nk(e, t), r7(r, u, e.bl_count);
  }, W2 = (e, t, r) => {
    let n, a = -1, i, s = t[1], l = 0, u = 7, x = 4;
    for (s === 0 && (u = 138, x = 3), t[(r + 1) * 2 + 1] = 65535, n = 0; n <= r; n++) i = s, s = t[(n + 1) * 2 + 1], !(++l < u && i === s) && (l < x ? e.bl_tree[i * 2] += l : i !== 0 ? (i !== a && e.bl_tree[i * 2]++, e.bl_tree[Vy * 2]++) : l <= 10 ? e.bl_tree[Wy * 2]++ : e.bl_tree[Zy * 2]++, l = 0, a = i, s === 0 ? (u = 138, x = 3) : i === s ? (u = 6, x = 3) : (u = 7, x = 4));
  }, Z2 = (e, t, r) => {
    let n, a = -1, i, s = t[1], l = 0, u = 7, x = 4;
    for (s === 0 && (u = 138, x = 3), n = 0; n <= r; n++) if (i = s, s = t[(n + 1) * 2 + 1], !(++l < u && i === s)) {
      if (l < x) do
        Ea(e, i, e.bl_tree);
      while (--l !== 0);
      else i !== 0 ? (i !== a && (Ea(e, i, e.bl_tree), l--), Ea(e, Vy, e.bl_tree), Wr(e, l - 3, 2)) : l <= 10 ? (Ea(e, Wy, e.bl_tree), Wr(e, l - 3, 3)) : (Ea(e, Zy, e.bl_tree), Wr(e, l - 11, 7));
      l = 0, a = i, s === 0 ? (u = 138, x = 3) : i === s ? (u = 6, x = 3) : (u = 7, x = 4);
    }
  }, ik = (e) => {
    let t;
    for (W2(e, e.dyn_ltree, e.l_desc.max_code), W2(e, e.dyn_dtree, e.d_desc.max_code), Mp(e, e.bl_desc), t = N8 - 1; t >= 3 && e.bl_tree[Yy[t] * 2 + 1] === 0; t--) ;
    return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;
  }, ok = (e, t, r, n) => {
    let a;
    for (Wr(e, t - 257, 5), Wr(e, r - 1, 5), Wr(e, n - 4, 4), a = 0; a < n; a++) Wr(e, e.bl_tree[Yy[a] * 2 + 1], 3);
    Z2(e, e.dyn_ltree, t - 1), Z2(e, e.dyn_dtree, r - 1);
  }, sk = (e) => {
    let t = 4093624447, r;
    for (r = 0; r <= 31; r++, t >>>= 1) if (t & 1 && e.dyn_ltree[r * 2] !== 0) return Q2;
    if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return G2;
    for (r = 32; r < Dc; r++) if (e.dyn_ltree[r * 2] !== 0) return G2;
    return Q2;
  };
  let Y2 = false;
  const lk = (e) => {
    Y2 || (ak(), Y2 = true), e.l_desc = new U1(e.dyn_ltree, $y), e.d_desc = new U1(e.dyn_dtree, Xy), e.bl_desc = new U1(e.bl_tree, Jy), e.bi_buf = 0, e.bi_valid = 0, n7(e);
  }, i7 = (e, t, r, n) => {
    Wr(e, (ZC << 1) + (n ? 1 : 0), 3), a7(e), sc(e, r), sc(e, ~r), r && e.pending_buf.set(e.window.subarray(t, t + r), e.pending), e.pending += r;
  }, ck = (e) => {
    Wr(e, Gy << 1, 3), Ea(e, j8, Xa), rk(e);
  }, uk = (e, t, r, n) => {
    let a, i, s = 0;
    e.level > 0 ? (e.strm.data_type === WC && (e.strm.data_type = sk(e)), Mp(e, e.l_desc), Mp(e, e.d_desc), s = ik(e), a = e.opt_len + 3 + 7 >>> 3, i = e.static_len + 3 + 7 >>> 3, i <= a && (a = i)) : a = i = r + 5, r + 4 <= a && t !== -1 ? i7(e, t, r, n) : e.strategy === VC || i === a ? (Wr(e, (Gy << 1) + (n ? 1 : 0), 3), V2(e, Xa, Ql)) : (Wr(e, (YC << 1) + (n ? 1 : 0), 3), ok(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, s + 1), V2(e, e.dyn_ltree, e.dyn_dtree)), n7(e), n && a7(e);
  }, xk = (e, t, r) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = r, t === 0 ? e.dyn_ltree[r * 2]++ : (e.matches++, t--, e.dyn_ltree[(oc[r] + Dc + 1) * 2]++, e.dyn_dtree[e7(t) * 2]++), e.sym_next === e.sym_end);
  var dk = lk, fk = i7, hk = uk, pk = xk, mk = ck, gk = {
    _tr_init: dk,
    _tr_stored_block: fk,
    _tr_flush_block: hk,
    _tr_tally: pk,
    _tr_align: mk
  };
  const yk = (e, t, r, n) => {
    let a = e & 65535 | 0, i = e >>> 16 & 65535 | 0, s = 0;
    for (; r !== 0; ) {
      s = r > 2e3 ? 2e3 : r, r -= s;
      do
        a = a + t[n++] | 0, i = i + a | 0;
      while (--s);
      a %= 65521, i %= 65521;
    }
    return a | i << 16 | 0;
  };
  var lc = yk;
  const Ek = () => {
    let e, t = [];
    for (var r = 0; r < 256; r++) {
      e = r;
      for (var n = 0; n < 8; n++) e = e & 1 ? 3988292384 ^ e >>> 1 : e >>> 1;
      t[r] = e;
    }
    return t;
  }, bk = new Uint32Array(Ek()), Ak = (e, t, r, n) => {
    const a = bk, i = n + r;
    e ^= -1;
    for (let s = n; s < i; s++) e = e >>> 8 ^ a[(e ^ t[s]) & 255];
    return e ^ -1;
  };
  var sr = Ak, Vo = {
    2: "need dictionary",
    1: "stream end",
    0: "",
    "-1": "file error",
    "-2": "stream error",
    "-3": "data error",
    "-4": "insufficient memory",
    "-5": "buffer error",
    "-6": "incompatible version"
  }, Nd = {
    Z_NO_FLUSH: 0,
    Z_PARTIAL_FLUSH: 1,
    Z_SYNC_FLUSH: 2,
    Z_FULL_FLUSH: 3,
    Z_FINISH: 4,
    Z_BLOCK: 5,
    Z_TREES: 6,
    Z_OK: 0,
    Z_STREAM_END: 1,
    Z_NEED_DICT: 2,
    Z_STREAM_ERROR: -2,
    Z_DATA_ERROR: -3,
    Z_MEM_ERROR: -4,
    Z_BUF_ERROR: -5,
    Z_DEFAULT_COMPRESSION: -1,
    Z_FILTERED: 1,
    Z_HUFFMAN_ONLY: 2,
    Z_RLE: 3,
    Z_FIXED: 4,
    Z_DEFAULT_STRATEGY: 0,
    Z_UNKNOWN: 2,
    Z_DEFLATED: 8
  };
  const { _tr_init: wk, _tr_stored_block: Kp, _tr_flush_block: vk, _tr_tally: Xi, _tr_align: Bk } = gk, { Z_NO_FLUSH: Ji, Z_PARTIAL_FLUSH: Ck, Z_FULL_FLUSH: kk, Z_FINISH: wn, Z_BLOCK: $2, Z_OK: dr, Z_STREAM_END: X2, Z_STREAM_ERROR: ka, Z_DATA_ERROR: Dk, Z_BUF_ERROR: T1, Z_DEFAULT_COMPRESSION: Fk, Z_FILTERED: _k, Z_HUFFMAN_ONLY: ox, Z_RLE: Sk, Z_FIXED: Ik, Z_DEFAULT_STRATEGY: Pk, Z_UNKNOWN: Nk, Z_DEFLATED: jd } = Nd, jk = 9, zk = 15, Uk = 8, Rk = 29, Tk = 256, Lp = Tk + 1 + Rk, Mk = 30, Kk = 19, Lk = 2 * Lp + 1, Ok = 15, it = 3, Yi = 258, Da = Yi + it + 1, Hk = 32, d0 = 42, U8 = 57, Op = 69, Hp = 73, Qp = 91, Gp = 103, Uo = 113, Kl = 666, jr = 1, E0 = 2, Wo = 3, b0 = 4, Qk = 3, Ro = (e, t) => (e.msg = Vo[t], t), J2 = (e) => e * 2 - (e > 4 ? 9 : 0), qi = (e) => {
    let t = e.length;
    for (; --t >= 0; ) e[t] = 0;
  }, Gk = (e) => {
    let t, r, n, a = e.w_size;
    t = e.hash_size, n = t;
    do
      r = e.head[--n], e.head[n] = r >= a ? r - a : 0;
    while (--t);
    t = a, n = t;
    do
      r = e.prev[--n], e.prev[n] = r >= a ? r - a : 0;
    while (--t);
  };
  let qk = (e, t, r) => (t << e.hash_shift ^ r) & e.hash_mask, eo = qk;
  const nn = (e) => {
    const t = e.state;
    let r = t.pending;
    r > e.avail_out && (r = e.avail_out), r !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + r), e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, t.pending === 0 && (t.pending_out = 0));
  }, sn = (e, t) => {
    vk(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, nn(e.strm);
  }, dt = (e, t) => {
    e.pending_buf[e.pending++] = t;
  }, wl = (e, t) => {
    e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255;
  }, qp = (e, t, r, n) => {
    let a = e.avail_in;
    return a > n && (a = n), a === 0 ? 0 : (e.avail_in -= a, t.set(e.input.subarray(e.next_in, e.next_in + a), r), e.state.wrap === 1 ? e.adler = lc(e.adler, t, a, r) : e.state.wrap === 2 && (e.adler = sr(e.adler, t, a, r)), e.next_in += a, e.total_in += a, a);
  }, o7 = (e, t) => {
    let r = e.max_chain_length, n = e.strstart, a, i, s = e.prev_length, l = e.nice_match;
    const u = e.strstart > e.w_size - Da ? e.strstart - (e.w_size - Da) : 0, x = e.window, d = e.w_mask, f = e.prev, m = e.strstart + Yi;
    let p = x[n + s - 1], g = x[n + s];
    e.prev_length >= e.good_match && (r >>= 2), l > e.lookahead && (l = e.lookahead);
    do
      if (a = t, !(x[a + s] !== g || x[a + s - 1] !== p || x[a] !== x[n] || x[++a] !== x[n + 1])) {
        n += 2, a++;
        do
          ;
        while (x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && n < m);
        if (i = Yi - (m - n), n = m - Yi, i > s) {
          if (e.match_start = t, s = i, i >= l) break;
          p = x[n + s - 1], g = x[n + s];
        }
      }
    while ((t = f[t & d]) > u && --r !== 0);
    return s <= e.lookahead ? s : e.lookahead;
  }, f0 = (e) => {
    const t = e.w_size;
    let r, n, a;
    do {
      if (n = e.window_size - e.lookahead - e.strstart, e.strstart >= t + (t - Da) && (e.window.set(e.window.subarray(t, t + t - n), 0), e.match_start -= t, e.strstart -= t, e.block_start -= t, e.insert > e.strstart && (e.insert = e.strstart), Gk(e), n += t), e.strm.avail_in === 0) break;
      if (r = qp(e.strm, e.window, e.strstart + e.lookahead, n), e.lookahead += r, e.lookahead + e.insert >= it) for (a = e.strstart - e.insert, e.ins_h = e.window[a], e.ins_h = eo(e, e.ins_h, e.window[a + 1]); e.insert && (e.ins_h = eo(e, e.ins_h, e.window[a + it - 1]), e.prev[a & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = a, a++, e.insert--, !(e.lookahead + e.insert < it)); ) ;
    } while (e.lookahead < Da && e.strm.avail_in !== 0);
  }, s7 = (e, t) => {
    let r = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, n, a, i, s = 0, l = e.strm.avail_in;
    do {
      if (n = 65535, i = e.bi_valid + 42 >> 3, e.strm.avail_out < i || (i = e.strm.avail_out - i, a = e.strstart - e.block_start, n > a + e.strm.avail_in && (n = a + e.strm.avail_in), n > i && (n = i), n < r && (n === 0 && t !== wn || t === Ji || n !== a + e.strm.avail_in))) break;
      s = t === wn && n === a + e.strm.avail_in ? 1 : 0, Kp(e, 0, 0, s), e.pending_buf[e.pending - 4] = n, e.pending_buf[e.pending - 3] = n >> 8, e.pending_buf[e.pending - 2] = ~n, e.pending_buf[e.pending - 1] = ~n >> 8, nn(e.strm), a && (a > n && (a = n), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + a), e.strm.next_out), e.strm.next_out += a, e.strm.avail_out -= a, e.strm.total_out += a, e.block_start += a, n -= a), n && (qp(e.strm, e.strm.output, e.strm.next_out, n), e.strm.next_out += n, e.strm.avail_out -= n, e.strm.total_out += n);
    } while (s === 0);
    return l -= e.strm.avail_in, l && (l >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= l && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - l, e.strm.next_in), e.strstart), e.strstart += l, e.insert += l > e.w_size - e.insert ? e.w_size - e.insert : l), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), s ? b0 : t !== Ji && t !== wn && e.strm.avail_in === 0 && e.strstart === e.block_start ? E0 : (i = e.window_size - e.strstart, e.strm.avail_in > i && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, i += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), i > e.strm.avail_in && (i = e.strm.avail_in), i && (qp(e.strm, e.window, e.strstart, i), e.strstart += i, e.insert += i > e.w_size - e.insert ? e.w_size - e.insert : i), e.high_water < e.strstart && (e.high_water = e.strstart), i = e.bi_valid + 42 >> 3, i = e.pending_buf_size - i > 65535 ? 65535 : e.pending_buf_size - i, r = i > e.w_size ? e.w_size : i, a = e.strstart - e.block_start, (a >= r || (a || t === wn) && t !== Ji && e.strm.avail_in === 0 && a <= i) && (n = a > i ? i : a, s = t === wn && e.strm.avail_in === 0 && n === a ? 1 : 0, Kp(e, e.block_start, n, s), e.block_start += n, nn(e.strm)), s ? Wo : jr);
  }, M1 = (e, t) => {
    let r, n;
    for (; ; ) {
      if (e.lookahead < Da) {
        if (f0(e), e.lookahead < Da && t === Ji) return jr;
        if (e.lookahead === 0) break;
      }
      if (r = 0, e.lookahead >= it && (e.ins_h = eo(e, e.ins_h, e.window[e.strstart + it - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), r !== 0 && e.strstart - r <= e.w_size - Da && (e.match_length = o7(e, r)), e.match_length >= it) if (n = Xi(e, e.strstart - e.match_start, e.match_length - it), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= it) {
        e.match_length--;
        do
          e.strstart++, e.ins_h = eo(e, e.ins_h, e.window[e.strstart + it - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;
        while (--e.match_length !== 0);
        e.strstart++;
      } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = eo(e, e.ins_h, e.window[e.strstart + 1]);
      else n = Xi(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
      if (n && (sn(e, false), e.strm.avail_out === 0)) return jr;
    }
    return e.insert = e.strstart < it - 1 ? e.strstart : it - 1, t === wn ? (sn(e, true), e.strm.avail_out === 0 ? Wo : b0) : e.sym_next && (sn(e, false), e.strm.avail_out === 0) ? jr : E0;
  }, Rs = (e, t) => {
    let r, n, a;
    for (; ; ) {
      if (e.lookahead < Da) {
        if (f0(e), e.lookahead < Da && t === Ji) return jr;
        if (e.lookahead === 0) break;
      }
      if (r = 0, e.lookahead >= it && (e.ins_h = eo(e, e.ins_h, e.window[e.strstart + it - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = it - 1, r !== 0 && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - Da && (e.match_length = o7(e, r), e.match_length <= 5 && (e.strategy === _k || e.match_length === it && e.strstart - e.match_start > 4096) && (e.match_length = it - 1)), e.prev_length >= it && e.match_length <= e.prev_length) {
        a = e.strstart + e.lookahead - it, n = Xi(e, e.strstart - 1 - e.prev_match, e.prev_length - it), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
        do
          ++e.strstart <= a && (e.ins_h = eo(e, e.ins_h, e.window[e.strstart + it - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);
        while (--e.prev_length !== 0);
        if (e.match_available = 0, e.match_length = it - 1, e.strstart++, n && (sn(e, false), e.strm.avail_out === 0)) return jr;
      } else if (e.match_available) {
        if (n = Xi(e, 0, e.window[e.strstart - 1]), n && sn(e, false), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return jr;
      } else e.match_available = 1, e.strstart++, e.lookahead--;
    }
    return e.match_available && (n = Xi(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < it - 1 ? e.strstart : it - 1, t === wn ? (sn(e, true), e.strm.avail_out === 0 ? Wo : b0) : e.sym_next && (sn(e, false), e.strm.avail_out === 0) ? jr : E0;
  }, Vk = (e, t) => {
    let r, n, a, i;
    const s = e.window;
    for (; ; ) {
      if (e.lookahead <= Yi) {
        if (f0(e), e.lookahead <= Yi && t === Ji) return jr;
        if (e.lookahead === 0) break;
      }
      if (e.match_length = 0, e.lookahead >= it && e.strstart > 0 && (a = e.strstart - 1, n = s[a], n === s[++a] && n === s[++a] && n === s[++a])) {
        i = e.strstart + Yi;
        do
          ;
        while (n === s[++a] && n === s[++a] && n === s[++a] && n === s[++a] && n === s[++a] && n === s[++a] && n === s[++a] && n === s[++a] && a < i);
        e.match_length = Yi - (i - a), e.match_length > e.lookahead && (e.match_length = e.lookahead);
      }
      if (e.match_length >= it ? (r = Xi(e, 1, e.match_length - it), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = Xi(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (sn(e, false), e.strm.avail_out === 0)) return jr;
    }
    return e.insert = 0, t === wn ? (sn(e, true), e.strm.avail_out === 0 ? Wo : b0) : e.sym_next && (sn(e, false), e.strm.avail_out === 0) ? jr : E0;
  }, Wk = (e, t) => {
    let r;
    for (; ; ) {
      if (e.lookahead === 0 && (f0(e), e.lookahead === 0)) {
        if (t === Ji) return jr;
        break;
      }
      if (e.match_length = 0, r = Xi(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (sn(e, false), e.strm.avail_out === 0)) return jr;
    }
    return e.insert = 0, t === wn ? (sn(e, true), e.strm.avail_out === 0 ? Wo : b0) : e.sym_next && (sn(e, false), e.strm.avail_out === 0) ? jr : E0;
  };
  function ca(e, t, r, n, a) {
    this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = a;
  }
  const Ll = [
    new ca(0, 0, 0, 0, s7),
    new ca(4, 4, 8, 4, M1),
    new ca(4, 5, 16, 8, M1),
    new ca(4, 6, 32, 32, M1),
    new ca(4, 4, 16, 16, Rs),
    new ca(8, 16, 32, 32, Rs),
    new ca(8, 16, 128, 128, Rs),
    new ca(8, 32, 128, 256, Rs),
    new ca(32, 128, 258, 1024, Rs),
    new ca(32, 258, 258, 4096, Rs)
  ], Zk = (e) => {
    e.window_size = 2 * e.w_size, qi(e.head), e.max_lazy_match = Ll[e.level].max_lazy, e.good_match = Ll[e.level].good_length, e.nice_match = Ll[e.level].nice_length, e.max_chain_length = Ll[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = it - 1, e.match_available = 0, e.ins_h = 0;
  };
  function Yk() {
    this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = jd, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(Lk * 2), this.dyn_dtree = new Uint16Array((2 * Mk + 1) * 2), this.bl_tree = new Uint16Array((2 * Kk + 1) * 2), qi(this.dyn_ltree), qi(this.dyn_dtree), qi(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(Ok + 1), this.heap = new Uint16Array(2 * Lp + 1), qi(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(2 * Lp + 1), qi(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
  }
  const Fc = (e) => {
    if (!e) return 1;
    const t = e.state;
    return !t || t.strm !== e || t.status !== d0 && t.status !== U8 && t.status !== Op && t.status !== Hp && t.status !== Qp && t.status !== Gp && t.status !== Uo && t.status !== Kl ? 1 : 0;
  }, l7 = (e) => {
    if (Fc(e)) return Ro(e, ka);
    e.total_in = e.total_out = 0, e.data_type = Nk;
    const t = e.state;
    return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? U8 : t.wrap ? d0 : Uo, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, wk(t), dr;
  }, c7 = (e) => {
    const t = l7(e);
    return t === dr && Zk(e.state), t;
  }, $k = (e, t) => Fc(e) || e.state.wrap !== 2 ? ka : (e.state.gzhead = t, dr), u7 = (e, t, r, n, a, i) => {
    if (!e) return ka;
    let s = 1;
    if (t === Fk && (t = 6), n < 0 ? (s = 0, n = -n) : n > 15 && (s = 2, n -= 16), a < 1 || a > jk || r !== jd || n < 8 || n > 15 || t < 0 || t > 9 || i < 0 || i > Ik || n === 8 && s !== 1) return Ro(e, ka);
    n === 8 && (n = 9);
    const l = new Yk();
    return e.state = l, l.strm = e, l.status = d0, l.wrap = s, l.gzhead = null, l.w_bits = n, l.w_size = 1 << l.w_bits, l.w_mask = l.w_size - 1, l.hash_bits = a + 7, l.hash_size = 1 << l.hash_bits, l.hash_mask = l.hash_size - 1, l.hash_shift = ~~((l.hash_bits + it - 1) / it), l.window = new Uint8Array(l.w_size * 2), l.head = new Uint16Array(l.hash_size), l.prev = new Uint16Array(l.w_size), l.lit_bufsize = 1 << a + 6, l.pending_buf_size = l.lit_bufsize * 4, l.pending_buf = new Uint8Array(l.pending_buf_size), l.sym_buf = l.lit_bufsize, l.sym_end = (l.lit_bufsize - 1) * 3, l.level = t, l.strategy = i, l.method = r, c7(e);
  }, Xk = (e, t) => u7(e, t, jd, zk, Uk, Pk), Jk = (e, t) => {
    if (Fc(e) || t > $2 || t < 0) return e ? Ro(e, ka) : ka;
    const r = e.state;
    if (!e.output || e.avail_in !== 0 && !e.input || r.status === Kl && t !== wn) return Ro(e, e.avail_out === 0 ? T1 : ka);
    const n = r.last_flush;
    if (r.last_flush = t, r.pending !== 0) {
      if (nn(e), e.avail_out === 0) return r.last_flush = -1, dr;
    } else if (e.avail_in === 0 && J2(t) <= J2(n) && t !== wn) return Ro(e, T1);
    if (r.status === Kl && e.avail_in !== 0) return Ro(e, T1);
    if (r.status === d0 && r.wrap === 0 && (r.status = Uo), r.status === d0) {
      let a = jd + (r.w_bits - 8 << 4) << 8, i = -1;
      if (r.strategy >= ox || r.level < 2 ? i = 0 : r.level < 6 ? i = 1 : r.level === 6 ? i = 2 : i = 3, a |= i << 6, r.strstart !== 0 && (a |= Hk), a += 31 - a % 31, wl(r, a), r.strstart !== 0 && (wl(r, e.adler >>> 16), wl(r, e.adler & 65535)), e.adler = 1, r.status = Uo, nn(e), r.pending !== 0) return r.last_flush = -1, dr;
    }
    if (r.status === U8) {
      if (e.adler = 0, dt(r, 31), dt(r, 139), dt(r, 8), r.gzhead) dt(r, (r.gzhead.text ? 1 : 0) + (r.gzhead.hcrc ? 2 : 0) + (r.gzhead.extra ? 4 : 0) + (r.gzhead.name ? 8 : 0) + (r.gzhead.comment ? 16 : 0)), dt(r, r.gzhead.time & 255), dt(r, r.gzhead.time >> 8 & 255), dt(r, r.gzhead.time >> 16 & 255), dt(r, r.gzhead.time >> 24 & 255), dt(r, r.level === 9 ? 2 : r.strategy >= ox || r.level < 2 ? 4 : 0), dt(r, r.gzhead.os & 255), r.gzhead.extra && r.gzhead.extra.length && (dt(r, r.gzhead.extra.length & 255), dt(r, r.gzhead.extra.length >> 8 & 255)), r.gzhead.hcrc && (e.adler = sr(e.adler, r.pending_buf, r.pending, 0)), r.gzindex = 0, r.status = Op;
      else if (dt(r, 0), dt(r, 0), dt(r, 0), dt(r, 0), dt(r, 0), dt(r, r.level === 9 ? 2 : r.strategy >= ox || r.level < 2 ? 4 : 0), dt(r, Qk), r.status = Uo, nn(e), r.pending !== 0) return r.last_flush = -1, dr;
    }
    if (r.status === Op) {
      if (r.gzhead.extra) {
        let a = r.pending, i = (r.gzhead.extra.length & 65535) - r.gzindex;
        for (; r.pending + i > r.pending_buf_size; ) {
          let l = r.pending_buf_size - r.pending;
          if (r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex, r.gzindex + l), r.pending), r.pending = r.pending_buf_size, r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex += l, nn(e), r.pending !== 0) return r.last_flush = -1, dr;
          a = 0, i -= l;
        }
        let s = new Uint8Array(r.gzhead.extra);
        r.pending_buf.set(s.subarray(r.gzindex, r.gzindex + i), r.pending), r.pending += i, r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex = 0;
      }
      r.status = Hp;
    }
    if (r.status === Hp) {
      if (r.gzhead.name) {
        let a = r.pending, i;
        do {
          if (r.pending === r.pending_buf_size) {
            if (r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a)), nn(e), r.pending !== 0) return r.last_flush = -1, dr;
            a = 0;
          }
          r.gzindex < r.gzhead.name.length ? i = r.gzhead.name.charCodeAt(r.gzindex++) & 255 : i = 0, dt(r, i);
        } while (i !== 0);
        r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex = 0;
      }
      r.status = Qp;
    }
    if (r.status === Qp) {
      if (r.gzhead.comment) {
        let a = r.pending, i;
        do {
          if (r.pending === r.pending_buf_size) {
            if (r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a)), nn(e), r.pending !== 0) return r.last_flush = -1, dr;
            a = 0;
          }
          r.gzindex < r.gzhead.comment.length ? i = r.gzhead.comment.charCodeAt(r.gzindex++) & 255 : i = 0, dt(r, i);
        } while (i !== 0);
        r.gzhead.hcrc && r.pending > a && (e.adler = sr(e.adler, r.pending_buf, r.pending - a, a));
      }
      r.status = Gp;
    }
    if (r.status === Gp) {
      if (r.gzhead.hcrc) {
        if (r.pending + 2 > r.pending_buf_size && (nn(e), r.pending !== 0)) return r.last_flush = -1, dr;
        dt(r, e.adler & 255), dt(r, e.adler >> 8 & 255), e.adler = 0;
      }
      if (r.status = Uo, nn(e), r.pending !== 0) return r.last_flush = -1, dr;
    }
    if (e.avail_in !== 0 || r.lookahead !== 0 || t !== Ji && r.status !== Kl) {
      let a = r.level === 0 ? s7(r, t) : r.strategy === ox ? Wk(r, t) : r.strategy === Sk ? Vk(r, t) : Ll[r.level].func(r, t);
      if ((a === Wo || a === b0) && (r.status = Kl), a === jr || a === Wo) return e.avail_out === 0 && (r.last_flush = -1), dr;
      if (a === E0 && (t === Ck ? Bk(r) : t !== $2 && (Kp(r, 0, 0, false), t === kk && (qi(r.head), r.lookahead === 0 && (r.strstart = 0, r.block_start = 0, r.insert = 0))), nn(e), e.avail_out === 0)) return r.last_flush = -1, dr;
    }
    return t !== wn ? dr : r.wrap <= 0 ? X2 : (r.wrap === 2 ? (dt(r, e.adler & 255), dt(r, e.adler >> 8 & 255), dt(r, e.adler >> 16 & 255), dt(r, e.adler >> 24 & 255), dt(r, e.total_in & 255), dt(r, e.total_in >> 8 & 255), dt(r, e.total_in >> 16 & 255), dt(r, e.total_in >> 24 & 255)) : (wl(r, e.adler >>> 16), wl(r, e.adler & 65535)), nn(e), r.wrap > 0 && (r.wrap = -r.wrap), r.pending !== 0 ? dr : X2);
  }, eD = (e) => {
    if (Fc(e)) return ka;
    const t = e.state.status;
    return e.state = null, t === Uo ? Ro(e, Dk) : dr;
  }, tD = (e, t) => {
    let r = t.length;
    if (Fc(e)) return ka;
    const n = e.state, a = n.wrap;
    if (a === 2 || a === 1 && n.status !== d0 || n.lookahead) return ka;
    if (a === 1 && (e.adler = lc(e.adler, t, r, 0)), n.wrap = 0, r >= n.w_size) {
      a === 0 && (qi(n.head), n.strstart = 0, n.block_start = 0, n.insert = 0);
      let u = new Uint8Array(n.w_size);
      u.set(t.subarray(r - n.w_size, r), 0), t = u, r = n.w_size;
    }
    const i = e.avail_in, s = e.next_in, l = e.input;
    for (e.avail_in = r, e.next_in = 0, e.input = t, f0(n); n.lookahead >= it; ) {
      let u = n.strstart, x = n.lookahead - (it - 1);
      do
        n.ins_h = eo(n, n.ins_h, n.window[u + it - 1]), n.prev[u & n.w_mask] = n.head[n.ins_h], n.head[n.ins_h] = u, u++;
      while (--x);
      n.strstart = u, n.lookahead = it - 1, f0(n);
    }
    return n.strstart += n.lookahead, n.block_start = n.strstart, n.insert = n.lookahead, n.lookahead = 0, n.match_length = n.prev_length = it - 1, n.match_available = 0, e.next_in = s, e.input = l, e.avail_in = i, n.wrap = a, dr;
  };
  var rD = Xk, nD = u7, aD = c7, iD = l7, oD = $k, sD = Jk, lD = eD, cD = tD, uD = "pako deflate (from Nodeca project)", Gl = {
    deflateInit: rD,
    deflateInit2: nD,
    deflateReset: aD,
    deflateResetKeep: iD,
    deflateSetHeader: oD,
    deflate: sD,
    deflateEnd: lD,
    deflateSetDictionary: cD,
    deflateInfo: uD
  };
  const xD = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
  var dD = function(e) {
    const t = Array.prototype.slice.call(arguments, 1);
    for (; t.length; ) {
      const r = t.shift();
      if (r) {
        if (typeof r != "object") throw new TypeError(r + "must be non-object");
        for (const n in r) xD(r, n) && (e[n] = r[n]);
      }
    }
    return e;
  }, fD = (e) => {
    let t = 0;
    for (let n = 0, a = e.length; n < a; n++) t += e[n].length;
    const r = new Uint8Array(t);
    for (let n = 0, a = 0, i = e.length; n < i; n++) {
      let s = e[n];
      r.set(s, a), a += s.length;
    }
    return r;
  }, zd = {
    assign: dD,
    flattenChunks: fD
  };
  let x7 = true;
  try {
    String.fromCharCode.apply(null, new Uint8Array(1));
  } catch {
    x7 = false;
  }
  const cc = new Uint8Array(256);
  for (let e = 0; e < 256; e++) cc[e] = e >= 252 ? 6 : e >= 248 ? 5 : e >= 240 ? 4 : e >= 224 ? 3 : e >= 192 ? 2 : 1;
  cc[254] = cc[254] = 1;
  var hD = (e) => {
    if (typeof TextEncoder == "function" && TextEncoder.prototype.encode) return new TextEncoder().encode(e);
    let t, r, n, a, i, s = e.length, l = 0;
    for (a = 0; a < s; a++) r = e.charCodeAt(a), (r & 64512) === 55296 && a + 1 < s && (n = e.charCodeAt(a + 1), (n & 64512) === 56320 && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++)), l += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4;
    for (t = new Uint8Array(l), i = 0, a = 0; i < l; a++) r = e.charCodeAt(a), (r & 64512) === 55296 && a + 1 < s && (n = e.charCodeAt(a + 1), (n & 64512) === 56320 && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++)), r < 128 ? t[i++] = r : r < 2048 ? (t[i++] = 192 | r >>> 6, t[i++] = 128 | r & 63) : r < 65536 ? (t[i++] = 224 | r >>> 12, t[i++] = 128 | r >>> 6 & 63, t[i++] = 128 | r & 63) : (t[i++] = 240 | r >>> 18, t[i++] = 128 | r >>> 12 & 63, t[i++] = 128 | r >>> 6 & 63, t[i++] = 128 | r & 63);
    return t;
  };
  const pD = (e, t) => {
    if (t < 65534 && e.subarray && x7) return String.fromCharCode.apply(null, e.length === t ? e : e.subarray(0, t));
    let r = "";
    for (let n = 0; n < t; n++) r += String.fromCharCode(e[n]);
    return r;
  };
  var mD = (e, t) => {
    const r = t || e.length;
    if (typeof TextDecoder == "function" && TextDecoder.prototype.decode) return new TextDecoder().decode(e.subarray(0, t));
    let n, a;
    const i = new Array(r * 2);
    for (a = 0, n = 0; n < r; ) {
      let s = e[n++];
      if (s < 128) {
        i[a++] = s;
        continue;
      }
      let l = cc[s];
      if (l > 4) {
        i[a++] = 65533, n += l - 1;
        continue;
      }
      for (s &= l === 2 ? 31 : l === 3 ? 15 : 7; l > 1 && n < r; ) s = s << 6 | e[n++] & 63, l--;
      if (l > 1) {
        i[a++] = 65533;
        continue;
      }
      s < 65536 ? i[a++] = s : (s -= 65536, i[a++] = 55296 | s >> 10 & 1023, i[a++] = 56320 | s & 1023);
    }
    return pD(i, a);
  }, gD = (e, t) => {
    t = t || e.length, t > e.length && (t = e.length);
    let r = t - 1;
    for (; r >= 0 && (e[r] & 192) === 128; ) r--;
    return r < 0 || r === 0 ? t : r + cc[e[r]] > t ? r : t;
  }, uc = {
    string2buf: hD,
    buf2string: mD,
    utf8border: gD
  };
  function yD() {
    this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
  }
  var d7 = yD;
  const f7 = Object.prototype.toString, { Z_NO_FLUSH: ED, Z_SYNC_FLUSH: bD, Z_FULL_FLUSH: AD, Z_FINISH: wD, Z_OK: ad, Z_STREAM_END: vD, Z_DEFAULT_COMPRESSION: BD, Z_DEFAULT_STRATEGY: CD, Z_DEFLATED: kD } = Nd;
  function Ud(e) {
    this.options = zd.assign({
      level: BD,
      method: kD,
      chunkSize: 16384,
      windowBits: 15,
      memLevel: 8,
      strategy: CD
    }, e || {});
    let t = this.options;
    t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new d7(), this.strm.avail_out = 0;
    let r = Gl.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy);
    if (r !== ad) throw new Error(Vo[r]);
    if (t.header && Gl.deflateSetHeader(this.strm, t.header), t.dictionary) {
      let n;
      if (typeof t.dictionary == "string" ? n = uc.string2buf(t.dictionary) : f7.call(t.dictionary) === "[object ArrayBuffer]" ? n = new Uint8Array(t.dictionary) : n = t.dictionary, r = Gl.deflateSetDictionary(this.strm, n), r !== ad) throw new Error(Vo[r]);
      this._dict_set = true;
    }
  }
  Ud.prototype.push = function(e, t) {
    const r = this.strm, n = this.options.chunkSize;
    let a, i;
    if (this.ended) return false;
    for (t === ~~t ? i = t : i = t === true ? wD : ED, typeof e == "string" ? r.input = uc.string2buf(e) : f7.call(e) === "[object ArrayBuffer]" ? r.input = new Uint8Array(e) : r.input = e, r.next_in = 0, r.avail_in = r.input.length; ; ) {
      if (r.avail_out === 0 && (r.output = new Uint8Array(n), r.next_out = 0, r.avail_out = n), (i === bD || i === AD) && r.avail_out <= 6) {
        this.onData(r.output.subarray(0, r.next_out)), r.avail_out = 0;
        continue;
      }
      if (a = Gl.deflate(r, i), a === vD) return r.next_out > 0 && this.onData(r.output.subarray(0, r.next_out)), a = Gl.deflateEnd(this.strm), this.onEnd(a), this.ended = true, a === ad;
      if (r.avail_out === 0) {
        this.onData(r.output);
        continue;
      }
      if (i > 0 && r.next_out > 0) {
        this.onData(r.output.subarray(0, r.next_out)), r.avail_out = 0;
        continue;
      }
      if (r.avail_in === 0) break;
    }
    return true;
  };
  Ud.prototype.onData = function(e) {
    this.chunks.push(e);
  };
  Ud.prototype.onEnd = function(e) {
    e === ad && (this.result = zd.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
  };
  function DD(e, t) {
    const r = new Ud(t);
    if (r.push(e, true), r.err) throw r.msg || Vo[r.err];
    return r.result;
  }
  var FD = DD, _D = {
    deflate: FD
  };
  const sx = 16209, SD = 16191;
  var ID = function(t, r) {
    let n, a, i, s, l, u, x, d, f, m, p, g, E, A, w, D, B, v, _, T, I, z, C, j;
    const U = t.state;
    n = t.next_in, C = t.input, a = n + (t.avail_in - 5), i = t.next_out, j = t.output, s = i - (r - t.avail_out), l = i + (t.avail_out - 257), u = U.dmax, x = U.wsize, d = U.whave, f = U.wnext, m = U.window, p = U.hold, g = U.bits, E = U.lencode, A = U.distcode, w = (1 << U.lenbits) - 1, D = (1 << U.distbits) - 1;
    e: do {
      g < 15 && (p += C[n++] << g, g += 8, p += C[n++] << g, g += 8), B = E[p & w];
      t: for (; ; ) {
        if (v = B >>> 24, p >>>= v, g -= v, v = B >>> 16 & 255, v === 0) j[i++] = B & 65535;
        else if (v & 16) {
          _ = B & 65535, v &= 15, v && (g < v && (p += C[n++] << g, g += 8), _ += p & (1 << v) - 1, p >>>= v, g -= v), g < 15 && (p += C[n++] << g, g += 8, p += C[n++] << g, g += 8), B = A[p & D];
          r: for (; ; ) {
            if (v = B >>> 24, p >>>= v, g -= v, v = B >>> 16 & 255, v & 16) {
              if (T = B & 65535, v &= 15, g < v && (p += C[n++] << g, g += 8, g < v && (p += C[n++] << g, g += 8)), T += p & (1 << v) - 1, T > u) {
                t.msg = "invalid distance too far back", U.mode = sx;
                break e;
              }
              if (p >>>= v, g -= v, v = i - s, T > v) {
                if (v = T - v, v > d && U.sane) {
                  t.msg = "invalid distance too far back", U.mode = sx;
                  break e;
                }
                if (I = 0, z = m, f === 0) {
                  if (I += x - v, v < _) {
                    _ -= v;
                    do
                      j[i++] = m[I++];
                    while (--v);
                    I = i - T, z = j;
                  }
                } else if (f < v) {
                  if (I += x + f - v, v -= f, v < _) {
                    _ -= v;
                    do
                      j[i++] = m[I++];
                    while (--v);
                    if (I = 0, f < _) {
                      v = f, _ -= v;
                      do
                        j[i++] = m[I++];
                      while (--v);
                      I = i - T, z = j;
                    }
                  }
                } else if (I += f - v, v < _) {
                  _ -= v;
                  do
                    j[i++] = m[I++];
                  while (--v);
                  I = i - T, z = j;
                }
                for (; _ > 2; ) j[i++] = z[I++], j[i++] = z[I++], j[i++] = z[I++], _ -= 3;
                _ && (j[i++] = z[I++], _ > 1 && (j[i++] = z[I++]));
              } else {
                I = i - T;
                do
                  j[i++] = j[I++], j[i++] = j[I++], j[i++] = j[I++], _ -= 3;
                while (_ > 2);
                _ && (j[i++] = j[I++], _ > 1 && (j[i++] = j[I++]));
              }
            } else if ((v & 64) === 0) {
              B = A[(B & 65535) + (p & (1 << v) - 1)];
              continue r;
            } else {
              t.msg = "invalid distance code", U.mode = sx;
              break e;
            }
            break;
          }
        } else if ((v & 64) === 0) {
          B = E[(B & 65535) + (p & (1 << v) - 1)];
          continue t;
        } else if (v & 32) {
          U.mode = SD;
          break e;
        } else {
          t.msg = "invalid literal/length code", U.mode = sx;
          break e;
        }
        break;
      }
    } while (n < a && i < l);
    _ = g >> 3, n -= _, g -= _ << 3, p &= (1 << g) - 1, t.next_in = n, t.next_out = i, t.avail_in = n < a ? 5 + (a - n) : 5 - (n - a), t.avail_out = i < l ? 257 + (l - i) : 257 - (i - l), U.hold = p, U.bits = g;
  };
  const Ts = 15, em = 852, tm = 592, rm = 0, K1 = 1, nm = 2, PD = new Uint16Array([
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    13,
    15,
    17,
    19,
    23,
    27,
    31,
    35,
    43,
    51,
    59,
    67,
    83,
    99,
    115,
    131,
    163,
    195,
    227,
    258,
    0,
    0
  ]), ND = new Uint8Array([
    16,
    16,
    16,
    16,
    16,
    16,
    16,
    16,
    17,
    17,
    17,
    17,
    18,
    18,
    18,
    18,
    19,
    19,
    19,
    19,
    20,
    20,
    20,
    20,
    21,
    21,
    21,
    21,
    16,
    72,
    78
  ]), jD = new Uint16Array([
    1,
    2,
    3,
    4,
    5,
    7,
    9,
    13,
    17,
    25,
    33,
    49,
    65,
    97,
    129,
    193,
    257,
    385,
    513,
    769,
    1025,
    1537,
    2049,
    3073,
    4097,
    6145,
    8193,
    12289,
    16385,
    24577,
    0,
    0
  ]), zD = new Uint8Array([
    16,
    16,
    16,
    16,
    17,
    17,
    18,
    18,
    19,
    19,
    20,
    20,
    21,
    21,
    22,
    22,
    23,
    23,
    24,
    24,
    25,
    25,
    26,
    26,
    27,
    27,
    28,
    28,
    29,
    29,
    64,
    64
  ]), UD = (e, t, r, n, a, i, s, l) => {
    const u = l.bits;
    let x = 0, d = 0, f = 0, m = 0, p = 0, g = 0, E = 0, A = 0, w = 0, D = 0, B, v, _, T, I, z = null, C;
    const j = new Uint16Array(Ts + 1), U = new Uint16Array(Ts + 1);
    let P = null, L, F, q;
    for (x = 0; x <= Ts; x++) j[x] = 0;
    for (d = 0; d < n; d++) j[t[r + d]]++;
    for (p = u, m = Ts; m >= 1 && j[m] === 0; m--) ;
    if (p > m && (p = m), m === 0) return a[i++] = 1 << 24 | 64 << 16 | 0, a[i++] = 1 << 24 | 64 << 16 | 0, l.bits = 1, 0;
    for (f = 1; f < m && j[f] === 0; f++) ;
    for (p < f && (p = f), A = 1, x = 1; x <= Ts; x++) if (A <<= 1, A -= j[x], A < 0) return -1;
    if (A > 0 && (e === rm || m !== 1)) return -1;
    for (U[1] = 0, x = 1; x < Ts; x++) U[x + 1] = U[x] + j[x];
    for (d = 0; d < n; d++) t[r + d] !== 0 && (s[U[t[r + d]]++] = d);
    if (e === rm ? (z = P = s, C = 20) : e === K1 ? (z = PD, P = ND, C = 257) : (z = jD, P = zD, C = 0), D = 0, d = 0, x = f, I = i, g = p, E = 0, _ = -1, w = 1 << p, T = w - 1, e === K1 && w > em || e === nm && w > tm) return 1;
    for (; ; ) {
      L = x - E, s[d] + 1 < C ? (F = 0, q = s[d]) : s[d] >= C ? (F = P[s[d] - C], q = z[s[d] - C]) : (F = 96, q = 0), B = 1 << x - E, v = 1 << g, f = v;
      do
        v -= B, a[I + (D >> E) + v] = L << 24 | F << 16 | q | 0;
      while (v !== 0);
      for (B = 1 << x - 1; D & B; ) B >>= 1;
      if (B !== 0 ? (D &= B - 1, D += B) : D = 0, d++, --j[x] === 0) {
        if (x === m) break;
        x = t[r + s[d]];
      }
      if (x > p && (D & T) !== _) {
        for (E === 0 && (E = p), I += f, g = x - E, A = 1 << g; g + E < m && (A -= j[g + E], !(A <= 0)); ) g++, A <<= 1;
        if (w += 1 << g, e === K1 && w > em || e === nm && w > tm) return 1;
        _ = D & T, a[_] = p << 24 | g << 16 | I - i | 0;
      }
    }
    return D !== 0 && (a[I + D] = x - E << 24 | 64 << 16 | 0), l.bits = p, 0;
  };
  var ql = UD;
  const RD = 0, h7 = 1, p7 = 2, { Z_FINISH: am, Z_BLOCK: TD, Z_TREES: lx, Z_OK: Zo, Z_STREAM_END: MD, Z_NEED_DICT: KD, Z_STREAM_ERROR: _n, Z_DATA_ERROR: m7, Z_MEM_ERROR: g7, Z_BUF_ERROR: LD, Z_DEFLATED: im } = Nd, Rd = 16180, om = 16181, sm = 16182, lm = 16183, cm = 16184, um = 16185, xm = 16186, dm = 16187, fm = 16188, hm = 16189, id = 16190, Ga = 16191, L1 = 16192, pm = 16193, O1 = 16194, mm = 16195, gm = 16196, ym = 16197, Em = 16198, cx = 16199, ux = 16200, bm = 16201, Am = 16202, wm = 16203, vm = 16204, Bm = 16205, H1 = 16206, Cm = 16207, km = 16208, It = 16209, y7 = 16210, E7 = 16211, OD = 852, HD = 592, QD = 15, GD = QD, Dm = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
  function qD() {
    this.strm = null, this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
  }
  const is = (e) => {
    if (!e) return 1;
    const t = e.state;
    return !t || t.strm !== e || t.mode < Rd || t.mode > E7 ? 1 : 0;
  }, b7 = (e) => {
    if (is(e)) return _n;
    const t = e.state;
    return e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = t.wrap & 1), t.mode = Rd, t.last = 0, t.havedict = 0, t.flags = -1, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Int32Array(OD), t.distcode = t.distdyn = new Int32Array(HD), t.sane = 1, t.back = -1, Zo;
  }, A7 = (e) => {
    if (is(e)) return _n;
    const t = e.state;
    return t.wsize = 0, t.whave = 0, t.wnext = 0, b7(e);
  }, w7 = (e, t) => {
    let r;
    if (is(e)) return _n;
    const n = e.state;
    return t < 0 ? (r = 0, t = -t) : (r = (t >> 4) + 5, t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? _n : (n.window !== null && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, A7(e));
  }, v7 = (e, t) => {
    if (!e) return _n;
    const r = new qD();
    e.state = r, r.strm = e, r.window = null, r.mode = Rd;
    const n = w7(e, t);
    return n !== Zo && (e.state = null), n;
  }, VD = (e) => v7(e, GD);
  let Fm = true, Q1, G1;
  const WD = (e) => {
    if (Fm) {
      Q1 = new Int32Array(512), G1 = new Int32Array(32);
      let t = 0;
      for (; t < 144; ) e.lens[t++] = 8;
      for (; t < 256; ) e.lens[t++] = 9;
      for (; t < 280; ) e.lens[t++] = 7;
      for (; t < 288; ) e.lens[t++] = 8;
      for (ql(h7, e.lens, 0, 288, Q1, 0, e.work, {
        bits: 9
      }), t = 0; t < 32; ) e.lens[t++] = 5;
      ql(p7, e.lens, 0, 32, G1, 0, e.work, {
        bits: 5
      }), Fm = false;
    }
    e.lencode = Q1, e.lenbits = 9, e.distcode = G1, e.distbits = 5;
  }, B7 = (e, t, r, n) => {
    let a;
    const i = e.state;
    return i.window === null && (i.wsize = 1 << i.wbits, i.wnext = 0, i.whave = 0, i.window = new Uint8Array(i.wsize)), n >= i.wsize ? (i.window.set(t.subarray(r - i.wsize, r), 0), i.wnext = 0, i.whave = i.wsize) : (a = i.wsize - i.wnext, a > n && (a = n), i.window.set(t.subarray(r - n, r - n + a), i.wnext), n -= a, n ? (i.window.set(t.subarray(r - n, r), 0), i.wnext = n, i.whave = i.wsize) : (i.wnext += a, i.wnext === i.wsize && (i.wnext = 0), i.whave < i.wsize && (i.whave += a))), 0;
  }, ZD = (e, t) => {
    let r, n, a, i, s, l, u, x, d, f, m, p, g, E, A = 0, w, D, B, v, _, T, I, z;
    const C = new Uint8Array(4);
    let j, U;
    const P = new Uint8Array([
      16,
      17,
      18,
      0,
      8,
      7,
      9,
      6,
      10,
      5,
      11,
      4,
      12,
      3,
      13,
      2,
      14,
      1,
      15
    ]);
    if (is(e) || !e.output || !e.input && e.avail_in !== 0) return _n;
    r = e.state, r.mode === Ga && (r.mode = L1), s = e.next_out, a = e.output, u = e.avail_out, i = e.next_in, n = e.input, l = e.avail_in, x = r.hold, d = r.bits, f = l, m = u, z = Zo;
    e: for (; ; ) switch (r.mode) {
      case Rd:
        if (r.wrap === 0) {
          r.mode = L1;
          break;
        }
        for (; d < 16; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if (r.wrap & 2 && x === 35615) {
          r.wbits === 0 && (r.wbits = 15), r.check = 0, C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = sr(r.check, C, 2, 0), x = 0, d = 0, r.mode = om;
          break;
        }
        if (r.head && (r.head.done = false), !(r.wrap & 1) || (((x & 255) << 8) + (x >> 8)) % 31) {
          e.msg = "incorrect header check", r.mode = It;
          break;
        }
        if ((x & 15) !== im) {
          e.msg = "unknown compression method", r.mode = It;
          break;
        }
        if (x >>>= 4, d -= 4, I = (x & 15) + 8, r.wbits === 0 && (r.wbits = I), I > 15 || I > r.wbits) {
          e.msg = "invalid window size", r.mode = It;
          break;
        }
        r.dmax = 1 << r.wbits, r.flags = 0, e.adler = r.check = 1, r.mode = x & 512 ? hm : Ga, x = 0, d = 0;
        break;
      case om:
        for (; d < 16; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if (r.flags = x, (r.flags & 255) !== im) {
          e.msg = "unknown compression method", r.mode = It;
          break;
        }
        if (r.flags & 57344) {
          e.msg = "unknown header flags set", r.mode = It;
          break;
        }
        r.head && (r.head.text = x >> 8 & 1), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = sr(r.check, C, 2, 0)), x = 0, d = 0, r.mode = sm;
      case sm:
        for (; d < 32; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        r.head && (r.head.time = x), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, C[2] = x >>> 16 & 255, C[3] = x >>> 24 & 255, r.check = sr(r.check, C, 4, 0)), x = 0, d = 0, r.mode = lm;
      case lm:
        for (; d < 16; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        r.head && (r.head.xflags = x & 255, r.head.os = x >> 8), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = sr(r.check, C, 2, 0)), x = 0, d = 0, r.mode = cm;
      case cm:
        if (r.flags & 1024) {
          for (; d < 16; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          r.length = x, r.head && (r.head.extra_len = x), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = sr(r.check, C, 2, 0)), x = 0, d = 0;
        } else r.head && (r.head.extra = null);
        r.mode = um;
      case um:
        if (r.flags & 1024 && (p = r.length, p > l && (p = l), p && (r.head && (I = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Uint8Array(r.head.extra_len)), r.head.extra.set(n.subarray(i, i + p), I)), r.flags & 512 && r.wrap & 4 && (r.check = sr(r.check, n, p, i)), l -= p, i += p, r.length -= p), r.length)) break e;
        r.length = 0, r.mode = xm;
      case xm:
        if (r.flags & 2048) {
          if (l === 0) break e;
          p = 0;
          do
            I = n[i + p++], r.head && I && r.length < 65536 && (r.head.name += String.fromCharCode(I));
          while (I && p < l);
          if (r.flags & 512 && r.wrap & 4 && (r.check = sr(r.check, n, p, i)), l -= p, i += p, I) break e;
        } else r.head && (r.head.name = null);
        r.length = 0, r.mode = dm;
      case dm:
        if (r.flags & 4096) {
          if (l === 0) break e;
          p = 0;
          do
            I = n[i + p++], r.head && I && r.length < 65536 && (r.head.comment += String.fromCharCode(I));
          while (I && p < l);
          if (r.flags & 512 && r.wrap & 4 && (r.check = sr(r.check, n, p, i)), l -= p, i += p, I) break e;
        } else r.head && (r.head.comment = null);
        r.mode = fm;
      case fm:
        if (r.flags & 512) {
          for (; d < 16; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          if (r.wrap & 4 && x !== (r.check & 65535)) {
            e.msg = "header crc mismatch", r.mode = It;
            break;
          }
          x = 0, d = 0;
        }
        r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = true), e.adler = r.check = 0, r.mode = Ga;
        break;
      case hm:
        for (; d < 32; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        e.adler = r.check = Dm(x), x = 0, d = 0, r.mode = id;
      case id:
        if (r.havedict === 0) return e.next_out = s, e.avail_out = u, e.next_in = i, e.avail_in = l, r.hold = x, r.bits = d, KD;
        e.adler = r.check = 1, r.mode = Ga;
      case Ga:
        if (t === TD || t === lx) break e;
      case L1:
        if (r.last) {
          x >>>= d & 7, d -= d & 7, r.mode = H1;
          break;
        }
        for (; d < 3; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        switch (r.last = x & 1, x >>>= 1, d -= 1, x & 3) {
          case 0:
            r.mode = pm;
            break;
          case 1:
            if (WD(r), r.mode = cx, t === lx) {
              x >>>= 2, d -= 2;
              break e;
            }
            break;
          case 2:
            r.mode = gm;
            break;
          case 3:
            e.msg = "invalid block type", r.mode = It;
        }
        x >>>= 2, d -= 2;
        break;
      case pm:
        for (x >>>= d & 7, d -= d & 7; d < 32; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if ((x & 65535) !== (x >>> 16 ^ 65535)) {
          e.msg = "invalid stored block lengths", r.mode = It;
          break;
        }
        if (r.length = x & 65535, x = 0, d = 0, r.mode = O1, t === lx) break e;
      case O1:
        r.mode = mm;
      case mm:
        if (p = r.length, p) {
          if (p > l && (p = l), p > u && (p = u), p === 0) break e;
          a.set(n.subarray(i, i + p), s), l -= p, i += p, u -= p, s += p, r.length -= p;
          break;
        }
        r.mode = Ga;
        break;
      case gm:
        for (; d < 14; ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if (r.nlen = (x & 31) + 257, x >>>= 5, d -= 5, r.ndist = (x & 31) + 1, x >>>= 5, d -= 5, r.ncode = (x & 15) + 4, x >>>= 4, d -= 4, r.nlen > 286 || r.ndist > 30) {
          e.msg = "too many length or distance symbols", r.mode = It;
          break;
        }
        r.have = 0, r.mode = ym;
      case ym:
        for (; r.have < r.ncode; ) {
          for (; d < 3; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          r.lens[P[r.have++]] = x & 7, x >>>= 3, d -= 3;
        }
        for (; r.have < 19; ) r.lens[P[r.have++]] = 0;
        if (r.lencode = r.lendyn, r.lenbits = 7, j = {
          bits: r.lenbits
        }, z = ql(RD, r.lens, 0, 19, r.lencode, 0, r.work, j), r.lenbits = j.bits, z) {
          e.msg = "invalid code lengths set", r.mode = It;
          break;
        }
        r.have = 0, r.mode = Em;
      case Em:
        for (; r.have < r.nlen + r.ndist; ) {
          for (; A = r.lencode[x & (1 << r.lenbits) - 1], w = A >>> 24, D = A >>> 16 & 255, B = A & 65535, !(w <= d); ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          if (B < 16) x >>>= w, d -= w, r.lens[r.have++] = B;
          else {
            if (B === 16) {
              for (U = w + 2; d < U; ) {
                if (l === 0) break e;
                l--, x += n[i++] << d, d += 8;
              }
              if (x >>>= w, d -= w, r.have === 0) {
                e.msg = "invalid bit length repeat", r.mode = It;
                break;
              }
              I = r.lens[r.have - 1], p = 3 + (x & 3), x >>>= 2, d -= 2;
            } else if (B === 17) {
              for (U = w + 3; d < U; ) {
                if (l === 0) break e;
                l--, x += n[i++] << d, d += 8;
              }
              x >>>= w, d -= w, I = 0, p = 3 + (x & 7), x >>>= 3, d -= 3;
            } else {
              for (U = w + 7; d < U; ) {
                if (l === 0) break e;
                l--, x += n[i++] << d, d += 8;
              }
              x >>>= w, d -= w, I = 0, p = 11 + (x & 127), x >>>= 7, d -= 7;
            }
            if (r.have + p > r.nlen + r.ndist) {
              e.msg = "invalid bit length repeat", r.mode = It;
              break;
            }
            for (; p--; ) r.lens[r.have++] = I;
          }
        }
        if (r.mode === It) break;
        if (r.lens[256] === 0) {
          e.msg = "invalid code -- missing end-of-block", r.mode = It;
          break;
        }
        if (r.lenbits = 9, j = {
          bits: r.lenbits
        }, z = ql(h7, r.lens, 0, r.nlen, r.lencode, 0, r.work, j), r.lenbits = j.bits, z) {
          e.msg = "invalid literal/lengths set", r.mode = It;
          break;
        }
        if (r.distbits = 6, r.distcode = r.distdyn, j = {
          bits: r.distbits
        }, z = ql(p7, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, j), r.distbits = j.bits, z) {
          e.msg = "invalid distances set", r.mode = It;
          break;
        }
        if (r.mode = cx, t === lx) break e;
      case cx:
        r.mode = ux;
      case ux:
        if (l >= 6 && u >= 258) {
          e.next_out = s, e.avail_out = u, e.next_in = i, e.avail_in = l, r.hold = x, r.bits = d, ID(e, m), s = e.next_out, a = e.output, u = e.avail_out, i = e.next_in, n = e.input, l = e.avail_in, x = r.hold, d = r.bits, r.mode === Ga && (r.back = -1);
          break;
        }
        for (r.back = 0; A = r.lencode[x & (1 << r.lenbits) - 1], w = A >>> 24, D = A >>> 16 & 255, B = A & 65535, !(w <= d); ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if (D && (D & 240) === 0) {
          for (v = w, _ = D, T = B; A = r.lencode[T + ((x & (1 << v + _) - 1) >> v)], w = A >>> 24, D = A >>> 16 & 255, B = A & 65535, !(v + w <= d); ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          x >>>= v, d -= v, r.back += v;
        }
        if (x >>>= w, d -= w, r.back += w, r.length = B, D === 0) {
          r.mode = Bm;
          break;
        }
        if (D & 32) {
          r.back = -1, r.mode = Ga;
          break;
        }
        if (D & 64) {
          e.msg = "invalid literal/length code", r.mode = It;
          break;
        }
        r.extra = D & 15, r.mode = bm;
      case bm:
        if (r.extra) {
          for (U = r.extra; d < U; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          r.length += x & (1 << r.extra) - 1, x >>>= r.extra, d -= r.extra, r.back += r.extra;
        }
        r.was = r.length, r.mode = Am;
      case Am:
        for (; A = r.distcode[x & (1 << r.distbits) - 1], w = A >>> 24, D = A >>> 16 & 255, B = A & 65535, !(w <= d); ) {
          if (l === 0) break e;
          l--, x += n[i++] << d, d += 8;
        }
        if ((D & 240) === 0) {
          for (v = w, _ = D, T = B; A = r.distcode[T + ((x & (1 << v + _) - 1) >> v)], w = A >>> 24, D = A >>> 16 & 255, B = A & 65535, !(v + w <= d); ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          x >>>= v, d -= v, r.back += v;
        }
        if (x >>>= w, d -= w, r.back += w, D & 64) {
          e.msg = "invalid distance code", r.mode = It;
          break;
        }
        r.offset = B, r.extra = D & 15, r.mode = wm;
      case wm:
        if (r.extra) {
          for (U = r.extra; d < U; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          r.offset += x & (1 << r.extra) - 1, x >>>= r.extra, d -= r.extra, r.back += r.extra;
        }
        if (r.offset > r.dmax) {
          e.msg = "invalid distance too far back", r.mode = It;
          break;
        }
        r.mode = vm;
      case vm:
        if (u === 0) break e;
        if (p = m - u, r.offset > p) {
          if (p = r.offset - p, p > r.whave && r.sane) {
            e.msg = "invalid distance too far back", r.mode = It;
            break;
          }
          p > r.wnext ? (p -= r.wnext, g = r.wsize - p) : g = r.wnext - p, p > r.length && (p = r.length), E = r.window;
        } else E = a, g = s - r.offset, p = r.length;
        p > u && (p = u), u -= p, r.length -= p;
        do
          a[s++] = E[g++];
        while (--p);
        r.length === 0 && (r.mode = ux);
        break;
      case Bm:
        if (u === 0) break e;
        a[s++] = r.length, u--, r.mode = ux;
        break;
      case H1:
        if (r.wrap) {
          for (; d < 32; ) {
            if (l === 0) break e;
            l--, x |= n[i++] << d, d += 8;
          }
          if (m -= u, e.total_out += m, r.total += m, r.wrap & 4 && m && (e.adler = r.check = r.flags ? sr(r.check, a, m, s - m) : lc(r.check, a, m, s - m)), m = u, r.wrap & 4 && (r.flags ? x : Dm(x)) !== r.check) {
            e.msg = "incorrect data check", r.mode = It;
            break;
          }
          x = 0, d = 0;
        }
        r.mode = Cm;
      case Cm:
        if (r.wrap && r.flags) {
          for (; d < 32; ) {
            if (l === 0) break e;
            l--, x += n[i++] << d, d += 8;
          }
          if (r.wrap & 4 && x !== (r.total & 4294967295)) {
            e.msg = "incorrect length check", r.mode = It;
            break;
          }
          x = 0, d = 0;
        }
        r.mode = km;
      case km:
        z = MD;
        break e;
      case It:
        z = m7;
        break e;
      case y7:
        return g7;
      case E7:
      default:
        return _n;
    }
    return e.next_out = s, e.avail_out = u, e.next_in = i, e.avail_in = l, r.hold = x, r.bits = d, (r.wsize || m !== e.avail_out && r.mode < It && (r.mode < H1 || t !== am)) && B7(e, e.output, e.next_out, m - e.avail_out), f -= e.avail_in, m -= e.avail_out, e.total_in += f, e.total_out += m, r.total += m, r.wrap & 4 && m && (e.adler = r.check = r.flags ? sr(r.check, a, m, e.next_out - m) : lc(r.check, a, m, e.next_out - m)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === Ga ? 128 : 0) + (r.mode === cx || r.mode === O1 ? 256 : 0), (f === 0 && m === 0 || t === am) && z === Zo && (z = LD), z;
  }, YD = (e) => {
    if (is(e)) return _n;
    let t = e.state;
    return t.window && (t.window = null), e.state = null, Zo;
  }, $D = (e, t) => {
    if (is(e)) return _n;
    const r = e.state;
    return (r.wrap & 2) === 0 ? _n : (r.head = t, t.done = false, Zo);
  }, XD = (e, t) => {
    const r = t.length;
    let n, a, i;
    return is(e) || (n = e.state, n.wrap !== 0 && n.mode !== id) ? _n : n.mode === id && (a = 1, a = lc(a, t, r, 0), a !== n.check) ? m7 : (i = B7(e, t, r, r), i ? (n.mode = y7, g7) : (n.havedict = 1, Zo));
  };
  var JD = A7, eF = w7, tF = b7, rF = VD, nF = v7, aF = ZD, iF = YD, oF = $D, sF = XD, lF = "pako inflate (from Nodeca project)", Ja = {
    inflateReset: JD,
    inflateReset2: eF,
    inflateResetKeep: tF,
    inflateInit: rF,
    inflateInit2: nF,
    inflate: aF,
    inflateEnd: iF,
    inflateGetHeader: oF,
    inflateSetDictionary: sF,
    inflateInfo: lF
  };
  function cF() {
    this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false;
  }
  var uF = cF;
  const C7 = Object.prototype.toString, { Z_NO_FLUSH: xF, Z_FINISH: dF, Z_OK: xc, Z_STREAM_END: q1, Z_NEED_DICT: V1, Z_STREAM_ERROR: fF, Z_DATA_ERROR: _m, Z_MEM_ERROR: hF } = Nd;
  function Td(e) {
    this.options = zd.assign({
      chunkSize: 1024 * 64,
      windowBits: 15,
      to: ""
    }, e || {});
    const t = this.options;
    t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, t.windowBits === 0 && (t.windowBits = -15)), t.windowBits >= 0 && t.windowBits < 16 && !(e && e.windowBits) && (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && (t.windowBits & 15) === 0 && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new d7(), this.strm.avail_out = 0;
    let r = Ja.inflateInit2(this.strm, t.windowBits);
    if (r !== xc) throw new Error(Vo[r]);
    if (this.header = new uF(), Ja.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = uc.string2buf(t.dictionary) : C7.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (r = Ja.inflateSetDictionary(this.strm, t.dictionary), r !== xc))) throw new Error(Vo[r]);
  }
  Td.prototype.push = function(e, t) {
    const r = this.strm, n = this.options.chunkSize, a = this.options.dictionary;
    let i, s, l;
    if (this.ended) return false;
    for (t === ~~t ? s = t : s = t === true ? dF : xF, C7.call(e) === "[object ArrayBuffer]" ? r.input = new Uint8Array(e) : r.input = e, r.next_in = 0, r.avail_in = r.input.length; ; ) {
      for (r.avail_out === 0 && (r.output = new Uint8Array(n), r.next_out = 0, r.avail_out = n), i = Ja.inflate(r, s), i === V1 && a && (i = Ja.inflateSetDictionary(r, a), i === xc ? i = Ja.inflate(r, s) : i === _m && (i = V1)); r.avail_in > 0 && i === q1 && r.state.wrap > 0 && e[r.next_in] !== 0; ) Ja.inflateReset(r), i = Ja.inflate(r, s);
      switch (i) {
        case fF:
        case _m:
        case V1:
        case hF:
          return this.onEnd(i), this.ended = true, false;
      }
      if (l = r.avail_out, r.next_out && (r.avail_out === 0 || i === q1)) if (this.options.to === "string") {
        let u = uc.utf8border(r.output, r.next_out), x = r.next_out - u, d = uc.buf2string(r.output, u);
        r.next_out = x, r.avail_out = n - x, x && r.output.set(r.output.subarray(u, u + x), 0), this.onData(d);
      } else this.onData(r.output.length === r.next_out ? r.output : r.output.subarray(0, r.next_out));
      if (!(i === xc && l === 0)) {
        if (i === q1) return i = Ja.inflateEnd(this.strm), this.onEnd(i), this.ended = true, true;
        if (r.avail_in === 0) break;
      }
    }
    return true;
  };
  Td.prototype.onData = function(e) {
    this.chunks.push(e);
  };
  Td.prototype.onEnd = function(e) {
    e === xc && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = zd.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
  };
  function pF(e, t) {
    const r = new Td(t);
    if (r.push(e), r.err) throw r.msg || Vo[r.err];
    return r.result;
  }
  var mF = pF, gF = {
    inflate: mF
  };
  const { deflate: yF } = _D, { inflate: EF } = gF;
  var bF = yF, AF = EF;
  const dc = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$*+-./:", wF = /* @__PURE__ */ new Map();
  for (let e = 0; e < dc.length; e++) wF.set(dc[e], BigInt(e));
  function vF(e) {
    var _a2;
    if (e.length === 0) return new Uint8Array(0);
    const t = ((_a2 = e.match(/^0+/)) == null ? void 0 : _a2[0].length) || 0;
    let r = 0n;
    for (const i of e) {
      const s = dc.indexOf(i);
      if (s === -1) throw new Error(`forbidden character ${i} for base 43`);
      r = r * 43n + BigInt(s);
    }
    const n = [];
    for (; r > 0n; ) n.unshift(Number(r % 256n)), r /= 256n;
    const a = new Uint8Array(t);
    return new Uint8Array([
      ...a,
      ...n
    ]);
  }
  function BF(e) {
    let t = 0n;
    for (let n = 0; n < e.length; n++) t = t * 256n + BigInt(e[n]);
    let r = "";
    if (t === 0n) return "0";
    for (; t > 0n; ) {
      const n = Number(t % 43n);
      r = dc[n] + r, t = t / 43n;
    }
    return r;
  }
  var gn = {}, On = {}, wt = {}, Cr = {}, W1 = {}, vl = {}, Sm;
  function CF() {
    return Sm || (Sm = 1, Object.defineProperty(vl, "__esModule", {
      value: true
    }), vl.crypto = void 0, vl.crypto = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0), vl;
  }
  var Im;
  function _c() {
    return Im || (Im = 1, (function(e) {
      Object.defineProperty(e, "__esModule", {
        value: true
      }), e.wrapXOFConstructorWithOpts = e.wrapConstructorWithOpts = e.wrapConstructor = e.Hash = e.nextTick = e.swap32IfBE = e.byteSwapIfBE = e.swap8IfBE = e.isLE = void 0, e.isBytes = r, e.anumber = n, e.abytes = a, e.ahash = i, e.aexists = s, e.aoutput = l, e.u8 = u, e.u32 = x, e.clean = d, e.createView = f, e.rotr = m, e.rotl = p, e.byteSwap = g, e.byteSwap32 = E, e.bytesToHex = D, e.hexToBytes = _, e.asyncLoop = I, e.utf8ToBytes = z, e.bytesToUtf8 = C, e.toBytes = j, e.kdfInputToBytes = U, e.concatBytes = P, e.checkOpts = L, e.createHasher = q, e.createOptHasher = $, e.createXOFer = Y, e.randomBytes = J;
      const t = CF();
      function r(Q) {
        return Q instanceof Uint8Array || ArrayBuffer.isView(Q) && Q.constructor.name === "Uint8Array";
      }
      function n(Q) {
        if (!Number.isSafeInteger(Q) || Q < 0) throw new Error("positive integer expected, got " + Q);
      }
      function a(Q, ...Z) {
        if (!r(Q)) throw new Error("Uint8Array expected");
        if (Z.length > 0 && !Z.includes(Q.length)) throw new Error("Uint8Array expected of length " + Z + ", got length=" + Q.length);
      }
      function i(Q) {
        if (typeof Q != "function" || typeof Q.create != "function") throw new Error("Hash should be wrapped by utils.createHasher");
        n(Q.outputLen), n(Q.blockLen);
      }
      function s(Q, Z = true) {
        if (Q.destroyed) throw new Error("Hash instance has been destroyed");
        if (Z && Q.finished) throw new Error("Hash#digest() has already been called");
      }
      function l(Q, Z) {
        a(Q);
        const M = Z.outputLen;
        if (Q.length < M) throw new Error("digestInto() expects output buffer of length at least " + M);
      }
      function u(Q) {
        return new Uint8Array(Q.buffer, Q.byteOffset, Q.byteLength);
      }
      function x(Q) {
        return new Uint32Array(Q.buffer, Q.byteOffset, Math.floor(Q.byteLength / 4));
      }
      function d(...Q) {
        for (let Z = 0; Z < Q.length; Z++) Q[Z].fill(0);
      }
      function f(Q) {
        return new DataView(Q.buffer, Q.byteOffset, Q.byteLength);
      }
      function m(Q, Z) {
        return Q << 32 - Z | Q >>> Z;
      }
      function p(Q, Z) {
        return Q << Z | Q >>> 32 - Z >>> 0;
      }
      e.isLE = new Uint8Array(new Uint32Array([
        287454020
      ]).buffer)[0] === 68;
      function g(Q) {
        return Q << 24 & 4278190080 | Q << 8 & 16711680 | Q >>> 8 & 65280 | Q >>> 24 & 255;
      }
      e.swap8IfBE = e.isLE ? (Q) => Q : (Q) => g(Q), e.byteSwapIfBE = e.swap8IfBE;
      function E(Q) {
        for (let Z = 0; Z < Q.length; Z++) Q[Z] = g(Q[Z]);
        return Q;
      }
      e.swap32IfBE = e.isLE ? (Q) => Q : E;
      const A = typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", w = Array.from({
        length: 256
      }, (Q, Z) => Z.toString(16).padStart(2, "0"));
      function D(Q) {
        if (a(Q), A) return Q.toHex();
        let Z = "";
        for (let M = 0; M < Q.length; M++) Z += w[Q[M]];
        return Z;
      }
      const B = {
        _0: 48,
        _9: 57,
        A: 65,
        F: 70,
        a: 97,
        f: 102
      };
      function v(Q) {
        if (Q >= B._0 && Q <= B._9) return Q - B._0;
        if (Q >= B.A && Q <= B.F) return Q - (B.A - 10);
        if (Q >= B.a && Q <= B.f) return Q - (B.a - 10);
      }
      function _(Q) {
        if (typeof Q != "string") throw new Error("hex string expected, got " + typeof Q);
        if (A) return Uint8Array.fromHex(Q);
        const Z = Q.length, M = Z / 2;
        if (Z % 2) throw new Error("hex string expected, got unpadded hex of length " + Z);
        const H = new Uint8Array(M);
        for (let re = 0, te = 0; re < M; re++, te += 2) {
          const ae = v(Q.charCodeAt(te)), xe = v(Q.charCodeAt(te + 1));
          if (ae === void 0 || xe === void 0) {
            const me = Q[te] + Q[te + 1];
            throw new Error('hex string expected, got non-hex character "' + me + '" at index ' + te);
          }
          H[re] = ae * 16 + xe;
        }
        return H;
      }
      const T = async () => {
      };
      e.nextTick = T;
      async function I(Q, Z, M) {
        let H = Date.now();
        for (let re = 0; re < Q; re++) {
          M(re);
          const te = Date.now() - H;
          te >= 0 && te < Z || (await (0, e.nextTick)(), H += te);
        }
      }
      function z(Q) {
        if (typeof Q != "string") throw new Error("string expected");
        return new Uint8Array(new TextEncoder().encode(Q));
      }
      function C(Q) {
        return new TextDecoder().decode(Q);
      }
      function j(Q) {
        return typeof Q == "string" && (Q = z(Q)), a(Q), Q;
      }
      function U(Q) {
        return typeof Q == "string" && (Q = z(Q)), a(Q), Q;
      }
      function P(...Q) {
        let Z = 0;
        for (let H = 0; H < Q.length; H++) {
          const re = Q[H];
          a(re), Z += re.length;
        }
        const M = new Uint8Array(Z);
        for (let H = 0, re = 0; H < Q.length; H++) {
          const te = Q[H];
          M.set(te, re), re += te.length;
        }
        return M;
      }
      function L(Q, Z) {
        if (Z !== void 0 && {}.toString.call(Z) !== "[object Object]") throw new Error("options should be object or undefined");
        return Object.assign(Q, Z);
      }
      class F {
      }
      e.Hash = F;
      function q(Q) {
        const Z = (H) => Q().update(j(H)).digest(), M = Q();
        return Z.outputLen = M.outputLen, Z.blockLen = M.blockLen, Z.create = () => Q(), Z;
      }
      function $(Q) {
        const Z = (H, re) => Q(re).update(j(H)).digest(), M = Q({});
        return Z.outputLen = M.outputLen, Z.blockLen = M.blockLen, Z.create = (H) => Q(H), Z;
      }
      function Y(Q) {
        const Z = (H, re) => Q(re).update(j(H)).digest(), M = Q({});
        return Z.outputLen = M.outputLen, Z.blockLen = M.blockLen, Z.create = (H) => Q(H), Z;
      }
      e.wrapConstructor = q, e.wrapConstructorWithOpts = $, e.wrapXOFConstructorWithOpts = Y;
      function J(Q = 32) {
        if (t.crypto && typeof t.crypto.getRandomValues == "function") return t.crypto.getRandomValues(new Uint8Array(Q));
        if (t.crypto && typeof t.crypto.randomBytes == "function") return Uint8Array.from(t.crypto.randomBytes(Q));
        throw new Error("crypto.getRandomValues must be defined");
      }
    })(W1)), W1;
  }
  var Pm;
  function kF() {
    if (Pm) return Cr;
    Pm = 1, Object.defineProperty(Cr, "__esModule", {
      value: true
    }), Cr.SHA512_IV = Cr.SHA384_IV = Cr.SHA224_IV = Cr.SHA256_IV = Cr.HashMD = void 0, Cr.setBigUint64 = t, Cr.Chi = r, Cr.Maj = n;
    const e = _c();
    function t(i, s, l, u) {
      if (typeof i.setBigUint64 == "function") return i.setBigUint64(s, l, u);
      const x = BigInt(32), d = BigInt(4294967295), f = Number(l >> x & d), m = Number(l & d), p = u ? 4 : 0, g = u ? 0 : 4;
      i.setUint32(s + p, f, u), i.setUint32(s + g, m, u);
    }
    function r(i, s, l) {
      return i & s ^ ~i & l;
    }
    function n(i, s, l) {
      return i & s ^ i & l ^ s & l;
    }
    class a extends e.Hash {
      constructor(s, l, u, x) {
        super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = s, this.outputLen = l, this.padOffset = u, this.isLE = x, this.buffer = new Uint8Array(s), this.view = (0, e.createView)(this.buffer);
      }
      update(s) {
        (0, e.aexists)(this), s = (0, e.toBytes)(s), (0, e.abytes)(s);
        const { view: l, buffer: u, blockLen: x } = this, d = s.length;
        for (let f = 0; f < d; ) {
          const m = Math.min(x - this.pos, d - f);
          if (m === x) {
            const p = (0, e.createView)(s);
            for (; x <= d - f; f += x) this.process(p, f);
            continue;
          }
          u.set(s.subarray(f, f + m), this.pos), this.pos += m, f += m, this.pos === x && (this.process(l, 0), this.pos = 0);
        }
        return this.length += s.length, this.roundClean(), this;
      }
      digestInto(s) {
        (0, e.aexists)(this), (0, e.aoutput)(s, this), this.finished = true;
        const { buffer: l, view: u, blockLen: x, isLE: d } = this;
        let { pos: f } = this;
        l[f++] = 128, (0, e.clean)(this.buffer.subarray(f)), this.padOffset > x - f && (this.process(u, 0), f = 0);
        for (let A = f; A < x; A++) l[A] = 0;
        t(u, x - 8, BigInt(this.length * 8), d), this.process(u, 0);
        const m = (0, e.createView)(s), p = this.outputLen;
        if (p % 4) throw new Error("_sha2: outputLen should be aligned to 32bit");
        const g = p / 4, E = this.get();
        if (g > E.length) throw new Error("_sha2: outputLen bigger than state");
        for (let A = 0; A < g; A++) m.setUint32(4 * A, E[A], d);
      }
      digest() {
        const { buffer: s, outputLen: l } = this;
        this.digestInto(s);
        const u = s.slice(0, l);
        return this.destroy(), u;
      }
      _cloneInto(s) {
        s || (s = new this.constructor()), s.set(...this.get());
        const { blockLen: l, buffer: u, length: x, finished: d, destroyed: f, pos: m } = this;
        return s.destroyed = f, s.finished = d, s.length = x, s.pos = m, x % l && s.buffer.set(u), s;
      }
      clone() {
        return this._cloneInto();
      }
    }
    return Cr.HashMD = a, Cr.SHA256_IV = Uint32Array.from([
      1779033703,
      3144134277,
      1013904242,
      2773480762,
      1359893119,
      2600822924,
      528734635,
      1541459225
    ]), Cr.SHA224_IV = Uint32Array.from([
      3238371032,
      914150663,
      812702999,
      4144912697,
      4290775857,
      1750603025,
      1694076839,
      3204075428
    ]), Cr.SHA384_IV = Uint32Array.from([
      3418070365,
      3238371032,
      1654270250,
      914150663,
      2438529370,
      812702999,
      355462360,
      4144912697,
      1731405415,
      4290775857,
      2394180231,
      1750603025,
      3675008525,
      1694076839,
      1203062813,
      3204075428
    ]), Cr.SHA512_IV = Uint32Array.from([
      1779033703,
      4089235720,
      3144134277,
      2227873595,
      1013904242,
      4271175723,
      2773480762,
      1595750129,
      1359893119,
      2917565137,
      2600822924,
      725511199,
      528734635,
      4215389547,
      1541459225,
      327033209
    ]), Cr;
  }
  var Je = {}, Nm;
  function DF() {
    if (Nm) return Je;
    Nm = 1, Object.defineProperty(Je, "__esModule", {
      value: true
    }), Je.toBig = Je.shrSL = Je.shrSH = Je.rotrSL = Je.rotrSH = Je.rotrBL = Je.rotrBH = Je.rotr32L = Je.rotr32H = Je.rotlSL = Je.rotlSH = Je.rotlBL = Je.rotlBH = Je.add5L = Je.add5H = Je.add4L = Je.add4H = Je.add3L = Je.add3H = void 0, Je.add = w, Je.fromBig = r, Je.split = n;
    const e = BigInt(2 ** 32 - 1), t = BigInt(32);
    function r(C, j = false) {
      return j ? {
        h: Number(C & e),
        l: Number(C >> t & e)
      } : {
        h: Number(C >> t & e) | 0,
        l: Number(C & e) | 0
      };
    }
    function n(C, j = false) {
      const U = C.length;
      let P = new Uint32Array(U), L = new Uint32Array(U);
      for (let F = 0; F < U; F++) {
        const { h: q, l: $ } = r(C[F], j);
        [P[F], L[F]] = [
          q,
          $
        ];
      }
      return [
        P,
        L
      ];
    }
    const a = (C, j) => BigInt(C >>> 0) << t | BigInt(j >>> 0);
    Je.toBig = a;
    const i = (C, j, U) => C >>> U;
    Je.shrSH = i;
    const s = (C, j, U) => C << 32 - U | j >>> U;
    Je.shrSL = s;
    const l = (C, j, U) => C >>> U | j << 32 - U;
    Je.rotrSH = l;
    const u = (C, j, U) => C << 32 - U | j >>> U;
    Je.rotrSL = u;
    const x = (C, j, U) => C << 64 - U | j >>> U - 32;
    Je.rotrBH = x;
    const d = (C, j, U) => C >>> U - 32 | j << 64 - U;
    Je.rotrBL = d;
    const f = (C, j) => j;
    Je.rotr32H = f;
    const m = (C, j) => C;
    Je.rotr32L = m;
    const p = (C, j, U) => C << U | j >>> 32 - U;
    Je.rotlSH = p;
    const g = (C, j, U) => j << U | C >>> 32 - U;
    Je.rotlSL = g;
    const E = (C, j, U) => j << U - 32 | C >>> 64 - U;
    Je.rotlBH = E;
    const A = (C, j, U) => C << U - 32 | j >>> 64 - U;
    Je.rotlBL = A;
    function w(C, j, U, P) {
      const L = (j >>> 0) + (P >>> 0);
      return {
        h: C + U + (L / 2 ** 32 | 0) | 0,
        l: L | 0
      };
    }
    const D = (C, j, U) => (C >>> 0) + (j >>> 0) + (U >>> 0);
    Je.add3L = D;
    const B = (C, j, U, P) => j + U + P + (C / 2 ** 32 | 0) | 0;
    Je.add3H = B;
    const v = (C, j, U, P) => (C >>> 0) + (j >>> 0) + (U >>> 0) + (P >>> 0);
    Je.add4L = v;
    const _ = (C, j, U, P, L) => j + U + P + L + (C / 2 ** 32 | 0) | 0;
    Je.add4H = _;
    const T = (C, j, U, P, L) => (C >>> 0) + (j >>> 0) + (U >>> 0) + (P >>> 0) + (L >>> 0);
    Je.add5L = T;
    const I = (C, j, U, P, L, F) => j + U + P + L + F + (C / 2 ** 32 | 0) | 0;
    Je.add5H = I;
    const z = {
      fromBig: r,
      split: n,
      toBig: a,
      shrSH: i,
      shrSL: s,
      rotrSH: l,
      rotrSL: u,
      rotrBH: x,
      rotrBL: d,
      rotr32H: f,
      rotr32L: m,
      rotlSH: p,
      rotlSL: g,
      rotlBH: E,
      rotlBL: A,
      add: w,
      add3L: D,
      add3H: B,
      add4L: v,
      add4H: _,
      add5H: I,
      add5L: T
    };
    return Je.default = z, Je;
  }
  var jm;
  function k7() {
    if (jm) return wt;
    jm = 1, Object.defineProperty(wt, "__esModule", {
      value: true
    }), wt.sha512_224 = wt.sha512_256 = wt.sha384 = wt.sha512 = wt.sha224 = wt.sha256 = wt.SHA512_256 = wt.SHA512_224 = wt.SHA384 = wt.SHA512 = wt.SHA224 = wt.SHA256 = void 0;
    const e = kF(), t = DF(), r = _c(), n = Uint32Array.from([
      1116352408,
      1899447441,
      3049323471,
      3921009573,
      961987163,
      1508970993,
      2453635748,
      2870763221,
      3624381080,
      310598401,
      607225278,
      1426881987,
      1925078388,
      2162078206,
      2614888103,
      3248222580,
      3835390401,
      4022224774,
      264347078,
      604807628,
      770255983,
      1249150122,
      1555081692,
      1996064986,
      2554220882,
      2821834349,
      2952996808,
      3210313671,
      3336571891,
      3584528711,
      113926993,
      338241895,
      666307205,
      773529912,
      1294757372,
      1396182291,
      1695183700,
      1986661051,
      2177026350,
      2456956037,
      2730485921,
      2820302411,
      3259730800,
      3345764771,
      3516065817,
      3600352804,
      4094571909,
      275423344,
      430227734,
      506948616,
      659060556,
      883997877,
      958139571,
      1322822218,
      1537002063,
      1747873779,
      1955562222,
      2024104815,
      2227730452,
      2361852424,
      2428436474,
      2756734187,
      3204031479,
      3329325298
    ]), a = new Uint32Array(64);
    class i extends e.HashMD {
      constructor(B = 32) {
        super(64, B, 8, false), this.A = e.SHA256_IV[0] | 0, this.B = e.SHA256_IV[1] | 0, this.C = e.SHA256_IV[2] | 0, this.D = e.SHA256_IV[3] | 0, this.E = e.SHA256_IV[4] | 0, this.F = e.SHA256_IV[5] | 0, this.G = e.SHA256_IV[6] | 0, this.H = e.SHA256_IV[7] | 0;
      }
      get() {
        const { A: B, B: v, C: _, D: T, E: I, F: z, G: C, H: j } = this;
        return [
          B,
          v,
          _,
          T,
          I,
          z,
          C,
          j
        ];
      }
      set(B, v, _, T, I, z, C, j) {
        this.A = B | 0, this.B = v | 0, this.C = _ | 0, this.D = T | 0, this.E = I | 0, this.F = z | 0, this.G = C | 0, this.H = j | 0;
      }
      process(B, v) {
        for (let L = 0; L < 16; L++, v += 4) a[L] = B.getUint32(v, false);
        for (let L = 16; L < 64; L++) {
          const F = a[L - 15], q = a[L - 2], $ = (0, r.rotr)(F, 7) ^ (0, r.rotr)(F, 18) ^ F >>> 3, Y = (0, r.rotr)(q, 17) ^ (0, r.rotr)(q, 19) ^ q >>> 10;
          a[L] = Y + a[L - 7] + $ + a[L - 16] | 0;
        }
        let { A: _, B: T, C: I, D: z, E: C, F: j, G: U, H: P } = this;
        for (let L = 0; L < 64; L++) {
          const F = (0, r.rotr)(C, 6) ^ (0, r.rotr)(C, 11) ^ (0, r.rotr)(C, 25), q = P + F + (0, e.Chi)(C, j, U) + n[L] + a[L] | 0, Y = ((0, r.rotr)(_, 2) ^ (0, r.rotr)(_, 13) ^ (0, r.rotr)(_, 22)) + (0, e.Maj)(_, T, I) | 0;
          P = U, U = j, j = C, C = z + q | 0, z = I, I = T, T = _, _ = q + Y | 0;
        }
        _ = _ + this.A | 0, T = T + this.B | 0, I = I + this.C | 0, z = z + this.D | 0, C = C + this.E | 0, j = j + this.F | 0, U = U + this.G | 0, P = P + this.H | 0, this.set(_, T, I, z, C, j, U, P);
      }
      roundClean() {
        (0, r.clean)(a);
      }
      destroy() {
        this.set(0, 0, 0, 0, 0, 0, 0, 0), (0, r.clean)(this.buffer);
      }
    }
    wt.SHA256 = i;
    class s extends i {
      constructor() {
        super(28), this.A = e.SHA224_IV[0] | 0, this.B = e.SHA224_IV[1] | 0, this.C = e.SHA224_IV[2] | 0, this.D = e.SHA224_IV[3] | 0, this.E = e.SHA224_IV[4] | 0, this.F = e.SHA224_IV[5] | 0, this.G = e.SHA224_IV[6] | 0, this.H = e.SHA224_IV[7] | 0;
      }
    }
    wt.SHA224 = s;
    const l = t.split([
      "0x428a2f98d728ae22",
      "0x7137449123ef65cd",
      "0xb5c0fbcfec4d3b2f",
      "0xe9b5dba58189dbbc",
      "0x3956c25bf348b538",
      "0x59f111f1b605d019",
      "0x923f82a4af194f9b",
      "0xab1c5ed5da6d8118",
      "0xd807aa98a3030242",
      "0x12835b0145706fbe",
      "0x243185be4ee4b28c",
      "0x550c7dc3d5ffb4e2",
      "0x72be5d74f27b896f",
      "0x80deb1fe3b1696b1",
      "0x9bdc06a725c71235",
      "0xc19bf174cf692694",
      "0xe49b69c19ef14ad2",
      "0xefbe4786384f25e3",
      "0x0fc19dc68b8cd5b5",
      "0x240ca1cc77ac9c65",
      "0x2de92c6f592b0275",
      "0x4a7484aa6ea6e483",
      "0x5cb0a9dcbd41fbd4",
      "0x76f988da831153b5",
      "0x983e5152ee66dfab",
      "0xa831c66d2db43210",
      "0xb00327c898fb213f",
      "0xbf597fc7beef0ee4",
      "0xc6e00bf33da88fc2",
      "0xd5a79147930aa725",
      "0x06ca6351e003826f",
      "0x142929670a0e6e70",
      "0x27b70a8546d22ffc",
      "0x2e1b21385c26c926",
      "0x4d2c6dfc5ac42aed",
      "0x53380d139d95b3df",
      "0x650a73548baf63de",
      "0x766a0abb3c77b2a8",
      "0x81c2c92e47edaee6",
      "0x92722c851482353b",
      "0xa2bfe8a14cf10364",
      "0xa81a664bbc423001",
      "0xc24b8b70d0f89791",
      "0xc76c51a30654be30",
      "0xd192e819d6ef5218",
      "0xd69906245565a910",
      "0xf40e35855771202a",
      "0x106aa07032bbd1b8",
      "0x19a4c116b8d2d0c8",
      "0x1e376c085141ab53",
      "0x2748774cdf8eeb99",
      "0x34b0bcb5e19b48a8",
      "0x391c0cb3c5c95a63",
      "0x4ed8aa4ae3418acb",
      "0x5b9cca4f7763e373",
      "0x682e6ff3d6b2b8a3",
      "0x748f82ee5defb2fc",
      "0x78a5636f43172f60",
      "0x84c87814a1f0ab72",
      "0x8cc702081a6439ec",
      "0x90befffa23631e28",
      "0xa4506cebde82bde9",
      "0xbef9a3f7b2c67915",
      "0xc67178f2e372532b",
      "0xca273eceea26619c",
      "0xd186b8c721c0c207",
      "0xeada7dd6cde0eb1e",
      "0xf57d4f7fee6ed178",
      "0x06f067aa72176fba",
      "0x0a637dc5a2c898a6",
      "0x113f9804bef90dae",
      "0x1b710b35131c471b",
      "0x28db77f523047d84",
      "0x32caab7b40c72493",
      "0x3c9ebe0a15c9bebc",
      "0x431d67c49c100d4c",
      "0x4cc5d4becb3e42b6",
      "0x597f299cfc657e2a",
      "0x5fcb6fab3ad6faec",
      "0x6c44198c4a475817"
    ].map((D) => BigInt(D))), u = l[0], x = l[1], d = new Uint32Array(80), f = new Uint32Array(80);
    class m extends e.HashMD {
      constructor(B = 64) {
        super(128, B, 16, false), this.Ah = e.SHA512_IV[0] | 0, this.Al = e.SHA512_IV[1] | 0, this.Bh = e.SHA512_IV[2] | 0, this.Bl = e.SHA512_IV[3] | 0, this.Ch = e.SHA512_IV[4] | 0, this.Cl = e.SHA512_IV[5] | 0, this.Dh = e.SHA512_IV[6] | 0, this.Dl = e.SHA512_IV[7] | 0, this.Eh = e.SHA512_IV[8] | 0, this.El = e.SHA512_IV[9] | 0, this.Fh = e.SHA512_IV[10] | 0, this.Fl = e.SHA512_IV[11] | 0, this.Gh = e.SHA512_IV[12] | 0, this.Gl = e.SHA512_IV[13] | 0, this.Hh = e.SHA512_IV[14] | 0, this.Hl = e.SHA512_IV[15] | 0;
      }
      get() {
        const { Ah: B, Al: v, Bh: _, Bl: T, Ch: I, Cl: z, Dh: C, Dl: j, Eh: U, El: P, Fh: L, Fl: F, Gh: q, Gl: $, Hh: Y, Hl: J } = this;
        return [
          B,
          v,
          _,
          T,
          I,
          z,
          C,
          j,
          U,
          P,
          L,
          F,
          q,
          $,
          Y,
          J
        ];
      }
      set(B, v, _, T, I, z, C, j, U, P, L, F, q, $, Y, J) {
        this.Ah = B | 0, this.Al = v | 0, this.Bh = _ | 0, this.Bl = T | 0, this.Ch = I | 0, this.Cl = z | 0, this.Dh = C | 0, this.Dl = j | 0, this.Eh = U | 0, this.El = P | 0, this.Fh = L | 0, this.Fl = F | 0, this.Gh = q | 0, this.Gl = $ | 0, this.Hh = Y | 0, this.Hl = J | 0;
      }
      process(B, v) {
        for (let M = 0; M < 16; M++, v += 4) d[M] = B.getUint32(v), f[M] = B.getUint32(v += 4);
        for (let M = 16; M < 80; M++) {
          const H = d[M - 15] | 0, re = f[M - 15] | 0, te = t.rotrSH(H, re, 1) ^ t.rotrSH(H, re, 8) ^ t.shrSH(H, re, 7), ae = t.rotrSL(H, re, 1) ^ t.rotrSL(H, re, 8) ^ t.shrSL(H, re, 7), xe = d[M - 2] | 0, me = f[M - 2] | 0, fe = t.rotrSH(xe, me, 19) ^ t.rotrBH(xe, me, 61) ^ t.shrSH(xe, me, 6), ye = t.rotrSL(xe, me, 19) ^ t.rotrBL(xe, me, 61) ^ t.shrSL(xe, me, 6), Ce = t.add4L(ae, ye, f[M - 7], f[M - 16]), ke = t.add4H(Ce, te, fe, d[M - 7], d[M - 16]);
          d[M] = ke | 0, f[M] = Ce | 0;
        }
        let { Ah: _, Al: T, Bh: I, Bl: z, Ch: C, Cl: j, Dh: U, Dl: P, Eh: L, El: F, Fh: q, Fl: $, Gh: Y, Gl: J, Hh: Q, Hl: Z } = this;
        for (let M = 0; M < 80; M++) {
          const H = t.rotrSH(L, F, 14) ^ t.rotrSH(L, F, 18) ^ t.rotrBH(L, F, 41), re = t.rotrSL(L, F, 14) ^ t.rotrSL(L, F, 18) ^ t.rotrBL(L, F, 41), te = L & q ^ ~L & Y, ae = F & $ ^ ~F & J, xe = t.add5L(Z, re, ae, x[M], f[M]), me = t.add5H(xe, Q, H, te, u[M], d[M]), fe = xe | 0, ye = t.rotrSH(_, T, 28) ^ t.rotrBH(_, T, 34) ^ t.rotrBH(_, T, 39), Ce = t.rotrSL(_, T, 28) ^ t.rotrBL(_, T, 34) ^ t.rotrBL(_, T, 39), ke = _ & I ^ _ & C ^ I & C, je = T & z ^ T & j ^ z & j;
          Q = Y | 0, Z = J | 0, Y = q | 0, J = $ | 0, q = L | 0, $ = F | 0, { h: L, l: F } = t.add(U | 0, P | 0, me | 0, fe | 0), U = C | 0, P = j | 0, C = I | 0, j = z | 0, I = _ | 0, z = T | 0;
          const Re = t.add3L(fe, Ce, je);
          _ = t.add3H(Re, me, ye, ke), T = Re | 0;
        }
        ({ h: _, l: T } = t.add(this.Ah | 0, this.Al | 0, _ | 0, T | 0)), { h: I, l: z } = t.add(this.Bh | 0, this.Bl | 0, I | 0, z | 0), { h: C, l: j } = t.add(this.Ch | 0, this.Cl | 0, C | 0, j | 0), { h: U, l: P } = t.add(this.Dh | 0, this.Dl | 0, U | 0, P | 0), { h: L, l: F } = t.add(this.Eh | 0, this.El | 0, L | 0, F | 0), { h: q, l: $ } = t.add(this.Fh | 0, this.Fl | 0, q | 0, $ | 0), { h: Y, l: J } = t.add(this.Gh | 0, this.Gl | 0, Y | 0, J | 0), { h: Q, l: Z } = t.add(this.Hh | 0, this.Hl | 0, Q | 0, Z | 0), this.set(_, T, I, z, C, j, U, P, L, F, q, $, Y, J, Q, Z);
      }
      roundClean() {
        (0, r.clean)(d, f);
      }
      destroy() {
        (0, r.clean)(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
      }
    }
    wt.SHA512 = m;
    class p extends m {
      constructor() {
        super(48), this.Ah = e.SHA384_IV[0] | 0, this.Al = e.SHA384_IV[1] | 0, this.Bh = e.SHA384_IV[2] | 0, this.Bl = e.SHA384_IV[3] | 0, this.Ch = e.SHA384_IV[4] | 0, this.Cl = e.SHA384_IV[5] | 0, this.Dh = e.SHA384_IV[6] | 0, this.Dl = e.SHA384_IV[7] | 0, this.Eh = e.SHA384_IV[8] | 0, this.El = e.SHA384_IV[9] | 0, this.Fh = e.SHA384_IV[10] | 0, this.Fl = e.SHA384_IV[11] | 0, this.Gh = e.SHA384_IV[12] | 0, this.Gl = e.SHA384_IV[13] | 0, this.Hh = e.SHA384_IV[14] | 0, this.Hl = e.SHA384_IV[15] | 0;
      }
    }
    wt.SHA384 = p;
    const g = Uint32Array.from([
      2352822216,
      424955298,
      1944164710,
      2312950998,
      502970286,
      855612546,
      1738396948,
      1479516111,
      258812777,
      2077511080,
      2011393907,
      79989058,
      1067287976,
      1780299464,
      286451373,
      2446758561
    ]), E = Uint32Array.from([
      573645204,
      4230739756,
      2673172387,
      3360449730,
      596883563,
      1867755857,
      2520282905,
      1497426621,
      2519219938,
      2827943907,
      3193839141,
      1401305490,
      721525244,
      746961066,
      246885852,
      2177182882
    ]);
    class A extends m {
      constructor() {
        super(28), this.Ah = g[0] | 0, this.Al = g[1] | 0, this.Bh = g[2] | 0, this.Bl = g[3] | 0, this.Ch = g[4] | 0, this.Cl = g[5] | 0, this.Dh = g[6] | 0, this.Dl = g[7] | 0, this.Eh = g[8] | 0, this.El = g[9] | 0, this.Fh = g[10] | 0, this.Fl = g[11] | 0, this.Gh = g[12] | 0, this.Gl = g[13] | 0, this.Hh = g[14] | 0, this.Hl = g[15] | 0;
      }
    }
    wt.SHA512_224 = A;
    class w extends m {
      constructor() {
        super(32), this.Ah = E[0] | 0, this.Al = E[1] | 0, this.Bh = E[2] | 0, this.Bl = E[3] | 0, this.Ch = E[4] | 0, this.Cl = E[5] | 0, this.Dh = E[6] | 0, this.Dl = E[7] | 0, this.Eh = E[8] | 0, this.El = E[9] | 0, this.Fh = E[10] | 0, this.Fl = E[11] | 0, this.Gh = E[12] | 0, this.Gl = E[13] | 0, this.Hh = E[14] | 0, this.Hl = E[15] | 0;
      }
    }
    return wt.SHA512_256 = w, wt.sha256 = (0, r.createHasher)(() => new i()), wt.sha224 = (0, r.createHasher)(() => new s()), wt.sha512 = (0, r.createHasher)(() => new m()), wt.sha384 = (0, r.createHasher)(() => new p()), wt.sha512_256 = (0, r.createHasher)(() => new w()), wt.sha512_224 = (0, r.createHasher)(() => new A()), wt;
  }
  var zm;
  function FF() {
    if (zm) return On;
    zm = 1, Object.defineProperty(On, "__esModule", {
      value: true
    }), On.sha224 = On.SHA224 = On.sha256 = On.SHA256 = void 0;
    const e = k7();
    return On.SHA256 = e.SHA256, On.sha256 = e.sha256, On.SHA224 = e.SHA224, On.sha224 = e.sha224, On;
  }
  var Yt = {}, Um;
  function _F() {
    if (Um) return Yt;
    Um = 1, Object.defineProperty(Yt, "__esModule", {
      value: true
    }), Yt.sha512_256 = Yt.SHA512_256 = Yt.sha512_224 = Yt.SHA512_224 = Yt.sha384 = Yt.SHA384 = Yt.sha512 = Yt.SHA512 = void 0;
    const e = k7();
    return Yt.SHA512 = e.SHA512, Yt.sha512 = e.sha512, Yt.SHA384 = e.SHA384, Yt.sha384 = e.sha384, Yt.SHA512_224 = e.SHA512_224, Yt.sha512_224 = e.sha512_224, Yt.SHA512_256 = e.SHA512_256, Yt.sha512_256 = e.sha512_256, Yt;
  }
  var Bl = {}, Z1 = {}, Rm;
  function SF() {
    return Rm || (Rm = 1, (function(e) {
      Object.defineProperty(e, "__esModule", {
        value: true
      }), e.hmac = e.HMAC = void 0;
      const t = _c();
      class r extends t.Hash {
        constructor(i, s) {
          super(), this.finished = false, this.destroyed = false, (0, t.ahash)(i);
          const l = (0, t.toBytes)(s);
          if (this.iHash = i.create(), typeof this.iHash.update != "function") throw new Error("Expected instance of class which extends utils.Hash");
          this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
          const u = this.blockLen, x = new Uint8Array(u);
          x.set(l.length > u ? i.create().update(l).digest() : l);
          for (let d = 0; d < x.length; d++) x[d] ^= 54;
          this.iHash.update(x), this.oHash = i.create();
          for (let d = 0; d < x.length; d++) x[d] ^= 106;
          this.oHash.update(x), (0, t.clean)(x);
        }
        update(i) {
          return (0, t.aexists)(this), this.iHash.update(i), this;
        }
        digestInto(i) {
          (0, t.aexists)(this), (0, t.abytes)(i, this.outputLen), this.finished = true, this.iHash.digestInto(i), this.oHash.update(i), this.oHash.digestInto(i), this.destroy();
        }
        digest() {
          const i = new Uint8Array(this.oHash.outputLen);
          return this.digestInto(i), i;
        }
        _cloneInto(i) {
          i || (i = Object.create(Object.getPrototypeOf(this), {}));
          const { oHash: s, iHash: l, finished: u, destroyed: x, blockLen: d, outputLen: f } = this;
          return i = i, i.finished = u, i.destroyed = x, i.blockLen = d, i.outputLen = f, i.oHash = s._cloneInto(i.oHash), i.iHash = l._cloneInto(i.iHash), i;
        }
        clone() {
          return this._cloneInto();
        }
        destroy() {
          this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
        }
      }
      e.HMAC = r;
      const n = (a, i, s) => new r(a, i).update(s).digest();
      e.hmac = n, e.hmac.create = (a, i) => new r(a, i);
    })(Z1)), Z1;
  }
  var Tm;
  function IF() {
    if (Tm) return Bl;
    Tm = 1, Object.defineProperty(Bl, "__esModule", {
      value: true
    }), Bl.pbkdf2 = a, Bl.pbkdf2Async = i;
    const e = SF(), t = _c();
    function r(s, l, u, x) {
      (0, t.ahash)(s);
      const d = (0, t.checkOpts)({
        dkLen: 32,
        asyncTick: 10
      }, x), { c: f, dkLen: m, asyncTick: p } = d;
      if ((0, t.anumber)(f), (0, t.anumber)(m), (0, t.anumber)(p), f < 1) throw new Error("iterations (c) should be >= 1");
      const g = (0, t.kdfInputToBytes)(l), E = (0, t.kdfInputToBytes)(u), A = new Uint8Array(m), w = e.hmac.create(s, g), D = w._cloneInto().update(E);
      return {
        c: f,
        dkLen: m,
        asyncTick: p,
        DK: A,
        PRF: w,
        PRFSalt: D
      };
    }
    function n(s, l, u, x, d) {
      return s.destroy(), l.destroy(), x && x.destroy(), (0, t.clean)(d), u;
    }
    function a(s, l, u, x) {
      const { c: d, dkLen: f, DK: m, PRF: p, PRFSalt: g } = r(s, l, u, x);
      let E;
      const A = new Uint8Array(4), w = (0, t.createView)(A), D = new Uint8Array(p.outputLen);
      for (let B = 1, v = 0; v < f; B++, v += p.outputLen) {
        const _ = m.subarray(v, v + p.outputLen);
        w.setInt32(0, B, false), (E = g._cloneInto(E)).update(A).digestInto(D), _.set(D.subarray(0, _.length));
        for (let T = 1; T < d; T++) {
          p._cloneInto(E).update(D).digestInto(D);
          for (let I = 0; I < _.length; I++) _[I] ^= D[I];
        }
      }
      return n(p, g, m, E, D);
    }
    async function i(s, l, u, x) {
      const { c: d, dkLen: f, asyncTick: m, DK: p, PRF: g, PRFSalt: E } = r(s, l, u, x);
      let A;
      const w = new Uint8Array(4), D = (0, t.createView)(w), B = new Uint8Array(g.outputLen);
      for (let v = 1, _ = 0; _ < f; v++, _ += g.outputLen) {
        const T = p.subarray(_, _ + g.outputLen);
        D.setInt32(0, v, false), (A = E._cloneInto(A)).update(w).digestInto(B), T.set(B.subarray(0, T.length)), await (0, t.asyncLoop)(d - 1, m, () => {
          g._cloneInto(A).update(B).digestInto(B);
          for (let I = 0; I < T.length; I++) T[I] ^= B[I];
        });
      }
      return n(g, E, p, A, B);
    }
    return Bl;
  }
  var Ir = {};
  const PF = JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]'), NF = JSON.parse('["\u7684","\u4E00","\u662F","\u5728","\u4E0D","\u4E86","\u6709","\u548C","\u4EBA","\u8FD9","\u4E2D","\u5927","\u4E3A","\u4E0A","\u4E2A","\u56FD","\u6211","\u4EE5","\u8981","\u4ED6","\u65F6","\u6765","\u7528","\u4EEC","\u751F","\u5230","\u4F5C","\u5730","\u4E8E","\u51FA","\u5C31","\u5206","\u5BF9","\u6210","\u4F1A","\u53EF","\u4E3B","\u53D1","\u5E74","\u52A8","\u540C","\u5DE5","\u4E5F","\u80FD","\u4E0B","\u8FC7","\u5B50","\u8BF4","\u4EA7","\u79CD","\u9762","\u800C","\u65B9","\u540E","\u591A","\u5B9A","\u884C","\u5B66","\u6CD5","\u6240","\u6C11","\u5F97","\u7ECF","\u5341","\u4E09","\u4E4B","\u8FDB","\u7740","\u7B49","\u90E8","\u5EA6","\u5BB6","\u7535","\u529B","\u91CC","\u5982","\u6C34","\u5316","\u9AD8","\u81EA","\u4E8C","\u7406","\u8D77","\u5C0F","\u7269","\u73B0","\u5B9E","\u52A0","\u91CF","\u90FD","\u4E24","\u4F53","\u5236","\u673A","\u5F53","\u4F7F","\u70B9","\u4ECE","\u4E1A","\u672C","\u53BB","\u628A","\u6027","\u597D","\u5E94","\u5F00","\u5B83","\u5408","\u8FD8","\u56E0","\u7531","\u5176","\u4E9B","\u7136","\u524D","\u5916","\u5929","\u653F","\u56DB","\u65E5","\u90A3","\u793E","\u4E49","\u4E8B","\u5E73","\u5F62","\u76F8","\u5168","\u8868","\u95F4","\u6837","\u4E0E","\u5173","\u5404","\u91CD","\u65B0","\u7EBF","\u5185","\u6570","\u6B63","\u5FC3","\u53CD","\u4F60","\u660E","\u770B","\u539F","\u53C8","\u4E48","\u5229","\u6BD4","\u6216","\u4F46","\u8D28","\u6C14","\u7B2C","\u5411","\u9053","\u547D","\u6B64","\u53D8","\u6761","\u53EA","\u6CA1","\u7ED3","\u89E3","\u95EE","\u610F","\u5EFA","\u6708","\u516C","\u65E0","\u7CFB","\u519B","\u5F88","\u60C5","\u8005","\u6700","\u7ACB","\u4EE3","\u60F3","\u5DF2","\u901A","\u5E76","\u63D0","\u76F4","\u9898","\u515A","\u7A0B","\u5C55","\u4E94","\u679C","\u6599","\u8C61","\u5458","\u9769","\u4F4D","\u5165","\u5E38","\u6587","\u603B","\u6B21","\u54C1","\u5F0F","\u6D3B","\u8BBE","\u53CA","\u7BA1","\u7279","\u4EF6","\u957F","\u6C42","\u8001","\u5934","\u57FA","\u8D44","\u8FB9","\u6D41","\u8DEF","\u7EA7","\u5C11","\u56FE","\u5C71","\u7EDF","\u63A5","\u77E5","\u8F83","\u5C06","\u7EC4","\u89C1","\u8BA1","\u522B","\u5979","\u624B","\u89D2","\u671F","\u6839","\u8BBA","\u8FD0","\u519C","\u6307","\u51E0","\u4E5D","\u533A","\u5F3A","\u653E","\u51B3","\u897F","\u88AB","\u5E72","\u505A","\u5FC5","\u6218","\u5148","\u56DE","\u5219","\u4EFB","\u53D6","\u636E","\u5904","\u961F","\u5357","\u7ED9","\u8272","\u5149","\u95E8","\u5373","\u4FDD","\u6CBB","\u5317","\u9020","\u767E","\u89C4","\u70ED","\u9886","\u4E03","\u6D77","\u53E3","\u4E1C","\u5BFC","\u5668","\u538B","\u5FD7","\u4E16","\u91D1","\u589E","\u4E89","\u6D4E","\u9636","\u6CB9","\u601D","\u672F","\u6781","\u4EA4","\u53D7","\u8054","\u4EC0","\u8BA4","\u516D","\u5171","\u6743","\u6536","\u8BC1","\u6539","\u6E05","\u7F8E","\u518D","\u91C7","\u8F6C","\u66F4","\u5355","\u98CE","\u5207","\u6253","\u767D","\u6559","\u901F","\u82B1","\u5E26","\u5B89","\u573A","\u8EAB","\u8F66","\u4F8B","\u771F","\u52A1","\u5177","\u4E07","\u6BCF","\u76EE","\u81F3","\u8FBE","\u8D70","\u79EF","\u793A","\u8BAE","\u58F0","\u62A5","\u6597","\u5B8C","\u7C7B","\u516B","\u79BB","\u534E","\u540D","\u786E","\u624D","\u79D1","\u5F20","\u4FE1","\u9A6C","\u8282","\u8BDD","\u7C73","\u6574","\u7A7A","\u5143","\u51B5","\u4ECA","\u96C6","\u6E29","\u4F20","\u571F","\u8BB8","\u6B65","\u7FA4","\u5E7F","\u77F3","\u8BB0","\u9700","\u6BB5","\u7814","\u754C","\u62C9","\u6797","\u5F8B","\u53EB","\u4E14","\u7A76","\u89C2","\u8D8A","\u7EC7","\u88C5","\u5F71","\u7B97","\u4F4E","\u6301","\u97F3","\u4F17","\u4E66","\u5E03","\u590D","\u5BB9","\u513F","\u987B","\u9645","\u5546","\u975E","\u9A8C","\u8FDE","\u65AD","\u6DF1","\u96BE","\u8FD1","\u77FF","\u5343","\u5468","\u59D4","\u7D20","\u6280","\u5907","\u534A","\u529E","\u9752","\u7701","\u5217","\u4E60","\u54CD","\u7EA6","\u652F","\u822C","\u53F2","\u611F","\u52B3","\u4FBF","\u56E2","\u5F80","\u9178","\u5386","\u5E02","\u514B","\u4F55","\u9664","\u6D88","\u6784","\u5E9C","\u79F0","\u592A","\u51C6","\u7CBE","\u503C","\u53F7","\u7387","\u65CF","\u7EF4","\u5212","\u9009","\u6807","\u5199","\u5B58","\u5019","\u6BDB","\u4EB2","\u5FEB","\u6548","\u65AF","\u9662","\u67E5","\u6C5F","\u578B","\u773C","\u738B","\u6309","\u683C","\u517B","\u6613","\u7F6E","\u6D3E","\u5C42","\u7247","\u59CB","\u5374","\u4E13","\u72B6","\u80B2","\u5382","\u4EAC","\u8BC6","\u9002","\u5C5E","\u5706","\u5305","\u706B","\u4F4F","\u8C03","\u6EE1","\u53BF","\u5C40","\u7167","\u53C2","\u7EA2","\u7EC6","\u5F15","\u542C","\u8BE5","\u94C1","\u4EF7","\u4E25","\u9996","\u5E95","\u6DB2","\u5B98","\u5FB7","\u968F","\u75C5","\u82CF","\u5931","\u5C14","\u6B7B","\u8BB2","\u914D","\u5973","\u9EC4","\u63A8","\u663E","\u8C08","\u7F6A","\u795E","\u827A","\u5462","\u5E2D","\u542B","\u4F01","\u671B","\u5BC6","\u6279","\u8425","\u9879","\u9632","\u4E3E","\u7403","\u82F1","\u6C27","\u52BF","\u544A","\u674E","\u53F0","\u843D","\u6728","\u5E2E","\u8F6E","\u7834","\u4E9A","\u5E08","\u56F4","\u6CE8","\u8FDC","\u5B57","\u6750","\u6392","\u4F9B","\u6CB3","\u6001","\u5C01","\u53E6","\u65BD","\u51CF","\u6811","\u6EB6","\u600E","\u6B62","\u6848","\u8A00","\u58EB","\u5747","\u6B66","\u56FA","\u53F6","\u9C7C","\u6CE2","\u89C6","\u4EC5","\u8D39","\u7D27","\u7231","\u5DE6","\u7AE0","\u65E9","\u671D","\u5BB3","\u7EED","\u8F7B","\u670D","\u8BD5","\u98DF","\u5145","\u5175","\u6E90","\u5224","\u62A4","\u53F8","\u8DB3","\u67D0","\u7EC3","\u5DEE","\u81F4","\u677F","\u7530","\u964D","\u9ED1","\u72AF","\u8D1F","\u51FB","\u8303","\u7EE7","\u5174","\u4F3C","\u4F59","\u575A","\u66F2","\u8F93","\u4FEE","\u6545","\u57CE","\u592B","\u591F","\u9001","\u7B14","\u8239","\u5360","\u53F3","\u8D22","\u5403","\u5BCC","\u6625","\u804C","\u89C9","\u6C49","\u753B","\u529F","\u5DF4","\u8DDF","\u867D","\u6742","\u98DE","\u68C0","\u5438","\u52A9","\u5347","\u9633","\u4E92","\u521D","\u521B","\u6297","\u8003","\u6295","\u574F","\u7B56","\u53E4","\u5F84","\u6362","\u672A","\u8DD1","\u7559","\u94A2","\u66FE","\u7AEF","\u8D23","\u7AD9","\u7B80","\u8FF0","\u94B1","\u526F","\u5C3D","\u5E1D","\u5C04","\u8349","\u51B2","\u627F","\u72EC","\u4EE4","\u9650","\u963F","\u5BA3","\u73AF","\u53CC","\u8BF7","\u8D85","\u5FAE","\u8BA9","\u63A7","\u5DDE","\u826F","\u8F74","\u627E","\u5426","\u7EAA","\u76CA","\u4F9D","\u4F18","\u9876","\u7840","\u8F7D","\u5012","\u623F","\u7A81","\u5750","\u7C89","\u654C","\u7565","\u5BA2","\u8881","\u51B7","\u80DC","\u7EDD","\u6790","\u5757","\u5242","\u6D4B","\u4E1D","\u534F","\u8BC9","\u5FF5","\u9648","\u4ECD","\u7F57","\u76D0","\u53CB","\u6D0B","\u9519","\u82E6","\u591C","\u5211","\u79FB","\u9891","\u9010","\u9760","\u6DF7","\u6BCD","\u77ED","\u76AE","\u7EC8","\u805A","\u6C7D","\u6751","\u4E91","\u54EA","\u65E2","\u8DDD","\u536B","\u505C","\u70C8","\u592E","\u5BDF","\u70E7","\u8FC5","\u5883","\u82E5","\u5370","\u6D32","\u523B","\u62EC","\u6FC0","\u5B54","\u641E","\u751A","\u5BA4","\u5F85","\u6838","\u6821","\u6563","\u4FB5","\u5427","\u7532","\u6E38","\u4E45","\u83DC","\u5473","\u65E7","\u6A21","\u6E56","\u8D27","\u635F","\u9884","\u963B","\u6BEB","\u666E","\u7A33","\u4E59","\u5988","\u690D","\u606F","\u6269","\u94F6","\u8BED","\u6325","\u9152","\u5B88","\u62FF","\u5E8F","\u7EB8","\u533B","\u7F3A","\u96E8","\u5417","\u9488","\u5218","\u554A","\u6025","\u5531","\u8BEF","\u8BAD","\u613F","\u5BA1","\u9644","\u83B7","\u8336","\u9C9C","\u7CAE","\u65A4","\u5B69","\u8131","\u786B","\u80A5","\u5584","\u9F99","\u6F14","\u7236","\u6E10","\u8840","\u6B22","\u68B0","\u638C","\u6B4C","\u6C99","\u521A","\u653B","\u8C13","\u76FE","\u8BA8","\u665A","\u7C92","\u4E71","\u71C3","\u77DB","\u4E4E","\u6740","\u836F","\u5B81","\u9C81","\u8D35","\u949F","\u7164","\u8BFB","\u73ED","\u4F2F","\u9999","\u4ECB","\u8FEB","\u53E5","\u4E30","\u57F9","\u63E1","\u5170","\u62C5","\u5F26","\u86CB","\u6C89","\u5047","\u7A7F","\u6267","\u7B54","\u4E50","\u8C01","\u987A","\u70DF","\u7F29","\u5F81","\u8138","\u559C","\u677E","\u811A","\u56F0","\u5F02","\u514D","\u80CC","\u661F","\u798F","\u4E70","\u67D3","\u4E95","\u6982","\u6162","\u6015","\u78C1","\u500D","\u7956","\u7687","\u4FC3","\u9759","\u8865","\u8BC4","\u7FFB","\u8089","\u8DF5","\u5C3C","\u8863","\u5BBD","\u626C","\u68C9","\u5E0C","\u4F24","\u64CD","\u5782","\u79CB","\u5B9C","\u6C22","\u5957","\u7763","\u632F","\u67B6","\u4EAE","\u672B","\u5BAA","\u5E86","\u7F16","\u725B","\u89E6","\u6620","\u96F7","\u9500","\u8BD7","\u5EA7","\u5C45","\u6293","\u88C2","\u80DE","\u547C","\u5A18","\u666F","\u5A01","\u7EFF","\u6676","\u539A","\u76DF","\u8861","\u9E21","\u5B59","\u5EF6","\u5371","\u80F6","\u5C4B","\u4E61","\u4E34","\u9646","\u987E","\u6389","\u5440","\u706F","\u5C81","\u63AA","\u675F","\u8010","\u5267","\u7389","\u8D75","\u8DF3","\u54E5","\u5B63","\u8BFE","\u51EF","\u80E1","\u989D","\u6B3E","\u7ECD","\u5377","\u9F50","\u4F1F","\u84B8","\u6B96","\u6C38","\u5B97","\u82D7","\u5DDD","\u7089","\u5CA9","\u5F31","\u96F6","\u6768","\u594F","\u6CBF","\u9732","\u6746","\u63A2","\u6ED1","\u9547","\u996D","\u6D53","\u822A","\u6000","\u8D76","\u5E93","\u593A","\u4F0A","\u7075","\u7A0E","\u9014","\u706D","\u8D5B","\u5F52","\u53EC","\u9F13","\u64AD","\u76D8","\u88C1","\u9669","\u5EB7","\u552F","\u5F55","\u83CC","\u7EAF","\u501F","\u7CD6","\u76D6","\u6A2A","\u7B26","\u79C1","\u52AA","\u5802","\u57DF","\u67AA","\u6DA6","\u5E45","\u54C8","\u7ADF","\u719F","\u866B","\u6CFD","\u8111","\u58E4","\u78B3","\u6B27","\u904D","\u4FA7","\u5BE8","\u6562","\u5F7B","\u8651","\u659C","\u8584","\u5EAD","\u7EB3","\u5F39","\u9972","\u4F38","\u6298","\u9EA6","\u6E7F","\u6697","\u8377","\u74E6","\u585E","\u5E8A","\u7B51","\u6076","\u6237","\u8BBF","\u5854","\u5947","\u900F","\u6881","\u5200","\u65CB","\u8FF9","\u5361","\u6C2F","\u9047","\u4EFD","\u6BD2","\u6CE5","\u9000","\u6D17","\u6446","\u7070","\u5F69","\u5356","\u8017","\u590F","\u62E9","\u5FD9","\u94DC","\u732E","\u786C","\u4E88","\u7E41","\u5708","\u96EA","\u51FD","\u4EA6","\u62BD","\u7BC7","\u9635","\u9634","\u4E01","\u5C3A","\u8FFD","\u5806","\u96C4","\u8FCE","\u6CDB","\u7238","\u697C","\u907F","\u8C0B","\u5428","\u91CE","\u732A","\u65D7","\u7D2F","\u504F","\u5178","\u9986","\u7D22","\u79E6","\u8102","\u6F6E","\u7237","\u8C46","\u5FFD","\u6258","\u60CA","\u5851","\u9057","\u6108","\u6731","\u66FF","\u7EA4","\u7C97","\u503E","\u5C1A","\u75DB","\u695A","\u8C22","\u594B","\u8D2D","\u78E8","\u541B","\u6C60","\u65C1","\u788E","\u9AA8","\u76D1","\u6355","\u5F1F","\u66B4","\u5272","\u8D2F","\u6B8A","\u91CA","\u8BCD","\u4EA1","\u58C1","\u987F","\u5B9D","\u5348","\u5C18","\u95FB","\u63ED","\u70AE","\u6B8B","\u51AC","\u6865","\u5987","\u8B66","\u7EFC","\u62DB","\u5434","\u4ED8","\u6D6E","\u906D","\u5F90","\u60A8","\u6447","\u8C37","\u8D5E","\u7BB1","\u9694","\u8BA2","\u7537","\u5439","\u56ED","\u7EB7","\u5510","\u8D25","\u5B8B","\u73BB","\u5DE8","\u8015","\u5766","\u8363","\u95ED","\u6E7E","\u952E","\u51E1","\u9A7B","\u9505","\u6551","\u6069","\u5265","\u51DD","\u78B1","\u9F7F","\u622A","\u70BC","\u9EBB","\u7EBA","\u7981","\u5E9F","\u76DB","\u7248","\u7F13","\u51C0","\u775B","\u660C","\u5A5A","\u6D89","\u7B52","\u5634","\u63D2","\u5CB8","\u6717","\u5E84","\u8857","\u85CF","\u59D1","\u8D38","\u8150","\u5974","\u5566","\u60EF","\u4E58","\u4F19","\u6062","\u5300","\u7EB1","\u624E","\u8FA9","\u8033","\u5F6A","\u81E3","\u4EBF","\u7483","\u62B5","\u8109","\u79C0","\u8428","\u4FC4","\u7F51","\u821E","\u5E97","\u55B7","\u7EB5","\u5BF8","\u6C57","\u6302","\u6D2A","\u8D3A","\u95EA","\u67EC","\u7206","\u70EF","\u6D25","\u7A3B","\u5899","\u8F6F","\u52C7","\u50CF","\u6EDA","\u5398","\u8499","\u82B3","\u80AF","\u5761","\u67F1","\u8361","\u817F","\u4EEA","\u65C5","\u5C3E","\u8F67","\u51B0","\u8D21","\u767B","\u9ECE","\u524A","\u94BB","\u52D2","\u9003","\u969C","\u6C28","\u90ED","\u5CF0","\u5E01","\u6E2F","\u4F0F","\u8F68","\u4EA9","\u6BD5","\u64E6","\u83AB","\u523A","\u6D6A","\u79D8","\u63F4","\u682A","\u5065","\u552E","\u80A1","\u5C9B","\u7518","\u6CE1","\u7761","\u7AE5","\u94F8","\u6C64","\u9600","\u4F11","\u6C47","\u820D","\u7267","\u7ED5","\u70B8","\u54F2","\u78F7","\u7EE9","\u670B","\u6DE1","\u5C16","\u542F","\u9677","\u67F4","\u5448","\u5F92","\u989C","\u6CEA","\u7A0D","\u5FD8","\u6CF5","\u84DD","\u62D6","\u6D1E","\u6388","\u955C","\u8F9B","\u58EE","\u950B","\u8D2B","\u865A","\u5F2F","\u6469","\u6CF0","\u5E7C","\u5EF7","\u5C0A","\u7A97","\u7EB2","\u5F04","\u96B6","\u7591","\u6C0F","\u5BAB","\u59D0","\u9707","\u745E","\u602A","\u5C24","\u7434","\u5FAA","\u63CF","\u819C","\u8FDD","\u5939","\u8170","\u7F18","\u73E0","\u7A77","\u68EE","\u679D","\u7AF9","\u6C9F","\u50AC","\u7EF3","\u5FC6","\u90A6","\u5269","\u5E78","\u6D46","\u680F","\u62E5","\u7259","\u8D2E","\u793C","\u6EE4","\u94A0","\u7EB9","\u7F62","\u62CD","\u54B1","\u558A","\u8896","\u57C3","\u52E4","\u7F5A","\u7126","\u6F5C","\u4F0D","\u58A8","\u6B32","\u7F1D","\u59D3","\u520A","\u9971","\u4EFF","\u5956","\u94DD","\u9B3C","\u4E3D","\u8DE8","\u9ED8","\u6316","\u94FE","\u626B","\u559D","\u888B","\u70AD","\u6C61","\u5E55","\u8BF8","\u5F27","\u52B1","\u6885","\u5976","\u6D01","\u707E","\u821F","\u9274","\u82EF","\u8BBC","\u62B1","\u6BC1","\u61C2","\u5BD2","\u667A","\u57D4","\u5BC4","\u5C4A","\u8DC3","\u6E21","\u6311","\u4E39","\u8270","\u8D1D","\u78B0","\u62D4","\u7239","\u6234","\u7801","\u68A6","\u82BD","\u7194","\u8D64","\u6E14","\u54ED","\u656C","\u9897","\u5954","\u94C5","\u4EF2","\u864E","\u7A00","\u59B9","\u4E4F","\u73CD","\u7533","\u684C","\u9075","\u5141","\u9686","\u87BA","\u4ED3","\u9B4F","\u9510","\u6653","\u6C2E","\u517C","\u9690","\u788D","\u8D6B","\u62E8","\u5FE0","\u8083","\u7F38","\u7275","\u62A2","\u535A","\u5DE7","\u58F3","\u5144","\u675C","\u8BAF","\u8BDA","\u78A7","\u7965","\u67EF","\u9875","\u5DE1","\u77E9","\u60B2","\u704C","\u9F84","\u4F26","\u7968","\u5BFB","\u6842","\u94FA","\u5723","\u6050","\u6070","\u90D1","\u8DA3","\u62AC","\u8352","\u817E","\u8D34","\u67D4","\u6EF4","\u731B","\u9614","\u8F86","\u59BB","\u586B","\u64A4","\u50A8","\u7B7E","\u95F9","\u6270","\u7D2B","\u7802","\u9012","\u620F","\u540A","\u9676","\u4F10","\u5582","\u7597","\u74F6","\u5A46","\u629A","\u81C2","\u6478","\u5FCD","\u867E","\u8721","\u90BB","\u80F8","\u5DE9","\u6324","\u5076","\u5F03","\u69FD","\u52B2","\u4E73","\u9093","\u5409","\u4EC1","\u70C2","\u7816","\u79DF","\u4E4C","\u8230","\u4F34","\u74DC","\u6D45","\u4E19","\u6682","\u71E5","\u6A61","\u67F3","\u8FF7","\u6696","\u724C","\u79E7","\u80C6","\u8BE6","\u7C27","\u8E0F","\u74F7","\u8C31","\u5446","\u5BBE","\u7CCA","\u6D1B","\u8F89","\u6124","\u7ADE","\u9699","\u6012","\u7C98","\u4E43","\u7EEA","\u80A9","\u7C4D","\u654F","\u6D82","\u7199","\u7686","\u4FA6","\u60AC","\u6398","\u4EAB","\u7EA0","\u9192","\u72C2","\u9501","\u6DC0","\u6068","\u7272","\u9738","\u722C","\u8D4F","\u9006","\u73A9","\u9675","\u795D","\u79D2","\u6D59","\u8C8C","\u5F79","\u5F7C","\u6089","\u9E2D","\u8D8B","\u51E4","\u6668","\u755C","\u8F88","\u79E9","\u5375","\u7F72","\u68AF","\u708E","\u6EE9","\u68CB","\u9A71","\u7B5B","\u5CE1","\u5192","\u5565","\u5BFF","\u8BD1","\u6D78","\u6CC9","\u5E3D","\u8FDF","\u7845","\u7586","\u8D37","\u6F0F","\u7A3F","\u51A0","\u5AE9","\u80C1","\u82AF","\u7262","\u53DB","\u8680","\u5965","\u9E23","\u5CAD","\u7F8A","\u51ED","\u4E32","\u5858","\u7ED8","\u9175","\u878D","\u76C6","\u9521","\u5E99","\u7B79","\u51BB","\u8F85","\u6444","\u88AD","\u7B4B","\u62D2","\u50DA","\u65F1","\u94BE","\u9E1F","\u6F06","\u6C88","\u7709","\u758F","\u6DFB","\u68D2","\u7A57","\u785D","\u97E9","\u903C","\u626D","\u4FA8","\u51C9","\u633A","\u7897","\u683D","\u7092","\u676F","\u60A3","\u998F","\u529D","\u8C6A","\u8FBD","\u52C3","\u9E3F","\u65E6","\u540F","\u62DC","\u72D7","\u57CB","\u8F8A","\u63A9","\u996E","\u642C","\u9A82","\u8F9E","\u52FE","\u6263","\u4F30","\u848B","\u7ED2","\u96FE","\u4E08","\u6735","\u59C6","\u62DF","\u5B87","\u8F91","\u9655","\u96D5","\u507F","\u84C4","\u5D07","\u526A","\u5021","\u5385","\u54AC","\u9A76","\u85AF","\u5237","\u65A5","\u756A","\u8D4B","\u5949","\u4F5B","\u6D47","\u6F2B","\u66FC","\u6247","\u9499","\u6843","\u6276","\u4ED4","\u8FD4","\u4FD7","\u4E8F","\u8154","\u978B","\u68F1","\u8986","\u6846","\u6084","\u53D4","\u649E","\u9A97","\u52D8","\u65FA","\u6CB8","\u5B64","\u5410","\u5B5F","\u6E20","\u5C48","\u75BE","\u5999","\u60DC","\u4EF0","\u72E0","\u80C0","\u8C10","\u629B","\u9709","\u6851","\u5C97","\u561B","\u8870","\u76D7","\u6E17","\u810F","\u8D56","\u6D8C","\u751C","\u66F9","\u9605","\u808C","\u54E9","\u5389","\u70C3","\u7EAC","\u6BC5","\u6628","\u4F2A","\u75C7","\u716E","\u53F9","\u9489","\u642D","\u830E","\u7B3C","\u9177","\u5077","\u5F13","\u9525","\u6052","\u6770","\u5751","\u9F3B","\u7FFC","\u7EB6","\u53D9","\u72F1","\u902E","\u7F50","\u7EDC","\u68DA","\u6291","\u81A8","\u852C","\u5BFA","\u9AA4","\u7A46","\u51B6","\u67AF","\u518C","\u5C38","\u51F8","\u7EC5","\u576F","\u727A","\u7130","\u8F70","\u6B23","\u664B","\u7626","\u5FA1","\u952D","\u9526","\u4E27","\u65EC","\u953B","\u5784","\u641C","\u6251","\u9080","\u4EAD","\u916F","\u8FC8","\u8212","\u8106","\u9176","\u95F2","\u5FE7","\u915A","\u987D","\u7FBD","\u6DA8","\u5378","\u4ED7","\u966A","\u8F9F","\u60E9","\u676D","\u59DA","\u809A","\u6349","\u98D8","\u6F02","\u6606","\u6B3A","\u543E","\u90CE","\u70F7","\u6C41","\u5475","\u9970","\u8427","\u96C5","\u90AE","\u8FC1","\u71D5","\u6492","\u59FB","\u8D74","\u5BB4","\u70E6","\u503A","\u5E10","\u6591","\u94C3","\u65E8","\u9187","\u8463","\u997C","\u96CF","\u59FF","\u62CC","\u5085","\u8179","\u59A5","\u63C9","\u8D24","\u62C6","\u6B6A","\u8461","\u80FA","\u4E22","\u6D69","\u5FBD","\u6602","\u57AB","\u6321","\u89C8","\u8D2A","\u6170","\u7F34","\u6C6A","\u614C","\u51AF","\u8BFA","\u59DC","\u8C0A","\u51F6","\u52A3","\u8BEC","\u8000","\u660F","\u8EBA","\u76C8","\u9A91","\u4E54","\u6EAA","\u4E1B","\u5362","\u62B9","\u95F7","\u54A8","\u522E","\u9A7E","\u7F06","\u609F","\u6458","\u94D2","\u63B7","\u9887","\u5E7B","\u67C4","\u60E0","\u60E8","\u4F73","\u4EC7","\u814A","\u7A9D","\u6DA4","\u5251","\u77A7","\u5821","\u6CFC","\u8471","\u7F69","\u970D","\u635E","\u80CE","\u82CD","\u6EE8","\u4FE9","\u6345","\u6E58","\u780D","\u971E","\u90B5","\u8404","\u75AF","\u6DEE","\u9042","\u718A","\u7CAA","\u70D8","\u5BBF","\u6863","\u6208","\u9A73","\u5AC2","\u88D5","\u5F99","\u7BAD","\u6350","\u80A0","\u6491","\u6652","\u8FA8","\u6BBF","\u83B2","\u644A","\u6405","\u9171","\u5C4F","\u75AB","\u54C0","\u8521","\u5835","\u6CAB","\u76B1","\u7545","\u53E0","\u9601","\u83B1","\u6572","\u8F96","\u94A9","\u75D5","\u575D","\u5DF7","\u997F","\u7978","\u4E18","\u7384","\u6E9C","\u66F0","\u903B","\u5F6D","\u5C1D","\u537F","\u59A8","\u8247","\u541E","\u97E6","\u6028","\u77EE","\u6B47"]'), jF = JSON.parse('["\u7684","\u4E00","\u662F","\u5728","\u4E0D","\u4E86","\u6709","\u548C","\u4EBA","\u9019","\u4E2D","\u5927","\u70BA","\u4E0A","\u500B","\u570B","\u6211","\u4EE5","\u8981","\u4ED6","\u6642","\u4F86","\u7528","\u5011","\u751F","\u5230","\u4F5C","\u5730","\u65BC","\u51FA","\u5C31","\u5206","\u5C0D","\u6210","\u6703","\u53EF","\u4E3B","\u767C","\u5E74","\u52D5","\u540C","\u5DE5","\u4E5F","\u80FD","\u4E0B","\u904E","\u5B50","\u8AAA","\u7522","\u7A2E","\u9762","\u800C","\u65B9","\u5F8C","\u591A","\u5B9A","\u884C","\u5B78","\u6CD5","\u6240","\u6C11","\u5F97","\u7D93","\u5341","\u4E09","\u4E4B","\u9032","\u8457","\u7B49","\u90E8","\u5EA6","\u5BB6","\u96FB","\u529B","\u88E1","\u5982","\u6C34","\u5316","\u9AD8","\u81EA","\u4E8C","\u7406","\u8D77","\u5C0F","\u7269","\u73FE","\u5BE6","\u52A0","\u91CF","\u90FD","\u5169","\u9AD4","\u5236","\u6A5F","\u7576","\u4F7F","\u9EDE","\u5F9E","\u696D","\u672C","\u53BB","\u628A","\u6027","\u597D","\u61C9","\u958B","\u5B83","\u5408","\u9084","\u56E0","\u7531","\u5176","\u4E9B","\u7136","\u524D","\u5916","\u5929","\u653F","\u56DB","\u65E5","\u90A3","\u793E","\u7FA9","\u4E8B","\u5E73","\u5F62","\u76F8","\u5168","\u8868","\u9593","\u6A23","\u8207","\u95DC","\u5404","\u91CD","\u65B0","\u7DDA","\u5167","\u6578","\u6B63","\u5FC3","\u53CD","\u4F60","\u660E","\u770B","\u539F","\u53C8","\u9EBC","\u5229","\u6BD4","\u6216","\u4F46","\u8CEA","\u6C23","\u7B2C","\u5411","\u9053","\u547D","\u6B64","\u8B8A","\u689D","\u53EA","\u6C92","\u7D50","\u89E3","\u554F","\u610F","\u5EFA","\u6708","\u516C","\u7121","\u7CFB","\u8ECD","\u5F88","\u60C5","\u8005","\u6700","\u7ACB","\u4EE3","\u60F3","\u5DF2","\u901A","\u4E26","\u63D0","\u76F4","\u984C","\u9EE8","\u7A0B","\u5C55","\u4E94","\u679C","\u6599","\u8C61","\u54E1","\u9769","\u4F4D","\u5165","\u5E38","\u6587","\u7E3D","\u6B21","\u54C1","\u5F0F","\u6D3B","\u8A2D","\u53CA","\u7BA1","\u7279","\u4EF6","\u9577","\u6C42","\u8001","\u982D","\u57FA","\u8CC7","\u908A","\u6D41","\u8DEF","\u7D1A","\u5C11","\u5716","\u5C71","\u7D71","\u63A5","\u77E5","\u8F03","\u5C07","\u7D44","\u898B","\u8A08","\u5225","\u5979","\u624B","\u89D2","\u671F","\u6839","\u8AD6","\u904B","\u8FB2","\u6307","\u5E7E","\u4E5D","\u5340","\u5F37","\u653E","\u6C7A","\u897F","\u88AB","\u5E79","\u505A","\u5FC5","\u6230","\u5148","\u56DE","\u5247","\u4EFB","\u53D6","\u64DA","\u8655","\u968A","\u5357","\u7D66","\u8272","\u5149","\u9580","\u5373","\u4FDD","\u6CBB","\u5317","\u9020","\u767E","\u898F","\u71B1","\u9818","\u4E03","\u6D77","\u53E3","\u6771","\u5C0E","\u5668","\u58D3","\u5FD7","\u4E16","\u91D1","\u589E","\u722D","\u6FDF","\u968E","\u6CB9","\u601D","\u8853","\u6975","\u4EA4","\u53D7","\u806F","\u4EC0","\u8A8D","\u516D","\u5171","\u6B0A","\u6536","\u8B49","\u6539","\u6E05","\u7F8E","\u518D","\u63A1","\u8F49","\u66F4","\u55AE","\u98A8","\u5207","\u6253","\u767D","\u6559","\u901F","\u82B1","\u5E36","\u5B89","\u5834","\u8EAB","\u8ECA","\u4F8B","\u771F","\u52D9","\u5177","\u842C","\u6BCF","\u76EE","\u81F3","\u9054","\u8D70","\u7A4D","\u793A","\u8B70","\u8072","\u5831","\u9B25","\u5B8C","\u985E","\u516B","\u96E2","\u83EF","\u540D","\u78BA","\u624D","\u79D1","\u5F35","\u4FE1","\u99AC","\u7BC0","\u8A71","\u7C73","\u6574","\u7A7A","\u5143","\u6CC1","\u4ECA","\u96C6","\u6EAB","\u50B3","\u571F","\u8A31","\u6B65","\u7FA4","\u5EE3","\u77F3","\u8A18","\u9700","\u6BB5","\u7814","\u754C","\u62C9","\u6797","\u5F8B","\u53EB","\u4E14","\u7A76","\u89C0","\u8D8A","\u7E54","\u88DD","\u5F71","\u7B97","\u4F4E","\u6301","\u97F3","\u773E","\u66F8","\u5E03","\u590D","\u5BB9","\u5152","\u9808","\u969B","\u5546","\u975E","\u9A57","\u9023","\u65B7","\u6DF1","\u96E3","\u8FD1","\u7926","\u5343","\u9031","\u59D4","\u7D20","\u6280","\u5099","\u534A","\u8FA6","\u9752","\u7701","\u5217","\u7FD2","\u97FF","\u7D04","\u652F","\u822C","\u53F2","\u611F","\u52DE","\u4FBF","\u5718","\u5F80","\u9178","\u6B77","\u5E02","\u514B","\u4F55","\u9664","\u6D88","\u69CB","\u5E9C","\u7A31","\u592A","\u6E96","\u7CBE","\u503C","\u865F","\u7387","\u65CF","\u7DAD","\u5283","\u9078","\u6A19","\u5BEB","\u5B58","\u5019","\u6BDB","\u89AA","\u5FEB","\u6548","\u65AF","\u9662","\u67E5","\u6C5F","\u578B","\u773C","\u738B","\u6309","\u683C","\u990A","\u6613","\u7F6E","\u6D3E","\u5C64","\u7247","\u59CB","\u537B","\u5C08","\u72C0","\u80B2","\u5EE0","\u4EAC","\u8B58","\u9069","\u5C6C","\u5713","\u5305","\u706B","\u4F4F","\u8ABF","\u6EFF","\u7E23","\u5C40","\u7167","\u53C3","\u7D05","\u7D30","\u5F15","\u807D","\u8A72","\u9435","\u50F9","\u56B4","\u9996","\u5E95","\u6DB2","\u5B98","\u5FB7","\u96A8","\u75C5","\u8607","\u5931","\u723E","\u6B7B","\u8B1B","\u914D","\u5973","\u9EC3","\u63A8","\u986F","\u8AC7","\u7F6A","\u795E","\u85DD","\u5462","\u5E2D","\u542B","\u4F01","\u671B","\u5BC6","\u6279","\u71DF","\u9805","\u9632","\u8209","\u7403","\u82F1","\u6C27","\u52E2","\u544A","\u674E","\u53F0","\u843D","\u6728","\u5E6B","\u8F2A","\u7834","\u4E9E","\u5E2B","\u570D","\u6CE8","\u9060","\u5B57","\u6750","\u6392","\u4F9B","\u6CB3","\u614B","\u5C01","\u53E6","\u65BD","\u6E1B","\u6A39","\u6EB6","\u600E","\u6B62","\u6848","\u8A00","\u58EB","\u5747","\u6B66","\u56FA","\u8449","\u9B5A","\u6CE2","\u8996","\u50C5","\u8CBB","\u7DCA","\u611B","\u5DE6","\u7AE0","\u65E9","\u671D","\u5BB3","\u7E8C","\u8F15","\u670D","\u8A66","\u98DF","\u5145","\u5175","\u6E90","\u5224","\u8B77","\u53F8","\u8DB3","\u67D0","\u7DF4","\u5DEE","\u81F4","\u677F","\u7530","\u964D","\u9ED1","\u72AF","\u8CA0","\u64CA","\u8303","\u7E7C","\u8208","\u4F3C","\u9918","\u5805","\u66F2","\u8F38","\u4FEE","\u6545","\u57CE","\u592B","\u5920","\u9001","\u7B46","\u8239","\u4F54","\u53F3","\u8CA1","\u5403","\u5BCC","\u6625","\u8077","\u89BA","\u6F22","\u756B","\u529F","\u5DF4","\u8DDF","\u96D6","\u96DC","\u98DB","\u6AA2","\u5438","\u52A9","\u6607","\u967D","\u4E92","\u521D","\u5275","\u6297","\u8003","\u6295","\u58DE","\u7B56","\u53E4","\u5F91","\u63DB","\u672A","\u8DD1","\u7559","\u92FC","\u66FE","\u7AEF","\u8CAC","\u7AD9","\u7C21","\u8FF0","\u9322","\u526F","\u76E1","\u5E1D","\u5C04","\u8349","\u885D","\u627F","\u7368","\u4EE4","\u9650","\u963F","\u5BA3","\u74B0","\u96D9","\u8ACB","\u8D85","\u5FAE","\u8B93","\u63A7","\u5DDE","\u826F","\u8EF8","\u627E","\u5426","\u7D00","\u76CA","\u4F9D","\u512A","\u9802","\u790E","\u8F09","\u5012","\u623F","\u7A81","\u5750","\u7C89","\u6575","\u7565","\u5BA2","\u8881","\u51B7","\u52DD","\u7D55","\u6790","\u584A","\u5291","\u6E2C","\u7D72","\u5354","\u8A34","\u5FF5","\u9673","\u4ECD","\u7F85","\u9E7D","\u53CB","\u6D0B","\u932F","\u82E6","\u591C","\u5211","\u79FB","\u983B","\u9010","\u9760","\u6DF7","\u6BCD","\u77ED","\u76AE","\u7D42","\u805A","\u6C7D","\u6751","\u96F2","\u54EA","\u65E2","\u8DDD","\u885B","\u505C","\u70C8","\u592E","\u5BDF","\u71D2","\u8FC5","\u5883","\u82E5","\u5370","\u6D32","\u523B","\u62EC","\u6FC0","\u5B54","\u641E","\u751A","\u5BA4","\u5F85","\u6838","\u6821","\u6563","\u4FB5","\u5427","\u7532","\u904A","\u4E45","\u83DC","\u5473","\u820A","\u6A21","\u6E56","\u8CA8","\u640D","\u9810","\u963B","\u6BEB","\u666E","\u7A69","\u4E59","\u5ABD","\u690D","\u606F","\u64F4","\u9280","\u8A9E","\u63EE","\u9152","\u5B88","\u62FF","\u5E8F","\u7D19","\u91AB","\u7F3A","\u96E8","\u55CE","\u91DD","\u5289","\u554A","\u6025","\u5531","\u8AA4","\u8A13","\u9858","\u5BE9","\u9644","\u7372","\u8336","\u9BAE","\u7CE7","\u65A4","\u5B69","\u812B","\u786B","\u80A5","\u5584","\u9F8D","\u6F14","\u7236","\u6F38","\u8840","\u6B61","\u68B0","\u638C","\u6B4C","\u6C99","\u525B","\u653B","\u8B02","\u76FE","\u8A0E","\u665A","\u7C92","\u4E82","\u71C3","\u77DB","\u4E4E","\u6BBA","\u85E5","\u5BE7","\u9B6F","\u8CB4","\u9418","\u7164","\u8B80","\u73ED","\u4F2F","\u9999","\u4ECB","\u8FEB","\u53E5","\u8C50","\u57F9","\u63E1","\u862D","\u64D4","\u5F26","\u86CB","\u6C89","\u5047","\u7A7F","\u57F7","\u7B54","\u6A02","\u8AB0","\u9806","\u7159","\u7E2E","\u5FB5","\u81C9","\u559C","\u677E","\u8173","\u56F0","\u7570","\u514D","\u80CC","\u661F","\u798F","\u8CB7","\u67D3","\u4E95","\u6982","\u6162","\u6015","\u78C1","\u500D","\u7956","\u7687","\u4FC3","\u975C","\u88DC","\u8A55","\u7FFB","\u8089","\u8E10","\u5C3C","\u8863","\u5BEC","\u63DA","\u68C9","\u5E0C","\u50B7","\u64CD","\u5782","\u79CB","\u5B9C","\u6C2B","\u5957","\u7763","\u632F","\u67B6","\u4EAE","\u672B","\u61B2","\u6176","\u7DE8","\u725B","\u89F8","\u6620","\u96F7","\u92B7","\u8A69","\u5EA7","\u5C45","\u6293","\u88C2","\u80DE","\u547C","\u5A18","\u666F","\u5A01","\u7DA0","\u6676","\u539A","\u76DF","\u8861","\u96DE","\u5B6B","\u5EF6","\u5371","\u81A0","\u5C4B","\u9109","\u81E8","\u9678","\u9867","\u6389","\u5440","\u71C8","\u6B72","\u63AA","\u675F","\u8010","\u5287","\u7389","\u8D99","\u8DF3","\u54E5","\u5B63","\u8AB2","\u51F1","\u80E1","\u984D","\u6B3E","\u7D39","\u5377","\u9F4A","\u5049","\u84B8","\u6B96","\u6C38","\u5B97","\u82D7","\u5DDD","\u7210","\u5CA9","\u5F31","\u96F6","\u694A","\u594F","\u6CBF","\u9732","\u687F","\u63A2","\u6ED1","\u93AE","\u98EF","\u6FC3","\u822A","\u61F7","\u8D95","\u5EAB","\u596A","\u4F0A","\u9748","\u7A05","\u9014","\u6EC5","\u8CFD","\u6B78","\u53EC","\u9F13","\u64AD","\u76E4","\u88C1","\u96AA","\u5EB7","\u552F","\u9304","\u83CC","\u7D14","\u501F","\u7CD6","\u84CB","\u6A6B","\u7B26","\u79C1","\u52AA","\u5802","\u57DF","\u69CD","\u6F64","\u5E45","\u54C8","\u7ADF","\u719F","\u87F2","\u6FA4","\u8166","\u58E4","\u78B3","\u6B50","\u904D","\u5074","\u5BE8","\u6562","\u5FB9","\u616E","\u659C","\u8584","\u5EAD","\u7D0D","\u5F48","\u98FC","\u4F38","\u6298","\u9EA5","\u6FD5","\u6697","\u8377","\u74E6","\u585E","\u5E8A","\u7BC9","\u60E1","\u6236","\u8A2A","\u5854","\u5947","\u900F","\u6881","\u5200","\u65CB","\u8DE1","\u5361","\u6C2F","\u9047","\u4EFD","\u6BD2","\u6CE5","\u9000","\u6D17","\u64FA","\u7070","\u5F69","\u8CE3","\u8017","\u590F","\u64C7","\u5FD9","\u9285","\u737B","\u786C","\u4E88","\u7E41","\u5708","\u96EA","\u51FD","\u4EA6","\u62BD","\u7BC7","\u9663","\u9670","\u4E01","\u5C3A","\u8FFD","\u5806","\u96C4","\u8FCE","\u6CDB","\u7238","\u6A13","\u907F","\u8B00","\u5678","\u91CE","\u8C6C","\u65D7","\u7D2F","\u504F","\u5178","\u9928","\u7D22","\u79E6","\u8102","\u6F6E","\u723A","\u8C46","\u5FFD","\u6258","\u9A5A","\u5851","\u907A","\u6108","\u6731","\u66FF","\u7E96","\u7C97","\u50BE","\u5C1A","\u75DB","\u695A","\u8B1D","\u596E","\u8CFC","\u78E8","\u541B","\u6C60","\u65C1","\u788E","\u9AA8","\u76E3","\u6355","\u5F1F","\u66B4","\u5272","\u8CAB","\u6B8A","\u91CB","\u8A5E","\u4EA1","\u58C1","\u9813","\u5BF6","\u5348","\u5875","\u805E","\u63ED","\u70AE","\u6B98","\u51AC","\u6A4B","\u5A66","\u8B66","\u7D9C","\u62DB","\u5433","\u4ED8","\u6D6E","\u906D","\u5F90","\u60A8","\u6416","\u8C37","\u8D0A","\u7BB1","\u9694","\u8A02","\u7537","\u5439","\u5712","\u7D1B","\u5510","\u6557","\u5B8B","\u73BB","\u5DE8","\u8015","\u5766","\u69AE","\u9589","\u7063","\u9375","\u51E1","\u99D0","\u934B","\u6551","\u6069","\u525D","\u51DD","\u9E7C","\u9F52","\u622A","\u7149","\u9EBB","\u7D21","\u7981","\u5EE2","\u76DB","\u7248","\u7DE9","\u6DE8","\u775B","\u660C","\u5A5A","\u6D89","\u7B52","\u5634","\u63D2","\u5CB8","\u6717","\u838A","\u8857","\u85CF","\u59D1","\u8CBF","\u8150","\u5974","\u5566","\u6163","\u4E58","\u5925","\u6062","\u52FB","\u7D17","\u624E","\u8FAF","\u8033","\u5F6A","\u81E3","\u5104","\u7483","\u62B5","\u8108","\u79C0","\u85A9","\u4FC4","\u7DB2","\u821E","\u5E97","\u5674","\u7E31","\u5BF8","\u6C57","\u639B","\u6D2A","\u8CC0","\u9583","\u67EC","\u7206","\u70EF","\u6D25","\u7A3B","\u7246","\u8EDF","\u52C7","\u50CF","\u6EFE","\u5398","\u8499","\u82B3","\u80AF","\u5761","\u67F1","\u76EA","\u817F","\u5100","\u65C5","\u5C3E","\u8ECB","\u51B0","\u8CA2","\u767B","\u9ECE","\u524A","\u947D","\u52D2","\u9003","\u969C","\u6C28","\u90ED","\u5CF0","\u5E63","\u6E2F","\u4F0F","\u8ECC","\u755D","\u7562","\u64E6","\u83AB","\u523A","\u6D6A","\u79D8","\u63F4","\u682A","\u5065","\u552E","\u80A1","\u5CF6","\u7518","\u6CE1","\u7761","\u7AE5","\u9444","\u6E6F","\u95A5","\u4F11","\u532F","\u820D","\u7267","\u7E5E","\u70B8","\u54F2","\u78F7","\u7E3E","\u670B","\u6DE1","\u5C16","\u555F","\u9677","\u67F4","\u5448","\u5F92","\u984F","\u6DDA","\u7A0D","\u5FD8","\u6CF5","\u85CD","\u62D6","\u6D1E","\u6388","\u93E1","\u8F9B","\u58EF","\u92D2","\u8CA7","\u865B","\u5F4E","\u6469","\u6CF0","\u5E7C","\u5EF7","\u5C0A","\u7A97","\u7DB1","\u5F04","\u96B8","\u7591","\u6C0F","\u5BAE","\u59D0","\u9707","\u745E","\u602A","\u5C24","\u7434","\u5FAA","\u63CF","\u819C","\u9055","\u593E","\u8170","\u7DE3","\u73E0","\u7AAE","\u68EE","\u679D","\u7AF9","\u6E9D","\u50AC","\u7E69","\u61B6","\u90A6","\u5269","\u5E78","\u6F3F","\u6B04","\u64C1","\u7259","\u8CAF","\u79AE","\u6FFE","\u9209","\u7D0B","\u7F77","\u62CD","\u54B1","\u558A","\u8896","\u57C3","\u52E4","\u7F70","\u7126","\u6F5B","\u4F0D","\u58A8","\u6B32","\u7E2B","\u59D3","\u520A","\u98FD","\u4EFF","\u734E","\u92C1","\u9B3C","\u9E97","\u8DE8","\u9ED8","\u6316","\u93C8","\u6383","\u559D","\u888B","\u70AD","\u6C61","\u5E55","\u8AF8","\u5F27","\u52F5","\u6885","\u5976","\u6F54","\u707D","\u821F","\u9451","\u82EF","\u8A1F","\u62B1","\u6BC0","\u61C2","\u5BD2","\u667A","\u57D4","\u5BC4","\u5C46","\u8E8D","\u6E21","\u6311","\u4E39","\u8271","\u8C9D","\u78B0","\u62D4","\u7239","\u6234","\u78BC","\u5922","\u82BD","\u7194","\u8D64","\u6F01","\u54ED","\u656C","\u9846","\u5954","\u925B","\u4EF2","\u864E","\u7A00","\u59B9","\u4E4F","\u73CD","\u7533","\u684C","\u9075","\u5141","\u9686","\u87BA","\u5009","\u9B4F","\u92B3","\u66C9","\u6C2E","\u517C","\u96B1","\u7919","\u8D6B","\u64A5","\u5FE0","\u8085","\u7F38","\u727D","\u6436","\u535A","\u5DE7","\u6BBC","\u5144","\u675C","\u8A0A","\u8AA0","\u78A7","\u7965","\u67EF","\u9801","\u5DE1","\u77E9","\u60B2","\u704C","\u9F61","\u502B","\u7968","\u5C0B","\u6842","\u92EA","\u8056","\u6050","\u6070","\u912D","\u8DA3","\u62AC","\u8352","\u9A30","\u8CBC","\u67D4","\u6EF4","\u731B","\u95CA","\u8F1B","\u59BB","\u586B","\u64A4","\u5132","\u7C3D","\u9B27","\u64FE","\u7D2B","\u7802","\u905E","\u6232","\u540A","\u9676","\u4F10","\u9935","\u7642","\u74F6","\u5A46","\u64AB","\u81C2","\u6478","\u5FCD","\u8766","\u881F","\u9130","\u80F8","\u978F","\u64E0","\u5076","\u68C4","\u69FD","\u52C1","\u4E73","\u9127","\u5409","\u4EC1","\u721B","\u78DA","\u79DF","\u70CF","\u8266","\u4F34","\u74DC","\u6DFA","\u4E19","\u66AB","\u71E5","\u6A61","\u67F3","\u8FF7","\u6696","\u724C","\u79E7","\u81BD","\u8A73","\u7C27","\u8E0F","\u74F7","\u8B5C","\u5446","\u8CD3","\u7CCA","\u6D1B","\u8F1D","\u61A4","\u7AF6","\u9699","\u6012","\u7C98","\u4E43","\u7DD2","\u80A9","\u7C4D","\u654F","\u5857","\u7199","\u7686","\u5075","\u61F8","\u6398","\u4EAB","\u7CFE","\u9192","\u72C2","\u9396","\u6DC0","\u6068","\u7272","\u9738","\u722C","\u8CDE","\u9006","\u73A9","\u9675","\u795D","\u79D2","\u6D59","\u8C8C","\u5F79","\u5F7C","\u6089","\u9D28","\u8DA8","\u9CF3","\u6668","\u755C","\u8F29","\u79E9","\u5375","\u7F72","\u68AF","\u708E","\u7058","\u68CB","\u9A45","\u7BE9","\u5CFD","\u5192","\u5565","\u58FD","\u8B6F","\u6D78","\u6CC9","\u5E3D","\u9072","\u77FD","\u7586","\u8CB8","\u6F0F","\u7A3F","\u51A0","\u5AE9","\u8105","\u82AF","\u7262","\u53DB","\u8755","\u5967","\u9CF4","\u5DBA","\u7F8A","\u6191","\u4E32","\u5858","\u7E6A","\u9175","\u878D","\u76C6","\u932B","\u5EDF","\u7C4C","\u51CD","\u8F14","\u651D","\u8972","\u7B4B","\u62D2","\u50DA","\u65F1","\u9240","\u9CE5","\u6F06","\u6C88","\u7709","\u758F","\u6DFB","\u68D2","\u7A57","\u785D","\u97D3","\u903C","\u626D","\u50D1","\u6DBC","\u633A","\u7897","\u683D","\u7092","\u676F","\u60A3","\u993E","\u52F8","\u8C6A","\u907C","\u52C3","\u9D3B","\u65E6","\u540F","\u62DC","\u72D7","\u57CB","\u8F25","\u63A9","\u98F2","\u642C","\u7F75","\u8FAD","\u52FE","\u6263","\u4F30","\u8523","\u7D68","\u9727","\u4E08","\u6735","\u59C6","\u64EC","\u5B87","\u8F2F","\u965D","\u96D5","\u511F","\u84C4","\u5D07","\u526A","\u5021","\u5EF3","\u54AC","\u99DB","\u85AF","\u5237","\u65A5","\u756A","\u8CE6","\u5949","\u4F5B","\u6F86","\u6F2B","\u66FC","\u6247","\u9223","\u6843","\u6276","\u4ED4","\u8FD4","\u4FD7","\u8667","\u8154","\u978B","\u68F1","\u8986","\u6846","\u6084","\u53D4","\u649E","\u9A19","\u52D8","\u65FA","\u6CB8","\u5B64","\u5410","\u5B5F","\u6E20","\u5C48","\u75BE","\u5999","\u60DC","\u4EF0","\u72E0","\u8139","\u8AE7","\u62CB","\u9EF4","\u6851","\u5D17","\u561B","\u8870","\u76DC","\u6EF2","\u81DF","\u8CF4","\u6E67","\u751C","\u66F9","\u95B1","\u808C","\u54E9","\u53B2","\u70F4","\u7DEF","\u6BC5","\u6628","\u507D","\u75C7","\u716E","\u5606","\u91D8","\u642D","\u8396","\u7C60","\u9177","\u5077","\u5F13","\u9310","\u6046","\u5091","\u5751","\u9F3B","\u7FFC","\u7DB8","\u6558","\u7344","\u902E","\u7F50","\u7D61","\u68DA","\u6291","\u81A8","\u852C","\u5BFA","\u9A5F","\u7A46","\u51B6","\u67AF","\u518A","\u5C4D","\u51F8","\u7D33","\u576F","\u72A7","\u7130","\u8F5F","\u6B23","\u6649","\u7626","\u79A6","\u9320","\u9326","\u55AA","\u65EC","\u935B","\u58DF","\u641C","\u64B2","\u9080","\u4EAD","\u916F","\u9081","\u8212","\u8106","\u9176","\u9592","\u6182","\u915A","\u9811","\u7FBD","\u6F32","\u5378","\u4ED7","\u966A","\u95E2","\u61F2","\u676D","\u59DA","\u809A","\u6349","\u98C4","\u6F02","\u6606","\u6B3A","\u543E","\u90CE","\u70F7","\u6C41","\u5475","\u98FE","\u856D","\u96C5","\u90F5","\u9077","\u71D5","\u6492","\u59FB","\u8D74","\u5BB4","\u7169","\u50B5","\u5E33","\u6591","\u9234","\u65E8","\u9187","\u8463","\u9905","\u96DB","\u59FF","\u62CC","\u5085","\u8179","\u59A5","\u63C9","\u8CE2","\u62C6","\u6B6A","\u8461","\u80FA","\u4E1F","\u6D69","\u5FBD","\u6602","\u588A","\u64CB","\u89BD","\u8CAA","\u6170","\u7E73","\u6C6A","\u614C","\u99AE","\u8AFE","\u59DC","\u8ABC","\u5147","\u52A3","\u8AA3","\u8000","\u660F","\u8EBA","\u76C8","\u9A0E","\u55AC","\u6EAA","\u53E2","\u76E7","\u62B9","\u60B6","\u8AEE","\u522E","\u99D5","\u7E9C","\u609F","\u6458","\u927A","\u64F2","\u9817","\u5E7B","\u67C4","\u60E0","\u6158","\u4F73","\u4EC7","\u81D8","\u7AA9","\u6ECC","\u528D","\u77A7","\u5821","\u6F51","\u8525","\u7F69","\u970D","\u6488","\u80CE","\u84BC","\u6FF1","\u5006","\u6345","\u6E58","\u780D","\u971E","\u90B5","\u8404","\u760B","\u6DEE","\u9042","\u718A","\u7CDE","\u70D8","\u5BBF","\u6A94","\u6208","\u99C1","\u5AC2","\u88D5","\u5F99","\u7BAD","\u6350","\u8178","\u6490","\u66EC","\u8FA8","\u6BBF","\u84EE","\u6524","\u652A","\u91AC","\u5C4F","\u75AB","\u54C0","\u8521","\u5835","\u6CAB","\u76BA","\u66A2","\u758A","\u95A3","\u840A","\u6572","\u8F44","\u9264","\u75D5","\u58E9","\u5DF7","\u9913","\u798D","\u4E18","\u7384","\u6E9C","\u66F0","\u908F","\u5F6D","\u5617","\u537F","\u59A8","\u8247","\u541E","\u97CB","\u6028","\u77EE","\u6B47"]'), zF = JSON.parse('["\u1100\u1161\u1100\u1167\u11A8","\u1100\u1161\u1101\u1173\u11B7","\u1100\u1161\u1102\u1161\u11AB","\u1100\u1161\u1102\u1173\u11BC","\u1100\u1161\u1103\u1173\u11A8","\u1100\u1161\u1105\u1173\u110E\u1175\u11B7","\u1100\u1161\u1106\u116E\u11B7","\u1100\u1161\u1107\u1161\u11BC","\u1100\u1161\u1109\u1161\u11BC","\u1100\u1161\u1109\u1173\u11B7","\u1100\u1161\u110B\u116E\u11AB\u1103\u1166","\u1100\u1161\u110B\u1173\u11AF","\u1100\u1161\u110B\u1175\u1103\u1173","\u1100\u1161\u110B\u1175\u11B8","\u1100\u1161\u110C\u1161\u11BC","\u1100\u1161\u110C\u1165\u11BC","\u1100\u1161\u110C\u1169\u11A8","\u1100\u1161\u110C\u116E\u11A8","\u1100\u1161\u11A8\u110B\u1169","\u1100\u1161\u11A8\u110C\u1161","\u1100\u1161\u11AB\u1100\u1167\u11A8","\u1100\u1161\u11AB\u1107\u116E","\u1100\u1161\u11AB\u1109\u1165\u11B8","\u1100\u1161\u11AB\u110C\u1161\u11BC","\u1100\u1161\u11AB\u110C\u1165\u11B8","\u1100\u1161\u11AB\u1111\u1161\u11AB","\u1100\u1161\u11AF\u1103\u1173\u11BC","\u1100\u1161\u11AF\u1107\u1175","\u1100\u1161\u11AF\u1109\u1162\u11A8","\u1100\u1161\u11AF\u110C\u1173\u11BC","\u1100\u1161\u11B7\u1100\u1161\u11A8","\u1100\u1161\u11B7\u1100\u1175","\u1100\u1161\u11B7\u1109\u1169","\u1100\u1161\u11B7\u1109\u116E\u1109\u1165\u11BC","\u1100\u1161\u11B7\u110C\u1161","\u1100\u1161\u11B7\u110C\u1165\u11BC","\u1100\u1161\u11B8\u110C\u1161\u1100\u1175","\u1100\u1161\u11BC\u1102\u1161\u11B7","\u1100\u1161\u11BC\u1103\u1161\u11BC","\u1100\u1161\u11BC\u1103\u1169","\u1100\u1161\u11BC\u1105\u1167\u11A8\u1112\u1175","\u1100\u1161\u11BC\u1107\u1167\u11AB","\u1100\u1161\u11BC\u1107\u116E\u11A8","\u1100\u1161\u11BC\u1109\u1161","\u1100\u1161\u11BC\u1109\u116E\u1105\u1163\u11BC","\u1100\u1161\u11BC\u110B\u1161\u110C\u1175","\u1100\u1161\u11BC\u110B\u116F\u11AB\u1103\u1169","\u1100\u1161\u11BC\u110B\u1174","\u1100\u1161\u11BC\u110C\u1166","\u1100\u1161\u11BC\u110C\u1169","\u1100\u1161\u11C0\u110B\u1175","\u1100\u1162\u1100\u116E\u1105\u1175","\u1100\u1162\u1102\u1161\u1105\u1175","\u1100\u1162\u1107\u1161\u11BC","\u1100\u1162\u1107\u1167\u11AF","\u1100\u1162\u1109\u1165\u11AB","\u1100\u1162\u1109\u1165\u11BC","\u1100\u1162\u110B\u1175\u11AB","\u1100\u1162\u11A8\u1100\u116A\u11AB\u110C\u1165\u11A8","\u1100\u1165\u1109\u1175\u11AF","\u1100\u1165\u110B\u1162\u11A8","\u1100\u1165\u110B\u116E\u11AF","\u1100\u1165\u110C\u1175\u11BA","\u1100\u1165\u1111\u116E\u11B7","\u1100\u1165\u11A8\u110C\u1165\u11BC","\u1100\u1165\u11AB\u1100\u1161\u11BC","\u1100\u1165\u11AB\u1106\u116E\u11AF","\u1100\u1165\u11AB\u1109\u1165\u11AF","\u1100\u1165\u11AB\u110C\u1169","\u1100\u1165\u11AB\u110E\u116E\u11A8","\u1100\u1165\u11AF\u110B\u1173\u11B7","\u1100\u1165\u11B7\u1109\u1161","\u1100\u1165\u11B7\u1110\u1169","\u1100\u1166\u1109\u1175\u1111\u1161\u11AB","\u1100\u1166\u110B\u1175\u11B7","\u1100\u1167\u110B\u116E\u11AF","\u1100\u1167\u11AB\u1112\u1162","\u1100\u1167\u11AF\u1100\u116A","\u1100\u1167\u11AF\u1100\u116E\u11A8","\u1100\u1167\u11AF\u1105\u1169\u11AB","\u1100\u1167\u11AF\u1109\u1165\u11A8","\u1100\u1167\u11AF\u1109\u1173\u11BC","\u1100\u1167\u11AF\u1109\u1175\u11B7","\u1100\u1167\u11AF\u110C\u1165\u11BC","\u1100\u1167\u11AF\u1112\u1169\u11AB","\u1100\u1167\u11BC\u1100\u1168","\u1100\u1167\u11BC\u1100\u1169","\u1100\u1167\u11BC\u1100\u1175","\u1100\u1167\u11BC\u1105\u1167\u11A8","\u1100\u1167\u11BC\u1107\u1169\u11A8\u1100\u116E\u11BC","\u1100\u1167\u11BC\u1107\u1175","\u1100\u1167\u11BC\u1109\u1161\u11BC\u1103\u1169","\u1100\u1167\u11BC\u110B\u1167\u11BC","\u1100\u1167\u11BC\u110B\u116E","\u1100\u1167\u11BC\u110C\u1162\u11BC","\u1100\u1167\u11BC\u110C\u1166","\u1100\u1167\u11BC\u110C\u116E","\u1100\u1167\u11BC\u110E\u1161\u11AF","\u1100\u1167\u11BC\u110E\u1175","\u1100\u1167\u11BC\u1112\u1163\u11BC","\u1100\u1167\u11BC\u1112\u1165\u11B7","\u1100\u1168\u1100\u1169\u11A8","\u1100\u1168\u1103\u1161\u11AB","\u1100\u1168\u1105\u1161\u11AB","\u1100\u1168\u1109\u1161\u11AB","\u1100\u1168\u1109\u1169\u11A8","\u1100\u1168\u110B\u1163\u11A8","\u1100\u1168\u110C\u1165\u11AF","\u1100\u1168\u110E\u1173\u11BC","\u1100\u1168\u1112\u116C\u11A8","\u1100\u1169\u1100\u1162\u11A8","\u1100\u1169\u1100\u116E\u1105\u1167","\u1100\u1169\u1100\u116E\u11BC","\u1100\u1169\u1100\u1173\u11B8","\u1100\u1169\u1103\u1173\u11BC\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1100\u1169\u1106\u116E\u1109\u1175\u11AB","\u1100\u1169\u1106\u1175\u11AB","\u1100\u1169\u110B\u1163\u11BC\u110B\u1175","\u1100\u1169\u110C\u1161\u11BC","\u1100\u1169\u110C\u1165\u11AB","\u1100\u1169\u110C\u1175\u11B8","\u1100\u1169\u110E\u116E\u11BA\u1100\u1161\u1105\u116E","\u1100\u1169\u1110\u1169\u11BC","\u1100\u1169\u1112\u1163\u11BC","\u1100\u1169\u11A8\u1109\u1175\u11A8","\u1100\u1169\u11AF\u1106\u1169\u11A8","\u1100\u1169\u11AF\u110D\u1161\u1100\u1175","\u1100\u1169\u11AF\u1111\u1173","\u1100\u1169\u11BC\u1100\u1161\u11AB","\u1100\u1169\u11BC\u1100\u1162","\u1100\u1169\u11BC\u1100\u1167\u11A8","\u1100\u1169\u11BC\u1100\u116E\u11AB","\u1100\u1169\u11BC\u1100\u1173\u11B8","\u1100\u1169\u11BC\u1100\u1175","\u1100\u1169\u11BC\u1103\u1169\u11BC","\u1100\u1169\u11BC\u1106\u116E\u110B\u116F\u11AB","\u1100\u1169\u11BC\u1107\u116E","\u1100\u1169\u11BC\u1109\u1161","\u1100\u1169\u11BC\u1109\u1175\u11A8","\u1100\u1169\u11BC\u110B\u1165\u11B8","\u1100\u1169\u11BC\u110B\u1167\u11AB","\u1100\u1169\u11BC\u110B\u116F\u11AB","\u1100\u1169\u11BC\u110C\u1161\u11BC","\u1100\u1169\u11BC\u110D\u1161","\u1100\u1169\u11BC\u110E\u1162\u11A8","\u1100\u1169\u11BC\u1110\u1169\u11BC","\u1100\u1169\u11BC\u1111\u1169","\u1100\u1169\u11BC\u1112\u1161\u11BC","\u1100\u1169\u11BC\u1112\u1172\u110B\u1175\u11AF","\u1100\u116A\u1106\u1169\u11A8","\u1100\u116A\u110B\u1175\u11AF","\u1100\u116A\u110C\u1161\u11BC","\u1100\u116A\u110C\u1165\u11BC","\u1100\u116A\u1112\u1161\u11A8","\u1100\u116A\u11AB\u1100\u1162\u11A8","\u1100\u116A\u11AB\u1100\u1168","\u1100\u116A\u11AB\u1100\u116A\u11BC","\u1100\u116A\u11AB\u1102\u1167\u11B7","\u1100\u116A\u11AB\u1105\u1161\u11B7","\u1100\u116A\u11AB\u1105\u1167\u11AB","\u1100\u116A\u11AB\u1105\u1175","\u1100\u116A\u11AB\u1109\u1173\u11B8","\u1100\u116A\u11AB\u1109\u1175\u11B7","\u1100\u116A\u11AB\u110C\u1165\u11B7","\u1100\u116A\u11AB\u110E\u1161\u11AF","\u1100\u116A\u11BC\u1100\u1167\u11BC","\u1100\u116A\u11BC\u1100\u1169","\u1100\u116A\u11BC\u110C\u1161\u11BC","\u1100\u116A\u11BC\u110C\u116E","\u1100\u116C\u1105\u1169\u110B\u116E\u11B7","\u1100\u116C\u11BC\u110C\u1161\u11BC\u1112\u1175","\u1100\u116D\u1100\u116A\u1109\u1165","\u1100\u116D\u1106\u116E\u11AB","\u1100\u116D\u1107\u1169\u11A8","\u1100\u116D\u1109\u1175\u11AF","\u1100\u116D\u110B\u1163\u11BC","\u1100\u116D\u110B\u1172\u11A8","\u1100\u116D\u110C\u1161\u11BC","\u1100\u116D\u110C\u1175\u11A8","\u1100\u116D\u1110\u1169\u11BC","\u1100\u116D\u1112\u116A\u11AB","\u1100\u116D\u1112\u116E\u11AB","\u1100\u116E\u1100\u1167\u11BC","\u1100\u116E\u1105\u1173\u11B7","\u1100\u116E\u1106\u1165\u11BC","\u1100\u116E\u1107\u1167\u11AF","\u1100\u116E\u1107\u116E\u11AB","\u1100\u116E\u1109\u1165\u11A8","\u1100\u116E\u1109\u1165\u11BC","\u1100\u116E\u1109\u1169\u11A8","\u1100\u116E\u110B\u1167\u11A8","\u1100\u116E\u110B\u1175\u11B8","\u1100\u116E\u110E\u1165\u11BC","\u1100\u116E\u110E\u1166\u110C\u1165\u11A8","\u1100\u116E\u11A8\u1100\u1161","\u1100\u116E\u11A8\u1100\u1175","\u1100\u116E\u11A8\u1102\u1162","\u1100\u116E\u11A8\u1105\u1175\u11B8","\u1100\u116E\u11A8\u1106\u116E\u11AF","\u1100\u116E\u11A8\u1106\u1175\u11AB","\u1100\u116E\u11A8\u1109\u116E","\u1100\u116E\u11A8\u110B\u1165","\u1100\u116E\u11A8\u110B\u116A\u11BC","\u1100\u116E\u11A8\u110C\u1165\u11A8","\u1100\u116E\u11A8\u110C\u1166","\u1100\u116E\u11A8\u1112\u116C","\u1100\u116E\u11AB\u1103\u1162","\u1100\u116E\u11AB\u1109\u1161","\u1100\u116E\u11AB\u110B\u1175\u11AB","\u1100\u116E\u11BC\u1100\u1173\u11A8\u110C\u1165\u11A8","\u1100\u116F\u11AB\u1105\u1175","\u1100\u116F\u11AB\u110B\u1171","\u1100\u116F\u11AB\u1110\u116E","\u1100\u1171\u1100\u116E\u11A8","\u1100\u1171\u1109\u1175\u11AB","\u1100\u1172\u110C\u1165\u11BC","\u1100\u1172\u110E\u1175\u11A8","\u1100\u1172\u11AB\u1112\u1167\u11BC","\u1100\u1173\u1102\u1161\u11AF","\u1100\u1173\u1102\u1163\u11BC","\u1100\u1173\u1102\u1173\u11AF","\u1100\u1173\u1105\u1165\u1102\u1161","\u1100\u1173\u1105\u116E\u11B8","\u1100\u1173\u1105\u1173\u11BA","\u1100\u1173\u1105\u1175\u11B7","\u1100\u1173\u110C\u1166\u1109\u1165\u110B\u1163","\u1100\u1173\u1110\u1169\u1105\u1169\u11A8","\u1100\u1173\u11A8\u1107\u1169\u11A8","\u1100\u1173\u11A8\u1112\u1175","\u1100\u1173\u11AB\u1100\u1165","\u1100\u1173\u11AB\u1100\u116D","\u1100\u1173\u11AB\u1105\u1162","\u1100\u1173\u11AB\u1105\u1169","\u1100\u1173\u11AB\u1106\u116E","\u1100\u1173\u11AB\u1107\u1169\u11AB","\u1100\u1173\u11AB\u110B\u116F\u11AB","\u1100\u1173\u11AB\u110B\u1172\u11A8","\u1100\u1173\u11AB\u110E\u1165","\u1100\u1173\u11AF\u110A\u1175","\u1100\u1173\u11AF\u110C\u1161","\u1100\u1173\u11B7\u1100\u1161\u11BC\u1109\u1161\u11AB","\u1100\u1173\u11B7\u1100\u1169","\u1100\u1173\u11B7\u1102\u1167\u11AB","\u1100\u1173\u11B7\u1106\u1166\u1103\u1161\u11AF","\u1100\u1173\u11B7\u110B\u1162\u11A8","\u1100\u1173\u11B7\u110B\u1167\u11AB","\u1100\u1173\u11B7\u110B\u116D\u110B\u1175\u11AF","\u1100\u1173\u11B7\u110C\u1175","\u1100\u1173\u11BC\u110C\u1165\u11BC\u110C\u1165\u11A8","\u1100\u1175\u1100\u1161\u11AB","\u1100\u1175\u1100\u116A\u11AB","\u1100\u1175\u1102\u1167\u11B7","\u1100\u1175\u1102\u1173\u11BC","\u1100\u1175\u1103\u1169\u11A8\u1100\u116D","\u1100\u1175\u1103\u116E\u11BC","\u1100\u1175\u1105\u1169\u11A8","\u1100\u1175\u1105\u1173\u11B7","\u1100\u1175\u1107\u1165\u11B8","\u1100\u1175\u1107\u1169\u11AB","\u1100\u1175\u1107\u116E\u11AB","\u1100\u1175\u1108\u1173\u11B7","\u1100\u1175\u1109\u116E\u11A8\u1109\u1161","\u1100\u1175\u1109\u116E\u11AF","\u1100\u1175\u110B\u1165\u11A8","\u1100\u1175\u110B\u1165\u11B8","\u1100\u1175\u110B\u1169\u11AB","\u1100\u1175\u110B\u116E\u11AB","\u1100\u1175\u110B\u116F\u11AB","\u1100\u1175\u110C\u1165\u11A8","\u1100\u1175\u110C\u116E\u11AB","\u1100\u1175\u110E\u1175\u11B7","\u1100\u1175\u1112\u1169\u11AB","\u1100\u1175\u1112\u116C\u11A8","\u1100\u1175\u11AB\u1100\u1173\u11B8","\u1100\u1175\u11AB\u110C\u1161\u11BC","\u1100\u1175\u11AF\u110B\u1175","\u1100\u1175\u11B7\u1107\u1161\u11B8","\u1100\u1175\u11B7\u110E\u1175","\u1100\u1175\u11B7\u1111\u1169\u1100\u1169\u11BC\u1112\u1161\u11BC","\u1101\u1161\u11A8\u1103\u116E\u1100\u1175","\u1101\u1161\u11B7\u1108\u1161\u11A8","\u1101\u1162\u1103\u1161\u11AF\u110B\u1173\u11B7","\u1101\u1162\u1109\u1169\u1100\u1173\u11B7","\u1101\u1165\u11B8\u110C\u1175\u11AF","\u1101\u1169\u11A8\u1103\u1162\u1100\u1175","\u1101\u1169\u11BE\u110B\u1175\u11C1","\u1102\u1161\u1103\u1173\u11AF\u110B\u1175","\u1102\u1161\u1105\u1161\u11AB\u1112\u1175","\u1102\u1161\u1106\u1165\u110C\u1175","\u1102\u1161\u1106\u116E\u11AF","\u1102\u1161\u110E\u1175\u11B7\u1107\u1161\u11AB","\u1102\u1161\u1112\u1173\u11AF","\u1102\u1161\u11A8\u110B\u1167\u11B8","\u1102\u1161\u11AB\u1107\u1161\u11BC","\u1102\u1161\u11AF\u1100\u1162","\u1102\u1161\u11AF\u110A\u1175","\u1102\u1161\u11AF\u110D\u1161","\u1102\u1161\u11B7\u1102\u1167","\u1102\u1161\u11B7\u1103\u1162\u1106\u116E\u11AB","\u1102\u1161\u11B7\u1106\u1162","\u1102\u1161\u11B7\u1109\u1161\u11AB","\u1102\u1161\u11B7\u110C\u1161","\u1102\u1161\u11B7\u1111\u1167\u11AB","\u1102\u1161\u11B7\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1102\u1161\u11BC\u1107\u1175","\u1102\u1161\u11C0\u1106\u1161\u11AF","\u1102\u1162\u1102\u1167\u11AB","\u1102\u1162\u110B\u116D\u11BC","\u1102\u1162\u110B\u1175\u11AF","\u1102\u1162\u11B7\u1107\u1175","\u1102\u1162\u11B7\u1109\u1162","\u1102\u1162\u11BA\u1106\u116E\u11AF","\u1102\u1162\u11BC\u1103\u1169\u11BC","\u1102\u1162\u11BC\u1106\u1167\u11AB","\u1102\u1162\u11BC\u1107\u1161\u11BC","\u1102\u1162\u11BC\u110C\u1161\u11BC\u1100\u1169","\u1102\u1166\u11A8\u1110\u1161\u110B\u1175","\u1102\u1166\u11BA\u110D\u1162","\u1102\u1169\u1103\u1169\u11BC","\u1102\u1169\u1105\u1161\u11AB\u1109\u1162\u11A8","\u1102\u1169\u1105\u1167\u11A8","\u1102\u1169\u110B\u1175\u11AB","\u1102\u1169\u11A8\u110B\u1173\u11B7","\u1102\u1169\u11A8\u110E\u1161","\u1102\u1169\u11A8\u1112\u116A","\u1102\u1169\u11AB\u1105\u1175","\u1102\u1169\u11AB\u1106\u116E\u11AB","\u1102\u1169\u11AB\u110C\u1162\u11BC","\u1102\u1169\u11AF\u110B\u1175","\u1102\u1169\u11BC\u1100\u116E","\u1102\u1169\u11BC\u1103\u1161\u11B7","\u1102\u1169\u11BC\u1106\u1175\u11AB","\u1102\u1169\u11BC\u1107\u116E","\u1102\u1169\u11BC\u110B\u1165\u11B8","\u1102\u1169\u11BC\u110C\u1161\u11BC","\u1102\u1169\u11BC\u110E\u1169\u11AB","\u1102\u1169\u11C1\u110B\u1175","\u1102\u116E\u11AB\u1103\u1169\u11BC\u110C\u1161","\u1102\u116E\u11AB\u1106\u116E\u11AF","\u1102\u116E\u11AB\u110A\u1165\u11B8","\u1102\u1172\u110B\u116D\u11A8","\u1102\u1173\u1101\u1175\u11B7","\u1102\u1173\u11A8\u1103\u1162","\u1102\u1173\u11BC\u1103\u1169\u11BC\u110C\u1165\u11A8","\u1102\u1173\u11BC\u1105\u1167\u11A8","\u1103\u1161\u1107\u1161\u11BC","\u1103\u1161\u110B\u1163\u11BC\u1109\u1165\u11BC","\u1103\u1161\u110B\u1173\u11B7","\u1103\u1161\u110B\u1175\u110B\u1165\u1110\u1173","\u1103\u1161\u1112\u1162\u11BC","\u1103\u1161\u11AB\u1100\u1168","\u1103\u1161\u11AB\u1100\u1169\u11AF","\u1103\u1161\u11AB\u1103\u1169\u11A8","\u1103\u1161\u11AB\u1106\u1161\u11BA","\u1103\u1161\u11AB\u1109\u116E\u11AB","\u1103\u1161\u11AB\u110B\u1165","\u1103\u1161\u11AB\u110B\u1171","\u1103\u1161\u11AB\u110C\u1165\u11B7","\u1103\u1161\u11AB\u110E\u1166","\u1103\u1161\u11AB\u110E\u116E","\u1103\u1161\u11AB\u1111\u1167\u11AB","\u1103\u1161\u11AB\u1111\u116E\u11BC","\u1103\u1161\u11AF\u1100\u1163\u11AF","\u1103\u1161\u11AF\u1105\u1165","\u1103\u1161\u11AF\u1105\u1167\u11A8","\u1103\u1161\u11AF\u1105\u1175","\u1103\u1161\u11B0\u1100\u1169\u1100\u1175","\u1103\u1161\u11B7\u1103\u1161\u11BC","\u1103\u1161\u11B7\u1107\u1162","\u1103\u1161\u11B7\u110B\u116D","\u1103\u1161\u11B7\u110B\u1175\u11B7","\u1103\u1161\u11B8\u1107\u1167\u11AB","\u1103\u1161\u11B8\u110C\u1161\u11BC","\u1103\u1161\u11BC\u1100\u1173\u11AB","\u1103\u1161\u11BC\u1107\u116E\u11AB\u1100\u1161\u11AB","\u1103\u1161\u11BC\u110B\u1167\u11AB\u1112\u1175","\u1103\u1161\u11BC\u110C\u1161\u11BC","\u1103\u1162\u1100\u1172\u1106\u1169","\u1103\u1162\u1102\u1161\u11BD","\u1103\u1162\u1103\u1161\u11AB\u1112\u1175","\u1103\u1162\u1103\u1161\u11B8","\u1103\u1162\u1103\u1169\u1109\u1175","\u1103\u1162\u1105\u1163\u11A8","\u1103\u1162\u1105\u1163\u11BC","\u1103\u1162\u1105\u1172\u11A8","\u1103\u1162\u1106\u116E\u11AB","\u1103\u1162\u1107\u116E\u1107\u116E\u11AB","\u1103\u1162\u1109\u1175\u11AB","\u1103\u1162\u110B\u1173\u11BC","\u1103\u1162\u110C\u1161\u11BC","\u1103\u1162\u110C\u1165\u11AB","\u1103\u1162\u110C\u1165\u11B8","\u1103\u1162\u110C\u116E\u11BC","\u1103\u1162\u110E\u1162\u11A8","\u1103\u1162\u110E\u116E\u11AF","\u1103\u1162\u110E\u116E\u11BC","\u1103\u1162\u1110\u1169\u11BC\u1105\u1167\u11BC","\u1103\u1162\u1112\u1161\u11A8","\u1103\u1162\u1112\u1161\u11AB\u1106\u1175\u11AB\u1100\u116E\u11A8","\u1103\u1162\u1112\u1161\u11B8\u1109\u1175\u11AF","\u1103\u1162\u1112\u1167\u11BC","\u1103\u1165\u11BC\u110B\u1165\u1105\u1175","\u1103\u1166\u110B\u1175\u1110\u1173","\u1103\u1169\u1103\u1162\u110E\u1166","\u1103\u1169\u1103\u1165\u11A8","\u1103\u1169\u1103\u116E\u11A8","\u1103\u1169\u1106\u1161\u11BC","\u1103\u1169\u1109\u1165\u1100\u116A\u11AB","\u1103\u1169\u1109\u1175\u11B7","\u1103\u1169\u110B\u116E\u11B7","\u1103\u1169\u110B\u1175\u11B8","\u1103\u1169\u110C\u1161\u1100\u1175","\u1103\u1169\u110C\u1165\u1112\u1175","\u1103\u1169\u110C\u1165\u11AB","\u1103\u1169\u110C\u116E\u11BC","\u1103\u1169\u110E\u1161\u11A8","\u1103\u1169\u11A8\u1100\u1161\u11B7","\u1103\u1169\u11A8\u1105\u1175\u11B8","\u1103\u1169\u11A8\u1109\u1165","\u1103\u1169\u11A8\u110B\u1175\u11AF","\u1103\u1169\u11A8\u110E\u1161\u11BC\u110C\u1165\u11A8","\u1103\u1169\u11BC\u1112\u116A\u110E\u1162\u11A8","\u1103\u1171\u11BA\u1106\u1169\u1109\u1173\u11B8","\u1103\u1171\u11BA\u1109\u1161\u11AB","\u1104\u1161\u11AF\u110B\u1161\u110B\u1175","\u1106\u1161\u1102\u116E\u1105\u1161","\u1106\u1161\u1102\u1173\u11AF","\u1106\u1161\u1103\u1161\u11BC","\u1106\u1161\u1105\u1161\u1110\u1169\u11AB","\u1106\u1161\u1105\u1167\u11AB","\u1106\u1161\u1106\u116E\u1105\u1175","\u1106\u1161\u1109\u1161\u110C\u1175","\u1106\u1161\u110B\u1163\u11A8","\u1106\u1161\u110B\u116D\u1102\u1166\u110C\u1173","\u1106\u1161\u110B\u1173\u11AF","\u1106\u1161\u110B\u1173\u11B7","\u1106\u1161\u110B\u1175\u110F\u1173","\u1106\u1161\u110C\u116E\u11BC","\u1106\u1161\u110C\u1175\u1106\u1161\u11A8","\u1106\u1161\u110E\u1161\u11AB\u1100\u1161\u110C\u1175","\u1106\u1161\u110E\u1161\u11AF","\u1106\u1161\u1112\u1173\u11AB","\u1106\u1161\u11A8\u1100\u1165\u11AF\u1105\u1175","\u1106\u1161\u11A8\u1102\u1162","\u1106\u1161\u11A8\u1109\u1161\u11BC","\u1106\u1161\u11AB\u1102\u1161\u11B7","\u1106\u1161\u11AB\u1103\u116E","\u1106\u1161\u11AB\u1109\u1166","\u1106\u1161\u11AB\u110B\u1163\u11A8","\u1106\u1161\u11AB\u110B\u1175\u11AF","\u1106\u1161\u11AB\u110C\u1165\u11B7","\u1106\u1161\u11AB\u110C\u1169\u11A8","\u1106\u1161\u11AB\u1112\u116A","\u1106\u1161\u11AD\u110B\u1175","\u1106\u1161\u11AF\u1100\u1175","\u1106\u1161\u11AF\u110A\u1173\u11B7","\u1106\u1161\u11AF\u1110\u116E","\u1106\u1161\u11B7\u1103\u1162\u1105\u1169","\u1106\u1161\u11BC\u110B\u116F\u11AB\u1100\u1167\u11BC","\u1106\u1162\u1102\u1167\u11AB","\u1106\u1162\u1103\u1161\u11AF","\u1106\u1162\u1105\u1167\u11A8","\u1106\u1162\u1107\u1165\u11AB","\u1106\u1162\u1109\u1173\u110F\u1165\u11B7","\u1106\u1162\u110B\u1175\u11AF","\u1106\u1162\u110C\u1161\u11BC","\u1106\u1162\u11A8\u110C\u116E","\u1106\u1165\u11A8\u110B\u1175","\u1106\u1165\u11AB\u110C\u1165","\u1106\u1165\u11AB\u110C\u1175","\u1106\u1165\u11AF\u1105\u1175","\u1106\u1166\u110B\u1175\u11AF","\u1106\u1167\u1102\u1173\u1105\u1175","\u1106\u1167\u110E\u1175\u11AF","\u1106\u1167\u11AB\u1103\u1161\u11B7","\u1106\u1167\u11AF\u110E\u1175","\u1106\u1167\u11BC\u1103\u1161\u11AB","\u1106\u1167\u11BC\u1105\u1167\u11BC","\u1106\u1167\u11BC\u110B\u1168","\u1106\u1167\u11BC\u110B\u1174","\u1106\u1167\u11BC\u110C\u1165\u11AF","\u1106\u1167\u11BC\u110E\u1175\u11BC","\u1106\u1167\u11BC\u1112\u1161\u11B7","\u1106\u1169\u1100\u1173\u11B7","\u1106\u1169\u1102\u1175\u1110\u1165","\u1106\u1169\u1103\u1166\u11AF","\u1106\u1169\u1103\u1173\u11AB","\u1106\u1169\u1107\u1165\u11B7","\u1106\u1169\u1109\u1173\u11B8","\u1106\u1169\u110B\u1163\u11BC","\u1106\u1169\u110B\u1175\u11B7","\u1106\u1169\u110C\u1169\u1105\u1175","\u1106\u1169\u110C\u1175\u11B8","\u1106\u1169\u1110\u116E\u11BC\u110B\u1175","\u1106\u1169\u11A8\u1100\u1165\u11AF\u110B\u1175","\u1106\u1169\u11A8\u1105\u1169\u11A8","\u1106\u1169\u11A8\u1109\u1161","\u1106\u1169\u11A8\u1109\u1169\u1105\u1175","\u1106\u1169\u11A8\u1109\u116E\u11B7","\u1106\u1169\u11A8\u110C\u1165\u11A8","\u1106\u1169\u11A8\u1111\u116D","\u1106\u1169\u11AF\u1105\u1162","\u1106\u1169\u11B7\u1106\u1162","\u1106\u1169\u11B7\u1106\u116E\u1100\u1166","\u1106\u1169\u11B7\u1109\u1161\u11AF","\u1106\u1169\u11B7\u1109\u1169\u11A8","\u1106\u1169\u11B7\u110C\u1175\u11BA","\u1106\u1169\u11B7\u1110\u1169\u11BC","\u1106\u1169\u11B8\u1109\u1175","\u1106\u116E\u1100\u116A\u11AB\u1109\u1175\u11B7","\u1106\u116E\u1100\u116E\u11BC\u1112\u116A","\u1106\u116E\u1103\u1165\u110B\u1171","\u1106\u116E\u1103\u1165\u11B7","\u1106\u116E\u1105\u1173\u11C1","\u1106\u116E\u1109\u1173\u11AB","\u1106\u116E\u110B\u1165\u11BA","\u1106\u116E\u110B\u1167\u11A8","\u1106\u116E\u110B\u116D\u11BC","\u1106\u116E\u110C\u1169\u1100\u1165\u11AB","\u1106\u116E\u110C\u1175\u1100\u1162","\u1106\u116E\u110E\u1165\u11A8","\u1106\u116E\u11AB\u1100\u116E","\u1106\u116E\u11AB\u1103\u1173\u11A8","\u1106\u116E\u11AB\u1107\u1165\u11B8","\u1106\u116E\u11AB\u1109\u1165","\u1106\u116E\u11AB\u110C\u1166","\u1106\u116E\u11AB\u1112\u1161\u11A8","\u1106\u116E\u11AB\u1112\u116A","\u1106\u116E\u11AF\u1100\u1161","\u1106\u116E\u11AF\u1100\u1165\u11AB","\u1106\u116E\u11AF\u1100\u1167\u11AF","\u1106\u116E\u11AF\u1100\u1169\u1100\u1175","\u1106\u116E\u11AF\u1105\u1169\u11AB","\u1106\u116E\u11AF\u1105\u1175\u1112\u1161\u11A8","\u1106\u116E\u11AF\u110B\u1173\u11B7","\u1106\u116E\u11AF\u110C\u1175\u11AF","\u1106\u116E\u11AF\u110E\u1166","\u1106\u1175\u1100\u116E\u11A8","\u1106\u1175\u1103\u1175\u110B\u1165","\u1106\u1175\u1109\u1161\u110B\u1175\u11AF","\u1106\u1175\u1109\u116E\u11AF","\u1106\u1175\u110B\u1167\u11A8","\u1106\u1175\u110B\u116D\u11BC\u1109\u1175\u11AF","\u1106\u1175\u110B\u116E\u11B7","\u1106\u1175\u110B\u1175\u11AB","\u1106\u1175\u1110\u1175\u11BC","\u1106\u1175\u1112\u1169\u11AB","\u1106\u1175\u11AB\u1100\u1161\u11AB","\u1106\u1175\u11AB\u110C\u1169\u11A8","\u1106\u1175\u11AB\u110C\u116E","\u1106\u1175\u11AE\u110B\u1173\u11B7","\u1106\u1175\u11AF\u1100\u1161\u1105\u116E","\u1106\u1175\u11AF\u1105\u1175\u1106\u1175\u1110\u1165","\u1106\u1175\u11C0\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u1100\u1161\u110C\u1175","\u1107\u1161\u1100\u116E\u1102\u1175","\u1107\u1161\u1102\u1161\u1102\u1161","\u1107\u1161\u1102\u1173\u11AF","\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u1103\u1161\u11BA\u1100\u1161","\u1107\u1161\u1105\u1161\u11B7","\u1107\u1161\u110B\u1175\u1105\u1165\u1109\u1173","\u1107\u1161\u1110\u1161\u11BC","\u1107\u1161\u11A8\u1106\u116E\u11AF\u1100\u116A\u11AB","\u1107\u1161\u11A8\u1109\u1161","\u1107\u1161\u11A8\u1109\u116E","\u1107\u1161\u11AB\u1103\u1162","\u1107\u1161\u11AB\u1103\u1173\u1109\u1175","\u1107\u1161\u11AB\u1106\u1161\u11AF","\u1107\u1161\u11AB\u1107\u1161\u11AF","\u1107\u1161\u11AB\u1109\u1165\u11BC","\u1107\u1161\u11AB\u110B\u1173\u11BC","\u1107\u1161\u11AB\u110C\u1161\u11BC","\u1107\u1161\u11AB\u110C\u116E\u11A8","\u1107\u1161\u11AB\u110C\u1175","\u1107\u1161\u11AB\u110E\u1161\u11AB","\u1107\u1161\u11AE\u110E\u1175\u11B7","\u1107\u1161\u11AF\u1100\u1161\u1105\u1161\u11A8","\u1107\u1161\u11AF\u1100\u1165\u11AF\u110B\u1173\u11B7","\u1107\u1161\u11AF\u1100\u1167\u11AB","\u1107\u1161\u11AF\u1103\u1161\u11AF","\u1107\u1161\u11AF\u1105\u1166","\u1107\u1161\u11AF\u1106\u1169\u11A8","\u1107\u1161\u11AF\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u11AF\u1109\u1162\u11BC","\u1107\u1161\u11AF\u110B\u1173\u11B7","\u1107\u1161\u11AF\u110C\u1161\u1100\u116E\u11A8","\u1107\u1161\u11AF\u110C\u1165\u11AB","\u1107\u1161\u11AF\u1110\u1169\u11B8","\u1107\u1161\u11AF\u1111\u116D","\u1107\u1161\u11B7\u1112\u1161\u1102\u1173\u11AF","\u1107\u1161\u11B8\u1100\u1173\u1105\u1173\u11BA","\u1107\u1161\u11B8\u1106\u1161\u11BA","\u1107\u1161\u11B8\u1109\u1161\u11BC","\u1107\u1161\u11B8\u1109\u1169\u11C0","\u1107\u1161\u11BC\u1100\u1173\u11B7","\u1107\u1161\u11BC\u1106\u1167\u11AB","\u1107\u1161\u11BC\u1106\u116E\u11AB","\u1107\u1161\u11BC\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u11BC\u1107\u1165\u11B8","\u1107\u1161\u11BC\u1109\u1169\u11BC","\u1107\u1161\u11BC\u1109\u1175\u11A8","\u1107\u1161\u11BC\u110B\u1161\u11AB","\u1107\u1161\u11BC\u110B\u116E\u11AF","\u1107\u1161\u11BC\u110C\u1175","\u1107\u1161\u11BC\u1112\u1161\u11A8","\u1107\u1161\u11BC\u1112\u1162","\u1107\u1161\u11BC\u1112\u1163\u11BC","\u1107\u1162\u1100\u1167\u11BC","\u1107\u1162\u1101\u1169\u11B8","\u1107\u1162\u1103\u1161\u11AF","\u1107\u1162\u1103\u1173\u1106\u1175\u11AB\u1110\u1165\u11AB","\u1107\u1162\u11A8\u1103\u116E\u1109\u1161\u11AB","\u1107\u1162\u11A8\u1109\u1162\u11A8","\u1107\u1162\u11A8\u1109\u1165\u11BC","\u1107\u1162\u11A8\u110B\u1175\u11AB","\u1107\u1162\u11A8\u110C\u1166","\u1107\u1162\u11A8\u1112\u116A\u110C\u1165\u11B7","\u1107\u1165\u1105\u1173\u11BA","\u1107\u1165\u1109\u1165\u11BA","\u1107\u1165\u1110\u1173\u11AB","\u1107\u1165\u11AB\u1100\u1162","\u1107\u1165\u11AB\u110B\u1167\u11A8","\u1107\u1165\u11AB\u110C\u1175","\u1107\u1165\u11AB\u1112\u1169","\u1107\u1165\u11AF\u1100\u1173\u11B7","\u1107\u1165\u11AF\u1105\u1166","\u1107\u1165\u11AF\u110A\u1165","\u1107\u1165\u11B7\u110B\u1171","\u1107\u1165\u11B7\u110B\u1175\u11AB","\u1107\u1165\u11B7\u110C\u116C","\u1107\u1165\u11B8\u1105\u1172\u11AF","\u1107\u1165\u11B8\u110B\u116F\u11AB","\u1107\u1165\u11B8\u110C\u1165\u11A8","\u1107\u1165\u11B8\u110E\u1175\u11A8","\u1107\u1166\u110B\u1175\u110C\u1175\u11BC","\u1107\u1166\u11AF\u1110\u1173","\u1107\u1167\u11AB\u1100\u1167\u11BC","\u1107\u1167\u11AB\u1103\u1169\u11BC","\u1107\u1167\u11AB\u1106\u1167\u11BC","\u1107\u1167\u11AB\u1109\u1175\u11AB","\u1107\u1167\u11AB\u1112\u1169\u1109\u1161","\u1107\u1167\u11AB\u1112\u116A","\u1107\u1167\u11AF\u1103\u1169","\u1107\u1167\u11AF\u1106\u1167\u11BC","\u1107\u1167\u11AF\u110B\u1175\u11AF","\u1107\u1167\u11BC\u1109\u1175\u11AF","\u1107\u1167\u11BC\u110B\u1161\u1105\u1175","\u1107\u1167\u11BC\u110B\u116F\u11AB","\u1107\u1169\u1100\u116A\u11AB","\u1107\u1169\u1102\u1165\u1109\u1173","\u1107\u1169\u1105\u1161\u1109\u1162\u11A8","\u1107\u1169\u1105\u1161\u11B7","\u1107\u1169\u1105\u1173\u11B7","\u1107\u1169\u1109\u1161\u11BC","\u1107\u1169\u110B\u1161\u11AB","\u1107\u1169\u110C\u1161\u1100\u1175","\u1107\u1169\u110C\u1161\u11BC","\u1107\u1169\u110C\u1165\u11AB","\u1107\u1169\u110C\u1169\u11AB","\u1107\u1169\u1110\u1169\u11BC","\u1107\u1169\u1111\u1167\u11AB\u110C\u1165\u11A8","\u1107\u1169\u1112\u1165\u11B7","\u1107\u1169\u11A8\u1103\u1169","\u1107\u1169\u11A8\u1109\u1161","\u1107\u1169\u11A8\u1109\u116E\u11BC\u110B\u1161","\u1107\u1169\u11A8\u1109\u1173\u11B8","\u1107\u1169\u11A9\u110B\u1173\u11B7","\u1107\u1169\u11AB\u1100\u1167\u11A8\u110C\u1165\u11A8","\u1107\u1169\u11AB\u1105\u1162","\u1107\u1169\u11AB\u1107\u116E","\u1107\u1169\u11AB\u1109\u1161","\u1107\u1169\u11AB\u1109\u1165\u11BC","\u1107\u1169\u11AB\u110B\u1175\u11AB","\u1107\u1169\u11AB\u110C\u1175\u11AF","\u1107\u1169\u11AF\u1111\u1166\u11AB","\u1107\u1169\u11BC\u1109\u1161","\u1107\u1169\u11BC\u110C\u1175","\u1107\u1169\u11BC\u1110\u116E","\u1107\u116E\u1100\u1173\u11AB","\u1107\u116E\u1101\u1173\u1105\u1165\u110B\u116E\u11B7","\u1107\u116E\u1103\u1161\u11B7","\u1107\u116E\u1103\u1169\u11BC\u1109\u1161\u11AB","\u1107\u116E\u1106\u116E\u11AB","\u1107\u116E\u1107\u116E\u11AB","\u1107\u116E\u1109\u1161\u11AB","\u1107\u116E\u1109\u1161\u11BC","\u1107\u116E\u110B\u1165\u11BF","\u1107\u116E\u110B\u1175\u11AB","\u1107\u116E\u110C\u1161\u11A8\u110B\u116D\u11BC","\u1107\u116E\u110C\u1161\u11BC","\u1107\u116E\u110C\u1165\u11BC","\u1107\u116E\u110C\u1169\u11A8","\u1107\u116E\u110C\u1175\u1105\u1165\u11AB\u1112\u1175","\u1107\u116E\u110E\u1175\u11AB","\u1107\u116E\u1110\u1161\u11A8","\u1107\u116E\u1111\u116E\u11B7","\u1107\u116E\u1112\u116C\u110C\u1161\u11BC","\u1107\u116E\u11A8\u1107\u116E","\u1107\u116E\u11A8\u1112\u1161\u11AB","\u1107\u116E\u11AB\u1102\u1169","\u1107\u116E\u11AB\u1105\u1163\u11BC","\u1107\u116E\u11AB\u1105\u1175","\u1107\u116E\u11AB\u1106\u1167\u11BC","\u1107\u116E\u11AB\u1109\u1165\u11A8","\u1107\u116E\u11AB\u110B\u1163","\u1107\u116E\u11AB\u110B\u1171\u1100\u1175","\u1107\u116E\u11AB\u1111\u1175\u11AF","\u1107\u116E\u11AB\u1112\u1169\u11BC\u1109\u1162\u11A8","\u1107\u116E\u11AF\u1100\u1169\u1100\u1175","\u1107\u116E\u11AF\u1100\u116A","\u1107\u116E\u11AF\u1100\u116D","\u1107\u116E\u11AF\u1101\u1169\u11BE","\u1107\u116E\u11AF\u1106\u1161\u11AB","\u1107\u116E\u11AF\u1107\u1165\u11B8","\u1107\u116E\u11AF\u1107\u1175\u11BE","\u1107\u116E\u11AF\u110B\u1161\u11AB","\u1107\u116E\u11AF\u110B\u1175\u110B\u1175\u11A8","\u1107\u116E\u11AF\u1112\u1162\u11BC","\u1107\u1173\u1105\u1162\u11AB\u1103\u1173","\u1107\u1175\u1100\u1173\u11A8","\u1107\u1175\u1102\u1161\u11AB","\u1107\u1175\u1102\u1175\u11AF","\u1107\u1175\u1103\u116E\u11AF\u1100\u1175","\u1107\u1175\u1103\u1175\u110B\u1169","\u1107\u1175\u1105\u1169\u1109\u1169","\u1107\u1175\u1106\u1161\u11AB","\u1107\u1175\u1106\u1167\u11BC","\u1107\u1175\u1106\u1175\u11AF","\u1107\u1175\u1107\u1161\u1105\u1161\u11B7","\u1107\u1175\u1107\u1175\u11B7\u1107\u1161\u11B8","\u1107\u1175\u1109\u1161\u11BC","\u1107\u1175\u110B\u116D\u11BC","\u1107\u1175\u110B\u1172\u11AF","\u1107\u1175\u110C\u116E\u11BC","\u1107\u1175\u1110\u1161\u1106\u1175\u11AB","\u1107\u1175\u1111\u1161\u11AB","\u1107\u1175\u11AF\u1103\u1175\u11BC","\u1107\u1175\u11BA\u1106\u116E\u11AF","\u1107\u1175\u11BA\u1107\u1161\u11BC\u110B\u116E\u11AF","\u1107\u1175\u11BA\u110C\u116E\u11AF\u1100\u1175","\u1107\u1175\u11BE\u1101\u1161\u11AF","\u1108\u1161\u11AF\u1100\u1161\u11AB\u1109\u1162\u11A8","\u1108\u1161\u11AF\u1105\u1162","\u1108\u1161\u11AF\u1105\u1175","\u1109\u1161\u1100\u1165\u11AB","\u1109\u1161\u1100\u1168\u110C\u1165\u11AF","\u1109\u1161\u1102\u1161\u110B\u1175","\u1109\u1161\u1102\u1163\u11BC","\u1109\u1161\u1105\u1161\u11B7","\u1109\u1161\u1105\u1161\u11BC","\u1109\u1161\u1105\u1175\u11B8","\u1109\u1161\u1106\u1169\u1102\u1175\u11B7","\u1109\u1161\u1106\u116E\u11AF","\u1109\u1161\u1107\u1161\u11BC","\u1109\u1161\u1109\u1161\u11BC","\u1109\u1161\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1161\u1109\u1165\u11AF","\u1109\u1161\u1109\u1173\u11B7","\u1109\u1161\u1109\u1175\u11AF","\u1109\u1161\u110B\u1165\u11B8","\u1109\u1161\u110B\u116D\u11BC","\u1109\u1161\u110B\u116F\u11AF","\u1109\u1161\u110C\u1161\u11BC","\u1109\u1161\u110C\u1165\u11AB","\u1109\u1161\u110C\u1175\u11AB","\u1109\u1161\u110E\u1169\u11AB","\u1109\u1161\u110E\u116E\u11AB\u1100\u1175","\u1109\u1161\u1110\u1161\u11BC","\u1109\u1161\u1110\u116E\u1105\u1175","\u1109\u1161\u1112\u1173\u11AF","\u1109\u1161\u11AB\u1100\u1175\u11AF","\u1109\u1161\u11AB\u1107\u116E\u110B\u1175\u11AB\u1100\u116A","\u1109\u1161\u11AB\u110B\u1165\u11B8","\u1109\u1161\u11AB\u110E\u1162\u11A8","\u1109\u1161\u11AF\u1105\u1175\u11B7","\u1109\u1161\u11AF\u110B\u1175\u11AB","\u1109\u1161\u11AF\u110D\u1161\u11A8","\u1109\u1161\u11B7\u1100\u1168\u1110\u1161\u11BC","\u1109\u1161\u11B7\u1100\u116E\u11A8","\u1109\u1161\u11B7\u1109\u1175\u11B8","\u1109\u1161\u11B7\u110B\u116F\u11AF","\u1109\u1161\u11B7\u110E\u1169\u11AB","\u1109\u1161\u11BC\u1100\u116A\u11AB","\u1109\u1161\u11BC\u1100\u1173\u11B7","\u1109\u1161\u11BC\u1103\u1162","\u1109\u1161\u11BC\u1105\u1172","\u1109\u1161\u11BC\u1107\u1161\u11AB\u1100\u1175","\u1109\u1161\u11BC\u1109\u1161\u11BC","\u1109\u1161\u11BC\u1109\u1175\u11A8","\u1109\u1161\u11BC\u110B\u1165\u11B8","\u1109\u1161\u11BC\u110B\u1175\u11AB","\u1109\u1161\u11BC\u110C\u1161","\u1109\u1161\u11BC\u110C\u1165\u11B7","\u1109\u1161\u11BC\u110E\u1165","\u1109\u1161\u11BC\u110E\u116E","\u1109\u1161\u11BC\u1110\u1162","\u1109\u1161\u11BC\u1111\u116D","\u1109\u1161\u11BC\u1111\u116E\u11B7","\u1109\u1161\u11BC\u1112\u116A\u11BC","\u1109\u1162\u1107\u1167\u11A8","\u1109\u1162\u11A8\u1101\u1161\u11AF","\u1109\u1162\u11A8\u110B\u1167\u11AB\u1111\u1175\u11AF","\u1109\u1162\u11BC\u1100\u1161\u11A8","\u1109\u1162\u11BC\u1106\u1167\u11BC","\u1109\u1162\u11BC\u1106\u116E\u11AF","\u1109\u1162\u11BC\u1107\u1161\u11BC\u1109\u1169\u11BC","\u1109\u1162\u11BC\u1109\u1161\u11AB","\u1109\u1162\u11BC\u1109\u1165\u11AB","\u1109\u1162\u11BC\u1109\u1175\u11AB","\u1109\u1162\u11BC\u110B\u1175\u11AF","\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1165\u1105\u1161\u11B8","\u1109\u1165\u1105\u1173\u11AB","\u1109\u1165\u1106\u1167\u11BC","\u1109\u1165\u1106\u1175\u11AB","\u1109\u1165\u1107\u1175\u1109\u1173","\u1109\u1165\u110B\u1163\u11BC","\u1109\u1165\u110B\u116E\u11AF","\u1109\u1165\u110C\u1165\u11A8","\u1109\u1165\u110C\u1165\u11B7","\u1109\u1165\u110D\u1169\u11A8","\u1109\u1165\u110F\u1173\u11AF","\u1109\u1165\u11A8\u1109\u1161","\u1109\u1165\u11A8\u110B\u1172","\u1109\u1165\u11AB\u1100\u1165","\u1109\u1165\u11AB\u1106\u116E\u11AF","\u1109\u1165\u11AB\u1107\u1162","\u1109\u1165\u11AB\u1109\u1162\u11BC","\u1109\u1165\u11AB\u1109\u116E","\u1109\u1165\u11AB\u110B\u116F\u11AB","\u1109\u1165\u11AB\u110C\u1161\u11BC","\u1109\u1165\u11AB\u110C\u1165\u11AB","\u1109\u1165\u11AB\u1110\u1162\u11A8","\u1109\u1165\u11AB\u1111\u116E\u11BC\u1100\u1175","\u1109\u1165\u11AF\u1100\u1165\u110C\u1175","\u1109\u1165\u11AF\u1102\u1161\u11AF","\u1109\u1165\u11AF\u1105\u1165\u11BC\u1110\u1161\u11BC","\u1109\u1165\u11AF\u1106\u1167\u11BC","\u1109\u1165\u11AF\u1106\u116E\u11AB","\u1109\u1165\u11AF\u1109\u1161","\u1109\u1165\u11AF\u110B\u1161\u11A8\u1109\u1161\u11AB","\u1109\u1165\u11AF\u110E\u1175","\u1109\u1165\u11AF\u1110\u1161\u11BC","\u1109\u1165\u11B8\u110A\u1175","\u1109\u1165\u11BC\u1100\u1169\u11BC","\u1109\u1165\u11BC\u1103\u1161\u11BC","\u1109\u1165\u11BC\u1106\u1167\u11BC","\u1109\u1165\u11BC\u1107\u1167\u11AF","\u1109\u1165\u11BC\u110B\u1175\u11AB","\u1109\u1165\u11BC\u110C\u1161\u11BC","\u1109\u1165\u11BC\u110C\u1165\u11A8","\u1109\u1165\u11BC\u110C\u1175\u11AF","\u1109\u1165\u11BC\u1112\u1161\u11B7","\u1109\u1166\u1100\u1173\u11B7","\u1109\u1166\u1106\u1175\u1102\u1161","\u1109\u1166\u1109\u1161\u11BC","\u1109\u1166\u110B\u116F\u11AF","\u1109\u1166\u110C\u1169\u11BC\u1103\u1162\u110B\u116A\u11BC","\u1109\u1166\u1110\u1161\u11A8","\u1109\u1166\u11AB\u1110\u1165","\u1109\u1166\u11AB\u1110\u1175\u1106\u1175\u1110\u1165","\u1109\u1166\u11BA\u110D\u1162","\u1109\u1169\u1100\u1172\u1106\u1169","\u1109\u1169\u1100\u1173\u11A8\u110C\u1165\u11A8","\u1109\u1169\u1100\u1173\u11B7","\u1109\u1169\u1102\u1161\u1100\u1175","\u1109\u1169\u1102\u1167\u11AB","\u1109\u1169\u1103\u1173\u11A8","\u1109\u1169\u1106\u1161\u11BC","\u1109\u1169\u1106\u116E\u11AB","\u1109\u1169\u1109\u1165\u11AF","\u1109\u1169\u1109\u1169\u11A8","\u1109\u1169\u110B\u1161\u1100\u116A","\u1109\u1169\u110B\u116D\u11BC","\u1109\u1169\u110B\u116F\u11AB","\u1109\u1169\u110B\u1173\u11B7","\u1109\u1169\u110C\u116E\u11BC\u1112\u1175","\u1109\u1169\u110C\u1175\u1111\u116E\u11B7","\u1109\u1169\u110C\u1175\u11AF","\u1109\u1169\u1111\u116E\u11BC","\u1109\u1169\u1112\u1167\u11BC","\u1109\u1169\u11A8\u1103\u1161\u11B7","\u1109\u1169\u11A8\u1103\u1169","\u1109\u1169\u11A8\u110B\u1169\u11BA","\u1109\u1169\u11AB\u1100\u1161\u1105\u1161\u11A8","\u1109\u1169\u11AB\u1100\u1175\u11AF","\u1109\u1169\u11AB\u1102\u1167","\u1109\u1169\u11AB\u1102\u1175\u11B7","\u1109\u1169\u11AB\u1103\u1173\u11BC","\u1109\u1169\u11AB\u1106\u1169\u11A8","\u1109\u1169\u11AB\u1108\u1167\u11A8","\u1109\u1169\u11AB\u1109\u1175\u11AF","\u1109\u1169\u11AB\u110C\u1175\u11AF","\u1109\u1169\u11AB\u1110\u1169\u11B8","\u1109\u1169\u11AB\u1112\u1162","\u1109\u1169\u11AF\u110C\u1175\u11A8\u1112\u1175","\u1109\u1169\u11B7\u110A\u1175","\u1109\u1169\u11BC\u110B\u1161\u110C\u1175","\u1109\u1169\u11BC\u110B\u1175","\u1109\u1169\u11BC\u1111\u1167\u11AB","\u1109\u116C\u1100\u1169\u1100\u1175","\u1109\u116D\u1111\u1175\u11BC","\u1109\u116E\u1100\u1165\u11AB","\u1109\u116E\u1102\u1167\u11AB","\u1109\u116E\u1103\u1161\u11AB","\u1109\u116E\u1103\u1169\u11BA\u1106\u116E\u11AF","\u1109\u116E\u1103\u1169\u11BC\u110C\u1165\u11A8","\u1109\u116E\u1106\u1167\u11AB","\u1109\u116E\u1106\u1167\u11BC","\u1109\u116E\u1107\u1161\u11A8","\u1109\u116E\u1109\u1161\u11BC","\u1109\u116E\u1109\u1165\u11A8","\u1109\u116E\u1109\u116E\u11AF","\u1109\u116E\u1109\u1175\u1105\u1169","\u1109\u116E\u110B\u1165\u11B8","\u1109\u116E\u110B\u1167\u11B7","\u1109\u116E\u110B\u1167\u11BC","\u1109\u116E\u110B\u1175\u11B8","\u1109\u116E\u110C\u116E\u11AB","\u1109\u116E\u110C\u1175\u11B8","\u1109\u116E\u110E\u116E\u11AF","\u1109\u116E\u110F\u1165\u11BA","\u1109\u116E\u1111\u1175\u11AF","\u1109\u116E\u1112\u1161\u11A8","\u1109\u116E\u1112\u1165\u11B7\u1109\u1162\u11BC","\u1109\u116E\u1112\u116A\u1100\u1175","\u1109\u116E\u11A8\u1102\u1167","\u1109\u116E\u11A8\u1109\u1169","\u1109\u116E\u11A8\u110C\u1166","\u1109\u116E\u11AB\u1100\u1161\u11AB","\u1109\u116E\u11AB\u1109\u1165","\u1109\u116E\u11AB\u1109\u116E","\u1109\u116E\u11AB\u1109\u1175\u11A8\u1100\u1161\u11AB","\u1109\u116E\u11AB\u110B\u1171","\u1109\u116E\u11AE\u1100\u1161\u1105\u1161\u11A8","\u1109\u116E\u11AF\u1107\u1167\u11BC","\u1109\u116E\u11AF\u110C\u1175\u11B8","\u1109\u116E\u11BA\u110C\u1161","\u1109\u1173\u1102\u1175\u11B7","\u1109\u1173\u1106\u116E\u11AF","\u1109\u1173\u1109\u1173\u1105\u1169","\u1109\u1173\u1109\u1173\u11BC","\u1109\u1173\u110B\u1170\u1110\u1165","\u1109\u1173\u110B\u1171\u110E\u1175","\u1109\u1173\u110F\u1166\u110B\u1175\u1110\u1173","\u1109\u1173\u1110\u1172\u1103\u1175\u110B\u1169","\u1109\u1173\u1110\u1173\u1105\u1166\u1109\u1173","\u1109\u1173\u1111\u1169\u110E\u1173","\u1109\u1173\u11AF\u110D\u1165\u11A8","\u1109\u1173\u11AF\u1111\u1173\u11B7","\u1109\u1173\u11B8\u1100\u116A\u11AB","\u1109\u1173\u11B8\u1100\u1175","\u1109\u1173\u11BC\u1100\u1162\u11A8","\u1109\u1173\u11BC\u1105\u1175","\u1109\u1173\u11BC\u1107\u116E","\u1109\u1173\u11BC\u110B\u116D\u11BC\u110E\u1161","\u1109\u1173\u11BC\u110C\u1175\u11AB","\u1109\u1175\u1100\u1161\u11A8","\u1109\u1175\u1100\u1161\u11AB","\u1109\u1175\u1100\u1169\u11AF","\u1109\u1175\u1100\u1173\u11B7\u110E\u1175","\u1109\u1175\u1102\u1161\u1105\u1175\u110B\u1169","\u1109\u1175\u1103\u1162\u11A8","\u1109\u1175\u1105\u1175\u110C\u1173","\u1109\u1175\u1106\u1166\u11AB\u1110\u1173","\u1109\u1175\u1106\u1175\u11AB","\u1109\u1175\u1107\u116E\u1106\u1169","\u1109\u1175\u1109\u1165\u11AB","\u1109\u1175\u1109\u1165\u11AF","\u1109\u1175\u1109\u1173\u1110\u1166\u11B7","\u1109\u1175\u110B\u1161\u1107\u1165\u110C\u1175","\u1109\u1175\u110B\u1165\u1106\u1165\u1102\u1175","\u1109\u1175\u110B\u116F\u11AF","\u1109\u1175\u110B\u1175\u11AB","\u1109\u1175\u110B\u1175\u11AF","\u1109\u1175\u110C\u1161\u11A8","\u1109\u1175\u110C\u1161\u11BC","\u1109\u1175\u110C\u1165\u11AF","\u1109\u1175\u110C\u1165\u11B7","\u1109\u1175\u110C\u116E\u11BC","\u1109\u1175\u110C\u1173\u11AB","\u1109\u1175\u110C\u1175\u11B8","\u1109\u1175\u110E\u1165\u11BC","\u1109\u1175\u1112\u1161\u11B8","\u1109\u1175\u1112\u1165\u11B7","\u1109\u1175\u11A8\u1100\u116E","\u1109\u1175\u11A8\u1100\u1175","\u1109\u1175\u11A8\u1103\u1161\u11BC","\u1109\u1175\u11A8\u1105\u1163\u11BC","\u1109\u1175\u11A8\u1105\u116D\u1111\u116E\u11B7","\u1109\u1175\u11A8\u1106\u116E\u11AF","\u1109\u1175\u11A8\u1108\u1161\u11BC","\u1109\u1175\u11A8\u1109\u1161","\u1109\u1175\u11A8\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1175\u11A8\u110E\u1169","\u1109\u1175\u11A8\u1110\u1161\u11A8","\u1109\u1175\u11A8\u1111\u116E\u11B7","\u1109\u1175\u11AB\u1100\u1169","\u1109\u1175\u11AB\u1100\u1172","\u1109\u1175\u11AB\u1102\u1167\u11B7","\u1109\u1175\u11AB\u1106\u116E\u11AB","\u1109\u1175\u11AB\u1107\u1161\u11AF","\u1109\u1175\u11AB\u1107\u1175","\u1109\u1175\u11AB\u1109\u1161","\u1109\u1175\u11AB\u1109\u1166","\u1109\u1175\u11AB\u110B\u116D\u11BC","\u1109\u1175\u11AB\u110C\u1166\u1111\u116E\u11B7","\u1109\u1175\u11AB\u110E\u1165\u11BC","\u1109\u1175\u11AB\u110E\u1166","\u1109\u1175\u11AB\u1112\u116A","\u1109\u1175\u11AF\u1100\u1161\u11B7","\u1109\u1175\u11AF\u1102\u1162","\u1109\u1175\u11AF\u1105\u1167\u11A8","\u1109\u1175\u11AF\u1105\u1168","\u1109\u1175\u11AF\u1106\u1161\u11BC","\u1109\u1175\u11AF\u1109\u116E","\u1109\u1175\u11AF\u1109\u1173\u11B8","\u1109\u1175\u11AF\u1109\u1175","\u1109\u1175\u11AF\u110C\u1161\u11BC","\u1109\u1175\u11AF\u110C\u1165\u11BC","\u1109\u1175\u11AF\u110C\u1175\u11AF\u110C\u1165\u11A8","\u1109\u1175\u11AF\u110E\u1165\u11AB","\u1109\u1175\u11AF\u110E\u1166","\u1109\u1175\u11AF\u110F\u1165\u11BA","\u1109\u1175\u11AF\u1110\u1162","\u1109\u1175\u11AF\u1111\u1162","\u1109\u1175\u11AF\u1112\u1165\u11B7","\u1109\u1175\u11AF\u1112\u1167\u11AB","\u1109\u1175\u11B7\u1105\u1175","\u1109\u1175\u11B7\u1107\u116E\u1105\u1173\u11B7","\u1109\u1175\u11B7\u1109\u1161","\u1109\u1175\u11B7\u110C\u1161\u11BC","\u1109\u1175\u11B7\u110C\u1165\u11BC","\u1109\u1175\u11B7\u1111\u1161\u11AB","\u110A\u1161\u11BC\u1103\u116E\u11BC\u110B\u1175","\u110A\u1175\u1105\u1173\u11B7","\u110A\u1175\u110B\u1161\u11BA","\u110B\u1161\u1100\u1161\u110A\u1175","\u110B\u1161\u1102\u1161\u110B\u116E\u11AB\u1109\u1165","\u110B\u1161\u1103\u1173\u1102\u1175\u11B7","\u110B\u1161\u1103\u1173\u11AF","\u110B\u1161\u1109\u1171\u110B\u116E\u11B7","\u110B\u1161\u1109\u1173\u1111\u1161\u11AF\u1110\u1173","\u110B\u1161\u1109\u1175\u110B\u1161","\u110B\u1161\u110B\u116E\u11AF\u1105\u1165","\u110B\u1161\u110C\u1165\u110A\u1175","\u110B\u1161\u110C\u116E\u11B7\u1106\u1161","\u110B\u1161\u110C\u1175\u11A8","\u110B\u1161\u110E\u1175\u11B7","\u110B\u1161\u1111\u1161\u1110\u1173","\u110B\u1161\u1111\u1173\u1105\u1175\u110F\u1161","\u110B\u1161\u1111\u1173\u11B7","\u110B\u1161\u1112\u1169\u11B8","\u110B\u1161\u1112\u1173\u11AB","\u110B\u1161\u11A8\u1100\u1175","\u110B\u1161\u11A8\u1106\u1169\u11BC","\u110B\u1161\u11A8\u1109\u116E","\u110B\u1161\u11AB\u1100\u1162","\u110B\u1161\u11AB\u1100\u1167\u11BC","\u110B\u1161\u11AB\u1100\u116A","\u110B\u1161\u11AB\u1102\u1162","\u110B\u1161\u11AB\u1102\u1167\u11BC","\u110B\u1161\u11AB\u1103\u1169\u11BC","\u110B\u1161\u11AB\u1107\u1161\u11BC","\u110B\u1161\u11AB\u1107\u116E","\u110B\u1161\u11AB\u110C\u116E","\u110B\u1161\u11AF\u1105\u116E\u1106\u1175\u1102\u1172\u11B7","\u110B\u1161\u11AF\u110F\u1169\u110B\u1169\u11AF","\u110B\u1161\u11B7\u1109\u1175","\u110B\u1161\u11B7\u110F\u1165\u11BA","\u110B\u1161\u11B8\u1105\u1167\u11A8","\u110B\u1161\u11C1\u1102\u1161\u11AF","\u110B\u1161\u11C1\u1106\u116E\u11AB","\u110B\u1162\u110B\u1175\u11AB","\u110B\u1162\u110C\u1165\u11BC","\u110B\u1162\u11A8\u1109\u116E","\u110B\u1162\u11AF\u1107\u1165\u11B7","\u110B\u1163\u1100\u1161\u11AB","\u110B\u1163\u1103\u1161\u11AB","\u110B\u1163\u110B\u1169\u11BC","\u110B\u1163\u11A8\u1100\u1161\u11AB","\u110B\u1163\u11A8\u1100\u116E\u11A8","\u110B\u1163\u11A8\u1109\u1169\u11A8","\u110B\u1163\u11A8\u1109\u116E","\u110B\u1163\u11A8\u110C\u1165\u11B7","\u110B\u1163\u11A8\u1111\u116E\u11B7","\u110B\u1163\u11A8\u1112\u1169\u11AB\u1102\u1167","\u110B\u1163\u11BC\u1102\u1167\u11B7","\u110B\u1163\u11BC\u1105\u1167\u11A8","\u110B\u1163\u11BC\u1106\u1161\u11AF","\u110B\u1163\u11BC\u1107\u1162\u110E\u116E","\u110B\u1163\u11BC\u110C\u116E","\u110B\u1163\u11BC\u1111\u1161","\u110B\u1165\u1103\u116E\u11B7","\u110B\u1165\u1105\u1167\u110B\u116E\u11B7","\u110B\u1165\u1105\u1173\u11AB","\u110B\u1165\u110C\u1166\u11BA\u1107\u1161\u11B7","\u110B\u1165\u110D\u1162\u11BB\u1103\u1173\u11AB","\u110B\u1165\u110D\u1165\u1103\u1161\u1100\u1161","\u110B\u1165\u110D\u1165\u11AB\u110C\u1175","\u110B\u1165\u11AB\u1102\u1175","\u110B\u1165\u11AB\u1103\u1165\u11A8","\u110B\u1165\u11AB\u1105\u1169\u11AB","\u110B\u1165\u11AB\u110B\u1165","\u110B\u1165\u11AF\u1100\u116E\u11AF","\u110B\u1165\u11AF\u1105\u1173\u11AB","\u110B\u1165\u11AF\u110B\u1173\u11B7","\u110B\u1165\u11AF\u1111\u1175\u11BA","\u110B\u1165\u11B7\u1106\u1161","\u110B\u1165\u11B8\u1106\u116E","\u110B\u1165\u11B8\u110C\u1169\u11BC","\u110B\u1165\u11B8\u110E\u1166","\u110B\u1165\u11BC\u1103\u1165\u11BC\u110B\u1175","\u110B\u1165\u11BC\u1106\u1161\u11BC","\u110B\u1165\u11BC\u1110\u1165\u1105\u1175","\u110B\u1165\u11BD\u1100\u1173\u110C\u1166","\u110B\u1166\u1102\u1165\u110C\u1175","\u110B\u1166\u110B\u1165\u110F\u1165\u11AB","\u110B\u1166\u11AB\u110C\u1175\u11AB","\u110B\u1167\u1100\u1165\u11AB","\u110B\u1167\u1100\u1169\u1109\u1162\u11BC","\u110B\u1167\u1100\u116A\u11AB","\u110B\u1167\u1100\u116E\u11AB","\u110B\u1167\u1100\u116F\u11AB","\u110B\u1167\u1103\u1162\u1109\u1162\u11BC","\u110B\u1167\u1103\u1165\u11B2","\u110B\u1167\u1103\u1169\u11BC\u1109\u1162\u11BC","\u110B\u1167\u1103\u1173\u11AB","\u110B\u1167\u1105\u1169\u11AB","\u110B\u1167\u1105\u1173\u11B7","\u110B\u1167\u1109\u1165\u11BA","\u110B\u1167\u1109\u1165\u11BC","\u110B\u1167\u110B\u116A\u11BC","\u110B\u1167\u110B\u1175\u11AB","\u110B\u1167\u110C\u1165\u11AB\u1112\u1175","\u110B\u1167\u110C\u1175\u11A8\u110B\u116F\u11AB","\u110B\u1167\u1112\u1161\u11A8\u1109\u1162\u11BC","\u110B\u1167\u1112\u1162\u11BC","\u110B\u1167\u11A8\u1109\u1161","\u110B\u1167\u11A8\u1109\u1175","\u110B\u1167\u11A8\u1112\u1161\u11AF","\u110B\u1167\u11AB\u1100\u1167\u11AF","\u110B\u1167\u11AB\u1100\u116E","\u110B\u1167\u11AB\u1100\u1173\u11A8","\u110B\u1167\u11AB\u1100\u1175","\u110B\u1167\u11AB\u1105\u1161\u11A8","\u110B\u1167\u11AB\u1109\u1165\u11AF","\u110B\u1167\u11AB\u1109\u1166","\u110B\u1167\u11AB\u1109\u1169\u11A8","\u110B\u1167\u11AB\u1109\u1173\u11B8","\u110B\u1167\u11AB\u110B\u1162","\u110B\u1167\u11AB\u110B\u1168\u110B\u1175\u11AB","\u110B\u1167\u11AB\u110B\u1175\u11AB","\u110B\u1167\u11AB\u110C\u1161\u11BC","\u110B\u1167\u11AB\u110C\u116E","\u110B\u1167\u11AB\u110E\u116E\u11AF","\u110B\u1167\u11AB\u1111\u1175\u11AF","\u110B\u1167\u11AB\u1112\u1161\u11B8","\u110B\u1167\u11AB\u1112\u1172","\u110B\u1167\u11AF\u1100\u1175","\u110B\u1167\u11AF\u1106\u1162","\u110B\u1167\u11AF\u1109\u116C","\u110B\u1167\u11AF\u1109\u1175\u11B7\u1112\u1175","\u110B\u1167\u11AF\u110C\u1165\u11BC","\u110B\u1167\u11AF\u110E\u1161","\u110B\u1167\u11AF\u1112\u1173\u11AF","\u110B\u1167\u11B7\u1105\u1167","\u110B\u1167\u11B8\u1109\u1165","\u110B\u1167\u11BC\u1100\u116E\u11A8","\u110B\u1167\u11BC\u1102\u1161\u11B7","\u110B\u1167\u11BC\u1109\u1161\u11BC","\u110B\u1167\u11BC\u110B\u1163\u11BC","\u110B\u1167\u11BC\u110B\u1167\u11A8","\u110B\u1167\u11BC\u110B\u116E\u11BC","\u110B\u1167\u11BC\u110B\u116F\u11AB\u1112\u1175","\u110B\u1167\u11BC\u1112\u1161","\u110B\u1167\u11BC\u1112\u1163\u11BC","\u110B\u1167\u11BC\u1112\u1169\u11AB","\u110B\u1167\u11BC\u1112\u116A","\u110B\u1167\u11C1\u1100\u116E\u1105\u1175","\u110B\u1167\u11C1\u1107\u1161\u11BC","\u110B\u1167\u11C1\u110C\u1175\u11B8","\u110B\u1168\u1100\u1161\u11B7","\u110B\u1168\u1100\u1173\u11B7","\u110B\u1168\u1107\u1161\u11BC","\u110B\u1168\u1109\u1161\u11AB","\u110B\u1168\u1109\u1161\u11BC","\u110B\u1168\u1109\u1165\u11AB","\u110B\u1168\u1109\u116E\u11AF","\u110B\u1168\u1109\u1173\u11B8","\u110B\u1168\u1109\u1175\u11A8\u110C\u1161\u11BC","\u110B\u1168\u110B\u1163\u11A8","\u110B\u1168\u110C\u1165\u11AB","\u110B\u1168\u110C\u1165\u11AF","\u110B\u1168\u110C\u1165\u11BC","\u110B\u1168\u110F\u1165\u11AB\u1103\u1162","\u110B\u1168\u11BA\u1102\u1161\u11AF","\u110B\u1169\u1102\u1173\u11AF","\u110B\u1169\u1105\u1161\u11A8","\u110B\u1169\u1105\u1162\u11BA\u1103\u1169\u11BC\u110B\u1161\u11AB","\u110B\u1169\u1105\u1166\u11AB\u110C\u1175","\u110B\u1169\u1105\u1169\u110C\u1175","\u110B\u1169\u1105\u1173\u11AB\u1107\u1161\u11AF","\u110B\u1169\u1107\u1173\u11AB","\u110B\u1169\u1109\u1175\u11B8","\u110B\u1169\u110B\u1167\u11B7","\u110B\u1169\u110B\u116F\u11AF","\u110B\u1169\u110C\u1165\u11AB","\u110B\u1169\u110C\u1175\u11A8","\u110B\u1169\u110C\u1175\u11BC\u110B\u1165","\u110B\u1169\u1111\u1166\u1105\u1161","\u110B\u1169\u1111\u1175\u1109\u1173\u1110\u1166\u11AF","\u110B\u1169\u1112\u1175\u1105\u1167","\u110B\u1169\u11A8\u1109\u1161\u11BC","\u110B\u1169\u11A8\u1109\u116E\u1109\u116E","\u110B\u1169\u11AB\u1100\u1161\u11BD","\u110B\u1169\u11AB\u1105\u1161\u110B\u1175\u11AB","\u110B\u1169\u11AB\u1106\u1169\u11B7","\u110B\u1169\u11AB\u110C\u1169\u11BC\u110B\u1175\u11AF","\u110B\u1169\u11AB\u1110\u1169\u11BC","\u110B\u1169\u11AF\u1100\u1161\u110B\u1173\u11AF","\u110B\u1169\u11AF\u1105\u1175\u11B7\u1111\u1175\u11A8","\u110B\u1169\u11AF\u1112\u1162","\u110B\u1169\u11BA\u110E\u1161\u1105\u1175\u11B7","\u110B\u116A\u110B\u1175\u1109\u1167\u110E\u1173","\u110B\u116A\u110B\u1175\u11AB","\u110B\u116A\u11AB\u1109\u1165\u11BC","\u110B\u116A\u11AB\u110C\u1165\u11AB","\u110B\u116A\u11BC\u1107\u1175","\u110B\u116A\u11BC\u110C\u1161","\u110B\u116B\u1102\u1163\u1112\u1161\u1106\u1167\u11AB","\u110B\u116B\u11AB\u110C\u1175","\u110B\u116C\u1100\u1161\u11BA\u110C\u1175\u11B8","\u110B\u116C\u1100\u116E\u11A8","\u110B\u116C\u1105\u1169\u110B\u116E\u11B7","\u110B\u116C\u1109\u1161\u11B7\u110E\u1169\u11AB","\u110B\u116C\u110E\u116E\u11AF","\u110B\u116C\u110E\u1175\u11B7","\u110B\u116C\u1112\u1161\u11AF\u1106\u1165\u1102\u1175","\u110B\u116C\u11AB\u1107\u1161\u11AF","\u110B\u116C\u11AB\u1109\u1169\u11AB","\u110B\u116C\u11AB\u110D\u1169\u11A8","\u110B\u116D\u1100\u1173\u11B7","\u110B\u116D\u110B\u1175\u11AF","\u110B\u116D\u110C\u1173\u11B7","\u110B\u116D\u110E\u1165\u11BC","\u110B\u116D\u11BC\u1100\u1175","\u110B\u116D\u11BC\u1109\u1165","\u110B\u116D\u11BC\u110B\u1165","\u110B\u116E\u1109\u1161\u11AB","\u110B\u116E\u1109\u1165\u11AB","\u110B\u116E\u1109\u1173\u11BC","\u110B\u116E\u110B\u1167\u11AB\u1112\u1175","\u110B\u116E\u110C\u1165\u11BC","\u110B\u116E\u110E\u1166\u1100\u116E\u11A8","\u110B\u116E\u1111\u1167\u11AB","\u110B\u116E\u11AB\u1103\u1169\u11BC","\u110B\u116E\u11AB\u1106\u1167\u11BC","\u110B\u116E\u11AB\u1107\u1161\u11AB","\u110B\u116E\u11AB\u110C\u1165\u11AB","\u110B\u116E\u11AB\u1112\u1162\u11BC","\u110B\u116E\u11AF\u1109\u1161\u11AB","\u110B\u116E\u11AF\u110B\u1173\u11B7","\u110B\u116E\u11B7\u110C\u1175\u11A8\u110B\u1175\u11B7","\u110B\u116E\u11BA\u110B\u1165\u1105\u1173\u11AB","\u110B\u116E\u11BA\u110B\u1173\u11B7","\u110B\u116F\u1102\u1161\u11A8","\u110B\u116F\u11AB\u1100\u1169","\u110B\u116F\u11AB\u1105\u1162","\u110B\u116F\u11AB\u1109\u1165","\u110B\u116F\u11AB\u1109\u116E\u11BC\u110B\u1175","\u110B\u116F\u11AB\u110B\u1175\u11AB","\u110B\u116F\u11AB\u110C\u1161\u11BC","\u110B\u116F\u11AB\u1111\u1175\u1109\u1173","\u110B\u116F\u11AF\u1100\u1173\u11B8","\u110B\u116F\u11AF\u1103\u1173\u110F\u1165\u11B8","\u110B\u116F\u11AF\u1109\u1166","\u110B\u116F\u11AF\u110B\u116D\u110B\u1175\u11AF","\u110B\u1170\u110B\u1175\u1110\u1165","\u110B\u1171\u1107\u1161\u11AB","\u110B\u1171\u1107\u1165\u11B8","\u110B\u1171\u1109\u1165\u11BC","\u110B\u1171\u110B\u116F\u11AB","\u110B\u1171\u1112\u1165\u11B7","\u110B\u1171\u1112\u1167\u11B8","\u110B\u1171\u11BA\u1109\u1161\u1105\u1161\u11B7","\u110B\u1172\u1102\u1161\u11AB\u1112\u1175","\u110B\u1172\u1105\u1165\u11B8","\u110B\u1172\u1106\u1167\u11BC","\u110B\u1172\u1106\u116E\u11AF","\u110B\u1172\u1109\u1161\u11AB","\u110B\u1172\u110C\u1165\u11A8","\u110B\u1172\u110E\u1175\u110B\u116F\u11AB","\u110B\u1172\u1112\u1161\u11A8","\u110B\u1172\u1112\u1162\u11BC","\u110B\u1172\u1112\u1167\u11BC","\u110B\u1172\u11A8\u1100\u116E\u11AB","\u110B\u1172\u11A8\u1109\u1161\u11BC","\u110B\u1172\u11A8\u1109\u1175\u11B8","\u110B\u1172\u11A8\u110E\u1166","\u110B\u1173\u11AB\u1112\u1162\u11BC","\u110B\u1173\u11B7\u1105\u1167\u11A8","\u110B\u1173\u11B7\u1105\u116D","\u110B\u1173\u11B7\u1107\u1161\u11AB","\u110B\u1173\u11B7\u1109\u1165\u11BC","\u110B\u1173\u11B7\u1109\u1175\u11A8","\u110B\u1173\u11B7\u110B\u1161\u11A8","\u110B\u1173\u11B7\u110C\u116E","\u110B\u1174\u1100\u1167\u11AB","\u110B\u1174\u1102\u1169\u11AB","\u110B\u1174\u1106\u116E\u11AB","\u110B\u1174\u1107\u1169\u11A8","\u110B\u1174\u1109\u1175\u11A8","\u110B\u1174\u1109\u1175\u11B7","\u110B\u1174\u110B\u116C\u1105\u1169","\u110B\u1174\u110B\u116D\u11A8","\u110B\u1174\u110B\u116F\u11AB","\u110B\u1174\u1112\u1161\u11A8","\u110B\u1175\u1100\u1165\u11BA","\u110B\u1175\u1100\u1169\u11BA","\u110B\u1175\u1102\u1167\u11B7","\u110B\u1175\u1102\u1169\u11B7","\u110B\u1175\u1103\u1161\u11AF","\u110B\u1175\u1103\u1162\u1105\u1169","\u110B\u1175\u1103\u1169\u11BC","\u110B\u1175\u1105\u1165\u11C2\u1100\u1166","\u110B\u1175\u1105\u1167\u11A8\u1109\u1165","\u110B\u1175\u1105\u1169\u11AB\u110C\u1165\u11A8","\u110B\u1175\u1105\u1173\u11B7","\u110B\u1175\u1106\u1175\u11AB","\u110B\u1175\u1107\u1161\u11AF\u1109\u1169","\u110B\u1175\u1107\u1167\u11AF","\u110B\u1175\u1107\u116E\u11AF","\u110B\u1175\u1108\u1161\u11AF","\u110B\u1175\u1109\u1161\u11BC","\u110B\u1175\u1109\u1165\u11BC","\u110B\u1175\u1109\u1173\u11AF","\u110B\u1175\u110B\u1163\u1100\u1175","\u110B\u1175\u110B\u116D\u11BC","\u110B\u1175\u110B\u116E\u11BA","\u110B\u1175\u110B\u116F\u11AF","\u110B\u1175\u110B\u1173\u11A8\u1100\u1169","\u110B\u1175\u110B\u1175\u11A8","\u110B\u1175\u110C\u1165\u11AB","\u110B\u1175\u110C\u116E\u11BC","\u110B\u1175\u1110\u1173\u11AE\u1102\u1161\u11AF","\u110B\u1175\u1110\u1173\u11AF","\u110B\u1175\u1112\u1169\u11AB","\u110B\u1175\u11AB\u1100\u1161\u11AB","\u110B\u1175\u11AB\u1100\u1167\u11A8","\u110B\u1175\u11AB\u1100\u1169\u11BC","\u110B\u1175\u11AB\u1100\u116E","\u110B\u1175\u11AB\u1100\u1173\u11AB","\u110B\u1175\u11AB\u1100\u1175","\u110B\u1175\u11AB\u1103\u1169","\u110B\u1175\u11AB\u1105\u1172","\u110B\u1175\u11AB\u1106\u116E\u11AF","\u110B\u1175\u11AB\u1109\u1162\u11BC","\u110B\u1175\u11AB\u1109\u116B","\u110B\u1175\u11AB\u110B\u1167\u11AB","\u110B\u1175\u11AB\u110B\u116F\u11AB","\u110B\u1175\u11AB\u110C\u1162","\u110B\u1175\u11AB\u110C\u1169\u11BC","\u110B\u1175\u11AB\u110E\u1165\u11AB","\u110B\u1175\u11AB\u110E\u1166","\u110B\u1175\u11AB\u1110\u1165\u1102\u1166\u11BA","\u110B\u1175\u11AB\u1112\u1161","\u110B\u1175\u11AB\u1112\u1167\u11BC","\u110B\u1175\u11AF\u1100\u1169\u11B8","\u110B\u1175\u11AF\u1100\u1175","\u110B\u1175\u11AF\u1103\u1161\u11AB","\u110B\u1175\u11AF\u1103\u1162","\u110B\u1175\u11AF\u1103\u1173\u11BC","\u110B\u1175\u11AF\u1107\u1161\u11AB","\u110B\u1175\u11AF\u1107\u1169\u11AB","\u110B\u1175\u11AF\u1107\u116E","\u110B\u1175\u11AF\u1109\u1161\u11BC","\u110B\u1175\u11AF\u1109\u1162\u11BC","\u110B\u1175\u11AF\u1109\u1169\u11AB","\u110B\u1175\u11AF\u110B\u116D\u110B\u1175\u11AF","\u110B\u1175\u11AF\u110B\u116F\u11AF","\u110B\u1175\u11AF\u110C\u1165\u11BC","\u110B\u1175\u11AF\u110C\u1169\u11BC","\u110B\u1175\u11AF\u110C\u116E\u110B\u1175\u11AF","\u110B\u1175\u11AF\u110D\u1175\u11A8","\u110B\u1175\u11AF\u110E\u1166","\u110B\u1175\u11AF\u110E\u1175","\u110B\u1175\u11AF\u1112\u1162\u11BC","\u110B\u1175\u11AF\u1112\u116C\u110B\u116D\u11BC","\u110B\u1175\u11B7\u1100\u1173\u11B7","\u110B\u1175\u11B7\u1106\u116E","\u110B\u1175\u11B8\u1103\u1162","\u110B\u1175\u11B8\u1105\u1167\u11A8","\u110B\u1175\u11B8\u1106\u1161\u11BA","\u110B\u1175\u11B8\u1109\u1161","\u110B\u1175\u11B8\u1109\u116E\u11AF","\u110B\u1175\u11B8\u1109\u1175","\u110B\u1175\u11B8\u110B\u116F\u11AB","\u110B\u1175\u11B8\u110C\u1161\u11BC","\u110B\u1175\u11B8\u1112\u1161\u11A8","\u110C\u1161\u1100\u1161\u110B\u116D\u11BC","\u110C\u1161\u1100\u1167\u11A8","\u110C\u1161\u1100\u1173\u11A8","\u110C\u1161\u1103\u1169\u11BC","\u110C\u1161\u1105\u1161\u11BC","\u110C\u1161\u1107\u116E\u1109\u1175\u11B7","\u110C\u1161\u1109\u1175\u11A8","\u110C\u1161\u1109\u1175\u11AB","\u110C\u1161\u110B\u1167\u11AB","\u110C\u1161\u110B\u116F\u11AB","\u110C\u1161\u110B\u1172\u11AF","\u110C\u1161\u110C\u1165\u11AB\u1100\u1165","\u110C\u1161\u110C\u1165\u11BC","\u110C\u1161\u110C\u1169\u11AB\u1109\u1175\u11B7","\u110C\u1161\u1111\u1161\u11AB","\u110C\u1161\u11A8\u1100\u1161","\u110C\u1161\u11A8\u1102\u1167\u11AB","\u110C\u1161\u11A8\u1109\u1165\u11BC","\u110C\u1161\u11A8\u110B\u1165\u11B8","\u110C\u1161\u11A8\u110B\u116D\u11BC","\u110C\u1161\u11A8\u110B\u1173\u11AB\u1104\u1161\u11AF","\u110C\u1161\u11A8\u1111\u116E\u11B7","\u110C\u1161\u11AB\u1103\u1175","\u110C\u1161\u11AB\u1104\u1173\u11A8","\u110C\u1161\u11AB\u110E\u1175","\u110C\u1161\u11AF\u1106\u1169\u11BA","\u110C\u1161\u11B7\u1101\u1161\u11AB","\u110C\u1161\u11B7\u1109\u116E\u1112\u1161\u11B7","\u110C\u1161\u11B7\u1109\u1175","\u110C\u1161\u11B7\u110B\u1169\u11BA","\u110C\u1161\u11B7\u110C\u1161\u1105\u1175","\u110C\u1161\u11B8\u110C\u1175","\u110C\u1161\u11BC\u1100\u116A\u11AB","\u110C\u1161\u11BC\u1100\u116E\u11AB","\u110C\u1161\u11BC\u1100\u1175\u1100\u1161\u11AB","\u110C\u1161\u11BC\u1105\u1162","\u110C\u1161\u11BC\u1105\u1168","\u110C\u1161\u11BC\u1105\u1173","\u110C\u1161\u11BC\u1106\u1161","\u110C\u1161\u11BC\u1106\u1167\u11AB","\u110C\u1161\u11BC\u1106\u1169","\u110C\u1161\u11BC\u1106\u1175","\u110C\u1161\u11BC\u1107\u1175","\u110C\u1161\u11BC\u1109\u1161","\u110C\u1161\u11BC\u1109\u1169","\u110C\u1161\u11BC\u1109\u1175\u11A8","\u110C\u1161\u11BC\u110B\u1162\u110B\u1175\u11AB","\u110C\u1161\u11BC\u110B\u1175\u11AB","\u110C\u1161\u11BC\u110C\u1165\u11B7","\u110C\u1161\u11BC\u110E\u1161","\u110C\u1161\u11BC\u1112\u1161\u11A8\u1100\u1173\u11B7","\u110C\u1162\u1102\u1173\u11BC","\u110C\u1162\u1108\u1161\u11AF\u1105\u1175","\u110C\u1162\u1109\u1161\u11AB","\u110C\u1162\u1109\u1162\u11BC","\u110C\u1162\u110C\u1161\u11A8\u1102\u1167\u11AB","\u110C\u1162\u110C\u1165\u11BC","\u110C\u1162\u110E\u1162\u1100\u1175","\u110C\u1162\u1111\u1161\u11AB","\u110C\u1162\u1112\u1161\u11A8","\u110C\u1162\u1112\u116A\u11AF\u110B\u116D\u11BC","\u110C\u1165\u1100\u1165\u11BA","\u110C\u1165\u1100\u1169\u1105\u1175","\u110C\u1165\u1100\u1169\u11BA","\u110C\u1165\u1102\u1167\u11A8","\u110C\u1165\u1105\u1165\u11AB","\u110C\u1165\u1105\u1165\u11C2\u1100\u1166","\u110C\u1165\u1107\u1165\u11AB","\u110C\u1165\u110B\u116E\u11AF","\u110C\u1165\u110C\u1165\u11AF\u1105\u1169","\u110C\u1165\u110E\u116E\u11A8","\u110C\u1165\u11A8\u1100\u1173\u11A8","\u110C\u1165\u11A8\u1103\u1161\u11BC\u1112\u1175","\u110C\u1165\u11A8\u1109\u1165\u11BC","\u110C\u1165\u11A8\u110B\u116D\u11BC","\u110C\u1165\u11A8\u110B\u1173\u11BC","\u110C\u1165\u11AB\u1100\u1162","\u110C\u1165\u11AB\u1100\u1169\u11BC","\u110C\u1165\u11AB\u1100\u1175","\u110C\u1165\u11AB\u1103\u1161\u11AF","\u110C\u1165\u11AB\u1105\u1161\u1103\u1169","\u110C\u1165\u11AB\u1106\u1161\u11BC","\u110C\u1165\u11AB\u1106\u116E\u11AB","\u110C\u1165\u11AB\u1107\u1161\u11AB","\u110C\u1165\u11AB\u1107\u116E","\u110C\u1165\u11AB\u1109\u1166","\u110C\u1165\u11AB\u1109\u1175","\u110C\u1165\u11AB\u110B\u116D\u11BC","\u110C\u1165\u11AB\u110C\u1161","\u110C\u1165\u11AB\u110C\u1162\u11BC","\u110C\u1165\u11AB\u110C\u116E","\u110C\u1165\u11AB\u110E\u1165\u11AF","\u110C\u1165\u11AB\u110E\u1166","\u110C\u1165\u11AB\u1110\u1169\u11BC","\u110C\u1165\u11AB\u1112\u1167","\u110C\u1165\u11AB\u1112\u116E","\u110C\u1165\u11AF\u1103\u1162","\u110C\u1165\u11AF\u1106\u1161\u11BC","\u110C\u1165\u11AF\u1107\u1161\u11AB","\u110C\u1165\u11AF\u110B\u1163\u11A8","\u110C\u1165\u11AF\u110E\u1161","\u110C\u1165\u11B7\u1100\u1165\u11B7","\u110C\u1165\u11B7\u1109\u116E","\u110C\u1165\u11B7\u1109\u1175\u11B7","\u110C\u1165\u11B7\u110B\u116F\u11AB","\u110C\u1165\u11B7\u110C\u1165\u11B7","\u110C\u1165\u11B7\u110E\u1161","\u110C\u1165\u11B8\u1100\u1173\u11AB","\u110C\u1165\u11B8\u1109\u1175","\u110C\u1165\u11B8\u110E\u1169\u11A8","\u110C\u1165\u11BA\u1100\u1161\u1105\u1161\u11A8","\u110C\u1165\u11BC\u1100\u1165\u110C\u1161\u11BC","\u110C\u1165\u11BC\u1103\u1169","\u110C\u1165\u11BC\u1105\u1172\u110C\u1161\u11BC","\u110C\u1165\u11BC\u1105\u1175","\u110C\u1165\u11BC\u1106\u1161\u11AF","\u110C\u1165\u11BC\u1106\u1167\u11AB","\u110C\u1165\u11BC\u1106\u116E\u11AB","\u110C\u1165\u11BC\u1107\u1161\u11AB\u1103\u1162","\u110C\u1165\u11BC\u1107\u1169","\u110C\u1165\u11BC\u1107\u116E","\u110C\u1165\u11BC\u1107\u1175","\u110C\u1165\u11BC\u1109\u1161\u11BC","\u110C\u1165\u11BC\u1109\u1165\u11BC","\u110C\u1165\u11BC\u110B\u1169","\u110C\u1165\u11BC\u110B\u116F\u11AB","\u110C\u1165\u11BC\u110C\u1161\u11BC","\u110C\u1165\u11BC\u110C\u1175","\u110C\u1165\u11BC\u110E\u1175","\u110C\u1165\u11BC\u1112\u116A\u11A8\u1112\u1175","\u110C\u1166\u1100\u1169\u11BC","\u110C\u1166\u1100\u116A\u110C\u1165\u11B7","\u110C\u1166\u1103\u1162\u1105\u1169","\u110C\u1166\u1106\u1169\u11A8","\u110C\u1166\u1107\u1161\u11AF","\u110C\u1166\u1107\u1165\u11B8","\u110C\u1166\u1109\u1161\u11BA\u1102\u1161\u11AF","\u110C\u1166\u110B\u1161\u11AB","\u110C\u1166\u110B\u1175\u11AF","\u110C\u1166\u110C\u1161\u11A8","\u110C\u1166\u110C\u116E\u1103\u1169","\u110C\u1166\u110E\u116E\u11AF","\u110C\u1166\u1111\u116E\u11B7","\u110C\u1166\u1112\u1161\u11AB","\u110C\u1169\u1100\u1161\u11A8","\u110C\u1169\u1100\u1165\u11AB","\u110C\u1169\u1100\u1173\u11B7","\u110C\u1169\u1100\u1175\u11BC","\u110C\u1169\u1106\u1167\u11BC","\u110C\u1169\u1106\u1175\u1105\u116D","\u110C\u1169\u1109\u1161\u11BC","\u110C\u1169\u1109\u1165\u11AB","\u110C\u1169\u110B\u116D\u11BC\u1112\u1175","\u110C\u1169\u110C\u1165\u11AF","\u110C\u1169\u110C\u1165\u11BC","\u110C\u1169\u110C\u1175\u11A8","\u110C\u1169\u11AB\u1103\u1162\u11BA\u1106\u1161\u11AF","\u110C\u1169\u11AB\u110C\u1162","\u110C\u1169\u11AF\u110B\u1165\u11B8","\u110C\u1169\u11AF\u110B\u1173\u11B7","\u110C\u1169\u11BC\u1100\u116D","\u110C\u1169\u11BC\u1105\u1169","\u110C\u1169\u11BC\u1105\u1172","\u110C\u1169\u11BC\u1109\u1169\u1105\u1175","\u110C\u1169\u11BC\u110B\u1165\u11B8\u110B\u116F\u11AB","\u110C\u1169\u11BC\u110C\u1169\u11BC","\u110C\u1169\u11BC\u1112\u1161\u11B8","\u110C\u116A\u1109\u1165\u11A8","\u110C\u116C\u110B\u1175\u11AB","\u110C\u116E\u1100\u116A\u11AB\u110C\u1165\u11A8","\u110C\u116E\u1105\u1173\u11B7","\u110C\u116E\u1106\u1161\u11AF","\u110C\u116E\u1106\u1165\u1102\u1175","\u110C\u116E\u1106\u1165\u11A8","\u110C\u116E\u1106\u116E\u11AB","\u110C\u116E\u1106\u1175\u11AB","\u110C\u116E\u1107\u1161\u11BC","\u110C\u116E\u1107\u1167\u11AB","\u110C\u116E\u1109\u1175\u11A8","\u110C\u116E\u110B\u1175\u11AB","\u110C\u116E\u110B\u1175\u11AF","\u110C\u116E\u110C\u1161\u11BC","\u110C\u116E\u110C\u1165\u11AB\u110C\u1161","\u110C\u116E\u1110\u1162\u11A8","\u110C\u116E\u11AB\u1107\u1175","\u110C\u116E\u11AF\u1100\u1165\u1105\u1175","\u110C\u116E\u11AF\u1100\u1175","\u110C\u116E\u11AF\u1106\u116E\u1102\u1174","\u110C\u116E\u11BC\u1100\u1161\u11AB","\u110C\u116E\u11BC\u1100\u1168\u1107\u1161\u11BC\u1109\u1169\u11BC","\u110C\u116E\u11BC\u1100\u116E\u11A8","\u110C\u116E\u11BC\u1102\u1167\u11AB","\u110C\u116E\u11BC\u1103\u1161\u11AB","\u110C\u116E\u11BC\u1103\u1169\u11A8","\u110C\u116E\u11BC\u1107\u1161\u11AB","\u110C\u116E\u11BC\u1107\u116E","\u110C\u116E\u11BC\u1109\u1166","\u110C\u116E\u11BC\u1109\u1169\u1100\u1175\u110B\u1165\u11B8","\u110C\u116E\u11BC\u1109\u116E\u11AB","\u110C\u116E\u11BC\u110B\u1161\u11BC","\u110C\u116E\u11BC\u110B\u116D","\u110C\u116E\u11BC\u1112\u1161\u11A8\u1100\u116D","\u110C\u1173\u11A8\u1109\u1165\u11A8","\u110C\u1173\u11A8\u1109\u1175","\u110C\u1173\u11AF\u1100\u1165\u110B\u116E\u11B7","\u110C\u1173\u11BC\u1100\u1161","\u110C\u1173\u11BC\u1100\u1165","\u110C\u1173\u11BC\u1100\u116F\u11AB","\u110C\u1173\u11BC\u1109\u1161\u11BC","\u110C\u1173\u11BC\u1109\u1166","\u110C\u1175\u1100\u1161\u11A8","\u110C\u1175\u1100\u1161\u11B8","\u110C\u1175\u1100\u1167\u11BC","\u110C\u1175\u1100\u1173\u11A8\u1112\u1175","\u110C\u1175\u1100\u1173\u11B7","\u110C\u1175\u1100\u1173\u11B8","\u110C\u1175\u1102\u1173\u11BC","\u110C\u1175\u1105\u1173\u11B7\u1100\u1175\u11AF","\u110C\u1175\u1105\u1175\u1109\u1161\u11AB","\u110C\u1175\u1107\u1161\u11BC","\u110C\u1175\u1107\u116E\u11BC","\u110C\u1175\u1109\u1175\u11A8","\u110C\u1175\u110B\u1167\u11A8","\u110C\u1175\u110B\u116E\u1100\u1162","\u110C\u1175\u110B\u116F\u11AB","\u110C\u1175\u110C\u1165\u11A8","\u110C\u1175\u110C\u1165\u11B7","\u110C\u1175\u110C\u1175\u11AB","\u110C\u1175\u110E\u116E\u11AF","\u110C\u1175\u11A8\u1109\u1165\u11AB","\u110C\u1175\u11A8\u110B\u1165\u11B8","\u110C\u1175\u11A8\u110B\u116F\u11AB","\u110C\u1175\u11A8\u110C\u1161\u11BC","\u110C\u1175\u11AB\u1100\u1173\u11B8","\u110C\u1175\u11AB\u1103\u1169\u11BC","\u110C\u1175\u11AB\u1105\u1169","\u110C\u1175\u11AB\u1105\u116D","\u110C\u1175\u11AB\u1105\u1175","\u110C\u1175\u11AB\u110D\u1161","\u110C\u1175\u11AB\u110E\u1161\u11AF","\u110C\u1175\u11AB\u110E\u116E\u11AF","\u110C\u1175\u11AB\u1110\u1169\u11BC","\u110C\u1175\u11AB\u1112\u1162\u11BC","\u110C\u1175\u11AF\u1106\u116E\u11AB","\u110C\u1175\u11AF\u1107\u1167\u11BC","\u110C\u1175\u11AF\u1109\u1165","\u110C\u1175\u11B7\u110C\u1161\u11A8","\u110C\u1175\u11B8\u1103\u1161\u11AB","\u110C\u1175\u11B8\u110B\u1161\u11AB","\u110C\u1175\u11B8\u110C\u116E\u11BC","\u110D\u1161\u110C\u1173\u11BC","\u110D\u1175\u1101\u1165\u1100\u1175","\u110E\u1161\u1102\u1161\u11B7","\u110E\u1161\u1105\u1161\u1105\u1175","\u110E\u1161\u1105\u1163\u11BC","\u110E\u1161\u1105\u1175\u11B7","\u110E\u1161\u1107\u1167\u11AF","\u110E\u1161\u1109\u1165\u11AB","\u110E\u1161\u110E\u1173\u11B7","\u110E\u1161\u11A8\u1100\u1161\u11A8","\u110E\u1161\u11AB\u1106\u116E\u11AF","\u110E\u1161\u11AB\u1109\u1165\u11BC","\u110E\u1161\u11B7\u1100\u1161","\u110E\u1161\u11B7\u1100\u1175\u1105\u1173\u11B7","\u110E\u1161\u11B7\u1109\u1162","\u110E\u1161\u11B7\u1109\u1165\u11A8","\u110E\u1161\u11B7\u110B\u1167","\u110E\u1161\u11B7\u110B\u116C","\u110E\u1161\u11B7\u110C\u1169","\u110E\u1161\u11BA\u110C\u1161\u11AB","\u110E\u1161\u11BC\u1100\u1161","\u110E\u1161\u11BC\u1100\u1169","\u110E\u1161\u11BC\u1100\u116E","\u110E\u1161\u11BC\u1106\u116E\u11AB","\u110E\u1161\u11BC\u1107\u1161\u11A9","\u110E\u1161\u11BC\u110C\u1161\u11A8","\u110E\u1161\u11BC\u110C\u1169","\u110E\u1162\u1102\u1165\u11AF","\u110E\u1162\u110C\u1165\u11B7","\u110E\u1162\u11A8\u1100\u1161\u1107\u1161\u11BC","\u110E\u1162\u11A8\u1107\u1161\u11BC","\u110E\u1162\u11A8\u1109\u1161\u11BC","\u110E\u1162\u11A8\u110B\u1175\u11B7","\u110E\u1162\u11B7\u1111\u1175\u110B\u1165\u11AB","\u110E\u1165\u1107\u1165\u11AF","\u110E\u1165\u110B\u1173\u11B7","\u110E\u1165\u11AB\u1100\u116E\u11A8","\u110E\u1165\u11AB\u1103\u116E\u11BC","\u110E\u1165\u11AB\u110C\u1161\u11BC","\u110E\u1165\u11AB\u110C\u1162","\u110E\u1165\u11AB\u110E\u1165\u11AB\u1112\u1175","\u110E\u1165\u11AF\u1103\u1169","\u110E\u1165\u11AF\u110C\u1165\u1112\u1175","\u110E\u1165\u11AF\u1112\u1161\u11A8","\u110E\u1165\u11BA\u1102\u1161\u11AF","\u110E\u1165\u11BA\u110D\u1162","\u110E\u1165\u11BC\u1102\u1167\u11AB","\u110E\u1165\u11BC\u1107\u1161\u110C\u1175","\u110E\u1165\u11BC\u1109\u1169","\u110E\u1165\u11BC\u110E\u116E\u11AB","\u110E\u1166\u1100\u1168","\u110E\u1166\u1105\u1167\u11A8","\u110E\u1166\u110B\u1169\u11AB","\u110E\u1166\u110B\u1172\u11A8","\u110E\u1166\u110C\u116E\u11BC","\u110E\u1166\u1112\u1165\u11B7","\u110E\u1169\u1103\u1173\u11BC\u1112\u1161\u11A8\u1109\u1162\u11BC","\u110E\u1169\u1107\u1161\u11AB","\u110E\u1169\u1107\u1161\u11B8","\u110E\u1169\u1109\u1161\u11BC\u1112\u116A","\u110E\u1169\u1109\u116E\u11AB","\u110E\u1169\u110B\u1167\u1105\u1173\u11B7","\u110E\u1169\u110B\u116F\u11AB","\u110E\u1169\u110C\u1165\u1102\u1167\u11A8","\u110E\u1169\u110C\u1165\u11B7","\u110E\u1169\u110E\u1165\u11BC","\u110E\u1169\u110F\u1169\u11AF\u1105\u1175\u11BA","\u110E\u1169\u11BA\u1107\u116E\u11AF","\u110E\u1169\u11BC\u1100\u1161\u11A8","\u110E\u1169\u11BC\u1105\u1175","\u110E\u1169\u11BC\u110C\u1161\u11BC","\u110E\u116A\u11AF\u110B\u1167\u11BC","\u110E\u116C\u1100\u1173\u11AB","\u110E\u116C\u1109\u1161\u11BC","\u110E\u116C\u1109\u1165\u11AB","\u110E\u116C\u1109\u1175\u11AB","\u110E\u116C\u110B\u1161\u11A8","\u110E\u116C\u110C\u1169\u11BC","\u110E\u116E\u1109\u1165\u11A8","\u110E\u116E\u110B\u1165\u11A8","\u110E\u116E\u110C\u1175\u11AB","\u110E\u116E\u110E\u1165\u11AB","\u110E\u116E\u110E\u1173\u11A8","\u110E\u116E\u11A8\u1100\u116E","\u110E\u116E\u11A8\u1109\u1169","\u110E\u116E\u11A8\u110C\u1166","\u110E\u116E\u11A8\u1112\u1161","\u110E\u116E\u11AF\u1100\u1173\u11AB","\u110E\u116E\u11AF\u1107\u1161\u11AF","\u110E\u116E\u11AF\u1109\u1161\u11AB","\u110E\u116E\u11AF\u1109\u1175\u11AB","\u110E\u116E\u11AF\u110B\u1167\u11AB","\u110E\u116E\u11AF\u110B\u1175\u11B8","\u110E\u116E\u11AF\u110C\u1161\u11BC","\u110E\u116E\u11AF\u1111\u1161\u11AB","\u110E\u116E\u11BC\u1100\u1167\u11A8","\u110E\u116E\u11BC\u1100\u1169","\u110E\u116E\u11BC\u1103\u1169\u11AF","\u110E\u116E\u11BC\u1107\u116E\u11AB\u1112\u1175","\u110E\u116E\u11BC\u110E\u1165\u11BC\u1103\u1169","\u110E\u1171\u110B\u1165\u11B8","\u110E\u1171\u110C\u1175\u11A8","\u110E\u1171\u1112\u1163\u11BC","\u110E\u1175\u110B\u1163\u11A8","\u110E\u1175\u11AB\u1100\u116E","\u110E\u1175\u11AB\u110E\u1165\u11A8","\u110E\u1175\u11AF\u1109\u1175\u11B8","\u110E\u1175\u11AF\u110B\u116F\u11AF","\u110E\u1175\u11AF\u1111\u1161\u11AB","\u110E\u1175\u11B7\u1103\u1162","\u110E\u1175\u11B7\u1106\u116E\u11A8","\u110E\u1175\u11B7\u1109\u1175\u11AF","\u110E\u1175\u11BA\u1109\u1169\u11AF","\u110E\u1175\u11BC\u110E\u1161\u11AB","\u110F\u1161\u1106\u1166\u1105\u1161","\u110F\u1161\u110B\u116E\u11AB\u1110\u1165","\u110F\u1161\u11AF\u1100\u116E\u11A8\u1109\u116E","\u110F\u1162\u1105\u1175\u11A8\u1110\u1165","\u110F\u1162\u11B7\u1111\u1165\u1109\u1173","\u110F\u1162\u11B7\u1111\u1166\u110B\u1175\u11AB","\u110F\u1165\u1110\u1173\u11AB","\u110F\u1165\u11AB\u1103\u1175\u1109\u1167\u11AB","\u110F\u1165\u11AF\u1105\u1165","\u110F\u1165\u11B7\u1111\u1172\u1110\u1165","\u110F\u1169\u1101\u1175\u1105\u1175","\u110F\u1169\u1106\u1175\u1103\u1175","\u110F\u1169\u11AB\u1109\u1165\u1110\u1173","\u110F\u1169\u11AF\u1105\u1161","\u110F\u1169\u11B7\u1111\u1173\u11AF\u1105\u1166\u11A8\u1109\u1173","\u110F\u1169\u11BC\u1102\u1161\u1106\u116E\u11AF","\u110F\u116B\u1100\u1161\u11B7","\u110F\u116E\u1103\u1166\u1110\u1161","\u110F\u1173\u1105\u1175\u11B7","\u110F\u1173\u11AB\u1100\u1175\u11AF","\u110F\u1173\u11AB\u1104\u1161\u11AF","\u110F\u1173\u11AB\u1109\u1169\u1105\u1175","\u110F\u1173\u11AB\u110B\u1161\u1103\u1173\u11AF","\u110F\u1173\u11AB\u110B\u1165\u1106\u1165\u1102\u1175","\u110F\u1173\u11AB\u110B\u1175\u11AF","\u110F\u1173\u11AB\u110C\u1165\u11AF","\u110F\u1173\u11AF\u1105\u1162\u1109\u1175\u11A8","\u110F\u1173\u11AF\u1105\u1165\u11B8","\u110F\u1175\u11AF\u1105\u1169","\u1110\u1161\u110B\u1175\u11B8","\u1110\u1161\u110C\u1161\u1100\u1175","\u1110\u1161\u11A8\u1100\u116E","\u1110\u1161\u11A8\u110C\u1161","\u1110\u1161\u11AB\u1109\u1162\u11BC","\u1110\u1162\u1100\u116F\u11AB\u1103\u1169","\u1110\u1162\u110B\u1163\u11BC","\u1110\u1162\u1111\u116E\u11BC","\u1110\u1162\u11A8\u1109\u1175","\u1110\u1162\u11AF\u1105\u1165\u11AB\u1110\u1173","\u1110\u1165\u1102\u1165\u11AF","\u1110\u1165\u1106\u1175\u1102\u1165\u11AF","\u1110\u1166\u1102\u1175\u1109\u1173","\u1110\u1166\u1109\u1173\u1110\u1173","\u1110\u1166\u110B\u1175\u1107\u1173\u11AF","\u1110\u1166\u11AF\u1105\u1166\u1107\u1175\u110C\u1165\u11AB","\u1110\u1169\u1105\u1169\u11AB","\u1110\u1169\u1106\u1161\u1110\u1169","\u1110\u1169\u110B\u116D\u110B\u1175\u11AF","\u1110\u1169\u11BC\u1100\u1168","\u1110\u1169\u11BC\u1100\u116A","\u1110\u1169\u11BC\u1105\u1169","\u1110\u1169\u11BC\u1109\u1175\u11AB","\u1110\u1169\u11BC\u110B\u1167\u11A8","\u1110\u1169\u11BC\u110B\u1175\u11AF","\u1110\u1169\u11BC\u110C\u1161\u11BC","\u1110\u1169\u11BC\u110C\u1166","\u1110\u1169\u11BC\u110C\u1173\u11BC","\u1110\u1169\u11BC\u1112\u1161\u11B8","\u1110\u1169\u11BC\u1112\u116A","\u1110\u116C\u1100\u1173\u11AB","\u1110\u116C\u110B\u116F\u11AB","\u1110\u116C\u110C\u1175\u11A8\u1100\u1173\u11B7","\u1110\u1171\u1100\u1175\u11B7","\u1110\u1173\u1105\u1165\u11A8","\u1110\u1173\u11A8\u1100\u1173\u11B8","\u1110\u1173\u11A8\u1107\u1167\u11AF","\u1110\u1173\u11A8\u1109\u1165\u11BC","\u1110\u1173\u11A8\u1109\u116E","\u1110\u1173\u11A8\u110C\u1175\u11BC","\u1110\u1173\u11A8\u1112\u1175","\u1110\u1173\u11AB\u1110\u1173\u11AB\u1112\u1175","\u1110\u1175\u1109\u1167\u110E\u1173","\u1111\u1161\u1105\u1161\u11AB\u1109\u1162\u11A8","\u1111\u1161\u110B\u1175\u11AF","\u1111\u1161\u110E\u116E\u11AF\u1109\u1169","\u1111\u1161\u11AB\u1100\u1167\u11AF","\u1111\u1161\u11AB\u1103\u1161\u11AB","\u1111\u1161\u11AB\u1106\u1162","\u1111\u1161\u11AB\u1109\u1161","\u1111\u1161\u11AF\u1109\u1175\u11B8","\u1111\u1161\u11AF\u110B\u116F\u11AF","\u1111\u1161\u11B8\u1109\u1169\u11BC","\u1111\u1162\u1109\u1167\u11AB","\u1111\u1162\u11A8\u1109\u1173","\u1111\u1162\u11A8\u1109\u1175\u1106\u1175\u11AF\u1105\u1175","\u1111\u1162\u11AB\u1110\u1175","\u1111\u1165\u1109\u1166\u11AB\u1110\u1173","\u1111\u1166\u110B\u1175\u11AB\u1110\u1173","\u1111\u1167\u11AB\u1100\u1167\u11AB","\u1111\u1167\u11AB\u110B\u1174","\u1111\u1167\u11AB\u110C\u1175","\u1111\u1167\u11AB\u1112\u1175","\u1111\u1167\u11BC\u1100\u1161","\u1111\u1167\u11BC\u1100\u1172\u11AB","\u1111\u1167\u11BC\u1109\u1162\u11BC","\u1111\u1167\u11BC\u1109\u1169","\u1111\u1167\u11BC\u110B\u1163\u11BC","\u1111\u1167\u11BC\u110B\u1175\u11AF","\u1111\u1167\u11BC\u1112\u116A","\u1111\u1169\u1109\u1173\u1110\u1165","\u1111\u1169\u110B\u1175\u11AB\u1110\u1173","\u1111\u1169\u110C\u1161\u11BC","\u1111\u1169\u1112\u1161\u11B7","\u1111\u116D\u1106\u1167\u11AB","\u1111\u116D\u110C\u1165\u11BC","\u1111\u116D\u110C\u116E\u11AB","\u1111\u116D\u1112\u1167\u11AB","\u1111\u116E\u11B7\u1106\u1169\u11A8","\u1111\u116E\u11B7\u110C\u1175\u11AF","\u1111\u116E\u11BC\u1100\u1167\u11BC","\u1111\u116E\u11BC\u1109\u1169\u11A8","\u1111\u116E\u11BC\u1109\u1173\u11B8","\u1111\u1173\u1105\u1161\u11BC\u1109\u1173","\u1111\u1173\u1105\u1175\u11AB\u1110\u1165","\u1111\u1173\u11AF\u1105\u1161\u1109\u1173\u1110\u1175\u11A8","\u1111\u1175\u1100\u1169\u11AB","\u1111\u1175\u1106\u1161\u11BC","\u1111\u1175\u110B\u1161\u1102\u1169","\u1111\u1175\u11AF\u1105\u1173\u11B7","\u1111\u1175\u11AF\u1109\u116E","\u1111\u1175\u11AF\u110B\u116D","\u1111\u1175\u11AF\u110C\u1161","\u1111\u1175\u11AF\u1110\u1169\u11BC","\u1111\u1175\u11BC\u1100\u1168","\u1112\u1161\u1102\u1173\u1102\u1175\u11B7","\u1112\u1161\u1102\u1173\u11AF","\u1112\u1161\u1103\u1173\u110B\u1170\u110B\u1165","\u1112\u1161\u1105\u116E\u11BA\u1107\u1161\u11B7","\u1112\u1161\u1107\u1161\u11AB\u1100\u1175","\u1112\u1161\u1109\u116E\u11A8\u110C\u1175\u11B8","\u1112\u1161\u1109\u116E\u11AB","\u1112\u1161\u110B\u1167\u1110\u1173\u11AB","\u1112\u1161\u110C\u1175\u1106\u1161\u11AB","\u1112\u1161\u110E\u1165\u11AB","\u1112\u1161\u1111\u116E\u11B7","\u1112\u1161\u1111\u1175\u11AF","\u1112\u1161\u11A8\u1100\u116A","\u1112\u1161\u11A8\u1100\u116D","\u1112\u1161\u11A8\u1100\u1173\u11B8","\u1112\u1161\u11A8\u1100\u1175","\u1112\u1161\u11A8\u1102\u1167\u11AB","\u1112\u1161\u11A8\u1105\u1167\u11A8","\u1112\u1161\u11A8\u1107\u1165\u11AB","\u1112\u1161\u11A8\u1107\u116E\u1106\u1169","\u1112\u1161\u11A8\u1107\u1175","\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1112\u1161\u11A8\u1109\u116E\u11AF","\u1112\u1161\u11A8\u1109\u1173\u11B8","\u1112\u1161\u11A8\u110B\u116D\u11BC\u1111\u116E\u11B7","\u1112\u1161\u11A8\u110B\u116F\u11AB","\u1112\u1161\u11A8\u110B\u1171","\u1112\u1161\u11A8\u110C\u1161","\u1112\u1161\u11A8\u110C\u1165\u11B7","\u1112\u1161\u11AB\u1100\u1168","\u1112\u1161\u11AB\u1100\u1173\u11AF","\u1112\u1161\u11AB\u1101\u1165\u1107\u1165\u11AB\u110B\u1166","\u1112\u1161\u11AB\u1102\u1161\u11BD","\u1112\u1161\u11AB\u1102\u116E\u11AB","\u1112\u1161\u11AB\u1103\u1169\u11BC\u110B\u1161\u11AB","\u1112\u1161\u11AB\u1104\u1162","\u1112\u1161\u11AB\u1105\u1161\u1109\u1161\u11AB","\u1112\u1161\u11AB\u1106\u1161\u1103\u1175","\u1112\u1161\u11AB\u1106\u116E\u11AB","\u1112\u1161\u11AB\u1107\u1165\u11AB","\u1112\u1161\u11AB\u1107\u1169\u11A8","\u1112\u1161\u11AB\u1109\u1175\u11A8","\u1112\u1161\u11AB\u110B\u1167\u1105\u1173\u11B7","\u1112\u1161\u11AB\u110D\u1169\u11A8","\u1112\u1161\u11AF\u1106\u1165\u1102\u1175","\u1112\u1161\u11AF\u110B\u1161\u1107\u1165\u110C\u1175","\u1112\u1161\u11AF\u110B\u1175\u11AB","\u1112\u1161\u11B7\u1101\u1166","\u1112\u1161\u11B7\u1107\u116E\u1105\u1169","\u1112\u1161\u11B8\u1100\u1167\u11A8","\u1112\u1161\u11B8\u1105\u1175\u110C\u1165\u11A8","\u1112\u1161\u11BC\u1100\u1169\u11BC","\u1112\u1161\u11BC\u1100\u116E","\u1112\u1161\u11BC\u1109\u1161\u11BC","\u1112\u1161\u11BC\u110B\u1174","\u1112\u1162\u1100\u1167\u11AF","\u1112\u1162\u1100\u116E\u11AB","\u1112\u1162\u1103\u1161\u11B8","\u1112\u1162\u1103\u1161\u11BC","\u1112\u1162\u1106\u116E\u11AF","\u1112\u1162\u1109\u1165\u11A8","\u1112\u1162\u1109\u1165\u11AF","\u1112\u1162\u1109\u116E\u110B\u116D\u11A8\u110C\u1161\u11BC","\u1112\u1162\u110B\u1161\u11AB","\u1112\u1162\u11A8\u1109\u1175\u11B7","\u1112\u1162\u11AB\u1103\u1173\u1107\u1162\u11A8","\u1112\u1162\u11B7\u1107\u1165\u1100\u1165","\u1112\u1162\u11BA\u1107\u1167\u11C0","\u1112\u1162\u11BA\u1109\u1161\u11AF","\u1112\u1162\u11BC\u1103\u1169\u11BC","\u1112\u1162\u11BC\u1107\u1169\u11A8","\u1112\u1162\u11BC\u1109\u1161","\u1112\u1162\u11BC\u110B\u116E\u11AB","\u1112\u1162\u11BC\u110B\u1171","\u1112\u1163\u11BC\u1100\u1175","\u1112\u1163\u11BC\u1109\u1161\u11BC","\u1112\u1163\u11BC\u1109\u116E","\u1112\u1165\u1105\u1161\u11A8","\u1112\u1165\u110B\u116D\u11BC","\u1112\u1166\u11AF\u1100\u1175","\u1112\u1167\u11AB\u1100\u116A\u11AB","\u1112\u1167\u11AB\u1100\u1173\u11B7","\u1112\u1167\u11AB\u1103\u1162","\u1112\u1167\u11AB\u1109\u1161\u11BC","\u1112\u1167\u11AB\u1109\u1175\u11AF","\u1112\u1167\u11AB\u110C\u1161\u11BC","\u1112\u1167\u11AB\u110C\u1162","\u1112\u1167\u11AB\u110C\u1175","\u1112\u1167\u11AF\u110B\u1162\u11A8","\u1112\u1167\u11B8\u1105\u1167\u11A8","\u1112\u1167\u11BC\u1107\u116E","\u1112\u1167\u11BC\u1109\u1161","\u1112\u1167\u11BC\u1109\u116E","\u1112\u1167\u11BC\u1109\u1175\u11A8","\u1112\u1167\u11BC\u110C\u1166","\u1112\u1167\u11BC\u1110\u1162","\u1112\u1167\u11BC\u1111\u1167\u11AB","\u1112\u1168\u1110\u1162\u11A8","\u1112\u1169\u1100\u1175\u1109\u1175\u11B7","\u1112\u1169\u1102\u1161\u11B7","\u1112\u1169\u1105\u1161\u11BC\u110B\u1175","\u1112\u1169\u1107\u1161\u11A8","\u1112\u1169\u1110\u1166\u11AF","\u1112\u1169\u1112\u1173\u11B8","\u1112\u1169\u11A8\u1109\u1175","\u1112\u1169\u11AF\u1105\u1169","\u1112\u1169\u11B7\u1111\u1166\u110B\u1175\u110C\u1175","\u1112\u1169\u11BC\u1107\u1169","\u1112\u1169\u11BC\u1109\u116E","\u1112\u1169\u11BC\u110E\u1161","\u1112\u116A\u1106\u1167\u11AB","\u1112\u116A\u1107\u116E\u11AB","\u1112\u116A\u1109\u1161\u11AF","\u1112\u116A\u110B\u116D\u110B\u1175\u11AF","\u1112\u116A\u110C\u1161\u11BC","\u1112\u116A\u1112\u1161\u11A8","\u1112\u116A\u11A8\u1107\u1169","\u1112\u116A\u11A8\u110B\u1175\u11AB","\u1112\u116A\u11A8\u110C\u1161\u11BC","\u1112\u116A\u11A8\u110C\u1165\u11BC","\u1112\u116A\u11AB\u1100\u1161\u11B8","\u1112\u116A\u11AB\u1100\u1167\u11BC","\u1112\u116A\u11AB\u110B\u1167\u11BC","\u1112\u116A\u11AB\u110B\u1172\u11AF","\u1112\u116A\u11AB\u110C\u1161","\u1112\u116A\u11AF\u1100\u1175","\u1112\u116A\u11AF\u1103\u1169\u11BC","\u1112\u116A\u11AF\u1107\u1161\u11AF\u1112\u1175","\u1112\u116A\u11AF\u110B\u116D\u11BC","\u1112\u116A\u11AF\u110D\u1161\u11A8","\u1112\u116C\u1100\u1167\u11AB","\u1112\u116C\u1100\u116A\u11AB","\u1112\u116C\u1107\u1169\u11A8","\u1112\u116C\u1109\u1162\u11A8","\u1112\u116C\u110B\u116F\u11AB","\u1112\u116C\u110C\u1161\u11BC","\u1112\u116C\u110C\u1165\u11AB","\u1112\u116C\u11BA\u1109\u116E","\u1112\u116C\u11BC\u1103\u1161\u11AB\u1107\u1169\u1103\u1169","\u1112\u116D\u110B\u1172\u11AF\u110C\u1165\u11A8","\u1112\u116E\u1107\u1161\u11AB","\u1112\u116E\u110E\u116E\u11BA\u1100\u1161\u1105\u116E","\u1112\u116E\u11AB\u1105\u1167\u11AB","\u1112\u116F\u11AF\u110A\u1175\u11AB","\u1112\u1172\u1109\u1175\u11A8","\u1112\u1172\u110B\u1175\u11AF","\u1112\u1172\u11BC\u1102\u1162","\u1112\u1173\u1105\u1173\u11B7","\u1112\u1173\u11A8\u1107\u1162\u11A8","\u1112\u1173\u11A8\u110B\u1175\u11AB","\u1112\u1173\u11AB\u110C\u1165\u11A8","\u1112\u1173\u11AB\u1112\u1175","\u1112\u1173\u11BC\u1106\u1175","\u1112\u1173\u11BC\u1107\u116E\u11AB","\u1112\u1174\u1100\u1169\u11A8","\u1112\u1174\u1106\u1161\u11BC","\u1112\u1174\u1109\u1162\u11BC","\u1112\u1174\u11AB\u1109\u1162\u11A8","\u1112\u1175\u11B7\u1101\u1165\u11BA"]'), UF = JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","acade\u0301mie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acque\u0301rir","acronyme","acteur","actif","actuel","adepte","ade\u0301quat","adhe\u0301sif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","ae\u0301rer","ae\u0301ronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agre\u0301able","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","alge\u0300bre","algue","alie\u0301ner","aliment","alle\u0301ger","alliage","allouer","allumer","alourdir","alpaga","altesse","alve\u0301ole","amateur","ambigu","ambre","ame\u0301nager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","ane\u0301antir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","ape\u0301ritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","arte\u0301riel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannie\u0300re","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","be\u0301lier","belote","be\u0301ne\u0301fice","berceau","berger","berline","bermuda","besace","besogne","be\u0301tail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","bre\u0300che","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","cafe\u0301ine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","came\u0301ra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","ce\u0301dille","ceinture","ce\u0301leste","cellule","cendrier","censurer","central","cercle","ce\u0301re\u0301bral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","che\u0301quier","chercher","cheval","chien","chiffre","chignon","chime\u0300re","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cine\u0301ma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohe\u0301sion","coiffer","coincer","cole\u0300re","colibri","colline","colmater","colonel","combat","come\u0301die","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","corte\u0300ge","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","cre\u0301ature","cre\u0301diter","cre\u0301meux","creuser","crevette","cribler","crier","cristal","crite\u0300re","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuille\u0300re","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","de\u0301battre","de\u0301biter","de\u0301border","de\u0301brider","de\u0301butant","de\u0301caler","de\u0301cembre","de\u0301chirer","de\u0301cider","de\u0301clarer","de\u0301corer","de\u0301crire","de\u0301cupler","de\u0301dale","de\u0301ductif","de\u0301esse","de\u0301fensif","de\u0301filer","de\u0301frayer","de\u0301gager","de\u0301givrer","de\u0301glutir","de\u0301grafer","de\u0301jeuner","de\u0301lice","de\u0301loger","demander","demeurer","de\u0301molir","de\u0301nicher","de\u0301nouer","dentelle","de\u0301nuder","de\u0301part","de\u0301penser","de\u0301phaser","de\u0301placer","de\u0301poser","de\u0301ranger","de\u0301rober","de\u0301sastre","descente","de\u0301sert","de\u0301signer","de\u0301sobe\u0301ir","dessiner","destrier","de\u0301tacher","de\u0301tester","de\u0301tourer","de\u0301tresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","diffe\u0301rer","dige\u0301rer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","e\u0301blouir","e\u0301carter","e\u0301charpe","e\u0301chelle","e\u0301clairer","e\u0301clipse","e\u0301clore","e\u0301cluse","e\u0301cole","e\u0301conomie","e\u0301corce","e\u0301couter","e\u0301craser","e\u0301cre\u0301mer","e\u0301crivain","e\u0301crou","e\u0301cume","e\u0301cureuil","e\u0301difier","e\u0301duquer","effacer","effectif","effigie","effort","effrayer","effusion","e\u0301galiser","e\u0301garer","e\u0301jecter","e\u0301laborer","e\u0301largir","e\u0301lectron","e\u0301le\u0301gant","e\u0301le\u0301phant","e\u0301le\u0300ve","e\u0301ligible","e\u0301litisme","e\u0301loge","e\u0301lucider","e\u0301luder","emballer","embellir","embryon","e\u0301meraude","e\u0301mission","emmener","e\u0301motion","e\u0301mouvoir","empereur","employer","emporter","emprise","e\u0301mulsion","encadrer","enche\u0300re","enclave","encoche","endiguer","endosser","endroit","enduire","e\u0301nergie","enfance","enfermer","enfouir","engager","engin","englober","e\u0301nigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","e\u0301nume\u0301rer","envahir","enviable","envoyer","enzyme","e\u0301olien","e\u0301paissir","e\u0301pargne","e\u0301patant","e\u0301paule","e\u0301picerie","e\u0301pide\u0301mie","e\u0301pier","e\u0301pilogue","e\u0301pine","e\u0301pisode","e\u0301pitaphe","e\u0301poque","e\u0301preuve","e\u0301prouver","e\u0301puisant","e\u0301querre","e\u0301quipe","e\u0301riger","e\u0301rosion","erreur","e\u0301ruption","escalier","espadon","espe\u0300ce","espie\u0300gle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","e\u0301tage\u0300re","e\u0301taler","e\u0301tanche","e\u0301tatique","e\u0301teindre","e\u0301tendoir","e\u0301ternel","e\u0301thanol","e\u0301thique","ethnie","e\u0301tirer","e\u0301toffer","e\u0301toile","e\u0301tonnant","e\u0301tourdir","e\u0301trange","e\u0301troit","e\u0301tude","euphorie","e\u0301valuer","e\u0301vasion","e\u0301ventail","e\u0301vidence","e\u0301viter","e\u0301volutif","e\u0301voquer","exact","exage\u0301rer","exaucer","exceller","excitant","exclusif","excuse","exe\u0301cuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expe\u0301dier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fe\u0301brile","fe\u0301conder","fe\u0301de\u0301rer","fe\u0301lin","femme","fe\u0301mur","fendoir","fe\u0301odal","fermer","fe\u0301roce","ferveur","festival","feuille","feutre","fe\u0301vrier","fiasco","ficeler","fictif","fide\u0300le","figure","filature","filetage","filie\u0300re","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fle\u0301au","fle\u0300che","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fouge\u0300re","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","fre\u0301gate","freiner","frelon","fre\u0301mir","fre\u0301ne\u0301sie","fre\u0300re","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","ge\u0301ant","ge\u0301latine","ge\u0301lule","gendarme","ge\u0301ne\u0301ral","ge\u0301nie","genou","gentil","ge\u0301ologie","ge\u0301ome\u0300tre","ge\u0301ranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruye\u0300re","gue\u0301pard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","he\u0301lium","he\u0301matome","herbe","he\u0301risson","hermine","he\u0301ron","he\u0301siter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homoge\u0300ne","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygie\u0300ne","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impe\u0301rial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","ine\u0301dit","ineptie","inexact","infini","infliger","informer","infusion","inge\u0301rer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irre\u0301el","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juve\u0301nile","kayak","kimono","kiosque","label","labial","labourer","lace\u0301rer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","le\u0301gal","le\u0301ger","le\u0301gume","lessive","lettre","levier","lexique","le\u0301zard","liasse","libe\u0301rer","libre","licence","licorne","lie\u0300ge","lie\u0300vre","ligature","ligoter","ligue","limer","limite","limonade","limpide","line\u0301aire","lingot","lionceau","liquide","lisie\u0300re","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumie\u0300re","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","male\u0301fice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","mate\u0301riel","matie\u0300re","matraque","maudire","maussade","mauve","maximal","me\u0301chant","me\u0301connu","me\u0301daille","me\u0301decin","me\u0301diter","me\u0301duse","meilleur","me\u0301lange","me\u0301lodie","membre","me\u0301moire","menacer","mener","menhir","mensonge","mentor","mercredi","me\u0301rite","merle","messager","mesure","me\u0301tal","me\u0301te\u0301ore","me\u0301thode","me\u0301tier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","mine\u0301ral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","mure\u0300ne","murmure","muscle","muse\u0301um","musicien","mutation","muter","mutuel","myriade","myrtille","myste\u0300re","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","ne\u0301buleux","nectar","ne\u0301faste","ne\u0301gation","ne\u0301gliger","ne\u0301gocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","nume\u0301ro","nuptial","nuque","nutritif","obe\u0301ir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","oce\u0301an","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","one\u0301reux","onirique","opale","opaque","ope\u0301rer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxyge\u0300ne","ozone","paisible","palace","palmare\u0300s","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","paste\u0300que","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pe\u0301lican","pelle","pelouse","peluche","pendule","pe\u0301ne\u0301trer","pe\u0301nible","pensif","pe\u0301nurie","pe\u0301pite","pe\u0301plum","perdrix","perforer","pe\u0301riode","permuter","perplexe","persil","perte","peser","pe\u0301tale","petit","pe\u0301trir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pie\u0300ce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poe\u0301sie","poe\u0300te","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","ponde\u0301rer","poney","portique","position","posse\u0301der","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","pre\u0301cieux","pre\u0301dire","pre\u0301fixe","pre\u0301lude","pre\u0301nom","pre\u0301sence","pre\u0301texte","pre\u0301voir","primitif","prince","prison","priver","proble\u0300me","proce\u0301der","prodige","profond","progre\u0300s","proie","projeter","prologue","promener","propre","prospe\u0300re","prote\u0301ger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quie\u0301tude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","re\u0301actif","re\u0301agir","re\u0301aliser","re\u0301animer","recevoir","re\u0301citer","re\u0301clamer","re\u0301colter","recruter","reculer","recycler","re\u0301diger","redouter","refaire","re\u0301flexe","re\u0301former","refrain","refuge","re\u0301galien","re\u0301gion","re\u0301glage","re\u0301gulier","re\u0301ite\u0301rer","rejeter","rejouer","relatif","relever","relief","remarque","reme\u0300de","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","re\u0301serve","re\u0301sineux","re\u0301soudre","respect","rester","re\u0301sultat","re\u0301tablir","retenir","re\u0301ticule","retomber","retracer","re\u0301union","re\u0301ussir","revanche","revivre","re\u0301volte","re\u0301vulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivie\u0300re","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","sce\u0301le\u0301rat","sce\u0301nario","sceptre","sche\u0301ma","science","scinder","score","scrutin","sculpter","se\u0301ance","se\u0301cable","se\u0301cher","secouer","se\u0301cre\u0301ter","se\u0301datif","se\u0301duire","seigneur","se\u0301jour","se\u0301lectif","semaine","sembler","semence","se\u0301minal","se\u0301nateur","sensible","sentence","se\u0301parer","se\u0301quence","serein","sergent","se\u0301rieux","serrure","se\u0301rum","service","se\u0301same","se\u0301vir","sevrage","sextuple","side\u0301ral","sie\u0300cle","sie\u0301ger","siffler","sigle","signal","silence","silicium","simple","since\u0300re","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spe\u0301cial","sphe\u0300re","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succe\u0300s","sucre","suffixe","sugge\u0301rer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","syme\u0301trie","synapse","syntaxe","syste\u0300me","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","te\u0301moin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","te\u0301tine","texte","the\u0300me","the\u0301orie","the\u0301rapie","thorax","tibia","tie\u0300de","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tole\u0301rant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","tre\u0300fle","tremper","tre\u0301sor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","ve\u0301ge\u0301tal","ve\u0301hicule","veinard","ve\u0301loce","vendredi","ve\u0301ne\u0301rer","venger","venimeux","ventouse","verdure","ve\u0301rin","vernir","verrou","verser","vertu","veston","ve\u0301te\u0301ran","ve\u0301tuste","vexant","vexer","viaduc","viande","victoire","vidange","vide\u0301o","vignette","vigueur","vilain","village","vinaigre","violon","vipe\u0300re","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xe\u0301non","yacht","ze\u0300bre","ze\u0301nith","zeste","zoologie"]'), RF = JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]'), TF = JSON.parse('["a\u0301baco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","accio\u0301n","aceite","acelga","acento","aceptar","a\u0301cido","aclarar","acne\u0301","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","ae\u0301reo","afectar","aficio\u0301n","afinar","afirmar","a\u0301gil","agitar","agoni\u0301a","agosto","agotar","agregar","agrio","agua","agudo","a\u0301guila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacra\u0301n","alambre","alarma","alba","a\u0301lbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodo\u0301n","aliado","aliento","alivio","alma","almeja","almi\u0301bar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","a\u0301mbar","a\u0301mbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","ande\u0301n","anemia","a\u0301ngulo","anillo","a\u0301nimo","ani\u0301s","anotar","antena","antiguo","antojo","anual","anular","anuncio","an\u0303adir","an\u0303ejo","an\u0303o","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","aran\u0303a","arar","a\u0301rbitro","a\u0301rbol","arbusto","archivo","arco","arder","ardilla","arduo","a\u0301rea","a\u0301rido","aries","armoni\u0301a","arne\u0301s","aroma","arpa","arpo\u0301n","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","a\u0301spero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","a\u0301tico","atleta","a\u0301tomo","atraer","atroz","atu\u0301n","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avio\u0301n","aviso","ayer","ayuda","ayuno","azafra\u0301n","azar","azote","azu\u0301car","azufre","azul","baba","babor","bache","bahi\u0301a","baile","bajar","balanza","balco\u0301n","balde","bambu\u0301","banco","banda","ban\u0303o","barba","barco","barniz","barro","ba\u0301scula","basto\u0301n","basura","batalla","bateri\u0301a","batir","batuta","bau\u0301l","bazar","bebe\u0301","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsa\u0301i","borde","borrar","bosque","bote","boti\u0301n","bo\u0301veda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufo\u0301n","bu\u0301ho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzo\u0301n","caballo","cabeza","cabina","cabra","cacao","cada\u0301ver","cadena","caer","cafe\u0301","cai\u0301da","caima\u0301n","caja","cajo\u0301n","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","ca\u0301ncer","candil","canela","canguro","canica","canto","can\u0303a","can\u0303o\u0301n","caoba","caos","capaz","capita\u0301n","capote","captar","capucha","cara","carbo\u0301n","ca\u0301rcel","careta","carga","carin\u0303o","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","ce\u0301lebre","celoso","ce\u0301lula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","ce\u0301sped","cetro","chacal","chaleco","champu\u0301","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclo\u0301n","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","cipre\u0301s","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","cli\u0301nica","cobre","coccio\u0301n","cochino","cocina","coco","co\u0301digo","codo","cofre","coger","cohete","coji\u0301n","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","co\u0301modo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazo\u0301n","corbata","corcho","cordo\u0301n","corona","correr","coser","cosmos","costa","cra\u0301neo","cra\u0301ter","crear","crecer","crei\u0301do","crema","cri\u0301a","crimen","cripta","crisis","cromo","cro\u0301nica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupo\u0301n","cu\u0301pula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","da\u0301til","deber","de\u0301bil","de\u0301cada","decir","dedo","defensa","definir","dejar","delfi\u0301n","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvi\u0301o","detalle","detener","deuda","di\u0301a","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difi\u0301cil","digno","dilema","diluir","dinero","directo","dirigir","disco","disen\u0303o","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","drago\u0301n","droga","ducha","duda","duelo","duen\u0303o","dulce","du\u0301o","duque","durar","dureza","duro","e\u0301bano","ebrio","echar","eco","ecuador","edad","edicio\u0301n","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","e\u0301lite","elixir","elogio","eludir","embudo","emitir","emocio\u0301n","empate","empen\u0303o","empleo","empresa","enano","encargo","enchufe","enci\u0301a","enemigo","enero","enfado","enfermo","engan\u0303o","enigma","enlace","enorme","enredo","ensayo","ensen\u0303ar","entero","entrar","envase","envi\u0301o","e\u0301poca","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espi\u0301a","esposa","espuma","esqui\u0301","estar","este","estilo","estufa","etapa","eterno","e\u0301tica","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","e\u0301xito","experto","explicar","exponer","extremo","fa\u0301brica","fa\u0301bula","fachada","fa\u0301cil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","farao\u0301n","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fe\u0301rtil","fervor","festi\u0301n","fiable","fianza","fiar","fibra","ficcio\u0301n","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flu\u0301or","fobia","foca","fogata","fogo\u0301n","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","fra\u0301gil","franja","frase","fraude","frei\u0301r","freno","fresa","fri\u0301o","frito","fruta","fuego","fuente","fuerza","fuga","fumar","funcio\u0301n","funda","furgo\u0301n","furia","fusil","fu\u0301tbol","futuro","gacela","gafas","gaita","gajo","gala","galeri\u0301a","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavila\u0301n","gemelo","gemir","gen","ge\u0301nero","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gra\u0301fico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","gru\u0301a","grueso","grumo","grupo","guante","guapo","guardia","guerra","gui\u0301a","guin\u0303o","guion","guiso","guitarra","gusano","gustar","haber","ha\u0301bil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazan\u0303a","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","he\u0301roe","hervir","hielo","hierro","hi\u0301gado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","hu\u0301medo","humilde","humo","hundir","huraca\u0301n","hurto","icono","ideal","idioma","i\u0301dolo","iglesia","iglu\u0301","igual","ilegal","ilusio\u0301n","imagen","ima\u0301n","imitar","impar","imperio","imponer","impulso","incapaz","i\u0301ndice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","intere\u0301s","i\u0301ntimo","intuir","inu\u0301til","invierno","ira","iris","ironi\u0301a","isla","islote","jabali\u0301","jabo\u0301n","jamo\u0301n","jarabe","jardi\u0301n","jarra","jaula","jazmi\u0301n","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","ju\u0301piter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladro\u0301n","lagarto","la\u0301grima","laguna","laico","lamer","la\u0301mina","la\u0301mpara","lana","lancha","langosta","lanza","la\u0301piz","largo","larva","la\u0301stima","lata","la\u0301tex","latir","laurel","lavar","lazo","leal","leccio\u0301n","leche","lector","leer","legio\u0301n","legumbre","lejano","lengua","lento","len\u0303a","leo\u0301n","leopardo","lesio\u0301n","letal","letra","leve","leyenda","libertad","libro","licor","li\u0301der","lidiar","lienzo","liga","ligero","lima","li\u0301mite","limo\u0301n","limpio","lince","lindo","li\u0301nea","lingote","lino","linterna","li\u0301quido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","locio\u0301n","loco","locura","lo\u0301gica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","mai\u0301z","maldad","maleta","malla","malo","mama\u0301","mambo","mamut","manco","mando","manejar","manga","maniqui\u0301","manjar","mano","manso","manta","man\u0303ana","mapa","ma\u0301quina","mar","marco","marea","marfil","margen","marido","ma\u0301rmol","marro\u0301n","martes","marzo","masa","ma\u0301scara","masivo","matar","materia","matiz","matriz","ma\u0301ximo","mayor","mazorca","mecha","medalla","medio","me\u0301dula","mejilla","mejor","melena","melo\u0301n","memoria","menor","mensaje","mente","menu\u0301","mercado","merengue","me\u0301rito","mes","meso\u0301n","meta","meter","me\u0301todo","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millo\u0301n","mimo","mina","minero","mi\u0301nimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","mocio\u0301n","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","mon\u0303o","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","mo\u0301vil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","mun\u0303eca","mural","muro","mu\u0301sculo","museo","musgo","mu\u0301sica","muslo","na\u0301car","nacio\u0301n","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","na\u0301usea","naval","nave","navidad","necio","ne\u0301ctar","negar","negocio","negro","neo\u0301n","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","nin\u0303ez","nin\u0303o","ni\u0301tido","nivel","nobleza","noche","no\u0301mina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","nu\u0301cleo","nudillo","nudo","nuera","nueve","nuez","nulo","nu\u0301mero","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","oce\u0301ano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oi\u0301do","oi\u0301r","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opcio\u0301n","o\u0301pera","opinar","oponer","optar","o\u0301ptica","opuesto","oracio\u0301n","orador","oral","o\u0301rbita","orca","orden","oreja","o\u0301rgano","orgi\u0301a","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadi\u0301a","oscuro","osezno","oso","ostra","oton\u0303o","otro","oveja","o\u0301vulo","o\u0301xido","oxi\u0301geno","oyente","ozono","pacto","padre","paella","pa\u0301gina","pago","pai\u0301s","pa\u0301jaro","palabra","palco","paleta","pa\u0301lido","palma","paloma","palpar","pan","panal","pa\u0301nico","pantera","pan\u0303uelo","papa\u0301","papel","papilla","paquete","parar","parcela","pared","parir","paro","pa\u0301rpado","parque","pa\u0301rrafo","parte","pasar","paseo","pasio\u0301n","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peato\u0301n","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldan\u0303o","pelea","peligro","pellejo","pelo","peluca","pena","pensar","pen\u0303o\u0301n","peo\u0301n","peor","pepino","pequen\u0303o","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pe\u0301simo","pestan\u0303a","pe\u0301talo","petro\u0301leo","pez","pezun\u0303a","picar","picho\u0301n","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","pin\u0303a","piojo","pipa","pirata","pisar","piscina","piso","pista","pito\u0301n","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesi\u0301a","poeta","polen","polici\u0301a","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porcio\u0301n","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","pri\u0301ncipe","prisio\u0301n","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","pro\u0301ximo","prueba","pu\u0301blico","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmo\u0301n","pulpo","pulso","puma","punto","pun\u0303al","pun\u0303o","pupa","pupila","pure\u0301","quedar","queja","quemar","querer","queso","quieto","qui\u0301mica","quince","quitar","ra\u0301bano","rabia","rabo","racio\u0301n","radical","rai\u0301z","rama","rampa","rancho","rango","rapaz","ra\u0301pido","rapto","rasgo","raspa","rato","rayo","raza","razo\u0301n","reaccio\u0301n","realidad","reban\u0303o","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refra\u0301n","refugio","regalo","regir","regla","regreso","rehe\u0301n","reino","rei\u0301r","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","reve\u0301s","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","ri\u0301gido","rigor","rinco\u0301n","rin\u0303o\u0301n","ri\u0301o","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubi\u0301","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sa\u0301bado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmo\u0301n","salo\u0301n","salsa","salto","salud","salvar","samba","sancio\u0301n","sandi\u0301a","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sarte\u0301n","sastre","sata\u0301n","sauna","saxofo\u0301n","seccio\u0301n","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","sen\u0303al","sen\u0303or","separar","sepia","sequi\u0301a","ser","serie","sermo\u0301n","servir","sesenta","sesio\u0301n","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","si\u0301laba","silbar","silencio","silla","si\u0301mbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","so\u0301lido","soltar","solucio\u0301n","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","soste\u0301n","so\u0301tano","suave","subir","suceso","sudor","suegra","suelo","suen\u0303o","suerte","sufrir","sujeto","sulta\u0301n","sumar","superar","suplir","suponer","supremo","sur","surco","suren\u0303o","surgir","susto","sutil","tabaco","tabique","tabla","tabu\u0301","taco","tacto","tajo","talar","talco","talento","talla","talo\u0301n","taman\u0303o","tambor","tango","tanque","tapa","tapete","tapia","tapo\u0301n","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazo\u0301n","teatro","techo","tecla","te\u0301cnica","tejado","tejer","tejido","tela","tele\u0301fono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teori\u0301a","terapia","terco","te\u0301rmino","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburo\u0301n","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","ti\u0301mido","timo","tinta","ti\u0301o","ti\u0301pico","tipo","tira","tiro\u0301n","tita\u0301n","ti\u0301tere","ti\u0301tulo","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","to\u0301rax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","to\u0301xico","trabajo","tractor","traer","tra\u0301fico","trago","traje","tramo","trance","trato","trauma","trazar","tre\u0301bol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tuberi\u0301a","tubo","tuerto","tumba","tumor","tu\u0301nel","tu\u0301nica","turbina","turismo","turno","tutor","ubicar","u\u0301lcera","umbral","unidad","unir","universo","uno","untar","un\u0303a","urbano","urbe","urgente","urna","usar","usuario","u\u0301til","utopi\u0301a","uva","vaca","vaci\u0301o","vacuna","vagar","vago","vaina","vajilla","vale","va\u0301lido","valle","valor","va\u0301lvula","vampiro","vara","variar","varo\u0301n","vaso","vecino","vector","vehi\u0301culo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vi\u0301a","viaje","vibrar","vicio","vi\u0301ctima","vida","vi\u0301deo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","vin\u0303edo","violi\u0301n","viral","virgo","virtud","visor","vi\u0301spera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volca\u0301n","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]'), MF = JSON.parse('["\u3042\u3044\u3053\u304F\u3057\u3093","\u3042\u3044\u3055\u3064","\u3042\u3044\u305F\u3099","\u3042\u304A\u305D\u3099\u3089","\u3042\u304B\u3061\u3083\u3093","\u3042\u304D\u308B","\u3042\u3051\u304B\u3099\u305F","\u3042\u3051\u308B","\u3042\u3053\u304B\u3099\u308C\u308B","\u3042\u3055\u3044","\u3042\u3055\u3072","\u3042\u3057\u3042\u3068","\u3042\u3057\u3099\u308F\u3046","\u3042\u3059\u3099\u304B\u308B","\u3042\u3059\u3099\u304D","\u3042\u305D\u3075\u3099","\u3042\u305F\u3048\u308B","\u3042\u305F\u305F\u3081\u308B","\u3042\u305F\u308A\u307E\u3048","\u3042\u305F\u308B","\u3042\u3064\u3044","\u3042\u3064\u304B\u3046","\u3042\u3063\u3057\u3085\u304F","\u3042\u3064\u307E\u308A","\u3042\u3064\u3081\u308B","\u3042\u3066\u306A","\u3042\u3066\u306F\u307E\u308B","\u3042\u3072\u308B","\u3042\u3075\u3099\u3089","\u3042\u3075\u3099\u308B","\u3042\u3075\u308C\u308B","\u3042\u307E\u3044","\u3042\u307E\u3068\u3099","\u3042\u307E\u3084\u304B\u3059","\u3042\u307E\u308A","\u3042\u307F\u3082\u306E","\u3042\u3081\u308A\u304B","\u3042\u3084\u307E\u308B","\u3042\u3086\u3080","\u3042\u3089\u3044\u304F\u3099\u307E","\u3042\u3089\u3057","\u3042\u3089\u3059\u3057\u3099","\u3042\u3089\u305F\u3081\u308B","\u3042\u3089\u3086\u308B","\u3042\u3089\u308F\u3059","\u3042\u308A\u304B\u3099\u3068\u3046","\u3042\u308F\u305B\u308B","\u3042\u308F\u3066\u308B","\u3042\u3093\u3044","\u3042\u3093\u304B\u3099\u3044","\u3042\u3093\u3053","\u3042\u3093\u305B\u3099\u3093","\u3042\u3093\u3066\u3044","\u3042\u3093\u306A\u3044","\u3042\u3093\u307E\u308A","\u3044\u3044\u305F\u3099\u3059","\u3044\u304A\u3093","\u3044\u304B\u3099\u3044","\u3044\u304B\u3099\u304F","\u3044\u304D\u304A\u3044","\u3044\u304D\u306A\u308A","\u3044\u304D\u3082\u306E","\u3044\u304D\u308B","\u3044\u304F\u3057\u3099","\u3044\u304F\u3075\u3099\u3093","\u3044\u3051\u306F\u3099\u306A","\u3044\u3051\u3093","\u3044\u3053\u3046","\u3044\u3053\u304F","\u3044\u3053\u3064","\u3044\u3055\u307E\u3057\u3044","\u3044\u3055\u3093","\u3044\u3057\u304D","\u3044\u3057\u3099\u3085\u3046","\u3044\u3057\u3099\u3087\u3046","\u3044\u3057\u3099\u308F\u308B","\u3044\u3059\u3099\u307F","\u3044\u3059\u3099\u308C","\u3044\u305B\u3044","\u3044\u305B\u3048\u3072\u3099","\u3044\u305B\u304B\u3044","\u3044\u305B\u304D","\u3044\u305B\u3099\u3093","\u3044\u305D\u3046\u308D\u3046","\u3044\u305D\u304B\u3099\u3057\u3044","\u3044\u305F\u3099\u3044","\u3044\u305F\u3099\u304F","\u3044\u305F\u3059\u3099\u3089","\u3044\u305F\u307F","\u3044\u305F\u308A\u3042","\u3044\u3061\u304A\u3046","\u3044\u3061\u3057\u3099","\u3044\u3061\u3068\u3099","\u3044\u3061\u306F\u3099","\u3044\u3061\u3075\u3099","\u3044\u3061\u308A\u3085\u3046","\u3044\u3064\u304B","\u3044\u3063\u3057\u3085\u3093","\u3044\u3063\u305B\u3044","\u3044\u3063\u305D\u3046","\u3044\u3063\u305F\u3093","\u3044\u3063\u3061","\u3044\u3063\u3066\u3044","\u3044\u3063\u307B\u309A\u3046","\u3044\u3066\u3055\u3099","\u3044\u3066\u3093","\u3044\u3068\u3099\u3046","\u3044\u3068\u3053","\u3044\u306A\u3044","\u3044\u306A\u304B","\u3044\u306D\u3080\u308A","\u3044\u306E\u3061","\u3044\u306E\u308B","\u3044\u306F\u3064","\u3044\u306F\u3099\u308B","\u3044\u306F\u3093","\u3044\u3072\u3099\u304D","\u3044\u3072\u3093","\u3044\u3075\u304F","\u3044\u3078\u3093","\u3044\u307B\u3046","\u3044\u307F\u3093","\u3044\u3082\u3046\u3068","\u3044\u3082\u305F\u308C","\u3044\u3082\u308A","\u3044\u3084\u304B\u3099\u308B","\u3044\u3084\u3059","\u3044\u3088\u304B\u3093","\u3044\u3088\u304F","\u3044\u3089\u3044","\u3044\u3089\u3059\u3068","\u3044\u308A\u304F\u3099\u3061","\u3044\u308A\u3087\u3046","\u3044\u308C\u3044","\u3044\u308C\u3082\u306E","\u3044\u308C\u308B","\u3044\u308D\u3048\u3093\u3072\u309A\u3064","\u3044\u308F\u3044","\u3044\u308F\u3046","\u3044\u308F\u304B\u3093","\u3044\u308F\u306F\u3099","\u3044\u308F\u3086\u308B","\u3044\u3093\u3051\u3099\u3093\u307E\u3081","\u3044\u3093\u3055\u3064","\u3044\u3093\u3057\u3087\u3046","\u3044\u3093\u3088\u3046","\u3046\u3048\u304D","\u3046\u3048\u308B","\u3046\u304A\u3055\u3099","\u3046\u304B\u3099\u3044","\u3046\u304B\u3075\u3099","\u3046\u304B\u3078\u3099\u308B","\u3046\u304D\u308F","\u3046\u304F\u3089\u3044\u306A","\u3046\u304F\u308C\u308C","\u3046\u3051\u305F\u307E\u308F\u308B","\u3046\u3051\u3064\u3051","\u3046\u3051\u3068\u308B","\u3046\u3051\u3082\u3064","\u3046\u3051\u308B","\u3046\u3053\u3099\u304B\u3059","\u3046\u3053\u3099\u304F","\u3046\u3053\u3093","\u3046\u3055\u304D\u3099","\u3046\u3057\u306A\u3046","\u3046\u3057\u308D\u304B\u3099\u307F","\u3046\u3059\u3044","\u3046\u3059\u304D\u3099","\u3046\u3059\u304F\u3099\u3089\u3044","\u3046\u3059\u3081\u308B","\u3046\u305B\u3064","\u3046\u3061\u3042\u308F\u305B","\u3046\u3061\u304B\u3099\u308F","\u3046\u3061\u304D","\u3046\u3061\u3085\u3046","\u3046\u3063\u304B\u308A","\u3046\u3064\u304F\u3057\u3044","\u3046\u3063\u305F\u3048\u308B","\u3046\u3064\u308B","\u3046\u3068\u3099\u3093","\u3046\u306A\u304D\u3099","\u3046\u306A\u3057\u3099","\u3046\u306A\u3059\u3099\u304F","\u3046\u306A\u308B","\u3046\u306D\u308B","\u3046\u306E\u3046","\u3046\u3075\u3099\u3051\u3099","\u3046\u3075\u3099\u3053\u3099\u3048","\u3046\u307E\u308C\u308B","\u3046\u3081\u308B","\u3046\u3082\u3046","\u3046\u3084\u307E\u3046","\u3046\u3088\u304F","\u3046\u3089\u304B\u3099\u3048\u3059","\u3046\u3089\u304F\u3099\u3061","\u3046\u3089\u306A\u3044","\u3046\u308A\u3042\u3051\u3099","\u3046\u308A\u304D\u308C","\u3046\u308B\u3055\u3044","\u3046\u308C\u3057\u3044","\u3046\u308C\u3086\u304D","\u3046\u308C\u308B","\u3046\u308D\u3053","\u3046\u308F\u304D","\u3046\u308F\u3055","\u3046\u3093\u3053\u3046","\u3046\u3093\u3061\u3093","\u3046\u3093\u3066\u3093","\u3046\u3093\u3068\u3099\u3046","\u3048\u3044\u3048\u3093","\u3048\u3044\u304B\u3099","\u3048\u3044\u304D\u3087\u3046","\u3048\u3044\u3053\u3099","\u3048\u3044\u305B\u3044","\u3048\u3044\u3075\u3099\u3093","\u3048\u3044\u3088\u3046","\u3048\u3044\u308F","\u3048\u304A\u308A","\u3048\u304B\u3099\u304A","\u3048\u304B\u3099\u304F","\u3048\u304D\u305F\u3044","\u3048\u304F\u305B\u308B","\u3048\u3057\u3083\u304F","\u3048\u3059\u3066","\u3048\u3064\u3089\u3093","\u3048\u306E\u304F\u3099","\u3048\u307B\u3046\u307E\u304D","\u3048\u307B\u3093","\u3048\u307E\u304D","\u3048\u3082\u3057\u3099","\u3048\u3082\u306E","\u3048\u3089\u3044","\u3048\u3089\u3075\u3099","\u3048\u308A\u3042","\u3048\u3093\u3048\u3093","\u3048\u3093\u304B\u3044","\u3048\u3093\u304D\u3099","\u3048\u3093\u3051\u3099\u304D","\u3048\u3093\u3057\u3085\u3046","\u3048\u3093\u305B\u3099\u3064","\u3048\u3093\u305D\u304F","\u3048\u3093\u3061\u3087\u3046","\u3048\u3093\u3068\u3064","\u304A\u3044\u304B\u3051\u308B","\u304A\u3044\u3053\u3059","\u304A\u3044\u3057\u3044","\u304A\u3044\u3064\u304F","\u304A\u3046\u3048\u3093","\u304A\u3046\u3055\u307E","\u304A\u3046\u3057\u3099","\u304A\u3046\u305B\u3064","\u304A\u3046\u305F\u3044","\u304A\u3046\u3075\u304F","\u304A\u3046\u3078\u3099\u3044","\u304A\u3046\u3088\u3046","\u304A\u3048\u308B","\u304A\u304A\u3044","\u304A\u304A\u3046","\u304A\u304A\u3068\u3099\u304A\u308A","\u304A\u304A\u3084","\u304A\u304A\u3088\u305D","\u304A\u304B\u3048\u308A","\u304A\u304B\u3059\u3099","\u304A\u304B\u3099\u3080","\u304A\u304B\u308F\u308A","\u304A\u304D\u3099\u306A\u3046","\u304A\u304D\u308B","\u304A\u304F\u3055\u307E","\u304A\u304F\u3057\u3099\u3087\u3046","\u304A\u304F\u308A\u304B\u3099\u306A","\u304A\u304F\u308B","\u304A\u304F\u308C\u308B","\u304A\u3053\u3059","\u304A\u3053\u306A\u3046","\u304A\u3053\u308B","\u304A\u3055\u3048\u308B","\u304A\u3055\u306A\u3044","\u304A\u3055\u3081\u308B","\u304A\u3057\u3044\u308C","\u304A\u3057\u3048\u308B","\u304A\u3057\u3099\u304D\u3099","\u304A\u3057\u3099\u3055\u3093","\u304A\u3057\u3083\u308C","\u304A\u305D\u3089\u304F","\u304A\u305D\u308F\u308B","\u304A\u305F\u304B\u3099\u3044","\u304A\u305F\u304F","\u304A\u305F\u3099\u3084\u304B","\u304A\u3061\u3064\u304F","\u304A\u3063\u3068","\u304A\u3064\u308A","\u304A\u3066\u3099\u304B\u3051","\u304A\u3068\u3057\u3082\u306E","\u304A\u3068\u306A\u3057\u3044","\u304A\u3068\u3099\u308A","\u304A\u3068\u3099\u308D\u304B\u3059","\u304A\u306F\u3099\u3055\u3093","\u304A\u307E\u3044\u308A","\u304A\u3081\u3066\u3099\u3068\u3046","\u304A\u3082\u3044\u3066\u3099","\u304A\u3082\u3046","\u304A\u3082\u305F\u3044","\u304A\u3082\u3061\u3083","\u304A\u3084\u3064","\u304A\u3084\u3086\u3072\u3099","\u304A\u3088\u307B\u3099\u3059","\u304A\u3089\u3093\u305F\u3099","\u304A\u308D\u3059","\u304A\u3093\u304B\u3099\u304F","\u304A\u3093\u3051\u3044","\u304A\u3093\u3057\u3083","\u304A\u3093\u305B\u3093","\u304A\u3093\u305F\u3099\u3093","\u304A\u3093\u3061\u3085\u3046","\u304A\u3093\u3068\u3099\u3051\u3044","\u304B\u3042\u3064","\u304B\u3044\u304B\u3099","\u304B\u3099\u3044\u304D","\u304B\u3099\u3044\u3051\u3093","\u304B\u3099\u3044\u3053\u3046","\u304B\u3044\u3055\u3064","\u304B\u3044\u3057\u3083","\u304B\u3044\u3059\u3044\u3088\u304F","\u304B\u3044\u305B\u3099\u3093","\u304B\u3044\u305D\u3099\u3046\u3068\u3099","\u304B\u3044\u3064\u3046","\u304B\u3044\u3066\u3093","\u304B\u3044\u3068\u3046","\u304B\u3044\u3075\u304F","\u304B\u3099\u3044\u3078\u304D","\u304B\u3044\u307B\u3046","\u304B\u3044\u3088\u3046","\u304B\u3099\u3044\u3089\u3044","\u304B\u3044\u308F","\u304B\u3048\u308B","\u304B\u304A\u308A","\u304B\u304B\u3048\u308B","\u304B\u304B\u3099\u304F","\u304B\u304B\u3099\u3057","\u304B\u304B\u3099\u307F","\u304B\u304F\u3053\u3099","\u304B\u304F\u3068\u304F","\u304B\u3055\u3099\u308B","\u304B\u3099\u305D\u3099\u3046","\u304B\u305F\u3044","\u304B\u305F\u3061","\u304B\u3099\u3061\u3087\u3046","\u304B\u3099\u3063\u304D\u3085\u3046","\u304B\u3099\u3063\u3053\u3046","\u304B\u3099\u3063\u3055\u3093","\u304B\u3099\u3063\u3057\u3087\u3046","\u304B\u306A\u3055\u3099\u308F\u3057","\u304B\u306E\u3046","\u304B\u3099\u306F\u304F","\u304B\u3075\u3099\u304B","\u304B\u307B\u3046","\u304B\u307B\u3053\u3099","\u304B\u307E\u3046","\u304B\u307E\u307B\u3099\u3053","\u304B\u3081\u308C\u304A\u3093","\u304B\u3086\u3044","\u304B\u3088\u3046\u3072\u3099","\u304B\u3089\u3044","\u304B\u308B\u3044","\u304B\u308D\u3046","\u304B\u308F\u304F","\u304B\u308F\u3089","\u304B\u3099\u3093\u304B","\u304B\u3093\u3051\u3044","\u304B\u3093\u3053\u3046","\u304B\u3093\u3057\u3083","\u304B\u3093\u305D\u3046","\u304B\u3093\u305F\u3093","\u304B\u3093\u3061","\u304B\u3099\u3093\u306F\u3099\u308B","\u304D\u3042\u3044","\u304D\u3042\u3064","\u304D\u3044\u308D","\u304D\u3099\u3044\u3093","\u304D\u3046\u3044","\u304D\u3046\u3093","\u304D\u3048\u308B","\u304D\u304A\u3046","\u304D\u304A\u304F","\u304D\u304A\u3061","\u304D\u304A\u3093","\u304D\u304B\u3044","\u304D\u304B\u304F","\u304D\u304B\u3093\u3057\u3083","\u304D\u304D\u3066","\u304D\u304F\u306F\u3099\u308A","\u304D\u304F\u3089\u3051\u3099","\u304D\u3051\u3093\u305B\u3044","\u304D\u3053\u3046","\u304D\u3053\u3048\u308B","\u304D\u3053\u304F","\u304D\u3055\u3044","\u304D\u3055\u304F","\u304D\u3055\u307E","\u304D\u3055\u3089\u304D\u3099","\u304D\u3099\u3057\u3099\u304B\u304B\u3099\u304F","\u304D\u3099\u3057\u304D","\u304D\u3099\u3057\u3099\u305F\u3044\u3051\u3093","\u304D\u3099\u3057\u3099\u306B\u3063\u3066\u3044","\u304D\u3099\u3057\u3099\u3085\u3064\u3057\u3083","\u304D\u3059\u3046","\u304D\u305B\u3044","\u304D\u305B\u304D","\u304D\u305B\u3064","\u304D\u305D\u3046","\u304D\u305D\u3099\u304F","\u304D\u305D\u3099\u3093","\u304D\u305F\u3048\u308B","\u304D\u3061\u3087\u3046","\u304D\u3064\u3048\u3093","\u304D\u3099\u3063\u3061\u308A","\u304D\u3064\u3064\u304D","\u304D\u3064\u306D","\u304D\u3066\u3044","\u304D\u3068\u3099\u3046","\u304D\u3068\u3099\u304F","\u304D\u306A\u3044","\u304D\u306A\u304B\u3099","\u304D\u306A\u3053","\u304D\u306C\u3053\u3099\u3057","\u304D\u306D\u3093","\u304D\u306E\u3046","\u304D\u306E\u3057\u305F","\u304D\u306F\u304F","\u304D\u3072\u3099\u3057\u3044","\u304D\u3072\u3093","\u304D\u3075\u304F","\u304D\u3075\u3099\u3093","\u304D\u307B\u3099\u3046","\u304D\u307B\u3093","\u304D\u307E\u308B","\u304D\u307F\u3064","\u304D\u3080\u3059\u3099\u304B\u3057\u3044","\u304D\u3081\u308B","\u304D\u3082\u305F\u3099\u3081\u3057","\u304D\u3082\u3061","\u304D\u3082\u306E","\u304D\u3083\u304F","\u304D\u3084\u304F","\u304D\u3099\u3085\u3046\u306B\u304F","\u304D\u3088\u3046","\u304D\u3087\u3046\u308A\u3085\u3046","\u304D\u3089\u3044","\u304D\u3089\u304F","\u304D\u308A\u3093","\u304D\u308C\u3044","\u304D\u308C\u3064","\u304D\u308D\u304F","\u304D\u3099\u308D\u3093","\u304D\u308F\u3081\u308B","\u304D\u3099\u3093\u3044\u308D","\u304D\u3093\u304B\u304F\u3057\u3099","\u304D\u3093\u3057\u3099\u3087","\u304D\u3093\u3088\u3046\u3072\u3099","\u304F\u3099\u3042\u3044","\u304F\u3044\u3059\u3099","\u304F\u3046\u304B\u3093","\u304F\u3046\u304D","\u304F\u3046\u304F\u3099\u3093","\u304F\u3046\u3053\u3046","\u304F\u3099\u3046\u305B\u3044","\u304F\u3046\u305D\u3046","\u304F\u3099\u3046\u305F\u3089","\u304F\u3046\u3075\u304F","\u304F\u3046\u307B\u3099","\u304F\u304B\u3093","\u304F\u304D\u3087\u3046","\u304F\u3051\u3099\u3093","\u304F\u3099\u3053\u3046","\u304F\u3055\u3044","\u304F\u3055\u304D","\u304F\u3055\u306F\u3099\u306A","\u304F\u3055\u308B","\u304F\u3057\u3083\u307F","\u304F\u3057\u3087\u3046","\u304F\u3059\u306E\u304D","\u304F\u3059\u308A\u3086\u3072\u3099","\u304F\u305B\u3051\u3099","\u304F\u305B\u3093","\u304F\u3099\u305F\u3044\u3066\u304D","\u304F\u305F\u3099\u3055\u308B","\u304F\u305F\u3072\u3099\u308C\u308B","\u304F\u3061\u3053\u307F","\u304F\u3061\u3055\u304D","\u304F\u3064\u3057\u305F","\u304F\u3099\u3063\u3059\u308A","\u304F\u3064\u308D\u304F\u3099","\u304F\u3068\u3046\u3066\u3093","\u304F\u3068\u3099\u304F","\u304F\u306A\u3093","\u304F\u306D\u304F\u306D","\u304F\u306E\u3046","\u304F\u3075\u3046","\u304F\u307F\u3042\u308F\u305B","\u304F\u307F\u305F\u3066\u308B","\u304F\u3081\u308B","\u304F\u3084\u304F\u3057\u3087","\u304F\u3089\u3059","\u304F\u3089\u3078\u3099\u308B","\u304F\u308B\u307E","\u304F\u308C\u308B","\u304F\u308D\u3046","\u304F\u308F\u3057\u3044","\u304F\u3099\u3093\u304B\u3093","\u304F\u3099\u3093\u3057\u3087\u304F","\u304F\u3099\u3093\u305F\u3044","\u304F\u3099\u3093\u3066","\u3051\u3042\u306A","\u3051\u3044\u304B\u304F","\u3051\u3044\u3051\u3093","\u3051\u3044\u3053","\u3051\u3044\u3055\u3064","\u3051\u3099\u3044\u3057\u3099\u3085\u3064","\u3051\u3044\u305F\u3044","\u3051\u3099\u3044\u306E\u3046\u3057\u3099\u3093","\u3051\u3044\u308C\u304D","\u3051\u3044\u308D","\u3051\u304A\u3068\u3059","\u3051\u304A\u308A\u3082\u306E","\u3051\u3099\u304D\u304B","\u3051\u3099\u304D\u3051\u3099\u3093","\u3051\u3099\u304D\u305F\u3099\u3093","\u3051\u3099\u304D\u3061\u3093","\u3051\u3099\u304D\u3068\u3064","\u3051\u3099\u304D\u306F","\u3051\u3099\u304D\u3084\u304F","\u3051\u3099\u3053\u3046","\u3051\u3099\u3053\u304F\u3057\u3099\u3087\u3046","\u3051\u3099\u3055\u3099\u3044","\u3051\u3055\u304D","\u3051\u3099\u3055\u3099\u3093","\u3051\u3057\u304D","\u3051\u3057\u3053\u3099\u3080","\u3051\u3057\u3087\u3046","\u3051\u3099\u3059\u3068","\u3051\u305F\u306F\u3099","\u3051\u3061\u3083\u3063\u3075\u309A","\u3051\u3061\u3089\u3059","\u3051\u3064\u3042\u3064","\u3051\u3064\u3044","\u3051\u3064\u3048\u304D","\u3051\u3063\u3053\u3093","\u3051\u3064\u3057\u3099\u3087","\u3051\u3063\u305B\u304D","\u3051\u3063\u3066\u3044","\u3051\u3064\u307E\u3064","\u3051\u3099\u3064\u3088\u3046\u3072\u3099","\u3051\u3099\u3064\u308C\u3044","\u3051\u3064\u308D\u3093","\u3051\u3099\u3068\u3099\u304F","\u3051\u3068\u306F\u3099\u3059","\u3051\u3068\u308B","\u3051\u306A\u3051\u3099","\u3051\u306A\u3059","\u3051\u306A\u307F","\u3051\u306C\u304D","\u3051\u3099\u306D\u3064","\u3051\u306D\u3093","\u3051\u306F\u3044","\u3051\u3099\u3072\u3093","\u3051\u3075\u3099\u304B\u3044","\u3051\u3099\u307B\u3099\u304F","\u3051\u307E\u308A","\u3051\u307F\u304B\u308B","\u3051\u3080\u3057","\u3051\u3080\u308A","\u3051\u3082\u306E","\u3051\u3089\u3044","\u3051\u308D\u3051\u308D","\u3051\u308F\u3057\u3044","\u3051\u3093\u3044","\u3051\u3093\u3048\u3064","\u3051\u3093\u304A","\u3051\u3093\u304B","\u3051\u3099\u3093\u304D","\u3051\u3093\u3051\u3099\u3093","\u3051\u3093\u3053\u3046","\u3051\u3093\u3055\u304F","\u3051\u3093\u3057\u3085\u3046","\u3051\u3093\u3059\u3046","\u3051\u3099\u3093\u305D\u3046","\u3051\u3093\u3061\u304F","\u3051\u3093\u3066\u3044","\u3051\u3093\u3068\u3046","\u3051\u3093\u306A\u3044","\u3051\u3093\u306B\u3093","\u3051\u3099\u3093\u3075\u3099\u3064","\u3051\u3093\u307E","\u3051\u3093\u307F\u3093","\u3051\u3093\u3081\u3044","\u3051\u3093\u3089\u3093","\u3051\u3093\u308A","\u3053\u3042\u304F\u307E","\u3053\u3044\u306C","\u3053\u3044\u3072\u3099\u3068","\u3053\u3099\u3046\u3044","\u3053\u3046\u3048\u3093","\u3053\u3046\u304A\u3093","\u3053\u3046\u304B\u3093","\u3053\u3099\u3046\u304D\u3085\u3046","\u3053\u3099\u3046\u3051\u3044","\u3053\u3046\u3053\u3046","\u3053\u3046\u3055\u3044","\u3053\u3046\u3057\u3099","\u3053\u3046\u3059\u3044","\u3053\u3099\u3046\u305B\u3044","\u3053\u3046\u305D\u304F","\u3053\u3046\u305F\u3044","\u3053\u3046\u3061\u3083","\u3053\u3046\u3064\u3046","\u3053\u3046\u3066\u3044","\u3053\u3046\u3068\u3099\u3046","\u3053\u3046\u306A\u3044","\u3053\u3046\u306F\u3044","\u3053\u3099\u3046\u307B\u3046","\u3053\u3099\u3046\u307E\u3093","\u3053\u3046\u3082\u304F","\u3053\u3046\u308A\u3064","\u3053\u3048\u308B","\u3053\u304A\u308A","\u3053\u3099\u304B\u3044","\u3053\u3099\u304B\u3099\u3064","\u3053\u3099\u304B\u3093","\u3053\u304F\u3053\u3099","\u3053\u304F\u3055\u3044","\u3053\u304F\u3068\u3046","\u3053\u304F\u306A\u3044","\u3053\u304F\u306F\u304F","\u3053\u304F\u3099\u307E","\u3053\u3051\u3044","\u3053\u3051\u308B","\u3053\u3053\u306E\u304B","\u3053\u3053\u308D","\u3053\u3055\u3081","\u3053\u3057\u3064","\u3053\u3059\u3046","\u3053\u305B\u3044","\u3053\u305B\u304D","\u3053\u305B\u3099\u3093","\u3053\u305D\u305F\u3099\u3066","\u3053\u305F\u3044","\u3053\u305F\u3048\u308B","\u3053\u305F\u3064","\u3053\u3061\u3087\u3046","\u3053\u3063\u304B","\u3053\u3064\u3053\u3064","\u3053\u3064\u306F\u3099\u3093","\u3053\u3064\u3075\u3099","\u3053\u3066\u3044","\u3053\u3066\u3093","\u3053\u3068\u304B\u3099\u3089","\u3053\u3068\u3057","\u3053\u3068\u306F\u3099","\u3053\u3068\u308A","\u3053\u306A\u3053\u3099\u306A","\u3053\u306D\u3053\u306D","\u3053\u306E\u307E\u307E","\u3053\u306E\u307F","\u3053\u306E\u3088","\u3053\u3099\u306F\u3093","\u3053\u3072\u3064\u3057\u3099","\u3053\u3075\u3046","\u3053\u3075\u3093","\u3053\u307B\u3099\u308C\u308B","\u3053\u3099\u307E\u3042\u3075\u3099\u3089","\u3053\u307E\u304B\u3044","\u3053\u3099\u307E\u3059\u308A","\u3053\u307E\u3064\u306A","\u3053\u307E\u308B","\u3053\u3080\u304D\u3099\u3053","\u3053\u3082\u3057\u3099","\u3053\u3082\u3061","\u3053\u3082\u306E","\u3053\u3082\u3093","\u3053\u3084\u304F","\u3053\u3084\u307E","\u3053\u3086\u3046","\u3053\u3086\u3072\u3099","\u3053\u3088\u3044","\u3053\u3088\u3046","\u3053\u308A\u308B","\u3053\u308C\u304F\u3057\u3087\u3093","\u3053\u308D\u3063\u3051","\u3053\u308F\u3082\u3066","\u3053\u308F\u308C\u308B","\u3053\u3093\u3044\u3093","\u3053\u3093\u304B\u3044","\u3053\u3093\u304D","\u3053\u3093\u3057\u3085\u3046","\u3053\u3093\u3059\u3044","\u3053\u3093\u305F\u3099\u3066","\u3053\u3093\u3068\u3093","\u3053\u3093\u306A\u3093","\u3053\u3093\u3072\u3099\u306B","\u3053\u3093\u307B\u309A\u3093","\u3053\u3093\u307E\u3051","\u3053\u3093\u3084","\u3053\u3093\u308C\u3044","\u3053\u3093\u308F\u304F","\u3055\u3099\u3044\u3048\u304D","\u3055\u3044\u304B\u3044","\u3055\u3044\u304D\u3093","\u3055\u3099\u3044\u3051\u3099\u3093","\u3055\u3099\u3044\u3053","\u3055\u3044\u3057\u3087","\u3055\u3044\u305B\u3044","\u3055\u3099\u3044\u305F\u304F","\u3055\u3099\u3044\u3061\u3085\u3046","\u3055\u3044\u3066\u304D","\u3055\u3099\u3044\u308A\u3087\u3046","\u3055\u3046\u306A","\u3055\u304B\u3044\u3057","\u3055\u304B\u3099\u3059","\u3055\u304B\u306A","\u3055\u304B\u307F\u3061","\u3055\u304B\u3099\u308B","\u3055\u304D\u3099\u3087\u3046","\u3055\u304F\u3057","\u3055\u304F\u3072\u3093","\u3055\u304F\u3089","\u3055\u3053\u304F","\u3055\u3053\u3064","\u3055\u3059\u3099\u304B\u308B","\u3055\u3099\u305B\u304D","\u3055\u305F\u3093","\u3055\u3064\u3048\u3044","\u3055\u3099\u3064\u304A\u3093","\u3055\u3099\u3063\u304B","\u3055\u3099\u3064\u304B\u3099\u304F","\u3055\u3063\u304D\u3087\u304F","\u3055\u3099\u3063\u3057","\u3055\u3064\u3057\u3099\u3093","\u3055\u3099\u3063\u305D\u3046","\u3055\u3064\u305F\u306F\u3099","\u3055\u3064\u307E\u3044\u3082","\u3055\u3066\u3044","\u3055\u3068\u3044\u3082","\u3055\u3068\u3046","\u3055\u3068\u304A\u3084","\u3055\u3068\u3057","\u3055\u3068\u308B","\u3055\u306E\u3046","\u3055\u306F\u3099\u304F","\u3055\u3072\u3099\u3057\u3044","\u3055\u3078\u3099\u3064","\u3055\u307B\u3046","\u3055\u307B\u3068\u3099","\u3055\u307E\u3059","\u3055\u307F\u3057\u3044","\u3055\u307F\u305F\u3099\u308C","\u3055\u3080\u3051","\u3055\u3081\u308B","\u3055\u3084\u3048\u3093\u3068\u3099\u3046","\u3055\u3086\u3046","\u3055\u3088\u3046","\u3055\u3088\u304F","\u3055\u3089\u305F\u3099","\u3055\u3099\u308B\u305D\u306F\u3099","\u3055\u308F\u3084\u304B","\u3055\u308F\u308B","\u3055\u3093\u3044\u3093","\u3055\u3093\u304B","\u3055\u3093\u304D\u3083\u304F","\u3055\u3093\u3053\u3046","\u3055\u3093\u3055\u3044","\u3055\u3099\u3093\u3057\u3087","\u3055\u3093\u3059\u3046","\u3055\u3093\u305B\u3044","\u3055\u3093\u305D","\u3055\u3093\u3061","\u3055\u3093\u307E","\u3055\u3093\u307F","\u3055\u3093\u3089\u3093","\u3057\u3042\u3044","\u3057\u3042\u3051\u3099","\u3057\u3042\u3055\u3063\u3066","\u3057\u3042\u308F\u305B","\u3057\u3044\u304F","\u3057\u3044\u3093","\u3057\u3046\u3061","\u3057\u3048\u3044","\u3057\u304A\u3051","\u3057\u304B\u3044","\u3057\u304B\u304F","\u3057\u3099\u304B\u3093","\u3057\u3053\u3099\u3068","\u3057\u3059\u3046","\u3057\u3099\u305F\u3099\u3044","\u3057\u305F\u3046\u3051","\u3057\u305F\u304D\u3099","\u3057\u305F\u3066","\u3057\u305F\u307F","\u3057\u3061\u3087\u3046","\u3057\u3061\u308A\u3093","\u3057\u3063\u304B\u308A","\u3057\u3064\u3057\u3099","\u3057\u3064\u3082\u3093","\u3057\u3066\u3044","\u3057\u3066\u304D","\u3057\u3066\u3064","\u3057\u3099\u3066\u3093","\u3057\u3099\u3068\u3099\u3046","\u3057\u306A\u304D\u3099\u308C","\u3057\u306A\u3082\u306E","\u3057\u306A\u3093","\u3057\u306D\u307E","\u3057\u306D\u3093","\u3057\u306E\u304F\u3099","\u3057\u306E\u3075\u3099","\u3057\u306F\u3044","\u3057\u306F\u3099\u304B\u308A","\u3057\u306F\u3064","\u3057\u306F\u3089\u3044","\u3057\u306F\u3093","\u3057\u3072\u3087\u3046","\u3057\u3075\u304F","\u3057\u3099\u3075\u3099\u3093","\u3057\u3078\u3044","\u3057\u307B\u3046","\u3057\u307B\u3093","\u3057\u307E\u3046","\u3057\u307E\u308B","\u3057\u307F\u3093","\u3057\u3080\u3051\u308B","\u3057\u3099\u3080\u3057\u3087","\u3057\u3081\u3044","\u3057\u3081\u308B","\u3057\u3082\u3093","\u3057\u3083\u3044\u3093","\u3057\u3083\u3046\u3093","\u3057\u3083\u304A\u3093","\u3057\u3099\u3083\u304B\u3099\u3044\u3082","\u3057\u3084\u304F\u3057\u3087","\u3057\u3083\u304F\u307B\u3046","\u3057\u3083\u3051\u3093","\u3057\u3083\u3053","\u3057\u3083\u3055\u3099\u3044","\u3057\u3083\u3057\u3093","\u3057\u3083\u305B\u3093","\u3057\u3083\u305D\u3046","\u3057\u3083\u305F\u3044","\u3057\u3083\u3061\u3087\u3046","\u3057\u3083\u3063\u304D\u3093","\u3057\u3099\u3083\u307E","\u3057\u3083\u308A\u3093","\u3057\u3083\u308C\u3044","\u3057\u3099\u3086\u3046","\u3057\u3099\u3085\u3046\u3057\u3087","\u3057\u3085\u304F\u306F\u304F","\u3057\u3099\u3085\u3057\u3093","\u3057\u3085\u3063\u305B\u304D","\u3057\u3085\u307F","\u3057\u3085\u3089\u306F\u3099","\u3057\u3099\u3085\u3093\u306F\u3099\u3093","\u3057\u3087\u3046\u304B\u3044","\u3057\u3087\u304F\u305F\u304F","\u3057\u3087\u3063\u3051\u3093","\u3057\u3087\u3068\u3099\u3046","\u3057\u3087\u3082\u3064","\u3057\u3089\u305B\u308B","\u3057\u3089\u3078\u3099\u308B","\u3057\u3093\u304B","\u3057\u3093\u3053\u3046","\u3057\u3099\u3093\u3057\u3099\u3083","\u3057\u3093\u305B\u3044\u3057\u3099","\u3057\u3093\u3061\u304F","\u3057\u3093\u308A\u3093","\u3059\u3042\u3051\u3099","\u3059\u3042\u3057","\u3059\u3042\u306A","\u3059\u3099\u3042\u3093","\u3059\u3044\u3048\u3044","\u3059\u3044\u304B","\u3059\u3044\u3068\u3046","\u3059\u3099\u3044\u3075\u3099\u3093","\u3059\u3044\u3088\u3046\u3072\u3099","\u3059\u3046\u304B\u3099\u304F","\u3059\u3046\u3057\u3099\u3064","\u3059\u3046\u305B\u3093","\u3059\u304A\u3068\u3099\u308A","\u3059\u304D\u307E","\u3059\u304F\u3046","\u3059\u304F\u306A\u3044","\u3059\u3051\u308B","\u3059\u3053\u3099\u3044","\u3059\u3053\u3057","\u3059\u3099\u3055\u3093","\u3059\u3059\u3099\u3057\u3044","\u3059\u3059\u3080","\u3059\u3059\u3081\u308B","\u3059\u3063\u304B\u308A","\u3059\u3099\u3063\u3057\u308A","\u3059\u3099\u3063\u3068","\u3059\u3066\u304D","\u3059\u3066\u308B","\u3059\u306D\u308B","\u3059\u306E\u3053","\u3059\u306F\u305F\u3099","\u3059\u306F\u3099\u3089\u3057\u3044","\u3059\u3099\u3072\u3087\u3046","\u3059\u3099\u3075\u3099\u306C\u308C","\u3059\u3075\u3099\u308A","\u3059\u3075\u308C","\u3059\u3078\u3099\u3066","\u3059\u3078\u3099\u308B","\u3059\u3099\u307B\u3046","\u3059\u307B\u3099\u3093","\u3059\u307E\u3044","\u3059\u3081\u3057","\u3059\u3082\u3046","\u3059\u3084\u304D","\u3059\u3089\u3059\u3089","\u3059\u308B\u3081","\u3059\u308C\u3061\u304B\u3099\u3046","\u3059\u308D\u3063\u3068","\u3059\u308F\u308B","\u3059\u3093\u305B\u3099\u3093","\u3059\u3093\u307B\u309A\u3046","\u305B\u3042\u3075\u3099\u3089","\u305B\u3044\u304B\u3064","\u305B\u3044\u3051\u3099\u3093","\u305B\u3044\u3057\u3099","\u305B\u3044\u3088\u3046","\u305B\u304A\u3046","\u305B\u304B\u3044\u304B\u3093","\u305B\u304D\u306B\u3093","\u305B\u304D\u3080","\u305B\u304D\u3086","\u305B\u304D\u3089\u3093\u3046\u3093","\u305B\u3051\u3093","\u305B\u3053\u3046","\u305B\u3059\u3057\u3099","\u305B\u305F\u3044","\u305B\u305F\u3051","\u305B\u3063\u304B\u304F","\u305B\u3063\u304D\u3083\u304F","\u305B\u3099\u3063\u304F","\u305B\u3063\u3051\u3093","\u305B\u3063\u3053\u3064","\u305B\u3063\u3055\u305F\u304F\u307E","\u305B\u3064\u305D\u3099\u304F","\u305B\u3064\u305F\u3099\u3093","\u305B\u3064\u3066\u3099\u3093","\u305B\u3063\u306F\u309A\u3093","\u305B\u3064\u3072\u3099","\u305B\u3064\u3075\u3099\u3093","\u305B\u3064\u3081\u3044","\u305B\u3064\u308A\u3064","\u305B\u306A\u304B","\u305B\u306E\u3072\u3099","\u305B\u306F\u306F\u3099","\u305B\u3072\u3099\u308D","\u305B\u307B\u3099\u306D","\u305B\u307E\u3044","\u305B\u307E\u308B","\u305B\u3081\u308B","\u305B\u3082\u305F\u308C","\u305B\u308A\u3075","\u305B\u3099\u3093\u3042\u304F","\u305B\u3093\u3044","\u305B\u3093\u3048\u3044","\u305B\u3093\u304B","\u305B\u3093\u304D\u3087","\u305B\u3093\u304F","\u305B\u3093\u3051\u3099\u3093","\u305B\u3099\u3093\u3053\u3099","\u305B\u3093\u3055\u3044","\u305B\u3093\u3057\u3085","\u305B\u3093\u3059\u3044","\u305B\u3093\u305B\u3044","\u305B\u3093\u305D\u3099","\u305B\u3093\u305F\u304F","\u305B\u3093\u3061\u3087\u3046","\u305B\u3093\u3066\u3044","\u305B\u3093\u3068\u3046","\u305B\u3093\u306C\u304D","\u305B\u3093\u306D\u3093","\u305B\u3093\u306F\u309A\u3044","\u305B\u3099\u3093\u3075\u3099","\u305B\u3099\u3093\u307B\u309A\u3046","\u305B\u3093\u3080","\u305B\u3093\u3081\u3093\u3057\u3099\u3087","\u305B\u3093\u3082\u3093","\u305B\u3093\u3084\u304F","\u305B\u3093\u3086\u3046","\u305B\u3093\u3088\u3046","\u305B\u3099\u3093\u3089","\u305B\u3099\u3093\u308A\u3083\u304F","\u305B\u3093\u308C\u3044","\u305B\u3093\u308D","\u305D\u3042\u304F","\u305D\u3044\u3068\u3051\u3099\u308B","\u305D\u3044\u306D","\u305D\u3046\u304B\u3099\u3093\u304D\u3087\u3046","\u305D\u3046\u304D","\u305D\u3046\u3053\u3099","\u305D\u3046\u3057\u3093","\u305D\u3046\u305F\u3099\u3093","\u305D\u3046\u306A\u3093","\u305D\u3046\u3072\u3099","\u305D\u3046\u3081\u3093","\u305D\u3046\u308A","\u305D\u3048\u3082\u306E","\u305D\u3048\u3093","\u305D\u304B\u3099\u3044","\u305D\u3051\u3099\u304D","\u305D\u3053\u3046","\u305D\u3053\u305D\u3053","\u305D\u3055\u3099\u3044","\u305D\u3057\u306A","\u305D\u305B\u3044","\u305D\u305B\u3093","\u305D\u305D\u304F\u3099","\u305D\u305F\u3099\u3066\u308B","\u305D\u3064\u3046","\u305D\u3064\u3048\u3093","\u305D\u3063\u304B\u3093","\u305D\u3064\u304D\u3099\u3087\u3046","\u305D\u3063\u3051\u3064","\u305D\u3063\u3053\u3046","\u305D\u3063\u305B\u3093","\u305D\u3063\u3068","\u305D\u3068\u304B\u3099\u308F","\u305D\u3068\u3064\u3099\u3089","\u305D\u306A\u3048\u308B","\u305D\u306A\u305F","\u305D\u3075\u307B\u3099","\u305D\u307B\u3099\u304F","\u305D\u307B\u3099\u308D","\u305D\u307E\u3064","\u305D\u307E\u308B","\u305D\u3080\u304F","\u305D\u3080\u308A\u3048","\u305D\u3081\u308B","\u305D\u3082\u305D\u3082","\u305D\u3088\u304B\u305B\u3099","\u305D\u3089\u307E\u3081","\u305D\u308D\u3046","\u305D\u3093\u304B\u3044","\u305D\u3093\u3051\u3044","\u305D\u3093\u3055\u3099\u3044","\u305D\u3093\u3057\u3064","\u305D\u3093\u305D\u3099\u304F","\u305D\u3093\u3061\u3087\u3046","\u305D\u3099\u3093\u3072\u3099","\u305D\u3099\u3093\u3075\u3099\u3093","\u305D\u3093\u307F\u3093","\u305F\u3042\u3044","\u305F\u3044\u3044\u3093","\u305F\u3044\u3046\u3093","\u305F\u3044\u3048\u304D","\u305F\u3044\u304A\u3046","\u305F\u3099\u3044\u304B\u3099\u304F","\u305F\u3044\u304D","\u305F\u3044\u304F\u3099\u3046","\u305F\u3044\u3051\u3093","\u305F\u3044\u3053","\u305F\u3044\u3055\u3099\u3044","\u305F\u3099\u3044\u3057\u3099\u3087\u3046\u3075\u3099","\u305F\u3099\u3044\u3059\u304D","\u305F\u3044\u305B\u3064","\u305F\u3044\u305D\u3046","\u305F\u3099\u3044\u305F\u3044","\u305F\u3044\u3061\u3087\u3046","\u305F\u3044\u3066\u3044","\u305F\u3099\u3044\u3068\u3099\u3053\u308D","\u305F\u3044\u306A\u3044","\u305F\u3044\u306D\u3064","\u305F\u3044\u306E\u3046","\u305F\u3044\u306F\u3093","\u305F\u3099\u3044\u3072\u3087\u3046","\u305F\u3044\u3075\u3046","\u305F\u3044\u3078\u3093","\u305F\u3044\u307B","\u305F\u3044\u307E\u3064\u306F\u3099\u306A","\u305F\u3044\u307F\u3093\u304F\u3099","\u305F\u3044\u3080","\u305F\u3044\u3081\u3093","\u305F\u3044\u3084\u304D","\u305F\u3044\u3088\u3046","\u305F\u3044\u3089","\u305F\u3044\u308A\u3087\u304F","\u305F\u3044\u308B","\u305F\u3044\u308F\u3093","\u305F\u3046\u3048","\u305F\u3048\u308B","\u305F\u304A\u3059","\u305F\u304A\u308B","\u305F\u304A\u308C\u308B","\u305F\u304B\u3044","\u305F\u304B\u306D","\u305F\u304D\u3072\u3099","\u305F\u304F\u3055\u3093","\u305F\u3053\u304F","\u305F\u3053\u3084\u304D","\u305F\u3055\u3044","\u305F\u3057\u3055\u3099\u3093","\u305F\u3099\u3057\u3099\u3083\u308C","\u305F\u3059\u3051\u308B","\u305F\u3059\u3099\u3055\u308F\u308B","\u305F\u305D\u304B\u3099\u308C","\u305F\u305F\u304B\u3046","\u305F\u305F\u304F","\u305F\u305F\u3099\u3057\u3044","\u305F\u305F\u307F","\u305F\u3061\u306F\u3099\u306A","\u305F\u3099\u3063\u304B\u3044","\u305F\u3099\u3063\u304D\u3083\u304F","\u305F\u3099\u3063\u3053","\u305F\u3099\u3063\u3057\u3085\u3064","\u305F\u3099\u3063\u305F\u3044","\u305F\u3066\u308B","\u305F\u3068\u3048\u308B","\u305F\u306A\u306F\u3099\u305F","\u305F\u306B\u3093","\u305F\u306C\u304D","\u305F\u306E\u3057\u307F","\u305F\u306F\u3064","\u305F\u3075\u3099\u3093","\u305F\u3078\u3099\u308B","\u305F\u307B\u3099\u3046","\u305F\u307E\u3053\u3099","\u305F\u307E\u308B","\u305F\u3099\u3080\u308B","\u305F\u3081\u3044\u304D","\u305F\u3081\u3059","\u305F\u3081\u308B","\u305F\u3082\u3064","\u305F\u3084\u3059\u3044","\u305F\u3088\u308B","\u305F\u3089\u3059","\u305F\u308A\u304D\u307B\u3093\u304B\u3099\u3093","\u305F\u308A\u3087\u3046","\u305F\u308A\u308B","\u305F\u308B\u3068","\u305F\u308C\u308B","\u305F\u308C\u3093\u3068","\u305F\u308D\u3063\u3068","\u305F\u308F\u3080\u308C\u308B","\u305F\u3099\u3093\u3042\u3064","\u305F\u3093\u3044","\u305F\u3093\u304A\u3093","\u305F\u3093\u304B","\u305F\u3093\u304D","\u305F\u3093\u3051\u3093","\u305F\u3093\u3053\u3099","\u305F\u3093\u3055\u3093","\u305F\u3093\u3057\u3099\u3087\u3046\u3072\u3099","\u305F\u3099\u3093\u305B\u3044","\u305F\u3093\u305D\u304F","\u305F\u3093\u305F\u3044","\u305F\u3099\u3093\u3061","\u305F\u3093\u3066\u3044","\u305F\u3093\u3068\u3046","\u305F\u3099\u3093\u306A","\u305F\u3093\u306B\u3093","\u305F\u3099\u3093\u306D\u3064","\u305F\u3093\u306E\u3046","\u305F\u3093\u3072\u309A\u3093","\u305F\u3099\u3093\u307B\u3099\u3046","\u305F\u3093\u307E\u3064","\u305F\u3093\u3081\u3044","\u305F\u3099\u3093\u308C\u3064","\u305F\u3099\u3093\u308D","\u305F\u3099\u3093\u308F","\u3061\u3042\u3044","\u3061\u3042\u3093","\u3061\u3044\u304D","\u3061\u3044\u3055\u3044","\u3061\u3048\u3093","\u3061\u304B\u3044","\u3061\u304B\u3089","\u3061\u304D\u3085\u3046","\u3061\u304D\u3093","\u3061\u3051\u3044\u3059\u3099","\u3061\u3051\u3093","\u3061\u3053\u304F","\u3061\u3055\u3044","\u3061\u3057\u304D","\u3061\u3057\u308A\u3087\u3046","\u3061\u305B\u3044","\u3061\u305D\u3046","\u3061\u305F\u3044","\u3061\u305F\u3093","\u3061\u3061\u304A\u3084","\u3061\u3064\u3057\u3099\u3087","\u3061\u3066\u304D","\u3061\u3066\u3093","\u3061\u306C\u304D","\u3061\u306C\u308A","\u3061\u306E\u3046","\u3061\u3072\u3087\u3046","\u3061\u3078\u3044\u305B\u3093","\u3061\u307B\u3046","\u3061\u307E\u305F","\u3061\u307F\u3064","\u3061\u307F\u3068\u3099\u308D","\u3061\u3081\u3044\u3068\u3099","\u3061\u3083\u3093\u3053\u306A\u3078\u3099","\u3061\u3085\u3046\u3044","\u3061\u3086\u308A\u3087\u304F","\u3061\u3087\u3046\u3057","\u3061\u3087\u3055\u304F\u3051\u3093","\u3061\u3089\u3057","\u3061\u3089\u307F","\u3061\u308A\u304B\u3099\u307F","\u3061\u308A\u3087\u3046","\u3061\u308B\u3068\u3099","\u3061\u308F\u308F","\u3061\u3093\u305F\u3044","\u3061\u3093\u3082\u304F","\u3064\u3044\u304B","\u3064\u3044\u305F\u3061","\u3064\u3046\u304B","\u3064\u3046\u3057\u3099\u3087\u3046","\u3064\u3046\u306F\u3093","\u3064\u3046\u308F","\u3064\u304B\u3046","\u3064\u304B\u308C\u308B","\u3064\u304F\u306D","\u3064\u304F\u308B","\u3064\u3051\u306D","\u3064\u3051\u308B","\u3064\u3053\u3099\u3046","\u3064\u305F\u3048\u308B","\u3064\u3064\u3099\u304F","\u3064\u3064\u3057\u3099","\u3064\u3064\u3080","\u3064\u3068\u3081\u308B","\u3064\u306A\u304B\u3099\u308B","\u3064\u306A\u307F","\u3064\u306D\u3064\u3099\u306D","\u3064\u306E\u308B","\u3064\u3075\u3099\u3059","\u3064\u307E\u3089\u306A\u3044","\u3064\u307E\u308B","\u3064\u307F\u304D","\u3064\u3081\u305F\u3044","\u3064\u3082\u308A","\u3064\u3082\u308B","\u3064\u3088\u3044","\u3064\u308B\u307B\u3099","\u3064\u308B\u307F\u304F","\u3064\u308F\u3082\u306E","\u3064\u308F\u308A","\u3066\u3042\u3057","\u3066\u3042\u3066","\u3066\u3042\u307F","\u3066\u3044\u304A\u3093","\u3066\u3044\u304B","\u3066\u3044\u304D","\u3066\u3044\u3051\u3044","\u3066\u3044\u3053\u304F","\u3066\u3044\u3055\u3064","\u3066\u3044\u3057","\u3066\u3044\u305B\u3044","\u3066\u3044\u305F\u3044","\u3066\u3044\u3068\u3099","\u3066\u3044\u306D\u3044","\u3066\u3044\u3072\u3087\u3046","\u3066\u3044\u3078\u3093","\u3066\u3044\u307B\u3099\u3046","\u3066\u3046\u3061","\u3066\u304A\u304F\u308C","\u3066\u304D\u3068\u3046","\u3066\u304F\u3072\u3099","\u3066\u3099\u3053\u307B\u3099\u3053","\u3066\u3055\u304D\u3099\u3087\u3046","\u3066\u3055\u3051\u3099","\u3066\u3059\u308A","\u3066\u305D\u3046","\u3066\u3061\u304B\u3099\u3044","\u3066\u3061\u3087\u3046","\u3066\u3064\u304B\u3099\u304F","\u3066\u3064\u3064\u3099\u304D","\u3066\u3099\u3063\u306F\u309A","\u3066\u3064\u307B\u3099\u3046","\u3066\u3064\u3084","\u3066\u3099\u306C\u304B\u3048","\u3066\u306C\u304D","\u3066\u306C\u304F\u3099\u3044","\u3066\u306E\u3072\u3089","\u3066\u306F\u3044","\u3066\u3075\u3099\u304F\u308D","\u3066\u3075\u305F\u3099","\u3066\u307B\u3068\u3099\u304D","\u3066\u307B\u3093","\u3066\u307E\u3048","\u3066\u307E\u304D\u3059\u3099\u3057","\u3066\u307F\u3057\u3099\u304B","\u3066\u307F\u3084\u3051\u3099","\u3066\u3089\u3059","\u3066\u308C\u3072\u3099","\u3066\u308F\u3051","\u3066\u308F\u305F\u3057","\u3066\u3099\u3093\u3042\u3064","\u3066\u3093\u3044\u3093","\u3066\u3093\u304B\u3044","\u3066\u3093\u304D","\u3066\u3093\u304F\u3099","\u3066\u3093\u3051\u3093","\u3066\u3093\u3053\u3099\u304F","\u3066\u3093\u3055\u3044","\u3066\u3093\u3057","\u3066\u3093\u3059\u3046","\u3066\u3099\u3093\u3061","\u3066\u3093\u3066\u304D","\u3066\u3093\u3068\u3046","\u3066\u3093\u306A\u3044","\u3066\u3093\u3075\u309A\u3089","\u3066\u3093\u307B\u3099\u3046\u305F\u3099\u3044","\u3066\u3093\u3081\u3064","\u3066\u3093\u3089\u3093\u304B\u3044","\u3066\u3099\u3093\u308A\u3087\u304F","\u3066\u3099\u3093\u308F","\u3068\u3099\u3042\u3044","\u3068\u3044\u308C","\u3068\u3099\u3046\u304B\u3093","\u3068\u3046\u304D\u3085\u3046","\u3068\u3099\u3046\u304F\u3099","\u3068\u3046\u3057","\u3068\u3046\u3080\u304D\u3099","\u3068\u304A\u3044","\u3068\u304A\u304B","\u3068\u304A\u304F","\u3068\u304A\u3059","\u3068\u304A\u308B","\u3068\u304B\u3044","\u3068\u304B\u3059","\u3068\u304D\u304A\u308A","\u3068\u304D\u3068\u3099\u304D","\u3068\u304F\u3044","\u3068\u304F\u3057\u3085\u3046","\u3068\u304F\u3066\u3093","\u3068\u304F\u306B","\u3068\u304F\u3078\u3099\u3064","\u3068\u3051\u3044","\u3068\u3051\u308B","\u3068\u3053\u3084","\u3068\u3055\u304B","\u3068\u3057\u3087\u304B\u3093","\u3068\u305D\u3046","\u3068\u305F\u3093","\u3068\u3061\u3085\u3046","\u3068\u3063\u304D\u3085\u3046","\u3068\u3063\u304F\u3093","\u3068\u3064\u305B\u3099\u3093","\u3068\u3064\u306B\u3085\u3046","\u3068\u3068\u3099\u3051\u308B","\u3068\u3068\u306E\u3048\u308B","\u3068\u306A\u3044","\u3068\u306A\u3048\u308B","\u3068\u306A\u308A","\u3068\u306E\u3055\u307E","\u3068\u306F\u3099\u3059","\u3068\u3099\u3075\u3099\u304B\u3099\u308F","\u3068\u307B\u3046","\u3068\u307E\u308B","\u3068\u3081\u308B","\u3068\u3082\u305F\u3099\u3061","\u3068\u3082\u308B","\u3068\u3099\u3088\u3046\u3072\u3099","\u3068\u3089\u3048\u308B","\u3068\u3093\u304B\u3064","\u3068\u3099\u3093\u3075\u3099\u308A","\u306A\u3044\u304B\u304F","\u306A\u3044\u3053\u3046","\u306A\u3044\u3057\u3087","\u306A\u3044\u3059","\u306A\u3044\u305B\u3093","\u306A\u3044\u305D\u3046","\u306A\u304A\u3059","\u306A\u304B\u3099\u3044","\u306A\u304F\u3059","\u306A\u3051\u3099\u308B","\u306A\u3053\u3046\u3068\u3099","\u306A\u3055\u3051","\u306A\u305F\u3066\u3099\u3053\u3053","\u306A\u3063\u3068\u3046","\u306A\u3064\u3084\u3059\u307F","\u306A\u306A\u304A\u3057","\u306A\u306B\u3053\u3099\u3068","\u306A\u306B\u3082\u306E","\u306A\u306B\u308F","\u306A\u306E\u304B","\u306A\u3075\u305F\u3099","\u306A\u307E\u3044\u304D","\u306A\u307E\u3048","\u306A\u307E\u307F","\u306A\u307F\u305F\u3099","\u306A\u3081\u3089\u304B","\u306A\u3081\u308B","\u306A\u3084\u3080","\u306A\u3089\u3046","\u306A\u3089\u3072\u3099","\u306A\u3089\u3075\u3099","\u306A\u308C\u308B","\u306A\u308F\u3068\u3072\u3099","\u306A\u308F\u306F\u3099\u308A","\u306B\u3042\u3046","\u306B\u3044\u304B\u3099\u305F","\u306B\u3046\u3051","\u306B\u304A\u3044","\u306B\u304B\u3044","\u306B\u304B\u3099\u3066","\u306B\u304D\u3072\u3099","\u306B\u304F\u3057\u307F","\u306B\u304F\u307E\u3093","\u306B\u3051\u3099\u308B","\u306B\u3055\u3093\u304B\u305F\u3093\u305D","\u306B\u3057\u304D","\u306B\u305B\u3082\u306E","\u306B\u3061\u3057\u3099\u3087\u3046","\u306B\u3061\u3088\u3046\u3072\u3099","\u306B\u3063\u304B","\u306B\u3063\u304D","\u306B\u3063\u3051\u3044","\u306B\u3063\u3053\u3046","\u306B\u3063\u3055\u3093","\u306B\u3063\u3057\u3087\u304F","\u306B\u3063\u3059\u3046","\u306B\u3063\u305B\u304D","\u306B\u3063\u3066\u3044","\u306B\u306A\u3046","\u306B\u307B\u3093","\u306B\u307E\u3081","\u306B\u3082\u3064","\u306B\u3084\u308A","\u306B\u3085\u3046\u3044\u3093","\u306B\u308A\u3093\u3057\u3083","\u306B\u308F\u3068\u308A","\u306B\u3093\u3044","\u306B\u3093\u304B","\u306B\u3093\u304D","\u306B\u3093\u3051\u3099\u3093","\u306B\u3093\u3057\u304D","\u306B\u3093\u3059\u3099\u3046","\u306B\u3093\u305D\u3046","\u306B\u3093\u305F\u3044","\u306B\u3093\u3061","\u306B\u3093\u3066\u3044","\u306B\u3093\u306B\u304F","\u306B\u3093\u3075\u309A","\u306B\u3093\u307E\u308A","\u306B\u3093\u3080","\u306B\u3093\u3081\u3044","\u306B\u3093\u3088\u3046","\u306C\u3044\u304F\u304D\u3099","\u306C\u304B\u3059","\u306C\u304F\u3099\u3044\u3068\u308B","\u306C\u304F\u3099\u3046","\u306C\u304F\u3082\u308A","\u306C\u3059\u3080","\u306C\u307E\u3048\u3072\u3099","\u306C\u3081\u308A","\u306C\u3089\u3059","\u306C\u3093\u3061\u3083\u304F","\u306D\u3042\u3051\u3099","\u306D\u3044\u304D","\u306D\u3044\u308B","\u306D\u3044\u308D","\u306D\u304F\u3099\u305B","\u306D\u304F\u305F\u3044","\u306D\u304F\u3089","\u306D\u3053\u305B\u3099","\u306D\u3053\u3080","\u306D\u3055\u3051\u3099","\u306D\u3059\u3053\u3099\u3059","\u306D\u305D\u3078\u3099\u308B","\u306D\u305F\u3099\u3093","\u306D\u3064\u3044","\u306D\u3063\u3057\u3093","\u306D\u3064\u305D\u3099\u3046","\u306D\u3063\u305F\u3044\u304D\u3099\u3087","\u306D\u3075\u3099\u305D\u304F","\u306D\u3075\u305F\u3099","\u306D\u307B\u3099\u3046","\u306D\u307B\u308A\u306F\u307B\u308A","\u306D\u307E\u304D","\u306D\u307E\u308F\u3057","\u306D\u307F\u307F","\u306D\u3080\u3044","\u306D\u3080\u305F\u3044","\u306D\u3082\u3068","\u306D\u3089\u3046","\u306D\u308F\u3055\u3099","\u306D\u3093\u3044\u308A","\u306D\u3093\u304A\u3057","\u306D\u3093\u304B\u3093","\u306D\u3093\u304D\u3093","\u306D\u3093\u304F\u3099","\u306D\u3093\u3055\u3099","\u306D\u3093\u3057","\u306D\u3093\u3061\u3083\u304F","\u306D\u3093\u3068\u3099","\u306D\u3093\u3072\u309A","\u306D\u3093\u3075\u3099\u3064","\u306D\u3093\u307E\u3064","\u306D\u3093\u308A\u3087\u3046","\u306D\u3093\u308C\u3044","\u306E\u3044\u3059\u3099","\u306E\u304A\u3064\u3099\u307E","\u306E\u304B\u3099\u3059","\u306E\u304D\u306A\u307F","\u306E\u3053\u304D\u3099\u308A","\u306E\u3053\u3059","\u306E\u3053\u308B","\u306E\u305B\u308B","\u306E\u305D\u3099\u304F","\u306E\u305D\u3099\u3080","\u306E\u305F\u307E\u3046","\u306E\u3061\u307B\u3068\u3099","\u306E\u3063\u304F","\u306E\u306F\u3099\u3059","\u306E\u306F\u3089","\u306E\u3078\u3099\u308B","\u306E\u307B\u3099\u308B","\u306E\u307F\u3082\u306E","\u306E\u3084\u307E","\u306E\u3089\u3044\u306C","\u306E\u3089\u306D\u3053","\u306E\u308A\u3082\u306E","\u306E\u308A\u3086\u304D","\u306E\u308C\u3093","\u306E\u3093\u304D","\u306F\u3099\u3042\u3044","\u306F\u3042\u304F","\u306F\u3099\u3042\u3055\u3093","\u306F\u3099\u3044\u304B","\u306F\u3099\u3044\u304F","\u306F\u3044\u3051\u3093","\u306F\u3044\u3053\u3099","\u306F\u3044\u3057\u3093","\u306F\u3044\u3059\u3044","\u306F\u3044\u305B\u3093","\u306F\u3044\u305D\u3046","\u306F\u3044\u3061","\u306F\u3099\u3044\u306F\u3099\u3044","\u306F\u3044\u308C\u3064","\u306F\u3048\u308B","\u306F\u304A\u308B","\u306F\u304B\u3044","\u306F\u3099\u304B\u308A","\u306F\u304B\u308B","\u306F\u304F\u3057\u3085","\u306F\u3051\u3093","\u306F\u3053\u3075\u3099","\u306F\u3055\u307F","\u306F\u3055\u3093","\u306F\u3057\u3053\u3099","\u306F\u3099\u3057\u3087","\u306F\u3057\u308B","\u306F\u305B\u308B","\u306F\u309A\u305D\u3053\u3093","\u306F\u305D\u3093","\u306F\u305F\u3093","\u306F\u3061\u307F\u3064","\u306F\u3064\u304A\u3093","\u306F\u3063\u304B\u304F","\u306F\u3064\u3099\u304D","\u306F\u3063\u304D\u308A","\u306F\u3063\u304F\u3064","\u306F\u3063\u3051\u3093","\u306F\u3063\u3053\u3046","\u306F\u3063\u3055\u3093","\u306F\u3063\u3057\u3093","\u306F\u3063\u305F\u3064","\u306F\u3063\u3061\u3085\u3046","\u306F\u3063\u3066\u3093","\u306F\u3063\u3072\u309A\u3087\u3046","\u306F\u3063\u307B\u309A\u3046","\u306F\u306A\u3059","\u306F\u306A\u3072\u3099","\u306F\u306B\u304B\u3080","\u306F\u3075\u3099\u3089\u3057","\u306F\u307F\u304B\u3099\u304D","\u306F\u3080\u304B\u3046","\u306F\u3081\u3064","\u306F\u3084\u3044","\u306F\u3084\u3057","\u306F\u3089\u3046","\u306F\u308D\u3046\u3043\u3093","\u306F\u308F\u3044","\u306F\u3093\u3044","\u306F\u3093\u3048\u3044","\u306F\u3093\u304A\u3093","\u306F\u3093\u304B\u304F","\u306F\u3093\u304D\u3087\u3046","\u306F\u3099\u3093\u304F\u3099\u307F","\u306F\u3093\u3053","\u306F\u3093\u3057\u3083","\u306F\u3093\u3059\u3046","\u306F\u3093\u305F\u3099\u3093","\u306F\u309A\u3093\u3061","\u306F\u309A\u3093\u3064","\u306F\u3093\u3066\u3044","\u306F\u3093\u3068\u3057","\u306F\u3093\u306E\u3046","\u306F\u3093\u306F\u309A","\u306F\u3093\u3075\u3099\u3093","\u306F\u3093\u3078\u309A\u3093","\u306F\u3093\u307B\u3099\u3046\u304D","\u306F\u3093\u3081\u3044","\u306F\u3093\u3089\u3093","\u306F\u3093\u308D\u3093","\u3072\u3044\u304D","\u3072\u3046\u3093","\u3072\u3048\u308B","\u3072\u304B\u304F","\u3072\u304B\u308A","\u3072\u304B\u308B","\u3072\u304B\u3093","\u3072\u304F\u3044","\u3072\u3051\u3064","\u3072\u3053\u3046\u304D","\u3072\u3053\u304F","\u3072\u3055\u3044","\u3072\u3055\u3057\u3075\u3099\u308A","\u3072\u3055\u3093","\u3072\u3099\u3057\u3099\u3085\u3064\u304B\u3093","\u3072\u3057\u3087","\u3072\u305D\u304B","\u3072\u305D\u3080","\u3072\u305F\u3080\u304D","\u3072\u305F\u3099\u308A","\u3072\u305F\u308B","\u3072\u3064\u304D\u3099","\u3072\u3063\u3053\u3057","\u3072\u3063\u3057","\u3072\u3064\u3057\u3099\u3085\u3072\u3093","\u3072\u3063\u3059","\u3072\u3064\u305B\u3099\u3093","\u3072\u309A\u3063\u305F\u308A","\u3072\u309A\u3063\u3061\u308A","\u3072\u3064\u3088\u3046","\u3072\u3066\u3044","\u3072\u3068\u3053\u3099\u307F","\u3072\u306A\u307E\u3064\u308A","\u3072\u306A\u3093","\u3072\u306D\u308B","\u3072\u306F\u3093","\u3072\u3072\u3099\u304F","\u3072\u3072\u3087\u3046","\u3072\u307B\u3046","\u3072\u307E\u308F\u308A","\u3072\u307E\u3093","\u3072\u307F\u3064","\u3072\u3081\u3044","\u3072\u3081\u3057\u3099\u3057","\u3072\u3084\u3051","\u3072\u3084\u3059","\u3072\u3088\u3046","\u3072\u3099\u3087\u3046\u304D","\u3072\u3089\u304B\u3099\u306A","\u3072\u3089\u304F","\u3072\u308A\u3064","\u3072\u308A\u3087\u3046","\u3072\u308B\u307E","\u3072\u308B\u3084\u3059\u307F","\u3072\u308C\u3044","\u3072\u308D\u3044","\u3072\u308D\u3046","\u3072\u308D\u304D","\u3072\u308D\u3086\u304D","\u3072\u3093\u304B\u304F","\u3072\u3093\u3051\u3064","\u3072\u3093\u3053\u3093","\u3072\u3093\u3057\u3085","\u3072\u3093\u305D\u3046","\u3072\u309A\u3093\u3061","\u3072\u3093\u306F\u309A\u3093","\u3072\u3099\u3093\u307B\u3099\u3046","\u3075\u3042\u3093","\u3075\u3044\u3046\u3061","\u3075\u3046\u3051\u3044","\u3075\u3046\u305B\u3093","\u3075\u309A\u3046\u305F\u308D\u3046","\u3075\u3046\u3068\u3046","\u3075\u3046\u3075","\u3075\u3048\u308B","\u3075\u304A\u3093","\u3075\u304B\u3044","\u3075\u304D\u3093","\u3075\u304F\u3055\u3099\u3064","\u3075\u304F\u3075\u3099\u304F\u308D","\u3075\u3053\u3046","\u3075\u3055\u3044","\u3075\u3057\u304D\u3099","\u3075\u3057\u3099\u307F","\u3075\u3059\u307E","\u3075\u305B\u3044","\u3075\u305B\u304F\u3099","\u3075\u305D\u304F","\u3075\u3099\u305F\u306B\u304F","\u3075\u305F\u3093","\u3075\u3061\u3087\u3046","\u3075\u3064\u3046","\u3075\u3064\u304B","\u3075\u3063\u304B\u3064","\u3075\u3063\u304D","\u3075\u3063\u3053\u304F","\u3075\u3099\u3068\u3099\u3046","\u3075\u3068\u308B","\u3075\u3068\u3093","\u3075\u306E\u3046","\u3075\u306F\u3044","\u3075\u3072\u3087\u3046","\u3075\u3078\u3093","\u3075\u307E\u3093","\u3075\u307F\u3093","\u3075\u3081\u3064","\u3075\u3081\u3093","\u3075\u3088\u3046","\u3075\u308A\u3053","\u3075\u308A\u308B","\u3075\u308B\u3044","\u3075\u3093\u3044\u304D","\u3075\u3099\u3093\u304B\u3099\u304F","\u3075\u3099\u3093\u304F\u3099","\u3075\u3093\u3057\u3064","\u3075\u3099\u3093\u305B\u304D","\u3075\u3093\u305D\u3046","\u3075\u3099\u3093\u307B\u309A\u3046","\u3078\u3044\u3042\u3093","\u3078\u3044\u304A\u3093","\u3078\u3044\u304B\u3099\u3044","\u3078\u3044\u304D","\u3078\u3044\u3051\u3099\u3093","\u3078\u3044\u3053\u3046","\u3078\u3044\u3055","\u3078\u3044\u3057\u3083","\u3078\u3044\u305B\u3064","\u3078\u3044\u305D","\u3078\u3044\u305F\u304F","\u3078\u3044\u3066\u3093","\u3078\u3044\u306D\u3064","\u3078\u3044\u308F","\u3078\u304D\u304B\u3099","\u3078\u3053\u3080","\u3078\u3099\u306B\u3044\u308D","\u3078\u3099\u306B\u3057\u3087\u3046\u304B\u3099","\u3078\u3089\u3059","\u3078\u3093\u304B\u3093","\u3078\u3099\u3093\u304D\u3087\u3046","\u3078\u3099\u3093\u3053\u3099\u3057","\u3078\u3093\u3055\u3044","\u3078\u3093\u305F\u3044","\u3078\u3099\u3093\u308A","\u307B\u3042\u3093","\u307B\u3044\u304F","\u307B\u3099\u3046\u304D\u3099\u3087","\u307B\u3046\u3053\u304F","\u307B\u3046\u305D\u3046","\u307B\u3046\u307B\u3046","\u307B\u3046\u3082\u3093","\u307B\u3046\u308A\u3064","\u307B\u3048\u308B","\u307B\u304A\u3093","\u307B\u304B\u3093","\u307B\u304D\u3087\u3046","\u307B\u3099\u304D\u3093","\u307B\u304F\u308D","\u307B\u3051\u3064","\u307B\u3051\u3093","\u307B\u3053\u3046","\u307B\u3053\u308B","\u307B\u3057\u3044","\u307B\u3057\u3064","\u307B\u3057\u3085","\u307B\u3057\u3087\u3046","\u307B\u305B\u3044","\u307B\u305D\u3044","\u307B\u305D\u304F","\u307B\u305F\u3066","\u307B\u305F\u308B","\u307B\u309A\u3061\u3075\u3099\u304F\u308D","\u307B\u3063\u304D\u3087\u304F","\u307B\u3063\u3055","\u307B\u3063\u305F\u3093","\u307B\u3068\u3093\u3068\u3099","\u307B\u3081\u308B","\u307B\u3093\u3044","\u307B\u3093\u304D","\u307B\u3093\u3051","\u307B\u3093\u3057\u3064","\u307B\u3093\u3084\u304F","\u307E\u3044\u306B\u3061","\u307E\u304B\u3044","\u307E\u304B\u305B\u308B","\u307E\u304B\u3099\u308B","\u307E\u3051\u308B","\u307E\u3053\u3068","\u307E\u3055\u3064","\u307E\u3057\u3099\u3081","\u307E\u3059\u304F","\u307E\u305B\u3099\u308B","\u307E\u3064\u308A","\u307E\u3068\u3081","\u307E\u306A\u3075\u3099","\u307E\u306C\u3051","\u307E\u306D\u304F","\u307E\u307B\u3046","\u307E\u3082\u308B","\u307E\u3086\u3051\u3099","\u307E\u3088\u3046","\u307E\u308D\u3084\u304B","\u307E\u308F\u3059","\u307E\u308F\u308A","\u307E\u308F\u308B","\u307E\u3093\u304B\u3099","\u307E\u3093\u304D\u3064","\u307E\u3093\u305D\u3099\u304F","\u307E\u3093\u306A\u304B","\u307F\u3044\u3089","\u307F\u3046\u3061","\u307F\u3048\u308B","\u307F\u304B\u3099\u304F","\u307F\u304B\u305F","\u307F\u304B\u3093","\u307F\u3051\u3093","\u307F\u3053\u3093","\u307F\u3057\u3099\u304B\u3044","\u307F\u3059\u3044","\u307F\u3059\u3048\u308B","\u307F\u305B\u308B","\u307F\u3063\u304B","\u307F\u3064\u304B\u308B","\u307F\u3064\u3051\u308B","\u307F\u3066\u3044","\u307F\u3068\u3081\u308B","\u307F\u306A\u3068","\u307F\u306A\u307F\u304B\u3055\u3044","\u307F\u306D\u3089\u308B","\u307F\u306E\u3046","\u307F\u306E\u304B\u3099\u3059","\u307F\u307B\u3093","\u307F\u3082\u3068","\u307F\u3084\u3051\u3099","\u307F\u3089\u3044","\u307F\u308A\u3087\u304F","\u307F\u308F\u304F","\u307F\u3093\u304B","\u307F\u3093\u305D\u3099\u304F","\u3080\u3044\u304B","\u3080\u3048\u304D","\u3080\u3048\u3093","\u3080\u304B\u3044","\u3080\u304B\u3046","\u3080\u304B\u3048","\u3080\u304B\u3057","\u3080\u304D\u3099\u3061\u3083","\u3080\u3051\u308B","\u3080\u3051\u3099\u3093","\u3080\u3055\u307B\u3099\u308B","\u3080\u3057\u3042\u3064\u3044","\u3080\u3057\u306F\u3099","\u3080\u3057\u3099\u3085\u3093","\u3080\u3057\u308D","\u3080\u3059\u3046","\u3080\u3059\u3053","\u3080\u3059\u3075\u3099","\u3080\u3059\u3081","\u3080\u305B\u308B","\u3080\u305B\u3093","\u3080\u3061\u3085\u3046","\u3080\u306A\u3057\u3044","\u3080\u306E\u3046","\u3080\u3084\u307F","\u3080\u3088\u3046","\u3080\u3089\u3055\u304D","\u3080\u308A\u3087\u3046","\u3080\u308D\u3093","\u3081\u3044\u3042\u3093","\u3081\u3044\u3046\u3093","\u3081\u3044\u3048\u3093","\u3081\u3044\u304B\u304F","\u3081\u3044\u304D\u3087\u304F","\u3081\u3044\u3055\u3044","\u3081\u3044\u3057","\u3081\u3044\u305D\u3046","\u3081\u3044\u3075\u3099\u3064","\u3081\u3044\u308C\u3044","\u3081\u3044\u308F\u304F","\u3081\u304F\u3099\u307E\u308C\u308B","\u3081\u3055\u3099\u3059","\u3081\u3057\u305F","\u3081\u3059\u3099\u3089\u3057\u3044","\u3081\u305F\u3099\u3064","\u3081\u307E\u3044","\u3081\u3084\u3059","\u3081\u3093\u304D\u3087","\u3081\u3093\u305B\u304D","\u3081\u3093\u3068\u3099\u3046","\u3082\u3046\u3057\u3042\u3051\u3099\u308B","\u3082\u3046\u3068\u3099\u3046\u3051\u3093","\u3082\u3048\u308B","\u3082\u304F\u3057","\u3082\u304F\u3066\u304D","\u3082\u304F\u3088\u3046\u3072\u3099","\u3082\u3061\u308D\u3093","\u3082\u3068\u3099\u308B","\u3082\u3089\u3046","\u3082\u3093\u304F","\u3082\u3093\u305F\u3099\u3044","\u3084\u304A\u3084","\u3084\u3051\u308B","\u3084\u3055\u3044","\u3084\u3055\u3057\u3044","\u3084\u3059\u3044","\u3084\u3059\u305F\u308D\u3046","\u3084\u3059\u307F","\u3084\u305B\u308B","\u3084\u305D\u3046","\u3084\u305F\u3044","\u3084\u3061\u3093","\u3084\u3063\u3068","\u3084\u3063\u306F\u309A\u308A","\u3084\u3075\u3099\u308B","\u3084\u3081\u308B","\u3084\u3084\u3053\u3057\u3044","\u3084\u3088\u3044","\u3084\u308F\u3089\u304B\u3044","\u3086\u3046\u304D","\u3086\u3046\u3072\u3099\u3093\u304D\u3087\u304F","\u3086\u3046\u3078\u3099","\u3086\u3046\u3081\u3044","\u3086\u3051\u3064","\u3086\u3057\u3085\u3064","\u3086\u305B\u3093","\u3086\u305D\u3046","\u3086\u305F\u304B","\u3086\u3061\u3083\u304F","\u3086\u3066\u3099\u308B","\u3086\u306B\u3085\u3046","\u3086\u3072\u3099\u308F","\u3086\u3089\u3044","\u3086\u308C\u308B","\u3088\u3046\u3044","\u3088\u3046\u304B","\u3088\u3046\u304D\u3085\u3046","\u3088\u3046\u3057\u3099","\u3088\u3046\u3059","\u3088\u3046\u3061\u3048\u3093","\u3088\u304B\u305B\u3099","\u3088\u304B\u3093","\u3088\u304D\u3093","\u3088\u304F\u305B\u3044","\u3088\u304F\u307B\u3099\u3046","\u3088\u3051\u3044","\u3088\u3053\u3099\u308C\u308B","\u3088\u3055\u3093","\u3088\u3057\u3085\u3046","\u3088\u305D\u3046","\u3088\u305D\u304F","\u3088\u3063\u304B","\u3088\u3066\u3044","\u3088\u3068\u3099\u304B\u3099\u308F\u304F","\u3088\u306D\u3064","\u3088\u3084\u304F","\u3088\u3086\u3046","\u3088\u308D\u3053\u3075\u3099","\u3088\u308D\u3057\u3044","\u3089\u3044\u3046","\u3089\u304F\u304B\u3099\u304D","\u3089\u304F\u3053\u3099","\u3089\u304F\u3055\u3064","\u3089\u304F\u305F\u3099","\u3089\u3057\u3093\u306F\u3099\u3093","\u3089\u305B\u3093","\u3089\u305D\u3099\u304F","\u3089\u305F\u3044","\u3089\u3063\u304B","\u3089\u308C\u3064","\u308A\u3048\u304D","\u308A\u304B\u3044","\u308A\u304D\u3055\u304F","\u308A\u304D\u305B\u3064","\u308A\u304F\u304F\u3099\u3093","\u308A\u304F\u3064","\u308A\u3051\u3093","\u308A\u3053\u3046","\u308A\u305B\u3044","\u308A\u305D\u3046","\u308A\u305D\u304F","\u308A\u3066\u3093","\u308A\u306D\u3093","\u308A\u3086\u3046","\u308A\u3085\u3046\u304B\u3099\u304F","\u308A\u3088\u3046","\u308A\u3087\u3046\u308A","\u308A\u3087\u304B\u3093","\u308A\u3087\u304F\u3061\u3083","\u308A\u3087\u3053\u3046","\u308A\u308A\u304F","\u308A\u308C\u304D","\u308A\u308D\u3093","\u308A\u3093\u3053\u3099","\u308B\u3044\u3051\u3044","\u308B\u3044\u3055\u3044","\u308B\u3044\u3057\u3099","\u308B\u3044\u305B\u304D","\u308B\u3059\u306F\u3099\u3093","\u308B\u308A\u304B\u3099\u308F\u3089","\u308C\u3044\u304B\u3093","\u308C\u3044\u304D\u3099","\u308C\u3044\u305B\u3044","\u308C\u3044\u305D\u3099\u3046\u3053","\u308C\u3044\u3068\u3046","\u308C\u3044\u307B\u3099\u3046","\u308C\u304D\u3057","\u308C\u304D\u305F\u3099\u3044","\u308C\u3093\u3042\u3044","\u308C\u3093\u3051\u3044","\u308C\u3093\u3053\u3093","\u308C\u3093\u3055\u3044","\u308C\u3093\u3057\u3085\u3046","\u308C\u3093\u305D\u3099\u304F","\u308C\u3093\u3089\u304F","\u308D\u3046\u304B","\u308D\u3046\u3053\u3099","\u308D\u3046\u3057\u3099\u3093","\u308D\u3046\u305D\u304F","\u308D\u304F\u304B\u3099","\u308D\u3053\u3064","\u308D\u3057\u3099\u3046\u3089","\u308D\u3057\u3085\u3064","\u308D\u305B\u3093","\u308D\u3066\u3093","\u308D\u3081\u3093","\u308D\u308C\u3064","\u308D\u3093\u304D\u3099","\u308D\u3093\u306F\u309A","\u308D\u3093\u3075\u3099\u3093","\u308D\u3093\u308A","\u308F\u304B\u3059","\u308F\u304B\u3081","\u308F\u304B\u3084\u307E","\u308F\u304B\u308C\u308B","\u308F\u3057\u3064","\u308F\u3057\u3099\u307E\u3057","\u308F\u3059\u308C\u3082\u306E","\u308F\u3089\u3046","\u308F\u308C\u308B"]'), KF = JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]'), LF = JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]');
  var Mm;
  function Km() {
    if (Mm) return Ir;
    Mm = 1, Object.defineProperty(Ir, "__esModule", {
      value: true
    });
    const e = {};
    Ir.wordlists = e;
    let t;
    Ir._default = t;
    try {
      Ir._default = t = PF, e.czech = t;
    } catch {
    }
    try {
      Ir._default = t = NF, e.chinese_simplified = t;
    } catch {
    }
    try {
      Ir._default = t = jF, e.chinese_traditional = t;
    } catch {
    }
    try {
      Ir._default = t = zF, e.korean = t;
    } catch {
    }
    try {
      Ir._default = t = UF, e.french = t;
    } catch {
    }
    try {
      Ir._default = t = RF, e.italian = t;
    } catch {
    }
    try {
      Ir._default = t = TF, e.spanish = t;
    } catch {
    }
    try {
      Ir._default = t = MF, e.japanese = t, e.JA = t;
    } catch {
    }
    try {
      Ir._default = t = KF, e.portuguese = t;
    } catch {
    }
    try {
      Ir._default = t = LF, e.english = t, e.EN = t;
    } catch {
    }
    return Ir;
  }
  var Lm;
  function OF() {
    if (Lm) return gn;
    Lm = 1, Object.defineProperty(gn, "__esModule", {
      value: true
    });
    const e = FF(), t = _F(), r = IF(), n = _c(), a = Km();
    let i = a._default;
    const s = "Invalid mnemonic", l = "Invalid entropy", u = "Invalid mnemonic checksum", x = `A wordlist is required but a default could not be found.
Please pass a 2048 word array explicitly.`;
    function d(C) {
      return (C || "").normalize("NFKD");
    }
    function f(C, j, U) {
      for (; C.length < U; ) C = j + C;
      return C;
    }
    function m(C) {
      return parseInt(C, 2);
    }
    function p(C) {
      return C.map((j) => f(j.toString(2), "0", 8)).join("");
    }
    function g(C) {
      const U = C.length * 8 / 32, P = e.sha256(Uint8Array.from(C));
      return p(Array.from(P)).slice(0, U);
    }
    function E(C) {
      return "mnemonic" + (C || "");
    }
    function A(C, j) {
      const U = Uint8Array.from(Buffer.from(d(C), "utf8")), P = Uint8Array.from(Buffer.from(E(d(j)), "utf8")), L = r.pbkdf2(t.sha512, U, P, {
        c: 2048,
        dkLen: 64
      });
      return Buffer.from(L);
    }
    gn.mnemonicToSeedSync = A;
    function w(C, j) {
      const U = Uint8Array.from(Buffer.from(d(C), "utf8")), P = Uint8Array.from(Buffer.from(E(d(j)), "utf8"));
      return r.pbkdf2Async(t.sha512, U, P, {
        c: 2048,
        dkLen: 64
      }).then((L) => Buffer.from(L));
    }
    gn.mnemonicToSeed = w;
    function D(C, j) {
      if (j = j || i, !j) throw new Error(x);
      const U = d(C).split(" ");
      if (U.length % 3 !== 0) throw new Error(s);
      const P = U.map((Q) => {
        const Z = j.indexOf(Q);
        if (Z === -1) throw new Error(s);
        return f(Z.toString(2), "0", 11);
      }).join(""), L = Math.floor(P.length / 33) * 32, F = P.slice(0, L), q = P.slice(L), $ = F.match(/(.{1,8})/g).map(m);
      if ($.length < 16) throw new Error(l);
      if ($.length > 32) throw new Error(l);
      if ($.length % 4 !== 0) throw new Error(l);
      const Y = Buffer.from($);
      if (g(Y) !== q) throw new Error(u);
      return Y.toString("hex");
    }
    gn.mnemonicToEntropy = D;
    function B(C, j) {
      if (Buffer.isBuffer(C) || (C = Buffer.from(C, "hex")), j = j || i, !j) throw new Error(x);
      if (C.length < 16) throw new TypeError(l);
      if (C.length > 32) throw new TypeError(l);
      if (C.length % 4 !== 0) throw new TypeError(l);
      const U = p(Array.from(C)), P = g(C), q = (U + P).match(/(.{1,11})/g).map(($) => {
        const Y = m($);
        return j[Y];
      });
      return j[0] === "\u3042\u3044\u3053\u304F\u3057\u3093" ? q.join("\u3000") : q.join(" ");
    }
    gn.entropyToMnemonic = B;
    function v(C, j, U) {
      if (C = C || 128, C % 32 !== 0) throw new TypeError(l);
      return j = j || ((P) => Buffer.from(n.randomBytes(P))), B(j(C / 8), U);
    }
    gn.generateMnemonic = v;
    function _(C, j) {
      try {
        D(C, j);
      } catch {
        return false;
      }
      return true;
    }
    gn.validateMnemonic = _;
    function T(C) {
      const j = a.wordlists[C];
      if (j) i = j;
      else throw new Error('Could not find wordlist for language "' + C + '"');
    }
    gn.setDefaultWordlist = T;
    function I() {
      if (!i) throw new Error("No Default Wordlist set");
      return Object.keys(a.wordlists).filter((C) => C === "JA" || C === "EN" ? false : a.wordlists[C].every((j, U) => j === i[U]))[0];
    }
    gn.getDefaultWordlist = I;
    var z = Km();
    return gn.wordlists = z.wordlists, gn;
  }
  var D7 = OF();
  const HF = g4({
    __proto__: null
  }, [
    D7
  ]);
  function QF(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function Om(e) {
    if (!Number.isSafeInteger(e) || e < 0) throw new Error("positive integer expected, got " + e);
  }
  function Md(e, ...t) {
    if (!QF(e)) throw new Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw new Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function GF(e) {
    if (typeof e != "function" || typeof e.create != "function") throw new Error("Hash should be wrapped by utils.createHasher");
    Om(e.outputLen), Om(e.blockLen);
  }
  function od(e, t = true) {
    if (e.destroyed) throw new Error("Hash instance has been destroyed");
    if (t && e.finished) throw new Error("Hash#digest() has already been called");
  }
  function qF(e, t) {
    Md(e);
    const r = t.outputLen;
    if (e.length < r) throw new Error("digestInto() expects output buffer of length at least " + r);
  }
  function ao(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function Y1(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  function ua(e, t) {
    return e << 32 - t | e >>> t;
  }
  function xx(e, t) {
    return e << t | e >>> 32 - t >>> 0;
  }
  function VF(e) {
    if (typeof e != "string") throw new Error("string expected");
    return new Uint8Array(new TextEncoder().encode(e));
  }
  function R8(e) {
    return typeof e == "string" && (e = VF(e)), Md(e), e;
  }
  class F7 {
  }
  function T8(e) {
    const t = (n) => e().update(R8(n)).digest(), r = e();
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t;
  }
  class _7 extends F7 {
    constructor(t, r) {
      super(), this.finished = false, this.destroyed = false, GF(t);
      const n = R8(r);
      if (this.iHash = t.create(), typeof this.iHash.update != "function") throw new Error("Expected instance of class which extends utils.Hash");
      this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
      const a = this.blockLen, i = new Uint8Array(a);
      i.set(n.length > a ? t.create().update(n).digest() : n);
      for (let s = 0; s < i.length; s++) i[s] ^= 54;
      this.iHash.update(i), this.oHash = t.create();
      for (let s = 0; s < i.length; s++) i[s] ^= 106;
      this.oHash.update(i), ao(i);
    }
    update(t) {
      return od(this), this.iHash.update(t), this;
    }
    digestInto(t) {
      od(this), Md(t, this.outputLen), this.finished = true, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
    }
    digest() {
      const t = new Uint8Array(this.oHash.outputLen);
      return this.digestInto(t), t;
    }
    _cloneInto(t) {
      t || (t = Object.create(Object.getPrototypeOf(this), {}));
      const { oHash: r, iHash: n, finished: a, destroyed: i, blockLen: s, outputLen: l } = this;
      return t = t, t.finished = a, t.destroyed = i, t.blockLen = s, t.outputLen = l, t.oHash = r._cloneInto(t.oHash), t.iHash = n._cloneInto(t.iHash), t;
    }
    clone() {
      return this._cloneInto();
    }
    destroy() {
      this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
    }
  }
  const S7 = (e, t, r) => new _7(e, t).update(r).digest();
  S7.create = (e, t) => new _7(e, t);
  function WF(e, t, r, n) {
    if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, n);
    const a = BigInt(32), i = BigInt(4294967295), s = Number(r >> a & i), l = Number(r & i), u = n ? 4 : 0, x = n ? 0 : 4;
    e.setUint32(t + u, s, n), e.setUint32(t + x, l, n);
  }
  function ZF(e, t, r) {
    return e & t ^ ~e & r;
  }
  function YF(e, t, r) {
    return e & t ^ e & r ^ t & r;
  }
  class M8 extends F7 {
    constructor(t, r, n, a) {
      super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = a, this.buffer = new Uint8Array(t), this.view = Y1(this.buffer);
    }
    update(t) {
      od(this), t = R8(t), Md(t);
      const { view: r, buffer: n, blockLen: a } = this, i = t.length;
      for (let s = 0; s < i; ) {
        const l = Math.min(a - this.pos, i - s);
        if (l === a) {
          const u = Y1(t);
          for (; a <= i - s; s += a) this.process(u, s);
          continue;
        }
        n.set(t.subarray(s, s + l), this.pos), this.pos += l, s += l, this.pos === a && (this.process(r, 0), this.pos = 0);
      }
      return this.length += t.length, this.roundClean(), this;
    }
    digestInto(t) {
      od(this), qF(t, this), this.finished = true;
      const { buffer: r, view: n, blockLen: a, isLE: i } = this;
      let { pos: s } = this;
      r[s++] = 128, ao(this.buffer.subarray(s)), this.padOffset > a - s && (this.process(n, 0), s = 0);
      for (let f = s; f < a; f++) r[f] = 0;
      WF(n, a - 8, BigInt(this.length * 8), i), this.process(n, 0);
      const l = Y1(t), u = this.outputLen;
      if (u % 4) throw new Error("_sha2: outputLen should be aligned to 32bit");
      const x = u / 4, d = this.get();
      if (x > d.length) throw new Error("_sha2: outputLen bigger than state");
      for (let f = 0; f < x; f++) l.setUint32(4 * f, d[f], i);
    }
    digest() {
      const { buffer: t, outputLen: r } = this;
      this.digestInto(t);
      const n = t.slice(0, r);
      return this.destroy(), n;
    }
    _cloneInto(t) {
      t || (t = new this.constructor()), t.set(...this.get());
      const { blockLen: r, buffer: n, length: a, finished: i, destroyed: s, pos: l } = this;
      return t.destroyed = s, t.finished = i, t.length = a, t.pos = l, a % r && t.buffer.set(n), t;
    }
    clone() {
      return this._cloneInto();
    }
  }
  const Li = Uint32Array.from([
    1779033703,
    3144134277,
    1013904242,
    2773480762,
    1359893119,
    2600822924,
    528734635,
    1541459225
  ]), kr = Uint32Array.from([
    1779033703,
    4089235720,
    3144134277,
    2227873595,
    1013904242,
    4271175723,
    2773480762,
    1595750129,
    1359893119,
    2917565137,
    2600822924,
    725511199,
    528734635,
    4215389547,
    1541459225,
    327033209
  ]), $F = Uint8Array.from([
    7,
    4,
    13,
    1,
    10,
    6,
    15,
    3,
    12,
    0,
    9,
    5,
    2,
    14,
    11,
    8
  ]), I7 = Uint8Array.from(new Array(16).fill(0).map((e, t) => t)), XF = I7.map((e) => (9 * e + 5) % 16), P7 = (() => {
    const r = [
      [
        I7
      ],
      [
        XF
      ]
    ];
    for (let n = 0; n < 4; n++) for (let a of r) a.push(a[n].map((i) => $F[i]));
    return r;
  })(), N7 = P7[0], j7 = P7[1], z7 = [
    [
      11,
      14,
      15,
      12,
      5,
      8,
      7,
      9,
      11,
      13,
      14,
      15,
      6,
      7,
      9,
      8
    ],
    [
      12,
      13,
      11,
      15,
      6,
      9,
      9,
      7,
      12,
      15,
      11,
      13,
      7,
      8,
      7,
      7
    ],
    [
      13,
      15,
      14,
      11,
      7,
      7,
      6,
      8,
      13,
      14,
      13,
      12,
      5,
      5,
      6,
      9
    ],
    [
      14,
      11,
      12,
      14,
      8,
      6,
      5,
      5,
      15,
      12,
      15,
      14,
      9,
      9,
      8,
      6
    ],
    [
      15,
      12,
      13,
      13,
      9,
      5,
      8,
      6,
      14,
      11,
      12,
      11,
      8,
      6,
      5,
      5
    ]
  ].map((e) => Uint8Array.from(e)), JF = N7.map((e, t) => e.map((r) => z7[t][r])), e_ = j7.map((e, t) => e.map((r) => z7[t][r])), t_ = Uint32Array.from([
    0,
    1518500249,
    1859775393,
    2400959708,
    2840853838
  ]), r_ = Uint32Array.from([
    1352829926,
    1548603684,
    1836072691,
    2053994217,
    0
  ]);
  function Hm(e, t, r, n) {
    return e === 0 ? t ^ r ^ n : e === 1 ? t & r | ~t & n : e === 2 ? (t | ~r) ^ n : e === 3 ? t & n | r & ~n : t ^ (r | ~n);
  }
  const dx = new Uint32Array(16);
  class n_ extends M8 {
    constructor() {
      super(64, 20, 8, true), this.h0 = 1732584193, this.h1 = -271733879, this.h2 = -1732584194, this.h3 = 271733878, this.h4 = -1009589776;
    }
    get() {
      const { h0: t, h1: r, h2: n, h3: a, h4: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.h0 = t | 0, this.h1 = r | 0, this.h2 = n | 0, this.h3 = a | 0, this.h4 = i | 0;
    }
    process(t, r) {
      for (let p = 0; p < 16; p++, r += 4) dx[p] = t.getUint32(r, true);
      let n = this.h0 | 0, a = n, i = this.h1 | 0, s = i, l = this.h2 | 0, u = l, x = this.h3 | 0, d = x, f = this.h4 | 0, m = f;
      for (let p = 0; p < 5; p++) {
        const g = 4 - p, E = t_[p], A = r_[p], w = N7[p], D = j7[p], B = JF[p], v = e_[p];
        for (let _ = 0; _ < 16; _++) {
          const T = xx(n + Hm(p, i, l, x) + dx[w[_]] + E, B[_]) + f | 0;
          n = f, f = x, x = xx(l, 10) | 0, l = i, i = T;
        }
        for (let _ = 0; _ < 16; _++) {
          const T = xx(a + Hm(g, s, u, d) + dx[D[_]] + A, v[_]) + m | 0;
          a = m, m = d, d = xx(u, 10) | 0, u = s, s = T;
        }
      }
      this.set(this.h1 + l + d | 0, this.h2 + x + m | 0, this.h3 + f + a | 0, this.h4 + n + s | 0, this.h0 + i + u | 0);
    }
    roundClean() {
      ao(dx);
    }
    destroy() {
      this.destroyed = true, ao(this.buffer), this.set(0, 0, 0, 0, 0);
    }
  }
  const a_ = T8(() => new n_()), i_ = a_, fx = BigInt(2 ** 32 - 1), Qm = BigInt(32);
  function o_(e, t = false) {
    return t ? {
      h: Number(e & fx),
      l: Number(e >> Qm & fx)
    } : {
      h: Number(e >> Qm & fx) | 0,
      l: Number(e & fx) | 0
    };
  }
  function s_(e, t = false) {
    const r = e.length;
    let n = new Uint32Array(r), a = new Uint32Array(r);
    for (let i = 0; i < r; i++) {
      const { h: s, l } = o_(e[i], t);
      [n[i], a[i]] = [
        s,
        l
      ];
    }
    return [
      n,
      a
    ];
  }
  const Gm = (e, t, r) => e >>> r, qm = (e, t, r) => e << 32 - r | t >>> r, Ms = (e, t, r) => e >>> r | t << 32 - r, Ks = (e, t, r) => e << 32 - r | t >>> r, hx = (e, t, r) => e << 64 - r | t >>> r - 32, px = (e, t, r) => e >>> r - 32 | t << 64 - r;
  function qa(e, t, r, n) {
    const a = (t >>> 0) + (n >>> 0);
    return {
      h: e + r + (a / 2 ** 32 | 0) | 0,
      l: a | 0
    };
  }
  const l_ = (e, t, r) => (e >>> 0) + (t >>> 0) + (r >>> 0), c_ = (e, t, r, n) => t + r + n + (e / 2 ** 32 | 0) | 0, u_ = (e, t, r, n) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0), x_ = (e, t, r, n, a) => t + r + n + a + (e / 2 ** 32 | 0) | 0, d_ = (e, t, r, n, a) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0) + (a >>> 0), f_ = (e, t, r, n, a, i) => t + r + n + a + i + (e / 2 ** 32 | 0) | 0, h_ = Uint32Array.from([
    1116352408,
    1899447441,
    3049323471,
    3921009573,
    961987163,
    1508970993,
    2453635748,
    2870763221,
    3624381080,
    310598401,
    607225278,
    1426881987,
    1925078388,
    2162078206,
    2614888103,
    3248222580,
    3835390401,
    4022224774,
    264347078,
    604807628,
    770255983,
    1249150122,
    1555081692,
    1996064986,
    2554220882,
    2821834349,
    2952996808,
    3210313671,
    3336571891,
    3584528711,
    113926993,
    338241895,
    666307205,
    773529912,
    1294757372,
    1396182291,
    1695183700,
    1986661051,
    2177026350,
    2456956037,
    2730485921,
    2820302411,
    3259730800,
    3345764771,
    3516065817,
    3600352804,
    4094571909,
    275423344,
    430227734,
    506948616,
    659060556,
    883997877,
    958139571,
    1322822218,
    1537002063,
    1747873779,
    1955562222,
    2024104815,
    2227730452,
    2361852424,
    2428436474,
    2756734187,
    3204031479,
    3329325298
  ]), Oi = new Uint32Array(64);
  class p_ extends M8 {
    constructor(t = 32) {
      super(64, t, 8, false), this.A = Li[0] | 0, this.B = Li[1] | 0, this.C = Li[2] | 0, this.D = Li[3] | 0, this.E = Li[4] | 0, this.F = Li[5] | 0, this.G = Li[6] | 0, this.H = Li[7] | 0;
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i, F: s, G: l, H: u } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        s,
        l,
        u
      ];
    }
    set(t, r, n, a, i, s, l, u) {
      this.A = t | 0, this.B = r | 0, this.C = n | 0, this.D = a | 0, this.E = i | 0, this.F = s | 0, this.G = l | 0, this.H = u | 0;
    }
    process(t, r) {
      for (let f = 0; f < 16; f++, r += 4) Oi[f] = t.getUint32(r, false);
      for (let f = 16; f < 64; f++) {
        const m = Oi[f - 15], p = Oi[f - 2], g = ua(m, 7) ^ ua(m, 18) ^ m >>> 3, E = ua(p, 17) ^ ua(p, 19) ^ p >>> 10;
        Oi[f] = E + Oi[f - 7] + g + Oi[f - 16] | 0;
      }
      let { A: n, B: a, C: i, D: s, E: l, F: u, G: x, H: d } = this;
      for (let f = 0; f < 64; f++) {
        const m = ua(l, 6) ^ ua(l, 11) ^ ua(l, 25), p = d + m + ZF(l, u, x) + h_[f] + Oi[f] | 0, E = (ua(n, 2) ^ ua(n, 13) ^ ua(n, 22)) + YF(n, a, i) | 0;
        d = x, x = u, u = l, l = s + p | 0, s = i, i = a, a = n, n = p + E | 0;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, s = s + this.D | 0, l = l + this.E | 0, u = u + this.F | 0, x = x + this.G | 0, d = d + this.H | 0, this.set(n, a, i, s, l, u, x, d);
    }
    roundClean() {
      ao(Oi);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0, 0, 0, 0), ao(this.buffer);
    }
  }
  const U7 = s_([
    "0x428a2f98d728ae22",
    "0x7137449123ef65cd",
    "0xb5c0fbcfec4d3b2f",
    "0xe9b5dba58189dbbc",
    "0x3956c25bf348b538",
    "0x59f111f1b605d019",
    "0x923f82a4af194f9b",
    "0xab1c5ed5da6d8118",
    "0xd807aa98a3030242",
    "0x12835b0145706fbe",
    "0x243185be4ee4b28c",
    "0x550c7dc3d5ffb4e2",
    "0x72be5d74f27b896f",
    "0x80deb1fe3b1696b1",
    "0x9bdc06a725c71235",
    "0xc19bf174cf692694",
    "0xe49b69c19ef14ad2",
    "0xefbe4786384f25e3",
    "0x0fc19dc68b8cd5b5",
    "0x240ca1cc77ac9c65",
    "0x2de92c6f592b0275",
    "0x4a7484aa6ea6e483",
    "0x5cb0a9dcbd41fbd4",
    "0x76f988da831153b5",
    "0x983e5152ee66dfab",
    "0xa831c66d2db43210",
    "0xb00327c898fb213f",
    "0xbf597fc7beef0ee4",
    "0xc6e00bf33da88fc2",
    "0xd5a79147930aa725",
    "0x06ca6351e003826f",
    "0x142929670a0e6e70",
    "0x27b70a8546d22ffc",
    "0x2e1b21385c26c926",
    "0x4d2c6dfc5ac42aed",
    "0x53380d139d95b3df",
    "0x650a73548baf63de",
    "0x766a0abb3c77b2a8",
    "0x81c2c92e47edaee6",
    "0x92722c851482353b",
    "0xa2bfe8a14cf10364",
    "0xa81a664bbc423001",
    "0xc24b8b70d0f89791",
    "0xc76c51a30654be30",
    "0xd192e819d6ef5218",
    "0xd69906245565a910",
    "0xf40e35855771202a",
    "0x106aa07032bbd1b8",
    "0x19a4c116b8d2d0c8",
    "0x1e376c085141ab53",
    "0x2748774cdf8eeb99",
    "0x34b0bcb5e19b48a8",
    "0x391c0cb3c5c95a63",
    "0x4ed8aa4ae3418acb",
    "0x5b9cca4f7763e373",
    "0x682e6ff3d6b2b8a3",
    "0x748f82ee5defb2fc",
    "0x78a5636f43172f60",
    "0x84c87814a1f0ab72",
    "0x8cc702081a6439ec",
    "0x90befffa23631e28",
    "0xa4506cebde82bde9",
    "0xbef9a3f7b2c67915",
    "0xc67178f2e372532b",
    "0xca273eceea26619c",
    "0xd186b8c721c0c207",
    "0xeada7dd6cde0eb1e",
    "0xf57d4f7fee6ed178",
    "0x06f067aa72176fba",
    "0x0a637dc5a2c898a6",
    "0x113f9804bef90dae",
    "0x1b710b35131c471b",
    "0x28db77f523047d84",
    "0x32caab7b40c72493",
    "0x3c9ebe0a15c9bebc",
    "0x431d67c49c100d4c",
    "0x4cc5d4becb3e42b6",
    "0x597f299cfc657e2a",
    "0x5fcb6fab3ad6faec",
    "0x6c44198c4a475817"
  ].map((e) => BigInt(e))), m_ = U7[0], g_ = U7[1], Hi = new Uint32Array(80), Qi = new Uint32Array(80);
  class y_ extends M8 {
    constructor(t = 64) {
      super(128, t, 16, false), this.Ah = kr[0] | 0, this.Al = kr[1] | 0, this.Bh = kr[2] | 0, this.Bl = kr[3] | 0, this.Ch = kr[4] | 0, this.Cl = kr[5] | 0, this.Dh = kr[6] | 0, this.Dl = kr[7] | 0, this.Eh = kr[8] | 0, this.El = kr[9] | 0, this.Fh = kr[10] | 0, this.Fl = kr[11] | 0, this.Gh = kr[12] | 0, this.Gl = kr[13] | 0, this.Hh = kr[14] | 0, this.Hl = kr[15] | 0;
    }
    get() {
      const { Ah: t, Al: r, Bh: n, Bl: a, Ch: i, Cl: s, Dh: l, Dl: u, Eh: x, El: d, Fh: f, Fl: m, Gh: p, Gl: g, Hh: E, Hl: A } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        s,
        l,
        u,
        x,
        d,
        f,
        m,
        p,
        g,
        E,
        A
      ];
    }
    set(t, r, n, a, i, s, l, u, x, d, f, m, p, g, E, A) {
      this.Ah = t | 0, this.Al = r | 0, this.Bh = n | 0, this.Bl = a | 0, this.Ch = i | 0, this.Cl = s | 0, this.Dh = l | 0, this.Dl = u | 0, this.Eh = x | 0, this.El = d | 0, this.Fh = f | 0, this.Fl = m | 0, this.Gh = p | 0, this.Gl = g | 0, this.Hh = E | 0, this.Hl = A | 0;
    }
    process(t, r) {
      for (let B = 0; B < 16; B++, r += 4) Hi[B] = t.getUint32(r), Qi[B] = t.getUint32(r += 4);
      for (let B = 16; B < 80; B++) {
        const v = Hi[B - 15] | 0, _ = Qi[B - 15] | 0, T = Ms(v, _, 1) ^ Ms(v, _, 8) ^ Gm(v, _, 7), I = Ks(v, _, 1) ^ Ks(v, _, 8) ^ qm(v, _, 7), z = Hi[B - 2] | 0, C = Qi[B - 2] | 0, j = Ms(z, C, 19) ^ hx(z, C, 61) ^ Gm(z, C, 6), U = Ks(z, C, 19) ^ px(z, C, 61) ^ qm(z, C, 6), P = u_(I, U, Qi[B - 7], Qi[B - 16]), L = x_(P, T, j, Hi[B - 7], Hi[B - 16]);
        Hi[B] = L | 0, Qi[B] = P | 0;
      }
      let { Ah: n, Al: a, Bh: i, Bl: s, Ch: l, Cl: u, Dh: x, Dl: d, Eh: f, El: m, Fh: p, Fl: g, Gh: E, Gl: A, Hh: w, Hl: D } = this;
      for (let B = 0; B < 80; B++) {
        const v = Ms(f, m, 14) ^ Ms(f, m, 18) ^ hx(f, m, 41), _ = Ks(f, m, 14) ^ Ks(f, m, 18) ^ px(f, m, 41), T = f & p ^ ~f & E, I = m & g ^ ~m & A, z = d_(D, _, I, g_[B], Qi[B]), C = f_(z, w, v, T, m_[B], Hi[B]), j = z | 0, U = Ms(n, a, 28) ^ hx(n, a, 34) ^ hx(n, a, 39), P = Ks(n, a, 28) ^ px(n, a, 34) ^ px(n, a, 39), L = n & i ^ n & l ^ i & l, F = a & s ^ a & u ^ s & u;
        w = E | 0, D = A | 0, E = p | 0, A = g | 0, p = f | 0, g = m | 0, { h: f, l: m } = qa(x | 0, d | 0, C | 0, j | 0), x = l | 0, d = u | 0, l = i | 0, u = s | 0, i = n | 0, s = a | 0;
        const q = l_(j, P, F);
        n = c_(q, C, U, L), a = q | 0;
      }
      ({ h: n, l: a } = qa(this.Ah | 0, this.Al | 0, n | 0, a | 0)), { h: i, l: s } = qa(this.Bh | 0, this.Bl | 0, i | 0, s | 0), { h: l, l: u } = qa(this.Ch | 0, this.Cl | 0, l | 0, u | 0), { h: x, l: d } = qa(this.Dh | 0, this.Dl | 0, x | 0, d | 0), { h: f, l: m } = qa(this.Eh | 0, this.El | 0, f | 0, m | 0), { h: p, l: g } = qa(this.Fh | 0, this.Fl | 0, p | 0, g | 0), { h: E, l: A } = qa(this.Gh | 0, this.Gl | 0, E | 0, A | 0), { h: w, l: D } = qa(this.Hh | 0, this.Hl | 0, w | 0, D | 0), this.set(n, a, i, s, l, u, x, d, f, m, p, g, E, A, w, D);
    }
    roundClean() {
      ao(Hi, Qi);
    }
    destroy() {
      ao(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }
  }
  const E_ = T8(() => new p_()), b_ = T8(() => new y_()), sd = E_, A_ = b_;
  function w_(e) {
    return i_(sd(e));
  }
  function Vm(e, t) {
    return S7(A_, e, t);
  }
  const R7 = "0123456789abcdefABCDEF";
  R7.split("").map((e) => e.codePointAt(0));
  const Wm = Array(256).fill(true).map((e, t) => {
    const r = String.fromCodePoint(t), n = R7.indexOf(r);
    return n < 0 ? void 0 : n < 16 ? n : n - 6;
  }), T7 = new TextEncoder();
  new TextDecoder();
  function v_(e) {
    return T7.encode(e);
  }
  function B_(e) {
    const t = e.reduce((a, i) => a + i.length, 0), r = new Uint8Array(t);
    let n = 0;
    for (const a of e) r.set(a, n), n += a.length;
    return r;
  }
  function C_(e) {
    const t = T7.encode(e || ""), r = new Uint8Array(Math.floor(t.length / 2));
    let n;
    for (n = 0; n < r.length; n++) {
      const a = Wm[t[n * 2]], i = Wm[t[n * 2 + 1]];
      if (a === void 0 || i === void 0) break;
      r[n] = a << 4 | i;
    }
    return n === r.length ? r : r.slice(0, n);
  }
  function Va(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; ++n) if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
    return e.length === t.length ? 0 : e.length > t.length ? 1 : -1;
  }
  function Zm(e, t, r) {
    if (t + 1 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (r > 255) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= 255. Received ${r}`);
    e[t] = r;
  }
  function Ls(e, t, r, n) {
    if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (n = n.toUpperCase(), r > 4294967295) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= ${4294967295}. Received ${r}`);
    n === "LE" ? (e[t] = r & 255, e[t + 1] = r >> 8 & 255, e[t + 2] = r >> 16 & 255, e[t + 3] = r >> 24 & 255) : (e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = r & 255);
  }
  function Cl(e, t, r) {
    if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (r = r.toUpperCase(), r === "LE") {
      let n = 0;
      return n = (n << 8) + e[t + 3] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t] >>> 0, n;
    } else {
      let n = 0;
      return n = (n << 8) + e[t] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 3] >>> 0, n;
    }
  }
  const rt = (e) => C_(e);
  function k_(e) {
    if ($t(e.isPoint(rt("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))), $t(!e.isPoint(rt("030000000000000000000000000000000000000000000000000000000000000005"))), $t(e.isPrivate(rt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))), $t(e.isPrivate(rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))), $t(!e.isPrivate(rt("0000000000000000000000000000000000000000000000000000000000000000"))), $t(!e.isPrivate(rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))), $t(!e.isPrivate(rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))), $t(Va(e.pointFromScalar(rt("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")), rt("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99")) === 0), e.xOnlyPointAddTweak) {
      $t(e.xOnlyPointAddTweak(rt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === null);
      let t = e.xOnlyPointAddTweak(rt("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"), rt("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));
      $t(Va(t.xOnlyPubkey, rt("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf")) === 0 && t.parity === 1), t = e.xOnlyPointAddTweak(rt("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"), rt("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47"));
    }
    $t(Va(e.pointAddScalar(rt("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), rt("0000000000000000000000000000000000000000000000000000000000000003")), rt("02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5")) === 0), $t(Va(e.privateAdd(rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"), rt("0000000000000000000000000000000000000000000000000000000000000002")), rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === 0), e.privateNegate && ($t(Va(e.privateNegate(rt("0000000000000000000000000000000000000000000000000000000000000001")), rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === 0), $t(Va(e.privateNegate(rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e")), rt("0000000000000000000000000000000000000000000000000000000000000003")) === 0), $t(Va(e.privateNegate(rt("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")), rt("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792")) === 0)), $t(Va(e.sign(rt("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"), rt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")), rt("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5")) === 0), $t(e.verify(rt("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"), rt("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), rt("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))), e.signSchnorr && $t(Va(e.signSchnorr(rt("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"), rt("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"), rt("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906")), rt("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")) === 0), e.verifySchnorr && $t(e.verifySchnorr(rt("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"), rt("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"), rt("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")));
  }
  function $t(e) {
    if (!e) throw new Error("ecc library invalid");
  }
  function Vp(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function M7(e, t) {
    return Array.isArray(t) ? t.length === 0 ? true : e ? t.every((r) => typeof r == "string") : t.every((r) => Number.isSafeInteger(r)) : false;
  }
  function D_(e) {
    if (typeof e != "function") throw new Error("function expected");
    return true;
  }
  function Wp(e, t) {
    if (typeof t != "string") throw new Error(`${e}: string expected`);
    return true;
  }
  function K8(e) {
    if (!Number.isSafeInteger(e)) throw new Error(`invalid integer: ${e}`);
  }
  function Zp(e) {
    if (!Array.isArray(e)) throw new Error("array expected");
  }
  function K7(e, t) {
    if (!M7(true, t)) throw new Error(`${e}: array of strings expected`);
  }
  function F_(e, t) {
    if (!M7(false, t)) throw new Error(`${e}: array of numbers expected`);
  }
  function L7(...e) {
    const t = (i) => i, r = (i, s) => (l) => i(s(l)), n = e.map((i) => i.encode).reduceRight(r, t), a = e.map((i) => i.decode).reduce(r, t);
    return {
      encode: n,
      decode: a
    };
  }
  function __(e) {
    const t = typeof e == "string" ? e.split("") : e, r = t.length;
    K7("alphabet", t);
    const n = new Map(t.map((a, i) => [
      a,
      i
    ]));
    return {
      encode: (a) => (Zp(a), a.map((i) => {
        if (!Number.isSafeInteger(i) || i < 0 || i >= r) throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);
        return t[i];
      })),
      decode: (a) => (Zp(a), a.map((i) => {
        Wp("alphabet.decode", i);
        const s = n.get(i);
        if (s === void 0) throw new Error(`Unknown letter: "${i}". Allowed: ${e}`);
        return s;
      }))
    };
  }
  function S_(e = "") {
    return Wp("join", e), {
      encode: (t) => (K7("join.decode", t), t.join(e)),
      decode: (t) => (Wp("join.decode", t), t.split(e))
    };
  }
  function Ym(e, t, r) {
    if (t < 2) throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);
    if (r < 2) throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);
    if (Zp(e), !e.length) return [];
    let n = 0;
    const a = [], i = Array.from(e, (l) => {
      if (K8(l), l < 0 || l >= t) throw new Error(`invalid integer: ${l}`);
      return l;
    }), s = i.length;
    for (; ; ) {
      let l = 0, u = true;
      for (let x = n; x < s; x++) {
        const d = i[x], f = t * l, m = f + d;
        if (!Number.isSafeInteger(m) || f / t !== l || m - d !== f) throw new Error("convertRadix: carry overflow");
        const p = m / r;
        l = m % r;
        const g = Math.floor(p);
        if (i[x] = g, !Number.isSafeInteger(g) || g * r + l !== m) throw new Error("convertRadix: carry overflow");
        if (u) g ? u = false : n = x;
        else continue;
      }
      if (a.push(l), u) break;
    }
    for (let l = 0; l < e.length - 1 && e[l] === 0; l++) a.push(0);
    return a.reverse();
  }
  function I_(e) {
    K8(e);
    const t = 2 ** 8;
    return {
      encode: (r) => {
        if (!Vp(r)) throw new Error("radix.encode input should be Uint8Array");
        return Ym(Array.from(r), t, e);
      },
      decode: (r) => (F_("radix.decode", r), Uint8Array.from(Ym(r, e, t)))
    };
  }
  function P_(e, t) {
    return K8(e), D_(t), {
      encode(r) {
        if (!Vp(r)) throw new Error("checksum.encode: input should be Uint8Array");
        const n = t(r).slice(0, e), a = new Uint8Array(r.length + e);
        return a.set(r), a.set(n, r.length), a;
      },
      decode(r) {
        if (!Vp(r)) throw new Error("checksum.decode: input should be Uint8Array");
        const n = r.slice(0, -e), a = r.slice(-e), i = t(n).slice(0, e);
        for (let s = 0; s < e; s++) if (i[s] !== a[s]) throw new Error("Invalid checksum");
        return n;
      }
    };
  }
  const N_ = (e) => L7(I_(58), __(e), S_("")), j_ = N_("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"), z_ = (e) => L7(P_(4, (t) => e(e(t))), j_), U_ = z_;
  var $1;
  function R_(e) {
    return {
      lang: (e == null ? void 0 : e.lang) ?? ($1 == null ? void 0 : $1.lang),
      message: e == null ? void 0 : e.message,
      abortEarly: (e == null ? void 0 : e.abortEarly) ?? ($1 == null ? void 0 : $1.abortEarly),
      abortPipeEarly: (e == null ? void 0 : e.abortPipeEarly) ?? ($1 == null ? void 0 : $1.abortPipeEarly)
    };
  }
  var T_;
  function M_(e) {
    return T_ == null ? void 0 : T_.get(e);
  }
  var K_;
  function L_(e) {
    return K_ == null ? void 0 : K_.get(e);
  }
  var O_;
  function H_(e, t) {
    var _a2;
    return (_a2 = O_ == null ? void 0 : O_.get(e)) == null ? void 0 : _a2.get(t);
  }
  function fc(e) {
    var _a2, _b;
    const t = typeof e;
    return t === "string" ? `"${e}"` : t === "number" || t === "bigint" || t === "boolean" ? `${e}` : t === "object" || t === "function" ? (e && ((_b = (_a2 = Object.getPrototypeOf(e)) == null ? void 0 : _a2.constructor) == null ? void 0 : _b.name)) ?? "null" : t;
  }
  function si(e, t, r, n, a) {
    const i = a && "input" in a ? a.input : r.value, s = (a == null ? void 0 : a.expected) ?? e.expects ?? null, l = (a == null ? void 0 : a.received) ?? fc(i), u = {
      kind: e.kind,
      type: e.type,
      input: i,
      expected: s,
      received: l,
      message: `Invalid ${t}: ${s ? `Expected ${s} but r` : "R"}eceived ${l}`,
      requirement: e.requirement,
      path: a == null ? void 0 : a.path,
      issues: a == null ? void 0 : a.issues,
      lang: n.lang,
      abortEarly: n.abortEarly,
      abortPipeEarly: n.abortPipeEarly
    }, x = e.kind === "schema", d = (a == null ? void 0 : a.message) ?? e.message ?? H_(e.reference, u.lang) ?? (x ? L_(u.lang) : null) ?? n.message ?? M_(u.lang);
    d && (u.message = typeof d == "function" ? d(u) : d), x && (r.typed = false), r.issues ? r.issues.push(u) : r.issues = [
      u
    ];
  }
  var Q_ = class extends Error {
    constructor(e) {
      super(e[0].message);
      __publicField(this, "issues");
      this.name = "ValiError", this.issues = e;
    }
  };
  function Kd(e) {
    return {
      kind: "validation",
      type: "integer",
      reference: Kd,
      async: false,
      expects: null,
      requirement: Number.isInteger,
      message: e,
      _run(t, r) {
        return t.typed && !this.requirement(t.value) && si(this, "integer", t, r), t;
      }
    };
  }
  function L8(e, t) {
    return {
      kind: "validation",
      type: "length",
      reference: L8,
      async: false,
      expects: `${e}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value.length !== this.requirement && si(this, "length", r, n, {
          received: `${r.value.length}`
        }), r;
      }
    };
  }
  function Ld(e, t) {
    return {
      kind: "validation",
      type: "max_value",
      reference: Ld,
      async: false,
      expects: `<=${e instanceof Date ? e.toJSON() : fc(e)}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value > this.requirement && si(this, "value", r, n, {
          received: r.value instanceof Date ? r.value.toJSON() : fc(r.value)
        }), r;
      }
    };
  }
  function Od(e, t) {
    return {
      kind: "validation",
      type: "min_value",
      reference: Od,
      async: false,
      expects: `>=${e instanceof Date ? e.toJSON() : fc(e)}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value < this.requirement && si(this, "value", r, n, {
          received: r.value instanceof Date ? r.value.toJSON() : fc(r.value)
        }), r;
      }
    };
  }
  function O7(e, t) {
    return {
      kind: "validation",
      type: "regex",
      reference: O7,
      async: false,
      expects: `${e}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && !this.requirement.test(r.value) && si(this, "format", r, n), r;
      }
    };
  }
  function Hd(e, t) {
    return {
      kind: "schema",
      type: "instance",
      reference: Hd,
      expects: e.name,
      async: false,
      class: e,
      message: t,
      _run(r, n) {
        return r.value instanceof this.class ? r.typed = true : si(this, "type", r, n), r;
      }
    };
  }
  function Qd(e) {
    return {
      kind: "schema",
      type: "number",
      reference: Qd,
      expects: "number",
      async: false,
      message: e,
      _run(t, r) {
        return typeof t.value == "number" && !isNaN(t.value) ? t.typed = true : si(this, "type", t, r), t;
      }
    };
  }
  function Yp(e, t) {
    return {
      kind: "schema",
      type: "object",
      reference: Yp,
      expects: "Object",
      async: false,
      entries: e,
      message: t,
      _run(r, n) {
        var _a2;
        const a = r.value;
        if (a && typeof a == "object") {
          r.typed = true, r.value = {};
          for (const i in this.entries) {
            const s = a[i], l = this.entries[i]._run({
              typed: false,
              value: s
            }, n);
            if (l.issues) {
              const u = {
                type: "object",
                origin: "value",
                input: a,
                key: i,
                value: s
              };
              for (const x of l.issues) x.path ? x.path.unshift(u) : x.path = [
                u
              ], (_a2 = r.issues) == null ? void 0 : _a2.push(x);
              if (r.issues || (r.issues = l.issues), n.abortEarly) {
                r.typed = false;
                break;
              }
            }
            l.typed || (r.typed = false), (l.value !== void 0 || i in a) && (r.value[i] = l.value);
          }
        } else si(this, "type", r, n);
        return r;
      }
    };
  }
  function H7(e) {
    return {
      kind: "schema",
      type: "string",
      reference: H7,
      expects: "string",
      async: false,
      message: e,
      _run(t, r) {
        return typeof t.value == "string" ? t.typed = true : si(this, "type", t, r), t;
      }
    };
  }
  function Wa(e, t, r) {
    const n = e._run({
      typed: false,
      value: t
    }, R_(r));
    if (n.issues) throw new Q_(n.issues);
    return n.value;
  }
  function A0(...e) {
    return {
      ...e[0],
      pipe: e,
      _run(t, r) {
        for (const n of e) if (n.kind !== "metadata") {
          if (t.issues && (n.kind === "schema" || n.kind === "transformation")) {
            t.typed = false;
            break;
          }
          (!t.issues || !r.abortEarly && !r.abortPipeEarly) && (t = n._run(t, r));
        }
        return t;
      }
    };
  }
  const $p = A0(Qd(), Kd(), Od(0), Ld(4294967295)), G_ = A0(Qd(), Kd(), Od(0), Ld(2147483647)), q_ = A0(Qd(), Kd(), Od(0), Ld(255)), X1 = A0(Hd(Uint8Array), L8(32)), V_ = A0(Hd(Uint8Array), L8(33)), W_ = Yp({
    wif: q_,
    bip32: Yp({
      public: $p,
      private: $p
    })
  }), Z_ = A0(H7(), O7(/^(m\/)?(\d+'?\/)*\d+'?$/));
  function Y_(e) {
    if (e.length >= 255) throw new TypeError("Alphabet too long");
    const t = new Uint8Array(256);
    for (let x = 0; x < t.length; x++) t[x] = 255;
    for (let x = 0; x < e.length; x++) {
      const d = e.charAt(x), f = d.charCodeAt(0);
      if (t[f] !== 255) throw new TypeError(d + " is ambiguous");
      t[f] = x;
    }
    const r = e.length, n = e.charAt(0), a = Math.log(r) / Math.log(256), i = Math.log(256) / Math.log(r);
    function s(x) {
      if (x instanceof Uint8Array || (ArrayBuffer.isView(x) ? x = new Uint8Array(x.buffer, x.byteOffset, x.byteLength) : Array.isArray(x) && (x = Uint8Array.from(x))), !(x instanceof Uint8Array)) throw new TypeError("Expected Uint8Array");
      if (x.length === 0) return "";
      let d = 0, f = 0, m = 0;
      const p = x.length;
      for (; m !== p && x[m] === 0; ) m++, d++;
      const g = (p - m) * i + 1 >>> 0, E = new Uint8Array(g);
      for (; m !== p; ) {
        let D = x[m], B = 0;
        for (let v = g - 1; (D !== 0 || B < f) && v !== -1; v--, B++) D += 256 * E[v] >>> 0, E[v] = D % r >>> 0, D = D / r >>> 0;
        if (D !== 0) throw new Error("Non-zero carry");
        f = B, m++;
      }
      let A = g - f;
      for (; A !== g && E[A] === 0; ) A++;
      let w = n.repeat(d);
      for (; A < g; ++A) w += e.charAt(E[A]);
      return w;
    }
    function l(x) {
      if (typeof x != "string") throw new TypeError("Expected String");
      if (x.length === 0) return new Uint8Array();
      let d = 0, f = 0, m = 0;
      for (; x[d] === n; ) f++, d++;
      const p = (x.length - d) * a + 1 >>> 0, g = new Uint8Array(p);
      for (; d < x.length; ) {
        const D = x.charCodeAt(d);
        if (D > 255) return;
        let B = t[D];
        if (B === 255) return;
        let v = 0;
        for (let _ = p - 1; (B !== 0 || v < m) && _ !== -1; _--, v++) B += r * g[_] >>> 0, g[_] = B % 256 >>> 0, B = B / 256 >>> 0;
        if (B !== 0) throw new Error("Non-zero carry");
        m = v, d++;
      }
      let E = p - m;
      for (; E !== p && g[E] === 0; ) E++;
      const A = new Uint8Array(f + (p - E));
      let w = f;
      for (; E !== p; ) A[w++] = g[E++];
      return A;
    }
    function u(x) {
      const d = l(x);
      if (d) return d;
      throw new Error("Non-base" + r + " character");
    }
    return {
      encode: s,
      decodeUnsafe: l,
      decode: u
    };
  }
  var $_ = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
  const J1 = Y_($_);
  function X_(e) {
    function t(i) {
      var s = Uint8Array.from(i), l = e(s), u = s.length + 4, x = new Uint8Array(u);
      return x.set(s, 0), x.set(l.subarray(0, 4), s.length), J1.encode(x);
    }
    function r(i) {
      var s = i.slice(0, -4), l = i.slice(-4), u = e(s);
      if (!(l[0] ^ u[0] | l[1] ^ u[1] | l[2] ^ u[2] | l[3] ^ u[3])) return s;
    }
    function n(i) {
      var s = J1.decodeUnsafe(i);
      if (s != null) return r(s);
    }
    function a(i) {
      var s = J1.decode(i), l = r(s);
      if (l == null) throw new Error("Invalid checksum");
      return l;
    }
    return {
      encode: t,
      decode: a,
      decodeUnsafe: n
    };
  }
  function J_(e) {
    return sd(sd(e));
  }
  const eS = X_(J_);
  function tS(e, t, r) {
    if (t.length !== 32) throw new TypeError("Invalid privateKey length");
    var n = new Uint8Array(34), a = new DataView(n.buffer);
    return a.setUint8(0, e), n.set(t, 1), n[33] = 1, n;
  }
  function rS(e) {
    return eS.encode(tS(e.version, e.privateKey));
  }
  const $m = U_(sd), Xm = {
    encode: (e) => $m.encode(e),
    decode: (e) => $m.decode(e)
  };
  function nS(e) {
    k_(e);
    const t = {
      messagePrefix: `Bitcoin Signed Message:
`,
      bech32: "bc",
      bip32: {
        public: 76067358,
        private: 76066276
      },
      pubKeyHash: 0,
      scriptHash: 5,
      wif: 128
    }, r = 2147483648;
    function n(m) {
      return m.length === 32 ? m : m.slice(1, 33);
    }
    class a {
      constructor(p, g) {
        __publicField(this, "__D");
        __publicField(this, "__Q");
        __publicField(this, "lowR", false);
        this.__D = p, this.__Q = g;
      }
      get publicKey() {
        return this.__Q === void 0 && (this.__Q = e.pointFromScalar(this.__D, true)), this.__Q;
      }
      get privateKey() {
        return this.__D;
      }
      sign(p, g) {
        if (!this.privateKey) throw new Error("Missing private key");
        if (g === void 0 && (g = this.lowR), g === false) return e.sign(p, this.privateKey);
        {
          let E = e.sign(p, this.privateKey);
          const A = new Uint8Array(32);
          let w = 0;
          for (; E[0] > 127; ) w++, Ls(A, 0, w, "LE"), E = e.sign(p, this.privateKey, A);
          return E;
        }
      }
      signSchnorr(p) {
        if (!this.privateKey) throw new Error("Missing private key");
        if (!e.signSchnorr) throw new Error("signSchnorr not supported by ecc library");
        return e.signSchnorr(p, this.privateKey);
      }
      verify(p, g) {
        return e.verify(p, this.publicKey, g);
      }
      verifySchnorr(p, g) {
        if (!e.verifySchnorr) throw new Error("verifySchnorr not supported by ecc library");
        return e.verifySchnorr(p, this.publicKey.subarray(1, 33), g);
      }
    }
    class i extends a {
      constructor(p, g, E, A, w = 0, D = 0, B = 0) {
        super(p, g);
        __publicField(this, "chainCode");
        __publicField(this, "network");
        __publicField(this, "__DEPTH");
        __publicField(this, "__INDEX");
        __publicField(this, "__PARENT_FINGERPRINT");
        this.chainCode = E, this.network = A, this.__DEPTH = w, this.__INDEX = D, this.__PARENT_FINGERPRINT = B, Wa(W_, A);
      }
      get depth() {
        return this.__DEPTH;
      }
      get index() {
        return this.__INDEX;
      }
      get parentFingerprint() {
        return this.__PARENT_FINGERPRINT;
      }
      get identifier() {
        return w_(this.publicKey);
      }
      get fingerprint() {
        return this.identifier.slice(0, 4);
      }
      get compressed() {
        return true;
      }
      isNeutered() {
        return this.__D === void 0;
      }
      neutered() {
        return d(this.publicKey, this.chainCode, this.network, this.depth, this.index, this.parentFingerprint);
      }
      toBase58() {
        const p = this.network, g = this.isNeutered() ? p.bip32.public : p.bip32.private, E = new Uint8Array(78);
        return Ls(E, 0, g, "BE"), Zm(E, 4, this.depth), Ls(E, 5, this.parentFingerprint, "BE"), Ls(E, 9, this.index, "BE"), E.set(this.chainCode, 13), this.isNeutered() ? E.set(this.publicKey, 45) : (Zm(E, 45, 0), E.set(this.privateKey, 46)), Xm.encode(E);
      }
      toWIF() {
        if (!this.privateKey) throw new TypeError("Missing private key");
        return rS({
          version: this.network.wif,
          privateKey: this.privateKey
        });
      }
      derive(p) {
        Wa($p, p);
        const g = p >= r, E = new Uint8Array(37);
        if (g) {
          if (this.isNeutered()) throw new TypeError("Missing private key for hardened child key");
          E[0] = 0, E.set(this.privateKey, 1), Ls(E, 33, p, "BE");
        } else E.set(this.publicKey, 0), Ls(E, 33, p, "BE");
        const A = Vm(this.chainCode, E), w = A.slice(0, 32), D = A.slice(32);
        if (!e.isPrivate(w)) return this.derive(p + 1);
        let B;
        if (this.isNeutered()) {
          const v = e.pointAddScalar(this.publicKey, w, true);
          if (v === null) return this.derive(p + 1);
          B = d(v, D, this.network, this.depth + 1, p, Cl(this.fingerprint, 0, "BE"));
        } else {
          const v = e.privateAdd(this.privateKey, w);
          if (v == null) return this.derive(p + 1);
          B = u(v, D, this.network, this.depth + 1, p, Cl(this.fingerprint, 0, "BE"));
        }
        return B;
      }
      deriveHardened(p) {
        if (typeof Wa(G_, p) == "number") return this.derive(p + r);
        throw new TypeError("Expected UInt31, got " + p);
      }
      derivePath(p) {
        Wa(Z_, p);
        let g = p.split("/");
        if (g[0] === "m") {
          if (this.parentFingerprint) throw new TypeError("Expected master, got child");
          g = g.slice(1);
        }
        return g.reduce((E, A) => {
          let w;
          return A.slice(-1) === "'" ? (w = parseInt(A.slice(0, -1), 10), E.deriveHardened(w)) : (w = parseInt(A, 10), E.derive(w));
        }, this);
      }
      tweak(p) {
        return this.privateKey ? this.tweakFromPrivateKey(p) : this.tweakFromPublicKey(p);
      }
      tweakFromPublicKey(p) {
        const g = n(this.publicKey);
        if (!e.xOnlyPointAddTweak) throw new Error("xOnlyPointAddTweak not supported by ecc library");
        const E = e.xOnlyPointAddTweak(g, p);
        if (!E || E.xOnlyPubkey === null) throw new Error("Cannot tweak public key!");
        const A = Uint8Array.from([
          E.parity === 0 ? 2 : 3
        ]), w = B_([
          A,
          E.xOnlyPubkey
        ]);
        return new a(void 0, w);
      }
      tweakFromPrivateKey(p) {
        const g = this.publicKey[0] === 3 || this.publicKey[0] === 4 && (this.publicKey[64] & 1) === 1, E = (() => {
          if (g) {
            if (e.privateNegate) return e.privateNegate(this.privateKey);
            throw new Error("privateNegate not supported by ecc library");
          } else return this.privateKey;
        })(), A = e.privateAdd(E, p);
        if (!A) throw new Error("Invalid tweaked private key!");
        return new a(A, void 0);
      }
    }
    function s(m, p) {
      const g = Xm.decode(m);
      if (g.length !== 78) throw new TypeError("Invalid buffer length");
      p = p || t;
      const E = Cl(g, 0, "BE");
      if (E !== p.bip32.private && E !== p.bip32.public) throw new TypeError("Invalid network version");
      const A = g[4], w = Cl(g, 5, "BE");
      if (A === 0 && w !== 0) throw new TypeError("Invalid parent fingerprint");
      const D = Cl(g, 9, "BE");
      if (A === 0 && D !== 0) throw new TypeError("Invalid index");
      const B = g.slice(13, 45);
      let v;
      if (E === p.bip32.private) {
        if (g[45] !== 0) throw new TypeError("Invalid private key");
        const _ = g.slice(46, 78);
        v = u(_, B, p, A, D, w);
      } else {
        const _ = g.slice(45, 78);
        v = d(_, B, p, A, D, w);
      }
      return v;
    }
    function l(m, p, g) {
      return u(m, p, g);
    }
    function u(m, p, g, E, A, w) {
      if (Wa(X1, m), Wa(X1, p), g = g || t, !e.isPrivate(m)) throw new TypeError("Private key not in range [1, n)");
      return new i(m, void 0, p, g, E, A, w);
    }
    function x(m, p, g) {
      return d(m, p, g);
    }
    function d(m, p, g, E, A, w) {
      if (Wa(V_, m), Wa(X1, p), g = g || t, !e.isPoint(m)) throw new TypeError("Point is not on the curve");
      return new i(void 0, m, p, g, E, A, w);
    }
    function f(m, p) {
      if (Wa(Hd(Uint8Array), m), m.length < 16) throw new TypeError("Seed should be at least 128 bits");
      if (m.length > 64) throw new TypeError("Seed should be at most 512 bits");
      p = p || t;
      const g = Vm(v_("Bitcoin seed"), m), E = g.slice(0, 32), A = g.slice(32);
      return l(E, A, p);
    }
    return {
      fromSeed: f,
      fromBase58: s,
      fromPublicKey: x,
      fromPrivateKey: l
    };
  }
  const Q7 = "0123456789abcdefABCDEF";
  Q7.split("").map((e) => e.codePointAt(0));
  Array(256).fill(true).map((e, t) => {
    const r = String.fromCodePoint(t), n = Q7.indexOf(r);
    return n < 0 ? void 0 : n < 16 ? n : n - 6;
  });
  new TextEncoder();
  new TextDecoder("ascii");
  function aS(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; ++n) if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
    return e.length === t.length ? 0 : e.length > t.length ? 1 : -1;
  }
  const G7 = 0, O8 = 1, q7 = 2, V7 = 3, hc = 4, W7 = 5, Z7 = 6, Y7 = 7, iS = {
    [G7.toString()]: "Expected Private",
    [O8.toString()]: "Expected Point",
    [q7.toString()]: "Expected Tweak",
    [V7.toString()]: "Expected Hash",
    [hc.toString()]: "Expected Signature",
    [W7.toString()]: "Expected Extra Data (32 bytes)",
    [Z7.toString()]: "Expected Parity (1 | 0)",
    [Y7.toString()]: "Bad Recovery Id"
  };
  function cn(e) {
    const t = iS[e.toString()] || `Unknow error code: ${e}`;
    throw new TypeError(t);
  }
  const Sc = 32, pc = 33, Ic = 65, oo = 32, $7 = 32, X7 = 32, J7 = 32, Gd = 64, eE = new Uint8Array(32), ld = new Uint8Array([
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    254,
    186,
    174,
    220,
    230,
    175,
    72,
    160,
    59,
    191,
    210,
    94,
    140,
    208,
    54,
    65,
    65
  ]), oS = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    69,
    81,
    35,
    25,
    80,
    183,
    95,
    196,
    64,
    45,
    161,
    114,
    47,
    201,
    186,
    238
  ]);
  function Sa(e) {
    return e instanceof Uint8Array;
  }
  function Yo(e, t) {
    for (let r = 0; r < 32; ++r) if (e[r] !== t[r]) return e[r] < t[r] ? -1 : 1;
    return 0;
  }
  function Xp(e) {
    return Yo(e, eE) === 0;
  }
  function tE(e) {
    return Sa(e) && e.length === Sc && Yo(e, eE) > 0 && Yo(e, ld) < 0;
  }
  function sS(e) {
    return Sa(e) && (e.length === pc || e.length === Ic || e.length === oo);
  }
  function rE(e) {
    return Sa(e) && e.length === oo;
  }
  function lS(e) {
    return Sa(e) && (e.length === pc || e.length === Ic);
  }
  function cS(e) {
    return Sa(e) && e.length === pc;
  }
  function uS(e) {
    return Sa(e) && e.length === $7 && Yo(e, ld) < 0;
  }
  function xS(e) {
    return Sa(e) && e.length === X7;
  }
  function dS(e) {
    return e === void 0 || Sa(e) && e.length === J7;
  }
  function fS(e) {
    return Sa(e) && e.length === 64 && Yo(e.subarray(0, 32), ld) < 0 && Yo(e.subarray(32, 64), ld) < 0;
  }
  function hS(e) {
    return Sa(e) && e.length === 64 && Yo(e.subarray(0, 32), oS) < 0;
  }
  function pS(e) {
    e !== 0 && e !== 1 && cn(Z7);
  }
  function so(e) {
    tE(e) || cn(G7);
  }
  function $o(e) {
    sS(e) || cn(O8);
  }
  function cd(e) {
    rE(e) || cn(O8);
  }
  function w0(e) {
    uS(e) || cn(q7);
  }
  function v0(e) {
    xS(e) || cn(V7);
  }
  function H8(e) {
    dS(e) || cn(W7);
  }
  function Q8(e) {
    fS(e) || cn(hc);
  }
  function mS(e) {
    e() || cn(hc);
  }
  function gS(e) {
    Xp(e.subarray(0, 32)) && cn(hc), Xp(e.subarray(32, 64)) && cn(hc);
  }
  function yS(e) {
    hS(e) || cn(Y7);
  }
  const ES = "" + new URL("secp256k1-Cao5Swmf.wasm", import.meta.url).href, bS = async (e = {}, t) => {
    let r;
    if (t.startsWith("data:")) {
      const n = t.replace(/^data:.*?base64,/, "");
      let a;
      if (typeof Buffer == "function" && typeof Buffer.from == "function") a = Buffer.from(n, "base64");
      else if (typeof atob == "function") {
        const i = atob(n);
        a = new Uint8Array(i.length);
        for (let s = 0; s < i.length; s++) a[s] = i.charCodeAt(s);
      } else throw new Error("Cannot decode base64-encoded data URL");
      r = await WebAssembly.instantiate(a, e);
    } else {
      const n = await fetch(t), a = n.headers.get("Content-Type") || "";
      if ("instantiateStreaming" in WebAssembly && a.startsWith("application/wasm")) r = await WebAssembly.instantiateStreaming(n, e);
      else {
        const i = await n.arrayBuffer();
        r = await WebAssembly.instantiate(i, e);
      }
    }
    return r.instance.exports;
  };
  function AS() {
    const e = new Uint8Array(4);
    if (typeof crypto > "u") throw new Error("The crypto object is unavailable. This may occur if your environment does not support the Web Cryptography API.");
    return crypto.getRandomValues(e), e;
  }
  function wS() {
    const e = AS();
    return (e[0] << 24) + (e[1] << 16) + (e[2] << 8) + e[3];
  }
  URL = globalThis.URL;
  const lt = await bS({
    "./rand.js": {
      generateInt32: wS
    },
    "./validate_error.js": {
      throwError: cn
    }
  }, ES), vS = lt.memory, BS = lt.initializeContext, CS = lt.isPoint, kS = lt.PUBLIC_KEY_INPUT, DS = lt.pointAdd, FS = lt.PUBLIC_KEY_INPUT2, _S = lt.pointAddScalar, SS = lt.TWEAK_INPUT, IS = lt.xOnlyPointAddTweak, PS = lt.X_ONLY_PUBLIC_KEY_INPUT, NS = lt.xOnlyPointAddTweakCheck, jS = lt.X_ONLY_PUBLIC_KEY_INPUT2, zS = lt.pointCompress, US = lt.pointFromScalar, RS = lt.PRIVATE_INPUT, TS = lt.xOnlyPointFromScalar, MS = lt.xOnlyPointFromPoint, KS = lt.pointMultiply, LS = lt.privateAdd, OS = lt.privateSub, HS = lt.privateNegate, QS = lt.sign, GS = lt.HASH_INPUT, qS = lt.EXTRA_DATA_INPUT, VS = lt.SIGNATURE_INPUT, WS = lt.signRecoverable, ZS = lt.signSchnorr, YS = lt.verify, $S = lt.recover, XS = lt.verifySchnorr, JS = lt.rustsecp256k1_v0_8_1_default_error_callback_fn, eI = lt.rustsecp256k1_v0_8_1_default_illegal_callback_fn, tI = lt.__data_end, rI = lt.__heap_base, ft = Object.freeze(Object.defineProperty({
    __proto__: null,
    EXTRA_DATA_INPUT: qS,
    HASH_INPUT: GS,
    PRIVATE_INPUT: RS,
    PUBLIC_KEY_INPUT: kS,
    PUBLIC_KEY_INPUT2: FS,
    SIGNATURE_INPUT: VS,
    TWEAK_INPUT: SS,
    X_ONLY_PUBLIC_KEY_INPUT: PS,
    X_ONLY_PUBLIC_KEY_INPUT2: jS,
    __data_end: tI,
    __heap_base: rI,
    initializeContext: BS,
    isPoint: CS,
    memory: vS,
    pointAdd: DS,
    pointAddScalar: _S,
    pointCompress: zS,
    pointFromScalar: US,
    pointMultiply: KS,
    privateAdd: LS,
    privateNegate: HS,
    privateSub: OS,
    recover: $S,
    rustsecp256k1_v0_8_1_default_error_callback_fn: JS,
    rustsecp256k1_v0_8_1_default_illegal_callback_fn: eI,
    sign: QS,
    signRecoverable: WS,
    signSchnorr: ZS,
    verify: YS,
    verifySchnorr: XS,
    xOnlyPointAddTweak: IS,
    xOnlyPointAddTweakCheck: NS,
    xOnlyPointFromPoint: MS,
    xOnlyPointFromScalar: TS
  }, Symbol.toStringTag, {
    value: "Module"
  })), li = new Uint8Array(ft.memory.buffer), Jm = ft.PRIVATE_INPUT.value, e4 = ft.PUBLIC_KEY_INPUT.value, t4 = ft.PUBLIC_KEY_INPUT2.value, r4 = ft.X_ONLY_PUBLIC_KEY_INPUT.value, n4 = ft.X_ONLY_PUBLIC_KEY_INPUT2.value, a4 = ft.TWEAK_INPUT.value, i4 = ft.HASH_INPUT.value, o4 = ft.EXTRA_DATA_INPUT.value, s4 = ft.SIGNATURE_INPUT.value, er = li.subarray(Jm, Jm + Sc), Kt = li.subarray(e4, e4 + Ic), l4 = li.subarray(t4, t4 + Ic), kn = li.subarray(r4, r4 + oo), c4 = li.subarray(n4, n4 + oo), Sn = li.subarray(a4, a4 + $7), In = li.subarray(i4, i4 + X7), h0 = li.subarray(o4, o4 + J7), Pn = li.subarray(s4, s4 + Gd);
  function B0(e, t) {
    return e === void 0 ? t !== void 0 ? t.length : pc : e ? pc : Ic;
  }
  function G8(e) {
    try {
      return Kt.set(e), ft.isPoint(e.length) === 1;
    } finally {
      Kt.fill(0);
    }
  }
  function nI() {
    ft.initializeContext();
  }
  function aI(e) {
    return lS(e) && G8(e);
  }
  function iI(e) {
    return cS(e) && G8(e);
  }
  function nE(e) {
    return rE(e) && G8(e);
  }
  function oI(e) {
    return tE(e);
  }
  function sI(e, t, r) {
    $o(e), $o(t);
    const n = B0(r, e);
    try {
      return Kt.set(e), l4.set(t), ft.pointAdd(e.length, t.length, n) === 1 ? Kt.slice(0, n) : null;
    } finally {
      Kt.fill(0), l4.fill(0);
    }
  }
  function lI(e, t, r) {
    $o(e), w0(t);
    const n = B0(r, e);
    try {
      return Kt.set(e), Sn.set(t), ft.pointAddScalar(e.length, n) === 1 ? Kt.slice(0, n) : null;
    } finally {
      Kt.fill(0), Sn.fill(0);
    }
  }
  function cI(e, t) {
    $o(e);
    const r = B0(t, e);
    try {
      return Kt.set(e), ft.pointCompress(e.length, r), Kt.slice(0, r);
    } finally {
      Kt.fill(0);
    }
  }
  function uI(e, t) {
    so(e);
    const r = B0(t);
    try {
      return er.set(e), ft.pointFromScalar(r) === 1 ? Kt.slice(0, r) : null;
    } finally {
      er.fill(0), Kt.fill(0);
    }
  }
  function xI(e) {
    so(e);
    try {
      return er.set(e), ft.xOnlyPointFromScalar(), kn.slice(0, oo);
    } finally {
      er.fill(0), kn.fill(0);
    }
  }
  function dI(e) {
    $o(e);
    try {
      return Kt.set(e), ft.xOnlyPointFromPoint(e.length), kn.slice(0, oo);
    } finally {
      Kt.fill(0), kn.fill(0);
    }
  }
  function fI(e, t, r) {
    $o(e), w0(t);
    const n = B0(r, e);
    try {
      return Kt.set(e), Sn.set(t), ft.pointMultiply(e.length, n) === 1 ? Kt.slice(0, n) : null;
    } finally {
      Kt.fill(0), Sn.fill(0);
    }
  }
  function hI(e, t) {
    so(e), w0(t);
    try {
      return er.set(e), Sn.set(t), ft.privateAdd() === 1 ? er.slice(0, Sc) : null;
    } finally {
      er.fill(0), Sn.fill(0);
    }
  }
  function pI(e, t) {
    if (so(e), w0(t), Xp(t)) return new Uint8Array(e);
    try {
      return er.set(e), Sn.set(t), ft.privateSub() === 1 ? er.slice(0, Sc) : null;
    } finally {
      er.fill(0), Sn.fill(0);
    }
  }
  function mI(e) {
    so(e);
    try {
      return er.set(e), ft.privateNegate(), er.slice(0, Sc);
    } finally {
      er.fill(0);
    }
  }
  function gI(e, t) {
    cd(e), w0(t);
    try {
      kn.set(e), Sn.set(t);
      const r = ft.xOnlyPointAddTweak();
      return r !== -1 ? {
        parity: r,
        xOnlyPubkey: kn.slice(0, oo)
      } : null;
    } finally {
      kn.fill(0), Sn.fill(0);
    }
  }
  function yI(e, t, r, n) {
    cd(e), cd(r), w0(t);
    const a = n !== void 0;
    a && pS(n);
    try {
      if (kn.set(e), c4.set(r), Sn.set(t), a) return ft.xOnlyPointAddTweakCheck(n) === 1;
      {
        ft.xOnlyPointAddTweak();
        const i = kn.slice(0, oo);
        return aS(i, r) === 0;
      }
    } finally {
      kn.fill(0), c4.fill(0), Sn.fill(0);
    }
  }
  function EI(e, t, r) {
    v0(e), so(t), H8(r);
    try {
      return In.set(e), er.set(t), r !== void 0 && h0.set(r), ft.sign(r === void 0 ? 0 : 1), Pn.slice(0, Gd);
    } finally {
      In.fill(0), er.fill(0), r !== void 0 && h0.fill(0), Pn.fill(0);
    }
  }
  function bI(e, t, r) {
    v0(e), so(t), H8(r);
    try {
      In.set(e), er.set(t), r !== void 0 && h0.set(r);
      const n = ft.signRecoverable(r === void 0 ? 0 : 1);
      return {
        signature: Pn.slice(0, Gd),
        recoveryId: n
      };
    } finally {
      In.fill(0), er.fill(0), r !== void 0 && h0.fill(0), Pn.fill(0);
    }
  }
  function AI(e, t, r) {
    v0(e), so(t), H8(r);
    try {
      return In.set(e), er.set(t), r !== void 0 && h0.set(r), ft.signSchnorr(r === void 0 ? 0 : 1), Pn.slice(0, Gd);
    } finally {
      In.fill(0), er.fill(0), r !== void 0 && h0.fill(0), Pn.fill(0);
    }
  }
  function wI(e, t, r, n = false) {
    v0(e), $o(t), Q8(r);
    try {
      return In.set(e), Kt.set(t), Pn.set(r), ft.verify(t.length, n === true ? 1 : 0) === 1;
    } finally {
      In.fill(0), Kt.fill(0), Pn.fill(0);
    }
  }
  function vI(e, t, r, n = false) {
    v0(e), Q8(t), gS(t), r & 2 && yS(t), mS(() => nE(t.subarray(0, 32)));
    const a = B0(n);
    try {
      return In.set(e), Pn.set(t), ft.recover(a, r) === 1 ? Kt.slice(0, a) : null;
    } finally {
      In.fill(0), Pn.fill(0), Kt.fill(0);
    }
  }
  function BI(e, t, r) {
    v0(e), cd(t), Q8(r);
    try {
      return In.set(e), kn.set(t), Pn.set(r), ft.verifySchnorr() === 1;
    } finally {
      In.fill(0), kn.fill(0), Pn.fill(0);
    }
  }
  const CI = Object.freeze(Object.defineProperty({
    __proto__: null,
    __initializeContext: nI,
    isPoint: aI,
    isPointCompressed: iI,
    isPrivate: oI,
    isXOnlyPoint: nE,
    pointAdd: sI,
    pointAddScalar: lI,
    pointCompress: cI,
    pointFromScalar: uI,
    pointMultiply: fI,
    privateAdd: hI,
    privateNegate: mI,
    privateSub: pI,
    recover: vI,
    sign: EI,
    signRecoverable: bI,
    signSchnorr: AI,
    verify: wI,
    verifySchnorr: BI,
    xOnlyPointAddTweak: gI,
    xOnlyPointAddTweakCheck: yI,
    xOnlyPointFromPoint: dI,
    xOnlyPointFromScalar: xI
  }, Symbol.toStringTag, {
    value: "Module"
  })), kI = nS(CI);
  function DI(e) {
    const t = D7.mnemonicToSeedSync(e), n = kI.fromSeed(y4.Buffer.from(t)).fingerprint;
    return Array.from(n).map((a) => a.toString(16).padStart(2, "0")).join("");
  }
  async function u4(e, t) {
    return crypto.subtle.sign("HMAC", e, t);
  }
  async function FI(e, t, r, n) {
    const a = new Uint8Array(t.length + 4);
    a.set(t, 0), new DataView(a.buffer, t.length, 4).setUint32(0, n, false);
    let s = new Uint8Array(await u4(e, a.buffer)), l = s.slice();
    for (let u = 1; u < r; u++) {
      s = new Uint8Array(await u4(e, s.buffer));
      for (let x = 0; x < l.length; x++) l[x] ^= s[x];
    }
    return l;
  }
  async function _I(e, t, r, n) {
    const a = new TextEncoder().encode(e), i = await crypto.subtle.importKey("raw", a, {
      name: "HMAC",
      hash: "SHA-256"
    }, false, [
      "sign"
    ]), s = 32, l = Math.ceil(n / s), u = n - (l - 1) * s, x = [];
    for (let f = 1; f <= l; f++) x.push(await FI(i, t, r, f));
    const d = new Uint8Array(n);
    for (let f = 0; f < l - 1; f++) d.set(x[f], f * s);
    return d.set(x[l - 1].slice(0, u), (l - 1) * s), d;
  }
  async function aE() {
    var _a2;
    if ((_a2 = globalThis.crypto) == null ? void 0 : _a2.subtle) return globalThis.crypto.subtle;
    try {
      const { webcrypto: e } = await ud(async () => {
        const { webcrypto: t } = await Promise.resolve().then(() => mE);
        return {
          webcrypto: t
        };
      }, void 0, import.meta.url);
      if (e == null ? void 0 : e.subtle) return e.subtle;
    } catch {
    }
    throw new Error("SubtleCrypto not found in this environment");
  }
  function Jp(e) {
    const t = new ArrayBuffer(e.byteLength);
    return new Uint8Array(t).set(e), t;
  }
  const mc = l8.trim().split(`
`), iE = new Map(mc.map((e, t) => [
    e,
    t
  ]));
  if (mc.length !== 2048) throw new Error(`Invalid wordlist loaded: expected 2048 words, got ${mc.length}`);
  async function oE(e) {
    const r = await (await aE()).digest("SHA-256", Jp(e));
    return new Uint8Array(r);
  }
  async function x4(e, t) {
    const r = await aE(), n = await r.importKey("raw", Jp(e), {
      name: "HMAC",
      hash: "SHA-256"
    }, false, [
      "sign"
    ]), a = await r.sign("HMAC", n, Jp(t));
    return new Uint8Array(a);
  }
  function SI(e, t) {
    const r = Math.max(e.length, t.length), n = new Uint8Array(r);
    for (let a = 0; a < r; a++) n[a] = e[a % e.length] ^ t[a % t.length];
    return n;
  }
  async function e8(e, t = 32, r = new Uint8Array(0)) {
    const n = new Uint8Array(32).fill(0), a = await x4(n, e);
    let i = new Uint8Array(0), s = new Uint8Array(t), l = 0, u = 1;
    for (; l < t; ) {
      const x = new Uint8Array(i.length + r.length + 1);
      x.set(i, 0), x.set(r, i.length), x.set([
        u
      ], i.length + r.length), i = new Uint8Array(await x4(a, x));
      const d = Math.min(i.length, t - l);
      s.set(i.slice(0, d), l), l += d, u++;
    }
    return s;
  }
  async function qd(e) {
    const t = e.trim().toLowerCase().split(/\s+/);
    if (t.length !== 12 && t.length !== 24) throw new Error("Mnemonic must be 12 or 24 words");
    let r = 0n;
    for (const f of t) {
      const m = iE.get(f);
      if (m === void 0) throw new Error(`Invalid word: ${f}`);
      r = r << 11n | BigInt(m);
    }
    const n = t.length * 11, a = n / 33, i = n - a;
    let s = r >> BigInt(a);
    const l = new Uint8Array(i / 8);
    for (let f = l.length - 1; f >= 0; f--) l[f] = Number(s & 0xFFn), s >>= 8n;
    const x = (await oE(l))[0] >> 8 - a;
    if (Number(r & (1n << BigInt(a)) - 1n) !== x) throw new Error("Invalid mnemonic checksum");
    return l;
  }
  async function Yn(e) {
    const t = e.length * 8;
    if (t !== 128 && t !== 256) throw new Error("Entropy must be 128 or 256 bits");
    const r = t / 32, a = (await oE(e))[0] >> 8 - r;
    let i = 0n;
    for (const x of e) i = i << 8n | BigInt(x);
    const s = i << BigInt(r) | BigInt(a), l = t + r, u = [];
    for (let x = 0; x < l / 11; x++) {
      const d = BigInt(l - (x + 1) * 11), f = Number(s >> d & 0x7FFn);
      u.push(mc[f]);
    }
    return u.join(" ");
  }
  function sE(e) {
    const t = e.length, r = Math.floor(t * 2584965 / 1e6), n = Math.ceil(r / 8);
    let a = 0n;
    for (const s of e) {
      const l = parseInt(s, 10);
      if (isNaN(l) || l < 1 || l > 6) throw new Error(`Invalid dice roll: '${s}'. Must be 1-6.`);
      a = a * 6n + BigInt(l - 1);
    }
    if (n === 0 && a > 0n) throw new Error("Cannot represent non-zero dice value in zero bytes.");
    const i = new Uint8Array(n);
    for (let s = i.length - 1; s >= 0; s--) i[s] = Number(a & 0xFFn), a >>= 8n;
    return i;
  }
  function II(e) {
    const t = [
      /1{5,}/,
      /2{5,}/,
      /3{5,}/,
      /4{5,}/,
      /5{5,}/,
      /6{5,}/,
      /(123456){2,}/,
      /(654321){2,}/,
      /(123){3,}/,
      /(321){3,}/,
      /(?:222333444|333444555|444555666)/,
      /(\d)\1{4,}/,
      /(?:121212|131313|141414|151515|161616){2,}/
    ];
    for (const r of t) if (r.test(e)) return {
      bad: true,
      message: `Bad pattern detected: matches ${r.source}`
    };
    return {
      bad: false
    };
  }
  function PI(e) {
    if (!e) return {
      length: 0,
      distribution: {},
      mean: 0,
      stdDev: 0,
      estimatedEntropyBits: 0,
      chiSquare: 0
    };
    const t = e.split("").map((d) => parseInt(d, 10)), r = t.length, n = {
      1: 0,
      2: 0,
      3: 0,
      4: 0,
      5: 0,
      6: 0
    };
    for (const d of t) n[d]++;
    const i = t.reduce((d, f) => d + f, 0) / r, s = r > 1 ? Math.sqrt(t.reduce((d, f) => d + Math.pow(f - i, 2), 0) / (r - 1)) : 0, l = r * Math.log2(6), u = r / 6;
    let x = 0;
    for (let d = 1; d <= 6; d++) x += Math.pow(n[d] - u, 2) / u;
    return {
      length: r,
      distribution: n,
      mean: i,
      stdDev: s,
      estimatedEntropyBits: l,
      chiSquare: x
    };
  }
  function NI(e) {
    const t = new Set(e).size, r = e.every((n) => n === 0);
    return {
      isWeak: t < 32 || r,
      uniqueBytes: t,
      allZeros: r
    };
  }
  async function jI(e) {
    if (e.length === 0) throw new Error("At least one mnemonic is required for blending.");
    const t = await Promise.all(e.map(qd));
    let r = 128;
    for (const s of t) s.length * 8 > r && (r = s.length * 8);
    let n = t[0];
    for (let s = 1; s < t.length; s++) n = SI(n, t[s]);
    const a = await Yn(n.slice(0, 16));
    let i;
    return n.length >= 32 && (i = await Yn(n.slice(0, 32))), {
      blendedEntropy: n,
      blendedMnemonic12: a,
      blendedMnemonic24: i,
      maxEntropyBits: r
    };
  }
  async function zI(e, t, r = 256, n = "seedsigner-dice-mix") {
    if (t.length < 50) throw new Error("A minimum of 50 dice rolls is required (99+ recommended).");
    const a = sE(t), i = r === 128 ? 16 : 32, s = new TextEncoder().encode(n), l = new TextEncoder().encode("dice-only"), u = await e8(a, i, l), x = await Yn(u), d = new Uint8Array(e.length + a.length);
    d.set(e, 0), d.set(a, e.length);
    const f = await e8(d, i, s), m = await Yn(f);
    return {
      finalEntropy: f,
      finalMnemonic: m,
      diceOnlyMnemonic: x
    };
  }
  const t8 = {
    20: {
      name: "AES-GCM",
      compress: false,
      auth: 4
    },
    21: {
      name: "AES-GCM +c",
      compress: true,
      auth: 4
    }
  }, mx = 12;
  function kl(e) {
    const t = new ArrayBuffer(e.byteLength);
    return new Uint8Array(t).set(e), t;
  }
  function UI(e) {
    if (e.length < 5) throw new Error("Invalid KEF envelope: too short");
    const t = e[0];
    if (!(0 <= t && t <= 252)) throw new Error("Invalid label length in KEF envelope");
    if (1 + t + 4 > e.length) throw new Error("Invalid KEF envelope: insufficient data");
    const r = e.subarray(1, 1 + t), n = new TextDecoder().decode(r), a = e[1 + t];
    if (!t8[a]) throw new Error(`Unsupported KEF version: ${a}`);
    const i = 2 + t;
    let s = e[i] << 16 | e[i + 1] << 8 | e[i + 2];
    const l = s <= 1e4 ? s * 1e4 : s, u = e.subarray(5 + t);
    return {
      label: n,
      labelBytes: r,
      version: a,
      iterations: l,
      payload: u
    };
  }
  class lE {
    constructor(t, r, n) {
      __publicField(this, "keyPromise");
      this.keyPromise = (async () => {
        const a = await _I(t, r, n, 32);
        return crypto.subtle.importKey("raw", kl(a), {
          name: "AES-GCM",
          length: 256
        }, false, [
          "encrypt",
          "decrypt"
        ]);
      })();
    }
    async encrypt(t, r = 20, n) {
      const a = t8[r];
      if (!a) throw new Error(`Unsupported KEF version: ${r}`);
      let i = t;
      a.compress && (i = bF(t));
      let s = n ? new Uint8Array(n) : crypto.getRandomValues(new Uint8Array(mx));
      const l = await this.keyPromise, u = kl(i), x = kl(s), d = a.auth * 8, f = await crypto.subtle.encrypt({
        name: "AES-GCM",
        iv: x,
        tagLength: d
      }, l, u), m = new Uint8Array(f), p = m.slice(0, m.length - a.auth), g = m.slice(m.length - a.auth), E = new Uint8Array(s.length + p.length + g.length);
      return E.set(s, 0), E.set(p, s.length), E.set(g, s.length + p.length), E;
    }
    async decrypt(t, r) {
      const n = t8[r];
      if (!n) throw new Error(`Unsupported KEF version: ${r}`);
      if (t.length < mx + n.auth) throw new Error("Payload too short for AES-GCM");
      const a = t.slice(0, mx), i = t.slice(mx, t.length - n.auth), s = t.slice(t.length - n.auth), l = await this.keyPromise;
      try {
        const u = new Uint8Array(i.length + s.length);
        u.set(i, 0), u.set(s, i.length);
        const x = await crypto.subtle.decrypt({
          name: "AES-GCM",
          iv: kl(a),
          tagLength: n.auth * 8
        }, l, kl(u));
        let d = new Uint8Array(x);
        return n.compress && (d = AF(d)), d;
      } catch (u) {
        throw console.error("Krux decryption internal error:", u), new Error("Krux decryption failed - wrong passphrase or corrupted data");
      }
    }
  }
  function RI(e) {
    const t = e.trim().replace(/\s/g, "").replace(/^KEF:/i, "");
    if (!/^[0-9a-fA-F]+$/.test(t)) throw new Error("Invalid hex string");
    if (t.length % 2 !== 0) throw new Error("Hex string must have even length");
    const r = new Uint8Array(t.length / 2);
    for (let n = 0; n < r.length; n++) r[n] = parseInt(t.substr(n * 2, 2), 16);
    return r;
  }
  async function cE(e) {
    const { kefData: t, passphrase: r } = e;
    let n;
    try {
      n = RI(t);
    } catch {
      try {
        n = vF(t);
      } catch {
        throw new Error("Invalid Krux data: Not a valid Hex or Base43 string.");
      }
    }
    let a, i, s, l, u;
    try {
      const m = UI(n);
      a = m.label, i = m.labelBytes, s = m.version, l = m.iterations, u = m.payload;
    } catch {
      throw new Error("Invalid Krux data: Not a valid Hex or Base43 string.");
    }
    if (!r) throw new Error("Passphrase is required for Krux decryption");
    const d = await new lE(r, i, l).decrypt(u, s);
    return {
      mnemonic: await Yn(d),
      label: a,
      version: s,
      iterations: l
    };
  }
  async function TI(e) {
    const { mnemonic: t, passphrase: r } = e;
    if (!r) throw new Error("Passphrase is required");
    const n = DI(t), a = 1e5, i = 20, s = await qd(t), u = await new lE(r, new TextEncoder().encode(n), a).encrypt(s, i), x = MI(n, i, a, u);
    return {
      kefBase43: BF(x),
      label: n,
      version: i,
      iterations: a
    };
  }
  function MI(e, t, r, n) {
    const a = new TextEncoder().encode(e), i = a.length;
    if (i > 252) throw new Error("Label too long");
    let s;
    s = Math.floor(r / 1e4);
    const l = new Uint8Array(3);
    l[0] = s >> 16 & 255, l[1] = s >> 8 & 255, l[2] = s & 255;
    const u = 1 + i + 1 + 3 + n.length, x = new Uint8Array(u);
    let d = 0;
    return x[d++] = i, x.set(a, d), d += i, x[d++] = t, x.set(l, d), d += 3, x.set(n, d), x;
  }
  function KI(e) {
    if (e.length % 2 !== 0) throw new Error("Hex string must have an even number of characters");
    const t = new Uint8Array(e.length / 2);
    for (let r = 0; r < t.length; r++) t[r] = parseInt(e.substr(r * 2, 2), 16);
    return t;
  }
  function LI(e) {
    if (e.length % 4 !== 0) throw new Error("Invalid Standard SeedQR: Length must be a multiple of 4.");
    const t = [];
    for (let n = 0; n < e.length; n += 4) {
      const a = e.slice(n, n + 4), i = parseInt(a, 10);
      if (isNaN(i) || i >= 2048) throw new Error(`Invalid word index in SeedQR: ${a}`);
      t.push(i);
    }
    if (t.length !== 12 && t.length !== 24) throw new Error(`Invalid word count from SeedQR: ${t.length}. Must be 12 or 24.`);
    return t.map((n) => mc[n]).join(" ");
  }
  async function OI(e) {
    const t = KI(e);
    if (t.length !== 16 && t.length !== 32) throw new Error(`Invalid entropy length for Compact SeedQR: ${t.length}. Must be 16 or 32 bytes.`);
    return Yn(t);
  }
  async function uE(e) {
    const t = e.trim();
    if (/^\d+$/.test(t)) return LI(t);
    if (/^[0-9a-fA-F]+$/.test(t)) return OI(t);
    throw new Error("Unsupported or invalid SeedQR format.");
  }
  async function HI(e) {
    const t = e.trim().toLowerCase().split(/\s+/);
    if (t.length !== 12 && t.length !== 24) throw new Error("Mnemonic must be 12 or 24 words to generate a SeedQR.");
    return t.map((n) => {
      const a = iE.get(n);
      if (a === void 0) throw new Error(`Invalid word in mnemonic: ${n}`);
      return a.toString().padStart(4, "0");
    }).join("");
  }
  async function QI(e) {
    return await qd(e);
  }
  ze.showComment = false;
  ze.showVersion = false;
  function Vl(e) {
    if (!e) return;
    const t = e.trim();
    return t.length ? t : void 0;
  }
  function GI(e) {
    return e.trim().toLowerCase().replace(/\s+/g, " ");
  }
  function xE(e, t, r) {
    return {
      v: 1,
      t: "bip39",
      w: GI(e),
      l: "en",
      pp: t ? 1 : 0
    };
  }
  function qI(e) {
    const t = Qy(e), r = GC(e);
    return `SEEDPGP1:0:${t}:${r}`;
  }
  async function VI(e) {
    try {
      const t = await Ug({
        armoredKey: e
      });
      try {
        await t.getEncryptionKey();
      } catch {
        return {
          valid: false,
          error: "Key has no usable encryption subkey"
        };
      }
      const r = await t.getExpirationTime();
      if (r && r < /* @__PURE__ */ new Date()) return {
        valid: false,
        error: "PGP key has expired"
      };
      let n = 0;
      try {
        const a = t;
        if (a.getBitSize && (n = a.getBitSize(), n > 0 && n < 2048)) return {
          valid: false,
          error: `PGP key too small (${n} bits). Minimum 2048.`
        };
      } catch {
      }
      try {
        await t.verifyPrimaryKey();
      } catch {
      }
      return {
        valid: true,
        fingerprint: t.getFingerprint().toUpperCase(),
        keySize: n || void 0,
        expirationDate: r instanceof Date ? r : void 0
      };
    } catch (t) {
      return {
        valid: false,
        error: `Failed to parse PGP key: ${t instanceof Error ? t.message : "Unknown error"}`
      };
    }
  }
  function WI(e) {
    const t = e.trim().replace(/^["']|["']$/g, "").replace(/[\n\r\t]/g, "");
    if (t.startsWith("SEEDPGP1:")) {
      const r = t.split(":");
      if (r.length < 4) throw new Error("Invalid frame format (need at least 4 colon-separated parts)");
      const n = r[0], a = r[1], i = r[2].toUpperCase(), s = r.slice(3).join(":");
      if (n !== "SEEDPGP1") throw new Error("Invalid prefix");
      if (a !== "0") throw new Error("Multipart frames not supported in this prototype");
      if (!/^[0-9A-F]{4}$/.test(i)) throw new Error("Invalid CRC16 format (must be 4 hex chars)");
      return {
        kind: "single",
        crc16: i,
        b45: s
      };
    } else return {
      kind: "single",
      crc16: "0000",
      b45: t,
      rawPayload: true
    };
  }
  function ZI(e) {
    const t = WI(e), r = qC(t.b45);
    if (t.rawPayload) return r;
    const n = Qy(r);
    if (n !== t.crc16) throw new Error(`CRC16 mismatch! Expected: ${t.crc16}, Got: ${n}. QR scan may be corrupted.`);
    return r;
  }
  async function YI(e) {
    const t = Vl(e.publicKeyArmored), r = Vl(e.messagePassword);
    if (!t && !r) throw new Error("Provide either a PGP public key or a message password (or both).");
    let n = [], a;
    if (t) {
      const u = await Ug({
        armoredKey: t
      });
      try {
        await u.getEncryptionKey();
      } catch {
        throw new Error("This public key has no usable encryption subkey (E).");
      }
      a = u.getFingerprint().toUpperCase(), n = [
        u
      ];
    }
    const i = await Hv({
      text: JSON.stringify(e.plaintext)
    }), s = await Gv({
      message: i,
      encryptionKeys: n,
      passwords: r ? [
        r
      ] : [],
      format: "binary",
      config: {
        preferredSymmetricAlgorithm: k.symmetric.aes256
      }
    }), l = new Uint8Array(s);
    return {
      framed: qI(l),
      pgpBytes: l,
      recipientFingerprint: a
    };
  }
  async function $I(e) {
    var _a2;
    const t = ZI(e.frameText), r = await Ov({
      binaryMessage: t
    }), n = ((_a2 = r.getEncryptionKeyIDs) == null ? void 0 : _a2.call(r)) ?? [], a = Vl(e.privateKeyArmored), i = Vl(e.privateKeyPassphrase), s = Vl(e.messagePassword);
    let l = [];
    if (a) {
      let f = await Tv({
        armoredKey: a
      });
      if (!f.isDecrypted()) {
        if (!i) throw new Error("Private key is still locked. Enter the private key passphrase.");
        if (f = await Qv({
          privateKey: f,
          passphrase: i
        }), !f.isDecrypted()) throw new Error("Private key passphrase incorrect (key still locked).");
      }
      if (n.length) {
        const m = await f.getDecryptionKeys(), g = (Array.isArray(m) ? m : [
          m
        ]).map((w) => w.getKeyID().toHex().toUpperCase()), E = new Set(n.map((w) => w.toHex().toUpperCase()));
        if (!g.some((w) => E.has(w))) throw new Error("This payload is not encrypted to the provided private key (no matching recipient KeyID).");
      }
      l = [
        f
      ];
    }
    let u;
    try {
      const f = {
        message: r,
        format: "utf8"
      };
      l.length > 0 && (f.decryptionKeys = l), s && (f.passwords = [
        s
      ]), u = await qv(f);
    } catch (f) {
      throw console.error("SeedPGP: decrypt failed:", f.message), f;
    }
    const { data: x } = u, d = JSON.parse(x);
    if (d.v !== 1) throw new Error(`Unsupported version: ${d.v}`);
    if (d.t !== "bip39") throw new Error(`Unsupported type: ${d.t}`);
    if (d.l !== "en") throw new Error(`Unsupported language: ${d.l}`);
    return d;
  }
  async function dE(e) {
    if ((e.mode || "pgp") === "krux") {
      const a = typeof e.plaintext == "string" ? e.plaintext : e.plaintext.w, i = e.messagePassword || "";
      if (!i) throw new Error("Krux mode requires a message password (passphrase)");
      try {
        const s = await TI({
          mnemonic: a,
          passphrase: i
        });
        return {
          framed: s.kefBase43,
          label: s.label,
          version: s.version,
          iterations: s.iterations
        };
      } catch (s) {
        throw s instanceof Error ? new Error(`Krux encryption failed: ${s.message}`) : s;
      }
    }
    const r = typeof e.plaintext == "string" ? xE(e.plaintext, false) : e.plaintext, n = await YI({
      plaintext: r,
      publicKeyArmored: e.publicKeyArmored,
      messagePassword: e.messagePassword
    });
    return {
      framed: n.framed,
      pgpBytes: n.pgpBytes,
      recipientFingerprint: n.recipientFingerprint
    };
  }
  async function q8(e) {
    const t = e.mode || "pgp";
    if (t === "krux") {
      const r = e.messagePassword || "";
      if (!r) throw new Error("Krux mode requires a message password (passphrase)");
      try {
        return {
          v: 1,
          t: "bip39",
          w: (await cE({
            kefData: e.frameText,
            passphrase: r
          })).mnemonic,
          l: "en",
          pp: 0
        };
      } catch (n) {
        throw n instanceof Error ? new Error(`Krux decryption failed: ${n.message}`) : n;
      }
    }
    if (t === "seedqr") try {
      return {
        v: 1,
        t: "bip39",
        w: await uE(e.frameText),
        l: "en",
        pp: 0
      };
    } catch (r) {
      throw r instanceof Error ? new Error(`SeedQR decoding failed: ${r.message}`) : r;
    }
    return $I({
      frameText: e.frameText,
      privateKeyArmored: e.privateKeyArmored,
      privateKeyPassphrase: e.privateKeyPassphrase,
      messagePassword: e.messagePassword
    });
  }
  const XI = new RegExp(`^[${dc.replace(/[\-\]\\]/g, "\\$&")}]+$`);
  function fE(e) {
    const t = e.trim();
    return t.startsWith("SEEDPGP1:") ? "pgp" : t.toUpperCase().startsWith("KEF:") ? "krux" : /^\d+$/.test(t) && t.length >= 48 || /^[0-9a-fA-F]+$/.test(t) && (t.length === 32 || t.length === 64) ? "seedqr" : XI.test(t) ? "krux" : (t.includes(" "), "text");
  }
  const JI = () => b.jsxs("div", {
    className: "space-y-3",
    children: [
      b.jsx(Os, {
        icon: "\u{1F9F5}",
        title: "JavaScript Strings are Immutable",
        description: "Strings cannot be overwritten in memory. Copies persist until garbage collection runs (timing unpredictable)."
      }),
      b.jsx(Os, {
        icon: "\u{1F5D1}\uFE0F",
        title: "No Guaranteed Memory Wiping",
        description: "JavaScript has no secure memory clearing. Sensitive data may linger in RAM until GC or browser restart."
      }),
      b.jsx(Os, {
        icon: "\u{1F4CB}",
        title: "Clipboard Exposure",
        description: "Copied data is accessible to other tabs/apps. Browser extensions can read clipboard contents."
      }),
      b.jsx(Os, {
        icon: "\u{1F4BE}",
        title: "Browser Storage Persistence",
        description: "localStorage survives browser restart. sessionStorage survives page refresh. Both readable by any script on this domain."
      }),
      b.jsx(Os, {
        icon: "\u{1F50D}",
        title: "DevTools Access",
        description: "All app state, memory, and storage visible in browser DevTools. Never use on untrusted devices."
      }),
      b.jsx(Os, {
        icon: "\u{1F310}",
        title: "Network Risks (When Online)",
        description: "If hosted online: DNS, HTTPS, CDN, and browser can see usage patterns. Use offline/local for maximum security."
      }),
      b.jsxs("div", {
        className: "pt-3 border-t border-[#00f0ff]/30 text-xs text-[#6ef3f7]",
        children: [
          b.jsx("strong", {
            className: "text-[#00f0ff]",
            children: "Recommendation:"
          }),
          " ",
          "Use this tool on a dedicated offline device. Clear browser data after each use. Never use on shared/public computers."
        ]
      })
    ]
  }), Os = ({ icon: e, title: t, description: r }) => b.jsxs("div", {
    className: "flex gap-2 text-sm",
    children: [
      b.jsx("span", {
        className: "text-lg flex-shrink-0",
        children: e
      }),
      b.jsxs("div", {
        children: [
          b.jsx("div", {
            className: "font-semibold text-[#00f0ff] mb-1",
            style: {
              textShadow: "0 0 10px rgba(0,240,255,0.7)"
            },
            children: t
          }),
          b.jsx("div", {
            className: "text-[#6ef3f7] leading-relaxed",
            children: r
          })
        ]
      })
    ]
  });
  function d4(e) {
    const t = Array.from(e, (r) => String.fromCodePoint(r)).join("");
    return btoa(t);
  }
  let Qs = null, jx = null, zx = 0, Wl = 0;
  const hE = "AES-GCM", eP = 256, tP = 300 * 1e3, rP = 1e3;
  async function r8() {
    var _a2;
    const e = Date.now();
    if (!Qs || e - zx > tP || Wl > rP) {
      if (Qs) {
        const n = e - zx;
        (_a2 = console.debug) == null ? void 0 : _a2.call(console, `Rotating session key (age: ${n}ms, ops: ${Wl})`), Qs = null, jx = null;
      }
      Qs = await crypto.subtle.generateKey({
        name: hE,
        length: eP
      }, false, [
        "encrypt",
        "decrypt"
      ]), jx = crypto.randomUUID(), zx = e, Wl = 0;
    }
    return {
      key: Qs,
      keyId: jx
    };
  }
  async function f4(e) {
    const { key: t, keyId: r } = await r8();
    if (Wl++, !t) throw new Error("Session key not initialized or has been destroyed.");
    const n = crypto.getRandomValues(new Uint8Array(12)), a = new TextEncoder().encode(JSON.stringify(e)), i = await crypto.subtle.encrypt({
      name: hE,
      iv: new Uint8Array(n)
    }, t, a);
    return {
      v: 1,
      alg: "A256GCM",
      keyId: r,
      iv_b64: d4(n),
      ct_b64: d4(new Uint8Array(i))
    };
  }
  function n8() {
    Qs = null, jx = null, Wl = 0, zx = 0;
  }
  typeof document < "u" && document.addEventListener("visibilitychange", () => {
    var _a2;
    document.hidden && ((_a2 = console.debug) == null ? void 0 : _a2.call(console, "Page hidden - clearing session key for security"), n8());
  });
  const nP = ({ onClick: e }) => b.jsxs("button", {
    className: "flex items-center gap-2 text-amber-500/80 hover:text-amber-500 transition-colors",
    onClick: e,
    children: [
      b.jsx(bx, {
        className: "w-4 h-4"
      }),
      b.jsx("span", {
        className: "text-xs font-medium",
        children: "Security Info"
      })
    ]
  }), aP = ({ localItems: e, sessionItems: t }) => {
    const r = e.length + t.length, a = [
      ...e,
      ...t
    ].filter((s) => s.isSensitive).length > 0 ? "Warning" : r > 0 ? "Active" : "Empty", i = a === "Warning" ? "text-amber-500/80" : a === "Active" ? "text-teal-500/80" : "text-green-500/80";
    return b.jsxs("div", {
      className: `flex items-center gap-2 ${i}`,
      children: [
        b.jsx(FA, {
          className: "w-4 h-4"
        }),
        b.jsx("span", {
          className: "text-xs font-medium",
          children: a
        })
      ]
    });
  }, iP = ({ events: e, onOpenClipboardModal: t }) => {
    const r = e.length, n = r === 0 ? "text-[#39ff14] bg-[#39ff14]/10 border-[#39ff14]/20" : r < 5 ? "text-[#ff006e] bg-[#ff006e]/10 border-[#ff006e]/30 font-semibold" : "text-[#ff006e] bg-[#ff006e]/10 border-[#ff006e]/30 font-bold animate-pulse";
    return b.jsxs("button", {
      onClick: t,
      className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border transition-all hover:scale-105 ${n}`,
      children: [
        b.jsx(wA, {
          className: "w-3.5 h-3.5"
        }),
        b.jsx("span", {
          className: "text-xs",
          children: r === 0 ? "Empty" : `${r} item${r > 1 ? "s" : ""}`
        })
      ]
    });
  }, oP = ({ onOpenSecurityModal: e, onOpenStorageModal: t, localItems: r, sessionItems: n, events: a, onOpenClipboardModal: i, activeTab: s, onRequestTabChange: l, appVersion: u, isNetworkBlocked: x, onToggleNetwork: d, onResetAll: f }) => b.jsx("header", {
    className: "sticky top-0 z-[100] bg-[#0a0a0f] border-b border-[#00f0ff30] backdrop-blur-sm",
    children: b.jsxs("div", {
      className: "w-full px-4 py-3 space-y-3",
      children: [
        b.jsxs("div", {
          className: "flex items-center justify-between",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-3",
              children: [
                b.jsx("div", {
                  className: "w-10 h-10 bg-[#00f0ff] rounded-lg flex items-center justify-center shadow-[0_0_15px_rgba(0,240,255,0.5)]",
                  children: b.jsx(IA, {
                    className: "w-6 h-6 text-[#0a0a0f]"
                  })
                }),
                b.jsxs("div", {
                  children: [
                    b.jsxs("h1", {
                      className: "text-lg font-semibold text-[#00f0ff]",
                      style: {
                        textShadow: "0 0 10px rgba(0,240,255,0.7)"
                      },
                      children: [
                        "SeedPGP ",
                        b.jsx("span", {
                          className: "text-[#ff006e]",
                          children: u
                        })
                      ]
                    }),
                    b.jsx("p", {
                      className: "text-xs text-[#6ef3f7]",
                      children: "OpenPGP-secured BIP39 backup"
                    })
                  ]
                })
              ]
            }),
            b.jsxs("button", {
              onClick: f,
              className: "flex items-center gap-1.5 px-3 py-1.5 text-xs bg-[#16213e] border border-[#ff006e] text-[#ff006e] rounded-lg font-medium hover:bg-[#ff006e20] transition-all",
              title: "Reset all data",
              children: [
                b.jsx(ma, {
                  size: 12
                }),
                b.jsx("span", {
                  className: "hidden sm:inline",
                  children: "Reset"
                })
              ]
            })
          ]
        }),
        b.jsxs("div", {
          className: "flex items-center gap-2 pb-2 border-b border-[#00f0ff20]",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-2",
              children: [
                b.jsx(nP, {
                  onClick: e
                }),
                b.jsx("div", {
                  onClick: t,
                  className: "cursor-pointer",
                  children: b.jsx(aP, {
                    localItems: r,
                    sessionItems: n
                  })
                }),
                b.jsx("div", {
                  onClick: i,
                  className: "cursor-pointer",
                  children: b.jsx(iP, {
                    events: a,
                    onOpenClipboardModal: i
                  })
                })
              ]
            }),
            b.jsx("div", {
              className: "flex-1"
            }),
            b.jsx("div", {
              className: "flex items-center gap-2",
              children: b.jsxs("button", {
                onClick: d,
                className: `flex items-center gap-1 px-2.5 py-1.5 text-xs rounded-lg font-medium transition-all whitespace-nowrap ${x ? "bg-[#16213e] border border-[#ff006e] text-[#ff006e] hover:bg-[#ff006e20]" : "bg-[#16213e] border border-[#39ff14] text-[#39ff14] hover:bg-[#39ff1420]"}`,
                title: x ? "Extra secure: Added manual blocking layer (CSP already blocks connections)" : "Normal: Relying on CSP to block connections",
                children: [
                  b.jsx("span", {
                    className: "text-sm",
                    children: x ? "\u{1F6AB}" : "\u{1F310}"
                  }),
                  b.jsx("span", {
                    className: "hidden sm:inline text-[10px]",
                    children: x ? "Extra secure" : "Normal"
                  })
                ]
              })
            })
          ]
        }),
        b.jsxs("div", {
          className: "grid grid-cols-5 gap-2",
          children: [
            b.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${s === "create" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: s === "create" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => l("create"),
              children: "Create"
            }),
            b.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${s === "backup" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: s === "backup" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => l("backup"),
              children: "Backup"
            }),
            b.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${s === "restore" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: s === "restore" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => l("restore"),
              children: "Restore"
            }),
            b.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${s === "seedblender" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: s === "seedblender" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => l("seedblender"),
              children: "Blender"
            }),
            b.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${s === "test-recovery" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: s === "test-recovery" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => l("test-recovery"),
              children: "\u{1F9EA} Test"
            })
          ]
        })
      ]
    })
  }), sP = ({ localItems: e, sessionItems: t }) => {
    const r = e.length + t.length, n = [
      ...e,
      ...t
    ].filter((a) => a.isSensitive).length;
    return b.jsxs("div", {
      children: [
        n > 0 && b.jsx("div", {
          className: "mb-3 bg-yellow-50 border border-yellow-300 rounded-md p-3 text-xs",
          children: b.jsxs("div", {
            className: "flex items-start gap-2",
            children: [
              b.jsx("span", {
                className: "text-yellow-600 mt-0.5",
                children: "\u26A0\uFE0F"
              }),
              b.jsxs("div", {
                className: "text-yellow-800",
                children: [
                  b.jsx("strong", {
                    children: "Security Notice:"
                  }),
                  " Sensitive data persists in browser storage (survives refresh/restart). Clear manually if on shared device."
                ]
              })
            ]
          })
        }),
        b.jsxs("div", {
          className: "space-y-3",
          children: [
            b.jsx(h4, {
              title: "localStorage",
              items: e,
              icon: "\u{1F4BE}"
            }),
            b.jsx(h4, {
              title: "sessionStorage",
              items: t,
              icon: "\u23F1\uFE0F"
            })
          ]
        }),
        r === 0 && b.jsxs("div", {
          className: "text-center py-6",
          children: [
            b.jsx("div", {
              className: "text-4xl mb-2",
              children: "\u2705"
            }),
            b.jsx("p", {
              className: "text-sm text-gray-500",
              children: "No data in browser storage"
            })
          ]
        })
      ]
    });
  }, h4 = ({ title: e, items: t, icon: r }) => t.length === 0 ? null : b.jsxs("div", {
    children: [
      b.jsxs("h4", {
        className: "text-xs font-bold text-gray-500 mb-2 flex items-center gap-1",
        children: [
          b.jsx("span", {
            children: r
          }),
          b.jsx("span", {
            className: "uppercase",
            children: e
          }),
          b.jsxs("span", {
            className: "ml-auto text-gray-400 font-normal",
            children: [
              "(",
              t.length,
              ")"
            ]
          })
        ]
      }),
      b.jsx("div", {
        className: "space-y-2",
        children: t.map((n) => b.jsxs("div", {
          className: `text-xs rounded-md border p-2 ${n.isSensitive ? "bg-red-50 border-red-300" : "bg-gray-50 border-gray-200"}`,
          children: [
            b.jsxs("div", {
              className: "flex justify-between items-start gap-2 mb-1",
              children: [
                b.jsxs("span", {
                  className: `font-mono font-semibold text-[11px] break-all ${n.isSensitive ? "text-red-700" : "text-gray-700"}`,
                  children: [
                    n.isSensitive && "\u{1F534} ",
                    n.key
                  ]
                }),
                b.jsxs("span", {
                  className: "text-gray-400 text-[10px] whitespace-nowrap",
                  children: [
                    n.size,
                    "B"
                  ]
                })
              ]
            }),
            b.jsx("div", {
              className: "text-gray-500 font-mono text-[10px] break-all leading-relaxed opacity-70",
              children: n.value
            })
          ]
        }, n.key))
      })
    ]
  }), lP = ({ events: e, onClear: t }) => b.jsxs("div", {
    children: [
      e.length > 0 && b.jsxs("div", {
        className: "mb-3 bg-orange-100 border border-orange-300 rounded-md p-3 text-xs text-orange-900",
        children: [
          b.jsx("strong", {
            children: "\u26A0\uFE0F Clipboard Warning:"
          }),
          " Copied data is accessible to other apps, browser tabs, and extensions. Clear clipboard after use."
        ]
      }),
      e.length > 0 ? b.jsxs(b.Fragment, {
        children: [
          b.jsx("div", {
            className: "space-y-2 mb-3 max-h-64 overflow-y-auto",
            children: e.map((r, n) => b.jsxs("div", {
              className: "bg-white border border-orange-200 rounded-md p-2 text-xs",
              children: [
                b.jsxs("div", {
                  className: "flex justify-between items-start gap-2 mb-1",
                  children: [
                    b.jsx("span", {
                      className: "font-semibold text-orange-900 break-all",
                      children: r.field
                    }),
                    b.jsx("span", {
                      className: "text-gray-400 text-[10px] whitespace-nowrap",
                      children: r.timestamp.toLocaleTimeString()
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "text-gray-600 text-[10px]",
                  children: [
                    "Copied ",
                    r.length,
                    " character",
                    r.length !== 1 ? "s" : ""
                  ]
                })
              ]
            }, n))
          }),
          b.jsx("button", {
            onClick: t,
            className: "w-full text-xs py-2 px-3 bg-orange-600 hover:bg-orange-700 text-white rounded-md font-medium transition-colors",
            children: "\u{1F5D1}\uFE0F Clear Clipboard & History"
          })
        ]
      }) : b.jsxs("div", {
        className: "text-center py-4",
        children: [
          b.jsx("div", {
            className: "text-3xl mb-2",
            children: "\u2705"
          }),
          b.jsx("p", {
            className: "text-xs text-gray-500",
            children: "No clipboard activity detected"
          })
        ]
      })
    ]
  }), cP = ({ appVersion: e, buildHash: t, buildTimestamp: r }) => b.jsxs("footer", {
    className: "text-center text-xs text-[#6ef3f7] p-4",
    children: [
      b.jsxs("p", {
        children: [
          "SeedPGP v",
          e,
          " \u2022 build ",
          t,
          " \u2022 ",
          r
        ]
      }),
      b.jsx("p", {
        className: "mt-1",
        children: "Never share your private keys or seed phrases. Always verify on an airgapped device."
      })
    ]
  });
  function p4(e, t) {
    let r = null;
    return (...n) => {
      r && clearTimeout(r), r = setTimeout(() => e(...n), t);
    };
  }
  let uP = 0;
  const Dl = () => ({
    id: uP++,
    rawInput: "",
    decryptedMnemonic: null,
    isEncrypted: false,
    inputType: "text",
    passwordRequired: false,
    passwordInput: "",
    error: null,
    isValid: null
  });
  function xP({ onDirtyStateChange: e, setMnemonicForBackup: t, requestTabChange: r, incomingSeed: n, onSeedReceived: a }) {
    const i = Ae.useRef(/* @__PURE__ */ new Set()), [s, l] = Ae.useState([
      Dl()
    ]), [u, x] = Ae.useState(false), [d, f] = Ae.useState(null), [m, p] = Ae.useState(null), [g, E] = Ae.useState(null), [A, w] = Ae.useState(""), [D, B] = Ae.useState(false), [v, _] = Ae.useState(""), [T, I] = Ae.useState(null), [z, C] = Ae.useState(null), [j, U] = Ae.useState(null), [P, L] = Ae.useState(null), [F, q] = Ae.useState(false), [$, Y] = Ae.useState(false), [J, Q] = Ae.useState(false), [Z, M] = Ae.useState(24);
    Ae.useEffect(() => {
      const se = s.some((ce) => ce.rawInput.length > 0) || v.length > 0;
      e(se);
    }, [
      s,
      v,
      e
    ]);
    const H = (se) => {
      l((ce) => {
        const ee = ce.findIndex((X) => !X.rawInput.trim());
        if (ee !== -1) return ce.map((X, oe) => oe === ee ? {
          ...X,
          rawInput: se,
          decryptedMnemonic: se,
          isValid: null,
          error: null
        } : X);
        {
          const X = Dl();
          return X.rawInput = se, X.decryptedMnemonic = se, [
            ...ce,
            X
          ];
        }
      });
    };
    Ae.useEffect(() => {
      n && n.trim() && (i.current.has(n) || s.some((ce) => ce.decryptedMnemonic === n) || (H(n), i.current.add(n)), a == null ? void 0 : a());
    }, [
      n
    ]), Ae.useEffect(() => {
      p4(async () => {
        B(true), w("");
        const ce = s.map((oe) => oe.decryptedMnemonic).filter((oe) => oe !== null && oe.length > 0), ee = s.map(async (oe) => {
          if (!oe.rawInput.trim()) return {
            isValid: null,
            error: null
          };
          if (oe.isEncrypted && !oe.decryptedMnemonic) return {
            isValid: null,
            error: null
          };
          const Be = oe.decryptedMnemonic || oe.rawInput;
          try {
            return await qd(Be.trim()), {
              isValid: true,
              error: null
            };
          } catch (ve) {
            return {
              isValid: false,
              error: ve.message || "Invalid mnemonic"
            };
          }
        }), X = await Promise.all(ee);
        if (l((oe) => oe.map((Be, ve) => {
          var _a2, _b;
          return {
            ...Be,
            isValid: ((_a2 = X[ve]) == null ? void 0 : _a2.isValid) ?? Be.isValid,
            error: ((_b = X[ve]) == null ? void 0 : _b.error) ?? Be.error
          };
        })), ce.length > 0) try {
          const oe = await jI(ce);
          p(oe), E(NI(oe.blendedEntropy));
        } catch (oe) {
          w(oe.message), p(null);
        }
        else p(null);
        B(false);
      }, 300)();
    }, [
      JSON.stringify(s.map((se) => se.decryptedMnemonic))
    ]), Ae.useEffect(() => {
      p4(async () => {
        if (I(PI(v)), C(II(v).message || null), v.length >= 50) try {
          const ce = m && m.blendedEntropy.length >= 32 ? 32 : 16, ee = await e8(sE(v), ce, new TextEncoder().encode("dice-only"));
          U(await Yn(ee));
        } catch {
          U(null);
        }
        else U(null);
      }, 200)();
    }, [
      v,
      m
    ]);
    const re = (se, ce) => {
      l((ee) => ee.map((X, oe) => oe === se ? {
        ...X,
        ...ce
      } : X));
    }, te = () => l([
      ...s,
      Dl()
    ]), ae = (se) => {
      s.length > 1 ? l(s.filter((ce) => ce.id !== se)) : l([
        Dl()
      ]);
    }, xe = (se) => {
      f(se), x(true);
    }, me = Ae.useCallback(async (se) => {
      if (d === null) return;
      const ce = typeof se == "string" ? se : Array.from(se).map((ve) => ve.toString(16).padStart(2, "0")).join(""), ee = fE(ce);
      let X = ce, oe = null, Be = "text";
      try {
        ee === "seedqr" ? (X = await uE(ce), Be = "seedqr", re(d, {
          rawInput: X,
          decryptedMnemonic: X,
          isEncrypted: false,
          passwordRequired: false,
          inputType: Be,
          error: null
        })) : ee === "pgp" || ee === "krux" ? (Be = ee === "pgp" ? "seedpgp" : ee, re(d, {
          rawInput: ce,
          decryptedMnemonic: null,
          isEncrypted: true,
          passwordRequired: true,
          inputType: Be,
          error: null
        })) : re(d, {
          rawInput: ce,
          decryptedMnemonic: ce,
          isEncrypted: false,
          passwordRequired: false,
          inputType: "text",
          error: null
        });
      } catch (ve) {
        oe = ve.message || "Failed to process QR code", re(d, {
          rawInput: ce,
          error: oe
        });
      }
      x(false);
    }, [
      d
    ]), fe = Ae.useCallback(() => {
      x(false);
    }, []), ye = Ae.useCallback((se) => {
      d !== null && re(d, {
        error: se
      });
    }, [
      d
    ]), Ce = async (se) => {
      const ce = s[se];
      if (!(!ce.isEncrypted || !ce.passwordInput)) try {
        let ee;
        ce.inputType === "krux" ? ee = (await cE({
          kefData: ce.rawInput,
          passphrase: ce.passwordInput
        })).mnemonic : ee = (await q8({
          frameText: ce.rawInput,
          messagePassword: ce.passwordInput,
          mode: "pgp"
        })).w, re(se, {
          rawInput: ee,
          decryptedMnemonic: ee,
          isEncrypted: false,
          passwordRequired: false,
          error: null
        });
      } catch (ee) {
        re(se, {
          error: ee.message || "Decryption failed"
        });
      }
    }, ke = async () => {
      if (m) {
        q(true);
        try {
          const se = Z === 12 ? 128 : 256, ce = await zI(m.blendedEntropy, v, se);
          L(ce.finalMnemonic);
        } catch {
          L(null);
        } finally {
          q(false);
        }
      }
    }, je = () => {
      P && (t(P), r("backup"));
    }, Re = async () => {
      if (P) try {
        await navigator.clipboard.writeText(P), Q(true), window.setTimeout(() => Q(false), 1200);
      } catch {
        const se = document.getElementById("final-mnemonic");
        if (se) {
          const ce = document.createRange();
          ce.selectNodeContents(se);
          const ee = window.getSelection();
          ee == null ? void 0 : ee.removeAllRanges(), ee == null ? void 0 : ee.addRange(ce);
        }
      }
    }, O = (se) => se === true ? "border-[#39ff14] focus:ring-[#39ff14]" : se === false ? "border-[#ff006e] focus:ring-[#ff006e]" : "border-[#00f0ff]/50 focus:ring-[#00f0ff]";
    return b.jsxs(b.Fragment, {
      children: [
        b.jsxs("div", {
          className: "space-y-4 md:space-y-6 pb-10 md:pb-20",
          children: [
            b.jsx("div", {
              className: "mb-3 md:mb-6",
              children: b.jsx("h2", {
                className: "text-base md:text-lg font-bold text-[#00f0ff] uppercase tracking-widest",
                style: {
                  textShadow: "0 0 10px rgba(0,240,255,0.7)"
                },
                children: "Seed Blender"
              })
            }),
            b.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30",
              children: [
                b.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 1: Input Mnemonics"
                }),
                b.jsxs("div", {
                  className: "space-y-3 md:space-y-4",
                  children: [
                    s.map((se, ce) => b.jsx("div", {
                      className: "p-2 md:p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/20",
                      children: se.passwordRequired ? b.jsxs("div", {
                        className: "space-y-2",
                        children: [
                          b.jsxs("div", {
                            className: "flex items-center justify-between",
                            children: [
                              b.jsxs("label", {
                                className: "text-sm font-semibold text-[#00f0ff]",
                                children: [
                                  "Decrypt ",
                                  se.inputType.toUpperCase(),
                                  " Mnemonic"
                                ]
                              }),
                              b.jsx("button", {
                                onClick: () => re(ce, Dl()),
                                className: "text-xs text-[#6ef3f7] hover:text-[#00f0ff]",
                                children: "\xD7 Cancel"
                              })
                            ]
                          }),
                          b.jsxs("p", {
                            className: "text-xs text-[#6ef3f7] truncate",
                            children: [
                              "Payload: ",
                              b.jsxs("code", {
                                className: "text-[#9d84b7]",
                                children: [
                                  se.rawInput.substring(0, 40),
                                  "..."
                                ]
                              })
                            ]
                          }),
                          b.jsxs("div", {
                            className: "flex gap-2",
                            children: [
                              b.jsx("input", {
                                type: "password",
                                placeholder: "Enter passphrase to decrypt...",
                                value: se.passwordInput,
                                onChange: (ee) => re(ce, {
                                  passwordInput: ee.target.value
                                }),
                                className: "w-full p-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-sm font-mono text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)]"
                              }),
                              b.jsx("button", {
                                onClick: () => Ce(ce),
                                className: "px-4 bg-[#ff006e] text-white rounded-lg font-semibold hover:bg-[#ff4d8f] hover:shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                                children: b.jsx(_A, {
                                  size: 16
                                })
                              })
                            ]
                          }),
                          se.error && b.jsx("p", {
                            className: "text-xs text-[#ff006e]",
                            children: se.error
                          })
                        ]
                      }) : b.jsxs("div", {
                        className: "space-y-2",
                        children: [
                          b.jsx("textarea", {
                            value: se.rawInput,
                            onChange: (ee) => re(ce, {
                              rawInput: ee.target.value,
                              decryptedMnemonic: ee.target.value,
                              isValid: null,
                              error: null
                            }),
                            onFocus: (ee) => ee.target.classList.remove("blur-sensitive"),
                            onBlur: (ee) => se.rawInput && ee.target.classList.add("blur-sensitive"),
                            placeholder: `Mnemonic #${ce + 1} (12 or 24 words)`,
                            className: `w-full h-20 md:h-24 p-2 md:p-3 bg-[#0a0a0f] border-2 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${O(se.isValid)} ${se.rawInput ? "blur-sensitive" : ""}`
                          }),
                          b.jsxs("div", {
                            className: "flex items-center justify-between",
                            children: [
                              b.jsxs("button", {
                                onClick: () => xe(ce),
                                className: "flex items-center gap-1.5 px-3 py-1.5 bg-[#16213e] border border-[#00f0ff] text-[#00f0ff] text-xs rounded-lg hover:bg-[#00f0ff20] transition-all",
                                title: "Scan QR code",
                                children: [
                                  b.jsx(Rx, {
                                    size: 14
                                  }),
                                  b.jsx("span", {
                                    children: "Scan QR"
                                  })
                                ]
                              }),
                              b.jsx("button", {
                                onClick: () => ae(se.id),
                                className: "p-1.5 bg-[#16213e] border border-[#ff006e] text-[#ff006e] rounded-lg hover:bg-[#ff006e20] transition-all",
                                title: "Remove mnemonic",
                                children: b.jsx(p0, {
                                  size: 14
                                })
                              })
                            ]
                          }),
                          se.error && b.jsx("p", {
                            className: "text-xs text-[#ff006e] px-1",
                            children: se.error
                          })
                        ]
                      })
                    }, se.id)),
                    b.jsxs("button", {
                      onClick: te,
                      className: "w-full py-2 bg-[#1a1a2e] hover:bg-[#16213e] text-[#00f0ff] rounded-lg font-semibold flex items-center justify-center gap-2 border-2 border-[#00f0ff]/50",
                      children: [
                        b.jsx(SA, {
                          size: 16
                        }),
                        " Add Another Mnemonic"
                      ]
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 min-h-[10rem]",
              children: [
                b.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 2: Blended Preview"
                }),
                D ? b.jsx("p", {
                  className: "text-sm text-[#6ef3f7]",
                  children: "Blending..."
                }) : !A && m ? b.jsxs("div", {
                  className: "space-y-3 md:space-y-4 animate-in fade-in",
                  children: [
                    (g == null ? void 0 : g.isWeak) && b.jsxs("div", {
                      className: "p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 text-[#ff006e] rounded-lg text-sm flex gap-3",
                      children: [
                        b.jsx(bx, {}),
                        b.jsxs("div", {
                          children: [
                            b.jsx("span", {
                              className: "font-bold",
                              children: "Weak XOR Result:"
                            }),
                            " Detected only ",
                            g.uniqueBytes,
                            " unique bytes. This can happen if seeds are identical or too similar."
                          ]
                        })
                      ]
                    }),
                    b.jsxs("div", {
                      className: "space-y-1",
                      children: [
                        b.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Blended Mnemonic (12-word)"
                        }),
                        b.jsx("p", {
                          "data-sensitive": "Blended Mnemonic (12-word)",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: m.blendedMnemonic12
                        })
                      ]
                    }),
                    m.blendedMnemonic24 && b.jsxs("div", {
                      className: "space-y-1",
                      children: [
                        b.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Blended Mnemonic (24-word)"
                        }),
                        b.jsx("p", {
                          "data-sensitive": "Blended Mnemonic (24-word)",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: m.blendedMnemonic24
                        })
                      ]
                    })
                  ]
                }) : b.jsx("p", {
                  className: "text-sm text-[#6ef3f7]",
                  children: A || "Previews will appear here once you enter one or more valid mnemonics."
                })
              ]
            }),
            b.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30",
              children: [
                b.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 3: Input Dice Rolls"
                }),
                b.jsxs("div", {
                  className: "space-y-3 md:space-y-4",
                  children: [
                    b.jsx("textarea", {
                      value: v,
                      onChange: (se) => _(se.target.value.replace(/[^1-6]/g, "")),
                      placeholder: "99+ dice rolls (e.g., 16345...)",
                      className: "w-full h-24 md:h-32 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all"
                    }),
                    z && b.jsxs("div", {
                      className: "p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 text-[#ff006e] rounded-lg text-sm flex gap-3",
                      children: [
                        b.jsx(bx, {}),
                        b.jsxs("p", {
                          children: [
                            b.jsx("span", {
                              className: "font-bold",
                              children: "Warning:"
                            }),
                            " ",
                            z
                          ]
                        })
                      ]
                    }),
                    T && T.length > 0 && b.jsxs("div", {
                      className: "grid grid-cols-2 md:grid-cols-4 gap-2 md:gap-4 text-center",
                      children: [
                        b.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            b.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Rolls"
                            }),
                            b.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.length
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            b.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Entropy (bits)"
                            }),
                            b.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.estimatedEntropyBits.toFixed(1)
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            b.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Mean"
                            }),
                            b.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.mean.toFixed(2)
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            b.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Chi-Square"
                            }),
                            b.jsx("p", {
                              className: `text-base md:text-lg font-bold ${T.chiSquare > 11.07 ? "text-[#ff006e]" : "text-[#00f0ff]"}`,
                              children: T.chiSquare.toFixed(2)
                            })
                          ]
                        })
                      ]
                    }),
                    j && b.jsxs("div", {
                      className: "space-y-1 pt-2",
                      children: [
                        b.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Dice-Only Preview Mnemonic"
                        }),
                        b.jsx("p", {
                          "data-sensitive": "Dice-Only Preview Mnemonic",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: j
                        })
                      ]
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/50 shadow-[0_0_20px_rgba(0,240,255,0.3)]",
              children: [
                b.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 4: Generate Final Mnemonic"
                }),
                P ? b.jsxs("div", {
                  className: "p-4 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-2xl shadow-[0_0_20px_rgba(57,255,20,0.3)] animate-in fade-in",
                  children: [
                    b.jsxs("div", {
                      className: "flex items-center justify-between mb-4",
                      children: [
                        b.jsxs("span", {
                          className: "font-bold text-[#39ff14] flex items-center gap-2 text-lg",
                          style: {
                            textShadow: "0 0 10px rgba(57,255,20,0.8)"
                          },
                          children: [
                            b.jsx(hr, {
                              size: 22
                            }),
                            " Final Mnemonic Generated"
                          ]
                        }),
                        b.jsxs("button", {
                          onClick: () => L(null),
                          className: "p-2.5 hover:bg-[#16213e] rounded-xl transition-all text-[#39ff14] hover:shadow-[0_0_15px_rgba(57,255,20,0.5)] flex items-center gap-2",
                          children: [
                            b.jsx(o8, {
                              size: 22
                            }),
                            " Hide"
                          ]
                        })
                      ]
                    }),
                    b.jsxs("div", {
                      className: "p-6 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_20px_rgba(57,255,20,0.3)]",
                      children: [
                        b.jsx("div", {
                          className: "flex items-center justify-end mb-3",
                          children: b.jsx("button", {
                            type: "button",
                            onClick: Re,
                            className: "px-3 py-1.5 bg-[#16213e] border-2 border-[#39ff14]/50 text-[#39ff14] rounded-lg text-xs font-semibold hover:shadow-[0_0_15px_rgba(57,255,20,0.35)] transition-all",
                            title: "Copy final mnemonic",
                            children: J ? "Copied" : "Copy"
                          })
                        }),
                        b.jsx("p", {
                          id: "final-mnemonic",
                          "data-sensitive": "Final Blended Mnemonic",
                          className: "font-mono text-center text-sm md:text-base break-words text-[#39ff14] leading-relaxed select-text cursor-text",
                          onClick: (se) => {
                            const ce = document.createRange();
                            ce.selectNodeContents(se.currentTarget);
                            const ee = window.getSelection();
                            ee == null ? void 0 : ee.removeAllRanges(), ee == null ? void 0 : ee.addRange(ce);
                          },
                          children: P
                        }),
                        b.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                          children: "Click the words to select all, or use Copy."
                        })
                      ]
                    }),
                    b.jsxs("div", {
                      className: "mt-4 p-3 bg-[#ff006e]/10 text-[#ff006e] rounded-lg text-xs flex gap-2 border-2 border-[#ff006e]/30",
                      children: [
                        b.jsx(bx, {
                          size: 16,
                          className: "shrink-0 mt-0.5"
                        }),
                        b.jsxs("span", {
                          children: [
                            b.jsx("strong", {
                              children: "Security Warning:"
                            }),
                            " Write this down immediately. Do not save it digitally."
                          ]
                        })
                      ]
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-1 sm:grid-cols-2 gap-3 mt-4",
                      children: [
                        b.jsxs("button", {
                          onClick: () => Y(true),
                          className: "w-full py-2.5 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide flex items-center justify-center gap-2 hover:bg-[#00f0ff]/20 active:scale-95 transition-all",
                          style: {
                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                          },
                          children: [
                            b.jsx(Rx, {
                              size: 16
                            }),
                            " Export as QR"
                          ]
                        }),
                        "                                ",
                        b.jsxs("button", {
                          onClick: je,
                          className: "w-full py-2.5 bg-[#1a1a2e] border-2 border-[#ff006e] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide flex items-center justify-center gap-2 hover:shadow-[0_0_25px_rgba(255,0,110,0.7)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                          style: {
                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                          },
                          disabled: !P,
                          children: [
                            b.jsx(bA, {
                              size: 20
                            }),
                            "Send to Backup"
                          ]
                        })
                      ]
                    })
                  ]
                }) : b.jsxs(b.Fragment, {
                  children: [
                    b.jsx("p", {
                      className: "text-xs md:text-sm text-[#6ef3f7] mb-2 md:mb-4",
                      children: "Once you have entered valid mnemonics and at least 50 dice rolls, you can generate the final mnemonic."
                    }),
                    b.jsxs("div", {
                      className: "space-y-3 pt-4 mb-4 border-t border-[#00f0ff]/30",
                      children: [
                        b.jsx("label", {
                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                          style: {
                            textShadow: "0 0 10px rgba(0, 240, 255, 0.7)"
                          },
                          children: "Target Seed Length"
                        }),
                        b.jsxs("div", {
                          className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                          children: [
                            b.jsx("button", {
                              onClick: () => M(12),
                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Z === 12 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                              style: Z === 12 ? {
                                textShadow: "0 0 10px rgba(0, 240, 255, 0.8)"
                              } : void 0,
                              children: "12 Words"
                            }),
                            b.jsx("button", {
                              onClick: () => M(24),
                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Z === 24 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                              style: Z === 24 ? {
                                textShadow: "0 0 10px rgba(0, 240, 255, 0.8)"
                              } : void 0,
                              children: "24 Words"
                            })
                          ]
                        })
                      ]
                    }),
                    b.jsxs("button", {
                      onClick: ke,
                      disabled: !m || !v || v.length < 50 || F,
                      className: "w-full py-3 bg-gradient-to-r from-[#00f0ff] to-[#0066ff] text-[#16213e] rounded-xl font-bold flex items-center justify-center gap-2 disabled:opacity-50 hover:shadow-[0_0_20px_rgba(0,240,255,0.5)]",
                      children: [
                        F ? b.jsx(ma, {
                          className: "animate-spin",
                          size: 20
                        }) : b.jsx(PA, {
                          size: 20
                        }),
                        F ? "Generating..." : "Mix Mnemonic + Dice"
                      ]
                    })
                  ]
                })
              ]
            })
          ]
        }),
        u && b.jsx(_4, {
          onScanSuccess: me,
          onClose: fe,
          onError: ye
        }),
        $ && P && b.jsx("div", {
          className: "fixed inset-0 bg-black/60 z-50 flex items-center justify-center",
          onClick: () => Y(false),
          children: b.jsx("div", {
            className: "bg-[#16213e] rounded-2xl p-4 border-2 border-[#00f0ff]/50",
            onClick: (se) => se.stopPropagation(),
            children: b.jsx(k4, {
              value: P
            })
          })
        })
      ]
    });
  }
  const dP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = Ae.useState("permission"), [s, l] = Ae.useState(null), [u, x] = Ae.useState(0), [d, f] = Ae.useState(0), [m, p] = Ae.useState(false), [g, E] = Ae.useState(null), [A, w] = Ae.useState(""), [D, B] = Ae.useState(""), v = Ae.useRef(null), _ = Ae.useRef(null), T = Ae.useRef(), I = async () => {
      try {
        console.log("\u{1F3A5} Requesting camera access...");
        const F = await navigator.mediaDevices.getUserMedia({
          video: true,
          audio: false
        });
        console.log("\u2705 Camera stream obtained:", {
          tracks: F.getVideoTracks().map((q) => ({
            label: q.label,
            enabled: q.enabled,
            readyState: q.readyState,
            settings: q.getSettings()
          }))
        }), l(F), i("capture");
      } catch (F) {
        console.error("\u274C Camera access error:", F.name, F.message, F), B(`Camera unavailable: ${F.message}`), setTimeout(() => r(), 2e3);
      }
    };
    Ae.useEffect(() => {
      if (!s || !v.current) return;
      const F = v.current;
      console.log("\u{1F4F9} Setting up video element with stream..."), F.srcObject = s, F.setAttribute("playsinline", ""), F.setAttribute("autoplay", ""), F.muted = true;
      const q = () => {
        console.log("\u2705 Video metadata loaded:", {
          videoWidth: F.videoWidth,
          videoHeight: F.videoHeight,
          readyState: F.readyState
        }), F.play().then(() => {
          console.log("\u2705 Video playing:", {
            paused: F.paused,
            currentTime: F.currentTime
          }), setTimeout(() => {
            const Y = document.createElement("canvas");
            Y.width = F.videoWidth, Y.height = F.videoHeight;
            const J = Y.getContext("2d");
            if (J && F.videoWidth > 0 && F.videoHeight > 0) {
              J.drawImage(F, 0, 0);
              const Q = J.getImageData(0, 0, Math.min(10, F.videoWidth), Math.min(10, F.videoHeight)), Z = Array.from(Q.data.slice(0, 40));
              console.log("\u{1F3A8} First 40 pixel values:", Z);
              const M = Z.every((re) => re === 0), H = Z.every((re) => re === Z[0]);
              M ? console.error("\u274C All pixels are zero - video not rendering!") : H ? console.warn("\u26A0\uFE0F All pixels same value - possible issue") : console.log("\u2705 Video has actual frame data");
            }
            z();
          }, 300);
        }).catch((Y) => {
          console.error("\u274C video.play() failed:", Y), B("Failed to start video preview: " + Y.message);
        });
      }, $ = (Y) => {
        console.error("\u274C Video element error:", Y), B("Video playback error");
      };
      return F.addEventListener("loadedmetadata", q), F.addEventListener("error", $), () => {
        F.removeEventListener("loadedmetadata", q), F.removeEventListener("error", $);
      };
    }, [
      s
    ]);
    const z = () => {
      console.log("\u{1F50D} Starting entropy analysis...");
      const F = () => {
        const q = v.current, $ = _.current;
        if (!q || !$) return;
        if (q.videoWidth === 0 || q.videoHeight === 0) {
          console.warn("\u26A0\uFE0F Video dimensions are 0, waiting...", {
            videoWidth: q.videoWidth,
            videoHeight: q.videoHeight,
            readyState: q.readyState
          }), T.current = requestAnimationFrame(F);
          return;
        }
        const Y = $.getContext("2d", {
          willReadFrequently: true
        });
        if (!Y) {
          console.error("\u274C Failed to get canvas context");
          return;
        }
        ($.width !== q.videoWidth || $.height !== q.videoHeight) && ($.width = q.videoWidth, $.height = q.videoHeight, console.log("\u{1F4D0} Canvas resized to:", $.width, "x", $.height));
        try {
          Y.drawImage(q, 0, 0);
          const J = Y.getImageData(0, 0, $.width, $.height);
          if (J.data.length === 0) {
            console.error("\u274C ImageData is empty"), T.current = requestAnimationFrame(F);
            return;
          }
          const { entropy: Q, variance: Z } = C(J);
          x(Q), f(Z), p(Q >= 7.5 && Z >= 1e3);
        } catch (J) {
          console.error("\u274C Error in entropy analysis:", J);
        }
        T.current = requestAnimationFrame(F);
      };
      F();
    }, C = (F) => {
      const q = F.data, $ = new Array(256).fill(0);
      let Y = 0, J = 0;
      for (let H = 0; H < q.length; H += 16) {
        const re = Math.floor((q[H] + q[H + 1] + q[H + 2]) / 3);
        $[re]++, Y += re, J++;
      }
      const Q = Y / J;
      let Z = 0;
      for (const H of $) if (H > 0) {
        const re = H / J;
        Z -= re * Math.log2(re);
      }
      let M = 0;
      for (let H = 0; H < q.length; H += 16) {
        const re = Math.floor((q[H] + q[H + 1] + q[H + 2]) / 3);
        M += Math.pow(re - Q, 2);
      }
      return M = M / J, {
        entropy: Z,
        variance: M
      };
    }, j = async () => {
      if (!v.current || !_.current) return;
      T.current && (cancelAnimationFrame(T.current), console.log("\u{1F6D1} Stopped entropy analysis loop")), i("processing");
      const F = _.current, q = F.getContext("2d", {
        willReadFrequently: true
      });
      if (!q) return;
      F.width = v.current.videoWidth, F.height = v.current.videoHeight, q.drawImage(v.current, 0, 0, F.width, F.height);
      const $ = q.getImageData(0, 0, F.width, F.height), Y = performance.now(), J = await U($, Y), Q = await P(J, e, F);
      E(J), i("stats"), s && (s.getTracks().forEach((Z) => Z.stop()), console.log("\u{1F4F7} Camera stopped")), w(Q);
    }, U = async (F, q) => {
      const $ = F.data, Y = $.length / 4, J = [], Q = [], Z = [], M = new Array(10).fill(0), H = /* @__PURE__ */ new Set();
      let re = 255, te = 0;
      const ae = [];
      for (let ke = 0; ke < $.length; ke += 4) {
        J.push($[ke]), Q.push($[ke + 1]), Z.push($[ke + 2]);
        const je = Math.floor(($[ke] + $[ke + 1] + $[ke + 2]) / 3);
        ae.push(je);
        const Re = Math.floor(je / 25.6);
        M[Math.min(Re, 9)]++, re = Math.min(re, je), te = Math.max(te, je);
        const O = $[ke] << 16 | $[ke + 1] << 8 | $[ke + 2];
        H.add(O);
      }
      const xe = new Array(256).fill(0);
      for (const ke of ae) xe[ke]++;
      let me = 0;
      for (const ke of xe) if (ke > 0) {
        const je = ke / Y;
        me -= je * Math.log2(je);
      }
      const fe = (ke) => {
        const je = ke.reduce((O, se) => O + se, 0) / ke.length, Re = ke.reduce((O, se) => O + Math.pow(se - je, 2), 0) / ke.length;
        return {
          mean: je,
          stddev: Math.sqrt(Re)
        };
      }, ye = {
        r: fe(J),
        g: fe(Q),
        b: fe(Z)
      }, Ce = fe(ae).stddev ** 2;
      return {
        shannon: me,
        variance: Ce,
        uniqueColors: H.size,
        brightnessRange: [
          re,
          te
        ],
        rgbStats: ye,
        histogram: M,
        captureTimeMicros: Math.floor(q % 1 * 1e6),
        interactionSamples: n.getSampleCount().total,
        totalBits: 256,
        dataSize: $.length
      };
    }, P = async (F, q, $) => {
      const Y = $.toDataURL(), J = await n.getEntropyBytes(), Q = crypto.getRandomValues(new Uint8Array(32)), Z = [
        Y,
        F.captureTimeMicros.toString(),
        Array.from(J).join(","),
        Array.from(Q).join(","),
        performance.now().toString()
      ].join("|"), H = new TextEncoder().encode(Z), re = await crypto.subtle.digest("SHA-256", H), te = q === 12 ? 16 : 32, ae = new Uint8Array(re).slice(0, te);
      return Yn(ae);
    };
    Ae.useEffect(() => () => {
      T.current && cancelAnimationFrame(T.current), s && s.getTracks().forEach((F) => F.stop());
    }, [
      s
    ]);
    const L = () => u >= 7 && d >= 800 ? {
      icon: hr,
      text: "\u2705 Excellent entropy - ready!",
      color: "#39ff14"
    } : u >= 6 && d >= 500 ? {
      icon: ti,
      text: "\u{1F7E1} Good - point to brighter area",
      color: "#ffd700"
    } : u >= 5 ? {
      icon: ti,
      text: "\u{1F7E0} Low - find textured surface",
      color: "#ff9500"
    } : {
      icon: ti,
      text: "\u{1F534} Too low - point at lamp/pattern",
      color: "#ff006e"
    };
    return b.jsxs("div", {
      className: "space-y-4",
      children: [
        a === "permission" && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-4",
          children: [
            b.jsxs("div", {
              className: "text-center space-y-2",
              children: [
                b.jsx(Ux, {
                  size: 48,
                  className: "mx-auto text-[#00f0ff]"
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold text-[#00f0ff] uppercase",
                  children: "Camera Permission Needed"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-2 text-xs text-[#6ef3f7]",
              children: [
                b.jsx("p", {
                  children: "To generate entropy, we need:"
                }),
                b.jsxs("ul", {
                  className: "list-disc list-inside space-y-1 pl-2",
                  children: [
                    b.jsx("li", {
                      children: "Camera access to capture pixel noise"
                    }),
                    b.jsx("li", {
                      children: "Image data processed locally"
                    }),
                    b.jsx("li", {
                      children: "Never stored or transmitted"
                    }),
                    b.jsx("li", {
                      children: "Camera auto-closes after use"
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "flex gap-3",
              children: [
                b.jsx("button", {
                  onClick: I,
                  className: "flex-1 py-2.5 bg-[#00f0ff] text-[#0a0a0f] rounded-lg font-bold text-sm hover:bg-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all",
                  children: "Allow Camera"
                }),
                b.jsx("button", {
                  onClick: r,
                  className: "flex-1 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                  children: "Cancel"
                })
              ]
            })
          ]
        }),
        a === "capture" && b.jsxs("div", {
          className: "space-y-4",
          children: [
            b.jsxs("div", {
              className: "relative rounded-xl overflow-hidden border-2 border-[#00f0ff]/30 bg-black",
              children: [
                b.jsx("video", {
                  ref: v,
                  playsInline: true,
                  autoPlay: true,
                  muted: true,
                  className: "w-full",
                  style: {
                    maxHeight: "300px",
                    objectFit: "cover",
                    border: "2px solid #00f0ff",
                    backgroundColor: "#000"
                  }
                }),
                b.jsx("canvas", {
                  ref: _,
                  className: "hidden",
                  style: {
                    display: "none"
                  }
                })
              ]
            }),
            b.jsxs("div", {
              className: "p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                b.jsxs("div", {
                  className: "text-xs text-[#6ef3f7] space-y-1",
                  children: [
                    b.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    b.jsx("p", {
                      children: "Point camera at bright, textured surface (lamp, carpet, wall with pattern)"
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    b.jsxs("div", {
                      className: "flex items-center justify-between text-xs",
                      children: [
                        b.jsx("span", {
                          className: "text-[#00f0ff]",
                          children: "Entropy Quality:"
                        }),
                        b.jsxs("span", {
                          className: "font-mono text-[#00f0ff]",
                          children: [
                            u.toFixed(2),
                            "/8.0"
                          ]
                        })
                      ]
                    }),
                    b.jsx("div", {
                      className: "w-full bg-[#0a0a0f] rounded-full h-2 overflow-hidden",
                      children: b.jsx("div", {
                        className: "h-full transition-all",
                        style: {
                          width: `${u / 8 * 100}%`,
                          backgroundColor: L().color
                        }
                      })
                    }),
                    b.jsx("div", {
                      className: "text-xs font-medium",
                      style: {
                        color: L().color
                      },
                      children: L().text
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    b.jsxs("button", {
                      onClick: j,
                      disabled: !m,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: [
                        b.jsx(Ux, {
                          className: "inline mr-2",
                          size: 16
                        }),
                        "Capture"
                      ]
                    }),
                    b.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                      children: b.jsx(p0, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            })
          ]
        }),
        a === "processing" && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            b.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            b.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        a === "stats" && g && b.jsxs("div", {
          className: "p-4 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                b.jsx(hr, {
                  size: 24
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Entropy Analysis"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    b.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Camera Sensor Noise"
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "RANDOMNESS METRICS:"
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-2 gap-x-4 gap-y-1 font-mono text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "Shannon Entropy:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            g.shannon.toFixed(2),
                            "/8.00"
                          ]
                        }),
                        b.jsx("div", {
                          children: "Pixel Variance:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: g.variance.toFixed(1)
                        }),
                        b.jsx("div", {
                          children: "Unique Colors:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: g.uniqueColors.toLocaleString()
                        }),
                        b.jsx("div", {
                          children: "Brightness Range:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            g.brightnessRange[0],
                            "-",
                            g.brightnessRange[1]
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "RGB DISTRIBUTION:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 font-mono text-[10px]",
                      children: [
                        b.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            b.jsx("span", {
                              children: "Red:"
                            }),
                            b.jsxs("span", {
                              className: "text-[#ff6b6b]",
                              children: [
                                "\u03BC=",
                                g.rgbStats.r.mean.toFixed(0),
                                " \u03C3=",
                                g.rgbStats.r.stddev.toFixed(1)
                              ]
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            b.jsx("span", {
                              children: "Green:"
                            }),
                            b.jsxs("span", {
                              className: "text-[#51cf66]",
                              children: [
                                "\u03BC=",
                                g.rgbStats.g.mean.toFixed(0),
                                " \u03C3=",
                                g.rgbStats.g.stddev.toFixed(1)
                              ]
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            b.jsx("span", {
                              children: "Blue:"
                            }),
                            b.jsxs("span", {
                              className: "text-[#339af0]",
                              children: [
                                "\u03BC=",
                                g.rgbStats.b.mean.toFixed(0),
                                " \u03C3=",
                                g.rgbStats.b.stddev.toFixed(1)
                              ]
                            })
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "BRIGHTNESS HISTOGRAM:"
                    }),
                    b.jsx("div", {
                      className: "flex items-end justify-between h-12 gap-0.5",
                      children: g.histogram.map((F, q) => {
                        const $ = Math.max(...g.histogram), Y = F / $ * 100;
                        return b.jsx("div", {
                          className: "flex-1 bg-[#00f0ff] rounded-t",
                          style: {
                            height: `${Y}%`
                          }
                        }, q);
                      })
                    }),
                    b.jsxs("div", {
                      className: "flex justify-between text-[9px] text-[#6ef3f7] mt-1",
                      children: [
                        b.jsx("span", {
                          children: "Dark"
                        }),
                        b.jsx("span", {
                          children: "Bright"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "TIMING ENTROPY:"
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-2 gap-x-4 gap-y-1 font-mono text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "Capture timing:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            "...",
                            g.captureTimeMicros,
                            "\u03BCs"
                          ]
                        }),
                        b.jsx("div", {
                          children: "Interaction samples:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: g.interactionSamples
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7] text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        b.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        b.jsx("div", {
                          children: "- Mouse/keyboard timing \u2713"
                        })
                      ]
                    })
                  ]
                }),
                b.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: b.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      b.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      b.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          g.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        b.jsxs("div", {
                          children: [
                            "1. Camera captures ",
                            g.uniqueColors.toLocaleString(),
                            " unique pixel colors"
                          ]
                        }),
                        b.jsxs("div", {
                          children: [
                            "2. Pixel data hashed with SHA-256 (",
                            (g.dataSize / 1024).toFixed(1),
                            "KB raw data)"
                          ]
                        }),
                        b.jsxs("div", {
                          children: [
                            "3. Mixed with timing entropy (",
                            g.captureTimeMicros,
                            "\u03BCs precision)"
                          ]
                        }),
                        b.jsxs("div", {
                          children: [
                            "4. Combined with ",
                            g.interactionSamples,
                            " user interaction samples"
                          ]
                        }),
                        b.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        b.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    b.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff1450]",
                      children: [
                        b.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sm hover:blur-none transition-all cursor-pointer",
                          title: "Hover to reveal",
                          children: A
                        }),
                        b.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u26A0\uFE0F Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "pt-4 border-t border-[#00f0ff30] space-y-3",
                  children: [
                    b.jsx("button", {
                      onClick: () => {
                        t(A, g);
                      },
                      className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                      children: "Continue with this Seed"
                    }),
                    b.jsx("button", {
                      onClick: () => {
                        i("permission"), E(null), w(""), x(0), f(0);
                      },
                      className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff20] transition-all",
                      children: "Retake Photo"
                    })
                  ]
                })
              ]
            })
          ]
        }),
        D && b.jsx("div", {
          className: "p-4 bg-[#1a1a2e] border-2 border-[#ff006e] rounded-lg",
          children: b.jsx("p", {
            className: "text-xs text-[#ff006e]",
            children: D
          })
        })
      ]
    });
  }, fP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = Ae.useState(""), [s, l] = Ae.useState(""), [u, x] = Ae.useState(false), [d, f] = Ae.useState(null), [m, p] = Ae.useState(""), g = (w) => {
      const D = w.replace(/\s/g, "");
      if (D.length < 99) return {
        valid: false,
        error: `Need at least 99 dice rolls (currently ${D.length})`
      };
      if (/(\d)\1{6,}/.test(D)) return {
        valid: false,
        error: "Too many repeated digits - roll again"
      };
      if (/(\d)(\d)\1\2\1\2\1\2/.test(D)) return {
        valid: false,
        error: "Repeating pattern detected - roll again"
      };
      if (/(?:123456|654321)/.test(D)) return {
        valid: false,
        error: "Sequential pattern detected - roll again"
      };
      const B = Array(6).fill(0);
      for (const I of D) {
        const z = parseInt(I, 10);
        z >= 1 && z <= 6 && B[z - 1]++;
      }
      const v = D.length / 6, _ = v * 0.4;
      for (let I = 0; I < 6; I++) if (Math.abs(B[I] - v) > _) return {
        valid: false,
        error: `Poor distribution: digit ${I + 1} appears ${B[I]} times (expected ~${Math.round(v)})`
      };
      const T = B.reduce((I, z) => {
        const C = z - v;
        return I + C * C / v;
      }, 0);
      return T > 15.5 ? {
        valid: false,
        error: `Statistical test failed (\u03C7\xB2=${T.toFixed(2)}) - rolls too predictable`
      } : {
        valid: true,
        error: ""
      };
    }, E = async () => {
      const w = g(a);
      if (!w.valid) {
        l(w.error);
        return;
      }
      l(""), x(true);
      const D = a.replace(/\s/g, ""), B = Array(6).fill(0);
      for (const z of D) {
        const C = parseInt(z);
        C >= 1 && C <= 6 && B[C - 1]++;
      }
      const v = D.length / 6, _ = B.reduce((z, C) => {
        const j = C - v;
        return z + j * j / v;
      }, 0), T = {
        rolls: D,
        length: D.length,
        distribution: B,
        chiSquare: _,
        passed: true,
        interactionSamples: n.getSampleCount().total
      }, I = await A(D);
      f(T), p(I), x(false);
    }, A = async (w) => {
      const D = await n.getEntropyBytes(), B = crypto.getRandomValues(new Uint8Array(32)), _ = [
        w,
        performance.now().toString(),
        Array.from(D).join(","),
        Array.from(B).join(",")
      ].join("|"), T = new TextEncoder().encode(_), I = await crypto.subtle.digest("SHA-256", T), { entropyToMnemonic: z } = await ud(async () => {
        const { entropyToMnemonic: P } = await Promise.resolve().then(() => HF);
        return {
          entropyToMnemonic: P
        };
      }, void 0, import.meta.url), C = e === 12 ? 16 : 32, j = new Uint8Array(I).slice(0, C), U = Buffer.from(j).toString("hex");
      return z(U);
    };
    return b.jsxs("div", {
      className: "space-y-4 max-h-[calc(100vh-200px)] overflow-y-auto",
      children: [
        !d && !u && b.jsxs(b.Fragment, {
          children: [
            b.jsxs("div", {
              className: "p-3 md:p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                b.jsxs("div", {
                  className: "flex items-center gap-2",
                  children: [
                    b.jsx(yx, {
                      size: 20,
                      className: "text-[#00f0ff]"
                    }),
                    b.jsx("h3", {
                      className: "text-sm font-bold text-[#00f0ff] uppercase",
                      children: "Dice Roll Entropy"
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "space-y-2 text-xs text-[#6ef3f7]",
                  children: [
                    b.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    b.jsxs("ul", {
                      className: "list-disc list-inside space-y-1 pl-2",
                      children: [
                        b.jsx("li", {
                          children: "Roll a 6-sided die at least 99 times"
                        }),
                        b.jsx("li", {
                          children: "Enter each result (1-6) in order"
                        }),
                        b.jsx("li", {
                          children: "Spaces are ignored (e.g., 163452...)"
                        }),
                        b.jsx("li", {
                          children: "Pattern validation enabled"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    b.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "Enter Dice Rolls"
                    }),
                    b.jsx("textarea", {
                      value: a,
                      onChange: (w) => {
                        i(w.target.value.replace(/[^1-6\s]/g, "")), l("");
                      },
                      placeholder: "99+ dice rolls (e.g., 16345...)",
                      className: "w-full h-28 md:h-32 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all resize-none"
                    }),
                    b.jsxs("p", {
                      className: "text-[10px] text-[#6ef3f7]",
                      children: [
                        "Current: ",
                        a.replace(/\s/g, "").length,
                        " rolls ",
                        a.replace(/\s/g, "").length >= 99 && " \u2713"
                      ]
                    })
                  ]
                }),
                s && b.jsxs("div", {
                  className: "flex items-start gap-2 p-3 bg-[#0a0a0f] border border-[#ff006e] rounded-lg",
                  children: [
                    b.jsx(ti, {
                      size: 16,
                      className: "text-[#ff006e] shrink-0 mt-0.5"
                    }),
                    b.jsx("p", {
                      className: "text-xs text-[#ff006e]",
                      children: s
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    b.jsx("button", {
                      onClick: E,
                      disabled: u || a.replace(/\s/g, "").length < 99,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: u ? "Processing..." : "Generate Seed"
                    }),
                    b.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                      children: b.jsx(p0, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "flex items-start gap-2 p-3 bg-[#16213e] border border-[#00f0ff]/30 rounded-lg",
              children: [
                b.jsx(ti, {
                  size: 14,
                  className: "text-[#00f0ff] shrink-0 mt-0.5"
                }),
                b.jsxs("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: [
                    b.jsx("strong", {
                      className: "text-[#00f0ff]",
                      children: "Privacy:"
                    }),
                    " All processing happens locally. Dice rolls are mixed with browser entropy and never stored or transmitted."
                  ]
                })
              ]
            })
          ]
        }),
        u && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            b.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            b.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        d && !u && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4 mb-6",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                b.jsx(hr, {
                  size: 24
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Dice Entropy Analysis"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    b.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Physical Dice Rolls"
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "ROLL STATISTICS:"
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "Total rolls:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: d.length
                        }),
                        b.jsx("div", {
                          children: "Chi-square test:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            d.chiSquare.toFixed(2),
                            " (pass < 15)"
                          ]
                        }),
                        b.jsx("div", {
                          children: "Validation:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: d.passed ? "\u2705 Passed" : "\u274C Failed"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "DISTRIBUTION:"
                    }),
                    b.jsx("div", {
                      className: "space-y-2",
                      children: d.distribution.map((w, D) => {
                        const B = w / d.length * 100, _ = Math.abs(B - 16.67), T = _ < 5 ? "#39ff14" : _ < 8 ? "#ffd700" : "#ff9500";
                        return b.jsxs("div", {
                          children: [
                            b.jsxs("div", {
                              className: "flex justify-between text-[10px] mb-1",
                              children: [
                                b.jsxs("span", {
                                  children: [
                                    "Die face ",
                                    D + 1,
                                    ":"
                                  ]
                                }),
                                b.jsxs("span", {
                                  style: {
                                    color: T
                                  },
                                  children: [
                                    w,
                                    " (",
                                    B.toFixed(1),
                                    "%)"
                                  ]
                                })
                              ]
                            }),
                            b.jsx("div", {
                              className: "w-full bg-[#0a0a0f] rounded-full h-1.5 overflow-hidden",
                              children: b.jsx("div", {
                                className: "h-full transition-all",
                                style: {
                                  width: `${B}%`,
                                  backgroundColor: T
                                }
                              })
                            })
                          ]
                        }, D);
                      })
                    }),
                    b.jsx("p", {
                      className: "text-[9px] text-[#6ef3f7] mt-2",
                      children: "Expected: ~16.67% per face"
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    b.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff14]/50",
                      children: [
                        b.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: m
                        }),
                        b.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        b.jsxs("div", {
                          children: [
                            "1. Physical dice rolls (",
                            d.length,
                            " values)"
                          ]
                        }),
                        b.jsxs("div", {
                          children: [
                            "2. Statistical validation (\u03C7\xB2=",
                            d.chiSquare.toFixed(2),
                            ")"
                          ]
                        }),
                        b.jsx("div", {
                          children: "3. Combined with timing entropy"
                        }),
                        b.jsxs("div", {
                          children: [
                            "4. Mixed with ",
                            d.interactionSamples,
                            " interaction samples"
                          ]
                        }),
                        b.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        b.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7]",
                      children: [
                        b.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        b.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        b.jsxs("div", {
                          children: [
                            "- Interaction timing (",
                            d.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: b.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      b.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      b.jsx("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: "256 bits"
                      })
                    ]
                  })
                })
              ]
            }),
            b.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff]/30 space-y-3",
              children: [
                b.jsx("button", {
                  onClick: () => {
                    t(m, d);
                  },
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                b.jsx("button", {
                  onClick: () => {
                    f(null), p(""), i(""), l("");
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                  children: "Roll Again"
                })
              ]
            })
          ]
        })
      ]
    });
  };
  function hP(e, t) {
    return {
      jsonrpc: "2.0",
      method: "generateIntegers",
      params: {
        apiKey: e,
        n: t,
        min: 1,
        max: 6,
        replacement: true,
        base: 10
      },
      id: 1
    };
  }
  function pP(e) {
    var _a2, _b, _c2;
    const t = e.trim();
    if (!t) throw new Error("Paste the random.org response JSON (or an array) first.");
    if (t.startsWith("[") && t.endsWith("]")) {
      const a = JSON.parse(t);
      if (!Array.isArray(a)) throw new Error("Expected an array.");
      return a;
    }
    const n = (_c2 = (_b = (_a2 = JSON.parse(t)) == null ? void 0 : _a2.result) == null ? void 0 : _b.random) == null ? void 0 : _c2.data;
    if (!Array.isArray(n)) throw new Error("Could not find result.random.data in pasted JSON.");
    return n;
  }
  async function mP(e, t, r) {
    const n = await r.getEntropyBytes(), a = crypto.getRandomValues(new Uint8Array(32)), i = [
      e.join(""),
      performance.now().toString(),
      Array.from(n).join(","),
      Array.from(a).join(",")
    ].join("|"), s = new TextEncoder().encode(i), l = await crypto.subtle.digest("SHA-256", s), u = t === 12 ? 16 : 32, x = new Uint8Array(l.slice(0, u));
    return Yn(x);
  }
  const gP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = Ae.useState(""), [s, l] = Ae.useState(false), [u, x] = Ae.useState(30), [d, f] = Ae.useState(""), [m, p] = Ae.useState(""), [g, E] = Ae.useState(false), [A, w] = Ae.useState(false), [D, B] = Ae.useState(null), [v, _] = Ae.useState(""), T = Ae.useMemo(() => {
      const C = a.trim() || "PASTE_YOUR_API_KEY_HERE";
      return JSON.stringify(hP(C, u), null, 2);
    }, [
      a,
      u
    ]), I = async () => {
      p("");
      try {
        await navigator.clipboard.writeText(T), E(true), window.setTimeout(() => E(false), 1200);
      } catch {
        p("Clipboard write failed. Tap the JSON box to select all, then copy manually.");
      }
    }, z = async () => {
      p(""), w(true);
      try {
        const C = pP(d);
        if (C.length < u) throw new Error(`Need at least ${u} D6 samples, got ${C.length}.`);
        const j = C.slice(0, u), U = [
          0,
          0,
          0,
          0,
          0,
          0
        ];
        for (let L = 0; L < j.length; L++) {
          const F = j[L];
          if (!Number.isInteger(F) || F < 1 || F > 6) throw new Error(`Invalid D6 at index ${L}: ${String(F)}`);
          U[F - 1]++;
        }
        const P = await mP(j, e, n);
        _(P), B({
          source: "randomorg",
          nRequested: u,
          nUsed: j.length,
          distribution: U,
          interactionSamples: n.getSampleCount().total,
          totalBits: 256
        });
      } catch (C) {
        B(null), _(""), p(C instanceof Error ? C.message : "Failed.");
      } finally {
        w(false);
      }
    };
    return b.jsxs("div", {
      className: "space-y-4 max-h-[calc(100vh-200px)] overflow-y-auto",
      children: [
        !D && !A && b.jsxs(b.Fragment, {
          children: [
            b.jsxs("div", {
              className: "p-3 md:p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                b.jsxs("div", {
                  className: "flex items-center gap-2",
                  children: [
                    b.jsx(DA, {
                      size: 20,
                      className: "text-[#00f0ff]"
                    }),
                    b.jsx("h3", {
                      className: "text-sm font-bold text-[#00f0ff] uppercase",
                      children: "\u{1F30D} Random.org Entropy"
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "flex items-start gap-2 text-xs text-[#6ef3f7]",
                  children: [
                    b.jsx(Fl, {
                      size: 14,
                      className: "shrink-0 mt-0.5 text-[#00f0ff]"
                    }),
                    b.jsx("p", {
                      children: "SeedPGP will not contact random.org. You run the request in another tab/tool and paste the response here."
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-1",
              children: [
                b.jsx("label", {
                  className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                  children: "random.org API key"
                }),
                b.jsxs("div", {
                  className: "relative",
                  children: [
                    b.jsx("input", {
                      type: s ? "text" : "password",
                      value: a,
                      onChange: (C) => i(C.target.value),
                      placeholder: "Paste API key (optional; not stored)",
                      className: "w-full pl-3 pr-10 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] transition-all",
                      autoCapitalize: "none",
                      autoCorrect: "off",
                      spellCheck: false
                    }),
                    b.jsx("button", {
                      type: "button",
                      className: "absolute right-2 top-2 text-[#6ef3f7] hover:text-[#00f0ff]",
                      onClick: () => l((C) => !C),
                      children: s ? b.jsx(o8, {
                        size: 16
                      }) : b.jsx(kA, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-2",
              children: [
                b.jsxs("div", {
                  className: "flex items-center justify-between",
                  children: [
                    b.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "D6 samples"
                    }),
                    b.jsx("span", {
                      className: "text-xs text-[#00f0ff] font-mono",
                      children: u
                    })
                  ]
                }),
                b.jsx("input", {
                  type: "range",
                  min: 30,
                  max: 200,
                  step: 10,
                  value: u,
                  onChange: (C) => x(parseInt(C.target.value, 10)),
                  className: "w-full accent-[#ff006e]"
                }),
                b.jsx("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: "Minimum 30. Step 10."
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-2",
              children: [
                b.jsxs("div", {
                  className: "flex items-center justify-between gap-2",
                  children: [
                    b.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "Request JSON"
                    }),
                    b.jsxs("div", {
                      className: "flex gap-2",
                      children: [
                        b.jsxs("a", {
                          href: "https://api.random.org/json-rpc/2/request-builder",
                          target: "_blank",
                          rel: "noreferrer",
                          className: "inline-flex items-center gap-1 px-2 py-1 rounded-lg border-2 border-[#00f0ff]/50 text-[#00f0ff] text-[10px] hover:bg-[#00f0ff]/10 transition-all",
                          children: [
                            b.jsx(CA, {
                              size: 12
                            }),
                            "Request Builder"
                          ]
                        }),
                        b.jsxs("button", {
                          type: "button",
                          onClick: I,
                          className: "inline-flex items-center gap-1 px-2 py-1 rounded-lg border-2 border-[#00f0ff]/50 text-[#00f0ff] text-[10px] hover:bg-[#00f0ff]/10 transition-all",
                          children: [
                            b.jsx(vA, {
                              size: 12
                            }),
                            g ? "Copied" : "Copy"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsx("textarea", {
                  readOnly: true,
                  value: T,
                  onFocus: (C) => C.currentTarget.select(),
                  className: "w-full h-28 md:h-36 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] focus:outline-none"
                }),
                b.jsxs("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: [
                    "Endpoint: ",
                    b.jsx("span", {
                      className: "font-mono text-[#00f0ff]",
                      children: "https://api.random.org/json-rpc/1/invoke"
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-2",
              children: [
                b.jsx("label", {
                  className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                  children: "Paste response JSON"
                }),
                b.jsx("textarea", {
                  value: d,
                  onChange: (C) => f(C.target.value),
                  placeholder: "Paste JSON-RPC response, or paste a [1,6,2,...] array",
                  className: "w-full h-28 md:h-36 p-2 md:p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] transition-all"
                })
              ]
            }),
            m && b.jsxs("div", {
              className: "flex items-start gap-2 p-3 bg-[#0a0a0f] border border-[#ff006e] rounded-lg",
              children: [
                b.jsx(ti, {
                  size: 16,
                  className: "text-[#ff006e] shrink-0 mt-0.5"
                }),
                b.jsx("p", {
                  className: "text-xs text-[#ff006e]",
                  children: m
                })
              ]
            }),
            b.jsxs("div", {
              className: "flex gap-3",
              children: [
                b.jsx("button", {
                  onClick: z,
                  className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                  children: "Generate Seed"
                }),
                b.jsx("button", {
                  onClick: r,
                  className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                  children: b.jsx(p0, {
                    size: 16
                  })
                })
              ]
            })
          ]
        }),
        A && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            b.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            b.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        D && !A && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4 mb-6",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                b.jsx(hr, {
                  size: 24
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Random.org Entropy Analysis"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source"
                    }),
                    b.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "random.org D6 integers (pasted manually)"
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "SAMPLES"
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "Requested"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: D.nRequested
                        }),
                        b.jsx("div", {
                          children: "Used"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: D.nUsed
                        }),
                        b.jsx("div", {
                          children: "Interaction samples"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: D.interactionSamples
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "DISTRIBUTION"
                    }),
                    b.jsx("div", {
                      className: "space-y-1 font-mono text-[10px]",
                      children: D.distribution.map((C, j) => {
                        const U = C / D.nUsed * 100;
                        return b.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            b.jsxs("span", {
                              children: [
                                "Face ",
                                j + 1
                              ]
                            }),
                            b.jsxs("span", {
                              className: "text-[#39ff14]",
                              children: [
                                C,
                                " (",
                                U.toFixed(1),
                                "%)"
                              ]
                            })
                          ]
                        }, j);
                      })
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED"
                    }),
                    b.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff14]/50",
                      children: [
                        b.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: v
                        }),
                        b.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        b.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        b.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        b.jsxs("div", {
                          children: [
                            "- Interaction timing (",
                            D.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: b.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      b.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy"
                      }),
                      b.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          D.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                })
              ]
            }),
            b.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff]/30 space-y-3",
              children: [
                b.jsx("button", {
                  onClick: () => t(v, D),
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                b.jsx("button", {
                  onClick: () => {
                    B(null), _(""), f(""), p("");
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                  children: "Paste a different response"
                })
              ]
            })
          ]
        })
      ]
    });
  };
  class yP {
    constructor() {
      __publicField(this, "samples", []);
      __publicField(this, "lastEvent", 0);
      __publicField(this, "startTime", performance.now());
      __publicField(this, "sources", {
        mouse: 0,
        keyboard: 0,
        touch: 0
      });
      this.initListeners();
    }
    initListeners() {
      const t = (r) => {
        const n = performance.now(), a = n - this.lastEvent;
        a > 0 && a < 1e4 && (this.samples.push(a), r instanceof MouseEvent ? (this.samples.push(r.clientX ^ r.clientY), this.sources.mouse++) : r instanceof KeyboardEvent ? (this.samples.push(r.key.codePointAt(0) ?? 0), this.sources.keyboard++) : r instanceof TouchEvent && r.touches[0] && (this.samples.push(r.touches[0].clientX ^ r.touches[0].clientY), this.sources.touch++)), this.lastEvent = n, this.samples.length > 256 && this.samples.splice(0, this.samples.length - 256);
      };
      document.addEventListener("mousemove", t), document.addEventListener("keydown", t), document.addEventListener("touchmove", t);
    }
    async getEntropyBytes() {
      const t = new TextEncoder().encode(this.samples.join(",") + performance.now()), r = await crypto.subtle.digest("SHA-256", t);
      return new Uint8Array(r);
    }
    getSampleCount() {
      return {
        ...this.sources,
        total: this.sources.mouse + this.sources.keyboard + this.sources.touch
      };
    }
    getCollectionTime() {
      return performance.now() - this.startTime;
    }
    clear() {
      this.samples = [], this.lastEvent = 0, this.startTime = performance.now(), this.sources = {
        mouse: 0,
        keyboard: 0,
        touch: 0
      };
    }
  }
  function gx(e) {
    throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
  }
  var ep = {
    exports: {}
  };
  var m4;
  function EP() {
    return m4 || (m4 = 1, (function(e, t) {
      (function(r) {
        e.exports = r();
      })(function() {
        return (function r(n, a, i) {
          function s(x, d) {
            if (!a[x]) {
              if (!n[x]) {
                var f = typeof gx == "function" && gx;
                if (!d && f) return f(x, true);
                if (l) return l(x, true);
                var m = new Error("Cannot find module '" + x + "'");
                throw m.code = "MODULE_NOT_FOUND", m;
              }
              var p = a[x] = {
                exports: {}
              };
              n[x][0].call(p.exports, function(g) {
                var E = n[x][1][g];
                return s(E || g);
              }, p, p.exports, r, n, a, i);
            }
            return a[x].exports;
          }
          for (var l = typeof gx == "function" && gx, u = 0; u < i.length; u++) s(i[u]);
          return s;
        })({
          1: [
            function(r, n, a) {
              var i = r("./utils"), s = r("./support"), l = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
              a.encode = function(u) {
                for (var x, d, f, m, p, g, E, A = [], w = 0, D = u.length, B = D, v = i.getTypeOf(u) !== "string"; w < u.length; ) B = D - w, f = v ? (x = u[w++], d = w < D ? u[w++] : 0, w < D ? u[w++] : 0) : (x = u.charCodeAt(w++), d = w < D ? u.charCodeAt(w++) : 0, w < D ? u.charCodeAt(w++) : 0), m = x >> 2, p = (3 & x) << 4 | d >> 4, g = 1 < B ? (15 & d) << 2 | f >> 6 : 64, E = 2 < B ? 63 & f : 64, A.push(l.charAt(m) + l.charAt(p) + l.charAt(g) + l.charAt(E));
                return A.join("");
              }, a.decode = function(u) {
                var x, d, f, m, p, g, E = 0, A = 0, w = "data:";
                if (u.substr(0, w.length) === w) throw new Error("Invalid base64 input, it looks like a data url.");
                var D, B = 3 * (u = u.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4;
                if (u.charAt(u.length - 1) === l.charAt(64) && B--, u.charAt(u.length - 2) === l.charAt(64) && B--, B % 1 != 0) throw new Error("Invalid base64 input, bad content length.");
                for (D = s.uint8array ? new Uint8Array(0 | B) : new Array(0 | B); E < u.length; ) x = l.indexOf(u.charAt(E++)) << 2 | (m = l.indexOf(u.charAt(E++))) >> 4, d = (15 & m) << 4 | (p = l.indexOf(u.charAt(E++))) >> 2, f = (3 & p) << 6 | (g = l.indexOf(u.charAt(E++))), D[A++] = x, p !== 64 && (D[A++] = d), g !== 64 && (D[A++] = f);
                return D;
              };
            },
            {
              "./support": 30,
              "./utils": 32
            }
          ],
          2: [
            function(r, n, a) {
              var i = r("./external"), s = r("./stream/DataWorker"), l = r("./stream/Crc32Probe"), u = r("./stream/DataLengthProbe");
              function x(d, f, m, p, g) {
                this.compressedSize = d, this.uncompressedSize = f, this.crc32 = m, this.compression = p, this.compressedContent = g;
              }
              x.prototype = {
                getContentWorker: function() {
                  var d = new s(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new u("data_length")), f = this;
                  return d.on("end", function() {
                    if (this.streamInfo.data_length !== f.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch");
                  }), d;
                },
                getCompressedWorker: function() {
                  return new s(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression);
                }
              }, x.createWorkerFrom = function(d, f, m) {
                return d.pipe(new l()).pipe(new u("uncompressedSize")).pipe(f.compressWorker(m)).pipe(new u("compressedSize")).withStreamInfo("compression", f);
              }, n.exports = x;
            },
            {
              "./external": 6,
              "./stream/Crc32Probe": 25,
              "./stream/DataLengthProbe": 26,
              "./stream/DataWorker": 27
            }
          ],
          3: [
            function(r, n, a) {
              var i = r("./stream/GenericWorker");
              a.STORE = {
                magic: "\0\0",
                compressWorker: function() {
                  return new i("STORE compression");
                },
                uncompressWorker: function() {
                  return new i("STORE decompression");
                }
              }, a.DEFLATE = r("./flate");
            },
            {
              "./flate": 7,
              "./stream/GenericWorker": 28
            }
          ],
          4: [
            function(r, n, a) {
              var i = r("./utils"), s = (function() {
                for (var l, u = [], x = 0; x < 256; x++) {
                  l = x;
                  for (var d = 0; d < 8; d++) l = 1 & l ? 3988292384 ^ l >>> 1 : l >>> 1;
                  u[x] = l;
                }
                return u;
              })();
              n.exports = function(l, u) {
                return l !== void 0 && l.length ? i.getTypeOf(l) !== "string" ? (function(x, d, f, m) {
                  var p = s, g = m + f;
                  x ^= -1;
                  for (var E = m; E < g; E++) x = x >>> 8 ^ p[255 & (x ^ d[E])];
                  return -1 ^ x;
                })(0 | u, l, l.length, 0) : (function(x, d, f, m) {
                  var p = s, g = m + f;
                  x ^= -1;
                  for (var E = m; E < g; E++) x = x >>> 8 ^ p[255 & (x ^ d.charCodeAt(E))];
                  return -1 ^ x;
                })(0 | u, l, l.length, 0) : 0;
              };
            },
            {
              "./utils": 32
            }
          ],
          5: [
            function(r, n, a) {
              a.base64 = false, a.binary = false, a.dir = false, a.createFolders = true, a.date = null, a.compression = null, a.compressionOptions = null, a.comment = null, a.unixPermissions = null, a.dosPermissions = null;
            },
            {}
          ],
          6: [
            function(r, n, a) {
              var i = null;
              i = typeof Promise < "u" ? Promise : r("lie"), n.exports = {
                Promise: i
              };
            },
            {
              lie: 37
            }
          ],
          7: [
            function(r, n, a) {
              var i = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Uint32Array < "u", s = r("pako"), l = r("./utils"), u = r("./stream/GenericWorker"), x = i ? "uint8array" : "array";
              function d(f, m) {
                u.call(this, "FlateWorker/" + f), this._pako = null, this._pakoAction = f, this._pakoOptions = m, this.meta = {};
              }
              a.magic = "\b\0", l.inherits(d, u), d.prototype.processChunk = function(f) {
                this.meta = f.meta, this._pako === null && this._createPako(), this._pako.push(l.transformTo(x, f.data), false);
              }, d.prototype.flush = function() {
                u.prototype.flush.call(this), this._pako === null && this._createPako(), this._pako.push([], true);
              }, d.prototype.cleanUp = function() {
                u.prototype.cleanUp.call(this), this._pako = null;
              }, d.prototype._createPako = function() {
                this._pako = new s[this._pakoAction]({
                  raw: true,
                  level: this._pakoOptions.level || -1
                });
                var f = this;
                this._pako.onData = function(m) {
                  f.push({
                    data: m,
                    meta: f.meta
                  });
                };
              }, a.compressWorker = function(f) {
                return new d("Deflate", f);
              }, a.uncompressWorker = function() {
                return new d("Inflate", {});
              };
            },
            {
              "./stream/GenericWorker": 28,
              "./utils": 32,
              pako: 38
            }
          ],
          8: [
            function(r, n, a) {
              function i(p, g) {
                var E, A = "";
                for (E = 0; E < g; E++) A += String.fromCharCode(255 & p), p >>>= 8;
                return A;
              }
              function s(p, g, E, A, w, D) {
                var B, v, _ = p.file, T = p.compression, I = D !== x.utf8encode, z = l.transformTo("string", D(_.name)), C = l.transformTo("string", x.utf8encode(_.name)), j = _.comment, U = l.transformTo("string", D(j)), P = l.transformTo("string", x.utf8encode(j)), L = C.length !== _.name.length, F = P.length !== j.length, q = "", $ = "", Y = "", J = _.dir, Q = _.date, Z = {
                  crc32: 0,
                  compressedSize: 0,
                  uncompressedSize: 0
                };
                g && !E || (Z.crc32 = p.crc32, Z.compressedSize = p.compressedSize, Z.uncompressedSize = p.uncompressedSize);
                var M = 0;
                g && (M |= 8), I || !L && !F || (M |= 2048);
                var H = 0, re = 0;
                J && (H |= 16), w === "UNIX" ? (re = 798, H |= (function(ae, xe) {
                  var me = ae;
                  return ae || (me = xe ? 16893 : 33204), (65535 & me) << 16;
                })(_.unixPermissions, J)) : (re = 20, H |= (function(ae) {
                  return 63 & (ae || 0);
                })(_.dosPermissions)), B = Q.getUTCHours(), B <<= 6, B |= Q.getUTCMinutes(), B <<= 5, B |= Q.getUTCSeconds() / 2, v = Q.getUTCFullYear() - 1980, v <<= 4, v |= Q.getUTCMonth() + 1, v <<= 5, v |= Q.getUTCDate(), L && ($ = i(1, 1) + i(d(z), 4) + C, q += "up" + i($.length, 2) + $), F && (Y = i(1, 1) + i(d(U), 4) + P, q += "uc" + i(Y.length, 2) + Y);
                var te = "";
                return te += `
\0`, te += i(M, 2), te += T.magic, te += i(B, 2), te += i(v, 2), te += i(Z.crc32, 4), te += i(Z.compressedSize, 4), te += i(Z.uncompressedSize, 4), te += i(z.length, 2), te += i(q.length, 2), {
                  fileRecord: f.LOCAL_FILE_HEADER + te + z + q,
                  dirRecord: f.CENTRAL_FILE_HEADER + i(re, 2) + te + i(U.length, 2) + "\0\0\0\0" + i(H, 4) + i(A, 4) + z + q + U
                };
              }
              var l = r("../utils"), u = r("../stream/GenericWorker"), x = r("../utf8"), d = r("../crc32"), f = r("../signature");
              function m(p, g, E, A) {
                u.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = g, this.zipPlatform = E, this.encodeFileName = A, this.streamFiles = p, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [];
              }
              l.inherits(m, u), m.prototype.push = function(p) {
                var g = p.meta.percent || 0, E = this.entriesCount, A = this._sources.length;
                this.accumulate ? this.contentBuffer.push(p) : (this.bytesWritten += p.data.length, u.prototype.push.call(this, {
                  data: p.data,
                  meta: {
                    currentFile: this.currentFile,
                    percent: E ? (g + 100 * (E - A - 1)) / E : 100
                  }
                }));
              }, m.prototype.openedSource = function(p) {
                this.currentSourceOffset = this.bytesWritten, this.currentFile = p.file.name;
                var g = this.streamFiles && !p.file.dir;
                if (g) {
                  var E = s(p, g, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
                  this.push({
                    data: E.fileRecord,
                    meta: {
                      percent: 0
                    }
                  });
                } else this.accumulate = true;
              }, m.prototype.closedSource = function(p) {
                this.accumulate = false;
                var g = this.streamFiles && !p.file.dir, E = s(p, g, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
                if (this.dirRecords.push(E.dirRecord), g) this.push({
                  data: (function(A) {
                    return f.DATA_DESCRIPTOR + i(A.crc32, 4) + i(A.compressedSize, 4) + i(A.uncompressedSize, 4);
                  })(p),
                  meta: {
                    percent: 100
                  }
                });
                else for (this.push({
                  data: E.fileRecord,
                  meta: {
                    percent: 0
                  }
                }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift());
                this.currentFile = null;
              }, m.prototype.flush = function() {
                for (var p = this.bytesWritten, g = 0; g < this.dirRecords.length; g++) this.push({
                  data: this.dirRecords[g],
                  meta: {
                    percent: 100
                  }
                });
                var E = this.bytesWritten - p, A = (function(w, D, B, v, _) {
                  var T = l.transformTo("string", _(v));
                  return f.CENTRAL_DIRECTORY_END + "\0\0\0\0" + i(w, 2) + i(w, 2) + i(D, 4) + i(B, 4) + i(T.length, 2) + T;
                })(this.dirRecords.length, E, p, this.zipComment, this.encodeFileName);
                this.push({
                  data: A,
                  meta: {
                    percent: 100
                  }
                });
              }, m.prototype.prepareNextSource = function() {
                this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume();
              }, m.prototype.registerPrevious = function(p) {
                this._sources.push(p);
                var g = this;
                return p.on("data", function(E) {
                  g.processChunk(E);
                }), p.on("end", function() {
                  g.closedSource(g.previous.streamInfo), g._sources.length ? g.prepareNextSource() : g.end();
                }), p.on("error", function(E) {
                  g.error(E);
                }), this;
              }, m.prototype.resume = function() {
                return !!u.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true));
              }, m.prototype.error = function(p) {
                var g = this._sources;
                if (!u.prototype.error.call(this, p)) return false;
                for (var E = 0; E < g.length; E++) try {
                  g[E].error(p);
                } catch {
                }
                return true;
              }, m.prototype.lock = function() {
                u.prototype.lock.call(this);
                for (var p = this._sources, g = 0; g < p.length; g++) p[g].lock();
              }, n.exports = m;
            },
            {
              "../crc32": 4,
              "../signature": 23,
              "../stream/GenericWorker": 28,
              "../utf8": 31,
              "../utils": 32
            }
          ],
          9: [
            function(r, n, a) {
              var i = r("../compressions"), s = r("./ZipFileWorker");
              a.generateWorker = function(l, u, x) {
                var d = new s(u.streamFiles, x, u.platform, u.encodeFileName), f = 0;
                try {
                  l.forEach(function(m, p) {
                    f++;
                    var g = (function(D, B) {
                      var v = D || B, _ = i[v];
                      if (!_) throw new Error(v + " is not a valid compression method !");
                      return _;
                    })(p.options.compression, u.compression), E = p.options.compressionOptions || u.compressionOptions || {}, A = p.dir, w = p.date;
                    p._compressWorker(g, E).withStreamInfo("file", {
                      name: m,
                      dir: A,
                      date: w,
                      comment: p.comment || "",
                      unixPermissions: p.unixPermissions,
                      dosPermissions: p.dosPermissions
                    }).pipe(d);
                  }), d.entriesCount = f;
                } catch (m) {
                  d.error(m);
                }
                return d;
              };
            },
            {
              "../compressions": 3,
              "./ZipFileWorker": 8
            }
          ],
          10: [
            function(r, n, a) {
              function i() {
                if (!(this instanceof i)) return new i();
                if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
                this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() {
                  var s = new i();
                  for (var l in this) typeof this[l] != "function" && (s[l] = this[l]);
                  return s;
                };
              }
              (i.prototype = r("./object")).loadAsync = r("./load"), i.support = r("./support"), i.defaults = r("./defaults"), i.version = "3.10.1", i.loadAsync = function(s, l) {
                return new i().loadAsync(s, l);
              }, i.external = r("./external"), n.exports = i;
            },
            {
              "./defaults": 5,
              "./external": 6,
              "./load": 11,
              "./object": 15,
              "./support": 30
            }
          ],
          11: [
            function(r, n, a) {
              var i = r("./utils"), s = r("./external"), l = r("./utf8"), u = r("./zipEntries"), x = r("./stream/Crc32Probe"), d = r("./nodejsUtils");
              function f(m) {
                return new s.Promise(function(p, g) {
                  var E = m.decompressed.getContentWorker().pipe(new x());
                  E.on("error", function(A) {
                    g(A);
                  }).on("end", function() {
                    E.streamInfo.crc32 !== m.decompressed.crc32 ? g(new Error("Corrupted zip : CRC32 mismatch")) : p();
                  }).resume();
                });
              }
              n.exports = function(m, p) {
                var g = this;
                return p = i.extend(p || {}, {
                  base64: false,
                  checkCRC32: false,
                  optimizedBinaryString: false,
                  createFolders: false,
                  decodeFileName: l.utf8decode
                }), d.isNode && d.isStream(m) ? s.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : i.prepareContent("the loaded zip file", m, true, p.optimizedBinaryString, p.base64).then(function(E) {
                  var A = new u(p);
                  return A.load(E), A;
                }).then(function(E) {
                  var A = [
                    s.Promise.resolve(E)
                  ], w = E.files;
                  if (p.checkCRC32) for (var D = 0; D < w.length; D++) A.push(f(w[D]));
                  return s.Promise.all(A);
                }).then(function(E) {
                  for (var A = E.shift(), w = A.files, D = 0; D < w.length; D++) {
                    var B = w[D], v = B.fileNameStr, _ = i.resolve(B.fileNameStr);
                    g.file(_, B.decompressed, {
                      binary: true,
                      optimizedBinaryString: true,
                      date: B.date,
                      dir: B.dir,
                      comment: B.fileCommentStr.length ? B.fileCommentStr : null,
                      unixPermissions: B.unixPermissions,
                      dosPermissions: B.dosPermissions,
                      createFolders: p.createFolders
                    }), B.dir || (g.file(_).unsafeOriginalName = v);
                  }
                  return A.zipComment.length && (g.comment = A.zipComment), g;
                });
              };
            },
            {
              "./external": 6,
              "./nodejsUtils": 14,
              "./stream/Crc32Probe": 25,
              "./utf8": 31,
              "./utils": 32,
              "./zipEntries": 33
            }
          ],
          12: [
            function(r, n, a) {
              var i = r("../utils"), s = r("../stream/GenericWorker");
              function l(u, x) {
                s.call(this, "Nodejs stream input adapter for " + u), this._upstreamEnded = false, this._bindStream(x);
              }
              i.inherits(l, s), l.prototype._bindStream = function(u) {
                var x = this;
                (this._stream = u).pause(), u.on("data", function(d) {
                  x.push({
                    data: d,
                    meta: {
                      percent: 0
                    }
                  });
                }).on("error", function(d) {
                  x.isPaused ? this.generatedError = d : x.error(d);
                }).on("end", function() {
                  x.isPaused ? x._upstreamEnded = true : x.end();
                });
              }, l.prototype.pause = function() {
                return !!s.prototype.pause.call(this) && (this._stream.pause(), true);
              }, l.prototype.resume = function() {
                return !!s.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true);
              }, n.exports = l;
            },
            {
              "../stream/GenericWorker": 28,
              "../utils": 32
            }
          ],
          13: [
            function(r, n, a) {
              var i = r("readable-stream").Readable;
              function s(l, u, x) {
                i.call(this, u), this._helper = l;
                var d = this;
                l.on("data", function(f, m) {
                  d.push(f) || d._helper.pause(), x && x(m);
                }).on("error", function(f) {
                  d.emit("error", f);
                }).on("end", function() {
                  d.push(null);
                });
              }
              r("../utils").inherits(s, i), s.prototype._read = function() {
                this._helper.resume();
              }, n.exports = s;
            },
            {
              "../utils": 32,
              "readable-stream": 16
            }
          ],
          14: [
            function(r, n, a) {
              n.exports = {
                isNode: typeof Buffer < "u",
                newBufferFrom: function(i, s) {
                  if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(i, s);
                  if (typeof i == "number") throw new Error('The "data" argument must not be a number');
                  return new Buffer(i, s);
                },
                allocBuffer: function(i) {
                  if (Buffer.alloc) return Buffer.alloc(i);
                  var s = new Buffer(i);
                  return s.fill(0), s;
                },
                isBuffer: function(i) {
                  return Buffer.isBuffer(i);
                },
                isStream: function(i) {
                  return i && typeof i.on == "function" && typeof i.pause == "function" && typeof i.resume == "function";
                }
              };
            },
            {}
          ],
          15: [
            function(r, n, a) {
              function i(_, T, I) {
                var z, C = l.getTypeOf(T), j = l.extend(I || {}, d);
                j.date = j.date || /* @__PURE__ */ new Date(), j.compression !== null && (j.compression = j.compression.toUpperCase()), typeof j.unixPermissions == "string" && (j.unixPermissions = parseInt(j.unixPermissions, 8)), j.unixPermissions && 16384 & j.unixPermissions && (j.dir = true), j.dosPermissions && 16 & j.dosPermissions && (j.dir = true), j.dir && (_ = w(_)), j.createFolders && (z = A(_)) && D.call(this, z, true);
                var U = C === "string" && j.binary === false && j.base64 === false;
                I && I.binary !== void 0 || (j.binary = !U), (T instanceof f && T.uncompressedSize === 0 || j.dir || !T || T.length === 0) && (j.base64 = false, j.binary = true, T = "", j.compression = "STORE", C = "string");
                var P = null;
                P = T instanceof f || T instanceof u ? T : g.isNode && g.isStream(T) ? new E(_, T) : l.prepareContent(_, T, j.binary, j.optimizedBinaryString, j.base64);
                var L = new m(_, P, j);
                this.files[_] = L;
              }
              var s = r("./utf8"), l = r("./utils"), u = r("./stream/GenericWorker"), x = r("./stream/StreamHelper"), d = r("./defaults"), f = r("./compressedObject"), m = r("./zipObject"), p = r("./generate"), g = r("./nodejsUtils"), E = r("./nodejs/NodejsStreamInputAdapter"), A = function(_) {
                _.slice(-1) === "/" && (_ = _.substring(0, _.length - 1));
                var T = _.lastIndexOf("/");
                return 0 < T ? _.substring(0, T) : "";
              }, w = function(_) {
                return _.slice(-1) !== "/" && (_ += "/"), _;
              }, D = function(_, T) {
                return T = T !== void 0 ? T : d.createFolders, _ = w(_), this.files[_] || i.call(this, _, null, {
                  dir: true,
                  createFolders: T
                }), this.files[_];
              };
              function B(_) {
                return Object.prototype.toString.call(_) === "[object RegExp]";
              }
              var v = {
                load: function() {
                  throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
                },
                forEach: function(_) {
                  var T, I, z;
                  for (T in this.files) z = this.files[T], (I = T.slice(this.root.length, T.length)) && T.slice(0, this.root.length) === this.root && _(I, z);
                },
                filter: function(_) {
                  var T = [];
                  return this.forEach(function(I, z) {
                    _(I, z) && T.push(z);
                  }), T;
                },
                file: function(_, T, I) {
                  if (arguments.length !== 1) return _ = this.root + _, i.call(this, _, T, I), this;
                  if (B(_)) {
                    var z = _;
                    return this.filter(function(j, U) {
                      return !U.dir && z.test(j);
                    });
                  }
                  var C = this.files[this.root + _];
                  return C && !C.dir ? C : null;
                },
                folder: function(_) {
                  if (!_) return this;
                  if (B(_)) return this.filter(function(C, j) {
                    return j.dir && _.test(C);
                  });
                  var T = this.root + _, I = D.call(this, T), z = this.clone();
                  return z.root = I.name, z;
                },
                remove: function(_) {
                  _ = this.root + _;
                  var T = this.files[_];
                  if (T || (_.slice(-1) !== "/" && (_ += "/"), T = this.files[_]), T && !T.dir) delete this.files[_];
                  else for (var I = this.filter(function(C, j) {
                    return j.name.slice(0, _.length) === _;
                  }), z = 0; z < I.length; z++) delete this.files[I[z].name];
                  return this;
                },
                generate: function() {
                  throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
                },
                generateInternalStream: function(_) {
                  var T, I = {};
                  try {
                    if ((I = l.extend(_ || {}, {
                      streamFiles: false,
                      compression: "STORE",
                      compressionOptions: null,
                      type: "",
                      platform: "DOS",
                      comment: null,
                      mimeType: "application/zip",
                      encodeFileName: s.utf8encode
                    })).type = I.type.toLowerCase(), I.compression = I.compression.toUpperCase(), I.type === "binarystring" && (I.type = "string"), !I.type) throw new Error("No output type specified.");
                    l.checkSupport(I.type), I.platform !== "darwin" && I.platform !== "freebsd" && I.platform !== "linux" && I.platform !== "sunos" || (I.platform = "UNIX"), I.platform === "win32" && (I.platform = "DOS");
                    var z = I.comment || this.comment || "";
                    T = p.generateWorker(this, I, z);
                  } catch (C) {
                    (T = new u("error")).error(C);
                  }
                  return new x(T, I.type || "string", I.mimeType);
                },
                generateAsync: function(_, T) {
                  return this.generateInternalStream(_).accumulate(T);
                },
                generateNodeStream: function(_, T) {
                  return (_ = _ || {}).type || (_.type = "nodebuffer"), this.generateInternalStream(_).toNodejsStream(T);
                }
              };
              n.exports = v;
            },
            {
              "./compressedObject": 2,
              "./defaults": 5,
              "./generate": 9,
              "./nodejs/NodejsStreamInputAdapter": 12,
              "./nodejsUtils": 14,
              "./stream/GenericWorker": 28,
              "./stream/StreamHelper": 29,
              "./utf8": 31,
              "./utils": 32,
              "./zipObject": 35
            }
          ],
          16: [
            function(r, n, a) {
              n.exports = r("stream");
            },
            {
              stream: void 0
            }
          ],
          17: [
            function(r, n, a) {
              var i = r("./DataReader");
              function s(l) {
                i.call(this, l);
                for (var u = 0; u < this.data.length; u++) l[u] = 255 & l[u];
              }
              r("../utils").inherits(s, i), s.prototype.byteAt = function(l) {
                return this.data[this.zero + l];
              }, s.prototype.lastIndexOfSignature = function(l) {
                for (var u = l.charCodeAt(0), x = l.charCodeAt(1), d = l.charCodeAt(2), f = l.charCodeAt(3), m = this.length - 4; 0 <= m; --m) if (this.data[m] === u && this.data[m + 1] === x && this.data[m + 2] === d && this.data[m + 3] === f) return m - this.zero;
                return -1;
              }, s.prototype.readAndCheckSignature = function(l) {
                var u = l.charCodeAt(0), x = l.charCodeAt(1), d = l.charCodeAt(2), f = l.charCodeAt(3), m = this.readData(4);
                return u === m[0] && x === m[1] && d === m[2] && f === m[3];
              }, s.prototype.readData = function(l) {
                if (this.checkOffset(l), l === 0) return [];
                var u = this.data.slice(this.zero + this.index, this.zero + this.index + l);
                return this.index += l, u;
              }, n.exports = s;
            },
            {
              "../utils": 32,
              "./DataReader": 18
            }
          ],
          18: [
            function(r, n, a) {
              var i = r("../utils");
              function s(l) {
                this.data = l, this.length = l.length, this.index = 0, this.zero = 0;
              }
              s.prototype = {
                checkOffset: function(l) {
                  this.checkIndex(this.index + l);
                },
                checkIndex: function(l) {
                  if (this.length < this.zero + l || l < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + l + "). Corrupted zip ?");
                },
                setIndex: function(l) {
                  this.checkIndex(l), this.index = l;
                },
                skip: function(l) {
                  this.setIndex(this.index + l);
                },
                byteAt: function() {
                },
                readInt: function(l) {
                  var u, x = 0;
                  for (this.checkOffset(l), u = this.index + l - 1; u >= this.index; u--) x = (x << 8) + this.byteAt(u);
                  return this.index += l, x;
                },
                readString: function(l) {
                  return i.transformTo("string", this.readData(l));
                },
                readData: function() {
                },
                lastIndexOfSignature: function() {
                },
                readAndCheckSignature: function() {
                },
                readDate: function() {
                  var l = this.readInt(4);
                  return new Date(Date.UTC(1980 + (l >> 25 & 127), (l >> 21 & 15) - 1, l >> 16 & 31, l >> 11 & 31, l >> 5 & 63, (31 & l) << 1));
                }
              }, n.exports = s;
            },
            {
              "../utils": 32
            }
          ],
          19: [
            function(r, n, a) {
              var i = r("./Uint8ArrayReader");
              function s(l) {
                i.call(this, l);
              }
              r("../utils").inherits(s, i), s.prototype.readData = function(l) {
                this.checkOffset(l);
                var u = this.data.slice(this.zero + this.index, this.zero + this.index + l);
                return this.index += l, u;
              }, n.exports = s;
            },
            {
              "../utils": 32,
              "./Uint8ArrayReader": 21
            }
          ],
          20: [
            function(r, n, a) {
              var i = r("./DataReader");
              function s(l) {
                i.call(this, l);
              }
              r("../utils").inherits(s, i), s.prototype.byteAt = function(l) {
                return this.data.charCodeAt(this.zero + l);
              }, s.prototype.lastIndexOfSignature = function(l) {
                return this.data.lastIndexOf(l) - this.zero;
              }, s.prototype.readAndCheckSignature = function(l) {
                return l === this.readData(4);
              }, s.prototype.readData = function(l) {
                this.checkOffset(l);
                var u = this.data.slice(this.zero + this.index, this.zero + this.index + l);
                return this.index += l, u;
              }, n.exports = s;
            },
            {
              "../utils": 32,
              "./DataReader": 18
            }
          ],
          21: [
            function(r, n, a) {
              var i = r("./ArrayReader");
              function s(l) {
                i.call(this, l);
              }
              r("../utils").inherits(s, i), s.prototype.readData = function(l) {
                if (this.checkOffset(l), l === 0) return new Uint8Array(0);
                var u = this.data.subarray(this.zero + this.index, this.zero + this.index + l);
                return this.index += l, u;
              }, n.exports = s;
            },
            {
              "../utils": 32,
              "./ArrayReader": 17
            }
          ],
          22: [
            function(r, n, a) {
              var i = r("../utils"), s = r("../support"), l = r("./ArrayReader"), u = r("./StringReader"), x = r("./NodeBufferReader"), d = r("./Uint8ArrayReader");
              n.exports = function(f) {
                var m = i.getTypeOf(f);
                return i.checkSupport(m), m !== "string" || s.uint8array ? m === "nodebuffer" ? new x(f) : s.uint8array ? new d(i.transformTo("uint8array", f)) : new l(i.transformTo("array", f)) : new u(f);
              };
            },
            {
              "../support": 30,
              "../utils": 32,
              "./ArrayReader": 17,
              "./NodeBufferReader": 19,
              "./StringReader": 20,
              "./Uint8ArrayReader": 21
            }
          ],
          23: [
            function(r, n, a) {
              a.LOCAL_FILE_HEADER = "PK", a.CENTRAL_FILE_HEADER = "PK", a.CENTRAL_DIRECTORY_END = "PK", a.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", a.ZIP64_CENTRAL_DIRECTORY_END = "PK", a.DATA_DESCRIPTOR = "PK\x07\b";
            },
            {}
          ],
          24: [
            function(r, n, a) {
              var i = r("./GenericWorker"), s = r("../utils");
              function l(u) {
                i.call(this, "ConvertWorker to " + u), this.destType = u;
              }
              s.inherits(l, i), l.prototype.processChunk = function(u) {
                this.push({
                  data: s.transformTo(this.destType, u.data),
                  meta: u.meta
                });
              }, n.exports = l;
            },
            {
              "../utils": 32,
              "./GenericWorker": 28
            }
          ],
          25: [
            function(r, n, a) {
              var i = r("./GenericWorker"), s = r("../crc32");
              function l() {
                i.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0);
              }
              r("../utils").inherits(l, i), l.prototype.processChunk = function(u) {
                this.streamInfo.crc32 = s(u.data, this.streamInfo.crc32 || 0), this.push(u);
              }, n.exports = l;
            },
            {
              "../crc32": 4,
              "../utils": 32,
              "./GenericWorker": 28
            }
          ],
          26: [
            function(r, n, a) {
              var i = r("../utils"), s = r("./GenericWorker");
              function l(u) {
                s.call(this, "DataLengthProbe for " + u), this.propName = u, this.withStreamInfo(u, 0);
              }
              i.inherits(l, s), l.prototype.processChunk = function(u) {
                if (u) {
                  var x = this.streamInfo[this.propName] || 0;
                  this.streamInfo[this.propName] = x + u.data.length;
                }
                s.prototype.processChunk.call(this, u);
              }, n.exports = l;
            },
            {
              "../utils": 32,
              "./GenericWorker": 28
            }
          ],
          27: [
            function(r, n, a) {
              var i = r("../utils"), s = r("./GenericWorker");
              function l(u) {
                s.call(this, "DataWorker");
                var x = this;
                this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = false, u.then(function(d) {
                  x.dataIsReady = true, x.data = d, x.max = d && d.length || 0, x.type = i.getTypeOf(d), x.isPaused || x._tickAndRepeat();
                }, function(d) {
                  x.error(d);
                });
              }
              i.inherits(l, s), l.prototype.cleanUp = function() {
                s.prototype.cleanUp.call(this), this.data = null;
              }, l.prototype.resume = function() {
                return !!s.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, i.delay(this._tickAndRepeat, [], this)), true);
              }, l.prototype._tickAndRepeat = function() {
                this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (i.delay(this._tickAndRepeat, [], this), this._tickScheduled = true));
              }, l.prototype._tick = function() {
                if (this.isPaused || this.isFinished) return false;
                var u = null, x = Math.min(this.max, this.index + 16384);
                if (this.index >= this.max) return this.end();
                switch (this.type) {
                  case "string":
                    u = this.data.substring(this.index, x);
                    break;
                  case "uint8array":
                    u = this.data.subarray(this.index, x);
                    break;
                  case "array":
                  case "nodebuffer":
                    u = this.data.slice(this.index, x);
                }
                return this.index = x, this.push({
                  data: u,
                  meta: {
                    percent: this.max ? this.index / this.max * 100 : 0
                  }
                });
              }, n.exports = l;
            },
            {
              "../utils": 32,
              "./GenericWorker": 28
            }
          ],
          28: [
            function(r, n, a) {
              function i(s) {
                this.name = s || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = {
                  data: [],
                  end: [],
                  error: []
                }, this.previous = null;
              }
              i.prototype = {
                push: function(s) {
                  this.emit("data", s);
                },
                end: function() {
                  if (this.isFinished) return false;
                  this.flush();
                  try {
                    this.emit("end"), this.cleanUp(), this.isFinished = true;
                  } catch (s) {
                    this.emit("error", s);
                  }
                  return true;
                },
                error: function(s) {
                  return !this.isFinished && (this.isPaused ? this.generatedError = s : (this.isFinished = true, this.emit("error", s), this.previous && this.previous.error(s), this.cleanUp()), true);
                },
                on: function(s, l) {
                  return this._listeners[s].push(l), this;
                },
                cleanUp: function() {
                  this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [];
                },
                emit: function(s, l) {
                  if (this._listeners[s]) for (var u = 0; u < this._listeners[s].length; u++) this._listeners[s][u].call(this, l);
                },
                pipe: function(s) {
                  return s.registerPrevious(this);
                },
                registerPrevious: function(s) {
                  if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
                  this.streamInfo = s.streamInfo, this.mergeStreamInfo(), this.previous = s;
                  var l = this;
                  return s.on("data", function(u) {
                    l.processChunk(u);
                  }), s.on("end", function() {
                    l.end();
                  }), s.on("error", function(u) {
                    l.error(u);
                  }), this;
                },
                pause: function() {
                  return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true);
                },
                resume: function() {
                  if (!this.isPaused || this.isFinished) return false;
                  var s = this.isPaused = false;
                  return this.generatedError && (this.error(this.generatedError), s = true), this.previous && this.previous.resume(), !s;
                },
                flush: function() {
                },
                processChunk: function(s) {
                  this.push(s);
                },
                withStreamInfo: function(s, l) {
                  return this.extraStreamInfo[s] = l, this.mergeStreamInfo(), this;
                },
                mergeStreamInfo: function() {
                  for (var s in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, s) && (this.streamInfo[s] = this.extraStreamInfo[s]);
                },
                lock: function() {
                  if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
                  this.isLocked = true, this.previous && this.previous.lock();
                },
                toString: function() {
                  var s = "Worker " + this.name;
                  return this.previous ? this.previous + " -> " + s : s;
                }
              }, n.exports = i;
            },
            {}
          ],
          29: [
            function(r, n, a) {
              var i = r("../utils"), s = r("./ConvertWorker"), l = r("./GenericWorker"), u = r("../base64"), x = r("../support"), d = r("../external"), f = null;
              if (x.nodestream) try {
                f = r("../nodejs/NodejsStreamOutputAdapter");
              } catch {
              }
              function m(g, E) {
                return new d.Promise(function(A, w) {
                  var D = [], B = g._internalType, v = g._outputType, _ = g._mimeType;
                  g.on("data", function(T, I) {
                    D.push(T), E && E(I);
                  }).on("error", function(T) {
                    D = [], w(T);
                  }).on("end", function() {
                    try {
                      var T = (function(I, z, C) {
                        switch (I) {
                          case "blob":
                            return i.newBlob(i.transformTo("arraybuffer", z), C);
                          case "base64":
                            return u.encode(z);
                          default:
                            return i.transformTo(I, z);
                        }
                      })(v, (function(I, z) {
                        var C, j = 0, U = null, P = 0;
                        for (C = 0; C < z.length; C++) P += z[C].length;
                        switch (I) {
                          case "string":
                            return z.join("");
                          case "array":
                            return Array.prototype.concat.apply([], z);
                          case "uint8array":
                            for (U = new Uint8Array(P), C = 0; C < z.length; C++) U.set(z[C], j), j += z[C].length;
                            return U;
                          case "nodebuffer":
                            return Buffer.concat(z);
                          default:
                            throw new Error("concat : unsupported type '" + I + "'");
                        }
                      })(B, D), _);
                      A(T);
                    } catch (I) {
                      w(I);
                    }
                    D = [];
                  }).resume();
                });
              }
              function p(g, E, A) {
                var w = E;
                switch (E) {
                  case "blob":
                  case "arraybuffer":
                    w = "uint8array";
                    break;
                  case "base64":
                    w = "string";
                }
                try {
                  this._internalType = w, this._outputType = E, this._mimeType = A, i.checkSupport(w), this._worker = g.pipe(new s(w)), g.lock();
                } catch (D) {
                  this._worker = new l("error"), this._worker.error(D);
                }
              }
              p.prototype = {
                accumulate: function(g) {
                  return m(this, g);
                },
                on: function(g, E) {
                  var A = this;
                  return g === "data" ? this._worker.on(g, function(w) {
                    E.call(A, w.data, w.meta);
                  }) : this._worker.on(g, function() {
                    i.delay(E, arguments, A);
                  }), this;
                },
                resume: function() {
                  return i.delay(this._worker.resume, [], this._worker), this;
                },
                pause: function() {
                  return this._worker.pause(), this;
                },
                toNodejsStream: function(g) {
                  if (i.checkSupport("nodestream"), this._outputType !== "nodebuffer") throw new Error(this._outputType + " is not supported by this method");
                  return new f(this, {
                    objectMode: this._outputType !== "nodebuffer"
                  }, g);
                }
              }, n.exports = p;
            },
            {
              "../base64": 1,
              "../external": 6,
              "../nodejs/NodejsStreamOutputAdapter": 13,
              "../support": 30,
              "../utils": 32,
              "./ConvertWorker": 24,
              "./GenericWorker": 28
            }
          ],
          30: [
            function(r, n, a) {
              if (a.base64 = true, a.array = true, a.string = true, a.arraybuffer = typeof ArrayBuffer < "u" && typeof Uint8Array < "u", a.nodebuffer = typeof Buffer < "u", a.uint8array = typeof Uint8Array < "u", typeof ArrayBuffer > "u") a.blob = false;
              else {
                var i = new ArrayBuffer(0);
                try {
                  a.blob = new Blob([
                    i
                  ], {
                    type: "application/zip"
                  }).size === 0;
                } catch {
                  try {
                    var s = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
                    s.append(i), a.blob = s.getBlob("application/zip").size === 0;
                  } catch {
                    a.blob = false;
                  }
                }
              }
              try {
                a.nodestream = !!r("readable-stream").Readable;
              } catch {
                a.nodestream = false;
              }
            },
            {
              "readable-stream": 16
            }
          ],
          31: [
            function(r, n, a) {
              for (var i = r("./utils"), s = r("./support"), l = r("./nodejsUtils"), u = r("./stream/GenericWorker"), x = new Array(256), d = 0; d < 256; d++) x[d] = 252 <= d ? 6 : 248 <= d ? 5 : 240 <= d ? 4 : 224 <= d ? 3 : 192 <= d ? 2 : 1;
              x[254] = x[254] = 1;
              function f() {
                u.call(this, "utf-8 decode"), this.leftOver = null;
              }
              function m() {
                u.call(this, "utf-8 encode");
              }
              a.utf8encode = function(p) {
                return s.nodebuffer ? l.newBufferFrom(p, "utf-8") : (function(g) {
                  var E, A, w, D, B, v = g.length, _ = 0;
                  for (D = 0; D < v; D++) (64512 & (A = g.charCodeAt(D))) == 55296 && D + 1 < v && (64512 & (w = g.charCodeAt(D + 1))) == 56320 && (A = 65536 + (A - 55296 << 10) + (w - 56320), D++), _ += A < 128 ? 1 : A < 2048 ? 2 : A < 65536 ? 3 : 4;
                  for (E = s.uint8array ? new Uint8Array(_) : new Array(_), D = B = 0; B < _; D++) (64512 & (A = g.charCodeAt(D))) == 55296 && D + 1 < v && (64512 & (w = g.charCodeAt(D + 1))) == 56320 && (A = 65536 + (A - 55296 << 10) + (w - 56320), D++), A < 128 ? E[B++] = A : (A < 2048 ? E[B++] = 192 | A >>> 6 : (A < 65536 ? E[B++] = 224 | A >>> 12 : (E[B++] = 240 | A >>> 18, E[B++] = 128 | A >>> 12 & 63), E[B++] = 128 | A >>> 6 & 63), E[B++] = 128 | 63 & A);
                  return E;
                })(p);
              }, a.utf8decode = function(p) {
                return s.nodebuffer ? i.transformTo("nodebuffer", p).toString("utf-8") : (function(g) {
                  var E, A, w, D, B = g.length, v = new Array(2 * B);
                  for (E = A = 0; E < B; ) if ((w = g[E++]) < 128) v[A++] = w;
                  else if (4 < (D = x[w])) v[A++] = 65533, E += D - 1;
                  else {
                    for (w &= D === 2 ? 31 : D === 3 ? 15 : 7; 1 < D && E < B; ) w = w << 6 | 63 & g[E++], D--;
                    1 < D ? v[A++] = 65533 : w < 65536 ? v[A++] = w : (w -= 65536, v[A++] = 55296 | w >> 10 & 1023, v[A++] = 56320 | 1023 & w);
                  }
                  return v.length !== A && (v.subarray ? v = v.subarray(0, A) : v.length = A), i.applyFromCharCode(v);
                })(p = i.transformTo(s.uint8array ? "uint8array" : "array", p));
              }, i.inherits(f, u), f.prototype.processChunk = function(p) {
                var g = i.transformTo(s.uint8array ? "uint8array" : "array", p.data);
                if (this.leftOver && this.leftOver.length) {
                  if (s.uint8array) {
                    var E = g;
                    (g = new Uint8Array(E.length + this.leftOver.length)).set(this.leftOver, 0), g.set(E, this.leftOver.length);
                  } else g = this.leftOver.concat(g);
                  this.leftOver = null;
                }
                var A = (function(D, B) {
                  var v;
                  for ((B = B || D.length) > D.length && (B = D.length), v = B - 1; 0 <= v && (192 & D[v]) == 128; ) v--;
                  return v < 0 || v === 0 ? B : v + x[D[v]] > B ? v : B;
                })(g), w = g;
                A !== g.length && (s.uint8array ? (w = g.subarray(0, A), this.leftOver = g.subarray(A, g.length)) : (w = g.slice(0, A), this.leftOver = g.slice(A, g.length))), this.push({
                  data: a.utf8decode(w),
                  meta: p.meta
                });
              }, f.prototype.flush = function() {
                this.leftOver && this.leftOver.length && (this.push({
                  data: a.utf8decode(this.leftOver),
                  meta: {}
                }), this.leftOver = null);
              }, a.Utf8DecodeWorker = f, i.inherits(m, u), m.prototype.processChunk = function(p) {
                this.push({
                  data: a.utf8encode(p.data),
                  meta: p.meta
                });
              }, a.Utf8EncodeWorker = m;
            },
            {
              "./nodejsUtils": 14,
              "./stream/GenericWorker": 28,
              "./support": 30,
              "./utils": 32
            }
          ],
          32: [
            function(r, n, a) {
              var i = r("./support"), s = r("./base64"), l = r("./nodejsUtils"), u = r("./external");
              function x(E) {
                return E;
              }
              function d(E, A) {
                for (var w = 0; w < E.length; ++w) A[w] = 255 & E.charCodeAt(w);
                return A;
              }
              r("setimmediate"), a.newBlob = function(E, A) {
                a.checkSupport("blob");
                try {
                  return new Blob([
                    E
                  ], {
                    type: A
                  });
                } catch {
                  try {
                    var w = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
                    return w.append(E), w.getBlob(A);
                  } catch {
                    throw new Error("Bug : can't construct the Blob.");
                  }
                }
              };
              var f = {
                stringifyByChunk: function(E, A, w) {
                  var D = [], B = 0, v = E.length;
                  if (v <= w) return String.fromCharCode.apply(null, E);
                  for (; B < v; ) A === "array" || A === "nodebuffer" ? D.push(String.fromCharCode.apply(null, E.slice(B, Math.min(B + w, v)))) : D.push(String.fromCharCode.apply(null, E.subarray(B, Math.min(B + w, v)))), B += w;
                  return D.join("");
                },
                stringifyByChar: function(E) {
                  for (var A = "", w = 0; w < E.length; w++) A += String.fromCharCode(E[w]);
                  return A;
                },
                applyCanBeUsed: {
                  uint8array: (function() {
                    try {
                      return i.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1;
                    } catch {
                      return false;
                    }
                  })(),
                  nodebuffer: (function() {
                    try {
                      return i.nodebuffer && String.fromCharCode.apply(null, l.allocBuffer(1)).length === 1;
                    } catch {
                      return false;
                    }
                  })()
                }
              };
              function m(E) {
                var A = 65536, w = a.getTypeOf(E), D = true;
                if (w === "uint8array" ? D = f.applyCanBeUsed.uint8array : w === "nodebuffer" && (D = f.applyCanBeUsed.nodebuffer), D) for (; 1 < A; ) try {
                  return f.stringifyByChunk(E, w, A);
                } catch {
                  A = Math.floor(A / 2);
                }
                return f.stringifyByChar(E);
              }
              function p(E, A) {
                for (var w = 0; w < E.length; w++) A[w] = E[w];
                return A;
              }
              a.applyFromCharCode = m;
              var g = {};
              g.string = {
                string: x,
                array: function(E) {
                  return d(E, new Array(E.length));
                },
                arraybuffer: function(E) {
                  return g.string.uint8array(E).buffer;
                },
                uint8array: function(E) {
                  return d(E, new Uint8Array(E.length));
                },
                nodebuffer: function(E) {
                  return d(E, l.allocBuffer(E.length));
                }
              }, g.array = {
                string: m,
                array: x,
                arraybuffer: function(E) {
                  return new Uint8Array(E).buffer;
                },
                uint8array: function(E) {
                  return new Uint8Array(E);
                },
                nodebuffer: function(E) {
                  return l.newBufferFrom(E);
                }
              }, g.arraybuffer = {
                string: function(E) {
                  return m(new Uint8Array(E));
                },
                array: function(E) {
                  return p(new Uint8Array(E), new Array(E.byteLength));
                },
                arraybuffer: x,
                uint8array: function(E) {
                  return new Uint8Array(E);
                },
                nodebuffer: function(E) {
                  return l.newBufferFrom(new Uint8Array(E));
                }
              }, g.uint8array = {
                string: m,
                array: function(E) {
                  return p(E, new Array(E.length));
                },
                arraybuffer: function(E) {
                  return E.buffer;
                },
                uint8array: x,
                nodebuffer: function(E) {
                  return l.newBufferFrom(E);
                }
              }, g.nodebuffer = {
                string: m,
                array: function(E) {
                  return p(E, new Array(E.length));
                },
                arraybuffer: function(E) {
                  return g.nodebuffer.uint8array(E).buffer;
                },
                uint8array: function(E) {
                  return p(E, new Uint8Array(E.length));
                },
                nodebuffer: x
              }, a.transformTo = function(E, A) {
                if (A = A || "", !E) return A;
                a.checkSupport(E);
                var w = a.getTypeOf(A);
                return g[w][E](A);
              }, a.resolve = function(E) {
                for (var A = E.split("/"), w = [], D = 0; D < A.length; D++) {
                  var B = A[D];
                  B === "." || B === "" && D !== 0 && D !== A.length - 1 || (B === ".." ? w.pop() : w.push(B));
                }
                return w.join("/");
              }, a.getTypeOf = function(E) {
                return typeof E == "string" ? "string" : Object.prototype.toString.call(E) === "[object Array]" ? "array" : i.nodebuffer && l.isBuffer(E) ? "nodebuffer" : i.uint8array && E instanceof Uint8Array ? "uint8array" : i.arraybuffer && E instanceof ArrayBuffer ? "arraybuffer" : void 0;
              }, a.checkSupport = function(E) {
                if (!i[E.toLowerCase()]) throw new Error(E + " is not supported by this platform");
              }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(E) {
                var A, w, D = "";
                for (w = 0; w < (E || "").length; w++) D += "\\x" + ((A = E.charCodeAt(w)) < 16 ? "0" : "") + A.toString(16).toUpperCase();
                return D;
              }, a.delay = function(E, A, w) {
                setImmediate(function() {
                  E.apply(w || null, A || []);
                });
              }, a.inherits = function(E, A) {
                function w() {
                }
                w.prototype = A.prototype, E.prototype = new w();
              }, a.extend = function() {
                var E, A, w = {};
                for (E = 0; E < arguments.length; E++) for (A in arguments[E]) Object.prototype.hasOwnProperty.call(arguments[E], A) && w[A] === void 0 && (w[A] = arguments[E][A]);
                return w;
              }, a.prepareContent = function(E, A, w, D, B) {
                return u.Promise.resolve(A).then(function(v) {
                  return i.blob && (v instanceof Blob || [
                    "[object File]",
                    "[object Blob]"
                  ].indexOf(Object.prototype.toString.call(v)) !== -1) && typeof FileReader < "u" ? new u.Promise(function(_, T) {
                    var I = new FileReader();
                    I.onload = function(z) {
                      _(z.target.result);
                    }, I.onerror = function(z) {
                      T(z.target.error);
                    }, I.readAsArrayBuffer(v);
                  }) : v;
                }).then(function(v) {
                  var _ = a.getTypeOf(v);
                  return _ ? (_ === "arraybuffer" ? v = a.transformTo("uint8array", v) : _ === "string" && (B ? v = s.decode(v) : w && D !== true && (v = (function(T) {
                    return d(T, i.uint8array ? new Uint8Array(T.length) : new Array(T.length));
                  })(v))), v) : u.Promise.reject(new Error("Can't read the data of '" + E + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));
                });
              };
            },
            {
              "./base64": 1,
              "./external": 6,
              "./nodejsUtils": 14,
              "./support": 30,
              setimmediate: 54
            }
          ],
          33: [
            function(r, n, a) {
              var i = r("./reader/readerFor"), s = r("./utils"), l = r("./signature"), u = r("./zipEntry"), x = r("./support");
              function d(f) {
                this.files = [], this.loadOptions = f;
              }
              d.prototype = {
                checkSignature: function(f) {
                  if (!this.reader.readAndCheckSignature(f)) {
                    this.reader.index -= 4;
                    var m = this.reader.readString(4);
                    throw new Error("Corrupted zip or bug: unexpected signature (" + s.pretty(m) + ", expected " + s.pretty(f) + ")");
                  }
                },
                isSignature: function(f, m) {
                  var p = this.reader.index;
                  this.reader.setIndex(f);
                  var g = this.reader.readString(4) === m;
                  return this.reader.setIndex(p), g;
                },
                readBlockEndOfCentral: function() {
                  this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2);
                  var f = this.reader.readData(this.zipCommentLength), m = x.uint8array ? "uint8array" : "array", p = s.transformTo(m, f);
                  this.zipComment = this.loadOptions.decodeFileName(p);
                },
                readBlockZip64EndOfCentral: function() {
                  this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {};
                  for (var f, m, p, g = this.zip64EndOfCentralSize - 44; 0 < g; ) f = this.reader.readInt(2), m = this.reader.readInt(4), p = this.reader.readData(m), this.zip64ExtensibleData[f] = {
                    id: f,
                    length: m,
                    value: p
                  };
                },
                readBlockZip64EndOfCentralLocator: function() {
                  if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported");
                },
                readLocalFiles: function() {
                  var f, m;
                  for (f = 0; f < this.files.length; f++) m = this.files[f], this.reader.setIndex(m.localHeaderOffset), this.checkSignature(l.LOCAL_FILE_HEADER), m.readLocalPart(this.reader), m.handleUTF8(), m.processAttributes();
                },
                readCentralDir: function() {
                  var f;
                  for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(l.CENTRAL_FILE_HEADER); ) (f = new u({
                    zip64: this.zip64
                  }, this.loadOptions)).readCentralPart(this.reader), this.files.push(f);
                  if (this.centralDirRecords !== this.files.length && this.centralDirRecords !== 0 && this.files.length === 0) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length);
                },
                readEndOfCentral: function() {
                  var f = this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);
                  if (f < 0) throw this.isSignature(0, l.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");
                  this.reader.setIndex(f);
                  var m = f;
                  if (this.checkSignature(l.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === s.MAX_VALUE_16BITS || this.diskWithCentralDirStart === s.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === s.MAX_VALUE_16BITS || this.centralDirRecords === s.MAX_VALUE_16BITS || this.centralDirSize === s.MAX_VALUE_32BITS || this.centralDirOffset === s.MAX_VALUE_32BITS) {
                    if (this.zip64 = true, (f = this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");
                    if (this.reader.setIndex(f), this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, l.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");
                    this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral();
                  }
                  var p = this.centralDirOffset + this.centralDirSize;
                  this.zip64 && (p += 20, p += 12 + this.zip64EndOfCentralSize);
                  var g = m - p;
                  if (0 < g) this.isSignature(m, l.CENTRAL_FILE_HEADER) || (this.reader.zero = g);
                  else if (g < 0) throw new Error("Corrupted zip: missing " + Math.abs(g) + " bytes.");
                },
                prepareReader: function(f) {
                  this.reader = i(f);
                },
                load: function(f) {
                  this.prepareReader(f), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles();
                }
              }, n.exports = d;
            },
            {
              "./reader/readerFor": 22,
              "./signature": 23,
              "./support": 30,
              "./utils": 32,
              "./zipEntry": 34
            }
          ],
          34: [
            function(r, n, a) {
              var i = r("./reader/readerFor"), s = r("./utils"), l = r("./compressedObject"), u = r("./crc32"), x = r("./utf8"), d = r("./compressions"), f = r("./support");
              function m(p, g) {
                this.options = p, this.loadOptions = g;
              }
              m.prototype = {
                isEncrypted: function() {
                  return (1 & this.bitFlag) == 1;
                },
                useUTF8: function() {
                  return (2048 & this.bitFlag) == 2048;
                },
                readLocalPart: function(p) {
                  var g, E;
                  if (p.skip(22), this.fileNameLength = p.readInt(2), E = p.readInt(2), this.fileName = p.readData(this.fileNameLength), p.skip(E), this.compressedSize === -1 || this.uncompressedSize === -1) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");
                  if ((g = (function(A) {
                    for (var w in d) if (Object.prototype.hasOwnProperty.call(d, w) && d[w].magic === A) return d[w];
                    return null;
                  })(this.compressionMethod)) === null) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")");
                  this.decompressed = new l(this.compressedSize, this.uncompressedSize, this.crc32, g, p.readData(this.compressedSize));
                },
                readCentralPart: function(p) {
                  this.versionMadeBy = p.readInt(2), p.skip(2), this.bitFlag = p.readInt(2), this.compressionMethod = p.readString(2), this.date = p.readDate(), this.crc32 = p.readInt(4), this.compressedSize = p.readInt(4), this.uncompressedSize = p.readInt(4);
                  var g = p.readInt(2);
                  if (this.extraFieldsLength = p.readInt(2), this.fileCommentLength = p.readInt(2), this.diskNumberStart = p.readInt(2), this.internalFileAttributes = p.readInt(2), this.externalFileAttributes = p.readInt(4), this.localHeaderOffset = p.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported");
                  p.skip(g), this.readExtraFields(p), this.parseZIP64ExtraField(p), this.fileComment = p.readData(this.fileCommentLength);
                },
                processAttributes: function() {
                  this.unixPermissions = null, this.dosPermissions = null;
                  var p = this.versionMadeBy >> 8;
                  this.dir = !!(16 & this.externalFileAttributes), p == 0 && (this.dosPermissions = 63 & this.externalFileAttributes), p == 3 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || this.fileNameStr.slice(-1) !== "/" || (this.dir = true);
                },
                parseZIP64ExtraField: function() {
                  if (this.extraFields[1]) {
                    var p = i(this.extraFields[1].value);
                    this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = p.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = p.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = p.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = p.readInt(4));
                  }
                },
                readExtraFields: function(p) {
                  var g, E, A, w = p.index + this.extraFieldsLength;
                  for (this.extraFields || (this.extraFields = {}); p.index + 4 < w; ) g = p.readInt(2), E = p.readInt(2), A = p.readData(E), this.extraFields[g] = {
                    id: g,
                    length: E,
                    value: A
                  };
                  p.setIndex(w);
                },
                handleUTF8: function() {
                  var p = f.uint8array ? "uint8array" : "array";
                  if (this.useUTF8()) this.fileNameStr = x.utf8decode(this.fileName), this.fileCommentStr = x.utf8decode(this.fileComment);
                  else {
                    var g = this.findExtraFieldUnicodePath();
                    if (g !== null) this.fileNameStr = g;
                    else {
                      var E = s.transformTo(p, this.fileName);
                      this.fileNameStr = this.loadOptions.decodeFileName(E);
                    }
                    var A = this.findExtraFieldUnicodeComment();
                    if (A !== null) this.fileCommentStr = A;
                    else {
                      var w = s.transformTo(p, this.fileComment);
                      this.fileCommentStr = this.loadOptions.decodeFileName(w);
                    }
                  }
                },
                findExtraFieldUnicodePath: function() {
                  var p = this.extraFields[28789];
                  if (p) {
                    var g = i(p.value);
                    return g.readInt(1) !== 1 || u(this.fileName) !== g.readInt(4) ? null : x.utf8decode(g.readData(p.length - 5));
                  }
                  return null;
                },
                findExtraFieldUnicodeComment: function() {
                  var p = this.extraFields[25461];
                  if (p) {
                    var g = i(p.value);
                    return g.readInt(1) !== 1 || u(this.fileComment) !== g.readInt(4) ? null : x.utf8decode(g.readData(p.length - 5));
                  }
                  return null;
                }
              }, n.exports = m;
            },
            {
              "./compressedObject": 2,
              "./compressions": 3,
              "./crc32": 4,
              "./reader/readerFor": 22,
              "./support": 30,
              "./utf8": 31,
              "./utils": 32
            }
          ],
          35: [
            function(r, n, a) {
              function i(g, E, A) {
                this.name = g, this.dir = A.dir, this.date = A.date, this.comment = A.comment, this.unixPermissions = A.unixPermissions, this.dosPermissions = A.dosPermissions, this._data = E, this._dataBinary = A.binary, this.options = {
                  compression: A.compression,
                  compressionOptions: A.compressionOptions
                };
              }
              var s = r("./stream/StreamHelper"), l = r("./stream/DataWorker"), u = r("./utf8"), x = r("./compressedObject"), d = r("./stream/GenericWorker");
              i.prototype = {
                internalStream: function(g) {
                  var E = null, A = "string";
                  try {
                    if (!g) throw new Error("No output type specified.");
                    var w = (A = g.toLowerCase()) === "string" || A === "text";
                    A !== "binarystring" && A !== "text" || (A = "string"), E = this._decompressWorker();
                    var D = !this._dataBinary;
                    D && !w && (E = E.pipe(new u.Utf8EncodeWorker())), !D && w && (E = E.pipe(new u.Utf8DecodeWorker()));
                  } catch (B) {
                    (E = new d("error")).error(B);
                  }
                  return new s(E, A, "");
                },
                async: function(g, E) {
                  return this.internalStream(g).accumulate(E);
                },
                nodeStream: function(g, E) {
                  return this.internalStream(g || "nodebuffer").toNodejsStream(E);
                },
                _compressWorker: function(g, E) {
                  if (this._data instanceof x && this._data.compression.magic === g.magic) return this._data.getCompressedWorker();
                  var A = this._decompressWorker();
                  return this._dataBinary || (A = A.pipe(new u.Utf8EncodeWorker())), x.createWorkerFrom(A, g, E);
                },
                _decompressWorker: function() {
                  return this._data instanceof x ? this._data.getContentWorker() : this._data instanceof d ? this._data : new l(this._data);
                }
              };
              for (var f = [
                "asText",
                "asBinary",
                "asNodeBuffer",
                "asUint8Array",
                "asArrayBuffer"
              ], m = function() {
                throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
              }, p = 0; p < f.length; p++) i.prototype[f[p]] = m;
              n.exports = i;
            },
            {
              "./compressedObject": 2,
              "./stream/DataWorker": 27,
              "./stream/GenericWorker": 28,
              "./stream/StreamHelper": 29,
              "./utf8": 31
            }
          ],
          36: [
            function(r, n, a) {
              (function(i) {
                var s, l, u = i.MutationObserver || i.WebKitMutationObserver;
                if (u) {
                  var x = 0, d = new u(g), f = i.document.createTextNode("");
                  d.observe(f, {
                    characterData: true
                  }), s = function() {
                    f.data = x = ++x % 2;
                  };
                } else if (i.setImmediate || i.MessageChannel === void 0) s = "document" in i && "onreadystatechange" in i.document.createElement("script") ? function() {
                  var E = i.document.createElement("script");
                  E.onreadystatechange = function() {
                    g(), E.onreadystatechange = null, E.parentNode.removeChild(E), E = null;
                  }, i.document.documentElement.appendChild(E);
                } : function() {
                  setTimeout(g, 0);
                };
                else {
                  var m = new i.MessageChannel();
                  m.port1.onmessage = g, s = function() {
                    m.port2.postMessage(0);
                  };
                }
                var p = [];
                function g() {
                  var E, A;
                  l = true;
                  for (var w = p.length; w; ) {
                    for (A = p, p = [], E = -1; ++E < w; ) A[E]();
                    w = p.length;
                  }
                  l = false;
                }
                n.exports = function(E) {
                  p.push(E) !== 1 || l || s();
                };
              }).call(this, typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : {});
            },
            {}
          ],
          37: [
            function(r, n, a) {
              var i = r("immediate");
              function s() {
              }
              var l = {}, u = [
                "REJECTED"
              ], x = [
                "FULFILLED"
              ], d = [
                "PENDING"
              ];
              function f(w) {
                if (typeof w != "function") throw new TypeError("resolver must be a function");
                this.state = d, this.queue = [], this.outcome = void 0, w !== s && E(this, w);
              }
              function m(w, D, B) {
                this.promise = w, typeof D == "function" && (this.onFulfilled = D, this.callFulfilled = this.otherCallFulfilled), typeof B == "function" && (this.onRejected = B, this.callRejected = this.otherCallRejected);
              }
              function p(w, D, B) {
                i(function() {
                  var v;
                  try {
                    v = D(B);
                  } catch (_) {
                    return l.reject(w, _);
                  }
                  v === w ? l.reject(w, new TypeError("Cannot resolve promise with itself")) : l.resolve(w, v);
                });
              }
              function g(w) {
                var D = w && w.then;
                if (w && (typeof w == "object" || typeof w == "function") && typeof D == "function") return function() {
                  D.apply(w, arguments);
                };
              }
              function E(w, D) {
                var B = false;
                function v(I) {
                  B || (B = true, l.reject(w, I));
                }
                function _(I) {
                  B || (B = true, l.resolve(w, I));
                }
                var T = A(function() {
                  D(_, v);
                });
                T.status === "error" && v(T.value);
              }
              function A(w, D) {
                var B = {};
                try {
                  B.value = w(D), B.status = "success";
                } catch (v) {
                  B.status = "error", B.value = v;
                }
                return B;
              }
              (n.exports = f).prototype.finally = function(w) {
                if (typeof w != "function") return this;
                var D = this.constructor;
                return this.then(function(B) {
                  return D.resolve(w()).then(function() {
                    return B;
                  });
                }, function(B) {
                  return D.resolve(w()).then(function() {
                    throw B;
                  });
                });
              }, f.prototype.catch = function(w) {
                return this.then(null, w);
              }, f.prototype.then = function(w, D) {
                if (typeof w != "function" && this.state === x || typeof D != "function" && this.state === u) return this;
                var B = new this.constructor(s);
                return this.state !== d ? p(B, this.state === x ? w : D, this.outcome) : this.queue.push(new m(B, w, D)), B;
              }, m.prototype.callFulfilled = function(w) {
                l.resolve(this.promise, w);
              }, m.prototype.otherCallFulfilled = function(w) {
                p(this.promise, this.onFulfilled, w);
              }, m.prototype.callRejected = function(w) {
                l.reject(this.promise, w);
              }, m.prototype.otherCallRejected = function(w) {
                p(this.promise, this.onRejected, w);
              }, l.resolve = function(w, D) {
                var B = A(g, D);
                if (B.status === "error") return l.reject(w, B.value);
                var v = B.value;
                if (v) E(w, v);
                else {
                  w.state = x, w.outcome = D;
                  for (var _ = -1, T = w.queue.length; ++_ < T; ) w.queue[_].callFulfilled(D);
                }
                return w;
              }, l.reject = function(w, D) {
                w.state = u, w.outcome = D;
                for (var B = -1, v = w.queue.length; ++B < v; ) w.queue[B].callRejected(D);
                return w;
              }, f.resolve = function(w) {
                return w instanceof this ? w : l.resolve(new this(s), w);
              }, f.reject = function(w) {
                var D = new this(s);
                return l.reject(D, w);
              }, f.all = function(w) {
                var D = this;
                if (Object.prototype.toString.call(w) !== "[object Array]") return this.reject(new TypeError("must be an array"));
                var B = w.length, v = false;
                if (!B) return this.resolve([]);
                for (var _ = new Array(B), T = 0, I = -1, z = new this(s); ++I < B; ) C(w[I], I);
                return z;
                function C(j, U) {
                  D.resolve(j).then(function(P) {
                    _[U] = P, ++T !== B || v || (v = true, l.resolve(z, _));
                  }, function(P) {
                    v || (v = true, l.reject(z, P));
                  });
                }
              }, f.race = function(w) {
                var D = this;
                if (Object.prototype.toString.call(w) !== "[object Array]") return this.reject(new TypeError("must be an array"));
                var B = w.length, v = false;
                if (!B) return this.resolve([]);
                for (var _ = -1, T = new this(s); ++_ < B; ) I = w[_], D.resolve(I).then(function(z) {
                  v || (v = true, l.resolve(T, z));
                }, function(z) {
                  v || (v = true, l.reject(T, z));
                });
                var I;
                return T;
              };
            },
            {
              immediate: 36
            }
          ],
          38: [
            function(r, n, a) {
              var i = {};
              (0, r("./lib/utils/common").assign)(i, r("./lib/deflate"), r("./lib/inflate"), r("./lib/zlib/constants")), n.exports = i;
            },
            {
              "./lib/deflate": 39,
              "./lib/inflate": 40,
              "./lib/utils/common": 41,
              "./lib/zlib/constants": 44
            }
          ],
          39: [
            function(r, n, a) {
              var i = r("./zlib/deflate"), s = r("./utils/common"), l = r("./utils/strings"), u = r("./zlib/messages"), x = r("./zlib/zstream"), d = Object.prototype.toString, f = 0, m = -1, p = 0, g = 8;
              function E(w) {
                if (!(this instanceof E)) return new E(w);
                this.options = s.assign({
                  level: m,
                  method: g,
                  chunkSize: 16384,
                  windowBits: 15,
                  memLevel: 8,
                  strategy: p,
                  to: ""
                }, w || {});
                var D = this.options;
                D.raw && 0 < D.windowBits ? D.windowBits = -D.windowBits : D.gzip && 0 < D.windowBits && D.windowBits < 16 && (D.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new x(), this.strm.avail_out = 0;
                var B = i.deflateInit2(this.strm, D.level, D.method, D.windowBits, D.memLevel, D.strategy);
                if (B !== f) throw new Error(u[B]);
                if (D.header && i.deflateSetHeader(this.strm, D.header), D.dictionary) {
                  var v;
                  if (v = typeof D.dictionary == "string" ? l.string2buf(D.dictionary) : d.call(D.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(D.dictionary) : D.dictionary, (B = i.deflateSetDictionary(this.strm, v)) !== f) throw new Error(u[B]);
                  this._dict_set = true;
                }
              }
              function A(w, D) {
                var B = new E(D);
                if (B.push(w, true), B.err) throw B.msg || u[B.err];
                return B.result;
              }
              E.prototype.push = function(w, D) {
                var B, v, _ = this.strm, T = this.options.chunkSize;
                if (this.ended) return false;
                v = D === ~~D ? D : D === true ? 4 : 0, typeof w == "string" ? _.input = l.string2buf(w) : d.call(w) === "[object ArrayBuffer]" ? _.input = new Uint8Array(w) : _.input = w, _.next_in = 0, _.avail_in = _.input.length;
                do {
                  if (_.avail_out === 0 && (_.output = new s.Buf8(T), _.next_out = 0, _.avail_out = T), (B = i.deflate(_, v)) !== 1 && B !== f) return this.onEnd(B), !(this.ended = true);
                  _.avail_out !== 0 && (_.avail_in !== 0 || v !== 4 && v !== 2) || (this.options.to === "string" ? this.onData(l.buf2binstring(s.shrinkBuf(_.output, _.next_out))) : this.onData(s.shrinkBuf(_.output, _.next_out)));
                } while ((0 < _.avail_in || _.avail_out === 0) && B !== 1);
                return v === 4 ? (B = i.deflateEnd(this.strm), this.onEnd(B), this.ended = true, B === f) : v !== 2 || (this.onEnd(f), !(_.avail_out = 0));
              }, E.prototype.onData = function(w) {
                this.chunks.push(w);
              }, E.prototype.onEnd = function(w) {
                w === f && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = w, this.msg = this.strm.msg;
              }, a.Deflate = E, a.deflate = A, a.deflateRaw = function(w, D) {
                return (D = D || {}).raw = true, A(w, D);
              }, a.gzip = function(w, D) {
                return (D = D || {}).gzip = true, A(w, D);
              };
            },
            {
              "./utils/common": 41,
              "./utils/strings": 42,
              "./zlib/deflate": 46,
              "./zlib/messages": 51,
              "./zlib/zstream": 53
            }
          ],
          40: [
            function(r, n, a) {
              var i = r("./zlib/inflate"), s = r("./utils/common"), l = r("./utils/strings"), u = r("./zlib/constants"), x = r("./zlib/messages"), d = r("./zlib/zstream"), f = r("./zlib/gzheader"), m = Object.prototype.toString;
              function p(E) {
                if (!(this instanceof p)) return new p(E);
                this.options = s.assign({
                  chunkSize: 16384,
                  windowBits: 0,
                  to: ""
                }, E || {});
                var A = this.options;
                A.raw && 0 <= A.windowBits && A.windowBits < 16 && (A.windowBits = -A.windowBits, A.windowBits === 0 && (A.windowBits = -15)), !(0 <= A.windowBits && A.windowBits < 16) || E && E.windowBits || (A.windowBits += 32), 15 < A.windowBits && A.windowBits < 48 && (15 & A.windowBits) == 0 && (A.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new d(), this.strm.avail_out = 0;
                var w = i.inflateInit2(this.strm, A.windowBits);
                if (w !== u.Z_OK) throw new Error(x[w]);
                this.header = new f(), i.inflateGetHeader(this.strm, this.header);
              }
              function g(E, A) {
                var w = new p(A);
                if (w.push(E, true), w.err) throw w.msg || x[w.err];
                return w.result;
              }
              p.prototype.push = function(E, A) {
                var w, D, B, v, _, T, I = this.strm, z = this.options.chunkSize, C = this.options.dictionary, j = false;
                if (this.ended) return false;
                D = A === ~~A ? A : A === true ? u.Z_FINISH : u.Z_NO_FLUSH, typeof E == "string" ? I.input = l.binstring2buf(E) : m.call(E) === "[object ArrayBuffer]" ? I.input = new Uint8Array(E) : I.input = E, I.next_in = 0, I.avail_in = I.input.length;
                do {
                  if (I.avail_out === 0 && (I.output = new s.Buf8(z), I.next_out = 0, I.avail_out = z), (w = i.inflate(I, u.Z_NO_FLUSH)) === u.Z_NEED_DICT && C && (T = typeof C == "string" ? l.string2buf(C) : m.call(C) === "[object ArrayBuffer]" ? new Uint8Array(C) : C, w = i.inflateSetDictionary(this.strm, T)), w === u.Z_BUF_ERROR && j === true && (w = u.Z_OK, j = false), w !== u.Z_STREAM_END && w !== u.Z_OK) return this.onEnd(w), !(this.ended = true);
                  I.next_out && (I.avail_out !== 0 && w !== u.Z_STREAM_END && (I.avail_in !== 0 || D !== u.Z_FINISH && D !== u.Z_SYNC_FLUSH) || (this.options.to === "string" ? (B = l.utf8border(I.output, I.next_out), v = I.next_out - B, _ = l.buf2string(I.output, B), I.next_out = v, I.avail_out = z - v, v && s.arraySet(I.output, I.output, B, v, 0), this.onData(_)) : this.onData(s.shrinkBuf(I.output, I.next_out)))), I.avail_in === 0 && I.avail_out === 0 && (j = true);
                } while ((0 < I.avail_in || I.avail_out === 0) && w !== u.Z_STREAM_END);
                return w === u.Z_STREAM_END && (D = u.Z_FINISH), D === u.Z_FINISH ? (w = i.inflateEnd(this.strm), this.onEnd(w), this.ended = true, w === u.Z_OK) : D !== u.Z_SYNC_FLUSH || (this.onEnd(u.Z_OK), !(I.avail_out = 0));
              }, p.prototype.onData = function(E) {
                this.chunks.push(E);
              }, p.prototype.onEnd = function(E) {
                E === u.Z_OK && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = E, this.msg = this.strm.msg;
              }, a.Inflate = p, a.inflate = g, a.inflateRaw = function(E, A) {
                return (A = A || {}).raw = true, g(E, A);
              }, a.ungzip = g;
            },
            {
              "./utils/common": 41,
              "./utils/strings": 42,
              "./zlib/constants": 44,
              "./zlib/gzheader": 47,
              "./zlib/inflate": 49,
              "./zlib/messages": 51,
              "./zlib/zstream": 53
            }
          ],
          41: [
            function(r, n, a) {
              var i = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Int32Array < "u";
              a.assign = function(u) {
                for (var x = Array.prototype.slice.call(arguments, 1); x.length; ) {
                  var d = x.shift();
                  if (d) {
                    if (typeof d != "object") throw new TypeError(d + "must be non-object");
                    for (var f in d) d.hasOwnProperty(f) && (u[f] = d[f]);
                  }
                }
                return u;
              }, a.shrinkBuf = function(u, x) {
                return u.length === x ? u : u.subarray ? u.subarray(0, x) : (u.length = x, u);
              };
              var s = {
                arraySet: function(u, x, d, f, m) {
                  if (x.subarray && u.subarray) u.set(x.subarray(d, d + f), m);
                  else for (var p = 0; p < f; p++) u[m + p] = x[d + p];
                },
                flattenChunks: function(u) {
                  var x, d, f, m, p, g;
                  for (x = f = 0, d = u.length; x < d; x++) f += u[x].length;
                  for (g = new Uint8Array(f), x = m = 0, d = u.length; x < d; x++) p = u[x], g.set(p, m), m += p.length;
                  return g;
                }
              }, l = {
                arraySet: function(u, x, d, f, m) {
                  for (var p = 0; p < f; p++) u[m + p] = x[d + p];
                },
                flattenChunks: function(u) {
                  return [].concat.apply([], u);
                }
              };
              a.setTyped = function(u) {
                u ? (a.Buf8 = Uint8Array, a.Buf16 = Uint16Array, a.Buf32 = Int32Array, a.assign(a, s)) : (a.Buf8 = Array, a.Buf16 = Array, a.Buf32 = Array, a.assign(a, l));
              }, a.setTyped(i);
            },
            {}
          ],
          42: [
            function(r, n, a) {
              var i = r("./common"), s = true, l = true;
              try {
                String.fromCharCode.apply(null, [
                  0
                ]);
              } catch {
                s = false;
              }
              try {
                String.fromCharCode.apply(null, new Uint8Array(1));
              } catch {
                l = false;
              }
              for (var u = new i.Buf8(256), x = 0; x < 256; x++) u[x] = 252 <= x ? 6 : 248 <= x ? 5 : 240 <= x ? 4 : 224 <= x ? 3 : 192 <= x ? 2 : 1;
              function d(f, m) {
                if (m < 65537 && (f.subarray && l || !f.subarray && s)) return String.fromCharCode.apply(null, i.shrinkBuf(f, m));
                for (var p = "", g = 0; g < m; g++) p += String.fromCharCode(f[g]);
                return p;
              }
              u[254] = u[254] = 1, a.string2buf = function(f) {
                var m, p, g, E, A, w = f.length, D = 0;
                for (E = 0; E < w; E++) (64512 & (p = f.charCodeAt(E))) == 55296 && E + 1 < w && (64512 & (g = f.charCodeAt(E + 1))) == 56320 && (p = 65536 + (p - 55296 << 10) + (g - 56320), E++), D += p < 128 ? 1 : p < 2048 ? 2 : p < 65536 ? 3 : 4;
                for (m = new i.Buf8(D), E = A = 0; A < D; E++) (64512 & (p = f.charCodeAt(E))) == 55296 && E + 1 < w && (64512 & (g = f.charCodeAt(E + 1))) == 56320 && (p = 65536 + (p - 55296 << 10) + (g - 56320), E++), p < 128 ? m[A++] = p : (p < 2048 ? m[A++] = 192 | p >>> 6 : (p < 65536 ? m[A++] = 224 | p >>> 12 : (m[A++] = 240 | p >>> 18, m[A++] = 128 | p >>> 12 & 63), m[A++] = 128 | p >>> 6 & 63), m[A++] = 128 | 63 & p);
                return m;
              }, a.buf2binstring = function(f) {
                return d(f, f.length);
              }, a.binstring2buf = function(f) {
                for (var m = new i.Buf8(f.length), p = 0, g = m.length; p < g; p++) m[p] = f.charCodeAt(p);
                return m;
              }, a.buf2string = function(f, m) {
                var p, g, E, A, w = m || f.length, D = new Array(2 * w);
                for (p = g = 0; p < w; ) if ((E = f[p++]) < 128) D[g++] = E;
                else if (4 < (A = u[E])) D[g++] = 65533, p += A - 1;
                else {
                  for (E &= A === 2 ? 31 : A === 3 ? 15 : 7; 1 < A && p < w; ) E = E << 6 | 63 & f[p++], A--;
                  1 < A ? D[g++] = 65533 : E < 65536 ? D[g++] = E : (E -= 65536, D[g++] = 55296 | E >> 10 & 1023, D[g++] = 56320 | 1023 & E);
                }
                return d(D, g);
              }, a.utf8border = function(f, m) {
                var p;
                for ((m = m || f.length) > f.length && (m = f.length), p = m - 1; 0 <= p && (192 & f[p]) == 128; ) p--;
                return p < 0 || p === 0 ? m : p + u[f[p]] > m ? p : m;
              };
            },
            {
              "./common": 41
            }
          ],
          43: [
            function(r, n, a) {
              n.exports = function(i, s, l, u) {
                for (var x = 65535 & i | 0, d = i >>> 16 & 65535 | 0, f = 0; l !== 0; ) {
                  for (l -= f = 2e3 < l ? 2e3 : l; d = d + (x = x + s[u++] | 0) | 0, --f; ) ;
                  x %= 65521, d %= 65521;
                }
                return x | d << 16 | 0;
              };
            },
            {}
          ],
          44: [
            function(r, n, a) {
              n.exports = {
                Z_NO_FLUSH: 0,
                Z_PARTIAL_FLUSH: 1,
                Z_SYNC_FLUSH: 2,
                Z_FULL_FLUSH: 3,
                Z_FINISH: 4,
                Z_BLOCK: 5,
                Z_TREES: 6,
                Z_OK: 0,
                Z_STREAM_END: 1,
                Z_NEED_DICT: 2,
                Z_ERRNO: -1,
                Z_STREAM_ERROR: -2,
                Z_DATA_ERROR: -3,
                Z_BUF_ERROR: -5,
                Z_NO_COMPRESSION: 0,
                Z_BEST_SPEED: 1,
                Z_BEST_COMPRESSION: 9,
                Z_DEFAULT_COMPRESSION: -1,
                Z_FILTERED: 1,
                Z_HUFFMAN_ONLY: 2,
                Z_RLE: 3,
                Z_FIXED: 4,
                Z_DEFAULT_STRATEGY: 0,
                Z_BINARY: 0,
                Z_TEXT: 1,
                Z_UNKNOWN: 2,
                Z_DEFLATED: 8
              };
            },
            {}
          ],
          45: [
            function(r, n, a) {
              var i = (function() {
                for (var s, l = [], u = 0; u < 256; u++) {
                  s = u;
                  for (var x = 0; x < 8; x++) s = 1 & s ? 3988292384 ^ s >>> 1 : s >>> 1;
                  l[u] = s;
                }
                return l;
              })();
              n.exports = function(s, l, u, x) {
                var d = i, f = x + u;
                s ^= -1;
                for (var m = x; m < f; m++) s = s >>> 8 ^ d[255 & (s ^ l[m])];
                return -1 ^ s;
              };
            },
            {}
          ],
          46: [
            function(r, n, a) {
              var i, s = r("../utils/common"), l = r("./trees"), u = r("./adler32"), x = r("./crc32"), d = r("./messages"), f = 0, m = 4, p = 0, g = -2, E = -1, A = 4, w = 2, D = 8, B = 9, v = 286, _ = 30, T = 19, I = 2 * v + 1, z = 15, C = 3, j = 258, U = j + C + 1, P = 42, L = 113, F = 1, q = 2, $ = 3, Y = 4;
              function J(O, se) {
                return O.msg = d[se], se;
              }
              function Q(O) {
                return (O << 1) - (4 < O ? 9 : 0);
              }
              function Z(O) {
                for (var se = O.length; 0 <= --se; ) O[se] = 0;
              }
              function M(O) {
                var se = O.state, ce = se.pending;
                ce > O.avail_out && (ce = O.avail_out), ce !== 0 && (s.arraySet(O.output, se.pending_buf, se.pending_out, ce, O.next_out), O.next_out += ce, se.pending_out += ce, O.total_out += ce, O.avail_out -= ce, se.pending -= ce, se.pending === 0 && (se.pending_out = 0));
              }
              function H(O, se) {
                l._tr_flush_block(O, 0 <= O.block_start ? O.block_start : -1, O.strstart - O.block_start, se), O.block_start = O.strstart, M(O.strm);
              }
              function re(O, se) {
                O.pending_buf[O.pending++] = se;
              }
              function te(O, se) {
                O.pending_buf[O.pending++] = se >>> 8 & 255, O.pending_buf[O.pending++] = 255 & se;
              }
              function ae(O, se) {
                var ce, ee, X = O.max_chain_length, oe = O.strstart, Be = O.prev_length, ve = O.nice_match, he = O.strstart > O.w_size - U ? O.strstart - (O.w_size - U) : 0, Se = O.window, Ue = O.w_mask, Ie = O.prev, Me = O.strstart + j, W = Se[oe + Be - 1], N = Se[oe + Be];
                O.prev_length >= O.good_match && (X >>= 2), ve > O.lookahead && (ve = O.lookahead);
                do
                  if (Se[(ce = se) + Be] === N && Se[ce + Be - 1] === W && Se[ce] === Se[oe] && Se[++ce] === Se[oe + 1]) {
                    oe += 2, ce++;
                    do
                      ;
                    while (Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && Se[++oe] === Se[++ce] && oe < Me);
                    if (ee = j - (Me - oe), oe = Me - j, Be < ee) {
                      if (O.match_start = se, ve <= (Be = ee)) break;
                      W = Se[oe + Be - 1], N = Se[oe + Be];
                    }
                  }
                while ((se = Ie[se & Ue]) > he && --X != 0);
                return Be <= O.lookahead ? Be : O.lookahead;
              }
              function xe(O) {
                var se, ce, ee, X, oe, Be, ve, he, Se, Ue, Ie = O.w_size;
                do {
                  if (X = O.window_size - O.lookahead - O.strstart, O.strstart >= Ie + (Ie - U)) {
                    for (s.arraySet(O.window, O.window, Ie, Ie, 0), O.match_start -= Ie, O.strstart -= Ie, O.block_start -= Ie, se = ce = O.hash_size; ee = O.head[--se], O.head[se] = Ie <= ee ? ee - Ie : 0, --ce; ) ;
                    for (se = ce = Ie; ee = O.prev[--se], O.prev[se] = Ie <= ee ? ee - Ie : 0, --ce; ) ;
                    X += Ie;
                  }
                  if (O.strm.avail_in === 0) break;
                  if (Be = O.strm, ve = O.window, he = O.strstart + O.lookahead, Se = X, Ue = void 0, Ue = Be.avail_in, Se < Ue && (Ue = Se), ce = Ue === 0 ? 0 : (Be.avail_in -= Ue, s.arraySet(ve, Be.input, Be.next_in, Ue, he), Be.state.wrap === 1 ? Be.adler = u(Be.adler, ve, Ue, he) : Be.state.wrap === 2 && (Be.adler = x(Be.adler, ve, Ue, he)), Be.next_in += Ue, Be.total_in += Ue, Ue), O.lookahead += ce, O.lookahead + O.insert >= C) for (oe = O.strstart - O.insert, O.ins_h = O.window[oe], O.ins_h = (O.ins_h << O.hash_shift ^ O.window[oe + 1]) & O.hash_mask; O.insert && (O.ins_h = (O.ins_h << O.hash_shift ^ O.window[oe + C - 1]) & O.hash_mask, O.prev[oe & O.w_mask] = O.head[O.ins_h], O.head[O.ins_h] = oe, oe++, O.insert--, !(O.lookahead + O.insert < C)); ) ;
                } while (O.lookahead < U && O.strm.avail_in !== 0);
              }
              function me(O, se) {
                for (var ce, ee; ; ) {
                  if (O.lookahead < U) {
                    if (xe(O), O.lookahead < U && se === f) return F;
                    if (O.lookahead === 0) break;
                  }
                  if (ce = 0, O.lookahead >= C && (O.ins_h = (O.ins_h << O.hash_shift ^ O.window[O.strstart + C - 1]) & O.hash_mask, ce = O.prev[O.strstart & O.w_mask] = O.head[O.ins_h], O.head[O.ins_h] = O.strstart), ce !== 0 && O.strstart - ce <= O.w_size - U && (O.match_length = ae(O, ce)), O.match_length >= C) if (ee = l._tr_tally(O, O.strstart - O.match_start, O.match_length - C), O.lookahead -= O.match_length, O.match_length <= O.max_lazy_match && O.lookahead >= C) {
                    for (O.match_length--; O.strstart++, O.ins_h = (O.ins_h << O.hash_shift ^ O.window[O.strstart + C - 1]) & O.hash_mask, ce = O.prev[O.strstart & O.w_mask] = O.head[O.ins_h], O.head[O.ins_h] = O.strstart, --O.match_length != 0; ) ;
                    O.strstart++;
                  } else O.strstart += O.match_length, O.match_length = 0, O.ins_h = O.window[O.strstart], O.ins_h = (O.ins_h << O.hash_shift ^ O.window[O.strstart + 1]) & O.hash_mask;
                  else ee = l._tr_tally(O, 0, O.window[O.strstart]), O.lookahead--, O.strstart++;
                  if (ee && (H(O, false), O.strm.avail_out === 0)) return F;
                }
                return O.insert = O.strstart < C - 1 ? O.strstart : C - 1, se === m ? (H(O, true), O.strm.avail_out === 0 ? $ : Y) : O.last_lit && (H(O, false), O.strm.avail_out === 0) ? F : q;
              }
              function fe(O, se) {
                for (var ce, ee, X; ; ) {
                  if (O.lookahead < U) {
                    if (xe(O), O.lookahead < U && se === f) return F;
                    if (O.lookahead === 0) break;
                  }
                  if (ce = 0, O.lookahead >= C && (O.ins_h = (O.ins_h << O.hash_shift ^ O.window[O.strstart + C - 1]) & O.hash_mask, ce = O.prev[O.strstart & O.w_mask] = O.head[O.ins_h], O.head[O.ins_h] = O.strstart), O.prev_length = O.match_length, O.prev_match = O.match_start, O.match_length = C - 1, ce !== 0 && O.prev_length < O.max_lazy_match && O.strstart - ce <= O.w_size - U && (O.match_length = ae(O, ce), O.match_length <= 5 && (O.strategy === 1 || O.match_length === C && 4096 < O.strstart - O.match_start) && (O.match_length = C - 1)), O.prev_length >= C && O.match_length <= O.prev_length) {
                    for (X = O.strstart + O.lookahead - C, ee = l._tr_tally(O, O.strstart - 1 - O.prev_match, O.prev_length - C), O.lookahead -= O.prev_length - 1, O.prev_length -= 2; ++O.strstart <= X && (O.ins_h = (O.ins_h << O.hash_shift ^ O.window[O.strstart + C - 1]) & O.hash_mask, ce = O.prev[O.strstart & O.w_mask] = O.head[O.ins_h], O.head[O.ins_h] = O.strstart), --O.prev_length != 0; ) ;
                    if (O.match_available = 0, O.match_length = C - 1, O.strstart++, ee && (H(O, false), O.strm.avail_out === 0)) return F;
                  } else if (O.match_available) {
                    if ((ee = l._tr_tally(O, 0, O.window[O.strstart - 1])) && H(O, false), O.strstart++, O.lookahead--, O.strm.avail_out === 0) return F;
                  } else O.match_available = 1, O.strstart++, O.lookahead--;
                }
                return O.match_available && (ee = l._tr_tally(O, 0, O.window[O.strstart - 1]), O.match_available = 0), O.insert = O.strstart < C - 1 ? O.strstart : C - 1, se === m ? (H(O, true), O.strm.avail_out === 0 ? $ : Y) : O.last_lit && (H(O, false), O.strm.avail_out === 0) ? F : q;
              }
              function ye(O, se, ce, ee, X) {
                this.good_length = O, this.max_lazy = se, this.nice_length = ce, this.max_chain = ee, this.func = X;
              }
              function Ce() {
                this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = D, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new s.Buf16(2 * I), this.dyn_dtree = new s.Buf16(2 * (2 * _ + 1)), this.bl_tree = new s.Buf16(2 * (2 * T + 1)), Z(this.dyn_ltree), Z(this.dyn_dtree), Z(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new s.Buf16(z + 1), this.heap = new s.Buf16(2 * v + 1), Z(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new s.Buf16(2 * v + 1), Z(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
              }
              function ke(O) {
                var se;
                return O && O.state ? (O.total_in = O.total_out = 0, O.data_type = w, (se = O.state).pending = 0, se.pending_out = 0, se.wrap < 0 && (se.wrap = -se.wrap), se.status = se.wrap ? P : L, O.adler = se.wrap === 2 ? 0 : 1, se.last_flush = f, l._tr_init(se), p) : J(O, g);
              }
              function je(O) {
                var se = ke(O);
                return se === p && (function(ce) {
                  ce.window_size = 2 * ce.w_size, Z(ce.head), ce.max_lazy_match = i[ce.level].max_lazy, ce.good_match = i[ce.level].good_length, ce.nice_match = i[ce.level].nice_length, ce.max_chain_length = i[ce.level].max_chain, ce.strstart = 0, ce.block_start = 0, ce.lookahead = 0, ce.insert = 0, ce.match_length = ce.prev_length = C - 1, ce.match_available = 0, ce.ins_h = 0;
                })(O.state), se;
              }
              function Re(O, se, ce, ee, X, oe) {
                if (!O) return g;
                var Be = 1;
                if (se === E && (se = 6), ee < 0 ? (Be = 0, ee = -ee) : 15 < ee && (Be = 2, ee -= 16), X < 1 || B < X || ce !== D || ee < 8 || 15 < ee || se < 0 || 9 < se || oe < 0 || A < oe) return J(O, g);
                ee === 8 && (ee = 9);
                var ve = new Ce();
                return (O.state = ve).strm = O, ve.wrap = Be, ve.gzhead = null, ve.w_bits = ee, ve.w_size = 1 << ve.w_bits, ve.w_mask = ve.w_size - 1, ve.hash_bits = X + 7, ve.hash_size = 1 << ve.hash_bits, ve.hash_mask = ve.hash_size - 1, ve.hash_shift = ~~((ve.hash_bits + C - 1) / C), ve.window = new s.Buf8(2 * ve.w_size), ve.head = new s.Buf16(ve.hash_size), ve.prev = new s.Buf16(ve.w_size), ve.lit_bufsize = 1 << X + 6, ve.pending_buf_size = 4 * ve.lit_bufsize, ve.pending_buf = new s.Buf8(ve.pending_buf_size), ve.d_buf = 1 * ve.lit_bufsize, ve.l_buf = 3 * ve.lit_bufsize, ve.level = se, ve.strategy = oe, ve.method = ce, je(O);
              }
              i = [
                new ye(0, 0, 0, 0, function(O, se) {
                  var ce = 65535;
                  for (ce > O.pending_buf_size - 5 && (ce = O.pending_buf_size - 5); ; ) {
                    if (O.lookahead <= 1) {
                      if (xe(O), O.lookahead === 0 && se === f) return F;
                      if (O.lookahead === 0) break;
                    }
                    O.strstart += O.lookahead, O.lookahead = 0;
                    var ee = O.block_start + ce;
                    if ((O.strstart === 0 || O.strstart >= ee) && (O.lookahead = O.strstart - ee, O.strstart = ee, H(O, false), O.strm.avail_out === 0) || O.strstart - O.block_start >= O.w_size - U && (H(O, false), O.strm.avail_out === 0)) return F;
                  }
                  return O.insert = 0, se === m ? (H(O, true), O.strm.avail_out === 0 ? $ : Y) : (O.strstart > O.block_start && (H(O, false), O.strm.avail_out), F);
                }),
                new ye(4, 4, 8, 4, me),
                new ye(4, 5, 16, 8, me),
                new ye(4, 6, 32, 32, me),
                new ye(4, 4, 16, 16, fe),
                new ye(8, 16, 32, 32, fe),
                new ye(8, 16, 128, 128, fe),
                new ye(8, 32, 128, 256, fe),
                new ye(32, 128, 258, 1024, fe),
                new ye(32, 258, 258, 4096, fe)
              ], a.deflateInit = function(O, se) {
                return Re(O, se, D, 15, 8, 0);
              }, a.deflateInit2 = Re, a.deflateReset = je, a.deflateResetKeep = ke, a.deflateSetHeader = function(O, se) {
                return O && O.state ? O.state.wrap !== 2 ? g : (O.state.gzhead = se, p) : g;
              }, a.deflate = function(O, se) {
                var ce, ee, X, oe;
                if (!O || !O.state || 5 < se || se < 0) return O ? J(O, g) : g;
                if (ee = O.state, !O.output || !O.input && O.avail_in !== 0 || ee.status === 666 && se !== m) return J(O, O.avail_out === 0 ? -5 : g);
                if (ee.strm = O, ce = ee.last_flush, ee.last_flush = se, ee.status === P) if (ee.wrap === 2) O.adler = 0, re(ee, 31), re(ee, 139), re(ee, 8), ee.gzhead ? (re(ee, (ee.gzhead.text ? 1 : 0) + (ee.gzhead.hcrc ? 2 : 0) + (ee.gzhead.extra ? 4 : 0) + (ee.gzhead.name ? 8 : 0) + (ee.gzhead.comment ? 16 : 0)), re(ee, 255 & ee.gzhead.time), re(ee, ee.gzhead.time >> 8 & 255), re(ee, ee.gzhead.time >> 16 & 255), re(ee, ee.gzhead.time >> 24 & 255), re(ee, ee.level === 9 ? 2 : 2 <= ee.strategy || ee.level < 2 ? 4 : 0), re(ee, 255 & ee.gzhead.os), ee.gzhead.extra && ee.gzhead.extra.length && (re(ee, 255 & ee.gzhead.extra.length), re(ee, ee.gzhead.extra.length >> 8 & 255)), ee.gzhead.hcrc && (O.adler = x(O.adler, ee.pending_buf, ee.pending, 0)), ee.gzindex = 0, ee.status = 69) : (re(ee, 0), re(ee, 0), re(ee, 0), re(ee, 0), re(ee, 0), re(ee, ee.level === 9 ? 2 : 2 <= ee.strategy || ee.level < 2 ? 4 : 0), re(ee, 3), ee.status = L);
                else {
                  var Be = D + (ee.w_bits - 8 << 4) << 8;
                  Be |= (2 <= ee.strategy || ee.level < 2 ? 0 : ee.level < 6 ? 1 : ee.level === 6 ? 2 : 3) << 6, ee.strstart !== 0 && (Be |= 32), Be += 31 - Be % 31, ee.status = L, te(ee, Be), ee.strstart !== 0 && (te(ee, O.adler >>> 16), te(ee, 65535 & O.adler)), O.adler = 1;
                }
                if (ee.status === 69) if (ee.gzhead.extra) {
                  for (X = ee.pending; ee.gzindex < (65535 & ee.gzhead.extra.length) && (ee.pending !== ee.pending_buf_size || (ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), M(O), X = ee.pending, ee.pending !== ee.pending_buf_size)); ) re(ee, 255 & ee.gzhead.extra[ee.gzindex]), ee.gzindex++;
                  ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), ee.gzindex === ee.gzhead.extra.length && (ee.gzindex = 0, ee.status = 73);
                } else ee.status = 73;
                if (ee.status === 73) if (ee.gzhead.name) {
                  X = ee.pending;
                  do {
                    if (ee.pending === ee.pending_buf_size && (ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), M(O), X = ee.pending, ee.pending === ee.pending_buf_size)) {
                      oe = 1;
                      break;
                    }
                    oe = ee.gzindex < ee.gzhead.name.length ? 255 & ee.gzhead.name.charCodeAt(ee.gzindex++) : 0, re(ee, oe);
                  } while (oe !== 0);
                  ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), oe === 0 && (ee.gzindex = 0, ee.status = 91);
                } else ee.status = 91;
                if (ee.status === 91) if (ee.gzhead.comment) {
                  X = ee.pending;
                  do {
                    if (ee.pending === ee.pending_buf_size && (ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), M(O), X = ee.pending, ee.pending === ee.pending_buf_size)) {
                      oe = 1;
                      break;
                    }
                    oe = ee.gzindex < ee.gzhead.comment.length ? 255 & ee.gzhead.comment.charCodeAt(ee.gzindex++) : 0, re(ee, oe);
                  } while (oe !== 0);
                  ee.gzhead.hcrc && ee.pending > X && (O.adler = x(O.adler, ee.pending_buf, ee.pending - X, X)), oe === 0 && (ee.status = 103);
                } else ee.status = 103;
                if (ee.status === 103 && (ee.gzhead.hcrc ? (ee.pending + 2 > ee.pending_buf_size && M(O), ee.pending + 2 <= ee.pending_buf_size && (re(ee, 255 & O.adler), re(ee, O.adler >> 8 & 255), O.adler = 0, ee.status = L)) : ee.status = L), ee.pending !== 0) {
                  if (M(O), O.avail_out === 0) return ee.last_flush = -1, p;
                } else if (O.avail_in === 0 && Q(se) <= Q(ce) && se !== m) return J(O, -5);
                if (ee.status === 666 && O.avail_in !== 0) return J(O, -5);
                if (O.avail_in !== 0 || ee.lookahead !== 0 || se !== f && ee.status !== 666) {
                  var ve = ee.strategy === 2 ? (function(he, Se) {
                    for (var Ue; ; ) {
                      if (he.lookahead === 0 && (xe(he), he.lookahead === 0)) {
                        if (Se === f) return F;
                        break;
                      }
                      if (he.match_length = 0, Ue = l._tr_tally(he, 0, he.window[he.strstart]), he.lookahead--, he.strstart++, Ue && (H(he, false), he.strm.avail_out === 0)) return F;
                    }
                    return he.insert = 0, Se === m ? (H(he, true), he.strm.avail_out === 0 ? $ : Y) : he.last_lit && (H(he, false), he.strm.avail_out === 0) ? F : q;
                  })(ee, se) : ee.strategy === 3 ? (function(he, Se) {
                    for (var Ue, Ie, Me, W, N = he.window; ; ) {
                      if (he.lookahead <= j) {
                        if (xe(he), he.lookahead <= j && Se === f) return F;
                        if (he.lookahead === 0) break;
                      }
                      if (he.match_length = 0, he.lookahead >= C && 0 < he.strstart && (Ie = N[Me = he.strstart - 1]) === N[++Me] && Ie === N[++Me] && Ie === N[++Me]) {
                        W = he.strstart + j;
                        do
                          ;
                        while (Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Ie === N[++Me] && Me < W);
                        he.match_length = j - (W - Me), he.match_length > he.lookahead && (he.match_length = he.lookahead);
                      }
                      if (he.match_length >= C ? (Ue = l._tr_tally(he, 1, he.match_length - C), he.lookahead -= he.match_length, he.strstart += he.match_length, he.match_length = 0) : (Ue = l._tr_tally(he, 0, he.window[he.strstart]), he.lookahead--, he.strstart++), Ue && (H(he, false), he.strm.avail_out === 0)) return F;
                    }
                    return he.insert = 0, Se === m ? (H(he, true), he.strm.avail_out === 0 ? $ : Y) : he.last_lit && (H(he, false), he.strm.avail_out === 0) ? F : q;
                  })(ee, se) : i[ee.level].func(ee, se);
                  if (ve !== $ && ve !== Y || (ee.status = 666), ve === F || ve === $) return O.avail_out === 0 && (ee.last_flush = -1), p;
                  if (ve === q && (se === 1 ? l._tr_align(ee) : se !== 5 && (l._tr_stored_block(ee, 0, 0, false), se === 3 && (Z(ee.head), ee.lookahead === 0 && (ee.strstart = 0, ee.block_start = 0, ee.insert = 0))), M(O), O.avail_out === 0)) return ee.last_flush = -1, p;
                }
                return se !== m ? p : ee.wrap <= 0 ? 1 : (ee.wrap === 2 ? (re(ee, 255 & O.adler), re(ee, O.adler >> 8 & 255), re(ee, O.adler >> 16 & 255), re(ee, O.adler >> 24 & 255), re(ee, 255 & O.total_in), re(ee, O.total_in >> 8 & 255), re(ee, O.total_in >> 16 & 255), re(ee, O.total_in >> 24 & 255)) : (te(ee, O.adler >>> 16), te(ee, 65535 & O.adler)), M(O), 0 < ee.wrap && (ee.wrap = -ee.wrap), ee.pending !== 0 ? p : 1);
              }, a.deflateEnd = function(O) {
                var se;
                return O && O.state ? (se = O.state.status) !== P && se !== 69 && se !== 73 && se !== 91 && se !== 103 && se !== L && se !== 666 ? J(O, g) : (O.state = null, se === L ? J(O, -3) : p) : g;
              }, a.deflateSetDictionary = function(O, se) {
                var ce, ee, X, oe, Be, ve, he, Se, Ue = se.length;
                if (!O || !O.state || (oe = (ce = O.state).wrap) === 2 || oe === 1 && ce.status !== P || ce.lookahead) return g;
                for (oe === 1 && (O.adler = u(O.adler, se, Ue, 0)), ce.wrap = 0, Ue >= ce.w_size && (oe === 0 && (Z(ce.head), ce.strstart = 0, ce.block_start = 0, ce.insert = 0), Se = new s.Buf8(ce.w_size), s.arraySet(Se, se, Ue - ce.w_size, ce.w_size, 0), se = Se, Ue = ce.w_size), Be = O.avail_in, ve = O.next_in, he = O.input, O.avail_in = Ue, O.next_in = 0, O.input = se, xe(ce); ce.lookahead >= C; ) {
                  for (ee = ce.strstart, X = ce.lookahead - (C - 1); ce.ins_h = (ce.ins_h << ce.hash_shift ^ ce.window[ee + C - 1]) & ce.hash_mask, ce.prev[ee & ce.w_mask] = ce.head[ce.ins_h], ce.head[ce.ins_h] = ee, ee++, --X; ) ;
                  ce.strstart = ee, ce.lookahead = C - 1, xe(ce);
                }
                return ce.strstart += ce.lookahead, ce.block_start = ce.strstart, ce.insert = ce.lookahead, ce.lookahead = 0, ce.match_length = ce.prev_length = C - 1, ce.match_available = 0, O.next_in = ve, O.input = he, O.avail_in = Be, ce.wrap = oe, p;
              }, a.deflateInfo = "pako deflate (from Nodeca project)";
            },
            {
              "../utils/common": 41,
              "./adler32": 43,
              "./crc32": 45,
              "./messages": 51,
              "./trees": 52
            }
          ],
          47: [
            function(r, n, a) {
              n.exports = function() {
                this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false;
              };
            },
            {}
          ],
          48: [
            function(r, n, a) {
              n.exports = function(i, s) {
                var l, u, x, d, f, m, p, g, E, A, w, D, B, v, _, T, I, z, C, j, U, P, L, F, q;
                l = i.state, u = i.next_in, F = i.input, x = u + (i.avail_in - 5), d = i.next_out, q = i.output, f = d - (s - i.avail_out), m = d + (i.avail_out - 257), p = l.dmax, g = l.wsize, E = l.whave, A = l.wnext, w = l.window, D = l.hold, B = l.bits, v = l.lencode, _ = l.distcode, T = (1 << l.lenbits) - 1, I = (1 << l.distbits) - 1;
                e: do {
                  B < 15 && (D += F[u++] << B, B += 8, D += F[u++] << B, B += 8), z = v[D & T];
                  t: for (; ; ) {
                    if (D >>>= C = z >>> 24, B -= C, (C = z >>> 16 & 255) === 0) q[d++] = 65535 & z;
                    else {
                      if (!(16 & C)) {
                        if ((64 & C) == 0) {
                          z = v[(65535 & z) + (D & (1 << C) - 1)];
                          continue t;
                        }
                        if (32 & C) {
                          l.mode = 12;
                          break e;
                        }
                        i.msg = "invalid literal/length code", l.mode = 30;
                        break e;
                      }
                      j = 65535 & z, (C &= 15) && (B < C && (D += F[u++] << B, B += 8), j += D & (1 << C) - 1, D >>>= C, B -= C), B < 15 && (D += F[u++] << B, B += 8, D += F[u++] << B, B += 8), z = _[D & I];
                      r: for (; ; ) {
                        if (D >>>= C = z >>> 24, B -= C, !(16 & (C = z >>> 16 & 255))) {
                          if ((64 & C) == 0) {
                            z = _[(65535 & z) + (D & (1 << C) - 1)];
                            continue r;
                          }
                          i.msg = "invalid distance code", l.mode = 30;
                          break e;
                        }
                        if (U = 65535 & z, B < (C &= 15) && (D += F[u++] << B, (B += 8) < C && (D += F[u++] << B, B += 8)), p < (U += D & (1 << C) - 1)) {
                          i.msg = "invalid distance too far back", l.mode = 30;
                          break e;
                        }
                        if (D >>>= C, B -= C, (C = d - f) < U) {
                          if (E < (C = U - C) && l.sane) {
                            i.msg = "invalid distance too far back", l.mode = 30;
                            break e;
                          }
                          if (L = w, (P = 0) === A) {
                            if (P += g - C, C < j) {
                              for (j -= C; q[d++] = w[P++], --C; ) ;
                              P = d - U, L = q;
                            }
                          } else if (A < C) {
                            if (P += g + A - C, (C -= A) < j) {
                              for (j -= C; q[d++] = w[P++], --C; ) ;
                              if (P = 0, A < j) {
                                for (j -= C = A; q[d++] = w[P++], --C; ) ;
                                P = d - U, L = q;
                              }
                            }
                          } else if (P += A - C, C < j) {
                            for (j -= C; q[d++] = w[P++], --C; ) ;
                            P = d - U, L = q;
                          }
                          for (; 2 < j; ) q[d++] = L[P++], q[d++] = L[P++], q[d++] = L[P++], j -= 3;
                          j && (q[d++] = L[P++], 1 < j && (q[d++] = L[P++]));
                        } else {
                          for (P = d - U; q[d++] = q[P++], q[d++] = q[P++], q[d++] = q[P++], 2 < (j -= 3); ) ;
                          j && (q[d++] = q[P++], 1 < j && (q[d++] = q[P++]));
                        }
                        break;
                      }
                    }
                    break;
                  }
                } while (u < x && d < m);
                u -= j = B >> 3, D &= (1 << (B -= j << 3)) - 1, i.next_in = u, i.next_out = d, i.avail_in = u < x ? x - u + 5 : 5 - (u - x), i.avail_out = d < m ? m - d + 257 : 257 - (d - m), l.hold = D, l.bits = B;
              };
            },
            {}
          ],
          49: [
            function(r, n, a) {
              var i = r("../utils/common"), s = r("./adler32"), l = r("./crc32"), u = r("./inffast"), x = r("./inftrees"), d = 1, f = 2, m = 0, p = -2, g = 1, E = 852, A = 592;
              function w(P) {
                return (P >>> 24 & 255) + (P >>> 8 & 65280) + ((65280 & P) << 8) + ((255 & P) << 24);
              }
              function D() {
                this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new i.Buf16(320), this.work = new i.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
              }
              function B(P) {
                var L;
                return P && P.state ? (L = P.state, P.total_in = P.total_out = L.total = 0, P.msg = "", L.wrap && (P.adler = 1 & L.wrap), L.mode = g, L.last = 0, L.havedict = 0, L.dmax = 32768, L.head = null, L.hold = 0, L.bits = 0, L.lencode = L.lendyn = new i.Buf32(E), L.distcode = L.distdyn = new i.Buf32(A), L.sane = 1, L.back = -1, m) : p;
              }
              function v(P) {
                var L;
                return P && P.state ? ((L = P.state).wsize = 0, L.whave = 0, L.wnext = 0, B(P)) : p;
              }
              function _(P, L) {
                var F, q;
                return P && P.state ? (q = P.state, L < 0 ? (F = 0, L = -L) : (F = 1 + (L >> 4), L < 48 && (L &= 15)), L && (L < 8 || 15 < L) ? p : (q.window !== null && q.wbits !== L && (q.window = null), q.wrap = F, q.wbits = L, v(P))) : p;
              }
              function T(P, L) {
                var F, q;
                return P ? (q = new D(), (P.state = q).window = null, (F = _(P, L)) !== m && (P.state = null), F) : p;
              }
              var I, z, C = true;
              function j(P) {
                if (C) {
                  var L;
                  for (I = new i.Buf32(512), z = new i.Buf32(32), L = 0; L < 144; ) P.lens[L++] = 8;
                  for (; L < 256; ) P.lens[L++] = 9;
                  for (; L < 280; ) P.lens[L++] = 7;
                  for (; L < 288; ) P.lens[L++] = 8;
                  for (x(d, P.lens, 0, 288, I, 0, P.work, {
                    bits: 9
                  }), L = 0; L < 32; ) P.lens[L++] = 5;
                  x(f, P.lens, 0, 32, z, 0, P.work, {
                    bits: 5
                  }), C = false;
                }
                P.lencode = I, P.lenbits = 9, P.distcode = z, P.distbits = 5;
              }
              function U(P, L, F, q) {
                var $, Y = P.state;
                return Y.window === null && (Y.wsize = 1 << Y.wbits, Y.wnext = 0, Y.whave = 0, Y.window = new i.Buf8(Y.wsize)), q >= Y.wsize ? (i.arraySet(Y.window, L, F - Y.wsize, Y.wsize, 0), Y.wnext = 0, Y.whave = Y.wsize) : (q < ($ = Y.wsize - Y.wnext) && ($ = q), i.arraySet(Y.window, L, F - q, $, Y.wnext), (q -= $) ? (i.arraySet(Y.window, L, F - q, q, 0), Y.wnext = q, Y.whave = Y.wsize) : (Y.wnext += $, Y.wnext === Y.wsize && (Y.wnext = 0), Y.whave < Y.wsize && (Y.whave += $))), 0;
              }
              a.inflateReset = v, a.inflateReset2 = _, a.inflateResetKeep = B, a.inflateInit = function(P) {
                return T(P, 15);
              }, a.inflateInit2 = T, a.inflate = function(P, L) {
                var F, q, $, Y, J, Q, Z, M, H, re, te, ae, xe, me, fe, ye, Ce, ke, je, Re, O, se, ce, ee, X = 0, oe = new i.Buf8(4), Be = [
                  16,
                  17,
                  18,
                  0,
                  8,
                  7,
                  9,
                  6,
                  10,
                  5,
                  11,
                  4,
                  12,
                  3,
                  13,
                  2,
                  14,
                  1,
                  15
                ];
                if (!P || !P.state || !P.output || !P.input && P.avail_in !== 0) return p;
                (F = P.state).mode === 12 && (F.mode = 13), J = P.next_out, $ = P.output, Z = P.avail_out, Y = P.next_in, q = P.input, Q = P.avail_in, M = F.hold, H = F.bits, re = Q, te = Z, se = m;
                e: for (; ; ) switch (F.mode) {
                  case g:
                    if (F.wrap === 0) {
                      F.mode = 13;
                      break;
                    }
                    for (; H < 16; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if (2 & F.wrap && M === 35615) {
                      oe[F.check = 0] = 255 & M, oe[1] = M >>> 8 & 255, F.check = l(F.check, oe, 2, 0), H = M = 0, F.mode = 2;
                      break;
                    }
                    if (F.flags = 0, F.head && (F.head.done = false), !(1 & F.wrap) || (((255 & M) << 8) + (M >> 8)) % 31) {
                      P.msg = "incorrect header check", F.mode = 30;
                      break;
                    }
                    if ((15 & M) != 8) {
                      P.msg = "unknown compression method", F.mode = 30;
                      break;
                    }
                    if (H -= 4, O = 8 + (15 & (M >>>= 4)), F.wbits === 0) F.wbits = O;
                    else if (O > F.wbits) {
                      P.msg = "invalid window size", F.mode = 30;
                      break;
                    }
                    F.dmax = 1 << O, P.adler = F.check = 1, F.mode = 512 & M ? 10 : 12, H = M = 0;
                    break;
                  case 2:
                    for (; H < 16; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if (F.flags = M, (255 & F.flags) != 8) {
                      P.msg = "unknown compression method", F.mode = 30;
                      break;
                    }
                    if (57344 & F.flags) {
                      P.msg = "unknown header flags set", F.mode = 30;
                      break;
                    }
                    F.head && (F.head.text = M >> 8 & 1), 512 & F.flags && (oe[0] = 255 & M, oe[1] = M >>> 8 & 255, F.check = l(F.check, oe, 2, 0)), H = M = 0, F.mode = 3;
                  case 3:
                    for (; H < 32; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    F.head && (F.head.time = M), 512 & F.flags && (oe[0] = 255 & M, oe[1] = M >>> 8 & 255, oe[2] = M >>> 16 & 255, oe[3] = M >>> 24 & 255, F.check = l(F.check, oe, 4, 0)), H = M = 0, F.mode = 4;
                  case 4:
                    for (; H < 16; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    F.head && (F.head.xflags = 255 & M, F.head.os = M >> 8), 512 & F.flags && (oe[0] = 255 & M, oe[1] = M >>> 8 & 255, F.check = l(F.check, oe, 2, 0)), H = M = 0, F.mode = 5;
                  case 5:
                    if (1024 & F.flags) {
                      for (; H < 16; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      F.length = M, F.head && (F.head.extra_len = M), 512 & F.flags && (oe[0] = 255 & M, oe[1] = M >>> 8 & 255, F.check = l(F.check, oe, 2, 0)), H = M = 0;
                    } else F.head && (F.head.extra = null);
                    F.mode = 6;
                  case 6:
                    if (1024 & F.flags && (Q < (ae = F.length) && (ae = Q), ae && (F.head && (O = F.head.extra_len - F.length, F.head.extra || (F.head.extra = new Array(F.head.extra_len)), i.arraySet(F.head.extra, q, Y, ae, O)), 512 & F.flags && (F.check = l(F.check, q, ae, Y)), Q -= ae, Y += ae, F.length -= ae), F.length)) break e;
                    F.length = 0, F.mode = 7;
                  case 7:
                    if (2048 & F.flags) {
                      if (Q === 0) break e;
                      for (ae = 0; O = q[Y + ae++], F.head && O && F.length < 65536 && (F.head.name += String.fromCharCode(O)), O && ae < Q; ) ;
                      if (512 & F.flags && (F.check = l(F.check, q, ae, Y)), Q -= ae, Y += ae, O) break e;
                    } else F.head && (F.head.name = null);
                    F.length = 0, F.mode = 8;
                  case 8:
                    if (4096 & F.flags) {
                      if (Q === 0) break e;
                      for (ae = 0; O = q[Y + ae++], F.head && O && F.length < 65536 && (F.head.comment += String.fromCharCode(O)), O && ae < Q; ) ;
                      if (512 & F.flags && (F.check = l(F.check, q, ae, Y)), Q -= ae, Y += ae, O) break e;
                    } else F.head && (F.head.comment = null);
                    F.mode = 9;
                  case 9:
                    if (512 & F.flags) {
                      for (; H < 16; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      if (M !== (65535 & F.check)) {
                        P.msg = "header crc mismatch", F.mode = 30;
                        break;
                      }
                      H = M = 0;
                    }
                    F.head && (F.head.hcrc = F.flags >> 9 & 1, F.head.done = true), P.adler = F.check = 0, F.mode = 12;
                    break;
                  case 10:
                    for (; H < 32; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    P.adler = F.check = w(M), H = M = 0, F.mode = 11;
                  case 11:
                    if (F.havedict === 0) return P.next_out = J, P.avail_out = Z, P.next_in = Y, P.avail_in = Q, F.hold = M, F.bits = H, 2;
                    P.adler = F.check = 1, F.mode = 12;
                  case 12:
                    if (L === 5 || L === 6) break e;
                  case 13:
                    if (F.last) {
                      M >>>= 7 & H, H -= 7 & H, F.mode = 27;
                      break;
                    }
                    for (; H < 3; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    switch (F.last = 1 & M, H -= 1, 3 & (M >>>= 1)) {
                      case 0:
                        F.mode = 14;
                        break;
                      case 1:
                        if (j(F), F.mode = 20, L !== 6) break;
                        M >>>= 2, H -= 2;
                        break e;
                      case 2:
                        F.mode = 17;
                        break;
                      case 3:
                        P.msg = "invalid block type", F.mode = 30;
                    }
                    M >>>= 2, H -= 2;
                    break;
                  case 14:
                    for (M >>>= 7 & H, H -= 7 & H; H < 32; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if ((65535 & M) != (M >>> 16 ^ 65535)) {
                      P.msg = "invalid stored block lengths", F.mode = 30;
                      break;
                    }
                    if (F.length = 65535 & M, H = M = 0, F.mode = 15, L === 6) break e;
                  case 15:
                    F.mode = 16;
                  case 16:
                    if (ae = F.length) {
                      if (Q < ae && (ae = Q), Z < ae && (ae = Z), ae === 0) break e;
                      i.arraySet($, q, Y, ae, J), Q -= ae, Y += ae, Z -= ae, J += ae, F.length -= ae;
                      break;
                    }
                    F.mode = 12;
                    break;
                  case 17:
                    for (; H < 14; ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if (F.nlen = 257 + (31 & M), M >>>= 5, H -= 5, F.ndist = 1 + (31 & M), M >>>= 5, H -= 5, F.ncode = 4 + (15 & M), M >>>= 4, H -= 4, 286 < F.nlen || 30 < F.ndist) {
                      P.msg = "too many length or distance symbols", F.mode = 30;
                      break;
                    }
                    F.have = 0, F.mode = 18;
                  case 18:
                    for (; F.have < F.ncode; ) {
                      for (; H < 3; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      F.lens[Be[F.have++]] = 7 & M, M >>>= 3, H -= 3;
                    }
                    for (; F.have < 19; ) F.lens[Be[F.have++]] = 0;
                    if (F.lencode = F.lendyn, F.lenbits = 7, ce = {
                      bits: F.lenbits
                    }, se = x(0, F.lens, 0, 19, F.lencode, 0, F.work, ce), F.lenbits = ce.bits, se) {
                      P.msg = "invalid code lengths set", F.mode = 30;
                      break;
                    }
                    F.have = 0, F.mode = 19;
                  case 19:
                    for (; F.have < F.nlen + F.ndist; ) {
                      for (; ye = (X = F.lencode[M & (1 << F.lenbits) - 1]) >>> 16 & 255, Ce = 65535 & X, !((fe = X >>> 24) <= H); ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      if (Ce < 16) M >>>= fe, H -= fe, F.lens[F.have++] = Ce;
                      else {
                        if (Ce === 16) {
                          for (ee = fe + 2; H < ee; ) {
                            if (Q === 0) break e;
                            Q--, M += q[Y++] << H, H += 8;
                          }
                          if (M >>>= fe, H -= fe, F.have === 0) {
                            P.msg = "invalid bit length repeat", F.mode = 30;
                            break;
                          }
                          O = F.lens[F.have - 1], ae = 3 + (3 & M), M >>>= 2, H -= 2;
                        } else if (Ce === 17) {
                          for (ee = fe + 3; H < ee; ) {
                            if (Q === 0) break e;
                            Q--, M += q[Y++] << H, H += 8;
                          }
                          H -= fe, O = 0, ae = 3 + (7 & (M >>>= fe)), M >>>= 3, H -= 3;
                        } else {
                          for (ee = fe + 7; H < ee; ) {
                            if (Q === 0) break e;
                            Q--, M += q[Y++] << H, H += 8;
                          }
                          H -= fe, O = 0, ae = 11 + (127 & (M >>>= fe)), M >>>= 7, H -= 7;
                        }
                        if (F.have + ae > F.nlen + F.ndist) {
                          P.msg = "invalid bit length repeat", F.mode = 30;
                          break;
                        }
                        for (; ae--; ) F.lens[F.have++] = O;
                      }
                    }
                    if (F.mode === 30) break;
                    if (F.lens[256] === 0) {
                      P.msg = "invalid code -- missing end-of-block", F.mode = 30;
                      break;
                    }
                    if (F.lenbits = 9, ce = {
                      bits: F.lenbits
                    }, se = x(d, F.lens, 0, F.nlen, F.lencode, 0, F.work, ce), F.lenbits = ce.bits, se) {
                      P.msg = "invalid literal/lengths set", F.mode = 30;
                      break;
                    }
                    if (F.distbits = 6, F.distcode = F.distdyn, ce = {
                      bits: F.distbits
                    }, se = x(f, F.lens, F.nlen, F.ndist, F.distcode, 0, F.work, ce), F.distbits = ce.bits, se) {
                      P.msg = "invalid distances set", F.mode = 30;
                      break;
                    }
                    if (F.mode = 20, L === 6) break e;
                  case 20:
                    F.mode = 21;
                  case 21:
                    if (6 <= Q && 258 <= Z) {
                      P.next_out = J, P.avail_out = Z, P.next_in = Y, P.avail_in = Q, F.hold = M, F.bits = H, u(P, te), J = P.next_out, $ = P.output, Z = P.avail_out, Y = P.next_in, q = P.input, Q = P.avail_in, M = F.hold, H = F.bits, F.mode === 12 && (F.back = -1);
                      break;
                    }
                    for (F.back = 0; ye = (X = F.lencode[M & (1 << F.lenbits) - 1]) >>> 16 & 255, Ce = 65535 & X, !((fe = X >>> 24) <= H); ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if (ye && (240 & ye) == 0) {
                      for (ke = fe, je = ye, Re = Ce; ye = (X = F.lencode[Re + ((M & (1 << ke + je) - 1) >> ke)]) >>> 16 & 255, Ce = 65535 & X, !(ke + (fe = X >>> 24) <= H); ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      M >>>= ke, H -= ke, F.back += ke;
                    }
                    if (M >>>= fe, H -= fe, F.back += fe, F.length = Ce, ye === 0) {
                      F.mode = 26;
                      break;
                    }
                    if (32 & ye) {
                      F.back = -1, F.mode = 12;
                      break;
                    }
                    if (64 & ye) {
                      P.msg = "invalid literal/length code", F.mode = 30;
                      break;
                    }
                    F.extra = 15 & ye, F.mode = 22;
                  case 22:
                    if (F.extra) {
                      for (ee = F.extra; H < ee; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      F.length += M & (1 << F.extra) - 1, M >>>= F.extra, H -= F.extra, F.back += F.extra;
                    }
                    F.was = F.length, F.mode = 23;
                  case 23:
                    for (; ye = (X = F.distcode[M & (1 << F.distbits) - 1]) >>> 16 & 255, Ce = 65535 & X, !((fe = X >>> 24) <= H); ) {
                      if (Q === 0) break e;
                      Q--, M += q[Y++] << H, H += 8;
                    }
                    if ((240 & ye) == 0) {
                      for (ke = fe, je = ye, Re = Ce; ye = (X = F.distcode[Re + ((M & (1 << ke + je) - 1) >> ke)]) >>> 16 & 255, Ce = 65535 & X, !(ke + (fe = X >>> 24) <= H); ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      M >>>= ke, H -= ke, F.back += ke;
                    }
                    if (M >>>= fe, H -= fe, F.back += fe, 64 & ye) {
                      P.msg = "invalid distance code", F.mode = 30;
                      break;
                    }
                    F.offset = Ce, F.extra = 15 & ye, F.mode = 24;
                  case 24:
                    if (F.extra) {
                      for (ee = F.extra; H < ee; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      F.offset += M & (1 << F.extra) - 1, M >>>= F.extra, H -= F.extra, F.back += F.extra;
                    }
                    if (F.offset > F.dmax) {
                      P.msg = "invalid distance too far back", F.mode = 30;
                      break;
                    }
                    F.mode = 25;
                  case 25:
                    if (Z === 0) break e;
                    if (ae = te - Z, F.offset > ae) {
                      if ((ae = F.offset - ae) > F.whave && F.sane) {
                        P.msg = "invalid distance too far back", F.mode = 30;
                        break;
                      }
                      xe = ae > F.wnext ? (ae -= F.wnext, F.wsize - ae) : F.wnext - ae, ae > F.length && (ae = F.length), me = F.window;
                    } else me = $, xe = J - F.offset, ae = F.length;
                    for (Z < ae && (ae = Z), Z -= ae, F.length -= ae; $[J++] = me[xe++], --ae; ) ;
                    F.length === 0 && (F.mode = 21);
                    break;
                  case 26:
                    if (Z === 0) break e;
                    $[J++] = F.length, Z--, F.mode = 21;
                    break;
                  case 27:
                    if (F.wrap) {
                      for (; H < 32; ) {
                        if (Q === 0) break e;
                        Q--, M |= q[Y++] << H, H += 8;
                      }
                      if (te -= Z, P.total_out += te, F.total += te, te && (P.adler = F.check = F.flags ? l(F.check, $, te, J - te) : s(F.check, $, te, J - te)), te = Z, (F.flags ? M : w(M)) !== F.check) {
                        P.msg = "incorrect data check", F.mode = 30;
                        break;
                      }
                      H = M = 0;
                    }
                    F.mode = 28;
                  case 28:
                    if (F.wrap && F.flags) {
                      for (; H < 32; ) {
                        if (Q === 0) break e;
                        Q--, M += q[Y++] << H, H += 8;
                      }
                      if (M !== (4294967295 & F.total)) {
                        P.msg = "incorrect length check", F.mode = 30;
                        break;
                      }
                      H = M = 0;
                    }
                    F.mode = 29;
                  case 29:
                    se = 1;
                    break e;
                  case 30:
                    se = -3;
                    break e;
                  case 31:
                    return -4;
                  case 32:
                  default:
                    return p;
                }
                return P.next_out = J, P.avail_out = Z, P.next_in = Y, P.avail_in = Q, F.hold = M, F.bits = H, (F.wsize || te !== P.avail_out && F.mode < 30 && (F.mode < 27 || L !== 4)) && U(P, P.output, P.next_out, te - P.avail_out) ? (F.mode = 31, -4) : (re -= P.avail_in, te -= P.avail_out, P.total_in += re, P.total_out += te, F.total += te, F.wrap && te && (P.adler = F.check = F.flags ? l(F.check, $, te, P.next_out - te) : s(F.check, $, te, P.next_out - te)), P.data_type = F.bits + (F.last ? 64 : 0) + (F.mode === 12 ? 128 : 0) + (F.mode === 20 || F.mode === 15 ? 256 : 0), (re == 0 && te === 0 || L === 4) && se === m && (se = -5), se);
              }, a.inflateEnd = function(P) {
                if (!P || !P.state) return p;
                var L = P.state;
                return L.window && (L.window = null), P.state = null, m;
              }, a.inflateGetHeader = function(P, L) {
                var F;
                return P && P.state ? (2 & (F = P.state).wrap) == 0 ? p : ((F.head = L).done = false, m) : p;
              }, a.inflateSetDictionary = function(P, L) {
                var F, q = L.length;
                return P && P.state ? (F = P.state).wrap !== 0 && F.mode !== 11 ? p : F.mode === 11 && s(1, L, q, 0) !== F.check ? -3 : U(P, L, q, q) ? (F.mode = 31, -4) : (F.havedict = 1, m) : p;
              }, a.inflateInfo = "pako inflate (from Nodeca project)";
            },
            {
              "../utils/common": 41,
              "./adler32": 43,
              "./crc32": 45,
              "./inffast": 48,
              "./inftrees": 50
            }
          ],
          50: [
            function(r, n, a) {
              var i = r("../utils/common"), s = [
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                13,
                15,
                17,
                19,
                23,
                27,
                31,
                35,
                43,
                51,
                59,
                67,
                83,
                99,
                115,
                131,
                163,
                195,
                227,
                258,
                0,
                0
              ], l = [
                16,
                16,
                16,
                16,
                16,
                16,
                16,
                16,
                17,
                17,
                17,
                17,
                18,
                18,
                18,
                18,
                19,
                19,
                19,
                19,
                20,
                20,
                20,
                20,
                21,
                21,
                21,
                21,
                16,
                72,
                78
              ], u = [
                1,
                2,
                3,
                4,
                5,
                7,
                9,
                13,
                17,
                25,
                33,
                49,
                65,
                97,
                129,
                193,
                257,
                385,
                513,
                769,
                1025,
                1537,
                2049,
                3073,
                4097,
                6145,
                8193,
                12289,
                16385,
                24577,
                0,
                0
              ], x = [
                16,
                16,
                16,
                16,
                17,
                17,
                18,
                18,
                19,
                19,
                20,
                20,
                21,
                21,
                22,
                22,
                23,
                23,
                24,
                24,
                25,
                25,
                26,
                26,
                27,
                27,
                28,
                28,
                29,
                29,
                64,
                64
              ];
              n.exports = function(d, f, m, p, g, E, A, w) {
                var D, B, v, _, T, I, z, C, j, U = w.bits, P = 0, L = 0, F = 0, q = 0, $ = 0, Y = 0, J = 0, Q = 0, Z = 0, M = 0, H = null, re = 0, te = new i.Buf16(16), ae = new i.Buf16(16), xe = null, me = 0;
                for (P = 0; P <= 15; P++) te[P] = 0;
                for (L = 0; L < p; L++) te[f[m + L]]++;
                for ($ = U, q = 15; 1 <= q && te[q] === 0; q--) ;
                if (q < $ && ($ = q), q === 0) return g[E++] = 20971520, g[E++] = 20971520, w.bits = 1, 0;
                for (F = 1; F < q && te[F] === 0; F++) ;
                for ($ < F && ($ = F), P = Q = 1; P <= 15; P++) if (Q <<= 1, (Q -= te[P]) < 0) return -1;
                if (0 < Q && (d === 0 || q !== 1)) return -1;
                for (ae[1] = 0, P = 1; P < 15; P++) ae[P + 1] = ae[P] + te[P];
                for (L = 0; L < p; L++) f[m + L] !== 0 && (A[ae[f[m + L]]++] = L);
                if (I = d === 0 ? (H = xe = A, 19) : d === 1 ? (H = s, re -= 257, xe = l, me -= 257, 256) : (H = u, xe = x, -1), P = F, T = E, J = L = M = 0, v = -1, _ = (Z = 1 << (Y = $)) - 1, d === 1 && 852 < Z || d === 2 && 592 < Z) return 1;
                for (; ; ) {
                  for (z = P - J, j = A[L] < I ? (C = 0, A[L]) : A[L] > I ? (C = xe[me + A[L]], H[re + A[L]]) : (C = 96, 0), D = 1 << P - J, F = B = 1 << Y; g[T + (M >> J) + (B -= D)] = z << 24 | C << 16 | j | 0, B !== 0; ) ;
                  for (D = 1 << P - 1; M & D; ) D >>= 1;
                  if (D !== 0 ? (M &= D - 1, M += D) : M = 0, L++, --te[P] == 0) {
                    if (P === q) break;
                    P = f[m + A[L]];
                  }
                  if ($ < P && (M & _) !== v) {
                    for (J === 0 && (J = $), T += F, Q = 1 << (Y = P - J); Y + J < q && !((Q -= te[Y + J]) <= 0); ) Y++, Q <<= 1;
                    if (Z += 1 << Y, d === 1 && 852 < Z || d === 2 && 592 < Z) return 1;
                    g[v = M & _] = $ << 24 | Y << 16 | T - E | 0;
                  }
                }
                return M !== 0 && (g[T + M] = P - J << 24 | 64 << 16 | 0), w.bits = $, 0;
              };
            },
            {
              "../utils/common": 41
            }
          ],
          51: [
            function(r, n, a) {
              n.exports = {
                2: "need dictionary",
                1: "stream end",
                0: "",
                "-1": "file error",
                "-2": "stream error",
                "-3": "data error",
                "-4": "insufficient memory",
                "-5": "buffer error",
                "-6": "incompatible version"
              };
            },
            {}
          ],
          52: [
            function(r, n, a) {
              var i = r("../utils/common"), s = 0, l = 1;
              function u(X) {
                for (var oe = X.length; 0 <= --oe; ) X[oe] = 0;
              }
              var x = 0, d = 29, f = 256, m = f + 1 + d, p = 30, g = 19, E = 2 * m + 1, A = 15, w = 16, D = 7, B = 256, v = 16, _ = 17, T = 18, I = [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                1,
                1,
                1,
                1,
                2,
                2,
                2,
                2,
                3,
                3,
                3,
                3,
                4,
                4,
                4,
                4,
                5,
                5,
                5,
                5,
                0
              ], z = [
                0,
                0,
                0,
                0,
                1,
                1,
                2,
                2,
                3,
                3,
                4,
                4,
                5,
                5,
                6,
                6,
                7,
                7,
                8,
                8,
                9,
                9,
                10,
                10,
                11,
                11,
                12,
                12,
                13,
                13
              ], C = [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                2,
                3,
                7
              ], j = [
                16,
                17,
                18,
                0,
                8,
                7,
                9,
                6,
                10,
                5,
                11,
                4,
                12,
                3,
                13,
                2,
                14,
                1,
                15
              ], U = new Array(2 * (m + 2));
              u(U);
              var P = new Array(2 * p);
              u(P);
              var L = new Array(512);
              u(L);
              var F = new Array(256);
              u(F);
              var q = new Array(d);
              u(q);
              var $, Y, J, Q = new Array(p);
              function Z(X, oe, Be, ve, he) {
                this.static_tree = X, this.extra_bits = oe, this.extra_base = Be, this.elems = ve, this.max_length = he, this.has_stree = X && X.length;
              }
              function M(X, oe) {
                this.dyn_tree = X, this.max_code = 0, this.stat_desc = oe;
              }
              function H(X) {
                return X < 256 ? L[X] : L[256 + (X >>> 7)];
              }
              function re(X, oe) {
                X.pending_buf[X.pending++] = 255 & oe, X.pending_buf[X.pending++] = oe >>> 8 & 255;
              }
              function te(X, oe, Be) {
                X.bi_valid > w - Be ? (X.bi_buf |= oe << X.bi_valid & 65535, re(X, X.bi_buf), X.bi_buf = oe >> w - X.bi_valid, X.bi_valid += Be - w) : (X.bi_buf |= oe << X.bi_valid & 65535, X.bi_valid += Be);
              }
              function ae(X, oe, Be) {
                te(X, Be[2 * oe], Be[2 * oe + 1]);
              }
              function xe(X, oe) {
                for (var Be = 0; Be |= 1 & X, X >>>= 1, Be <<= 1, 0 < --oe; ) ;
                return Be >>> 1;
              }
              function me(X, oe, Be) {
                var ve, he, Se = new Array(A + 1), Ue = 0;
                for (ve = 1; ve <= A; ve++) Se[ve] = Ue = Ue + Be[ve - 1] << 1;
                for (he = 0; he <= oe; he++) {
                  var Ie = X[2 * he + 1];
                  Ie !== 0 && (X[2 * he] = xe(Se[Ie]++, Ie));
                }
              }
              function fe(X) {
                var oe;
                for (oe = 0; oe < m; oe++) X.dyn_ltree[2 * oe] = 0;
                for (oe = 0; oe < p; oe++) X.dyn_dtree[2 * oe] = 0;
                for (oe = 0; oe < g; oe++) X.bl_tree[2 * oe] = 0;
                X.dyn_ltree[2 * B] = 1, X.opt_len = X.static_len = 0, X.last_lit = X.matches = 0;
              }
              function ye(X) {
                8 < X.bi_valid ? re(X, X.bi_buf) : 0 < X.bi_valid && (X.pending_buf[X.pending++] = X.bi_buf), X.bi_buf = 0, X.bi_valid = 0;
              }
              function Ce(X, oe, Be, ve) {
                var he = 2 * oe, Se = 2 * Be;
                return X[he] < X[Se] || X[he] === X[Se] && ve[oe] <= ve[Be];
              }
              function ke(X, oe, Be) {
                for (var ve = X.heap[Be], he = Be << 1; he <= X.heap_len && (he < X.heap_len && Ce(oe, X.heap[he + 1], X.heap[he], X.depth) && he++, !Ce(oe, ve, X.heap[he], X.depth)); ) X.heap[Be] = X.heap[he], Be = he, he <<= 1;
                X.heap[Be] = ve;
              }
              function je(X, oe, Be) {
                var ve, he, Se, Ue, Ie = 0;
                if (X.last_lit !== 0) for (; ve = X.pending_buf[X.d_buf + 2 * Ie] << 8 | X.pending_buf[X.d_buf + 2 * Ie + 1], he = X.pending_buf[X.l_buf + Ie], Ie++, ve === 0 ? ae(X, he, oe) : (ae(X, (Se = F[he]) + f + 1, oe), (Ue = I[Se]) !== 0 && te(X, he -= q[Se], Ue), ae(X, Se = H(--ve), Be), (Ue = z[Se]) !== 0 && te(X, ve -= Q[Se], Ue)), Ie < X.last_lit; ) ;
                ae(X, B, oe);
              }
              function Re(X, oe) {
                var Be, ve, he, Se = oe.dyn_tree, Ue = oe.stat_desc.static_tree, Ie = oe.stat_desc.has_stree, Me = oe.stat_desc.elems, W = -1;
                for (X.heap_len = 0, X.heap_max = E, Be = 0; Be < Me; Be++) Se[2 * Be] !== 0 ? (X.heap[++X.heap_len] = W = Be, X.depth[Be] = 0) : Se[2 * Be + 1] = 0;
                for (; X.heap_len < 2; ) Se[2 * (he = X.heap[++X.heap_len] = W < 2 ? ++W : 0)] = 1, X.depth[he] = 0, X.opt_len--, Ie && (X.static_len -= Ue[2 * he + 1]);
                for (oe.max_code = W, Be = X.heap_len >> 1; 1 <= Be; Be--) ke(X, Se, Be);
                for (he = Me; Be = X.heap[1], X.heap[1] = X.heap[X.heap_len--], ke(X, Se, 1), ve = X.heap[1], X.heap[--X.heap_max] = Be, X.heap[--X.heap_max] = ve, Se[2 * he] = Se[2 * Be] + Se[2 * ve], X.depth[he] = (X.depth[Be] >= X.depth[ve] ? X.depth[Be] : X.depth[ve]) + 1, Se[2 * Be + 1] = Se[2 * ve + 1] = he, X.heap[1] = he++, ke(X, Se, 1), 2 <= X.heap_len; ) ;
                X.heap[--X.heap_max] = X.heap[1], (function(N, K) {
                  var ne, ue, Ee, we, Ye, ht, Xe = K.dyn_tree, tt = K.max_code, at = K.stat_desc.static_tree, $n = K.stat_desc.has_stree, Xn = K.stat_desc.extra_bits, Nn = K.stat_desc.extra_base, zr = K.stat_desc.max_length, Jn = 0;
                  for (we = 0; we <= A; we++) N.bl_count[we] = 0;
                  for (Xe[2 * N.heap[N.heap_max] + 1] = 0, ne = N.heap_max + 1; ne < E; ne++) zr < (we = Xe[2 * Xe[2 * (ue = N.heap[ne]) + 1] + 1] + 1) && (we = zr, Jn++), Xe[2 * ue + 1] = we, tt < ue || (N.bl_count[we]++, Ye = 0, Nn <= ue && (Ye = Xn[ue - Nn]), ht = Xe[2 * ue], N.opt_len += ht * (we + Ye), $n && (N.static_len += ht * (at[2 * ue + 1] + Ye)));
                  if (Jn !== 0) {
                    do {
                      for (we = zr - 1; N.bl_count[we] === 0; ) we--;
                      N.bl_count[we]--, N.bl_count[we + 1] += 2, N.bl_count[zr]--, Jn -= 2;
                    } while (0 < Jn);
                    for (we = zr; we !== 0; we--) for (ue = N.bl_count[we]; ue !== 0; ) tt < (Ee = N.heap[--ne]) || (Xe[2 * Ee + 1] !== we && (N.opt_len += (we - Xe[2 * Ee + 1]) * Xe[2 * Ee], Xe[2 * Ee + 1] = we), ue--);
                  }
                })(X, oe), me(Se, W, X.bl_count);
              }
              function O(X, oe, Be) {
                var ve, he, Se = -1, Ue = oe[1], Ie = 0, Me = 7, W = 4;
                for (Ue === 0 && (Me = 138, W = 3), oe[2 * (Be + 1) + 1] = 65535, ve = 0; ve <= Be; ve++) he = Ue, Ue = oe[2 * (ve + 1) + 1], ++Ie < Me && he === Ue || (Ie < W ? X.bl_tree[2 * he] += Ie : he !== 0 ? (he !== Se && X.bl_tree[2 * he]++, X.bl_tree[2 * v]++) : Ie <= 10 ? X.bl_tree[2 * _]++ : X.bl_tree[2 * T]++, Se = he, W = (Ie = 0) === Ue ? (Me = 138, 3) : he === Ue ? (Me = 6, 3) : (Me = 7, 4));
              }
              function se(X, oe, Be) {
                var ve, he, Se = -1, Ue = oe[1], Ie = 0, Me = 7, W = 4;
                for (Ue === 0 && (Me = 138, W = 3), ve = 0; ve <= Be; ve++) if (he = Ue, Ue = oe[2 * (ve + 1) + 1], !(++Ie < Me && he === Ue)) {
                  if (Ie < W) for (; ae(X, he, X.bl_tree), --Ie != 0; ) ;
                  else he !== 0 ? (he !== Se && (ae(X, he, X.bl_tree), Ie--), ae(X, v, X.bl_tree), te(X, Ie - 3, 2)) : Ie <= 10 ? (ae(X, _, X.bl_tree), te(X, Ie - 3, 3)) : (ae(X, T, X.bl_tree), te(X, Ie - 11, 7));
                  Se = he, W = (Ie = 0) === Ue ? (Me = 138, 3) : he === Ue ? (Me = 6, 3) : (Me = 7, 4);
                }
              }
              u(Q);
              var ce = false;
              function ee(X, oe, Be, ve) {
                te(X, (x << 1) + (ve ? 1 : 0), 3), (function(he, Se, Ue, Ie) {
                  ye(he), re(he, Ue), re(he, ~Ue), i.arraySet(he.pending_buf, he.window, Se, Ue, he.pending), he.pending += Ue;
                })(X, oe, Be);
              }
              a._tr_init = function(X) {
                ce || ((function() {
                  var oe, Be, ve, he, Se, Ue = new Array(A + 1);
                  for (he = ve = 0; he < d - 1; he++) for (q[he] = ve, oe = 0; oe < 1 << I[he]; oe++) F[ve++] = he;
                  for (F[ve - 1] = he, he = Se = 0; he < 16; he++) for (Q[he] = Se, oe = 0; oe < 1 << z[he]; oe++) L[Se++] = he;
                  for (Se >>= 7; he < p; he++) for (Q[he] = Se << 7, oe = 0; oe < 1 << z[he] - 7; oe++) L[256 + Se++] = he;
                  for (Be = 0; Be <= A; Be++) Ue[Be] = 0;
                  for (oe = 0; oe <= 143; ) U[2 * oe + 1] = 8, oe++, Ue[8]++;
                  for (; oe <= 255; ) U[2 * oe + 1] = 9, oe++, Ue[9]++;
                  for (; oe <= 279; ) U[2 * oe + 1] = 7, oe++, Ue[7]++;
                  for (; oe <= 287; ) U[2 * oe + 1] = 8, oe++, Ue[8]++;
                  for (me(U, m + 1, Ue), oe = 0; oe < p; oe++) P[2 * oe + 1] = 5, P[2 * oe] = xe(oe, 5);
                  $ = new Z(U, I, f + 1, m, A), Y = new Z(P, z, 0, p, A), J = new Z(new Array(0), C, 0, g, D);
                })(), ce = true), X.l_desc = new M(X.dyn_ltree, $), X.d_desc = new M(X.dyn_dtree, Y), X.bl_desc = new M(X.bl_tree, J), X.bi_buf = 0, X.bi_valid = 0, fe(X);
              }, a._tr_stored_block = ee, a._tr_flush_block = function(X, oe, Be, ve) {
                var he, Se, Ue = 0;
                0 < X.level ? (X.strm.data_type === 2 && (X.strm.data_type = (function(Ie) {
                  var Me, W = 4093624447;
                  for (Me = 0; Me <= 31; Me++, W >>>= 1) if (1 & W && Ie.dyn_ltree[2 * Me] !== 0) return s;
                  if (Ie.dyn_ltree[18] !== 0 || Ie.dyn_ltree[20] !== 0 || Ie.dyn_ltree[26] !== 0) return l;
                  for (Me = 32; Me < f; Me++) if (Ie.dyn_ltree[2 * Me] !== 0) return l;
                  return s;
                })(X)), Re(X, X.l_desc), Re(X, X.d_desc), Ue = (function(Ie) {
                  var Me;
                  for (O(Ie, Ie.dyn_ltree, Ie.l_desc.max_code), O(Ie, Ie.dyn_dtree, Ie.d_desc.max_code), Re(Ie, Ie.bl_desc), Me = g - 1; 3 <= Me && Ie.bl_tree[2 * j[Me] + 1] === 0; Me--) ;
                  return Ie.opt_len += 3 * (Me + 1) + 5 + 5 + 4, Me;
                })(X), he = X.opt_len + 3 + 7 >>> 3, (Se = X.static_len + 3 + 7 >>> 3) <= he && (he = Se)) : he = Se = Be + 5, Be + 4 <= he && oe !== -1 ? ee(X, oe, Be, ve) : X.strategy === 4 || Se === he ? (te(X, 2 + (ve ? 1 : 0), 3), je(X, U, P)) : (te(X, 4 + (ve ? 1 : 0), 3), (function(Ie, Me, W, N) {
                  var K;
                  for (te(Ie, Me - 257, 5), te(Ie, W - 1, 5), te(Ie, N - 4, 4), K = 0; K < N; K++) te(Ie, Ie.bl_tree[2 * j[K] + 1], 3);
                  se(Ie, Ie.dyn_ltree, Me - 1), se(Ie, Ie.dyn_dtree, W - 1);
                })(X, X.l_desc.max_code + 1, X.d_desc.max_code + 1, Ue + 1), je(X, X.dyn_ltree, X.dyn_dtree)), fe(X), ve && ye(X);
              }, a._tr_tally = function(X, oe, Be) {
                return X.pending_buf[X.d_buf + 2 * X.last_lit] = oe >>> 8 & 255, X.pending_buf[X.d_buf + 2 * X.last_lit + 1] = 255 & oe, X.pending_buf[X.l_buf + X.last_lit] = 255 & Be, X.last_lit++, oe === 0 ? X.dyn_ltree[2 * Be]++ : (X.matches++, oe--, X.dyn_ltree[2 * (F[Be] + f + 1)]++, X.dyn_dtree[2 * H(oe)]++), X.last_lit === X.lit_bufsize - 1;
              }, a._tr_align = function(X) {
                te(X, 2, 3), ae(X, B, U), (function(oe) {
                  oe.bi_valid === 16 ? (re(oe, oe.bi_buf), oe.bi_buf = 0, oe.bi_valid = 0) : 8 <= oe.bi_valid && (oe.pending_buf[oe.pending++] = 255 & oe.bi_buf, oe.bi_buf >>= 8, oe.bi_valid -= 8);
                })(X);
              };
            },
            {
              "../utils/common": 41
            }
          ],
          53: [
            function(r, n, a) {
              n.exports = function() {
                this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
              };
            },
            {}
          ],
          54: [
            function(r, n, a) {
              (function(i) {
                (function(s, l) {
                  if (!s.setImmediate) {
                    var u, x, d, f, m = 1, p = {}, g = false, E = s.document, A = Object.getPrototypeOf && Object.getPrototypeOf(s);
                    A = A && A.setTimeout ? A : s, u = {}.toString.call(s.process) === "[object process]" ? function(v) {
                      process.nextTick(function() {
                        D(v);
                      });
                    } : (function() {
                      if (s.postMessage && !s.importScripts) {
                        var v = true, _ = s.onmessage;
                        return s.onmessage = function() {
                          v = false;
                        }, s.postMessage("", "*"), s.onmessage = _, v;
                      }
                    })() ? (f = "setImmediate$" + Math.random() + "$", s.addEventListener ? s.addEventListener("message", B, false) : s.attachEvent("onmessage", B), function(v) {
                      s.postMessage(f + v, "*");
                    }) : s.MessageChannel ? ((d = new MessageChannel()).port1.onmessage = function(v) {
                      D(v.data);
                    }, function(v) {
                      d.port2.postMessage(v);
                    }) : E && "onreadystatechange" in E.createElement("script") ? (x = E.documentElement, function(v) {
                      var _ = E.createElement("script");
                      _.onreadystatechange = function() {
                        D(v), _.onreadystatechange = null, x.removeChild(_), _ = null;
                      }, x.appendChild(_);
                    }) : function(v) {
                      setTimeout(D, 0, v);
                    }, A.setImmediate = function(v) {
                      typeof v != "function" && (v = new Function("" + v));
                      for (var _ = new Array(arguments.length - 1), T = 0; T < _.length; T++) _[T] = arguments[T + 1];
                      var I = {
                        callback: v,
                        args: _
                      };
                      return p[m] = I, u(m), m++;
                    }, A.clearImmediate = w;
                  }
                  function w(v) {
                    delete p[v];
                  }
                  function D(v) {
                    if (g) setTimeout(D, 0, v);
                    else {
                      var _ = p[v];
                      if (_) {
                        g = true;
                        try {
                          (function(T) {
                            var I = T.callback, z = T.args;
                            switch (z.length) {
                              case 0:
                                I();
                                break;
                              case 1:
                                I(z[0]);
                                break;
                              case 2:
                                I(z[0], z[1]);
                                break;
                              case 3:
                                I(z[0], z[1], z[2]);
                                break;
                              default:
                                I.apply(l, z);
                            }
                          })(_);
                        } finally {
                          w(v), g = false;
                        }
                      }
                    }
                  }
                  function B(v) {
                    v.source === s && typeof v.data == "string" && v.data.indexOf(f) === 0 && D(+v.data.slice(f.length));
                  }
                })(typeof self > "u" ? i === void 0 ? this : i : self);
              }).call(this, typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : {});
            },
            {}
          ]
        }, {}, [
          10
        ])(10);
      });
    })(ep)), ep.exports;
  }
  var bP = EP();
  const AP = a8(bP), wP = `# \u{1F198} SeedPGP Offline Recovery Playbook

**EMERGENCY SEED RECOVERY WITHOUT THE SEEDPGP WEB APP**

---

## \u{1F4CB} What This Document Is For

You created an encrypted backup of your cryptocurrency seed phrase using SeedPGP. This document explains **how to decrypt that backup if the SeedPGP web app is no longer available** (website down, GitHub deleted, domain expired, etc.).

**Print this document and store it with your encrypted QR backup.**

---

## \u{1F3AF} Quick Reference: What You Need

Depending on how you encrypted your backup, you need:

| Encryption Method | What You Need to Decrypt |
|-------------------|--------------------------|
| **Password-only** | Password + this playbook + any computer with GPG |
| **PGP Public Key** | Private key + private key passphrase + this playbook + any computer with GPG |
| **Krux KEF format** | Passphrase + Python 3 + this playbook |

---

## \u{1F50D} Step 1: Identify Your Backup Format

Look at your encrypted backup. The format determines which recovery method to use:

### **Format A: SeedPGP Standard (PGP)**

Your QR code or text starts with:
\`\`\`
SEEDPGP1:0:A1B2:CDEFG...
\`\`\`

**OR** your backup is a PGP armored message:
\`\`\`
-----BEGIN PGP MESSAGE-----

hQEMA...
-----END PGP MESSAGE-----
\`\`\`

\u279C **Use Method 1: GPG Command-Line Recovery** (see below)

---

### **Format B: Krux KEF**

Your QR code or text starts with:
\`\`\`
KEF:1234+ABCD...
\`\`\`

**OR** it's a Base43-encoded string using only these characters:
\`\`\`
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./:
\`\`\`

\u279C **Use Method 2: Python Krux Decryption** (see below)

---

### **Format C: Plain SeedQR** (NOT ENCRYPTED)

Your QR is all digits (48 or 96 digits for 12/24 words):
\`\`\`
0216007100420461...
\`\`\`

**OR** all hex (32 or 64 hex characters):
\`\`\`
1a2b3c4d5e6f...
\`\`\`

\u279C **Use Method 3: SeedQR Decoder** (see below)

---

## \u{1F4D6} Method 1: GPG Command-Line Recovery (PGP Format)

### **What You Need:**
- \u2705 Your encrypted backup (QR scan result or PGP armored text)
- \u2705 Your password (if password-encrypted)
- \u2705 Your PGP private key + passphrase (if key-encrypted)
- \u2705 A computer with GPG installed (Linux/Mac: pre-installed, Windows: download Gpg4win)

---

### **Step 1A: Extract the PGP Message**

If your backup is a \`SEEDPGP1:...\` QR string, you need to decode it first:

\`\`\`bash
# Your QR scan result looks like:
# SEEDPGP1:0:A1B2:BASE45_ENCODED_DATA_HERE

# Extract just the Base45 part (everything after the third colon)
echo "SEEDPGP1:0:A1B2:BASE45DATA" | cut -d: -f4- > base45.txt

# Decode Base45 to binary PGP (requires Python script - see Appendix A)
python3 decode_base45.py base45.txt > encrypted.pgp
\`\`\`

If your backup is already a PGP armored message (\`-----BEGIN PGP MESSAGE-----\`), save it to a file:

\`\`\`bash
cat > encrypted.asc << 'EOF'
-----BEGIN PGP MESSAGE-----

hQEMA...
-----END PGP MESSAGE-----
EOF
\`\`\`

---

### **Step 1B: Decrypt with GPG**

**If encrypted with PASSWORD only:**

\`\`\`bash
# Decrypt using password
gpg --decrypt encrypted.pgp

# OR if you have the armored version:
gpg --decrypt encrypted.asc

# GPG will prompt: "Enter passphrase:"
# Type your password exactly as you created it
# Output will be JSON like: {"v":1,"t":"bip39","w":"word1 word2 word3...","l":"en","pp":0}
\`\`\`

**If encrypted with PGP PUBLIC KEY:**

\`\`\`bash
# First, import your private key (if not already in your GPG keyring)
gpg --import my-private-key.asc

# Decrypt
gpg --decrypt encrypted.pgp

# GPG will prompt for your PRIVATE KEY PASSPHRASE (not the backup password)
# Output will be JSON like: {"v":1,"t":"bip39","w":"word1 word2 word3...","l":"en","pp":0}
\`\`\`

---

### **Step 1C: Extract Your Seed Phrase**

The decrypted output is JSON format:
\`\`\`json
{"v":1,"t":"bip39","w":"abandon ability able about above...","l":"en","pp":0}
\`\`\`

**Your seed phrase is the value of the \`"w"\` field.**

Extract it:
\`\`\`bash
# If output is in a file:
cat decrypted.json | grep -o '"w":"[^"]*"' | cut -d'"' -f4

# Or use Python:
python3 -c 'import json; print(json.load(open("decrypted.json"))["w"])'
\`\`\`

**Write down your seed phrase immediately on paper.**

---

### **JSON Field Meanings:**

| Field | Meaning | Example Value |
|-------|---------|---------------|
| \`v\` | Format version | \`1\` |
| \`t\` | Mnemonic type | \`"bip39"\` |
| \`w\` | **Your seed phrase (words)** | \`"abandon ability able..."\` |
| \`l\` | Language | \`"en"\` (English) |
| \`pp\` | BIP39 passphrase used? | \`0\` (no) or \`1\` (yes) |
| \`fpr\` | Recipient PGP fingerprints | \`["ABC123..."]\` (optional) |

**If \`pp\` is \`1\`:** You used a BIP39 passphrase in addition to your seed words. You need BOTH to restore your wallet.

---

## \u{1F40D} Method 2: Python Krux Decryption (KEF Format)

### **What You Need:**
- \u2705 Your Krux KEF backup (QR scan result starting with \`KEF:\` or Base43 string)
- \u2705 Your passphrase
- \u2705 A computer with Python 3

---

### **Step 2A: Prepare the Decryption Script**

Save this Python script as \`decrypt_krux.py\`:

\`\`\`python
#!/usr/bin/env python3
"""
Krux KEF (Krux Encryption Format) Offline Decryption Tool
For emergency recovery when SeedPGP is unavailable
"""

import hashlib
import hmac
from getpass import getpass

# Base43 alphabet (Krux standard)
B43_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./:"

def base43_decode(s):
    """Decode Base43 string to bytes"""
    n = 0
    for c in s:
        n = n * 43 + B43_CHARS.index(c)
    
    byte_len = (n.bit_length() + 7) // 8
    return n.to_bytes(byte_len, 'big')

def unwrap_kef(kef_bytes):
    """Extract label, version, iterations, and payload from KEF envelope"""
    if len(kef_bytes) < 5:
        raise ValueError("Invalid KEF: too short")
    
    label_len = kef_bytes[0]
    if label_len > 252 or len(kef_bytes) < 1 + label_len + 4:
        raise ValueError("Invalid KEF: malformed header")
    
    label = kef_bytes[1:1+label_len].decode('utf-8')
    version = kef_bytes[1+label_len]
    
    iter_bytes = kef_bytes[2+label_len:5+label_len]
    iterations = int.from_bytes(iter_bytes, 'big')
    if iterations <= 10000:
        iterations *= 10000
    
    payload = kef_bytes[5+label_len:]
    return label, version, iterations, payload

def pbkdf2_hmac_sha256(password, salt, iterations, dklen=32):
    """PBKDF2-HMAC-SHA256 key derivation"""
    return hashlib.pbkdf2_hmac('sha256', password.encode(), salt, iterations, dklen)

def aes_gcm_decrypt(key, iv, ciphertext, tag):
    """AES-GCM decryption using cryptography library"""
    try:
        from cryptography.hazmat.primitives.ciphers.aead import AESGCM
        aesgcm = AESGCM(key)
        return aesgcm.decrypt(iv, ciphertext + tag, None)
    except ImportError:
        print("ERROR: 'cryptography' library not found.")
        print("Install with: pip3 install cryptography")
        raise

def entropy_to_mnemonic(entropy_bytes):
    """Convert entropy to BIP39 mnemonic (requires bip39 library)"""
    try:
        from mnemonic import Mnemonic
        mnemo = Mnemonic("english")
        return mnemo.to_mnemonic(entropy_bytes)
    except ImportError:
        print("ERROR: 'mnemonic' library not found.")
        print("Install with: pip3 install mnemonic")
        raise

def decrypt_krux(kef_data, passphrase):
    """Main decryption function"""
    # Step 1: Decode from Base43 or hex
    if kef_data.startswith('KEF:'):
        kef_data = kef_data[4:].strip()
    
    try:
        kef_bytes = base43_decode(kef_data)
    except:
        try:
            kef_bytes = bytes.fromhex(kef_data)
        except:
            raise ValueError("Invalid KEF format: not Base43 or hex")
    
    # Step 2: Unwrap KEF envelope
    label, version, iterations, payload = unwrap_kef(kef_bytes)
    
    if version not in [20, 21]:
        raise ValueError(f"Unsupported KEF version: {version}")
    
    print(f"KEF Label: {label}")
    print(f"Version: {version} (AES-GCM{' +compress' if version == 21 else ''})")
    print(f"Iterations: {iterations}")
    
    # Step 3: Derive key from passphrase
    salt = label.encode('utf-8')
    key = pbkdf2_hmac_sha256(passphrase, salt, iterations, 32)
    
    # Step 4: Extract IV, ciphertext, and tag
    iv = payload[:12]
    ciphertext = payload[12:-4]
    tag = payload[-4:]
    
    # Step 5: Decrypt
    decrypted = aes_gcm_decrypt(key, iv, ciphertext, tag)
    
    # Step 6: Decompress if needed
    if version == 21:
        import zlib
        decrypted = zlib.decompress(decrypted)
    
    # Step 7: Convert to mnemonic
    mnemonic = entropy_to_mnemonic(decrypted)
    return mnemonic

if __name__ == "__main__":
    print("=" * 60)
    print("KRUX KEF EMERGENCY DECRYPTION TOOL")
    print("=" * 60)
    print()
    
    kef_input = input("Paste your KEF backup (Base43 or hex): ").strip()
    passphrase = getpass("Enter passphrase: ")
    
    try:
        mnemonic = decrypt_krux(kef_input, passphrase)
        print()
        print("=" * 60)
        print("SUCCESS! Your seed phrase:")
        print("=" * 60)
        print(mnemonic)
        print("=" * 60)
        print()
        print("\u26A0\uFE0F  Write this down on paper immediately!")
        print("\u26A0\uFE0F  Never save to disk or take a screenshot!")
        
    except Exception as e:
        print()
        print(f"ERROR: {e}")
        print()
        print("Common issues:")
        print("1. Wrong passphrase")
        print("2. Missing Python libraries (run: pip3 install cryptography mnemonic)")
        print("3. Corrupted KEF data")
\`\`\`

---

### **Step 2B: Install Dependencies**

\`\`\`bash
# Install required Python libraries
pip3 install cryptography mnemonic

# Or on Ubuntu/Debian:
sudo apt install python3-pip
pip3 install cryptography mnemonic
\`\`\`

---

### **Step 2C: Run the Decryption**

\`\`\`bash
# Make script executable
chmod +x decrypt_krux.py

# Run it
python3 decrypt_krux.py

# It will prompt:
# "Paste your KEF backup (Base43 or hex):"
# \u2192 Paste your full QR scan result or KEF string

# "Enter passphrase:"
# \u2192 Type your passphrase (won't show on screen)

# Output:
# SUCCESS! Your seed phrase:
# abandon ability able about above absent absorb...
\`\`\`

**Write down your seed phrase immediately.**

---

## \u{1F4F1} Method 3: SeedQR Decoder (Unencrypted Format)

### **What You Need:**
- \u2705 Your SeedQR backup (all digits or hex)
- \u2705 BIP39 wordlist (see Appendix B)
- \u2705 Optional: Python script (see below)

---

### **Step 3A: Identify SeedQR Type**

**Standard SeedQR (all digits):**
- 48 digits = 12-word seed
- 96 digits = 24-word seed
- Each 4 digits = one BIP39 word index (0000-2047)

**Compact SeedQR (hex):**
- 32 hex chars = 12-word seed
- 64 hex chars = 24-word seed
- Raw entropy encoded as hexadecimal

---

### **Step 3B: Manual Decoding (Standard SeedQR)**

**Example:** \`0216007100420461...\` (48 digits for 12 words)

1. Split into 4-digit chunks: \`0216\`, \`0071\`, \`0042\`, \`0461\`, ...
2. Each chunk is a word index (0-2047)
3. Look up each index in the BIP39 wordlist (Appendix B)

\`\`\`
0216 \u2192 word #216 = "brick"
0071 \u2192 word #71 = "appear"
0042 \u2192 word #42 = "advise"
0461 \u2192 word #461 = "dove"
...
\`\`\`

**Your seed phrase is the words in order.**

---

### **Step 3C: Python Script (Standard SeedQR)**

Save as \`decode_seedqr.py\`:

\`\`\`python
#!/usr/bin/env python3
"""SeedQR to BIP39 Mnemonic Decoder"""

# BIP39 English wordlist (2048 words)
# Download from: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
# Or see Appendix B of this document

def load_wordlist(filepath='bip39_wordlist.txt'):
    with open(filepath) as f:
        return [line.strip() for line in f]

def decode_standard_seedqr(qr_digits):
    """Decode standard SeedQR (4-digit word indices)"""
    if len(qr_digits) not in [48, 96]:
        raise ValueError(f"Invalid length: {len(qr_digits)} (expected 48 or 96)")
    
    wordlist = load_wordlist()
    mnemonic = []
    
    for i in range(0, len(qr_digits), 4):
        index = int(qr_digits[i:i+4])
        if index >= 2048:
            raise ValueError(f"Invalid word index: {index} (max 2047)")
        mnemonic.append(wordlist[index])
    
    return ' '.join(mnemonic)

def decode_compact_seedqr(qr_hex):
    """Decode compact SeedQR (hex-encoded entropy)"""
    if len(qr_hex) not in [32, 64]:
        raise ValueError(f"Invalid hex length: {len(qr_hex)} (expected 32 or 64)")
    
    try:
        from mnemonic import Mnemonic
        mnemo = Mnemonic("english")
        entropy = bytes.fromhex(qr_hex)
        return mnemo.to_mnemonic(entropy)
    except ImportError:
        print("ERROR: 'mnemonic' library required for compact SeedQR")
        print("Install: pip3 install mnemonic")
        raise

if __name__ == "__main__":
    qr_data = input("Paste your SeedQR data: ").strip()
    
    if qr_data.isdigit():
        mnemonic = decode_standard_seedqr(qr_data)
    elif all(c in '0123456789abcdefABCDEF' for c in qr_data):
        mnemonic = decode_compact_seedqr(qr_data)
    else:
        print("ERROR: Not a valid SeedQR (must be all digits or all hex)")
        exit(1)
    
    print()
    print("Your seed phrase:")
    print(mnemonic)
    print()
\`\`\`

---

## \u{1F4DA} Appendix A: Base45 Decoder

If you need to decode SeedPGP's Base45 format manually, save this as \`decode_base45.py\`:

\`\`\`python
#!/usr/bin/env python3
"""Base45 Decoder for SeedPGP Recovery"""

B45_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:"

def base45_decode(s):
    """Decode Base45 string to bytes"""
    result = []
    i = 0
    
    while i < len(s):
        if i + 2 < len(s):
            # Process 3 characters \u2192 2 bytes
            c = B45_CHARS.index(s[i])
            d = B45_CHARS.index(s[i+1])
            e = B45_CHARS.index(s[i+2])
            x = c + d * 45 + e * 45 * 45
            
            result.append(x // 256)
            result.append(x % 256)
            i += 3
        else:
            # Process 2 characters \u2192 1 byte
            c = B45_CHARS.index(s[i])
            d = B45_CHARS.index(s[i+1])
            x = c + d * 45
            
            if x > 255:
                raise ValueError("Invalid Base45 encoding")
            result.append(x)
            i += 2
    
    return bytes(result)

if __name__ == "__main__":
    import sys
    
    if len(sys.argv) > 1:
        # Read from file
        with open(sys.argv[1]) as f:
            b45_input = f.read().strip()
    else:
        # Read from stdin
        b45_input = input("Paste Base45 data: ").strip()
    
    try:
        decoded = base45_decode(b45_input)
        sys.stdout.buffer.write(decoded)
    except Exception as e:
        print(f"ERROR: {e}", file=sys.stderr)
        exit(1)
\`\`\`

---

## \u{1F4DA} Appendix B: BIP39 English Wordlist

**Download the official wordlist:**
\`\`\`bash
wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/english.txt
\`\`\`

**Or manually:** The BIP39 English wordlist contains exactly 2048 words, indexed 0-2047:

\`\`\`
0000: abandon
0001: ability
0002: able
0003: about
...
2045: zero
2046: zone
2047: zoo
\`\`\`

**Full wordlist:** https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt

---

## \u{1F6E1}\uFE0F Security Recommendations

### **When Recovering Your Seed:**

1. \u2705 **Use an air-gapped computer** (TailsOS or Ubuntu Live USB)
2. \u2705 **Disconnect from internet** before decrypting
3. \u2705 **Write seed on paper immediately** after decryption
4. \u2705 **Never screenshot or save to disk**
5. \u2705 **Verify your seed** by importing to a test wallet (small amount first)
6. \u2705 **Destroy digital traces** after recovery (shutdown amnesic OS)

### **Storage Best Practices:**

- \u{1F4C4} **Print this document** and store with your encrypted backup
- \u{1F510} Store backup + recovery instructions in different locations
- \u{1F4BE} Keep a copy of Python scripts on offline USB
- \u{1F4E6} Include a copy of the BIP39 wordlist (offline reference)
- \u{1F5C2}\uFE0F Label everything clearly: "SEEDPGP BACKUP + RECOVERY GUIDE - DO NOT LOSE"

---

## \u{1F198} Emergency Contact

**If you're stuck:**

1. Search GitHub for "seedpgp-web" (project may still exist)
2. Check Internet Archive: https://web.archive.org/
3. Ask in Bitcoin/crypto forums (describe format, don't share actual data!)
4. Hire a professional cryptocurrency recovery service (last resort)

**Never share:**
- \u274C Your encrypted backup data with strangers
- \u274C Your password or passphrase
- \u274C Your PGP private key
- \u274C Your decrypted seed phrase

---

## \u2705 Recovery Checklist

Before attempting recovery, verify you have:

- [ ] This printed playbook
- [ ] Your encrypted backup (QR code or text file)
- [ ] Your password/passphrase written down
- [ ] Your PGP private key (if used) + passphrase
- [ ] An air-gapped computer (TailsOS/Ubuntu Live recommended)
- [ ] GPG installed (for PGP decryption)
- [ ] Python 3 + libraries (for Krux/SeedQR decryption)
- [ ] BIP39 wordlist (for manual SeedQR decoding)
- [ ] Paper and pen (to write recovered seed)

**If missing any item above, DO NOT PROCEED. Secure it first.**

---

## \u{1F4C5} Recommended Practice Schedule

**Every 6 months:**
1. Test that you can still decrypt your backup
2. Verify the recovery tools still work
3. Update this playbook if formats change
4. Check that your passwords/keys are still accessible

**Test with a dummy backup first!** Create a test seed, encrypt it, then practice recovery.

---

**Document Version:** 1.0  
**Last Updated:** February 2026  
**Compatible with:** SeedPGP v1.4.7+

---

**\u{1F512} KEEP THIS DOCUMENT SAFE AND ACCESSIBLE \u{1F512}**

Your encrypted backup is worthless without the ability to decrypt it.  
Print this. Store it with your backup. Test it regularly.

---
`;
  async function pE(e) {
    const t = new AP();
    if (t.file("backup_encrypted.txt", typeof e.encryptedData == "string" ? e.encryptedData : new Uint8Array(e.encryptedData)), e.qrImageDataUrl) {
      const s = e.qrImageDataUrl.split(",")[1];
      t.file("backup_qr.png", s, {
        base64: true
      });
    }
    const r = vP(e.encryptionMode);
    Object.entries(r).forEach(([s, l]) => {
      t.file(s, l);
    });
    const n = BP(e);
    t.file("RECOVERY_INSTRUCTIONS.md", n);
    const a = await CP();
    t.file("bip39_wordlist.txt", a), t.file("OFFLINE_RECOVERY_PLAYBOOK.md", wP);
    const i = {
      format: e.encryptionMode,
      encryption_method: e.encryptionMethod,
      created: (/* @__PURE__ */ new Date()).toISOString(),
      fingerprint: e.fingerprint || null,
      recovery_playbook_url: "https://github.com/kccleoc/seedpgp-web/blob/main/doc/OFFLINE_RECOVERY_PLAYBOOK.md",
      offline_playbook_included: true
    };
    return t.file("recovery_info.json", JSON.stringify(i, null, 2)), await t.generateAsync({
      type: "blob"
    });
  }
  function vP(e) {
    const t = {};
    return e === "pgp" ? (t["decrypt_pgp.sh"] = kP, t["decode_base45.py"] = DP) : e === "krux" ? t["decrypt_krux.py"] = FP : e === "seedqr" && (t["decode_seedqr.py"] = _P), t;
  }
  function BP(e) {
    return `# Recovery Instructions for Your SeedPGP Backup

## Your Backup Details

- Format: ${e.encryptionMode.toUpperCase()}
- Encryption: ${e.encryptionMethod}
- Created: ${(/* @__PURE__ */ new Date()).toLocaleDateString()}
${e.fingerprint ? `- PGP Fingerprint: ${e.fingerprint}` : ""}

## Quick Recovery Steps

${e.encryptionMode === "pgp" ? `
### Method: GPG Command-Line

1. Extract backup_encrypted.txt from this ZIP
2. Install GPG on any computer: https://gnupg.org/download/
3. Run decryption command:

\`\`\`bash
gpg --decrypt backup_encrypted.txt
\`\`\`

4. Enter your ${e.encryptionMethod === "password" ? "password" : "PGP private key passphrase"}
5. Output will be JSON format: {"v":1,"t":"bip39","w":"word1 word2..."}
6. Extract the "w" field \u2014 that's your seed phrase
` : ""}

${e.encryptionMode === "krux" ? `
### Method: Python Script

1. Install Python 3: https://python.org/downloads/
2. Install dependencies:

\`\`\`bash
pip3 install cryptography mnemonic
\`\`\`

3. Run the decryption script:

\`\`\`bash
python3 decrypt_krux.py
\`\`\`

4. Paste your backup data when prompted
5. Enter your passphrase
6. Your seed phrase will be displayed
` : ""}

${e.encryptionMode === "seedqr" ? `
### Method: Python Script

1. Install Python 3: https://python.org/downloads/
2. Install dependencies:

\`\`\`bash
pip3 install base45
\`\`\`

3. Run the decoding script:

\`\`\`bash
python3 decode_seedqr.py
\`\`\`

4. Paste your backup data when prompted
5. Your seed phrase will be displayed
` : ""}

## Full Documentation

See OFFLINE_RECOVERY_PLAYBOOK.md (included in this ZIP) for complete offline recovery instructions.

## Security Reminder

\u26A0\uFE0F Decrypt only on an air-gapped computer (TailsOS or Ubuntu Live USB)
\u26A0\uFE0F Never screenshot or save the decrypted seed to disk
\u26A0\uFE0F Write your seed on paper immediately after recovery
`;
  }
  async function CP() {
    try {
      const e = await fetch("/src/bip39_wordlist.txt");
      if (!e.ok) throw new Error("Network fetch failed");
      return await e.text();
    } catch {
      return l8;
    }
  }
  const kP = `#!/bin/bash
# Decrypt PGP-encrypted SeedPGP backup
# Usage: ./decrypt_pgp.sh <encrypted_file.txt>

if [ $# -eq 0 ]; then
    echo "Usage: $0 <encrypted_file.txt>"
    exit 1
fi

echo "Decrypting PGP backup..."
gpg --decrypt "$1" 2>/dev/null | python3 -c "
import sys, json
try:
    data = json.load(sys.stdin)
    if data.get('t') == 'bip39':
        print('\\n\u2705 Seed phrase recovered:')
        print('\\n' + data['w'])
    else:
        print('\\n\u274C Unexpected format:', data.get('t'))
except Exception as e:
    print('\\n\u274C Failed to parse JSON:', e)
"
`, DP = `#!/usr/bin/env python3
# Decode Base45-encoded SeedPGP backup
# Usage: python3 decode_base45.py <base45_string>

import base45
import sys

def decode_base45(data: str) -> bytes:
    """Decode Base45 string to bytes."""
    return base45.b45decode(data)

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python3 decode_base45.py <base45_string>")
        sys.exit(1)
    
    try:
        decoded = decode_base45(sys.argv[1])
        print(f"Decoded {len(decoded)} bytes")
        print(decoded.hex())
    except Exception as e:
        print(f"Error: {e}")
`, FP = `#!/usr/bin/env python3
# Decrypt Krux KEF-encrypted backup
# Usage: python3 decrypt_krux.py

import hashlib
import hmac
import json
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2
from cryptography.hazmat.backends import default_backend
from mnemonic import Mnemonic

def decrypt_krux_kef(encrypted_data: str, password: str) -> str:
    """Decrypt Krux KEF format."""
    # Implementation from seedpgp krux.ts
    import base64
    import struct
    
    data = base64.b64decode(encrypted_data)
    salt = data[:16]
    iv = data[16:32]
    ciphertext = data[32:-32]
    mac = data[-32:]
    
    # Derive key
    kdf = PBKDF2(
        algorithm=hashlib.sha256(),
        length=64,
        salt=salt,
        iterations=100000,
        backend=default_backend()
    )
    key = kdf.derive(password.encode())
    encryption_key = key[:32]
    mac_key = key[32:]
    
    # Verify MAC
    h = hmac.new(mac_key, data[:-32], hashlib.sha256)
    if not hmac.compare_digest(h.digest(), mac):
        raise ValueError("Invalid password or corrupted data")
    
    # Decrypt
    cipher = Cipher(
        algorithms.AES(encryption_key),
        modes.CTR(iv),
        backend=default_backend()
    )
    decryptor = cipher.decryptor()
    plaintext = decryptor.update(ciphertext) + decryptor.finalize()
    
    # Parse JSON
    result = json.loads(plaintext.decode())
    return result.get('w', '')

if __name__ == "__main__":
    print("Paste your encrypted Krux backup (Base64):")
    encrypted = input().strip()
    
    print("Enter your passphrase:")
    password = input().strip()
    
    try:
        seed = decrypt_krux_kef(encrypted, password)
        print(f"\\n\u2705 Seed phrase recovered:\\n\\n{seed}")
    except Exception as e:
        print(f"\\n\u274C Decryption failed: {e}")
`, _P = `#!/usr/bin/env python3
# Decode SeedQR backup
# Usage: python3 decode_seedqr.py <seedqr_data>

import sys
import json

def decode_seedqr(data: str) -> str:
    """Decode SeedQR format."""
    # Check if it's numeric format
    if data.isdigit():
        # Convert numeric to hex
        hex_str = hex(int(data))[2:]
        # Pad to proper length
        if len(hex_str) % 2 != 0:
            hex_str = '0' + hex_str
        # Convert hex to bytes
        bytes_data = bytes.fromhex(hex_str)
    else:
        # Assume it's already hex
        bytes_data = bytes.fromhex(data)
    
    # Parse as JSON
    result = json.loads(bytes_data.decode())
    return result.get('w', '')

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python3 decode_seedqr.py <seedqr_data>")
        sys.exit(1)
    
    try:
        seed = decode_seedqr(sys.argv[1])
        print(f"\\n\u2705 Seed phrase recovered:\\n\\n{seed}")
    except Exception as e:
        print(f"\\n\u274C Decoding failed: {e}")
`, SP = () => {
    const [e, t] = Ae.useState("intro"), [r, n] = Ae.useState(""), [a, i] = Ae.useState("TestPassword123!"), [s, l] = Ae.useState(""), [u, x] = Ae.useState(false), [d, f] = Ae.useState(""), [m, p] = Ae.useState(""), g = async () => {
      try {
        x(true), f("");
        const _ = crypto.getRandomValues(new Uint8Array(16)), T = await Yn(_);
        n(T), t("encrypt");
      } catch (_) {
        f(`Failed to generate dummy seed: ${_.message}`);
      } finally {
        x(false);
      }
    }, E = async () => {
      try {
        x(true), f("");
        const _ = await dE({
          plaintext: r,
          messagePassword: a,
          mode: "pgp"
        });
        p(_.framed), t("download");
      } catch (_) {
        f(`Failed to encrypt dummy seed: ${_.message}`);
      } finally {
        x(false);
      }
    }, A = async () => {
      try {
        x(true), f("");
        const _ = await pE({
          encryptedData: m,
          encryptionMode: "pgp",
          encryptionMethod: "password",
          qrImageDataUrl: void 0
        }), T = URL.createObjectURL(_), I = document.createElement("a");
        I.href = T, I.download = `seedpgp-test-recovery-kit-${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}.zip`, I.click(), URL.revokeObjectURL(T), alert("\u2705 Recovery kit downloaded! Now let's test if you can recover the seed."), t("clear");
      } catch (_) {
        f(`Failed to generate recovery kit: ${_.message}`);
      } finally {
        x(false);
      }
    }, w = () => {
      n(""), l(""), alert("\u2705 Dummy seed cleared. Now follow the recovery instructions to get it back!"), t("recover");
    }, D = async () => {
      try {
        x(true), f("");
        const _ = await q8({
          frameText: m,
          messagePassword: a,
          mode: "pgp"
        });
        l(_.w), t("verify");
      } catch (_) {
        f(`\u274C Recovery failed: ${_.message}`);
      } finally {
        x(false);
      }
    }, B = () => {
      s === r ? (t("complete"), alert("\u{1F389} SUCCESS! You successfully recovered the seed phrase!")) : alert("\u274C FAILED: Recovered seed does not match original. Try again.");
    }, v = () => {
      t("intro"), n(""), i("TestPassword123!"), l(""), p(""), f("");
    };
    return b.jsx("div", {
      className: "max-w-4xl mx-auto p-6",
      children: b.jsxs("div", {
        className: "bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 p-6",
        children: [
          b.jsx("h2", {
            className: "text-2xl font-bold text-[#00f0ff] mb-4",
            children: "\u{1F9EA} Test Your Recovery Ability"
          }),
          d && b.jsxs("div", {
            className: "p-4 bg-[#1a1a2e] border-2 border-[#ff006e] rounded-lg text-[#ff006e] text-sm shadow-[0_0_20px_rgba(255,0,110,0.3)] flex gap-3 items-start mb-4",
            children: [
              b.jsx(ti, {
                className: "shrink-0 mt-0.5",
                size: 20
              }),
              b.jsxs("div", {
                children: [
                  b.jsx("p", {
                    className: "font-bold mb-1",
                    children: "Error"
                  }),
                  b.jsx("p", {
                    className: "whitespace-pre-wrap",
                    children: d
                  })
                ]
              })
            ]
          }),
          e === "intro" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx("p", {
                className: "text-[#6ef3f7]",
                children: "This drill will help you practice recovering a seed phrase from an encrypted backup. You'll learn the recovery process without risking your real funds."
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] border border-[#ff006e] rounded-lg p-4",
                children: [
                  b.jsx("h3", {
                    className: "text-[#ff006e] font-bold mb-2",
                    children: "What You'll Do:"
                  }),
                  b.jsxs("ol", {
                    className: "text-sm text-[#6ef3f7] space-y-1 list-decimal list-inside",
                    children: [
                      b.jsx("li", {
                        children: "Generate a dummy test seed"
                      }),
                      b.jsx("li", {
                        children: "Encrypt it with a test password"
                      }),
                      b.jsx("li", {
                        children: "Download the recovery kit"
                      }),
                      b.jsx("li", {
                        children: "Clear the seed from your browser"
                      }),
                      b.jsx("li", {
                        children: "Follow recovery instructions to decrypt"
                      }),
                      b.jsx("li", {
                        children: "Verify you got the correct seed back"
                      })
                    ]
                  })
                ]
              }),
              b.jsxs("button", {
                onClick: g,
                disabled: u,
                className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white rounded-xl font-bold uppercase flex items-center justify-center gap-2",
                children: [
                  u ? b.jsx(ma, {
                    className: "animate-spin",
                    size: 20
                  }) : b.jsx(AA, {
                    size: 20
                  }),
                  u ? "Generating..." : "Start Test Recovery Drill"
                ]
              })
            ]
          }),
          e === "generate" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 1: Dummy Seed Generated"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-xs text-[#6ef3f7] mb-2",
                    children: "Test Seed (DO NOT USE FOR REAL FUNDS):"
                  }),
                  b.jsx("p", {
                    className: "font-mono text-sm text-[#00f0ff]",
                    children: r
                  })
                ]
              }),
              b.jsxs("button", {
                onClick: E,
                disabled: u,
                className: "w-full py-3 bg-[#00f0ff] text-[#0a0a0f] rounded-xl font-bold flex items-center justify-center gap-2",
                children: [
                  u ? b.jsx(ma, {
                    className: "animate-spin",
                    size: 20
                  }) : b.jsx(Hs, {
                    size: 20
                  }),
                  u ? "Encrypting..." : "Next: Encrypt This Seed"
                ]
              })
            ]
          }),
          e === "encrypt" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 2: Seed Encrypted"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-xs text-[#6ef3f7] mb-2",
                    children: "Test Password:"
                  }),
                  b.jsx("p", {
                    className: "font-mono text-sm text-[#00f0ff]",
                    children: a
                  }),
                  b.jsx("p", {
                    className: "text-xs text-[#6ef3f7] mt-2",
                    children: "Seed has been encrypted with PGP using password-based encryption."
                  })
                ]
              }),
              b.jsxs("button", {
                onClick: A,
                disabled: u,
                className: "w-full py-3 bg-gradient-to-r from-[#00f0ff] to-[#00c8ff] text-[#0a0a0f] rounded-xl font-bold flex items-center justify-center gap-2",
                children: [
                  u ? b.jsx(ma, {
                    className: "animate-spin",
                    size: 20
                  }) : b.jsx(A4, {
                    size: 20
                  }),
                  u ? "Generating..." : "Next: Download Recovery Kit"
                ]
              })
            ]
          }),
          e === "download" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 3: Recovery Kit Downloaded"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-sm text-[#6ef3f7]",
                    children: "The recovery kit ZIP file has been downloaded to your computer. It contains:"
                  }),
                  b.jsxs("ul", {
                    className: "text-xs text-[#6ef3f7] list-disc list-inside mt-2 space-y-1",
                    children: [
                      b.jsx("li", {
                        children: "Encrypted backup file"
                      }),
                      b.jsx("li", {
                        children: "Recovery scripts (Python/Bash)"
                      }),
                      b.jsx("li", {
                        children: "Personalized instructions"
                      }),
                      b.jsx("li", {
                        children: "BIP39 wordlist"
                      }),
                      b.jsx("li", {
                        children: "Metadata file"
                      })
                    ]
                  })
                ]
              }),
              b.jsx("button", {
                onClick: w,
                className: "w-full py-3 bg-[#ff006e] text-white rounded-xl font-bold",
                children: "Next: Clear Seed & Test Recovery"
              })
            ]
          }),
          e === "clear" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 4: Seed Cleared"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-sm text-[#6ef3f7]",
                    children: "The dummy seed has been cleared from browser memory. This simulates what would happen if:"
                  }),
                  b.jsxs("ul", {
                    className: "text-xs text-[#6ef3f7] list-disc list-inside mt-2 space-y-1",
                    children: [
                      b.jsx("li", {
                        children: "The SeedPGP website goes down"
                      }),
                      b.jsx("li", {
                        children: "You lose access to this browser"
                      }),
                      b.jsx("li", {
                        children: "You need to recover from the backup alone"
                      })
                    ]
                  })
                ]
              }),
              b.jsxs("button", {
                onClick: D,
                disabled: u,
                className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white rounded-xl font-bold flex items-center justify-center gap-2",
                children: [
                  u ? b.jsx(ma, {
                    className: "animate-spin",
                    size: 20
                  }) : b.jsx(b4, {
                    size: 20
                  }),
                  u ? "Decrypting..." : "Next: Recover Seed from Backup"
                ]
              })
            ]
          }),
          e === "recover" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 5: Seed Recovered"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-xs text-[#6ef3f7] mb-2",
                    children: "Recovered Seed:"
                  }),
                  b.jsx("p", {
                    className: "font-mono text-sm text-[#00f0ff]",
                    children: s
                  }),
                  b.jsx("p", {
                    className: "text-xs text-[#6ef3f7] mt-2",
                    children: "The seed has been successfully decrypted from the backup using the test password."
                  })
                ]
              }),
              b.jsx("button", {
                onClick: B,
                className: "w-full py-3 bg-[#39ff14] text-[#0a0a0f] rounded-xl font-bold",
                children: "Next: Verify Recovery"
              })
            ]
          }),
          e === "verify" && b.jsxs("div", {
            className: "space-y-4",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14]",
                size: 32
              }),
              b.jsx("h3", {
                className: "text-[#39ff14] font-bold",
                children: "Step 6: Verification"
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] p-4 rounded-lg",
                children: [
                  b.jsx("p", {
                    className: "text-sm text-[#6ef3f7]",
                    children: "Comparing original seed with recovered seed..."
                  }),
                  b.jsxs("div", {
                    className: "grid grid-cols-2 gap-4 mt-3",
                    children: [
                      b.jsxs("div", {
                        children: [
                          b.jsx("p", {
                            className: "text-xs text-[#6ef3f7] mb-1",
                            children: "Original:"
                          }),
                          b.jsx("p", {
                            className: "font-mono text-xs text-[#00f0ff] truncate",
                            children: r
                          })
                        ]
                      }),
                      b.jsxs("div", {
                        children: [
                          b.jsx("p", {
                            className: "text-xs text-[#6ef3f7] mb-1",
                            children: "Recovered:"
                          }),
                          b.jsx("p", {
                            className: "font-mono text-xs text-[#00f0ff] truncate",
                            children: s
                          })
                        ]
                      })
                    ]
                  })
                ]
              }),
              b.jsx("button", {
                onClick: () => {
                  s === r ? (t("complete"), alert("\u{1F389} SUCCESS! You successfully recovered the seed phrase!")) : alert("\u274C FAILED: Recovered seed does not match original. Try again.");
                },
                className: "w-full py-3 bg-gradient-to-r from-[#39ff14] to-[#00ff88] text-[#0a0a0f] rounded-xl font-bold",
                children: "Verify Match"
              })
            ]
          }),
          e === "complete" && b.jsxs("div", {
            className: "space-y-4 text-center",
            children: [
              b.jsx(hr, {
                className: "text-[#39ff14] mx-auto",
                size: 64
              }),
              b.jsx("h3", {
                className: "text-2xl font-bold text-[#39ff14]",
                children: "\u{1F389} Test Passed!"
              }),
              b.jsx("p", {
                className: "text-[#6ef3f7]",
                children: "You've successfully proven you can recover a seed phrase from an encrypted backup. You're ready to trust this system with real funds."
              }),
              b.jsxs("div", {
                className: "bg-[#0a0a0f] border border-[#39ff14] rounded-lg p-4 mt-4",
                children: [
                  b.jsx("h4", {
                    className: "text-[#39ff14] font-bold mb-2",
                    children: "Key Takeaways:"
                  }),
                  b.jsxs("ul", {
                    className: "text-sm text-[#6ef3f7] space-y-1 text-left",
                    children: [
                      b.jsx("li", {
                        children: "\u2705 You can decrypt backups without the SeedPGP website"
                      }),
                      b.jsx("li", {
                        children: "\u2705 The recovery kit contains everything needed"
                      }),
                      b.jsx("li", {
                        children: "\u2705 You understand the recovery process"
                      }),
                      b.jsx("li", {
                        children: "\u2705 Your real backups are recoverable"
                      })
                    ]
                  })
                ]
              }),
              b.jsxs("button", {
                onClick: v,
                className: "py-3 px-6 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-xl font-bold flex items-center justify-center gap-2 mx-auto",
                children: [
                  b.jsx(ma, {
                    size: 16
                  }),
                  "Run Test Again"
                ]
              })
            ]
          }),
          b.jsxs("div", {
            className: "mt-6 pt-4 border-t border-[#00f0ff]/20",
            children: [
              b.jsxs("div", {
                className: "flex justify-between text-xs text-[#6ef3f7] mb-2",
                children: [
                  b.jsx("span", {
                    children: "Progress:"
                  }),
                  b.jsxs("span", {
                    children: [
                      e === "intro" && "0/7",
                      e === "generate" && "1/7",
                      e === "encrypt" && "2/7",
                      e === "download" && "3/7",
                      e === "clear" && "4/7",
                      e === "recover" && "5/7",
                      e === "verify" && "6/7",
                      e === "complete" && "7/7"
                    ]
                  })
                ]
              }),
              b.jsx("div", {
                className: "w-full bg-[#0a0a0f] rounded-full h-2",
                children: b.jsx("div", {
                  className: "bg-gradient-to-r from-[#00f0ff] to-[#00c8ff] h-2 rounded-full transition-all duration-300",
                  style: {
                    width: e === "intro" ? "0%" : e === "generate" ? "14%" : e === "encrypt" ? "28%" : e === "download" ? "42%" : e === "clear" ? "57%" : e === "recover" ? "71%" : e === "verify" ? "85%" : "100%"
                  }
                })
              })
            ]
          })
        ]
      })
    });
  }, IP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = Ae.useState("permission"), [s, l] = Ae.useState(null), [u, x] = Ae.useState(0), [d, f] = Ae.useState(false), [m, p] = Ae.useState(null), [g, E] = Ae.useState(""), [A, w] = Ae.useState(""), [D, B] = Ae.useState(0), v = Ae.useRef(null), _ = Ae.useRef(null), T = Ae.useRef(), I = Ae.useRef([]), z = Ae.useRef(false), C = Ae.useRef(null), j = Ae.useRef([]), U = Ae.useRef(0), P = async () => {
      if (T.current && (cancelAnimationFrame(T.current), T.current = void 0), s && (s.getTracks().forEach((Z) => Z.stop()), l(null)), C.current) {
        C.current.onaudioprocess = null;
        try {
          C.current.disconnect();
        } catch {
        }
        C.current = null;
      }
      _.current = null;
      const Q = v.current;
      if (v.current = null, Q && Q.state !== "closed") try {
        await Q.close();
      } catch {
      }
    }, L = async () => {
      try {
        await P();
        const Q = await navigator.mediaDevices.getUserMedia({
          audio: {
            echoCancellation: false,
            noiseSuppression: false,
            autoGainControl: false,
            sampleRate: {
              ideal: 44100
            },
            channelCount: 1
          }
        }), Z = new (window.AudioContext || window.webkitAudioContext)(), M = Z.createAnalyser();
        M.fftSize = 2048, M.smoothingTimeConstant = 0.3, M.minDecibels = -100, M.maxDecibels = 0, M.channelCount = 1;
        const H = Z.createMediaStreamSource(Q), re = Z.createGain();
        re.gain.value = 0;
        const te = Z.createMediaStreamDestination();
        H.connect(M), M.connect(re), re.connect(te);
        try {
          const ae = Z.createScriptProcessor(1024, 1, 1);
          ae.onaudioprocess = (xe) => {
            const me = xe.inputBuffer.getChannelData(0);
            j.current.push(new Float32Array(me));
            let fe = 0;
            for (let Ce = 0; Ce < me.length; Ce++) fe += me[Ce] * me[Ce];
            const ye = Math.sqrt(fe / me.length);
            Math.random() < 0.1 && x(Math.min(ye * 2e3, 100)), U.current++ % 30;
          }, H.connect(ae), ae.connect(re), C.current = ae;
        } catch {
        }
        v.current = Z, _.current = M, l(Q), Z.state === "suspended" && await Z.resume(), setTimeout(() => {
          _.current && (F(), i("capture"));
        }, 300);
      } catch (Q) {
        w(`Microphone access denied: ${Q.message}`), setTimeout(() => r(), 2e3);
      }
    }, F = () => {
      if (!_.current) return;
      const Q = () => {
        if (!_.current) return;
        const Z = _.current.frequencyBinCount, M = new Float32Array(Z), H = new Float32Array(Z);
        _.current.getFloatTimeDomainData(M), _.current.getFloatFrequencyData(H);
        let re = 0;
        for (let je = 0; je < Z; je++) re += M[je] * M[je];
        const te = Math.sqrt(re / Z), ae = Math.min(te * 2e3, 100);
        let xe = 0, me = 0;
        for (let je = 0; je < Z; je++) {
          const Re = H[je];
          if (Re > -100) {
            const O = Math.pow(10, Re / 20);
            xe += O * O, me++;
          }
        }
        const fe = me > 0 ? Math.sqrt(xe / me) : 0, ye = Math.min(fe * 1e3, 50), Ce = Math.max(ae, ye), ke = Math.min(Math.max(Ce, 0), 100);
        z.current || (z.current = true), x(ke), f(ke > 1), T.current = requestAnimationFrame(Q);
      };
      Q();
    };
    Ae.useEffect(() => {
      _.current && a === "capture" && !T.current && F();
    }, [
      _.current,
      a
    ]);
    const q = async () => {
      v.current && v.current.state === "suspended" && await v.current.resume(), i("processing"), B(0);
      const Q = 3e3, Z = 50, M = Q / Z;
      I.current = [], j.current = [];
      for (let te = 0; te < M; te++) {
        if (await new Promise((ae) => setTimeout(ae, Z)), _.current) {
          const ae = _.current.frequencyBinCount, xe = new Float32Array(ae);
          _.current.getFloatTimeDomainData(xe), I.current.push(new Float32Array(xe));
        }
        B((te + 1) / M * 100);
      }
      j.current.length > 0 && (I.current = j.current.slice(-M));
      const H = await $(), re = await Y(H);
      p(H), E(re), i("stats"), await P();
    }, $ = async () => {
      var _a2;
      const Q = I.current.flatMap((ye) => Array.from(ye)), Z = ((_a2 = v.current) == null ? void 0 : _a2.sampleRate) || 48e3, M = Math.max(...Q.map(Math.abs)), H = Q.reduce((ye, Ce) => ye + Ce * Ce, 0), re = Math.sqrt(H / Q.length);
      let te = 0;
      for (let ye = 1; ye < Q.length; ye++) (Q[ye] >= 0 && Q[ye - 1] < 0 || Q[ye] < 0 && Q[ye - 1] >= 0) && te++;
      const ae = Array(8).fill(0);
      for (const ye of I.current) {
        const Ce = ye.length, ke = Math.floor(Ce / 8);
        for (let je = 0; je < 8; je++) {
          const Re = je * ke, O = Re + ke;
          let se = 0;
          for (let ce = Re; ce < O && ce < Ce; ce++) se += Math.abs(ye[ce]);
          ae[je] += se / ke;
        }
      }
      const xe = Math.max(...ae);
      if (xe > 0) for (let ye = 0; ye < ae.length; ye++) ae[ye] = ae[ye] / xe * 100;
      let me = 0;
      const fe = ae.reduce((ye, Ce) => ye + Ce, 0);
      if (fe > 0) {
        for (const ye of ae) if (ye > 0) {
          const Ce = ye / fe;
          me -= Ce * Math.log2(Ce);
        }
      }
      return {
        sampleRate: Z,
        duration: I.current.length * 50,
        peakAmplitude: M,
        rmsAmplitude: re,
        zeroCrossings: te,
        frequencyBands: ae,
        spectralEntropy: me,
        interactionSamples: n.getSampleCount().total,
        totalBits: 256
      };
    }, Y = async (Q) => {
      const Z = I.current.flatMap((Ce) => Array.from(Ce)), M = await crypto.subtle.digest("SHA-256", new Float32Array(Z).buffer), H = await n.getEntropyBytes(), re = crypto.getRandomValues(new Uint8Array(32)), te = [
        Array.from(new Uint8Array(M)).join(","),
        Q.zeroCrossings.toString(),
        Q.peakAmplitude.toString(),
        performance.now().toString(),
        Array.from(H).join(","),
        Array.from(re).join(",")
      ].join("|"), xe = new TextEncoder().encode(te), me = await crypto.subtle.digest("SHA-256", xe), fe = e === 12 ? 16 : 32, ye = new Uint8Array(me).slice(0, fe);
      return Yn(ye);
    };
    Ae.useEffect(() => () => {
      P();
    }, []);
    const J = () => u > 10 ? {
      text: "\u2705 Excellent audio - ready!",
      color: "#39ff14"
    } : u > 5 ? {
      text: "\u{1F7E1} Good - speak or make noise",
      color: "#ffd700"
    } : u > 2 ? {
      text: "\u{1F7E0} Low - louder noise needed",
      color: "#ff9500"
    } : {
      text: "\u{1F534} Too quiet - tap desk/speak",
      color: "#ff006e"
    };
    return b.jsxs("div", {
      className: "space-y-4",
      children: [
        a === "permission" && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] space-y-4",
          children: [
            b.jsxs("div", {
              className: "text-center space-y-2",
              children: [
                b.jsx(Ex, {
                  size: 48,
                  className: "mx-auto text-[#00f0ff]"
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold text-[#00f0ff] uppercase",
                  children: "Microphone Permission Needed"
                }),
                b.jsx("span", {
                  className: "px-3 py-1 bg-[#ff006e30] border border-[#ff006e] text-[#ff006e] rounded-full text-[10px] font-bold uppercase",
                  children: "Beta Feature"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-2 text-xs text-[#6ef3f7]",
              children: [
                b.jsx("p", {
                  children: "To generate entropy, we need:"
                }),
                b.jsxs("ul", {
                  className: "list-disc list-inside space-y-1 pl-2",
                  children: [
                    b.jsx("li", {
                      children: "Microphone access to capture ambient noise"
                    }),
                    b.jsx("li", {
                      children: "Audio data processed locally (never transmitted)"
                    }),
                    b.jsx("li", {
                      children: "3 seconds of audio capture"
                    }),
                    b.jsx("li", {
                      children: "Microphone auto-closes after use"
                    })
                  ]
                })
              ]
            }),
            b.jsxs("div", {
              className: "flex gap-3",
              children: [
                b.jsx("button", {
                  onClick: L,
                  className: "flex-1 py-2.5 bg-[#00f0ff] text-[#0a0a0f] rounded-lg font-bold text-sm hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all",
                  children: "Allow Microphone"
                }),
                b.jsx("button", {
                  onClick: r,
                  className: "flex-1 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e20] transition-all",
                  children: "Cancel"
                })
              ]
            })
          ]
        }),
        a === "capture" && b.jsxs("div", {
          className: "space-y-4",
          children: [
            b.jsx("div", {
              className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30]",
              children: b.jsx("div", {
                className: "flex items-center justify-center h-32 relative",
                children: b.jsx("div", {
                  className: "flex items-end gap-1 h-full",
                  children: [
                    ...Array(20)
                  ].map((Q, Z) => b.jsx("div", {
                    className: "w-2 bg-[#00f0ff] rounded-t transition-all",
                    style: {
                      height: `${Math.max(10, u * (0.5 + Math.random() * 0.5))}%`,
                      opacity: 0.3 + u / 100 * 0.7
                    }
                  }, Z))
                })
              })
            }),
            b.jsxs("div", {
              className: "p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] space-y-3",
              children: [
                b.jsxs("div", {
                  className: "text-xs text-[#6ef3f7] space-y-1",
                  children: [
                    b.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    b.jsx("p", {
                      children: "Make noise: tap desk, rustle paper, speak, or play music"
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    b.jsxs("div", {
                      className: "flex items-center justify-between text-xs",
                      children: [
                        b.jsx("span", {
                          className: "text-[#00f0ff]",
                          children: "Audio Level:"
                        }),
                        b.jsxs("span", {
                          className: "font-mono text-[#00f0ff]",
                          children: [
                            u.toFixed(1),
                            "%"
                          ]
                        })
                      ]
                    }),
                    b.jsx("div", {
                      className: "w-full bg-[#0a0a0f] rounded-full h-2 overflow-hidden",
                      children: b.jsx("div", {
                        className: "h-full transition-all",
                        style: {
                          width: `${u}%`,
                          backgroundColor: J().color
                        }
                      })
                    }),
                    b.jsx("div", {
                      className: "text-xs font-medium",
                      style: {
                        color: J().color
                      },
                      children: J().text
                    })
                  ]
                }),
                b.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    b.jsxs("button", {
                      onClick: q,
                      disabled: !d,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: [
                        b.jsx(Ex, {
                          className: "inline mr-2",
                          size: 16
                        }),
                        "Capture (3s)"
                      ]
                    }),
                    b.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e20] transition-all",
                      children: b.jsx(p0, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            })
          ]
        }),
        a === "processing" && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] text-center space-y-3",
          children: [
            b.jsxs("div", {
              className: "relative w-16 h-16 mx-auto",
              children: [
                b.jsx("div", {
                  className: "animate-spin w-16 h-16 border-4 border-[#00f0ff30] border-t-[#00f0ff] rounded-full"
                }),
                b.jsx(Ex, {
                  className: "absolute inset-0 m-auto text-[#00f0ff]",
                  size: 24
                })
              ]
            }),
            b.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Capturing audio entropy..."
            }),
            b.jsx("div", {
              className: "w-full bg-[#0a0a0f] rounded-full h-2",
              children: b.jsx("div", {
                className: "h-full bg-[#00f0ff] rounded-full transition-all",
                style: {
                  width: `${D}%`
                }
              })
            }),
            b.jsxs("p", {
              className: "text-xs text-[#6ef3f7]",
              children: [
                D.toFixed(0),
                "%"
              ]
            })
          ]
        }),
        a === "stats" && m && b.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4",
          children: [
            b.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                b.jsx(hr, {
                  size: 24
                }),
                b.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Audio Entropy Analysis"
                })
              ]
            }),
            b.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    b.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Microphone Ambient Noise"
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "AUDIO METRICS:"
                    }),
                    b.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        b.jsx("div", {
                          children: "Sample Rate:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            m.sampleRate,
                            " Hz"
                          ]
                        }),
                        b.jsx("div", {
                          children: "Duration:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            m.duration,
                            "ms"
                          ]
                        }),
                        b.jsx("div", {
                          children: "Peak Amplitude:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: m.peakAmplitude.toFixed(3)
                        }),
                        b.jsx("div", {
                          children: "RMS Amplitude:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: m.rmsAmplitude.toFixed(3)
                        }),
                        b.jsx("div", {
                          children: "Zero Crossings:"
                        }),
                        b.jsx("div", {
                          className: "text-[#39ff14]",
                          children: m.zeroCrossings.toLocaleString()
                        }),
                        b.jsx("div", {
                          children: "Spectral Entropy:"
                        }),
                        b.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            m.spectralEntropy.toFixed(2),
                            "/3.00"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "FREQUENCY DISTRIBUTION:"
                    }),
                    b.jsx("div", {
                      className: "flex items-end justify-between h-16 gap-1",
                      children: m.frequencyBands.map((Q, Z) => b.jsx("div", {
                        className: "flex-1 bg-[#00f0ff] rounded-t",
                        style: {
                          height: `${Q}%`
                        }
                      }, Z))
                    }),
                    b.jsxs("div", {
                      className: "flex justify-between text-[9px] text-[#6ef3f7] mt-1",
                      children: [
                        b.jsx("span", {
                          children: "Low"
                        }),
                        b.jsx("span", {
                          children: "High"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    b.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff1450]",
                      children: [
                        b.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: g
                        }),
                        b.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal -  Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        b.jsxs("div", {
                          children: [
                            "1. Captured ",
                            m.duration,
                            "ms of audio (",
                            (I.current.flat().length / 1024).toFixed(1),
                            "KB)"
                          ]
                        }),
                        b.jsxs("div", {
                          children: [
                            "2. Analyzed ",
                            m.zeroCrossings.toLocaleString(),
                            " zero crossings"
                          ]
                        }),
                        b.jsx("div", {
                          children: "3. Extracted frequency spectrum (8 bands)"
                        }),
                        b.jsxs("div", {
                          children: [
                            "4. Mixed with ",
                            m.interactionSamples,
                            " interaction samples"
                          ]
                        }),
                        b.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        b.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsxs("div", {
                  children: [
                    b.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    b.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7]",
                      children: [
                        b.jsx("div", {
                          children: "-  crypto.getRandomValues() \u2713"
                        }),
                        b.jsx("div", {
                          children: "-  performance.now() \u2713"
                        }),
                        b.jsxs("div", {
                          children: [
                            "-  Interaction timing (",
                            m.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                b.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff30]",
                  children: b.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      b.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      b.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          m.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                })
              ]
            }),
            b.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff30] space-y-3",
              children: [
                b.jsx("button", {
                  onClick: () => t(g, m),
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                b.jsx("button", {
                  onClick: () => {
                    i("permission"), p(null), E(""), x(0), I.current = [], z.current = false;
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff20] transition-all",
                  children: "Capture Again"
                })
              ]
            })
          ]
        }),
        A && b.jsx("div", {
          className: "p-4 bg-[#16213e] border-2 border-[#ff006e] rounded-lg",
          children: b.jsx("p", {
            className: "text-xs text-[#ff006e]",
            children: A
          })
        })
      ]
    });
  };
  function PP() {
    const [e, t] = Ae.useState("create"), [r, n] = Ae.useState(""), [a, i] = Ae.useState(""), [s, l] = Ae.useState(""), [u, x] = Ae.useState(""), [d, f] = Ae.useState(""), [m, p] = Ae.useState(""), [g, E] = Ae.useState(false), [A, w] = Ae.useState(""), [D, B] = Ae.useState(""), [v, _] = Ae.useState(""), [T, I] = Ae.useState(null), [z, C] = Ae.useState(""), [j, U] = Ae.useState(false), [P, L] = Ae.useState(false), [F, q] = Ae.useState(false), [$, Y] = Ae.useState(false), [J, Q] = Ae.useState(false), [Z, M] = Ae.useState(null), [H, re] = Ae.useState(false), [te, ae] = Ae.useState(false), [xe, me] = Ae.useState(false), [fe, ye] = Ae.useState([]), [Ce, ke] = Ae.useState([]), [je, Re] = Ae.useState([]), [O, se] = Ae.useState(false), [ce, ee] = Ae.useState(0), [X, oe] = Ae.useState("pgp"), [Be, ve] = Ae.useState("standard"), [he, Se] = Ae.useState(""), [Ue, Ie] = Ae.useState(24), [Me, W] = Ae.useState("backup"), [N, K] = Ae.useState(null), [ne, ue] = Ae.useState(""), [Ee, we] = Ae.useState(0), [Ye, ht] = Ae.useState(true), [Xe, tt] = Ae.useState(null), [at, $n] = Ae.useState(null), Xn = Ae.useRef(new yP()), Nn = [
      "key",
      "mnemonic",
      "seed",
      "private",
      "secret",
      "pgp",
      "password"
    ], zr = (Fe) => {
      const Ve = Fe.toLowerCase();
      return Nn.some((qe) => Ve.includes(qe));
    }, Jn = (Fe) => {
      const Ve = [];
      for (let qe = 0; qe < Fe.length; qe++) {
        const pt = Fe.key(qe);
        if (pt) {
          const xt = Fe.getItem(pt) || "";
          Ve.push({
            key: pt,
            value: xt.substring(0, 50) + (xt.length > 50 ? "..." : ""),
            size: new Blob([
              xt
            ]).size,
            isSensitive: zr(pt)
          });
        }
      }
      return Ve.sort((qe, pt) => (pt.isSensitive ? 1 : 0) - (qe.isSensitive ? 1 : 0));
    }, C0 = () => {
      ye(Jn(localStorage)), ke(Jn(sessionStorage));
    };
    Ae.useEffect(() => {
      C0();
      const Fe = setInterval(C0, 2e3);
      return () => clearInterval(Fe);
    }, []), Ae.useEffect(() => {
      ui();
    }, []), Ae.useEffect(() => {
      ui();
    }, []), Ae.useEffect(() => () => {
      n8();
    }, []), Ae.useEffect(() => {
      const Fe = (Ve) => {
        var _a2, _b, _c2;
        const qe = Ve.target, xt = (((_a2 = window.getSelection()) == null ? void 0 : _a2.toString()) || "").length;
        if (xt === 0) return;
        let tr = "Unknown field";
        const un = qe.getAttribute("data-sensitive") || ((_b = qe.closest("[data-sensitive]")) == null ? void 0 : _b.getAttribute("data-sensitive"));
        if (un) tr = un;
        else if (qe.tagName === "TEXTAREA" || qe.tagName === "INPUT") {
          tr = qe.getAttribute("aria-label") || qe.getAttribute("name") || qe.getAttribute("id") || qe.type || qe.tagName.toLowerCase();
          const bt = qe.closest("label") || document.querySelector(`label[for="${qe.id}"]`);
          if (bt && (tr = ((_c2 = bt.textContent) == null ? void 0 : _c2.trim()) || tr), /mnemonic|seed|key|private|password|secret/i.test(qe.className + " " + tr + " " + (qe.getAttribute("placeholder") || "")) && tr === qe.tagName.toLowerCase()) {
            const ea = qe.getAttribute("placeholder");
            ea && (tr = ea.substring(0, 40) + "...");
          }
        }
        Re((bt) => [
          {
            timestamp: /* @__PURE__ */ new Date(),
            field: tr,
            length: xt
          },
          ...bt.slice(0, 9)
        ]);
      };
      return document.addEventListener("copy", Fe), () => document.removeEventListener("copy", Fe);
    }, []), Ae.useEffect(() => {
      if (e === "restore" && v.trim()) {
        const Fe = fE(v);
        K(Fe), (Fe === "pgp" || Fe === "krux") && Fe !== X && oe(Fe);
      } else K(null);
    }, [
      v,
      e,
      X
    ]);
    const Pc = async () => {
      try {
        await navigator.clipboard.writeText(""), Re([]), alert("\u2705 Clipboard cleared and history wiped");
      } catch {
        const Ve = document.createElement("textarea");
        Ve.value = "", document.body.appendChild(Ve), Ve.select(), document.execCommand("copy"), document.body.removeChild(Ve), Re([]), alert("\u2705 History cleared (clipboard may require manual clearing)");
      }
    }, Nc = async (Fe, Ve = "Data") => {
      if (J) {
        C("Copy to clipboard is disabled in Read-only mode.");
        return;
      }
      const qe = typeof Fe == "string" ? Fe : Array.from(Fe).map((pt) => pt.toString(16).padStart(2, "0")).join("");
      try {
        await navigator.clipboard.writeText(qe), L(true), (Ve.toLowerCase().includes("mnemonic") || Ve.toLowerCase().includes("seed") || Ve.toLowerCase().includes("password") || Ve.toLowerCase().includes("key")) && (Re((xt) => [
          {
            timestamp: /* @__PURE__ */ new Date(),
            field: `${Ve} (will clear in 10s)`,
            length: qe.length
          },
          ...xt.slice(0, 9)
        ]), setTimeout(async () => {
          try {
            const xt = crypto.getRandomValues(new Uint8Array(Math.max(qe.length, 64))).reduce((tr, un) => tr + String.fromCharCode(32 + un % 95), "");
            await navigator.clipboard.writeText(xt);
          } catch {
          }
        }, 1e4), alert(`\u26A0\uFE0F ${Ve} copied to clipboard!

\u2705 Will auto-clear in 10 seconds.

\u{1F512} Warning: Clipboard is accessible to other apps and browser extensions.`)), window.setTimeout(() => L(false), 1500);
      } catch {
        const pt = document.createElement("textarea");
        pt.value = qe, pt.style.position = "fixed", pt.style.left = "-9999px", document.body.appendChild(pt), pt.focus(), pt.select(), document.execCommand("copy"), document.body.removeChild(pt), L(true), window.setTimeout(() => L(false), 1500);
      }
    }, lo = (Fe, Ve) => {
      Se(Fe), $n(Ve);
    }, k0 = () => {
      Me === "backup" ? (n(he), t("backup")) : Me === "seedblender" && (ue(he), t("seedblender")), Se(""), tt(null), $n(null);
    }, jc = async () => {
      U(true), C(""), w(""), B("");
      try {
        const Fe = await lw(r);
        if (!Fe.valid) throw new Error(Fe.error);
        const Ve = xE(r, g);
        let qe;
        if (X === "seedqr") Be === "standard" ? qe = {
          framed: await HI(r)
        } : qe = {
          framed: await QI(r)
        };
        else {
          if (u) {
            const xt = await VI(u);
            if (!xt.valid) throw new Error(`PGP Key Validation Failed: ${xt.error}`);
          }
          qe = await dE({
            plaintext: Ve,
            publicKeyArmored: u || void 0,
            messagePassword: a || void 0,
            mode: X
          });
        }
        w(qe.framed), qe.recipientFingerprint && B(qe.recipientFingerprint), await r8();
        const pt = await f4({
          mnemonic: r,
          timestamp: Date.now()
        });
        M(pt), n(""), i(""), p("");
      } catch (Fe) {
        C(Fe instanceof Error ? Fe.message : "Encryption failed");
      } finally {
        U(false);
      }
    }, ci = async (Fe) => {
      U(true), C("");
      try {
        if (Fe.type.startsWith("image/")) {
          const Ve = new Image(), qe = document.createElement("canvas"), pt = qe.getContext("2d");
          await new Promise((xi, ea) => {
            Ve.onload = xi, Ve.onerror = ea, Ve.src = URL.createObjectURL(Fe);
          }), qe.width = Ve.width, qe.height = Ve.height, pt == null ? void 0 : pt.drawImage(Ve, 0, 0);
          const xt = pt == null ? void 0 : pt.getImageData(0, 0, qe.width, qe.height);
          if (!xt) throw new Error("Could not read image");
          const tr = (await ud(async () => {
            const { default: xi } = await Promise.resolve().then(() => aw);
            return {
              default: xi
            };
          }, void 0, import.meta.url)).default, un = tr(xt.data, xt.width, xt.height);
          if (!un) throw new Error("No QR code found in image");
          if (un.binaryData.length === 16 || un.binaryData.length === 32) {
            const xi = Array.from(un.binaryData).map((ea) => ea.toString(16).padStart(2, "0")).join("");
            _(xi);
          } else _(un.data);
          URL.revokeObjectURL(Ve.src);
        } else if (Fe.type === "text/plain" || Fe.name.endsWith(".txt") || Fe.name.endsWith(".asc")) {
          const Ve = await Fe.text();
          _(Ve.trim());
        } else throw new Error("Unsupported file type. Use PNG/JPG (QR) or TXT/ASC (armor)");
      } catch (Ve) {
        C(Ve instanceof Error ? Ve.message : "File upload failed");
      } finally {
        U(false);
      }
    }, D0 = async (Fe) => {
      Fe.preventDefault(), Y(false);
      const Ve = Fe.dataTransfer.files[0];
      Ve && await ci(Ve);
    }, co = (Fe) => {
      Fe.preventDefault(), Y(true);
    }, Vd = () => {
      Y(false);
    }, uo = async () => {
      U(true), C(""), I(null);
      try {
        const Ve = await q8({
          frameText: v,
          privateKeyArmored: d || void 0,
          privateKeyPassphrase: m || void 0,
          messagePassword: s || void 0,
          mode: N || X
        });
        await r8();
        const qe = await f4({
          mnemonic: Ve.w,
          timestamp: Date.now()
        });
        M(qe), I(Ve.w), l(""), p(""), _(""), setTimeout(() => {
          I(null);
        }, 1e4);
      } catch (Fe) {
        C(Fe instanceof Error ? Fe.message : "Decryption failed");
      } finally {
        U(false);
      }
    }, ui = () => {
      window.__originalFetch = window.fetch, window.__originalXHR = window.XMLHttpRequest, window.__originalWS = window.WebSocket, window.__originalImage = window.Image, navigator.sendBeacon && (window.__originalBeacon = navigator.sendBeacon), window.fetch = (async () => Promise.reject(new Error("Network blocked by user"))), window.XMLHttpRequest = new Proxy(XMLHttpRequest, {
        construct() {
          throw new Error("Network blocked: XMLHttpRequest not allowed");
        }
      }), window.WebSocket = new Proxy(WebSocket, {
        construct() {
          throw new Error("Network blocked: WebSocket not allowed");
        }
      }), navigator.sendBeacon = () => false;
      const Fe = window.Image;
      window.Image = new Proxy(Fe, {
        construct(Ve) {
          var _a2, _b;
          const qe = Reflect.construct(Ve, []), pt = (_a2 = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, "src")) == null ? void 0 : _a2.set;
          return Object.defineProperty(qe, "src", {
            configurable: true,
            set(xt) {
              if (xt && !xt.startsWith("data:") && !xt.startsWith("blob:")) throw new Error("Network blocked: cannot load external resource");
              pt == null ? void 0 : pt.call(this, xt);
            },
            get: (_b = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, "src")) == null ? void 0 : _b.get
          }), qe;
        }
      }), navigator.serviceWorker && (navigator.serviceWorker.register = async () => {
        throw new Error("Network blocked: Service Workers disabled");
      }, navigator.serviceWorker.getRegistrations().then((Ve) => Ve.forEach((qe) => qe.unregister())).catch(() => {
      }));
    }, os = () => {
      window.__originalFetch && (window.fetch = window.__originalFetch), window.__originalXHR && (window.XMLHttpRequest = window.__originalXHR), window.__originalWS && (window.WebSocket = window.__originalWS), window.__originalImage && (window.Image = window.__originalImage), window.__originalBeacon && (navigator.sendBeacon = window.__originalBeacon);
    }, F0 = () => {
      ht(!Ye), Ye ? os() : ui();
    }, zc = (Fe) => {
      t(Fe);
    }, Wd = () => {
      window.confirm("\u26A0\uFE0F Reset ALL data? This will clear everything including any displayed entropy analysis.") && (n(""), Se(""), i(""), l(""), x(""), f(""), p(""), w(""), B(""), _(""), I(null), C(""), tt(null), $n(null), ue(""), localStorage.clear(), sessionStorage.clear(), n8(), M(null), ee((Fe) => Fe + 1), we((Fe) => Fe + 1), t("create"));
    }, Zd = Ae.useCallback((Fe) => {
      if (typeof Fe == "string") _(Fe);
      else {
        const Ve = Array.from(Fe).map((qe) => qe.toString(16).padStart(2, "0")).join("");
        _(Ve);
      }
      q(false), C("");
    }, []), Ia = Ae.useCallback(() => {
      q(false);
    }, []), Uc = Ae.useCallback((Fe) => {
      C(Fe), q(false);
    }, []), Rc = async () => {
      var _a2;
      if (!A) {
        C("No backup available to export");
        return;
      }
      try {
        U(true), C("");
        const Ve = (_a2 = document.querySelector("canvas")) == null ? void 0 : _a2.toDataURL("image/png"), pt = await pE({
          encryptedData: A,
          encryptionMode: X,
          encryptionMethod: u && a ? "both" : u ? "publickey" : "password",
          fingerprint: D,
          qrImageDataUrl: Ve
        }), xt = URL.createObjectURL(pt), tr = document.createElement("a");
        tr.href = xt, tr.download = `seedpgp-recovery-kit-${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}.zip`, tr.click(), URL.revokeObjectURL(xt), alert("\u2705 Recovery kit downloaded! Store this ZIP file safely.");
      } catch (Fe) {
        C(`Failed to generate recovery kit: ${Fe.message}`);
      } finally {
        U(false);
      }
    };
    return b.jsx("div", {
      className: "min-h-screen bg-black",
      children: b.jsxs("div", {
        className: "max-w-md mx-auto min-h-screen bg-[#0a0a0f] bg-[radial-gradient(ellipse_at_top,#1a1a2e_0%,#0a0a0f_100%)] relative",
        children: [
          b.jsx("div", {
            className: "absolute inset-0 bg-[linear-gradient(rgba(0,240,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(0,240,255,0.03)_1px,transparent_1px)] bg-[size:50px_50px] pointer-events-none"
          }),
          b.jsxs("div", {
            className: "relative z-10",
            children: [
              b.jsx(oP, {
                onOpenSecurityModal: () => re(true),
                localItems: fe,
                sessionItems: Ce,
                onOpenStorageModal: () => ae(true),
                events: je,
                onOpenClipboardModal: () => me(true),
                activeTab: e,
                onRequestTabChange: zc,
                appVersion: "1.4.7",
                isNetworkBlocked: Ye,
                onToggleNetwork: F0,
                onResetAll: Wd
              }),
              b.jsxs("main", {
                className: "w-full px-4 py-3",
                children: [
                  b.jsx("div", {
                    className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 shadow-[0_0_30px_rgba(0,240,255,0.3)] p-0",
                    children: b.jsxs("div", {
                      className: "p-6 md:p-8 space-y-6",
                      children: [
                        z && b.jsxs("div", {
                          className: "p-4 bg-[#1a1a2e] border-2 border-[#ff006e] rounded-lg text-[#ff006e] text-sm shadow-[0_0_20px_rgba(255,0,110,0.3)] flex gap-3 items-start animate-in slide-in-from-top-2",
                          style: {
                            textShadow: "0 0 5px rgba(255,0,110,0.5)"
                          },
                          children: [
                            b.jsx(ti, {
                              className: "shrink-0 mt-0.5",
                              size: 20
                            }),
                            b.jsxs("div", {
                              children: [
                                b.jsx("p", {
                                  className: "font-bold mb-1",
                                  children: "Error"
                                }),
                                b.jsx("p", {
                                  className: "whitespace-pre-wrap",
                                  children: z
                                })
                              ]
                            })
                          ]
                        }),
                        D && e === "backup" && b.jsxs("div", {
                          className: "p-3 bg-[#16213e] border border-[#9d84b7] rounded-lg text-[#6ef3f7] text-xs shadow-[0_0_10px_rgba(157,132,183,0.3)] flex items-start gap-3 animate-in fade-in",
                          children: [
                            b.jsx(Fl, {
                              size: 16,
                              className: "shrink-0 mt-0.5"
                            }),
                            b.jsxs("div", {
                              children: [
                                b.jsx("strong", {
                                  children: "Recipient Key:"
                                }),
                                " ",
                                b.jsx("code", {
                                  className: "bg-[#16213e] border border-[#00f0ff]/50 px-1.5 py-0.5 rounded font-mono text-[#00f0ff]",
                                  children: D
                                })
                              ]
                            })
                          ]
                        }),
                        b.jsxs("div", {
                          className: "space-y-6",
                          children: [
                            b.jsxs("div", {
                              className: "space-y-6",
                              children: [
                                e === "create" && b.jsxs("div", {
                                  className: "space-y-6",
                                  children: [
                                    b.jsxs("div", {
                                      className: "space-y-3",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Seed Length"
                                        }),
                                        b.jsxs("div", {
                                          className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                                          children: [
                                            b.jsx("button", {
                                              onClick: () => Ie(12),
                                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Ue === 12 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                                              style: Ue === 12 ? {
                                                textShadow: "0 0 10px rgba(0,240,255,0.8)"
                                              } : void 0,
                                              children: "12 Words"
                                            }),
                                            b.jsx("button", {
                                              onClick: () => Ie(24),
                                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Ue === 24 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                                              style: Ue === 24 ? {
                                                textShadow: "0 0 10px rgba(0,240,255,0.8)"
                                              } : void 0,
                                              children: "24 Words"
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    !Xe && !he && b.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        b.jsxs("div", {
                                          className: "space-y-2",
                                          children: [
                                            b.jsx("h3", {
                                              className: "text-xs font-bold text-[#00f0ff] uppercase tracking-widest text-center",
                                              style: {
                                                textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                              },
                                              children: "Choose Entropy Source"
                                            }),
                                            b.jsx("p", {
                                              className: "text-[10px] text-[#6ef3f7] text-center",
                                              children: "All methods enhanced with mouse/keyboard timing + browser crypto"
                                            })
                                          ]
                                        }),
                                        at && b.jsxs("div", {
                                          className: "text-xs text-center text-[#6ef3f7]",
                                          children: [
                                            "Last entropy generated: ",
                                            at.totalBits,
                                            " bits"
                                          ]
                                        }),
                                        b.jsxs("div", {
                                          className: "space-y-3",
                                          children: [
                                            b.jsx("button", {
                                              onClick: () => tt("camera"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: b.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  b.jsx(Ux, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  b.jsxs("div", {
                                                    children: [
                                                      b.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F4F7} Camera Entropy"
                                                      }),
                                                      b.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Point at bright, textured surface"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            b.jsx("button", {
                                              onClick: () => tt("dice"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: b.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  b.jsx(yx, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  b.jsxs("div", {
                                                    children: [
                                                      b.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F3B2} Dice Rolls"
                                                      }),
                                                      b.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Roll physical dice 99+ times"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            b.jsx("button", {
                                              onClick: () => tt("audio"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: b.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  b.jsx(Ex, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  b.jsxs("div", {
                                                    className: "flex-1",
                                                    children: [
                                                      b.jsxs("div", {
                                                        className: "flex items-center gap-2",
                                                        children: [
                                                          b.jsx("p", {
                                                            className: "text-sm font-bold text-[#00f0ff]",
                                                            children: "\u{1F3A4} Audio Noise"
                                                          }),
                                                          b.jsx("span", {
                                                            className: "px-2 py-0.5 bg-[#ff006e] text-white text-[9px] rounded font-bold",
                                                            children: "BETA"
                                                          })
                                                        ]
                                                      }),
                                                      b.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Capture ambient sound entropy"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            b.jsx("button", {
                                              onClick: () => tt("randomorg"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: b.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  b.jsx(yx, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  b.jsxs("div", {
                                                    children: [
                                                      b.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F310} Random.org D6"
                                                      }),
                                                      b.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Manual entropy via random.org"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            })
                                          ]
                                        }),
                                        b.jsxs("div", {
                                          className: "flex items-start gap-2 p-3 bg-[#16213e] border border-[#00f0ff]/30 rounded-lg",
                                          children: [
                                            b.jsx(Fl, {
                                              size: 14,
                                              className: "text-[#00f0ff] shrink-0 mt-0.5"
                                            }),
                                            b.jsxs("p", {
                                              className: "text-[10px] text-[#6ef3f7]",
                                              children: [
                                                b.jsx("strong", {
                                                  className: "text-[#00f0ff]",
                                                  children: "Privacy:"
                                                }),
                                                " All processing happens locally in your browser. Images/audio never stored or transmitted. This app is 100% stateless."
                                              ]
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    Xe === "camera" && !he && b.jsx(dP, {
                                      wordCount: Ue,
                                      onEntropyGenerated: lo,
                                      onCancel: () => tt(null),
                                      interactionEntropy: Xn.current
                                    }, `camera-${ce}`),
                                    Xe === "dice" && !he && b.jsx(fP, {
                                      wordCount: Ue,
                                      onEntropyGenerated: lo,
                                      onCancel: () => tt(null),
                                      interactionEntropy: Xn.current
                                    }, `dice-${ce}`),
                                    Xe === "audio" && !he && b.jsxs("div", {
                                      className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#ff006e] text-center",
                                      children: [
                                        b.jsx("p", {
                                          className: "text-sm text-[#ff006e]",
                                          children: "Audio entropy coming soon..."
                                        }),
                                        b.jsx("button", {
                                          onClick: () => tt(null),
                                          className: "mt-4 px-4 py-2 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg text-sm hover:bg-[#ff006e]/20 transition-all",
                                          children: "Back"
                                        })
                                      ]
                                    }),
                                    Xe === "audio" && !he && b.jsx(IP, {
                                      wordCount: Ue,
                                      onEntropyGenerated: lo,
                                      onCancel: () => tt(null),
                                      interactionEntropy: Xn.current
                                    }, `audio-${ce}`),
                                    Xe === "randomorg" && !he && b.jsx(gP, {
                                      wordCount: Ue,
                                      onEntropyGenerated: lo,
                                      onCancel: () => tt(null),
                                      interactionEntropy: Xn.current
                                    }, `randomorg-${ce}`),
                                    he && b.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        b.jsxs("div", {
                                          className: "p-6 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-lg shadow-[0_0_30px_rgba(57,255,20,0.4)] space-y-4 animate-in zoom-in-95",
                                          children: [
                                            b.jsx("div", {
                                              className: "flex items-center justify-between",
                                              children: b.jsxs("span", {
                                                className: "font-bold text-sm text-[#39ff14] flex items-center gap-2",
                                                style: {
                                                  textShadow: "0 0 10px rgba(57,255,20,0.8)"
                                                },
                                                children: [
                                                  b.jsx(hr, {
                                                    size: 20
                                                  }),
                                                  " Generated Successfully"
                                                ]
                                              })
                                            }),
                                            b.jsxs("div", {
                                              className: "relative",
                                              children: [
                                                b.jsx("p", {
                                                  className: "font-mono text-xs text-[#39ff14] break-words leading-relaxed blur-sensitive",
                                                  title: "Hover to reveal seed",
                                                  style: {
                                                    textShadow: "0 0 5px rgba(57,255,20,0.5)"
                                                  },
                                                  children: he
                                                }),
                                                b.jsx("p", {
                                                  className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                                                  children: "\u{1F446} Hover to reveal - Write down securely"
                                                })
                                              ]
                                            })
                                          ]
                                        }),
                                        b.jsxs("div", {
                                          className: "space-y-3",
                                          children: [
                                            b.jsx("label", {
                                              className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                                              style: {
                                                textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                              },
                                              children: "Send Generated Seed To"
                                            }),
                                            b.jsxs("div", {
                                              className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                                              children: [
                                                b.jsxs("label", {
                                                  className: `p-3 md:p-4 rounded-lg border-2 cursor-pointer transition-all ${Me === "backup" ? "bg-[#1a1a2e] border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] border-[#00f0ff]/30 hover:border-[#00f0ff]/50"}`,
                                                  children: [
                                                    b.jsx("input", {
                                                      type: "radio",
                                                      name: "destination",
                                                      value: "backup",
                                                      checked: Me === "backup",
                                                      onChange: (Fe) => W(Fe.target.value),
                                                      className: "hidden"
                                                    }),
                                                    b.jsxs("div", {
                                                      className: "flex flex-col items-center justify-center gap-1 md:gap-2",
                                                      children: [
                                                        b.jsx(Hs, {
                                                          className: `w-5 h-5 md:w-6 md:h-6 transition-colors ${Me === "backup" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`
                                                        }),
                                                        b.jsx("div", {
                                                          className: `text-xs md:text-sm font-bold ${Me === "backup" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`,
                                                          children: "Backup"
                                                        }),
                                                        b.jsx("p", {
                                                          className: "text-[10px] text-[#6ef3f7]",
                                                          children: "Encrypt immediately"
                                                        })
                                                      ]
                                                    })
                                                  ]
                                                }),
                                                b.jsxs("label", {
                                                  className: `p-3 md:p-4 rounded-lg border-2 cursor-pointer transition-all ${Me === "seedblender" ? "bg-[#1a1a2e] border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] border-[#00f0ff]/30 hover:border-[#00f0ff]/50"}`,
                                                  children: [
                                                    b.jsx("input", {
                                                      type: "radio",
                                                      name: "destination",
                                                      value: "seedblender",
                                                      checked: Me === "seedblender",
                                                      onChange: (Fe) => W(Fe.target.value),
                                                      className: "hidden"
                                                    }),
                                                    b.jsxs("div", {
                                                      className: "flex flex-col items-center justify-center gap-1 md:gap-2",
                                                      children: [
                                                        b.jsx(yx, {
                                                          className: `w-5 h-5 md:w-6 md:h-6 transition-colors ${Me === "seedblender" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`
                                                        }),
                                                        b.jsx("div", {
                                                          className: `text-xs md:text-sm font-bold ${Me === "seedblender" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`,
                                                          children: "Seed Blender"
                                                        }),
                                                        b.jsx("p", {
                                                          className: "text-[10px] text-[#6ef3f7]",
                                                          children: "Use for XOR blending"
                                                        })
                                                      ]
                                                    })
                                                  ]
                                                })
                                              ]
                                            })
                                          ]
                                        }),
                                        b.jsxs("button", {
                                          onClick: k0,
                                          className: "w-full py-2.5 bg-[#1a1a2e] border-2 border-[#ff006e] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide hover:shadow-[0_0_25px_rgba(255,0,110,0.7)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                                          style: {
                                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                                          },
                                          children: [
                                            "Continue to ",
                                            Me === "backup" ? "Backup" : "Seed Blender"
                                          ]
                                        }),
                                        b.jsx("button", {
                                          onClick: () => {
                                            Se(""), tt(null), $n(null);
                                          },
                                          className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                                          children: "Generate Another Seed"
                                        })
                                      ]
                                    })
                                  ]
                                }),
                                b.jsxs("div", {
                                  className: e === "backup" ? "block" : "hidden",
                                  children: [
                                    b.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "BIP39 Mnemonic"
                                        }),
                                        b.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            b.jsx("textarea", {
                                              value: r,
                                              onChange: (Fe) => n(Fe.target.value),
                                              onFocus: (Fe) => Fe.target.classList.remove("blur-sensitive"),
                                              onBlur: (Fe) => r && Fe.target.classList.add("blur-sensitive"),
                                              placeholder: "Enter your 12 or 24 word seed phrase...",
                                              className: `w-full h-32 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-sm text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden ${r ? "blur-sensitive" : ""}`,
                                              style: {
                                                backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              "data-sensitive": "BIP39 Mnemonic",
                                              readOnly: J
                                            }),
                                            r && b.jsx("p", {
                                              className: "text-[9px] text-[#6ef3f7] mt-1",
                                              children: "\u{1F446} Hover or click to reveal"
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    b.jsx(P6, {
                                      label: "PGP Public Key (Optional)",
                                      icon: I6,
                                      placeholder: `-----BEGIN PGP PUBLIC KEY BLOCK-----

Paste or drag & drop your public key...`,
                                      value: u,
                                      onChange: x,
                                      readOnly: J
                                    })
                                  ]
                                }),
                                b.jsxs("div", {
                                  className: e === "restore" ? "block" : "hidden",
                                  children: [
                                    b.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        b.jsx("div", {
                                          className: `border-2 border-dashed rounded-lg p-6 text-center transition-colors ${$ ? "border-[#ff006e] bg-[#1a1a2e] shadow-[0_0_30px_rgba(255,0,110,0.5)]" : "border-[#00f0ff50] bg-[#16213e] hover:border-[#00f0ff] hover:bg-[#1a1a2e]"}`,
                                          onDrop: D0,
                                          onDragOver: co,
                                          onDragLeave: Vd,
                                          children: b.jsxs("div", {
                                            className: "space-y-2",
                                            children: [
                                              b.jsx("div", {
                                                className: "text-4xl",
                                                children: "\u{1F4CE}"
                                              }),
                                              b.jsx("p", {
                                                className: "text-xs text-[#00f0ff] font-medium",
                                                style: {
                                                  textShadow: "0 0 10px rgba(0,240,255,0.5)"
                                                },
                                                children: "Drag & drop file or click Browse"
                                              }),
                                              b.jsx("p", {
                                                className: "text-[10px] text-[#6ef3f7]",
                                                children: "QR image, PGP armor, hex, numeric"
                                              }),
                                              b.jsxs("div", {
                                                className: "flex gap-2 justify-center pt-1",
                                                children: [
                                                  b.jsxs("label", {
                                                    className: "px-3 py-1.5 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-xs font-medium text-[#00f0ff] hover:bg-[#1a1a2e] hover:shadow-[0_0_15px_rgba(0,240,255,0.3)] cursor-pointer transition-all flex items-center gap-2",
                                                    children: [
                                                      "\u{1F4C1} Browse",
                                                      b.jsx("input", {
                                                        type: "file",
                                                        accept: "image/*,.txt,.asc",
                                                        className: "hidden",
                                                        onChange: (Fe) => {
                                                          var _a2;
                                                          return ((_a2 = Fe.target.files) == null ? void 0 : _a2.length) && ci(Fe.target.files[0]);
                                                        }
                                                      })
                                                    ]
                                                  }),
                                                  b.jsx("button", {
                                                    onClick: () => q(true),
                                                    className: "px-3 py-1.5 bg-transparent text-[#00f0ff] rounded-lg font-medium border-2 border-[#00f0ff] hover:bg-[#00f0ff]/10 hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all flex items-center gap-2 text-xs",
                                                    children: "\u{1F4F7} Scan QR"
                                                  }),
                                                  "                        "
                                                ]
                                              })
                                            ]
                                          })
                                        }),
                                        b.jsx("textarea", {
                                          className: "w-full p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-sm text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden",
                                          rows: 6,
                                          placeholder: "Or paste encrypted data here...",
                                          value: v,
                                          onChange: (Fe) => _(Fe.target.value),
                                          style: {
                                            backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          }
                                        }),
                                        N && b.jsxs("p", {
                                          className: "text-xs text-[#00f0ff] flex items-center gap-1",
                                          children: [
                                            b.jsx(Fl, {
                                              size: 14
                                            }),
                                            "Detected: ",
                                            N.toUpperCase(),
                                            " format"
                                          ]
                                        })
                                      ]
                                    }),
                                    b.jsx(P6, {
                                      label: "PGP Private Key (Optional)",
                                      icon: I6,
                                      "data-sensitive": "PGP Private Key",
                                      placeholder: `-----BEGIN PGP PRIVATE KEY BLOCK-----

Paste or drag & drop your private key...`,
                                      value: d,
                                      onChange: f,
                                      readOnly: J
                                    }),
                                    d && b.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Private Key Passphrase"
                                        }),
                                        b.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            b.jsx(Hs, {
                                              className: "absolute left-3 top-3 text-[#6ef3f7]",
                                              size: 16
                                            }),
                                            b.jsx("input", {
                                              type: "password",
                                              "data-sensitive": "Message Password",
                                              className: `w-full pl-10 pr-4 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${J ? "blur-sm select-none" : ""}`,
                                              style: {
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              placeholder: "Unlock private key...",
                                              value: m,
                                              onChange: (Fe) => p(Fe.target.value),
                                              readOnly: J
                                            })
                                          ]
                                        })
                                      ]
                                    })
                                  ]
                                }),
                                b.jsx("div", {
                                  className: e === "seedblender" ? "block" : "hidden",
                                  children: b.jsx(xP, {
                                    onDirtyStateChange: () => {
                                    },
                                    setMnemonicForBackup: n,
                                    requestTabChange: zc,
                                    incomingSeed: ne,
                                    onSeedReceived: () => ue("")
                                  }, Ee)
                                }),
                                b.jsx("div", {
                                  className: e === "test-recovery" ? "block" : "hidden",
                                  children: b.jsx(SP, {})
                                })
                              ]
                            }),
                            e !== "seedblender" && e !== "create" && b.jsxs("div", {
                              className: "space-y-2",
                              children: [
                                " ",
                                b.jsxs("label", {
                                  className: "text-xs font-semibold text-[#00f0ff] flex items-center gap-2",
                                  style: {
                                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                  },
                                  children: [
                                    b.jsx(Hs, {
                                      size: 14
                                    }),
                                    " SECURITY OPTIONS"
                                  ]
                                }),
                                b.jsxs("div", {
                                  className: "p-5 bg-[#16213e] rounded-2xl border-2 border-[#00f0ff]/30 shadow-[0_0_20px_rgba(0,240,255,0.2)] space-y-4",
                                  children: [
                                    b.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Encryption Mode"
                                        }),
                                        b.jsxs("select", {
                                          value: X,
                                          onChange: (Fe) => oe(Fe.target.value),
                                          disabled: J,
                                          className: "w-full px-3 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all appearance-none bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgPHBhdGggZD0iTTEgMUw2IDZMMTEgMSIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==')] bg-[length:12px] bg-[position:right_12px_center] bg-no-repeat pr-10",
                                          style: {
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          },
                                          children: [
                                            b.jsx("option", {
                                              value: "pgp",
                                              children: "PGP (Asymmetric)"
                                            }),
                                            b.jsx("option", {
                                              value: "krux",
                                              children: "Krux KEF (Passphrase)"
                                            }),
                                            b.jsx("option", {
                                              value: "seedqr",
                                              children: "SeedQR (Unencrypted)"
                                            })
                                          ]
                                        }),
                                        b.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: X === "pgp" ? "Uses PGP keys or password" : "Uses passphrase only (Krux compatible)"
                                        })
                                      ]
                                    }),
                                    X === "seedqr" && b.jsxs("div", {
                                      className: "space-y-2 pt-2",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "SeedQR Format"
                                        }),
                                        b.jsxs("select", {
                                          value: Be,
                                          onChange: (Fe) => ve(Fe.target.value),
                                          disabled: J,
                                          className: "w-full px-3 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all appearance-none bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgPHBhdGggZD0iTTEgMUw2IDZMMTEgMSIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==')] bg-[length:12px] bg-[position:right_12px_center] bg-no-repeat pr-10",
                                          style: {
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          },
                                          children: [
                                            b.jsx("option", {
                                              value: "standard",
                                              children: "Standard (Numeric)"
                                            }),
                                            b.jsx("option", {
                                              value: "compact",
                                              children: "Compact (Binary)"
                                            })
                                          ]
                                        }),
                                        b.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: Be === "standard" ? "Numeric format, human-readable." : "Compact binary format, smaller QR code."
                                        })
                                      ]
                                    }),
                                    X === "krux" && e === "backup" && b.jsx(b.Fragment, {}),
                                    b.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        b.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "MESSAGE PASSWORD"
                                        }),
                                        b.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            b.jsx(Hs, {
                                              className: "absolute left-3 top-3 text-[#6ef3f7]",
                                              size: 16
                                            }),
                                            b.jsx("input", {
                                              type: "password",
                                              className: `w-full pl-10 pr-4 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${J ? "blur-sm select-none" : ""}`,
                                              style: {
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              placeholder: X === "krux" ? "Required for Krux encryption" : "Optional password...",
                                              value: e === "backup" ? a : s,
                                              onChange: (Fe) => e === "backup" ? i(Fe.target.value) : l(Fe.target.value),
                                              readOnly: J
                                            })
                                          ]
                                        }),
                                        b.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: X === "krux" ? "Required passphrase for Krux encryption" : "Symmetric encryption password (SKESK)"
                                        })
                                      ]
                                    }),
                                    b.jsx("div", {
                                      className: "pt-3 border-t border-[#00f0ff]/30",
                                      children: b.jsxs("div", {
                                        className: "flex items-start gap-2 text-xs text-[#6ef3f7]",
                                        children: [
                                          b.jsx(Fl, {
                                            size: 14,
                                            className: "shrink-0 mt-0.5"
                                          }),
                                          b.jsxs("p", {
                                            children: [
                                              b.jsx("strong", {
                                                children: "Krux Compatible Mode:"
                                              }),
                                              b.jsx("br", {}),
                                              "Uses wallet fingerprint as salt and 100,000 iterations (Krux defaults)."
                                            ]
                                          })
                                        ]
                                      })
                                    }),
                                    e === "backup" && b.jsx("div", {
                                      className: "pt-3 border-t border-[#00f0ff]/30",
                                      children: b.jsxs("label", {
                                        className: "flex items-center gap-2 cursor-pointer group",
                                        children: [
                                          b.jsx("input", {
                                            type: "checkbox",
                                            checked: g,
                                            onChange: (Fe) => E(Fe.target.checked),
                                            disabled: J,
                                            className: "rounded text-[#00f0ff] focus:ring-2 focus:ring-[#00f0ff] transition-all"
                                          }),
                                          b.jsx("span", {
                                            className: "text-xs font-medium text-[#6ef3f7] group-hover:text-[#00f0ff] transition-colors",
                                            children: "BIP39 25th word active"
                                          })
                                        ]
                                      })
                                    })
                                  ]
                                }),
                                e === "backup" ? b.jsxs("button", {
                                  onClick: jc,
                                  disabled: !r || j || J,
                                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase tracking-wider flex items-center justify-center gap-2 hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed border border-[#ff006e]",
                                  style: {
                                    textShadow: "0 0 10px rgba(255,255,255,0.8)"
                                  },
                                  children: [
                                    j ? b.jsx(ma, {
                                      className: "animate-spin",
                                      size: 20
                                    }) : b.jsx(Rx, {
                                      size: 20
                                    }),
                                    j ? "Generating..." : "Generate QR Backup"
                                  ]
                                }) : b.jsxs("button", {
                                  onClick: uo,
                                  disabled: !v || j || J,
                                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase tracking-wider flex items-center justify-center gap-2 hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed border border-[#ff006e]",
                                  style: {
                                    textShadow: "0 0 10px rgba(255,255,255,0.8)"
                                  },
                                  children: [
                                    j ? b.jsx(ma, {
                                      className: "animate-spin",
                                      size: 20
                                    }) : b.jsx(b4, {
                                      size: 20
                                    }),
                                    j ? "Decrypting..." : "Decrypt & Restore"
                                  ]
                                })
                              ]
                            }),
                            "             "
                          ]
                        }),
                        A && e === "backup" && b.jsxs("div", {
                          className: "pt-6 border-t border-[#00f0ff]/20 space-y-6 animate-in fade-in slide-in-from-bottom-4",
                          children: [
                            b.jsx("div", {
                              className: J ? "blur-lg" : "",
                              children: b.jsx(k4, {
                                value: A,
                                encryptionMode: X,
                                fingerprint: D
                              })
                            }),
                            b.jsxs("div", {
                              className: "space-y-2",
                              children: [
                                b.jsxs("button", {
                                  onClick: Rc,
                                  disabled: !A || j || J,
                                  className: "w-full py-3 bg-gradient-to-r from-[#00f0ff] to-[#00c8ff] text-[#0a0a0f] rounded-xl font-bold text-sm uppercase tracking-wider hover:shadow-[0_0_30px_rgba(0,240,255,0.5)] transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",
                                  children: [
                                    j ? b.jsx(ma, {
                                      className: "animate-spin",
                                      size: 20
                                    }) : b.jsx(A4, {
                                      size: 20
                                    }),
                                    j ? "Generating..." : "\u{1F4E6} Download Recovery Kit"
                                  ]
                                }),
                                b.jsx("p", {
                                  className: "text-xs text-[#6ef3f7] text-center",
                                  children: "Contains encrypted backup, recovery scripts, instructions, and BIP39 wordlist"
                                })
                              ]
                            }),
                            b.jsxs("div", {
                              className: "space-y-2",
                              children: [
                                b.jsxs("div", {
                                  className: "flex items-center justify-between gap-3",
                                  children: [
                                    b.jsx("label", {
                                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                      style: {
                                        textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                      },
                                      children: "Raw payload (copy for backup)"
                                    }),
                                    b.jsxs("button", {
                                      type: "button",
                                      onClick: () => Nc(A),
                                      className: "inline-flex items-center gap-2 px-3 py-1.5 rounded-lg bg-[#16213e] border-2 border-[#00f0ff]/50 text-[#00f0ff] text-xs font-medium hover:bg-[#1a1a2e] hover:shadow-[0_0_15px_rgba(0,240,255,0.3)] transition-all",
                                      children: [
                                        P ? b.jsx(hr, {
                                          size: 14
                                        }) : b.jsx(Rx, {
                                          size: 14
                                        }),
                                        P ? "Copied" : "Copy"
                                      ]
                                    })
                                  ]
                                }),
                                b.jsx("textarea", {
                                  readOnly: true,
                                  value: typeof A == "string" ? A : Array.from(A).map((Fe) => Fe.toString(16).padStart(2, "0")).join(""),
                                  onFocus: (Fe) => Fe.currentTarget.select(),
                                  className: "w-full h-28 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden",
                                  style: {
                                    backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                    textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                  }
                                }),
                                b.jsx("p", {
                                  className: "text-[11px] text-[#6ef3f7]",
                                  children: "Tip: click the box to select all, or use Copy."
                                })
                              ]
                            })
                          ]
                        }),
                        T && e === "restore" && b.jsx("div", {
                          className: "pt-6 border-t border-[#00f0ff]/20 animate-in zoom-in-95",
                          children: b.jsxs("div", {
                            className: "p-6 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-lg shadow-[0_0_30px_rgba(57,255,20,0.4)] relative overflow-hidden",
                            children: [
                              b.jsxs("div", {
                                className: "flex items-center justify-between mb-3",
                                children: [
                                  b.jsxs("span", {
                                    className: "font-bold text-[#39ff14] flex items-center gap-2 text-lg",
                                    style: {
                                      textShadow: "0 0 10px rgba(57,255,20,0.8)"
                                    },
                                    children: [
                                      b.jsx(hr, {
                                        size: 22
                                      }),
                                      " Mnemonic Recovered"
                                    ]
                                  }),
                                  b.jsxs("button", {
                                    onClick: () => I(null),
                                    className: "p-2.5 hover:bg-[#16213e] rounded-xl transition-all text-[#39ff14] hover:shadow-[0_0_15px_rgba(57,255,20,0.5)] flex items-center gap-2",
                                    children: [
                                      b.jsx(o8, {
                                        size: 22
                                      }),
                                      " Hide"
                                    ]
                                  })
                                ]
                              }),
                              b.jsx("div", {
                                className: "p-4 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_20px_rgba(57,255,20,0.3)]",
                                children: b.jsxs("div", {
                                  className: "relative",
                                  children: [
                                    b.jsx("p", {
                                      className: "font-mono text-center text-base break-words text-[#39ff14] blur-sensitive",
                                      title: "Hover to reveal",
                                      style: {
                                        textShadow: "0 0 8px rgba(57,255,20,0.8)"
                                      },
                                      children: T
                                    }),
                                    b.jsx("p", {
                                      className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                                      children: "\u{1F446} Hover to reveal decrypted seed"
                                    })
                                  ]
                                })
                              })
                            ]
                          })
                        })
                      ]
                    })
                  }),
                  " "
                ]
              }),
              b.jsx(cP, {
                appVersion: "1.4.7",
                buildHash: "573cdce",
                buildTimestamp: "2026-02-21T15:47:24.229Z"
              }),
              F && b.jsx(_4, {
                onScanSuccess: Zd,
                onClose: Ia,
                onError: Uc
              }),
              H && b.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => re(false),
                children: b.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Fe) => Fe.stopPropagation(),
                  children: [
                    b.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Security Limitations"
                    }),
                    b.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: b.jsx(JI, {})
                    })
                  ]
                })
              }),
              te && b.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => ae(false),
                children: b.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Fe) => Fe.stopPropagation(),
                  children: [
                    b.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Storage Details"
                    }),
                    b.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: b.jsx(sP, {
                        localItems: fe,
                        sessionItems: Ce
                      })
                    })
                  ]
                })
              }),
              xe && b.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => me(false),
                children: b.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Fe) => Fe.stopPropagation(),
                  children: [
                    b.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Clipboard Activity"
                    }),
                    b.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: b.jsx(lP, {
                        events: je,
                        onClear: Pc
                      })
                    })
                  ]
                })
              }),
              O && b.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => se(false),
                children: b.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#ff006e] p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(255,0,110,0.3)]",
                  onClick: (Fe) => Fe.stopPropagation(),
                  children: [
                    b.jsxs("h3", {
                      className: "text-lg font-semibold text-[#ff006e] mb-4 flex items-center gap-2",
                      children: [
                        b.jsx(Hs, {
                          className: "w-5 h-5 text-[#ff006e]"
                        }),
                        "Lock Sensitive Data?"
                      ]
                    }),
                    b.jsxs("div", {
                      className: "text-sm text-[#6ef3f7] space-y-3 mb-6",
                      children: [
                        b.jsx("p", {
                          children: "This will:"
                        }),
                        b.jsxs("ul", {
                          className: "list-disc list-inside space-y-1 text-[#9d84b7]",
                          children: [
                            b.jsx("li", {
                              children: "Blur all sensitive data (mnemonics, keys, passwords)"
                            }),
                            b.jsx("li", {
                              children: "Disable all inputs"
                            }),
                            b.jsx("li", {
                              children: "Prevent clipboard operations"
                            })
                          ]
                        }),
                        b.jsx("p", {
                          className: "text-xs text-[#6ef3f7] mt-2",
                          children: "Use this when showing the app to others or stepping away from your device."
                        })
                      ]
                    }),
                    b.jsxs("div", {
                      className: "flex gap-3",
                      children: [
                        b.jsx("button", {
                          className: "flex-1 py-2 bg-[#16213e] hover:bg-[#1a1a2e] text-[#6ef3f7] rounded-lg transition-all border-2 border-[#00f0ff]/30 hover:border-[#00f0ff]/50",
                          onClick: () => se(false),
                          children: "Cancel"
                        }),
                        b.jsx("button", {
                          className: "flex-1 py-2 bg-[#ff006e] hover:bg-[#ff4d8f] text-white font-semibold rounded-lg transition-all hover:shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                          onClick: () => Q(true),
                          children: "Lock Data"
                        })
                      ]
                    })
                  ]
                })
              })
            ]
          }),
          " "
        ]
      })
    });
  }
  console.log = () => {
  }, console.error = () => {
  }, console.warn = () => {
  }, console.debug = () => {
  }, console.info = () => {
  }, console.trace = () => {
  }, console.time = () => {
  }, console.timeEnd = () => {
  };
  hA.createRoot(document.getElementById("root")).render(b.jsx(Ae.StrictMode, {
    children: b.jsx(PP, {})
  }));
  const mE = Object.freeze(Object.defineProperty({
    __proto__: null
  }, Symbol.toStringTag, {
    value: "Module"
  }));
})();
