function T_(e, t) {
    const n = Object.create(null),
        r = e.split(",");
    for (let A = 0; A < r.length; A++) n[r[A]] = !0;
    return t ? A => !!n[A.toLowerCase()] : A => !!n[A]
}
const rc = Object.assign,
    I_ = Object.prototype.hasOwnProperty,
    Gf = (e, t) => I_.call(e, t),
    wi = Array.isArray,
    ou = e => M3(e) === "[object Map]",
    _p = e => typeof e == "function",
    Q_ = e => typeof e == "string",
    Fp = e => typeof e == "symbol",
    Ac = e => e !== null && typeof e == "object",
    U_ = Object.prototype.toString,
    M3 = e => U_.call(e),
    R3 = e => M3(e).slice(8, -1),
    Sp = e => Q_(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e,
    P_ = e => {
        const t = Object.create(null);
        return n => t[n] || (t[n] = e(n))
    },
    O_ = P_(e => e.charAt(0).toUpperCase() + e.slice(1)),
    Tp = (e, t) => !Object.is(e, t),
    D_ = (e, t, n) => {
        Object.defineProperty(e, t, {
            configurable: !0,
            enumerable: !1,
            value: n
        })
    };

function sf(e, ...t) {
    console.warn(`[Vue warn] ${e}`, ...t)
}
let Pr;
class Ip {
    constructor(t = !1) {
        this.detached = t, this._active = !0, this.effects = [], this.cleanups = [], this.parent = Pr, !t && Pr && (this.index = (Pr.scopes || (Pr.scopes = [])).push(this) - 1)
    }
    get active() {
        return this._active
    }
    run(t) {
        if (this._active) {
            const n = Pr;
            try {
                return Pr = this, t()
            } finally {
                Pr = n
            }
        } else sf("cannot run an inactive effect scope.")
    }
    on() {
        Pr = this
    }
    off() {
        Pr = this.parent
    }
    stop(t) {
        if (this._active) {
            let n, r;
            for (n = 0, r = this.effects.length; n < r; n++) this.effects[n].stop();
            for (n = 0, r = this.cleanups.length; n < r; n++) this.cleanups[n]();
            if (this.scopes)
                for (n = 0, r = this.scopes.length; n < r; n++) this.scopes[n].stop(!0);
            if (!this.detached && this.parent && !t) {
                const A = this.parent.scopes.pop();
                A && A !== this && (this.parent.scopes[this.index] = A, A.index = this.index)
            }
            this.parent = void 0, this._active = !1
        }
    }
}

function jf(e) {
    return new Ip(e)
}

function N3(e, t = Pr) {
    t && t.active && t.effects.push(e)
}

function ic() {
    return Pr
}

function Qp(e) {
    Pr ? Pr.cleanups.push(e) : sf("onScopeDispose() is called when there is no active effect scope to be associated with.")
}
const Up = e => {
        const t = new Set(e);
        return t.w = 0, t.n = 0, t
    },
    $3 = e => (e.w & Ts) > 0,
    K3 = e => (e.n & Ts) > 0,
    L_ = ({
        deps: e
    }) => {
        if (e.length)
            for (let t = 0; t < e.length; t++) e[t].w |= Ts
    },
    k_ = e => {
        const {
            deps: t
        } = e;
        if (t.length) {
            let n = 0;
            for (let r = 0; r < t.length; r++) {
                const A = t[r];
                $3(A) && !K3(A) ? A.delete(e) : t[n++] = A, A.w &= ~Ts, A.n &= ~Ts
            }
            t.length = n
        }
    },
    of = new WeakMap;
let Xl = 0,
    Ts = 1;
const S2 = 30;
let ur;
const mo = Symbol("iterate"),
    T2 = Symbol("Map key iterate");
class sc {
    constructor(t, n = null, r) {
        this.fn = t, this.scheduler = n, this.active = !0, this.deps = [], this.parent = void 0, N3(this, r)
    }
    run() {
        if (!this.active) return this.fn();
        let t = ur,
            n = Cs;
        for (; t;) {
            if (t === this) return;
            t = t.parent
        }
        try {
            return this.parent = ur, ur = this, Cs = !0, Ts = 1 << ++Xl, Xl <= S2 ? L_(this) : T4(this), this.fn()
        } finally {
            Xl <= S2 && k_(this), Ts = 1 << --Xl, ur = this.parent, Cs = n, this.parent = void 0, this.deferStop && this.stop()
        }
    }
    stop() {
        ur === this ? this.deferStop = !0 : this.active && (T4(this), this.onStop && this.onStop(), this.active = !1)
    }
}

function T4(e) {
    const {
        deps: t
    } = e;
    if (t.length) {
        for (let n = 0; n < t.length; n++) t[n].delete(e);
        t.length = 0
    }
}

function H_(e, t) {
    e.effect && (e = e.effect.fn);
    const n = new sc(e);
    t && (rc(n, t), t.scope && N3(n, t.scope)), (!t || !t.lazy) && n.run();
    const r = n.run.bind(n);
    return r.effect = n, r
}

function M_(e) {
    e.effect.stop()
}
let Cs = !0;
const V3 = [];

function Ho() {
    V3.push(Cs), Cs = !1
}

function Mo() {
    const e = V3.pop();
    Cs = e === void 0 ? !0 : e
}

function nr(e, t, n) {
    if (Cs && ur) {
        let r = of .get(e);
        r || of .set(e, r = new Map);
        let A = r.get(n);
        A || r.set(n, A = Up()), G3(A, {
            effect: ur,
            target: e,
            type: t,
            key: n
        })
    }
}

function G3(e, t) {
    let n = !1;
    Xl <= S2 ? K3(e) || (e.n |= Ts, n = !$3(e)) : n = !e.has(ur), n && (e.add(ur), ur.deps.push(e), ur.onTrack && ur.onTrack(rc({
        effect: ur
    }, t)))
}

function $A(e, t, n, r, A, i) {
    const s = of .get(e);
    if (!s) return;
    let o = [];
    if (t === "clear") o = [...s.values()];
    else if (n === "length" && wi(e)) {
        const l = Number(r);
        s.forEach((u, f) => {
            (f === "length" || f >= l) && o.push(u)
        })
    } else switch (n !== void 0 && o.push(s.get(n)), t) {
        case "add":
            wi(e) ? Sp(n) && o.push(s.get("length")) : (o.push(s.get(mo)), ou(e) && o.push(s.get(T2)));
            break;
        case "delete":
            wi(e) || (o.push(s.get(mo)), ou(e) && o.push(s.get(T2)));
            break;
        case "set":
            ou(e) && o.push(s.get(mo));
            break
    }
    const a = {
        target: e,
        type: t,
        key: n,
        newValue: r,
        oldValue: A,
        oldTarget: i
    };
    if (o.length === 1) o[0] && I2(o[0], a);
    else {
        const l = [];
        for (const u of o) u && l.push(...u);
        I2(Up(l), a)
    }
}

function I2(e, t) {
    const n = wi(e) ? e : [...e];
    for (const r of n) r.computed && I4(r, t);
    for (const r of n) r.computed || I4(r, t)
}

function I4(e, t) {
    (e !== ur || e.allowRecurse) && (e.onTrigger && e.onTrigger(rc({
        effect: e
    }, t)), e.scheduler ? e.scheduler() : e.run())
}

function R_(e, t) {
    var n;
    return (n = of .get(e)) == null ? void 0 : n.get(t)
}
const N_ = T_("__proto__,__v_isRef,__isVue"),
    j3 = new Set(Object.getOwnPropertyNames(Symbol).filter(e => e !== "arguments" && e !== "caller").map(e => Symbol[e]).filter(Fp)),
    $_ = Wf(),
    K_ = Wf(!1, !0),
    V_ = Wf(!0),
    G_ = Wf(!0, !0),
    Q4 = j_();

function j_() {
    const e = {};
    return ["includes", "indexOf", "lastIndexOf"].forEach(t => {
        e[t] = function(...n) {
            const r = ht(this);
            for (let i = 0, s = this.length; i < s; i++) nr(r, "get", i + "");
            const A = r[t](...n);
            return A === -1 || A === !1 ? r[t](...n.map(ht)) : A
        }
    }), ["push", "pop", "shift", "unshift", "splice"].forEach(t => {
        e[t] = function(...n) {
            Ho();
            const r = ht(this)[t].apply(this, n);
            return Mo(), r
        }
    }), e
}

function W_(e) {
    const t = ht(this);
    return nr(t, "has", e), t.hasOwnProperty(e)
}

function Wf(e = !1, t = !1) {
    return function(r, A, i) {
        if (A === "__v_isReactive") return !e;
        if (A === "__v_isReadonly") return e;
        if (A === "__v_isShallow") return t;
        if (A === "__v_raw" && i === (e ? t ? eB : Z3 : t ? q3 : J3).get(r)) return r;
        const s = wi(r);
        if (!e) {
            if (s && Gf(Q4, A)) return Reflect.get(Q4, A, i);
            if (A === "hasOwnProperty") return W_
        }
        const o = Reflect.get(r, A, i);
        return (Fp(A) ? j3.has(A) : N_(A)) || (e || nr(r, "get", A), t) ? o : Mt(o) ? s && Sp(A) ? o : o.value : Ac(o) ? e ? sl(o) : Zt(o) : o
    }
}
const z_ = W3(),
    Y_ = W3(!0);

function W3(e = !1) {
    return function(n, r, A, i) {
        let s = n[r];
        if (Fi(s) && Mt(s) && !Mt(A)) return !1;
        if (!e && (!Iu(A) && !Fi(A) && (s = ht(s), A = ht(A)), !wi(n) && Mt(s) && !Mt(A))) return s.value = A, !0;
        const o = wi(n) && Sp(r) ? Number(r) < n.length : Gf(n, r),
            a = Reflect.set(n, r, A, i);
        return n === ht(i) && (o ? Tp(A, s) && $A(n, "set", r, A, s) : $A(n, "add", r, A)), a
    }
}

function X_(e, t) {
    const n = Gf(e, t),
        r = e[t],
        A = Reflect.deleteProperty(e, t);
    return A && n && $A(e, "delete", t, void 0, r), A
}

function J_(e, t) {
    const n = Reflect.has(e, t);
    return (!Fp(t) || !j3.has(t)) && nr(e, "has", t), n
}

function q_(e) {
    return nr(e, "iterate", wi(e) ? "length" : mo), Reflect.ownKeys(e)
}
const z3 = {
        get: $_,
        set: z_,
        deleteProperty: X_,
        has: J_,
        ownKeys: q_
    },
    Y3 = {
        get: V_,
        set(e, t) {
            return sf(`Set operation on key "${String(t)}" failed: target is readonly.`, e), !0
        },
        deleteProperty(e, t) {
            return sf(`Delete operation on key "${String(t)}" failed: target is readonly.`, e), !0
        }
    },
    Z_ = rc({}, z3, {
        get: K_,
        set: Y_
    }),
    eF = rc({}, Y3, {
        get: G_
    }),
    Pp = e => e,
    zf = e => Reflect.getPrototypeOf(e);

function $c(e, t, n = !1, r = !1) {
    e = e.__v_raw;
    const A = ht(e),
        i = ht(t);
    n || (t !== i && nr(A, "get", t), nr(A, "get", i));
    const {
        has: s
    } = zf(A), o = r ? Pp : n ? Op : Uu;
    if (s.call(A, t)) return o(e.get(t));
    if (s.call(A, i)) return o(e.get(i));
    e !== A && e.get(t)
}

function Kc(e, t = !1) {
    const n = this.__v_raw,
        r = ht(n),
        A = ht(e);
    return t || (e !== A && nr(r, "has", e), nr(r, "has", A)), e === A ? n.has(e) : n.has(e) || n.has(A)
}

function Vc(e, t = !1) {
    return e = e.__v_raw, !t && nr(ht(e), "iterate", mo), Reflect.get(e, "size", e)
}

function U4(e) {
    e = ht(e);
    const t = ht(this);
    return zf(t).has.call(t, e) || (t.add(e), $A(t, "add", e, e)), this
}

function P4(e, t) {
    t = ht(t);
    const n = ht(this),
        {
            has: r,
            get: A
        } = zf(n);
    let i = r.call(n, e);
    i ? X3(n, r, e) : (e = ht(e), i = r.call(n, e));
    const s = A.call(n, e);
    return n.set(e, t), i ? Tp(t, s) && $A(n, "set", e, t, s) : $A(n, "add", e, t), this
}

function O4(e) {
    const t = ht(this),
        {
            has: n,
            get: r
        } = zf(t);
    let A = n.call(t, e);
    A ? X3(t, n, e) : (e = ht(e), A = n.call(t, e));
    const i = r ? r.call(t, e) : void 0,
        s = t.delete(e);
    return A && $A(t, "delete", e, void 0, i), s
}

function D4() {
    const e = ht(this),
        t = e.size !== 0,
        n = ou(e) ? new Map(e) : new Set(e),
        r = e.clear();
    return t && $A(e, "clear", void 0, void 0, n), r
}

function Gc(e, t) {
    return function(r, A) {
        const i = this,
            s = i.__v_raw,
            o = ht(s),
            a = t ? Pp : e ? Op : Uu;
        return !e && nr(o, "iterate", mo), s.forEach((l, u) => r.call(A, a(l), a(u), i))
    }
}

function jc(e, t, n) {
    return function(...r) {
        const A = this.__v_raw,
            i = ht(A),
            s = ou(i),
            o = e === "entries" || e === Symbol.iterator && s,
            a = e === "keys" && s,
            l = A[e](...r),
            u = n ? Pp : t ? Op : Uu;
        return !t && nr(i, "iterate", a ? T2 : mo), {
            next() {
                const {
                    value: f,
                    done: d
                } = l.next();
                return d ? {
                    value: f,
                    done: d
                } : {
                    value: o ? [u(f[0]), u(f[1])] : u(f),
                    done: d
                }
            },
            [Symbol.iterator]() {
                return this
            }
        }
    }
}

function Yi(e) {
    return function(...t) {
        {
            const n = t[0] ? `on key "${t[0]}" ` : "";
            console.warn(`${O_(e)} operation ${n}failed: target is readonly.`, ht(this))
        }
        return e === "delete" ? !1 : this
    }
}

function tF() {
    const e = {
            get(i) {
                return $c(this, i)
            },
            get size() {
                return Vc(this)
            },
            has: Kc,
            add: U4,
            set: P4,
            delete: O4,
            clear: D4,
            forEach: Gc(!1, !1)
        },
        t = {
            get(i) {
                return $c(this, i, !1, !0)
            },
            get size() {
                return Vc(this)
            },
            has: Kc,
            add: U4,
            set: P4,
            delete: O4,
            clear: D4,
            forEach: Gc(!1, !0)
        },
        n = {
            get(i) {
                return $c(this, i, !0)
            },
            get size() {
                return Vc(this, !0)
            },
            has(i) {
                return Kc.call(this, i, !0)
            },
            add: Yi("add"),
            set: Yi("set"),
            delete: Yi("delete"),
            clear: Yi("clear"),
            forEach: Gc(!0, !1)
        },
        r = {
            get(i) {
                return $c(this, i, !0, !0)
            },
            get size() {
                return Vc(this, !0)
            },
            has(i) {
                return Kc.call(this, i, !0)
            },
            add: Yi("add"),
            set: Yi("set"),
            delete: Yi("delete"),
            clear: Yi("clear"),
            forEach: Gc(!0, !0)
        };
    return ["keys", "values", "entries", Symbol.iterator].forEach(i => {
        e[i] = jc(i, !1, !1), n[i] = jc(i, !0, !1), t[i] = jc(i, !1, !0), r[i] = jc(i, !0, !0)
    }), [e, n, t, r]
}
const [nF, rF, AF, iF] = tF();

function Yf(e, t) {
    const n = t ? e ? iF : AF : e ? rF : nF;
    return (r, A, i) => A === "__v_isReactive" ? !e : A === "__v_isReadonly" ? e : A === "__v_raw" ? r : Reflect.get(Gf(n, A) && A in r ? n : r, A, i)
}
const sF = {
        get: Yf(!1, !1)
    },
    oF = {
        get: Yf(!1, !0)
    },
    aF = {
        get: Yf(!0, !1)
    },
    lF = {
        get: Yf(!0, !0)
    };

function X3(e, t, n) {
    const r = ht(n);
    if (r !== n && t.call(e, r)) {
        const A = R3(e);
        console.warn(`Reactive ${A} contains both the raw and reactive versions of the same object${A==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)
    }
}
const J3 = new WeakMap,
    q3 = new WeakMap,
    Z3 = new WeakMap,
    eB = new WeakMap;

function uF(e) {
    switch (e) {
        case "Object":
        case "Array":
            return 1;
        case "Map":
        case "Set":
        case "WeakMap":
        case "WeakSet":
            return 2;
        default:
            return 0
    }
}

function cF(e) {
    return e.__v_skip || !Object.isExtensible(e) ? 0 : uF(R3(e))
}

function Zt(e) {
    return Fi(e) ? e : Xf(e, !1, z3, sF, J3)
}

function tB(e) {
    return Xf(e, !1, Z_, oF, q3)
}

function sl(e) {
    return Xf(e, !0, Y3, aF, Z3)
}

function Ea(e) {
    return Xf(e, !0, eF, lF, eB)
}

function Xf(e, t, n, r, A) {
    if (!Ac(e)) return console.warn(`value cannot be made reactive: ${String(e)}`), e;
    if (e.__v_raw && !(t && e.__v_isReactive)) return e;
    const i = A.get(e);
    if (i) return i;
    const s = cF(e);
    if (s === 0) return e;
    const o = new Proxy(e, s === 2 ? r : n);
    return A.set(e, o), o
}

function mA(e) {
    return Fi(e) ? mA(e.__v_raw) : !!(e && e.__v_isReactive)
}

function Fi(e) {
    return !!(e && e.__v_isReadonly)
}

function Iu(e) {
    return !!(e && e.__v_isShallow)
}

function Qu(e) {
    return mA(e) || Fi(e)
}

function ht(e) {
    const t = e && e.__v_raw;
    return t ? ht(t) : e
}

function kA(e) {
    return D_(e, "__v_skip", !0), e
}
const Uu = e => Ac(e) ? Zt(e) : e,
    Op = e => Ac(e) ? sl(e) : e;

function Dp(e) {
    Cs && ur && (e = ht(e), G3(e.dep || (e.dep = Up()), {
        target: e,
        type: "get",
        key: "value"
    }))
}

function Jf(e, t) {
    e = ht(e);
    const n = e.dep;
    n && I2(n, {
        target: e,
        type: "set",
        key: "value",
        newValue: t
    })
}

function Mt(e) {
    return !!(e && e.__v_isRef === !0)
}

function Ie(e) {
    return nB(e, !1)
}

function qf(e) {
    return nB(e, !0)
}

function nB(e, t) {
    return Mt(e) ? e : new fF(e, t)
}
class fF {
    constructor(t, n) {
        this.__v_isShallow = n, this.dep = void 0, this.__v_isRef = !0, this._rawValue = n ? t : ht(t), this._value = n ? t : Uu(t)
    }
    get value() {
        return Dp(this), this._value
    }
    set value(t) {
        const n = this.__v_isShallow || Iu(t) || Fi(t);
        t = n ? t : ht(t), Tp(t, this._rawValue) && (this._rawValue = t, this._value = n ? t : Uu(t), Jf(this, t))
    }
}

function dF(e) {
    Jf(e, e.value)
}

function fr(e) {
    return Mt(e) ? e.value : e
}

function hF(e) {
    return _p(e) ? e() : fr(e)
}
const pF = {
    get: (e, t, n) => fr(Reflect.get(e, t, n)),
    set: (e, t, n, r) => {
        const A = e[t];
        return Mt(A) && !Mt(n) ? (A.value = n, !0) : Reflect.set(e, t, n, r)
    }
};

function Lp(e) {
    return mA(e) ? e : new Proxy(e, pF)
}
class gF {
    constructor(t) {
        this.dep = void 0, this.__v_isRef = !0;
        const {
            get: n,
            set: r
        } = t(() => Dp(this), () => Jf(this));
        this._get = n, this._set = r
    }
    get value() {
        return this._get()
    }
    set value(t) {
        this._set(t)
    }
}

function kp(e) {
    return new gF(e)
}

function af(e) {
    Qu(e) || console.warn("toRefs() expects a reactive object but received a plain one.");
    const t = wi(e) ? new Array(e.length) : {};
    for (const n in e) t[n] = rB(e, n);
    return t
}
class vF {
    constructor(t, n, r) {
        this._object = t, this._key = n, this._defaultValue = r, this.__v_isRef = !0
    }
    get value() {
        const t = this._object[this._key];
        return t === void 0 ? this._defaultValue : t
    }
    set value(t) {
        this._object[this._key] = t
    }
    get dep() {
        return R_(ht(this._object), this._key)
    }
}
class mF {
    constructor(t) {
        this._getter = t, this.__v_isRef = !0, this.__v_isReadonly = !0
    }
    get value() {
        return this._getter()
    }
}

function au(e, t, n) {
    return Mt(e) ? e : _p(e) ? new mF(e) : Ac(e) && arguments.length > 1 ? rB(e, t, n) : Ie(e)
}

function rB(e, t, n) {
    const r = e[t];
    return Mt(r) ? r : new vF(e, t, n)
}
class BF {
    constructor(t, n, r, A) {
        this._setter = n, this.dep = void 0, this.__v_isRef = !0, this.__v_isReadonly = !1, this._dirty = !0, this.effect = new sc(t, () => {
            this._dirty || (this._dirty = !0, Jf(this))
        }), this.effect.computed = this, this.effect.active = this._cacheable = !A, this.__v_isReadonly = r
    }
    get value() {
        const t = ht(this);
        return Dp(t), (t._dirty || !t._cacheable) && (t._dirty = !1, t._value = t.effect.run()), t._value
    }
    set value(t) {
        this._setter(t)
    }
}

function wF(e, t, n = !1) {
    let r, A;
    const i = _p(e);
    i ? (r = e, A = () => {
        console.warn("Write operation failed: computed value is readonly")
    }) : (r = e.get, A = e.set);
    const s = new BF(r, A, i || !A, n);
    return t && !n && (s.effect.onTrack = t.onTrack, s.effect.onTrigger = t.onTrigger), s
}

function oc(e, t) {
    const n = Object.create(null),
        r = e.split(",");
    for (let A = 0; A < r.length; A++) n[r[A]] = !0;
    return t ? A => !!n[A.toLowerCase()] : A => !!n[A]
}
const jt = Object.freeze({}),
    Ta = Object.freeze([]),
    br = () => {},
    AB = () => !1,
    yF = /^on[^a-z]/,
    ac = e => yF.test(e),
    Q2 = e => e.startsWith("onUpdate:"),
    An = Object.assign,
    Hp = (e, t) => {
        const n = e.indexOf(t);
        n > -1 && e.splice(n, 1)
    },
    CF = Object.prototype.hasOwnProperty,
    Ot = (e, t) => CF.call(e, t),
    vt = Array.isArray,
    iB = e => lc(e) === "[object Map]",
    sB = e => lc(e) === "[object Set]",
    EF = e => lc(e) === "[object RegExp]",
    gt = e => typeof e == "function",
    cn = e => typeof e == "string",
    Xt = e => e !== null && typeof e == "object",
    Zf = e => Xt(e) && gt(e.then) && gt(e.catch),
    oB = Object.prototype.toString,
    lc = e => oB.call(e),
    bF = e => lc(e).slice(8, -1),
    aB = e => lc(e) === "[object Object]",
    lu = oc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),
    xF = oc("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),
    e1 = e => {
        const t = Object.create(null);
        return n => t[n] || (t[n] = e(n))
    },
    _F = /-(\w)/g,
    yA = e1(e => e.replace(_F, (t, n) => n ? n.toUpperCase() : "")),
    FF = /\B([A-Z])/g,
    ka = e1(e => e.replace(FF, "-$1").toLowerCase()),
    Ha = e1(e => e.charAt(0).toUpperCase() + e.slice(1)),
    pi = e1(e => e ? `on${Ha(e)}` : ""),
    U2 = (e, t) => !Object.is(e, t),
    ao = (e, t) => {
        for (let n = 0; n < e.length; n++) e[n](t)
    },
    P2 = (e, t, n) => {
        Object.defineProperty(e, t, {
            configurable: !0,
            enumerable: !1,
            value: n
        })
    },
    SF = e => {
        const t = parseFloat(e);
        return isNaN(t) ? e : t
    },
    TF = e => {
        const t = cn(e) ? Number(e) : NaN;
        return isNaN(t) ? e : t
    };
let L4;
const lf = () => L4 || (L4 = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {}),
    IF = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",
    QF = oc(IF);

function uc(e) {
    if (vt(e)) {
        const t = {};
        for (let n = 0; n < e.length; n++) {
            const r = e[n],
                A = cn(r) ? DF(r) : uc(r);
            if (A)
                for (const i in A) t[i] = A[i]
        }
        return t
    } else {
        if (cn(e)) return e;
        if (Xt(e)) return e
    }
}
const UF = /;(?![^(]*\))/g,
    PF = /:([^]+)/,
    OF = /\/\*[^]*?\*\//g;

function DF(e) {
    const t = {};
    return e.replace(OF, "").split(UF).forEach(n => {
        if (n) {
            const r = n.split(PF);
            r.length > 1 && (t[r[0].trim()] = r[1].trim())
        }
    }), t
}

function cc(e) {
    let t = "";
    if (cn(e)) t = e;
    else if (vt(e))
        for (let n = 0; n < e.length; n++) {
            const r = cc(e[n]);
            r && (t += r + " ")
        } else if (Xt(e))
            for (const n in e) e[n] && (t += n + " ");
    return t.trim()
}

function LF(e) {
    if (!e) return null;
    let {
        class: t,
        style: n
    } = e;
    return t && !cn(t) && (e.class = cc(t)), n && (e.style = uc(n)), e
}
const kF = e => cn(e) ? e : e == null ? "" : vt(e) || Xt(e) && (e.toString === oB || !gt(e.toString)) ? JSON.stringify(e, lB, 2) : String(e),
    lB = (e, t) => t && t.__v_isRef ? lB(e, t.value) : iB(t) ? {
        [`Map(${t.size})`]: [...t.entries()].reduce((n, [r, A]) => (n[`${r} =>`] = A, n), {})
    } : sB(t) ? {
        [`Set(${t.size})`]: [...t.values()]
    } : Xt(t) && !vt(t) && !aB(t) ? String(t) : t,
    Bo = [];

function uu(e) {
    Bo.push(e)
}

function cu() {
    Bo.pop()
}

function Le(e, ...t) {
    Ho();
    const n = Bo.length ? Bo[Bo.length - 1].component : null,
        r = n && n.appContext.config.warnHandler,
        A = HF();
    if (r) RA(r, n, 11, [e + t.join(""), n && n.proxy, A.map(({
        vnode: i
    }) => `at <${c1(n,i.type)}>`).join(`
`), A]);
    else {
        const i = [`[Vue warn]: ${e}`, ...t];
        A.length && i.push(`
`, ...MF(A)), console.warn(...i)
    }
    Mo()
}

function HF() {
    let e = Bo[Bo.length - 1];
    if (!e) return [];
    const t = [];
    for (; e;) {
        const n = t[0];
        n && n.vnode === e ? n.recurseCount++ : t.push({
            vnode: e,
            recurseCount: 0
        });
        const r = e.component && e.component.parent;
        e = r && r.vnode
    }
    return t
}

function MF(e) {
    const t = [];
    return e.forEach((n, r) => {
        t.push(...r === 0 ? [] : [`
`], ...RF(n))
    }), t
}

function RF({
    vnode: e,
    recurseCount: t
}) {
    const n = t > 0 ? `... (${t} recursive calls)` : "",
        r = e.component ? e.component.parent == null : !1,
        A = ` at <${c1(e.component,e.type,r)}`,
        i = ">" + n;
    return e.props ? [A, ...NF(e.props), i] : [A + i]
}

function NF(e) {
    const t = [],
        n = Object.keys(e);
    return n.slice(0, 3).forEach(r => {
        t.push(...uB(r, e[r]))
    }), n.length > 3 && t.push(" ..."), t
}

function uB(e, t, n) {
    return cn(t) ? (t = JSON.stringify(t), n ? t : [`${e}=${t}`]) : typeof t == "number" || typeof t == "boolean" || t == null ? n ? t : [`${e}=${t}`] : Mt(t) ? (t = uB(e, ht(t.value), !0), n ? t : [`${e}=Ref<`, t, ">"]) : gt(t) ? [`${e}=fn${t.name?`<${t.name}>`:""}`] : (t = ht(t), n ? t : [`${e}=`, t])
}

function Mp(e, t) {
    e !== void 0 && (typeof e != "number" ? Le(`${t} is not a valid number - got ${JSON.stringify(e)}.`) : isNaN(e) && Le(`${t} is NaN - the duration expression might be incorrect.`))
}
const Rp = {
    sp: "serverPrefetch hook",
    bc: "beforeCreate hook",
    c: "created hook",
    bm: "beforeMount hook",
    m: "mounted hook",
    bu: "beforeUpdate hook",
    u: "updated",
    bum: "beforeUnmount hook",
    um: "unmounted hook",
    a: "activated hook",
    da: "deactivated hook",
    ec: "errorCaptured hook",
    rtc: "renderTracked hook",
    rtg: "renderTriggered hook",
    0: "setup function",
    1: "render function",
    2: "watcher getter",
    3: "watcher callback",
    4: "watcher cleanup function",
    5: "native event handler",
    6: "component event handler",
    7: "vnode hook",
    8: "directive hook",
    9: "transition hook",
    10: "app errorHandler",
    11: "app warnHandler",
    12: "ref function",
    13: "async component loader",
    14: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
};

function RA(e, t, n, r) {
    let A;
    try {
        A = r ? e(...r) : e()
    } catch (i) {
        Ro(i, t, n)
    }
    return A
}

function Hr(e, t, n, r) {
    if (gt(e)) {
        const i = RA(e, t, n, r);
        return i && Zf(i) && i.catch(s => {
            Ro(s, t, n)
        }), i
    }
    const A = [];
    for (let i = 0; i < e.length; i++) A.push(Hr(e[i], t, n, r));
    return A
}

function Ro(e, t, n, r = !0) {
    const A = t ? t.vnode : null;
    if (t) {
        let i = t.parent;
        const s = t.proxy,
            o = Rp[n];
        for (; i;) {
            const l = i.ec;
            if (l) {
                for (let u = 0; u < l.length; u++)
                    if (l[u](e, s, o) === !1) return
            }
            i = i.parent
        }
        const a = t.appContext.config.errorHandler;
        if (a) {
            RA(a, null, 10, [e, s, o]);
            return
        }
    }
    $F(e, n, A, r)
}

function $F(e, t, n, r = !0) {
    {
        const A = Rp[t];
        if (n && uu(n), Le(`Unhandled error${A?` during execution of ${A}`:""}`), n && cu(), r) throw e;
        console.error(e)
    }
}
let Pu = !1,
    O2 = !1;
const er = [];
let DA = 0;
const Ia = [];
let QA = null,
    ss = 0;
const cB = Promise.resolve();
let Np = null;
const KF = 100;

function bt(e) {
    const t = Np || cB;
    return e ? t.then(this ? e.bind(this) : e) : t
}

function VF(e) {
    let t = DA + 1,
        n = er.length;
    for (; t < n;) {
        const r = t + n >>> 1;
        Ou(er[r]) < e ? t = r + 1 : n = r
    }
    return t
}

function fc(e) {
    (!er.length || !er.includes(e, Pu && e.allowRecurse ? DA + 1 : DA)) && (e.id == null ? er.push(e) : er.splice(VF(e.id), 0, e), fB())
}

function fB() {
    !Pu && !O2 && (O2 = !0, Np = cB.then(dB))
}

function GF(e) {
    const t = er.indexOf(e);
    t > DA && er.splice(t, 1)
}

function t1(e) {
    vt(e) ? Ia.push(...e) : (!QA || !QA.includes(e, e.allowRecurse ? ss + 1 : ss)) && Ia.push(e), fB()
}

function k4(e, t = Pu ? DA + 1 : 0) {
    for (e = e || new Map; t < er.length; t++) {
        const n = er[t];
        if (n && n.pre) {
            if ($p(e, n)) continue;
            er.splice(t, 1), t--, n()
        }
    }
}

function uf(e) {
    if (Ia.length) {
        const t = [...new Set(Ia)];
        if (Ia.length = 0, QA) {
            QA.push(...t);
            return
        }
        for (QA = t, e = e || new Map, QA.sort((n, r) => Ou(n) - Ou(r)), ss = 0; ss < QA.length; ss++) $p(e, QA[ss]) || QA[ss]();
        QA = null, ss = 0
    }
}
const Ou = e => e.id == null ? 1 / 0 : e.id,
    jF = (e, t) => {
        const n = Ou(e) - Ou(t);
        if (n === 0) {
            if (e.pre && !t.pre) return -1;
            if (t.pre && !e.pre) return 1
        }
        return n
    };

function dB(e) {
    O2 = !1, Pu = !0, e = e || new Map, er.sort(jF);
    const t = n => $p(e, n);
    try {
        for (DA = 0; DA < er.length; DA++) {
            const n = er[DA];
            if (n && n.active !== !1) {
                if (t(n)) continue;
                RA(n, null, 14)
            }
        }
    } finally {
        DA = 0, er.length = 0, uf(e), Pu = !1, Np = null, (er.length || Ia.length) && dB(e)
    }
}

function $p(e, t) {
    if (!e.has(t)) e.set(t, 1);
    else {
        const n = e.get(t);
        if (n > KF) {
            const r = t.ownerInstance,
                A = r && Mu(r.type);
            return Le(`Maximum recursive updates exceeded${A?` in component <${A}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`), !0
        } else e.set(t, n + 1)
    }
}
let Es = !1;
const wa = new Set;
lf().__VUE_HMR_RUNTIME__ = {
    createRecord: bd(hB),
    rerender: bd(YF),
    reload: bd(XF)
};
const Fo = new Map;

function WF(e) {
    const t = e.type.__hmrId;
    let n = Fo.get(t);
    n || (hB(t, e.type), n = Fo.get(t)), n.instances.add(e)
}

function zF(e) {
    Fo.get(e.type.__hmrId).instances.delete(e)
}

function hB(e, t) {
    return Fo.has(e) ? !1 : (Fo.set(e, {
        initialDef: fu(t),
        instances: new Set
    }), !0)
}

function fu(e) {
    return A9(e) ? e.__vccOpts : e
}

function YF(e, t) {
    const n = Fo.get(e);
    n && (n.initialDef.render = t, [...n.instances].forEach(r => {
        t && (r.render = t, fu(r.type).render = t), r.renderCache = [], Es = !0, r.update(), Es = !1
    }))
}

function XF(e, t) {
    const n = Fo.get(e);
    if (!n) return;
    t = fu(t), H4(n.initialDef, t);
    const r = [...n.instances];
    for (const A of r) {
        const i = fu(A.type);
        wa.has(i) || (i !== n.initialDef && H4(i, t), wa.add(i)), A.appContext.propsCache.delete(A.type), A.appContext.emitsCache.delete(A.type), A.appContext.optionsCache.delete(A.type), A.ceReload ? (wa.add(i), A.ceReload(t.styles), wa.delete(i)) : A.parent ? fc(A.parent.update) : A.appContext.reload ? A.appContext.reload() : typeof window < "u" ? window.location.reload() : console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")
    }
    t1(() => {
        for (const A of r) wa.delete(fu(A.type))
    })
}

function H4(e, t) {
    An(e, t);
    for (const n in e) n !== "__file" && !(n in t) && delete e[n]
}

function bd(e) {
    return (t, n) => {
        try {
            return e(t, n)
        } catch (r) {
            console.error(r), console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")
        }
    }
}
let hA, Jl = [],
    D2 = !1;

function dc(e, ...t) {
    hA ? hA.emit(e, ...t) : D2 || Jl.push({
        event: e,
        args: t
    })
}

function Kp(e, t) {
    var n, r;
    hA = e, hA ? (hA.enabled = !0, Jl.forEach(({
        event: A,
        args: i
    }) => hA.emit(A, ...i)), Jl = []) : typeof window < "u" && window.HTMLElement && !((r = (n = window.navigator) == null ? void 0 : n.userAgent) != null && r.includes("jsdom")) ? ((t.__VUE_DEVTOOLS_HOOK_REPLAY__ = t.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push(i => {
        Kp(i, t)
    }), setTimeout(() => {
        hA || (t.__VUE_DEVTOOLS_HOOK_REPLAY__ = null, D2 = !0, Jl = [])
    }, 3e3)) : (D2 = !0, Jl = [])
}

function JF(e, t) {
    dc("app:init", e, t, {
        Fragment: an,
        Text: Si,
        Comment: mn,
        Static: bs
    })
}

function qF(e) {
    dc("app:unmount", e)
}
const L2 = Vp("component:added"),
    pB = Vp("component:updated"),
    ZF = Vp("component:removed"),
    eS = e => {
        hA && typeof hA.cleanupBuffer == "function" && !hA.cleanupBuffer(e) && ZF(e)
    };

function Vp(e) {
    return t => {
        dc(e, t.appContext.app, t.uid, t.parent ? t.parent.uid : void 0, t)
    }
}
const tS = gB("perf:start"),
    nS = gB("perf:end");

function gB(e) {
    return (t, n, r) => {
        dc(e, t.appContext.app, t.uid, t, n, r)
    }
}

function rS(e, t, n) {
    dc("component:emit", e.appContext.app, e, t, n)
}

function AS(e, t, ...n) {
    if (e.isUnmounted) return;
    const r = e.vnode.props || jt; {
        const {
            emitsOptions: u,
            propsOptions: [f]
        } = e;
        if (u)
            if (!(t in u))(!f || !(pi(t) in f)) && Le(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${pi(t)}" prop.`);
            else {
                const d = u[t];
                gt(d) && (d(...n) || Le(`Invalid event arguments: event validation failed for event "${t}".`))
            }
    }
    let A = n;
    const i = t.startsWith("update:"),
        s = i && t.slice(7);
    if (s && s in r) {
        const u = `${s==="modelValue"?"model":s}Modifiers`,
            {
                number: f,
                trim: d
            } = r[u] || jt;
        d && (A = n.map(p => cn(p) ? p.trim() : p)), f && (A = n.map(SF))
    }
    rS(e, t, A); {
        const u = t.toLowerCase();
        u !== t && r[pi(u)] && Le(`Event "${u}" is emitted in component ${c1(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${ka(t)}" instead of "${t}".`)
    }
    let o, a = r[o = pi(t)] || r[o = pi(yA(t))];
    !a && i && (a = r[o = pi(ka(t))]), a && Hr(a, e, 6, A);
    const l = r[o + "Once"];
    if (l) {
        if (!e.emitted) e.emitted = {};
        else if (e.emitted[o]) return;
        e.emitted[o] = !0, Hr(l, e, 6, A)
    }
}

function vB(e, t, n = !1) {
    const r = t.emitsCache,
        A = r.get(e);
    if (A !== void 0) return A;
    const i = e.emits;
    let s = {},
        o = !1;
    if (!gt(e)) {
        const a = l => {
            const u = vB(l, t, !0);
            u && (o = !0, An(s, u))
        };
        !n && t.mixins.length && t.mixins.forEach(a), e.extends && a(e.extends), e.mixins && e.mixins.forEach(a)
    }
    return !i && !o ? (Xt(e) && r.set(e, null), null) : (vt(i) ? i.forEach(a => s[a] = null) : An(s, i), Xt(e) && r.set(e, s), s)
}

function n1(e, t) {
    return !e || !ac(t) ? !1 : (t = t.slice(2).replace(/Once$/, ""), Ot(e, t[0].toLowerCase() + t.slice(1)) || Ot(e, ka(t)) || Ot(e, t))
}
let vn = null,
    r1 = null;

function Du(e) {
    const t = vn;
    return vn = e, r1 = e && e.type.__scopeId || null, t
}

function iS(e) {
    r1 = e
}

function sS() {
    r1 = null
}
const oS = e => Gp;

function Gp(e, t = vn, n) {
    if (!t || e._n) return e;
    const r = (...A) => {
        r._d && V2(-1);
        const i = Du(t);
        let s;
        try {
            s = e(...A)
        } finally {
            Du(i), r._d && V2(1)
        }
        return pB(t), s
    };
    return r._n = !0, r._c = !0, r._d = !0, r
}
let k2 = !1;

function cf() {
    k2 = !0
}

function $0(e) {
    const {
        type: t,
        vnode: n,
        proxy: r,
        withProxy: A,
        props: i,
        propsOptions: [s],
        slots: o,
        attrs: a,
        emit: l,
        render: u,
        renderCache: f,
        data: d,
        setupState: p,
        ctx: v,
        inheritAttrs: B
    } = e;
    let C, w;
    const m = Du(e);
    k2 = !1;
    try {
        if (n.shapeFlag & 4) {
            const x = A || r;
            C = yr(u.call(x, x, f, i, p, d, v)), w = a
        } else {
            const x = t;
            a === i && cf(), C = yr(x.length > 1 ? x(i, {
                get attrs() {
                    return cf(), a
                },
                slots: o,
                emit: l
            }) : x(i, null)), w = t.props ? a : lS(a)
        }
    } catch (x) {
        hu.length = 0, Ro(x, e, 1), C = q(mn)
    }
    let E = C,
        y;
    if (C.patchFlag > 0 && C.patchFlag & 2048 && ([E, y] = aS(C)), w && B !== !1) {
        const x = Object.keys(w),
            {
                shapeFlag: F
            } = E;
        if (x.length) {
            if (F & 7) s && x.some(Q2) && (w = uS(w, s)), E = iA(E, w);
            else if (!k2 && E.type !== mn) {
                const Q = Object.keys(a),
                    P = [],
                    L = [];
                for (let I = 0, _ = Q.length; I < _; I++) {
                    const D = Q[I];
                    ac(D) ? Q2(D) || P.push(D[2].toLowerCase() + D.slice(3)) : L.push(D)
                }
                L.length && Le(`Extraneous non-props attributes (${L.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`), P.length && Le(`Extraneous non-emits event listeners (${P.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`)
            }
        }
    }
    return n.dirs && (M4(E) || Le("Runtime directive used on component with non-element root node. The directives will not function as intended."), E = iA(E), E.dirs = E.dirs ? E.dirs.concat(n.dirs) : n.dirs), n.transition && (M4(E) || Le("Component inside <Transition> renders non-element root node that cannot be animated."), E.transition = n.transition), y ? y(E) : C = E, Du(m), C
}
const aS = e => {
    const t = e.children,
        n = e.dynamicChildren,
        r = jp(t);
    if (!r) return [e, void 0];
    const A = t.indexOf(r),
        i = n ? n.indexOf(r) : -1,
        s = o => {
            t[A] = o, n && (i > -1 ? n[i] = o : o.patchFlag > 0 && (e.dynamicChildren = [...n, o]))
        };
    return [yr(r), s]
};

function jp(e) {
    let t;
    for (let n = 0; n < e.length; n++) {
        const r = e[n];
        if (KA(r)) {
            if (r.type !== mn || r.children === "v-if") {
                if (t) return;
                t = r
            }
        } else return
    }
    return t
}
const lS = e => {
        let t;
        for (const n in e)(n === "class" || n === "style" || ac(n)) && ((t || (t = {}))[n] = e[n]);
        return t
    },
    uS = (e, t) => {
        const n = {};
        for (const r in e)(!Q2(r) || !(r.slice(9) in t)) && (n[r] = e[r]);
        return n
    },
    M4 = e => e.shapeFlag & 7 || e.type === mn;

function cS(e, t, n) {
    const {
        props: r,
        children: A,
        component: i
    } = e, {
        props: s,
        children: o,
        patchFlag: a
    } = t, l = i.emitsOptions;
    if ((A || o) && Es || t.dirs || t.transition) return !0;
    if (n && a >= 0) {
        if (a & 1024) return !0;
        if (a & 16) return r ? R4(r, s, l) : !!s;
        if (a & 8) {
            const u = t.dynamicProps;
            for (let f = 0; f < u.length; f++) {
                const d = u[f];
                if (s[d] !== r[d] && !n1(l, d)) return !0
            }
        }
    } else return (A || o) && (!o || !o.$stable) ? !0 : r === s ? !1 : r ? s ? R4(r, s, l) : !0 : !!s;
    return !1
}

function R4(e, t, n) {
    const r = Object.keys(t);
    if (r.length !== Object.keys(e).length) return !0;
    for (let A = 0; A < r.length; A++) {
        const i = r[A];
        if (t[i] !== e[i] && !n1(n, i)) return !0
    }
    return !1
}

function Wp({
    vnode: e,
    parent: t
}, n) {
    for (; t && t.subTree === e;)(e = t.vnode).el = n, t = t.parent
}
const mB = e => e.__isSuspense,
    fS = {
        name: "Suspense",
        __isSuspense: !0,
        process(e, t, n, r, A, i, s, o, a, l) {
            e == null ? hS(t, n, r, A, i, s, o, a, l) : pS(e, t, n, r, A, s, o, a, l)
        },
        hydrate: gS,
        create: zp,
        normalize: vS
    },
    dS = fS;

function Lu(e, t) {
    const n = e.props && e.props[t];
    gt(n) && n()
}

function hS(e, t, n, r, A, i, s, o, a) {
    const {
        p: l,
        o: {
            createElement: u
        }
    } = a, f = u("div"), d = e.suspense = zp(e, A, r, t, f, n, i, s, o, a);
    l(null, d.pendingBranch = e.ssContent, f, null, r, d, i, s), d.deps > 0 ? (Lu(e, "onPending"), Lu(e, "onFallback"), l(null, e.ssFallback, t, n, r, null, i, s), Qa(d, e.ssFallback)) : d.resolve(!1, !0)
}

function pS(e, t, n, r, A, i, s, o, {
    p: a,
    um: l,
    o: {
        createElement: u
    }
}) {
    const f = t.suspense = e.suspense;
    f.vnode = t, t.el = e.el;
    const d = t.ssContent,
        p = t.ssFallback,
        {
            activeBranch: v,
            pendingBranch: B,
            isInFallback: C,
            isHydrating: w
        } = f;
    if (B) f.pendingBranch = d, pA(d, B) ? (a(B, d, f.hiddenContainer, null, A, f, i, s, o), f.deps <= 0 ? f.resolve() : C && (a(v, p, n, r, A, null, i, s, o), Qa(f, p))) : (f.pendingId++, w ? (f.isHydrating = !1, f.activeBranch = B) : l(B, A, f), f.deps = 0, f.effects.length = 0, f.hiddenContainer = u("div"), C ? (a(null, d, f.hiddenContainer, null, A, f, i, s, o), f.deps <= 0 ? f.resolve() : (a(v, p, n, r, A, null, i, s, o), Qa(f, p))) : v && pA(d, v) ? (a(v, d, n, r, A, f, i, s, o), f.resolve(!0)) : (a(null, d, f.hiddenContainer, null, A, f, i, s, o), f.deps <= 0 && f.resolve()));
    else if (v && pA(d, v)) a(v, d, n, r, A, f, i, s, o), Qa(f, d);
    else if (Lu(t, "onPending"), f.pendingBranch = d, f.pendingId++, a(null, d, f.hiddenContainer, null, A, f, i, s, o), f.deps <= 0) f.resolve();
    else {
        const {
            timeout: m,
            pendingId: E
        } = f;
        m > 0 ? setTimeout(() => {
            f.pendingId === E && f.fallback(p)
        }, m) : m === 0 && f.fallback(p)
    }
}
let N4 = !1;

function zp(e, t, n, r, A, i, s, o, a, l, u = !1) {
    N4 || (N4 = !0, console[console.info ? "info" : "log"]("<Suspense> is an experimental feature and its API will likely change."));
    const {
        p: f,
        m: d,
        um: p,
        n: v,
        o: {
            parentNode: B,
            remove: C
        }
    } = l;
    let w;
    const m = mS(e);
    m && t != null && t.pendingBranch && (w = t.pendingId, t.deps++);
    const E = e.props ? TF(e.props.timeout) : void 0;
    Mp(E, "Suspense timeout");
    const y = {
        vnode: e,
        parent: t,
        parentComponent: n,
        isSVG: s,
        container: r,
        hiddenContainer: A,
        anchor: i,
        deps: 0,
        pendingId: 0,
        timeout: typeof E == "number" ? E : -1,
        activeBranch: null,
        pendingBranch: null,
        isInFallback: !0,
        isHydrating: u,
        isUnmounted: !1,
        effects: [],
        resolve(x = !1, F = !1) {
            {
                if (!x && !y.pendingBranch) throw new Error("suspense.resolve() is called without a pending branch.");
                if (y.isUnmounted) throw new Error("suspense.resolve() is called on an already unmounted suspense boundary.")
            }
            const {
                vnode: Q,
                activeBranch: P,
                pendingBranch: L,
                pendingId: I,
                effects: _,
                parentComponent: D,
                container: N
            } = y;
            if (y.isHydrating) y.isHydrating = !1;
            else if (!x) {
                const Z = P && L.transition && L.transition.mode === "out-in";
                Z && (P.transition.afterLeave = () => {
                    I === y.pendingId && d(L, N, ce, 0)
                });
                let {
                    anchor: ce
                } = y;
                P && (ce = v(P), p(P, D, y, !0)), Z || d(L, N, ce, 0)
            }
            Qa(y, L), y.pendingBranch = null, y.isInFallback = !1;
            let X = y.parent,
                se = !1;
            for (; X;) {
                if (X.pendingBranch) {
                    X.effects.push(..._), se = !0;
                    break
                }
                X = X.parent
            }
            se || t1(_), y.effects = [], m && t && t.pendingBranch && w === t.pendingId && (t.deps--, t.deps === 0 && !F && t.resolve()), Lu(Q, "onResolve")
        },
        fallback(x) {
            if (!y.pendingBranch) return;
            const {
                vnode: F,
                activeBranch: Q,
                parentComponent: P,
                container: L,
                isSVG: I
            } = y;
            Lu(F, "onFallback");
            const _ = v(Q),
                D = () => {
                    y.isInFallback && (f(null, x, L, _, P, null, I, o, a), Qa(y, x))
                },
                N = x.transition && x.transition.mode === "out-in";
            N && (Q.transition.afterLeave = D), y.isInFallback = !0, p(Q, P, null, !0), N || D()
        },
        move(x, F, Q) {
            y.activeBranch && d(y.activeBranch, x, F, Q), y.container = x
        },
        next() {
            return y.activeBranch && v(y.activeBranch)
        },
        registerDep(x, F) {
            const Q = !!y.pendingBranch;
            Q && y.deps++;
            const P = x.vnode.el;
            x.asyncDep.catch(L => {
                Ro(L, x, 0)
            }).then(L => {
                if (x.isUnmounted || y.isUnmounted || y.pendingId !== x.suspenseId) return;
                x.asyncResolved = !0;
                const {
                    vnode: I
                } = x;
                uu(I), W2(x, L, !1), P && (I.el = P);
                const _ = !P && x.subTree.el;
                F(x, I, B(P || x.subTree.el), P ? null : v(x.subTree), y, s, a), _ && C(_), Wp(x, I.el), cu(), Q && --y.deps === 0 && y.resolve()
            })
        },
        unmount(x, F) {
            y.isUnmounted = !0, y.activeBranch && p(y.activeBranch, n, x, F), y.pendingBranch && p(y.pendingBranch, n, x, F)
        }
    };
    return y
}

function gS(e, t, n, r, A, i, s, o, a) {
    const l = t.suspense = zp(t, r, n, e.parentNode, document.createElement("div"), null, A, i, s, o, !0),
        u = a(e, l.pendingBranch = t.ssContent, n, l, i, s);
    return l.deps === 0 && l.resolve(!1, !0), u
}

function vS(e) {
    const {
        shapeFlag: t,
        children: n
    } = e, r = t & 32;
    e.ssContent = $4(r ? n.default : n), e.ssFallback = r ? $4(n.fallback) : q(mn)
}

function $4(e) {
    let t;
    if (gt(e)) {
        const n = To && e._c;
        n && (e._d = !1, o1()), e = e(), n && (e._d = !0, t = xr, zB())
    }
    if (vt(e)) {
        const n = jp(e);
        n || Le("<Suspense> slots expect a single root node."), e = n
    }
    return e = yr(e), t && !e.dynamicChildren && (e.dynamicChildren = t.filter(n => n !== e)), e
}

function BB(e, t) {
    t && t.pendingBranch ? vt(e) ? t.effects.push(...e) : t.effects.push(e) : t1(e)
}

function Qa(e, t) {
    e.activeBranch = t;
    const {
        vnode: n,
        parentComponent: r
    } = e, A = n.el = t.el;
    r && r.subTree === n && (r.vnode.el = A, Wp(r, A))
}

function mS(e) {
    var t;
    return ((t = e.props) == null ? void 0 : t.suspensible) != null && e.props.suspensible !== !1
}

function hc(e, t) {
    return pc(e, null, t)
}

function wB(e, t) {
    return pc(e, null, An({}, t, {
        flush: "post"
    }))
}

function BS(e, t) {
    return pc(e, null, An({}, t, {
        flush: "sync"
    }))
}
const Wc = {};

function Xe(e, t, n) {
    return gt(t) || Le("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."), pc(e, t, n)
}

function pc(e, t, {
    immediate: n,
    deep: r,
    flush: A,
    onTrack: i,
    onTrigger: s
} = jt) {
    var o;
    t || (n !== void 0 && Le('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'), r !== void 0 && Le('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'));
    const a = x => {
            Le("Invalid watch source: ", x, "A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")
        },
        l = ic() === ((o = gn) == null ? void 0 : o.scope) ? gn : null;
    let u, f = !1,
        d = !1;
    if (Mt(e) ? (u = () => e.value, f = Iu(e)) : mA(e) ? (u = () => e, r = !0) : vt(e) ? (d = !0, f = e.some(x => mA(x) || Iu(x)), u = () => e.map(x => {
            if (Mt(x)) return x.value;
            if (mA(x)) return fo(x);
            if (gt(x)) return RA(x, l, 2);
            a(x)
        })) : gt(e) ? t ? u = () => RA(e, l, 2) : u = () => {
            if (!(l && l.isUnmounted)) return p && p(), Hr(e, l, 3, [v])
        } : (u = br, a(e)), t && r) {
        const x = u;
        u = () => fo(x())
    }
    let p, v = x => {
            p = E.onStop = () => {
                RA(x, l, 4)
            }
        },
        B;
    if (Ra)
        if (v = br, t ? n && Hr(t, l, 3, [u(), d ? [] : void 0, v]) : u(), A === "sync") {
            const x = s9();
            B = x.__watcherHandles || (x.__watcherHandles = [])
        } else return br;
    let C = d ? new Array(e.length).fill(Wc) : Wc;
    const w = () => {
        if (E.active)
            if (t) {
                const x = E.run();
                (r || f || (d ? x.some((F, Q) => U2(F, C[Q])) : U2(x, C))) && (p && p(), Hr(t, l, 3, [x, C === Wc ? void 0 : d && C[0] === Wc ? [] : C, v]), C = x)
            } else E.run()
    };
    w.allowRecurse = !!t;
    let m;
    A === "sync" ? m = w : A === "post" ? m = () => jn(w, l && l.suspense) : (w.pre = !0, l && (w.id = l.uid), m = () => fc(w));
    const E = new sc(u, m);
    E.onTrack = i, E.onTrigger = s, t ? n ? w() : C = E.run() : A === "post" ? jn(E.run.bind(E), l && l.suspense) : E.run();
    const y = () => {
        E.stop(), l && l.scope && Hp(l.scope.effects, E)
    };
    return B && B.push(y), y
}

function wS(e, t, n) {
    const r = this.proxy,
        A = cn(e) ? e.includes(".") ? yB(r, e) : () => r[e] : e.bind(r, r);
    let i;
    gt(t) ? i = t : (i = t.handler, n = t);
    const s = gn;
    Qs(this);
    const o = pc(A, i.bind(r), n);
    return s ? Qs(s) : xs(), o
}

function yB(e, t) {
    const n = t.split(".");
    return () => {
        let r = e;
        for (let A = 0; A < n.length && r; A++) r = r[n[A]];
        return r
    }
}

function fo(e, t) {
    if (!Xt(e) || e.__v_skip || (t = t || new Set, t.has(e))) return e;
    if (t.add(e), Mt(e)) fo(e.value, t);
    else if (vt(e))
        for (let n = 0; n < e.length; n++) fo(e[n], t);
    else if (sB(e) || iB(e)) e.forEach(n => {
        fo(n, t)
    });
    else if (aB(e))
        for (const n in e) fo(e[n], t);
    return e
}

function CB(e) {
    xF(e) && Le("Do not use built-in directive ids as custom directive id: " + e)
}

function Is(e, t) {
    const n = vn;
    if (n === null) return Le("withDirectives can only be used inside render functions."), e;
    const r = u1(n) || n.proxy,
        A = e.dirs || (e.dirs = []);
    for (let i = 0; i < t.length; i++) {
        let [s, o, a, l = jt] = t[i];
        s && (gt(s) && (s = {
            mounted: s,
            updated: s
        }), s.deep && fo(o), A.push({
            dir: s,
            instance: r,
            value: o,
            oldValue: void 0,
            arg: a,
            modifiers: l
        }))
    }
    return e
}

function PA(e, t, n, r) {
    const A = e.dirs,
        i = t && t.dirs;
    for (let s = 0; s < A.length; s++) {
        const o = A[s];
        i && (o.oldValue = i[s].value);
        let a = o.dir[r];
        a && (Ho(), Hr(a, n, 8, [e.el, o, e, t]), Mo())
    }
}

function Yp() {
    const e = {
        isMounted: !1,
        isLeaving: !1,
        isUnmounting: !1,
        leavingVNodes: new Map
    };
    return sn(() => {
        e.isMounted = !0
    }), $r(() => {
        e.isUnmounting = !0
    }), e
}
const zr = [Function, Array],
    Xp = {
        mode: String,
        appear: Boolean,
        persisted: Boolean,
        onBeforeEnter: zr,
        onEnter: zr,
        onAfterEnter: zr,
        onEnterCancelled: zr,
        onBeforeLeave: zr,
        onLeave: zr,
        onAfterLeave: zr,
        onLeaveCancelled: zr,
        onBeforeAppear: zr,
        onAppear: zr,
        onAfterAppear: zr,
        onAppearCancelled: zr
    },
    yS = {
        name: "BaseTransition",
        props: Xp,
        setup(e, {
            slots: t
        }) {
            const n = $t(),
                r = Yp();
            let A;
            return () => {
                const i = t.default && A1(t.default(), !0);
                if (!i || !i.length) return;
                let s = i[0];
                if (i.length > 1) {
                    let B = !1;
                    for (const C of i)
                        if (C.type !== mn) {
                            if (B) {
                                Le("<transition> can only be used on a single element or component. Use <transition-group> for lists.");
                                break
                            }
                            s = C, B = !0
                        }
                }
                const o = ht(e),
                    {
                        mode: a
                    } = o;
                if (a && a !== "in-out" && a !== "out-in" && a !== "default" && Le(`invalid <transition> mode: ${a}`), r.isLeaving) return xd(s);
                const l = K4(s);
                if (!l) return xd(s);
                const u = Ma(l, o, r, n);
                So(l, u);
                const f = n.subTree,
                    d = f && K4(f);
                let p = !1;
                const {
                    getTransitionKey: v
                } = l.type;
                if (v) {
                    const B = v();
                    A === void 0 ? A = B : B !== A && (A = B, p = !0)
                }
                if (d && d.type !== mn && (!pA(l, d) || p)) {
                    const B = Ma(d, o, r, n);
                    if (So(d, B), a === "out-in") return r.isLeaving = !0, B.afterLeave = () => {
                        r.isLeaving = !1, n.update.active !== !1 && n.update()
                    }, xd(s);
                    a === "in-out" && l.type !== mn && (B.delayLeave = (C, w, m) => {
                        const E = bB(r, d);
                        E[String(d.key)] = d, C._leaveCb = () => {
                            w(), C._leaveCb = void 0, delete u.delayedLeave
                        }, u.delayedLeave = m
                    })
                }
                return s
            }
        }
    },
    EB = yS;

function bB(e, t) {
    const {
        leavingVNodes: n
    } = e;
    let r = n.get(t.type);
    return r || (r = Object.create(null), n.set(t.type, r)), r
}

function Ma(e, t, n, r) {
    const {
        appear: A,
        mode: i,
        persisted: s = !1,
        onBeforeEnter: o,
        onEnter: a,
        onAfterEnter: l,
        onEnterCancelled: u,
        onBeforeLeave: f,
        onLeave: d,
        onAfterLeave: p,
        onLeaveCancelled: v,
        onBeforeAppear: B,
        onAppear: C,
        onAfterAppear: w,
        onAppearCancelled: m
    } = t, E = String(e.key), y = bB(n, e), x = (P, L) => {
        P && Hr(P, r, 9, L)
    }, F = (P, L) => {
        const I = L[1];
        x(P, L), vt(P) ? P.every(_ => _.length <= 1) && I() : P.length <= 1 && I()
    }, Q = {
        mode: i,
        persisted: s,
        beforeEnter(P) {
            let L = o;
            if (!n.isMounted)
                if (A) L = B || o;
                else return;
            P._leaveCb && P._leaveCb(!0);
            const I = y[E];
            I && pA(e, I) && I.el._leaveCb && I.el._leaveCb(), x(L, [P])
        },
        enter(P) {
            let L = a,
                I = l,
                _ = u;
            if (!n.isMounted)
                if (A) L = C || a, I = w || l, _ = m || u;
                else return;
            let D = !1;
            const N = P._enterCb = X => {
                D || (D = !0, X ? x(_, [P]) : x(I, [P]), Q.delayedLeave && Q.delayedLeave(), P._enterCb = void 0)
            };
            L ? F(L, [P, N]) : N()
        },
        leave(P, L) {
            const I = String(e.key);
            if (P._enterCb && P._enterCb(!0), n.isUnmounting) return L();
            x(f, [P]);
            let _ = !1;
            const D = P._leaveCb = N => {
                _ || (_ = !0, L(), N ? x(v, [P]) : x(p, [P]), P._leaveCb = void 0, y[I] === e && delete y[I])
            };
            y[I] = e, d ? F(d, [P, D]) : D()
        },
        clone(P) {
            return Ma(P, t, n, r)
        }
    };
    return Q
}

function xd(e) {
    if (ol(e)) return e = iA(e), e.children = null, e
}

function K4(e) {
    return ol(e) ? e.children ? e.children[0] : void 0 : e
}

function So(e, t) {
    e.shapeFlag & 6 && e.component ? So(e.component.subTree, t) : e.shapeFlag & 128 ? (e.ssContent.transition = t.clone(e.ssContent), e.ssFallback.transition = t.clone(e.ssFallback)) : e.transition = t
}

function A1(e, t = !1, n) {
    let r = [],
        A = 0;
    for (let i = 0; i < e.length; i++) {
        let s = e[i];
        const o = n == null ? s.key : String(n) + String(s.key != null ? s.key : i);
        s.type === an ? (s.patchFlag & 128 && A++, r = r.concat(A1(s.children, t, o))) : (t || s.type !== mn) && r.push(o != null ? iA(s, {
            key: o
        }) : s)
    }
    if (A > 1)
        for (let i = 0; i < r.length; i++) r[i].patchFlag = -2;
    return r
}

function nt(e, t) {
    return gt(e) ? (() => An({
        name: e.name
    }, t, {
        setup: e
    }))() : e
}
const wo = e => !!e.type.__asyncLoader;

function CS(e) {
    gt(e) && (e = {
        loader: e
    });
    const {
        loader: t,
        loadingComponent: n,
        errorComponent: r,
        delay: A = 200,
        timeout: i,
        suspensible: s = !0,
        onError: o
    } = e;
    let a = null,
        l, u = 0;
    const f = () => (u++, a = null, d()),
        d = () => {
            let p;
            return a || (p = a = t().catch(v => {
                if (v = v instanceof Error ? v : new Error(String(v)), o) return new Promise((B, C) => {
                    o(v, () => B(f()), () => C(v), u + 1)
                });
                throw v
            }).then(v => {
                if (p !== a && a) return a;
                if (v || Le("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."), v && (v.__esModule || v[Symbol.toStringTag] === "Module") && (v = v.default), v && !Xt(v) && !gt(v)) throw new Error(`Invalid async component load result: ${v}`);
                return l = v, v
            }))
        };
    return nt({
        name: "AsyncComponentWrapper",
        __asyncLoader: d,
        get __asyncResolved() {
            return l
        },
        setup() {
            const p = gn;
            if (l) return () => _d(l, p);
            const v = m => {
                a = null, Ro(m, p, 13, !r)
            };
            if (s && p.suspense || Ra) return d().then(m => () => _d(m, p)).catch(m => (v(m), () => r ? q(r, {
                error: m
            }) : null));
            const B = Ie(!1),
                C = Ie(),
                w = Ie(!!A);
            return A && setTimeout(() => {
                w.value = !1
            }, A), i != null && setTimeout(() => {
                if (!B.value && !C.value) {
                    const m = new Error(`Async component timed out after ${i}ms.`);
                    v(m), C.value = m
                }
            }, i), d().then(() => {
                B.value = !0, p.parent && ol(p.parent.vnode) && fc(p.parent.update)
            }).catch(m => {
                v(m), C.value = m
            }), () => {
                if (B.value && l) return _d(l, p);
                if (C.value && r) return q(r, {
                    error: C.value
                });
                if (n && !w.value) return q(n)
            }
        }
    })
}

function _d(e, t) {
    const {
        ref: n,
        props: r,
        children: A,
        ce: i
    } = t.vnode, s = q(e, r, A);
    return s.ref = n, s.ce = i, delete t.vnode.ce, s
}
const ol = e => e.type.__isKeepAlive,
    ES = {
        name: "KeepAlive",
        __isKeepAlive: !0,
        props: {
            include: [String, RegExp, Array],
            exclude: [String, RegExp, Array],
            max: [String, Number]
        },
        setup(e, {
            slots: t
        }) {
            const n = $t(),
                r = n.ctx;
            if (!r.renderer) return () => {
                const m = t.default && t.default();
                return m && m.length === 1 ? m[0] : m
            };
            const A = new Map,
                i = new Set;
            let s = null;
            n.__v_cache = A;
            const o = n.suspense,
                {
                    renderer: {
                        p: a,
                        m: l,
                        um: u,
                        o: {
                            createElement: f
                        }
                    }
                } = r,
                d = f("div");
            r.activate = (m, E, y, x, F) => {
                const Q = m.component;
                l(m, E, y, 0, o), a(Q.vnode, m, E, y, Q, o, x, m.slotScopeIds, F), jn(() => {
                    Q.isDeactivated = !1, Q.a && ao(Q.a);
                    const P = m.props && m.props.onVnodeMounted;
                    P && Br(P, Q.parent, m)
                }, o), L2(Q)
            }, r.deactivate = m => {
                const E = m.component;
                l(m, d, null, 1, o), jn(() => {
                    E.da && ao(E.da);
                    const y = m.props && m.props.onVnodeUnmounted;
                    y && Br(y, E.parent, m), E.isDeactivated = !0
                }, o), L2(E)
            };

            function p(m) {
                Fd(m), u(m, n, o, !0)
            }

            function v(m) {
                A.forEach((E, y) => {
                    const x = Mu(E.type);
                    x && (!m || !m(x)) && B(y)
                })
            }

            function B(m) {
                const E = A.get(m);
                !s || !pA(E, s) ? p(E) : s && Fd(s), A.delete(m), i.delete(m)
            }
            Xe(() => [e.include, e.exclude], ([m, E]) => {
                m && v(y => ql(m, y)), E && v(y => !ql(E, y))
            }, {
                flush: "post",
                deep: !0
            });
            let C = null;
            const w = () => {
                C != null && A.set(C, Sd(n.subTree))
            };
            return sn(w), No(w), $r(() => {
                A.forEach(m => {
                    const {
                        subTree: E,
                        suspense: y
                    } = n, x = Sd(E);
                    if (m.type === x.type && m.key === x.key) {
                        Fd(x);
                        const F = x.component.da;
                        F && jn(F, y);
                        return
                    }
                    p(m)
                })
            }), () => {
                if (C = null, !t.default) return null;
                const m = t.default(),
                    E = m[0];
                if (m.length > 1) return Le("KeepAlive should contain exactly one component child."), s = null, m;
                if (!KA(E) || !(E.shapeFlag & 4) && !(E.shapeFlag & 128)) return s = null, E;
                let y = Sd(E);
                const x = y.type,
                    F = Mu(wo(y) ? y.type.__asyncResolved || {} : x),
                    {
                        include: Q,
                        exclude: P,
                        max: L
                    } = e;
                if (Q && (!F || !ql(Q, F)) || P && F && ql(P, F)) return s = y, E;
                const I = y.key == null ? x : y.key,
                    _ = A.get(I);
                return y.el && (y = iA(y), E.shapeFlag & 128 && (E.ssContent = y)), C = I, _ ? (y.el = _.el, y.component = _.component, y.transition && So(y, y.transition), y.shapeFlag |= 512, i.delete(I), i.add(I)) : (i.add(I), L && i.size > parseInt(L, 10) && B(i.values().next().value)), y.shapeFlag |= 256, s = y, mB(E.type) ? E : y
            }
        }
    },
    bS = ES;

function ql(e, t) {
    return vt(e) ? e.some(n => ql(n, t)) : cn(e) ? e.split(",").includes(t) : EF(e) ? e.test(t) : !1
}

function Ms(e, t) {
    xB(e, "a", t)
}

function Oi(e, t) {
    xB(e, "da", t)
}

function xB(e, t, n = gn) {
    const r = e.__wdc || (e.__wdc = () => {
        let A = n;
        for (; A;) {
            if (A.isDeactivated) return;
            A = A.parent
        }
        return e()
    });
    if (i1(t, r, n), n) {
        let A = n.parent;
        for (; A && A.parent;) ol(A.parent.vnode) && xS(r, t, n, A), A = A.parent
    }
}

function xS(e, t, n, r) {
    const A = i1(t, e, r, !0);
    Li(() => {
        Hp(r[t], A)
    }, n)
}

function Fd(e) {
    e.shapeFlag &= -257, e.shapeFlag &= -513
}

function Sd(e) {
    return e.shapeFlag & 128 ? e.ssContent : e
}

function i1(e, t, n = gn, r = !1) {
    if (n) {
        const A = n[e] || (n[e] = []),
            i = t.__weh || (t.__weh = (...s) => {
                if (n.isUnmounted) return;
                Ho(), Qs(n);
                const o = Hr(t, n, e, s);
                return xs(), Mo(), o
            });
        return r ? A.unshift(i) : A.push(i), i
    } else {
        const A = pi(Rp[e].replace(/ hook$/, ""));
        Le(`${A} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)
    }
}
const Di = e => (t, n = gn) => (!Ra || e === "sp") && i1(e, (...r) => t(...r), n),
    Jp = Di("bm"),
    sn = Di("m"),
    s1 = Di("bu"),
    No = Di("u"),
    $r = Di("bum"),
    Li = Di("um"),
    _B = Di("sp"),
    FB = Di("rtg"),
    SB = Di("rtc");

function TB(e, t = gn) {
    i1("ec", e, t)
}
const ff = "components",
    _S = "directives";

function FS(e, t) {
    return qp(ff, e, !0, t) || e
}
const IB = Symbol.for("v-ndc");

function SS(e) {
    return cn(e) ? qp(ff, e, !1) || e : e || IB
}

function QB(e) {
    return qp(_S, e)
}

function qp(e, t, n = !0, r = !1) {
    const A = vn || gn;
    if (A) {
        const i = A.type;
        if (e === ff) {
            const o = Mu(i, !1);
            if (o && (o === t || o === yA(t) || o === Ha(yA(t)))) return i
        }
        const s = V4(A[e] || i[e], t) || V4(A.appContext[e], t);
        if (!s && r) return i;
        if (n && !s) {
            const o = e === ff ? `
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : "";
            Le(`Failed to resolve ${e.slice(0,-1)}: ${t}${o}`)
        }
        return s
    } else Le(`resolve${Ha(e.slice(0,-1))} can only be used in render() or setup().`)
}

function V4(e, t) {
    return e && (e[t] || e[yA(t)] || e[Ha(yA(t))])
}

function TS(e, t, n, r) {
    let A;
    const i = n && n[r];
    if (vt(e) || cn(e)) {
        A = new Array(e.length);
        for (let s = 0, o = e.length; s < o; s++) A[s] = t(e[s], s, void 0, i && i[s])
    } else if (typeof e == "number") {
        Number.isInteger(e) || Le(`The v-for range expect an integer value but got ${e}.`), A = new Array(e);
        for (let s = 0; s < e; s++) A[s] = t(s + 1, s, void 0, i && i[s])
    } else if (Xt(e))
        if (e[Symbol.iterator]) A = Array.from(e, (s, o) => t(s, o, void 0, i && i[o]));
        else {
            const s = Object.keys(e);
            A = new Array(s.length);
            for (let o = 0, a = s.length; o < a; o++) {
                const l = s[o];
                A[o] = t(e[l], l, o, i && i[o])
            }
        }
    else A = [];
    return n && (n[r] = A), A
}

function IS(e, t) {
    for (let n = 0; n < t.length; n++) {
        const r = t[n];
        if (vt(r))
            for (let A = 0; A < r.length; A++) e[r[A].name] = r[A].fn;
        else r && (e[r.name] = r.key ? (...A) => {
            const i = r.fn(...A);
            return i && (i.key = r.key), i
        } : r.fn)
    }
    return e
}

function QS(e, t, n = {}, r, A) {
    if (vn.isCE || vn.parent && wo(vn.parent) && vn.parent.isCE) return t !== "default" && (n.name = t), q("slot", n, r && r());
    let i = e[t];
    i && i.length > 1 && (Le("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."), i = () => []), i && i._c && (i._d = !1), o1();
    const s = i && UB(i(n)),
        o = ng(an, {
            key: n.key || s && s.key || `_${t}`
        }, s || (r ? r() : []), s && e._ === 1 ? 64 : -2);
    return !A && o.scopeId && (o.slotScopeIds = [o.scopeId + "-s"]), i && i._c && (i._d = !0), o
}

function UB(e) {
    return e.some(t => KA(t) ? !(t.type === mn || t.type === an && !UB(t.children)) : !0) ? e : null
}

function US(e, t) {
    const n = {};
    if (!Xt(e)) return Le("v-on with no argument expects an object value."), n;
    for (const r in e) n[t && /[A-Z]/.test(r) ? `on:${r}` : pi(r)] = e[r];
    return n
}
const H2 = e => e ? e9(e) ? u1(e) || e.proxy : H2(e.parent) : null,
    yo = An(Object.create(null), {
        $: e => e,
        $el: e => e.vnode.el,
        $data: e => e.data,
        $props: e => Ea(e.props),
        $attrs: e => Ea(e.attrs),
        $slots: e => Ea(e.slots),
        $refs: e => Ea(e.refs),
        $parent: e => H2(e.parent),
        $root: e => H2(e.root),
        $emit: e => e.emit,
        $options: e => eg(e),
        $forceUpdate: e => e.f || (e.f = () => fc(e.update)),
        $nextTick: e => e.n || (e.n = bt.bind(e.proxy)),
        $watch: e => wS.bind(e)
    }),
    Zp = e => e === "_" || e === "$",
    Td = (e, t) => e !== jt && !e.__isScriptSetup && Ot(e, t),
    du = {
        get({
            _: e
        }, t) {
            const {
                ctx: n,
                setupState: r,
                data: A,
                props: i,
                accessCache: s,
                type: o,
                appContext: a
            } = e;
            if (t === "__isVue") return !0;
            let l;
            if (t[0] !== "$") {
                const p = s[t];
                if (p !== void 0) switch (p) {
                    case 1:
                        return r[t];
                    case 2:
                        return A[t];
                    case 4:
                        return n[t];
                    case 3:
                        return i[t]
                } else {
                    if (Td(r, t)) return s[t] = 1, r[t];
                    if (A !== jt && Ot(A, t)) return s[t] = 2, A[t];
                    if ((l = e.propsOptions[0]) && Ot(l, t)) return s[t] = 3, i[t];
                    if (n !== jt && Ot(n, t)) return s[t] = 4, n[t];
                    M2 && (s[t] = 0)
                }
            }
            const u = yo[t];
            let f, d;
            if (u) return t === "$attrs" ? (nr(e, "get", t), cf()) : t === "$slots" && nr(e, "get", t), u(e);
            if ((f = o.__cssModules) && (f = f[t])) return f;
            if (n !== jt && Ot(n, t)) return s[t] = 4, n[t];
            if (d = a.config.globalProperties, Ot(d, t)) return d[t];
            vn && (!cn(t) || t.indexOf("__v") !== 0) && (A !== jt && Zp(t[0]) && Ot(A, t) ? Le(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`) : e === vn && Le(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))
        },
        set({
            _: e
        }, t, n) {
            const {
                data: r,
                setupState: A,
                ctx: i
            } = e;
            return Td(A, t) ? (A[t] = n, !0) : A.__isScriptSetup && Ot(A, t) ? (Le(`Cannot mutate <script setup> binding "${t}" from Options API.`), !1) : r !== jt && Ot(r, t) ? (r[t] = n, !0) : Ot(e.props, t) ? (Le(`Attempting to mutate prop "${t}". Props are readonly.`), !1) : t[0] === "$" && t.slice(1) in e ? (Le(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`), !1) : (t in e.appContext.config.globalProperties ? Object.defineProperty(i, t, {
                enumerable: !0,
                configurable: !0,
                value: n
            }) : i[t] = n, !0)
        },
        has({
            _: {
                data: e,
                setupState: t,
                accessCache: n,
                ctx: r,
                appContext: A,
                propsOptions: i
            }
        }, s) {
            let o;
            return !!n[s] || e !== jt && Ot(e, s) || Td(t, s) || (o = i[0]) && Ot(o, s) || Ot(r, s) || Ot(yo, s) || Ot(A.config.globalProperties, s)
        },
        defineProperty(e, t, n) {
            return n.get != null ? e._.accessCache[t] = 0 : Ot(n, "value") && this.set(e, t, n.value, null), Reflect.defineProperty(e, t, n)
        }
    };
du.ownKeys = e => (Le("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."), Reflect.ownKeys(e));
const PS = An({}, du, {
    get(e, t) {
        if (t !== Symbol.unscopables) return du.get(e, t, e)
    },
    has(e, t) {
        const n = t[0] !== "_" && !QF(t);
        return !n && du.has(e, t) && Le(`Property ${JSON.stringify(t)} should not start with _ which is a reserved prefix for Vue internals.`), n
    }
});

function OS(e) {
    const t = {};
    return Object.defineProperty(t, "_", {
        configurable: !0,
        enumerable: !1,
        get: () => e
    }), Object.keys(yo).forEach(n => {
        Object.defineProperty(t, n, {
            configurable: !0,
            enumerable: !1,
            get: () => yo[n](e),
            set: br
        })
    }), t
}

function DS(e) {
    const {
        ctx: t,
        propsOptions: [n]
    } = e;
    n && Object.keys(n).forEach(r => {
        Object.defineProperty(t, r, {
            enumerable: !0,
            configurable: !0,
            get: () => e.props[r],
            set: br
        })
    })
}

function LS(e) {
    const {
        ctx: t,
        setupState: n
    } = e;
    Object.keys(ht(n)).forEach(r => {
        if (!n.__isScriptSetup) {
            if (Zp(r[0])) {
                Le(`setup() return property ${JSON.stringify(r)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);
                return
            }
            Object.defineProperty(t, r, {
                enumerable: !0,
                configurable: !0,
                get: () => n[r],
                set: br
            })
        }
    })
}
const $o = e => Le(`${e}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`);

function kS() {
    return $o("defineProps"), null
}

function HS() {
    return $o("defineEmits"), null
}

function MS(e) {
    $o("defineExpose")
}

function RS(e) {
    $o("defineOptions")
}

function NS() {
    return $o("defineSlots"), null
}

function $S() {
    $o("defineModel")
}

function KS(e, t) {
    return $o("withDefaults"), null
}

function VS() {
    return PB().slots
}

function GS() {
    return PB().attrs
}

function jS(e, t, n) {
    const r = $t();
    if (!r) return Le("useModel() called without active instance."), Ie();
    if (!r.propsOptions[0][t]) return Le(`useModel() called with prop "${t}" which is not declared.`), Ie();
    if (n && n.local) {
        const A = Ie(e[t]);
        return Xe(() => e[t], i => A.value = i), Xe(A, i => {
            i !== e[t] && r.emit(`update:${t}`, i)
        }), A
    } else return {
        __v_isRef: !0,
        get value() {
            return e[t]
        },
        set value(A) {
            r.emit(`update:${t}`, A)
        }
    }
}

function PB() {
    const e = $t();
    return e || Le("useContext() called without active instance."), e.setupContext || (e.setupContext = r9(e))
}

function ku(e) {
    return vt(e) ? e.reduce((t, n) => (t[n] = null, t), {}) : e
}

function WS(e, t) {
    const n = ku(e);
    for (const r in t) {
        if (r.startsWith("__skip")) continue;
        let A = n[r];
        A ? vt(A) || gt(A) ? A = n[r] = {
            type: A,
            default: t[r]
        } : A.default = t[r] : A === null ? A = n[r] = {
            default: t[r]
        } : Le(`props default key "${r}" has no corresponding declaration.`), A && t[`__skip_${r}`] && (A.skipFactory = !0)
    }
    return n
}

function zS(e, t) {
    return !e || !t ? e || t : vt(e) && vt(t) ? e.concat(t) : An({}, ku(e), ku(t))
}

function YS(e, t) {
    const n = {};
    for (const r in e) t.includes(r) || Object.defineProperty(n, r, {
        enumerable: !0,
        get: () => e[r]
    });
    return n
}

function XS(e) {
    const t = $t();
    t || Le("withAsyncContext called without active current instance. This is likely a bug.");
    let n = e();
    return xs(), Zf(n) && (n = n.catch(r => {
        throw Qs(t), r
    })), [n, () => Qs(t)]
}

function JS() {
    const e = Object.create(null);
    return (t, n) => {
        e[n] ? Le(`${t} property "${n}" is already defined in ${e[n]}.`) : e[n] = t
    }
}
let M2 = !0;

function qS(e) {
    const t = eg(e),
        n = e.proxy,
        r = e.ctx;
    M2 = !1, t.beforeCreate && G4(t.beforeCreate, e, "bc");
    const {
        data: A,
        computed: i,
        methods: s,
        watch: o,
        provide: a,
        inject: l,
        created: u,
        beforeMount: f,
        mounted: d,
        beforeUpdate: p,
        updated: v,
        activated: B,
        deactivated: C,
        beforeDestroy: w,
        beforeUnmount: m,
        destroyed: E,
        unmounted: y,
        render: x,
        renderTracked: F,
        renderTriggered: Q,
        errorCaptured: P,
        serverPrefetch: L,
        expose: I,
        inheritAttrs: _,
        components: D,
        directives: N,
        filters: X
    } = t, se = JS(); {
        const [ce] = e.propsOptions;
        if (ce)
            for (const W in ce) se("Props", W)
    }
    if (l && ZS(l, r, se), s)
        for (const ce in s) {
            const W = s[ce];
            gt(W) ? (Object.defineProperty(r, ce, {
                value: W.bind(n),
                configurable: !0,
                enumerable: !0,
                writable: !0
            }), se("Methods", ce)) : Le(`Method "${ce}" has type "${typeof W}" in the component definition. Did you reference the function correctly?`)
        }
    if (A) {
        gt(A) || Le("The data option must be a function. Plain object usage is no longer supported.");
        const ce = A.call(n, n);
        if (Zf(ce) && Le("data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>."), !Xt(ce)) Le("data() should return an object.");
        else {
            e.data = Zt(ce);
            for (const W in ce) se("Data", W), Zp(W[0]) || Object.defineProperty(r, W, {
                configurable: !0,
                enumerable: !0,
                get: () => ce[W],
                set: br
            })
        }
    }
    if (M2 = !0, i)
        for (const ce in i) {
            const W = i[ce],
                he = gt(W) ? W.bind(n, n) : gt(W.get) ? W.get.bind(n, n) : br;
            he === br && Le(`Computed property "${ce}" has no getter.`);
            const Se = !gt(W) && gt(W.set) ? W.set.bind(n) : () => {
                    Le(`Write operation failed: computed property "${ce}" is readonly.`)
                },
                V = De({
                    get: he,
                    set: Se
                });
            Object.defineProperty(r, ce, {
                enumerable: !0,
                configurable: !0,
                get: () => V.value,
                set: ie => V.value = ie
            }), se("Computed", ce)
        }
    if (o)
        for (const ce in o) OB(o[ce], r, n, ce);
    if (a) {
        const ce = gt(a) ? a.call(n) : a;
        Reflect.ownKeys(ce).forEach(W => {
            BA(W, ce[W])
        })
    }
    u && G4(u, e, "c");

    function Z(ce, W) {
        vt(W) ? W.forEach(he => ce(he.bind(n))) : W && ce(W.bind(n))
    }
    if (Z(Jp, f), Z(sn, d), Z(s1, p), Z(No, v), Z(Ms, B), Z(Oi, C), Z(TB, P), Z(SB, F), Z(FB, Q), Z($r, m), Z(Li, y), Z(_B, L), vt(I))
        if (I.length) {
            const ce = e.exposed || (e.exposed = {});
            I.forEach(W => {
                Object.defineProperty(ce, W, {
                    get: () => n[W],
                    set: he => n[W] = he
                })
            })
        } else e.exposed || (e.exposed = {});
    x && e.render === br && (e.render = x), _ != null && (e.inheritAttrs = _), D && (e.components = D), N && (e.directives = N)
}

function ZS(e, t, n = br) {
    vt(e) && (e = R2(e));
    for (const r in e) {
        const A = e[r];
        let i;
        Xt(A) ? "default" in A ? i = En(A.from || r, A.default, !0) : i = En(A.from || r) : i = En(A), Mt(i) ? Object.defineProperty(t, r, {
            enumerable: !0,
            configurable: !0,
            get: () => i.value,
            set: s => i.value = s
        }) : t[r] = i, n("Inject", r)
    }
}

function G4(e, t, n) {
    Hr(vt(e) ? e.map(r => r.bind(t.proxy)) : e.bind(t.proxy), t, n)
}

function OB(e, t, n, r) {
    const A = r.includes(".") ? yB(n, r) : () => n[r];
    if (cn(e)) {
        const i = t[e];
        gt(i) ? Xe(A, i) : Le(`Invalid watch handler specified by key "${e}"`, i)
    } else if (gt(e)) Xe(A, e.bind(n));
    else if (Xt(e))
        if (vt(e)) e.forEach(i => OB(i, t, n, r));
        else {
            const i = gt(e.handler) ? e.handler.bind(n) : t[e.handler];
            gt(i) ? Xe(A, i, e) : Le(`Invalid watch handler specified by key "${e.handler}"`, i)
        }
    else Le(`Invalid watch option: "${r}"`, e)
}

function eg(e) {
    const t = e.type,
        {
            mixins: n,
            extends: r
        } = t,
        {
            mixins: A,
            optionsCache: i,
            config: {
                optionMergeStrategies: s
            }
        } = e.appContext,
        o = i.get(t);
    let a;
    return o ? a = o : !A.length && !n && !r ? a = t : (a = {}, A.length && A.forEach(l => df(a, l, s, !0)), df(a, t, s)), Xt(t) && i.set(t, a), a
}

function df(e, t, n, r = !1) {
    const {
        mixins: A,
        extends: i
    } = t;
    i && df(e, i, n, !0), A && A.forEach(s => df(e, s, n, !0));
    for (const s in t)
        if (r && s === "expose") Le('"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.');
        else {
            const o = eT[s] || n && n[s];
            e[s] = o ? o(e[s], t[s]) : t[s]
        }
    return e
}
const eT = {
    data: j4,
    props: W4,
    emits: W4,
    methods: Zl,
    computed: Zl,
    beforeCreate: ir,
    created: ir,
    beforeMount: ir,
    mounted: ir,
    beforeUpdate: ir,
    updated: ir,
    beforeDestroy: ir,
    beforeUnmount: ir,
    destroyed: ir,
    unmounted: ir,
    activated: ir,
    deactivated: ir,
    errorCaptured: ir,
    serverPrefetch: ir,
    components: Zl,
    directives: Zl,
    watch: nT,
    provide: j4,
    inject: tT
};

function j4(e, t) {
    return t ? e ? function() {
        return An(gt(e) ? e.call(this, this) : e, gt(t) ? t.call(this, this) : t)
    } : t : e
}

function tT(e, t) {
    return Zl(R2(e), R2(t))
}

function R2(e) {
    if (vt(e)) {
        const t = {};
        for (let n = 0; n < e.length; n++) t[e[n]] = e[n];
        return t
    }
    return e
}

function ir(e, t) {
    return e ? [...new Set([].concat(e, t))] : t
}

function Zl(e, t) {
    return e ? An(Object.create(null), e, t) : t
}

function W4(e, t) {
    return e ? vt(e) && vt(t) ? [...new Set([...e, ...t])] : An(Object.create(null), ku(e), ku(t ? ? {})) : t
}

function nT(e, t) {
    if (!e) return t;
    if (!t) return e;
    const n = An(Object.create(null), e);
    for (const r in t) n[r] = ir(e[r], t[r]);
    return n
}

function DB() {
    return {
        app: null,
        config: {
            isNativeTag: AB,
            performance: !1,
            globalProperties: {},
            optionMergeStrategies: {},
            errorHandler: void 0,
            warnHandler: void 0,
            compilerOptions: {}
        },
        mixins: [],
        components: {},
        directives: {},
        provides: Object.create(null),
        optionsCache: new WeakMap,
        propsCache: new WeakMap,
        emitsCache: new WeakMap
    }
}
let rT = 0;

function AT(e, t) {
    return function(r, A = null) {
        gt(r) || (r = An({}, r)), A != null && !Xt(A) && (Le("root props passed to app.mount() must be an object."), A = null);
        const i = DB();
        Object.defineProperty(i.config, "unwrapInjectedRef", {
            get() {
                return !0
            },
            set() {
                Le("app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.")
            }
        });
        const s = new Set;
        let o = !1;
        const a = i.app = {
            _uid: rT++,
            _component: r,
            _props: A,
            _container: null,
            _context: i,
            _instance: null,
            version: Y2,
            get config() {
                return i.config
            },
            set config(l) {
                Le("app.config cannot be replaced. Modify individual options instead.")
            },
            use(l, ...u) {
                return s.has(l) ? Le("Plugin has already been applied to target app.") : l && gt(l.install) ? (s.add(l), l.install(a, ...u)) : gt(l) ? (s.add(l), l(a, ...u)) : Le('A plugin must either be a function or an object with an "install" function.'), a
            },
            mixin(l) {
                return i.mixins.includes(l) ? Le("Mixin has already been applied to target app" + (l.name ? `: ${l.name}` : "")) : i.mixins.push(l), a
            },
            component(l, u) {
                return j2(l, i.config), u ? (i.components[l] && Le(`Component "${l}" has already been registered in target app.`), i.components[l] = u, a) : i.components[l]
            },
            directive(l, u) {
                return CB(l), u ? (i.directives[l] && Le(`Directive "${l}" has already been registered in target app.`), i.directives[l] = u, a) : i.directives[l]
            },
            mount(l, u, f) {
                if (o) Le("App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`");
                else {
                    l.__vue_app__ && Le("There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.");
                    const d = q(r, A);
                    return d.appContext = i, i.reload = () => {
                        e(iA(d), l, f)
                    }, u && t ? t(d, l) : e(d, l, f), o = !0, a._container = l, l.__vue_app__ = a, a._instance = d.component, JF(a, Y2), u1(d.component) || d.component.proxy
                }
            },
            unmount() {
                o ? (e(null, a._container), a._instance = null, qF(a), delete a._container.__vue_app__) : Le("Cannot unmount an app that is not mounted.")
            },
            provide(l, u) {
                return l in i.provides && Le(`App already provides property with key "${String(l)}". It will be overwritten with the new value.`), i.provides[l] = u, a
            },
            runWithContext(l) {
                Hu = a;
                try {
                    return l()
                } finally {
                    Hu = null
                }
            }
        };
        return a
    }
}
let Hu = null;

function BA(e, t) {
    if (!gn) Le("provide() can only be used inside setup().");
    else {
        let n = gn.provides;
        const r = gn.parent && gn.parent.provides;
        r === n && (n = gn.provides = Object.create(r)), n[e] = t
    }
}

function En(e, t, n = !1) {
    const r = gn || vn;
    if (r || Hu) {
        const A = r ? r.parent == null ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides : Hu._context.provides;
        if (A && e in A) return A[e];
        if (arguments.length > 1) return n && gt(t) ? t.call(r && r.proxy) : t;
        Le(`injection "${String(e)}" not found.`)
    } else Le("inject() can only be used inside setup() or functional components.")
}

function LB() {
    return !!(gn || vn || Hu)
}

function iT(e, t, n, r = !1) {
    const A = {},
        i = {};
    P2(i, a1, 1), e.propsDefaults = Object.create(null), kB(e, t, A, i);
    for (const s in e.propsOptions[0]) s in A || (A[s] = void 0);
    MB(t || {}, A, e), n ? e.props = r ? A : tB(A) : e.type.props ? e.props = A : e.props = i, e.attrs = i
}

function sT(e) {
    for (; e;) {
        if (e.type.__hmrId) return !0;
        e = e.parent
    }
}

function oT(e, t, n, r) {
    const {
        props: A,
        attrs: i,
        vnode: {
            patchFlag: s
        }
    } = e, o = ht(A), [a] = e.propsOptions;
    let l = !1;
    if (!sT(e) && (r || s > 0) && !(s & 16)) {
        if (s & 8) {
            const u = e.vnode.dynamicProps;
            for (let f = 0; f < u.length; f++) {
                let d = u[f];
                if (n1(e.emitsOptions, d)) continue;
                const p = t[d];
                if (a)
                    if (Ot(i, d)) p !== i[d] && (i[d] = p, l = !0);
                    else {
                        const v = yA(d);
                        A[v] = N2(a, o, v, p, e, !1)
                    }
                else p !== i[d] && (i[d] = p, l = !0)
            }
        }
    } else {
        kB(e, t, A, i) && (l = !0);
        let u;
        for (const f in o)(!t || !Ot(t, f) && ((u = ka(f)) === f || !Ot(t, u))) && (a ? n && (n[f] !== void 0 || n[u] !== void 0) && (A[f] = N2(a, o, f, void 0, e, !0)) : delete A[f]);
        if (i !== o)
            for (const f in i)(!t || !Ot(t, f)) && (delete i[f], l = !0)
    }
    l && $A(e, "set", "$attrs"), MB(t || {}, A, e)
}

function kB(e, t, n, r) {
    const [A, i] = e.propsOptions;
    let s = !1,
        o;
    if (t)
        for (let a in t) {
            if (lu(a)) continue;
            const l = t[a];
            let u;
            A && Ot(A, u = yA(a)) ? !i || !i.includes(u) ? n[u] = l : (o || (o = {}))[u] = l : n1(e.emitsOptions, a) || (!(a in r) || l !== r[a]) && (r[a] = l, s = !0)
        }
    if (i) {
        const a = ht(n),
            l = o || jt;
        for (let u = 0; u < i.length; u++) {
            const f = i[u];
            n[f] = N2(A, a, f, l[f], e, !Ot(l, f))
        }
    }
    return s
}

function N2(e, t, n, r, A, i) {
    const s = e[n];
    if (s != null) {
        const o = Ot(s, "default");
        if (o && r === void 0) {
            const a = s.default;
            if (s.type !== Function && !s.skipFactory && gt(a)) {
                const {
                    propsDefaults: l
                } = A;
                n in l ? r = l[n] : (Qs(A), r = l[n] = a.call(null, t), xs())
            } else r = a
        }
        s[0] && (i && !o ? r = !1 : s[1] && (r === "" || r === ka(n)) && (r = !0))
    }
    return r
}

function HB(e, t, n = !1) {
    const r = t.propsCache,
        A = r.get(e);
    if (A) return A;
    const i = e.props,
        s = {},
        o = [];
    let a = !1;
    if (!gt(e)) {
        const u = f => {
            a = !0;
            const [d, p] = HB(f, t, !0);
            An(s, d), p && o.push(...p)
        };
        !n && t.mixins.length && t.mixins.forEach(u), e.extends && u(e.extends), e.mixins && e.mixins.forEach(u)
    }
    if (!i && !a) return Xt(e) && r.set(e, Ta), Ta;
    if (vt(i))
        for (let u = 0; u < i.length; u++) {
            cn(i[u]) || Le("props must be strings when using array syntax.", i[u]);
            const f = yA(i[u]);
            z4(f) && (s[f] = jt)
        } else if (i) {
            Xt(i) || Le("invalid props options", i);
            for (const u in i) {
                const f = yA(u);
                if (z4(f)) {
                    const d = i[u],
                        p = s[f] = vt(d) || gt(d) ? {
                            type: d
                        } : An({}, d);
                    if (p) {
                        const v = X4(Boolean, p.type),
                            B = X4(String, p.type);
                        p[0] = v > -1, p[1] = B < 0 || v < B, (v > -1 || Ot(p, "default")) && o.push(f)
                    }
                }
            }
        }
    const l = [s, o];
    return Xt(e) && r.set(e, l), l
}

function z4(e) {
    return e[0] !== "$" ? !0 : (Le(`Invalid prop name: "${e}" is a reserved property.`), !1)
}

function $2(e) {
    const t = e && e.toString().match(/^\s*(function|class) (\w+)/);
    return t ? t[2] : e === null ? "null" : ""
}

function Y4(e, t) {
    return $2(e) === $2(t)
}

function X4(e, t) {
    return vt(t) ? t.findIndex(n => Y4(n, e)) : gt(t) && Y4(t, e) ? 0 : -1
}

function MB(e, t, n) {
    const r = ht(t),
        A = n.propsOptions[0];
    for (const i in A) {
        let s = A[i];
        s != null && aT(i, r[i], s, !Ot(e, i) && !Ot(e, ka(i)))
    }
}

function aT(e, t, n, r) {
    const {
        type: A,
        required: i,
        validator: s,
        skipCheck: o
    } = n;
    if (i && r) {
        Le('Missing required prop: "' + e + '"');
        return
    }
    if (!(t == null && !i)) {
        if (A != null && A !== !0 && !o) {
            let a = !1;
            const l = vt(A) ? A : [A],
                u = [];
            for (let f = 0; f < l.length && !a; f++) {
                const {
                    valid: d,
                    expectedType: p
                } = uT(t, l[f]);
                u.push(p || ""), a = d
            }
            if (!a) {
                Le(cT(e, t, u));
                return
            }
        }
        s && !s(t) && Le('Invalid prop: custom validator check failed for prop "' + e + '".')
    }
}
const lT = oc("String,Number,Boolean,Function,Symbol,BigInt");

function uT(e, t) {
    let n;
    const r = $2(t);
    if (lT(r)) {
        const A = typeof e;
        n = A === r.toLowerCase(), !n && A === "object" && (n = e instanceof t)
    } else r === "Object" ? n = Xt(e) : r === "Array" ? n = vt(e) : r === "null" ? n = e === null : n = e instanceof t;
    return {
        valid: n,
        expectedType: r
    }
}

function cT(e, t, n) {
    let r = `Invalid prop: type check failed for prop "${e}". Expected ${n.map(Ha).join(" | ")}`;
    const A = n[0],
        i = bF(t),
        s = J4(t, A),
        o = J4(t, i);
    return n.length === 1 && q4(A) && !fT(A, i) && (r += ` with value ${s}`), r += `, got ${i} `, q4(i) && (r += `with value ${o}.`), r
}

function J4(e, t) {
    return t === "String" ? `"${e}"` : t === "Number" ? `${Number(e)}` : `${e}`
}

function q4(e) {
    return ["string", "number", "boolean"].some(n => e.toLowerCase() === n)
}

function fT(...e) {
    return e.some(t => t.toLowerCase() === "boolean")
}
const RB = e => e[0] === "_" || e === "$stable",
    tg = e => vt(e) ? e.map(yr) : [yr(e)],
    dT = (e, t, n) => {
        if (t._n) return t;
        const r = Gp((...A) => (gn && Le(`Slot "${e}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`), tg(t(...A))), n);
        return r._c = !1, r
    },
    NB = (e, t, n) => {
        const r = e._ctx;
        for (const A in e) {
            if (RB(A)) continue;
            const i = e[A];
            if (gt(i)) t[A] = dT(A, i, r);
            else if (i != null) {
                Le(`Non-function value encountered for slot "${A}". Prefer function slots for better performance.`);
                const s = tg(i);
                t[A] = () => s
            }
        }
    },
    $B = (e, t) => {
        ol(e.vnode) || Le("Non-function value encountered for default slot. Prefer function slots for better performance.");
        const n = tg(t);
        e.slots.default = () => n
    },
    hT = (e, t) => {
        if (e.vnode.shapeFlag & 32) {
            const n = t._;
            n ? (e.slots = ht(t), P2(t, "_", n)) : NB(t, e.slots = {})
        } else e.slots = {}, t && $B(e, t);
        P2(e.slots, a1, 1)
    },
    pT = (e, t, n) => {
        const {
            vnode: r,
            slots: A
        } = e;
        let i = !0,
            s = jt;
        if (r.shapeFlag & 32) {
            const o = t._;
            o ? Es ? (An(A, t), $A(e, "set", "$slots")) : n && o === 1 ? i = !1 : (An(A, t), !n && o === 1 && delete A._) : (i = !t.$stable, NB(t, A)), s = t
        } else t && ($B(e, t), s = {
            default: 1
        });
        if (i)
            for (const o in A) !RB(o) && !(o in s) && delete A[o]
    };

function hf(e, t, n, r, A = !1) {
    if (vt(e)) {
        e.forEach((d, p) => hf(d, t && (vt(t) ? t[p] : t), n, r, A));
        return
    }
    if (wo(r) && !A) return;
    const i = r.shapeFlag & 4 ? u1(r.component) || r.component.proxy : r.el,
        s = A ? null : i,
        {
            i: o,
            r: a
        } = e;
    if (!o) {
        Le("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.");
        return
    }
    const l = t && t.r,
        u = o.refs === jt ? o.refs = {} : o.refs,
        f = o.setupState;
    if (l != null && l !== a && (cn(l) ? (u[l] = null, Ot(f, l) && (f[l] = null)) : Mt(l) && (l.value = null)), gt(a)) RA(a, o, 12, [s, u]);
    else {
        const d = cn(a),
            p = Mt(a);
        if (d || p) {
            const v = () => {
                if (e.f) {
                    const B = d ? Ot(f, a) ? f[a] : u[a] : a.value;
                    A ? vt(B) && Hp(B, i) : vt(B) ? B.includes(i) || B.push(i) : d ? (u[a] = [i], Ot(f, a) && (f[a] = u[a])) : (a.value = [i], e.k && (u[e.k] = a.value))
                } else d ? (u[a] = s, Ot(f, a) && (f[a] = s)) : p ? (a.value = s, e.k && (u[e.k] = s)) : Le("Invalid template ref type:", a, `(${typeof a})`)
            };
            s ? (v.id = -1, jn(v, n)) : v()
        } else Le("Invalid template ref type:", a, `(${typeof a})`)
    }
}
let Xi = !1;
const zc = e => /svg/.test(e.namespaceURI) && e.tagName !== "foreignObject",
    Il = e => e.nodeType === 8;

function gT(e) {
    const {
        mt: t,
        p: n,
        o: {
            patchProp: r,
            createText: A,
            nextSibling: i,
            parentNode: s,
            remove: o,
            insert: a,
            createComment: l
        }
    } = e, u = (w, m) => {
        if (!m.hasChildNodes()) {
            Le("Attempting to hydrate existing markup but container is empty. Performing full mount instead."), n(null, w, m), uf(), m._vnode = w;
            return
        }
        Xi = !1, f(m.firstChild, w, null, null, null), uf(), m._vnode = w, Xi && console.error("Hydration completed but contains mismatches.")
    }, f = (w, m, E, y, x, F = !1) => {
        const Q = Il(w) && w.data === "[",
            P = () => B(w, m, E, y, x, Q),
            {
                type: L,
                ref: I,
                shapeFlag: _,
                patchFlag: D
            } = m;
        let N = w.nodeType;
        m.el = w, D === -2 && (F = !1, m.dynamicChildren = null);
        let X = null;
        switch (L) {
            case Si:
                N !== 3 ? m.children === "" ? (a(m.el = A(""), s(w), w), X = w) : X = P() : (w.data !== m.children && (Xi = !0, Le(`Hydration text mismatch:
- Client: ${JSON.stringify(w.data)}
- Server: ${JSON.stringify(m.children)}`), w.data = m.children), X = i(w));
                break;
            case mn:
                N !== 8 || Q ? X = P() : X = i(w);
                break;
            case bs:
                if (Q && (w = i(w), N = w.nodeType), N === 1 || N === 3) {
                    X = w;
                    const se = !m.children.length;
                    for (let Z = 0; Z < m.staticCount; Z++) se && (m.children += X.nodeType === 1 ? X.outerHTML : X.data), Z === m.staticCount - 1 && (m.anchor = X), X = i(X);
                    return Q ? i(X) : X
                } else P();
                break;
            case an:
                Q ? X = v(w, m, E, y, x, F) : X = P();
                break;
            default:
                if (_ & 1) N !== 1 || m.type.toLowerCase() !== w.tagName.toLowerCase() ? X = P() : X = d(w, m, E, y, x, F);
                else if (_ & 6) {
                    m.slotScopeIds = x;
                    const se = s(w);
                    if (t(m, se, null, E, y, zc(se), F), X = Q ? C(w) : i(w), X && Il(X) && X.data === "teleport end" && (X = i(X)), wo(m)) {
                        let Z;
                        Q ? (Z = q(an), Z.anchor = X ? X.previousSibling : se.lastChild) : Z = w.nodeType === 3 ? l1("") : q("div"), Z.el = w, m.component.subTree = Z
                    }
                } else _ & 64 ? N !== 8 ? X = P() : X = m.type.hydrate(w, m, E, y, x, F, e, p) : _ & 128 ? X = m.type.hydrate(w, m, E, y, zc(s(w)), x, F, e, f) : Le("Invalid HostVNode type:", L, `(${typeof L})`)
        }
        return I != null && hf(I, null, y, m), X
    }, d = (w, m, E, y, x, F) => {
        F = F || !!m.dynamicChildren;
        const {
            type: Q,
            props: P,
            patchFlag: L,
            shapeFlag: I,
            dirs: _
        } = m, D = Q === "input" && _ || Q === "option"; {
            if (_ && PA(m, null, E, "created"), P)
                if (D || !F || L & 48)
                    for (const X in P)(D && X.endsWith("value") || ac(X) && !lu(X)) && r(w, X, null, P[X], !1, void 0, E);
                else P.onClick && r(w, "onClick", null, P.onClick, !1, void 0, E);
            let N;
            if ((N = P && P.onVnodeBeforeMount) && Br(N, E, m), _ && PA(m, null, E, "beforeMount"), ((N = P && P.onVnodeMounted) || _) && BB(() => {
                    N && Br(N, E, m), _ && PA(m, null, E, "mounted")
                }, y), I & 16 && !(P && (P.innerHTML || P.textContent))) {
                let X = p(w.firstChild, m, w, E, y, x, F),
                    se = !1;
                for (; X;) {
                    Xi = !0, se || (Le(`Hydration children mismatch in <${m.type}>: server rendered element contains more child nodes than client vdom.`), se = !0);
                    const Z = X;
                    X = X.nextSibling, o(Z)
                }
            } else I & 8 && w.textContent !== m.children && (Xi = !0, Le(`Hydration text content mismatch in <${m.type}>:
- Client: ${w.textContent}
- Server: ${m.children}`), w.textContent = m.children)
        }
        return w.nextSibling
    }, p = (w, m, E, y, x, F, Q) => {
        Q = Q || !!m.dynamicChildren;
        const P = m.children,
            L = P.length;
        let I = !1;
        for (let _ = 0; _ < L; _++) {
            const D = Q ? P[_] : P[_] = yr(P[_]);
            if (w) w = f(w, D, y, x, F, Q);
            else {
                if (D.type === Si && !D.children) continue;
                Xi = !0, I || (Le(`Hydration children mismatch in <${E.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`), I = !0), n(null, D, E, null, y, x, zc(E), F)
            }
        }
        return w
    }, v = (w, m, E, y, x, F) => {
        const {
            slotScopeIds: Q
        } = m;
        Q && (x = x ? x.concat(Q) : Q);
        const P = s(w),
            L = p(i(w), m, P, E, y, x, F);
        return L && Il(L) && L.data === "]" ? i(m.anchor = L) : (Xi = !0, a(m.anchor = l("]"), P, L), L)
    }, B = (w, m, E, y, x, F) => {
        if (Xi = !0, Le(`Hydration node mismatch:
- Client vnode:`, m.type, `
- Server rendered DOM:`, w, w.nodeType === 3 ? "(text)" : Il(w) && w.data === "[" ? "(start of fragment)" : ""), m.el = null, F) {
            const L = C(w);
            for (;;) {
                const I = i(w);
                if (I && I !== L) o(I);
                else break
            }
        }
        const Q = i(w),
            P = s(w);
        return o(w), n(null, m, P, Q, E, y, zc(P), x), Q
    }, C = w => {
        let m = 0;
        for (; w;)
            if (w = i(w), w && Il(w) && (w.data === "[" && m++, w.data === "]")) {
                if (m === 0) return i(w);
                m--
            }
        return w
    };
    return [u, f]
}
let Ql, us;

function ci(e, t) {
    e.appContext.config.performance && pf() && us.mark(`vue-${t}-${e.uid}`), tS(e, t, pf() ? us.now() : Date.now())
}

function fi(e, t) {
    if (e.appContext.config.performance && pf()) {
        const n = `vue-${t}-${e.uid}`,
            r = n + ":end";
        us.mark(r), us.measure(`<${c1(e,e.type)}> ${t}`, n, r), us.clearMarks(n), us.clearMarks(r)
    }
    nS(e, t, pf() ? us.now() : Date.now())
}

function pf() {
    return Ql !== void 0 || (typeof window < "u" && window.performance ? (Ql = !0, us = window.performance) : Ql = !1), Ql
}

function vT() {
    const e = [];
    if (e.length) {
        const t = e.length > 1;
        console.warn(`Feature flag${t?"s":""} ${e.join(", ")} ${t?"are":"is"} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.

For more details, see https://link.vuejs.org/feature-flags.`)
    }
}
const jn = BB;

function KB(e) {
    return GB(e)
}

function VB(e) {
    return GB(e, gT)
}

function GB(e, t) {
    vT();
    const n = lf();
    n.__VUE__ = !0, Kp(n.__VUE_DEVTOOLS_GLOBAL_HOOK__, n);
    const {
        insert: r,
        remove: A,
        patchProp: i,
        createElement: s,
        createText: o,
        createComment: a,
        setText: l,
        setElementText: u,
        parentNode: f,
        nextSibling: d,
        setScopeId: p = br,
        insertStaticContent: v
    } = e, B = (U, O, Y, we = null, Te = null, Oe = null, Ke = !1, He = null, Re = Es ? !1 : !!O.dynamicChildren) => {
        if (U === O) return;
        U && !pA(U, O) && (we = Be(U), ue(U, Te, Oe, !0), U = null), O.patchFlag === -2 && (Re = !1, O.dynamicChildren = null);
        const {
            type: Pe,
            ref: oe,
            shapeFlag: Ee
        } = O;
        switch (Pe) {
            case Si:
                C(U, O, Y, we);
                break;
            case mn:
                w(U, O, Y, we);
                break;
            case bs:
                U == null ? m(O, Y, we, Ke) : E(U, O, Y, Ke);
                break;
            case an:
                N(U, O, Y, we, Te, Oe, Ke, He, Re);
                break;
            default:
                Ee & 1 ? F(U, O, Y, we, Te, Oe, Ke, He, Re) : Ee & 6 ? X(U, O, Y, we, Te, Oe, Ke, He, Re) : Ee & 64 || Ee & 128 ? Pe.process(U, O, Y, we, Te, Oe, Ke, He, Re, $e) : Le("Invalid VNode type:", Pe, `(${typeof Pe})`)
        }
        oe != null && Te && hf(oe, U && U.ref, Oe, O || U, !O)
    }, C = (U, O, Y, we) => {
        if (U == null) r(O.el = o(O.children), Y, we);
        else {
            const Te = O.el = U.el;
            O.children !== U.children && l(Te, O.children)
        }
    }, w = (U, O, Y, we) => {
        U == null ? r(O.el = a(O.children || ""), Y, we) : O.el = U.el
    }, m = (U, O, Y, we) => {
        [U.el, U.anchor] = v(U.children, O, Y, we, U.el, U.anchor)
    }, E = (U, O, Y, we) => {
        if (O.children !== U.children) {
            const Te = d(U.anchor);
            x(U), [O.el, O.anchor] = v(O.children, Y, Te, we)
        } else O.el = U.el, O.anchor = U.anchor
    }, y = ({
        el: U,
        anchor: O
    }, Y, we) => {
        let Te;
        for (; U && U !== O;) Te = d(U), r(U, Y, we), U = Te;
        r(O, Y, we)
    }, x = ({
        el: U,
        anchor: O
    }) => {
        let Y;
        for (; U && U !== O;) Y = d(U), A(U), U = Y;
        A(O)
    }, F = (U, O, Y, we, Te, Oe, Ke, He, Re) => {
        Ke = Ke || O.type === "svg", U == null ? Q(O, Y, we, Te, Oe, Ke, He, Re) : I(U, O, Te, Oe, Ke, He, Re)
    }, Q = (U, O, Y, we, Te, Oe, Ke, He) => {
        let Re, Pe;
        const {
            type: oe,
            props: Ee,
            shapeFlag: We,
            transition: qe,
            dirs: ut
        } = U;
        if (Re = U.el = s(U.type, Oe, Ee && Ee.is, Ee), We & 8 ? u(Re, U.children) : We & 16 && L(U.children, Re, null, we, Te, Oe && oe !== "foreignObject", Ke, He), ut && PA(U, null, we, "created"), P(Re, U, U.scopeId, Ke, we), Ee) {
            for (const Ct in Ee) Ct !== "value" && !lu(Ct) && i(Re, Ct, null, Ee[Ct], Oe, U.children, we, Te, te);
            "value" in Ee && i(Re, "value", null, Ee.value), (Pe = Ee.onVnodeBeforeMount) && Br(Pe, we, U)
        }
        Object.defineProperty(Re, "__vnode", {
            value: U,
            enumerable: !1
        }), Object.defineProperty(Re, "__vueParentComponent", {
            value: we,
            enumerable: !1
        }), ut && PA(U, null, we, "beforeMount");
        const xt = (!Te || Te && !Te.pendingBranch) && qe && !qe.persisted;
        xt && qe.beforeEnter(Re), r(Re, O, Y), ((Pe = Ee && Ee.onVnodeMounted) || xt || ut) && jn(() => {
            Pe && Br(Pe, we, U), xt && qe.enter(Re), ut && PA(U, null, we, "mounted")
        }, Te)
    }, P = (U, O, Y, we, Te) => {
        if (Y && p(U, Y), we)
            for (let Oe = 0; Oe < we.length; Oe++) p(U, we[Oe]);
        if (Te) {
            let Oe = Te.subTree;
            if (Oe.patchFlag > 0 && Oe.patchFlag & 2048 && (Oe = jp(Oe.children) || Oe), O === Oe) {
                const Ke = Te.vnode;
                P(U, Ke, Ke.scopeId, Ke.slotScopeIds, Te.parent)
            }
        }
    }, L = (U, O, Y, we, Te, Oe, Ke, He, Re = 0) => {
        for (let Pe = Re; Pe < U.length; Pe++) {
            const oe = U[Pe] = He ? os(U[Pe]) : yr(U[Pe]);
            B(null, oe, O, Y, we, Te, Oe, Ke, He)
        }
    }, I = (U, O, Y, we, Te, Oe, Ke) => {
        const He = O.el = U.el;
        let {
            patchFlag: Re,
            dynamicChildren: Pe,
            dirs: oe
        } = O;
        Re |= U.patchFlag & 16;
        const Ee = U.props || jt,
            We = O.props || jt;
        let qe;
        Y && Zs(Y, !1), (qe = We.onVnodeBeforeUpdate) && Br(qe, Y, O, U), oe && PA(O, U, Y, "beforeUpdate"), Y && Zs(Y, !0), Es && (Re = 0, Ke = !1, Pe = null);
        const ut = Te && O.type !== "foreignObject";
        if (Pe ? (_(U.dynamicChildren, Pe, He, Y, we, ut, Oe), gf(U, O)) : Ke || he(U, O, He, null, Y, we, ut, Oe, !1), Re > 0) {
            if (Re & 16) D(He, O, Ee, We, Y, we, Te);
            else if (Re & 2 && Ee.class !== We.class && i(He, "class", null, We.class, Te), Re & 4 && i(He, "style", Ee.style, We.style, Te), Re & 8) {
                const xt = O.dynamicProps;
                for (let Ct = 0; Ct < xt.length; Ct++) {
                    const Pt = xt[Ct],
                        kt = Ee[Pt],
                        nn = We[Pt];
                    (nn !== kt || Pt === "value") && i(He, Pt, kt, nn, Te, U.children, Y, we, te)
                }
            }
            Re & 1 && U.children !== O.children && u(He, O.children)
        } else !Ke && Pe == null && D(He, O, Ee, We, Y, we, Te);
        ((qe = We.onVnodeUpdated) || oe) && jn(() => {
            qe && Br(qe, Y, O, U), oe && PA(O, U, Y, "updated")
        }, we)
    }, _ = (U, O, Y, we, Te, Oe, Ke) => {
        for (let He = 0; He < O.length; He++) {
            const Re = U[He],
                Pe = O[He],
                oe = Re.el && (Re.type === an || !pA(Re, Pe) || Re.shapeFlag & 70) ? f(Re.el) : Y;
            B(Re, Pe, oe, null, we, Te, Oe, Ke, !0)
        }
    }, D = (U, O, Y, we, Te, Oe, Ke) => {
        if (Y !== we) {
            if (Y !== jt)
                for (const He in Y) !lu(He) && !(He in we) && i(U, He, Y[He], null, Ke, O.children, Te, Oe, te);
            for (const He in we) {
                if (lu(He)) continue;
                const Re = we[He],
                    Pe = Y[He];
                Re !== Pe && He !== "value" && i(U, He, Pe, Re, Ke, O.children, Te, Oe, te)
            }
            "value" in we && i(U, "value", Y.value, we.value)
        }
    }, N = (U, O, Y, we, Te, Oe, Ke, He, Re) => {
        const Pe = O.el = U ? U.el : o(""),
            oe = O.anchor = U ? U.anchor : o("");
        let {
            patchFlag: Ee,
            dynamicChildren: We,
            slotScopeIds: qe
        } = O;
        (Es || Ee & 2048) && (Ee = 0, Re = !1, We = null), qe && (He = He ? He.concat(qe) : qe), U == null ? (r(Pe, Y, we), r(oe, Y, we), L(O.children, Y, oe, Te, Oe, Ke, He, Re)) : Ee > 0 && Ee & 64 && We && U.dynamicChildren ? (_(U.dynamicChildren, We, Y, Te, Oe, Ke, He), gf(U, O)) : he(U, O, Y, oe, Te, Oe, Ke, He, Re)
    }, X = (U, O, Y, we, Te, Oe, Ke, He, Re) => {
        O.slotScopeIds = He, U == null ? O.shapeFlag & 512 ? Te.ctx.activate(O, Y, we, Ke, Re) : se(O, Y, we, Te, Oe, Ke, Re) : Z(U, O, Re)
    }, se = (U, O, Y, we, Te, Oe, Ke) => {
        const He = U.component = ZB(U, we, Te);
        if (He.type.__hmrId && WF(He), uu(U), ci(He, "mount"), ol(U) && (He.ctx.renderer = $e), ci(He, "init"), t9(He), fi(He, "init"), He.asyncDep) {
            if (Te && Te.registerDep(He, ce), !U.el) {
                const Re = He.subTree = q(mn);
                w(null, Re, O, Y)
            }
            return
        }
        ce(He, U, O, Y, Te, Oe, Ke), cu(), fi(He, "mount")
    }, Z = (U, O, Y) => {
        const we = O.component = U.component;
        if (cS(U, O, Y))
            if (we.asyncDep && !we.asyncResolved) {
                uu(O), W(we, O, Y), cu();
                return
            } else we.next = O, GF(we.update), we.update();
        else O.el = U.el, we.vnode = O
    }, ce = (U, O, Y, we, Te, Oe, Ke) => {
        const He = () => {
                if (U.isMounted) {
                    let {
                        next: oe,
                        bu: Ee,
                        u: We,
                        parent: qe,
                        vnode: ut
                    } = U, xt = oe, Ct;
                    uu(oe || U.vnode), Zs(U, !1), oe ? (oe.el = ut.el, W(U, oe, Ke)) : oe = ut, Ee && ao(Ee), (Ct = oe.props && oe.props.onVnodeBeforeUpdate) && Br(Ct, qe, oe, ut), Zs(U, !0), ci(U, "render");
                    const Pt = $0(U);
                    fi(U, "render");
                    const kt = U.subTree;
                    U.subTree = Pt, ci(U, "patch"), B(kt, Pt, f(kt.el), Be(kt), U, Te, Oe), fi(U, "patch"), oe.el = Pt.el, xt === null && Wp(U, Pt.el), We && jn(We, Te), (Ct = oe.props && oe.props.onVnodeUpdated) && jn(() => Br(Ct, qe, oe, ut), Te), pB(U), cu()
                } else {
                    let oe;
                    const {
                        el: Ee,
                        props: We
                    } = O, {
                        bm: qe,
                        m: ut,
                        parent: xt
                    } = U, Ct = wo(O);
                    if (Zs(U, !1), qe && ao(qe), !Ct && (oe = We && We.onVnodeBeforeMount) && Br(oe, xt, O), Zs(U, !0), Ee && Ve) {
                        const Pt = () => {
                            ci(U, "render"), U.subTree = $0(U), fi(U, "render"), ci(U, "hydrate"), Ve(Ee, U.subTree, U, Te, null), fi(U, "hydrate")
                        };
                        Ct ? O.type.__asyncLoader().then(() => !U.isUnmounted && Pt()) : Pt()
                    } else {
                        ci(U, "render");
                        const Pt = U.subTree = $0(U);
                        fi(U, "render"), ci(U, "patch"), B(null, Pt, Y, we, U, Te, Oe), fi(U, "patch"), O.el = Pt.el
                    }
                    if (ut && jn(ut, Te), !Ct && (oe = We && We.onVnodeMounted)) {
                        const Pt = O;
                        jn(() => Br(oe, xt, Pt), Te)
                    }(O.shapeFlag & 256 || xt && wo(xt.vnode) && xt.vnode.shapeFlag & 256) && U.a && jn(U.a, Te), U.isMounted = !0, L2(U), O = Y = we = null
                }
            },
            Re = U.effect = new sc(He, () => fc(Pe), U.scope),
            Pe = U.update = () => Re.run();
        Pe.id = U.uid, Zs(U, !0), Re.onTrack = U.rtc ? oe => ao(U.rtc, oe) : void 0, Re.onTrigger = U.rtg ? oe => ao(U.rtg, oe) : void 0, Pe.ownerInstance = U, Pe()
    }, W = (U, O, Y) => {
        O.component = U;
        const we = U.vnode.props;
        U.vnode = O, U.next = null, oT(U, O.props, we, Y), pT(U, O.children, Y), Ho(), k4(), Mo()
    }, he = (U, O, Y, we, Te, Oe, Ke, He, Re = !1) => {
        const Pe = U && U.children,
            oe = U ? U.shapeFlag : 0,
            Ee = O.children,
            {
                patchFlag: We,
                shapeFlag: qe
            } = O;
        if (We > 0) {
            if (We & 128) {
                V(Pe, Ee, Y, we, Te, Oe, Ke, He, Re);
                return
            } else if (We & 256) {
                Se(Pe, Ee, Y, we, Te, Oe, Ke, He, Re);
                return
            }
        }
        qe & 8 ? (oe & 16 && te(Pe, Te, Oe), Ee !== Pe && u(Y, Ee)) : oe & 16 ? qe & 16 ? V(Pe, Ee, Y, we, Te, Oe, Ke, He, Re) : te(Pe, Te, Oe, !0) : (oe & 8 && u(Y, ""), qe & 16 && L(Ee, Y, we, Te, Oe, Ke, He, Re))
    }, Se = (U, O, Y, we, Te, Oe, Ke, He, Re) => {
        U = U || Ta, O = O || Ta;
        const Pe = U.length,
            oe = O.length,
            Ee = Math.min(Pe, oe);
        let We;
        for (We = 0; We < Ee; We++) {
            const qe = O[We] = Re ? os(O[We]) : yr(O[We]);
            B(U[We], qe, Y, null, Te, Oe, Ke, He, Re)
        }
        Pe > oe ? te(U, Te, Oe, !0, !1, Ee) : L(O, Y, we, Te, Oe, Ke, He, Re, Ee)
    }, V = (U, O, Y, we, Te, Oe, Ke, He, Re) => {
        let Pe = 0;
        const oe = O.length;
        let Ee = U.length - 1,
            We = oe - 1;
        for (; Pe <= Ee && Pe <= We;) {
            const qe = U[Pe],
                ut = O[Pe] = Re ? os(O[Pe]) : yr(O[Pe]);
            if (pA(qe, ut)) B(qe, ut, Y, null, Te, Oe, Ke, He, Re);
            else break;
            Pe++
        }
        for (; Pe <= Ee && Pe <= We;) {
            const qe = U[Ee],
                ut = O[We] = Re ? os(O[We]) : yr(O[We]);
            if (pA(qe, ut)) B(qe, ut, Y, null, Te, Oe, Ke, He, Re);
            else break;
            Ee--, We--
        }
        if (Pe > Ee) {
            if (Pe <= We) {
                const qe = We + 1,
                    ut = qe < oe ? O[qe].el : we;
                for (; Pe <= We;) B(null, O[Pe] = Re ? os(O[Pe]) : yr(O[Pe]), Y, ut, Te, Oe, Ke, He, Re), Pe++
            }
        } else if (Pe > We)
            for (; Pe <= Ee;) ue(U[Pe], Te, Oe, !0), Pe++;
        else {
            const qe = Pe,
                ut = Pe,
                xt = new Map;
            for (Pe = ut; Pe <= We; Pe++) {
                const _n = O[Pe] = Re ? os(O[Pe]) : yr(O[Pe]);
                _n.key != null && (xt.has(_n.key) && Le("Duplicate keys found during update:", JSON.stringify(_n.key), "Make sure keys are unique."), xt.set(_n.key, Pe))
            }
            let Ct, Pt = 0;
            const kt = We - ut + 1;
            let nn = !1,
                js = 0;
            const sA = new Array(kt);
            for (Pe = 0; Pe < kt; Pe++) sA[Pe] = 0;
            for (Pe = qe; Pe <= Ee; Pe++) {
                const _n = U[Pe];
                if (Pt >= kt) {
                    ue(_n, Te, Oe, !0);
                    continue
                }
                let rr;
                if (_n.key != null) rr = xt.get(_n.key);
                else
                    for (Ct = ut; Ct <= We; Ct++)
                        if (sA[Ct - ut] === 0 && pA(_n, O[Ct])) {
                            rr = Ct;
                            break
                        }
                rr === void 0 ? ue(_n, Te, Oe, !0) : (sA[rr - ut] = Pe + 1, rr >= js ? js = rr : nn = !0, B(_n, O[rr], Y, null, Te, Oe, Ke, He, Re), Pt++)
            }
            const Ws = nn ? mT(sA) : Ta;
            for (Ct = Ws.length - 1, Pe = kt - 1; Pe >= 0; Pe--) {
                const _n = ut + Pe,
                    rr = O[_n],
                    Hi = _n + 1 < oe ? O[_n + 1].el : we;
                sA[Pe] === 0 ? B(null, rr, Y, Hi, Te, Oe, Ke, He, Re) : nn && (Ct < 0 || Pe !== Ws[Ct] ? ie(rr, Y, Hi, 2) : Ct--)
            }
        }
    }, ie = (U, O, Y, we, Te = null) => {
        const {
            el: Oe,
            type: Ke,
            transition: He,
            children: Re,
            shapeFlag: Pe
        } = U;
        if (Pe & 6) {
            ie(U.component.subTree, O, Y, we);
            return
        }
        if (Pe & 128) {
            U.suspense.move(O, Y, we);
            return
        }
        if (Pe & 64) {
            Ke.move(U, O, Y, $e);
            return
        }
        if (Ke === an) {
            r(Oe, O, Y);
            for (let Ee = 0; Ee < Re.length; Ee++) ie(Re[Ee], O, Y, we);
            r(U.anchor, O, Y);
            return
        }
        if (Ke === bs) {
            y(U, O, Y);
            return
        }
        if (we !== 2 && Pe & 1 && He)
            if (we === 0) He.beforeEnter(Oe), r(Oe, O, Y), jn(() => He.enter(Oe), Te);
            else {
                const {
                    leave: Ee,
                    delayLeave: We,
                    afterLeave: qe
                } = He, ut = () => r(Oe, O, Y), xt = () => {
                    Ee(Oe, () => {
                        ut(), qe && qe()
                    })
                };
                We ? We(Oe, ut, xt) : xt()
            }
        else r(Oe, O, Y)
    }, ue = (U, O, Y, we = !1, Te = !1) => {
        const {
            type: Oe,
            props: Ke,
            ref: He,
            children: Re,
            dynamicChildren: Pe,
            shapeFlag: oe,
            patchFlag: Ee,
            dirs: We
        } = U;
        if (He != null && hf(He, null, Y, U, !0), oe & 256) {
            O.ctx.deactivate(U);
            return
        }
        const qe = oe & 1 && We,
            ut = !wo(U);
        let xt;
        if (ut && (xt = Ke && Ke.onVnodeBeforeUnmount) && Br(xt, O, U), oe & 6) ye(U.component, Y, we);
        else {
            if (oe & 128) {
                U.suspense.unmount(Y, we);
                return
            }
            qe && PA(U, null, O, "beforeUnmount"), oe & 64 ? U.type.remove(U, O, Y, Te, $e, we) : Pe && (Oe !== an || Ee > 0 && Ee & 64) ? te(Pe, O, Y, !1, !0) : (Oe === an && Ee & 384 || !Te && oe & 16) && te(Re, O, Y), we && pe(U)
        }(ut && (xt = Ke && Ke.onVnodeUnmounted) || qe) && jn(() => {
            xt && Br(xt, O, U), qe && PA(U, null, O, "unmounted")
        }, Y)
    }, pe = U => {
        const {
            type: O,
            el: Y,
            anchor: we,
            transition: Te
        } = U;
        if (O === an) {
            U.patchFlag > 0 && U.patchFlag & 2048 && Te && !Te.persisted ? U.children.forEach(Ke => {
                Ke.type === mn ? A(Ke.el) : pe(Ke)
            }) : ee(Y, we);
            return
        }
        if (O === bs) {
            x(U);
            return
        }
        const Oe = () => {
            A(Y), Te && !Te.persisted && Te.afterLeave && Te.afterLeave()
        };
        if (U.shapeFlag & 1 && Te && !Te.persisted) {
            const {
                leave: Ke,
                delayLeave: He
            } = Te, Re = () => Ke(Y, Oe);
            He ? He(U.el, Oe, Re) : Re()
        } else Oe()
    }, ee = (U, O) => {
        let Y;
        for (; U !== O;) Y = d(U), A(U), U = Y;
        A(O)
    }, ye = (U, O, Y) => {
        U.type.__hmrId && zF(U);
        const {
            bum: we,
            scope: Te,
            update: Oe,
            subTree: Ke,
            um: He
        } = U;
        we && ao(we), Te.stop(), Oe && (Oe.active = !1, ue(Ke, U, O, Y)), He && jn(He, O), jn(() => {
            U.isUnmounted = !0
        }, O), O && O.pendingBranch && !O.isUnmounted && U.asyncDep && !U.asyncResolved && U.suspenseId === O.pendingId && (O.deps--, O.deps === 0 && O.resolve()), eS(U)
    }, te = (U, O, Y, we = !1, Te = !1, Oe = 0) => {
        for (let Ke = Oe; Ke < U.length; Ke++) ue(U[Ke], O, Y, we, Te)
    }, Be = U => U.shapeFlag & 6 ? Be(U.component.subTree) : U.shapeFlag & 128 ? U.suspense.next() : d(U.anchor || U.el), Qe = (U, O, Y) => {
        U == null ? O._vnode && ue(O._vnode, null, null, !0) : B(O._vnode || null, U, O, null, null, null, Y), k4(), uf(), O._vnode = U
    }, $e = {
        p: B,
        um: ue,
        m: ie,
        r: pe,
        mt: se,
        mc: L,
        pc: he,
        pbc: _,
        n: Be,
        o: e
    };
    let Ue, Ve;
    return t && ([Ue, Ve] = t($e)), {
        render: Qe,
        hydrate: Ue,
        createApp: AT(Qe, Ue)
    }
}

function Zs({
    effect: e,
    update: t
}, n) {
    e.allowRecurse = t.allowRecurse = n
}

function gf(e, t, n = !1) {
    const r = e.children,
        A = t.children;
    if (vt(r) && vt(A))
        for (let i = 0; i < r.length; i++) {
            const s = r[i];
            let o = A[i];
            o.shapeFlag & 1 && !o.dynamicChildren && ((o.patchFlag <= 0 || o.patchFlag === 32) && (o = A[i] = os(A[i]), o.el = s.el), n || gf(s, o)), o.type === Si && (o.el = s.el), o.type === mn && !o.el && (o.el = s.el)
        }
}

function mT(e) {
    const t = e.slice(),
        n = [0];
    let r, A, i, s, o;
    const a = e.length;
    for (r = 0; r < a; r++) {
        const l = e[r];
        if (l !== 0) {
            if (A = n[n.length - 1], e[A] < l) {
                t[r] = A, n.push(r);
                continue
            }
            for (i = 0, s = n.length - 1; i < s;) o = i + s >> 1, e[n[o]] < l ? i = o + 1 : s = o;
            l < e[n[i]] && (i > 0 && (t[r] = n[i - 1]), n[i] = r)
        }
    }
    for (i = n.length, s = n[i - 1]; i-- > 0;) n[i] = s, s = t[s];
    return n
}
const BT = e => e.__isTeleport,
    Ua = e => e && (e.disabled || e.disabled === ""),
    Z4 = e => typeof SVGElement < "u" && e instanceof SVGElement,
    K2 = (e, t) => {
        const n = e && e.to;
        if (cn(n))
            if (t) {
                const r = t(n);
                return r || Le(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`), r
            } else return Le("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"), null;
        else return !n && !Ua(e) && Le(`Invalid Teleport target: ${n}`), n
    },
    wT = {
        __isTeleport: !0,
        process(e, t, n, r, A, i, s, o, a, l) {
            const {
                mc: u,
                pc: f,
                pbc: d,
                o: {
                    insert: p,
                    querySelector: v,
                    createText: B,
                    createComment: C
                }
            } = l, w = Ua(t.props);
            let {
                shapeFlag: m,
                children: E,
                dynamicChildren: y
            } = t;
            if (Es && (a = !1, y = null), e == null) {
                const x = t.el = C("teleport start"),
                    F = t.anchor = C("teleport end");
                p(x, n, r), p(F, n, r);
                const Q = t.target = K2(t.props, v),
                    P = t.targetAnchor = B("");
                Q ? (p(P, Q), s = s || Z4(Q)) : w || Le("Invalid Teleport target on mount:", Q, `(${typeof Q})`);
                const L = (I, _) => {
                    m & 16 && u(E, I, _, A, i, s, o, a)
                };
                w ? L(n, F) : Q && L(Q, P)
            } else {
                t.el = e.el;
                const x = t.anchor = e.anchor,
                    F = t.target = e.target,
                    Q = t.targetAnchor = e.targetAnchor,
                    P = Ua(e.props),
                    L = P ? n : F,
                    I = P ? x : Q;
                if (s = s || Z4(F), y ? (d(e.dynamicChildren, y, L, A, i, s, o), gf(e, t, !0)) : a || f(e, t, L, I, A, i, s, o, !1), w) P || Yc(t, n, x, l, 1);
                else if ((t.props && t.props.to) !== (e.props && e.props.to)) {
                    const _ = t.target = K2(t.props, v);
                    _ ? Yc(t, _, null, l, 0) : Le("Invalid Teleport target on update:", F, `(${typeof F})`)
                } else P && Yc(t, F, Q, l, 1)
            }
            WB(t)
        },
        remove(e, t, n, r, {
            um: A,
            o: {
                remove: i
            }
        }, s) {
            const {
                shapeFlag: o,
                children: a,
                anchor: l,
                targetAnchor: u,
                target: f,
                props: d
            } = e;
            if (f && i(u), (s || !Ua(d)) && (i(l), o & 16))
                for (let p = 0; p < a.length; p++) {
                    const v = a[p];
                    A(v, t, n, !0, !!v.dynamicChildren)
                }
        },
        move: Yc,
        hydrate: yT
    };

function Yc(e, t, n, {
    o: {
        insert: r
    },
    m: A
}, i = 2) {
    i === 0 && r(e.targetAnchor, t, n);
    const {
        el: s,
        anchor: o,
        shapeFlag: a,
        children: l,
        props: u
    } = e, f = i === 2;
    if (f && r(s, t, n), (!f || Ua(u)) && a & 16)
        for (let d = 0; d < l.length; d++) A(l[d], t, n, 2);
    f && r(o, t, n)
}

function yT(e, t, n, r, A, i, {
    o: {
        nextSibling: s,
        parentNode: o,
        querySelector: a
    }
}, l) {
    const u = t.target = K2(t.props, a);
    if (u) {
        const f = u._lpa || u.firstChild;
        if (t.shapeFlag & 16)
            if (Ua(t.props)) t.anchor = l(s(e), t, o(e), n, r, A, i), t.targetAnchor = f;
            else {
                t.anchor = s(e);
                let d = f;
                for (; d;)
                    if (d = s(d), d && d.nodeType === 8 && d.data === "teleport anchor") {
                        t.targetAnchor = d, u._lpa = t.targetAnchor && s(t.targetAnchor);
                        break
                    }
                l(f, t, u, n, r, A, i)
            }
        WB(t)
    }
    return t.anchor && s(t.anchor)
}
const jB = wT;

function WB(e) {
    const t = e.ctx;
    if (t && t.ut) {
        let n = e.children[0].el;
        for (; n !== e.targetAnchor;) n.nodeType === 1 && n.setAttribute("data-v-owner", t.uid), n = n.nextSibling;
        t.ut()
    }
}
const an = Symbol.for("v-fgt"),
    Si = Symbol.for("v-txt"),
    mn = Symbol.for("v-cmt"),
    bs = Symbol.for("v-stc"),
    hu = [];
let xr = null;

function o1(e = !1) {
    hu.push(xr = e ? null : [])
}

function zB() {
    hu.pop(), xr = hu[hu.length - 1] || null
}
let To = 1;

function V2(e) {
    To += e
}

function YB(e) {
    return e.dynamicChildren = To > 0 ? xr || Ta : null, zB(), To > 0 && xr && xr.push(e), e
}

function CT(e, t, n, r, A, i) {
    return YB(rg(e, t, n, r, A, i, !0))
}

function ng(e, t, n, r, A) {
    return YB(q(e, t, n, r, A, !0))
}

function KA(e) {
    return e ? e.__v_isVNode === !0 : !1
}

function pA(e, t) {
    return t.shapeFlag & 6 && wa.has(t.type) ? (e.shapeFlag &= -257, t.shapeFlag &= -513, !1) : e.type === t.type && e.key === t.key
}
let G2;

function ET(e) {
    G2 = e
}
const bT = (...e) => xT(...G2 ? G2(e, vn) : e),
    a1 = "__vInternal",
    XB = ({
        key: e
    }) => e ? ? null,
    K0 = ({
        ref: e,
        ref_key: t,
        ref_for: n
    }) => (typeof e == "number" && (e = "" + e), e != null ? cn(e) || Mt(e) || gt(e) ? {
        i: vn,
        r: e,
        k: t,
        f: !!n
    } : e : null);

function rg(e, t = null, n = null, r = 0, A = null, i = e === an ? 0 : 1, s = !1, o = !1) {
    const a = {
        __v_isVNode: !0,
        __v_skip: !0,
        type: e,
        props: t,
        key: t && XB(t),
        ref: t && K0(t),
        scopeId: r1,
        slotScopeIds: null,
        children: n,
        component: null,
        suspense: null,
        ssContent: null,
        ssFallback: null,
        dirs: null,
        transition: null,
        el: null,
        anchor: null,
        target: null,
        targetAnchor: null,
        staticCount: 0,
        shapeFlag: i,
        patchFlag: r,
        dynamicProps: A,
        dynamicChildren: null,
        appContext: null,
        ctx: vn
    };
    return o ? (Ag(a, n), i & 128 && e.normalize(a)) : n && (a.shapeFlag |= cn(n) ? 8 : 16), a.key !== a.key && Le("VNode created with invalid key (NaN). VNode type:", a.type), To > 0 && !s && xr && (a.patchFlag > 0 || i & 6) && a.patchFlag !== 32 && xr.push(a), a
}
const q = bT;

function xT(e, t = null, n = null, r = 0, A = null, i = !1) {
    if ((!e || e === IB) && (e || Le(`Invalid vnode type when creating vnode: ${e}.`), e = mn), KA(e)) {
        const o = iA(e, t, !0);
        return n && Ag(o, n), To > 0 && !i && xr && (o.shapeFlag & 6 ? xr[xr.indexOf(e)] = o : xr.push(o)), o.patchFlag |= -2, o
    }
    if (A9(e) && (e = e.__vccOpts), t) {
        t = JB(t);
        let {
            class: o,
            style: a
        } = t;
        o && !cn(o) && (t.class = cc(o)), Xt(a) && (Qu(a) && !vt(a) && (a = An({}, a)), t.style = uc(a))
    }
    const s = cn(e) ? 1 : mB(e) ? 128 : BT(e) ? 64 : Xt(e) ? 4 : gt(e) ? 2 : 0;
    return s & 4 && Qu(e) && (e = ht(e), Le("Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.", `
Component that was made reactive: `, e)), rg(e, t, n, r, A, s, i, !0)
}

function JB(e) {
    return e ? Qu(e) || a1 in e ? An({}, e) : e : null
}

function iA(e, t, n = !1) {
    const {
        props: r,
        ref: A,
        patchFlag: i,
        children: s
    } = e, o = t ? Jt(r || {}, t) : r;
    return {
        __v_isVNode: !0,
        __v_skip: !0,
        type: e.type,
        props: o,
        key: o && XB(o),
        ref: t && t.ref ? n && A ? vt(A) ? A.concat(K0(t)) : [A, K0(t)] : K0(t) : A,
        scopeId: e.scopeId,
        slotScopeIds: e.slotScopeIds,
        children: i === -1 && vt(s) ? s.map(qB) : s,
        target: e.target,
        targetAnchor: e.targetAnchor,
        staticCount: e.staticCount,
        shapeFlag: e.shapeFlag,
        patchFlag: t && e.type !== an ? i === -1 ? 16 : i | 16 : i,
        dynamicProps: e.dynamicProps,
        dynamicChildren: e.dynamicChildren,
        appContext: e.appContext,
        dirs: e.dirs,
        transition: e.transition,
        component: e.component,
        suspense: e.suspense,
        ssContent: e.ssContent && iA(e.ssContent),
        ssFallback: e.ssFallback && iA(e.ssFallback),
        el: e.el,
        anchor: e.anchor,
        ctx: e.ctx,
        ce: e.ce
    }
}

function qB(e) {
    const t = iA(e);
    return vt(e.children) && (t.children = e.children.map(qB)), t
}

function l1(e = " ", t = 0) {
    return q(Si, null, e, t)
}

function _T(e, t) {
    const n = q(bs, null, e);
    return n.staticCount = t, n
}

function FT(e = "", t = !1) {
    return t ? (o1(), ng(mn, null, e)) : q(mn, null, e)
}

function yr(e) {
    return e == null || typeof e == "boolean" ? q(mn) : vt(e) ? q(an, null, e.slice()) : typeof e == "object" ? os(e) : q(Si, null, String(e))
}

function os(e) {
    return e.el === null && e.patchFlag !== -1 || e.memo ? e : iA(e)
}

function Ag(e, t) {
    let n = 0;
    const {
        shapeFlag: r
    } = e;
    if (t == null) t = null;
    else if (vt(t)) n = 16;
    else if (typeof t == "object")
        if (r & 65) {
            const A = t.default;
            A && (A._c && (A._d = !1), Ag(e, A()), A._c && (A._d = !0));
            return
        } else {
            n = 32;
            const A = t._;
            !A && !(a1 in t) ? t._ctx = vn : A === 3 && vn && (vn.slots._ === 1 ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024))
        }
    else gt(t) ? (t = {
        default: t,
        _ctx: vn
    }, n = 32) : (t = String(t), r & 64 ? (n = 16, t = [l1(t)]) : n = 8);
    e.children = t, e.shapeFlag |= n
}

function Jt(...e) {
    const t = {};
    for (let n = 0; n < e.length; n++) {
        const r = e[n];
        for (const A in r)
            if (A === "class") t.class !== r.class && (t.class = cc([t.class, r.class]));
            else if (A === "style") t.style = uc([t.style, r.style]);
        else if (ac(A)) {
            const i = t[A],
                s = r[A];
            s && i !== s && !(vt(i) && i.includes(s)) && (t[A] = i ? [].concat(i, s) : s)
        } else A !== "" && (t[A] = r[A])
    }
    return t
}

function Br(e, t, n, r = null) {
    Hr(e, t, 7, [n, r])
}
const ST = DB();
let TT = 0;

function ZB(e, t, n) {
    const r = e.type,
        A = (t ? t.appContext : e.appContext) || ST,
        i = {
            uid: TT++,
            vnode: e,
            type: r,
            parent: t,
            appContext: A,
            root: null,
            next: null,
            subTree: null,
            effect: null,
            update: null,
            scope: new Ip(!0),
            render: null,
            proxy: null,
            exposed: null,
            exposeProxy: null,
            withProxy: null,
            provides: t ? t.provides : Object.create(A.provides),
            accessCache: null,
            renderCache: [],
            components: null,
            directives: null,
            propsOptions: HB(r, A),
            emitsOptions: vB(r, A),
            emit: null,
            emitted: null,
            propsDefaults: jt,
            inheritAttrs: r.inheritAttrs,
            ctx: jt,
            data: jt,
            props: jt,
            attrs: jt,
            slots: jt,
            refs: jt,
            setupState: jt,
            setupContext: null,
            attrsProxy: null,
            slotsProxy: null,
            suspense: n,
            suspenseId: n ? n.pendingId : 0,
            asyncDep: null,
            asyncResolved: !1,
            isMounted: !1,
            isUnmounted: !1,
            isDeactivated: !1,
            bc: null,
            c: null,
            bm: null,
            m: null,
            bu: null,
            u: null,
            um: null,
            bum: null,
            da: null,
            a: null,
            rtg: null,
            rtc: null,
            ec: null,
            sp: null
        };
    return i.ctx = OS(i), i.root = t ? t.root : i, i.emit = AS.bind(null, i), e.ce && e.ce(i), i
}
let gn = null;
const $t = () => gn || vn;
let ig, na, ev = "__VUE_INSTANCE_SETTERS__";
(na = lf()[ev]) || (na = lf()[ev] = []), na.push(e => gn = e), ig = e => {
    na.length > 1 ? na.forEach(t => t(e)) : na[0](e)
};
const Qs = e => {
        ig(e), e.scope.on()
    },
    xs = () => {
        gn && gn.scope.off(), ig(null)
    },
    IT = oc("slot,component");

function j2(e, t) {
    const n = t.isNativeTag || AB;
    (IT(e) || n(e)) && Le("Do not use built-in or reserved HTML elements as component id: " + e)
}

function e9(e) {
    return e.vnode.shapeFlag & 4
}
let Ra = !1;

function t9(e, t = !1) {
    Ra = t;
    const {
        props: n,
        children: r
    } = e.vnode, A = e9(e);
    iT(e, n, A, t), hT(e, r);
    const i = A ? QT(e, t) : void 0;
    return Ra = !1, i
}

function QT(e, t) {
    var n;
    const r = e.type; {
        if (r.name && j2(r.name, e.appContext.config), r.components) {
            const i = Object.keys(r.components);
            for (let s = 0; s < i.length; s++) j2(i[s], e.appContext.config)
        }
        if (r.directives) {
            const i = Object.keys(r.directives);
            for (let s = 0; s < i.length; s++) CB(i[s])
        }
        r.compilerOptions && sg() && Le('"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')
    }
    e.accessCache = Object.create(null), e.proxy = kA(new Proxy(e.ctx, du)), DS(e);
    const {
        setup: A
    } = r;
    if (A) {
        const i = e.setupContext = A.length > 1 ? r9(e) : null;
        Qs(e), Ho();
        const s = RA(A, e, 0, [Ea(e.props), i]);
        if (Mo(), xs(), Zf(s)) {
            if (s.then(xs, xs), t) return s.then(o => {
                W2(e, o, t)
            }).catch(o => {
                Ro(o, e, 0)
            });
            if (e.asyncDep = s, !e.suspense) {
                const o = (n = r.name) != null ? n : "Anonymous";
                Le(`Component <${o}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`)
            }
        } else W2(e, s, t)
    } else n9(e, t)
}

function W2(e, t, n) {
    gt(t) ? e.type.__ssrInlineRender ? e.ssrRender = t : e.render = t : Xt(t) ? (KA(t) && Le("setup() should not return VNodes directly - return a render function instead."), e.devtoolsRawSetupState = t, e.setupState = Lp(t), LS(e)) : t !== void 0 && Le(`setup() should return an object. Received: ${t===null?"null":typeof t}`), n9(e, n)
}
let pu, z2;

function UT(e) {
    pu = e, z2 = t => {
        t.render._rc && (t.withProxy = new Proxy(t.ctx, PS))
    }
}
const sg = () => !pu;

function n9(e, t, n) {
    const r = e.type;
    if (!e.render) {
        if (!t && pu && !r.render) {
            const A = r.template || eg(e).template;
            if (A) {
                ci(e, "compile");
                const {
                    isCustomElement: i,
                    compilerOptions: s
                } = e.appContext.config, {
                    delimiters: o,
                    compilerOptions: a
                } = r, l = An(An({
                    isCustomElement: i,
                    delimiters: o
                }, s), a);
                r.render = pu(A, l), fi(e, "compile")
            }
        }
        e.render = r.render || br, z2 && z2(e)
    }
    Qs(e), Ho(), qS(e), Mo(), xs(), !r.render && e.render === br && !t && (!pu && r.template ? Le('Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".') : Le("Component is missing template or render function."))
}

function PT(e) {
    return e.attrsProxy || (e.attrsProxy = new Proxy(e.attrs, {
        get(t, n) {
            return cf(), nr(e, "get", "$attrs"), t[n]
        },
        set() {
            return Le("setupContext.attrs is readonly."), !1
        },
        deleteProperty() {
            return Le("setupContext.attrs is readonly."), !1
        }
    }))
}

function OT(e) {
    return e.slotsProxy || (e.slotsProxy = new Proxy(e.slots, {
        get(t, n) {
            return nr(e, "get", "$slots"), t[n]
        }
    }))
}

function r9(e) {
    return Object.freeze({
        get attrs() {
            return PT(e)
        },
        get slots() {
            return OT(e)
        },
        get emit() {
            return (n, ...r) => e.emit(n, ...r)
        },
        expose: n => {
            if (e.exposed && Le("expose() should be called only once per setup()."), n != null) {
                let r = typeof n;
                r === "object" && (vt(n) ? r = "array" : Mt(n) && (r = "ref")), r !== "object" && Le(`expose() should be passed a plain object, received ${r}.`)
            }
            e.exposed = n || {}
        }
    })
}

function u1(e) {
    if (e.exposed) return e.exposeProxy || (e.exposeProxy = new Proxy(Lp(kA(e.exposed)), {
        get(t, n) {
            if (n in t) return t[n];
            if (n in yo) return yo[n](e)
        },
        has(t, n) {
            return n in t || n in yo
        }
    }))
}
const DT = /(?:^|[-_])(\w)/g,
    LT = e => e.replace(DT, t => t.toUpperCase()).replace(/[-_]/g, "");

function Mu(e, t = !0) {
    return gt(e) ? e.displayName || e.name : e.name || t && e.__name
}

function c1(e, t, n = !1) {
    let r = Mu(t);
    if (!r && t.__file) {
        const A = t.__file.match(/([^/\\]+)\.\w+$/);
        A && (r = A[1])
    }
    if (!r && e && e.parent) {
        const A = i => {
            for (const s in i)
                if (i[s] === t) return s
        };
        r = A(e.components || e.parent.type.components) || A(e.appContext.components)
    }
    return r ? LT(r) : n ? "App" : "Anonymous"
}

function A9(e) {
    return gt(e) && "__vccOpts" in e
}
const De = (e, t) => wF(e, t, Ra);

function Rn(e, t, n) {
    const r = arguments.length;
    return r === 2 ? Xt(t) && !vt(t) ? KA(t) ? q(e, null, [t]) : q(e, t) : q(e, null, t) : (r > 3 ? n = Array.prototype.slice.call(arguments, 2) : r === 3 && KA(n) && (n = [n]), q(e, t, n))
}
const i9 = Symbol.for("v-scx"),
    s9 = () => {
        {
            const e = En(i9);
            return e || Le("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."), e
        }
    };

function Id(e) {
    return !!(e && e.__v_isShallow)
}

function o9() {
    if (typeof window > "u") return;
    const e = {
            style: "color:#3ba776"
        },
        t = {
            style: "color:#0b1bc9"
        },
        n = {
            style: "color:#b62e24"
        },
        r = {
            style: "color:#9d288c"
        },
        A = {
            header(f) {
                return Xt(f) ? f.__isVue ? ["div", e, "VueInstance"] : Mt(f) ? ["div", {},
                    ["span", e, u(f)], "<", o(f.value), ">"
                ] : mA(f) ? ["div", {},
                    ["span", e, Id(f) ? "ShallowReactive" : "Reactive"], "<", o(f), `>${Fi(f)?" (readonly)":""}`
                ] : Fi(f) ? ["div", {},
                    ["span", e, Id(f) ? "ShallowReadonly" : "Readonly"], "<", o(f), ">"
                ] : null : null
            },
            hasBody(f) {
                return f && f.__isVue
            },
            body(f) {
                if (f && f.__isVue) return ["div", {}, ...i(f.$)]
            }
        };

    function i(f) {
        const d = [];
        f.type.props && f.props && d.push(s("props", ht(f.props))), f.setupState !== jt && d.push(s("setup", f.setupState)), f.data !== jt && d.push(s("data", ht(f.data)));
        const p = a(f, "computed");
        p && d.push(s("computed", p));
        const v = a(f, "inject");
        return v && d.push(s("injected", v)), d.push(["div", {},
            ["span", {
                style: r.style + ";opacity:0.66"
            }, "$ (internal): "],
            ["object", {
                object: f
            }]
        ]), d
    }

    function s(f, d) {
        return d = An({}, d), Object.keys(d).length ? ["div", {
                style: "line-height:1.25em;margin-bottom:0.6em"
            },
            ["div", {
                style: "color:#476582"
            }, f],
            ["div", {
                style: "padding-left:1.25em"
            }, ...Object.keys(d).map(p => ["div", {},
                ["span", r, p + ": "], o(d[p], !1)
            ])]
        ] : ["span", {}]
    }

    function o(f, d = !0) {
        return typeof f == "number" ? ["span", t, f] : typeof f == "string" ? ["span", n, JSON.stringify(f)] : typeof f == "boolean" ? ["span", r, f] : Xt(f) ? ["object", {
            object: d ? ht(f) : f
        }] : ["span", n, String(f)]
    }

    function a(f, d) {
        const p = f.type;
        if (gt(p)) return;
        const v = {};
        for (const B in f.ctx) l(p, B, d) && (v[B] = f.ctx[B]);
        return v
    }

    function l(f, d, p) {
        const v = f[p];
        if (vt(v) && v.includes(d) || Xt(v) && d in v || f.extends && l(f.extends, d, p) || f.mixins && f.mixins.some(B => l(B, d, p))) return !0
    }

    function u(f) {
        return Id(f) ? "ShallowRef" : f.effect ? "ComputedRef" : "Ref"
    }
    window.devtoolsFormatters ? window.devtoolsFormatters.push(A) : window.devtoolsFormatters = [A]
}

function kT(e, t, n, r) {
    const A = n[r];
    if (A && a9(A, e)) return A;
    const i = t();
    return i.memo = e.slice(), n[r] = i
}

function a9(e, t) {
    const n = e.memo;
    if (n.length != t.length) return !1;
    for (let r = 0; r < n.length; r++)
        if (U2(n[r], t[r])) return !1;
    return To > 0 && xr && xr.push(e), !0
}
const Y2 = "3.3.4",
    HT = {
        createComponentInstance: ZB,
        setupComponent: t9,
        renderComponentRoot: $0,
        setCurrentRenderingInstance: Du,
        isVNode: KA,
        normalizeVNode: yr
    },
    MT = HT,
    RT = null,
    NT = null;

function og(e, t) {
    const n = Object.create(null),
        r = e.split(",");
    for (let A = 0; A < r.length; A++) n[r[A]] = !0;
    return t ? A => !!n[A.toLowerCase()] : A => !!n[A]
}
const Qd = Object.freeze({}),
    $T = /^on[^a-z]/,
    KT = e => $T.test(e),
    VT = e => e.startsWith("onUpdate:"),
    gc = Object.assign,
    Fr = Array.isArray,
    vc = e => u9(e) === "[object Set]",
    tv = e => u9(e) === "[object Date]",
    l9 = e => typeof e == "function",
    Ru = e => typeof e == "string",
    nv = e => typeof e == "symbol",
    X2 = e => e !== null && typeof e == "object",
    GT = Object.prototype.toString,
    u9 = e => GT.call(e),
    ag = e => {
        const t = Object.create(null);
        return n => t[n] || (t[n] = e(n))
    },
    jT = /-(\w)/g,
    Ud = ag(e => e.replace(jT, (t, n) => n ? n.toUpperCase() : "")),
    WT = /\B([A-Z])/g,
    cs = ag(e => e.replace(WT, "-$1").toLowerCase()),
    zT = ag(e => e.charAt(0).toUpperCase() + e.slice(1)),
    YT = (e, t) => {
        for (let n = 0; n < e.length; n++) e[n](t)
    },
    J2 = e => {
        const t = parseFloat(e);
        return isNaN(t) ? e : t
    },
    q2 = e => {
        const t = Ru(e) ? Number(e) : NaN;
        return isNaN(t) ? e : t
    },
    XT = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",
    JT = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",
    qT = og(XT),
    ZT = og(JT),
    eI = "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",
    tI = og(eI);

function c9(e) {
    return !!e || e === ""
}

function nI(e, t) {
    if (e.length !== t.length) return !1;
    let n = !0;
    for (let r = 0; n && r < e.length; r++) n = Us(e[r], t[r]);
    return n
}

function Us(e, t) {
    if (e === t) return !0;
    let n = tv(e),
        r = tv(t);
    if (n || r) return n && r ? e.getTime() === t.getTime() : !1;
    if (n = nv(e), r = nv(t), n || r) return e === t;
    if (n = Fr(e), r = Fr(t), n || r) return n && r ? nI(e, t) : !1;
    if (n = X2(e), r = X2(t), n || r) {
        if (!n || !r) return !1;
        const A = Object.keys(e).length,
            i = Object.keys(t).length;
        if (A !== i) return !1;
        for (const s in e) {
            const o = e.hasOwnProperty(s),
                a = t.hasOwnProperty(s);
            if (o && !a || !o && a || !Us(e[s], t[s])) return !1
        }
    }
    return String(e) === String(t)
}

function f1(e, t) {
    return e.findIndex(n => Us(n, t))
}
const rI = "http://www.w3.org/2000/svg",
    lo = typeof document < "u" ? document : null,
    rv = lo && lo.createElement("template"),
    AI = {
        insert: (e, t, n) => {
            t.insertBefore(e, n || null)
        },
        remove: e => {
            const t = e.parentNode;
            t && t.removeChild(e)
        },
        createElement: (e, t, n, r) => {
            const A = t ? lo.createElementNS(rI, e) : lo.createElement(e, n ? {
                is: n
            } : void 0);
            return e === "select" && r && r.multiple != null && A.setAttribute("multiple", r.multiple), A
        },
        createText: e => lo.createTextNode(e),
        createComment: e => lo.createComment(e),
        setText: (e, t) => {
            e.nodeValue = t
        },
        setElementText: (e, t) => {
            e.textContent = t
        },
        parentNode: e => e.parentNode,
        nextSibling: e => e.nextSibling,
        querySelector: e => lo.querySelector(e),
        setScopeId(e, t) {
            e.setAttribute(t, "")
        },
        insertStaticContent(e, t, n, r, A, i) {
            const s = n ? n.previousSibling : t.lastChild;
            if (A && (A === i || A.nextSibling))
                for (; t.insertBefore(A.cloneNode(!0), n), !(A === i || !(A = A.nextSibling)););
            else {
                rv.innerHTML = r ? `<svg>${e}</svg>` : e;
                const o = rv.content;
                if (r) {
                    const a = o.firstChild;
                    for (; a.firstChild;) o.appendChild(a.firstChild);
                    o.removeChild(a)
                }
                t.insertBefore(o, n)
            }
            return [s ? s.nextSibling : t.firstChild, n ? n.previousSibling : t.lastChild]
        }
    };

function iI(e, t, n) {
    const r = e._vtc;
    r && (t = (t ? [t, ...r] : [...r]).join(" ")), t == null ? e.removeAttribute("class") : n ? e.setAttribute("class", t) : e.className = t
}

function sI(e, t, n) {
    const r = e.style,
        A = Ru(n);
    if (n && !A) {
        if (t && !Ru(t))
            for (const i in t) n[i] == null && Z2(r, i, "");
        for (const i in n) Z2(r, i, n[i])
    } else {
        const i = r.display;
        A ? t !== n && (r.cssText = n) : t && e.removeAttribute("style"), "_vod" in e && (r.display = i)
    }
}
const oI = /[^\\];\s*$/,
    Av = /\s*!important$/;

function Z2(e, t, n) {
    if (Fr(n)) n.forEach(r => Z2(e, t, r));
    else if (n == null && (n = ""), oI.test(n) && Le(`Unexpected semicolon at the end of '${t}' style value: '${n}'`), t.startsWith("--")) e.setProperty(t, n);
    else {
        const r = aI(e, t);
        Av.test(n) ? e.setProperty(cs(r), n.replace(Av, ""), "important") : e[r] = n
    }
}
const iv = ["Webkit", "Moz", "ms"],
    Pd = {};

function aI(e, t) {
    const n = Pd[t];
    if (n) return n;
    let r = yA(t);
    if (r !== "filter" && r in e) return Pd[t] = r;
    r = zT(r);
    for (let A = 0; A < iv.length; A++) {
        const i = iv[A] + r;
        if (i in e) return Pd[t] = i
    }
    return t
}
const sv = "http://www.w3.org/1999/xlink";

function lI(e, t, n, r, A) {
    if (r && t.startsWith("xlink:")) n == null ? e.removeAttributeNS(sv, t.slice(6, t.length)) : e.setAttributeNS(sv, t, n);
    else {
        const i = tI(t);
        n == null || i && !c9(n) ? e.removeAttribute(t) : e.setAttribute(t, i ? "" : n)
    }
}

function uI(e, t, n, r, A, i, s) {
    if (t === "innerHTML" || t === "textContent") {
        r && s(r, A, i), e[t] = n ? ? "";
        return
    }
    const o = e.tagName;
    if (t === "value" && o !== "PROGRESS" && !o.includes("-")) {
        e._value = n;
        const l = o === "OPTION" ? e.getAttribute("value") : e.value,
            u = n ? ? "";
        l !== u && (e.value = u), n == null && e.removeAttribute(t);
        return
    }
    let a = !1;
    if (n === "" || n == null) {
        const l = typeof e[t];
        l === "boolean" ? n = c9(n) : n == null && l === "string" ? (n = "", a = !0) : l === "number" && (n = 0, a = !0)
    }
    try {
        e[t] = n
    } catch (l) {
        a || Le(`Failed setting prop "${t}" on <${o.toLowerCase()}>: value ${n} is invalid.`, l)
    }
    a && e.removeAttribute(t)
}

function vi(e, t, n, r) {
    e.addEventListener(t, n, r)
}

function cI(e, t, n, r) {
    e.removeEventListener(t, n, r)
}

function fI(e, t, n, r, A = null) {
    const i = e._vei || (e._vei = {}),
        s = i[t];
    if (r && s) s.value = r;
    else {
        const [o, a] = dI(t);
        if (r) {
            const l = i[t] = gI(r, A);
            vi(e, o, l, a)
        } else s && (cI(e, o, s, a), i[t] = void 0)
    }
}
const ov = /(?:Once|Passive|Capture)$/;

function dI(e) {
    let t;
    if (ov.test(e)) {
        t = {};
        let r;
        for (; r = e.match(ov);) e = e.slice(0, e.length - r[0].length), t[r[0].toLowerCase()] = !0
    }
    return [e[2] === ":" ? e.slice(3) : cs(e.slice(2)), t]
}
let Od = 0;
const hI = Promise.resolve(),
    pI = () => Od || (hI.then(() => Od = 0), Od = Date.now());

function gI(e, t) {
    const n = r => {
        if (!r._vts) r._vts = Date.now();
        else if (r._vts <= n.attached) return;
        Hr(vI(r, n.value), t, 5, [r])
    };
    return n.value = e, n.attached = pI(), n
}

function vI(e, t) {
    if (Fr(t)) {
        const n = e.stopImmediatePropagation;
        return e.stopImmediatePropagation = () => {
            n.call(e), e._stopped = !0
        }, t.map(r => A => !A._stopped && r && r(A))
    } else return t
}
const av = /^on[a-z]/,
    mI = (e, t, n, r, A = !1, i, s, o, a) => {
        t === "class" ? iI(e, r, A) : t === "style" ? sI(e, n, r) : KT(t) ? VT(t) || fI(e, t, n, r, s) : (t[0] === "." ? (t = t.slice(1), !0) : t[0] === "^" ? (t = t.slice(1), !1) : BI(e, t, r, A)) ? uI(e, t, r, i, s, o, a) : (t === "true-value" ? e._trueValue = r : t === "false-value" && (e._falseValue = r), lI(e, t, r, A))
    };

function BI(e, t, n, r) {
    return r ? !!(t === "innerHTML" || t === "textContent" || t in e && av.test(t) && l9(n)) : t === "spellcheck" || t === "draggable" || t === "translate" || t === "form" || t === "list" && e.tagName === "INPUT" || t === "type" && e.tagName === "TEXTAREA" || av.test(t) && Ru(n) ? !1 : t in e
}

function f9(e, t) {
    const n = nt(e);
    class r extends d1 {
        constructor(i) {
            super(n, i, t)
        }
    }
    return r.def = n, r
}
const wI = e => f9(e, S9),
    yI = typeof HTMLElement < "u" ? HTMLElement : class {};
class d1 extends yI {
    constructor(t, n = {}, r) {
        super(), this._def = t, this._props = n, this._instance = null, this._connected = !1, this._resolved = !1, this._numberProps = null, this.shadowRoot && r ? r(this._createVNode(), this.shadowRoot) : (this.shadowRoot && Le("Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use `defineSSRCustomElement`."), this.attachShadow({
            mode: "open"
        }), this._def.__asyncLoader || this._resolveProps(this._def))
    }
    connectedCallback() {
        this._connected = !0, this._instance || (this._resolved ? this._update() : this._resolveDef())
    }
    disconnectedCallback() {
        this._connected = !1, bt(() => {
            this._connected || (n6(null, this.shadowRoot), this._instance = null)
        })
    }
    _resolveDef() {
        this._resolved = !0;
        for (let r = 0; r < this.attributes.length; r++) this._setAttr(this.attributes[r].name);
        new MutationObserver(r => {
            for (const A of r) this._setAttr(A.attributeName)
        }).observe(this, {
            attributes: !0
        });
        const t = (r, A = !1) => {
                const {
                    props: i,
                    styles: s
                } = r;
                let o;
                if (i && !Fr(i))
                    for (const a in i) {
                        const l = i[a];
                        (l === Number || l && l.type === Number) && (a in this._props && (this._props[a] = q2(this._props[a])), (o || (o = Object.create(null)))[Ud(a)] = !0)
                    }
                this._numberProps = o, A && this._resolveProps(r), this._applyStyles(s), this._update()
            },
            n = this._def.__asyncLoader;
        n ? n().then(r => t(r, !0)) : t(this._def)
    }
    _resolveProps(t) {
        const {
            props: n
        } = t, r = Fr(n) ? n : Object.keys(n || {});
        for (const A of Object.keys(this)) A[0] !== "_" && r.includes(A) && this._setProp(A, this[A], !0, !1);
        for (const A of r.map(Ud)) Object.defineProperty(this, A, {
            get() {
                return this._getProp(A)
            },
            set(i) {
                this._setProp(A, i)
            }
        })
    }
    _setAttr(t) {
        let n = this.getAttribute(t);
        const r = Ud(t);
        this._numberProps && this._numberProps[r] && (n = q2(n)), this._setProp(r, n, !1)
    }
    _getProp(t) {
        return this._props[t]
    }
    _setProp(t, n, r = !0, A = !0) {
        n !== this._props[t] && (this._props[t] = n, A && this._instance && this._update(), r && (n === !0 ? this.setAttribute(cs(t), "") : typeof n == "string" || typeof n == "number" ? this.setAttribute(cs(t), n + "") : n || this.removeAttribute(cs(t))))
    }
    _update() {
        n6(this._createVNode(), this.shadowRoot)
    }
    _createVNode() {
        const t = q(this._def, gc({}, this._props));
        return this._instance || (t.ce = n => {
            this._instance = n, n.isCE = !0, n.ceReload = i => {
                this._styles && (this._styles.forEach(s => this.shadowRoot.removeChild(s)), this._styles.length = 0), this._applyStyles(i), this._instance = null, this._update()
            };
            const r = (i, s) => {
                this.dispatchEvent(new CustomEvent(i, {
                    detail: s
                }))
            };
            n.emit = (i, ...s) => {
                r(i, s), cs(i) !== i && r(cs(i), s)
            };
            let A = this;
            for (; A = A && (A.parentNode || A.host);)
                if (A instanceof d1) {
                    n.parent = A._instance, n.provides = A._instance.provides;
                    break
                }
        }), t
    }
    _applyStyles(t) {
        t && t.forEach(n => {
            const r = document.createElement("style");
            r.textContent = n, this.shadowRoot.appendChild(r), (this._styles || (this._styles = [])).push(r)
        })
    }
}

function CI(e = "$style") {
    {
        const t = $t();
        if (!t) return Le("useCssModule must be called inside setup()"), Qd;
        const n = t.type.__cssModules;
        if (!n) return Le("Current instance does not have CSS modules injected."), Qd;
        const r = n[e];
        return r || (Le(`Current instance does not have CSS module named "${e}".`), Qd)
    }
}

function EI(e) {
    const t = $t();
    if (!t) {
        Le("useCssVars is called without current active component instance.");
        return
    }
    const n = t.ut = (A = e(t.proxy)) => {
            Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i => t6(i, A))
        },
        r = () => {
            const A = e(t.proxy);
            e6(t.subTree, A), n(A)
        };
    wB(r), sn(() => {
        const A = new MutationObserver(r);
        A.observe(t.subTree.el.parentNode, {
            childList: !0
        }), Li(() => A.disconnect())
    })
}

function e6(e, t) {
    if (e.shapeFlag & 128) {
        const n = e.suspense;
        e = n.activeBranch, n.pendingBranch && !n.isHydrating && n.effects.push(() => {
            e6(n.activeBranch, t)
        })
    }
    for (; e.component;) e = e.component.subTree;
    if (e.shapeFlag & 1 && e.el) t6(e.el, t);
    else if (e.type === an) e.children.forEach(n => e6(n, t));
    else if (e.type === bs) {
        let {
            el: n,
            anchor: r
        } = e;
        for (; n && (t6(n, t), n !== r);) n = n.nextSibling
    }
}

function t6(e, t) {
    if (e.nodeType === 1) {
        const n = e.style;
        for (const r in t) n.setProperty(`--${r}`, t[r])
    }
}
const Ji = "transition",
    Ul = "animation",
    mc = (e, {
        slots: t
    }) => Rn(EB, h9(e), t);
mc.displayName = "Transition";
const d9 = {
        name: String,
        type: String,
        css: {
            type: Boolean,
            default: !0
        },
        duration: [String, Number, Object],
        enterFromClass: String,
        enterActiveClass: String,
        enterToClass: String,
        appearFromClass: String,
        appearActiveClass: String,
        appearToClass: String,
        leaveFromClass: String,
        leaveActiveClass: String,
        leaveToClass: String
    },
    bI = mc.props = gc({}, Xp, d9),
    eo = (e, t = []) => {
        Fr(e) ? e.forEach(n => n(...t)) : e && e(...t)
    },
    lv = e => e ? Fr(e) ? e.some(t => t.length > 1) : e.length > 1 : !1;

function h9(e) {
    const t = {};
    for (const D in e) D in d9 || (t[D] = e[D]);
    if (e.css === !1) return t;
    const {
        name: n = "v",
        type: r,
        duration: A,
        enterFromClass: i = `${n}-enter-from`,
        enterActiveClass: s = `${n}-enter-active`,
        enterToClass: o = `${n}-enter-to`,
        appearFromClass: a = i,
        appearActiveClass: l = s,
        appearToClass: u = o,
        leaveFromClass: f = `${n}-leave-from`,
        leaveActiveClass: d = `${n}-leave-active`,
        leaveToClass: p = `${n}-leave-to`
    } = e, v = xI(A), B = v && v[0], C = v && v[1], {
        onBeforeEnter: w,
        onEnter: m,
        onEnterCancelled: E,
        onLeave: y,
        onLeaveCancelled: x,
        onBeforeAppear: F = w,
        onAppear: Q = m,
        onAppearCancelled: P = E
    } = t, L = (D, N, X) => {
        rs(D, N ? u : o), rs(D, N ? l : s), X && X()
    }, I = (D, N) => {
        D._isLeaving = !1, rs(D, f), rs(D, p), rs(D, d), N && N()
    }, _ = D => (N, X) => {
        const se = D ? Q : m,
            Z = () => L(N, D, X);
        eo(se, [N, Z]), uv(() => {
            rs(N, D ? a : i), di(N, D ? u : o), lv(se) || cv(N, r, B, Z)
        })
    };
    return gc(t, {
        onBeforeEnter(D) {
            eo(w, [D]), di(D, i), di(D, s)
        },
        onBeforeAppear(D) {
            eo(F, [D]), di(D, a), di(D, l)
        },
        onEnter: _(!1),
        onAppear: _(!0),
        onLeave(D, N) {
            D._isLeaving = !0;
            const X = () => I(D, N);
            di(D, f), g9(), di(D, d), uv(() => {
                D._isLeaving && (rs(D, f), di(D, p), lv(y) || cv(D, r, C, X))
            }), eo(y, [D, X])
        },
        onEnterCancelled(D) {
            L(D, !1), eo(E, [D])
        },
        onAppearCancelled(D) {
            L(D, !0), eo(P, [D])
        },
        onLeaveCancelled(D) {
            I(D), eo(x, [D])
        }
    })
}

function xI(e) {
    if (e == null) return null;
    if (X2(e)) return [Dd(e.enter), Dd(e.leave)]; {
        const t = Dd(e);
        return [t, t]
    }
}

function Dd(e) {
    const t = q2(e);
    return Mp(t, "<transition> explicit duration"), t
}

function di(e, t) {
    t.split(/\s+/).forEach(n => n && e.classList.add(n)), (e._vtc || (e._vtc = new Set)).add(t)
}

function rs(e, t) {
    t.split(/\s+/).forEach(r => r && e.classList.remove(r));
    const {
        _vtc: n
    } = e;
    n && (n.delete(t), n.size || (e._vtc = void 0))
}

function uv(e) {
    requestAnimationFrame(() => {
        requestAnimationFrame(e)
    })
}
let _I = 0;

function cv(e, t, n, r) {
    const A = e._endId = ++_I,
        i = () => {
            A === e._endId && r()
        };
    if (n) return setTimeout(i, n);
    const {
        type: s,
        timeout: o,
        propCount: a
    } = p9(e, t);
    if (!s) return r();
    const l = s + "end";
    let u = 0;
    const f = () => {
            e.removeEventListener(l, d), i()
        },
        d = p => {
            p.target === e && ++u >= a && f()
        };
    setTimeout(() => {
        u < a && f()
    }, o + 1), e.addEventListener(l, d)
}

function p9(e, t) {
    const n = window.getComputedStyle(e),
        r = v => (n[v] || "").split(", "),
        A = r(`${Ji}Delay`),
        i = r(`${Ji}Duration`),
        s = fv(A, i),
        o = r(`${Ul}Delay`),
        a = r(`${Ul}Duration`),
        l = fv(o, a);
    let u = null,
        f = 0,
        d = 0;
    t === Ji ? s > 0 && (u = Ji, f = s, d = i.length) : t === Ul ? l > 0 && (u = Ul, f = l, d = a.length) : (f = Math.max(s, l), u = f > 0 ? s > l ? Ji : Ul : null, d = u ? u === Ji ? i.length : a.length : 0);
    const p = u === Ji && /\b(transform|all)(,|$)/.test(r(`${Ji}Property`).toString());
    return {
        type: u,
        timeout: f,
        propCount: d,
        hasTransform: p
    }
}

function fv(e, t) {
    for (; e.length < t.length;) e = e.concat(e);
    return Math.max(...t.map((n, r) => dv(n) + dv(e[r])))
}

function dv(e) {
    return Number(e.slice(0, -1).replace(",", ".")) * 1e3
}

function g9() {
    return document.body.offsetHeight
}
const v9 = new WeakMap,
    m9 = new WeakMap,
    B9 = {
        name: "TransitionGroup",
        props: gc({}, bI, {
            tag: String,
            moveClass: String
        }),
        setup(e, {
            slots: t
        }) {
            const n = $t(),
                r = Yp();
            let A, i;
            return No(() => {
                if (!A.length) return;
                const s = e.moveClass || `${e.name||"v"}-move`;
                if (!UI(A[0].el, n.vnode.el, s)) return;
                A.forEach(TI), A.forEach(II);
                const o = A.filter(QI);
                g9(), o.forEach(a => {
                    const l = a.el,
                        u = l.style;
                    di(l, s), u.transform = u.webkitTransform = u.transitionDuration = "";
                    const f = l._moveCb = d => {
                        d && d.target !== l || (!d || /transform$/.test(d.propertyName)) && (l.removeEventListener("transitionend", f), l._moveCb = null, rs(l, s))
                    };
                    l.addEventListener("transitionend", f)
                })
            }), () => {
                const s = ht(e),
                    o = h9(s);
                let a = s.tag || an;
                A = i, i = t.default ? A1(t.default()) : [];
                for (let l = 0; l < i.length; l++) {
                    const u = i[l];
                    u.key != null ? So(u, Ma(u, o, r, n)) : Le("<TransitionGroup> children must be keyed.")
                }
                if (A)
                    for (let l = 0; l < A.length; l++) {
                        const u = A[l];
                        So(u, Ma(u, o, r, n)), v9.set(u, u.el.getBoundingClientRect())
                    }
                return q(a, null, i)
            }
        }
    },
    FI = e => delete e.mode;
B9.props;
const SI = B9;

function TI(e) {
    const t = e.el;
    t._moveCb && t._moveCb(), t._enterCb && t._enterCb()
}

function II(e) {
    m9.set(e, e.el.getBoundingClientRect())
}

function QI(e) {
    const t = v9.get(e),
        n = m9.get(e),
        r = t.left - n.left,
        A = t.top - n.top;
    if (r || A) {
        const i = e.el.style;
        return i.transform = i.webkitTransform = `translate(${r}px,${A}px)`, i.transitionDuration = "0s", e
    }
}

function UI(e, t, n) {
    const r = e.cloneNode();
    e._vtc && e._vtc.forEach(s => {
        s.split(/\s+/).forEach(o => o && r.classList.remove(o))
    }), n.split(/\s+/).forEach(s => s && r.classList.add(s)), r.style.display = "none";
    const A = t.nodeType === 1 ? t : t.parentNode;
    A.appendChild(r);
    const {
        hasTransform: i
    } = p9(r);
    return A.removeChild(r), i
}
const Ps = e => {
    const t = e.props["onUpdate:modelValue"] || !1;
    return Fr(t) ? n => YT(t, n) : t
};

function PI(e) {
    e.target.composing = !0
}

function hv(e) {
    const t = e.target;
    t.composing && (t.composing = !1, t.dispatchEvent(new Event("input")))
}
const vf = {
        created(e, {
            modifiers: {
                lazy: t,
                trim: n,
                number: r
            }
        }, A) {
            e._assign = Ps(A);
            const i = r || A.props && A.props.type === "number";
            vi(e, t ? "change" : "input", s => {
                if (s.target.composing) return;
                let o = e.value;
                n && (o = o.trim()), i && (o = J2(o)), e._assign(o)
            }), n && vi(e, "change", () => {
                e.value = e.value.trim()
            }), t || (vi(e, "compositionstart", PI), vi(e, "compositionend", hv), vi(e, "change", hv))
        },
        mounted(e, {
            value: t
        }) {
            e.value = t ? ? ""
        },
        beforeUpdate(e, {
            value: t,
            modifiers: {
                lazy: n,
                trim: r,
                number: A
            }
        }, i) {
            if (e._assign = Ps(i), e.composing || document.activeElement === e && e.type !== "range" && (n || r && e.value.trim() === t || (A || e.type === "number") && J2(e.value) === t)) return;
            const s = t ? ? "";
            e.value !== s && (e.value = s)
        }
    },
    lg = {
        deep: !0,
        created(e, t, n) {
            e._assign = Ps(n), vi(e, "change", () => {
                const r = e._modelValue,
                    A = Na(e),
                    i = e.checked,
                    s = e._assign;
                if (Fr(r)) {
                    const o = f1(r, A),
                        a = o !== -1;
                    if (i && !a) s(r.concat(A));
                    else if (!i && a) {
                        const l = [...r];
                        l.splice(o, 1), s(l)
                    }
                } else if (vc(r)) {
                    const o = new Set(r);
                    i ? o.add(A) : o.delete(A), s(o)
                } else s(y9(e, i))
            })
        },
        mounted: pv,
        beforeUpdate(e, t, n) {
            e._assign = Ps(n), pv(e, t, n)
        }
    };

function pv(e, {
    value: t,
    oldValue: n
}, r) {
    e._modelValue = t, Fr(t) ? e.checked = f1(t, r.props.value) > -1 : vc(t) ? e.checked = t.has(r.props.value) : t !== n && (e.checked = Us(t, y9(e, !0)))
}
const ug = {
        created(e, {
            value: t
        }, n) {
            e.checked = Us(t, n.props.value), e._assign = Ps(n), vi(e, "change", () => {
                e._assign(Na(e))
            })
        },
        beforeUpdate(e, {
            value: t,
            oldValue: n
        }, r) {
            e._assign = Ps(r), t !== n && (e.checked = Us(t, r.props.value))
        }
    },
    w9 = {
        deep: !0,
        created(e, {
            value: t,
            modifiers: {
                number: n
            }
        }, r) {
            const A = vc(t);
            vi(e, "change", () => {
                const i = Array.prototype.filter.call(e.options, s => s.selected).map(s => n ? J2(Na(s)) : Na(s));
                e._assign(e.multiple ? A ? new Set(i) : i : i[0])
            }), e._assign = Ps(r)
        },
        mounted(e, {
            value: t
        }) {
            gv(e, t)
        },
        beforeUpdate(e, t, n) {
            e._assign = Ps(n)
        },
        updated(e, {
            value: t
        }) {
            gv(e, t)
        }
    };

function gv(e, t) {
    const n = e.multiple;
    if (n && !Fr(t) && !vc(t)) {
        Le(`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(t).slice(8,-1)}.`);
        return
    }
    for (let r = 0, A = e.options.length; r < A; r++) {
        const i = e.options[r],
            s = Na(i);
        if (n) Fr(t) ? i.selected = f1(t, s) > -1 : i.selected = t.has(s);
        else if (Us(Na(i), t)) {
            e.selectedIndex !== r && (e.selectedIndex = r);
            return
        }
    }!n && e.selectedIndex !== -1 && (e.selectedIndex = -1)
}

function Na(e) {
    return "_value" in e ? e._value : e.value
}

function y9(e, t) {
    const n = t ? "_trueValue" : "_falseValue";
    return n in e ? e[n] : t
}
const C9 = {
    created(e, t, n) {
        Xc(e, t, n, null, "created")
    },
    mounted(e, t, n) {
        Xc(e, t, n, null, "mounted")
    },
    beforeUpdate(e, t, n, r) {
        Xc(e, t, n, r, "beforeUpdate")
    },
    updated(e, t, n, r) {
        Xc(e, t, n, r, "updated")
    }
};

function E9(e, t) {
    switch (e) {
        case "SELECT":
            return w9;
        case "TEXTAREA":
            return vf;
        default:
            switch (t) {
                case "checkbox":
                    return lg;
                case "radio":
                    return ug;
                default:
                    return vf
            }
    }
}

function Xc(e, t, n, r, A) {
    const s = E9(e.tagName, n.props && n.props.type)[A];
    s && s(e, t, n, r)
}

function OI() {
    vf.getSSRProps = ({
        value: e
    }) => ({
        value: e
    }), ug.getSSRProps = ({
        value: e
    }, t) => {
        if (t.props && Us(t.props.value, e)) return {
            checked: !0
        }
    }, lg.getSSRProps = ({
        value: e
    }, t) => {
        if (Fr(e)) {
            if (t.props && f1(e, t.props.value) > -1) return {
                checked: !0
            }
        } else if (vc(e)) {
            if (t.props && e.has(t.props.value)) return {
                checked: !0
            }
        } else if (e) return {
            checked: !0
        }
    }, C9.getSSRProps = (e, t) => {
        if (typeof t.type != "string") return;
        const n = E9(t.type.toUpperCase(), t.props && t.props.type);
        if (n.getSSRProps) return n.getSSRProps(e, t)
    }
}
const DI = ["ctrl", "shift", "alt", "meta"],
    LI = {
        stop: e => e.stopPropagation(),
        prevent: e => e.preventDefault(),
        self: e => e.target !== e.currentTarget,
        ctrl: e => !e.ctrlKey,
        shift: e => !e.shiftKey,
        alt: e => !e.altKey,
        meta: e => !e.metaKey,
        left: e => "button" in e && e.button !== 0,
        middle: e => "button" in e && e.button !== 1,
        right: e => "button" in e && e.button !== 2,
        exact: (e, t) => DI.some(n => e[`${n}Key`] && !t.includes(n))
    },
    kI = (e, t) => (n, ...r) => {
        for (let A = 0; A < t.length; A++) {
            const i = LI[t[A]];
            if (i && i(n, t)) return
        }
        return e(n, ...r)
    },
    HI = {
        esc: "escape",
        space: " ",
        up: "arrow-up",
        left: "arrow-left",
        right: "arrow-right",
        down: "arrow-down",
        delete: "backspace"
    },
    b9 = (e, t) => n => {
        if (!("key" in n)) return;
        const r = cs(n.key);
        if (t.some(A => A === r || HI[A] === r)) return e(n)
    },
    Os = {
        beforeMount(e, {
            value: t
        }, {
            transition: n
        }) {
            e._vod = e.style.display === "none" ? "" : e.style.display, n && t ? n.beforeEnter(e) : Pl(e, t)
        },
        mounted(e, {
            value: t
        }, {
            transition: n
        }) {
            n && t && n.enter(e)
        },
        updated(e, {
            value: t,
            oldValue: n
        }, {
            transition: r
        }) {
            !t != !n && (r ? t ? (r.beforeEnter(e), Pl(e, !0), r.enter(e)) : r.leave(e, () => {
                Pl(e, !1)
            }) : Pl(e, t))
        },
        beforeUnmount(e, {
            value: t
        }) {
            Pl(e, t)
        }
    };

function Pl(e, t) {
    e.style.display = t ? e._vod : "none"
}

function MI() {
    Os.getSSRProps = ({
        value: e
    }) => {
        if (!e) return {
            style: {
                display: "none"
            }
        }
    }
}
const x9 = gc({
    patchProp: mI
}, AI);
let gu, vv = !1;

function _9() {
    return gu || (gu = KB(x9))
}

function F9() {
    return gu = vv ? gu : VB(x9), vv = !0, gu
}
const n6 = (...e) => {
        _9().render(...e)
    },
    S9 = (...e) => {
        F9().hydrate(...e)
    },
    T9 = (...e) => {
        const t = _9().createApp(...e);
        I9(t), Q9(t);
        const {
            mount: n
        } = t;
        return t.mount = r => {
            const A = U9(r);
            if (!A) return;
            const i = t._component;
            !l9(i) && !i.render && !i.template && (i.template = A.innerHTML), A.innerHTML = "";
            const s = n(A, !1, A instanceof SVGElement);
            return A instanceof Element && (A.removeAttribute("v-cloak"), A.setAttribute("data-v-app", "")), s
        }, t
    },
    RI = (...e) => {
        const t = F9().createApp(...e);
        I9(t), Q9(t);
        const {
            mount: n
        } = t;
        return t.mount = r => {
            const A = U9(r);
            if (A) return n(A, !0, A instanceof SVGElement)
        }, t
    };

function I9(e) {
    Object.defineProperty(e.config, "isNativeTag", {
        value: t => qT(t) || ZT(t),
        writable: !1
    })
}

function Q9(e) {
    if (sg()) {
        const t = e.config.isCustomElement;
        Object.defineProperty(e.config, "isCustomElement", {
            get() {
                return t
            },
            set() {
                Le("The `isCustomElement` config option is deprecated. Use `compilerOptions.isCustomElement` instead.")
            }
        });
        const n = e.config.compilerOptions,
            r = 'The `compilerOptions` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka "full build"). Since you are using the runtime-only build, `compilerOptions` must be passed to `@vue/compiler-dom` in the build setup instead.\n- For vue-loader: pass it via vue-loader\'s `compilerOptions` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc';
        Object.defineProperty(e.config, "compilerOptions", {
            get() {
                return Le(r), n
            },
            set() {
                Le(r)
            }
        })
    }
}

function U9(e) {
    if (Ru(e)) {
        const t = document.querySelector(e);
        return t || Le(`Failed to mount app: mount target selector "${e}" returned null.`), t
    }
    return window.ShadowRoot && e instanceof window.ShadowRoot && e.mode === "closed" && Le('mounting on a ShadowRoot with `{mode: "closed"}` may lead to unpredictable bugs'), e
}
let mv = !1;
const NI = () => {
    mv || (mv = !0, OI(), MI())
};

function $I() {
    o9()
}
$I();
const KI = () => {
        Le('Runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".')
    },
    VI = Object.freeze(Object.defineProperty({
        __proto__: null,
        BaseTransition: EB,
        BaseTransitionPropsValidators: Xp,
        Comment: mn,
        EffectScope: Ip,
        Fragment: an,
        KeepAlive: bS,
        ReactiveEffect: sc,
        Static: bs,
        Suspense: dS,
        Teleport: jB,
        Text: Si,
        Transition: mc,
        TransitionGroup: SI,
        VueElement: d1,
        assertNumber: Mp,
        callWithAsyncErrorHandling: Hr,
        callWithErrorHandling: RA,
        camelize: yA,
        capitalize: Ha,
        cloneVNode: iA,
        compatUtils: NT,
        compile: KI,
        computed: De,
        createApp: T9,
        createBlock: ng,
        createCommentVNode: FT,
        createElementBlock: CT,
        createElementVNode: rg,
        createHydrationRenderer: VB,
        createPropsRestProxy: YS,
        createRenderer: KB,
        createSSRApp: RI,
        createSlots: IS,
        createStaticVNode: _T,
        createTextVNode: l1,
        createVNode: q,
        customRef: kp,
        defineAsyncComponent: CS,
        defineComponent: nt,
        defineCustomElement: f9,
        defineEmits: HS,
        defineExpose: MS,
        defineModel: $S,
        defineOptions: RS,
        defineProps: kS,
        defineSSRCustomElement: wI,
        defineSlots: NS,
        get devtools() {
            return hA
        },
        effect: H_,
        effectScope: jf,
        getCurrentInstance: $t,
        getCurrentScope: ic,
        getTransitionRawChildren: A1,
        guardReactiveProps: JB,
        h: Rn,
        handleError: Ro,
        hasInjectionContext: LB,
        hydrate: S9,
        initCustomFormatter: o9,
        initDirectivesForSSR: NI,
        inject: En,
        isMemoSame: a9,
        isProxy: Qu,
        isReactive: mA,
        isReadonly: Fi,
        isRef: Mt,
        isRuntimeOnly: sg,
        isShallow: Iu,
        isVNode: KA,
        markRaw: kA,
        mergeDefaults: WS,
        mergeModels: zS,
        mergeProps: Jt,
        nextTick: bt,
        normalizeClass: cc,
        normalizeProps: LF,
        normalizeStyle: uc,
        onActivated: Ms,
        onBeforeMount: Jp,
        onBeforeUnmount: $r,
        onBeforeUpdate: s1,
        onDeactivated: Oi,
        onErrorCaptured: TB,
        onMounted: sn,
        onRenderTracked: SB,
        onRenderTriggered: FB,
        onScopeDispose: Qp,
        onServerPrefetch: _B,
        onUnmounted: Li,
        onUpdated: No,
        openBlock: o1,
        popScopeId: sS,
        provide: BA,
        proxyRefs: Lp,
        pushScopeId: iS,
        queuePostFlushCb: t1,
        reactive: Zt,
        readonly: sl,
        ref: Ie,
        registerRuntimeCompiler: UT,
        render: n6,
        renderList: TS,
        renderSlot: QS,
        resolveComponent: FS,
        resolveDirective: QB,
        resolveDynamicComponent: SS,
        resolveFilter: RT,
        resolveTransitionHooks: Ma,
        setBlockTracking: V2,
        setDevtoolsHook: Kp,
        setTransitionHooks: So,
        shallowReactive: tB,
        shallowReadonly: Ea,
        shallowRef: qf,
        ssrContextKey: i9,
        ssrUtils: MT,
        stop: M_,
        toDisplayString: kF,
        toHandlerKey: pi,
        toHandlers: US,
        toRaw: ht,
        toRef: au,
        toRefs: af,
        toValue: hF,
        transformVNodeArgs: ET,
        triggerRef: dF,
        unref: fr,
        useAttrs: GS,
        useCssModule: CI,
        useCssVars: EI,
        useModel: jS,
        useSSRContext: s9,
        useSlots: VS,
        useTransitionState: Yp,
        vModelCheckbox: lg,
        vModelDynamic: C9,
        vModelRadio: ug,
        vModelSelect: w9,
        vModelText: vf,
        vShow: Os,
        version: Y2,
        warn: Le,
        watch: Xe,
        watchEffect: hc,
        watchPostEffect: wB,
        watchSyncEffect: BS,
        withAsyncContext: XS,
        withCtx: Gp,
        withDefaults: KS,
        withDirectives: Is,
        withKeys: b9,
        withMemo: kT,
        withModifiers: kI,
        withScopeId: oS
    }, Symbol.toStringTag, {
        value: "Module"
    }));
var GI = !1;

function Jc(e, t, n) {
    return Array.isArray(e) ? (e.length = Math.max(e.length, t), e.splice(t, 1, n), n) : (e[t] = n, n)
}

function Ld(e, t) {
    if (Array.isArray(e)) {
        e.splice(t, 1);
        return
    }
    delete e[t]
}

function jI() {
    return P9().__VUE_DEVTOOLS_GLOBAL_HOOK__
}

function P9() {
    return typeof navigator < "u" && typeof window < "u" ? window : typeof globalThis < "u" ? globalThis : {}
}
const WI = typeof Proxy == "function",
    zI = "devtools-plugin:setup",
    YI = "plugin:settings:set";
let ra, r6;

function XI() {
    var e;
    return ra !== void 0 || (typeof window < "u" && window.performance ? (ra = !0, r6 = window.performance) : typeof globalThis < "u" && (!((e = globalThis.perf_hooks) === null || e === void 0) && e.performance) ? (ra = !0, r6 = globalThis.perf_hooks.performance) : ra = !1), ra
}

function JI() {
    return XI() ? r6.now() : Date.now()
}
class qI {
    constructor(t, n) {
        this.target = null, this.targetQueue = [], this.onQueue = [], this.plugin = t, this.hook = n;
        const r = {};
        if (t.settings)
            for (const s in t.settings) {
                const o = t.settings[s];
                r[s] = o.defaultValue
            }
        const A = `__vue-devtools-plugin-settings__${t.id}`;
        let i = Object.assign({}, r);
        try {
            const s = localStorage.getItem(A),
                o = JSON.parse(s);
            Object.assign(i, o)
        } catch {}
        this.fallbacks = {
            getSettings() {
                return i
            },
            setSettings(s) {
                try {
                    localStorage.setItem(A, JSON.stringify(s))
                } catch {}
                i = s
            },
            now() {
                return JI()
            }
        }, n && n.on(YI, (s, o) => {
            s === this.plugin.id && this.fallbacks.setSettings(o)
        }), this.proxiedOn = new Proxy({}, {
            get: (s, o) => this.target ? this.target.on[o] : (...a) => {
                this.onQueue.push({
                    method: o,
                    args: a
                })
            }
        }), this.proxiedTarget = new Proxy({}, {
            get: (s, o) => this.target ? this.target[o] : o === "on" ? this.proxiedOn : Object.keys(this.fallbacks).includes(o) ? (...a) => (this.targetQueue.push({
                method: o,
                args: a,
                resolve: () => {}
            }), this.fallbacks[o](...a)) : (...a) => new Promise(l => {
                this.targetQueue.push({
                    method: o,
                    args: a,
                    resolve: l
                })
            })
        })
    }
    async setRealTarget(t) {
        this.target = t;
        for (const n of this.onQueue) this.target.on[n.method](...n.args);
        for (const n of this.targetQueue) n.resolve(await this.target[n.method](...n.args))
    }
}

function h1(e, t) {
    const n = e,
        r = P9(),
        A = jI(),
        i = WI && n.enableEarlyProxy;
    if (A && (r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !i)) A.emit(zI, e, t);
    else {
        const s = i ? new qI(n, A) : null;
        (r.__VUE_DEVTOOLS_PLUGINS__ = r.__VUE_DEVTOOLS_PLUGINS__ || []).push({
            pluginDescriptor: n,
            setupFn: t,
            proxy: s
        }), s && t(s.proxiedTarget)
    }
}
/*!
 * pinia v2.1.7
 * (c) 2023 Eduardo San Martin Morote
 * @license MIT
 */
let A6;
const Nu = e => A6 = e,
    O9 = Symbol("pinia");

function Io(e) {
    return e && typeof e == "object" && Object.prototype.toString.call(e) === "[object Object]" && typeof e.toJSON != "function"
}
var NA;
(function(e) {
    e.direct = "direct", e.patchObject = "patch object", e.patchFunction = "patch function"
})(NA || (NA = {}));
const p1 = typeof window < "u",
    mf = p1,
    Bv = (() => typeof window == "object" && window.window === window ? window : typeof self == "object" && self.self === self ? self : typeof global == "object" && global.global === global ? global : typeof globalThis == "object" ? globalThis : {
        HTMLElement: null
    })();

function ZI(e, {
    autoBom: t = !1
} = {}) {
    return t && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type) ? new Blob([String.fromCharCode(65279), e], {
        type: e.type
    }) : e
}

function cg(e, t, n) {
    const r = new XMLHttpRequest;
    r.open("GET", e), r.responseType = "blob", r.onload = function() {
        k9(r.response, t, n)
    }, r.onerror = function() {
        console.error("could not download file")
    }, r.send()
}

function D9(e) {
    const t = new XMLHttpRequest;
    t.open("HEAD", e, !1);
    try {
        t.send()
    } catch {}
    return t.status >= 200 && t.status <= 299
}

function V0(e) {
    try {
        e.dispatchEvent(new MouseEvent("click"))
    } catch {
        const n = document.createEvent("MouseEvents");
        n.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), e.dispatchEvent(n)
    }
}
const G0 = typeof navigator == "object" ? navigator : {
        userAgent: ""
    },
    L9 = (() => /Macintosh/.test(G0.userAgent) && /AppleWebKit/.test(G0.userAgent) && !/Safari/.test(G0.userAgent))(),
    k9 = p1 ? typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype && !L9 ? eQ : "msSaveOrOpenBlob" in G0 ? tQ : nQ : () => {};

function eQ(e, t = "download", n) {
    const r = document.createElement("a");
    r.download = t, r.rel = "noopener", typeof e == "string" ? (r.href = e, r.origin !== location.origin ? D9(r.href) ? cg(e, t, n) : (r.target = "_blank", V0(r)) : V0(r)) : (r.href = URL.createObjectURL(e), setTimeout(function() {
        URL.revokeObjectURL(r.href)
    }, 4e4), setTimeout(function() {
        V0(r)
    }, 0))
}

function tQ(e, t = "download", n) {
    if (typeof e == "string")
        if (D9(e)) cg(e, t, n);
        else {
            const r = document.createElement("a");
            r.href = e, r.target = "_blank", setTimeout(function() {
                V0(r)
            })
        }
    else navigator.msSaveOrOpenBlob(ZI(e, n), t)
}

function nQ(e, t, n, r) {
    if (r = r || open("", "_blank"), r && (r.document.title = r.document.body.innerText = "downloading..."), typeof e == "string") return cg(e, t, n);
    const A = e.type === "application/octet-stream",
        i = /constructor/i.test(String(Bv.HTMLElement)) || "safari" in Bv,
        s = /CriOS\/[\d]+/.test(navigator.userAgent);
    if ((s || A && i || L9) && typeof FileReader < "u") {
        const o = new FileReader;
        o.onloadend = function() {
            let a = o.result;
            if (typeof a != "string") throw r = null, new Error("Wrong reader.result type");
            a = s ? a : a.replace(/^data:[^;]*;/, "data:attachment/file;"), r ? r.location.href = a : location.assign(a), r = null
        }, o.readAsDataURL(e)
    } else {
        const o = URL.createObjectURL(e);
        r ? r.location.assign(o) : location.href = o, r = null, setTimeout(function() {
            URL.revokeObjectURL(o)
        }, 4e4)
    }
}

function Hn(e, t) {
    const n = "🍍 " + e;
    typeof __VUE_DEVTOOLS_TOAST__ == "function" ? __VUE_DEVTOOLS_TOAST__(n, t) : t === "error" ? console.error(n) : t === "warn" ? console.warn(n) : console.log(n)
}

function fg(e) {
    return "_a" in e && "install" in e
}

function H9() {
    if (!("clipboard" in navigator)) return Hn("Your browser doesn't support the Clipboard API", "error"), !0
}

function M9(e) {
    return e instanceof Error && e.message.toLowerCase().includes("document is not focused") ? (Hn('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.', "warn"), !0) : !1
}
async function rQ(e) {
    if (!H9()) try {
        await navigator.clipboard.writeText(JSON.stringify(e.state.value)), Hn("Global state copied to clipboard.")
    } catch (t) {
        if (M9(t)) return;
        Hn("Failed to serialize the state. Check the console for more details.", "error"), console.error(t)
    }
}
async function AQ(e) {
    if (!H9()) try {
        R9(e, JSON.parse(await navigator.clipboard.readText())), Hn("Global state pasted from clipboard.")
    } catch (t) {
        if (M9(t)) return;
        Hn("Failed to deserialize the state from clipboard. Check the console for more details.", "error"), console.error(t)
    }
}
async function iQ(e) {
    try {
        k9(new Blob([JSON.stringify(e.state.value)], {
            type: "text/plain;charset=utf-8"
        }), "pinia-state.json")
    } catch (t) {
        Hn("Failed to export the state as JSON. Check the console for more details.", "error"), console.error(t)
    }
}
let ii;

function sQ() {
    ii || (ii = document.createElement("input"), ii.type = "file", ii.accept = ".json");

    function e() {
        return new Promise((t, n) => {
            ii.onchange = async () => {
                const r = ii.files;
                if (!r) return t(null);
                const A = r.item(0);
                return t(A ? {
                    text: await A.text(),
                    file: A
                } : null)
            }, ii.oncancel = () => t(null), ii.onerror = n, ii.click()
        })
    }
    return e
}
async function oQ(e) {
    try {
        const n = await sQ()();
        if (!n) return;
        const {
            text: r,
            file: A
        } = n;
        R9(e, JSON.parse(r)), Hn(`Global state imported from "${A.name}".`)
    } catch (t) {
        Hn("Failed to import the state from JSON. Check the console for more details.", "error"), console.error(t)
    }
}

function R9(e, t) {
    for (const n in t) {
        const r = e.state.value[n];
        r ? Object.assign(r, t[n]) : e.state.value[n] = t[n]
    }
}

function dA(e) {
    return {
        _custom: {
            display: e
        }
    }
}
const N9 = "🍍 Pinia (root)",
    i6 = "_root";

function aQ(e) {
    return fg(e) ? {
        id: i6,
        label: N9
    } : {
        id: e.$id,
        label: e.$id
    }
}

function lQ(e) {
    if (fg(e)) {
        const n = Array.from(e._s.keys()),
            r = e._s;
        return {
            state: n.map(i => ({
                editable: !0,
                key: i,
                value: e.state.value[i]
            })),
            getters: n.filter(i => r.get(i)._getters).map(i => {
                const s = r.get(i);
                return {
                    editable: !1,
                    key: i,
                    value: s._getters.reduce((o, a) => (o[a] = s[a], o), {})
                }
            })
        }
    }
    const t = {
        state: Object.keys(e.$state).map(n => ({
            editable: !0,
            key: n,
            value: e.$state[n]
        }))
    };
    return e._getters && e._getters.length && (t.getters = e._getters.map(n => ({
        editable: !1,
        key: n,
        value: e[n]
    }))), e._customProperties.size && (t.customProperties = Array.from(e._customProperties).map(n => ({
        editable: !0,
        key: n,
        value: e[n]
    }))), t
}

function uQ(e) {
    return e ? Array.isArray(e) ? e.reduce((t, n) => (t.keys.push(n.key), t.operations.push(n.type), t.oldValue[n.key] = n.oldValue, t.newValue[n.key] = n.newValue, t), {
        oldValue: {},
        keys: [],
        operations: [],
        newValue: {}
    }) : {
        operation: dA(e.type),
        key: dA(e.key),
        oldValue: e.oldValue,
        newValue: e.newValue
    } : {}
}

function cQ(e) {
    switch (e) {
        case NA.direct:
            return "mutation";
        case NA.patchFunction:
            return "$patch";
        case NA.patchObject:
            return "$patch";
        default:
            return "unknown"
    }
}
let ba = !0;
const j0 = [],
    oo = "pinia:mutations",
    qn = "pinia",
    {
        assign: fQ
    } = Object,
    Bf = e => "🍍 " + e;

function dQ(e, t) {
    h1({
        id: "dev.esm.pinia",
        label: "Pinia 🍍",
        logo: "https://pinia.vuejs.org/logo.svg",
        packageName: "pinia",
        homepage: "https://pinia.vuejs.org",
        componentStateTypes: j0,
        app: e
    }, n => {
        typeof n.now != "function" && Hn("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."), n.addTimelineLayer({
            id: oo,
            label: "Pinia 🍍",
            color: 15064968
        }), n.addInspector({
            id: qn,
            label: "Pinia 🍍",
            icon: "storage",
            treeFilterPlaceholder: "Search stores",
            actions: [{
                icon: "content_copy",
                action: () => {
                    rQ(t)
                },
                tooltip: "Serialize and copy the state"
            }, {
                icon: "content_paste",
                action: async () => {
                    await AQ(t), n.sendInspectorTree(qn), n.sendInspectorState(qn)
                },
                tooltip: "Replace the state with the content of your clipboard"
            }, {
                icon: "save",
                action: () => {
                    iQ(t)
                },
                tooltip: "Save the state as a JSON file"
            }, {
                icon: "folder_open",
                action: async () => {
                    await oQ(t), n.sendInspectorTree(qn), n.sendInspectorState(qn)
                },
                tooltip: "Import the state from a JSON file"
            }],
            nodeActions: [{
                icon: "restore",
                tooltip: 'Reset the state (with "$reset")',
                action: r => {
                    const A = t._s.get(r);
                    A ? typeof A.$reset != "function" ? Hn(`Cannot reset "${r}" store because it doesn't have a "$reset" method implemented.`, "warn") : (A.$reset(), Hn(`Store "${r}" reset.`)) : Hn(`Cannot reset "${r}" store because it wasn't found.`, "warn")
                }
            }]
        }), n.on.inspectComponent((r, A) => {
            const i = r.componentInstance && r.componentInstance.proxy;
            if (i && i._pStores) {
                const s = r.componentInstance.proxy._pStores;
                Object.values(s).forEach(o => {
                    r.instanceData.state.push({
                        type: Bf(o.$id),
                        key: "state",
                        editable: !0,
                        value: o._isOptionsAPI ? {
                            _custom: {
                                value: ht(o.$state),
                                actions: [{
                                    icon: "restore",
                                    tooltip: "Reset the state of this store",
                                    action: () => o.$reset()
                                }]
                            }
                        } : Object.keys(o.$state).reduce((a, l) => (a[l] = o.$state[l], a), {})
                    }), o._getters && o._getters.length && r.instanceData.state.push({
                        type: Bf(o.$id),
                        key: "getters",
                        editable: !1,
                        value: o._getters.reduce((a, l) => {
                            try {
                                a[l] = o[l]
                            } catch (u) {
                                a[l] = u
                            }
                            return a
                        }, {})
                    })
                })
            }
        }), n.on.getInspectorTree(r => {
            if (r.app === e && r.inspectorId === qn) {
                let A = [t];
                A = A.concat(Array.from(t._s.values())), r.rootNodes = (r.filter ? A.filter(i => "$id" in i ? i.$id.toLowerCase().includes(r.filter.toLowerCase()) : N9.toLowerCase().includes(r.filter.toLowerCase())) : A).map(aQ)
            }
        }), n.on.getInspectorState(r => {
            if (r.app === e && r.inspectorId === qn) {
                const A = r.nodeId === i6 ? t : t._s.get(r.nodeId);
                if (!A) return;
                A && (r.state = lQ(A))
            }
        }), n.on.editInspectorState((r, A) => {
            if (r.app === e && r.inspectorId === qn) {
                const i = r.nodeId === i6 ? t : t._s.get(r.nodeId);
                if (!i) return Hn(`store "${r.nodeId}" not found`, "error");
                const {
                    path: s
                } = r;
                fg(i) ? s.unshift("state") : (s.length !== 1 || !i._customProperties.has(s[0]) || s[0] in i.$state) && s.unshift("$state"), ba = !1, r.set(i, s, r.state.value), ba = !0
            }
        }), n.on.editComponentState(r => {
            if (r.type.startsWith("🍍")) {
                const A = r.type.replace(/^🍍\s*/, ""),
                    i = t._s.get(A);
                if (!i) return Hn(`store "${A}" not found`, "error");
                const {
                    path: s
                } = r;
                if (s[0] !== "state") return Hn(`Invalid path for store "${A}":
${s}
Only state can be modified.`);
                s[0] = "$state", ba = !1, r.set(i, s, r.state.value), ba = !0
            }
        })
    })
}

function hQ(e, t) {
    j0.includes(Bf(t.$id)) || j0.push(Bf(t.$id)), h1({
        id: "dev.esm.pinia",
        label: "Pinia 🍍",
        logo: "https://pinia.vuejs.org/logo.svg",
        packageName: "pinia",
        homepage: "https://pinia.vuejs.org",
        componentStateTypes: j0,
        app: e,
        settings: {
            logStoreChanges: {
                label: "Notify about new/deleted stores",
                type: "boolean",
                defaultValue: !0
            }
        }
    }, n => {
        const r = typeof n.now == "function" ? n.now.bind(n) : Date.now;
        t.$onAction(({
            after: s,
            onError: o,
            name: a,
            args: l
        }) => {
            const u = $9++;
            n.addTimelineEvent({
                layerId: oo,
                event: {
                    time: r(),
                    title: "🛫 " + a,
                    subtitle: "start",
                    data: {
                        store: dA(t.$id),
                        action: dA(a),
                        args: l
                    },
                    groupId: u
                }
            }), s(f => {
                fs = void 0, n.addTimelineEvent({
                    layerId: oo,
                    event: {
                        time: r(),
                        title: "🛬 " + a,
                        subtitle: "end",
                        data: {
                            store: dA(t.$id),
                            action: dA(a),
                            args: l,
                            result: f
                        },
                        groupId: u
                    }
                })
            }), o(f => {
                fs = void 0, n.addTimelineEvent({
                    layerId: oo,
                    event: {
                        time: r(),
                        logType: "error",
                        title: "💥 " + a,
                        subtitle: "end",
                        data: {
                            store: dA(t.$id),
                            action: dA(a),
                            args: l,
                            error: f
                        },
                        groupId: u
                    }
                })
            })
        }, !0), t._customProperties.forEach(s => {
            Xe(() => fr(t[s]), (o, a) => {
                n.notifyComponentUpdate(), n.sendInspectorState(qn), ba && n.addTimelineEvent({
                    layerId: oo,
                    event: {
                        time: r(),
                        title: "Change",
                        subtitle: s,
                        data: {
                            newValue: o,
                            oldValue: a
                        },
                        groupId: fs
                    }
                })
            }, {
                deep: !0
            })
        }), t.$subscribe(({
            events: s,
            type: o
        }, a) => {
            if (n.notifyComponentUpdate(), n.sendInspectorState(qn), !ba) return;
            const l = {
                time: r(),
                title: cQ(o),
                data: fQ({
                    store: dA(t.$id)
                }, uQ(s)),
                groupId: fs
            };
            o === NA.patchFunction ? l.subtitle = "⤵️" : o === NA.patchObject ? l.subtitle = "🧩" : s && !Array.isArray(s) && (l.subtitle = s.type), s && (l.data["rawEvent(s)"] = {
                _custom: {
                    display: "DebuggerEvent",
                    type: "object",
                    tooltip: "raw DebuggerEvent[]",
                    value: s
                }
            }), n.addTimelineEvent({
                layerId: oo,
                event: l
            })
        }, {
            detached: !0,
            flush: "sync"
        });
        const A = t._hotUpdate;
        t._hotUpdate = kA(s => {
            A(s), n.addTimelineEvent({
                layerId: oo,
                event: {
                    time: r(),
                    title: "🔥 " + t.$id,
                    subtitle: "HMR update",
                    data: {
                        store: dA(t.$id),
                        info: dA("HMR update")
                    }
                }
            }), n.notifyComponentUpdate(), n.sendInspectorTree(qn), n.sendInspectorState(qn)
        });
        const {
            $dispose: i
        } = t;
        t.$dispose = () => {
            i(), n.notifyComponentUpdate(), n.sendInspectorTree(qn), n.sendInspectorState(qn), n.getSettings().logStoreChanges && Hn(`Disposed "${t.$id}" store 🗑`)
        }, n.notifyComponentUpdate(), n.sendInspectorTree(qn), n.sendInspectorState(qn), n.getSettings().logStoreChanges && Hn(`"${t.$id}" store installed 🆕`)
    })
}
let $9 = 0,
    fs;

function wv(e, t, n) {
    const r = t.reduce((A, i) => (A[i] = ht(e)[i], A), {});
    for (const A in r) e[A] = function() {
        const i = $9,
            s = n ? new Proxy(e, {
                get(...a) {
                    return fs = i, Reflect.get(...a)
                },
                set(...a) {
                    return fs = i, Reflect.set(...a)
                }
            }) : e;
        fs = i;
        const o = r[A].apply(s, arguments);
        return fs = void 0, o
    }
}

function pQ({
    app: e,
    store: t,
    options: n
}) {
    if (t.$id.startsWith("__hot:")) return;
    t._isOptionsAPI = !!n.state, wv(t, Object.keys(n.actions), t._isOptionsAPI);
    const r = t._hotUpdate;
    ht(t)._hotUpdate = function(A) {
        r.apply(this, arguments), wv(t, Object.keys(A._hmrPayload.actions), !!t._isOptionsAPI)
    }, hQ(e, t)
}

function lse() {
    const e = jf(!0),
        t = e.run(() => Ie({}));
    let n = [],
        r = [];
    const A = kA({
        install(i) {
            Nu(A), A._a = i, i.provide(O9, A), i.config.globalProperties.$pinia = A, mf && dQ(i, A), r.forEach(s => n.push(s)), r = []
        },
        use(i) {
            return !this._a && !GI ? r.push(i) : n.push(i), this
        },
        _p: n,
        _a: null,
        _e: e,
        _s: new Map,
        state: t
    });
    return mf && typeof Proxy < "u" && A.use(pQ), A
}

function K9(e, t) {
    for (const n in t) {
        const r = t[n];
        if (!(n in e)) continue;
        const A = e[n];
        Io(A) && Io(r) && !Mt(r) && !mA(r) ? e[n] = K9(A, r) : e[n] = r
    }
    return e
}
const gQ = () => {};

function yv(e, t, n, r = gQ) {
    e.push(t);
    const A = () => {
        const i = e.indexOf(t);
        i > -1 && (e.splice(i, 1), r())
    };
    return !n && ic() && Qp(A), A
}

function Aa(e, ...t) {
    e.slice().forEach(n => {
        n(...t)
    })
}
const vQ = e => e();

function s6(e, t) {
    e instanceof Map && t instanceof Map && t.forEach((n, r) => e.set(r, n)), e instanceof Set && t instanceof Set && t.forEach(e.add, e);
    for (const n in t) {
        if (!t.hasOwnProperty(n)) continue;
        const r = t[n],
            A = e[n];
        Io(A) && Io(r) && e.hasOwnProperty(n) && !Mt(r) && !mA(r) ? e[n] = s6(A, r) : e[n] = r
    }
    return e
}
const mQ = Symbol("pinia:skipHydration");

function BQ(e) {
    return !Io(e) || !e.hasOwnProperty(mQ)
}
const {
    assign: qr
} = Object;

function Cv(e) {
    return !!(Mt(e) && e.effect)
}

function Ev(e, t, n, r) {
    const {
        state: A,
        actions: i,
        getters: s
    } = t, o = n.state.value[e];
    let a;

    function l() {
        !o && !r && (n.state.value[e] = A ? A() : {});
        const u = af(r ? Ie(A ? A() : {}).value : n.state.value[e]);
        return qr(u, i, Object.keys(s || {}).reduce((f, d) => (d in u && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with "${d}" in store "${e}".`), f[d] = kA(De(() => {
            Nu(n);
            const p = n._s.get(e);
            return s[d].call(p, p)
        })), f), {}))
    }
    return a = o6(e, l, t, n, r, !0), a
}

function o6(e, t, n = {}, r, A, i) {
    let s;
    const o = qr({
        actions: {}
    }, n);
    if (!r._e.active) throw new Error("Pinia destroyed");
    const a = {
        deep: !0
    };
    a.onTrigger = I => {
        l ? p = I : l == !1 && !Q._hotUpdating && (Array.isArray(p) ? p.push(I) : console.error("🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug."))
    };
    let l, u, f = [],
        d = [],
        p;
    const v = r.state.value[e];
    !i && !v && !A && (r.state.value[e] = {});
    const B = Ie({});
    let C;

    function w(I) {
        let _;
        l = u = !1, p = [], typeof I == "function" ? (I(r.state.value[e]), _ = {
            type: NA.patchFunction,
            storeId: e,
            events: p
        }) : (s6(r.state.value[e], I), _ = {
            type: NA.patchObject,
            payload: I,
            storeId: e,
            events: p
        });
        const D = C = Symbol();
        bt().then(() => {
            C === D && (l = !0)
        }), u = !0, Aa(f, _, r.state.value[e])
    }
    const m = i ? function() {
        const {
            state: _
        } = n, D = _ ? _() : {};
        this.$patch(N => {
            qr(N, D)
        })
    } : () => {
        throw new Error(`🍍: Store "${e}" is built using the setup syntax and does not implement $reset().`)
    };

    function E() {
        s.stop(), f = [], d = [], r._s.delete(e)
    }

    function y(I, _) {
        return function() {
            Nu(r);
            const D = Array.from(arguments),
                N = [],
                X = [];

            function se(W) {
                N.push(W)
            }

            function Z(W) {
                X.push(W)
            }
            Aa(d, {
                args: D,
                name: I,
                store: Q,
                after: se,
                onError: Z
            });
            let ce;
            try {
                ce = _.apply(this && this.$id === e ? this : Q, D)
            } catch (W) {
                throw Aa(X, W), W
            }
            return ce instanceof Promise ? ce.then(W => (Aa(N, W), W)).catch(W => (Aa(X, W), Promise.reject(W))) : (Aa(N, ce), ce)
        }
    }
    const x = kA({
            actions: {},
            getters: {},
            state: [],
            hotState: B
        }),
        F = {
            _p: r,
            $id: e,
            $onAction: yv.bind(null, d),
            $patch: w,
            $reset: m,
            $subscribe(I, _ = {}) {
                const D = yv(f, I, _.detached, () => N()),
                    N = s.run(() => Xe(() => r.state.value[e], X => {
                        (_.flush === "sync" ? u : l) && I({
                            storeId: e,
                            type: NA.direct,
                            events: p
                        }, X)
                    }, qr({}, a, _)));
                return D
            },
            $dispose: E
        },
        Q = Zt(qr({
            _hmrPayload: x,
            _customProperties: kA(new Set)
        }, F));
    r._s.set(e, Q);
    const L = (r._a && r._a.runWithContext || vQ)(() => r._e.run(() => (s = jf()).run(t)));
    for (const I in L) {
        const _ = L[I];
        if (Mt(_) && !Cv(_) || mA(_)) A ? Jc(B.value, I, au(L, I)) : i || (v && BQ(_) && (Mt(_) ? _.value = v[I] : s6(_, v[I])), r.state.value[e][I] = _), x.state.push(I);
        else if (typeof _ == "function") {
            const D = A ? _ : y(I, _);
            L[I] = D, x.actions[I] = _, o.actions[I] = _
        } else Cv(_) && (x.getters[I] = i ? n.getters[I] : _, p1 && (L._getters || (L._getters = kA([]))).push(I))
    }
    if (qr(Q, L), qr(ht(Q), L), Object.defineProperty(Q, "$state", {
            get: () => A ? B.value : r.state.value[e],
            set: I => {
                if (A) throw new Error("cannot set hotState");
                w(_ => {
                    qr(_, I)
                })
            }
        }), Q._hotUpdate = kA(I => {
            Q._hotUpdating = !0, I._hmrPayload.state.forEach(_ => {
                if (_ in Q.$state) {
                    const D = I.$state[_],
                        N = Q.$state[_];
                    typeof D == "object" && Io(D) && Io(N) ? K9(D, N) : I.$state[_] = N
                }
                Jc(Q, _, au(I.$state, _))
            }), Object.keys(Q.$state).forEach(_ => {
                _ in I.$state || Ld(Q, _)
            }), l = !1, u = !1, r.state.value[e] = au(I._hmrPayload, "hotState"), u = !0, bt().then(() => {
                l = !0
            });
            for (const _ in I._hmrPayload.actions) {
                const D = I[_];
                Jc(Q, _, y(_, D))
            }
            for (const _ in I._hmrPayload.getters) {
                const D = I._hmrPayload.getters[_],
                    N = i ? De(() => (Nu(r), D.call(Q, Q))) : D;
                Jc(Q, _, N)
            }
            Object.keys(Q._hmrPayload.getters).forEach(_ => {
                _ in I._hmrPayload.getters || Ld(Q, _)
            }), Object.keys(Q._hmrPayload.actions).forEach(_ => {
                _ in I._hmrPayload.actions || Ld(Q, _)
            }), Q._hmrPayload = I._hmrPayload, Q._getters = I._getters, Q._hotUpdating = !1
        }), mf) {
        const I = {
            writable: !0,
            configurable: !0,
            enumerable: !1
        };
        ["_p", "_hmrPayload", "_getters", "_customProperties"].forEach(_ => {
            Object.defineProperty(Q, _, qr({
                value: Q[_]
            }, I))
        })
    }
    return r._p.forEach(I => {
        if (mf) {
            const _ = s.run(() => I({
                store: Q,
                app: r._a,
                pinia: r,
                options: o
            }));
            Object.keys(_ || {}).forEach(D => Q._customProperties.add(D)), qr(Q, _)
        } else qr(Q, s.run(() => I({
            store: Q,
            app: r._a,
            pinia: r,
            options: o
        })))
    }), Q.$state && typeof Q.$state == "object" && typeof Q.$state.constructor == "function" && !Q.$state.constructor.toString().includes("[native code]") && console.warn(`[🍍]: The "state" must be a plain object. It cannot be
	state: () => new MyClass()
Found in store "${Q.$id}".`), v && i && n.hydrate && n.hydrate(Q.$state, v), l = !0, u = !0, Q
}

function use(e, t, n) {
    let r, A;
    const i = typeof t == "function";
    if (typeof e == "string") r = e, A = i ? n : t;
    else if (A = e, r = e.id, typeof r != "string") throw new Error('[🍍]: "defineStore()" must be passed a store id as its first argument.');

    function s(o, a) {
        const l = LB();
        if (o = o || (l ? En(O9, null) : null), o && Nu(o), !A6) throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
This will fail in production.`);
        o = A6, o._s.has(r) || (i ? o6(r, t, A, o) : Ev(r, A, o), s._pinia = o);
        const u = o._s.get(r);
        if (a) {
            const f = "__hot:" + r,
                d = i ? o6(f, t, A, o, !0) : Ev(f, qr({}, A), o, !0);
            a._hotUpdate(d), delete o.state.value[f], o._s.delete(f)
        }
        if (p1) {
            const f = $t();
            if (f && f.proxy && !a) {
                const d = f.proxy,
                    p = "_pStores" in d ? d._pStores : d._pStores = {};
                p[r] = u
            }
        }
        return u
    }
    return s.$id = r, s
}(function(e, t) {
    var n = e.document,
        r = n.documentElement,
        A = n.querySelector('meta[name="viewport"]'),
        i = n.querySelector('meta[name="flexible"]'),
        s = 0,
        o = 0,
        a, l = t.flexible || (t.flexible = {});
    if (A) {
        console.warn("");
        var u = A.getAttribute("content").match(/initial\-scale=([\d\.]+)/);
        u && (o = parseFloat(u[1]), s = parseInt(1 / o))
    } else if (i) {
        var f = i.getAttribute("content");
        if (f) {
            var d = f.match(/initial\-dpr=([\d\.]+)/),
                p = f.match(/maximum\-dpr=([\d\.]+)/);
            d && (s = parseFloat(d[1]), o = parseFloat((1 / s).toFixed(2))), p && (s = parseFloat(p[1]), o = parseFloat((1 / s).toFixed(2)))
        }
    }
    if (!s && !o) {
        e.navigator.appVersion.match(/android/gi);
        var v = e.navigator.appVersion.match(/iphone/gi),
            B = e.devicePixelRatio;
        v ? B >= 3 && (!s || s >= 3) ? s = 3 : B >= 2 && (!s || s >= 2) ? s = 2 : s = 1 : s = 1, o = 1 / s
    }
    if (r.setAttribute("data-dpr", s), !A)
        if (A = n.createElement("meta"), A.setAttribute("name", "viewport"), A.setAttribute("content", "initial-scale=" + o + ", maximum-scale=" + o + ", minimum-scale=" + o + ", user-scalable=no"), r.firstElementChild) r.firstElementChild.appendChild(A);
        else {
            var C = n.createElement("div");
            C.appendChild(A), n.write(C.innerHTML)
        }
    function w() {
        var m = r.getBoundingClientRect().width;
        m / s > 540 && (m = 540 * s);
        var E = m / 10;
        r.style.fontSize = E + "px", l.rem = e.rem = E
    }
    e.addEventListener("resize", function() {
        clearTimeout(a), a = setTimeout(w, 300)
    }, !1), e.addEventListener("pageshow", function(m) {
        m.persisted && (clearTimeout(a), a = setTimeout(w, 300))
    }, !1), n.readyState === "complete" ? n.body.style.fontSize = 12 * s + "px" : n.addEventListener("DOMContentLoaded", function(m) {
        n.body.style.fontSize = 12 * s + "px"
    }, !1), w(), l.dpr = e.dpr = s, l.refreshRem = w, l.rem2px = function(m) {
        var E = parseFloat(m) * this.rem;
        return typeof m == "string" && m.match(/rem$/) && (E += "px"), E
    }, l.px2rem = function(m) {
        var E = parseFloat(m) / this.rem;
        return typeof m == "string" && m.match(/px$/) && (E += "rem"), E
    }
})(window, window.lib || (window.lib = {}));

function wQ(e) {
    return typeof e == "object" && e !== null
}

function bv(e, t) {
    return e = wQ(e) ? e : Object.create(null), new Proxy(e, {
        get(n, r, A) {
            return r === "key" ? Reflect.get(n, r, A) : Reflect.get(n, r, A) || Reflect.get(t, r, A)
        }
    })
}

function yQ(e, t) {
    return t.reduce((n, r) => n == null ? void 0 : n[r], e)
}

function CQ(e, t, n) {
    return t.slice(0, -1).reduce((r, A) => /^(__proto__)$/.test(A) ? {} : r[A] = r[A] || {}, e)[t[t.length - 1]] = n, e
}

function EQ(e, t) {
    return t.reduce((n, r) => {
        const A = r.split(".");
        return CQ(n, A, yQ(e, A))
    }, {})
}

function bQ(e, t) {
    return n => {
        var r;
        try {
            const {
                storage: A = localStorage,
                beforeRestore: i = void 0,
                afterRestore: s = void 0,
                serializer: o = {
                    serialize: JSON.stringify,
                    deserialize: JSON.parse
                },
                key: a = t.$id,
                paths: l = null,
                debug: u = !1
            } = n;
            return {
                storage: A,
                beforeRestore: i,
                afterRestore: s,
                serializer: o,
                key: ((r = e.key) != null ? r : f => f)(typeof a == "string" ? a : a(t.$id)),
                paths: l,
                debug: u
            }
        } catch (A) {
            return n.debug && console.error("[pinia-plugin-persistedstate]", A), null
        }
    }
}

function xv(e, {
    storage: t,
    serializer: n,
    key: r,
    debug: A
}) {
    try {
        const i = t == null ? void 0 : t.getItem(r);
        i && e.$patch(n == null ? void 0 : n.deserialize(i))
    } catch (i) {
        A && console.error("[pinia-plugin-persistedstate]", i)
    }
}

function _v(e, {
    storage: t,
    serializer: n,
    key: r,
    paths: A,
    debug: i
}) {
    try {
        const s = Array.isArray(A) ? EQ(e, A) : e;
        t.setItem(r, n.serialize(s))
    } catch (s) {
        i && console.error("[pinia-plugin-persistedstate]", s)
    }
}

function xQ(e = {}) {
    return t => {
        const {
            auto: n = !1
        } = e, {
            options: {
                persist: r = n
            },
            store: A,
            pinia: i
        } = t;
        if (!r) return;
        if (!(A.$id in i.state.value)) {
            const o = i._s.get(A.$id.replace("__hot:", ""));
            o && Promise.resolve().then(() => o.$persist());
            return
        }
        const s = (Array.isArray(r) ? r.map(o => bv(o, e)) : [bv(r, e)]).map(bQ(e, A)).filter(Boolean);
        A.$persist = () => {
            s.forEach(o => {
                _v(A.$state, o)
            })
        }, A.$hydrate = ({
            runHooks: o = !0
        } = {}) => {
            s.forEach(a => {
                const {
                    beforeRestore: l,
                    afterRestore: u
                } = a;
                o && (l == null || l(t)), xv(A, a), o && (u == null || u(t))
            })
        }, s.forEach(o => {
            const {
                beforeRestore: a,
                afterRestore: l
            } = o;
            a == null || a(t), xv(A, o), l == null || l(t), A.$subscribe((u, f) => {
                _v(f, o)
            }, {
                detached: !0
            })
        })
    }
}
var cse = xQ(),
    yt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};

function g1(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e
}

function dg(e) {
    if (e.__esModule) return e;
    var t = e.default;
    if (typeof t == "function") {
        var n = function r() {
            return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments)
        };
        n.prototype = t.prototype
    } else n = {};
    return Object.defineProperty(n, "__esModule", {
        value: !0
    }), Object.keys(e).forEach(function(r) {
        var A = Object.getOwnPropertyDescriptor(e, r);
        Object.defineProperty(n, r, A.get ? A : {
            enumerable: !0,
            get: function() {
                return e[r]
            }
        })
    }), n
}
const en = dg(VI);
var V9 = {
        exports: {}
    },
    hg = Object.defineProperty,
    _Q = Object.getOwnPropertyDescriptor,
    FQ = Object.getOwnPropertyNames,
    SQ = Object.prototype.hasOwnProperty,
    TQ = (e, t) => {
        for (var n in t) hg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    IQ = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of FQ(t)) !SQ.call(e, A) && A !== n && hg(e, A, {
                get: () => t[A],
                enumerable: !(r = _Q(t, A)) || r.enumerable
            });
        return e
    },
    QQ = e => IQ(hg({}, "__esModule", {
        value: !0
    }), e),
    G9 = {};
TQ(G9, {
    extend: () => PQ,
    flat: () => VQ,
    get: () => RQ,
    inBrowser: () => j9,
    isDate: () => LQ,
    isDef: () => OQ,
    isFunction: () => a6,
    isIOS: () => MQ,
    isMobile: () => kQ,
    isNumeric: () => HQ,
    isObject: () => pg,
    isPromise: () => DQ,
    isSameValue: () => $Q,
    noop: () => UQ,
    pick: () => NQ,
    toArray: () => KQ
});
var Rs = QQ(G9);

function UQ() {}
const PQ = Object.assign,
    j9 = typeof window < "u",
    pg = e => e !== null && typeof e == "object",
    OQ = e => e != null,
    a6 = e => typeof e == "function",
    DQ = e => pg(e) && a6(e.then) && a6(e.catch),
    LQ = e => Object.prototype.toString.call(e) === "[object Date]" && !Number.isNaN(e.getTime());

function kQ(e) {
    return e = e.replace(/[^-|\d]/g, ""), /^((\+86)|(86))?(1)\d{10}$/.test(e) || /^0[0-9-]{10,13}$/.test(e)
}
const HQ = e => typeof e == "number" || /^\d+(\.\d+)?$/.test(e),
    MQ = () => j9 ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : !1;

function RQ(e, t) {
    const n = t.split(".");
    let r = e;
    return n.forEach(A => {
        var i;
        r = pg(r) && (i = r[A]) != null ? i : ""
    }), r
}

function NQ(e, t, n) {
    return t.reduce((r, A) => ((!n || e[A] !== void 0) && (r[A] = e[A]), r), {})
}
const $Q = (e, t) => JSON.stringify(e) === JSON.stringify(t),
    KQ = e => Array.isArray(e) ? e : [e],
    VQ = e => e.reduce((t, n) => t.concat(n), []);
var gg = Object.defineProperty,
    GQ = Object.getOwnPropertyDescriptor,
    jQ = Object.getOwnPropertyNames,
    WQ = Object.prototype.hasOwnProperty,
    zQ = (e, t) => {
        for (var n in t) gg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    YQ = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of jQ(t)) !WQ.call(e, A) && A !== n && gg(e, A, {
                get: () => t[A],
                enumerable: !(r = GQ(t, A)) || r.enumerable
            });
        return e
    },
    XQ = e => YQ(gg({}, "__esModule", {
        value: !0
    }), e),
    W9 = {};
zQ(W9, {
    makeArrayProp: () => tU,
    makeNumberProp: () => nU,
    makeNumericProp: () => rU,
    makeRequiredProp: () => eU,
    makeStringProp: () => AU,
    numericProp: () => z9,
    truthProp: () => ZQ,
    unknownProp: () => qQ
});
var JQ = XQ(W9);
const qQ = null,
    z9 = [Number, String],
    ZQ = {
        type: Boolean,
        default: !0
    },
    eU = e => ({
        type: e,
        required: !0
    }),
    tU = () => ({
        type: Array,
        default: () => []
    }),
    nU = e => ({
        type: Number,
        default: e
    }),
    rU = e => ({
        type: z9,
        default: e
    }),
    AU = e => ({
        type: String,
        default: e
    });
var GA = typeof window < "u",
    iU = !0;

function dr(e) {
    return GA ? requestAnimationFrame(e) : -1
}

function Bc(e) {
    GA && cancelAnimationFrame(e)
}

function ho(e) {
    dr(() => dr(e))
}
var sU = e => e === window,
    Fv = (e, t) => ({
        top: 0,
        left: 0,
        right: e,
        bottom: t,
        width: e,
        height: t
    }),
    Nn = e => {
        const t = fr(e);
        if (sU(t)) {
            const n = t.innerWidth,
                r = t.innerHeight;
            return Fv(n, r)
        }
        return t != null && t.getBoundingClientRect ? t.getBoundingClientRect() : Fv(0, 0)
    };

function Y9(e = !1) {
    const t = Ie(e);
    return [t, (r = !t.value) => {
        t.value = r
    }]
}

function Kr(e) {
    const t = En(e, null);
    if (t) {
        const n = $t(),
            {
                link: r,
                unlink: A,
                internalChildren: i
            } = t;
        r(n), Li(() => A(n));
        const s = De(() => i.indexOf(n));
        return {
            parent: t,
            index: s
        }
    }
    return {
        parent: null,
        index: Ie(-1)
    }
}

function X9(e) {
    const t = [],
        n = r => {
            Array.isArray(r) && r.forEach(A => {
                var i;
                KA(A) && (t.push(A), (i = A.component) != null && i.subTree && (t.push(A.component.subTree), n(A.component.subTree.children)), A.children && n(A.children))
            })
        };
    return n(e), t
}
var Sv = (e, t) => {
    const n = e.indexOf(t);
    return n === -1 ? e.findIndex(r => t.key !== void 0 && t.key !== null && r.type === t.type && r.key === t.key) : n
};

function J9(e, t, n) {
    const r = X9(e.subTree.children);
    n.sort((i, s) => Sv(r, i.vnode) - Sv(r, s.vnode));
    const A = n.map(i => i.proxy);
    t.sort((i, s) => {
        const o = A.indexOf(i),
            a = A.indexOf(s);
        return o - a
    })
}

function jA(e) {
    const t = Zt([]),
        n = Zt([]),
        r = $t();
    return {
        children: t,
        linkChildren: i => {
            BA(e, Object.assign({
                link: a => {
                    a.proxy && (n.push(a), t.push(a.proxy), J9(r, t, n))
                },
                unlink: a => {
                    const l = n.indexOf(a);
                    t.splice(l, 1), n.splice(l, 1)
                },
                children: t,
                internalChildren: n
            }, i))
        }
    }
}
var l6 = 1e3,
    u6 = 60 * l6,
    c6 = 60 * u6,
    Tv = 24 * c6;

function oU(e) {
    const t = Math.floor(e / Tv),
        n = Math.floor(e % Tv / c6),
        r = Math.floor(e % c6 / u6),
        A = Math.floor(e % u6 / l6),
        i = Math.floor(e % l6);
    return {
        total: e,
        days: t,
        hours: n,
        minutes: r,
        seconds: A,
        milliseconds: i
    }
}

function aU(e, t) {
    return Math.floor(e / 1e3) === Math.floor(t / 1e3)
}

function q9(e) {
    let t, n, r, A;
    const i = Ie(e.time),
        s = De(() => oU(i.value)),
        o = () => {
            r = !1, Bc(t)
        },
        a = () => Math.max(n - Date.now(), 0),
        l = B => {
            var C, w;
            i.value = B, (C = e.onChange) == null || C.call(e, s.value), B === 0 && (o(), (w = e.onFinish) == null || w.call(e))
        },
        u = () => {
            t = dr(() => {
                r && (l(a()), i.value > 0 && u())
            })
        },
        f = () => {
            t = dr(() => {
                if (r) {
                    const B = a();
                    (!aU(B, i.value) || B === 0) && l(B), i.value > 0 && f()
                }
            })
        },
        d = () => {
            GA && (e.millisecond ? u() : f())
        },
        p = () => {
            r || (n = Date.now() + i.value, r = !0, d())
        },
        v = (B = e.time) => {
            o(), i.value = B
        };
    return $r(o), Ms(() => {
        A && (r = !0, A = !1, d())
    }), Oi(() => {
        r && (o(), A = !0)
    }), {
        start: p,
        pause: o,
        reset: v,
        current: s
    }
}

function al(e) {
    let t;
    sn(() => {
        e(), bt(() => {
            t = !0
        })
    }), Ms(() => {
        t && e()
    })
}

function Sr(e, t, n = {}) {
    if (!GA) return;
    const {
        target: r = window,
        passive: A = !1,
        capture: i = !1
    } = n;
    let s = !1,
        o;
    const a = f => {
            if (s) return;
            const d = fr(f);
            d && !o && (d.addEventListener(e, t, {
                capture: i,
                passive: A
            }), o = !0)
        },
        l = f => {
            if (s) return;
            const d = fr(f);
            d && o && (d.removeEventListener(e, t, i), o = !1)
        };
    Li(() => l(r)), Oi(() => l(r)), al(() => a(r));
    let u;
    return Mt(r) && (u = Xe(r, (f, d) => {
        l(d), a(f)
    })), () => {
        u == null || u(), l(r), s = !0
    }
}

function Z9(e, t, n = {}) {
    if (!GA) return;
    const {
        eventName: r = "click"
    } = n;
    Sr(r, i => {
        (Array.isArray(e) ? e : [e]).every(a => {
            const l = fr(a);
            return l && !l.contains(i.target)
        }) && t(i)
    }, {
        target: document
    })
}
var qc, kd;

function ew() {
    if (!qc && (qc = Ie(0), kd = Ie(0), GA)) {
        const e = () => {
            qc.value = window.innerWidth, kd.value = window.innerHeight
        };
        e(), window.addEventListener("resize", e, {
            passive: !0
        }), window.addEventListener("orientationchange", e, {
            passive: !0
        })
    }
    return {
        width: qc,
        height: kd
    }
}
var lU = /scroll|auto|overlay/i,
    tw = GA ? window : void 0;

function uU(e) {
    return e.tagName !== "HTML" && e.tagName !== "BODY" && e.nodeType === 1
}

function vg(e, t = tw) {
    let n = e;
    for (; n && n !== t && uU(n);) {
        const {
            overflowY: r
        } = window.getComputedStyle(n);
        if (lU.test(r)) return n;
        n = n.parentNode
    }
    return t
}

function wc(e, t = tw) {
    const n = Ie();
    return sn(() => {
        e.value && (n.value = vg(e.value, t))
    }), n
}
var Zc;

function nw() {
    if (!Zc && (Zc = Ie("visible"), GA)) {
        const e = () => {
            Zc.value = document.hidden ? "hidden" : "visible"
        };
        e(), window.addEventListener("visibilitychange", e)
    }
    return Zc
}
var mg = Symbol("van-field");

function ll(e) {
    const t = En(mg, null);
    t && !t.customValue.value && (t.customValue.value = e, Xe(e, () => {
        t.resetValidation(), t.validateWithTrigger("onChange")
    }))
}

function cU(e, t) {
    if (GA) {
        const {
            interval: n = 0,
            isLoop: r = !1
        } = t || {};
        let A, i = !1,
            s;
        const o = () => {
                i = !0, cancelAnimationFrame(s)
            },
            a = l => {
                if (!i) {
                    if (A === void 0) A = l;
                    else if (l - A > n && (e(l), A = l, !r)) {
                        o();
                        return
                    }
                    s = requestAnimationFrame(a)
                }
            };
        return s = requestAnimationFrame(a), o
    }
    return () => {}
}
const fU = Object.freeze(Object.defineProperty({
        __proto__: null,
        CUSTOM_FIELD_INJECTION_KEY: mg,
        cancelRaf: Bc,
        doubleRaf: ho,
        flattenVNodes: X9,
        getScrollParent: vg,
        inBrowser: GA,
        onMountedOrActivated: al,
        raf: dr,
        sortChildren: J9,
        supportsPassive: iU,
        useChildren: jA,
        useClickAway: Z9,
        useCountDown: q9,
        useCustomFieldValue: ll,
        useEventListener: Sr,
        usePageVisibility: nw,
        useParent: Kr,
        useRaf: cU,
        useRect: Nn,
        useScrollParent: wc,
        useToggle: Y9,
        useWindowSize: ew
    }, Symbol.toStringTag, {
        value: "Module"
    })),
    v1 = dg(fU);
var Bg = Object.defineProperty,
    dU = Object.getOwnPropertyDescriptor,
    hU = Object.getOwnPropertyNames,
    pU = Object.prototype.hasOwnProperty,
    gU = (e, t) => {
        for (var n in t) Bg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    vU = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of hU(t)) !pU.call(e, A) && A !== n && Bg(e, A, {
                get: () => t[A],
                enumerable: !(r = dU(t, A)) || r.enumerable
            });
        return e
    },
    mU = e => vU(Bg({}, "__esModule", {
        value: !0
    }), e),
    rw = {};
gU(rw, {
    getContainingBlock: () => TU,
    getElementTop: () => yU,
    getRootScrollTop: () => wg,
    getScrollTop: () => sw,
    isHidden: () => xU,
    preventDefault: () => bU,
    resetScroll: () => EU,
    setRootScrollTop: () => ow,
    setScrollTop: () => f6,
    stopPropagation: () => aw,
    windowHeight: () => FU,
    windowWidth: () => _U
});
var Aw = mU(rw),
    iw = v1,
    BU = en,
    wU = Rs;

function sw(e) {
    const t = "scrollTop" in e ? e.scrollTop : e.pageYOffset;
    return Math.max(t, 0)
}

function f6(e, t) {
    "scrollTop" in e ? e.scrollTop = t : e.scrollTo(e.scrollX, t)
}

function wg() {
    return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
}

function ow(e) {
    f6(window, e), f6(document.body, e)
}

function yU(e, t) {
    if (e === window) return 0;
    const n = t ? sw(t) : wg();
    return (0, iw.useRect)(e).top + n
}
const CU = (0, wU.isIOS)();

function EU() {
    CU && ow(wg())
}
const aw = e => e.stopPropagation();

function bU(e, t) {
    (typeof e.cancelable != "boolean" || e.cancelable) && e.preventDefault(), t && aw(e)
}

function xU(e) {
    const t = (0, BU.unref)(e);
    if (!t) return !1;
    const n = window.getComputedStyle(t),
        r = n.display === "none",
        A = t.offsetParent === null && n.position !== "fixed";
    return r || A
}
const {
    width: _U,
    height: FU
} = (0, iw.useWindowSize)();

function SU(e) {
    const t = window.getComputedStyle(e);
    return t.transform !== "none" || t.perspective !== "none" || ["transform", "perspective", "filter"].some(n => (t.willChange || "").includes(n))
}

function TU(e) {
    let t = e.parentElement;
    for (; t;) {
        if (t && t.tagName !== "HTML" && t.tagName !== "BODY" && SU(t)) return t;
        t = t.parentElement
    }
    return null
}
var yg = Object.defineProperty,
    IU = Object.getOwnPropertyDescriptor,
    QU = Object.getOwnPropertyNames,
    UU = Object.prototype.hasOwnProperty,
    PU = (e, t) => {
        for (var n in t) yg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    OU = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of QU(t)) !UU.call(e, A) && A !== n && yg(e, A, {
                get: () => t[A],
                enumerable: !(r = IU(t, A)) || r.enumerable
            });
        return e
    },
    DU = e => OU(yg({}, "__esModule", {
        value: !0
    }), e),
    lw = {};
PU(lw, {
    addNumber: () => XU,
    addUnit: () => W0,
    camelize: () => GU,
    clamp: () => zU,
    formatNumber: () => YU,
    getSizeStyle: () => kU,
    getZIndexStyle: () => HU,
    kebabCase: () => jU,
    padZero: () => WU,
    unitToPx: () => KU
});
var Cg = DU(lw),
    LU = Rs,
    uw = Aw,
    d6 = Rs;

function W0(e) {
    if ((0, d6.isDef)(e)) return (0, d6.isNumeric)(e) ? `${e}px` : String(e)
}

function kU(e) {
    if ((0, d6.isDef)(e)) {
        if (Array.isArray(e)) return {
            width: W0(e[0]),
            height: W0(e[1])
        };
        const t = W0(e);
        return {
            width: t,
            height: t
        }
    }
}

function HU(e) {
    const t = {};
    return e !== void 0 && (t.zIndex = +e), t
}
let Hd;

function MU() {
    if (!Hd) {
        const e = document.documentElement,
            t = e.style.fontSize || window.getComputedStyle(e).fontSize;
        Hd = parseFloat(t)
    }
    return Hd
}

function RU(e) {
    return e = e.replace(/rem/g, ""), +e * MU()
}

function NU(e) {
    return e = e.replace(/vw/g, ""), +e * uw.windowWidth.value / 100
}

function $U(e) {
    return e = e.replace(/vh/g, ""), +e * uw.windowHeight.value / 100
}

function KU(e) {
    if (typeof e == "number") return e;
    if (LU.inBrowser) {
        if (e.includes("rem")) return RU(e);
        if (e.includes("vw")) return NU(e);
        if (e.includes("vh")) return $U(e)
    }
    return parseFloat(e)
}
const VU = /-(\w)/g,
    GU = e => e.replace(VU, (t, n) => n.toUpperCase()),
    jU = e => e.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "");

function WU(e, t = 2) {
    let n = e + "";
    for (; n.length < t;) n = "0" + n;
    return n
}
const zU = (e, t, n) => Math.min(Math.max(e, t), n);

function Iv(e, t, n) {
    const r = e.indexOf(t);
    return r === -1 ? e : t === "-" && r !== 0 ? e.slice(0, r) : e.slice(0, r + 1) + e.slice(r).replace(n, "")
}

function YU(e, t = !0, n = !0) {
    t ? e = Iv(e, ".", /\./g) : e = e.split(".")[0], n ? e = Iv(e, "-", /-/g) : e = e.replace(/-/, "");
    const r = t ? /[^-0-9.]/g : /[^-0-9]/g;
    return e.replace(r, "")
}

function XU(e, t) {
    return Math.round((e + t) * 1e10) / 1e10
}
var Eg = Object.defineProperty,
    JU = Object.getOwnPropertyDescriptor,
    qU = Object.getOwnPropertyNames,
    ZU = Object.prototype.hasOwnProperty,
    eP = (e, t) => {
        for (var n in t) Eg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    tP = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of qU(t)) !ZU.call(e, A) && A !== n && Eg(e, A, {
                get: () => t[A],
                enumerable: !(r = JU(t, A)) || r.enumerable
            });
        return e
    },
    nP = e => tP(Eg({}, "__esModule", {
        value: !0
    }), e),
    cw = {};
eP(cw, {
    deepAssign: () => fw
});
var rP = nP(cw),
    Qv = Rs;
const {
    hasOwnProperty: AP
} = Object.prototype;

function iP(e, t, n) {
    const r = t[n];
    (0, Qv.isDef)(r) && (!AP.call(e, n) || !(0, Qv.isObject)(r) ? e[n] = r : e[n] = fw(Object(e[n]), r))
}

function fw(e, t) {
    return Object.keys(t).forEach(n => {
        iP(e, t, n)
    }), e
}
var bg = Object.defineProperty,
    sP = Object.getOwnPropertyDescriptor,
    oP = Object.getOwnPropertyNames,
    aP = Object.prototype.hasOwnProperty,
    lP = (e, t) => {
        for (var n in t) bg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    uP = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of oP(t)) !aP.call(e, A) && A !== n && bg(e, A, {
                get: () => t[A],
                enumerable: !(r = sP(t, A)) || r.enumerable
            });
        return e
    },
    cP = e => uP(bg({}, "__esModule", {
        value: !0
    }), e),
    dw = {};
lP(dw, {
    default: () => dP
});
var fP = cP(dw),
    dP = {
        name: "姓名",
        tel: "电话",
        save: "保存",
        clear: "清空",
        cancel: "取消",
        confirm: "确认",
        delete: "删除",
        loading: "加载中...",
        noCoupon: "暂无优惠券",
        nameEmpty: "请填写姓名",
        addContact: "添加联系人",
        telInvalid: "请填写正确的电话",
        vanCalendar: {
            end: "结束",
            start: "开始",
            title: "日期选择",
            weekdays: ["日", "一", "二", "三", "四", "五", "六"],
            monthTitle: (e, t) => `${e}年${t}月`,
            rangePrompt: e => `最多选择 ${e} 天`
        },
        vanCascader: {
            select: "请选择"
        },
        vanPagination: {
            prev: "上一页",
            next: "下一页"
        },
        vanPullRefresh: {
            pulling: "下拉即可刷新...",
            loosing: "释放即可刷新..."
        },
        vanSubmitBar: {
            label: "合计:"
        },
        vanCoupon: {
            unlimited: "无门槛",
            discount: e => `${e}折`,
            condition: e => `满${e}元可用`
        },
        vanCouponCell: {
            title: "优惠券",
            count: e => `${e}张可用`
        },
        vanCouponList: {
            exchange: "兑换",
            close: "不使用",
            enable: "可用",
            disabled: "不可用",
            placeholder: "输入优惠码"
        },
        vanAddressEdit: {
            area: "地区",
            areaEmpty: "请选择地区",
            addressEmpty: "请填写详细地址",
            addressDetail: "详细地址",
            defaultAddress: "设为默认收货地址"
        },
        vanAddressList: {
            add: "新增地址"
        }
    },
    hP = Object.create,
    m1 = Object.defineProperty,
    pP = Object.getOwnPropertyDescriptor,
    gP = Object.getOwnPropertyNames,
    vP = Object.getPrototypeOf,
    mP = Object.prototype.hasOwnProperty,
    BP = (e, t) => {
        for (var n in t) m1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    hw = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of gP(t)) !mP.call(e, A) && A !== n && m1(e, A, {
                get: () => t[A],
                enumerable: !(r = pP(t, A)) || r.enumerable
            });
        return e
    },
    wP = (e, t, n) => (n = e != null ? hP(vP(e)) : {}, hw(t || !e || !e.__esModule ? m1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    yP = e => hw(m1({}, "__esModule", {
        value: !0
    }), e),
    pw = {};
BP(pw, {
    Locale: () => vw,
    default: () => _P,
    useCurrentLang: () => xP
});
var CP = yP(pw),
    gw = en,
    EP = rP,
    bP = wP(fP);
const h6 = (0, gw.ref)("zh-CN"),
    Uv = (0, gw.reactive)({
        "zh-CN": bP.default
    }),
    vw = {
        messages() {
            return Uv[h6.value]
        },
        use(e, t) {
            h6.value = e, this.add({
                [e]: t
            })
        },
        add(e = {}) {
            (0, EP.deepAssign)(Uv, e)
        }
    },
    xP = () => h6;
var _P = vw,
    FP = Object.create,
    B1 = Object.defineProperty,
    SP = Object.getOwnPropertyDescriptor,
    TP = Object.getOwnPropertyNames,
    IP = Object.getPrototypeOf,
    QP = Object.prototype.hasOwnProperty,
    UP = (e, t) => {
        for (var n in t) B1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    mw = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of TP(t)) !QP.call(e, A) && A !== n && B1(e, A, {
                get: () => t[A],
                enumerable: !(r = SP(t, A)) || r.enumerable
            });
        return e
    },
    PP = (e, t, n) => (n = e != null ? FP(IP(e)) : {}, mw(t || !e || !e.__esModule ? B1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    OP = e => mw(B1({}, "__esModule", {
        value: !0
    }), e),
    Bw = {};
UP(Bw, {
    createBEM: () => yw,
    createNamespace: () => HP,
    createTranslate: () => ww
});
var DP = OP(Bw),
    Md = Rs,
    LP = Cg,
    kP = PP(CP);

function ww(e) {
    const t = (0, LP.camelize)(e) + ".";
    return (n, ...r) => {
        const A = kP.default.messages(),
            i = (0, Md.get)(A, t + n) || (0, Md.get)(A, n);
        return (0, Md.isFunction)(i) ? i(...r) : i
    }
}

function p6(e, t) {
    return t ? typeof t == "string" ? ` ${e}--${t}` : Array.isArray(t) ? t.reduce((n, r) => n + p6(e, r), "") : Object.keys(t).reduce((n, r) => n + (t[r] ? p6(e, r) : ""), "") : ""
}

function yw(e) {
    return (t, n) => (t && typeof t != "string" && (n = t, t = ""), t = t ? `${e}__${t}` : e, `${t}${p6(t,n)}`)
}

function HP(e) {
    const t = `van-${e}`;
    return [t, yw(t), ww(t)]
}
var xg = Object.defineProperty,
    MP = Object.getOwnPropertyDescriptor,
    RP = Object.getOwnPropertyNames,
    NP = Object.prototype.hasOwnProperty,
    $P = (e, t) => {
        for (var n in t) xg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    KP = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of RP(t)) !NP.call(e, A) && A !== n && xg(e, A, {
                get: () => t[A],
                enumerable: !(r = MP(t, A)) || r.enumerable
            });
        return e
    },
    VP = e => KP(xg({}, "__esModule", {
        value: !0
    }), e),
    Cw = {};
$P(Cw, {
    BORDER: () => Ns,
    BORDER_BOTTOM: () => YP,
    BORDER_LEFT: () => WP,
    BORDER_RIGHT: () => zP,
    BORDER_SURROUND: () => XP,
    BORDER_TOP: () => jP,
    BORDER_TOP_BOTTOM: () => JP,
    BORDER_UNSET_TOP_BOTTOM: () => qP,
    FORM_KEY: () => eO,
    HAPTICS_FEEDBACK: () => ZP,
    LONG_PRESS_START_TIME: () => tO,
    TAP_OFFSET: () => nO
});
var GP = VP(Cw);
const Ns = "van-hairline",
    jP = `${Ns}--top`,
    WP = `${Ns}--left`,
    zP = `${Ns}--right`,
    YP = `${Ns}--bottom`,
    XP = `${Ns}--surround`,
    JP = `${Ns}--top-bottom`,
    qP = `${Ns}-unset--top-bottom`,
    ZP = "van-haptics-feedback",
    eO = Symbol("van-form"),
    tO = 500,
    nO = 5;
var _g = Object.defineProperty,
    rO = Object.getOwnPropertyDescriptor,
    AO = Object.getOwnPropertyNames,
    iO = Object.prototype.hasOwnProperty,
    sO = (e, t) => {
        for (var n in t) _g(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    oO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of AO(t)) !iO.call(e, A) && A !== n && _g(e, A, {
                get: () => t[A],
                enumerable: !(r = rO(t, A)) || r.enumerable
            });
        return e
    },
    aO = e => oO(_g({}, "__esModule", {
        value: !0
    }), e),
    Ew = {};
sO(Ew, {
    callInterceptor: () => uO
});
var lO = aO(Ew),
    Pv = Rs;

function uO(e, {
    args: t = [],
    done: n,
    canceled: r,
    error: A
}) {
    if (e) {
        const i = e.apply(null, t);
        (0, Pv.isPromise)(i) ? i.then(s => {
            s ? n() : r && r()
        }).catch(A || Pv.noop): i ? n() : r && r()
    } else n()
}
var Fg = Object.defineProperty,
    cO = Object.getOwnPropertyDescriptor,
    fO = Object.getOwnPropertyNames,
    dO = Object.prototype.hasOwnProperty,
    hO = (e, t) => {
        for (var n in t) Fg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    pO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of fO(t)) !dO.call(e, A) && A !== n && Fg(e, A, {
                get: () => t[A],
                enumerable: !(r = cO(t, A)) || r.enumerable
            });
        return e
    },
    gO = e => pO(Fg({}, "__esModule", {
        value: !0
    }), e),
    bw = {};
hO(bw, {
    withInstall: () => BO
});
var vO = gO(bw),
    mO = Cg;

function BO(e) {
    return e.install = t => {
        const {
            name: n
        } = e;
        n && (t.component(n, e), t.component((0, mO.camelize)(`-${n}`), e))
    }, e
}
var Sg = Object.defineProperty,
    wO = Object.getOwnPropertyDescriptor,
    yO = Object.getOwnPropertyNames,
    CO = Object.prototype.hasOwnProperty,
    EO = (e, t) => {
        for (var n in t) Sg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    bO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of yO(t)) !CO.call(e, A) && A !== n && Sg(e, A, {
                get: () => t[A],
                enumerable: !(r = wO(t, A)) || r.enumerable
            });
        return e
    },
    xO = e => bO(Sg({}, "__esModule", {
        value: !0
    }), e),
    xw = {};
EO(xw, {
    closest: () => FO
});
var _O = xO(xw);

function FO(e, t) {
    return e.reduce((n, r) => Math.abs(n - t) < Math.abs(r - t) ? n : r)
}(function(e) {
    var t = Object.defineProperty,
        n = Object.getOwnPropertyDescriptor,
        r = Object.getOwnPropertyNames,
        A = Object.prototype.hasOwnProperty,
        i = (l, u, f, d) => {
            if (u && typeof u == "object" || typeof u == "function")
                for (let p of r(u)) !A.call(l, p) && p !== f && t(l, p, {
                    get: () => u[p],
                    enumerable: !(d = n(u, p)) || d.enumerable
                });
            return l
        },
        s = (l, u, f) => (i(l, u, "default"), f && i(f, u, "default")),
        o = l => i(t({}, "__esModule", {
            value: !0
        }), l),
        a = {};
    e.exports = o(a), s(a, Rs, e.exports), s(a, JQ, e.exports), s(a, Aw, e.exports), s(a, DP, e.exports), s(a, Cg, e.exports), s(a, GP, e.exports), s(a, lO, e.exports), s(a, vO, e.exports), s(a, _O, e.exports)
})(V9);
var Yn = V9.exports,
    Tg = Object.defineProperty,
    SO = Object.getOwnPropertyDescriptor,
    TO = Object.getOwnPropertyNames,
    IO = Object.prototype.hasOwnProperty,
    QO = (e, t) => {
        for (var n in t) Tg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    UO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of TO(t)) !IO.call(e, A) && A !== n && Tg(e, A, {
                get: () => t[A],
                enumerable: !(r = SO(t, A)) || r.enumerable
            });
        return e
    },
    PO = e => UO(Tg({}, "__esModule", {
        value: !0
    }), e),
    _w = {};
QO(_w, {
    useExpose: () => LO
});
var Fw = PO(_w),
    OO = en,
    DO = Yn;

function LO(e) {
    const t = (0, OO.getCurrentInstance)();
    t && (0, DO.extend)(t.proxy, e)
}
var Ig = Object.defineProperty,
    kO = Object.getOwnPropertyDescriptor,
    HO = Object.getOwnPropertyNames,
    MO = Object.prototype.hasOwnProperty,
    RO = (e, t) => {
        for (var n in t) Ig(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    NO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of HO(t)) !MO.call(e, A) && A !== n && Ig(e, A, {
                get: () => t[A],
                enumerable: !(r = kO(t, A)) || r.enumerable
            });
        return e
    },
    $O = e => NO(Ig({}, "__esModule", {
        value: !0
    }), e),
    Sw = {};
RO(Sw, {
    mountComponent: () => WO,
    usePopupState: () => jO
});
var KO = $O(Sw),
    Tw = en,
    VO = Rs,
    GO = Fw;

function jO() {
    const e = (0, Tw.reactive)({
            show: !1
        }),
        t = A => {
            e.show = A
        },
        n = A => {
            (0, VO.extend)(e, A, {
                transitionAppear: !0
            }), t(!0)
        },
        r = () => t(!1);
    return (0, GO.useExpose)({
        open: n,
        close: r,
        toggle: t
    }), {
        open: n,
        close: r,
        state: e,
        toggle: t
    }
}

function WO(e) {
    const t = (0, Tw.createApp)(e),
        n = document.createElement("div");
    return document.body.appendChild(n), {
        instance: t.mount(n),
        unmount() {
            t.unmount(), document.body.removeChild(n)
        }
    }
}
var Qg = Object.defineProperty,
    zO = Object.getOwnPropertyDescriptor,
    YO = Object.getOwnPropertyNames,
    XO = Object.prototype.hasOwnProperty,
    JO = (e, t) => {
        for (var n in t) Qg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    qO = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of YO(t)) !XO.call(e, A) && A !== n && Qg(e, A, {
                get: () => t[A],
                enumerable: !(r = zO(t, A)) || r.enumerable
            });
        return e
    },
    ZO = e => qO(Qg({}, "__esModule", {
        value: !0
    }), e),
    Iw = {};
JO(Iw, {
    lockClick: () => tD
});
var eD = ZO(Iw);
let Ol = 0;

function tD(e) {
    e ? (Ol || document.body.classList.add("van-toast--unclickable"), Ol++) : Ol && (Ol--, Ol || document.body.classList.remove("van-toast--unclickable"))
}
var Ug = Object.defineProperty,
    nD = Object.getOwnPropertyDescriptor,
    rD = Object.getOwnPropertyNames,
    AD = Object.prototype.hasOwnProperty,
    iD = (e, t) => {
        for (var n in t) Ug(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    sD = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of rD(t)) !AD.call(e, A) && A !== n && Ug(e, A, {
                get: () => t[A],
                enumerable: !(r = nD(t, A)) || r.enumerable
            });
        return e
    },
    oD = e => sD(Ug({}, "__esModule", {
        value: !0
    }), e),
    Qw = {};
iD(Qw, {
    badgeProps: () => Pw,
    default: () => lD
});
var Uw = oD(Qw),
    Ov = en,
    Dv = en,
    ar = Yn;
const [aD, Lv] = (0, ar.createNamespace)("badge"), Pw = {
    dot: Boolean,
    max: ar.numericProp,
    tag: (0, ar.makeStringProp)("div"),
    color: String,
    offset: Array,
    content: ar.numericProp,
    showZero: ar.truthProp,
    position: (0, ar.makeStringProp)("top-right")
};
var lD = (0, Dv.defineComponent)({
        name: aD,
        props: Pw,
        setup(e, {
            slots: t
        }) {
            const n = () => {
                    if (t.content) return !0;
                    const {
                        content: o,
                        showZero: a
                    } = e;
                    return (0, ar.isDef)(o) && o !== "" && (a || o !== 0 && o !== "0")
                },
                r = () => {
                    const {
                        dot: o,
                        max: a,
                        content: l
                    } = e;
                    if (!o && n()) return t.content ? t.content() : (0, ar.isDef)(a) && (0, ar.isNumeric)(l) && +l > +a ? `${a}+` : l
                },
                A = o => o.startsWith("-") ? o.replace("-", "") : `-${o}`,
                i = (0, Dv.computed)(() => {
                    const o = {
                        background: e.color
                    };
                    if (e.offset) {
                        const [a, l] = e.offset, {
                            position: u
                        } = e, [f, d] = u.split("-");
                        t.default ? (typeof l == "number" ? o[f] = (0, ar.addUnit)(f === "top" ? l : -l) : o[f] = f === "top" ? (0, ar.addUnit)(l) : A(l), typeof a == "number" ? o[d] = (0, ar.addUnit)(d === "left" ? a : -a) : o[d] = d === "left" ? (0, ar.addUnit)(a) : A(a)) : (o.marginTop = (0, ar.addUnit)(l), o.marginLeft = (0, ar.addUnit)(a))
                    }
                    return o
                }),
                s = () => {
                    if (n() || e.dot) return (0, Ov.createVNode)("div", {
                        class: Lv([e.position, {
                            dot: e.dot,
                            fixed: !!t.default
                        }]),
                        style: i.value
                    }, [r()])
                };
            return () => {
                if (t.default) {
                    const {
                        tag: o
                    } = e;
                    return (0, Ov.createVNode)(o, {
                        class: Lv("wrapper")
                    }, {
                        default: () => [t.default(), s()]
                    })
                }
                return s()
            }
        }
    }),
    uD = Object.create,
    w1 = Object.defineProperty,
    cD = Object.getOwnPropertyDescriptor,
    fD = Object.getOwnPropertyNames,
    dD = Object.getPrototypeOf,
    hD = Object.prototype.hasOwnProperty,
    pD = (e, t) => {
        for (var n in t) w1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    Ow = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of fD(t)) !hD.call(e, A) && A !== n && w1(e, A, {
                get: () => t[A],
                enumerable: !(r = cD(t, A)) || r.enumerable
            });
        return e
    },
    gD = (e, t, n) => (n = e != null ? uD(dD(e)) : {}, Ow(t || !e || !e.__esModule ? w1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    vD = e => Ow(w1({}, "__esModule", {
        value: !0
    }), e),
    Dw = {};
pD(Dw, {
    Badge: () => Lw,
    badgeProps: () => yD.badgeProps,
    default: () => CD
});
var mD = vD(Dw),
    BD = Yn,
    wD = gD(Uw),
    yD = Uw;
const Lw = (0, BD.withInstall)(wD.default);
var CD = Lw,
    Pg = Object.defineProperty,
    ED = Object.getOwnPropertyDescriptor,
    bD = Object.getOwnPropertyNames,
    xD = Object.prototype.hasOwnProperty,
    _D = (e, t) => {
        for (var n in t) Pg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    FD = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of bD(t)) !xD.call(e, A) && A !== n && Pg(e, A, {
                get: () => t[A],
                enumerable: !(r = ED(t, A)) || r.enumerable
            });
        return e
    },
    SD = e => FD(Pg({}, "__esModule", {
        value: !0
    }), e),
    kw = {};
_D(kw, {
    setGlobalZIndex: () => ID,
    useGlobalZIndex: () => TD
});
var Hw = SD(kw);
let Mw = 2e3;
const TD = () => ++Mw,
    ID = e => {
        Mw = e
    };
var Og = Object.defineProperty,
    QD = Object.getOwnPropertyDescriptor,
    UD = Object.getOwnPropertyNames,
    PD = Object.prototype.hasOwnProperty,
    OD = (e, t) => {
        for (var n in t) Og(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    DD = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of UD(t)) !PD.call(e, A) && A !== n && Og(e, A, {
                get: () => t[A],
                enumerable: !(r = QD(t, A)) || r.enumerable
            });
        return e
    },
    LD = e => DD(Og({}, "__esModule", {
        value: !0
    }), e),
    Rw = {};
OD(Rw, {
    CONFIG_PROVIDER_KEY: () => $w,
    configProviderProps: () => Kw,
    default: () => KD
});
var kD = LD(Rw),
    HD = en,
    SA = en,
    Co = Yn,
    MD = Hw;
const [Nw, RD] = (0, Co.createNamespace)("config-provider"), $w = Symbol(Nw), Kw = {
    tag: (0, Co.makeStringProp)("div"),
    theme: (0, Co.makeStringProp)("light"),
    zIndex: Number,
    themeVars: Object,
    themeVarsDark: Object,
    themeVarsLight: Object,
    themeVarsScope: (0, Co.makeStringProp)("local"),
    iconPrefix: String
};

function ND(e) {
    return e.replace(/([a-zA-Z])(\d)/g, "$1-$2")
}

function $D(e) {
    const t = {};
    return Object.keys(e).forEach(n => {
        const r = ND((0, Co.kebabCase)(n));
        t[`--van-${r}`] = e[n]
    }), t
}

function e0(e = {}, t = {}) {
    Object.keys(e).forEach(n => {
        e[n] !== t[n] && document.documentElement.style.setProperty(n, e[n])
    }), Object.keys(t).forEach(n => {
        e[n] || document.documentElement.style.removeProperty(n)
    })
}
var KD = (0, SA.defineComponent)({
        name: Nw,
        props: Kw,
        setup(e, {
            slots: t
        }) {
            const n = (0, SA.computed)(() => $D((0, Co.extend)({}, e.themeVars, e.theme === "dark" ? e.themeVarsDark : e.themeVarsLight)));
            if (Co.inBrowser) {
                const r = () => {
                        document.documentElement.classList.add(`van-theme-${e.theme}`)
                    },
                    A = (i = e.theme) => {
                        document.documentElement.classList.remove(`van-theme-${i}`)
                    };
                (0, SA.watch)(() => e.theme, (i, s) => {
                    s && A(s), r()
                }, {
                    immediate: !0
                }), (0, SA.onActivated)(r), (0, SA.onDeactivated)(A), (0, SA.onBeforeUnmount)(A), (0, SA.watch)(n, (i, s) => {
                    e.themeVarsScope === "global" && e0(i, s)
                }), (0, SA.watch)(() => e.themeVarsScope, (i, s) => {
                    s === "global" && e0({}, n.value), i === "global" && e0(n.value, {})
                }), e.themeVarsScope === "global" && e0(n.value, {})
            }
            return (0, SA.provide)($w, e), (0, SA.watchEffect)(() => {
                e.zIndex !== void 0 && (0, MD.setGlobalZIndex)(e.zIndex)
            }), () => (0, HD.createVNode)(e.tag, {
                class: RD(),
                style: e.themeVarsScope === "local" ? n.value : void 0
            }, {
                default: () => {
                    var r;
                    return [(r = t.default) == null ? void 0 : r.call(t)]
                }
            })
        }
    }),
    Dg = Object.defineProperty,
    VD = Object.getOwnPropertyDescriptor,
    GD = Object.getOwnPropertyNames,
    jD = Object.prototype.hasOwnProperty,
    WD = (e, t) => {
        for (var n in t) Dg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    zD = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of GD(t)) !jD.call(e, A) && A !== n && Dg(e, A, {
                get: () => t[A],
                enumerable: !(r = VD(t, A)) || r.enumerable
            });
        return e
    },
    YD = e => zD(Dg({}, "__esModule", {
        value: !0
    }), e),
    Vw = {};
WD(Vw, {
    default: () => eL,
    iconProps: () => jw
});
var Gw = YD(Vw),
    Rd = en,
    Nd = en,
    vu = Yn,
    XD = mD,
    JD = kD;
const [qD, kv] = (0, vu.createNamespace)("icon"), ZD = e => e == null ? void 0 : e.includes("/"), jw = {
    dot: Boolean,
    tag: (0, vu.makeStringProp)("i"),
    name: String,
    size: vu.numericProp,
    badge: vu.numericProp,
    color: String,
    badgeProps: Object,
    classPrefix: String
};
var eL = (0, Nd.defineComponent)({
        name: qD,
        props: jw,
        setup(e, {
            slots: t
        }) {
            const n = (0, Nd.inject)(JD.CONFIG_PROVIDER_KEY, null),
                r = (0, Nd.computed)(() => e.classPrefix || (n == null ? void 0 : n.iconPrefix) || kv());
            return () => {
                const {
                    tag: A,
                    dot: i,
                    name: s,
                    size: o,
                    badge: a,
                    color: l
                } = e, u = ZD(s);
                return (0, Rd.createVNode)(XD.Badge, (0, Rd.mergeProps)({
                    dot: i,
                    tag: A,
                    class: [r.value, u ? "" : `${r.value}-${s}`],
                    style: {
                        color: l,
                        fontSize: (0, vu.addUnit)(o)
                    },
                    content: a
                }, e.badgeProps), {
                    default: () => {
                        var f;
                        return [(f = t.default) == null ? void 0 : f.call(t), u && (0, Rd.createVNode)("img", {
                            class: kv("image"),
                            src: s
                        }, null)]
                    }
                })
            }
        }
    }),
    tL = Object.create,
    y1 = Object.defineProperty,
    nL = Object.getOwnPropertyDescriptor,
    rL = Object.getOwnPropertyNames,
    AL = Object.getPrototypeOf,
    iL = Object.prototype.hasOwnProperty,
    sL = (e, t) => {
        for (var n in t) y1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    Ww = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of rL(t)) !iL.call(e, A) && A !== n && y1(e, A, {
                get: () => t[A],
                enumerable: !(r = nL(t, A)) || r.enumerable
            });
        return e
    },
    oL = (e, t, n) => (n = e != null ? tL(AL(e)) : {}, Ww(t || !e || !e.__esModule ? y1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    aL = e => Ww(y1({}, "__esModule", {
        value: !0
    }), e),
    zw = {};
sL(zw, {
    Icon: () => Xw,
    default: () => fL,
    iconProps: () => cL.iconProps
});
var Yw = aL(zw),
    lL = Yn,
    uL = oL(Gw),
    cL = Gw;
const Xw = (0, lL.withInstall)(uL.default);
var fL = Xw,
    Lg = Object.defineProperty,
    dL = Object.getOwnPropertyDescriptor,
    hL = Object.getOwnPropertyNames,
    pL = Object.prototype.hasOwnProperty,
    gL = (e, t) => {
        for (var n in t) Lg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    vL = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of hL(t)) !pL.call(e, A) && A !== n && Lg(e, A, {
                get: () => t[A],
                enumerable: !(r = dL(t, A)) || r.enumerable
            });
        return e
    },
    mL = e => vL(Lg({}, "__esModule", {
        value: !0
    }), e),
    Jw = {};
gL(Jw, {
    popupSharedPropKeys: () => wL,
    popupSharedProps: () => qw
});
var BL = mL(Jw),
    to = Yn;
const qw = {
        show: Boolean,
        zIndex: to.numericProp,
        overlay: to.truthProp,
        duration: to.numericProp,
        teleport: [String, Object],
        lockScroll: to.truthProp,
        lazyRender: to.truthProp,
        beforeClose: Function,
        overlayStyle: Object,
        overlayClass: to.unknownProp,
        transitionAppear: Boolean,
        closeOnClickOverlay: to.truthProp
    },
    wL = Object.keys(qw);
var kg = Object.defineProperty,
    yL = Object.getOwnPropertyDescriptor,
    CL = Object.getOwnPropertyNames,
    EL = Object.prototype.hasOwnProperty,
    bL = (e, t) => {
        for (var n in t) kg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    xL = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of CL(t)) !EL.call(e, A) && A !== n && kg(e, A, {
                get: () => t[A],
                enumerable: !(r = yL(t, A)) || r.enumerable
            });
        return e
    },
    _L = e => xL(kg({}, "__esModule", {
        value: !0
    }), e),
    Zw = {};
bL(Zw, {
    useTouch: () => TL
});
var FL = _L(Zw),
    qi = en,
    Hv = Yn;

function SL(e, t) {
    return e > t ? "horizontal" : t > e ? "vertical" : ""
}

function TL() {
    const e = (0, qi.ref)(0),
        t = (0, qi.ref)(0),
        n = (0, qi.ref)(0),
        r = (0, qi.ref)(0),
        A = (0, qi.ref)(0),
        i = (0, qi.ref)(0),
        s = (0, qi.ref)(""),
        o = (0, qi.ref)(!0),
        a = () => s.value === "vertical",
        l = () => s.value === "horizontal",
        u = () => {
            n.value = 0, r.value = 0, A.value = 0, i.value = 0, s.value = "", o.value = !0
        };
    return {
        move: p => {
            const v = p.touches[0];
            n.value = (v.clientX < 0 ? 0 : v.clientX) - e.value, r.value = v.clientY - t.value, A.value = Math.abs(n.value), i.value = Math.abs(r.value);
            const B = 10;
            (!s.value || A.value < B && i.value < B) && (s.value = SL(A.value, i.value)), o.value && (A.value > Hv.TAP_OFFSET || i.value > Hv.TAP_OFFSET) && (o.value = !1)
        },
        start: p => {
            u(), e.value = p.touches[0].clientX, t.value = p.touches[0].clientY
        },
        reset: u,
        startX: e,
        startY: t,
        deltaX: n,
        deltaY: r,
        offsetX: A,
        offsetY: i,
        direction: s,
        isVertical: a,
        isHorizontal: l,
        isTap: o
    }
}
var Hg = Object.defineProperty,
    IL = Object.getOwnPropertyDescriptor,
    QL = Object.getOwnPropertyNames,
    UL = Object.prototype.hasOwnProperty,
    PL = (e, t) => {
        for (var n in t) Hg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    OL = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of QL(t)) !UL.call(e, A) && A !== n && Hg(e, A, {
                get: () => t[A],
                enumerable: !(r = IL(t, A)) || r.enumerable
            });
        return e
    },
    DL = e => OL(Hg({}, "__esModule", {
        value: !0
    }), e),
    ey = {};
PL(ey, {
    useLockScroll: () => ML
});
var LL = DL(ey),
    $d = en,
    Mv = v1,
    kL = FL,
    HL = Yn;
let Dl = 0;
const Rv = "van-overflow-hidden";

function ML(e, t) {
    const n = (0, kL.useTouch)(),
        r = "01",
        A = "10",
        i = u => {
            n.move(u);
            const f = n.deltaY.value > 0 ? A : r,
                d = (0, Mv.getScrollParent)(u.target, e.value),
                {
                    scrollHeight: p,
                    offsetHeight: v,
                    scrollTop: B
                } = d;
            let C = "11";
            B === 0 ? C = v >= p ? "00" : "01" : B + v >= p && (C = "10"), C !== "11" && n.isVertical() && !(parseInt(C, 2) & parseInt(f, 2)) && (0, HL.preventDefault)(u, !0)
        },
        s = () => {
            document.addEventListener("touchstart", n.start), document.addEventListener("touchmove", i, {
                passive: !1
            }), Dl || document.body.classList.add(Rv), Dl++
        },
        o = () => {
            Dl && (document.removeEventListener("touchstart", n.start), document.removeEventListener("touchmove", i), Dl--, Dl || document.body.classList.remove(Rv))
        },
        a = () => t() && s(),
        l = () => t() && o();
    (0, Mv.onMountedOrActivated)(a), (0, $d.onDeactivated)(l), (0, $d.onBeforeUnmount)(l), (0, $d.watch)(t, u => {
        u ? s() : o()
    })
}
var Mg = Object.defineProperty,
    RL = Object.getOwnPropertyDescriptor,
    NL = Object.getOwnPropertyNames,
    $L = Object.prototype.hasOwnProperty,
    KL = (e, t) => {
        for (var n in t) Mg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    VL = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of NL(t)) !$L.call(e, A) && A !== n && Mg(e, A, {
                get: () => t[A],
                enumerable: !(r = RL(t, A)) || r.enumerable
            });
        return e
    },
    GL = e => VL(Mg({}, "__esModule", {
        value: !0
    }), e),
    ty = {};
KL(ty, {
    useLazyRender: () => jL
});
var ny = GL(ty),
    Nv = en;

function jL(e) {
    const t = (0, Nv.ref)(!1);
    return (0, Nv.watch)(e, n => {
        n && (t.value = n)
    }, {
        immediate: !0
    }), n => () => t.value ? n() : null
}
var Rg = Object.defineProperty,
    WL = Object.getOwnPropertyDescriptor,
    zL = Object.getOwnPropertyNames,
    YL = Object.prototype.hasOwnProperty,
    XL = (e, t) => {
        for (var n in t) Rg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    JL = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of zL(t)) !YL.call(e, A) && A !== n && Rg(e, A, {
                get: () => t[A],
                enumerable: !(r = WL(t, A)) || r.enumerable
            });
        return e
    },
    qL = e => JL(Rg({}, "__esModule", {
        value: !0
    }), e),
    ry = {};
XL(ry, {
    POPUP_TOGGLE_KEY: () => Ay,
    onPopupReopen: () => ek
});
var ZL = qL(ry),
    $v = en;
const Ay = Symbol();

function ek(e) {
    const t = (0, $v.inject)(Ay, null);
    t && (0, $v.watch)(t, n => {
        n && e()
    })
}
var Ng = Object.defineProperty,
    tk = Object.getOwnPropertyDescriptor,
    nk = Object.getOwnPropertyNames,
    rk = Object.prototype.hasOwnProperty,
    Ak = (e, t) => {
        for (var n in t) Ng(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    ik = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of nk(t)) !rk.call(e, A) && A !== n && Ng(e, A, {
                get: () => t[A],
                enumerable: !(r = tk(t, A)) || r.enumerable
            });
        return e
    },
    sk = e => ik(Ng({}, "__esModule", {
        value: !0
    }), e),
    iy = {};
Ak(iy, {
    useScopeId: () => lk
});
var ok = sk(iy),
    ak = en;
const lk = () => {
    var e;
    const {
        scopeId: t
    } = ((e = (0, ak.getCurrentInstance)()) == null ? void 0 : e.vnode) || {};
    return t ? {
        [t]: ""
    } : null
};
var $g = Object.defineProperty,
    uk = Object.getOwnPropertyDescriptor,
    ck = Object.getOwnPropertyNames,
    fk = Object.prototype.hasOwnProperty,
    dk = (e, t) => {
        for (var n in t) $g(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    hk = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of ck(t)) !fk.call(e, A) && A !== n && $g(e, A, {
                get: () => t[A],
                enumerable: !(r = uk(t, A)) || r.enumerable
            });
        return e
    },
    pk = e => hk($g({}, "__esModule", {
        value: !0
    }), e),
    sy = {};
dk(sy, {
    default: () => wk,
    overlayProps: () => ay
});
var oy = pk(sy),
    t0 = en,
    Kd = en,
    LA = Yn,
    gk = v1,
    vk = ny;
const [mk, Bk] = (0, LA.createNamespace)("overlay"), ay = {
    show: Boolean,
    zIndex: LA.numericProp,
    duration: LA.numericProp,
    className: LA.unknownProp,
    lockScroll: LA.truthProp,
    lazyRender: LA.truthProp,
    customStyle: Object
};
var wk = (0, Kd.defineComponent)({
        name: mk,
        props: ay,
        setup(e, {
            slots: t
        }) {
            const n = (0, Kd.ref)(),
                r = (0, vk.useLazyRender)(() => e.show || !e.lazyRender),
                A = s => {
                    e.lockScroll && (0, LA.preventDefault)(s, !0)
                },
                i = r(() => {
                    var s;
                    const o = (0, LA.extend)((0, LA.getZIndexStyle)(e.zIndex), e.customStyle);
                    return (0, LA.isDef)(e.duration) && (o.animationDuration = `${e.duration}s`), (0, t0.withDirectives)((0, t0.createVNode)("div", {
                        ref: n,
                        style: o,
                        class: [Bk(), e.className]
                    }, [(s = t.default) == null ? void 0 : s.call(t)]), [
                        [t0.vShow, e.show]
                    ])
                });
            return (0, gk.useEventListener)("touchmove", A, {
                target: n
            }), () => (0, t0.createVNode)(Kd.Transition, {
                name: "van-fade",
                appear: !0
            }, {
                default: i
            })
        }
    }),
    yk = Object.create,
    C1 = Object.defineProperty,
    Ck = Object.getOwnPropertyDescriptor,
    Ek = Object.getOwnPropertyNames,
    bk = Object.getPrototypeOf,
    xk = Object.prototype.hasOwnProperty,
    _k = (e, t) => {
        for (var n in t) C1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    ly = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of Ek(t)) !xk.call(e, A) && A !== n && C1(e, A, {
                get: () => t[A],
                enumerable: !(r = Ck(t, A)) || r.enumerable
            });
        return e
    },
    Fk = (e, t, n) => (n = e != null ? yk(bk(e)) : {}, ly(t || !e || !e.__esModule ? C1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    Sk = e => ly(C1({}, "__esModule", {
        value: !0
    }), e),
    uy = {};
_k(uy, {
    Overlay: () => cy,
    default: () => Pk,
    overlayProps: () => Uk.overlayProps
});
var Tk = Sk(uy),
    Ik = Yn,
    Qk = Fk(oy),
    Uk = oy;
const cy = (0, Ik.withInstall)(Qk.default);
var Pk = cy,
    Kg = Object.defineProperty,
    Ok = Object.getOwnPropertyDescriptor,
    Dk = Object.getOwnPropertyNames,
    Lk = Object.prototype.hasOwnProperty,
    kk = (e, t) => {
        for (var n in t) Kg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    Hk = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of Dk(t)) !Lk.call(e, A) && A !== n && Kg(e, A, {
                get: () => t[A],
                enumerable: !(r = Ok(t, A)) || r.enumerable
            });
        return e
    },
    Mk = e => Hk(Kg({}, "__esModule", {
        value: !0
    }), e),
    fy = {};
kk(fy, {
    default: () => Xk,
    popupProps: () => hy
});
var dy = Mk(fy),
    uA = en,
    Yr = en,
    Rk = BL,
    ds = Yn,
    Nk = v1,
    $k = Fw,
    Kk = LL,
    Vk = ny,
    Gk = ZL,
    jk = Hw,
    Kv = ok,
    Wk = Yw,
    zk = Tk;
const hy = (0, ds.extend)({}, Rk.popupSharedProps, {
        round: Boolean,
        position: (0, ds.makeStringProp)("center"),
        closeIcon: (0, ds.makeStringProp)("cross"),
        closeable: Boolean,
        transition: String,
        iconPrefix: String,
        closeOnPopstate: Boolean,
        closeIconPosition: (0, ds.makeStringProp)("top-right"),
        safeAreaInsetTop: Boolean,
        safeAreaInsetBottom: Boolean
    }),
    [Yk, Vv] = (0, ds.createNamespace)("popup");
var Xk = (0, Yr.defineComponent)({
        name: Yk,
        inheritAttrs: !1,
        props: hy,
        emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
        setup(e, {
            emit: t,
            attrs: n,
            slots: r
        }) {
            let A, i;
            const s = (0, Yr.ref)(),
                o = (0, Yr.ref)(),
                a = (0, Vk.useLazyRender)(() => e.show || !e.lazyRender),
                l = (0, Yr.computed)(() => {
                    const F = {
                        zIndex: s.value
                    };
                    if ((0, ds.isDef)(e.duration)) {
                        const Q = e.position === "center" ? "animationDuration" : "transitionDuration";
                        F[Q] = `${e.duration}s`
                    }
                    return F
                }),
                u = () => {
                    A || (A = !0, s.value = e.zIndex !== void 0 ? +e.zIndex : (0, jk.useGlobalZIndex)(), t("open"))
                },
                f = () => {
                    A && (0, ds.callInterceptor)(e.beforeClose, {
                        done() {
                            A = !1, t("close"), t("update:show", !1)
                        }
                    })
                },
                d = F => {
                    t("clickOverlay", F), e.closeOnClickOverlay && f()
                },
                p = () => {
                    if (e.overlay) return (0, uA.createVNode)(zk.Overlay, (0, uA.mergeProps)({
                        show: e.show,
                        class: e.overlayClass,
                        zIndex: s.value,
                        duration: e.duration,
                        customStyle: e.overlayStyle,
                        role: e.closeOnClickOverlay ? "button" : void 0,
                        tabindex: e.closeOnClickOverlay ? 0 : void 0
                    }, (0, Kv.useScopeId)(), {
                        onClick: d
                    }), {
                        default: r["overlay-content"]
                    })
                },
                v = F => {
                    t("clickCloseIcon", F), f()
                },
                B = () => {
                    if (e.closeable) return (0, uA.createVNode)(Wk.Icon, {
                        role: "button",
                        tabindex: 0,
                        name: e.closeIcon,
                        class: [Vv("close-icon", e.closeIconPosition), ds.HAPTICS_FEEDBACK],
                        classPrefix: e.iconPrefix,
                        onClick: v
                    }, null)
                };
            let C;
            const w = () => {
                    C && clearTimeout(C), C = setTimeout(() => {
                        t("opened")
                    })
                },
                m = () => t("closed"),
                E = F => t("keydown", F),
                y = a(() => {
                    var F;
                    const {
                        round: Q,
                        position: P,
                        safeAreaInsetTop: L,
                        safeAreaInsetBottom: I
                    } = e;
                    return (0, uA.withDirectives)((0, uA.createVNode)("div", (0, uA.mergeProps)({
                        ref: o,
                        style: l.value,
                        role: "dialog",
                        tabindex: 0,
                        class: [Vv({
                            round: Q,
                            [P]: P
                        }), {
                            "van-safe-area-top": L,
                            "van-safe-area-bottom": I
                        }],
                        onKeydown: E
                    }, n, (0, Kv.useScopeId)()), [(F = r.default) == null ? void 0 : F.call(r), B()]), [
                        [uA.vShow, e.show]
                    ])
                }),
                x = () => {
                    const {
                        position: F,
                        transition: Q,
                        transitionAppear: P
                    } = e, L = F === "center" ? "van-fade" : `van-popup-slide-${F}`;
                    return (0, uA.createVNode)(Yr.Transition, {
                        name: Q || L,
                        appear: P,
                        onAfterEnter: w,
                        onAfterLeave: m
                    }, {
                        default: y
                    })
                };
            return (0, Yr.watch)(() => e.show, F => {
                F && !A && (u(), n.tabindex === 0 && (0, Yr.nextTick)(() => {
                    var Q;
                    (Q = o.value) == null || Q.focus()
                })), !F && A && (A = !1, t("close"))
            }), (0, $k.useExpose)({
                popupRef: o
            }), (0, Kk.useLockScroll)(o, () => e.show && e.lockScroll), (0, Nk.useEventListener)("popstate", () => {
                e.closeOnPopstate && (f(), i = !1)
            }), (0, Yr.onMounted)(() => {
                e.show && u()
            }), (0, Yr.onActivated)(() => {
                i && (t("update:show", !0), i = !1)
            }), (0, Yr.onDeactivated)(() => {
                e.show && e.teleport && (f(), i = !0)
            }), (0, Yr.provide)(Gk.POPUP_TOGGLE_KEY, () => e.show), () => e.teleport ? (0, uA.createVNode)(Yr.Teleport, {
                to: e.teleport
            }, {
                default: () => [p(), x()]
            }) : (0, uA.createVNode)(uA.Fragment, null, [p(), x()])
        }
    }),
    Jk = Object.create,
    E1 = Object.defineProperty,
    qk = Object.getOwnPropertyDescriptor,
    Zk = Object.getOwnPropertyNames,
    eH = Object.getPrototypeOf,
    tH = Object.prototype.hasOwnProperty,
    nH = (e, t) => {
        for (var n in t) E1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    py = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of Zk(t)) !tH.call(e, A) && A !== n && E1(e, A, {
                get: () => t[A],
                enumerable: !(r = qk(t, A)) || r.enumerable
            });
        return e
    },
    rH = (e, t, n) => (n = e != null ? Jk(eH(e)) : {}, py(t || !e || !e.__esModule ? E1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    AH = e => py(E1({}, "__esModule", {
        value: !0
    }), e),
    gy = {};
nH(gy, {
    Popup: () => vy,
    default: () => lH,
    popupProps: () => aH.popupProps
});
var iH = AH(gy),
    sH = Yn,
    oH = rH(dy),
    aH = dy;
const vy = (0, sH.withInstall)(oH.default);
var lH = vy,
    Vg = Object.defineProperty,
    uH = Object.getOwnPropertyDescriptor,
    cH = Object.getOwnPropertyNames,
    fH = Object.prototype.hasOwnProperty,
    dH = (e, t) => {
        for (var n in t) Vg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    hH = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of cH(t)) !fH.call(e, A) && A !== n && Vg(e, A, {
                get: () => t[A],
                enumerable: !(r = uH(t, A)) || r.enumerable
            });
        return e
    },
    pH = e => hH(Vg({}, "__esModule", {
        value: !0
    }), e),
    my = {};
dH(my, {
    default: () => BH,
    loadingProps: () => wy
});
var By = pH(my),
    Pa = en,
    Gv = en,
    Eo = Yn;
const [gH, mu] = (0, Eo.createNamespace)("loading"), vH = Array(12).fill(null).map((e, t) => (0, Pa.createVNode)("i", {
    class: mu("line", String(t + 1))
}, null)), mH = (0, Pa.createVNode)("svg", {
    class: mu("circular"),
    viewBox: "25 25 50 50"
}, [(0, Pa.createVNode)("circle", {
    cx: "50",
    cy: "50",
    r: "20",
    fill: "none"
}, null)]), wy = {
    size: Eo.numericProp,
    type: (0, Eo.makeStringProp)("circular"),
    color: String,
    vertical: Boolean,
    textSize: Eo.numericProp,
    textColor: String
};
var BH = (0, Gv.defineComponent)({
        name: gH,
        props: wy,
        setup(e, {
            slots: t
        }) {
            const n = (0, Gv.computed)(() => (0, Eo.extend)({
                    color: e.color
                }, (0, Eo.getSizeStyle)(e.size))),
                r = () => {
                    const i = e.type === "spinner" ? vH : mH;
                    return (0, Pa.createVNode)("span", {
                        class: mu("spinner", e.type),
                        style: n.value
                    }, [t.icon ? t.icon() : i])
                },
                A = () => {
                    var i;
                    if (t.default) return (0, Pa.createVNode)("span", {
                        class: mu("text"),
                        style: {
                            fontSize: (0, Eo.addUnit)(e.textSize),
                            color: (i = e.textColor) != null ? i : e.color
                        }
                    }, [t.default()])
                };
            return () => {
                const {
                    type: i,
                    vertical: s
                } = e;
                return (0, Pa.createVNode)("div", {
                    class: mu([i, {
                        vertical: s
                    }]),
                    "aria-live": "polite",
                    "aria-busy": !0
                }, [r(), A()])
            }
        }
    }),
    wH = Object.create,
    b1 = Object.defineProperty,
    yH = Object.getOwnPropertyDescriptor,
    CH = Object.getOwnPropertyNames,
    EH = Object.getPrototypeOf,
    bH = Object.prototype.hasOwnProperty,
    xH = (e, t) => {
        for (var n in t) b1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    yy = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of CH(t)) !bH.call(e, A) && A !== n && b1(e, A, {
                get: () => t[A],
                enumerable: !(r = yH(t, A)) || r.enumerable
            });
        return e
    },
    _H = (e, t, n) => (n = e != null ? wH(EH(e)) : {}, yy(t || !e || !e.__esModule ? b1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    FH = e => yy(b1({}, "__esModule", {
        value: !0
    }), e),
    Cy = {};
xH(Cy, {
    Loading: () => Ey,
    default: () => UH,
    loadingProps: () => QH.loadingProps
});
var SH = FH(Cy),
    TH = Yn,
    IH = _H(By),
    QH = By;
const Ey = (0, TH.withInstall)(IH.default);
var UH = Ey,
    Gg = Object.defineProperty,
    PH = Object.getOwnPropertyDescriptor,
    OH = Object.getOwnPropertyNames,
    DH = Object.prototype.hasOwnProperty,
    LH = (e, t) => {
        for (var n in t) Gg(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    kH = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of OH(t)) !DH.call(e, A) && A !== n && Gg(e, A, {
                get: () => t[A],
                enumerable: !(r = PH(t, A)) || r.enumerable
            });
        return e
    },
    HH = e => kH(Gg({}, "__esModule", {
        value: !0
    }), e),
    by = {};
LH(by, {
    default: () => jH,
    toastProps: () => xy
});
var MH = HH(by),
    no = en,
    Ll = en,
    Zr = Yn,
    RH = eD,
    NH = Yw,
    $H = iH,
    KH = SH;
const [VH, ia] = (0, Zr.createNamespace)("toast"), GH = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"], xy = {
    icon: String,
    show: Boolean,
    type: (0, Zr.makeStringProp)("text"),
    overlay: Boolean,
    message: Zr.numericProp,
    iconSize: Zr.numericProp,
    duration: (0, Zr.makeNumberProp)(2e3),
    position: (0, Zr.makeStringProp)("middle"),
    teleport: [String, Object],
    wordBreak: String,
    className: Zr.unknownProp,
    iconPrefix: String,
    transition: (0, Zr.makeStringProp)("van-fade"),
    loadingType: String,
    forbidClick: Boolean,
    overlayClass: Zr.unknownProp,
    overlayStyle: Object,
    closeOnClick: Boolean,
    closeOnClickOverlay: Boolean,
    zIndex: Zr.numericProp
};
var jH = (0, Ll.defineComponent)({
        name: VH,
        props: xy,
        emits: ["update:show"],
        setup(e, {
            emit: t,
            slots: n
        }) {
            let r, A = !1;
            const i = () => {
                    const f = e.show && e.forbidClick;
                    A !== f && (A = f, (0, RH.lockClick)(A))
                },
                s = f => t("update:show", f),
                o = () => {
                    e.closeOnClick && s(!1)
                },
                a = () => clearTimeout(r),
                l = () => {
                    const {
                        icon: f,
                        type: d,
                        iconSize: p,
                        iconPrefix: v,
                        loadingType: B
                    } = e;
                    if (f || d === "success" || d === "fail") return (0, no.createVNode)(NH.Icon, {
                        name: f || d,
                        size: p,
                        class: ia("icon"),
                        classPrefix: v
                    }, null);
                    if (d === "loading") return (0, no.createVNode)(KH.Loading, {
                        class: ia("loading"),
                        size: p,
                        type: B
                    }, null)
                },
                u = () => {
                    const {
                        type: f,
                        message: d
                    } = e;
                    if (n.message) return (0, no.createVNode)("div", {
                        class: ia("text")
                    }, [n.message()]);
                    if ((0, Zr.isDef)(d) && d !== "") return f === "html" ? (0, no.createVNode)("div", {
                        key: 0,
                        class: ia("text"),
                        innerHTML: String(d)
                    }, null) : (0, no.createVNode)("div", {
                        class: ia("text")
                    }, [d])
                };
            return (0, Ll.watch)(() => [e.show, e.forbidClick], i), (0, Ll.watch)(() => [e.show, e.type, e.message, e.duration], () => {
                a(), e.show && e.duration > 0 && (r = setTimeout(() => {
                    s(!1)
                }, e.duration))
            }), (0, Ll.onMounted)(i), (0, Ll.onUnmounted)(i), () => (0, no.createVNode)($H.Popup, (0, no.mergeProps)({
                class: [ia([e.position, e.wordBreak === "normal" ? "break-normal" : e.wordBreak, {
                    [e.type]: !e.icon
                }]), e.className],
                lockScroll: !1,
                onClick: o,
                onClosed: a,
                "onUpdate:show": s
            }, (0, Zr.pick)(e, GH)), {
                default: () => [l(), u()]
            })
        }
    }),
    WH = Object.create,
    x1 = Object.defineProperty,
    zH = Object.getOwnPropertyDescriptor,
    YH = Object.getOwnPropertyNames,
    XH = Object.getPrototypeOf,
    JH = Object.prototype.hasOwnProperty,
    qH = (e, t) => {
        for (var n in t) x1(e, n, {
            get: t[n],
            enumerable: !0
        })
    },
    _y = (e, t, n, r) => {
        if (t && typeof t == "object" || typeof t == "function")
            for (let A of YH(t)) !JH.call(e, A) && A !== n && x1(e, A, {
                get: () => t[A],
                enumerable: !(r = zH(t, A)) || r.enumerable
            });
        return e
    },
    ZH = (e, t, n) => (n = e != null ? WH(XH(e)) : {}, _y(t || !e || !e.__esModule ? x1(n, "default", {
        value: e,
        enumerable: !0
    }) : n, e)),
    eM = e => _y(x1({}, "__esModule", {
        value: !0
    }), e),
    Fy = {};
qH(Fy, {
    allowMultipleToast: () => uM,
    closeToast: () => oM,
    resetToastDefaultOptions: () => lM,
    setToastDefaultOptions: () => aM,
    showFailToast: () => sM,
    showLoadingToast: () => AM,
    showSuccessToast: () => iM,
    showToast: () => Iy
});
var fse = eM(Fy),
    jv = en,
    Vd = en,
    Qo = Yn,
    Wv = KO,
    tM = ZH(MH);
const Sy = {
    icon: "",
    type: "text",
    message: "",
    className: "",
    overlay: !1,
    onClose: void 0,
    onOpened: void 0,
    duration: 2e3,
    teleport: "body",
    iconSize: void 0,
    iconPrefix: void 0,
    position: "middle",
    transition: "van-fade",
    forbidClick: !1,
    loadingType: void 0,
    overlayClass: "",
    overlayStyle: void 0,
    closeOnClick: !1,
    closeOnClickOverlay: !1
};
let gA = [],
    _1 = !1,
    wf = (0, Qo.extend)({}, Sy);
const yf = new Map;

function Ty(e) {
    return (0, Qo.isObject)(e) ? e : {
        message: e
    }
}

function nM() {
    const {
        instance: e,
        unmount: t
    } = (0, Wv.mountComponent)({
        setup() {
            const n = (0, Vd.ref)(""),
                {
                    open: r,
                    state: A,
                    close: i,
                    toggle: s
                } = (0, Wv.usePopupState)(),
                o = () => {
                    _1 && (gA = gA.filter(l => l !== e), t())
                },
                a = () => {
                    const l = {
                        onClosed: o,
                        "onUpdate:show": s
                    };
                    return (0, jv.createVNode)(tM.default, (0, jv.mergeProps)(A, l), null)
                };
            return (0, Vd.watch)(n, l => {
                A.message = l
            }), (0, Vd.getCurrentInstance)().render = a, {
                open: r,
                close: i,
                message: n
            }
        }
    });
    return e
}

function rM() {
    if (!gA.length || _1) {
        const e = nM();
        gA.push(e)
    }
    return gA[gA.length - 1]
}

function Iy(e = {}) {
    if (!Qo.inBrowser) return {};
    const t = rM(),
        n = Ty(e);
    return t.open((0, Qo.extend)({}, wf, yf.get(n.type || wf.type), n)), t
}
const jg = e => t => Iy((0, Qo.extend)({
        type: e
    }, Ty(t))),
    AM = jg("loading"),
    iM = jg("success"),
    sM = jg("fail"),
    oM = e => {
        var t;
        gA.length && (e ? (gA.forEach(n => {
            n.close()
        }), gA = []) : _1 ? (t = gA.shift()) == null || t.close() : gA[0].close())
    };

function aM(e, t) {
    typeof e == "string" ? yf.set(e, t) : (0, Qo.extend)(wf, e)
}
const lM = e => {
        typeof e == "string" ? yf.delete(e) : (wf = (0, Qo.extend)({}, Sy), yf.clear())
    },
    uM = (e = !0) => {
        _1 = e
    };
var Qy = {
    exports: {}
};

function cM(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 Gd = {
    exports: {}
};
const fM = new Proxy({}, {
        get(e, t) {
            throw new Error(`Module "" has been externalized for browser compatibility. Cannot access ".${t}" in client code.  See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)
        }
    }),
    dM = Object.freeze(Object.defineProperty({
        __proto__: null,
        default: fM
    }, Symbol.toStringTag, {
        value: "Module"
    })),
    hM = dg(dM);
var zv;

function Qt() {
    return zv || (zv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r()
        })(yt, function() {
            var n = n || function(r, A) {
                var i;
                if (typeof window < "u" && window.crypto && (i = window.crypto), typeof self < "u" && self.crypto && (i = self.crypto), typeof globalThis < "u" && globalThis.crypto && (i = globalThis.crypto), !i && typeof window < "u" && window.msCrypto && (i = window.msCrypto), !i && typeof yt < "u" && yt.crypto && (i = yt.crypto), !i && typeof cM == "function") try {
                    i = hM
                } catch {}
                var s = function() {
                        if (i) {
                            if (typeof i.getRandomValues == "function") try {
                                return i.getRandomValues(new Uint32Array(1))[0]
                            } catch {}
                            if (typeof i.randomBytes == "function") try {
                                return i.randomBytes(4).readInt32LE()
                            } catch {}
                        }
                        throw new Error("Native crypto module could not be used to get secure random number.")
                    },
                    o = Object.create || function() {
                        function m() {}
                        return function(E) {
                            var y;
                            return m.prototype = E, y = new m, m.prototype = null, y
                        }
                    }(),
                    a = {},
                    l = a.lib = {},
                    u = l.Base = function() {
                        return {
                            extend: function(m) {
                                var E = o(this);
                                return m && E.mixIn(m), (!E.hasOwnProperty("init") || this.init === E.init) && (E.init = function() {
                                    E.$super.init.apply(this, arguments)
                                }), E.init.prototype = E, E.$super = this, E
                            },
                            create: function() {
                                var m = this.extend();
                                return m.init.apply(m, arguments), m
                            },
                            init: function() {},
                            mixIn: function(m) {
                                for (var E in m) m.hasOwnProperty(E) && (this[E] = m[E]);
                                m.hasOwnProperty("toString") && (this.toString = m.toString)
                            },
                            clone: function() {
                                return this.init.prototype.extend(this)
                            }
                        }
                    }(),
                    f = l.WordArray = u.extend({
                        init: function(m, E) {
                            m = this.words = m || [], E != A ? this.sigBytes = E : this.sigBytes = m.length * 4
                        },
                        toString: function(m) {
                            return (m || p).stringify(this)
                        },
                        concat: function(m) {
                            var E = this.words,
                                y = m.words,
                                x = this.sigBytes,
                                F = m.sigBytes;
                            if (this.clamp(), x % 4)
                                for (var Q = 0; Q < F; Q++) {
                                    var P = y[Q >>> 2] >>> 24 - Q % 4 * 8 & 255;
                                    E[x + Q >>> 2] |= P << 24 - (x + Q) % 4 * 8
                                } else
                                    for (var L = 0; L < F; L += 4) E[x + L >>> 2] = y[L >>> 2];
                            return this.sigBytes += F, this
                        },
                        clamp: function() {
                            var m = this.words,
                                E = this.sigBytes;
                            m[E >>> 2] &= 4294967295 << 32 - E % 4 * 8, m.length = r.ceil(E / 4)
                        },
                        clone: function() {
                            var m = u.clone.call(this);
                            return m.words = this.words.slice(0), m
                        },
                        random: function(m) {
                            for (var E = [], y = 0; y < m; y += 4) E.push(s());
                            return new f.init(E, m)
                        }
                    }),
                    d = a.enc = {},
                    p = d.Hex = {
                        stringify: function(m) {
                            for (var E = m.words, y = m.sigBytes, x = [], F = 0; F < y; F++) {
                                var Q = E[F >>> 2] >>> 24 - F % 4 * 8 & 255;
                                x.push((Q >>> 4).toString(16)), x.push((Q & 15).toString(16))
                            }
                            return x.join("")
                        },
                        parse: function(m) {
                            for (var E = m.length, y = [], x = 0; x < E; x += 2) y[x >>> 3] |= parseInt(m.substr(x, 2), 16) << 24 - x % 8 * 4;
                            return new f.init(y, E / 2)
                        }
                    },
                    v = d.Latin1 = {
                        stringify: function(m) {
                            for (var E = m.words, y = m.sigBytes, x = [], F = 0; F < y; F++) {
                                var Q = E[F >>> 2] >>> 24 - F % 4 * 8 & 255;
                                x.push(String.fromCharCode(Q))
                            }
                            return x.join("")
                        },
                        parse: function(m) {
                            for (var E = m.length, y = [], x = 0; x < E; x++) y[x >>> 2] |= (m.charCodeAt(x) & 255) << 24 - x % 4 * 8;
                            return new f.init(y, E)
                        }
                    },
                    B = d.Utf8 = {
                        stringify: function(m) {
                            try {
                                return decodeURIComponent(escape(v.stringify(m)))
                            } catch {
                                throw new Error("Malformed UTF-8 data")
                            }
                        },
                        parse: function(m) {
                            return v.parse(unescape(encodeURIComponent(m)))
                        }
                    },
                    C = l.BufferedBlockAlgorithm = u.extend({
                        reset: function() {
                            this._data = new f.init, this._nDataBytes = 0
                        },
                        _append: function(m) {
                            typeof m == "string" && (m = B.parse(m)), this._data.concat(m), this._nDataBytes += m.sigBytes
                        },
                        _process: function(m) {
                            var E, y = this._data,
                                x = y.words,
                                F = y.sigBytes,
                                Q = this.blockSize,
                                P = Q * 4,
                                L = F / P;
                            m ? L = r.ceil(L) : L = r.max((L | 0) - this._minBufferSize, 0);
                            var I = L * Q,
                                _ = r.min(I * 4, F);
                            if (I) {
                                for (var D = 0; D < I; D += Q) this._doProcessBlock(x, D);
                                E = x.splice(0, I), y.sigBytes -= _
                            }
                            return new f.init(E, _)
                        },
                        clone: function() {
                            var m = u.clone.call(this);
                            return m._data = this._data.clone(), m
                        },
                        _minBufferSize: 0
                    });
                l.Hasher = C.extend({
                    cfg: u.extend(),
                    init: function(m) {
                        this.cfg = this.cfg.extend(m), this.reset()
                    },
                    reset: function() {
                        C.reset.call(this), this._doReset()
                    },
                    update: function(m) {
                        return this._append(m), this._process(), this
                    },
                    finalize: function(m) {
                        m && this._append(m);
                        var E = this._doFinalize();
                        return E
                    },
                    blockSize: 16,
                    _createHelper: function(m) {
                        return function(E, y) {
                            return new m.init(y).finalize(E)
                        }
                    },
                    _createHmacHelper: function(m) {
                        return function(E, y) {
                            return new w.HMAC.init(m, y).finalize(E)
                        }
                    }
                });
                var w = a.algo = {};
                return a
            }(Math);
            return n
        })
    }(Gd)), Gd.exports
}
var jd = {
        exports: {}
    },
    Yv;

function F1() {
    return Yv || (Yv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.Base,
                    o = i.WordArray,
                    a = A.x64 = {};
                a.Word = s.extend({
                    init: function(l, u) {
                        this.high = l, this.low = u
                    }
                }), a.WordArray = s.extend({
                    init: function(l, u) {
                        l = this.words = l || [], u != r ? this.sigBytes = u : this.sigBytes = l.length * 8
                    },
                    toX32: function() {
                        for (var l = this.words, u = l.length, f = [], d = 0; d < u; d++) {
                            var p = l[d];
                            f.push(p.high), f.push(p.low)
                        }
                        return o.create(f, this.sigBytes)
                    },
                    clone: function() {
                        for (var l = s.clone.call(this), u = l.words = this.words.slice(0), f = u.length, d = 0; d < f; d++) u[d] = u[d].clone();
                        return l
                    }
                })
            }(), n
        })
    }(jd)), jd.exports
}
var Wd = {
        exports: {}
    },
    Xv;

function pM() {
    return Xv || (Xv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function() {
                if (typeof ArrayBuffer == "function") {
                    var r = n,
                        A = r.lib,
                        i = A.WordArray,
                        s = i.init,
                        o = i.init = function(a) {
                            if (a instanceof ArrayBuffer && (a = new Uint8Array(a)), (a instanceof Int8Array || typeof Uint8ClampedArray < "u" && a instanceof Uint8ClampedArray || a instanceof Int16Array || a instanceof Uint16Array || a instanceof Int32Array || a instanceof Uint32Array || a instanceof Float32Array || a instanceof Float64Array) && (a = new Uint8Array(a.buffer, a.byteOffset, a.byteLength)), a instanceof Uint8Array) {
                                for (var l = a.byteLength, u = [], f = 0; f < l; f++) u[f >>> 2] |= a[f] << 24 - f % 4 * 8;
                                s.call(this, u, l)
                            } else s.apply(this, arguments)
                        };
                    o.prototype = i
                }
            }(), n.lib.WordArray
        })
    }(Wd)), Wd.exports
}
var zd = {
        exports: {}
    },
    Jv;

function gM() {
    return Jv || (Jv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = r.enc;
                s.Utf16 = s.Utf16BE = {
                    stringify: function(a) {
                        for (var l = a.words, u = a.sigBytes, f = [], d = 0; d < u; d += 2) {
                            var p = l[d >>> 2] >>> 16 - d % 4 * 8 & 65535;
                            f.push(String.fromCharCode(p))
                        }
                        return f.join("")
                    },
                    parse: function(a) {
                        for (var l = a.length, u = [], f = 0; f < l; f++) u[f >>> 1] |= a.charCodeAt(f) << 16 - f % 2 * 16;
                        return i.create(u, l * 2)
                    }
                }, s.Utf16LE = {
                    stringify: function(a) {
                        for (var l = a.words, u = a.sigBytes, f = [], d = 0; d < u; d += 2) {
                            var p = o(l[d >>> 2] >>> 16 - d % 4 * 8 & 65535);
                            f.push(String.fromCharCode(p))
                        }
                        return f.join("")
                    },
                    parse: function(a) {
                        for (var l = a.length, u = [], f = 0; f < l; f++) u[f >>> 1] |= o(a.charCodeAt(f) << 16 - f % 2 * 16);
                        return i.create(u, l * 2)
                    }
                };

                function o(a) {
                    return a << 8 & 4278255360 | a >>> 8 & 16711935
                }
            }(), n.enc.Utf16
        })
    }(zd)), zd.exports
}
var Yd = {
        exports: {}
    },
    qv;

function Ko() {
    return qv || (qv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = r.enc;
                s.Base64 = {
                    stringify: function(a) {
                        var l = a.words,
                            u = a.sigBytes,
                            f = this._map;
                        a.clamp();
                        for (var d = [], p = 0; p < u; p += 3)
                            for (var v = l[p >>> 2] >>> 24 - p % 4 * 8 & 255, B = l[p + 1 >>> 2] >>> 24 - (p + 1) % 4 * 8 & 255, C = l[p + 2 >>> 2] >>> 24 - (p + 2) % 4 * 8 & 255, w = v << 16 | B << 8 | C, m = 0; m < 4 && p + m * .75 < u; m++) d.push(f.charAt(w >>> 6 * (3 - m) & 63));
                        var E = f.charAt(64);
                        if (E)
                            for (; d.length % 4;) d.push(E);
                        return d.join("")
                    },
                    parse: function(a) {
                        var l = a.length,
                            u = this._map,
                            f = this._reverseMap;
                        if (!f) {
                            f = this._reverseMap = [];
                            for (var d = 0; d < u.length; d++) f[u.charCodeAt(d)] = d
                        }
                        var p = u.charAt(64);
                        if (p) {
                            var v = a.indexOf(p);
                            v !== -1 && (l = v)
                        }
                        return o(a, l, f)
                    },
                    _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
                };

                function o(a, l, u) {
                    for (var f = [], d = 0, p = 0; p < l; p++)
                        if (p % 4) {
                            var v = u[a.charCodeAt(p - 1)] << p % 4 * 2,
                                B = u[a.charCodeAt(p)] >>> 6 - p % 4 * 2,
                                C = v | B;
                            f[d >>> 2] |= C << 24 - d % 4 * 8, d++
                        }
                    return i.create(f, d)
                }
            }(), n.enc.Base64
        })
    }(Yd)), Yd.exports
}
var Xd = {
        exports: {}
    },
    Zv;

function vM() {
    return Zv || (Zv = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = r.enc;
                s.Base64url = {
                    stringify: function(a, l) {
                        l === void 0 && (l = !0);
                        var u = a.words,
                            f = a.sigBytes,
                            d = l ? this._safe_map : this._map;
                        a.clamp();
                        for (var p = [], v = 0; v < f; v += 3)
                            for (var B = u[v >>> 2] >>> 24 - v % 4 * 8 & 255, C = u[v + 1 >>> 2] >>> 24 - (v + 1) % 4 * 8 & 255, w = u[v + 2 >>> 2] >>> 24 - (v + 2) % 4 * 8 & 255, m = B << 16 | C << 8 | w, E = 0; E < 4 && v + E * .75 < f; E++) p.push(d.charAt(m >>> 6 * (3 - E) & 63));
                        var y = d.charAt(64);
                        if (y)
                            for (; p.length % 4;) p.push(y);
                        return p.join("")
                    },
                    parse: function(a, l) {
                        l === void 0 && (l = !0);
                        var u = a.length,
                            f = l ? this._safe_map : this._map,
                            d = this._reverseMap;
                        if (!d) {
                            d = this._reverseMap = [];
                            for (var p = 0; p < f.length; p++) d[f.charCodeAt(p)] = p
                        }
                        var v = f.charAt(64);
                        if (v) {
                            var B = a.indexOf(v);
                            B !== -1 && (u = B)
                        }
                        return o(a, u, d)
                    },
                    _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
                    _safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
                };

                function o(a, l, u) {
                    for (var f = [], d = 0, p = 0; p < l; p++)
                        if (p % 4) {
                            var v = u[a.charCodeAt(p - 1)] << p % 4 * 2,
                                B = u[a.charCodeAt(p)] >>> 6 - p % 4 * 2,
                                C = v | B;
                            f[d >>> 2] |= C << 24 - d % 4 * 8, d++
                        }
                    return i.create(f, d)
                }
            }(), n.enc.Base64url
        })
    }(Xd)), Xd.exports
}
var Jd = {
        exports: {}
    },
    em;

function Vo() {
    return em || (em = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.WordArray,
                    o = i.Hasher,
                    a = A.algo,
                    l = [];
                (function() {
                    for (var B = 0; B < 64; B++) l[B] = r.abs(r.sin(B + 1)) * 4294967296 | 0
                })();
                var u = a.MD5 = o.extend({
                    _doReset: function() {
                        this._hash = new s.init([1732584193, 4023233417, 2562383102, 271733878])
                    },
                    _doProcessBlock: function(B, C) {
                        for (var w = 0; w < 16; w++) {
                            var m = C + w,
                                E = B[m];
                            B[m] = (E << 8 | E >>> 24) & 16711935 | (E << 24 | E >>> 8) & 4278255360
                        }
                        var y = this._hash.words,
                            x = B[C + 0],
                            F = B[C + 1],
                            Q = B[C + 2],
                            P = B[C + 3],
                            L = B[C + 4],
                            I = B[C + 5],
                            _ = B[C + 6],
                            D = B[C + 7],
                            N = B[C + 8],
                            X = B[C + 9],
                            se = B[C + 10],
                            Z = B[C + 11],
                            ce = B[C + 12],
                            W = B[C + 13],
                            he = B[C + 14],
                            Se = B[C + 15],
                            V = y[0],
                            ie = y[1],
                            ue = y[2],
                            pe = y[3];
                        V = f(V, ie, ue, pe, x, 7, l[0]), pe = f(pe, V, ie, ue, F, 12, l[1]), ue = f(ue, pe, V, ie, Q, 17, l[2]), ie = f(ie, ue, pe, V, P, 22, l[3]), V = f(V, ie, ue, pe, L, 7, l[4]), pe = f(pe, V, ie, ue, I, 12, l[5]), ue = f(ue, pe, V, ie, _, 17, l[6]), ie = f(ie, ue, pe, V, D, 22, l[7]), V = f(V, ie, ue, pe, N, 7, l[8]), pe = f(pe, V, ie, ue, X, 12, l[9]), ue = f(ue, pe, V, ie, se, 17, l[10]), ie = f(ie, ue, pe, V, Z, 22, l[11]), V = f(V, ie, ue, pe, ce, 7, l[12]), pe = f(pe, V, ie, ue, W, 12, l[13]), ue = f(ue, pe, V, ie, he, 17, l[14]), ie = f(ie, ue, pe, V, Se, 22, l[15]), V = d(V, ie, ue, pe, F, 5, l[16]), pe = d(pe, V, ie, ue, _, 9, l[17]), ue = d(ue, pe, V, ie, Z, 14, l[18]), ie = d(ie, ue, pe, V, x, 20, l[19]), V = d(V, ie, ue, pe, I, 5, l[20]), pe = d(pe, V, ie, ue, se, 9, l[21]), ue = d(ue, pe, V, ie, Se, 14, l[22]), ie = d(ie, ue, pe, V, L, 20, l[23]), V = d(V, ie, ue, pe, X, 5, l[24]), pe = d(pe, V, ie, ue, he, 9, l[25]), ue = d(ue, pe, V, ie, P, 14, l[26]), ie = d(ie, ue, pe, V, N, 20, l[27]), V = d(V, ie, ue, pe, W, 5, l[28]), pe = d(pe, V, ie, ue, Q, 9, l[29]), ue = d(ue, pe, V, ie, D, 14, l[30]), ie = d(ie, ue, pe, V, ce, 20, l[31]), V = p(V, ie, ue, pe, I, 4, l[32]), pe = p(pe, V, ie, ue, N, 11, l[33]), ue = p(ue, pe, V, ie, Z, 16, l[34]), ie = p(ie, ue, pe, V, he, 23, l[35]), V = p(V, ie, ue, pe, F, 4, l[36]), pe = p(pe, V, ie, ue, L, 11, l[37]), ue = p(ue, pe, V, ie, D, 16, l[38]), ie = p(ie, ue, pe, V, se, 23, l[39]), V = p(V, ie, ue, pe, W, 4, l[40]), pe = p(pe, V, ie, ue, x, 11, l[41]), ue = p(ue, pe, V, ie, P, 16, l[42]), ie = p(ie, ue, pe, V, _, 23, l[43]), V = p(V, ie, ue, pe, X, 4, l[44]), pe = p(pe, V, ie, ue, ce, 11, l[45]), ue = p(ue, pe, V, ie, Se, 16, l[46]), ie = p(ie, ue, pe, V, Q, 23, l[47]), V = v(V, ie, ue, pe, x, 6, l[48]), pe = v(pe, V, ie, ue, D, 10, l[49]), ue = v(ue, pe, V, ie, he, 15, l[50]), ie = v(ie, ue, pe, V, I, 21, l[51]), V = v(V, ie, ue, pe, ce, 6, l[52]), pe = v(pe, V, ie, ue, P, 10, l[53]), ue = v(ue, pe, V, ie, se, 15, l[54]), ie = v(ie, ue, pe, V, F, 21, l[55]), V = v(V, ie, ue, pe, N, 6, l[56]), pe = v(pe, V, ie, ue, Se, 10, l[57]), ue = v(ue, pe, V, ie, _, 15, l[58]), ie = v(ie, ue, pe, V, W, 21, l[59]), V = v(V, ie, ue, pe, L, 6, l[60]), pe = v(pe, V, ie, ue, Z, 10, l[61]), ue = v(ue, pe, V, ie, Q, 15, l[62]), ie = v(ie, ue, pe, V, X, 21, l[63]), y[0] = y[0] + V | 0, y[1] = y[1] + ie | 0, y[2] = y[2] + ue | 0, y[3] = y[3] + pe | 0
                    },
                    _doFinalize: function() {
                        var B = this._data,
                            C = B.words,
                            w = this._nDataBytes * 8,
                            m = B.sigBytes * 8;
                        C[m >>> 5] |= 128 << 24 - m % 32;
                        var E = r.floor(w / 4294967296),
                            y = w;
                        C[(m + 64 >>> 9 << 4) + 15] = (E << 8 | E >>> 24) & 16711935 | (E << 24 | E >>> 8) & 4278255360, C[(m + 64 >>> 9 << 4) + 14] = (y << 8 | y >>> 24) & 16711935 | (y << 24 | y >>> 8) & 4278255360, B.sigBytes = (C.length + 1) * 4, this._process();
                        for (var x = this._hash, F = x.words, Q = 0; Q < 4; Q++) {
                            var P = F[Q];
                            F[Q] = (P << 8 | P >>> 24) & 16711935 | (P << 24 | P >>> 8) & 4278255360
                        }
                        return x
                    },
                    clone: function() {
                        var B = o.clone.call(this);
                        return B._hash = this._hash.clone(), B
                    }
                });

                function f(B, C, w, m, E, y, x) {
                    var F = B + (C & w | ~C & m) + E + x;
                    return (F << y | F >>> 32 - y) + C
                }

                function d(B, C, w, m, E, y, x) {
                    var F = B + (C & m | w & ~m) + E + x;
                    return (F << y | F >>> 32 - y) + C
                }

                function p(B, C, w, m, E, y, x) {
                    var F = B + (C ^ w ^ m) + E + x;
                    return (F << y | F >>> 32 - y) + C
                }

                function v(B, C, w, m, E, y, x) {
                    var F = B + (w ^ (C | ~m)) + E + x;
                    return (F << y | F >>> 32 - y) + C
                }
                A.MD5 = o._createHelper(u), A.HmacMD5 = o._createHmacHelper(u)
            }(Math), n.MD5
        })
    }(Jd)), Jd.exports
}
var qd = {
        exports: {}
    },
    tm;

function Uy() {
    return tm || (tm = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = A.Hasher,
                    o = r.algo,
                    a = [],
                    l = o.SHA1 = s.extend({
                        _doReset: function() {
                            this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                        },
                        _doProcessBlock: function(u, f) {
                            for (var d = this._hash.words, p = d[0], v = d[1], B = d[2], C = d[3], w = d[4], m = 0; m < 80; m++) {
                                if (m < 16) a[m] = u[f + m] | 0;
                                else {
                                    var E = a[m - 3] ^ a[m - 8] ^ a[m - 14] ^ a[m - 16];
                                    a[m] = E << 1 | E >>> 31
                                }
                                var y = (p << 5 | p >>> 27) + w + a[m];
                                m < 20 ? y += (v & B | ~v & C) + 1518500249 : m < 40 ? y += (v ^ B ^ C) + 1859775393 : m < 60 ? y += (v & B | v & C | B & C) - 1894007588 : y += (v ^ B ^ C) - 899497514, w = C, C = B, B = v << 30 | v >>> 2, v = p, p = y
                            }
                            d[0] = d[0] + p | 0, d[1] = d[1] + v | 0, d[2] = d[2] + B | 0, d[3] = d[3] + C | 0, d[4] = d[4] + w | 0
                        },
                        _doFinalize: function() {
                            var u = this._data,
                                f = u.words,
                                d = this._nDataBytes * 8,
                                p = u.sigBytes * 8;
                            return f[p >>> 5] |= 128 << 24 - p % 32, f[(p + 64 >>> 9 << 4) + 14] = Math.floor(d / 4294967296), f[(p + 64 >>> 9 << 4) + 15] = d, u.sigBytes = f.length * 4, this._process(), this._hash
                        },
                        clone: function() {
                            var u = s.clone.call(this);
                            return u._hash = this._hash.clone(), u
                        }
                    });
                r.SHA1 = s._createHelper(l), r.HmacSHA1 = s._createHmacHelper(l)
            }(), n.SHA1
        })
    }(qd)), qd.exports
}
var Zd = {
        exports: {}
    },
    nm;

function Wg() {
    return nm || (nm = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.WordArray,
                    o = i.Hasher,
                    a = A.algo,
                    l = [],
                    u = [];
                (function() {
                    function p(w) {
                        for (var m = r.sqrt(w), E = 2; E <= m; E++)
                            if (!(w % E)) return !1;
                        return !0
                    }

                    function v(w) {
                        return (w - (w | 0)) * 4294967296 | 0
                    }
                    for (var B = 2, C = 0; C < 64;) p(B) && (C < 8 && (l[C] = v(r.pow(B, 1 / 2))), u[C] = v(r.pow(B, 1 / 3)), C++), B++
                })();
                var f = [],
                    d = a.SHA256 = o.extend({
                        _doReset: function() {
                            this._hash = new s.init(l.slice(0))
                        },
                        _doProcessBlock: function(p, v) {
                            for (var B = this._hash.words, C = B[0], w = B[1], m = B[2], E = B[3], y = B[4], x = B[5], F = B[6], Q = B[7], P = 0; P < 64; P++) {
                                if (P < 16) f[P] = p[v + P] | 0;
                                else {
                                    var L = f[P - 15],
                                        I = (L << 25 | L >>> 7) ^ (L << 14 | L >>> 18) ^ L >>> 3,
                                        _ = f[P - 2],
                                        D = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10;
                                    f[P] = I + f[P - 7] + D + f[P - 16]
                                }
                                var N = y & x ^ ~y & F,
                                    X = C & w ^ C & m ^ w & m,
                                    se = (C << 30 | C >>> 2) ^ (C << 19 | C >>> 13) ^ (C << 10 | C >>> 22),
                                    Z = (y << 26 | y >>> 6) ^ (y << 21 | y >>> 11) ^ (y << 7 | y >>> 25),
                                    ce = Q + Z + N + u[P] + f[P],
                                    W = se + X;
                                Q = F, F = x, x = y, y = E + ce | 0, E = m, m = w, w = C, C = ce + W | 0
                            }
                            B[0] = B[0] + C | 0, B[1] = B[1] + w | 0, B[2] = B[2] + m | 0, B[3] = B[3] + E | 0, B[4] = B[4] + y | 0, B[5] = B[5] + x | 0, B[6] = B[6] + F | 0, B[7] = B[7] + Q | 0
                        },
                        _doFinalize: function() {
                            var p = this._data,
                                v = p.words,
                                B = this._nDataBytes * 8,
                                C = p.sigBytes * 8;
                            return v[C >>> 5] |= 128 << 24 - C % 32, v[(C + 64 >>> 9 << 4) + 14] = r.floor(B / 4294967296), v[(C + 64 >>> 9 << 4) + 15] = B, p.sigBytes = v.length * 4, this._process(), this._hash
                        },
                        clone: function() {
                            var p = o.clone.call(this);
                            return p._hash = this._hash.clone(), p
                        }
                    });
                A.SHA256 = o._createHelper(d), A.HmacSHA256 = o._createHmacHelper(d)
            }(Math), n.SHA256
        })
    }(Zd)), Zd.exports
}
var eh = {
        exports: {}
    },
    rm;

function mM() {
    return rm || (rm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Wg())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = r.algo,
                    o = s.SHA256,
                    a = s.SHA224 = o.extend({
                        _doReset: function() {
                            this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])
                        },
                        _doFinalize: function() {
                            var l = o._doFinalize.call(this);
                            return l.sigBytes -= 4, l
                        }
                    });
                r.SHA224 = o._createHelper(a), r.HmacSHA224 = o._createHmacHelper(a)
            }(), n.SHA224
        })
    }(eh)), eh.exports
}
var th = {
        exports: {}
    },
    Am;

function Py() {
    return Am || (Am = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), F1())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.Hasher,
                    s = r.x64,
                    o = s.Word,
                    a = s.WordArray,
                    l = r.algo;

                function u() {
                    return o.create.apply(o, arguments)
                }
                var f = [u(1116352408, 3609767458), u(1899447441, 602891725), u(3049323471, 3964484399), u(3921009573, 2173295548), u(961987163, 4081628472), u(1508970993, 3053834265), u(2453635748, 2937671579), u(2870763221, 3664609560), u(3624381080, 2734883394), u(310598401, 1164996542), u(607225278, 1323610764), u(1426881987, 3590304994), u(1925078388, 4068182383), u(2162078206, 991336113), u(2614888103, 633803317), u(3248222580, 3479774868), u(3835390401, 2666613458), u(4022224774, 944711139), u(264347078, 2341262773), u(604807628, 2007800933), u(770255983, 1495990901), u(1249150122, 1856431235), u(1555081692, 3175218132), u(1996064986, 2198950837), u(2554220882, 3999719339), u(2821834349, 766784016), u(2952996808, 2566594879), u(3210313671, 3203337956), u(3336571891, 1034457026), u(3584528711, 2466948901), u(113926993, 3758326383), u(338241895, 168717936), u(666307205, 1188179964), u(773529912, 1546045734), u(1294757372, 1522805485), u(1396182291, 2643833823), u(1695183700, 2343527390), u(1986661051, 1014477480), u(2177026350, 1206759142), u(2456956037, 344077627), u(2730485921, 1290863460), u(2820302411, 3158454273), u(3259730800, 3505952657), u(3345764771, 106217008), u(3516065817, 3606008344), u(3600352804, 1432725776), u(4094571909, 1467031594), u(275423344, 851169720), u(430227734, 3100823752), u(506948616, 1363258195), u(659060556, 3750685593), u(883997877, 3785050280), u(958139571, 3318307427), u(1322822218, 3812723403), u(1537002063, 2003034995), u(1747873779, 3602036899), u(1955562222, 1575990012), u(2024104815, 1125592928), u(2227730452, 2716904306), u(2361852424, 442776044), u(2428436474, 593698344), u(2756734187, 3733110249), u(3204031479, 2999351573), u(3329325298, 3815920427), u(3391569614, 3928383900), u(3515267271, 566280711), u(3940187606, 3454069534), u(4118630271, 4000239992), u(116418474, 1914138554), u(174292421, 2731055270), u(289380356, 3203993006), u(460393269, 320620315), u(685471733, 587496836), u(852142971, 1086792851), u(1017036298, 365543100), u(1126000580, 2618297676), u(1288033470, 3409855158), u(1501505948, 4234509866), u(1607167915, 987167468), u(1816402316, 1246189591)],
                    d = [];
                (function() {
                    for (var v = 0; v < 80; v++) d[v] = u()
                })();
                var p = l.SHA512 = i.extend({
                    _doReset: function() {
                        this._hash = new a.init([new o.init(1779033703, 4089235720), new o.init(3144134277, 2227873595), new o.init(1013904242, 4271175723), new o.init(2773480762, 1595750129), new o.init(1359893119, 2917565137), new o.init(2600822924, 725511199), new o.init(528734635, 4215389547), new o.init(1541459225, 327033209)])
                    },
                    _doProcessBlock: function(v, B) {
                        for (var C = this._hash.words, w = C[0], m = C[1], E = C[2], y = C[3], x = C[4], F = C[5], Q = C[6], P = C[7], L = w.high, I = w.low, _ = m.high, D = m.low, N = E.high, X = E.low, se = y.high, Z = y.low, ce = x.high, W = x.low, he = F.high, Se = F.low, V = Q.high, ie = Q.low, ue = P.high, pe = P.low, ee = L, ye = I, te = _, Be = D, Qe = N, $e = X, Ue = se, Ve = Z, U = ce, O = W, Y = he, we = Se, Te = V, Oe = ie, Ke = ue, He = pe, Re = 0; Re < 80; Re++) {
                            var Pe, oe, Ee = d[Re];
                            if (Re < 16) oe = Ee.high = v[B + Re * 2] | 0, Pe = Ee.low = v[B + Re * 2 + 1] | 0;
                            else {
                                var We = d[Re - 15],
                                    qe = We.high,
                                    ut = We.low,
                                    xt = (qe >>> 1 | ut << 31) ^ (qe >>> 8 | ut << 24) ^ qe >>> 7,
                                    Ct = (ut >>> 1 | qe << 31) ^ (ut >>> 8 | qe << 24) ^ (ut >>> 7 | qe << 25),
                                    Pt = d[Re - 2],
                                    kt = Pt.high,
                                    nn = Pt.low,
                                    js = (kt >>> 19 | nn << 13) ^ (kt << 3 | nn >>> 29) ^ kt >>> 6,
                                    sA = (nn >>> 19 | kt << 13) ^ (nn << 3 | kt >>> 29) ^ (nn >>> 6 | kt << 26),
                                    Ws = d[Re - 7],
                                    _n = Ws.high,
                                    rr = Ws.low,
                                    Hi = d[Re - 16],
                                    jo = Hi.high,
                                    zs = Hi.low;
                                Pe = Ct + rr, oe = xt + _n + (Pe >>> 0 < Ct >>> 0 ? 1 : 0), Pe = Pe + sA, oe = oe + js + (Pe >>> 0 < sA >>> 0 ? 1 : 0), Pe = Pe + zs, oe = oe + jo + (Pe >>> 0 < zs >>> 0 ? 1 : 0), Ee.high = oe, Ee.low = Pe
                            }
                            var Wo = U & Y ^ ~U & Te,
                                Pc = O & we ^ ~O & Oe,
                                ud = ee & te ^ ee & Qe ^ te & Qe,
                                cd = ye & Be ^ ye & $e ^ Be & $e,
                                fd = (ee >>> 28 | ye << 4) ^ (ee << 30 | ye >>> 2) ^ (ee << 25 | ye >>> 7),
                                je = (ye >>> 28 | ee << 4) ^ (ye << 30 | ee >>> 2) ^ (ye << 25 | ee >>> 7),
                                Fn = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9),
                                qA = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9),
                                Gr = f[Re],
                                Dn = Gr.high,
                                zo = Gr.low,
                                wn = He + qA,
                                Tr = Ke + Fn + (wn >>> 0 < He >>> 0 ? 1 : 0),
                                wn = wn + Pc,
                                Tr = Tr + Wo + (wn >>> 0 < Pc >>> 0 ? 1 : 0),
                                wn = wn + zo,
                                Tr = Tr + Dn + (wn >>> 0 < zo >>> 0 ? 1 : 0),
                                wn = wn + Pe,
                                Tr = Tr + oe + (wn >>> 0 < Pe >>> 0 ? 1 : 0),
                                Sn = je + cd,
                                Yo = fd + ud + (Sn >>> 0 < je >>> 0 ? 1 : 0);
                            Ke = Te, He = Oe, Te = Y, Oe = we, Y = U, we = O, O = Ve + wn | 0, U = Ue + Tr + (O >>> 0 < Ve >>> 0 ? 1 : 0) | 0, Ue = Qe, Ve = $e, Qe = te, $e = Be, te = ee, Be = ye, ye = wn + Sn | 0, ee = Tr + Yo + (ye >>> 0 < wn >>> 0 ? 1 : 0) | 0
                        }
                        I = w.low = I + ye, w.high = L + ee + (I >>> 0 < ye >>> 0 ? 1 : 0), D = m.low = D + Be, m.high = _ + te + (D >>> 0 < Be >>> 0 ? 1 : 0), X = E.low = X + $e, E.high = N + Qe + (X >>> 0 < $e >>> 0 ? 1 : 0), Z = y.low = Z + Ve, y.high = se + Ue + (Z >>> 0 < Ve >>> 0 ? 1 : 0), W = x.low = W + O, x.high = ce + U + (W >>> 0 < O >>> 0 ? 1 : 0), Se = F.low = Se + we, F.high = he + Y + (Se >>> 0 < we >>> 0 ? 1 : 0), ie = Q.low = ie + Oe, Q.high = V + Te + (ie >>> 0 < Oe >>> 0 ? 1 : 0), pe = P.low = pe + He, P.high = ue + Ke + (pe >>> 0 < He >>> 0 ? 1 : 0)
                    },
                    _doFinalize: function() {
                        var v = this._data,
                            B = v.words,
                            C = this._nDataBytes * 8,
                            w = v.sigBytes * 8;
                        B[w >>> 5] |= 128 << 24 - w % 32, B[(w + 128 >>> 10 << 5) + 30] = Math.floor(C / 4294967296), B[(w + 128 >>> 10 << 5) + 31] = C, v.sigBytes = B.length * 4, this._process();
                        var m = this._hash.toX32();
                        return m
                    },
                    clone: function() {
                        var v = i.clone.call(this);
                        return v._hash = this._hash.clone(), v
                    },
                    blockSize: 1024 / 32
                });
                r.SHA512 = i._createHelper(p), r.HmacSHA512 = i._createHmacHelper(p)
            }(), n.SHA512
        })
    }(th)), th.exports
}
var nh = {
        exports: {}
    },
    im;

function BM() {
    return im || (im = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), F1(), Py())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.x64,
                    i = A.Word,
                    s = A.WordArray,
                    o = r.algo,
                    a = o.SHA512,
                    l = o.SHA384 = a.extend({
                        _doReset: function() {
                            this._hash = new s.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)])
                        },
                        _doFinalize: function() {
                            var u = a._doFinalize.call(this);
                            return u.sigBytes -= 16, u
                        }
                    });
                r.SHA384 = a._createHelper(l), r.HmacSHA384 = a._createHmacHelper(l)
            }(), n.SHA384
        })
    }(nh)), nh.exports
}
var rh = {
        exports: {}
    },
    sm;

function wM() {
    return sm || (sm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), F1())
        })(yt, function(n) {
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.WordArray,
                    o = i.Hasher,
                    a = A.x64,
                    l = a.Word,
                    u = A.algo,
                    f = [],
                    d = [],
                    p = [];
                (function() {
                    for (var C = 1, w = 0, m = 0; m < 24; m++) {
                        f[C + 5 * w] = (m + 1) * (m + 2) / 2 % 64;
                        var E = w % 5,
                            y = (2 * C + 3 * w) % 5;
                        C = E, w = y
                    }
                    for (var C = 0; C < 5; C++)
                        for (var w = 0; w < 5; w++) d[C + 5 * w] = w + (2 * C + 3 * w) % 5 * 5;
                    for (var x = 1, F = 0; F < 24; F++) {
                        for (var Q = 0, P = 0, L = 0; L < 7; L++) {
                            if (x & 1) {
                                var I = (1 << L) - 1;
                                I < 32 ? P ^= 1 << I : Q ^= 1 << I - 32
                            }
                            x & 128 ? x = x << 1 ^ 113 : x <<= 1
                        }
                        p[F] = l.create(Q, P)
                    }
                })();
                var v = [];
                (function() {
                    for (var C = 0; C < 25; C++) v[C] = l.create()
                })();
                var B = u.SHA3 = o.extend({
                    cfg: o.cfg.extend({
                        outputLength: 512
                    }),
                    _doReset: function() {
                        for (var C = this._state = [], w = 0; w < 25; w++) C[w] = new l.init;
                        this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32
                    },
                    _doProcessBlock: function(C, w) {
                        for (var m = this._state, E = this.blockSize / 2, y = 0; y < E; y++) {
                            var x = C[w + 2 * y],
                                F = C[w + 2 * y + 1];
                            x = (x << 8 | x >>> 24) & 16711935 | (x << 24 | x >>> 8) & 4278255360, F = (F << 8 | F >>> 24) & 16711935 | (F << 24 | F >>> 8) & 4278255360;
                            var Q = m[y];
                            Q.high ^= F, Q.low ^= x
                        }
                        for (var P = 0; P < 24; P++) {
                            for (var L = 0; L < 5; L++) {
                                for (var I = 0, _ = 0, D = 0; D < 5; D++) {
                                    var Q = m[L + 5 * D];
                                    I ^= Q.high, _ ^= Q.low
                                }
                                var N = v[L];
                                N.high = I, N.low = _
                            }
                            for (var L = 0; L < 5; L++)
                                for (var X = v[(L + 4) % 5], se = v[(L + 1) % 5], Z = se.high, ce = se.low, I = X.high ^ (Z << 1 | ce >>> 31), _ = X.low ^ (ce << 1 | Z >>> 31), D = 0; D < 5; D++) {
                                    var Q = m[L + 5 * D];
                                    Q.high ^= I, Q.low ^= _
                                }
                            for (var W = 1; W < 25; W++) {
                                var I, _, Q = m[W],
                                    he = Q.high,
                                    Se = Q.low,
                                    V = f[W];
                                V < 32 ? (I = he << V | Se >>> 32 - V, _ = Se << V | he >>> 32 - V) : (I = Se << V - 32 | he >>> 64 - V, _ = he << V - 32 | Se >>> 64 - V);
                                var ie = v[d[W]];
                                ie.high = I, ie.low = _
                            }
                            var ue = v[0],
                                pe = m[0];
                            ue.high = pe.high, ue.low = pe.low;
                            for (var L = 0; L < 5; L++)
                                for (var D = 0; D < 5; D++) {
                                    var W = L + 5 * D,
                                        Q = m[W],
                                        ee = v[W],
                                        ye = v[(L + 1) % 5 + 5 * D],
                                        te = v[(L + 2) % 5 + 5 * D];
                                    Q.high = ee.high ^ ~ye.high & te.high, Q.low = ee.low ^ ~ye.low & te.low
                                }
                            var Q = m[0],
                                Be = p[P];
                            Q.high ^= Be.high, Q.low ^= Be.low
                        }
                    },
                    _doFinalize: function() {
                        var C = this._data,
                            w = C.words;
                        this._nDataBytes * 8;
                        var m = C.sigBytes * 8,
                            E = this.blockSize * 32;
                        w[m >>> 5] |= 1 << 24 - m % 32, w[(r.ceil((m + 1) / E) * E >>> 5) - 1] |= 128, C.sigBytes = w.length * 4, this._process();
                        for (var y = this._state, x = this.cfg.outputLength / 8, F = x / 8, Q = [], P = 0; P < F; P++) {
                            var L = y[P],
                                I = L.high,
                                _ = L.low;
                            I = (I << 8 | I >>> 24) & 16711935 | (I << 24 | I >>> 8) & 4278255360, _ = (_ << 8 | _ >>> 24) & 16711935 | (_ << 24 | _ >>> 8) & 4278255360, Q.push(_), Q.push(I)
                        }
                        return new s.init(Q, x)
                    },
                    clone: function() {
                        for (var C = o.clone.call(this), w = C._state = this._state.slice(0), m = 0; m < 25; m++) w[m] = w[m].clone();
                        return C
                    }
                });
                A.SHA3 = o._createHelper(B), A.HmacSHA3 = o._createHmacHelper(B)
            }(Math), n.SHA3
        })
    }(rh)), rh.exports
}
var Ah = {
        exports: {}
    },
    om;

function yM() {
    return om || (om = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            /** @preserve
            			(c) 2012 by Cédric Mesnil. All rights reserved.

            			Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

            			    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
            			    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

            			THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
            			*/
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.WordArray,
                    o = i.Hasher,
                    a = A.algo,
                    l = s.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),
                    u = s.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),
                    f = s.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),
                    d = s.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),
                    p = s.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
                    v = s.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
                    B = a.RIPEMD160 = o.extend({
                        _doReset: function() {
                            this._hash = s.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                        },
                        _doProcessBlock: function(F, Q) {
                            for (var P = 0; P < 16; P++) {
                                var L = Q + P,
                                    I = F[L];
                                F[L] = (I << 8 | I >>> 24) & 16711935 | (I << 24 | I >>> 8) & 4278255360
                            }
                            var _ = this._hash.words,
                                D = p.words,
                                N = v.words,
                                X = l.words,
                                se = u.words,
                                Z = f.words,
                                ce = d.words,
                                W, he, Se, V, ie, ue, pe, ee, ye, te;
                            ue = W = _[0], pe = he = _[1], ee = Se = _[2], ye = V = _[3], te = ie = _[4];
                            for (var Be, P = 0; P < 80; P += 1) Be = W + F[Q + X[P]] | 0, P < 16 ? Be += C(he, Se, V) + D[0] : P < 32 ? Be += w(he, Se, V) + D[1] : P < 48 ? Be += m(he, Se, V) + D[2] : P < 64 ? Be += E(he, Se, V) + D[3] : Be += y(he, Se, V) + D[4], Be = Be | 0, Be = x(Be, Z[P]), Be = Be + ie | 0, W = ie, ie = V, V = x(Se, 10), Se = he, he = Be, Be = ue + F[Q + se[P]] | 0, P < 16 ? Be += y(pe, ee, ye) + N[0] : P < 32 ? Be += E(pe, ee, ye) + N[1] : P < 48 ? Be += m(pe, ee, ye) + N[2] : P < 64 ? Be += w(pe, ee, ye) + N[3] : Be += C(pe, ee, ye) + N[4], Be = Be | 0, Be = x(Be, ce[P]), Be = Be + te | 0, ue = te, te = ye, ye = x(ee, 10), ee = pe, pe = Be;
                            Be = _[1] + Se + ye | 0, _[1] = _[2] + V + te | 0, _[2] = _[3] + ie + ue | 0, _[3] = _[4] + W + pe | 0, _[4] = _[0] + he + ee | 0, _[0] = Be
                        },
                        _doFinalize: function() {
                            var F = this._data,
                                Q = F.words,
                                P = this._nDataBytes * 8,
                                L = F.sigBytes * 8;
                            Q[L >>> 5] |= 128 << 24 - L % 32, Q[(L + 64 >>> 9 << 4) + 14] = (P << 8 | P >>> 24) & 16711935 | (P << 24 | P >>> 8) & 4278255360, F.sigBytes = (Q.length + 1) * 4, this._process();
                            for (var I = this._hash, _ = I.words, D = 0; D < 5; D++) {
                                var N = _[D];
                                _[D] = (N << 8 | N >>> 24) & 16711935 | (N << 24 | N >>> 8) & 4278255360
                            }
                            return I
                        },
                        clone: function() {
                            var F = o.clone.call(this);
                            return F._hash = this._hash.clone(), F
                        }
                    });

                function C(F, Q, P) {
                    return F ^ Q ^ P
                }

                function w(F, Q, P) {
                    return F & Q | ~F & P
                }

                function m(F, Q, P) {
                    return (F | ~Q) ^ P
                }

                function E(F, Q, P) {
                    return F & P | Q & ~P
                }

                function y(F, Q, P) {
                    return F ^ (Q | ~P)
                }

                function x(F, Q) {
                    return F << Q | F >>> 32 - Q
                }
                A.RIPEMD160 = o._createHelper(B), A.HmacRIPEMD160 = o._createHmacHelper(B)
            }(), n.RIPEMD160
        })
    }(Ah)), Ah.exports
}
var ih = {
        exports: {}
    },
    am;

function zg() {
    return am || (am = 1, function(e, t) {
        (function(n, r) {
            e.exports = r(Qt())
        })(yt, function(n) {
            (function() {
                var r = n,
                    A = r.lib,
                    i = A.Base,
                    s = r.enc,
                    o = s.Utf8,
                    a = r.algo;
                a.HMAC = i.extend({
                    init: function(l, u) {
                        l = this._hasher = new l.init, typeof u == "string" && (u = o.parse(u));
                        var f = l.blockSize,
                            d = f * 4;
                        u.sigBytes > d && (u = l.finalize(u)), u.clamp();
                        for (var p = this._oKey = u.clone(), v = this._iKey = u.clone(), B = p.words, C = v.words, w = 0; w < f; w++) B[w] ^= 1549556828, C[w] ^= 909522486;
                        p.sigBytes = v.sigBytes = d, this.reset()
                    },
                    reset: function() {
                        var l = this._hasher;
                        l.reset(), l.update(this._iKey)
                    },
                    update: function(l) {
                        return this._hasher.update(l), this
                    },
                    finalize: function(l) {
                        var u = this._hasher,
                            f = u.finalize(l);
                        u.reset();
                        var d = u.finalize(this._oKey.clone().concat(f));
                        return d
                    }
                })
            })()
        })
    }(ih)), ih.exports
}
var sh = {
        exports: {}
    },
    lm;

function CM() {
    return lm || (lm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Wg(), zg())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.Base,
                    s = A.WordArray,
                    o = r.algo,
                    a = o.SHA256,
                    l = o.HMAC,
                    u = o.PBKDF2 = i.extend({
                        cfg: i.extend({
                            keySize: 128 / 32,
                            hasher: a,
                            iterations: 25e4
                        }),
                        init: function(f) {
                            this.cfg = this.cfg.extend(f)
                        },
                        compute: function(f, d) {
                            for (var p = this.cfg, v = l.create(p.hasher, f), B = s.create(), C = s.create([1]), w = B.words, m = C.words, E = p.keySize, y = p.iterations; w.length < E;) {
                                var x = v.update(d).finalize(C);
                                v.reset();
                                for (var F = x.words, Q = F.length, P = x, L = 1; L < y; L++) {
                                    P = v.finalize(P), v.reset();
                                    for (var I = P.words, _ = 0; _ < Q; _++) F[_] ^= I[_]
                                }
                                B.concat(x), m[0]++
                            }
                            return B.sigBytes = E * 4, B
                        }
                    });
                r.PBKDF2 = function(f, d, p) {
                    return u.create(p).compute(f, d)
                }
            }(), n.PBKDF2
        })
    }(sh)), sh.exports
}
var oh = {
        exports: {}
    },
    um;

function $s() {
    return um || (um = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Uy(), zg())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.Base,
                    s = A.WordArray,
                    o = r.algo,
                    a = o.MD5,
                    l = o.EvpKDF = i.extend({
                        cfg: i.extend({
                            keySize: 128 / 32,
                            hasher: a,
                            iterations: 1
                        }),
                        init: function(u) {
                            this.cfg = this.cfg.extend(u)
                        },
                        compute: function(u, f) {
                            for (var d, p = this.cfg, v = p.hasher.create(), B = s.create(), C = B.words, w = p.keySize, m = p.iterations; C.length < w;) {
                                d && v.update(d), d = v.update(u).finalize(f), v.reset();
                                for (var E = 1; E < m; E++) d = v.finalize(d), v.reset();
                                B.concat(d)
                            }
                            return B.sigBytes = w * 4, B
                        }
                    });
                r.EvpKDF = function(u, f, d) {
                    return l.create(d).compute(u, f)
                }
            }(), n.EvpKDF
        })
    }(oh)), oh.exports
}
var ah = {
        exports: {}
    },
    cm;

function Kn() {
    return cm || (cm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), $s())
        })(yt, function(n) {
            n.lib.Cipher || function(r) {
                var A = n,
                    i = A.lib,
                    s = i.Base,
                    o = i.WordArray,
                    a = i.BufferedBlockAlgorithm,
                    l = A.enc;
                l.Utf8;
                var u = l.Base64,
                    f = A.algo,
                    d = f.EvpKDF,
                    p = i.Cipher = a.extend({
                        cfg: s.extend(),
                        createEncryptor: function(I, _) {
                            return this.create(this._ENC_XFORM_MODE, I, _)
                        },
                        createDecryptor: function(I, _) {
                            return this.create(this._DEC_XFORM_MODE, I, _)
                        },
                        init: function(I, _, D) {
                            this.cfg = this.cfg.extend(D), this._xformMode = I, this._key = _, this.reset()
                        },
                        reset: function() {
                            a.reset.call(this), this._doReset()
                        },
                        process: function(I) {
                            return this._append(I), this._process()
                        },
                        finalize: function(I) {
                            I && this._append(I);
                            var _ = this._doFinalize();
                            return _
                        },
                        keySize: 128 / 32,
                        ivSize: 128 / 32,
                        _ENC_XFORM_MODE: 1,
                        _DEC_XFORM_MODE: 2,
                        _createHelper: function() {
                            function I(_) {
                                return typeof _ == "string" ? L : F
                            }
                            return function(_) {
                                return {
                                    encrypt: function(D, N, X) {
                                        return I(N).encrypt(_, D, N, X)
                                    },
                                    decrypt: function(D, N, X) {
                                        return I(N).decrypt(_, D, N, X)
                                    }
                                }
                            }
                        }()
                    });
                i.StreamCipher = p.extend({
                    _doFinalize: function() {
                        var I = this._process(!0);
                        return I
                    },
                    blockSize: 1
                });
                var v = A.mode = {},
                    B = i.BlockCipherMode = s.extend({
                        createEncryptor: function(I, _) {
                            return this.Encryptor.create(I, _)
                        },
                        createDecryptor: function(I, _) {
                            return this.Decryptor.create(I, _)
                        },
                        init: function(I, _) {
                            this._cipher = I, this._iv = _
                        }
                    }),
                    C = v.CBC = function() {
                        var I = B.extend();
                        I.Encryptor = I.extend({
                            processBlock: function(D, N) {
                                var X = this._cipher,
                                    se = X.blockSize;
                                _.call(this, D, N, se), X.encryptBlock(D, N), this._prevBlock = D.slice(N, N + se)
                            }
                        }), I.Decryptor = I.extend({
                            processBlock: function(D, N) {
                                var X = this._cipher,
                                    se = X.blockSize,
                                    Z = D.slice(N, N + se);
                                X.decryptBlock(D, N), _.call(this, D, N, se), this._prevBlock = Z
                            }
                        });

                        function _(D, N, X) {
                            var se, Z = this._iv;
                            Z ? (se = Z, this._iv = r) : se = this._prevBlock;
                            for (var ce = 0; ce < X; ce++) D[N + ce] ^= se[ce]
                        }
                        return I
                    }(),
                    w = A.pad = {},
                    m = w.Pkcs7 = {
                        pad: function(I, _) {
                            for (var D = _ * 4, N = D - I.sigBytes % D, X = N << 24 | N << 16 | N << 8 | N, se = [], Z = 0; Z < N; Z += 4) se.push(X);
                            var ce = o.create(se, N);
                            I.concat(ce)
                        },
                        unpad: function(I) {
                            var _ = I.words[I.sigBytes - 1 >>> 2] & 255;
                            I.sigBytes -= _
                        }
                    };
                i.BlockCipher = p.extend({
                    cfg: p.cfg.extend({
                        mode: C,
                        padding: m
                    }),
                    reset: function() {
                        var I;
                        p.reset.call(this);
                        var _ = this.cfg,
                            D = _.iv,
                            N = _.mode;
                        this._xformMode == this._ENC_XFORM_MODE ? I = N.createEncryptor : (I = N.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == I ? this._mode.init(this, D && D.words) : (this._mode = I.call(N, this, D && D.words), this._mode.__creator = I)
                    },
                    _doProcessBlock: function(I, _) {
                        this._mode.processBlock(I, _)
                    },
                    _doFinalize: function() {
                        var I, _ = this.cfg.padding;
                        return this._xformMode == this._ENC_XFORM_MODE ? (_.pad(this._data, this.blockSize), I = this._process(!0)) : (I = this._process(!0), _.unpad(I)), I
                    },
                    blockSize: 128 / 32
                });
                var E = i.CipherParams = s.extend({
                        init: function(I) {
                            this.mixIn(I)
                        },
                        toString: function(I) {
                            return (I || this.formatter).stringify(this)
                        }
                    }),
                    y = A.format = {},
                    x = y.OpenSSL = {
                        stringify: function(I) {
                            var _, D = I.ciphertext,
                                N = I.salt;
                            return N ? _ = o.create([1398893684, 1701076831]).concat(N).concat(D) : _ = D, _.toString(u)
                        },
                        parse: function(I) {
                            var _, D = u.parse(I),
                                N = D.words;
                            return N[0] == 1398893684 && N[1] == 1701076831 && (_ = o.create(N.slice(2, 4)), N.splice(0, 4), D.sigBytes -= 16), E.create({
                                ciphertext: D,
                                salt: _
                            })
                        }
                    },
                    F = i.SerializableCipher = s.extend({
                        cfg: s.extend({
                            format: x
                        }),
                        encrypt: function(I, _, D, N) {
                            N = this.cfg.extend(N);
                            var X = I.createEncryptor(D, N),
                                se = X.finalize(_),
                                Z = X.cfg;
                            return E.create({
                                ciphertext: se,
                                key: D,
                                iv: Z.iv,
                                algorithm: I,
                                mode: Z.mode,
                                padding: Z.padding,
                                blockSize: I.blockSize,
                                formatter: N.format
                            })
                        },
                        decrypt: function(I, _, D, N) {
                            N = this.cfg.extend(N), _ = this._parse(_, N.format);
                            var X = I.createDecryptor(D, N).finalize(_.ciphertext);
                            return X
                        },
                        _parse: function(I, _) {
                            return typeof I == "string" ? _.parse(I, this) : I
                        }
                    }),
                    Q = A.kdf = {},
                    P = Q.OpenSSL = {
                        execute: function(I, _, D, N, X) {
                            if (N || (N = o.random(64 / 8)), X) var se = d.create({
                                keySize: _ + D,
                                hasher: X
                            }).compute(I, N);
                            else var se = d.create({
                                keySize: _ + D
                            }).compute(I, N);
                            var Z = o.create(se.words.slice(_), D * 4);
                            return se.sigBytes = _ * 4, E.create({
                                key: se,
                                iv: Z,
                                salt: N
                            })
                        }
                    },
                    L = i.PasswordBasedCipher = F.extend({
                        cfg: F.cfg.extend({
                            kdf: P
                        }),
                        encrypt: function(I, _, D, N) {
                            N = this.cfg.extend(N);
                            var X = N.kdf.execute(D, I.keySize, I.ivSize, N.salt, N.hasher);
                            N.iv = X.iv;
                            var se = F.encrypt.call(this, I, _, X.key, N);
                            return se.mixIn(X), se
                        },
                        decrypt: function(I, _, D, N) {
                            N = this.cfg.extend(N), _ = this._parse(_, N.format);
                            var X = N.kdf.execute(D, I.keySize, I.ivSize, _.salt, N.hasher);
                            N.iv = X.iv;
                            var se = F.decrypt.call(this, I, _, X.key, N);
                            return se
                        }
                    })
            }()
        })
    }(ah)), ah.exports
}
var lh = {
        exports: {}
    },
    fm;

function EM() {
    return fm || (fm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.mode.CFB = function() {
                var r = n.lib.BlockCipherMode.extend();
                r.Encryptor = r.extend({
                    processBlock: function(i, s) {
                        var o = this._cipher,
                            a = o.blockSize;
                        A.call(this, i, s, a, o), this._prevBlock = i.slice(s, s + a)
                    }
                }), r.Decryptor = r.extend({
                    processBlock: function(i, s) {
                        var o = this._cipher,
                            a = o.blockSize,
                            l = i.slice(s, s + a);
                        A.call(this, i, s, a, o), this._prevBlock = l
                    }
                });

                function A(i, s, o, a) {
                    var l, u = this._iv;
                    u ? (l = u.slice(0), this._iv = void 0) : l = this._prevBlock, a.encryptBlock(l, 0);
                    for (var f = 0; f < o; f++) i[s + f] ^= l[f]
                }
                return r
            }(), n.mode.CFB
        })
    }(lh)), lh.exports
}
var uh = {
        exports: {}
    },
    dm;

function bM() {
    return dm || (dm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.mode.CTR = function() {
                var r = n.lib.BlockCipherMode.extend(),
                    A = r.Encryptor = r.extend({
                        processBlock: function(i, s) {
                            var o = this._cipher,
                                a = o.blockSize,
                                l = this._iv,
                                u = this._counter;
                            l && (u = this._counter = l.slice(0), this._iv = void 0);
                            var f = u.slice(0);
                            o.encryptBlock(f, 0), u[a - 1] = u[a - 1] + 1 | 0;
                            for (var d = 0; d < a; d++) i[s + d] ^= f[d]
                        }
                    });
                return r.Decryptor = A, r
            }(), n.mode.CTR
        })
    }(uh)), uh.exports
}
var ch = {
        exports: {}
    },
    hm;

function xM() {
    return hm || (hm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            /** @preserve
             * Counter block mode compatible with  Dr Brian Gladman fileenc.c
             * derived from CryptoJS.mode.CTR
             * Jan Hruby jhruby.web@gmail.com
             */
            return n.mode.CTRGladman = function() {
                var r = n.lib.BlockCipherMode.extend();

                function A(o) {
                    if ((o >> 24 & 255) === 255) {
                        var a = o >> 16 & 255,
                            l = o >> 8 & 255,
                            u = o & 255;
                        a === 255 ? (a = 0, l === 255 ? (l = 0, u === 255 ? u = 0 : ++u) : ++l) : ++a, o = 0, o += a << 16, o += l << 8, o += u
                    } else o += 1 << 24;
                    return o
                }

                function i(o) {
                    return (o[0] = A(o[0])) === 0 && (o[1] = A(o[1])), o
                }
                var s = r.Encryptor = r.extend({
                    processBlock: function(o, a) {
                        var l = this._cipher,
                            u = l.blockSize,
                            f = this._iv,
                            d = this._counter;
                        f && (d = this._counter = f.slice(0), this._iv = void 0), i(d);
                        var p = d.slice(0);
                        l.encryptBlock(p, 0);
                        for (var v = 0; v < u; v++) o[a + v] ^= p[v]
                    }
                });
                return r.Decryptor = s, r
            }(), n.mode.CTRGladman
        })
    }(ch)), ch.exports
}
var fh = {
        exports: {}
    },
    pm;

function _M() {
    return pm || (pm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.mode.OFB = function() {
                var r = n.lib.BlockCipherMode.extend(),
                    A = r.Encryptor = r.extend({
                        processBlock: function(i, s) {
                            var o = this._cipher,
                                a = o.blockSize,
                                l = this._iv,
                                u = this._keystream;
                            l && (u = this._keystream = l.slice(0), this._iv = void 0), o.encryptBlock(u, 0);
                            for (var f = 0; f < a; f++) i[s + f] ^= u[f]
                        }
                    });
                return r.Decryptor = A, r
            }(), n.mode.OFB
        })
    }(fh)), fh.exports
}
var dh = {
        exports: {}
    },
    gm;

function FM() {
    return gm || (gm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.mode.ECB = function() {
                var r = n.lib.BlockCipherMode.extend();
                return r.Encryptor = r.extend({
                    processBlock: function(A, i) {
                        this._cipher.encryptBlock(A, i)
                    }
                }), r.Decryptor = r.extend({
                    processBlock: function(A, i) {
                        this._cipher.decryptBlock(A, i)
                    }
                }), r
            }(), n.mode.ECB
        })
    }(dh)), dh.exports
}
var hh = {
        exports: {}
    },
    vm;

function SM() {
    return vm || (vm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.pad.AnsiX923 = {
                pad: function(r, A) {
                    var i = r.sigBytes,
                        s = A * 4,
                        o = s - i % s,
                        a = i + o - 1;
                    r.clamp(), r.words[a >>> 2] |= o << 24 - a % 4 * 8, r.sigBytes += o
                },
                unpad: function(r) {
                    var A = r.words[r.sigBytes - 1 >>> 2] & 255;
                    r.sigBytes -= A
                }
            }, n.pad.Ansix923
        })
    }(hh)), hh.exports
}
var ph = {
        exports: {}
    },
    mm;

function TM() {
    return mm || (mm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.pad.Iso10126 = {
                pad: function(r, A) {
                    var i = A * 4,
                        s = i - r.sigBytes % i;
                    r.concat(n.lib.WordArray.random(s - 1)).concat(n.lib.WordArray.create([s << 24], 1))
                },
                unpad: function(r) {
                    var A = r.words[r.sigBytes - 1 >>> 2] & 255;
                    r.sigBytes -= A
                }
            }, n.pad.Iso10126
        })
    }(ph)), ph.exports
}
var gh = {
        exports: {}
    },
    Bm;

function IM() {
    return Bm || (Bm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.pad.Iso97971 = {
                pad: function(r, A) {
                    r.concat(n.lib.WordArray.create([2147483648], 1)), n.pad.ZeroPadding.pad(r, A)
                },
                unpad: function(r) {
                    n.pad.ZeroPadding.unpad(r), r.sigBytes--
                }
            }, n.pad.Iso97971
        })
    }(gh)), gh.exports
}
var vh = {
        exports: {}
    },
    wm;

function QM() {
    return wm || (wm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.pad.ZeroPadding = {
                pad: function(r, A) {
                    var i = A * 4;
                    r.clamp(), r.sigBytes += i - (r.sigBytes % i || i)
                },
                unpad: function(r) {
                    for (var A = r.words, i = r.sigBytes - 1, i = r.sigBytes - 1; i >= 0; i--)
                        if (A[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
                            r.sigBytes = i + 1;
                            break
                        }
                }
            }, n.pad.ZeroPadding
        })
    }(vh)), vh.exports
}
var mh = {
        exports: {}
    },
    ym;

function UM() {
    return ym || (ym = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return n.pad.NoPadding = {
                pad: function() {},
                unpad: function() {}
            }, n.pad.NoPadding
        })
    }(mh)), mh.exports
}
var Bh = {
        exports: {}
    },
    Cm;

function PM() {
    return Cm || (Cm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Kn())
        })(yt, function(n) {
            return function(r) {
                var A = n,
                    i = A.lib,
                    s = i.CipherParams,
                    o = A.enc,
                    a = o.Hex,
                    l = A.format;
                l.Hex = {
                    stringify: function(u) {
                        return u.ciphertext.toString(a)
                    },
                    parse: function(u) {
                        var f = a.parse(u);
                        return s.create({
                            ciphertext: f
                        })
                    }
                }
            }(), n.format.Hex
        })
    }(Bh)), Bh.exports
}
var wh = {
        exports: {}
    },
    Em;

function OM() {
    return Em || (Em = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.BlockCipher,
                    s = r.algo,
                    o = [],
                    a = [],
                    l = [],
                    u = [],
                    f = [],
                    d = [],
                    p = [],
                    v = [],
                    B = [],
                    C = [];
                (function() {
                    for (var E = [], y = 0; y < 256; y++) y < 128 ? E[y] = y << 1 : E[y] = y << 1 ^ 283;
                    for (var x = 0, F = 0, y = 0; y < 256; y++) {
                        var Q = F ^ F << 1 ^ F << 2 ^ F << 3 ^ F << 4;
                        Q = Q >>> 8 ^ Q & 255 ^ 99, o[x] = Q, a[Q] = x;
                        var P = E[x],
                            L = E[P],
                            I = E[L],
                            _ = E[Q] * 257 ^ Q * 16843008;
                        l[x] = _ << 24 | _ >>> 8, u[x] = _ << 16 | _ >>> 16, f[x] = _ << 8 | _ >>> 24, d[x] = _;
                        var _ = I * 16843009 ^ L * 65537 ^ P * 257 ^ x * 16843008;
                        p[Q] = _ << 24 | _ >>> 8, v[Q] = _ << 16 | _ >>> 16, B[Q] = _ << 8 | _ >>> 24, C[Q] = _, x ? (x = P ^ E[E[E[I ^ P]]], F ^= E[E[F]]) : x = F = 1
                    }
                })();
                var w = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
                    m = s.AES = i.extend({
                        _doReset: function() {
                            var E;
                            if (!(this._nRounds && this._keyPriorReset === this._key)) {
                                for (var y = this._keyPriorReset = this._key, x = y.words, F = y.sigBytes / 4, Q = this._nRounds = F + 6, P = (Q + 1) * 4, L = this._keySchedule = [], I = 0; I < P; I++) I < F ? L[I] = x[I] : (E = L[I - 1], I % F ? F > 6 && I % F == 4 && (E = o[E >>> 24] << 24 | o[E >>> 16 & 255] << 16 | o[E >>> 8 & 255] << 8 | o[E & 255]) : (E = E << 8 | E >>> 24, E = o[E >>> 24] << 24 | o[E >>> 16 & 255] << 16 | o[E >>> 8 & 255] << 8 | o[E & 255], E ^= w[I / F | 0] << 24), L[I] = L[I - F] ^ E);
                                for (var _ = this._invKeySchedule = [], D = 0; D < P; D++) {
                                    var I = P - D;
                                    if (D % 4) var E = L[I];
                                    else var E = L[I - 4];
                                    D < 4 || I <= 4 ? _[D] = E : _[D] = p[o[E >>> 24]] ^ v[o[E >>> 16 & 255]] ^ B[o[E >>> 8 & 255]] ^ C[o[E & 255]]
                                }
                            }
                        },
                        encryptBlock: function(E, y) {
                            this._doCryptBlock(E, y, this._keySchedule, l, u, f, d, o)
                        },
                        decryptBlock: function(E, y) {
                            var x = E[y + 1];
                            E[y + 1] = E[y + 3], E[y + 3] = x, this._doCryptBlock(E, y, this._invKeySchedule, p, v, B, C, a);
                            var x = E[y + 1];
                            E[y + 1] = E[y + 3], E[y + 3] = x
                        },
                        _doCryptBlock: function(E, y, x, F, Q, P, L, I) {
                            for (var _ = this._nRounds, D = E[y] ^ x[0], N = E[y + 1] ^ x[1], X = E[y + 2] ^ x[2], se = E[y + 3] ^ x[3], Z = 4, ce = 1; ce < _; ce++) {
                                var W = F[D >>> 24] ^ Q[N >>> 16 & 255] ^ P[X >>> 8 & 255] ^ L[se & 255] ^ x[Z++],
                                    he = F[N >>> 24] ^ Q[X >>> 16 & 255] ^ P[se >>> 8 & 255] ^ L[D & 255] ^ x[Z++],
                                    Se = F[X >>> 24] ^ Q[se >>> 16 & 255] ^ P[D >>> 8 & 255] ^ L[N & 255] ^ x[Z++],
                                    V = F[se >>> 24] ^ Q[D >>> 16 & 255] ^ P[N >>> 8 & 255] ^ L[X & 255] ^ x[Z++];
                                D = W, N = he, X = Se, se = V
                            }
                            var W = (I[D >>> 24] << 24 | I[N >>> 16 & 255] << 16 | I[X >>> 8 & 255] << 8 | I[se & 255]) ^ x[Z++],
                                he = (I[N >>> 24] << 24 | I[X >>> 16 & 255] << 16 | I[se >>> 8 & 255] << 8 | I[D & 255]) ^ x[Z++],
                                Se = (I[X >>> 24] << 24 | I[se >>> 16 & 255] << 16 | I[D >>> 8 & 255] << 8 | I[N & 255]) ^ x[Z++],
                                V = (I[se >>> 24] << 24 | I[D >>> 16 & 255] << 16 | I[N >>> 8 & 255] << 8 | I[X & 255]) ^ x[Z++];
                            E[y] = W, E[y + 1] = he, E[y + 2] = Se, E[y + 3] = V
                        },
                        keySize: 256 / 32
                    });
                r.AES = i._createHelper(m)
            }(), n.AES
        })
    }(wh)), wh.exports
}
var yh = {
        exports: {}
    },
    bm;

function DM() {
    return bm || (bm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.WordArray,
                    s = A.BlockCipher,
                    o = r.algo,
                    a = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
                    l = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
                    u = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
                    f = [{
                        0: 8421888,
                        268435456: 32768,
                        536870912: 8421378,
                        805306368: 2,
                        1073741824: 512,
                        1342177280: 8421890,
                        1610612736: 8389122,
                        1879048192: 8388608,
                        2147483648: 514,
                        2415919104: 8389120,
                        2684354560: 33280,
                        2952790016: 8421376,
                        3221225472: 32770,
                        3489660928: 8388610,
                        3758096384: 0,
                        4026531840: 33282,
                        134217728: 0,
                        402653184: 8421890,
                        671088640: 33282,
                        939524096: 32768,
                        1207959552: 8421888,
                        1476395008: 512,
                        1744830464: 8421378,
                        2013265920: 2,
                        2281701376: 8389120,
                        2550136832: 33280,
                        2818572288: 8421376,
                        3087007744: 8389122,
                        3355443200: 8388610,
                        3623878656: 32770,
                        3892314112: 514,
                        4160749568: 8388608,
                        1: 32768,
                        268435457: 2,
                        536870913: 8421888,
                        805306369: 8388608,
                        1073741825: 8421378,
                        1342177281: 33280,
                        1610612737: 512,
                        1879048193: 8389122,
                        2147483649: 8421890,
                        2415919105: 8421376,
                        2684354561: 8388610,
                        2952790017: 33282,
                        3221225473: 514,
                        3489660929: 8389120,
                        3758096385: 32770,
                        4026531841: 0,
                        134217729: 8421890,
                        402653185: 8421376,
                        671088641: 8388608,
                        939524097: 512,
                        1207959553: 32768,
                        1476395009: 8388610,
                        1744830465: 2,
                        2013265921: 33282,
                        2281701377: 32770,
                        2550136833: 8389122,
                        2818572289: 514,
                        3087007745: 8421888,
                        3355443201: 8389120,
                        3623878657: 0,
                        3892314113: 33280,
                        4160749569: 8421378
                    }, {
                        0: 1074282512,
                        16777216: 16384,
                        33554432: 524288,
                        50331648: 1074266128,
                        67108864: 1073741840,
                        83886080: 1074282496,
                        100663296: 1073758208,
                        117440512: 16,
                        134217728: 540672,
                        150994944: 1073758224,
                        167772160: 1073741824,
                        184549376: 540688,
                        201326592: 524304,
                        218103808: 0,
                        234881024: 16400,
                        251658240: 1074266112,
                        8388608: 1073758208,
                        25165824: 540688,
                        41943040: 16,
                        58720256: 1073758224,
                        75497472: 1074282512,
                        92274688: 1073741824,
                        109051904: 524288,
                        125829120: 1074266128,
                        142606336: 524304,
                        159383552: 0,
                        176160768: 16384,
                        192937984: 1074266112,
                        209715200: 1073741840,
                        226492416: 540672,
                        243269632: 1074282496,
                        260046848: 16400,
                        268435456: 0,
                        285212672: 1074266128,
                        301989888: 1073758224,
                        318767104: 1074282496,
                        335544320: 1074266112,
                        352321536: 16,
                        369098752: 540688,
                        385875968: 16384,
                        402653184: 16400,
                        419430400: 524288,
                        436207616: 524304,
                        452984832: 1073741840,
                        469762048: 540672,
                        486539264: 1073758208,
                        503316480: 1073741824,
                        520093696: 1074282512,
                        276824064: 540688,
                        293601280: 524288,
                        310378496: 1074266112,
                        327155712: 16384,
                        343932928: 1073758208,
                        360710144: 1074282512,
                        377487360: 16,
                        394264576: 1073741824,
                        411041792: 1074282496,
                        427819008: 1073741840,
                        444596224: 1073758224,
                        461373440: 524304,
                        478150656: 0,
                        494927872: 16400,
                        511705088: 1074266128,
                        528482304: 540672
                    }, {
                        0: 260,
                        1048576: 0,
                        2097152: 67109120,
                        3145728: 65796,
                        4194304: 65540,
                        5242880: 67108868,
                        6291456: 67174660,
                        7340032: 67174400,
                        8388608: 67108864,
                        9437184: 67174656,
                        10485760: 65792,
                        11534336: 67174404,
                        12582912: 67109124,
                        13631488: 65536,
                        14680064: 4,
                        15728640: 256,
                        524288: 67174656,
                        1572864: 67174404,
                        2621440: 0,
                        3670016: 67109120,
                        4718592: 67108868,
                        5767168: 65536,
                        6815744: 65540,
                        7864320: 260,
                        8912896: 4,
                        9961472: 256,
                        11010048: 67174400,
                        12058624: 65796,
                        13107200: 65792,
                        14155776: 67109124,
                        15204352: 67174660,
                        16252928: 67108864,
                        16777216: 67174656,
                        17825792: 65540,
                        18874368: 65536,
                        19922944: 67109120,
                        20971520: 256,
                        22020096: 67174660,
                        23068672: 67108868,
                        24117248: 0,
                        25165824: 67109124,
                        26214400: 67108864,
                        27262976: 4,
                        28311552: 65792,
                        29360128: 67174400,
                        30408704: 260,
                        31457280: 65796,
                        32505856: 67174404,
                        17301504: 67108864,
                        18350080: 260,
                        19398656: 67174656,
                        20447232: 0,
                        21495808: 65540,
                        22544384: 67109120,
                        23592960: 256,
                        24641536: 67174404,
                        25690112: 65536,
                        26738688: 67174660,
                        27787264: 65796,
                        28835840: 67108868,
                        29884416: 67109124,
                        30932992: 67174400,
                        31981568: 4,
                        33030144: 65792
                    }, {
                        0: 2151682048,
                        65536: 2147487808,
                        131072: 4198464,
                        196608: 2151677952,
                        262144: 0,
                        327680: 4198400,
                        393216: 2147483712,
                        458752: 4194368,
                        524288: 2147483648,
                        589824: 4194304,
                        655360: 64,
                        720896: 2147487744,
                        786432: 2151678016,
                        851968: 4160,
                        917504: 4096,
                        983040: 2151682112,
                        32768: 2147487808,
                        98304: 64,
                        163840: 2151678016,
                        229376: 2147487744,
                        294912: 4198400,
                        360448: 2151682112,
                        425984: 0,
                        491520: 2151677952,
                        557056: 4096,
                        622592: 2151682048,
                        688128: 4194304,
                        753664: 4160,
                        819200: 2147483648,
                        884736: 4194368,
                        950272: 4198464,
                        1015808: 2147483712,
                        1048576: 4194368,
                        1114112: 4198400,
                        1179648: 2147483712,
                        1245184: 0,
                        1310720: 4160,
                        1376256: 2151678016,
                        1441792: 2151682048,
                        1507328: 2147487808,
                        1572864: 2151682112,
                        1638400: 2147483648,
                        1703936: 2151677952,
                        1769472: 4198464,
                        1835008: 2147487744,
                        1900544: 4194304,
                        1966080: 64,
                        2031616: 4096,
                        1081344: 2151677952,
                        1146880: 2151682112,
                        1212416: 0,
                        1277952: 4198400,
                        1343488: 4194368,
                        1409024: 2147483648,
                        1474560: 2147487808,
                        1540096: 64,
                        1605632: 2147483712,
                        1671168: 4096,
                        1736704: 2147487744,
                        1802240: 2151678016,
                        1867776: 4160,
                        1933312: 2151682048,
                        1998848: 4194304,
                        2064384: 4198464
                    }, {
                        0: 128,
                        4096: 17039360,
                        8192: 262144,
                        12288: 536870912,
                        16384: 537133184,
                        20480: 16777344,
                        24576: 553648256,
                        28672: 262272,
                        32768: 16777216,
                        36864: 537133056,
                        40960: 536871040,
                        45056: 553910400,
                        49152: 553910272,
                        53248: 0,
                        57344: 17039488,
                        61440: 553648128,
                        2048: 17039488,
                        6144: 553648256,
                        10240: 128,
                        14336: 17039360,
                        18432: 262144,
                        22528: 537133184,
                        26624: 553910272,
                        30720: 536870912,
                        34816: 537133056,
                        38912: 0,
                        43008: 553910400,
                        47104: 16777344,
                        51200: 536871040,
                        55296: 553648128,
                        59392: 16777216,
                        63488: 262272,
                        65536: 262144,
                        69632: 128,
                        73728: 536870912,
                        77824: 553648256,
                        81920: 16777344,
                        86016: 553910272,
                        90112: 537133184,
                        94208: 16777216,
                        98304: 553910400,
                        102400: 553648128,
                        106496: 17039360,
                        110592: 537133056,
                        114688: 262272,
                        118784: 536871040,
                        122880: 0,
                        126976: 17039488,
                        67584: 553648256,
                        71680: 16777216,
                        75776: 17039360,
                        79872: 537133184,
                        83968: 536870912,
                        88064: 17039488,
                        92160: 128,
                        96256: 553910272,
                        100352: 262272,
                        104448: 553910400,
                        108544: 0,
                        112640: 553648128,
                        116736: 16777344,
                        120832: 262144,
                        124928: 537133056,
                        129024: 536871040
                    }, {
                        0: 268435464,
                        256: 8192,
                        512: 270532608,
                        768: 270540808,
                        1024: 268443648,
                        1280: 2097152,
                        1536: 2097160,
                        1792: 268435456,
                        2048: 0,
                        2304: 268443656,
                        2560: 2105344,
                        2816: 8,
                        3072: 270532616,
                        3328: 2105352,
                        3584: 8200,
                        3840: 270540800,
                        128: 270532608,
                        384: 270540808,
                        640: 8,
                        896: 2097152,
                        1152: 2105352,
                        1408: 268435464,
                        1664: 268443648,
                        1920: 8200,
                        2176: 2097160,
                        2432: 8192,
                        2688: 268443656,
                        2944: 270532616,
                        3200: 0,
                        3456: 270540800,
                        3712: 2105344,
                        3968: 268435456,
                        4096: 268443648,
                        4352: 270532616,
                        4608: 270540808,
                        4864: 8200,
                        5120: 2097152,
                        5376: 268435456,
                        5632: 268435464,
                        5888: 2105344,
                        6144: 2105352,
                        6400: 0,
                        6656: 8,
                        6912: 270532608,
                        7168: 8192,
                        7424: 268443656,
                        7680: 270540800,
                        7936: 2097160,
                        4224: 8,
                        4480: 2105344,
                        4736: 2097152,
                        4992: 268435464,
                        5248: 268443648,
                        5504: 8200,
                        5760: 270540808,
                        6016: 270532608,
                        6272: 270540800,
                        6528: 270532616,
                        6784: 8192,
                        7040: 2105352,
                        7296: 2097160,
                        7552: 0,
                        7808: 268435456,
                        8064: 268443656
                    }, {
                        0: 1048576,
                        16: 33555457,
                        32: 1024,
                        48: 1049601,
                        64: 34604033,
                        80: 0,
                        96: 1,
                        112: 34603009,
                        128: 33555456,
                        144: 1048577,
                        160: 33554433,
                        176: 34604032,
                        192: 34603008,
                        208: 1025,
                        224: 1049600,
                        240: 33554432,
                        8: 34603009,
                        24: 0,
                        40: 33555457,
                        56: 34604032,
                        72: 1048576,
                        88: 33554433,
                        104: 33554432,
                        120: 1025,
                        136: 1049601,
                        152: 33555456,
                        168: 34603008,
                        184: 1048577,
                        200: 1024,
                        216: 34604033,
                        232: 1,
                        248: 1049600,
                        256: 33554432,
                        272: 1048576,
                        288: 33555457,
                        304: 34603009,
                        320: 1048577,
                        336: 33555456,
                        352: 34604032,
                        368: 1049601,
                        384: 1025,
                        400: 34604033,
                        416: 1049600,
                        432: 1,
                        448: 0,
                        464: 34603008,
                        480: 33554433,
                        496: 1024,
                        264: 1049600,
                        280: 33555457,
                        296: 34603009,
                        312: 1,
                        328: 33554432,
                        344: 1048576,
                        360: 1025,
                        376: 34604032,
                        392: 33554433,
                        408: 34603008,
                        424: 0,
                        440: 34604033,
                        456: 1049601,
                        472: 1024,
                        488: 33555456,
                        504: 1048577
                    }, {
                        0: 134219808,
                        1: 131072,
                        2: 134217728,
                        3: 32,
                        4: 131104,
                        5: 134350880,
                        6: 134350848,
                        7: 2048,
                        8: 134348800,
                        9: 134219776,
                        10: 133120,
                        11: 134348832,
                        12: 2080,
                        13: 0,
                        14: 134217760,
                        15: 133152,
                        2147483648: 2048,
                        2147483649: 134350880,
                        2147483650: 134219808,
                        2147483651: 134217728,
                        2147483652: 134348800,
                        2147483653: 133120,
                        2147483654: 133152,
                        2147483655: 32,
                        2147483656: 134217760,
                        2147483657: 2080,
                        2147483658: 131104,
                        2147483659: 134350848,
                        2147483660: 0,
                        2147483661: 134348832,
                        2147483662: 134219776,
                        2147483663: 131072,
                        16: 133152,
                        17: 134350848,
                        18: 32,
                        19: 2048,
                        20: 134219776,
                        21: 134217760,
                        22: 134348832,
                        23: 131072,
                        24: 0,
                        25: 131104,
                        26: 134348800,
                        27: 134219808,
                        28: 134350880,
                        29: 133120,
                        30: 2080,
                        31: 134217728,
                        2147483664: 131072,
                        2147483665: 2048,
                        2147483666: 134348832,
                        2147483667: 133152,
                        2147483668: 32,
                        2147483669: 134348800,
                        2147483670: 134217728,
                        2147483671: 134219808,
                        2147483672: 134350880,
                        2147483673: 134217760,
                        2147483674: 134219776,
                        2147483675: 0,
                        2147483676: 133120,
                        2147483677: 2080,
                        2147483678: 131104,
                        2147483679: 134350848
                    }],
                    d = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
                    p = o.DES = s.extend({
                        _doReset: function() {
                            for (var w = this._key, m = w.words, E = [], y = 0; y < 56; y++) {
                                var x = a[y] - 1;
                                E[y] = m[x >>> 5] >>> 31 - x % 32 & 1
                            }
                            for (var F = this._subKeys = [], Q = 0; Q < 16; Q++) {
                                for (var P = F[Q] = [], L = u[Q], y = 0; y < 24; y++) P[y / 6 | 0] |= E[(l[y] - 1 + L) % 28] << 31 - y % 6, P[4 + (y / 6 | 0)] |= E[28 + (l[y + 24] - 1 + L) % 28] << 31 - y % 6;
                                P[0] = P[0] << 1 | P[0] >>> 31;
                                for (var y = 1; y < 7; y++) P[y] = P[y] >>> (y - 1) * 4 + 3;
                                P[7] = P[7] << 5 | P[7] >>> 27
                            }
                            for (var I = this._invSubKeys = [], y = 0; y < 16; y++) I[y] = F[15 - y]
                        },
                        encryptBlock: function(w, m) {
                            this._doCryptBlock(w, m, this._subKeys)
                        },
                        decryptBlock: function(w, m) {
                            this._doCryptBlock(w, m, this._invSubKeys)
                        },
                        _doCryptBlock: function(w, m, E) {
                            this._lBlock = w[m], this._rBlock = w[m + 1], v.call(this, 4, 252645135), v.call(this, 16, 65535), B.call(this, 2, 858993459), B.call(this, 8, 16711935), v.call(this, 1, 1431655765);
                            for (var y = 0; y < 16; y++) {
                                for (var x = E[y], F = this._lBlock, Q = this._rBlock, P = 0, L = 0; L < 8; L++) P |= f[L][((Q ^ x[L]) & d[L]) >>> 0];
                                this._lBlock = Q, this._rBlock = F ^ P
                            }
                            var I = this._lBlock;
                            this._lBlock = this._rBlock, this._rBlock = I, v.call(this, 1, 1431655765), B.call(this, 8, 16711935), B.call(this, 2, 858993459), v.call(this, 16, 65535), v.call(this, 4, 252645135), w[m] = this._lBlock, w[m + 1] = this._rBlock
                        },
                        keySize: 64 / 32,
                        ivSize: 64 / 32,
                        blockSize: 64 / 32
                    });

                function v(w, m) {
                    var E = (this._lBlock >>> w ^ this._rBlock) & m;
                    this._rBlock ^= E, this._lBlock ^= E << w
                }

                function B(w, m) {
                    var E = (this._rBlock >>> w ^ this._lBlock) & m;
                    this._lBlock ^= E, this._rBlock ^= E << w
                }
                r.DES = s._createHelper(p);
                var C = o.TripleDES = s.extend({
                    _doReset: function() {
                        var w = this._key,
                            m = w.words;
                        if (m.length !== 2 && m.length !== 4 && m.length < 6) throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
                        var E = m.slice(0, 2),
                            y = m.length < 4 ? m.slice(0, 2) : m.slice(2, 4),
                            x = m.length < 6 ? m.slice(0, 2) : m.slice(4, 6);
                        this._des1 = p.createEncryptor(i.create(E)), this._des2 = p.createEncryptor(i.create(y)), this._des3 = p.createEncryptor(i.create(x))
                    },
                    encryptBlock: function(w, m) {
                        this._des1.encryptBlock(w, m), this._des2.decryptBlock(w, m), this._des3.encryptBlock(w, m)
                    },
                    decryptBlock: function(w, m) {
                        this._des3.decryptBlock(w, m), this._des2.encryptBlock(w, m), this._des1.decryptBlock(w, m)
                    },
                    keySize: 192 / 32,
                    ivSize: 64 / 32,
                    blockSize: 64 / 32
                });
                r.TripleDES = s._createHelper(C)
            }(), n.TripleDES
        })
    }(yh)), yh.exports
}
var Ch = {
        exports: {}
    },
    xm;

function LM() {
    return xm || (xm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.StreamCipher,
                    s = r.algo,
                    o = s.RC4 = i.extend({
                        _doReset: function() {
                            for (var u = this._key, f = u.words, d = u.sigBytes, p = this._S = [], v = 0; v < 256; v++) p[v] = v;
                            for (var v = 0, B = 0; v < 256; v++) {
                                var C = v % d,
                                    w = f[C >>> 2] >>> 24 - C % 4 * 8 & 255;
                                B = (B + p[v] + w) % 256;
                                var m = p[v];
                                p[v] = p[B], p[B] = m
                            }
                            this._i = this._j = 0
                        },
                        _doProcessBlock: function(u, f) {
                            u[f] ^= a.call(this)
                        },
                        keySize: 256 / 32,
                        ivSize: 0
                    });

                function a() {
                    for (var u = this._S, f = this._i, d = this._j, p = 0, v = 0; v < 4; v++) {
                        f = (f + 1) % 256, d = (d + u[f]) % 256;
                        var B = u[f];
                        u[f] = u[d], u[d] = B, p |= u[(u[f] + u[d]) % 256] << 24 - v * 8
                    }
                    return this._i = f, this._j = d, p
                }
                r.RC4 = i._createHelper(o);
                var l = s.RC4Drop = o.extend({
                    cfg: o.cfg.extend({
                        drop: 192
                    }),
                    _doReset: function() {
                        o._doReset.call(this);
                        for (var u = this.cfg.drop; u > 0; u--) a.call(this)
                    }
                });
                r.RC4Drop = i._createHelper(l)
            }(), n.RC4
        })
    }(Ch)), Ch.exports
}
var Eh = {
        exports: {}
    },
    _m;

function kM() {
    return _m || (_m = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.StreamCipher,
                    s = r.algo,
                    o = [],
                    a = [],
                    l = [],
                    u = s.Rabbit = i.extend({
                        _doReset: function() {
                            for (var d = this._key.words, p = this.cfg.iv, v = 0; v < 4; v++) d[v] = (d[v] << 8 | d[v] >>> 24) & 16711935 | (d[v] << 24 | d[v] >>> 8) & 4278255360;
                            var B = this._X = [d[0], d[3] << 16 | d[2] >>> 16, d[1], d[0] << 16 | d[3] >>> 16, d[2], d[1] << 16 | d[0] >>> 16, d[3], d[2] << 16 | d[1] >>> 16],
                                C = this._C = [d[2] << 16 | d[2] >>> 16, d[0] & 4294901760 | d[1] & 65535, d[3] << 16 | d[3] >>> 16, d[1] & 4294901760 | d[2] & 65535, d[0] << 16 | d[0] >>> 16, d[2] & 4294901760 | d[3] & 65535, d[1] << 16 | d[1] >>> 16, d[3] & 4294901760 | d[0] & 65535];
                            this._b = 0;
                            for (var v = 0; v < 4; v++) f.call(this);
                            for (var v = 0; v < 8; v++) C[v] ^= B[v + 4 & 7];
                            if (p) {
                                var w = p.words,
                                    m = w[0],
                                    E = w[1],
                                    y = (m << 8 | m >>> 24) & 16711935 | (m << 24 | m >>> 8) & 4278255360,
                                    x = (E << 8 | E >>> 24) & 16711935 | (E << 24 | E >>> 8) & 4278255360,
                                    F = y >>> 16 | x & 4294901760,
                                    Q = x << 16 | y & 65535;
                                C[0] ^= y, C[1] ^= F, C[2] ^= x, C[3] ^= Q, C[4] ^= y, C[5] ^= F, C[6] ^= x, C[7] ^= Q;
                                for (var v = 0; v < 4; v++) f.call(this)
                            }
                        },
                        _doProcessBlock: function(d, p) {
                            var v = this._X;
                            f.call(this), o[0] = v[0] ^ v[5] >>> 16 ^ v[3] << 16, o[1] = v[2] ^ v[7] >>> 16 ^ v[5] << 16, o[2] = v[4] ^ v[1] >>> 16 ^ v[7] << 16, o[3] = v[6] ^ v[3] >>> 16 ^ v[1] << 16;
                            for (var B = 0; B < 4; B++) o[B] = (o[B] << 8 | o[B] >>> 24) & 16711935 | (o[B] << 24 | o[B] >>> 8) & 4278255360, d[p + B] ^= o[B]
                        },
                        blockSize: 128 / 32,
                        ivSize: 64 / 32
                    });

                function f() {
                    for (var d = this._X, p = this._C, v = 0; v < 8; v++) a[v] = p[v];
                    p[0] = p[0] + 1295307597 + this._b | 0, p[1] = p[1] + 3545052371 + (p[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, p[2] = p[2] + 886263092 + (p[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, p[3] = p[3] + 1295307597 + (p[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, p[4] = p[4] + 3545052371 + (p[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, p[5] = p[5] + 886263092 + (p[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, p[6] = p[6] + 1295307597 + (p[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, p[7] = p[7] + 3545052371 + (p[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = p[7] >>> 0 < a[7] >>> 0 ? 1 : 0;
                    for (var v = 0; v < 8; v++) {
                        var B = d[v] + p[v],
                            C = B & 65535,
                            w = B >>> 16,
                            m = ((C * C >>> 17) + C * w >>> 15) + w * w,
                            E = ((B & 4294901760) * B | 0) + ((B & 65535) * B | 0);
                        l[v] = m ^ E
                    }
                    d[0] = l[0] + (l[7] << 16 | l[7] >>> 16) + (l[6] << 16 | l[6] >>> 16) | 0, d[1] = l[1] + (l[0] << 8 | l[0] >>> 24) + l[7] | 0, d[2] = l[2] + (l[1] << 16 | l[1] >>> 16) + (l[0] << 16 | l[0] >>> 16) | 0, d[3] = l[3] + (l[2] << 8 | l[2] >>> 24) + l[1] | 0, d[4] = l[4] + (l[3] << 16 | l[3] >>> 16) + (l[2] << 16 | l[2] >>> 16) | 0, d[5] = l[5] + (l[4] << 8 | l[4] >>> 24) + l[3] | 0, d[6] = l[6] + (l[5] << 16 | l[5] >>> 16) + (l[4] << 16 | l[4] >>> 16) | 0, d[7] = l[7] + (l[6] << 8 | l[6] >>> 24) + l[5] | 0
                }
                r.Rabbit = i._createHelper(u)
            }(), n.Rabbit
        })
    }(Eh)), Eh.exports
}
var bh = {
        exports: {}
    },
    Fm;

function HM() {
    return Fm || (Fm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.StreamCipher,
                    s = r.algo,
                    o = [],
                    a = [],
                    l = [],
                    u = s.RabbitLegacy = i.extend({
                        _doReset: function() {
                            var d = this._key.words,
                                p = this.cfg.iv,
                                v = this._X = [d[0], d[3] << 16 | d[2] >>> 16, d[1], d[0] << 16 | d[3] >>> 16, d[2], d[1] << 16 | d[0] >>> 16, d[3], d[2] << 16 | d[1] >>> 16],
                                B = this._C = [d[2] << 16 | d[2] >>> 16, d[0] & 4294901760 | d[1] & 65535, d[3] << 16 | d[3] >>> 16, d[1] & 4294901760 | d[2] & 65535, d[0] << 16 | d[0] >>> 16, d[2] & 4294901760 | d[3] & 65535, d[1] << 16 | d[1] >>> 16, d[3] & 4294901760 | d[0] & 65535];
                            this._b = 0;
                            for (var C = 0; C < 4; C++) f.call(this);
                            for (var C = 0; C < 8; C++) B[C] ^= v[C + 4 & 7];
                            if (p) {
                                var w = p.words,
                                    m = w[0],
                                    E = w[1],
                                    y = (m << 8 | m >>> 24) & 16711935 | (m << 24 | m >>> 8) & 4278255360,
                                    x = (E << 8 | E >>> 24) & 16711935 | (E << 24 | E >>> 8) & 4278255360,
                                    F = y >>> 16 | x & 4294901760,
                                    Q = x << 16 | y & 65535;
                                B[0] ^= y, B[1] ^= F, B[2] ^= x, B[3] ^= Q, B[4] ^= y, B[5] ^= F, B[6] ^= x, B[7] ^= Q;
                                for (var C = 0; C < 4; C++) f.call(this)
                            }
                        },
                        _doProcessBlock: function(d, p) {
                            var v = this._X;
                            f.call(this), o[0] = v[0] ^ v[5] >>> 16 ^ v[3] << 16, o[1] = v[2] ^ v[7] >>> 16 ^ v[5] << 16, o[2] = v[4] ^ v[1] >>> 16 ^ v[7] << 16, o[3] = v[6] ^ v[3] >>> 16 ^ v[1] << 16;
                            for (var B = 0; B < 4; B++) o[B] = (o[B] << 8 | o[B] >>> 24) & 16711935 | (o[B] << 24 | o[B] >>> 8) & 4278255360, d[p + B] ^= o[B]
                        },
                        blockSize: 128 / 32,
                        ivSize: 64 / 32
                    });

                function f() {
                    for (var d = this._X, p = this._C, v = 0; v < 8; v++) a[v] = p[v];
                    p[0] = p[0] + 1295307597 + this._b | 0, p[1] = p[1] + 3545052371 + (p[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, p[2] = p[2] + 886263092 + (p[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, p[3] = p[3] + 1295307597 + (p[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, p[4] = p[4] + 3545052371 + (p[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, p[5] = p[5] + 886263092 + (p[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, p[6] = p[6] + 1295307597 + (p[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, p[7] = p[7] + 3545052371 + (p[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = p[7] >>> 0 < a[7] >>> 0 ? 1 : 0;
                    for (var v = 0; v < 8; v++) {
                        var B = d[v] + p[v],
                            C = B & 65535,
                            w = B >>> 16,
                            m = ((C * C >>> 17) + C * w >>> 15) + w * w,
                            E = ((B & 4294901760) * B | 0) + ((B & 65535) * B | 0);
                        l[v] = m ^ E
                    }
                    d[0] = l[0] + (l[7] << 16 | l[7] >>> 16) + (l[6] << 16 | l[6] >>> 16) | 0, d[1] = l[1] + (l[0] << 8 | l[0] >>> 24) + l[7] | 0, d[2] = l[2] + (l[1] << 16 | l[1] >>> 16) + (l[0] << 16 | l[0] >>> 16) | 0, d[3] = l[3] + (l[2] << 8 | l[2] >>> 24) + l[1] | 0, d[4] = l[4] + (l[3] << 16 | l[3] >>> 16) + (l[2] << 16 | l[2] >>> 16) | 0, d[5] = l[5] + (l[4] << 8 | l[4] >>> 24) + l[3] | 0, d[6] = l[6] + (l[5] << 16 | l[5] >>> 16) + (l[4] << 16 | l[4] >>> 16) | 0, d[7] = l[7] + (l[6] << 8 | l[6] >>> 24) + l[5] | 0
                }
                r.RabbitLegacy = i._createHelper(u)
            }(), n.RabbitLegacy
        })
    }(bh)), bh.exports
}
var xh = {
        exports: {}
    },
    Sm;

function MM() {
    return Sm || (Sm = 1, function(e, t) {
        (function(n, r, A) {
            e.exports = r(Qt(), Ko(), Vo(), $s(), Kn())
        })(yt, function(n) {
            return function() {
                var r = n,
                    A = r.lib,
                    i = A.BlockCipher,
                    s = r.algo;
                const o = 16,
                    a = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731],
                    l = [
                        [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]
                    ];
                var u = {
                    pbox: [],
                    sbox: []
                };

                function f(C, w) {
                    let m = w >> 24 & 255,
                        E = w >> 16 & 255,
                        y = w >> 8 & 255,
                        x = w & 255,
                        F = C.sbox[0][m] + C.sbox[1][E];
                    return F = F ^ C.sbox[2][y], F = F + C.sbox[3][x], F
                }

                function d(C, w, m) {
                    let E = w,
                        y = m,
                        x;
                    for (let F = 0; F < o; ++F) E = E ^ C.pbox[F], y = f(C, E) ^ y, x = E, E = y, y = x;
                    return x = E, E = y, y = x, y = y ^ C.pbox[o], E = E ^ C.pbox[o + 1], {
                        left: E,
                        right: y
                    }
                }

                function p(C, w, m) {
                    let E = w,
                        y = m,
                        x;
                    for (let F = o + 1; F > 1; --F) E = E ^ C.pbox[F], y = f(C, E) ^ y, x = E, E = y, y = x;
                    return x = E, E = y, y = x, y = y ^ C.pbox[1], E = E ^ C.pbox[0], {
                        left: E,
                        right: y
                    }
                }

                function v(C, w, m) {
                    for (let Q = 0; Q < 4; Q++) {
                        C.sbox[Q] = [];
                        for (let P = 0; P < 256; P++) C.sbox[Q][P] = l[Q][P]
                    }
                    let E = 0;
                    for (let Q = 0; Q < o + 2; Q++) C.pbox[Q] = a[Q] ^ w[E], E++, E >= m && (E = 0);
                    let y = 0,
                        x = 0,
                        F = 0;
                    for (let Q = 0; Q < o + 2; Q += 2) F = d(C, y, x), y = F.left, x = F.right, C.pbox[Q] = y, C.pbox[Q + 1] = x;
                    for (let Q = 0; Q < 4; Q++)
                        for (let P = 0; P < 256; P += 2) F = d(C, y, x), y = F.left, x = F.right, C.sbox[Q][P] = y, C.sbox[Q][P + 1] = x;
                    return !0
                }
                var B = s.Blowfish = i.extend({
                    _doReset: function() {
                        if (this._keyPriorReset !== this._key) {
                            var C = this._keyPriorReset = this._key,
                                w = C.words,
                                m = C.sigBytes / 4;
                            v(u, w, m)
                        }
                    },
                    encryptBlock: function(C, w) {
                        var m = d(u, C[w], C[w + 1]);
                        C[w] = m.left, C[w + 1] = m.right
                    },
                    decryptBlock: function(C, w) {
                        var m = p(u, C[w], C[w + 1]);
                        C[w] = m.left, C[w + 1] = m.right
                    },
                    blockSize: 64 / 32,
                    keySize: 128 / 32,
                    ivSize: 64 / 32
                });
                r.Blowfish = i._createHelper(B)
            }(), n.Blowfish
        })
    }(xh)), xh.exports
}(function(e, t) {
    (function(n, r, A) {
        e.exports = r(Qt(), F1(), pM(), gM(), Ko(), vM(), Vo(), Uy(), Wg(), mM(), Py(), BM(), wM(), yM(), zg(), CM(), $s(), Kn(), EM(), bM(), xM(), _M(), FM(), SM(), TM(), IM(), QM(), UM(), PM(), OM(), DM(), LM(), kM(), HM(), MM())
    })(yt, function(n) {
        return n
    })
})(Qy);
var dse = Qy.exports,
    Oy = {
        exports: {}
    };
(function(e, t) {
    (function(n, r) {
        e.exports = r()
    })(yt, function() {
        var n = 1e3,
            r = 6e4,
            A = 36e5,
            i = "millisecond",
            s = "second",
            o = "minute",
            a = "hour",
            l = "day",
            u = "week",
            f = "month",
            d = "quarter",
            p = "year",
            v = "date",
            B = "Invalid Date",
            C = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
            w = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
            m = {
                name: "en",
                weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
                months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
                ordinal: function(X) {
                    var se = ["th", "st", "nd", "rd"],
                        Z = X % 100;
                    return "[" + X + (se[(Z - 20) % 10] || se[Z] || se[0]) + "]"
                }
            },
            E = function(X, se, Z) {
                var ce = String(X);
                return !ce || ce.length >= se ? X : "" + Array(se + 1 - ce.length).join(Z) + X
            },
            y = {
                s: E,
                z: function(X) {
                    var se = -X.utcOffset(),
                        Z = Math.abs(se),
                        ce = Math.floor(Z / 60),
                        W = Z % 60;
                    return (se <= 0 ? "+" : "-") + E(ce, 2, "0") + ":" + E(W, 2, "0")
                },
                m: function X(se, Z) {
                    if (se.date() < Z.date()) return -X(Z, se);
                    var ce = 12 * (Z.year() - se.year()) + (Z.month() - se.month()),
                        W = se.clone().add(ce, f),
                        he = Z - W < 0,
                        Se = se.clone().add(ce + (he ? -1 : 1), f);
                    return +(-(ce + (Z - W) / (he ? W - Se : Se - W)) || 0)
                },
                a: function(X) {
                    return X < 0 ? Math.ceil(X) || 0 : Math.floor(X)
                },
                p: function(X) {
                    return {
                        M: f,
                        y: p,
                        w: u,
                        d: l,
                        D: v,
                        h: a,
                        m: o,
                        s,
                        ms: i,
                        Q: d
                    }[X] || String(X || "").toLowerCase().replace(/s$/, "")
                },
                u: function(X) {
                    return X === void 0
                }
            },
            x = "en",
            F = {};
        F[x] = m;
        var Q = "$isDayjsObject",
            P = function(X) {
                return X instanceof D || !(!X || !X[Q])
            },
            L = function X(se, Z, ce) {
                var W;
                if (!se) return x;
                if (typeof se == "string") {
                    var he = se.toLowerCase();
                    F[he] && (W = he), Z && (F[he] = Z, W = he);
                    var Se = se.split("-");
                    if (!W && Se.length > 1) return X(Se[0])
                } else {
                    var V = se.name;
                    F[V] = se, W = V
                }
                return !ce && W && (x = W), W || !ce && x
            },
            I = function(X, se) {
                if (P(X)) return X.clone();
                var Z = typeof se == "object" ? se : {};
                return Z.date = X, Z.args = arguments, new D(Z)
            },
            _ = y;
        _.l = L, _.i = P, _.w = function(X, se) {
            return I(X, {
                locale: se.$L,
                utc: se.$u,
                x: se.$x,
                $offset: se.$offset
            })
        };
        var D = function() {
                function X(Z) {
                    this.$L = L(Z.locale, null, !0), this.parse(Z), this.$x = this.$x || Z.x || {}, this[Q] = !0
                }
                var se = X.prototype;
                return se.parse = function(Z) {
                    this.$d = function(ce) {
                        var W = ce.date,
                            he = ce.utc;
                        if (W === null) return new Date(NaN);
                        if (_.u(W)) return new Date;
                        if (W instanceof Date) return new Date(W);
                        if (typeof W == "string" && !/Z$/i.test(W)) {
                            var Se = W.match(C);
                            if (Se) {
                                var V = Se[2] - 1 || 0,
                                    ie = (Se[7] || "0").substring(0, 3);
                                return he ? new Date(Date.UTC(Se[1], V, Se[3] || 1, Se[4] || 0, Se[5] || 0, Se[6] || 0, ie)) : new Date(Se[1], V, Se[3] || 1, Se[4] || 0, Se[5] || 0, Se[6] || 0, ie)
                            }
                        }
                        return new Date(W)
                    }(Z), this.init()
                }, se.init = function() {
                    var Z = this.$d;
                    this.$y = Z.getFullYear(), this.$M = Z.getMonth(), this.$D = Z.getDate(), this.$W = Z.getDay(), this.$H = Z.getHours(), this.$m = Z.getMinutes(), this.$s = Z.getSeconds(), this.$ms = Z.getMilliseconds()
                }, se.$utils = function() {
                    return _
                }, se.isValid = function() {
                    return this.$d.toString() !== B
                }, se.isSame = function(Z, ce) {
                    var W = I(Z);
                    return this.startOf(ce) <= W && W <= this.endOf(ce)
                }, se.isAfter = function(Z, ce) {
                    return I(Z) < this.startOf(ce)
                }, se.isBefore = function(Z, ce) {
                    return this.endOf(ce) < I(Z)
                }, se.$g = function(Z, ce, W) {
                    return _.u(Z) ? this[ce] : this.set(W, Z)
                }, se.unix = function() {
                    return Math.floor(this.valueOf() / 1e3)
                }, se.valueOf = function() {
                    return this.$d.getTime()
                }, se.startOf = function(Z, ce) {
                    var W = this,
                        he = !!_.u(ce) || ce,
                        Se = _.p(Z),
                        V = function(Qe, $e) {
                            var Ue = _.w(W.$u ? Date.UTC(W.$y, $e, Qe) : new Date(W.$y, $e, Qe), W);
                            return he ? Ue : Ue.endOf(l)
                        },
                        ie = function(Qe, $e) {
                            return _.w(W.toDate()[Qe].apply(W.toDate("s"), (he ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice($e)), W)
                        },
                        ue = this.$W,
                        pe = this.$M,
                        ee = this.$D,
                        ye = "set" + (this.$u ? "UTC" : "");
                    switch (Se) {
                        case p:
                            return he ? V(1, 0) : V(31, 11);
                        case f:
                            return he ? V(1, pe) : V(0, pe + 1);
                        case u:
                            var te = this.$locale().weekStart || 0,
                                Be = (ue < te ? ue + 7 : ue) - te;
                            return V(he ? ee - Be : ee + (6 - Be), pe);
                        case l:
                        case v:
                            return ie(ye + "Hours", 0);
                        case a:
                            return ie(ye + "Minutes", 1);
                        case o:
                            return ie(ye + "Seconds", 2);
                        case s:
                            return ie(ye + "Milliseconds", 3);
                        default:
                            return this.clone()
                    }
                }, se.endOf = function(Z) {
                    return this.startOf(Z, !1)
                }, se.$set = function(Z, ce) {
                    var W, he = _.p(Z),
                        Se = "set" + (this.$u ? "UTC" : ""),
                        V = (W = {}, W[l] = Se + "Date", W[v] = Se + "Date", W[f] = Se + "Month", W[p] = Se + "FullYear", W[a] = Se + "Hours", W[o] = Se + "Minutes", W[s] = Se + "Seconds", W[i] = Se + "Milliseconds", W)[he],
                        ie = he === l ? this.$D + (ce - this.$W) : ce;
                    if (he === f || he === p) {
                        var ue = this.clone().set(v, 1);
                        ue.$d[V](ie), ue.init(), this.$d = ue.set(v, Math.min(this.$D, ue.daysInMonth())).$d
                    } else V && this.$d[V](ie);
                    return this.init(), this
                }, se.set = function(Z, ce) {
                    return this.clone().$set(Z, ce)
                }, se.get = function(Z) {
                    return this[_.p(Z)]()
                }, se.add = function(Z, ce) {
                    var W, he = this;
                    Z = Number(Z);
                    var Se = _.p(ce),
                        V = function(pe) {
                            var ee = I(he);
                            return _.w(ee.date(ee.date() + Math.round(pe * Z)), he)
                        };
                    if (Se === f) return this.set(f, this.$M + Z);
                    if (Se === p) return this.set(p, this.$y + Z);
                    if (Se === l) return V(1);
                    if (Se === u) return V(7);
                    var ie = (W = {}, W[o] = r, W[a] = A, W[s] = n, W)[Se] || 1,
                        ue = this.$d.getTime() + Z * ie;
                    return _.w(ue, this)
                }, se.subtract = function(Z, ce) {
                    return this.add(-1 * Z, ce)
                }, se.format = function(Z) {
                    var ce = this,
                        W = this.$locale();
                    if (!this.isValid()) return W.invalidDate || B;
                    var he = Z || "YYYY-MM-DDTHH:mm:ssZ",
                        Se = _.z(this),
                        V = this.$H,
                        ie = this.$m,
                        ue = this.$M,
                        pe = W.weekdays,
                        ee = W.months,
                        ye = W.meridiem,
                        te = function($e, Ue, Ve, U) {
                            return $e && ($e[Ue] || $e(ce, he)) || Ve[Ue].slice(0, U)
                        },
                        Be = function($e) {
                            return _.s(V % 12 || 12, $e, "0")
                        },
                        Qe = ye || function($e, Ue, Ve) {
                            var U = $e < 12 ? "AM" : "PM";
                            return Ve ? U.toLowerCase() : U
                        };
                    return he.replace(w, function($e, Ue) {
                        return Ue || function(Ve) {
                            switch (Ve) {
                                case "YY":
                                    return String(ce.$y).slice(-2);
                                case "YYYY":
                                    return _.s(ce.$y, 4, "0");
                                case "M":
                                    return ue + 1;
                                case "MM":
                                    return _.s(ue + 1, 2, "0");
                                case "MMM":
                                    return te(W.monthsShort, ue, ee, 3);
                                case "MMMM":
                                    return te(ee, ue);
                                case "D":
                                    return ce.$D;
                                case "DD":
                                    return _.s(ce.$D, 2, "0");
                                case "d":
                                    return String(ce.$W);
                                case "dd":
                                    return te(W.weekdaysMin, ce.$W, pe, 2);
                                case "ddd":
                                    return te(W.weekdaysShort, ce.$W, pe, 3);
                                case "dddd":
                                    return pe[ce.$W];
                                case "H":
                                    return String(V);
                                case "HH":
                                    return _.s(V, 2, "0");
                                case "h":
                                    return Be(1);
                                case "hh":
                                    return Be(2);
                                case "a":
                                    return Qe(V, ie, !0);
                                case "A":
                                    return Qe(V, ie, !1);
                                case "m":
                                    return String(ie);
                                case "mm":
                                    return _.s(ie, 2, "0");
                                case "s":
                                    return String(ce.$s);
                                case "ss":
                                    return _.s(ce.$s, 2, "0");
                                case "SSS":
                                    return _.s(ce.$ms, 3, "0");
                                case "Z":
                                    return Se
                            }
                            return null
                        }($e) || Se.replace(":", "")
                    })
                }, se.utcOffset = function() {
                    return 15 * -Math.round(this.$d.getTimezoneOffset() / 15)
                }, se.diff = function(Z, ce, W) {
                    var he, Se = this,
                        V = _.p(ce),
                        ie = I(Z),
                        ue = (ie.utcOffset() - this.utcOffset()) * r,
                        pe = this - ie,
                        ee = function() {
                            return _.m(Se, ie)
                        };
                    switch (V) {
                        case p:
                            he = ee() / 12;
                            break;
                        case f:
                            he = ee();
                            break;
                        case d:
                            he = ee() / 3;
                            break;
                        case u:
                            he = (pe - ue) / 6048e5;
                            break;
                        case l:
                            he = (pe - ue) / 864e5;
                            break;
                        case a:
                            he = pe / A;
                            break;
                        case o:
                            he = pe / r;
                            break;
                        case s:
                            he = pe / n;
                            break;
                        default:
                            he = pe
                    }
                    return W ? he : _.a(he)
                }, se.daysInMonth = function() {
                    return this.endOf(f).$D
                }, se.$locale = function() {
                    return F[this.$L]
                }, se.locale = function(Z, ce) {
                    if (!Z) return this.$L;
                    var W = this.clone(),
                        he = L(Z, ce, !0);
                    return he && (W.$L = he), W
                }, se.clone = function() {
                    return _.w(this.$d, this)
                }, se.toDate = function() {
                    return new Date(this.valueOf())
                }, se.toJSON = function() {
                    return this.isValid() ? this.toISOString() : null
                }, se.toISOString = function() {
                    return this.$d.toISOString()
                }, se.toString = function() {
                    return this.$d.toUTCString()
                }, X
            }(),
            N = D.prototype;
        return I.prototype = N, [
            ["$ms", i],
            ["$s", s],
            ["$m", o],
            ["$H", a],
            ["$W", l],
            ["$M", f],
            ["$y", p],
            ["$D", v]
        ].forEach(function(X) {
            N[X[1]] = function(se) {
                return this.$g(se, X[0], X[1])
            }
        }), I.extend = function(X, se) {
            return X.$i || (X(se, D, I), X.$i = !0), I
        }, I.locale = L, I.isDayjs = P, I.unix = function(X) {
            return I(1e3 * X)
        }, I.en = F[x], I.Ls = F, I.p = {}, I
    })
})(Oy);
var Yg = Oy.exports;
const hse = g1(Yg);

function g6() {}
const Et = Object.assign,
    Ti = typeof window < "u",
    Uo = e => e !== null && typeof e == "object",
    rn = e => e != null,
    $a = e => typeof e == "function",
    Xg = e => Uo(e) && $a(e.then) && $a(e.catch),
    $u = e => Object.prototype.toString.call(e) === "[object Date]" && !Number.isNaN(e.getTime()),
    Dy = e => typeof e == "number" || /^\d+(\.\d+)?$/.test(e),
    RM = () => Ti ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : !1;

function Tm(e, t) {
    const n = t.split(".");
    let r = e;
    return n.forEach(A => {
        var i;
        r = Uo(r) && (i = r[A]) != null ? i : ""
    }), r
}

function un(e, t, n) {
    return t.reduce((r, A) => ((!n || e[A] !== void 0) && (r[A] = e[A]), r), {})
}
const _s = (e, t) => JSON.stringify(e) === JSON.stringify(t),
    Cf = e => Array.isArray(e) ? e : [e],
    Pn = null,
    rt = [Number, String],
    tt = {
        type: Boolean,
        default: !0
    },
    cr = e => ({
        type: e,
        required: !0
    }),
    Ii = () => ({
        type: Array,
        default: () => []
    }),
    Jg = e => ({
        type: Number,
        default: e
    }),
    Tt = e => ({
        type: rt,
        default: e
    }),
    ct = e => ({
        type: String,
        default: e
    });

function yc(e) {
    const t = "scrollTop" in e ? e.scrollTop : e.pageYOffset;
    return Math.max(t, 0)
}

function Ef(e, t) {
    "scrollTop" in e ? e.scrollTop = t : e.scrollTo(e.scrollX, t)
}

function qg() {
    return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
}

function Zg(e) {
    Ef(window, e), Ef(document.body, e)
}

function Im(e, t) {
    if (e === window) return 0;
    const n = t ? yc(t) : qg();
    return Nn(e).top + n
}
const NM = RM();

function $M() {
    NM && Zg(qg())
}
const Ly = e => e.stopPropagation();

function _r(e, t) {
    (typeof e.cancelable != "boolean" || e.cancelable) && e.preventDefault(), t && Ly(e)
}

function Ka(e) {
    const t = fr(e);
    if (!t) return !1;
    const n = window.getComputedStyle(t),
        r = n.display === "none",
        A = t.offsetParent === null && n.position !== "fixed";
    return r || A
}
const {
    width: ul,
    height: Cc
} = ew();

function Ht(e) {
    if (rn(e)) return Dy(e) ? `${e}px` : String(e)
}

function cl(e) {
    if (rn(e)) {
        if (Array.isArray(e)) return {
            width: Ht(e[0]),
            height: Ht(e[1])
        };
        const t = Ht(e);
        return {
            width: t,
            height: t
        }
    }
}

function ky(e) {
    const t = {};
    return e !== void 0 && (t.zIndex = +e), t
}
let _h;

function KM() {
    if (!_h) {
        const e = document.documentElement,
            t = e.style.fontSize || window.getComputedStyle(e).fontSize;
        _h = parseFloat(t)
    }
    return _h
}

function VM(e) {
    return e = e.replace(/rem/g, ""), +e * KM()
}

function GM(e) {
    return e = e.replace(/vw/g, ""), +e * ul.value / 100
}

function jM(e) {
    return e = e.replace(/vh/g, ""), +e * Cc.value / 100
}

function e5(e) {
    if (typeof e == "number") return e;
    if (Ti) {
        if (e.includes("rem")) return VM(e);
        if (e.includes("vw")) return GM(e);
        if (e.includes("vh")) return jM(e)
    }
    return parseFloat(e)
}
const WM = /-(\w)/g,
    Hy = e => e.replace(WM, (t, n) => n.toUpperCase());

function uo(e, t = 2) {
    let n = e + "";
    for (; n.length < t;) n = "0" + n;
    return n
}
const lr = (e, t, n) => Math.min(Math.max(e, t), n);

function Qm(e, t, n) {
    const r = e.indexOf(t);
    return r === -1 ? e : t === "-" && r !== 0 ? e.slice(0, r) : e.slice(0, r + 1) + e.slice(r).replace(n, "")
}

function zM(e, t = !0, n = !0) {
    t ? e = Qm(e, ".", /\./g) : e = e.split(".")[0], n ? e = Qm(e, "-", /-/g) : e = e.replace(/-/, "");
    const r = t ? /[^-0-9.]/g : /[^-0-9]/g;
    return e.replace(r, "")
}

function YM(e, t) {
    return Math.round((e + t) * 1e10) / 1e10
}
const {
    hasOwnProperty: XM
} = Object.prototype;

function JM(e, t, n) {
    const r = t[n];
    rn(r) && (!XM.call(e, n) || !Uo(r) ? e[n] = r : e[n] = My(Object(e[n]), r))
}

function My(e, t) {
    return Object.keys(t).forEach(n => {
        JM(e, t, n)
    }), e
}
var qM = {
    name: "姓名",
    tel: "电话",
    save: "保存",
    clear: "清空",
    cancel: "取消",
    confirm: "确认",
    delete: "删除",
    loading: "加载中...",
    noCoupon: "暂无优惠券",
    nameEmpty: "请填写姓名",
    addContact: "添加联系人",
    telInvalid: "请填写正确的电话",
    vanCalendar: {
        end: "结束",
        start: "开始",
        title: "日期选择",
        weekdays: ["日", "一", "二", "三", "四", "五", "六"],
        monthTitle: (e, t) => `${e}年${t}月`,
        rangePrompt: e => `最多选择 ${e} 天`
    },
    vanCascader: {
        select: "请选择"
    },
    vanPagination: {
        prev: "上一页",
        next: "下一页"
    },
    vanPullRefresh: {
        pulling: "下拉即可刷新...",
        loosing: "释放即可刷新..."
    },
    vanSubmitBar: {
        label: "合计:"
    },
    vanCoupon: {
        unlimited: "无门槛",
        discount: e => `${e}折`,
        condition: e => `满${e}元可用`
    },
    vanCouponCell: {
        title: "优惠券",
        count: e => `${e}张可用`
    },
    vanCouponList: {
        exchange: "兑换",
        close: "不使用",
        enable: "可用",
        disabled: "不可用",
        placeholder: "输入优惠码"
    },
    vanAddressEdit: {
        area: "地区",
        areaEmpty: "请选择地区",
        addressEmpty: "请填写详细地址",
        addressDetail: "详细地址",
        defaultAddress: "设为默认收货地址"
    },
    vanAddressList: {
        add: "新增地址"
    }
};
const Um = Ie("zh-CN"),
    Pm = Zt({
        "zh-CN": qM
    }),
    ZM = {
        messages() {
            return Pm[Um.value]
        },
        use(e, t) {
            Um.value = e, this.add({
                [e]: t
            })
        },
        add(e = {}) {
            My(Pm, e)
        }
    };
var eR = ZM;

function tR(e) {
    const t = Hy(e) + ".";
    return (n, ...r) => {
        const A = eR.messages(),
            i = Tm(A, t + n) || Tm(A, n);
        return $a(i) ? i(...r) : i
    }
}

function v6(e, t) {
    return t ? typeof t == "string" ? ` ${e}--${t}` : Array.isArray(t) ? t.reduce((n, r) => n + v6(e, r), "") : Object.keys(t).reduce((n, r) => n + (t[r] ? v6(e, r) : ""), "") : ""
}

function nR(e) {
    return (t, n) => (t && typeof t != "string" && (n = t, t = ""), t = t ? `${e}__${t}` : e, `${t}${v6(t,n)}`)
}

function at(e) {
    const t = `van-${e}`;
    return [t, nR(t), tR(t)]
}
const Ks = "van-hairline",
    Ry = `${Ks}--top`,
    rR = `${Ks}--left`,
    AR = `${Ks}--right`,
    iR = `${Ks}--bottom`,
    sR = `${Ks}--surround`,
    Ny = `${Ks}--top-bottom`,
    oR = `${Ks}-unset--top-bottom`,
    Po = "van-haptics-feedback",
    aR = Symbol("van-form"),
    lR = 500,
    Om = 5;

function Ec(e, {
    args: t = [],
    done: n,
    canceled: r,
    error: A
}) {
    if (e) {
        const i = e.apply(null, t);
        Xg(i) ? i.then(s => {
            s ? n() : r && r()
        }).catch(A || g6) : i ? n() : r && r()
    } else n()
}

function mt(e) {
    return e.install = t => {
        const {
            name: n
        } = e;
        n && (t.component(n, e), t.component(Hy(`-${n}`), e))
    }, e
}
const $y = Symbol();

function t5(e) {
    const t = En($y, null);
    t && Xe(t, n => {
        n && e()
    })
}
const Ky = (e, t) => {
    const n = Ie(),
        r = () => {
            n.value = Nn(e).height
        };
    return sn(() => {
        if (bt(r), t)
            for (let A = 1; A <= 3; A++) setTimeout(r, 100 * A)
    }), t5(() => bt(r)), Xe([ul, Cc], r), n
};

function uR(e, t) {
    const n = Ky(e, !0);
    return r => q("div", {
        class: t("placeholder"),
        style: {
            height: n.value ? `${n.value}px` : void 0
        }
    }, [r()])
}
const [Vy, Dm] = at("action-bar"), Gy = Symbol(Vy), cR = {
    placeholder: Boolean,
    safeAreaInsetBottom: tt
};
var fR = nt({
    name: Vy,
    props: cR,
    setup(e, {
        slots: t
    }) {
        const n = Ie(),
            r = uR(n, Dm),
            {
                linkChildren: A
            } = jA(Gy);
        A();
        const i = () => {
            var s;
            return q("div", {
                ref: n,
                class: [Dm(), {
                    "van-safe-area-bottom": e.safeAreaInsetBottom
                }]
            }, [(s = t.default) == null ? void 0 : s.call(t)])
        };
        return () => e.placeholder ? r(i) : i()
    }
});
const dR = mt(fR);

function fn(e) {
    const t = $t();
    t && Et(t.proxy, e)
}
const fl = {
    to: [String, Object],
    url: String,
    replace: Boolean
};

function jy({
    to: e,
    url: t,
    replace: n,
    $router: r
}) {
    e && r ? r[n ? "replace" : "push"](e) : t && (n ? location.replace(t) : location.href = t)
}

function bc() {
    const e = $t().proxy;
    return () => jy(e)
}
const [hR, Lm] = at("badge"), pR = {
    dot: Boolean,
    max: rt,
    tag: ct("div"),
    color: String,
    offset: Array,
    content: rt,
    showZero: tt,
    position: ct("top-right")
};
var gR = nt({
    name: hR,
    props: pR,
    setup(e, {
        slots: t
    }) {
        const n = () => {
                if (t.content) return !0;
                const {
                    content: o,
                    showZero: a
                } = e;
                return rn(o) && o !== "" && (a || o !== 0 && o !== "0")
            },
            r = () => {
                const {
                    dot: o,
                    max: a,
                    content: l
                } = e;
                if (!o && n()) return t.content ? t.content() : rn(a) && Dy(l) && +l > +a ? `${a}+` : l
            },
            A = o => o.startsWith("-") ? o.replace("-", "") : `-${o}`,
            i = De(() => {
                const o = {
                    background: e.color
                };
                if (e.offset) {
                    const [a, l] = e.offset, {
                        position: u
                    } = e, [f, d] = u.split("-");
                    t.default ? (typeof l == "number" ? o[f] = Ht(f === "top" ? l : -l) : o[f] = f === "top" ? Ht(l) : A(l), typeof a == "number" ? o[d] = Ht(d === "left" ? a : -a) : o[d] = d === "left" ? Ht(a) : A(a)) : (o.marginTop = Ht(l), o.marginLeft = Ht(a))
                }
                return o
            }),
            s = () => {
                if (n() || e.dot) return q("div", {
                    class: Lm([e.position, {
                        dot: e.dot,
                        fixed: !!t.default
                    }]),
                    style: i.value
                }, [r()])
            };
        return () => {
            if (t.default) {
                const {
                    tag: o
                } = e;
                return q(o, {
                    class: Lm("wrapper")
                }, {
                    default: () => [t.default(), s()]
                })
            }
            return s()
        }
    }
});
const S1 = mt(gR);
let vR = 2e3;
const mR = () => ++vR,
    [BR, pse] = at("config-provider"),
    wR = Symbol(BR),
    [yR, km] = at("icon"),
    CR = e => e == null ? void 0 : e.includes("/"),
    ER = {
        dot: Boolean,
        tag: ct("i"),
        name: String,
        size: rt,
        badge: rt,
        color: String,
        badgeProps: Object,
        classPrefix: String
    };
var bR = nt({
    name: yR,
    props: ER,
    setup(e, {
        slots: t
    }) {
        const n = En(wR, null),
            r = De(() => e.classPrefix || (n == null ? void 0 : n.iconPrefix) || km());
        return () => {
            const {
                tag: A,
                dot: i,
                name: s,
                size: o,
                badge: a,
                color: l
            } = e, u = CR(s);
            return q(S1, Jt({
                dot: i,
                tag: A,
                class: [r.value, u ? "" : `${r.value}-${s}`],
                style: {
                    color: l,
                    fontSize: Ht(o)
                },
                content: a
            }, e.badgeProps), {
                default: () => {
                    var f;
                    return [(f = t.default) == null ? void 0 : f.call(t), u && q("img", {
                        class: km("image"),
                        src: s
                    }, null)]
                }
            })
        }
    }
});
const Bn = mt(bR),
    [xR, Bu] = at("loading"),
    _R = Array(12).fill(null).map((e, t) => q("i", {
        class: Bu("line", String(t + 1))
    }, null)),
    FR = q("svg", {
        class: Bu("circular"),
        viewBox: "25 25 50 50"
    }, [q("circle", {
        cx: "50",
        cy: "50",
        r: "20",
        fill: "none"
    }, null)]),
    SR = {
        size: rt,
        type: ct("circular"),
        color: String,
        vertical: Boolean,
        textSize: rt,
        textColor: String
    };
var TR = nt({
    name: xR,
    props: SR,
    setup(e, {
        slots: t
    }) {
        const n = De(() => Et({
                color: e.color
            }, cl(e.size))),
            r = () => {
                const i = e.type === "spinner" ? _R : FR;
                return q("span", {
                    class: Bu("spinner", e.type),
                    style: n.value
                }, [t.icon ? t.icon() : i])
            },
            A = () => {
                var i;
                if (t.default) return q("span", {
                    class: Bu("text"),
                    style: {
                        fontSize: Ht(e.textSize),
                        color: (i = e.textColor) != null ? i : e.color
                    }
                }, [t.default()])
            };
        return () => {
            const {
                type: i,
                vertical: s
            } = e;
            return q("div", {
                class: Bu([i, {
                    vertical: s
                }]),
                "aria-live": "polite",
                "aria-busy": !0
            }, [r(), A()])
        }
    }
});
const ki = mt(TR),
    [IR, sa] = at("button"),
    QR = Et({}, fl, {
        tag: ct("button"),
        text: String,
        icon: String,
        type: ct("default"),
        size: ct("normal"),
        color: String,
        block: Boolean,
        plain: Boolean,
        round: Boolean,
        square: Boolean,
        loading: Boolean,
        hairline: Boolean,
        disabled: Boolean,
        iconPrefix: String,
        nativeType: ct("button"),
        loadingSize: rt,
        loadingText: String,
        loadingType: String,
        iconPosition: ct("left")
    });
var UR = nt({
    name: IR,
    props: QR,
    emits: ["click"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = bc(),
            A = () => n.loading ? n.loading() : q(ki, {
                size: e.loadingSize,
                type: e.loadingType,
                class: sa("loading")
            }, null),
            i = () => {
                if (e.loading) return A();
                if (n.icon) return q("div", {
                    class: sa("icon")
                }, [n.icon()]);
                if (e.icon) return q(Bn, {
                    name: e.icon,
                    class: sa("icon"),
                    classPrefix: e.iconPrefix
                }, null)
            },
            s = () => {
                let l;
                if (e.loading ? l = e.loadingText : l = n.default ? n.default() : e.text, l) return q("span", {
                    class: sa("text")
                }, [l])
            },
            o = () => {
                const {
                    color: l,
                    plain: u
                } = e;
                if (l) {
                    const f = {
                        color: u ? l : "white"
                    };
                    return u || (f.background = l), l.includes("gradient") ? f.border = 0 : f.borderColor = l, f
                }
            },
            a = l => {
                e.loading ? _r(l) : e.disabled || (t("click", l), r())
            };
        return () => {
            const {
                tag: l,
                type: u,
                size: f,
                block: d,
                round: p,
                plain: v,
                square: B,
                loading: C,
                disabled: w,
                hairline: m,
                nativeType: E,
                iconPosition: y
            } = e, x = [sa([u, f, {
                plain: v,
                block: d,
                round: p,
                square: B,
                loading: C,
                disabled: w,
                hairline: m
            }]), {
                [sR]: m
            }];
            return q(l, {
                type: E,
                class: x,
                style: o(),
                disabled: w,
                onClick: a
            }, {
                default: () => [q("div", {
                    class: sa("content")
                }, [y === "left" && i(), s(), y === "right" && i()])]
            })
        }
    }
});
const bf = mt(UR),
    [PR, OR] = at("action-bar-button"),
    DR = Et({}, fl, {
        type: String,
        text: String,
        icon: String,
        color: String,
        loading: Boolean,
        disabled: Boolean
    });
var LR = nt({
    name: PR,
    props: DR,
    setup(e, {
        slots: t
    }) {
        const n = bc(),
            {
                parent: r,
                index: A
            } = Kr(Gy),
            i = De(() => {
                if (r) {
                    const o = r.children[A.value - 1];
                    return !(o && "isButton" in o)
                }
            }),
            s = De(() => {
                if (r) {
                    const o = r.children[A.value + 1];
                    return !(o && "isButton" in o)
                }
            });
        return fn({
            isButton: !0
        }), () => {
            const {
                type: o,
                icon: a,
                text: l,
                color: u,
                loading: f,
                disabled: d
            } = e;
            return q(bf, {
                class: OR([o, {
                    last: s.value,
                    first: i.value
                }]),
                size: "large",
                type: o,
                icon: a,
                color: u,
                loading: f,
                disabled: d,
                onClick: n
            }, {
                default: () => [t.default ? t.default() : l]
            })
        }
    }
});
const Hm = mt(LR),
    T1 = {
        show: Boolean,
        zIndex: rt,
        overlay: tt,
        duration: rt,
        teleport: [String, Object],
        lockScroll: tt,
        lazyRender: tt,
        beforeClose: Function,
        overlayStyle: Object,
        overlayClass: Pn,
        transitionAppear: Boolean,
        closeOnClickOverlay: tt
    },
    Wy = Object.keys(T1);

function kR(e, t) {
    return e > t ? "horizontal" : t > e ? "vertical" : ""
}

function dl() {
    const e = Ie(0),
        t = Ie(0),
        n = Ie(0),
        r = Ie(0),
        A = Ie(0),
        i = Ie(0),
        s = Ie(""),
        o = Ie(!0),
        a = () => s.value === "vertical",
        l = () => s.value === "horizontal",
        u = () => {
            n.value = 0, r.value = 0, A.value = 0, i.value = 0, s.value = "", o.value = !0
        };
    return {
        move: p => {
            const v = p.touches[0];
            n.value = (v.clientX < 0 ? 0 : v.clientX) - e.value, r.value = v.clientY - t.value, A.value = Math.abs(n.value), i.value = Math.abs(r.value);
            const B = 10;
            (!s.value || A.value < B && i.value < B) && (s.value = kR(A.value, i.value)), o.value && (A.value > Om || i.value > Om) && (o.value = !1)
        },
        start: p => {
            u(), e.value = p.touches[0].clientX, t.value = p.touches[0].clientY
        },
        reset: u,
        startX: e,
        startY: t,
        deltaX: n,
        deltaY: r,
        offsetX: A,
        offsetY: i,
        direction: s,
        isVertical: a,
        isHorizontal: l,
        isTap: o
    }
}
let kl = 0;
const Mm = "van-overflow-hidden";

function HR(e, t) {
    const n = dl(),
        r = "01",
        A = "10",
        i = u => {
            n.move(u);
            const f = n.deltaY.value > 0 ? A : r,
                d = vg(u.target, e.value),
                {
                    scrollHeight: p,
                    offsetHeight: v,
                    scrollTop: B
                } = d;
            let C = "11";
            B === 0 ? C = v >= p ? "00" : "01" : B + v >= p && (C = "10"), C !== "11" && n.isVertical() && !(parseInt(C, 2) & parseInt(f, 2)) && _r(u, !0)
        },
        s = () => {
            document.addEventListener("touchstart", n.start), document.addEventListener("touchmove", i, {
                passive: !1
            }), kl || document.body.classList.add(Mm), kl++
        },
        o = () => {
            kl && (document.removeEventListener("touchstart", n.start), document.removeEventListener("touchmove", i), kl--, kl || document.body.classList.remove(Mm))
        },
        a = () => t() && s(),
        l = () => t() && o();
    al(a), Oi(l), $r(l), Xe(t, u => {
        u ? s() : o()
    })
}

function n5(e) {
    const t = Ie(!1);
    return Xe(e, n => {
        n && (t.value = n)
    }, {
        immediate: !0
    }), n => () => t.value ? n() : null
}
const m6 = () => {
        var e;
        const {
            scopeId: t
        } = ((e = $t()) == null ? void 0 : e.vnode) || {};
        return t ? {
            [t]: ""
        } : null
    },
    [MR, RR] = at("overlay"),
    NR = {
        show: Boolean,
        zIndex: rt,
        duration: rt,
        className: Pn,
        lockScroll: tt,
        lazyRender: tt,
        customStyle: Object
    };
var $R = nt({
    name: MR,
    props: NR,
    setup(e, {
        slots: t
    }) {
        const n = Ie(),
            r = n5(() => e.show || !e.lazyRender),
            A = s => {
                e.lockScroll && _r(s, !0)
            },
            i = r(() => {
                var s;
                const o = Et(ky(e.zIndex), e.customStyle);
                return rn(e.duration) && (o.animationDuration = `${e.duration}s`), Is(q("div", {
                    ref: n,
                    style: o,
                    class: [RR(), e.className]
                }, [(s = t.default) == null ? void 0 : s.call(t)]), [
                    [Os, e.show]
                ])
            });
        return Sr("touchmove", A, {
            target: n
        }), () => q(mc, {
            name: "van-fade",
            appear: !0
        }, {
            default: i
        })
    }
});
const KR = mt($R),
    VR = Et({}, T1, {
        round: Boolean,
        position: ct("center"),
        closeIcon: ct("cross"),
        closeable: Boolean,
        transition: String,
        iconPrefix: String,
        closeOnPopstate: Boolean,
        closeIconPosition: ct("top-right"),
        safeAreaInsetTop: Boolean,
        safeAreaInsetBottom: Boolean
    }),
    [GR, Rm] = at("popup");
var jR = nt({
    name: GR,
    inheritAttrs: !1,
    props: VR,
    emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
    setup(e, {
        emit: t,
        attrs: n,
        slots: r
    }) {
        let A, i;
        const s = Ie(),
            o = Ie(),
            a = n5(() => e.show || !e.lazyRender),
            l = De(() => {
                const F = {
                    zIndex: s.value
                };
                if (rn(e.duration)) {
                    const Q = e.position === "center" ? "animationDuration" : "transitionDuration";
                    F[Q] = `${e.duration}s`
                }
                return F
            }),
            u = () => {
                A || (A = !0, s.value = e.zIndex !== void 0 ? +e.zIndex : mR(), t("open"))
            },
            f = () => {
                A && Ec(e.beforeClose, {
                    done() {
                        A = !1, t("close"), t("update:show", !1)
                    }
                })
            },
            d = F => {
                t("clickOverlay", F), e.closeOnClickOverlay && f()
            },
            p = () => {
                if (e.overlay) return q(KR, Jt({
                    show: e.show,
                    class: e.overlayClass,
                    zIndex: s.value,
                    duration: e.duration,
                    customStyle: e.overlayStyle,
                    role: e.closeOnClickOverlay ? "button" : void 0,
                    tabindex: e.closeOnClickOverlay ? 0 : void 0
                }, m6(), {
                    onClick: d
                }), {
                    default: r["overlay-content"]
                })
            },
            v = F => {
                t("clickCloseIcon", F), f()
            },
            B = () => {
                if (e.closeable) return q(Bn, {
                    role: "button",
                    tabindex: 0,
                    name: e.closeIcon,
                    class: [Rm("close-icon", e.closeIconPosition), Po],
                    classPrefix: e.iconPrefix,
                    onClick: v
                }, null)
            };
        let C;
        const w = () => {
                C && clearTimeout(C), C = setTimeout(() => {
                    t("opened")
                })
            },
            m = () => t("closed"),
            E = F => t("keydown", F),
            y = a(() => {
                var F;
                const {
                    round: Q,
                    position: P,
                    safeAreaInsetTop: L,
                    safeAreaInsetBottom: I
                } = e;
                return Is(q("div", Jt({
                    ref: o,
                    style: l.value,
                    role: "dialog",
                    tabindex: 0,
                    class: [Rm({
                        round: Q,
                        [P]: P
                    }), {
                        "van-safe-area-top": L,
                        "van-safe-area-bottom": I
                    }],
                    onKeydown: E
                }, n, m6()), [(F = r.default) == null ? void 0 : F.call(r), B()]), [
                    [Os, e.show]
                ])
            }),
            x = () => {
                const {
                    position: F,
                    transition: Q,
                    transitionAppear: P
                } = e, L = F === "center" ? "van-fade" : `van-popup-slide-${F}`;
                return q(mc, {
                    name: Q || L,
                    appear: P,
                    onAfterEnter: w,
                    onAfterLeave: m
                }, {
                    default: y
                })
            };
        return Xe(() => e.show, F => {
            F && !A && (u(), n.tabindex === 0 && bt(() => {
                var Q;
                (Q = o.value) == null || Q.focus()
            })), !F && A && (A = !1, t("close"))
        }), fn({
            popupRef: o
        }), HR(o, () => e.show && e.lockScroll), Sr("popstate", () => {
            e.closeOnPopstate && (f(), i = !1)
        }), sn(() => {
            e.show && u()
        }), Ms(() => {
            i && (t("update:show", !0), i = !1)
        }), Oi(() => {
            e.show && e.teleport && (f(), i = !0)
        }), BA($y, () => e.show), () => e.teleport ? q(jB, {
            to: e.teleport
        }, {
            default: () => [p(), x()]
        }) : q(an, null, [p(), x()])
    }
});
const hl = mt(jR),
    [WR, Xr] = at("action-sheet"),
    zR = Et({}, T1, {
        title: String,
        round: tt,
        actions: Ii(),
        closeIcon: ct("cross"),
        closeable: tt,
        cancelText: String,
        description: String,
        closeOnPopstate: tt,
        closeOnClickAction: Boolean,
        safeAreaInsetBottom: tt
    }),
    YR = [...Wy, "round", "closeOnPopstate", "safeAreaInsetBottom"];
var XR = nt({
    name: WR,
    props: zR,
    emits: ["select", "cancel", "update:show"],
    setup(e, {
        slots: t,
        emit: n
    }) {
        const r = f => n("update:show", f),
            A = () => {
                r(!1), n("cancel")
            },
            i = () => {
                if (e.title) return q("div", {
                    class: Xr("header")
                }, [e.title, e.closeable && q(Bn, {
                    name: e.closeIcon,
                    class: [Xr("close"), Po],
                    onClick: A
                }, null)])
            },
            s = () => {
                if (t.cancel || e.cancelText) return [q("div", {
                    class: Xr("gap")
                }, null), q("button", {
                    type: "button",
                    class: Xr("cancel"),
                    onClick: A
                }, [t.cancel ? t.cancel() : e.cancelText])]
            },
            o = f => {
                if (f.icon) return q(Bn, {
                    class: Xr("item-icon"),
                    name: f.icon
                }, null)
            },
            a = (f, d) => f.loading ? q(ki, {
                class: Xr("loading-icon")
            }, null) : t.action ? t.action({
                action: f,
                index: d
            }) : [q("span", {
                class: Xr("name")
            }, [f.name]), f.subname && q("div", {
                class: Xr("subname")
            }, [f.subname])],
            l = (f, d) => {
                const {
                    color: p,
                    loading: v,
                    callback: B,
                    disabled: C,
                    className: w
                } = f, m = () => {
                    C || v || (B && B(f), e.closeOnClickAction && r(!1), bt(() => n("select", f, d)))
                };
                return q("button", {
                    type: "button",
                    style: {
                        color: p
                    },
                    class: [Xr("item", {
                        loading: v,
                        disabled: C
                    }), w],
                    onClick: m
                }, [o(f), a(f, d)])
            },
            u = () => {
                if (e.description || t.description) {
                    const f = t.description ? t.description() : e.description;
                    return q("div", {
                        class: Xr("description")
                    }, [f])
                }
            };
        return () => q(hl, Jt({
            class: Xr(),
            position: "bottom",
            "onUpdate:show": r
        }, un(e, YR)), {
            default: () => {
                var f;
                return [i(), u(), q("div", {
                    class: Xr("content")
                }, [e.actions.map(l), (f = t.default) == null ? void 0 : f.call(t)]), s()]
            }
        })
    }
});
const gse = mt(XR),
    [JR, mi, Nm] = at("picker"),
    zy = e => e.find(t => !t.disabled) || e[0];

function qR(e, t) {
    const n = e[0];
    if (n) {
        if (Array.isArray(n)) return "multiple";
        if (t.children in n) return "cascade"
    }
    return "default"
}

function z0(e, t) {
    t = lr(t, 0, e.length);
    for (let n = t; n < e.length; n++)
        if (!e[n].disabled) return n;
    for (let n = t - 1; n >= 0; n--)
        if (!e[n].disabled) return n;
    return 0
}
const $m = (e, t, n) => t !== void 0 && !!e.find(r => r[n.value] === t);

function B6(e, t, n) {
    const r = e.findIndex(i => i[n.value] === t),
        A = z0(e, r);
    return e[A]
}

function ZR(e, t, n) {
    const r = [];
    let A = {
            [t.children]: e
        },
        i = 0;
    for (; A && A[t.children];) {
        const s = A[t.children],
            o = n.value[i];
        if (A = rn(o) ? B6(s, o, t) : void 0, !A && s.length) {
            const a = zy(s)[t.value];
            A = B6(s, a, t)
        }
        i++, r.push(s)
    }
    return r
}

function eN(e) {
    const {
        transform: t
    } = window.getComputedStyle(e), n = t.slice(7, t.length - 1).split(", ")[5];
    return Number(n)
}

function tN(e) {
    return Et({
        text: "text",
        value: "value",
        children: "children"
    }, e)
}
const Km = 200,
    Vm = 300,
    nN = 15,
    [Yy, Fh] = at("picker-column"),
    Xy = Symbol(Yy);
var rN = nt({
    name: Yy,
    props: {
        value: rt,
        fields: cr(Object),
        options: Ii(),
        readonly: Boolean,
        allowHtml: Boolean,
        optionHeight: cr(Number),
        swipeDuration: cr(rt),
        visibleOptionNum: cr(rt)
    },
    emits: ["change", "clickOption", "scrollInto"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        let r, A, i, s, o;
        const a = Ie(),
            l = Ie(),
            u = Ie(0),
            f = Ie(0),
            d = dl(),
            p = () => e.options.length,
            v = () => e.optionHeight * (+e.visibleOptionNum - 1) / 2,
            B = I => {
                let _ = z0(e.options, I);
                const D = -_ * e.optionHeight,
                    N = () => {
                        _ > p() - 1 && (_ = z0(e.options, I));
                        const X = e.options[_][e.fields.value];
                        X !== e.value && t("change", X)
                    };
                r && D !== u.value ? o = N : N(), u.value = D
            },
            C = () => e.readonly || !e.options.length,
            w = I => {
                r || C() || (o = null, f.value = Km, B(I), t("clickOption", e.options[I]))
            },
            m = I => lr(Math.round(-I / e.optionHeight), 0, p() - 1),
            E = De(() => m(u.value)),
            y = (I, _) => {
                const D = Math.abs(I / _);
                I = u.value + D / .003 * (I < 0 ? -1 : 1);
                const N = m(I);
                f.value = +e.swipeDuration, B(N)
            },
            x = () => {
                r = !1, f.value = 0, o && (o(), o = null)
            },
            F = I => {
                if (!C()) {
                    if (d.start(I), r) {
                        const _ = eN(l.value);
                        u.value = Math.min(0, _ - v())
                    }
                    f.value = 0, A = u.value, i = Date.now(), s = A, o = null
                }
            },
            Q = I => {
                if (C()) return;
                d.move(I), d.isVertical() && (r = !0, _r(I, !0));
                const _ = lr(A + d.deltaY.value, -(p() * e.optionHeight), e.optionHeight),
                    D = m(_);
                D !== E.value && t("scrollInto", e.options[D]), u.value = _;
                const N = Date.now();
                N - i > Vm && (i = N, s = _)
            },
            P = () => {
                if (C()) return;
                const I = u.value - s,
                    _ = Date.now() - i;
                if (_ < Vm && Math.abs(I) > nN) {
                    y(I, _);
                    return
                }
                const N = m(u.value);
                f.value = Km, B(N), setTimeout(() => {
                    r = !1
                }, 0)
            },
            L = () => {
                const I = {
                    height: `${e.optionHeight}px`
                };
                return e.options.map((_, D) => {
                    const N = _[e.fields.text],
                        {
                            disabled: X
                        } = _,
                        se = _[e.fields.value],
                        Z = {
                            role: "button",
                            style: I,
                            tabindex: X ? -1 : 0,
                            class: [Fh("item", {
                                disabled: X,
                                selected: se === e.value
                            }), _.className],
                            onClick: () => w(D)
                        },
                        ce = {
                            class: "van-ellipsis",
                            [e.allowHtml ? "innerHTML" : "textContent"]: N
                        };
                    return q("li", Z, [n.option ? n.option(_, D) : q("div", ce, null)])
                })
            };
        return Kr(Xy), fn({
            stopMomentum: x
        }), hc(() => {
            const I = r ? Math.floor(-u.value / e.optionHeight) : e.options.findIndex(N => N[e.fields.value] === e.value),
                _ = z0(e.options, I),
                D = -_ * e.optionHeight;
            r && _ < I && x(), u.value = D
        }), Sr("touchmove", Q, {
            target: a
        }), () => q("div", {
            ref: a,
            class: Fh(),
            onTouchstartPassive: F,
            onTouchend: P,
            onTouchcancel: P
        }, [q("ul", {
            ref: l,
            style: {
                transform: `translate3d(0, ${u.value+v()}px, 0)`,
                transitionDuration: `${f.value}ms`,
                transitionProperty: f.value ? "all" : "none"
            },
            class: Fh("wrapper"),
            onTransitionend: x
        }, [L()])])
    }
});
const [AN] = at("picker-toolbar"), I1 = {
    title: String,
    cancelButtonText: String,
    confirmButtonText: String
}, iN = ["cancel", "confirm", "title", "toolbar"], sN = Object.keys(I1);
var oN = nt({
    name: AN,
    props: I1,
    emits: ["confirm", "cancel"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = () => {
                if (n.title) return n.title();
                if (e.title) return q("div", {
                    class: [mi("title"), "van-ellipsis"]
                }, [e.title])
            },
            A = () => t("cancel"),
            i = () => t("confirm"),
            s = () => {
                var a;
                const l = (a = e.cancelButtonText) != null ? a : Nm("cancel");
                if (!(!n.cancel && !l)) return q("button", {
                    type: "button",
                    class: [mi("cancel"), Po],
                    onClick: A
                }, [n.cancel ? n.cancel() : l])
            },
            o = () => {
                var a;
                const l = (a = e.confirmButtonText) != null ? a : Nm("confirm");
                if (!(!n.confirm && !l)) return q("button", {
                    type: "button",
                    class: [mi("confirm"), Po],
                    onClick: i
                }, [n.confirm ? n.confirm() : l])
            };
        return () => q("div", {
            class: mi("toolbar")
        }, [n.toolbar ? n.toolbar() : [s(), r(), o()]])
    }
});
const aN = (e, t) => {
    const n = Ie(e());
    return Xe(e, r => {
        r !== n.value && (n.value = r)
    }), Xe(n, r => {
        r !== e() && t(r)
    }), n
};
/**
 * @vue/shared v3.4.27
 * (c) 2018-present Yuxi (Evan) You and Vue contributors
 * @license MIT
 **/
const Jy = Array.isArray,
    Ku = e => typeof e == "string",
    qy = e => e !== null && typeof e == "object",
    lN = e => {
        const t = Object.create(null);
        return n => t[n] || (t[n] = e(n))
    },
    uN = /\B([A-Z])/g,
    cN = lN(e => e.replace(uN, "-$1").toLowerCase());

function Zy(e) {
    if (Jy(e)) {
        const t = {};
        for (let n = 0; n < e.length; n++) {
            const r = e[n],
                A = Ku(r) ? pN(r) : Zy(r);
            if (A)
                for (const i in A) t[i] = A[i]
        }
        return t
    } else if (Ku(e) || qy(e)) return e
}
const fN = /;(?![^(]*\))/g,
    dN = /:([^]+)/,
    hN = /\/\*[^]*?\*\//g;

function pN(e) {
    const t = {};
    return e.replace(hN, "").split(fN).forEach(n => {
        if (n) {
            const r = n.split(dN);
            r.length > 1 && (t[r[0].trim()] = r[1].trim())
        }
    }), t
}

function gN(e) {
    let t = "";
    if (!e || Ku(e)) return t;
    for (const n in e) {
        const r = e[n];
        if (Ku(r) || typeof r == "number") {
            const A = n.startsWith("--") ? n : cN(n);
            t += `${A}:${r};`
        }
    }
    return t
}

function eC(e) {
    let t = "";
    if (Ku(e)) t = e;
    else if (Jy(e))
        for (let n = 0; n < e.length; n++) {
            const r = eC(e[n]);
            r && (t += r + " ")
        } else if (qy(e))
            for (const n in e) e[n] && (t += n + " ");
    return t.trim()
}

function vN(e, t, n) {
    let r, A = 0;
    const i = e.scrollLeft,
        s = n === 0 ? 1 : Math.round(n * 1e3 / 16);

    function o() {
        Bc(r)
    }

    function a() {
        e.scrollLeft += (t - i) / s, ++A < s && (r = dr(a))
    }
    return a(), o
}

function mN(e, t, n, r) {
    let A, i = yc(e);
    const s = i < t,
        o = n === 0 ? 1 : Math.round(n * 1e3 / 16),
        a = (t - i) / o;

    function l() {
        Bc(A)
    }

    function u() {
        i += a, (s && i > t || !s && i < t) && (i = t), Ef(e, i), s && i < t || !s && i > t ? A = dr(u) : r && (A = dr(r))
    }
    return u(), l
}
let BN = 0;

function r5() {
    const e = $t(),
        {
            name: t = "unknown"
        } = (e == null ? void 0 : e.type) || {};
    return `${t}-${++BN}`
}

function tC() {
    const e = Ie([]),
        t = [];
    return s1(() => {
        e.value = []
    }), [e, r => (t[r] || (t[r] = A => {
        e.value[r] = A
    }), t[r])]
}

function nC(e, t) {
    if (!Ti || !window.IntersectionObserver) return;
    const n = new IntersectionObserver(i => {
            t(i[0].intersectionRatio > 0)
        }, {
            root: document.body
        }),
        r = () => {
            e.value && n.observe(e.value)
        },
        A = () => {
            e.value && n.unobserve(e.value)
        };
    Oi(A), $r(A), al(r)
}
const [wN, yN] = at("sticky"), CN = {
    zIndex: rt,
    position: ct("top"),
    container: Object,
    offsetTop: Tt(0),
    offsetBottom: Tt(0)
};
var EN = nt({
    name: wN,
    props: CN,
    emits: ["scroll", "change"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = wc(r),
            i = Zt({
                fixed: !1,
                width: 0,
                height: 0,
                transform: 0
            }),
            s = Ie(!1),
            o = De(() => e5(e.position === "top" ? e.offsetTop : e.offsetBottom)),
            a = De(() => {
                if (s.value) return;
                const {
                    fixed: d,
                    height: p,
                    width: v
                } = i;
                if (d) return {
                    width: `${v}px`,
                    height: `${p}px`
                }
            }),
            l = De(() => {
                if (!i.fixed || s.value) return;
                const d = Et(ky(e.zIndex), {
                    width: `${i.width}px`,
                    height: `${i.height}px`,
                    [e.position]: `${o.value}px`
                });
                return i.transform && (d.transform = `translate3d(0, ${i.transform}px, 0)`), d
            }),
            u = d => t("scroll", {
                scrollTop: d,
                isFixed: i.fixed
            }),
            f = () => {
                if (!r.value || Ka(r)) return;
                const {
                    container: d,
                    position: p
                } = e, v = Nn(r), B = yc(window);
                if (i.width = v.width, i.height = v.height, p === "top")
                    if (d) {
                        const C = Nn(d),
                            w = C.bottom - o.value - i.height;
                        i.fixed = o.value > v.top && C.bottom > 0, i.transform = w < 0 ? w : 0
                    } else i.fixed = o.value > v.top;
                else {
                    const {
                        clientHeight: C
                    } = document.documentElement;
                    if (d) {
                        const w = Nn(d),
                            m = C - w.top - o.value - i.height;
                        i.fixed = C - o.value < v.bottom && C > w.top, i.transform = m < 0 ? -m : 0
                    } else i.fixed = C - o.value < v.bottom
                }
                u(B)
            };
        return Xe(() => i.fixed, d => t("change", d)), Sr("scroll", f, {
            target: A,
            passive: !0
        }), nC(r, f), Xe([ul, Cc], () => {
            !r.value || Ka(r) || !i.fixed || (s.value = !0, bt(() => {
                const d = Nn(r);
                i.width = d.width, i.height = d.height, s.value = !1
            }))
        }), () => {
            var d;
            return q("div", {
                ref: r,
                style: a.value
            }, [q("div", {
                class: yN({
                    fixed: i.fixed && !s.value
                }),
                style: l.value
            }, [(d = n.default) == null ? void 0 : d.call(n)])])
        }
    }
});
const bN = mt(EN),
    [rC, n0] = at("swipe"),
    xN = {
        loop: tt,
        width: rt,
        height: rt,
        vertical: Boolean,
        autoplay: Tt(0),
        duration: Tt(500),
        touchable: tt,
        lazyRender: Boolean,
        initialSwipe: Tt(0),
        indicatorColor: String,
        showIndicators: tt,
        stopPropagation: tt
    },
    AC = Symbol(rC);
var _N = nt({
    name: rC,
    props: xN,
    emits: ["change", "dragStart", "dragEnd"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = Ie(),
            i = Zt({
                rect: null,
                width: 0,
                height: 0,
                offset: 0,
                active: 0,
                swiping: !1
            });
        let s = !1;
        const o = dl(),
            {
                children: a,
                linkChildren: l
            } = jA(AC),
            u = De(() => a.length),
            f = De(() => i[e.vertical ? "height" : "width"]),
            d = De(() => e.vertical ? o.deltaY.value : o.deltaX.value),
            p = De(() => i.rect ? (e.vertical ? i.rect.height : i.rect.width) - f.value * u.value : 0),
            v = De(() => f.value ? Math.ceil(Math.abs(p.value) / f.value) : u.value),
            B = De(() => u.value * f.value),
            C = De(() => (i.active + u.value) % u.value),
            w = De(() => {
                const V = e.vertical ? "vertical" : "horizontal";
                return o.direction.value === V
            }),
            m = De(() => {
                const V = {
                    transitionDuration: `${i.swiping?0:e.duration}ms`,
                    transform: `translate${e.vertical?"Y":"X"}(${+i.offset.toFixed(2)}px)`
                };
                if (f.value) {
                    const ie = e.vertical ? "height" : "width",
                        ue = e.vertical ? "width" : "height";
                    V[ie] = `${B.value}px`, V[ue] = e[ue] ? `${e[ue]}px` : ""
                }
                return V
            }),
            E = V => {
                const {
                    active: ie
                } = i;
                return V ? e.loop ? lr(ie + V, -1, u.value) : lr(ie + V, 0, v.value) : ie
            },
            y = (V, ie = 0) => {
                let ue = V * f.value;
                e.loop || (ue = Math.min(ue, -p.value));
                let pe = ie - ue;
                return e.loop || (pe = lr(pe, p.value, 0)), pe
            },
            x = ({
                pace: V = 0,
                offset: ie = 0,
                emitChange: ue
            }) => {
                if (u.value <= 1) return;
                const {
                    active: pe
                } = i, ee = E(V), ye = y(ee, ie);
                if (e.loop) {
                    if (a[0] && ye !== p.value) {
                        const te = ye < p.value;
                        a[0].setOffset(te ? B.value : 0)
                    }
                    if (a[u.value - 1] && ye !== 0) {
                        const te = ye > 0;
                        a[u.value - 1].setOffset(te ? -B.value : 0)
                    }
                }
                i.active = ee, i.offset = ye, ue && ee !== pe && t("change", C.value)
            },
            F = () => {
                i.swiping = !0, i.active <= -1 ? x({
                    pace: u.value
                }) : i.active >= u.value && x({
                    pace: -u.value
                })
            },
            Q = () => {
                F(), o.reset(), ho(() => {
                    i.swiping = !1, x({
                        pace: -1,
                        emitChange: !0
                    })
                })
            },
            P = () => {
                F(), o.reset(), ho(() => {
                    i.swiping = !1, x({
                        pace: 1,
                        emitChange: !0
                    })
                })
            };
        let L;
        const I = () => clearTimeout(L),
            _ = () => {
                I(), +e.autoplay > 0 && u.value > 1 && (L = setTimeout(() => {
                    P(), _()
                }, +e.autoplay))
            },
            D = (V = +e.initialSwipe) => {
                if (!r.value) return;
                const ie = () => {
                    var ue, pe;
                    if (!Ka(r)) {
                        const ee = {
                            width: r.value.offsetWidth,
                            height: r.value.offsetHeight
                        };
                        i.rect = ee, i.width = +((ue = e.width) != null ? ue : ee.width), i.height = +((pe = e.height) != null ? pe : ee.height)
                    }
                    u.value && (V = Math.min(u.value - 1, V), V === -1 && (V = u.value - 1)), i.active = V, i.swiping = !0, i.offset = y(V), a.forEach(ee => {
                        ee.setOffset(0)
                    }), _()
                };
                Ka(r) ? bt().then(ie) : ie()
            },
            N = () => D(i.active);
        let X;
        const se = V => {
                !e.touchable || V.touches.length > 1 || (o.start(V), s = !1, X = Date.now(), I(), F())
            },
            Z = V => {
                e.touchable && i.swiping && (o.move(V), w.value && (!e.loop && (i.active === 0 && d.value > 0 || i.active === u.value - 1 && d.value < 0) || (_r(V, e.stopPropagation), x({
                    offset: d.value
                }), s || (t("dragStart", {
                    index: C.value
                }), s = !0))))
            },
            ce = () => {
                if (!e.touchable || !i.swiping) return;
                const V = Date.now() - X,
                    ie = d.value / V;
                if ((Math.abs(ie) > .25 || Math.abs(d.value) > f.value / 2) && w.value) {
                    const pe = e.vertical ? o.offsetY.value : o.offsetX.value;
                    let ee = 0;
                    e.loop ? ee = pe > 0 ? d.value > 0 ? -1 : 1 : 0 : ee = -Math[d.value > 0 ? "ceil" : "floor"](d.value / f.value), x({
                        pace: ee,
                        emitChange: !0
                    })
                } else d.value && x({
                    pace: 0
                });
                s = !1, i.swiping = !1, t("dragEnd", {
                    index: C.value
                }), _()
            },
            W = (V, ie = {}) => {
                F(), o.reset(), ho(() => {
                    let ue;
                    e.loop && V === u.value ? ue = i.active === 0 ? 0 : V : ue = V % u.value, ie.immediate ? ho(() => {
                        i.swiping = !1
                    }) : i.swiping = !1, x({
                        pace: ue - i.active,
                        emitChange: !0
                    })
                })
            },
            he = (V, ie) => {
                const ue = ie === C.value,
                    pe = ue ? {
                        backgroundColor: e.indicatorColor
                    } : void 0;
                return q("i", {
                    style: pe,
                    class: n0("indicator", {
                        active: ue
                    })
                }, null)
            },
            Se = () => {
                if (n.indicator) return n.indicator({
                    active: C.value,
                    total: u.value
                });
                if (e.showIndicators && u.value > 1) return q("div", {
                    class: n0("indicators", {
                        vertical: e.vertical
                    })
                }, [Array(u.value).fill("").map(he)])
            };
        return fn({
            prev: Q,
            next: P,
            state: i,
            resize: N,
            swipeTo: W
        }), l({
            size: f,
            props: e,
            count: u,
            activeIndicator: C
        }), Xe(() => e.initialSwipe, V => D(+V)), Xe(u, () => D(i.active)), Xe(() => e.autoplay, _), Xe([ul, Cc, () => e.width, () => e.height], N), Xe(nw(), V => {
            V === "visible" ? _() : I()
        }), sn(D), Ms(() => D(i.active)), t5(() => D(i.active)), Oi(I), $r(I), Sr("touchmove", Z, {
            target: A
        }), () => {
            var V;
            return q("div", {
                ref: r,
                class: n0()
            }, [q("div", {
                ref: A,
                style: m.value,
                class: n0("track", {
                    vertical: e.vertical
                }),
                onTouchstartPassive: se,
                onTouchend: ce,
                onTouchcancel: ce
            }, [(V = n.default) == null ? void 0 : V.call(n)]), Se()])
        }
    }
});
const iC = mt(_N),
    [FN, Gm] = at("tabs");
var SN = nt({
    name: FN,
    props: {
        count: cr(Number),
        inited: Boolean,
        animated: Boolean,
        duration: cr(rt),
        swipeable: Boolean,
        lazyRender: Boolean,
        currentIndex: cr(Number)
    },
    emits: ["change"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = o => t("change", o),
            i = () => {
                var o;
                const a = (o = n.default) == null ? void 0 : o.call(n);
                return e.animated || e.swipeable ? q(iC, {
                    ref: r,
                    loop: !1,
                    class: Gm("track"),
                    duration: +e.duration * 1e3,
                    touchable: e.swipeable,
                    lazyRender: e.lazyRender,
                    showIndicators: !1,
                    onChange: A
                }, {
                    default: () => [a]
                }) : a
            },
            s = o => {
                const a = r.value;
                a && a.state.active !== o && a.swipeTo(o, {
                    immediate: !e.inited
                })
            };
        return Xe(() => e.currentIndex, s), sn(() => {
            s(e.currentIndex)
        }), fn({
            swipeRef: r
        }), () => q("div", {
            class: Gm("content", {
                animated: e.animated || e.swipeable
            })
        }, [i()])
    }
});
const [sC, r0] = at("tabs"), TN = {
    type: ct("line"),
    color: String,
    border: Boolean,
    sticky: Boolean,
    shrink: Boolean,
    active: Tt(0),
    duration: Tt(.3),
    animated: Boolean,
    ellipsis: tt,
    swipeable: Boolean,
    scrollspy: Boolean,
    offsetTop: Tt(0),
    background: String,
    lazyRender: tt,
    showHeader: tt,
    lineWidth: rt,
    lineHeight: rt,
    beforeChange: Function,
    swipeThreshold: Tt(5),
    titleActiveColor: String,
    titleInactiveColor: String
}, oC = Symbol(sC);
var IN = nt({
    name: sC,
    props: TN,
    emits: ["change", "scroll", "rendered", "clickTab", "update:active"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        let r, A, i, s, o;
        const a = Ie(),
            l = Ie(),
            u = Ie(),
            f = Ie(),
            d = r5(),
            p = wc(a),
            [v, B] = tC(),
            {
                children: C,
                linkChildren: w
            } = jA(oC),
            m = Zt({
                inited: !1,
                position: "",
                lineStyle: {},
                currentIndex: -1
            }),
            E = De(() => C.length > +e.swipeThreshold || !e.ellipsis || e.shrink),
            y = De(() => ({
                borderColor: e.color,
                background: e.background
            })),
            x = (ee, ye) => {
                var te;
                return (te = ee.name) != null ? te : ye
            },
            F = De(() => {
                const ee = C[m.currentIndex];
                if (ee) return x(ee, m.currentIndex)
            }),
            Q = De(() => e5(e.offsetTop)),
            P = De(() => e.sticky ? Q.value + r : 0),
            L = ee => {
                const ye = l.value,
                    te = v.value;
                if (!E.value || !ye || !te || !te[m.currentIndex]) return;
                const Be = te[m.currentIndex].$el,
                    Qe = Be.offsetLeft - (ye.offsetWidth - Be.offsetWidth) / 2;
                s && s(), s = vN(ye, Qe, ee ? 0 : +e.duration)
            },
            I = () => {
                const ee = m.inited;
                bt(() => {
                    const ye = v.value;
                    if (!ye || !ye[m.currentIndex] || e.type !== "line" || Ka(a.value)) return;
                    const te = ye[m.currentIndex].$el,
                        {
                            lineWidth: Be,
                            lineHeight: Qe
                        } = e,
                        $e = te.offsetLeft + te.offsetWidth / 2,
                        Ue = {
                            width: Ht(Be),
                            backgroundColor: e.color,
                            transform: `translateX(${$e}px) translateX(-50%)`
                        };
                    if (ee && (Ue.transitionDuration = `${e.duration}s`), rn(Qe)) {
                        const Ve = Ht(Qe);
                        Ue.height = Ve, Ue.borderRadius = Ve
                    }
                    m.lineStyle = Ue
                })
            },
            _ = ee => {
                const ye = ee < m.currentIndex ? -1 : 1;
                for (; ee >= 0 && ee < C.length;) {
                    if (!C[ee].disabled) return ee;
                    ee += ye
                }
            },
            D = (ee, ye) => {
                const te = _(ee);
                if (!rn(te)) return;
                const Be = C[te],
                    Qe = x(Be, te),
                    $e = m.currentIndex !== null;
                m.currentIndex !== te && (m.currentIndex = te, ye || L(), I()), Qe !== e.active && (t("update:active", Qe), $e && t("change", Qe, Be.title)), i && !e.scrollspy && Zg(Math.ceil(Im(a.value) - Q.value))
            },
            N = (ee, ye) => {
                const te = C.find((Qe, $e) => x(Qe, $e) === ee),
                    Be = te ? C.indexOf(te) : 0;
                D(Be, ye)
            },
            X = (ee = !1) => {
                if (e.scrollspy) {
                    const ye = C[m.currentIndex].$el;
                    if (ye && p.value) {
                        const te = Im(ye, p.value) - P.value;
                        A = !0, o && o(), o = mN(p.value, te, ee ? 0 : +e.duration, () => {
                            A = !1
                        })
                    }
                }
            },
            se = (ee, ye, te) => {
                const {
                    title: Be,
                    disabled: Qe
                } = C[ye], $e = x(C[ye], ye);
                Qe || (Ec(e.beforeChange, {
                    args: [$e],
                    done: () => {
                        D(ye), X()
                    }
                }), jy(ee)), t("clickTab", {
                    name: $e,
                    title: Be,
                    event: te,
                    disabled: Qe
                })
            },
            Z = ee => {
                i = ee.isFixed, t("scroll", ee)
            },
            ce = ee => {
                bt(() => {
                    N(ee), X(!0)
                })
            },
            W = () => {
                for (let ee = 0; ee < C.length; ee++) {
                    const {
                        top: ye
                    } = Nn(C[ee].$el);
                    if (ye > P.value) return ee === 0 ? 0 : ee - 1
                }
                return C.length - 1
            },
            he = () => {
                if (e.scrollspy && !A) {
                    const ee = W();
                    D(ee)
                }
            },
            Se = () => {
                if (e.type === "line" && C.length) return q("div", {
                    class: r0("line"),
                    style: m.lineStyle
                }, null)
            },
            V = () => {
                var ee, ye, te;
                const {
                    type: Be,
                    border: Qe,
                    sticky: $e
                } = e, Ue = [q("div", {
                    ref: $e ? void 0 : u,
                    class: [r0("wrap"), {
                        [Ny]: Be === "line" && Qe
                    }]
                }, [q("div", {
                    ref: l,
                    role: "tablist",
                    class: r0("nav", [Be, {
                        shrink: e.shrink,
                        complete: E.value
                    }]),
                    style: y.value,
                    "aria-orientation": "horizontal"
                }, [(ee = n["nav-left"]) == null ? void 0 : ee.call(n), C.map(Ve => Ve.renderTitle(se)), Se(), (ye = n["nav-right"]) == null ? void 0 : ye.call(n)])]), (te = n["nav-bottom"]) == null ? void 0 : te.call(n)];
                return $e ? q("div", {
                    ref: u
                }, [Ue]) : Ue
            },
            ie = () => {
                I(), bt(() => {
                    var ee, ye;
                    L(!0), (ye = (ee = f.value) == null ? void 0 : ee.swipeRef.value) == null || ye.resize()
                })
            };
        Xe(() => [e.color, e.duration, e.lineWidth, e.lineHeight], I), Xe(ul, ie), Xe(() => e.active, ee => {
            ee !== F.value && N(ee)
        }), Xe(() => C.length, () => {
            m.inited && (N(e.active), I(), bt(() => {
                L(!0)
            }))
        });
        const ue = () => {
                N(e.active, !0), bt(() => {
                    m.inited = !0, u.value && (r = Nn(u.value).height), L(!0)
                })
            },
            pe = (ee, ye) => t("rendered", ee, ye);
        return fn({
            resize: ie,
            scrollTo: ce
        }), Ms(I), t5(I), al(ue), nC(a, I), Sr("scroll", he, {
            target: p,
            passive: !0
        }), w({
            id: d,
            props: e,
            setLine: I,
            scrollable: E,
            onRendered: pe,
            currentName: F,
            setTitleRefs: B,
            scrollIntoView: L
        }), () => q("div", {
            ref: a,
            class: r0([e.type])
        }, [e.showHeader ? e.sticky ? q(bN, {
            container: a.value,
            offsetTop: Q.value,
            onScroll: Z
        }, {
            default: () => [V()]
        }) : V() : null, q(SN, {
            ref: f,
            count: C.length,
            inited: m.inited,
            animated: e.animated,
            duration: e.duration,
            swipeable: e.swipeable,
            lazyRender: e.lazyRender,
            currentIndex: m.currentIndex,
            onChange: D
        }, {
            default: () => {
                var ee;
                return [(ee = n.default) == null ? void 0 : ee.call(n)]
            }
        })])
    }
});
const aC = Symbol(),
    QN = () => En(aC, null),
    [UN, jm] = at("tab"),
    PN = nt({
        name: UN,
        props: {
            id: String,
            dot: Boolean,
            type: String,
            color: String,
            title: String,
            badge: rt,
            shrink: Boolean,
            isActive: Boolean,
            disabled: Boolean,
            controls: String,
            scrollable: Boolean,
            activeColor: String,
            inactiveColor: String,
            showZeroBadge: tt
        },
        setup(e, {
            slots: t
        }) {
            const n = De(() => {
                    const A = {},
                        {
                            type: i,
                            color: s,
                            disabled: o,
                            isActive: a,
                            activeColor: l,
                            inactiveColor: u
                        } = e;
                    s && i === "card" && (A.borderColor = s, o || (a ? A.backgroundColor = s : A.color = s));
                    const d = a ? l : u;
                    return d && (A.color = d), A
                }),
                r = () => {
                    const A = q("span", {
                        class: jm("text", {
                            ellipsis: !e.scrollable
                        })
                    }, [t.title ? t.title() : e.title]);
                    return e.dot || rn(e.badge) && e.badge !== "" ? q(S1, {
                        dot: e.dot,
                        content: e.badge,
                        showZero: e.showZeroBadge
                    }, {
                        default: () => [A]
                    }) : A
                };
            return () => q("div", {
                id: e.id,
                role: "tab",
                class: [jm([e.type, {
                    grow: e.scrollable && !e.shrink,
                    shrink: e.shrink,
                    active: e.isActive,
                    disabled: e.disabled
                }])],
                style: n.value,
                tabindex: e.disabled ? void 0 : e.isActive ? 0 : -1,
                "aria-selected": e.isActive,
                "aria-disabled": e.disabled || void 0,
                "aria-controls": e.controls
            }, [r()])
        }
    }),
    [ON, DN] = at("swipe-item");
var LN = nt({
    name: ON,
    setup(e, {
        slots: t
    }) {
        let n;
        const r = Zt({
                offset: 0,
                inited: !1,
                mounted: !1
            }),
            {
                parent: A,
                index: i
            } = Kr(AC);
        if (!A) {
            console.error("[Vant] <SwipeItem> must be a child component of <Swipe>.");
            return
        }
        const s = De(() => {
                const l = {},
                    {
                        vertical: u
                    } = A.props;
                return A.size.value && (l[u ? "height" : "width"] = `${A.size.value}px`), r.offset && (l.transform = `translate${u?"Y":"X"}(${r.offset}px)`), l
            }),
            o = De(() => {
                const {
                    loop: l,
                    lazyRender: u
                } = A.props;
                if (!u || n) return !0;
                if (!r.mounted) return !1;
                const f = A.activeIndicator.value,
                    d = A.count.value - 1,
                    p = f === 0 && l ? d : f - 1,
                    v = f === d && l ? 0 : f + 1;
                return n = i.value === f || i.value === p || i.value === v, n
            }),
            a = l => {
                r.offset = l
            };
        return sn(() => {
            bt(() => {
                r.mounted = !0
            })
        }), fn({
            setOffset: a
        }), () => {
            var l;
            return q("div", {
                class: DN(),
                style: s.value
            }, [o.value ? (l = t.default) == null ? void 0 : l.call(t) : null])
        }
    }
});
const lC = mt(LN),
    [kN, Sh] = at("tab"),
    HN = Et({}, fl, {
        dot: Boolean,
        name: rt,
        badge: rt,
        title: String,
        disabled: Boolean,
        titleClass: Pn,
        titleStyle: [String, Object],
        showZeroBadge: tt
    });
var MN = nt({
    name: kN,
    props: HN,
    setup(e, {
        slots: t
    }) {
        const n = r5(),
            r = Ie(!1),
            A = $t(),
            {
                parent: i,
                index: s
            } = Kr(oC);
        if (!i) {
            console.error("[Vant] <Tab> must be a child component of <Tabs>.");
            return
        }
        const o = () => {
                var v;
                return (v = e.name) != null ? v : s.value
            },
            a = () => {
                r.value = !0, i.props.lazyRender && bt(() => {
                    i.onRendered(o(), e.title)
                })
            },
            l = De(() => {
                const v = o() === i.currentName.value;
                return v && !r.value && a(), v
            }),
            u = Ie(""),
            f = Ie("");
        hc(() => {
            const {
                titleClass: v,
                titleStyle: B
            } = e;
            u.value = v ? eC(v) : "", f.value = B && typeof B != "string" ? gN(Zy(B)) : B
        });
        const d = v => q(PN, Jt({
                key: n,
                id: `${i.id}-${s.value}`,
                ref: i.setTitleRefs(s.value),
                style: f.value,
                class: u.value,
                isActive: l.value,
                controls: n,
                scrollable: i.scrollable.value,
                activeColor: i.props.titleActiveColor,
                inactiveColor: i.props.titleInactiveColor,
                onClick: B => v(A.proxy, s.value, B)
            }, un(i.props, ["type", "color", "shrink"]), un(e, ["dot", "badge", "title", "disabled", "showZeroBadge"])), {
                title: t.title
            }),
            p = Ie(!l.value);
        return Xe(l, v => {
            v ? p.value = !1 : ho(() => {
                p.value = !0
            })
        }), Xe(() => e.title, () => {
            i.setLine(), i.scrollIntoView()
        }), BA(aC, l), fn({
            id: n,
            renderTitle: d
        }), () => {
            var v;
            const B = `${i.id}-${s.value}`,
                {
                    animated: C,
                    swipeable: w,
                    scrollspy: m,
                    lazyRender: E
                } = i.props;
            if (!t.default && !C) return;
            const y = m || l.value;
            if (C || w) return q(lC, {
                id: n,
                role: "tabpanel",
                class: Sh("panel-wrapper", {
                    inactive: p.value
                }),
                tabindex: l.value ? 0 : -1,
                "aria-hidden": !l.value,
                "aria-labelledby": B
            }, {
                default: () => {
                    var Q;
                    return [q("div", {
                        class: Sh("panel")
                    }, [(Q = t.default) == null ? void 0 : Q.call(t)])]
                }
            });
            const F = r.value || m || !E ? (v = t.default) == null ? void 0 : v.call(t) : null;
            return Is(q("div", {
                id: n,
                role: "tabpanel",
                class: Sh("panel"),
                tabindex: y ? 0 : -1,
                "aria-labelledby": B
            }, [F]), [
                [Os, y]
            ])
        }
    }
});
const vse = mt(MN),
    mse = mt(IN),
    [RN, Bse] = at("picker-group"),
    NN = Symbol(RN);
Et({
    tabs: Ii(),
    activeTab: Tt(0),
    nextStepText: String,
    showToolbar: tt
}, I1);
const A5 = Et({
        loading: Boolean,
        readonly: Boolean,
        allowHtml: Boolean,
        optionHeight: Tt(44),
        showToolbar: tt,
        swipeDuration: Tt(1e3),
        visibleOptionNum: Tt(6)
    }, I1),
    $N = Et({}, A5, {
        columns: Ii(),
        modelValue: Ii(),
        toolbarPosition: ct("top"),
        columnsFieldNames: Object
    });
var KN = nt({
    name: JR,
    props: $N,
    emits: ["confirm", "cancel", "change", "scrollInto", "clickOption", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = Ie(e.modelValue.slice(0)),
            {
                parent: i
            } = Kr(NN),
            {
                children: s,
                linkChildren: o
            } = jA(Xy);
        o();
        const a = De(() => tN(e.columnsFieldNames)),
            l = De(() => e5(e.optionHeight)),
            u = De(() => qR(e.columns, a.value)),
            f = De(() => {
                const {
                    columns: _
                } = e;
                switch (u.value) {
                    case "multiple":
                        return _;
                    case "cascade":
                        return ZR(_, a.value, A);
                    default:
                        return [_]
                }
            }),
            d = De(() => f.value.some(_ => _.length)),
            p = De(() => f.value.map((_, D) => B6(_, A.value[D], a.value))),
            v = De(() => f.value.map((_, D) => _.findIndex(N => N[a.value.value] === A.value[D]))),
            B = (_, D) => {
                if (A.value[_] !== D) {
                    const N = A.value.slice(0);
                    N[_] = D, A.value = N
                }
            },
            C = () => ({
                selectedValues: A.value.slice(0),
                selectedOptions: p.value,
                selectedIndexes: v.value
            }),
            w = (_, D) => {
                B(D, _), u.value === "cascade" && A.value.forEach((N, X) => {
                    const se = f.value[X];
                    $m(se, N, a.value) || B(X, se.length ? se[0][a.value.value] : void 0)
                }), bt(() => {
                    t("change", Et({
                        columnIndex: D
                    }, C()))
                })
            },
            m = (_, D) => {
                const N = {
                    columnIndex: D,
                    currentOption: _
                };
                t("clickOption", Et(C(), N)), t("scrollInto", N)
            },
            E = () => {
                s.forEach(D => D.stopMomentum());
                const _ = C();
                return bt(() => {
                    t("confirm", _)
                }), _
            },
            y = () => t("cancel", C()),
            x = () => f.value.map((_, D) => q(rN, {
                value: A.value[D],
                fields: a.value,
                options: _,
                readonly: e.readonly,
                allowHtml: e.allowHtml,
                optionHeight: l.value,
                swipeDuration: e.swipeDuration,
                visibleOptionNum: e.visibleOptionNum,
                onChange: N => w(N, D),
                onClickOption: N => m(N, D),
                onScrollInto: N => {
                    t("scrollInto", {
                        currentOption: N,
                        columnIndex: D
                    })
                }
            }, {
                option: n.option
            })),
            F = _ => {
                if (d.value) {
                    const D = {
                            height: `${l.value}px`
                        },
                        N = {
                            backgroundSize: `100% ${(_-l.value)/2}px`
                        };
                    return [q("div", {
                        class: mi("mask"),
                        style: N
                    }, null), q("div", {
                        class: [oR, mi("frame")],
                        style: D
                    }, null)]
                }
            },
            Q = () => {
                const _ = l.value * +e.visibleOptionNum,
                    D = {
                        height: `${_}px`
                    };
                return q("div", {
                    ref: r,
                    class: mi("columns"),
                    style: D
                }, [x(), F(_)])
            },
            P = () => {
                if (e.showToolbar && !i) return q(oN, Jt(un(e, sN), {
                    onConfirm: E,
                    onCancel: y
                }), un(n, iN))
            };
        Xe(f, _ => {
            _.forEach((D, N) => {
                D.length && !$m(D, A.value[N], a.value) && B(N, zy(D)[a.value.value])
            })
        }, {
            immediate: !0
        });
        let L;
        return Xe(() => e.modelValue, _ => {
            !_s(_, A.value) && !_s(_, L) && (A.value = _.slice(0), L = _.slice(0))
        }, {
            deep: !0
        }), Xe(A, _ => {
            _s(_, e.modelValue) || (L = _.slice(0), t("update:modelValue", L))
        }, {
            immediate: !0
        }), Sr("touchmove", _r, {
            target: r
        }), fn({
            confirm: E,
            getSelectedOptions: () => p.value
        }), () => {
            var _, D;
            return q("div", {
                class: mi()
            }, [e.toolbarPosition === "top" ? P() : null, e.loading ? q(ki, {
                class: mi("loading")
            }, null) : null, (_ = n["columns-top"]) == null ? void 0 : _.call(n), Q(), (D = n["columns-bottom"]) == null ? void 0 : D.call(n), e.toolbarPosition === "bottom" ? P() : null])
        }
    }
});
const VN = mt(KN),
    [GN, oa] = at("cell"),
    Q1 = {
        tag: ct("div"),
        icon: String,
        size: String,
        title: rt,
        value: rt,
        label: rt,
        center: Boolean,
        isLink: Boolean,
        border: tt,
        iconPrefix: String,
        valueClass: Pn,
        labelClass: Pn,
        titleClass: Pn,
        titleStyle: null,
        arrowDirection: String,
        required: {
            type: [Boolean, String],
            default: null
        },
        clickable: {
            type: Boolean,
            default: null
        }
    },
    jN = Et({}, Q1, fl);
var WN = nt({
    name: GN,
    props: jN,
    setup(e, {
        slots: t
    }) {
        const n = bc(),
            r = () => {
                if (t.label || rn(e.label)) return q("div", {
                    class: [oa("label"), e.labelClass]
                }, [t.label ? t.label() : e.label])
            },
            A = () => {
                var a;
                if (t.title || rn(e.title)) {
                    const l = (a = t.title) == null ? void 0 : a.call(t);
                    return Array.isArray(l) && l.length === 0 ? void 0 : q("div", {
                        class: [oa("title"), e.titleClass],
                        style: e.titleStyle
                    }, [l || q("span", null, [e.title]), r()])
                }
            },
            i = () => {
                const a = t.value || t.default;
                if (a || rn(e.value)) return q("div", {
                    class: [oa("value"), e.valueClass]
                }, [a ? a() : q("span", null, [e.value])])
            },
            s = () => {
                if (t.icon) return t.icon();
                if (e.icon) return q(Bn, {
                    name: e.icon,
                    class: oa("left-icon"),
                    classPrefix: e.iconPrefix
                }, null)
            },
            o = () => {
                if (t["right-icon"]) return t["right-icon"]();
                if (e.isLink) {
                    const a = e.arrowDirection && e.arrowDirection !== "right" ? `arrow-${e.arrowDirection}` : "arrow";
                    return q(Bn, {
                        name: a,
                        class: oa("right-icon")
                    }, null)
                }
            };
        return () => {
            var a;
            const {
                tag: l,
                size: u,
                center: f,
                border: d,
                isLink: p,
                required: v
            } = e, B = (a = e.clickable) != null ? a : p, C = {
                center: f,
                required: !!v,
                clickable: B,
                borderless: !d
            };
            return u && (C[u] = !!u), q(l, {
                class: oa(C),
                role: B ? "button" : void 0,
                tabindex: B ? 0 : void 0,
                onClick: n
            }, {
                default: () => {
                    var w;
                    return [s(), A(), i(), o(), (w = t.extra) == null ? void 0 : w.call(t)]
                }
            })
        }
    }
});
const uC = mt(WN);

function cC(e) {
    return Array.isArray(e) ? !e.length : e === 0 ? !1 : !e
}

function zN(e, t) {
    if (cC(e)) {
        if (t.required) return !1;
        if (t.validateEmpty === !1) return !0
    }
    return !(t.pattern && !t.pattern.test(String(e)))
}

function YN(e, t) {
    return new Promise(n => {
        const r = t.validator(e, t);
        if (Xg(r)) {
            r.then(n);
            return
        }
        n(r)
    })
}

function Wm(e, t) {
    const {
        message: n
    } = t;
    return $a(n) ? n(e, t) : n || ""
}

function XN({
    target: e
}) {
    e.composing = !0
}

function zm({
    target: e
}) {
    e.composing && (e.composing = !1, e.dispatchEvent(new Event("input")))
}

function JN(e, t) {
    const n = qg();
    e.style.height = "auto";
    let r = e.scrollHeight;
    if (Uo(t)) {
        const {
            maxHeight: A,
            minHeight: i
        } = t;
        A !== void 0 && (r = Math.min(r, A)), i !== void 0 && (r = Math.max(r, i))
    }
    r && (e.style.height = `${r}px`, Zg(n))
}

function qN(e) {
    return e === "number" ? {
        type: "text",
        inputmode: "decimal"
    } : e === "digit" ? {
        type: "tel",
        inputmode: "numeric"
    } : {
        type: e
    }
}

function si(e) {
    return [...e].length
}

function Th(e, t) {
    return [...e].slice(0, t).join("")
}
const [ZN, Jr] = at("field"), e$ = {
    id: String,
    name: String,
    leftIcon: String,
    rightIcon: String,
    autofocus: Boolean,
    clearable: Boolean,
    maxlength: rt,
    formatter: Function,
    clearIcon: ct("clear"),
    modelValue: Tt(""),
    inputAlign: String,
    placeholder: String,
    autocomplete: String,
    autocapitalize: String,
    autocorrect: String,
    errorMessage: String,
    enterkeyhint: String,
    clearTrigger: ct("focus"),
    formatTrigger: ct("onChange"),
    spellcheck: {
        type: Boolean,
        default: null
    },
    error: {
        type: Boolean,
        default: null
    },
    disabled: {
        type: Boolean,
        default: null
    },
    readonly: {
        type: Boolean,
        default: null
    }
}, t$ = Et({}, Q1, e$, {
    rows: rt,
    type: ct("text"),
    rules: Array,
    autosize: [Boolean, Object],
    labelWidth: rt,
    labelClass: Pn,
    labelAlign: String,
    showWordLimit: Boolean,
    errorMessageAlign: String,
    colon: {
        type: Boolean,
        default: null
    }
});
var n$ = nt({
    name: ZN,
    props: t$,
    emits: ["blur", "focus", "clear", "keypress", "clickInput", "endValidate", "startValidate", "clickLeftIcon", "clickRightIcon", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = r5(),
            A = Zt({
                status: "unvalidated",
                focused: !1,
                validateMessage: ""
            }),
            i = Ie(),
            s = Ie(),
            o = Ie(),
            {
                parent: a
            } = Kr(aR),
            l = () => {
                var te;
                return String((te = e.modelValue) != null ? te : "")
            },
            u = te => {
                if (rn(e[te])) return e[te];
                if (a && rn(a.props[te])) return a.props[te]
            },
            f = De(() => {
                const te = u("readonly");
                if (e.clearable && !te) {
                    const Be = l() !== "",
                        Qe = e.clearTrigger === "always" || e.clearTrigger === "focus" && A.focused;
                    return Be && Qe
                }
                return !1
            }),
            d = De(() => o.value && n.input ? o.value() : e.modelValue),
            p = De(() => {
                var te;
                const Be = u("required");
                return Be === "auto" ? (te = e.rules) == null ? void 0 : te.some(Qe => Qe.required) : Be
            }),
            v = te => te.reduce((Be, Qe) => Be.then(() => {
                if (A.status === "failed") return;
                let {
                    value: $e
                } = d;
                if (Qe.formatter && ($e = Qe.formatter($e, Qe)), !zN($e, Qe)) {
                    A.status = "failed", A.validateMessage = Wm($e, Qe);
                    return
                }
                if (Qe.validator) return cC($e) && Qe.validateEmpty === !1 ? void 0 : YN($e, Qe).then(Ue => {
                    Ue && typeof Ue == "string" ? (A.status = "failed", A.validateMessage = Ue) : Ue === !1 && (A.status = "failed", A.validateMessage = Wm($e, Qe))
                })
            }), Promise.resolve()),
            B = () => {
                A.status = "unvalidated", A.validateMessage = ""
            },
            C = () => t("endValidate", {
                status: A.status,
                message: A.validateMessage
            }),
            w = (te = e.rules) => new Promise(Be => {
                B(), te ? (t("startValidate"), v(te).then(() => {
                    A.status === "failed" ? (Be({
                        name: e.name,
                        message: A.validateMessage
                    }), C()) : (A.status = "passed", Be(), C())
                })) : Be()
            }),
            m = te => {
                if (a && e.rules) {
                    const {
                        validateTrigger: Be
                    } = a.props, Qe = Cf(Be).includes(te), $e = e.rules.filter(Ue => Ue.trigger ? Cf(Ue.trigger).includes(te) : Qe);
                    $e.length && w($e)
                }
            },
            E = te => {
                var Be;
                const {
                    maxlength: Qe
                } = e;
                if (rn(Qe) && si(te) > +Qe) {
                    const $e = l();
                    if ($e && si($e) === +Qe) return $e;
                    const Ue = (Be = i.value) == null ? void 0 : Be.selectionEnd;
                    if (A.focused && Ue) {
                        const Ve = [...te],
                            U = Ve.length - +Qe;
                        return Ve.splice(Ue - U, U), Ve.join("")
                    }
                    return Th(te, +Qe)
                }
                return te
            },
            y = (te, Be = "onChange") => {
                const Qe = te;
                te = E(te);
                const $e = si(Qe) - si(te);
                if (e.type === "number" || e.type === "digit") {
                    const Ve = e.type === "number";
                    te = zM(te, Ve, Ve)
                }
                let Ue = 0;
                if (e.formatter && Be === e.formatTrigger) {
                    const {
                        formatter: Ve,
                        maxlength: U
                    } = e;
                    if (te = Ve(te), rn(U) && si(te) > +U && (te = Th(te, +U)), i.value && A.focused) {
                        const {
                            selectionEnd: O
                        } = i.value, Y = Th(Qe, O);
                        Ue = si(Ve(Y)) - si(Y)
                    }
                }
                if (i.value && i.value.value !== te)
                    if (A.focused) {
                        let {
                            selectionStart: Ve,
                            selectionEnd: U
                        } = i.value;
                        if (i.value.value = te, rn(Ve) && rn(U)) {
                            const O = si(te);
                            $e ? (Ve -= $e, U -= $e) : Ue && (Ve += Ue, U += Ue), i.value.setSelectionRange(Math.min(Ve, O), Math.min(U, O))
                        }
                    } else i.value.value = te;
                te !== e.modelValue && t("update:modelValue", te)
            },
            x = te => {
                te.target.composing || y(te.target.value)
            },
            F = () => {
                var te;
                return (te = i.value) == null ? void 0 : te.blur()
            },
            Q = () => {
                var te;
                return (te = i.value) == null ? void 0 : te.focus()
            },
            P = () => {
                const te = i.value;
                e.type === "textarea" && e.autosize && te && JN(te, e.autosize)
            },
            L = te => {
                A.focused = !0, t("focus", te), bt(P), u("readonly") && F()
            },
            I = te => {
                A.focused = !1, y(l(), "onBlur"), t("blur", te), !u("readonly") && (m("onBlur"), bt(P), $M())
            },
            _ = te => t("clickInput", te),
            D = te => t("clickLeftIcon", te),
            N = te => t("clickRightIcon", te),
            X = te => {
                _r(te), t("update:modelValue", ""), t("clear", te)
            },
            se = De(() => {
                if (typeof e.error == "boolean") return e.error;
                if (a && a.props.showError && A.status === "failed") return !0
            }),
            Z = De(() => {
                const te = u("labelWidth"),
                    Be = u("labelAlign");
                if (te && Be !== "top") return {
                    width: Ht(te)
                }
            }),
            ce = te => {
                te.keyCode === 13 && (!(a && a.props.submitOnEnter) && e.type !== "textarea" && _r(te), e.type === "search" && F()), t("keypress", te)
            },
            W = () => e.id || `${r}-input`,
            he = () => A.status,
            Se = () => {
                const te = Jr("control", [u("inputAlign"), {
                    error: se.value,
                    custom: !!n.input,
                    "min-height": e.type === "textarea" && !e.autosize
                }]);
                if (n.input) return q("div", {
                    class: te,
                    onClick: _
                }, [n.input()]);
                const Be = {
                    id: W(),
                    ref: i,
                    name: e.name,
                    rows: e.rows !== void 0 ? +e.rows : void 0,
                    class: te,
                    disabled: u("disabled"),
                    readonly: u("readonly"),
                    autofocus: e.autofocus,
                    placeholder: e.placeholder,
                    autocomplete: e.autocomplete,
                    autocapitalize: e.autocapitalize,
                    autocorrect: e.autocorrect,
                    enterkeyhint: e.enterkeyhint,
                    spellcheck: e.spellcheck,
                    "aria-labelledby": e.label ? `${r}-label` : void 0,
                    onBlur: I,
                    onFocus: L,
                    onInput: x,
                    onClick: _,
                    onChange: zm,
                    onKeypress: ce,
                    onCompositionend: zm,
                    onCompositionstart: XN
                };
                return e.type === "textarea" ? q("textarea", Be, null) : q("input", Jt(qN(e.type), Be), null)
            },
            V = () => {
                const te = n["left-icon"];
                if (e.leftIcon || te) return q("div", {
                    class: Jr("left-icon"),
                    onClick: D
                }, [te ? te() : q(Bn, {
                    name: e.leftIcon,
                    classPrefix: e.iconPrefix
                }, null)])
            },
            ie = () => {
                const te = n["right-icon"];
                if (e.rightIcon || te) return q("div", {
                    class: Jr("right-icon"),
                    onClick: N
                }, [te ? te() : q(Bn, {
                    name: e.rightIcon,
                    classPrefix: e.iconPrefix
                }, null)])
            },
            ue = () => {
                if (e.showWordLimit && e.maxlength) {
                    const te = si(l());
                    return q("div", {
                        class: Jr("word-limit")
                    }, [q("span", {
                        class: Jr("word-num")
                    }, [te]), l1("/"), e.maxlength])
                }
            },
            pe = () => {
                if (a && a.props.showErrorMessage === !1) return;
                const te = e.errorMessage || A.validateMessage;
                if (te) {
                    const Be = n["error-message"],
                        Qe = u("errorMessageAlign");
                    return q("div", {
                        class: Jr("error-message", Qe)
                    }, [Be ? Be({
                        message: te
                    }) : te])
                }
            },
            ee = () => {
                const te = u("labelWidth"),
                    Be = u("labelAlign"),
                    Qe = u("colon") ? ":" : "";
                if (n.label) return [n.label(), Qe];
                if (e.label) return q("label", {
                    id: `${r}-label`,
                    for: n.input ? void 0 : W(),
                    onClick: $e => {
                        _r($e), Q()
                    },
                    style: Be === "top" && te ? {
                        width: Ht(te)
                    } : void 0
                }, [e.label + Qe])
            },
            ye = () => [q("div", {
                class: Jr("body")
            }, [Se(), f.value && q(Bn, {
                ref: s,
                name: e.clearIcon,
                class: Jr("clear")
            }, null), ie(), n.button && q("div", {
                class: Jr("button")
            }, [n.button()])]), ue(), pe()];
        return fn({
            blur: F,
            focus: Q,
            validate: w,
            formValue: d,
            resetValidation: B,
            getValidationStatus: he
        }), BA(mg, {
            customValue: o,
            resetValidation: B,
            validateWithTrigger: m
        }), Xe(() => e.modelValue, () => {
            y(l()), B(), m("onChange"), bt(P)
        }), sn(() => {
            y(l(), e.formatTrigger), bt(P)
        }), Sr("touchstart", X, {
            target: De(() => {
                var te;
                return (te = s.value) == null ? void 0 : te.$el
            })
        }), () => {
            const te = u("disabled"),
                Be = u("labelAlign"),
                Qe = V(),
                $e = () => {
                    const Ue = ee();
                    return Be === "top" ? [Qe, Ue].filter(Boolean) : Ue || []
                };
            return q(uC, {
                size: e.size,
                class: Jr({
                    error: se.value,
                    disabled: te,
                    [`label-${Be}`]: Be
                }),
                center: e.center,
                border: e.border,
                isLink: e.isLink,
                clickable: e.clickable,
                titleStyle: Z.value,
                valueClass: Jr("value"),
                titleClass: [Jr("label", [Be, {
                    required: p.value
                }]), e.labelClass],
                arrowDirection: e.arrowDirection
            }, {
                icon: Qe && Be !== "top" ? () => Qe : null,
                title: $e,
                value: ye,
                extra: n.extra
            })
        }
    }
});
const wse = mt(n$);
let Hl = 0;

function r$(e) {
    e ? (Hl || document.body.classList.add("van-toast--unclickable"), Hl++) : Hl && (Hl--, Hl || document.body.classList.remove("van-toast--unclickable"))
}
const [A$, aa] = at("toast"), i$ = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"], s$ = {
    icon: String,
    show: Boolean,
    type: ct("text"),
    overlay: Boolean,
    message: rt,
    iconSize: rt,
    duration: Jg(2e3),
    position: ct("middle"),
    teleport: [String, Object],
    wordBreak: String,
    className: Pn,
    iconPrefix: String,
    transition: ct("van-fade"),
    loadingType: String,
    forbidClick: Boolean,
    overlayClass: Pn,
    overlayStyle: Object,
    closeOnClick: Boolean,
    closeOnClickOverlay: Boolean,
    zIndex: rt
};
var fC = nt({
    name: A$,
    props: s$,
    emits: ["update:show"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        let r, A = !1;
        const i = () => {
                const f = e.show && e.forbidClick;
                A !== f && (A = f, r$(A))
            },
            s = f => t("update:show", f),
            o = () => {
                e.closeOnClick && s(!1)
            },
            a = () => clearTimeout(r),
            l = () => {
                const {
                    icon: f,
                    type: d,
                    iconSize: p,
                    iconPrefix: v,
                    loadingType: B
                } = e;
                if (f || d === "success" || d === "fail") return q(Bn, {
                    name: f || d,
                    size: p,
                    class: aa("icon"),
                    classPrefix: v
                }, null);
                if (d === "loading") return q(ki, {
                    class: aa("loading"),
                    size: p,
                    type: B
                }, null)
            },
            u = () => {
                const {
                    type: f,
                    message: d
                } = e;
                if (n.message) return q("div", {
                    class: aa("text")
                }, [n.message()]);
                if (rn(d) && d !== "") return f === "html" ? q("div", {
                    key: 0,
                    class: aa("text"),
                    innerHTML: String(d)
                }, null) : q("div", {
                    class: aa("text")
                }, [d])
            };
        return Xe(() => [e.show, e.forbidClick], i), Xe(() => [e.show, e.type, e.message, e.duration], () => {
            a(), e.show && e.duration > 0 && (r = setTimeout(() => {
                s(!1)
            }, e.duration))
        }), sn(i), Li(i), () => q(hl, Jt({
            class: [aa([e.position, e.wordBreak === "normal" ? "break-normal" : e.wordBreak, {
                [e.type]: !e.icon
            }]), e.className],
            lockScroll: !1,
            onClick: o,
            onClosed: a,
            "onUpdate:show": s
        }, un(e, i$)), {
            default: () => [l(), u()]
        })
    }
});

function i5() {
    const e = Zt({
            show: !1
        }),
        t = A => {
            e.show = A
        },
        n = A => {
            Et(e, A, {
                transitionAppear: !0
            }), t(!0)
        },
        r = () => t(!1);
    return fn({
        open: n,
        close: r,
        toggle: t
    }), {
        open: n,
        close: r,
        state: e,
        toggle: t
    }
}

function s5(e) {
    const t = T9(e),
        n = document.createElement("div");
    return document.body.appendChild(n), {
        instance: t.mount(n),
        unmount() {
            t.unmount(), document.body.removeChild(n)
        }
    }
}
const o$ = {
    icon: "",
    type: "text",
    message: "",
    className: "",
    overlay: !1,
    onClose: void 0,
    onOpened: void 0,
    duration: 2e3,
    teleport: "body",
    iconSize: void 0,
    iconPrefix: void 0,
    position: "middle",
    transition: "van-fade",
    forbidClick: !1,
    loadingType: void 0,
    overlayClass: "",
    overlayStyle: void 0,
    closeOnClick: !1,
    closeOnClickOverlay: !1
};
let hs = [],
    a$ = !1,
    Ym = Et({}, o$);
const l$ = new Map;

function dC(e) {
    return Uo(e) ? e : {
        message: e
    }
}

function u$() {
    const {
        instance: e,
        unmount: t
    } = s5({
        setup() {
            const n = Ie(""),
                {
                    open: r,
                    state: A,
                    close: i,
                    toggle: s
                } = i5(),
                o = () => {},
                a = () => q(fC, Jt(A, {
                    onClosed: o,
                    "onUpdate:show": s
                }), null);
            return Xe(n, l => {
                A.message = l
            }), $t().render = a, {
                open: r,
                close: i,
                message: n
            }
        }
    });
    return e
}

function c$() {
    if (!hs.length || a$) {
        const e = u$();
        hs.push(e)
    }
    return hs[hs.length - 1]
}

function w6(e = {}) {
    if (!Ti) return {};
    const t = c$(),
        n = dC(e);
    return t.open(Et({}, Ym, l$.get(n.type || Ym.type), n)), t
}
const o5 = e => t => w6(Et({
        type: e
    }, dC(t))),
    yse = o5("loading"),
    Cse = o5("success"),
    Ese = o5("fail"),
    bse = e => {
        hs.length && (e ? (hs.forEach(t => {
            t.close()
        }), hs = []) : hs[0].close())
    },
    xse = mt(fC),
    [f$, Ih] = at("switch"),
    d$ = {
        size: rt,
        loading: Boolean,
        disabled: Boolean,
        modelValue: Pn,
        activeColor: String,
        inactiveColor: String,
        activeValue: {
            type: Pn,
            default: !0
        },
        inactiveValue: {
            type: Pn,
            default: !1
        }
    };
var h$ = nt({
    name: f$,
    props: d$,
    emits: ["change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = () => e.modelValue === e.activeValue,
            A = () => {
                if (!e.disabled && !e.loading) {
                    const s = r() ? e.inactiveValue : e.activeValue;
                    t("update:modelValue", s), t("change", s)
                }
            },
            i = () => {
                if (e.loading) {
                    const s = r() ? e.activeColor : e.inactiveColor;
                    return q(ki, {
                        class: Ih("loading"),
                        color: s
                    }, null)
                }
                if (n.node) return n.node()
            };
        return ll(() => e.modelValue), () => {
            var s;
            const {
                size: o,
                loading: a,
                disabled: l,
                activeColor: u,
                inactiveColor: f
            } = e, d = r(), p = {
                fontSize: Ht(o),
                backgroundColor: d ? u : f
            };
            return q("div", {
                role: "switch",
                class: Ih({
                    on: d,
                    loading: a,
                    disabled: l
                }),
                style: p,
                tabindex: l ? void 0 : 0,
                "aria-checked": d,
                onClick: A
            }, [q("div", {
                class: Ih("node")
            }, [i()]), (s = n.background) == null ? void 0 : s.call(n)])
        }
    }
});
const _se = mt(h$),
    [hC, p$] = at("radio-group"),
    g$ = {
        shape: String,
        disabled: Boolean,
        iconSize: rt,
        direction: String,
        modelValue: Pn,
        checkedColor: String
    },
    pC = Symbol(hC);
var v$ = nt({
    name: hC,
    props: g$,
    emits: ["change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            linkChildren: r
        } = jA(pC), A = i => t("update:modelValue", i);
        return Xe(() => e.modelValue, i => t("change", i)), r({
            props: e,
            updateValue: A
        }), ll(() => e.modelValue), () => {
            var i;
            return q("div", {
                class: p$([e.direction]),
                role: "radiogroup"
            }, [(i = n.default) == null ? void 0 : i.call(n)])
        }
    }
});
const Fse = mt(v$),
    a5 = {
        name: Pn,
        disabled: Boolean,
        iconSize: rt,
        modelValue: Pn,
        checkedColor: String,
        labelPosition: String,
        labelDisabled: Boolean
    };
var gC = nt({
    props: Et({}, a5, {
        bem: cr(Function),
        role: String,
        shape: String,
        parent: Object,
        checked: Boolean,
        bindGroup: tt,
        indeterminate: {
            type: Boolean,
            default: null
        }
    }),
    emits: ["click", "toggle"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = d => {
                if (e.parent && e.bindGroup) return e.parent.props[d]
            },
            i = De(() => {
                if (e.parent && e.bindGroup) {
                    const d = A("disabled") || e.disabled;
                    if (e.role === "checkbox") {
                        const p = A("modelValue").length,
                            v = A("max"),
                            B = v && p >= +v;
                        return d || B && !e.checked
                    }
                    return d
                }
                return e.disabled
            }),
            s = De(() => A("direction")),
            o = De(() => {
                const d = e.checkedColor || A("checkedColor");
                if (d && e.checked && !i.value) return {
                    borderColor: d,
                    backgroundColor: d
                }
            }),
            a = De(() => e.shape || A("shape") || "round"),
            l = d => {
                const {
                    target: p
                } = d, v = r.value, B = v === p || (v == null ? void 0 : v.contains(p));
                !i.value && (B || !e.labelDisabled) && t("toggle"), t("click", d)
            },
            u = () => {
                var d, p;
                const {
                    bem: v,
                    checked: B,
                    indeterminate: C
                } = e, w = e.iconSize || A("iconSize");
                return q("div", {
                    ref: r,
                    class: v("icon", [a.value, {
                        disabled: i.value,
                        checked: B,
                        indeterminate: C
                    }]),
                    style: a.value !== "dot" ? {
                        fontSize: Ht(w)
                    } : {
                        width: Ht(w),
                        height: Ht(w),
                        borderColor: (d = o.value) == null ? void 0 : d.borderColor
                    }
                }, [n.icon ? n.icon({
                    checked: B,
                    disabled: i.value
                }) : a.value !== "dot" ? q(Bn, {
                    name: C ? "minus" : "success",
                    style: o.value
                }, null) : q("div", {
                    class: v("icon--dot__icon"),
                    style: {
                        backgroundColor: (p = o.value) == null ? void 0 : p.backgroundColor
                    }
                }, null)])
            },
            f = () => {
                const {
                    checked: d
                } = e;
                if (n.default) return q("span", {
                    class: e.bem("label", [e.labelPosition, {
                        disabled: i.value
                    }])
                }, [n.default({
                    checked: d,
                    disabled: i.value
                })])
            };
        return () => {
            const d = e.labelPosition === "left" ? [f(), u()] : [u(), f()];
            return q("div", {
                role: e.role,
                class: e.bem([{
                    disabled: i.value,
                    "label-disabled": e.labelDisabled
                }, s.value]),
                tabindex: i.value ? void 0 : 0,
                "aria-checked": e.checked,
                onClick: l
            }, [d])
        }
    }
});
const m$ = Et({}, a5, {
        shape: String
    }),
    [B$, w$] = at("radio");
var y$ = nt({
    name: B$,
    props: m$,
    emits: ["update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            parent: r
        } = Kr(pC), A = () => (r ? r.props.modelValue : e.modelValue) === e.name, i = () => {
            r ? r.updateValue(e.name) : t("update:modelValue", e.name)
        };
        return () => q(gC, Jt({
            bem: w$,
            role: "radio",
            parent: r,
            checked: A(),
            onToggle: i
        }, e), un(n, ["default", "icon"]))
    }
});
const Sse = mt(y$),
    [C$, on, yi] = at("calendar"),
    E$ = e => yi("monthTitle", e.getFullYear(), e.getMonth() + 1);

function y6(e, t) {
    const n = e.getFullYear(),
        r = t.getFullYear();
    if (n === r) {
        const A = e.getMonth(),
            i = t.getMonth();
        return A === i ? 0 : A > i ? 1 : -1
    }
    return n > r ? 1 : -1
}

function Or(e, t) {
    const n = y6(e, t);
    if (n === 0) {
        const r = e.getDate(),
            A = t.getDate();
        return r === A ? 0 : r > A ? 1 : -1
    }
    return n
}
const Va = e => new Date(e),
    Xm = e => Array.isArray(e) ? e.map(Va) : Va(e);

function l5(e, t) {
    const n = Va(e);
    return n.setDate(n.getDate() + t), n
}

function u5(e, t) {
    const n = Va(e);
    return n.setMonth(n.getMonth() + t), n
}

function vC(e, t) {
    const n = Va(e);
    return n.setFullYear(n.getFullYear() + t), n
}
const C6 = e => l5(e, -1),
    E6 = e => l5(e, 1),
    Jm = e => u5(e, -1),
    qm = e => u5(e, 1),
    Zm = e => vC(e, -1),
    e8 = e => vC(e, 1),
    A0 = () => {
        const e = new Date;
        return e.setHours(0, 0, 0, 0), e
    };

function b$(e) {
    const t = e[0].getTime();
    return (e[1].getTime() - t) / (1e3 * 60 * 60 * 24) + 1
}
const x$ = Et({}, A5, {
        modelValue: Ii(),
        filter: Function,
        formatter: {
            type: Function,
            default: (e, t) => t
        }
    }),
    _$ = Object.keys(A5);

function F$(e, t) {
    if (e < 0) return [];
    const n = Array(e);
    let r = -1;
    for (; ++r < e;) n[r] = t(r);
    return n
}
const mC = (e, t) => 32 - new Date(e, t - 1, 32).getDate(),
    Qh = (e, t, n, r, A, i) => {
        const s = F$(t - e + 1, o => {
            const a = uo(e + o);
            return r(n, {
                text: a,
                value: a
            })
        });
        return A ? A(n, s, i) : s
    },
    S$ = (e, t) => e.map((n, r) => {
        const A = t[r];
        if (A.length) {
            const i = +A[0].value,
                s = +A[A.length - 1].value;
            return uo(lr(+n, i, s))
        }
        return n
    }),
    [T$] = at("calendar-day");
var I$ = nt({
    name: T$,
    props: {
        item: cr(Object),
        color: String,
        index: Number,
        offset: Jg(0),
        rowHeight: String
    },
    emits: ["click", "clickDisabledDate"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = De(() => {
                var a;
                const {
                    item: l,
                    index: u,
                    color: f,
                    offset: d,
                    rowHeight: p
                } = e, v = {
                    height: p
                };
                if (l.type === "placeholder") return v.width = "100%", v;
                if (u === 0 && (v.marginLeft = `${100*d/7}%`), f) switch (l.type) {
                    case "end":
                    case "start":
                    case "start-end":
                    case "multiple-middle":
                    case "multiple-selected":
                        v.background = f;
                        break;
                    case "middle":
                        v.color = f;
                        break
                }
                return d + (((a = l.date) == null ? void 0 : a.getDate()) || 1) > 28 && (v.marginBottom = 0), v
            }),
            A = () => {
                e.item.type !== "disabled" ? t("click", e.item) : t("clickDisabledDate", e.item)
            },
            i = () => {
                const {
                    topInfo: a
                } = e.item;
                if (a || n["top-info"]) return q("div", {
                    class: on("top-info")
                }, [n["top-info"] ? n["top-info"](e.item) : a])
            },
            s = () => {
                const {
                    bottomInfo: a
                } = e.item;
                if (a || n["bottom-info"]) return q("div", {
                    class: on("bottom-info")
                }, [n["bottom-info"] ? n["bottom-info"](e.item) : a])
            },
            o = () => {
                const {
                    item: a,
                    color: l,
                    rowHeight: u
                } = e, {
                    type: f,
                    text: d
                } = a, p = [i(), d, s()];
                return f === "selected" ? q("div", {
                    class: on("selected-day"),
                    style: {
                        width: u,
                        height: u,
                        background: l
                    }
                }, [p]) : p
            };
        return () => {
            const {
                type: a,
                className: l
            } = e.item;
            return a === "placeholder" ? q("div", {
                class: on("day"),
                style: r.value
            }, null) : q("div", {
                role: "gridcell",
                style: r.value,
                class: [on("day", a), l],
                tabindex: a === "disabled" ? void 0 : -1,
                onClick: A
            }, [o()])
        }
    }
});
const [Q$] = at("calendar-month"), U$ = {
    date: cr(Date),
    type: String,
    color: String,
    minDate: Date,
    maxDate: Date,
    showMark: Boolean,
    rowHeight: rt,
    formatter: Function,
    lazyRender: Boolean,
    currentDate: [Date, Array],
    allowSameDay: Boolean,
    showSubtitle: Boolean,
    showMonthTitle: Boolean,
    firstDayOfWeek: Number
};
var P$ = nt({
    name: Q$,
    props: U$,
    emits: ["click", "clickDisabledDate"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const [r, A] = Y9(), i = Ie(), s = Ie(), o = Ky(s), a = De(() => E$(e.date)), l = De(() => Ht(e.rowHeight)), u = De(() => {
            const I = e.date.getDate(),
                D = (e.date.getDay() - I % 7 + 8) % 7;
            return e.firstDayOfWeek ? (D + 7 - e.firstDayOfWeek) % 7 : D
        }), f = De(() => mC(e.date.getFullYear(), e.date.getMonth() + 1)), d = De(() => r.value || !e.lazyRender), p = () => a.value, v = I => {
            const _ = D => e.currentDate.some(N => Or(N, D) === 0);
            if (_(I)) {
                const D = C6(I),
                    N = E6(I),
                    X = _(D),
                    se = _(N);
                return X && se ? "multiple-middle" : X ? "end" : se ? "start" : "multiple-selected"
            }
            return ""
        }, B = I => {
            const [_, D] = e.currentDate;
            if (!_) return "";
            const N = Or(I, _);
            if (!D) return N === 0 ? "start" : "";
            const X = Or(I, D);
            return e.allowSameDay && N === 0 && X === 0 ? "start-end" : N === 0 ? "start" : X === 0 ? "end" : N > 0 && X < 0 ? "middle" : ""
        }, C = I => {
            const {
                type: _,
                minDate: D,
                maxDate: N,
                currentDate: X
            } = e;
            if (D && Or(I, D) < 0 || N && Or(I, N) > 0) return "disabled";
            if (X === null) return "";
            if (Array.isArray(X)) {
                if (_ === "multiple") return v(I);
                if (_ === "range") return B(I)
            } else if (_ === "single") return Or(I, X) === 0 ? "selected" : "";
            return ""
        }, w = I => {
            if (e.type === "range") {
                if (I === "start" || I === "end") return yi(I);
                if (I === "start-end") return `${yi("start")}/${yi("end")}`
            }
        }, m = () => {
            if (e.showMonthTitle) return q("div", {
                class: on("month-title")
            }, [n["month-title"] ? n["month-title"]({
                date: e.date,
                text: a.value
            }) : a.value])
        }, E = () => {
            if (e.showMark && d.value) return q("div", {
                class: on("month-mark")
            }, [e.date.getMonth() + 1])
        }, y = De(() => {
            const I = Math.ceil((f.value + u.value) / 7);
            return Array(I).fill({
                type: "placeholder"
            })
        }), x = De(() => {
            const I = [],
                _ = e.date.getFullYear(),
                D = e.date.getMonth();
            for (let N = 1; N <= f.value; N++) {
                const X = new Date(_, D, N),
                    se = C(X);
                let Z = {
                    date: X,
                    type: se,
                    text: N,
                    bottomInfo: w(se)
                };
                e.formatter && (Z = e.formatter(Z)), I.push(Z)
            }
            return I
        }), F = De(() => x.value.filter(I => I.type === "disabled")), Q = (I, _) => {
            if (i.value) {
                const D = Nn(i.value),
                    N = y.value.length,
                    se = (Math.ceil((_.getDate() + u.value) / 7) - 1) * D.height / N;
                Ef(I, D.top + se + I.scrollTop - Nn(I).top)
            }
        }, P = (I, _) => q(I$, {
            item: I,
            index: _,
            color: e.color,
            offset: u.value,
            rowHeight: l.value,
            onClick: D => t("click", D),
            onClickDisabledDate: D => t("clickDisabledDate", D)
        }, un(n, ["top-info", "bottom-info"])), L = () => q("div", {
            ref: i,
            role: "grid",
            class: on("days")
        }, [E(), (d.value ? x : y).value.map(P)]);
        return fn({
            getTitle: p,
            getHeight: () => o.value,
            setVisible: A,
            scrollToDate: Q,
            disabledDays: F
        }), () => q("div", {
            class: on("month"),
            ref: s
        }, [m(), L()])
    }
});
const [O$] = at("calendar-header");
var D$ = nt({
    name: O$,
    props: {
        date: Date,
        minDate: Date,
        maxDate: Date,
        title: String,
        subtitle: String,
        showTitle: Boolean,
        showSubtitle: Boolean,
        firstDayOfWeek: Number,
        switchMode: ct("none")
    },
    emits: ["clickSubtitle", "panelChange"],
    setup(e, {
        slots: t,
        emit: n
    }) {
        const r = De(() => {
                const p = Jm(e.date);
                return e.minDate && p < e.minDate
            }),
            A = De(() => {
                const p = Zm(e.date);
                return e.minDate && p < e.minDate
            }),
            i = De(() => {
                const p = qm(e.date);
                return e.maxDate && p > e.maxDate
            }),
            s = De(() => {
                const p = e8(e.date);
                return e.maxDate && p > e.maxDate
            }),
            o = () => {
                if (e.showTitle) {
                    const p = e.title || yi("title"),
                        v = t.title ? t.title() : p;
                    return q("div", {
                        class: on("header-title")
                    }, [v])
                }
            },
            a = p => n("clickSubtitle", p),
            l = p => n("panelChange", p),
            u = p => {
                const v = e.switchMode === "year-month",
                    B = t[p ? "next-month" : "prev-month"],
                    C = t[p ? "next-year" : "prev-year"],
                    w = p ? i.value : r.value,
                    m = p ? s.value : A.value,
                    E = p ? "arrow" : "arrow-left",
                    y = p ? "arrow-double-right" : "arrow-double-left",
                    x = () => l((p ? qm : Jm)(e.date)),
                    F = () => l((p ? e8 : Zm)(e.date)),
                    Q = q("view", {
                        class: on("header-action", {
                            disabled: w
                        }),
                        onClick: w ? void 0 : x
                    }, [B ? B({
                        disabled: w
                    }) : q(Bn, {
                        class: {
                            [Po]: !w
                        },
                        name: E
                    }, null)]),
                    P = v && q("view", {
                        class: on("header-action", {
                            disabled: m
                        }),
                        onClick: m ? void 0 : F
                    }, [C ? C({
                        disabled: m
                    }) : q(Bn, {
                        class: {
                            [Po]: !m
                        },
                        name: y
                    }, null)]);
                return p ? [Q, P] : [P, Q]
            },
            f = () => {
                if (e.showSubtitle) {
                    const p = t.subtitle ? t.subtitle({
                            date: e.date,
                            text: e.subtitle
                        }) : e.subtitle,
                        v = e.switchMode !== "none";
                    return q("div", {
                        class: on("header-subtitle", {
                            "with-swicth": v
                        }),
                        onClick: a
                    }, [v ? [u(), q("div", {
                        class: on("header-subtitle-text")
                    }, [p]), u(!0)] : p])
                }
            },
            d = () => {
                const {
                    firstDayOfWeek: p
                } = e, v = yi("weekdays"), B = [...v.slice(p, 7), ...v.slice(0, p)];
                return q("div", {
                    class: on("weekdays")
                }, [B.map(C => q("span", {
                    class: on("weekday")
                }, [C]))])
            };
        return () => q("div", {
            class: on("header")
        }, [o(), f(), d()])
    }
});
const L$ = {
    show: Boolean,
    type: ct("single"),
    switchMode: ct("none"),
    title: String,
    color: String,
    round: tt,
    readonly: Boolean,
    poppable: tt,
    maxRange: Tt(null),
    position: ct("bottom"),
    teleport: [String, Object],
    showMark: tt,
    showTitle: tt,
    formatter: Function,
    rowHeight: rt,
    confirmText: String,
    rangePrompt: String,
    lazyRender: tt,
    showConfirm: tt,
    defaultDate: [Date, Array],
    allowSameDay: Boolean,
    showSubtitle: tt,
    closeOnPopstate: tt,
    showRangePrompt: tt,
    confirmDisabledText: String,
    closeOnClickOverlay: tt,
    safeAreaInsetTop: Boolean,
    safeAreaInsetBottom: tt,
    minDate: {
        type: Date,
        validator: $u
    },
    maxDate: {
        type: Date,
        validator: $u
    },
    firstDayOfWeek: {
        type: rt,
        default: 0,
        validator: e => e >= 0 && e <= 6
    }
};
var k$ = nt({
    name: C$,
    props: L$,
    emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle", "clickDisabledDate", "panelChange"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = De(() => e.switchMode !== "none"),
            A = De(() => !e.minDate && !r.value ? A0() : e.minDate),
            i = De(() => !e.maxDate && !r.value ? u5(A0(), 6) : e.maxDate),
            s = (V, ie = A.value, ue = i.value) => ie && Or(V, ie) === -1 ? ie : ue && Or(V, ue) === 1 ? ue : V,
            o = (V = e.defaultDate) => {
                const {
                    type: ie,
                    allowSameDay: ue
                } = e;
                if (V === null) return V;
                const pe = A0();
                if (ie === "range") {
                    Array.isArray(V) || (V = []);
                    const ee = A.value,
                        ye = i.value,
                        te = s(V[0] || pe, ee, ye ? ue ? ye : C6(ye) : void 0),
                        Be = s(V[1] || (ue ? pe : E6(pe)), ee ? ue ? ee : E6(ee) : void 0);
                    return [te, Be]
                }
                return ie === "multiple" ? Array.isArray(V) ? V.map(ee => s(ee)) : [s(pe)] : ((!V || Array.isArray(V)) && (V = pe), s(V))
            },
            a = () => {
                const V = Array.isArray(f.value) ? f.value[0] : f.value;
                return V || s(A0())
            };
        let l;
        const u = Ie(),
            f = Ie(o()),
            d = Ie(a()),
            p = Ie(),
            [v, B] = tC(),
            C = De(() => e.firstDayOfWeek ? +e.firstDayOfWeek % 7 : 0),
            w = De(() => {
                const V = [];
                if (!A.value || !i.value) return V;
                const ie = new Date(A.value);
                ie.setDate(1);
                do V.push(new Date(ie)), ie.setMonth(ie.getMonth() + 1); while (y6(ie, i.value) !== 1);
                return V
            }),
            m = De(() => {
                if (f.value) {
                    if (e.type === "range") return !f.value[0] || !f.value[1];
                    if (e.type === "multiple") return !f.value.length
                }
                return !f.value
            }),
            E = () => f.value,
            y = () => {
                const V = yc(u.value),
                    ie = V + l,
                    ue = w.value.map((Be, Qe) => v.value[Qe].getHeight()),
                    pe = ue.reduce((Be, Qe) => Be + Qe, 0);
                if (ie > pe && V > 0) return;
                let ee = 0,
                    ye;
                const te = [-1, -1];
                for (let Be = 0; Be < w.value.length; Be++) {
                    const Qe = v.value[Be];
                    ee <= ie && ee + ue[Be] >= V && (te[1] = Be, ye || (ye = Qe, te[0] = Be), v.value[Be].showed || (v.value[Be].showed = !0, t("monthShow", {
                        date: Qe.date,
                        title: Qe.getTitle()
                    }))), ee += ue[Be]
                }
                w.value.forEach((Be, Qe) => {
                    const $e = Qe >= te[0] - 1 && Qe <= te[1] + 1;
                    v.value[Qe].setVisible($e)
                }), ye && (p.value = ye)
            },
            x = V => {
                r.value ? d.value = V : dr(() => {
                    w.value.some((ie, ue) => y6(ie, V) === 0 ? (u.value && v.value[ue].scrollToDate(u.value, V), !0) : !1), y()
                })
            },
            F = () => {
                if (!(e.poppable && !e.show))
                    if (f.value) {
                        const V = e.type === "single" ? f.value : f.value[0];
                        $u(V) && x(V)
                    } else r.value || dr(y)
            },
            Q = () => {
                e.poppable && !e.show || (r.value || dr(() => {
                    l = Math.floor(Nn(u).height)
                }), F())
            },
            P = (V = o()) => {
                f.value = V, F()
            },
            L = V => {
                const {
                    maxRange: ie,
                    rangePrompt: ue,
                    showRangePrompt: pe
                } = e;
                return ie && b$(V) > +ie ? (pe && w6(ue || yi("rangePrompt", ie)), t("overRange"), !1) : !0
            },
            I = V => {
                d.value = V, t("panelChange", {
                    date: V
                })
            },
            _ = () => {
                var V;
                return t("confirm", (V = f.value) != null ? V : Xm(f.value))
            },
            D = (V, ie) => {
                const ue = pe => {
                    f.value = pe, t("select", Xm(pe))
                };
                if (ie && e.type === "range" && !L(V)) {
                    ue([V[0], l5(V[0], +e.maxRange - 1)]);
                    return
                }
                ue(V), ie && !e.showConfirm && _()
            },
            N = (V, ie, ue) => {
                var pe;
                return (pe = V.find(ee => Or(ie, ee.date) === -1 && Or(ee.date, ue) === -1)) == null ? void 0 : pe.date
            },
            X = De(() => v.value.reduce((V, ie) => {
                var ue, pe;
                return V.push(...(pe = (ue = ie.disabledDays) == null ? void 0 : ue.value) != null ? pe : []), V
            }, [])),
            se = V => {
                if (e.readonly || !V.date) return;
                const {
                    date: ie
                } = V, {
                    type: ue
                } = e;
                if (ue === "range") {
                    if (!f.value) {
                        D([ie]);
                        return
                    }
                    const [pe, ee] = f.value;
                    if (pe && !ee) {
                        const ye = Or(ie, pe);
                        if (ye === 1) {
                            const te = N(X.value, pe, ie);
                            if (te) {
                                const Be = C6(te);
                                Or(pe, Be) === -1 ? D([pe, Be]) : D([ie])
                            } else D([pe, ie], !0)
                        } else ye === -1 ? D([ie]) : e.allowSameDay && D([ie, ie], !0)
                    } else D([ie])
                } else if (ue === "multiple") {
                    if (!f.value) {
                        D([ie]);
                        return
                    }
                    const pe = f.value,
                        ee = pe.findIndex(ye => Or(ye, ie) === 0);
                    if (ee !== -1) {
                        const [ye] = pe.splice(ee, 1);
                        t("unselect", Va(ye))
                    } else e.maxRange && pe.length >= +e.maxRange ? w6(e.rangePrompt || yi("rangePrompt", e.maxRange)) : D([...pe, ie])
                } else D(ie, !0)
            },
            Z = V => t("update:show", V),
            ce = (V, ie) => {
                const ue = ie !== 0 || !e.showSubtitle;
                return q(P$, Jt({
                    ref: r.value ? p : B(ie),
                    date: V,
                    currentDate: f.value,
                    showMonthTitle: ue,
                    firstDayOfWeek: C.value,
                    lazyRender: r.value ? !1 : e.lazyRender,
                    maxDate: i.value,
                    minDate: A.value
                }, un(e, ["type", "color", "showMark", "formatter", "rowHeight", "showSubtitle", "allowSameDay"]), {
                    onClick: se,
                    onClickDisabledDate: pe => t("clickDisabledDate", pe)
                }), un(n, ["top-info", "bottom-info", "month-title"]))
            },
            W = () => {
                if (n.footer) return n.footer();
                if (e.showConfirm) {
                    const V = n["confirm-text"],
                        ie = m.value,
                        ue = ie ? e.confirmDisabledText : e.confirmText;
                    return q(bf, {
                        round: !0,
                        block: !0,
                        type: "primary",
                        color: e.color,
                        class: on("confirm"),
                        disabled: ie,
                        nativeType: "button",
                        onClick: _
                    }, {
                        default: () => [V ? V({
                            disabled: ie
                        }) : ue || yi("confirm")]
                    })
                }
            },
            he = () => q("div", {
                class: [on("footer"), {
                    "van-safe-area-bottom": e.safeAreaInsetBottom
                }]
            }, [W()]),
            Se = () => {
                var V, ie;
                return q("div", {
                    class: on()
                }, [q(D$, {
                    date: (V = p.value) == null ? void 0 : V.date,
                    maxDate: i.value,
                    minDate: A.value,
                    title: e.title,
                    subtitle: (ie = p.value) == null ? void 0 : ie.getTitle(),
                    showTitle: e.showTitle,
                    showSubtitle: e.showSubtitle,
                    switchMode: e.switchMode,
                    firstDayOfWeek: C.value,
                    onClickSubtitle: ue => t("clickSubtitle", ue),
                    onPanelChange: I
                }, un(n, ["title", "subtitle", "prev-month", "prev-year", "next-month", "next-year"])), q("div", {
                    ref: u,
                    class: on("body"),
                    onScroll: r.value ? void 0 : y
                }, [r.value ? ce(d.value, 0) : w.value.map(ce)]), he()])
            };
        return Xe(() => e.show, Q), Xe(() => [e.type, e.minDate, e.maxDate, e.switchMode], () => P(o(f.value))), Xe(() => e.defaultDate, (V = null) => {
            f.value = V, F()
        }), fn({
            reset: P,
            scrollToDate: x,
            getSelectedDate: E
        }), al(Q), () => e.poppable ? q(hl, {
            show: e.show,
            class: on("popup"),
            round: e.round,
            position: e.position,
            closeable: e.showTitle || e.showSubtitle,
            teleport: e.teleport,
            closeOnPopstate: e.closeOnPopstate,
            safeAreaInsetTop: e.safeAreaInsetTop,
            closeOnClickOverlay: e.closeOnClickOverlay,
            "onUpdate:show": Z
        }, {
            default: Se
        }) : Se()
    }
});
const Tse = mt(k$),
    [H$, la] = at("image"),
    M$ = {
        src: String,
        alt: String,
        fit: String,
        position: String,
        round: Boolean,
        block: Boolean,
        width: rt,
        height: rt,
        radius: rt,
        lazyLoad: Boolean,
        iconSize: rt,
        showError: tt,
        errorIcon: ct("photo-fail"),
        iconPrefix: String,
        showLoading: tt,
        loadingIcon: ct("photo"),
        crossorigin: String,
        referrerpolicy: String
    };
var R$ = nt({
    name: H$,
    props: M$,
    emits: ["load", "error"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(!1),
            A = Ie(!0),
            i = Ie(),
            {
                $Lazyload: s
            } = $t().proxy,
            o = De(() => {
                const C = {
                    width: Ht(e.width),
                    height: Ht(e.height)
                };
                return rn(e.radius) && (C.overflow = "hidden", C.borderRadius = Ht(e.radius)), C
            });
        Xe(() => e.src, () => {
            r.value = !1, A.value = !0
        });
        const a = C => {
                A.value && (A.value = !1, t("load", C))
            },
            l = () => {
                const C = new Event("load");
                Object.defineProperty(C, "target", {
                    value: i.value,
                    enumerable: !0
                }), a(C)
            },
            u = C => {
                r.value = !0, A.value = !1, t("error", C)
            },
            f = (C, w, m) => m ? m() : q(Bn, {
                name: C,
                size: e.iconSize,
                class: w,
                classPrefix: e.iconPrefix
            }, null),
            d = () => {
                if (A.value && e.showLoading) return q("div", {
                    class: la("loading")
                }, [f(e.loadingIcon, la("loading-icon"), n.loading)]);
                if (r.value && e.showError) return q("div", {
                    class: la("error")
                }, [f(e.errorIcon, la("error-icon"), n.error)])
            },
            p = () => {
                if (r.value || !e.src) return;
                const C = {
                    alt: e.alt,
                    class: la("img"),
                    style: {
                        objectFit: e.fit,
                        objectPosition: e.position
                    },
                    crossorigin: e.crossorigin,
                    referrerpolicy: e.referrerpolicy
                };
                return e.lazyLoad ? Is(q("img", Jt({
                    ref: i
                }, C), null), [
                    [QB("lazy"), e.src]
                ]) : q("img", Jt({
                    ref: i,
                    src: e.src,
                    onLoad: a,
                    onError: u
                }, C), null)
            },
            v = ({
                el: C
            }) => {
                const w = () => {
                    C === i.value && A.value && l()
                };
                i.value ? w() : bt(w)
            },
            B = ({
                el: C
            }) => {
                C === i.value && !r.value && u()
            };
        return s && Ti && (s.$on("loaded", v), s.$on("error", B), $r(() => {
            s.$off("loaded", v), s.$off("error", B)
        })), sn(() => {
            bt(() => {
                var C;
                (C = i.value) != null && C.complete && !e.lazyLoad && l()
            })
        }), () => {
            var C;
            return q("div", {
                class: la({
                    round: e.round,
                    block: e.block
                }),
                style: o.value
            }, [p(), d(), (C = n.default) == null ? void 0 : C.call(n)])
        }
    }
});
const BC = mt(R$),
    [N$, Ise] = at("checkbox-group"),
    $$ = Symbol(N$),
    [K$, V$] = at("checkbox"),
    G$ = Et({}, a5, {
        shape: String,
        bindGroup: tt,
        indeterminate: {
            type: Boolean,
            default: null
        }
    });
var j$ = nt({
    name: K$,
    props: G$,
    emits: ["change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            parent: r
        } = Kr($$), A = o => {
            const {
                name: a
            } = e, {
                max: l,
                modelValue: u
            } = r.props, f = u.slice();
            if (o) !(l && f.length >= +l) && !f.includes(a) && (f.push(a), e.bindGroup && r.updateValue(f));
            else {
                const d = f.indexOf(a);
                d !== -1 && (f.splice(d, 1), e.bindGroup && r.updateValue(f))
            }
        }, i = De(() => r && e.bindGroup ? r.props.modelValue.indexOf(e.name) !== -1 : !!e.modelValue), s = (o = !i.value) => {
            r && e.bindGroup ? A(o) : t("update:modelValue", o), e.indeterminate !== null && t("change", o)
        };
        return Xe(() => e.modelValue, o => {
            e.indeterminate === null && t("change", o)
        }), fn({
            toggle: s,
            props: e,
            checked: i
        }), ll(() => e.modelValue), () => q(gC, Jt({
            bem: V$,
            role: "checkbox",
            parent: r,
            checked: i.value,
            onToggle: s
        }, e), un(n, ["default", "icon"]))
    }
});
const Qse = mt(j$),
    [W$, i0] = at("circle");
let z$ = 0;
const t8 = e => Math.min(Math.max(+e, 0), 100);

function Y$(e, t) {
    const n = e ? 1 : 0;
    return `M ${t/2} ${t/2} m 0, -500 a 500, 500 0 1, ${n} 0, 1000 a 500, 500 0 1, ${n} 0, -1000`
}
const X$ = {
    text: String,
    size: rt,
    fill: ct("none"),
    rate: Tt(100),
    speed: Tt(0),
    color: [String, Object],
    clockwise: tt,
    layerColor: String,
    currentRate: Jg(0),
    strokeWidth: Tt(40),
    strokeLinecap: String,
    startPosition: ct("top")
};
var J$ = nt({
    name: W$,
    props: X$,
    emits: ["update:currentRate"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = `van-circle-${z$++}`,
            A = De(() => +e.strokeWidth + 1e3),
            i = De(() => Y$(e.clockwise, A.value)),
            s = De(() => {
                const d = {
                    top: 0,
                    right: 90,
                    bottom: 180,
                    left: 270
                }[e.startPosition];
                if (d) return {
                    transform: `rotate(${d}deg)`
                }
            });
        Xe(() => e.rate, f => {
            let d;
            const p = Date.now(),
                v = e.currentRate,
                B = t8(f),
                C = Math.abs((v - B) * 1e3 / +e.speed),
                w = () => {
                    const m = Date.now(),
                        y = Math.min((m - p) / C, 1) * (B - v) + v;
                    t("update:currentRate", t8(parseFloat(y.toFixed(1)))), (B > v ? y < B : y > B) && (d = dr(w))
                };
            e.speed ? (d && Bc(d), d = dr(w)) : t("update:currentRate", B)
        }, {
            immediate: !0
        });
        const o = () => {
                const {
                    strokeWidth: d,
                    currentRate: p,
                    strokeLinecap: v
                } = e, B = 3140 * p / 100, C = Uo(e.color) ? `url(#${r})` : e.color, w = {
                    stroke: C,
                    strokeWidth: `${+d+1}px`,
                    strokeLinecap: v,
                    strokeDasharray: `${B}px 3140px`
                };
                return q("path", {
                    d: i.value,
                    style: w,
                    class: i0("hover"),
                    stroke: C
                }, null)
            },
            a = () => {
                const f = {
                    fill: e.fill,
                    stroke: e.layerColor,
                    strokeWidth: `${e.strokeWidth}px`
                };
                return q("path", {
                    class: i0("layer"),
                    style: f,
                    d: i.value
                }, null)
            },
            l = () => {
                const {
                    color: f
                } = e;
                if (!Uo(f)) return;
                const d = Object.keys(f).sort((p, v) => parseFloat(p) - parseFloat(v)).map((p, v) => q("stop", {
                    key: v,
                    offset: p,
                    "stop-color": f[p]
                }, null));
                return q("defs", null, [q("linearGradient", {
                    id: r,
                    x1: "100%",
                    y1: "0%",
                    x2: "0%",
                    y2: "0%"
                }, [d])])
            },
            u = () => {
                if (n.default) return n.default();
                if (e.text) return q("div", {
                    class: i0("text")
                }, [e.text])
            };
        return () => q("div", {
            class: i0(),
            style: cl(e.size)
        }, [q("svg", {
            viewBox: `0 0 ${A.value} ${A.value}`,
            style: s.value
        }, [l(), a(), o()]), u()])
    }
});
const Use = mt(J$),
    [wC, q$] = at("row"),
    yC = Symbol(wC),
    Z$ = {
        tag: ct("div"),
        wrap: tt,
        align: String,
        gutter: {
            type: [String, Number, Array],
            default: 0
        },
        justify: String
    };
var eK = nt({
    name: wC,
    props: Z$,
    setup(e, {
        slots: t
    }) {
        const {
            children: n,
            linkChildren: r
        } = jA(yC), A = De(() => {
            const o = [
                []
            ];
            let a = 0;
            return n.forEach((l, u) => {
                a += Number(l.span), a > 24 ? (o.push([u]), a -= 24) : o[o.length - 1].push(u)
            }), o
        }), i = De(() => {
            let o = 0;
            Array.isArray(e.gutter) ? o = Number(e.gutter[0]) || 0 : o = Number(e.gutter);
            const a = [];
            return o && A.value.forEach(l => {
                const u = o * (l.length - 1) / l.length;
                l.forEach((f, d) => {
                    if (d === 0) a.push({
                        right: u
                    });
                    else {
                        const p = o - a[f - 1].right,
                            v = u - p;
                        a.push({
                            left: p,
                            right: v
                        })
                    }
                })
            }), a
        }), s = De(() => {
            const {
                gutter: o
            } = e, a = [];
            if (Array.isArray(o) && o.length > 1) {
                const l = Number(o[1]) || 0;
                if (l <= 0) return a;
                A.value.forEach((u, f) => {
                    f !== A.value.length - 1 && u.forEach(() => {
                        a.push({
                            bottom: l
                        })
                    })
                })
            }
            return a
        });
        return r({
            spaces: i,
            verticalSpaces: s
        }), () => {
            const {
                tag: o,
                wrap: a,
                align: l,
                justify: u
            } = e;
            return q(o, {
                class: q$({
                    [`align-${l}`]: l,
                    [`justify-${u}`]: u,
                    nowrap: !a
                })
            }, {
                default: () => {
                    var f;
                    return [(f = t.default) == null ? void 0 : f.call(t)]
                }
            })
        }
    }
});
const [tK, nK] = at("col"), rK = {
    tag: ct("div"),
    span: Tt(0),
    offset: rt
};
var AK = nt({
    name: tK,
    props: rK,
    setup(e, {
        slots: t
    }) {
        const {
            parent: n,
            index: r
        } = Kr(yC), A = De(() => {
            if (!n) return;
            const {
                spaces: i,
                verticalSpaces: s
            } = n;
            let o = {};
            if (i && i.value && i.value[r.value]) {
                const {
                    left: l,
                    right: u
                } = i.value[r.value];
                o = {
                    paddingLeft: l ? `${l}px` : null,
                    paddingRight: u ? `${u}px` : null
                }
            }
            const {
                bottom: a
            } = s.value[r.value] || {};
            return Et(o, {
                marginBottom: a ? `${a}px` : null
            })
        });
        return () => {
            const {
                tag: i,
                span: s,
                offset: o
            } = e;
            return q(i, {
                style: A.value,
                class: nK({
                    [s]: s,
                    [`offset-${o}`]: o
                })
            }, {
                default: () => {
                    var a;
                    return [(a = t.default) == null ? void 0 : a.call(t)]
                }
            })
        }
    }
});
const Pse = mt(AK),
    [CC, iK] = at("collapse"),
    EC = Symbol(CC),
    sK = {
        border: tt,
        accordion: Boolean,
        modelValue: {
            type: [String, Number, Array],
            default: ""
        }
    };

function oK(e, t) {
    return t && Array.isArray(e) ? (console.error('[Vant] Collapse: "v-model" should not be Array in accordion mode'), !1) : !t && !Array.isArray(e) ? (console.error('[Vant] Collapse: "v-model" should be Array in non-accordion mode'), !1) : !0
}
var aK = nt({
    name: CC,
    props: sK,
    emits: ["change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            linkChildren: r,
            children: A
        } = jA(EC), i = l => {
            t("change", l), t("update:modelValue", l)
        }, s = (l, u) => {
            const {
                accordion: f,
                modelValue: d
            } = e;
            i(f ? l === d ? "" : l : u ? d.concat(l) : d.filter(p => p !== l))
        }, o = (l = {}) => {
            if (e.accordion) return;
            typeof l == "boolean" && (l = {
                expanded: l
            });
            const {
                expanded: u,
                skipDisabled: f
            } = l, p = A.filter(v => v.disabled && f ? v.expanded.value : u ? ? !v.expanded.value).map(v => v.itemName.value);
            i(p)
        }, a = l => {
            const {
                accordion: u,
                modelValue: f
            } = e;
            return oK(f, u) ? u ? f === l : f.includes(l) : !1
        };
        return fn({
            toggleAll: o
        }), r({
            toggle: s,
            isExpanded: a
        }), () => {
            var l;
            return q("div", {
                class: [iK(), {
                    [Ny]: e.border
                }]
            }, [(l = n.default) == null ? void 0 : l.call(n)])
        }
    }
});
const Ose = mt(aK),
    [lK, s0] = at("collapse-item"),
    uK = ["icon", "title", "value", "label", "right-icon"],
    cK = Et({}, Q1, {
        name: rt,
        isLink: tt,
        disabled: Boolean,
        readonly: Boolean,
        lazyRender: tt
    });
var fK = nt({
    name: lK,
    props: cK,
    setup(e, {
        slots: t
    }) {
        const n = Ie(),
            r = Ie(),
            {
                parent: A,
                index: i
            } = Kr(EC);
        if (!A) {
            console.error("[Vant] <CollapseItem> must be a child component of <Collapse>.");
            return
        }
        const s = De(() => {
                var B;
                return (B = e.name) != null ? B : i.value
            }),
            o = De(() => A.isExpanded(s.value)),
            a = Ie(o.value),
            l = n5(() => a.value || !e.lazyRender),
            u = () => {
                o.value ? n.value && (n.value.style.height = "") : a.value = !1
            };
        Xe(o, (B, C) => {
            if (C === null) return;
            B && (a.value = !0), (B ? bt : dr)(() => {
                if (!r.value || !n.value) return;
                const {
                    offsetHeight: m
                } = r.value;
                if (m) {
                    const E = `${m}px`;
                    n.value.style.height = B ? "0" : E, ho(() => {
                        n.value && (n.value.style.height = B ? E : "0")
                    })
                } else u()
            })
        });
        const f = (B = !o.value) => {
                A.toggle(s.value, B)
            },
            d = () => {
                !e.disabled && !e.readonly && f()
            },
            p = () => {
                const {
                    border: B,
                    disabled: C,
                    readonly: w
                } = e, m = un(e, Object.keys(Q1));
                return w && (m.isLink = !1), (C || w) && (m.clickable = !1), q(uC, Jt({
                    role: "button",
                    class: s0("title", {
                        disabled: C,
                        expanded: o.value,
                        borderless: !B
                    }),
                    "aria-expanded": String(o.value),
                    onClick: d
                }, m), un(t, uK))
            },
            v = l(() => {
                var B;
                return Is(q("div", {
                    ref: n,
                    class: s0("wrapper"),
                    onTransitionend: u
                }, [q("div", {
                    ref: r,
                    class: s0("content")
                }, [(B = t.default) == null ? void 0 : B.call(t)])]), [
                    [Os, a.value]
                ])
            });
        return fn({
            toggle: f,
            expanded: o,
            itemName: s
        }), () => q("div", {
            class: [s0({
                border: i.value && e.border
            })]
        }, [p(), v()])
    }
});
const Dse = mt(fK);

function dK(e, t) {
    const {
        days: n
    } = t;
    let {
        hours: r,
        minutes: A,
        seconds: i,
        milliseconds: s
    } = t;
    if (e.includes("DD") ? e = e.replace("DD", uo(n)) : r += n * 24, e.includes("HH") ? e = e.replace("HH", uo(r)) : A += r * 60, e.includes("mm") ? e = e.replace("mm", uo(A)) : i += A * 60, e.includes("ss") ? e = e.replace("ss", uo(i)) : s += i * 1e3, e.includes("S")) {
        const o = uo(s, 3);
        e.includes("SSS") ? e = e.replace("SSS", o) : e.includes("SS") ? e = e.replace("SS", o.slice(0, 2)) : e = e.replace("S", o.charAt(0))
    }
    return e
}
const [hK, pK] = at("count-down"), gK = {
    time: Tt(0),
    format: ct("HH:mm:ss"),
    autoStart: tt,
    millisecond: Boolean
};
var vK = nt({
    name: hK,
    props: gK,
    emits: ["change", "finish"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            start: r,
            pause: A,
            reset: i,
            current: s
        } = q9({
            time: +e.time,
            millisecond: e.millisecond,
            onChange: l => t("change", l),
            onFinish: () => t("finish")
        }), o = De(() => dK(e.format, s.value)), a = () => {
            i(+e.time), e.autoStart && r()
        };
        return Xe(() => e.time, a, {
            immediate: !0
        }), fn({
            start: r,
            pause: A,
            reset: a
        }), () => q("div", {
            role: "timer",
            class: pK()
        }, [n.default ? n.default(s.value) : o.value])
    }
});
const Lse = mt(vK),
    n8 = new Date().getFullYear(),
    [mK] = at("date-picker"),
    BK = Et({}, x$, {
        columnsType: {
            type: Array,
            default: () => ["year", "month", "day"]
        },
        minDate: {
            type: Date,
            default: () => new Date(n8 - 10, 0, 1),
            validator: $u
        },
        maxDate: {
            type: Date,
            default: () => new Date(n8 + 10, 11, 31),
            validator: $u
        }
    });
var wK = nt({
    name: mK,
    props: BK,
    emits: ["confirm", "cancel", "change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(e.modelValue),
            A = Ie(!1),
            i = Ie(),
            s = () => {
                const y = e.minDate.getFullYear(),
                    x = e.maxDate.getFullYear();
                return Qh(y, x, "year", e.formatter, e.filter)
            },
            o = y => y === e.minDate.getFullYear(),
            a = y => y === e.maxDate.getFullYear(),
            l = y => y === e.minDate.getMonth() + 1,
            u = y => y === e.maxDate.getMonth() + 1,
            f = y => {
                const {
                    minDate: x,
                    columnsType: F
                } = e, Q = F.indexOf(y), P = A.value ? e.modelValue[Q] : r.value[Q];
                if (P) return +P;
                switch (y) {
                    case "year":
                        return x.getFullYear();
                    case "month":
                        return x.getMonth() + 1;
                    case "day":
                        return x.getDate()
                }
            },
            d = () => {
                const y = f("year"),
                    x = o(y) ? e.minDate.getMonth() + 1 : 1,
                    F = a(y) ? e.maxDate.getMonth() + 1 : 12;
                return Qh(x, F, "month", e.formatter, e.filter)
            },
            p = () => {
                const y = f("year"),
                    x = f("month"),
                    F = o(y) && l(x) ? e.minDate.getDate() : 1,
                    Q = a(y) && u(x) ? e.maxDate.getDate() : mC(y, x);
                return Qh(F, Q, "day", e.formatter, e.filter)
            },
            v = () => {
                var y;
                return (y = i.value) == null ? void 0 : y.confirm()
            },
            B = () => r.value,
            C = De(() => e.columnsType.map(y => {
                switch (y) {
                    case "year":
                        return s();
                    case "month":
                        return d();
                    case "day":
                        return p();
                    default:
                        throw new Error(`[Vant] DatePicker: unsupported columns type: ${y}`)
                }
            }));
        Xe(r, y => {
            _s(y, e.modelValue) || t("update:modelValue", y)
        }), Xe(() => e.modelValue, (y, x) => {
            A.value = _s(x, r.value), y = S$(y, C.value), _s(y, r.value) || (r.value = y), A.value = !1
        }, {
            immediate: !0
        });
        const w = (...y) => t("change", ...y),
            m = (...y) => t("cancel", ...y),
            E = (...y) => t("confirm", ...y);
        return fn({
            confirm: v,
            getSelectedDate: B
        }), () => q(VN, Jt({
            ref: i,
            modelValue: r.value,
            "onUpdate:modelValue": y => r.value = y,
            columns: C.value,
            onChange: w,
            onCancel: m,
            onConfirm: E
        }, un(e, _$)), n)
    }
});
const kse = mt(wK),
    [yK, cA, o0] = at("dialog"),
    CK = Et({}, T1, {
        title: String,
        theme: String,
        width: rt,
        message: [String, Function],
        callback: Function,
        allowHtml: Boolean,
        className: Pn,
        transition: ct("van-dialog-bounce"),
        messageAlign: String,
        closeOnPopstate: tt,
        showCancelButton: Boolean,
        cancelButtonText: String,
        cancelButtonColor: String,
        cancelButtonDisabled: Boolean,
        confirmButtonText: String,
        confirmButtonColor: String,
        confirmButtonDisabled: Boolean,
        showConfirmButton: tt,
        closeOnClickOverlay: Boolean
    }),
    EK = [...Wy, "transition", "closeOnPopstate"];
var bC = nt({
    name: yK,
    props: CK,
    emits: ["confirm", "cancel", "keydown", "update:show"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = Zt({
                confirm: !1,
                cancel: !1
            }),
            i = w => t("update:show", w),
            s = w => {
                var m;
                i(!1), (m = e.callback) == null || m.call(e, w)
            },
            o = w => () => {
                e.show && (t(w), e.beforeClose ? (A[w] = !0, Ec(e.beforeClose, {
                    args: [w],
                    done() {
                        s(w), A[w] = !1
                    },
                    canceled() {
                        A[w] = !1
                    }
                })) : s(w))
            },
            a = o("cancel"),
            l = o("confirm"),
            u = b9(w => {
                var m, E;
                if (w.target !== ((E = (m = r.value) == null ? void 0 : m.popupRef) == null ? void 0 : E.value)) return;
                ({
                    Enter: e.showConfirmButton ? l : g6,
                    Escape: e.showCancelButton ? a : g6
                })[w.key](), t("keydown", w)
            }, ["enter", "esc"]),
            f = () => {
                const w = n.title ? n.title() : e.title;
                if (w) return q("div", {
                    class: cA("header", {
                        isolated: !e.message && !n.default
                    })
                }, [w])
            },
            d = w => {
                const {
                    message: m,
                    allowHtml: E,
                    messageAlign: y
                } = e, x = cA("message", {
                    "has-title": w,
                    [y]: y
                }), F = $a(m) ? m() : m;
                return E && typeof F == "string" ? q("div", {
                    class: x,
                    innerHTML: F
                }, null) : q("div", {
                    class: x
                }, [F])
            },
            p = () => {
                if (n.default) return q("div", {
                    class: cA("content")
                }, [n.default()]);
                const {
                    title: w,
                    message: m,
                    allowHtml: E
                } = e;
                if (m) {
                    const y = !!(w || n.title);
                    return q("div", {
                        key: E ? 1 : 0,
                        class: cA("content", {
                            isolated: !y
                        })
                    }, [d(y)])
                }
            },
            v = () => q("div", {
                class: [Ry, cA("footer")]
            }, [e.showCancelButton && q(bf, {
                size: "large",
                text: e.cancelButtonText || o0("cancel"),
                class: cA("cancel"),
                style: {
                    color: e.cancelButtonColor
                },
                loading: A.cancel,
                disabled: e.cancelButtonDisabled,
                onClick: a
            }, null), e.showConfirmButton && q(bf, {
                size: "large",
                text: e.confirmButtonText || o0("confirm"),
                class: [cA("confirm"), {
                    [rR]: e.showCancelButton
                }],
                style: {
                    color: e.confirmButtonColor
                },
                loading: A.confirm,
                disabled: e.confirmButtonDisabled,
                onClick: l
            }, null)]),
            B = () => q(dR, {
                class: cA("footer")
            }, {
                default: () => [e.showCancelButton && q(Hm, {
                    type: "warning",
                    text: e.cancelButtonText || o0("cancel"),
                    class: cA("cancel"),
                    color: e.cancelButtonColor,
                    loading: A.cancel,
                    disabled: e.cancelButtonDisabled,
                    onClick: a
                }, null), e.showConfirmButton && q(Hm, {
                    type: "danger",
                    text: e.confirmButtonText || o0("confirm"),
                    class: cA("confirm"),
                    color: e.confirmButtonColor,
                    loading: A.confirm,
                    disabled: e.confirmButtonDisabled,
                    onClick: l
                }, null)]
            }),
            C = () => n.footer ? n.footer() : e.theme === "round-button" ? B() : v();
        return () => {
            const {
                width: w,
                title: m,
                theme: E,
                message: y,
                className: x
            } = e;
            return q(hl, Jt({
                ref: r,
                role: "dialog",
                class: [cA([E]), x],
                style: {
                    width: Ht(w)
                },
                tabindex: 0,
                "aria-labelledby": m || y,
                onKeydown: u,
                "onUpdate:show": i
            }, un(e, EK)), {
                default: () => [f(), p(), C()]
            })
        }
    }
});
let b6;
const bK = {
    title: "",
    width: "",
    theme: null,
    message: "",
    overlay: !0,
    callback: null,
    teleport: "body",
    className: "",
    allowHtml: !1,
    lockScroll: !0,
    transition: void 0,
    beforeClose: null,
    overlayClass: "",
    overlayStyle: void 0,
    messageAlign: "",
    cancelButtonText: "",
    cancelButtonColor: null,
    cancelButtonDisabled: !1,
    confirmButtonText: "",
    confirmButtonColor: null,
    confirmButtonDisabled: !1,
    showConfirmButton: !0,
    showCancelButton: !1,
    closeOnPopstate: !0,
    closeOnClickOverlay: !1
};
let xK = Et({}, bK);

function _K() {
    ({
        instance: b6
    } = s5({
        setup() {
            const {
                state: t,
                toggle: n
            } = i5();
            return () => q(bC, Jt(t, {
                "onUpdate:show": n
            }), null)
        }
    }))
}

function FK(e) {
    return Ti ? new Promise((t, n) => {
        b6 || _K(), b6.open(Et({}, xK, e, {
            callback: r => {
                (r === "confirm" ? t : n)(r)
            }
        }))
    }) : Promise.resolve(void 0)
}
const Hse = e => FK(Et({
        showCancelButton: !0
    }, e)),
    Mse = mt(bC),
    [SK, TK] = at("divider"),
    IK = {
        dashed: Boolean,
        hairline: tt,
        vertical: Boolean,
        contentPosition: ct("center")
    };
var QK = nt({
    name: SK,
    props: IK,
    setup(e, {
        slots: t
    }) {
        return () => {
            var n;
            return q("div", {
                role: "separator",
                class: TK({
                    dashed: e.dashed,
                    hairline: e.hairline,
                    vertical: e.vertical,
                    [`content-${e.contentPosition}`]: !!t.default && !e.vertical
                })
            }, [!e.vertical && ((n = t.default) == null ? void 0 : n.call(t))])
        }
    }
});
const Rse = mt(QK),
    [xC, UK] = at("grid"),
    PK = {
        square: Boolean,
        center: tt,
        border: tt,
        gutter: rt,
        reverse: Boolean,
        iconSize: rt,
        direction: String,
        clickable: Boolean,
        columnNum: Tt(4)
    },
    _C = Symbol(xC);
var OK = nt({
    name: xC,
    props: PK,
    setup(e, {
        slots: t
    }) {
        const {
            linkChildren: n
        } = jA(_C);
        return n({
            props: e
        }), () => {
            var r;
            return q("div", {
                style: {
                    paddingLeft: Ht(e.gutter)
                },
                class: [UK(), {
                    [Ry]: e.border && !e.gutter
                }]
            }, [(r = t.default) == null ? void 0 : r.call(t)])
        }
    }
});
const Nse = mt(OK),
    [DK, a0] = at("grid-item"),
    LK = Et({}, fl, {
        dot: Boolean,
        text: String,
        icon: String,
        badge: rt,
        iconColor: String,
        iconPrefix: String,
        badgeProps: Object
    });
var kK = nt({
    name: DK,
    props: LK,
    setup(e, {
        slots: t
    }) {
        const {
            parent: n,
            index: r
        } = Kr(_C), A = bc();
        if (!n) {
            console.error("[Vant] <GridItem> must be a child component of <Grid>.");
            return
        }
        const i = De(() => {
                const {
                    square: u,
                    gutter: f,
                    columnNum: d
                } = n.props, p = `${100/+d}%`, v = {
                    flexBasis: p
                };
                if (u) v.paddingTop = p;
                else if (f) {
                    const B = Ht(f);
                    v.paddingRight = B, r.value >= +d && (v.marginTop = B)
                }
                return v
            }),
            s = De(() => {
                const {
                    square: u,
                    gutter: f
                } = n.props;
                if (u && f) {
                    const d = Ht(f);
                    return {
                        right: d,
                        bottom: d,
                        height: "auto"
                    }
                }
            }),
            o = () => {
                if (t.icon) return q(S1, Jt({
                    dot: e.dot,
                    content: e.badge
                }, e.badgeProps), {
                    default: t.icon
                });
                if (e.icon) return q(Bn, {
                    dot: e.dot,
                    name: e.icon,
                    size: n.props.iconSize,
                    badge: e.badge,
                    class: a0("icon"),
                    color: e.iconColor,
                    badgeProps: e.badgeProps,
                    classPrefix: e.iconPrefix
                }, null)
            },
            a = () => {
                if (t.text) return t.text();
                if (e.text) return q("span", {
                    class: a0("text")
                }, [e.text])
            },
            l = () => t.default ? t.default() : [o(), a()];
        return () => {
            const {
                center: u,
                border: f,
                square: d,
                gutter: p,
                reverse: v,
                direction: B,
                clickable: C
            } = n.props, w = [a0("content", [B, {
                center: u,
                square: d,
                reverse: v,
                clickable: C,
                surround: f && p
            }]), {
                [Ks]: f
            }];
            return q("div", {
                class: [a0({
                    square: d
                })],
                style: i.value
            }, [q("div", {
                role: C ? "button" : void 0,
                class: w,
                style: s.value,
                tabindex: C ? 0 : void 0,
                onClick: A
            }, [l()])])
        }
    }
});
const $se = mt(kK),
    r8 = e => Math.sqrt((e[0].clientX - e[1].clientX) ** 2 + (e[0].clientY - e[1].clientY) ** 2),
    HK = e => ({
        x: (e[0].clientX + e[1].clientX) / 2,
        y: (e[0].clientY + e[1].clientY) / 2
    }),
    Uh = at("image-preview")[1],
    A8 = 2.6,
    MK = {
        src: String,
        show: Boolean,
        active: Number,
        minZoom: cr(rt),
        maxZoom: cr(rt),
        rootWidth: cr(Number),
        rootHeight: cr(Number),
        disableZoom: Boolean,
        doubleScale: Boolean,
        closeOnClickImage: Boolean,
        closeOnClickOverlay: Boolean,
        vertical: Boolean
    };
var RK = nt({
    props: MK,
    emits: ["scale", "close", "longPress"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Zt({
                scale: 1,
                moveX: 0,
                moveY: 0,
                moving: !1,
                zooming: !1,
                initializing: !1,
                imageRatio: 0
            }),
            A = dl(),
            i = Ie(),
            s = Ie(),
            o = Ie(!1),
            a = Ie(!1);
        let l = 0;
        const u = De(() => {
                const {
                    scale: Z,
                    moveX: ce,
                    moveY: W,
                    moving: he,
                    zooming: Se,
                    initializing: V
                } = r, ie = {
                    transitionDuration: Se || he || V ? "0s" : ".3s"
                };
                return (Z !== 1 || a.value) && (ie.transform = `matrix(${Z}, 0, 0, ${Z}, ${ce}, ${W})`), ie
            }),
            f = De(() => {
                if (r.imageRatio) {
                    const {
                        rootWidth: Z,
                        rootHeight: ce
                    } = e, W = o.value ? ce / r.imageRatio : Z;
                    return Math.max(0, (r.scale * W - Z) / 2)
                }
                return 0
            }),
            d = De(() => {
                if (r.imageRatio) {
                    const {
                        rootWidth: Z,
                        rootHeight: ce
                    } = e, W = o.value ? ce : Z * r.imageRatio;
                    return Math.max(0, (r.scale * W - ce) / 2)
                }
                return 0
            }),
            p = (Z, ce) => {
                var W;
                if (Z = lr(Z, +e.minZoom, +e.maxZoom + 1), Z !== r.scale) {
                    const he = Z / r.scale;
                    if (r.scale = Z, ce) {
                        const Se = Nn((W = i.value) == null ? void 0 : W.$el),
                            V = {
                                x: Se.width * .5,
                                y: Se.height * .5
                            },
                            ie = r.moveX - (ce.x - Se.left - V.x) * (he - 1),
                            ue = r.moveY - (ce.y - Se.top - V.y) * (he - 1);
                        r.moveX = lr(ie, -f.value, f.value), r.moveY = lr(ue, -d.value, d.value)
                    } else r.moveX = 0, r.moveY = a.value ? l : 0;
                    t("scale", {
                        scale: Z,
                        index: e.active
                    })
                }
            },
            v = () => {
                p(1)
            },
            B = () => {
                const Z = r.scale > 1 ? 1 : 2;
                p(Z, Z === 2 || a.value ? {
                    x: A.startX.value,
                    y: A.startY.value
                } : void 0)
            };
        let C, w, m, E, y, x, F, Q, P = !1;
        const L = Z => {
                const {
                    touches: ce
                } = Z;
                if (C = ce.length, C === 2 && e.disableZoom) return;
                const {
                    offsetX: W
                } = A;
                A.start(Z), w = r.moveX, m = r.moveY, Q = Date.now(), P = !1, r.moving = C === 1 && (r.scale !== 1 || a.value), r.zooming = C === 2 && !W.value, r.zooming && (E = r.scale, y = r8(ce))
            },
            I = Z => {
                const {
                    touches: ce
                } = Z;
                if (A.move(Z), r.moving) {
                    const {
                        deltaX: W,
                        deltaY: he
                    } = A, Se = W.value + w, V = he.value + m;
                    if ((e.vertical ? A.isVertical() && Math.abs(V) > d.value : A.isHorizontal() && Math.abs(Se) > f.value) && !P) {
                        r.moving = !1;
                        return
                    }
                    P = !0, _r(Z, !0), r.moveX = lr(Se, -f.value, f.value), r.moveY = lr(V, -d.value, d.value)
                }
                if (r.zooming && (_r(Z, !0), ce.length === 2)) {
                    const W = r8(ce),
                        he = E * W / y;
                    x = HK(ce), p(he, x)
                }
            },
            _ = Z => {
                var ce;
                const W = (ce = s.value) == null ? void 0 : ce.$el;
                if (!W) return;
                const he = W.firstElementChild,
                    Se = Z.target === W,
                    V = he == null ? void 0 : he.contains(Z.target);
                !e.closeOnClickImage && V || !e.closeOnClickOverlay && Se || t("close")
            },
            D = Z => {
                if (C > 1) return;
                const ce = Date.now() - Q,
                    W = 250;
                A.isTap.value && (ce < W ? e.doubleScale ? F ? (clearTimeout(F), F = null, B()) : F = setTimeout(() => {
                    _(Z), F = null
                }, W) : _(Z) : ce > lR && t("longPress"))
            },
            N = Z => {
                let ce = !1;
                if ((r.moving || r.zooming) && (ce = !0, r.moving && w === r.moveX && m === r.moveY && (ce = !1), !Z.touches.length)) {
                    r.zooming && (r.moveX = lr(r.moveX, -f.value, f.value), r.moveY = lr(r.moveY, -d.value, d.value), r.zooming = !1), r.moving = !1, w = 0, m = 0, E = 1, r.scale < 1 && v();
                    const W = +e.maxZoom;
                    r.scale > W && p(W, x)
                }
                _r(Z, ce), D(Z), A.reset()
            },
            X = () => {
                const {
                    rootWidth: Z,
                    rootHeight: ce
                } = e, W = ce / Z, {
                    imageRatio: he
                } = r;
                o.value = r.imageRatio > W && he < A8, a.value = r.imageRatio > W && he >= A8, a.value && (l = (he * Z - ce) / 2, r.moveY = l, r.initializing = !0, dr(() => {
                    r.initializing = !1
                })), v()
            },
            se = Z => {
                const {
                    naturalWidth: ce,
                    naturalHeight: W
                } = Z.target;
                r.imageRatio = W / ce, X()
            };
        return Xe(() => e.active, v), Xe(() => e.show, Z => {
            Z || v()
        }), Xe(() => [e.rootWidth, e.rootHeight], X), Sr("touchmove", I, {
            target: De(() => {
                var Z;
                return (Z = s.value) == null ? void 0 : Z.$el
            })
        }), fn({
            resetScale: v
        }), () => {
            const Z = {
                loading: () => q(ki, {
                    type: "spinner"
                }, null)
            };
            return q(lC, {
                ref: s,
                class: Uh("swipe-item"),
                onTouchstartPassive: L,
                onTouchend: N,
                onTouchcancel: N
            }, {
                default: () => [n.image ? q("div", {
                    class: Uh("image-wrap")
                }, [n.image({
                    src: e.src,
                    onLoad: se,
                    style: u.value
                })]) : q(BC, {
                    ref: i,
                    src: e.src,
                    fit: "contain",
                    class: Uh("image", {
                        vertical: o.value
                    }),
                    style: u.value,
                    onLoad: se
                }, Z)]
            })
        }
    }
});
const [NK, ua] = at("image-preview"), $K = ["show", "teleport", "transition", "overlayStyle", "closeOnPopstate"], KK = {
    show: Boolean,
    loop: tt,
    images: Ii(),
    minZoom: Tt(1 / 3),
    maxZoom: Tt(3),
    overlay: tt,
    vertical: Boolean,
    closeable: Boolean,
    showIndex: tt,
    className: Pn,
    closeIcon: ct("clear"),
    transition: String,
    beforeClose: Function,
    doubleScale: tt,
    overlayClass: Pn,
    overlayStyle: Object,
    swipeDuration: Tt(300),
    startPosition: Tt(0),
    showIndicators: Boolean,
    closeOnPopstate: tt,
    closeOnClickImage: tt,
    closeOnClickOverlay: tt,
    closeIconPosition: ct("top-right"),
    teleport: [String, Object]
};
var FC = nt({
    name: NK,
    props: KK,
    emits: ["scale", "close", "closed", "change", "longPress", "update:show"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = Ie(),
            i = Zt({
                active: 0,
                rootWidth: 0,
                rootHeight: 0,
                disableZoom: !1
            }),
            s = () => {
                if (r.value) {
                    const E = Nn(r.value.$el);
                    i.rootWidth = E.width, i.rootHeight = E.height, r.value.resize()
                }
            },
            o = E => t("scale", E),
            a = E => t("update:show", E),
            l = () => {
                Ec(e.beforeClose, {
                    args: [i.active],
                    done: () => a(!1)
                })
            },
            u = E => {
                E !== i.active && (i.active = E, t("change", E))
            },
            f = () => {
                if (e.showIndex) return q("div", {
                    class: ua("index")
                }, [n.index ? n.index({
                    index: i.active
                }) : `${i.active+1} / ${e.images.length}`])
            },
            d = () => {
                if (n.cover) return q("div", {
                    class: ua("cover")
                }, [n.cover()])
            },
            p = () => {
                i.disableZoom = !0
            },
            v = () => {
                i.disableZoom = !1
            },
            B = () => q(iC, {
                ref: r,
                lazyRender: !0,
                loop: e.loop,
                class: ua("swipe"),
                vertical: e.vertical,
                duration: e.swipeDuration,
                initialSwipe: e.startPosition,
                showIndicators: e.showIndicators,
                indicatorColor: "white",
                onChange: u,
                onDragEnd: v,
                onDragStart: p
            }, {
                default: () => [e.images.map((E, y) => q(RK, {
                    ref: x => {
                        y === i.active && (A.value = x)
                    },
                    src: E,
                    show: e.show,
                    active: i.active,
                    maxZoom: e.maxZoom,
                    minZoom: e.minZoom,
                    rootWidth: i.rootWidth,
                    rootHeight: i.rootHeight,
                    disableZoom: i.disableZoom,
                    doubleScale: e.doubleScale,
                    closeOnClickImage: e.closeOnClickImage,
                    closeOnClickOverlay: e.closeOnClickOverlay,
                    vertical: e.vertical,
                    onScale: o,
                    onClose: l,
                    onLongPress: () => t("longPress", {
                        index: y
                    })
                }, {
                    image: n.image
                }))]
            }),
            C = () => {
                if (e.closeable) return q(Bn, {
                    role: "button",
                    name: e.closeIcon,
                    class: [ua("close-icon", e.closeIconPosition), Po],
                    onClick: l
                }, null)
            },
            w = () => t("closed"),
            m = (E, y) => {
                var x;
                return (x = r.value) == null ? void 0 : x.swipeTo(E, y)
            };
        return fn({
            resetScale: () => {
                var E;
                (E = A.value) == null || E.resetScale()
            },
            swipeTo: m
        }), sn(s), Xe([ul, Cc], s), Xe(() => e.startPosition, E => u(+E)), Xe(() => e.show, E => {
            const {
                images: y,
                startPosition: x
            } = e;
            E ? (u(+x), bt(() => {
                s(), m(+x, {
                    immediate: !0
                })
            })) : t("close", {
                index: i.active,
                url: y[i.active]
            })
        }), () => q(hl, Jt({
            class: [ua(), e.className],
            overlayClass: [ua("overlay"), e.overlayClass],
            onClosed: w,
            "onUpdate:show": a
        }, un(e, $K)), {
            default: () => [C(), B(), f(), d()]
        })
    }
});
let Y0;
const VK = {
    loop: !0,
    images: [],
    maxZoom: 3,
    minZoom: 1 / 3,
    onScale: void 0,
    onClose: void 0,
    onChange: void 0,
    vertical: !1,
    teleport: "body",
    className: "",
    showIndex: !0,
    closeable: !1,
    closeIcon: "clear",
    transition: void 0,
    beforeClose: void 0,
    doubleScale: !0,
    overlayStyle: void 0,
    overlayClass: void 0,
    startPosition: 0,
    swipeDuration: 300,
    showIndicators: !1,
    closeOnPopstate: !0,
    closeOnClickOverlay: !0,
    closeIconPosition: "top-right"
};

function GK() {
    ({
        instance: Y0
    } = s5({
        setup() {
            const {
                state: e,
                toggle: t
            } = i5(), n = () => {
                e.images = []
            };
            return () => q(FC, Jt(e, {
                onClosed: n,
                "onUpdate:show": t
            }), null)
        }
    }))
}
const jK = (e, t = 0) => {
    if (Ti) return Y0 || GK(), e = Array.isArray(e) ? {
        images: e,
        startPosition: t
    } : e, Y0.open(Et({}, VK, e)), Y0
};
mt(FC);
const [WK, ca, zK] = at("list"), YK = {
    error: Boolean,
    offset: Tt(300),
    loading: Boolean,
    disabled: Boolean,
    finished: Boolean,
    scroller: Object,
    errorText: String,
    direction: ct("down"),
    loadingText: String,
    finishedText: String,
    immediateCheck: tt
};
var XK = nt({
    name: WK,
    props: YK,
    emits: ["load", "update:error", "update:loading"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(e.loading),
            A = Ie(),
            i = Ie(),
            s = QN(),
            o = wc(A),
            a = De(() => e.scroller || o.value),
            l = () => {
                bt(() => {
                    if (r.value || e.finished || e.disabled || e.error || (s == null ? void 0 : s.value) === !1) return;
                    const {
                        direction: v
                    } = e, B = +e.offset, C = Nn(a);
                    if (!C.height || Ka(A)) return;
                    let w = !1;
                    const m = Nn(i);
                    v === "up" ? w = C.top - m.top <= B : w = m.bottom - C.bottom <= B, w && (r.value = !0, t("update:loading", !0), t("load"))
                })
            },
            u = () => {
                if (e.finished) {
                    const v = n.finished ? n.finished() : e.finishedText;
                    if (v) return q("div", {
                        class: ca("finished-text")
                    }, [v])
                }
            },
            f = () => {
                t("update:error", !1), l()
            },
            d = () => {
                if (e.error) {
                    const v = n.error ? n.error() : e.errorText;
                    if (v) return q("div", {
                        role: "button",
                        class: ca("error-text"),
                        tabindex: 0,
                        onClick: f
                    }, [v])
                }
            },
            p = () => {
                if (r.value && !e.finished && !e.disabled) return q("div", {
                    class: ca("loading")
                }, [n.loading ? n.loading() : q(ki, {
                    class: ca("loading-icon")
                }, {
                    default: () => [e.loadingText || zK("loading")]
                })])
            };
        return Xe(() => [e.loading, e.finished, e.error], l), s && Xe(s, v => {
            v && l()
        }), No(() => {
            r.value = e.loading
        }), sn(() => {
            e.immediateCheck && l()
        }), fn({
            check: l
        }), Sr("scroll", l, {
            target: a,
            passive: !0
        }), () => {
            var v;
            const B = (v = n.default) == null ? void 0 : v.call(n),
                C = q("div", {
                    ref: i,
                    class: ca("placeholder")
                }, null);
            return q("div", {
                ref: A,
                role: "feed",
                class: ca(),
                "aria-busy": r.value
            }, [e.direction === "down" ? B : C, p(), u(), d(), e.direction === "up" ? B : C])
        }
    }
});
const Kse = mt(XK);

function EA(e) {
    if (e == null) return window;
    if (e.toString() !== "[object Window]") {
        var t = e.ownerDocument;
        return t && t.defaultView || window
    }
    return e
}

function c5(e) {
    var t = EA(e).Element;
    return e instanceof t || e instanceof Element
}

function wA(e) {
    var t = EA(e).HTMLElement;
    return e instanceof t || e instanceof HTMLElement
}

function SC(e) {
    if (typeof ShadowRoot > "u") return !1;
    var t = EA(e).ShadowRoot;
    return e instanceof t || e instanceof ShadowRoot
}
var Ga = Math.round;

function x6() {
    var e = navigator.userAgentData;
    return e != null && e.brands ? e.brands.map(function(t) {
        return t.brand + "/" + t.version
    }).join(" ") : navigator.userAgent
}

function JK() {
    return !/^((?!chrome|android).)*safari/i.test(x6())
}

function xf(e, t, n) {
    t === void 0 && (t = !1), n === void 0 && (n = !1);
    var r = e.getBoundingClientRect(),
        A = 1,
        i = 1;
    t && wA(e) && (A = e.offsetWidth > 0 && Ga(r.width) / e.offsetWidth || 1, i = e.offsetHeight > 0 && Ga(r.height) / e.offsetHeight || 1);
    var s = c5(e) ? EA(e) : window,
        o = s.visualViewport,
        a = !JK() && n,
        l = (r.left + (a && o ? o.offsetLeft : 0)) / A,
        u = (r.top + (a && o ? o.offsetTop : 0)) / i,
        f = r.width / A,
        d = r.height / i;
    return {
        width: f,
        height: d,
        top: u,
        right: l + f,
        bottom: u + d,
        left: l,
        x: l,
        y: u
    }
}

function TC(e) {
    var t = EA(e),
        n = t.pageXOffset,
        r = t.pageYOffset;
    return {
        scrollLeft: n,
        scrollTop: r
    }
}

function qK(e) {
    return {
        scrollLeft: e.scrollLeft,
        scrollTop: e.scrollTop
    }
}

function ZK(e) {
    return e === EA(e) || !wA(e) ? TC(e) : qK(e)
}

function Qi(e) {
    return e ? (e.nodeName || "").toLowerCase() : null
}

function U1(e) {
    return ((c5(e) ? e.ownerDocument : e.document) || window.document).documentElement
}

function eV(e) {
    return xf(U1(e)).left + TC(e).scrollLeft
}

function Ui(e) {
    return EA(e).getComputedStyle(e)
}

function f5(e) {
    var t = Ui(e),
        n = t.overflow,
        r = t.overflowX,
        A = t.overflowY;
    return /auto|scroll|overlay|hidden/.test(n + A + r)
}

function tV(e) {
    var t = e.getBoundingClientRect(),
        n = Ga(t.width) / e.offsetWidth || 1,
        r = Ga(t.height) / e.offsetHeight || 1;
    return n !== 1 || r !== 1
}

function nV(e, t, n) {
    n === void 0 && (n = !1);
    var r = wA(t),
        A = wA(t) && tV(t),
        i = U1(t),
        s = xf(e, A, n),
        o = {
            scrollLeft: 0,
            scrollTop: 0
        },
        a = {
            x: 0,
            y: 0
        };
    return (r || !r && !n) && ((Qi(t) !== "body" || f5(i)) && (o = ZK(t)), wA(t) ? (a = xf(t, !0), a.x += t.clientLeft, a.y += t.clientTop) : i && (a.x = eV(i))), {
        x: s.left + o.scrollLeft - a.x,
        y: s.top + o.scrollTop - a.y,
        width: s.width,
        height: s.height
    }
}

function rV(e) {
    var t = xf(e),
        n = e.offsetWidth,
        r = e.offsetHeight;
    return Math.abs(t.width - n) <= 1 && (n = t.width), Math.abs(t.height - r) <= 1 && (r = t.height), {
        x: e.offsetLeft,
        y: e.offsetTop,
        width: n,
        height: r
    }
}

function d5(e) {
    return Qi(e) === "html" ? e : e.assignedSlot || e.parentNode || (SC(e) ? e.host : null) || U1(e)
}

function IC(e) {
    return ["html", "body", "#document"].indexOf(Qi(e)) >= 0 ? e.ownerDocument.body : wA(e) && f5(e) ? e : IC(d5(e))
}

function X0(e, t) {
    var n;
    t === void 0 && (t = []);
    var r = IC(e),
        A = r === ((n = e.ownerDocument) == null ? void 0 : n.body),
        i = EA(r),
        s = A ? [i].concat(i.visualViewport || [], f5(r) ? r : []) : r,
        o = t.concat(s);
    return A ? o : o.concat(X0(d5(s)))
}

function AV(e) {
    return ["table", "td", "th"].indexOf(Qi(e)) >= 0
}

function i8(e) {
    return !wA(e) || Ui(e).position === "fixed" ? null : e.offsetParent
}

function iV(e) {
    var t = /firefox/i.test(x6()),
        n = /Trident/i.test(x6());
    if (n && wA(e)) {
        var r = Ui(e);
        if (r.position === "fixed") return null
    }
    var A = d5(e);
    for (SC(A) && (A = A.host); wA(A) && ["html", "body"].indexOf(Qi(A)) < 0;) {
        var i = Ui(A);
        if (i.transform !== "none" || i.perspective !== "none" || i.contain === "paint" || ["transform", "perspective"].indexOf(i.willChange) !== -1 || t && i.willChange === "filter" || t && i.filter && i.filter !== "none") return A;
        A = A.parentNode
    }
    return null
}

function QC(e) {
    for (var t = EA(e), n = i8(e); n && AV(n) && Ui(n).position === "static";) n = i8(n);
    return n && (Qi(n) === "html" || Qi(n) === "body" && Ui(n).position === "static") ? t : n || iV(e) || t
}
var Oa = "top",
    _f = "bottom",
    Vu = "right",
    bo = "left",
    UC = "auto",
    sV = [Oa, _f, Vu, bo],
    PC = "start",
    Ff = "end",
    oV = [].concat(sV, [UC]).reduce(function(e, t) {
        return e.concat([t, t + "-" + PC, t + "-" + Ff])
    }, []),
    aV = "beforeRead",
    lV = "read",
    uV = "afterRead",
    cV = "beforeMain",
    fV = "main",
    dV = "afterMain",
    hV = "beforeWrite",
    pV = "write",
    gV = "afterWrite",
    _6 = [aV, lV, uV, cV, fV, dV, hV, pV, gV];

function vV(e) {
    var t = new Map,
        n = new Set,
        r = [];
    e.forEach(function(i) {
        t.set(i.name, i)
    });

    function A(i) {
        n.add(i.name);
        var s = [].concat(i.requires || [], i.requiresIfExists || []);
        s.forEach(function(o) {
            if (!n.has(o)) {
                var a = t.get(o);
                a && A(a)
            }
        }), r.push(i)
    }
    return e.forEach(function(i) {
        n.has(i.name) || A(i)
    }), r
}

function mV(e) {
    var t = vV(e);
    return _6.reduce(function(n, r) {
        return n.concat(t.filter(function(A) {
            return A.phase === r
        }))
    }, [])
}

function BV(e) {
    var t;
    return function() {
        return t || (t = new Promise(function(n) {
            Promise.resolve().then(function() {
                t = void 0, n(e())
            })
        })), t
    }
}

function Zi(e) {
    for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
    return [].concat(n).reduce(function(A, i) {
        return A.replace(/%s/, i)
    }, e)
}
var ro = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s',
    wV = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available',
    s8 = ["name", "enabled", "phase", "fn", "effect", "requires", "options"];

function yV(e) {
    e.forEach(function(t) {
        [].concat(Object.keys(t), s8).filter(function(n, r, A) {
            return A.indexOf(n) === r
        }).forEach(function(n) {
            switch (n) {
                case "name":
                    typeof t.name != "string" && console.error(Zi(ro, String(t.name), '"name"', '"string"', '"' + String(t.name) + '"'));
                    break;
                case "enabled":
                    typeof t.enabled != "boolean" && console.error(Zi(ro, t.name, '"enabled"', '"boolean"', '"' + String(t.enabled) + '"'));
                    break;
                case "phase":
                    _6.indexOf(t.phase) < 0 && console.error(Zi(ro, t.name, '"phase"', "either " + _6.join(", "), '"' + String(t.phase) + '"'));
                    break;
                case "fn":
                    typeof t.fn != "function" && console.error(Zi(ro, t.name, '"fn"', '"function"', '"' + String(t.fn) + '"'));
                    break;
                case "effect":
                    t.effect != null && typeof t.effect != "function" && console.error(Zi(ro, t.name, '"effect"', '"function"', '"' + String(t.fn) + '"'));
                    break;
                case "requires":
                    t.requires != null && !Array.isArray(t.requires) && console.error(Zi(ro, t.name, '"requires"', '"array"', '"' + String(t.requires) + '"'));
                    break;
                case "requiresIfExists":
                    Array.isArray(t.requiresIfExists) || console.error(Zi(ro, t.name, '"requiresIfExists"', '"array"', '"' + String(t.requiresIfExists) + '"'));
                    break;
                case "options":
                case "data":
                    break;
                default:
                    console.error('PopperJS: an invalid property has been provided to the "' + t.name + '" modifier, valid properties are ' + s8.map(function(r) {
                        return '"' + r + '"'
                    }).join(", ") + '; but "' + n + '" was provided.')
            }
            t.requires && t.requires.forEach(function(r) {
                e.find(function(A) {
                    return A.name === r
                }) == null && console.error(Zi(wV, String(t.name), r, r))
            })
        })
    })
}

function CV(e, t) {
    var n = new Set;
    return e.filter(function(r) {
        var A = t(r);
        if (!n.has(A)) return n.add(A), !0
    })
}

function P1(e) {
    return e.split("-")[0]
}

function EV(e) {
    var t = e.reduce(function(n, r) {
        var A = n[r.name];
        return n[r.name] = A ? Object.assign({}, A, r, {
            options: Object.assign({}, A.options, r.options),
            data: Object.assign({}, A.data, r.data)
        }) : r, n
    }, {});
    return Object.keys(t).map(function(n) {
        return t[n]
    })
}

function OC(e) {
    return e.split("-")[1]
}

function bV(e) {
    return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y"
}

function xV(e) {
    var t = e.reference,
        n = e.element,
        r = e.placement,
        A = r ? P1(r) : null,
        i = r ? OC(r) : null,
        s = t.x + t.width / 2 - n.width / 2,
        o = t.y + t.height / 2 - n.height / 2,
        a;
    switch (A) {
        case Oa:
            a = {
                x: s,
                y: t.y - n.height
            };
            break;
        case _f:
            a = {
                x: s,
                y: t.y + t.height
            };
            break;
        case Vu:
            a = {
                x: t.x + t.width,
                y: o
            };
            break;
        case bo:
            a = {
                x: t.x - n.width,
                y: o
            };
            break;
        default:
            a = {
                x: t.x,
                y: t.y
            }
    }
    var l = A ? bV(A) : null;
    if (l != null) {
        var u = l === "y" ? "height" : "width";
        switch (i) {
            case PC:
                a[l] = a[l] - (t[u] / 2 - n[u] / 2);
                break;
            case Ff:
                a[l] = a[l] + (t[u] / 2 - n[u] / 2);
                break
        }
    }
    return a
}
var o8 = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",
    _V = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",
    a8 = {
        placement: "bottom",
        modifiers: [],
        strategy: "absolute"
    };

function l8() {
    for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
    return !t.some(function(r) {
        return !(r && typeof r.getBoundingClientRect == "function")
    })
}

function FV(e) {
    e === void 0 && (e = {});
    var t = e,
        n = t.defaultModifiers,
        r = n === void 0 ? [] : n,
        A = t.defaultOptions,
        i = A === void 0 ? a8 : A;
    return function(o, a, l) {
        l === void 0 && (l = i);
        var u = {
                placement: "bottom",
                orderedModifiers: [],
                options: Object.assign({}, a8, i),
                modifiersData: {},
                elements: {
                    reference: o,
                    popper: a
                },
                attributes: {},
                styles: {}
            },
            f = [],
            d = !1,
            p = {
                state: u,
                setOptions: function(w) {
                    var m = typeof w == "function" ? w(u.options) : w;
                    B(), u.options = Object.assign({}, i, u.options, m), u.scrollParents = {
                        reference: c5(o) ? X0(o) : o.contextElement ? X0(o.contextElement) : [],
                        popper: X0(a)
                    };
                    var E = mV(EV([].concat(r, u.options.modifiers)));
                    u.orderedModifiers = E.filter(function(_) {
                        return _.enabled
                    }); {
                        var y = CV([].concat(E, u.options.modifiers), function(_) {
                            var D = _.name;
                            return D
                        });
                        if (yV(y), P1(u.options.placement) === UC) {
                            var x = u.orderedModifiers.find(function(_) {
                                var D = _.name;
                                return D === "flip"
                            });
                            x || console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" "))
                        }
                        var F = Ui(a),
                            Q = F.marginTop,
                            P = F.marginRight,
                            L = F.marginBottom,
                            I = F.marginLeft;
                        [Q, P, L, I].some(function(_) {
                            return parseFloat(_)
                        }) && console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" "))
                    }
                    return v(), p.update()
                },
                forceUpdate: function() {
                    if (!d) {
                        var w = u.elements,
                            m = w.reference,
                            E = w.popper;
                        if (!l8(m, E)) {
                            console.error(o8);
                            return
                        }
                        u.rects = {
                            reference: nV(m, QC(E), u.options.strategy === "fixed"),
                            popper: rV(E)
                        }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function(_) {
                            return u.modifiersData[_.name] = Object.assign({}, _.data)
                        });
                        for (var y = 0, x = 0; x < u.orderedModifiers.length; x++) {
                            if (y += 1, y > 100) {
                                console.error(_V);
                                break
                            }
                            if (u.reset === !0) {
                                u.reset = !1, x = -1;
                                continue
                            }
                            var F = u.orderedModifiers[x],
                                Q = F.fn,
                                P = F.options,
                                L = P === void 0 ? {} : P,
                                I = F.name;
                            typeof Q == "function" && (u = Q({
                                state: u,
                                options: L,
                                name: I,
                                instance: p
                            }) || u)
                        }
                    }
                },
                update: BV(function() {
                    return new Promise(function(C) {
                        p.forceUpdate(), C(u)
                    })
                }),
                destroy: function() {
                    B(), d = !0
                }
            };
        if (!l8(o, a)) return console.error(o8), p;
        p.setOptions(l).then(function(C) {
            !d && l.onFirstUpdate && l.onFirstUpdate(C)
        });

        function v() {
            u.orderedModifiers.forEach(function(C) {
                var w = C.name,
                    m = C.options,
                    E = m === void 0 ? {} : m,
                    y = C.effect;
                if (typeof y == "function") {
                    var x = y({
                            state: u,
                            name: w,
                            instance: p,
                            options: E
                        }),
                        F = function() {};
                    f.push(x || F)
                }
            })
        }

        function B() {
            f.forEach(function(C) {
                return C()
            }), f = []
        }
        return p
    }
}
var l0 = {
    passive: !0
};

function SV(e) {
    var t = e.state,
        n = e.instance,
        r = e.options,
        A = r.scroll,
        i = A === void 0 ? !0 : A,
        s = r.resize,
        o = s === void 0 ? !0 : s,
        a = EA(t.elements.popper),
        l = [].concat(t.scrollParents.reference, t.scrollParents.popper);
    return i && l.forEach(function(u) {
            u.addEventListener("scroll", n.update, l0)
        }), o && a.addEventListener("resize", n.update, l0),
        function() {
            i && l.forEach(function(u) {
                u.removeEventListener("scroll", n.update, l0)
            }), o && a.removeEventListener("resize", n.update, l0)
        }
}
var TV = {
    name: "eventListeners",
    enabled: !0,
    phase: "write",
    fn: function() {},
    effect: SV,
    data: {}
};

function IV(e) {
    var t = e.state,
        n = e.name;
    t.modifiersData[n] = xV({
        reference: t.rects.reference,
        element: t.rects.popper,
        strategy: "absolute",
        placement: t.placement
    })
}
var QV = {
        name: "popperOffsets",
        enabled: !0,
        phase: "read",
        fn: IV,
        data: {}
    },
    UV = {
        top: "auto",
        right: "auto",
        bottom: "auto",
        left: "auto"
    };

function PV(e) {
    var t = e.x,
        n = e.y,
        r = window,
        A = r.devicePixelRatio || 1;
    return {
        x: Ga(t * A) / A || 0,
        y: Ga(n * A) / A || 0
    }
}

function u8(e) {
    var t, n = e.popper,
        r = e.popperRect,
        A = e.placement,
        i = e.variation,
        s = e.offsets,
        o = e.position,
        a = e.gpuAcceleration,
        l = e.adaptive,
        u = e.roundOffsets,
        f = e.isFixed,
        d = s.x,
        p = d === void 0 ? 0 : d,
        v = s.y,
        B = v === void 0 ? 0 : v,
        C = typeof u == "function" ? u({
            x: p,
            y: B
        }) : {
            x: p,
            y: B
        };
    p = C.x, B = C.y;
    var w = s.hasOwnProperty("x"),
        m = s.hasOwnProperty("y"),
        E = bo,
        y = Oa,
        x = window;
    if (l) {
        var F = QC(n),
            Q = "clientHeight",
            P = "clientWidth";
        if (F === EA(n) && (F = U1(n), Ui(F).position !== "static" && o === "absolute" && (Q = "scrollHeight", P = "scrollWidth")), F = F, A === Oa || (A === bo || A === Vu) && i === Ff) {
            y = _f;
            var L = f && F === x && x.visualViewport ? x.visualViewport.height : F[Q];
            B -= L - r.height, B *= a ? 1 : -1
        }
        if (A === bo || (A === Oa || A === _f) && i === Ff) {
            E = Vu;
            var I = f && F === x && x.visualViewport ? x.visualViewport.width : F[P];
            p -= I - r.width, p *= a ? 1 : -1
        }
    }
    var _ = Object.assign({
            position: o
        }, l && UV),
        D = u === !0 ? PV({
            x: p,
            y: B
        }) : {
            x: p,
            y: B
        };
    if (p = D.x, B = D.y, a) {
        var N;
        return Object.assign({}, _, (N = {}, N[y] = m ? "0" : "", N[E] = w ? "0" : "", N.transform = (x.devicePixelRatio || 1) <= 1 ? "translate(" + p + "px, " + B + "px)" : "translate3d(" + p + "px, " + B + "px, 0)", N))
    }
    return Object.assign({}, _, (t = {}, t[y] = m ? B + "px" : "", t[E] = w ? p + "px" : "", t.transform = "", t))
}

function OV(e) {
    var t = e.state,
        n = e.options,
        r = n.gpuAcceleration,
        A = r === void 0 ? !0 : r,
        i = n.adaptive,
        s = i === void 0 ? !0 : i,
        o = n.roundOffsets,
        a = o === void 0 ? !0 : o; {
        var l = Ui(t.elements.popper).transitionProperty || "";
        s && ["transform", "top", "right", "bottom", "left"].some(function(f) {
            return l.indexOf(f) >= 0
        }) && console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', `

`, 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", `

`, "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" "))
    }
    var u = {
        placement: P1(t.placement),
        variation: OC(t.placement),
        popper: t.elements.popper,
        popperRect: t.rects.popper,
        gpuAcceleration: A,
        isFixed: t.options.strategy === "fixed"
    };
    t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, u8(Object.assign({}, u, {
        offsets: t.modifiersData.popperOffsets,
        position: t.options.strategy,
        adaptive: s,
        roundOffsets: a
    })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, u8(Object.assign({}, u, {
        offsets: t.modifiersData.arrow,
        position: "absolute",
        adaptive: !1,
        roundOffsets: a
    })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
        "data-popper-placement": t.placement
    })
}
var DV = {
    name: "computeStyles",
    enabled: !0,
    phase: "beforeWrite",
    fn: OV,
    data: {}
};

function LV(e) {
    var t = e.state;
    Object.keys(t.elements).forEach(function(n) {
        var r = t.styles[n] || {},
            A = t.attributes[n] || {},
            i = t.elements[n];
        !wA(i) || !Qi(i) || (Object.assign(i.style, r), Object.keys(A).forEach(function(s) {
            var o = A[s];
            o === !1 ? i.removeAttribute(s) : i.setAttribute(s, o === !0 ? "" : o)
        }))
    })
}

function kV(e) {
    var t = e.state,
        n = {
            popper: {
                position: t.options.strategy,
                left: "0",
                top: "0",
                margin: "0"
            },
            arrow: {
                position: "absolute"
            },
            reference: {}
        };
    return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow),
        function() {
            Object.keys(t.elements).forEach(function(r) {
                var A = t.elements[r],
                    i = t.attributes[r] || {},
                    s = Object.keys(t.styles.hasOwnProperty(r) ? t.styles[r] : n[r]),
                    o = s.reduce(function(a, l) {
                        return a[l] = "", a
                    }, {});
                !wA(A) || !Qi(A) || (Object.assign(A.style, o), Object.keys(i).forEach(function(a) {
                    A.removeAttribute(a)
                }))
            })
        }
}
var HV = {
        name: "applyStyles",
        enabled: !0,
        phase: "write",
        fn: LV,
        effect: kV,
        requires: ["computeStyles"]
    },
    MV = [TV, QV, DV, HV],
    RV = FV({
        defaultModifiers: MV
    });

function NV(e, t, n) {
    var r = P1(e),
        A = [bo, Oa].indexOf(r) >= 0 ? -1 : 1,
        i = typeof n == "function" ? n(Object.assign({}, t, {
            placement: e
        })) : n,
        s = i[0],
        o = i[1];
    return s = s || 0, o = (o || 0) * A, [bo, Vu].indexOf(r) >= 0 ? {
        x: o,
        y: s
    } : {
        x: s,
        y: o
    }
}

function $V(e) {
    var t = e.state,
        n = e.options,
        r = e.name,
        A = n.offset,
        i = A === void 0 ? [0, 0] : A,
        s = oV.reduce(function(u, f) {
            return u[f] = NV(f, t.rects, i), u
        }, {}),
        o = s[t.placement],
        a = o.x,
        l = o.y;
    t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += a, t.modifiersData.popperOffsets.y += l), t.modifiersData[r] = s
}
var KV = {
    name: "offset",
    enabled: !0,
    phase: "main",
    requires: ["popperOffsets"],
    fn: $V
};
const [VV, Ao] = at("popover"), GV = ["overlay", "duration", "teleport", "overlayStyle", "overlayClass", "closeOnClickOverlay"], jV = {
    show: Boolean,
    theme: ct("light"),
    overlay: Boolean,
    actions: Ii(),
    actionsDirection: ct("vertical"),
    trigger: ct("click"),
    duration: rt,
    showArrow: tt,
    placement: ct("bottom"),
    iconPrefix: String,
    overlayClass: Pn,
    overlayStyle: Object,
    closeOnClickAction: tt,
    closeOnClickOverlay: tt,
    closeOnClickOutside: tt,
    offset: {
        type: Array,
        default: () => [0, 8]
    },
    teleport: {
        type: [String, Object],
        default: "body"
    }
};
var WV = nt({
    name: VV,
    props: jV,
    emits: ["select", "touchstart", "update:show"],
    setup(e, {
        emit: t,
        slots: n,
        attrs: r
    }) {
        let A;
        const i = Ie(),
            s = Ie(),
            o = Ie(),
            a = aN(() => e.show, m => t("update:show", m)),
            l = () => ({
                placement: e.placement,
                modifiers: [{
                    name: "computeStyles",
                    options: {
                        adaptive: !1,
                        gpuAcceleration: !1
                    }
                }, Et({}, KV, {
                    options: {
                        offset: e.offset
                    }
                })]
            }),
            u = () => s.value && o.value ? RV(s.value, o.value.popupRef.value, l()) : null,
            f = () => {
                bt(() => {
                    a.value && (A ? A.setOptions(l()) : (A = u(), Ti && (window.addEventListener("animationend", f), window.addEventListener("transitionend", f))))
                })
            },
            d = m => {
                a.value = m
            },
            p = () => {
                e.trigger === "click" && (a.value = !a.value)
            },
            v = (m, E) => {
                m.disabled || (t("select", m, E), e.closeOnClickAction && (a.value = !1))
            },
            B = () => {
                a.value && e.closeOnClickOutside && (!e.overlay || e.closeOnClickOverlay) && (a.value = !1)
            },
            C = (m, E) => n.action ? n.action({
                action: m,
                index: E
            }) : [m.icon && q(Bn, {
                name: m.icon,
                classPrefix: e.iconPrefix,
                class: Ao("action-icon")
            }, null), q("div", {
                class: [Ao("action-text"), {
                    [iR]: e.actionsDirection === "vertical"
                }]
            }, [m.text])],
            w = (m, E) => {
                const {
                    icon: y,
                    color: x,
                    disabled: F,
                    className: Q
                } = m;
                return q("div", {
                    role: "menuitem",
                    class: [Ao("action", {
                        disabled: F,
                        "with-icon": y
                    }), {
                        [AR]: e.actionsDirection === "horizontal"
                    }, Q],
                    style: {
                        color: x
                    },
                    tabindex: F ? void 0 : 0,
                    "aria-disabled": F || void 0,
                    onClick: () => v(m, E)
                }, [C(m, E)])
            };
        return sn(() => {
            f(), hc(() => {
                var m;
                i.value = (m = o.value) == null ? void 0 : m.popupRef.value
            })
        }), $r(() => {
            A && (Ti && (window.removeEventListener("animationend", f), window.removeEventListener("transitionend", f)), A.destroy(), A = null)
        }), Xe(() => [a.value, e.offset, e.placement], f), Z9([s, i], B, {
            eventName: "touchstart"
        }), () => {
            var m;
            return q(an, null, [q("span", {
                ref: s,
                class: Ao("wrapper"),
                onClick: p
            }, [(m = n.reference) == null ? void 0 : m.call(n)]), q(hl, Jt({
                ref: o,
                show: a.value,
                class: Ao([e.theme]),
                position: "",
                transition: "van-popover-zoom",
                lockScroll: !1,
                "onUpdate:show": d
            }, r, m6(), un(e, GV)), {
                default: () => [e.showArrow && q("div", {
                    class: Ao("arrow")
                }, null), q("div", {
                    role: "menu",
                    class: Ao("content", e.actionsDirection)
                }, [n.default ? n.default() : e.actions.map(w)])]
            })])
        }
    }
});
const Vse = mt(WV),
    [zV, Ph] = at("progress"),
    YV = {
        color: String,
        inactive: Boolean,
        pivotText: String,
        textColor: String,
        showPivot: tt,
        pivotColor: String,
        trackColor: String,
        strokeWidth: rt,
        percentage: {
            type: rt,
            default: 0,
            validator: e => +e >= 0 && +e <= 100
        }
    };
var XV = nt({
    name: zV,
    props: YV,
    setup(e) {
        const t = De(() => e.inactive ? void 0 : e.color),
            n = () => {
                const {
                    textColor: r,
                    pivotText: A,
                    pivotColor: i,
                    percentage: s
                } = e, o = A ? ? `${s}%`;
                if (e.showPivot && o) {
                    const a = {
                        color: r,
                        left: `${+s}%`,
                        transform: `translate(-${+s}%,-50%)`,
                        background: i || t.value
                    };
                    return q("span", {
                        style: a,
                        class: Ph("pivot", {
                            inactive: e.inactive
                        })
                    }, [o])
                }
            };
        return () => {
            const {
                trackColor: r,
                percentage: A,
                strokeWidth: i
            } = e, s = {
                background: r,
                height: Ht(i)
            }, o = {
                width: `${A}%`,
                background: t.value
            };
            return q("div", {
                class: Ph(),
                style: s
            }, [q("span", {
                class: Ph("portion", {
                    inactive: e.inactive
                }),
                style: o
            }, null), n()])
        }
    }
});
const Gse = mt(XV),
    [JV, Ml, qV] = at("pull-refresh"),
    DC = 50,
    ZV = ["pulling", "loosing", "success"],
    eG = {
        disabled: Boolean,
        modelValue: Boolean,
        headHeight: Tt(DC),
        successText: String,
        pullingText: String,
        loosingText: String,
        loadingText: String,
        pullDistance: rt,
        successDuration: Tt(500),
        animationDuration: Tt(300)
    };
var tG = nt({
    name: JV,
    props: eG,
    emits: ["change", "refresh", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        let r;
        const A = Ie(),
            i = Ie(),
            s = wc(A),
            o = Zt({
                status: "normal",
                distance: 0,
                duration: 0
            }),
            a = dl(),
            l = () => {
                if (e.headHeight !== DC) return {
                    height: `${e.headHeight}px`
                }
            },
            u = () => o.status !== "loading" && o.status !== "success" && !e.disabled,
            f = y => {
                const x = +(e.pullDistance || e.headHeight);
                return y > x && (y < x * 2 ? y = x + (y - x) / 2 : y = x * 1.5 + (y - x * 2) / 4), Math.round(y)
            },
            d = (y, x) => {
                const F = +(e.pullDistance || e.headHeight);
                o.distance = y, x ? o.status = "loading" : y === 0 ? o.status = "normal" : y < F ? o.status = "pulling" : o.status = "loosing", t("change", {
                    status: o.status,
                    distance: y
                })
            },
            p = () => {
                const {
                    status: y
                } = o;
                return y === "normal" ? "" : e[`${y}Text`] || qV(y)
            },
            v = () => {
                const {
                    status: y,
                    distance: x
                } = o;
                if (n[y]) return n[y]({
                    distance: x
                });
                const F = [];
                return ZV.includes(y) && F.push(q("div", {
                    class: Ml("text")
                }, [p()])), y === "loading" && F.push(q(ki, {
                    class: Ml("loading")
                }, {
                    default: p
                })), F
            },
            B = () => {
                o.status = "success", setTimeout(() => {
                    d(0)
                }, +e.successDuration)
            },
            C = y => {
                r = yc(s.value) === 0, r && (o.duration = 0, a.start(y))
            },
            w = y => {
                u() && C(y)
            },
            m = y => {
                if (u()) {
                    r || C(y);
                    const {
                        deltaY: x
                    } = a;
                    a.move(y), r && x.value >= 0 && a.isVertical() && (_r(y), d(f(x.value)))
                }
            },
            E = () => {
                r && a.deltaY.value && u() && (o.duration = +e.animationDuration, o.status === "loosing" ? (d(+e.headHeight, !0), t("update:modelValue", !0), bt(() => t("refresh"))) : d(0))
            };
        return Xe(() => e.modelValue, y => {
            o.duration = +e.animationDuration, y ? d(+e.headHeight, !0) : n.success || e.successText ? B() : d(0, !1)
        }), Sr("touchmove", m, {
            target: i
        }), () => {
            var y;
            const x = {
                transitionDuration: `${o.duration}ms`,
                transform: o.distance ? `translate3d(0,${o.distance}px, 0)` : ""
            };
            return q("div", {
                ref: A,
                class: Ml()
            }, [q("div", {
                ref: i,
                class: Ml("track"),
                style: x,
                onTouchstartPassive: w,
                onTouchend: E,
                onTouchcancel: E
            }, [q("div", {
                class: Ml("head"),
                style: l()
            }, [v()]), (y = n.default) == null ? void 0 : y.call(n)])])
        }
    }
});
const jse = mt(tG),
    Wse = mt(eK),
    [LC, nG] = at("sidebar"),
    kC = Symbol(LC),
    rG = {
        modelValue: Tt(0)
    };
var AG = nt({
    name: LC,
    props: rG,
    emits: ["change", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const {
            linkChildren: r
        } = jA(kC), A = () => +e.modelValue;
        return r({
            getActive: A,
            setActive: s => {
                s !== A() && (t("update:modelValue", s), t("change", s))
            }
        }), () => {
            var s;
            return q("div", {
                role: "tablist",
                class: nG()
            }, [(s = n.default) == null ? void 0 : s.call(n)])
        }
    }
});
const zse = mt(AG),
    [iG, c8] = at("sidebar-item"),
    sG = Et({}, fl, {
        dot: Boolean,
        title: String,
        badge: rt,
        disabled: Boolean,
        badgeProps: Object
    });
var oG = nt({
    name: iG,
    props: sG,
    emits: ["click"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = bc(),
            {
                parent: A,
                index: i
            } = Kr(kC);
        if (!A) {
            console.error("[Vant] <SidebarItem> must be a child component of <Sidebar>.");
            return
        }
        const s = () => {
            e.disabled || (t("click", i.value), A.setActive(i.value), r())
        };
        return () => {
            const {
                dot: o,
                badge: a,
                title: l,
                disabled: u
            } = e, f = i.value === A.getActive();
            return q("div", {
                role: "tab",
                class: c8({
                    select: f,
                    disabled: u
                }),
                tabindex: u ? void 0 : 0,
                "aria-selected": f,
                onClick: s
            }, [q(S1, Jt({
                dot: o,
                class: c8("text"),
                content: a
            }, e.badgeProps), {
                default: () => [n.title ? n.title() : l]
            })])
        }
    }
});
const Yse = mt(oG),
    [aG, lG] = at("skeleton-title"),
    uG = {
        round: Boolean,
        titleWidth: rt
    };
var cG = nt({
    name: aG,
    props: uG,
    setup(e) {
        return () => q("h3", {
            class: lG([{
                round: e.round
            }]),
            style: {
                width: Ht(e.titleWidth)
            }
        }, null)
    }
});
const fG = mt(cG);
var dG = fG;
const [hG, pG] = at("skeleton-avatar"), gG = {
    avatarSize: rt,
    avatarShape: ct("round")
};
var vG = nt({
    name: hG,
    props: gG,
    setup(e) {
        return () => q("div", {
            class: pG([e.avatarShape]),
            style: cl(e.avatarSize)
        }, null)
    }
});
const mG = mt(vG);
var BG = mG;
const h5 = "100%",
    wG = {
        round: Boolean,
        rowWidth: {
            type: rt,
            default: h5
        }
    },
    [yG, CG] = at("skeleton-paragraph");
var EG = nt({
    name: yG,
    props: wG,
    setup(e) {
        return () => q("div", {
            class: CG([{
                round: e.round
            }]),
            style: {
                width: e.rowWidth
            }
        }, null)
    }
});
const bG = mt(EG);
var xG = bG;
const [_G, f8] = at("skeleton"), FG = "60%", SG = {
    row: Tt(0),
    round: Boolean,
    title: Boolean,
    titleWidth: rt,
    avatar: Boolean,
    avatarSize: rt,
    avatarShape: ct("round"),
    loading: tt,
    animate: tt,
    rowWidth: {
        type: [Number, String, Array],
        default: h5
    }
};
var TG = nt({
    name: _G,
    inheritAttrs: !1,
    props: SG,
    setup(e, {
        slots: t,
        attrs: n
    }) {
        const r = () => {
                if (e.avatar) return q(BG, {
                    avatarShape: e.avatarShape,
                    avatarSize: e.avatarSize
                }, null)
            },
            A = () => {
                if (e.title) return q(dG, {
                    round: e.round,
                    titleWidth: e.titleWidth
                }, null)
            },
            i = a => {
                const {
                    rowWidth: l
                } = e;
                return l === h5 && a === +e.row - 1 ? FG : Array.isArray(l) ? l[a] : l
            },
            s = () => Array(+e.row).fill("").map((a, l) => q(xG, {
                key: l,
                round: e.round,
                rowWidth: Ht(i(l))
            }, null)),
            o = () => t.template ? t.template() : q(an, null, [r(), q("div", {
                class: f8("content")
            }, [A(), s()])]);
        return () => {
            var a;
            return e.loading ? q("div", Jt({
                class: f8({
                    animate: e.animate,
                    round: e.round
                })
            }, n), [o()]) : (a = t.default) == null ? void 0 : a.call(t)
        }
    }
});
const Xse = mt(TG),
    [IG, Rl] = at("slider"),
    QG = {
        min: Tt(0),
        max: Tt(100),
        step: Tt(1),
        range: Boolean,
        reverse: Boolean,
        disabled: Boolean,
        readonly: Boolean,
        vertical: Boolean,
        barHeight: rt,
        buttonSize: rt,
        activeColor: String,
        inactiveColor: String,
        modelValue: {
            type: [Number, Array],
            default: 0
        }
    };
var UG = nt({
    name: IG,
    props: QG,
    emits: ["change", "dragEnd", "dragStart", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        let r, A, i;
        const s = Ie(),
            o = [Ie(), Ie()],
            a = Ie(),
            l = dl(),
            u = De(() => Number(e.max) - Number(e.min)),
            f = De(() => {
                const _ = e.vertical ? "width" : "height";
                return {
                    background: e.inactiveColor,
                    [_]: Ht(e.barHeight)
                }
            }),
            d = _ => e.range && Array.isArray(_),
            p = () => {
                const {
                    modelValue: _,
                    min: D
                } = e;
                return d(_) ? `${(_[1]-_[0])*100/u.value}%` : `${(_-Number(D))*100/u.value}%`
            },
            v = () => {
                const {
                    modelValue: _,
                    min: D
                } = e;
                return d(_) ? `${(_[0]-Number(D))*100/u.value}%` : "0%"
            },
            B = De(() => {
                const D = {
                    [e.vertical ? "height" : "width"]: p(),
                    background: e.activeColor
                };
                a.value && (D.transition = "none");
                const N = () => e.vertical ? e.reverse ? "bottom" : "top" : e.reverse ? "right" : "left";
                return D[N()] = v(), D
            }),
            C = _ => {
                const D = +e.min,
                    N = +e.max,
                    X = +e.step;
                _ = lr(_, D, N);
                const se = Math.round((_ - D) / X) * X;
                return YM(D, se)
            },
            w = () => {
                const _ = e.modelValue;
                d(_) ? i = _.map(C) : i = C(_)
            },
            m = _ => {
                var D, N;
                const X = (D = _[0]) != null ? D : Number(e.min),
                    se = (N = _[1]) != null ? N : Number(e.max);
                return X > se ? [se, X] : [X, se]
            },
            E = (_, D) => {
                d(_) ? _ = m(_).map(C) : _ = C(_), _s(_, e.modelValue) || t("update:modelValue", _), D && !_s(_, i) && t("change", _)
            },
            y = _ => {
                if (_.stopPropagation(), e.disabled || e.readonly) return;
                w();
                const {
                    min: D,
                    reverse: N,
                    vertical: X,
                    modelValue: se
                } = e, Z = Nn(s), ce = () => X ? N ? Z.bottom - _.clientY : _.clientY - Z.top : N ? Z.right - _.clientX : _.clientX - Z.left, W = X ? Z.height : Z.width, he = Number(D) + ce() / W * u.value;
                if (d(se)) {
                    const [Se, V] = se, ie = (Se + V) / 2;
                    he <= ie ? E([he, V], !0) : E([Se, he], !0)
                } else E(he, !0)
            },
            x = _ => {
                e.disabled || e.readonly || (l.start(_), A = e.modelValue, w(), a.value = "start")
            },
            F = _ => {
                if (e.disabled || e.readonly) return;
                a.value === "start" && t("dragStart", _), _r(_, !0), l.move(_), a.value = "dragging";
                const D = Nn(s),
                    N = e.vertical ? l.deltaY.value : l.deltaX.value,
                    X = e.vertical ? D.height : D.width;
                let se = N / X * u.value;
                if (e.reverse && (se = -se), d(i)) {
                    const Z = e.reverse ? 1 - r : r;
                    A[Z] = i[Z] + se
                } else A = i + se;
                E(A)
            },
            Q = _ => {
                e.disabled || e.readonly || (a.value === "dragging" && (E(A, !0), t("dragEnd", _)), a.value = "")
            },
            P = _ => typeof _ == "number" ? Rl("button-wrapper", ["left", "right"][_]) : Rl("button-wrapper", e.reverse ? "left" : "right"),
            L = (_, D) => {
                const N = a.value === "dragging";
                if (typeof D == "number") {
                    const X = n[D === 0 ? "left-button" : "right-button"];
                    let se;
                    if (N && Array.isArray(A) && (se = A[0] > A[1] ? r ^ 1 : r), X) return X({
                        value: _,
                        dragging: N,
                        dragIndex: se
                    })
                }
                return n.button ? n.button({
                    value: _,
                    dragging: N
                }) : q("div", {
                    class: Rl("button"),
                    style: cl(e.buttonSize)
                }, null)
            },
            I = _ => {
                const D = typeof _ == "number" ? e.modelValue[_] : e.modelValue;
                return q("div", {
                    ref: o[_ ? ? 0],
                    role: "slider",
                    class: P(_),
                    tabindex: e.disabled ? void 0 : 0,
                    "aria-valuemin": e.min,
                    "aria-valuenow": D,
                    "aria-valuemax": e.max,
                    "aria-disabled": e.disabled || void 0,
                    "aria-readonly": e.readonly || void 0,
                    "aria-orientation": e.vertical ? "vertical" : "horizontal",
                    onTouchstartPassive: N => {
                        typeof _ == "number" && (r = _), x(N)
                    },
                    onTouchend: Q,
                    onTouchcancel: Q,
                    onClick: Ly
                }, [L(D, _)])
            };
        return E(e.modelValue), ll(() => e.modelValue), o.forEach(_ => {
            Sr("touchmove", F, {
                target: _
            })
        }), () => q("div", {
            ref: s,
            style: f.value,
            class: Rl({
                vertical: e.vertical,
                disabled: e.disabled
            }),
            onClick: y
        }, [q("div", {
            class: Rl("bar"),
            style: B.value
        }, [e.range ? [I(0), I(1)] : I()])])
    }
});
const Jse = mt(UG),
    [PG, In, OG] = at("uploader");

function d8(e, t) {
    return new Promise(n => {
        if (t === "file") {
            n();
            return
        }
        const r = new FileReader;
        r.onload = A => {
            n(A.target.result)
        }, t === "dataUrl" ? r.readAsDataURL(e) : t === "text" && r.readAsText(e)
    })
}

function HC(e, t) {
    return Cf(e).some(n => n.file ? $a(t) ? t(n.file) : n.file.size > +t : !1)
}

function DG(e, t) {
    const n = [],
        r = [];
    return e.forEach(A => {
        HC(A, t) ? r.push(A) : n.push(A)
    }), {
        valid: n,
        invalid: r
    }
}
const LG = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg|avif)/i,
    kG = e => LG.test(e);

function MC(e) {
    return e.isImage ? !0 : e.file && e.file.type ? e.file.type.indexOf("image") === 0 : e.url ? kG(e.url) : typeof e.content == "string" ? e.content.indexOf("data:image") === 0 : !1
}
var HG = nt({
    props: {
        name: rt,
        item: cr(Object),
        index: Number,
        imageFit: String,
        lazyLoad: Boolean,
        deletable: Boolean,
        reupload: Boolean,
        previewSize: [Number, String, Array],
        beforeDelete: Function
    },
    emits: ["delete", "preview", "reupload"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = () => {
                const {
                    status: u,
                    message: f
                } = e.item;
                if (u === "uploading" || u === "failed") {
                    const d = u === "failed" ? q(Bn, {
                            name: "close",
                            class: In("mask-icon")
                        }, null) : q(ki, {
                            class: In("loading")
                        }, null),
                        p = rn(f) && f !== "";
                    return q("div", {
                        class: In("mask")
                    }, [d, p && q("div", {
                        class: In("mask-message")
                    }, [f])])
                }
            },
            A = u => {
                const {
                    name: f,
                    item: d,
                    index: p,
                    beforeDelete: v
                } = e;
                u.stopPropagation(), Ec(v, {
                    args: [d, {
                        name: f,
                        index: p
                    }],
                    done: () => t("delete")
                })
            },
            i = () => t("preview"),
            s = () => t("reupload"),
            o = () => {
                if (e.deletable && e.item.status !== "uploading") {
                    const u = n["preview-delete"];
                    return q("div", {
                        role: "button",
                        class: In("preview-delete", {
                            shadow: !u
                        }),
                        tabindex: 0,
                        "aria-label": OG("delete"),
                        onClick: A
                    }, [u ? u() : q(Bn, {
                        name: "cross",
                        class: In("preview-delete-icon")
                    }, null)])
                }
            },
            a = () => {
                if (n["preview-cover"]) {
                    const {
                        index: u,
                        item: f
                    } = e;
                    return q("div", {
                        class: In("preview-cover")
                    }, [n["preview-cover"](Et({
                        index: u
                    }, f))])
                }
            },
            l = () => {
                const {
                    item: u,
                    lazyLoad: f,
                    imageFit: d,
                    previewSize: p,
                    reupload: v
                } = e;
                return MC(u) ? q(BC, {
                    fit: d,
                    src: u.objectUrl || u.content || u.url,
                    class: In("preview-image"),
                    width: Array.isArray(p) ? p[0] : p,
                    height: Array.isArray(p) ? p[1] : p,
                    lazyLoad: f,
                    onClick: v ? s : i
                }, {
                    default: a
                }) : q("div", {
                    class: In("file"),
                    style: cl(e.previewSize)
                }, [q(Bn, {
                    class: In("file-icon"),
                    name: "description"
                }, null), q("div", {
                    class: [In("file-name"), "van-ellipsis"]
                }, [u.file ? u.file.name : u.url]), a()])
            };
        return () => q("div", {
            class: In("preview")
        }, [l(), r(), o()])
    }
});
const MG = {
    name: Tt(""),
    accept: ct("image/*"),
    capture: String,
    multiple: Boolean,
    disabled: Boolean,
    readonly: Boolean,
    lazyLoad: Boolean,
    maxCount: Tt(1 / 0),
    imageFit: ct("cover"),
    resultType: ct("dataUrl"),
    uploadIcon: ct("photograph"),
    uploadText: String,
    deletable: tt,
    reupload: Boolean,
    afterRead: Function,
    showUpload: tt,
    modelValue: Ii(),
    beforeRead: Function,
    beforeDelete: Function,
    previewSize: [Number, String, Array],
    previewImage: tt,
    previewOptions: Object,
    previewFullImage: tt,
    maxSize: {
        type: [Number, String, Function],
        default: 1 / 0
    }
};
var RG = nt({
    name: PG,
    props: MG,
    emits: ["delete", "oversize", "clickUpload", "closePreview", "clickPreview", "clickReupload", "update:modelValue"],
    setup(e, {
        emit: t,
        slots: n
    }) {
        const r = Ie(),
            A = [],
            i = Ie(-1),
            s = Ie(!1),
            o = (P = e.modelValue.length) => ({
                name: e.name,
                index: P
            }),
            a = () => {
                r.value && (r.value.value = "")
            },
            l = P => {
                if (a(), HC(P, e.maxSize))
                    if (Array.isArray(P)) {
                        const L = DG(P, e.maxSize);
                        if (P = L.valid, t("oversize", L.invalid, o()), !P.length) return
                    } else {
                        t("oversize", P, o());
                        return
                    }
                if (P = Zt(P), i.value > -1) {
                    const L = [...e.modelValue];
                    L.splice(i.value, 1, P), t("update:modelValue", L), i.value = -1
                } else t("update:modelValue", [...e.modelValue, ...Cf(P)]);
                e.afterRead && e.afterRead(P, o())
            },
            u = P => {
                const {
                    maxCount: L,
                    modelValue: I,
                    resultType: _
                } = e;
                if (Array.isArray(P)) {
                    const D = +L - I.length;
                    P.length > D && (P = P.slice(0, D)), Promise.all(P.map(N => d8(N, _))).then(N => {
                        const X = P.map((se, Z) => {
                            const ce = {
                                file: se,
                                status: "",
                                message: "",
                                objectUrl: URL.createObjectURL(se)
                            };
                            return N[Z] && (ce.content = N[Z]), ce
                        });
                        l(X)
                    })
                } else d8(P, _).then(D => {
                    const N = {
                        file: P,
                        status: "",
                        message: "",
                        objectUrl: URL.createObjectURL(P)
                    };
                    D && (N.content = D), l(N)
                })
            },
            f = P => {
                const {
                    files: L
                } = P.target;
                if (e.disabled || !L || !L.length) return;
                const I = L.length === 1 ? L[0] : [].slice.call(L);
                if (e.beforeRead) {
                    const _ = e.beforeRead(I, o());
                    if (!_) {
                        a();
                        return
                    }
                    if (Xg(_)) {
                        _.then(D => {
                            u(D || I)
                        }).catch(a);
                        return
                    }
                }
                u(I)
            };
        let d;
        const p = () => t("closePreview"),
            v = P => {
                if (e.previewFullImage) {
                    const L = e.modelValue.filter(MC),
                        I = L.map(_ => (_.objectUrl && !_.url && _.status !== "failed" && (_.url = _.objectUrl, A.push(_.url)), _.url)).filter(Boolean);
                    d = jK(Et({
                        images: I,
                        startPosition: L.indexOf(P),
                        onClose: p
                    }, e.previewOptions))
                }
            },
            B = () => {
                d && d.close()
            },
            C = (P, L) => {
                const I = e.modelValue.slice(0);
                I.splice(L, 1), t("update:modelValue", I), t("delete", P, o(L))
            },
            w = P => {
                s.value = !0, i.value = P, bt(() => Q())
            },
            m = () => {
                s.value || (i.value = -1), s.value = !1
            },
            E = (P, L) => {
                const I = ["imageFit", "deletable", "reupload", "previewSize", "beforeDelete"],
                    _ = Et(un(e, I), un(P, I, !0));
                return q(HG, Jt({
                    item: P,
                    index: L,
                    onClick: () => t(e.reupload ? "clickReupload" : "clickPreview", P, o(L)),
                    onDelete: () => C(P, L),
                    onPreview: () => v(P),
                    onReupload: () => w(L)
                }, un(e, ["name", "lazyLoad"]), _), un(n, ["preview-cover", "preview-delete"]))
            },
            y = () => {
                if (e.previewImage) return e.modelValue.map(E)
            },
            x = P => t("clickUpload", P),
            F = () => {
                if (e.modelValue.length >= +e.maxCount && !e.reupload) return;
                const P = e.modelValue.length >= +e.maxCount && e.reupload,
                    L = e.readonly ? null : q("input", {
                        ref: r,
                        type: "file",
                        class: In("input"),
                        accept: e.accept,
                        capture: e.capture,
                        multiple: e.multiple && i.value === -1,
                        disabled: e.disabled,
                        onChange: f,
                        onClick: m
                    }, null);
                return n.default ? Is(q("div", {
                    class: In("input-wrapper"),
                    onClick: x
                }, [n.default(), L]), [
                    [Os, !P]
                ]) : Is(q("div", {
                    class: In("upload", {
                        readonly: e.readonly
                    }),
                    style: cl(e.previewSize),
                    onClick: x
                }, [q(Bn, {
                    name: e.uploadIcon,
                    class: In("upload-icon")
                }, null), e.uploadText && q("span", {
                    class: In("upload-text")
                }, [e.uploadText]), L]), [
                    [Os, e.showUpload && !P]
                ])
            },
            Q = () => {
                r.value && !e.disabled && r.value.click()
            };
        return $r(() => {
            A.forEach(P => URL.revokeObjectURL(P))
        }), fn({
            chooseFile: Q,
            closeImagePreview: B
        }), ll(() => e.modelValue), () => q("div", {
            class: In()
        }, [q("div", {
            class: In("wrapper", {
                disabled: e.disabled
            })
        }, [y(), F()])])
    }
});
const qse = mt(RG);
/*!
 * shared v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const VA = typeof window < "u";
let kr, Oo; {
    const e = VA && window.performance;
    e && e.mark && e.measure && e.clearMarks && e.clearMeasures && (kr = t => e.mark(t), Oo = (t, n, r) => {
        e.measure(t, n, r), e.clearMarks(n), e.clearMarks(r)
    })
}
const NG = /\{([0-9a-zA-Z]+)\}/g;

function O1(e, ...t) {
    return t.length === 1 && Vt(t[0]) && (t = t[0]), (!t || !t.hasOwnProperty) && (t = {}), e.replace(NG, (n, r) => t.hasOwnProperty(r) ? t[r] : "")
}
const $G = typeof Symbol == "function" && typeof Symbol.toStringTag == "symbol",
    WA = e => $G ? Symbol(e) : e,
    KG = (e, t, n) => VG({
        l: e,
        k: t,
        s: n
    }),
    VG = e => JSON.stringify(e).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"),
    Un = e => typeof e == "number" && isFinite(e),
    GG = e => g5(e) === "[object Date]",
    Ds = e => g5(e) === "[object RegExp]",
    D1 = e => wt(e) && Object.keys(e).length === 0;

function Er(e, t) {
    typeof console < "u" && (console.warn("[intlify] " + e), t && console.warn(t.stack))
}
const $n = Object.assign;
let h8;
const wu = () => h8 || (h8 = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {});

function p8(e) {
    return e.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;")
}
const jG = Object.prototype.hasOwnProperty;

function p5(e, t) {
    return jG.call(e, t)
}
const Yt = Array.isArray,
    ln = e => typeof e == "function",
    ze = e => typeof e == "string",
    Ft = e => typeof e == "boolean",
    Vt = e => e !== null && typeof e == "object",
    RC = Object.prototype.toString,
    g5 = e => RC.call(e),
    wt = e => g5(e) === "[object Object]",
    WG = e => e == null ? "" : Yt(e) || wt(e) && e.toString === RC ? JSON.stringify(e, null, 2) : String(e),
    g8 = 2;

function zG(e, t = 0, n = e.length) {
    const r = e.split(/\r?\n/);
    let A = 0;
    const i = [];
    for (let s = 0; s < r.length; s++)
        if (A += r[s].length + 1, A >= t) {
            for (let o = s - g8; o <= s + g8 || n > A; o++) {
                if (o < 0 || o >= r.length) continue;
                const a = o + 1;
                i.push(`${a}${" ".repeat(3-String(a).length)}|  ${r[o]}`);
                const l = r[o].length;
                if (o === s) {
                    const u = t - (A - l) + 1,
                        f = Math.max(1, n > A ? l - u : n - t);
                    i.push("   |  " + " ".repeat(u) + "^".repeat(f))
                } else if (o > s) {
                    if (n > A) {
                        const u = Math.max(Math.min(n - A, l), 1);
                        i.push("   |  " + "^".repeat(u))
                    }
                    A += l + 1
                }
            }
            break
        }
    return i.join(`
`)
}

function v5() {
    const e = new Map;
    return {
        events: e,
        on(n, r) {
            const A = e.get(n);
            A && A.push(r) || e.set(n, [r])
        },
        off(n, r) {
            const A = e.get(n);
            A && A.splice(A.indexOf(r) >>> 0, 1)
        },
        emit(n, r) {
            (e.get(n) || []).slice().map(A => A(r)), (e.get("*") || []).slice().map(A => A(n, r))
        }
    }
}
/*!
 * message-compiler v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const Bt = {
        EXPECTED_TOKEN: 1,
        INVALID_TOKEN_IN_PLACEHOLDER: 2,
        UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,
        UNKNOWN_ESCAPE_SEQUENCE: 4,
        INVALID_UNICODE_ESCAPE_SEQUENCE: 5,
        UNBALANCED_CLOSING_BRACE: 6,
        UNTERMINATED_CLOSING_BRACE: 7,
        EMPTY_PLACEHOLDER: 8,
        NOT_ALLOW_NEST_PLACEHOLDER: 9,
        INVALID_LINKED_FORMAT: 10,
        MUST_HAVE_MESSAGES_IN_PLURAL: 11,
        UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,
        UNEXPECTED_EMPTY_LINKED_KEY: 13,
        UNEXPECTED_LEXICAL_ANALYSIS: 14,
        __EXTEND_POINT__: 15
    },
    YG = {
        [Bt.EXPECTED_TOKEN]: "Expected token: '{0}'",
        [Bt.INVALID_TOKEN_IN_PLACEHOLDER]: "Invalid token in placeholder: '{0}'",
        [Bt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: "Unterminated single quote in placeholder",
        [Bt.UNKNOWN_ESCAPE_SEQUENCE]: "Unknown escape sequence: \\{0}",
        [Bt.INVALID_UNICODE_ESCAPE_SEQUENCE]: "Invalid unicode escape sequence: {0}",
        [Bt.UNBALANCED_CLOSING_BRACE]: "Unbalanced closing brace",
        [Bt.UNTERMINATED_CLOSING_BRACE]: "Unterminated closing brace",
        [Bt.EMPTY_PLACEHOLDER]: "Empty placeholder",
        [Bt.NOT_ALLOW_NEST_PLACEHOLDER]: "Not allowed nest placeholder",
        [Bt.INVALID_LINKED_FORMAT]: "Invalid linked format",
        [Bt.MUST_HAVE_MESSAGES_IN_PLURAL]: "Plural must have messages",
        [Bt.UNEXPECTED_EMPTY_LINKED_MODIFIER]: "Unexpected empty linked modifier",
        [Bt.UNEXPECTED_EMPTY_LINKED_KEY]: "Unexpected empty linked key",
        [Bt.UNEXPECTED_LEXICAL_ANALYSIS]: "Unexpected lexical analysis in token: '{0}'"
    };

function L1(e, t, n = {}) {
    const {
        domain: r,
        messages: A,
        args: i
    } = n, s = O1((A || YG)[e] || "", ...i || []), o = new SyntaxError(String(s));
    return o.code = e, t && (o.location = t), o.domain = r, o
}

function XG(e) {
    throw e
}

function JG(e, t, n) {
    return {
        line: e,
        column: t,
        offset: n
    }
}

function F6(e, t, n) {
    const r = {
        start: e,
        end: t
    };
    return n != null && (r.source = n), r
}
const oi = " ",
    qG = "\r",
    sr = `
`,
    ZG = String.fromCharCode(8232),
    ej = String.fromCharCode(8233);

function tj(e) {
    const t = e;
    let n = 0,
        r = 1,
        A = 1,
        i = 0;
    const s = Q => t[Q] === qG && t[Q + 1] === sr,
        o = Q => t[Q] === sr,
        a = Q => t[Q] === ej,
        l = Q => t[Q] === ZG,
        u = Q => s(Q) || o(Q) || a(Q) || l(Q),
        f = () => n,
        d = () => r,
        p = () => A,
        v = () => i,
        B = Q => s(Q) || a(Q) || l(Q) ? sr : t[Q],
        C = () => B(n),
        w = () => B(n + i);

    function m() {
        return i = 0, u(n) && (r++, A = 0), s(n) && n++, n++, A++, t[n]
    }

    function E() {
        return s(n + i) && i++, i++, t[n + i]
    }

    function y() {
        n = 0, r = 1, A = 1, i = 0
    }

    function x(Q = 0) {
        i = Q
    }

    function F() {
        const Q = n + i;
        for (; Q !== n;) m();
        i = 0
    }
    return {
        index: f,
        line: d,
        column: p,
        peekOffset: v,
        charAt: B,
        currentChar: C,
        currentPeek: w,
        next: m,
        peek: E,
        reset: y,
        resetPeek: x,
        skipToPeek: F
    }
}
const es = void 0,
    v8 = "'",
    nj = "tokenizer";

function rj(e, t = {}) {
    const n = t.location !== !1,
        r = tj(e),
        A = () => r.index(),
        i = () => JG(r.line(), r.column(), r.index()),
        s = i(),
        o = A(),
        a = {
            currentType: 14,
            offset: o,
            startLoc: s,
            endLoc: s,
            lastType: 14,
            lastOffset: o,
            lastStartLoc: s,
            lastEndLoc: s,
            braceNest: 0,
            inLinked: !1,
            text: ""
        },
        l = () => a,
        {
            onError: u
        } = t;

    function f(U, O, Y, ...we) {
        const Te = l();
        if (O.column += Y, O.offset += Y, u) {
            const Oe = F6(Te.startLoc, O),
                Ke = L1(U, Oe, {
                    domain: nj,
                    args: we
                });
            u(Ke)
        }
    }

    function d(U, O, Y) {
        U.endLoc = i(), U.currentType = O;
        const we = {
            type: O
        };
        return n && (we.loc = F6(U.startLoc, U.endLoc)), Y != null && (we.value = Y), we
    }
    const p = U => d(U, 14);

    function v(U, O) {
        return U.currentChar() === O ? (U.next(), O) : (f(Bt.EXPECTED_TOKEN, i(), 0, O), "")
    }

    function B(U) {
        let O = "";
        for (; U.currentPeek() === oi || U.currentPeek() === sr;) O += U.currentPeek(), U.peek();
        return O
    }

    function C(U) {
        const O = B(U);
        return U.skipToPeek(), O
    }

    function w(U) {
        if (U === es) return !1;
        const O = U.charCodeAt(0);
        return O >= 97 && O <= 122 || O >= 65 && O <= 90 || O === 95
    }

    function m(U) {
        if (U === es) return !1;
        const O = U.charCodeAt(0);
        return O >= 48 && O <= 57
    }

    function E(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 2) return !1;
        B(U);
        const we = w(U.currentPeek());
        return U.resetPeek(), we
    }

    function y(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 2) return !1;
        B(U);
        const we = U.currentPeek() === "-" ? U.peek() : U.currentPeek(),
            Te = m(we);
        return U.resetPeek(), Te
    }

    function x(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 2) return !1;
        B(U);
        const we = U.currentPeek() === v8;
        return U.resetPeek(), we
    }

    function F(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 8) return !1;
        B(U);
        const we = U.currentPeek() === ".";
        return U.resetPeek(), we
    }

    function Q(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 9) return !1;
        B(U);
        const we = w(U.currentPeek());
        return U.resetPeek(), we
    }

    function P(U, O) {
        const {
            currentType: Y
        } = O;
        if (!(Y === 8 || Y === 12)) return !1;
        B(U);
        const we = U.currentPeek() === ":";
        return U.resetPeek(), we
    }

    function L(U, O) {
        const {
            currentType: Y
        } = O;
        if (Y !== 10) return !1;
        const we = () => {
                const Oe = U.currentPeek();
                return Oe === "{" ? w(U.peek()) : Oe === "@" || Oe === "%" || Oe === "|" || Oe === ":" || Oe === "." || Oe === oi || !Oe ? !1 : Oe === sr ? (U.peek(), we()) : w(Oe)
            },
            Te = we();
        return U.resetPeek(), Te
    }

    function I(U) {
        B(U);
        const O = U.currentPeek() === "|";
        return U.resetPeek(), O
    }

    function _(U) {
        const O = B(U),
            Y = U.currentPeek() === "%" && U.peek() === "{";
        return U.resetPeek(), {
            isModulo: Y,
            hasSpace: O.length > 0
        }
    }

    function D(U, O = !0) {
        const Y = (Te = !1, Oe = "", Ke = !1) => {
                const He = U.currentPeek();
                return He === "{" ? Oe === "%" ? !1 : Te : He === "@" || !He ? Oe === "%" ? !0 : Te : He === "%" ? (U.peek(), Y(Te, "%", !0)) : He === "|" ? Oe === "%" || Ke ? !0 : !(Oe === oi || Oe === sr) : He === oi ? (U.peek(), Y(!0, oi, Ke)) : He === sr ? (U.peek(), Y(!0, sr, Ke)) : !0
            },
            we = Y();
        return O && U.resetPeek(), we
    }

    function N(U, O) {
        const Y = U.currentChar();
        return Y === es ? es : O(Y) ? (U.next(), Y) : null
    }

    function X(U) {
        return N(U, Y => {
            const we = Y.charCodeAt(0);
            return we >= 97 && we <= 122 || we >= 65 && we <= 90 || we >= 48 && we <= 57 || we === 95 || we === 36
        })
    }

    function se(U) {
        return N(U, Y => {
            const we = Y.charCodeAt(0);
            return we >= 48 && we <= 57
        })
    }

    function Z(U) {
        return N(U, Y => {
            const we = Y.charCodeAt(0);
            return we >= 48 && we <= 57 || we >= 65 && we <= 70 || we >= 97 && we <= 102
        })
    }

    function ce(U) {
        let O = "",
            Y = "";
        for (; O = se(U);) Y += O;
        return Y
    }

    function W(U) {
        C(U);
        const O = U.currentChar();
        return O !== "%" && f(Bt.EXPECTED_TOKEN, i(), 0, O), U.next(), "%"
    }

    function he(U) {
        let O = "";
        for (;;) {
            const Y = U.currentChar();
            if (Y === "{" || Y === "}" || Y === "@" || Y === "|" || !Y) break;
            if (Y === "%")
                if (D(U)) O += Y, U.next();
                else break;
            else if (Y === oi || Y === sr)
                if (D(U)) O += Y, U.next();
                else {
                    if (I(U)) break;
                    O += Y, U.next()
                }
            else O += Y, U.next()
        }
        return O
    }

    function Se(U) {
        C(U);
        let O = "",
            Y = "";
        for (; O = X(U);) Y += O;
        return U.currentChar() === es && f(Bt.UNTERMINATED_CLOSING_BRACE, i(), 0), Y
    }

    function V(U) {
        C(U);
        let O = "";
        return U.currentChar() === "-" ? (U.next(), O += `-${ce(U)}`) : O += ce(U), U.currentChar() === es && f(Bt.UNTERMINATED_CLOSING_BRACE, i(), 0), O
    }

    function ie(U) {
        C(U), v(U, "'");
        let O = "",
            Y = "";
        const we = Oe => Oe !== v8 && Oe !== sr;
        for (; O = N(U, we);) O === "\\" ? Y += ue(U) : Y += O;
        const Te = U.currentChar();
        return Te === sr || Te === es ? (f(Bt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, i(), 0), Te === sr && (U.next(), v(U, "'")), Y) : (v(U, "'"), Y)
    }

    function ue(U) {
        const O = U.currentChar();
        switch (O) {
            case "\\":
            case "'":
                return U.next(), `\\${O}`;
            case "u":
                return pe(U, O, 4);
            case "U":
                return pe(U, O, 6);
            default:
                return f(Bt.UNKNOWN_ESCAPE_SEQUENCE, i(), 0, O), ""
        }
    }

    function pe(U, O, Y) {
        v(U, O);
        let we = "";
        for (let Te = 0; Te < Y; Te++) {
            const Oe = Z(U);
            if (!Oe) {
                f(Bt.INVALID_UNICODE_ESCAPE_SEQUENCE, i(), 0, `\\${O}${we}${U.currentChar()}`);
                break
            }
            we += Oe
        }
        return `\\${O}${we}`
    }

    function ee(U) {
        C(U);
        let O = "",
            Y = "";
        const we = Te => Te !== "{" && Te !== "}" && Te !== oi && Te !== sr;
        for (; O = N(U, we);) Y += O;
        return Y
    }

    function ye(U) {
        let O = "",
            Y = "";
        for (; O = X(U);) Y += O;
        return Y
    }

    function te(U) {
        const O = (Y = !1, we) => {
            const Te = U.currentChar();
            return Te === "{" || Te === "%" || Te === "@" || Te === "|" || !Te || Te === oi ? we : Te === sr ? (we += Te, U.next(), O(Y, we)) : (we += Te, U.next(), O(!0, we))
        };
        return O(!1, "")
    }

    function Be(U) {
        C(U);
        const O = v(U, "|");
        return C(U), O
    }

    function Qe(U, O) {
        let Y = null;
        switch (U.currentChar()) {
            case "{":
                return O.braceNest >= 1 && f(Bt.NOT_ALLOW_NEST_PLACEHOLDER, i(), 0), U.next(), Y = d(O, 2, "{"), C(U), O.braceNest++, Y;
            case "}":
                return O.braceNest > 0 && O.currentType === 2 && f(Bt.EMPTY_PLACEHOLDER, i(), 0), U.next(), Y = d(O, 3, "}"), O.braceNest--, O.braceNest > 0 && C(U), O.inLinked && O.braceNest === 0 && (O.inLinked = !1), Y;
            case "@":
                return O.braceNest > 0 && f(Bt.UNTERMINATED_CLOSING_BRACE, i(), 0), Y = $e(U, O) || p(O), O.braceNest = 0, Y;
            default:
                let Te = !0,
                    Oe = !0,
                    Ke = !0;
                if (I(U)) return O.braceNest > 0 && f(Bt.UNTERMINATED_CLOSING_BRACE, i(), 0), Y = d(O, 1, Be(U)), O.braceNest = 0, O.inLinked = !1, Y;
                if (O.braceNest > 0 && (O.currentType === 5 || O.currentType === 6 || O.currentType === 7)) return f(Bt.UNTERMINATED_CLOSING_BRACE, i(), 0), O.braceNest = 0, Ue(U, O);
                if (Te = E(U, O)) return Y = d(O, 5, Se(U)), C(U), Y;
                if (Oe = y(U, O)) return Y = d(O, 6, V(U)), C(U), Y;
                if (Ke = x(U, O)) return Y = d(O, 7, ie(U)), C(U), Y;
                if (!Te && !Oe && !Ke) return Y = d(O, 13, ee(U)), f(Bt.INVALID_TOKEN_IN_PLACEHOLDER, i(), 0, Y.value), C(U), Y;
                break
        }
        return Y
    }

    function $e(U, O) {
        const {
            currentType: Y
        } = O;
        let we = null;
        const Te = U.currentChar();
        switch ((Y === 8 || Y === 9 || Y === 12 || Y === 10) && (Te === sr || Te === oi) && f(Bt.INVALID_LINKED_FORMAT, i(), 0), Te) {
            case "@":
                return U.next(), we = d(O, 8, "@"), O.inLinked = !0, we;
            case ".":
                return C(U), U.next(), d(O, 9, ".");
            case ":":
                return C(U), U.next(), d(O, 10, ":");
            default:
                return I(U) ? (we = d(O, 1, Be(U)), O.braceNest = 0, O.inLinked = !1, we) : F(U, O) || P(U, O) ? (C(U), $e(U, O)) : Q(U, O) ? (C(U), d(O, 12, ye(U))) : L(U, O) ? (C(U), Te === "{" ? Qe(U, O) || we : d(O, 11, te(U))) : (Y === 8 && f(Bt.INVALID_LINKED_FORMAT, i(), 0), O.braceNest = 0, O.inLinked = !1, Ue(U, O))
        }
    }

    function Ue(U, O) {
        let Y = {
            type: 14
        };
        if (O.braceNest > 0) return Qe(U, O) || p(O);
        if (O.inLinked) return $e(U, O) || p(O);
        switch (U.currentChar()) {
            case "{":
                return Qe(U, O) || p(O);
            case "}":
                return f(Bt.UNBALANCED_CLOSING_BRACE, i(), 0), U.next(), d(O, 3, "}");
            case "@":
                return $e(U, O) || p(O);
            default:
                if (I(U)) return Y = d(O, 1, Be(U)), O.braceNest = 0, O.inLinked = !1, Y;
                const {
                    isModulo: Te,
                    hasSpace: Oe
                } = _(U);
                if (Te) return Oe ? d(O, 0, he(U)) : d(O, 4, W(U));
                if (D(U)) return d(O, 0, he(U));
                break
        }
        return Y
    }

    function Ve() {
        const {
            currentType: U,
            offset: O,
            startLoc: Y,
            endLoc: we
        } = a;
        return a.lastType = U, a.lastOffset = O, a.lastStartLoc = Y, a.lastEndLoc = we, a.offset = A(), a.startLoc = i(), r.currentChar() === es ? d(a, 14) : Ue(r, a)
    }
    return {
        nextToken: Ve,
        currentOffset: A,
        currentPosition: i,
        context: l
    }
}
const Aj = "parser",
    ij = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;

function sj(e, t, n) {
    switch (e) {
        case "\\\\":
            return "\\";
        case "\\'":
            return "'";
        default:
            {
                const r = parseInt(t || n, 16);
                return r <= 55295 || r >= 57344 ? String.fromCodePoint(r) : "�"
            }
    }
}

function oj(e = {}) {
    const t = e.location !== !1,
        {
            onError: n
        } = e;

    function r(w, m, E, y, ...x) {
        const F = w.currentPosition();
        if (F.offset += y, F.column += y, n) {
            const Q = F6(E, F),
                P = L1(m, Q, {
                    domain: Aj,
                    args: x
                });
            n(P)
        }
    }

    function A(w, m, E) {
        const y = {
            type: w,
            start: m,
            end: m
        };
        return t && (y.loc = {
            start: E,
            end: E
        }), y
    }

    function i(w, m, E, y) {
        w.end = m, y && (w.type = y), t && w.loc && (w.loc.end = E)
    }

    function s(w, m) {
        const E = w.context(),
            y = A(3, E.offset, E.startLoc);
        return y.value = m, i(y, w.currentOffset(), w.currentPosition()), y
    }

    function o(w, m) {
        const E = w.context(),
            {
                lastOffset: y,
                lastStartLoc: x
            } = E,
            F = A(5, y, x);
        return F.index = parseInt(m, 10), w.nextToken(), i(F, w.currentOffset(), w.currentPosition()), F
    }

    function a(w, m) {
        const E = w.context(),
            {
                lastOffset: y,
                lastStartLoc: x
            } = E,
            F = A(4, y, x);
        return F.key = m, w.nextToken(), i(F, w.currentOffset(), w.currentPosition()), F
    }

    function l(w, m) {
        const E = w.context(),
            {
                lastOffset: y,
                lastStartLoc: x
            } = E,
            F = A(9, y, x);
        return F.value = m.replace(ij, sj), w.nextToken(), i(F, w.currentOffset(), w.currentPosition()), F
    }

    function u(w) {
        const m = w.nextToken(),
            E = w.context(),
            {
                lastOffset: y,
                lastStartLoc: x
            } = E,
            F = A(8, y, x);
        return m.type !== 12 ? (r(w, Bt.UNEXPECTED_EMPTY_LINKED_MODIFIER, E.lastStartLoc, 0), F.value = "", i(F, y, x), {
            nextConsumeToken: m,
            node: F
        }) : (m.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, E.lastStartLoc, 0, TA(m)), F.value = m.value || "", i(F, w.currentOffset(), w.currentPosition()), {
            node: F
        })
    }

    function f(w, m) {
        const E = w.context(),
            y = A(7, E.offset, E.startLoc);
        return y.value = m, i(y, w.currentOffset(), w.currentPosition()), y
    }

    function d(w) {
        const m = w.context(),
            E = A(6, m.offset, m.startLoc);
        let y = w.nextToken();
        if (y.type === 9) {
            const x = u(w);
            E.modifier = x.node, y = x.nextConsumeToken || w.nextToken()
        }
        switch (y.type !== 10 && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(y)), y = w.nextToken(), y.type === 2 && (y = w.nextToken()), y.type) {
            case 11:
                y.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(y)), E.key = f(w, y.value || "");
                break;
            case 5:
                y.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(y)), E.key = a(w, y.value || "");
                break;
            case 6:
                y.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(y)), E.key = o(w, y.value || "");
                break;
            case 7:
                y.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(y)), E.key = l(w, y.value || "");
                break;
            default:
                r(w, Bt.UNEXPECTED_EMPTY_LINKED_KEY, m.lastStartLoc, 0);
                const x = w.context(),
                    F = A(7, x.offset, x.startLoc);
                return F.value = "", i(F, x.offset, x.startLoc), E.key = F, i(E, x.offset, x.startLoc), {
                    nextConsumeToken: y,
                    node: E
                }
        }
        return i(E, w.currentOffset(), w.currentPosition()), {
            node: E
        }
    }

    function p(w) {
        const m = w.context(),
            E = m.currentType === 1 ? w.currentOffset() : m.offset,
            y = m.currentType === 1 ? m.endLoc : m.startLoc,
            x = A(2, E, y);
        x.items = [];
        let F = null;
        do {
            const L = F || w.nextToken();
            switch (F = null, L.type) {
                case 0:
                    L.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(L)), x.items.push(s(w, L.value || ""));
                    break;
                case 6:
                    L.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(L)), x.items.push(o(w, L.value || ""));
                    break;
                case 5:
                    L.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(L)), x.items.push(a(w, L.value || ""));
                    break;
                case 7:
                    L.value == null && r(w, Bt.UNEXPECTED_LEXICAL_ANALYSIS, m.lastStartLoc, 0, TA(L)), x.items.push(l(w, L.value || ""));
                    break;
                case 8:
                    const I = d(w);
                    x.items.push(I.node), F = I.nextConsumeToken || null;
                    break
            }
        } while (m.currentType !== 14 && m.currentType !== 1);
        const Q = m.currentType === 1 ? m.lastOffset : w.currentOffset(),
            P = m.currentType === 1 ? m.lastEndLoc : w.currentPosition();
        return i(x, Q, P), x
    }

    function v(w, m, E, y) {
        const x = w.context();
        let F = y.items.length === 0;
        const Q = A(1, m, E);
        Q.cases = [], Q.cases.push(y);
        do {
            const P = p(w);
            F || (F = P.items.length === 0), Q.cases.push(P)
        } while (x.currentType !== 14);
        return F && r(w, Bt.MUST_HAVE_MESSAGES_IN_PLURAL, E, 0), i(Q, w.currentOffset(), w.currentPosition()), Q
    }

    function B(w) {
        const m = w.context(),
            {
                offset: E,
                startLoc: y
            } = m,
            x = p(w);
        return m.currentType === 14 ? x : v(w, E, y, x)
    }

    function C(w) {
        const m = rj(w, $n({}, e)),
            E = m.context(),
            y = A(0, E.offset, E.startLoc);
        return t && y.loc && (y.loc.source = w), y.body = B(m), E.currentType !== 14 && r(m, Bt.UNEXPECTED_LEXICAL_ANALYSIS, E.lastStartLoc, 0, w[E.offset] || ""), i(y, m.currentOffset(), m.currentPosition()), y
    }
    return {
        parse: C
    }
}

function TA(e) {
    if (e.type === 14) return "EOF";
    const t = (e.value || "").replace(/\r?\n/gu, "\\n");
    return t.length > 10 ? t.slice(0, 9) + "…" : t
}

function aj(e, t = {}) {
    const n = {
        ast: e,
        helpers: new Set
    };
    return {
        context: () => n,
        helper: i => (n.helpers.add(i), i)
    }
}

function m8(e, t) {
    for (let n = 0; n < e.length; n++) m5(e[n], t)
}

function m5(e, t) {
    switch (e.type) {
        case 1:
            m8(e.cases, t), t.helper("plural");
            break;
        case 2:
            m8(e.items, t);
            break;
        case 6:
            m5(e.key, t), t.helper("linked"), t.helper("type");
            break;
        case 5:
            t.helper("interpolate"), t.helper("list");
            break;
        case 4:
            t.helper("interpolate"), t.helper("named");
            break
    }
}

function lj(e, t = {}) {
    const n = aj(e);
    n.helper("normalize"), e.body && m5(e.body, n);
    const r = n.context();
    e.helpers = Array.from(r.helpers)
}

function uj(e, t) {
    const {
        sourceMap: n,
        filename: r,
        breakLineCode: A,
        needIndent: i
    } = t, s = {
        source: e.loc.source,
        filename: r,
        code: "",
        column: 1,
        line: 1,
        offset: 0,
        map: void 0,
        breakLineCode: A,
        needIndent: i,
        indentLevel: 0
    }, o = () => s;

    function a(B, C) {
        s.code += B
    }

    function l(B, C = !0) {
        const w = C ? A : "";
        a(i ? w + "  ".repeat(B) : w)
    }

    function u(B = !0) {
        const C = ++s.indentLevel;
        B && l(C)
    }

    function f(B = !0) {
        const C = --s.indentLevel;
        B && l(C)
    }

    function d() {
        l(s.indentLevel)
    }
    return {
        context: o,
        push: a,
        indent: u,
        deindent: f,
        newline: d,
        helper: B => `_${B}`,
        needIndent: () => s.needIndent
    }
}

function cj(e, t) {
    const {
        helper: n
    } = e;
    e.push(`${n("linked")}(`), ja(e, t.key), t.modifier ? (e.push(", "), ja(e, t.modifier), e.push(", _type")) : e.push(", undefined, _type"), e.push(")")
}

function fj(e, t) {
    const {
        helper: n,
        needIndent: r
    } = e;
    e.push(`${n("normalize")}([`), e.indent(r());
    const A = t.items.length;
    for (let i = 0; i < A && (ja(e, t.items[i]), i !== A - 1); i++) e.push(", ");
    e.deindent(r()), e.push("])")
}

function dj(e, t) {
    const {
        helper: n,
        needIndent: r
    } = e;
    if (t.cases.length > 1) {
        e.push(`${n("plural")}([`), e.indent(r());
        const A = t.cases.length;
        for (let i = 0; i < A && (ja(e, t.cases[i]), i !== A - 1); i++) e.push(", ");
        e.deindent(r()), e.push("])")
    }
}

function hj(e, t) {
    t.body ? ja(e, t.body) : e.push("null")
}

function ja(e, t) {
    const {
        helper: n
    } = e;
    switch (t.type) {
        case 0:
            hj(e, t);
            break;
        case 1:
            dj(e, t);
            break;
        case 2:
            fj(e, t);
            break;
        case 6:
            cj(e, t);
            break;
        case 8:
            e.push(JSON.stringify(t.value), t);
            break;
        case 7:
            e.push(JSON.stringify(t.value), t);
            break;
        case 5:
            e.push(`${n("interpolate")}(${n("list")}(${t.index}))`, t);
            break;
        case 4:
            e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`, t);
            break;
        case 9:
            e.push(JSON.stringify(t.value), t);
            break;
        case 3:
            e.push(JSON.stringify(t.value), t);
            break;
        default:
            throw new Error(`unhandled codegen node type: ${t.type}`)
    }
}
const pj = (e, t = {}) => {
    const n = ze(t.mode) ? t.mode : "normal",
        r = ze(t.filename) ? t.filename : "message.intl",
        A = !!t.sourceMap,
        i = t.breakLineCode != null ? t.breakLineCode : n === "arrow" ? ";" : `
`,
        s = t.needIndent ? t.needIndent : n !== "arrow",
        o = e.helpers || [],
        a = uj(e, {
            mode: n,
            filename: r,
            sourceMap: A,
            breakLineCode: i,
            needIndent: s
        });
    a.push(n === "normal" ? "function __msg__ (ctx) {" : "(ctx) => {"), a.indent(s), o.length > 0 && (a.push(`const { ${o.map(f=>`${f}: _${f}`).join(", ")} } = ctx`), a.newline()), a.push("return "), ja(a, e), a.deindent(s), a.push("}");
    const {
        code: l,
        map: u
    } = a.context();
    return {
        ast: e,
        code: l,
        map: u ? u.toJSON() : void 0
    }
};

function gj(e, t = {}) {
    const n = $n({}, t),
        A = oj(n).parse(e);
    return lj(A, n), pj(A, n)
}
/*!
 * devtools-if v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const NC = {
    I18nInit: "i18n:init",
    FunctionTranslate: "function:translate"
};
/*!
 * core-base v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const Vs = [];
Vs[0] = {
    w: [0],
    i: [3, 0],
    "[": [4],
    o: [7]
};
Vs[1] = {
    w: [1],
    ".": [2],
    "[": [4],
    o: [7]
};
Vs[2] = {
    w: [2],
    i: [3, 0],
    0: [3, 0]
};
Vs[3] = {
    i: [3, 0],
    0: [3, 0],
    w: [1, 1],
    ".": [2, 1],
    "[": [4, 1],
    o: [7, 1]
};
Vs[4] = {
    "'": [5, 0],
    '"': [6, 0],
    "[": [4, 2],
    "]": [1, 3],
    o: 8,
    l: [4, 0]
};
Vs[5] = {
    "'": [4, 0],
    o: 8,
    l: [5, 0]
};
Vs[6] = {
    '"': [4, 0],
    o: 8,
    l: [6, 0]
};
const vj = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;

function mj(e) {
    return vj.test(e)
}

function Bj(e) {
    const t = e.charCodeAt(0),
        n = e.charCodeAt(e.length - 1);
    return t === n && (t === 34 || t === 39) ? e.slice(1, -1) : e
}

function wj(e) {
    if (e == null) return "o";
    switch (e.charCodeAt(0)) {
        case 91:
        case 93:
        case 46:
        case 34:
        case 39:
            return e;
        case 95:
        case 36:
        case 45:
            return "i";
        case 9:
        case 10:
        case 13:
        case 160:
        case 65279:
        case 8232:
        case 8233:
            return "w"
    }
    return "i"
}

function yj(e) {
    const t = e.trim();
    return e.charAt(0) === "0" && isNaN(parseInt(e)) ? !1 : mj(t) ? Bj(t) : "*" + t
}

function Cj(e) {
    const t = [];
    let n = -1,
        r = 0,
        A = 0,
        i, s, o, a, l, u, f;
    const d = [];
    d[0] = () => {
        s === void 0 ? s = o : s += o
    }, d[1] = () => {
        s !== void 0 && (t.push(s), s = void 0)
    }, d[2] = () => {
        d[0](), A++
    }, d[3] = () => {
        if (A > 0) A--, r = 4, d[0]();
        else {
            if (A = 0, s === void 0 || (s = yj(s), s === !1)) return !1;
            d[1]()
        }
    };

    function p() {
        const v = e[n + 1];
        if (r === 5 && v === "'" || r === 6 && v === '"') return n++, o = "\\" + v, d[0](), !0
    }
    for (; r !== null;)
        if (n++, i = e[n], !(i === "\\" && p())) {
            if (a = wj(i), f = Vs[r], l = f[a] || f.l || 8, l === 8 || (r = l[0], l[1] !== void 0 && (u = d[l[1]], u && (o = i, u() === !1)))) return;
            if (r === 7) return t
        }
}
const B8 = new Map;

function Ej(e, t) {
    return Vt(e) ? e[t] : null
}

function bj(e, t) {
    if (!Vt(e)) return null;
    let n = B8.get(t);
    if (n || (n = Cj(t), n && B8.set(t, n)), !n) return null;
    const r = n.length;
    let A = e,
        i = 0;
    for (; i < r;) {
        const s = A[n[i]];
        if (s === void 0) return null;
        A = s, i++
    }
    return A
}
const xj = e => e,
    _j = e => "",
    Fj = "text",
    Sj = e => e.length === 0 ? "" : e.join(""),
    Tj = WG;

function w8(e, t) {
    return e = Math.abs(e), t === 2 ? e ? e > 1 ? 1 : 0 : 1 : e ? Math.min(e, 2) : 0
}

function Ij(e) {
    const t = Un(e.pluralIndex) ? e.pluralIndex : -1;
    return e.named && (Un(e.named.count) || Un(e.named.n)) ? Un(e.named.count) ? e.named.count : Un(e.named.n) ? e.named.n : t : t
}

function Qj(e, t) {
    t.count || (t.count = e), t.n || (t.n = e)
}

function Uj(e = {}) {
    const t = e.locale,
        n = Ij(e),
        r = Vt(e.pluralRules) && ze(t) && ln(e.pluralRules[t]) ? e.pluralRules[t] : w8,
        A = Vt(e.pluralRules) && ze(t) && ln(e.pluralRules[t]) ? w8 : void 0,
        i = w => w[r(n, w.length, A)],
        s = e.list || [],
        o = w => s[w],
        a = e.named || {};
    Un(e.pluralIndex) && Qj(n, a);
    const l = w => a[w];

    function u(w) {
        const m = ln(e.messages) ? e.messages(w) : Vt(e.messages) ? e.messages[w] : !1;
        return m || (e.parent ? e.parent.message(w) : _j)
    }
    const f = w => e.modifiers ? e.modifiers[w] : xj,
        d = wt(e.processor) && ln(e.processor.normalize) ? e.processor.normalize : Sj,
        p = wt(e.processor) && ln(e.processor.interpolate) ? e.processor.interpolate : Tj,
        v = wt(e.processor) && ze(e.processor.type) ? e.processor.type : Fj,
        C = {
            list: o,
            named: l,
            plural: i,
            linked: (w, ...m) => {
                const [E, y] = m;
                let x = "text",
                    F = "";
                m.length === 1 ? Vt(E) ? (F = E.modifier || F, x = E.type || x) : ze(E) && (F = E || F) : m.length === 2 && (ze(E) && (F = E || F), ze(y) && (x = y || x));
                let Q = u(w)(C);
                return x === "vnode" && Yt(Q) && F && (Q = Q[0]), F ? f(F)(Q, x) : Q
            },
            message: u,
            type: v,
            interpolate: p,
            normalize: d
        };
    return C
}
let Gu = null;

function Pj(e) {
    Gu = e
}

function Oj(e, t, n) {
    Gu && Gu.emit(NC.I18nInit, {
        timestamp: Date.now(),
        i18n: e,
        version: t,
        meta: n
    })
}
const Dj = Lj(NC.FunctionTranslate);

function Lj(e) {
    return t => Gu && Gu.emit(e, t)
}
const Lr = {
        NOT_FOUND_KEY: 1,
        FALLBACK_TO_TRANSLATE: 2,
        CANNOT_FORMAT_NUMBER: 3,
        FALLBACK_TO_NUMBER_FORMAT: 4,
        CANNOT_FORMAT_DATE: 5,
        FALLBACK_TO_DATE_FORMAT: 6,
        __EXTEND_POINT__: 7
    },
    kj = {
        [Lr.NOT_FOUND_KEY]: "Not found '{key}' key in '{locale}' locale messages.",
        [Lr.FALLBACK_TO_TRANSLATE]: "Fall back to translate '{key}' key with '{target}' locale.",
        [Lr.CANNOT_FORMAT_NUMBER]: "Cannot format a number value due to not supported Intl.NumberFormat.",
        [Lr.FALLBACK_TO_NUMBER_FORMAT]: "Fall back to number format '{key}' key with '{target}' locale.",
        [Lr.CANNOT_FORMAT_DATE]: "Cannot format a date value due to not supported Intl.DateTimeFormat.",
        [Lr.FALLBACK_TO_DATE_FORMAT]: "Fall back to datetime format '{key}' key with '{target}' locale."
    };

function Wa(e, ...t) {
    return O1(kj[e], ...t)
}

function Hj(e, t, n) {
    return [...new Set([n, ...Yt(t) ? t : Vt(t) ? Object.keys(t) : ze(t) ? [t] : [n]])]
}

function $C(e, t, n) {
    const r = ze(n) ? n : xc,
        A = e;
    A.__localeChainCache || (A.__localeChainCache = new Map);
    let i = A.__localeChainCache.get(r);
    if (!i) {
        i = [];
        let s = [n];
        for (; Yt(s);) s = y8(i, s, t);
        const o = Yt(t) || !wt(t) ? t : t.default ? t.default : null;
        s = ze(o) ? [o] : o, Yt(s) && y8(i, s, !1), A.__localeChainCache.set(r, i)
    }
    return i
}

function y8(e, t, n) {
    let r = !0;
    for (let A = 0; A < t.length && Ft(r); A++) {
        const i = t[A];
        ze(i) && (r = Mj(e, t[A], n))
    }
    return r
}

function Mj(e, t, n) {
    let r;
    const A = t.split("-");
    do {
        const i = A.join("-");
        r = Rj(e, i, n), A.splice(-1, 1)
    } while (A.length && r === !0);
    return r
}

function Rj(e, t, n) {
    let r = !1;
    if (!e.includes(t) && (r = !0, t)) {
        r = t[t.length - 1] !== "!";
        const A = t.replace(/!/g, "");
        e.push(A), (Yt(n) || wt(n)) && n[A] && (r = n[A])
    }
    return r
}
const Nj = "9.2.2",
    k1 = -1,
    xc = "en-US",
    Sf = "",
    C8 = e => `${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;

function $j() {
    return {
        upper: (e, t) => t === "text" && ze(e) ? e.toUpperCase() : t === "vnode" && Vt(e) && "__v_isVNode" in e ? e.children.toUpperCase() : e,
        lower: (e, t) => t === "text" && ze(e) ? e.toLowerCase() : t === "vnode" && Vt(e) && "__v_isVNode" in e ? e.children.toLowerCase() : e,
        capitalize: (e, t) => t === "text" && ze(e) ? C8(e) : t === "vnode" && Vt(e) && "__v_isVNode" in e ? C8(e.children) : e
    }
}
let KC;

function Kj(e) {
    KC = e
}
let VC;

function Vj(e) {
    VC = e
}
let GC;

function Gj(e) {
    GC = e
}
let jC = null;
const E8 = e => {
        jC = e
    },
    jj = () => jC;
let WC = null;
const b8 = e => {
        WC = e
    },
    Wj = () => WC;
let x8 = 0;

function zj(e = {}) {
    const t = ze(e.version) ? e.version : Nj,
        n = ze(e.locale) ? e.locale : xc,
        r = Yt(e.fallbackLocale) || wt(e.fallbackLocale) || ze(e.fallbackLocale) || e.fallbackLocale === !1 ? e.fallbackLocale : n,
        A = wt(e.messages) ? e.messages : {
            [n]: {}
        },
        i = wt(e.datetimeFormats) ? e.datetimeFormats : {
            [n]: {}
        },
        s = wt(e.numberFormats) ? e.numberFormats : {
            [n]: {}
        },
        o = $n({}, e.modifiers || {}, $j()),
        a = e.pluralRules || {},
        l = ln(e.missing) ? e.missing : null,
        u = Ft(e.missingWarn) || Ds(e.missingWarn) ? e.missingWarn : !0,
        f = Ft(e.fallbackWarn) || Ds(e.fallbackWarn) ? e.fallbackWarn : !0,
        d = !!e.fallbackFormat,
        p = !!e.unresolving,
        v = ln(e.postTranslation) ? e.postTranslation : null,
        B = wt(e.processor) ? e.processor : null,
        C = Ft(e.warnHtmlMessage) ? e.warnHtmlMessage : !0,
        w = !!e.escapeParameter,
        m = ln(e.messageCompiler) ? e.messageCompiler : KC,
        E = ln(e.messageResolver) ? e.messageResolver : VC || Ej,
        y = ln(e.localeFallbacker) ? e.localeFallbacker : GC || Hj,
        x = Vt(e.fallbackContext) ? e.fallbackContext : void 0,
        F = ln(e.onWarn) ? e.onWarn : Er,
        Q = e,
        P = Vt(Q.__datetimeFormatters) ? Q.__datetimeFormatters : new Map,
        L = Vt(Q.__numberFormatters) ? Q.__numberFormatters : new Map,
        I = Vt(Q.__meta) ? Q.__meta : {};
    x8++;
    const _ = {
        version: t,
        cid: x8,
        locale: n,
        fallbackLocale: r,
        messages: A,
        modifiers: o,
        pluralRules: a,
        missing: l,
        missingWarn: u,
        fallbackWarn: f,
        fallbackFormat: d,
        unresolving: p,
        postTranslation: v,
        processor: B,
        warnHtmlMessage: C,
        escapeParameter: w,
        messageCompiler: m,
        messageResolver: E,
        localeFallbacker: y,
        fallbackContext: x,
        onWarn: F,
        __meta: I
    };
    return _.datetimeFormats = i, _.numberFormats = s, _.__datetimeFormatters = P, _.__numberFormatters = L, _.__v_emitter = Q.__v_emitter != null ? Q.__v_emitter : void 0, Oj(_, t, I), _
}

function H1(e, t) {
    return e instanceof RegExp ? e.test(t) : e
}

function zC(e, t) {
    return e instanceof RegExp ? e.test(t) : e
}

function B5(e, t, n, r, A) {
    const {
        missing: i,
        onWarn: s
    } = e; {
        const o = e.__v_emitter;
        o && o.emit("missing", {
            locale: n,
            key: t,
            type: A,
            groupId: `${A}:${t}`
        })
    }
    if (i !== null) {
        const o = i(e, n, t, A);
        return ze(o) ? o : t
    } else return zC(r, t) && s(Wa(Lr.NOT_FOUND_KEY, {
        key: t,
        locale: n
    })), t
}

function Nl(e, t, n) {
    const r = e;
    r.__localeChainCache = new Map, e.localeFallbacker(e, n, t)
}
const Yj = /<\/?[\w\s="/.':;#-\/]+>/,
    Xj = "Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.";

function Jj(e, t) {
    (Ft(t.warnHtmlMessage) ? t.warnHtmlMessage : !0) && Yj.test(e) && Er(O1(Xj, {
        source: e
    }))
}
const qj = e => e;
let _8 = Object.create(null);

function Zj(e, t = {}) {
    {
        Jj(e, t);
        const r = (t.onCacheKey || qj)(e),
            A = _8[r];
        if (A) return A;
        let i = !1;
        const s = t.onError || XG;
        t.onError = l => {
            i = !0, s(l)
        };
        const {
            code: o
        } = gj(e, t), a = new Function(`return ${o}`)();
        return i ? a : _8[r] = a
    }
}
let YC = Bt.__EXTEND_POINT__;
const Oh = () => ++YC,
    Bi = {
        INVALID_ARGUMENT: YC,
        INVALID_DATE_ARGUMENT: Oh(),
        INVALID_ISO_DATE_ARGUMENT: Oh(),
        __EXTEND_POINT__: Oh()
    };

function xa(e) {
    return L1(e, null, {
        messages: eW
    })
}
const eW = {
        [Bi.INVALID_ARGUMENT]: "Invalid arguments",
        [Bi.INVALID_DATE_ARGUMENT]: "The date provided is an invalid Date object.Make sure your Date represents a valid date.",
        [Bi.INVALID_ISO_DATE_ARGUMENT]: "The argument provided is not a valid ISO date string"
    },
    F8 = () => "",
    OA = e => ln(e);

function S8(e, ...t) {
    const {
        fallbackFormat: n,
        postTranslation: r,
        unresolving: A,
        messageCompiler: i,
        fallbackLocale: s,
        messages: o
    } = e, [a, l] = S6(...t), u = Ft(l.missingWarn) ? l.missingWarn : e.missingWarn, f = Ft(l.fallbackWarn) ? l.fallbackWarn : e.fallbackWarn, d = Ft(l.escapeParameter) ? l.escapeParameter : e.escapeParameter, p = !!l.resolvedMessage, v = ze(l.default) || Ft(l.default) ? Ft(l.default) ? i ? a : () => a : l.default : n ? i ? a : () => a : "", B = n || v !== "", C = ze(l.locale) ? l.locale : e.locale;
    d && tW(l);
    let [w, m, E] = p ? [a, C, o[C] || {}] : XC(e, a, C, s, f, u), y = w, x = a;
    if (!p && !(ze(y) || OA(y)) && B && (y = v, x = y), !p && (!(ze(y) || OA(y)) || !ze(m))) return A ? k1 : a;
    if (ze(y) && e.messageCompiler == null) return Er(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${a}'.`), a;
    let F = !1;
    const Q = () => {
            F = !0
        },
        P = OA(y) ? y : JC(e, a, m, y, x, Q);
    if (F) return y;
    const L = AW(e, m, E, l),
        I = Uj(L),
        _ = nW(e, P, I),
        D = r ? r(_, a) : _; {
        const N = {
            timestamp: Date.now(),
            key: ze(a) ? a : OA(y) ? y.key : "",
            locale: m || (OA(y) ? y.locale : ""),
            format: ze(y) ? y : OA(y) ? y.source : "",
            message: D
        };
        N.meta = $n({}, e.__meta, jj() || {}), Dj(N)
    }
    return D
}

function tW(e) {
    Yt(e.list) ? e.list = e.list.map(t => ze(t) ? p8(t) : t) : Vt(e.named) && Object.keys(e.named).forEach(t => {
        ze(e.named[t]) && (e.named[t] = p8(e.named[t]))
    })
}

function XC(e, t, n, r, A, i) {
    const {
        messages: s,
        onWarn: o,
        messageResolver: a,
        localeFallbacker: l
    } = e, u = l(e, r, n);
    let f = {},
        d, p = null,
        v = n,
        B = null;
    const C = "translate";
    for (let w = 0; w < u.length; w++) {
        if (d = B = u[w], n !== d && H1(A, t) && o(Wa(Lr.FALLBACK_TO_TRANSLATE, {
                key: t,
                target: d
            })), n !== d) {
            const F = e.__v_emitter;
            F && F.emit("fallback", {
                type: C,
                key: t,
                from: v,
                to: B,
                groupId: `${C}:${t}`
            })
        }
        f = s[d] || {};
        let m = null,
            E, y;
        if (VA && (m = window.performance.now(), E = "intlify-message-resolve-start", y = "intlify-message-resolve-end", kr && kr(E)), (p = a(f, t)) === null && (p = f[t]), VA) {
            const F = window.performance.now(),
                Q = e.__v_emitter;
            Q && m && p && Q.emit("message-resolve", {
                type: "message-resolve",
                key: t,
                message: p,
                time: F - m,
                groupId: `${C}:${t}`
            }), E && y && kr && Oo && (kr(y), Oo("intlify message resolve", E, y))
        }
        if (ze(p) || ln(p)) break;
        const x = B5(e, t, d, i, C);
        x !== t && (p = x), v = B
    }
    return [p, d, f]
}

function JC(e, t, n, r, A, i) {
    const {
        messageCompiler: s,
        warnHtmlMessage: o
    } = e;
    if (OA(r)) {
        const d = r;
        return d.locale = d.locale || n, d.key = d.key || t, d
    }
    if (s == null) {
        const d = () => r;
        return d.locale = n, d.key = t, d
    }
    let a = null,
        l, u;
    VA && (a = window.performance.now(), l = "intlify-message-compilation-start", u = "intlify-message-compilation-end", kr && kr(l));
    const f = s(r, rW(e, n, A, r, o, i));
    if (VA) {
        const d = window.performance.now(),
            p = e.__v_emitter;
        p && a && p.emit("message-compilation", {
            type: "message-compilation",
            message: r,
            time: d - a,
            groupId: `translate:${t}`
        }), l && u && kr && Oo && (kr(u), Oo("intlify message compilation", l, u))
    }
    return f.locale = n, f.key = t, f.source = r, f
}

function nW(e, t, n) {
    let r = null,
        A, i;
    VA && (r = window.performance.now(), A = "intlify-message-evaluation-start", i = "intlify-message-evaluation-end", kr && kr(A));
    const s = t(n);
    if (VA) {
        const o = window.performance.now(),
            a = e.__v_emitter;
        a && r && a.emit("message-evaluation", {
            type: "message-evaluation",
            value: s,
            time: o - r,
            groupId: `translate:${t.key}`
        }), A && i && kr && Oo && (kr(i), Oo("intlify message evaluation", A, i))
    }
    return s
}

function S6(...e) {
    const [t, n, r] = e, A = {};
    if (!ze(t) && !Un(t) && !OA(t)) throw xa(Bi.INVALID_ARGUMENT);
    const i = Un(t) ? String(t) : (OA(t), t);
    return Un(n) ? A.plural = n : ze(n) ? A.default = n : wt(n) && !D1(n) ? A.named = n : Yt(n) && (A.list = n), Un(r) ? A.plural = r : ze(r) ? A.default = r : wt(r) && $n(A, r), [i, A]
}

function rW(e, t, n, r, A, i) {
    return {
        warnHtmlMessage: A,
        onError: s => {
            i && i(s); {
                const o = `Message compilation error: ${s.message}`,
                    a = s.location && zG(r, s.location.start.offset, s.location.end.offset),
                    l = e.__v_emitter;
                l && l.emit("compile-error", {
                    message: r,
                    error: s.message,
                    start: s.location && s.location.start.offset,
                    end: s.location && s.location.end.offset,
                    groupId: `translate:${n}`
                }), console.error(a ? `${o}
${a}` : o)
            }
        },
        onCacheKey: s => KG(t, n, s)
    }
}

function AW(e, t, n, r) {
    const {
        modifiers: A,
        pluralRules: i,
        messageResolver: s,
        fallbackLocale: o,
        fallbackWarn: a,
        missingWarn: l,
        fallbackContext: u
    } = e, d = {
        locale: t,
        modifiers: A,
        pluralRules: i,
        messages: p => {
            let v = s(n, p);
            if (v == null && u) {
                const [, , B] = XC(u, p, t, o, a, l);
                v = s(B, p)
            }
            if (ze(v)) {
                let B = !1;
                const w = JC(e, p, t, v, p, () => {
                    B = !0
                });
                return B ? F8 : w
            } else return OA(v) ? v : F8
        }
    };
    return e.processor && (d.processor = e.processor), r.list && (d.list = r.list), r.named && (d.named = r.named), Un(r.plural) && (d.pluralIndex = r.plural), d
}
const T8 = typeof Intl < "u",
    qC = {
        dateTimeFormat: T8 && typeof Intl.DateTimeFormat < "u",
        numberFormat: T8 && typeof Intl.NumberFormat < "u"
    };

function I8(e, ...t) {
    const {
        datetimeFormats: n,
        unresolving: r,
        fallbackLocale: A,
        onWarn: i,
        localeFallbacker: s
    } = e, {
        __datetimeFormatters: o
    } = e;
    if (!qC.dateTimeFormat) return i(Wa(Lr.CANNOT_FORMAT_DATE)), Sf;
    const [a, l, u, f] = T6(...t), d = Ft(u.missingWarn) ? u.missingWarn : e.missingWarn, p = Ft(u.fallbackWarn) ? u.fallbackWarn : e.fallbackWarn, v = !!u.part, B = ze(u.locale) ? u.locale : e.locale, C = s(e, A, B);
    if (!ze(a) || a === "") return new Intl.DateTimeFormat(B, f).format(l);
    let w = {},
        m, E = null,
        y = B,
        x = null;
    const F = "datetime format";
    for (let L = 0; L < C.length; L++) {
        if (m = x = C[L], B !== m && H1(p, a) && i(Wa(Lr.FALLBACK_TO_DATE_FORMAT, {
                key: a,
                target: m
            })), B !== m) {
            const I = e.__v_emitter;
            I && I.emit("fallback", {
                type: F,
                key: a,
                from: y,
                to: x,
                groupId: `${F}:${a}`
            })
        }
        if (w = n[m] || {}, E = w[a], wt(E)) break;
        B5(e, a, m, d, F), y = x
    }
    if (!wt(E) || !ze(m)) return r ? k1 : a;
    let Q = `${m}__${a}`;
    D1(f) || (Q = `${Q}__${JSON.stringify(f)}`);
    let P = o.get(Q);
    return P || (P = new Intl.DateTimeFormat(m, $n({}, E, f)), o.set(Q, P)), v ? P.formatToParts(l) : P.format(l)
}
const ZC = ["localeMatcher", "weekday", "era", "year", "month", "day", "hour", "minute", "second", "timeZoneName", "formatMatcher", "hour12", "timeZone", "dateStyle", "timeStyle", "calendar", "dayPeriod", "numberingSystem", "hourCycle", "fractionalSecondDigits"];

function T6(...e) {
    const [t, n, r, A] = e, i = {};
    let s = {},
        o;
    if (ze(t)) {
        const a = t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);
        if (!a) throw xa(Bi.INVALID_ISO_DATE_ARGUMENT);
        const l = a[3] ? a[3].trim().startsWith("T") ? `${a[1].trim()}${a[3].trim()}` : `${a[1].trim()}T${a[3].trim()}` : a[1].trim();
        o = new Date(l);
        try {
            o.toISOString()
        } catch {
            throw xa(Bi.INVALID_ISO_DATE_ARGUMENT)
        }
    } else if (GG(t)) {
        if (isNaN(t.getTime())) throw xa(Bi.INVALID_DATE_ARGUMENT);
        o = t
    } else if (Un(t)) o = t;
    else throw xa(Bi.INVALID_ARGUMENT);
    return ze(n) ? i.key = n : wt(n) && Object.keys(n).forEach(a => {
        ZC.includes(a) ? s[a] = n[a] : i[a] = n[a]
    }), ze(r) ? i.locale = r : wt(r) && (s = r), wt(A) && (s = A), [i.key || "", o, i, s]
}

function Q8(e, t, n) {
    const r = e;
    for (const A in n) {
        const i = `${t}__${A}`;
        r.__datetimeFormatters.has(i) && r.__datetimeFormatters.delete(i)
    }
}

function U8(e, ...t) {
    const {
        numberFormats: n,
        unresolving: r,
        fallbackLocale: A,
        onWarn: i,
        localeFallbacker: s
    } = e, {
        __numberFormatters: o
    } = e;
    if (!qC.numberFormat) return i(Wa(Lr.CANNOT_FORMAT_NUMBER)), Sf;
    const [a, l, u, f] = I6(...t), d = Ft(u.missingWarn) ? u.missingWarn : e.missingWarn, p = Ft(u.fallbackWarn) ? u.fallbackWarn : e.fallbackWarn, v = !!u.part, B = ze(u.locale) ? u.locale : e.locale, C = s(e, A, B);
    if (!ze(a) || a === "") return new Intl.NumberFormat(B, f).format(l);
    let w = {},
        m, E = null,
        y = B,
        x = null;
    const F = "number format";
    for (let L = 0; L < C.length; L++) {
        if (m = x = C[L], B !== m && H1(p, a) && i(Wa(Lr.FALLBACK_TO_NUMBER_FORMAT, {
                key: a,
                target: m
            })), B !== m) {
            const I = e.__v_emitter;
            I && I.emit("fallback", {
                type: F,
                key: a,
                from: y,
                to: x,
                groupId: `${F}:${a}`
            })
        }
        if (w = n[m] || {}, E = w[a], wt(E)) break;
        B5(e, a, m, d, F), y = x
    }
    if (!wt(E) || !ze(m)) return r ? k1 : a;
    let Q = `${m}__${a}`;
    D1(f) || (Q = `${Q}__${JSON.stringify(f)}`);
    let P = o.get(Q);
    return P || (P = new Intl.NumberFormat(m, $n({}, E, f)), o.set(Q, P)), v ? P.formatToParts(l) : P.format(l)
}
const eE = ["localeMatcher", "style", "currency", "currencyDisplay", "currencySign", "useGrouping", "minimumIntegerDigits", "minimumFractionDigits", "maximumFractionDigits", "minimumSignificantDigits", "maximumSignificantDigits", "compactDisplay", "notation", "signDisplay", "unit", "unitDisplay", "roundingMode", "roundingPriority", "roundingIncrement", "trailingZeroDisplay"];

function I6(...e) {
    const [t, n, r, A] = e, i = {};
    let s = {};
    if (!Un(t)) throw xa(Bi.INVALID_ARGUMENT);
    const o = t;
    return ze(n) ? i.key = n : wt(n) && Object.keys(n).forEach(a => {
        eE.includes(a) ? s[a] = n[a] : i[a] = n[a]
    }), ze(r) ? i.locale = r : wt(r) && (s = r), wt(A) && (s = A), [i.key || "", o, i, s]
}

function P8(e, t, n) {
    const r = e;
    for (const A in n) {
        const i = `${t}__${A}`;
        r.__numberFormatters.has(i) && r.__numberFormatters.delete(i)
    }
}
typeof __INTLIFY_PROD_DEVTOOLS__ != "boolean" && (wu().__INTLIFY_PROD_DEVTOOLS__ = !1);
/*!
 * vue-devtools v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const Dh = {
        "vue-devtools-plugin-vue-i18n": "Vue I18n devtools",
        "vue-i18n-resource-inspector": "I18n Resources",
        "vue-i18n-timeline": "Vue I18n"
    },
    iW = {
        "vue-i18n-resource-inspector": "Search for scopes ..."
    },
    sW = {
        "vue-i18n-timeline": 16764185
    };
/*!
 * vue-i18n v9.2.2
 * (c) 2022 kazuya kawaguchi
 * Released under the MIT License.
 */
const oW = "9.2.2";

function aW() {
    let e = !1;
    typeof __VUE_I18N_FULL_INSTALL__ != "boolean" && (e = !0, wu().__VUE_I18N_FULL_INSTALL__ = !0), typeof __VUE_I18N_LEGACY_API__ != "boolean" && (e = !0, wu().__VUE_I18N_LEGACY_API__ = !0), typeof __INTLIFY_PROD_DEVTOOLS__ != "boolean" && (wu().__INTLIFY_PROD_DEVTOOLS__ = !1), e && console.warn("You are running the esm-bundler build of vue-i18n. It is recommended to configure your bundler to explicitly replace feature flag globals with boolean literals to get proper tree-shaking in the final bundle.")
}
let tE = Lr.__EXTEND_POINT__;
const fa = () => ++tE,
    Mn = {
        FALLBACK_TO_ROOT: tE,
        NOT_SUPPORTED_PRESERVE: fa(),
        NOT_SUPPORTED_FORMATTER: fa(),
        NOT_SUPPORTED_PRESERVE_DIRECTIVE: fa(),
        NOT_SUPPORTED_GET_CHOICE_INDEX: fa(),
        COMPONENT_NAME_LEGACY_COMPATIBLE: fa(),
        NOT_FOUND_PARENT_SCOPE: fa()
    },
    lW = {
        [Mn.FALLBACK_TO_ROOT]: "Fall back to {type} '{key}' with root locale.",
        [Mn.NOT_SUPPORTED_PRESERVE]: "Not supported 'preserve'.",
        [Mn.NOT_SUPPORTED_FORMATTER]: "Not supported 'formatter'.",
        [Mn.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: "Not supported 'preserveDirectiveContent'.",
        [Mn.NOT_SUPPORTED_GET_CHOICE_INDEX]: "Not supported 'getChoiceIndex'.",
        [Mn.COMPONENT_NAME_LEGACY_COMPATIBLE]: "Component name legacy compatible: '{name}' -> 'i18n'",
        [Mn.NOT_FOUND_PARENT_SCOPE]: "Not found parent scope. use the global scope."
    };

function vA(e, ...t) {
    return O1(lW[e], ...t)
}
let nE = Bt.__EXTEND_POINT__;
const mr = () => ++nE,
    It = {
        UNEXPECTED_RETURN_TYPE: nE,
        INVALID_ARGUMENT: mr(),
        MUST_BE_CALL_SETUP_TOP: mr(),
        NOT_INSLALLED: mr(),
        NOT_AVAILABLE_IN_LEGACY_MODE: mr(),
        REQUIRED_VALUE: mr(),
        INVALID_VALUE: mr(),
        CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: mr(),
        NOT_INSLALLED_WITH_PROVIDE: mr(),
        UNEXPECTED_ERROR: mr(),
        NOT_COMPATIBLE_LEGACY_VUE_I18N: mr(),
        BRIDGE_SUPPORT_VUE_2_ONLY: mr(),
        MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: mr(),
        NOT_AVAILABLE_COMPOSITION_IN_LEGACY: mr(),
        __EXTEND_POINT__: mr()
    };

function bn(e, ...t) {
    return L1(e, null, {
        messages: uW,
        args: t
    })
}
const uW = {
        [It.UNEXPECTED_RETURN_TYPE]: "Unexpected return type in composer",
        [It.INVALID_ARGUMENT]: "Invalid argument",
        [It.MUST_BE_CALL_SETUP_TOP]: "Must be called at the top of a `setup` function",
        [It.NOT_INSLALLED]: "Need to install with `app.use` function",
        [It.UNEXPECTED_ERROR]: "Unexpected error",
        [It.NOT_AVAILABLE_IN_LEGACY_MODE]: "Not available in legacy mode",
        [It.REQUIRED_VALUE]: "Required in value: {0}",
        [It.INVALID_VALUE]: "Invalid value",
        [It.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: "Cannot setup vue-devtools plugin",
        [It.NOT_INSLALLED_WITH_PROVIDE]: "Need to install with `provide` function",
        [It.NOT_COMPATIBLE_LEGACY_VUE_I18N]: "Not compatible legacy VueI18n.",
        [It.BRIDGE_SUPPORT_VUE_2_ONLY]: "vue-i18n-bridge support Vue 2.x only",
        [It.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: "Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode",
        [It.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: "Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly"
    },
    Q6 = WA("__transrateVNode"),
    U6 = WA("__datetimeParts"),
    P6 = WA("__numberParts"),
    Do = WA("__enableEmitter"),
    ju = WA("__disableEmitter"),
    rE = WA("__setPluralRules");
WA("__intlifyMeta");
const AE = WA("__injectWithOption");

function O6(e) {
    if (!Vt(e)) return e;
    for (const t in e)
        if (p5(e, t))
            if (!t.includes(".")) Vt(e[t]) && O6(e[t]);
            else {
                const n = t.split("."),
                    r = n.length - 1;
                let A = e;
                for (let i = 0; i < r; i++) n[i] in A || (A[n[i]] = {}), A = A[n[i]];
                A[n[r]] = e[t], delete e[t], Vt(A[n[r]]) && O6(A[n[r]])
            }
    return e
}

function M1(e, t) {
    const {
        messages: n,
        __i18n: r,
        messageResolver: A,
        flatJson: i
    } = t, s = wt(n) ? n : Yt(r) ? {} : {
        [e]: {}
    };
    if (Yt(r) && r.forEach(o => {
            if ("locale" in o && "resource" in o) {
                const {
                    locale: a,
                    resource: l
                } = o;
                a ? (s[a] = s[a] || {}, yu(l, s[a])) : yu(l, s)
            } else ze(o) && yu(JSON.parse(o), s)
        }), A == null && i)
        for (const o in s) p5(s, o) && O6(s[o]);
    return s
}
const u0 = e => !Vt(e) || Yt(e);

function yu(e, t) {
    if (u0(e) || u0(t)) throw bn(It.INVALID_VALUE);
    for (const n in e) p5(e, n) && (u0(e[n]) || u0(t[n]) ? t[n] = e[n] : yu(e[n], t[n]))
}

function iE(e) {
    return e.type
}

function sE(e, t, n) {
    let r = Vt(t.messages) ? t.messages : {};
    "__i18nGlobal" in n && (r = M1(e.locale.value, {
        messages: r,
        __i18n: n.__i18nGlobal
    }));
    const A = Object.keys(r);
    A.length && A.forEach(i => {
        e.mergeLocaleMessage(i, r[i])
    }); {
        if (Vt(t.datetimeFormats)) {
            const i = Object.keys(t.datetimeFormats);
            i.length && i.forEach(s => {
                e.mergeDateTimeFormat(s, t.datetimeFormats[s])
            })
        }
        if (Vt(t.numberFormats)) {
            const i = Object.keys(t.numberFormats);
            i.length && i.forEach(s => {
                e.mergeNumberFormat(s, t.numberFormats[s])
            })
        }
    }
}

function O8(e) {
    return q(Si, null, e, 0)
}
const D8 = "__INTLIFY_META__";
let L8 = 0;

function k8(e) {
    return (t, n, r, A) => e(n, r, $t() || void 0, A)
}
const cW = () => {
    const e = $t();
    let t = null;
    return e && (t = iE(e)[D8]) ? {
        [D8]: t
    } : null
};

function w5(e = {}, t) {
    const {
        __root: n
    } = e, r = n === void 0;
    let A = Ft(e.inheritLocale) ? e.inheritLocale : !0;
    const i = Ie(n && A ? n.locale.value : ze(e.locale) ? e.locale : xc),
        s = Ie(n && A ? n.fallbackLocale.value : ze(e.fallbackLocale) || Yt(e.fallbackLocale) || wt(e.fallbackLocale) || e.fallbackLocale === !1 ? e.fallbackLocale : i.value),
        o = Ie(M1(i.value, e)),
        a = Ie(wt(e.datetimeFormats) ? e.datetimeFormats : {
            [i.value]: {}
        }),
        l = Ie(wt(e.numberFormats) ? e.numberFormats : {
            [i.value]: {}
        });
    let u = n ? n.missingWarn : Ft(e.missingWarn) || Ds(e.missingWarn) ? e.missingWarn : !0,
        f = n ? n.fallbackWarn : Ft(e.fallbackWarn) || Ds(e.fallbackWarn) ? e.fallbackWarn : !0,
        d = n ? n.fallbackRoot : Ft(e.fallbackRoot) ? e.fallbackRoot : !0,
        p = !!e.fallbackFormat,
        v = ln(e.missing) ? e.missing : null,
        B = ln(e.missing) ? k8(e.missing) : null,
        C = ln(e.postTranslation) ? e.postTranslation : null,
        w = n ? n.warnHtmlMessage : Ft(e.warnHtmlMessage) ? e.warnHtmlMessage : !0,
        m = !!e.escapeParameter;
    const E = n ? n.modifiers : wt(e.modifiers) ? e.modifiers : {};
    let y = e.pluralRules || n && n.pluralRules,
        x;
    x = (() => {
        r && b8(null);
        const oe = {
            version: oW,
            locale: i.value,
            fallbackLocale: s.value,
            messages: o.value,
            modifiers: E,
            pluralRules: y,
            missing: B === null ? void 0 : B,
            missingWarn: u,
            fallbackWarn: f,
            fallbackFormat: p,
            unresolving: !0,
            postTranslation: C === null ? void 0 : C,
            warnHtmlMessage: w,
            escapeParameter: m,
            messageResolver: e.messageResolver,
            __meta: {
                framework: "vue"
            }
        };
        oe.datetimeFormats = a.value, oe.numberFormats = l.value, oe.__datetimeFormatters = wt(x) ? x.__datetimeFormatters : void 0, oe.__numberFormatters = wt(x) ? x.__numberFormatters : void 0, oe.__v_emitter = wt(x) ? x.__v_emitter : void 0;
        const Ee = zj(oe);
        return r && b8(Ee), Ee
    })(), Nl(x, i.value, s.value);

    function Q() {
        return [i.value, s.value, o.value, a.value, l.value]
    }
    const P = De({
            get: () => i.value,
            set: oe => {
                i.value = oe, x.locale = i.value
            }
        }),
        L = De({
            get: () => s.value,
            set: oe => {
                s.value = oe, x.fallbackLocale = s.value, Nl(x, i.value, oe)
            }
        }),
        I = De(() => o.value),
        _ = De(() => a.value),
        D = De(() => l.value);

    function N() {
        return ln(C) ? C : null
    }

    function X(oe) {
        C = oe, x.postTranslation = oe
    }

    function se() {
        return v
    }

    function Z(oe) {
        oe !== null && (B = k8(oe)), v = oe, x.missing = B
    }

    function ce(oe, Ee) {
        return oe !== "translate" || !Ee.resolvedMessage
    }
    const W = (oe, Ee, We, qe, ut, xt) => {
        Q();
        let Ct;
        try {
            E8(cW()), r || (x.fallbackContext = n ? Wj() : void 0), Ct = oe(x)
        } finally {
            E8(null), r || (x.fallbackContext = void 0)
        }
        if (Un(Ct) && Ct === k1) {
            const [Pt, kt] = Ee();
            if (n && ze(Pt) && ce(We, kt)) {
                d && (H1(f, Pt) || zC(u, Pt)) && Er(vA(Mn.FALLBACK_TO_ROOT, {
                    key: Pt,
                    type: We
                })); {
                    const {
                        __v_emitter: nn
                    } = x;
                    nn && d && nn.emit("fallback", {
                        type: We,
                        key: Pt,
                        to: "global",
                        groupId: `${We}:${Pt}`
                    })
                }
            }
            return n && d ? qe(n) : ut(Pt)
        } else {
            if (xt(Ct)) return Ct;
            throw bn(It.UNEXPECTED_RETURN_TYPE)
        }
    };

    function he(...oe) {
        return W(Ee => Reflect.apply(S8, null, [Ee, ...oe]), () => S6(...oe), "translate", Ee => Reflect.apply(Ee.t, Ee, [...oe]), Ee => Ee, Ee => ze(Ee))
    }

    function Se(...oe) {
        const [Ee, We, qe] = oe;
        if (qe && !Vt(qe)) throw bn(It.INVALID_ARGUMENT);
        return he(Ee, We, $n({
            resolvedMessage: !0
        }, qe || {}))
    }

    function V(...oe) {
        return W(Ee => Reflect.apply(I8, null, [Ee, ...oe]), () => T6(...oe), "datetime format", Ee => Reflect.apply(Ee.d, Ee, [...oe]), () => Sf, Ee => ze(Ee))
    }

    function ie(...oe) {
        return W(Ee => Reflect.apply(U8, null, [Ee, ...oe]), () => I6(...oe), "number format", Ee => Reflect.apply(Ee.n, Ee, [...oe]), () => Sf, Ee => ze(Ee))
    }

    function ue(oe) {
        return oe.map(Ee => ze(Ee) || Un(Ee) || Ft(Ee) ? O8(String(Ee)) : Ee)
    }
    const ee = {
        normalize: ue,
        interpolate: oe => oe,
        type: "vnode"
    };

    function ye(...oe) {
        return W(Ee => {
            let We;
            const qe = Ee;
            try {
                qe.processor = ee, We = Reflect.apply(S8, null, [qe, ...oe])
            } finally {
                qe.processor = null
            }
            return We
        }, () => S6(...oe), "translate", Ee => Ee[Q6](...oe), Ee => [O8(Ee)], Ee => Yt(Ee))
    }

    function te(...oe) {
        return W(Ee => Reflect.apply(U8, null, [Ee, ...oe]), () => I6(...oe), "number format", Ee => Ee[P6](...oe), () => [], Ee => ze(Ee) || Yt(Ee))
    }

    function Be(...oe) {
        return W(Ee => Reflect.apply(I8, null, [Ee, ...oe]), () => T6(...oe), "datetime format", Ee => Ee[U6](...oe), () => [], Ee => ze(Ee) || Yt(Ee))
    }

    function Qe(oe) {
        y = oe, x.pluralRules = y
    }

    function $e(oe, Ee) {
        const We = ze(Ee) ? Ee : i.value,
            qe = U(We);
        return x.messageResolver(qe, oe) !== null
    }

    function Ue(oe) {
        let Ee = null;
        const We = $C(x, s.value, i.value);
        for (let qe = 0; qe < We.length; qe++) {
            const ut = o.value[We[qe]] || {},
                xt = x.messageResolver(ut, oe);
            if (xt != null) {
                Ee = xt;
                break
            }
        }
        return Ee
    }

    function Ve(oe) {
        const Ee = Ue(oe);
        return Ee ? ? (n ? n.tm(oe) || {} : {})
    }

    function U(oe) {
        return o.value[oe] || {}
    }

    function O(oe, Ee) {
        o.value[oe] = Ee, x.messages = o.value
    }

    function Y(oe, Ee) {
        o.value[oe] = o.value[oe] || {}, yu(Ee, o.value[oe]), x.messages = o.value
    }

    function we(oe) {
        return a.value[oe] || {}
    }

    function Te(oe, Ee) {
        a.value[oe] = Ee, x.datetimeFormats = a.value, Q8(x, oe, Ee)
    }

    function Oe(oe, Ee) {
        a.value[oe] = $n(a.value[oe] || {}, Ee), x.datetimeFormats = a.value, Q8(x, oe, Ee)
    }

    function Ke(oe) {
        return l.value[oe] || {}
    }

    function He(oe, Ee) {
        l.value[oe] = Ee, x.numberFormats = l.value, P8(x, oe, Ee)
    }

    function Re(oe, Ee) {
        l.value[oe] = $n(l.value[oe] || {}, Ee), x.numberFormats = l.value, P8(x, oe, Ee)
    }
    L8++, n && VA && (Xe(n.locale, oe => {
        A && (i.value = oe, x.locale = oe, Nl(x, i.value, s.value))
    }), Xe(n.fallbackLocale, oe => {
        A && (s.value = oe, x.fallbackLocale = oe, Nl(x, i.value, s.value))
    }));
    const Pe = {
        id: L8,
        locale: P,
        fallbackLocale: L,
        get inheritLocale() {
            return A
        },
        set inheritLocale(oe) {
            A = oe, oe && n && (i.value = n.locale.value, s.value = n.fallbackLocale.value, Nl(x, i.value, s.value))
        },
        get availableLocales() {
            return Object.keys(o.value).sort()
        },
        messages: I,
        get modifiers() {
            return E
        },
        get pluralRules() {
            return y || {}
        },
        get isGlobal() {
            return r
        },
        get missingWarn() {
            return u
        },
        set missingWarn(oe) {
            u = oe, x.missingWarn = u
        },
        get fallbackWarn() {
            return f
        },
        set fallbackWarn(oe) {
            f = oe, x.fallbackWarn = f
        },
        get fallbackRoot() {
            return d
        },
        set fallbackRoot(oe) {
            d = oe
        },
        get fallbackFormat() {
            return p
        },
        set fallbackFormat(oe) {
            p = oe, x.fallbackFormat = p
        },
        get warnHtmlMessage() {
            return w
        },
        set warnHtmlMessage(oe) {
            w = oe, x.warnHtmlMessage = oe
        },
        get escapeParameter() {
            return m
        },
        set escapeParameter(oe) {
            m = oe, x.escapeParameter = oe
        },
        t: he,
        getLocaleMessage: U,
        setLocaleMessage: O,
        mergeLocaleMessage: Y,
        getPostTranslationHandler: N,
        setPostTranslationHandler: X,
        getMissingHandler: se,
        setMissingHandler: Z,
        [rE]: Qe
    };
    return Pe.datetimeFormats = _, Pe.numberFormats = D, Pe.rt = Se, Pe.te = $e, Pe.tm = Ve, Pe.d = V, Pe.n = ie, Pe.getDateTimeFormat = we, Pe.setDateTimeFormat = Te, Pe.mergeDateTimeFormat = Oe, Pe.getNumberFormat = Ke, Pe.setNumberFormat = He, Pe.mergeNumberFormat = Re, Pe[AE] = e.__injectWithOption, Pe[Q6] = ye, Pe[U6] = Be, Pe[P6] = te, Pe[Do] = oe => {
        x.__v_emitter = oe
    }, Pe[ju] = () => {
        x.__v_emitter = void 0
    }, Pe
}

function fW(e) {
    const t = ze(e.locale) ? e.locale : xc,
        n = ze(e.fallbackLocale) || Yt(e.fallbackLocale) || wt(e.fallbackLocale) || e.fallbackLocale === !1 ? e.fallbackLocale : t,
        r = ln(e.missing) ? e.missing : void 0,
        A = Ft(e.silentTranslationWarn) || Ds(e.silentTranslationWarn) ? !e.silentTranslationWarn : !0,
        i = Ft(e.silentFallbackWarn) || Ds(e.silentFallbackWarn) ? !e.silentFallbackWarn : !0,
        s = Ft(e.fallbackRoot) ? e.fallbackRoot : !0,
        o = !!e.formatFallbackMessages,
        a = wt(e.modifiers) ? e.modifiers : {},
        l = e.pluralizationRules,
        u = ln(e.postTranslation) ? e.postTranslation : void 0,
        f = ze(e.warnHtmlInMessage) ? e.warnHtmlInMessage !== "off" : !0,
        d = !!e.escapeParameterHtml,
        p = Ft(e.sync) ? e.sync : !0;
    e.formatter && Er(vA(Mn.NOT_SUPPORTED_FORMATTER)), e.preserveDirectiveContent && Er(vA(Mn.NOT_SUPPORTED_PRESERVE_DIRECTIVE));
    let v = e.messages;
    if (wt(e.sharedMessages)) {
        const x = e.sharedMessages;
        v = Object.keys(x).reduce((Q, P) => {
            const L = Q[P] || (Q[P] = {});
            return $n(L, x[P]), Q
        }, v || {})
    }
    const {
        __i18n: B,
        __root: C,
        __injectWithOption: w
    } = e, m = e.datetimeFormats, E = e.numberFormats, y = e.flatJson;
    return {
        locale: t,
        fallbackLocale: n,
        messages: v,
        flatJson: y,
        datetimeFormats: m,
        numberFormats: E,
        missing: r,
        missingWarn: A,
        fallbackWarn: i,
        fallbackRoot: s,
        fallbackFormat: o,
        modifiers: a,
        pluralRules: l,
        postTranslation: u,
        warnHtmlMessage: f,
        escapeParameter: d,
        messageResolver: e.messageResolver,
        inheritLocale: p,
        __i18n: B,
        __root: C,
        __injectWithOption: w
    }
}

function D6(e = {}, t) {
    {
        const n = w5(fW(e)),
            r = {
                id: n.id,
                get locale() {
                    return n.locale.value
                },
                set locale(A) {
                    n.locale.value = A
                },
                get fallbackLocale() {
                    return n.fallbackLocale.value
                },
                set fallbackLocale(A) {
                    n.fallbackLocale.value = A
                },
                get messages() {
                    return n.messages.value
                },
                get datetimeFormats() {
                    return n.datetimeFormats.value
                },
                get numberFormats() {
                    return n.numberFormats.value
                },
                get availableLocales() {
                    return n.availableLocales
                },
                get formatter() {
                    return Er(vA(Mn.NOT_SUPPORTED_FORMATTER)), {
                        interpolate() {
                            return []
                        }
                    }
                },
                set formatter(A) {
                    Er(vA(Mn.NOT_SUPPORTED_FORMATTER))
                },
                get missing() {
                    return n.getMissingHandler()
                },
                set missing(A) {
                    n.setMissingHandler(A)
                },
                get silentTranslationWarn() {
                    return Ft(n.missingWarn) ? !n.missingWarn : n.missingWarn
                },
                set silentTranslationWarn(A) {
                    n.missingWarn = Ft(A) ? !A : A
                },
                get silentFallbackWarn() {
                    return Ft(n.fallbackWarn) ? !n.fallbackWarn : n.fallbackWarn
                },
                set silentFallbackWarn(A) {
                    n.fallbackWarn = Ft(A) ? !A : A
                },
                get modifiers() {
                    return n.modifiers
                },
                get formatFallbackMessages() {
                    return n.fallbackFormat
                },
                set formatFallbackMessages(A) {
                    n.fallbackFormat = A
                },
                get postTranslation() {
                    return n.getPostTranslationHandler()
                },
                set postTranslation(A) {
                    n.setPostTranslationHandler(A)
                },
                get sync() {
                    return n.inheritLocale
                },
                set sync(A) {
                    n.inheritLocale = A
                },
                get warnHtmlInMessage() {
                    return n.warnHtmlMessage ? "warn" : "off"
                },
                set warnHtmlInMessage(A) {
                    n.warnHtmlMessage = A !== "off"
                },
                get escapeParameterHtml() {
                    return n.escapeParameter
                },
                set escapeParameterHtml(A) {
                    n.escapeParameter = A
                },
                get preserveDirectiveContent() {
                    return Er(vA(Mn.NOT_SUPPORTED_PRESERVE_DIRECTIVE)), !0
                },
                set preserveDirectiveContent(A) {
                    Er(vA(Mn.NOT_SUPPORTED_PRESERVE_DIRECTIVE))
                },
                get pluralizationRules() {
                    return n.pluralRules || {}
                },
                __composer: n,
                t(...A) {
                    const [i, s, o] = A, a = {};
                    let l = null,
                        u = null;
                    if (!ze(i)) throw bn(It.INVALID_ARGUMENT);
                    const f = i;
                    return ze(s) ? a.locale = s : Yt(s) ? l = s : wt(s) && (u = s), Yt(o) ? l = o : wt(o) && (u = o), Reflect.apply(n.t, n, [f, l || u || {}, a])
                },
                rt(...A) {
                    return Reflect.apply(n.rt, n, [...A])
                },
                tc(...A) {
                    const [i, s, o] = A, a = {
                        plural: 1
                    };
                    let l = null,
                        u = null;
                    if (!ze(i)) throw bn(It.INVALID_ARGUMENT);
                    const f = i;
                    return ze(s) ? a.locale = s : Un(s) ? a.plural = s : Yt(s) ? l = s : wt(s) && (u = s), ze(o) ? a.locale = o : Yt(o) ? l = o : wt(o) && (u = o), Reflect.apply(n.t, n, [f, l || u || {}, a])
                },
                te(A, i) {
                    return n.te(A, i)
                },
                tm(A) {
                    return n.tm(A)
                },
                getLocaleMessage(A) {
                    return n.getLocaleMessage(A)
                },
                setLocaleMessage(A, i) {
                    n.setLocaleMessage(A, i)
                },
                mergeLocaleMessage(A, i) {
                    n.mergeLocaleMessage(A, i)
                },
                d(...A) {
                    return Reflect.apply(n.d, n, [...A])
                },
                getDateTimeFormat(A) {
                    return n.getDateTimeFormat(A)
                },
                setDateTimeFormat(A, i) {
                    n.setDateTimeFormat(A, i)
                },
                mergeDateTimeFormat(A, i) {
                    n.mergeDateTimeFormat(A, i)
                },
                n(...A) {
                    return Reflect.apply(n.n, n, [...A])
                },
                getNumberFormat(A) {
                    return n.getNumberFormat(A)
                },
                setNumberFormat(A, i) {
                    n.setNumberFormat(A, i)
                },
                mergeNumberFormat(A, i) {
                    n.mergeNumberFormat(A, i)
                },
                getChoiceIndex(A, i) {
                    return Er(vA(Mn.NOT_SUPPORTED_GET_CHOICE_INDEX)), -1
                },
                __onComponentInstanceCreated(A) {
                    const {
                        componentInstanceCreatedListener: i
                    } = e;
                    i && i(A, r)
                }
            };
        return r.__enableEmitter = A => {
            const i = n;
            i[Do] && i[Do](A)
        }, r.__disableEmitter = () => {
            const A = n;
            A[ju] && A[ju]()
        }, r
    }
}
const y5 = {
    tag: {
        type: [String, Object]
    },
    locale: {
        type: String
    },
    scope: {
        type: String,
        validator: e => e === "parent" || e === "global",
        default: "parent"
    },
    i18n: {
        type: Object
    }
};

function dW({
    slots: e
}, t) {
    return t.length === 1 && t[0] === "default" ? (e.default ? e.default() : []).reduce((r, A) => r = [...r, ...Yt(A.children) ? A.children : [A]], []) : t.reduce((n, r) => {
        const A = e[r];
        return A && (n[r] = A()), n
    }, {})
}

function oE(e) {
    return an
}
const Lh = {
    name: "i18n-t",
    props: $n({
        keypath: {
            type: String,
            required: !0
        },
        plural: {
            type: [Number, String],
            validator: e => Un(e) || !isNaN(e)
        }
    }, y5),
    setup(e, t) {
        const {
            slots: n,
            attrs: r
        } = t, A = e.i18n || E5({
            useScope: e.scope,
            __useComponent: !0
        });
        return () => {
            const i = Object.keys(n).filter(f => f !== "_"),
                s = {};
            e.locale && (s.locale = e.locale), e.plural !== void 0 && (s.plural = ze(e.plural) ? +e.plural : e.plural);
            const o = dW(t, i),
                a = A[Q6](e.keypath, o, s),
                l = $n({}, r),
                u = ze(e.tag) || Vt(e.tag) ? e.tag : oE();
            return Rn(u, l, a)
        }
    }
};

function hW(e) {
    return Yt(e) && !ze(e[0])
}

function aE(e, t, n, r) {
    const {
        slots: A,
        attrs: i
    } = t;
    return () => {
        const s = {
            part: !0
        };
        let o = {};
        e.locale && (s.locale = e.locale), ze(e.format) ? s.key = e.format : Vt(e.format) && (ze(e.format.key) && (s.key = e.format.key), o = Object.keys(e.format).reduce((d, p) => n.includes(p) ? $n({}, d, {
            [p]: e.format[p]
        }) : d, {}));
        const a = r(e.value, s, o);
        let l = [s.key];
        Yt(a) ? l = a.map((d, p) => {
            const v = A[d.type],
                B = v ? v({
                    [d.type]: d.value,
                    index: p,
                    parts: a
                }) : [d.value];
            return hW(B) && (B[0].key = `${d.type}-${p}`), B
        }) : ze(a) && (l = [a]);
        const u = $n({}, i),
            f = ze(e.tag) || Vt(e.tag) ? e.tag : oE();
        return Rn(f, u, l)
    }
}
const H8 = {
        name: "i18n-n",
        props: $n({
            value: {
                type: Number,
                required: !0
            },
            format: {
                type: [String, Object]
            }
        }, y5),
        setup(e, t) {
            const n = e.i18n || E5({
                useScope: "parent",
                __useComponent: !0
            });
            return aE(e, t, eE, (...r) => n[P6](...r))
        }
    },
    M8 = {
        name: "i18n-d",
        props: $n({
            value: {
                type: [Number, Date],
                required: !0
            },
            format: {
                type: [String, Object]
            }
        }, y5),
        setup(e, t) {
            const n = e.i18n || E5({
                useScope: "parent",
                __useComponent: !0
            });
            return aE(e, t, ZC, (...r) => n[U6](...r))
        }
    };

function pW(e, t) {
    const n = e;
    if (e.mode === "composition") return n.__getInstance(t) || e.global; {
        const r = n.__getInstance(t);
        return r != null ? r.__composer : e.global.__composer
    }
}

function gW(e) {
    const t = s => {
        const {
            instance: o,
            modifiers: a,
            value: l
        } = s;
        if (!o || !o.$) throw bn(It.UNEXPECTED_ERROR);
        const u = pW(e, o.$);
        a.preserve && Er(vA(Mn.NOT_SUPPORTED_PRESERVE));
        const f = R8(l);
        return [Reflect.apply(u.t, u, [...N8(f)]), u]
    };
    return {
        created: (s, o) => {
            const [a, l] = t(o);
            VA && e.global === l && (s.__i18nWatcher = Xe(l.locale, () => {
                o.instance && o.instance.$forceUpdate()
            })), s.__composer = l, s.textContent = a
        },
        unmounted: s => {
            VA && s.__i18nWatcher && (s.__i18nWatcher(), s.__i18nWatcher = void 0, delete s.__i18nWatcher), s.__composer && (s.__composer = void 0, delete s.__composer)
        },
        beforeUpdate: (s, {
            value: o
        }) => {
            if (s.__composer) {
                const a = s.__composer,
                    l = R8(o);
                s.textContent = Reflect.apply(a.t, a, [...N8(l)])
            }
        },
        getSSRProps: s => {
            const [o] = t(s);
            return {
                textContent: o
            }
        }
    }
}

function R8(e) {
    if (ze(e)) return {
        path: e
    };
    if (wt(e)) {
        if (!("path" in e)) throw bn(It.REQUIRED_VALUE, "path");
        return e
    } else throw bn(It.INVALID_VALUE)
}

function N8(e) {
    const {
        path: t,
        locale: n,
        args: r,
        choice: A,
        plural: i
    } = e, s = {}, o = r || {};
    return ze(n) && (s.locale = n), Un(A) && (s.plural = A), Un(i) && (s.plural = i), [t, o, s]
}

function vW(e, t, ...n) {
    const r = wt(n[0]) ? n[0] : {},
        A = !!r.useI18nComponentName,
        i = Ft(r.globalInstall) ? r.globalInstall : !0;
    i && A && Er(vA(Mn.COMPONENT_NAME_LEGACY_COMPATIBLE, {
        name: Lh.name
    })), i && (e.component(A ? "i18n" : Lh.name, Lh), e.component(H8.name, H8), e.component(M8.name, M8)), e.directive("t", gW(t))
}
const lE = "vue-i18n: composer properties";
let L6;
async function mW(e, t) {
    return new Promise((n, r) => {
        try {
            h1({
                id: "vue-devtools-plugin-vue-i18n",
                label: Dh["vue-devtools-plugin-vue-i18n"],
                packageName: "vue-i18n",
                homepage: "https://vue-i18n.intlify.dev",
                logo: "https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png",
                componentStateTypes: [lE],
                app: e
            }, A => {
                L6 = A, A.on.visitComponentTree(({
                    componentInstance: s,
                    treeNode: o
                }) => {
                    BW(s, o, t)
                }), A.on.inspectComponent(({
                    componentInstance: s,
                    instanceData: o
                }) => {
                    s.vnode.el && s.vnode.el.__VUE_I18N__ && o && (t.mode === "legacy" ? s.vnode.el.__VUE_I18N__ !== t.global.__composer && $8(o, s.vnode.el.__VUE_I18N__) : $8(o, s.vnode.el.__VUE_I18N__))
                }), A.addInspector({
                    id: "vue-i18n-resource-inspector",
                    label: Dh["vue-i18n-resource-inspector"],
                    icon: "language",
                    treeFilterPlaceholder: iW["vue-i18n-resource-inspector"]
                }), A.on.getInspectorTree(s => {
                    s.app === e && s.inspectorId === "vue-i18n-resource-inspector" && bW(s, t)
                });
                const i = new Map;
                A.on.getInspectorState(async s => {
                    if (s.app === e && s.inspectorId === "vue-i18n-resource-inspector")
                        if (A.unhighlightElement(), _W(s, t), s.nodeId === "global") {
                            if (!i.has(s.app)) {
                                const [o] = await A.getComponentInstances(s.app);
                                i.set(s.app, o)
                            }
                            A.highlightElement(i.get(s.app))
                        } else {
                            const o = xW(s.nodeId, t);
                            o && A.highlightElement(o)
                        }
                }), A.on.editInspectorState(s => {
                    s.app === e && s.inspectorId === "vue-i18n-resource-inspector" && SW(s, t)
                }), A.addTimelineLayer({
                    id: "vue-i18n-timeline",
                    label: Dh["vue-i18n-timeline"],
                    color: sW["vue-i18n-timeline"]
                }), n(!0)
            })
        } catch (A) {
            console.error(A), r(!1)
        }
    })
}

function uE(e) {
    return e.type.name || e.type.displayName || e.type.__file || "Anonymous"
}

function BW(e, t, n) {
    const r = n.mode === "composition" ? n.global : n.global.__composer;
    if (e && e.vnode.el && e.vnode.el.__VUE_I18N__ && e.vnode.el.__VUE_I18N__ !== r) {
        const A = {
            label: `i18n (${uE(e)} Scope)`,
            textColor: 0,
            backgroundColor: 16764185
        };
        t.tags.push(A)
    }
}

function $8(e, t) {
    const n = lE;
    e.state.push({
        type: n,
        key: "locale",
        editable: !0,
        value: t.locale.value
    }), e.state.push({
        type: n,
        key: "availableLocales",
        editable: !1,
        value: t.availableLocales
    }), e.state.push({
        type: n,
        key: "fallbackLocale",
        editable: !0,
        value: t.fallbackLocale.value
    }), e.state.push({
        type: n,
        key: "inheritLocale",
        editable: !0,
        value: t.inheritLocale
    }), e.state.push({
        type: n,
        key: "messages",
        editable: !1,
        value: C5(t.messages.value)
    }), e.state.push({
        type: n,
        key: "datetimeFormats",
        editable: !1,
        value: t.datetimeFormats.value
    }), e.state.push({
        type: n,
        key: "numberFormats",
        editable: !1,
        value: t.numberFormats.value
    })
}

function C5(e) {
    const t = {};
    return Object.keys(e).forEach(n => {
        const r = e[n];
        ln(r) && "source" in r ? t[n] = EW(r) : Vt(r) ? t[n] = C5(r) : t[n] = r
    }), t
}
const wW = {
    "<": "&lt;",
    ">": "&gt;",
    '"': "&quot;",
    "&": "&amp;"
};

function yW(e) {
    return e.replace(/[<>"&]/g, CW)
}

function CW(e) {
    return wW[e] || e
}

function EW(e) {
    return {
        _custom: {
            type: "function",
            display: `<span>ƒ</span> ${e.source?`("${yW(e.source)}")`:"(?)"}`
        }
    }
}

function bW(e, t) {
    e.rootNodes.push({
        id: "global",
        label: "Global Scope"
    });
    const n = t.mode === "composition" ? t.global : t.global.__composer;
    for (const [r, A] of t.__instances) {
        const i = t.mode === "composition" ? A : A.__composer;
        n !== i && e.rootNodes.push({
            id: i.id.toString(),
            label: `${uE(r)} Scope`
        })
    }
}

function xW(e, t) {
    let n = null;
    if (e !== "global") {
        for (const [r, A] of t.__instances.entries())
            if (A.id.toString() === e) {
                n = r;
                break
            }
    }
    return n
}

function cE(e, t) {
    if (e === "global") return t.mode === "composition" ? t.global : t.global.__composer; {
        const n = Array.from(t.__instances.values()).find(r => r.id.toString() === e);
        return n ? t.mode === "composition" ? n : n.__composer : null
    }
}

function _W(e, t) {
    const n = cE(e.nodeId, t);
    return n && (e.state = FW(n)), null
}

function FW(e) {
    const t = {},
        n = "Locale related info",
        r = [{
            type: n,
            key: "locale",
            editable: !0,
            value: e.locale.value
        }, {
            type: n,
            key: "fallbackLocale",
            editable: !0,
            value: e.fallbackLocale.value
        }, {
            type: n,
            key: "availableLocales",
            editable: !1,
            value: e.availableLocales
        }, {
            type: n,
            key: "inheritLocale",
            editable: !0,
            value: e.inheritLocale
        }];
    t[n] = r;
    const A = "Locale messages info",
        i = [{
            type: A,
            key: "messages",
            editable: !1,
            value: C5(e.messages.value)
        }];
    t[A] = i; {
        const s = "Datetime formats info",
            o = [{
                type: s,
                key: "datetimeFormats",
                editable: !1,
                value: e.datetimeFormats.value
            }];
        t[s] = o;
        const a = "Datetime formats info",
            l = [{
                type: a,
                key: "numberFormats",
                editable: !1,
                value: e.numberFormats.value
            }];
        t[a] = l
    }
    return t
}

function Wu(e, t) {
    if (L6) {
        let n;
        t && "groupId" in t && (n = t.groupId, delete t.groupId), L6.addTimelineEvent({
            layerId: "vue-i18n-timeline",
            event: {
                title: e,
                groupId: n,
                time: Date.now(),
                meta: {},
                data: t || {},
                logType: e === "compile-error" ? "error" : e === "fallback" || e === "missing" ? "warning" : "default"
            }
        })
    }
}

function SW(e, t) {
    const n = cE(e.nodeId, t);
    if (n) {
        const [r] = e.path;
        r === "locale" && ze(e.state.value) ? n.locale.value = e.state.value : r === "fallbackLocale" && (ze(e.state.value) || Yt(e.state.value) || Vt(e.state.value)) ? n.fallbackLocale.value = e.state.value : r === "inheritLocale" && Ft(e.state.value) && (n.inheritLocale = e.state.value)
    }
}

function TW(e, t, n) {
    return {
        beforeCreate() {
            const r = $t();
            if (!r) throw bn(It.UNEXPECTED_ERROR);
            const A = this.$options;
            if (A.i18n) {
                const i = A.i18n;
                A.__i18n && (i.__i18n = A.__i18n), i.__root = t, this === this.$root ? this.$i18n = K8(e, i) : (i.__injectWithOption = !0, this.$i18n = D6(i))
            } else A.__i18n ? this === this.$root ? this.$i18n = K8(e, A) : this.$i18n = D6({
                __i18n: A.__i18n,
                __injectWithOption: !0,
                __root: t
            }) : this.$i18n = e;
            A.__i18nGlobal && sE(t, A, A), e.__onComponentInstanceCreated(this.$i18n), n.__setInstance(r, this.$i18n), this.$t = (...i) => this.$i18n.t(...i), this.$rt = (...i) => this.$i18n.rt(...i), this.$tc = (...i) => this.$i18n.tc(...i), this.$te = (i, s) => this.$i18n.te(i, s), this.$d = (...i) => this.$i18n.d(...i), this.$n = (...i) => this.$i18n.n(...i), this.$tm = i => this.$i18n.tm(i)
        },
        mounted() {
            if (this.$el && this.$i18n) {
                this.$el.__VUE_I18N__ = this.$i18n.__composer;
                const r = this.__v_emitter = v5(),
                    A = this.$i18n;
                A.__enableEmitter && A.__enableEmitter(r), r.on("*", Wu)
            }
        },
        unmounted() {
            const r = $t();
            if (!r) throw bn(It.UNEXPECTED_ERROR);
            if (this.$el && this.$el.__VUE_I18N__ && (this.__v_emitter && (this.__v_emitter.off("*", Wu), delete this.__v_emitter), this.$i18n)) {
                const A = this.$i18n;
                A.__disableEmitter && A.__disableEmitter(), delete this.$el.__VUE_I18N__
            }
            delete this.$t, delete this.$rt, delete this.$tc, delete this.$te, delete this.$d, delete this.$n, delete this.$tm, n.__deleteInstance(r), delete this.$i18n
        }
    }
}

function K8(e, t) {
    e.locale = t.locale || e.locale, e.fallbackLocale = t.fallbackLocale || e.fallbackLocale, e.missing = t.missing || e.missing, e.silentTranslationWarn = t.silentTranslationWarn || e.silentFallbackWarn, e.silentFallbackWarn = t.silentFallbackWarn || e.silentFallbackWarn, e.formatFallbackMessages = t.formatFallbackMessages || e.formatFallbackMessages, e.postTranslation = t.postTranslation || e.postTranslation, e.warnHtmlInMessage = t.warnHtmlInMessage || e.warnHtmlInMessage, e.escapeParameterHtml = t.escapeParameterHtml || e.escapeParameterHtml, e.sync = t.sync || e.sync, e.__composer[rE](t.pluralizationRules || e.pluralizationRules);
    const n = M1(e.locale, {
        messages: t.messages,
        __i18n: t.__i18n
    });
    return Object.keys(n).forEach(r => e.mergeLocaleMessage(r, n[r])), t.datetimeFormats && Object.keys(t.datetimeFormats).forEach(r => e.mergeDateTimeFormat(r, t.datetimeFormats[r])), t.numberFormats && Object.keys(t.numberFormats).forEach(r => e.mergeNumberFormat(r, t.numberFormats[r])), e
}
const IW = WA("global-vue-i18n");

function Zse(e = {}, t) {
    const n = __VUE_I18N_LEGACY_API__ && Ft(e.legacy) ? e.legacy : __VUE_I18N_LEGACY_API__,
        r = Ft(e.globalInjection) ? e.globalInjection : !0,
        A = __VUE_I18N_LEGACY_API__ && n ? !!e.allowComposition : !0,
        i = new Map,
        [s, o] = QW(e, n),
        a = WA("vue-i18n");

    function l(d) {
        return i.get(d) || null
    }

    function u(d, p) {
        i.set(d, p)
    }

    function f(d) {
        i.delete(d)
    } {
        const d = {
            get mode() {
                return __VUE_I18N_LEGACY_API__ && n ? "legacy" : "composition"
            },
            get allowComposition() {
                return A
            },
            async install(p, ...v) {
                p.__VUE_I18N__ = d, p.__VUE_I18N_SYMBOL__ = a, p.provide(p.__VUE_I18N_SYMBOL__, d), !n && r && RW(p, d.global), __VUE_I18N_FULL_INSTALL__ && vW(p, d, ...v), __VUE_I18N_LEGACY_API__ && n && p.mixin(TW(o, o.__composer, d));
                const B = p.unmount;
                p.unmount = () => {
                    d.dispose(), B()
                }; {
                    if (!await mW(p, d)) throw bn(It.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);
                    const w = v5();
                    if (n) {
                        const m = o;
                        m.__enableEmitter && m.__enableEmitter(w)
                    } else {
                        const m = o;
                        m[Do] && m[Do](w)
                    }
                    w.on("*", Wu)
                }
            },
            get global() {
                return o
            },
            dispose() {
                s.stop()
            },
            __instances: i,
            __getInstance: l,
            __setInstance: u,
            __deleteInstance: f
        };
        return d
    }
}

function E5(e = {}) {
    const t = $t();
    if (t == null) throw bn(It.MUST_BE_CALL_SETUP_TOP);
    if (!t.isCE && t.appContext.app != null && !t.appContext.app.__VUE_I18N_SYMBOL__) throw bn(It.NOT_INSLALLED);
    const n = UW(t),
        r = OW(n),
        A = iE(t),
        i = PW(e, A);
    if (__VUE_I18N_LEGACY_API__ && n.mode === "legacy" && !e.__useComponent) {
        if (!n.allowComposition) throw bn(It.NOT_AVAILABLE_IN_LEGACY_MODE);
        return kW(t, i, r, e)
    }
    if (i === "global") return sE(r, e, A), r;
    if (i === "parent") {
        let a = DW(n, t, e.__useComponent);
        return a == null && (Er(vA(Mn.NOT_FOUND_PARENT_SCOPE)), a = r), a
    }
    const s = n;
    let o = s.__getInstance(t);
    if (o == null) {
        const a = $n({}, e);
        "__i18n" in A && (a.__i18n = A.__i18n), r && (a.__root = r), o = w5(a), LW(s, t, o), s.__setInstance(t, o)
    }
    return o
}

function QW(e, t, n) {
    const r = jf(); {
        const A = __VUE_I18N_LEGACY_API__ && t ? r.run(() => D6(e)) : r.run(() => w5(e));
        if (A == null) throw bn(It.UNEXPECTED_ERROR);
        return [r, A]
    }
}

function UW(e) {
    {
        const t = En(e.isCE ? IW : e.appContext.app.__VUE_I18N_SYMBOL__);
        if (!t) throw bn(e.isCE ? It.NOT_INSLALLED_WITH_PROVIDE : It.UNEXPECTED_ERROR);
        return t
    }
}

function PW(e, t) {
    return D1(e) ? "__i18n" in t ? "local" : "global" : e.useScope ? e.useScope : "local"
}

function OW(e) {
    return e.mode === "composition" ? e.global : e.global.__composer
}

function DW(e, t, n = !1) {
    let r = null;
    const A = t.root;
    let i = t.parent;
    for (; i != null;) {
        const s = e;
        if (e.mode === "composition") r = s.__getInstance(i);
        else if (__VUE_I18N_LEGACY_API__) {
            const o = s.__getInstance(i);
            o != null && (r = o.__composer, n && r && !r[AE] && (r = null))
        }
        if (r != null || A === i) break;
        i = i.parent
    }
    return r
}

function LW(e, t, n) {
    let r = null;
    sn(() => {
        if (t.vnode.el) {
            t.vnode.el.__VUE_I18N__ = n, r = v5();
            const A = n;
            A[Do] && A[Do](r), r.on("*", Wu)
        }
    }, t), Li(() => {
        if (t.vnode.el && t.vnode.el.__VUE_I18N__) {
            r && r.off("*", Wu);
            const A = n;
            A[ju] && A[ju](), delete t.vnode.el.__VUE_I18N__
        }
        e.__deleteInstance(t)
    }, t)
}

function kW(e, t, n, r = {}) {
    const A = t === "local",
        i = qf(null);
    if (A && e.proxy && !(e.proxy.$options.i18n || e.proxy.$options.__i18n)) throw bn(It.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);
    const s = Ft(r.inheritLocale) ? r.inheritLocale : !0,
        o = Ie(A && s ? n.locale.value : ze(r.locale) ? r.locale : xc),
        a = Ie(A && s ? n.fallbackLocale.value : ze(r.fallbackLocale) || Yt(r.fallbackLocale) || wt(r.fallbackLocale) || r.fallbackLocale === !1 ? r.fallbackLocale : o.value),
        l = Ie(M1(o.value, r)),
        u = Ie(wt(r.datetimeFormats) ? r.datetimeFormats : {
            [o.value]: {}
        }),
        f = Ie(wt(r.numberFormats) ? r.numberFormats : {
            [o.value]: {}
        }),
        d = A ? n.missingWarn : Ft(r.missingWarn) || Ds(r.missingWarn) ? r.missingWarn : !0,
        p = A ? n.fallbackWarn : Ft(r.fallbackWarn) || Ds(r.fallbackWarn) ? r.fallbackWarn : !0,
        v = A ? n.fallbackRoot : Ft(r.fallbackRoot) ? r.fallbackRoot : !0,
        B = !!r.fallbackFormat,
        C = ln(r.missing) ? r.missing : null,
        w = ln(r.postTranslation) ? r.postTranslation : null,
        m = A ? n.warnHtmlMessage : Ft(r.warnHtmlMessage) ? r.warnHtmlMessage : !0,
        E = !!r.escapeParameter,
        y = A ? n.modifiers : wt(r.modifiers) ? r.modifiers : {},
        x = r.pluralRules || A && n.pluralRules;

    function F() {
        return [o.value, a.value, l.value, u.value, f.value]
    }
    const Q = De({
            get: () => i.value ? i.value.locale.value : o.value,
            set: O => {
                i.value && (i.value.locale.value = O), o.value = O
            }
        }),
        P = De({
            get: () => i.value ? i.value.fallbackLocale.value : a.value,
            set: O => {
                i.value && (i.value.fallbackLocale.value = O), a.value = O
            }
        }),
        L = De(() => i.value ? i.value.messages.value : l.value),
        I = De(() => u.value),
        _ = De(() => f.value);

    function D() {
        return i.value ? i.value.getPostTranslationHandler() : w
    }

    function N(O) {
        i.value && i.value.setPostTranslationHandler(O)
    }

    function X() {
        return i.value ? i.value.getMissingHandler() : C
    }

    function se(O) {
        i.value && i.value.setMissingHandler(O)
    }

    function Z(O) {
        return F(), O()
    }

    function ce(...O) {
        return i.value ? Z(() => Reflect.apply(i.value.t, null, [...O])) : Z(() => "")
    }

    function W(...O) {
        return i.value ? Reflect.apply(i.value.rt, null, [...O]) : ""
    }

    function he(...O) {
        return i.value ? Z(() => Reflect.apply(i.value.d, null, [...O])) : Z(() => "")
    }

    function Se(...O) {
        return i.value ? Z(() => Reflect.apply(i.value.n, null, [...O])) : Z(() => "")
    }

    function V(O) {
        return i.value ? i.value.tm(O) : {}
    }

    function ie(O, Y) {
        return i.value ? i.value.te(O, Y) : !1
    }

    function ue(O) {
        return i.value ? i.value.getLocaleMessage(O) : {}
    }

    function pe(O, Y) {
        i.value && (i.value.setLocaleMessage(O, Y), l.value[O] = Y)
    }

    function ee(O, Y) {
        i.value && i.value.mergeLocaleMessage(O, Y)
    }

    function ye(O) {
        return i.value ? i.value.getDateTimeFormat(O) : {}
    }

    function te(O, Y) {
        i.value && (i.value.setDateTimeFormat(O, Y), u.value[O] = Y)
    }

    function Be(O, Y) {
        i.value && i.value.mergeDateTimeFormat(O, Y)
    }

    function Qe(O) {
        return i.value ? i.value.getNumberFormat(O) : {}
    }

    function $e(O, Y) {
        i.value && (i.value.setNumberFormat(O, Y), f.value[O] = Y)
    }

    function Ue(O, Y) {
        i.value && i.value.mergeNumberFormat(O, Y)
    }
    const Ve = {
        get id() {
            return i.value ? i.value.id : -1
        },
        locale: Q,
        fallbackLocale: P,
        messages: L,
        datetimeFormats: I,
        numberFormats: _,
        get inheritLocale() {
            return i.value ? i.value.inheritLocale : s
        },
        set inheritLocale(O) {
            i.value && (i.value.inheritLocale = O)
        },
        get availableLocales() {
            return i.value ? i.value.availableLocales : Object.keys(l.value)
        },
        get modifiers() {
            return i.value ? i.value.modifiers : y
        },
        get pluralRules() {
            return i.value ? i.value.pluralRules : x
        },
        get isGlobal() {
            return i.value ? i.value.isGlobal : !1
        },
        get missingWarn() {
            return i.value ? i.value.missingWarn : d
        },
        set missingWarn(O) {
            i.value && (i.value.missingWarn = O)
        },
        get fallbackWarn() {
            return i.value ? i.value.fallbackWarn : p
        },
        set fallbackWarn(O) {
            i.value && (i.value.missingWarn = O)
        },
        get fallbackRoot() {
            return i.value ? i.value.fallbackRoot : v
        },
        set fallbackRoot(O) {
            i.value && (i.value.fallbackRoot = O)
        },
        get fallbackFormat() {
            return i.value ? i.value.fallbackFormat : B
        },
        set fallbackFormat(O) {
            i.value && (i.value.fallbackFormat = O)
        },
        get warnHtmlMessage() {
            return i.value ? i.value.warnHtmlMessage : m
        },
        set warnHtmlMessage(O) {
            i.value && (i.value.warnHtmlMessage = O)
        },
        get escapeParameter() {
            return i.value ? i.value.escapeParameter : E
        },
        set escapeParameter(O) {
            i.value && (i.value.escapeParameter = O)
        },
        t: ce,
        getPostTranslationHandler: D,
        setPostTranslationHandler: N,
        getMissingHandler: X,
        setMissingHandler: se,
        rt: W,
        d: he,
        n: Se,
        tm: V,
        te: ie,
        getLocaleMessage: ue,
        setLocaleMessage: pe,
        mergeLocaleMessage: ee,
        getDateTimeFormat: ye,
        setDateTimeFormat: te,
        mergeDateTimeFormat: Be,
        getNumberFormat: Qe,
        setNumberFormat: $e,
        mergeNumberFormat: Ue
    };

    function U(O) {
        O.locale.value = o.value, O.fallbackLocale.value = a.value, Object.keys(l.value).forEach(Y => {
            O.mergeLocaleMessage(Y, l.value[Y])
        }), Object.keys(u.value).forEach(Y => {
            O.mergeDateTimeFormat(Y, u.value[Y])
        }), Object.keys(f.value).forEach(Y => {
            O.mergeNumberFormat(Y, f.value[Y])
        }), O.escapeParameter = E, O.fallbackFormat = B, O.fallbackRoot = v, O.fallbackWarn = p, O.missingWarn = d, O.warnHtmlMessage = m
    }
    return Jp(() => {
        if (e.proxy == null || e.proxy.$i18n == null) throw bn(It.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);
        const O = i.value = e.proxy.$i18n.__composer;
        t === "global" ? (o.value = O.locale.value, a.value = O.fallbackLocale.value, l.value = O.messages.value, u.value = O.datetimeFormats.value, f.value = O.numberFormats.value) : A && U(O)
    }), Ve
}
const HW = ["locale", "fallbackLocale", "availableLocales"],
    MW = ["t", "rt", "d", "n", "tm"];

function RW(e, t) {
    const n = Object.create(null);
    HW.forEach(r => {
        const A = Object.getOwnPropertyDescriptor(t, r);
        if (!A) throw bn(It.UNEXPECTED_ERROR);
        const i = Mt(A.value) ? {
            get() {
                return A.value.value
            },
            set(s) {
                A.value.value = s
            }
        } : {
            get() {
                return A.get && A.get()
            }
        };
        Object.defineProperty(n, r, i)
    }), e.config.globalProperties.$i18n = n, MW.forEach(r => {
        const A = Object.getOwnPropertyDescriptor(t, r);
        if (!A || !A.value) throw bn(It.UNEXPECTED_ERROR);
        Object.defineProperty(e.config.globalProperties, `$${r}`, A)
    })
}
Kj(Zj);
Vj(bj);
Gj($C);
aW(); {
    const e = wu();
    e.__INTLIFY__ = !0, Pj(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)
}
var eoe = {
        name: "Name",
        tel: "Phone",
        save: "Save",
        clear: "Clear",
        cancel: "Cancel",
        confirm: "Confirm",
        delete: "Delete",
        loading: "Loading...",
        noCoupon: "No coupons",
        nameEmpty: "Please fill in the name",
        addContact: "Add contact",
        telInvalid: "Malformed phone number",
        vanCalendar: {
            end: "End",
            start: "Start",
            title: "Calendar",
            weekdays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `Choose no more than ${e} days`
        },
        vanCascader: {
            select: "Select"
        },
        vanPagination: {
            prev: "Previous",
            next: "Next"
        },
        vanPullRefresh: {
            pulling: "Pull to refresh...",
            loosing: "Loose to refresh..."
        },
        vanSubmitBar: {
            label: "Total:"
        },
        vanCoupon: {
            unlimited: "Unlimited",
            discount: e => `${e*10}% off`,
            condition: e => `At least ${e}`
        },
        vanCouponCell: {
            title: "Coupon",
            count: e => `You have ${e} coupons`
        },
        vanCouponList: {
            exchange: "Exchange",
            close: "Close",
            enable: "Available",
            disabled: "Unavailable",
            placeholder: "Coupon code"
        },
        vanAddressEdit: {
            area: "Area",
            areaEmpty: "Please select a receiving area",
            addressEmpty: "Address can not be empty",
            addressDetail: "Address",
            defaultAddress: "Set as the default address"
        },
        vanAddressList: {
            add: "Add new address"
        }
    },
    toe = {
        name: "Имя",
        tel: "Телефон",
        save: "Сохранить",
        clear: "Прозрачный",
        cancel: "Отмена",
        confirm: "Подтвердить",
        delete: "Удалить",
        loading: "Загрузка...",
        noCoupon: "Нет купонов",
        nameEmpty: "Пожалуйста укажите имя",
        addContact: "Создать контакт",
        telInvalid: "Некорректный номер телефона",
        vanCalendar: {
            end: "Конец",
            start: "Начало",
            title: "Календарь",
            weekdays: ["ВС", "ПН", "ВТ", "СР", "ЧТ", "ПТ", "СБ"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `Укажите более ${e} дней`
        },
        vanCascader: {
            select: "Выбрать"
        },
        vanPagination: {
            prev: "Назад",
            next: "Вперед"
        },
        vanPullRefresh: {
            pulling: "Потяните для обновления...",
            loosing: "Отпустите для обновления..."
        },
        vanSubmitBar: {
            label: "Всего:"
        },
        vanCoupon: {
            unlimited: "Безлимитный",
            discount: e => `${e*10}% скидка`,
            condition: e => `Как минимум ${e}`
        },
        vanCouponCell: {
            title: "Купон",
            count: e => `У вас есть ${e} купонов`
        },
        vanCouponList: {
            exchange: "Обмен",
            close: "Закрыть",
            enable: "Доступно",
            disabled: "Недоступно",
            placeholder: "Код купона"
        },
        vanAddressEdit: {
            area: "Область",
            areaEmpty: "Укажите зону доставки",
            addressEmpty: "Адрес не может быть пустым",
            addressDetail: "Адрес",
            defaultAddress: "Сделать адресом по умолчанию"
        },
        vanAddressList: {
            add: "Новый адрес"
        }
    },
    noe = {
        name: "tên",
        tel: "Điện thoại",
        save: "Cứu",
        clear: "Thông thoáng",
        cancel: "Hủy bỏ",
        confirm: "Xác nhận",
        delete: "Xóa",
        loading: "Đang tải ...",
        noCoupon: "Không có phiếu giảm giá",
        nameEmpty: "Vui lòng điền vào tên",
        addContact: "Thêm liên hệ",
        telInvalid: "Số điện thoại không đúng định dạng",
        vanCalendar: {
            end: "Kết thúc",
            start: "Bắt ​​đầu",
            title: "Lịch",
            weekdays: ["chủ nhật", "thứ hai", "thứ ba", "Thứ Tư", "Thứ năm", "Thứ sáu", "thứ bảy"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `Chọn không quá ${e} ngày`
        },
        vanCascader: {
            select: "Chọn"
        },
        vanPagination: {
            prev: "Trước đó",
            next: "Tiếp theo"
        },
        vanPullRefresh: {
            pulling: "Kéo để làm mới ...",
            loosing: "Loose để làm mới ..."
        },
        vanSubmitBar: {
            label: "Tổng:"
        },
        vanCoupon: {
            unlimited: "Không giới hạn",
            discount: e => `Chiết khấu ${e*10}%`,
            condition: e => `Ít nhất ${e}`
        },
        vanCouponCell: {
            title: "Phiếu giảm giá",
            count: e => `Bạn có ${e} phiếu giảm giá`
        },
        vanCouponList: {
            exchange: "Trao đổi",
            close: "Đóng",
            enable: "Có sẵn",
            disabled: "Không khả dụng",
            placeholder: "Mã phiếu thưởng"
        },
        vanAddressEdit: {
            area: "Khu vực",
            areaEmpty: "Vui lòng chọn khu vực nhận hàng",
            addressEmpty: "Địa chỉ không được để trống",
            addressDetail: "Địa chỉ",
            defaultAddress: "Đặt làm địa chỉ mặc định"
        },
        vanAddressList: {
            add: "Thêm địa chỉ mới"
        }
    },
    roe = {
        name: "Nama",
        tel: "Telepon",
        save: "Simpan",
        clear: "Jernih",
        cancel: "Batal",
        confirm: "Konfirmasi",
        delete: "Hapus",
        loading: "Memuat...",
        noCoupon: "Tidak ada kupon",
        nameEmpty: "Silakan isi nama",
        addContact: "Tambahkan kontak",
        telInvalid: "Nomor telepon salah format",
        vanCalendar: {
            end: "Akhir",
            start: "Mulai",
            title: "Kalender",
            weekdays: ["minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `Pilih tidak lebih dari ${e} hari`
        },
        vanCascader: {
            select: "Pilih"
        },
        vanPagination: {
            prev: "Sebelumnya",
            next: "Selanjutnya"
        },
        vanPullRefresh: {
            pulling: "Tarik untuk menyegarkan...",
            loosing: "Loose untuk menyegarkan..."
        },
        vanSubmitBar: {
            label: "Jumlah:"
        },
        vanCoupon: {
            unlimited: "Tidak terbatas",
            discount: e => `${e*10}% off`,
            condition: e => `Setidaknya ${e}`
        },
        vanCouponCell: {
            title: "Kupon",
            count: e => `Anda memiliki kupon ${e}`
        },
        vanCouponList: {
            exchange: "Pertukaran",
            close: "Tutup",
            enable: "Tersedia",
            disabled: "Tidak tersedia",
            placeholder: "Kode kupon"
        },
        vanAddressEdit: {
            area: "Daerah",
            areaEmpty: "Silakan pilih area penerima",
            addressEmpty: "Alamat tidak boleh kosong",
            addressDetail: "Alamat",
            defaultAddress: "Tetapkan sebagai alamat default"
        },
        vanAddressList: {
            add: "Tambahkan alamat baru"
        }
    },
    Aoe = {
        name: "नाम",
        tel: "फ़ोन",
        save: "सहेजें",
        clear: "साफ़",
        cancel: "रद्द करें",
        confirm: "पुष्टि करना",
        delete: "हटाएं",
        loading: "लोड हो रहा है...",
        noCoupon: "कोई कूपन नहीं",
        nameEmpty: "कृपया नाम भरें",
        addContact: "संपर्क जोड़ें",
        telInvalid: "विकृत फ़ोन नंबर",
        vanCalendar: {
            end: "समाप्त",
            start: "शुरू",
            title: "पंचांग",
            weekdays: ["रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरूवार", "शुक्रवार", "शनिवार"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `${e} दिन से अधिक नहीं चुनें`
        },
        vanCascader: {
            select: "चुनते हैं"
        },
        vanPagination: {
            prev: "पहले का",
            next: "अगला"
        },
        vanPullRefresh: {
            pulling: "रीफ़्रेश करने के लिए खींचें...",
            loosing: "ताज़ा करने के लिए ढीला..."
        },
        vanSubmitBar: {
            label: "कुल:"
        },
        vanCoupon: {
            unlimited: "असीमित",
            discount: e => `${e*10}% छूट`,
            condition: e => `कम से कम ${e}`
        },
        vanCouponCell: {
            title: "कूपन",
            count: e => `आपके पास ${e} कूपन हैं`
        },
        vanCouponList: {
            exchange: "अदला बदली",
            close: "बंद करे",
            enable: "उपलब्ध",
            disabled: "अनुपलब्ध",
            placeholder: "कूपन कोड"
        },
        vanAddressEdit: {
            area: "क्षेत्र",
            areaEmpty: "कृपया एक क्षेत्र चुनें",
            addressEmpty: "पता खाली नहीं हो सकता",
            addressDetail: "पता",
            defaultAddress: "डिफ़ॉल्ट पते के रूप में सेट करें"
        },
        vanAddressList: {
            add: "नया पता जोड़ें"
        }
    },
    ioe = {
        name: "ชื่อ",
        tel: "โทรศัพท์",
        save: "บันทึก",
        clear: "ชัดเจน",
        cancel: "ยกเลิก",
        confirm: "ยืนยัน",
        delete: "ลบ",
        loading: "กำลังโหลด...",
        noCoupon: "ไม่มีคูปอง",
        nameEmpty: "กรุณากรอกชื่อของคุณ",
        addContact: "เพิ่มผู้ติดต่อ",
        telInvalid: "กรุณากรอกหมายเลขโทรศัพท์ที่ถูกต้อง",
        vanCalendar: {
            end: "จบ",
            start: "เริ่ม",
            title: "การเลือกวันที่",
            weekdays: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
            monthTitle: (e, t) => `${e}ปี${t}เดือน`,
            rangePrompt: e => `จำนวนวันที่เลือกต้องไม่เกิน ${e} วัน`
        },
        vanCascader: {
            select: "โปรดเลือก"
        },
        vanPagination: {
            prev: "หน้าที่แล้ว",
            next: "หน้าต่อไป"
        },
        vanPullRefresh: {
            pulling: "ดึงลงเพื่อรีเฟรช...",
            loosing: "ปล่อยเพื่อรีเฟรช..."
        },
        vanSubmitBar: {
            label: "รวม:"
        },
        vanCoupon: {
            unlimited: "ไม่ จำกัด",
            discount: e => `ลด${e}`,
            condition: e => `มีจำหน่ายในราคา ${e} กว่าหยวน`
        },
        vanCouponCell: {
            title: "คูปอง",
            count: e => `มีรูปภาพ ${e} รูป`
        },
        vanCouponList: {
            exchange: "แลกเปลี่ยน",
            close: "ไม่ได้ใช้",
            enable: "พร้อมใช้งาน",
            disabled: "ไม่พร้อมใช้งาน",
            placeholder: "กรุณากรอกรหัสคูปอง"
        },
        vanAddressEdit: {
            area: "พื้นที่",
            areaEmpty: "โปรดเลือกภูมิภาค",
            addressEmpty: "กรุณากรอกที่อยู่โดยละเอียด",
            addressDetail: "ที่อยู่",
            defaultAddress: "ตั้งเป็นที่อยู่จัดส่งเริ่มต้น"
        },
        vanAddressList: {
            add: "เพิ่มที่อยู่"
        }
    },
    soe = {
        name: "Nome",
        tel: "Fone",
        save: "Salvar",
        clear: "Claro",
        cancel: "Cancelar",
        confirm: "Confirmar",
        delete: "Excluir",
        loading: "Carregando...",
        noCoupon: "Nenhum cupom",
        nameEmpty: "Por favor, preencha o nome",
        addContact: "Adicionar novo contato",
        telInvalid: "Telefone em formato inválido",
        vanCalendar: {
            end: "Fim",
            start: "Início",
            title: "Calendário",
            weekdays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
            monthTitle: (e, t) => `${t}/${e}`,
            rangePrompt: e => `Escolha no máximo ${e} dias`
        },
        vanCascader: {
            select: "Selecione"
        },
        vanPagination: {
            prev: "Anterior",
            next: "Próximo"
        },
        vanPullRefresh: {
            pulling: "Puxe para atualizar...",
            loosing: "Solte para atualizar..."
        },
        vanSubmitBar: {
            label: "Total:"
        },
        vanCoupon: {
            unlimited: "Ilimitado",
            discount: e => `${e*10}% de desconto`,
            condition: e => `Pelo menos ${e}`
        },
        vanCouponCell: {
            title: "Cupom",
            count: e => `Você possui ${e} cupom(ns)`
        },
        vanCouponList: {
            exchange: "Usar",
            close: "Fechar",
            enable: "Disponível",
            disabled: "Indisponível",
            placeholder: "Código do cupom"
        },
        vanAddressEdit: {
            area: "Área",
            areaEmpty: "Por favor, selecione uma área de recebimento",
            addressEmpty: "Endereço não pode ser vazio",
            addressDetail: "Endereço",
            defaultAddress: "Usar como endereço padrão"
        },
        vanAddressList: {
            add: "Adicionar novo endereço"
        }
    },
    ooe = {
        name: "নাম",
        tel: "ফোন",
        save: "সংরক্ষণ করুন",
        clear: "পরিষ্কার",
        cancel: "বাতিল",
        confirm: "নিশ্চিত করুন",
        delete: "মুছুন",
        loading: "লোড হচ্ছে...",
        noCoupon: "কোন কুপন নেই",
        nameEmpty: "অনুগ্রহ করে নামটি পূরণ করুন",
        addContact: "যোগাযোগ যোগ করুন",
        telInvalid: "বিকৃত ফোন নম্বর",
        vanCalendar: {
            end: "শেষ",
            start: "শুরু",
            title: "ক্যালেন্ডার",
            weekdays: ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `${e} দিনের বেশি নির্বাচন করবেন না`
        },
        vanCascader: {
            select: "নির্বাচন"
        },
        vanPagination: {
            prev: "পূর্ববর্তী",
            next: "পরবর্তী"
        },
        vanPullRefresh: {
            pulling: "রিফ্রেশ করতে টানুন...",
            loosing: "রিফ্রেশ করতে আলগা..."
        },
        vanSubmitBar: {
            label: "মোট:"
        },
        vanCoupon: {
            unlimited: "আনলিমিটেড",
            discount: e => `${e*10}% ছাড়`,
            condition: e => `অন্তত ${e}`
        },
        vanCouponCell: {
            title: "কুপন",
            count: e => `আপনার ${e} কুপন আছে`
        },
        vanCouponList: {
            exchange: "বিনিময়",
            close: "বন্ধ",
            enable: "উপলভ্য",
            disabled: "অনুপলব্ধ",
            placeholder: "কুপন কোড"
        },
        vanAddressEdit: {
            area: "এরিয়া",
            areaEmpty: "অনুগ্রহ করে একটি রিসিভিং এলাকা নির্বাচন করুন",
            addressEmpty: "ঠিকানা খালি হতে পারে না",
            addressDetail: "ঠিকানা",
            defaultAddress: "ডিফল্ট ঠিকানা হিসাবে সেট করুন"
        },
        vanAddressList: {
            add: "নতুন ঠিকানা যোগ করুন"
        }
    },
    aoe = {
        name: "الاسم",
        tel: "الهاتف",
        save: "حفظ",
        clear: "مسح",
        cancel: "إلغاء",
        confirm: "تأكيد",
        delete: "حذف",
        loading: "جار التحميل...",
        noCoupon: "لا يوجد كوبونات",
        nameEmpty: "يرجى ملء الاسم",
        addContact: "إضافة جهة اتصال",
        telInvalid: "رقم الهاتف غير صحيح",
        vanCalendar: {
            end: "نهاية",
            start: "بداية",
            title: "التقويم",
            weekdays: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"],
            monthTitle: (e, t) => `${e}/${t}`,
            rangePrompt: e => `اختر لا يزيد عن ${e} أيام`
        },
        vanCascader: {
            select: "اختر"
        },
        vanPagination: {
            prev: "السابق",
            next: "التالي"
        },
        vanPullRefresh: {
            pulling: "اسحب للتحديث...",
            loosing: "أفلت للتحديث..."
        },
        vanSubmitBar: {
            label: "المجموع:"
        },
        vanCoupon: {
            unlimited: "غير محدود",
            discount: e => `${e*10}% خصم`,
            condition: e => `على الأقل ${e}`
        },
        vanCouponCell: {
            title: "كوبون",
            count: e => `لديك ${e} كوبونات`
        },
        vanCouponList: {
            exchange: "استبدال",
            close: "إغلاق",
            enable: "متاح",
            disabled: "غير متاح",
            placeholder: "كود الكوبون"
        },
        vanAddressEdit: {
            area: "المنطقة",
            areaEmpty: "يرجى اختيار منطقة استقبال",
            addressEmpty: "العنوان لا يمكن أن يكون فارغًا",
            addressDetail: "العنوان",
            defaultAddress: "تعيين كعنوان افتراضي"
        },
        vanAddressList: {
            add: "إضافة عنوان جديد"
        }
    },
    fE = {
        exports: {}
    };
(function(e, t) {
    (function(n, r) {
        e.exports = r()
    })(yt, function() {
        return function(n, r, A) {
            n = n || {};
            var i = r.prototype,
                s = {
                    future: "in %s",
                    past: "%s ago",
                    s: "a few seconds",
                    m: "a minute",
                    mm: "%d minutes",
                    h: "an hour",
                    hh: "%d hours",
                    d: "a day",
                    dd: "%d days",
                    M: "a month",
                    MM: "%d months",
                    y: "a year",
                    yy: "%d years"
                };

            function o(l, u, f, d) {
                return i.fromToBase(l, u, f, d)
            }
            A.en.relativeTime = s, i.fromToBase = function(l, u, f, d, p) {
                for (var v, B, C, w = f.$locale().relativeTime || s, m = n.thresholds || [{
                        l: "s",
                        r: 44,
                        d: "second"
                    }, {
                        l: "m",
                        r: 89
                    }, {
                        l: "mm",
                        r: 44,
                        d: "minute"
                    }, {
                        l: "h",
                        r: 89
                    }, {
                        l: "hh",
                        r: 21,
                        d: "hour"
                    }, {
                        l: "d",
                        r: 35
                    }, {
                        l: "dd",
                        r: 25,
                        d: "day"
                    }, {
                        l: "M",
                        r: 45
                    }, {
                        l: "MM",
                        r: 10,
                        d: "month"
                    }, {
                        l: "y",
                        r: 17
                    }, {
                        l: "yy",
                        d: "year"
                    }], E = m.length, y = 0; y < E; y += 1) {
                    var x = m[y];
                    x.d && (v = d ? A(l).diff(f, x.d, !0) : f.diff(l, x.d, !0));
                    var F = (n.rounding || Math.round)(Math.abs(v));
                    if (C = v > 0, F <= x.r || !x.r) {
                        F <= 1 && y > 0 && (x = m[y - 1]);
                        var Q = w[x.l];
                        p && (F = p("" + F)), B = typeof Q == "string" ? Q.replace("%d", F) : Q(F, u, x.l, C);
                        break
                    }
                }
                if (u) return B;
                var P = C ? w.future : w.past;
                return typeof P == "function" ? P(B) : P.replace("%s", B)
            }, i.to = function(l, u) {
                return o(l, u, this, !0)
            }, i.from = function(l, u) {
                return o(l, u, this)
            };
            var a = function(l) {
                return l.$u ? A.utc() : A()
            };
            i.toNow = function(l) {
                return this.to(a(this), l)
            }, i.fromNow = function(l) {
                return this.from(a(this), l)
            }
        }
    })
})(fE);
var NW = fE.exports;
const loe = g1(NW);
var $W = {
    exports: {}
};
(function(e, t) {
    (function(n, r) {
        e.exports = r(Yg)
    })(yt, function(n) {
        function r(s) {
            return s && typeof s == "object" && "default" in s ? s : {
                default: s
            }
        }
        var A = r(n),
            i = {
                name: "zh-cn",
                weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
                weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                ordinal: function(s, o) {
                    return o === "W" ? s + "周" : s + "日"
                },
                weekStart: 1,
                yearStart: 4,
                formats: {
                    LT: "HH:mm",
                    LTS: "HH:mm:ss",
                    L: "YYYY/MM/DD",
                    LL: "YYYY年M月D日",
                    LLL: "YYYY年M月D日Ah点mm分",
                    LLLL: "YYYY年M月D日ddddAh点mm分",
                    l: "YYYY/M/D",
                    ll: "YYYY年M月D日",
                    lll: "YYYY年M月D日 HH:mm",
                    llll: "YYYY年M月D日dddd HH:mm"
                },
                relativeTime: {
                    future: "%s内",
                    past: "%s前",
                    s: "几秒",
                    m: "1 分钟",
                    mm: "%d 分钟",
                    h: "1 小时",
                    hh: "%d 小时",
                    d: "1 天",
                    dd: "%d 天",
                    M: "1 个月",
                    MM: "%d 个月",
                    y: "1 年",
                    yy: "%d 年"
                },
                meridiem: function(s, o) {
                    var a = 100 * s + o;
                    return a < 600 ? "凌晨" : a < 900 ? "早上" : a < 1100 ? "上午" : a < 1300 ? "中午" : a < 1800 ? "下午" : "晚上"
                }
            };
        return A.default.locale(i, null, !0), i
    })
})($W);
var KW = {
    exports: {}
};
(function(e, t) {
    (function(n, r) {
        e.exports = r(Yg)
    })(yt, function(n) {
        function r(s) {
            return s && typeof s == "object" && "default" in s ? s : {
                default: s
            }
        }
        var A = r(n),
            i = {
                name: "zh-tw",
                weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
                weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
                weekdaysMin: "日_一_二_三_四_五_六".split("_"),
                months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
                monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
                ordinal: function(s, o) {
                    return o === "W" ? s + "週" : s + "日"
                },
                formats: {
                    LT: "HH:mm",
                    LTS: "HH:mm:ss",
                    L: "YYYY/MM/DD",
                    LL: "YYYY年M月D日",
                    LLL: "YYYY年M月D日 HH:mm",
                    LLLL: "YYYY年M月D日dddd HH:mm",
                    l: "YYYY/M/D",
                    ll: "YYYY年M月D日",
                    lll: "YYYY年M月D日 HH:mm",
                    llll: "YYYY年M月D日dddd HH:mm"
                },
                relativeTime: {
                    future: "%s內",
                    past: "%s前",
                    s: "幾秒",
                    m: "1 分鐘",
                    mm: "%d 分鐘",
                    h: "1 小時",
                    hh: "%d 小時",
                    d: "1 天",
                    dd: "%d 天",
                    M: "1 個月",
                    MM: "%d 個月",
                    y: "1 年",
                    yy: "%d 年"
                },
                meridiem: function(s, o) {
                    var a = 100 * s + o;
                    return a < 600 ? "凌晨" : a < 900 ? "早上" : a < 1100 ? "上午" : a < 1300 ? "中午" : a < 1800 ? "下午" : "晚上"
                }
            };
        return A.default.locale(i, null, !0), i
    })
})(KW);
var VW = {
    exports: {}
};
(function(e, t) {
    (function(n, r) {
        e.exports = r()
    })(yt, function() {
        return {
            name: "en",
            weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
            months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
            ordinal: function(n) {
                var r = ["th", "st", "nd", "rd"],
                    A = n % 100;
                return "[" + n + (r[(A - 20) % 10] || r[A] || r[0]) + "]"
            }
        }
    })
})(VW);
/*!
 * vue-router v4.1.6
 * (c) 2022 Eduardo San Martin Morote
 * @license MIT
 */
const gi = typeof window < "u";

function GW(e) {
    return e.__esModule || e[Symbol.toStringTag] === "Module"
}
const Nt = Object.assign;

function kh(e, t) {
    const n = {};
    for (const r in t) {
        const A = t[r];
        n[r] = Nr(A) ? A.map(e) : e(A)
    }
    return n
}
const Cu = () => {},
    Nr = Array.isArray;

function _t(e) {
    const t = Array.from(arguments).slice(1);
    console.warn.apply(console, ["[Vue Router warn]: " + e].concat(t))
}
const jW = /\/$/,
    WW = e => e.replace(jW, "");

function Hh(e, t, n = "/") {
    let r, A = {},
        i = "",
        s = "";
    const o = t.indexOf("#");
    let a = t.indexOf("?");
    return o < a && o >= 0 && (a = -1), a > -1 && (r = t.slice(0, a), i = t.slice(a + 1, o > -1 ? o : t.length), A = e(i)), o > -1 && (r = r || t.slice(0, o), s = t.slice(o, t.length)), r = XW(r ? ? t, n), {
        fullPath: r + (i && "?") + i + s,
        path: r,
        query: A,
        hash: s
    }
}

function zW(e, t) {
    const n = t.query ? e(t.query) : "";
    return t.path + (n && "?") + n + (t.hash || "")
}

function V8(e, t) {
    return !t || !e.toLowerCase().startsWith(t.toLowerCase()) ? e : e.slice(t.length) || "/"
}

function G8(e, t, n) {
    const r = t.matched.length - 1,
        A = n.matched.length - 1;
    return r > -1 && r === A && Ls(t.matched[r], n.matched[A]) && dE(t.params, n.params) && e(t.query) === e(n.query) && t.hash === n.hash
}

function Ls(e, t) {
    return (e.aliasOf || e) === (t.aliasOf || t)
}

function dE(e, t) {
    if (Object.keys(e).length !== Object.keys(t).length) return !1;
    for (const n in e)
        if (!YW(e[n], t[n])) return !1;
    return !0
}

function YW(e, t) {
    return Nr(e) ? j8(e, t) : Nr(t) ? j8(t, e) : e === t
}

function j8(e, t) {
    return Nr(t) ? e.length === t.length && e.every((n, r) => n === t[r]) : e.length === 1 && e[0] === t
}

function XW(e, t) {
    if (e.startsWith("/")) return e;
    if (!t.startsWith("/")) return _t(`Cannot resolve a relative location without an absolute path. Trying to resolve "${e}" from "${t}". It should look like "/${t}".`), e;
    if (!e) return t;
    const n = t.split("/"),
        r = e.split("/");
    let A = n.length - 1,
        i, s;
    for (i = 0; i < r.length; i++)
        if (s = r[i], s !== ".")
            if (s === "..") A > 1 && A--;
            else break;
    return n.slice(0, A).join("/") + "/" + r.slice(i - (i === r.length ? 1 : 0)).join("/")
}
var zu;
(function(e) {
    e.pop = "pop", e.push = "push"
})(zu || (zu = {}));
var Eu;
(function(e) {
    e.back = "back", e.forward = "forward", e.unknown = ""
})(Eu || (Eu = {}));

function JW(e) {
    if (!e)
        if (gi) {
            const t = document.querySelector("base");
            e = t && t.getAttribute("href") || "/", e = e.replace(/^\w+:\/\/[^\/]+/, "")
        } else e = "/";
    return e[0] !== "/" && e[0] !== "#" && (e = "/" + e), WW(e)
}
const qW = /^[^#]+#/;

function ZW(e, t) {
    return e.replace(qW, "#") + t
}

function ez(e, t) {
    const n = document.documentElement.getBoundingClientRect(),
        r = e.getBoundingClientRect();
    return {
        behavior: t.behavior,
        left: r.left - n.left - (t.left || 0),
        top: r.top - n.top - (t.top || 0)
    }
}
const R1 = () => ({
    left: window.pageXOffset,
    top: window.pageYOffset
});

function tz(e) {
    let t;
    if ("el" in e) {
        const n = e.el,
            r = typeof n == "string" && n.startsWith("#");
        if (typeof e.el == "string" && (!r || !document.getElementById(e.el.slice(1)))) try {
            const i = document.querySelector(e.el);
            if (r && i) {
                _t(`The selector "${e.el}" should be passed as "el: document.querySelector('${e.el}')" because it starts with "#".`);
                return
            }
        } catch {
            _t(`The selector "${e.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);
            return
        }
        const A = typeof n == "string" ? r ? document.getElementById(n.slice(1)) : document.querySelector(n) : n;
        if (!A) {
            _t(`Couldn't find element using selector "${e.el}" returned by scrollBehavior.`);
            return
        }
        t = ez(A, e)
    } else t = e;
    "scrollBehavior" in document.documentElement.style ? window.scrollTo(t) : window.scrollTo(t.left != null ? t.left : window.pageXOffset, t.top != null ? t.top : window.pageYOffset)
}

function W8(e, t) {
    return (history.state ? history.state.position - t : -1) + e
}
const k6 = new Map;

function nz(e, t) {
    k6.set(e, t)
}

function rz(e) {
    const t = k6.get(e);
    return k6.delete(e), t
}
let Az = () => location.protocol + "//" + location.host;

function hE(e, t) {
    const {
        pathname: n,
        search: r,
        hash: A
    } = t, i = e.indexOf("#");
    if (i > -1) {
        let o = A.includes(e.slice(i)) ? e.slice(i).length : 1,
            a = A.slice(o);
        return a[0] !== "/" && (a = "/" + a), V8(a, "")
    }
    return V8(n, e) + r + A
}

function iz(e, t, n, r) {
    let A = [],
        i = [],
        s = null;
    const o = ({
        state: d
    }) => {
        const p = hE(e, location),
            v = n.value,
            B = t.value;
        let C = 0;
        if (d) {
            if (n.value = p, t.value = d, s && s === v) {
                s = null;
                return
            }
            C = B ? d.position - B.position : 0
        } else r(p);
        A.forEach(w => {
            w(n.value, v, {
                delta: C,
                type: zu.pop,
                direction: C ? C > 0 ? Eu.forward : Eu.back : Eu.unknown
            })
        })
    };

    function a() {
        s = n.value
    }

    function l(d) {
        A.push(d);
        const p = () => {
            const v = A.indexOf(d);
            v > -1 && A.splice(v, 1)
        };
        return i.push(p), p
    }

    function u() {
        const {
            history: d
        } = window;
        d.state && d.replaceState(Nt({}, d.state, {
            scroll: R1()
        }), "")
    }

    function f() {
        for (const d of i) d();
        i = [], window.removeEventListener("popstate", o), window.removeEventListener("beforeunload", u)
    }
    return window.addEventListener("popstate", o), window.addEventListener("beforeunload", u), {
        pauseListeners: a,
        listen: l,
        destroy: f
    }
}

function z8(e, t, n, r = !1, A = !1) {
    return {
        back: e,
        current: t,
        forward: n,
        replaced: r,
        position: window.history.length,
        scroll: A ? R1() : null
    }
}

function sz(e) {
    const {
        history: t,
        location: n
    } = window, r = {
        value: hE(e, n)
    }, A = {
        value: t.state
    };
    A.value || i(r.value, {
        back: null,
        current: r.value,
        forward: null,
        position: t.length - 1,
        replaced: !0,
        scroll: null
    }, !0);

    function i(a, l, u) {
        const f = e.indexOf("#"),
            d = f > -1 ? (n.host && document.querySelector("base") ? e : e.slice(f)) + a : Az() + e + a;
        try {
            t[u ? "replaceState" : "pushState"](l, "", d), A.value = l
        } catch (p) {
            _t("Error with push/replace State", p), n[u ? "replace" : "assign"](d)
        }
    }

    function s(a, l) {
        const u = Nt({}, t.state, z8(A.value.back, a, A.value.forward, !0), l, {
            position: A.value.position
        });
        i(a, u, !0), r.value = a
    }

    function o(a, l) {
        const u = Nt({}, A.value, t.state, {
            forward: a,
            scroll: R1()
        });
        t.state || _t(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:

history.replaceState(history.state, '', url)

You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`), i(u.current, u, !0);
        const f = Nt({}, z8(r.value, a, null), {
            position: u.position + 1
        }, l);
        i(a, f, !1), r.value = a
    }
    return {
        location: r,
        state: A,
        push: o,
        replace: s
    }
}

function oz(e) {
    e = JW(e);
    const t = sz(e),
        n = iz(e, t.state, t.location, t.replace);

    function r(i, s = !0) {
        s || n.pauseListeners(), history.go(i)
    }
    const A = Nt({
        location: "",
        base: e,
        go: r,
        createHref: ZW.bind(null, e)
    }, t, n);
    return Object.defineProperty(A, "location", {
        enumerable: !0,
        get: () => t.location.value
    }), Object.defineProperty(A, "state", {
        enumerable: !0,
        get: () => t.state.value
    }), A
}

function uoe(e) {
    return e = location.host ? e || location.pathname + location.search : "", e.includes("#") || (e += "#"), !e.endsWith("#/") && !e.endsWith("#") && _t(`A hash base must end with a "#":
"${e}" should be "${e.replace(/#.*$/,"#")}".`), oz(e)
}

function az(e) {
    return typeof e == "string" || e && typeof e == "object"
}

function pE(e) {
    return typeof e == "string" || typeof e == "symbol"
}
const ts = {
        path: "/",
        name: void 0,
        params: {},
        query: {},
        hash: "",
        fullPath: "/",
        matched: [],
        meta: {},
        redirectedFrom: void 0
    },
    gE = Symbol("navigation failure");
var Y8;
(function(e) {
    e[e.aborted = 4] = "aborted", e[e.cancelled = 8] = "cancelled", e[e.duplicated = 16] = "duplicated"
})(Y8 || (Y8 = {}));
const lz = {
    1({
        location: e,
        currentLocation: t
    }) {
        return `No match for
 ${JSON.stringify(e)}${t?`
while being at
`+JSON.stringify(t):""}`
    },
    2({
        from: e,
        to: t
    }) {
        return `Redirected from "${e.fullPath}" to "${cz(t)}" via a navigation guard.`
    },
    4({
        from: e,
        to: t
    }) {
        return `Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`
    },
    8({
        from: e,
        to: t
    }) {
        return `Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`
    },
    16({
        from: e,
        to: t
    }) {
        return `Avoided redundant navigation to current location: "${e.fullPath}".`
    }
};

function za(e, t) {
    return Nt(new Error(lz[e](t)), {
        type: e,
        [gE]: !0
    }, t)
}

function ai(e, t) {
    return e instanceof Error && gE in e && (t == null || !!(e.type & t))
}
const uz = ["params", "query", "hash"];

function cz(e) {
    if (typeof e == "string") return e;
    if ("path" in e) return e.path;
    const t = {};
    for (const n of uz) n in e && (t[n] = e[n]);
    return JSON.stringify(t, null, 2)
}
const X8 = "[^/]+?",
    fz = {
        sensitive: !1,
        strict: !1,
        start: !0,
        end: !0
    },
    dz = /[.+*?^${}()[\]/\\]/g;

function hz(e, t) {
    const n = Nt({}, fz, t),
        r = [];
    let A = n.start ? "^" : "";
    const i = [];
    for (const l of e) {
        const u = l.length ? [] : [90];
        n.strict && !l.length && (A += "/");
        for (let f = 0; f < l.length; f++) {
            const d = l[f];
            let p = 40 + (n.sensitive ? .25 : 0);
            if (d.type === 0) f || (A += "/"), A += d.value.replace(dz, "\\$&"), p += 40;
            else if (d.type === 1) {
                const {
                    value: v,
                    repeatable: B,
                    optional: C,
                    regexp: w
                } = d;
                i.push({
                    name: v,
                    repeatable: B,
                    optional: C
                });
                const m = w || X8;
                if (m !== X8) {
                    p += 10;
                    try {
                        new RegExp(`(${m})`)
                    } catch (y) {
                        throw new Error(`Invalid custom RegExp for param "${v}" (${m}): ` + y.message)
                    }
                }
                let E = B ? `((?:${m})(?:/(?:${m}))*)` : `(${m})`;
                f || (E = C && l.length < 2 ? `(?:/${E})` : "/" + E), C && (E += "?"), A += E, p += 20, C && (p += -8), B && (p += -20), m === ".*" && (p += -50)
            }
            u.push(p)
        }
        r.push(u)
    }
    if (n.strict && n.end) {
        const l = r.length - 1;
        r[l][r[l].length - 1] += .7000000000000001
    }
    n.strict || (A += "/?"), n.end ? A += "$" : n.strict && (A += "(?:/|$)");
    const s = new RegExp(A, n.sensitive ? "" : "i");

    function o(l) {
        const u = l.match(s),
            f = {};
        if (!u) return null;
        for (let d = 1; d < u.length; d++) {
            const p = u[d] || "",
                v = i[d - 1];
            f[v.name] = p && v.repeatable ? p.split("/") : p
        }
        return f
    }

    function a(l) {
        let u = "",
            f = !1;
        for (const d of e) {
            (!f || !u.endsWith("/")) && (u += "/"), f = !1;
            for (const p of d)
                if (p.type === 0) u += p.value;
                else if (p.type === 1) {
                const {
                    value: v,
                    repeatable: B,
                    optional: C
                } = p, w = v in l ? l[v] : "";
                if (Nr(w) && !B) throw new Error(`Provided param "${v}" is an array but it is not repeatable (* or + modifiers)`);
                const m = Nr(w) ? w.join("/") : w;
                if (!m)
                    if (C) d.length < 2 && (u.endsWith("/") ? u = u.slice(0, -1) : f = !0);
                    else throw new Error(`Missing required param "${v}"`);
                u += m
            }
        }
        return u || "/"
    }
    return {
        re: s,
        score: r,
        keys: i,
        parse: o,
        stringify: a
    }
}

function pz(e, t) {
    let n = 0;
    for (; n < e.length && n < t.length;) {
        const r = t[n] - e[n];
        if (r) return r;
        n++
    }
    return e.length < t.length ? e.length === 1 && e[0] === 40 + 40 ? -1 : 1 : e.length > t.length ? t.length === 1 && t[0] === 40 + 40 ? 1 : -1 : 0
}

function gz(e, t) {
    let n = 0;
    const r = e.score,
        A = t.score;
    for (; n < r.length && n < A.length;) {
        const i = pz(r[n], A[n]);
        if (i) return i;
        n++
    }
    if (Math.abs(A.length - r.length) === 1) {
        if (J8(r)) return 1;
        if (J8(A)) return -1
    }
    return A.length - r.length
}

function J8(e) {
    const t = e[e.length - 1];
    return e.length > 0 && t[t.length - 1] < 0
}
const vz = {
        type: 0,
        value: ""
    },
    mz = /[a-zA-Z0-9_]/;

function Bz(e) {
    if (!e) return [
        []
    ];
    if (e === "/") return [
        [vz]
    ];
    if (!e.startsWith("/")) throw new Error(`Route paths should start with a "/": "${e}" should be "/${e}".`);

    function t(p) {
        throw new Error(`ERR (${n})/"${l}": ${p}`)
    }
    let n = 0,
        r = n;
    const A = [];
    let i;

    function s() {
        i && A.push(i), i = []
    }
    let o = 0,
        a, l = "",
        u = "";

    function f() {
        l && (n === 0 ? i.push({
            type: 0,
            value: l
        }) : n === 1 || n === 2 || n === 3 ? (i.length > 1 && (a === "*" || a === "+") && t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`), i.push({
            type: 1,
            value: l,
            regexp: u,
            repeatable: a === "*" || a === "+",
            optional: a === "*" || a === "?"
        })) : t("Invalid state to consume buffer"), l = "")
    }

    function d() {
        l += a
    }
    for (; o < e.length;) {
        if (a = e[o++], a === "\\" && n !== 2) {
            r = n, n = 4;
            continue
        }
        switch (n) {
            case 0:
                a === "/" ? (l && f(), s()) : a === ":" ? (f(), n = 1) : d();
                break;
            case 4:
                d(), n = r;
                break;
            case 1:
                a === "(" ? n = 2 : mz.test(a) ? d() : (f(), n = 0, a !== "*" && a !== "?" && a !== "+" && o--);
                break;
            case 2:
                a === ")" ? u[u.length - 1] == "\\" ? u = u.slice(0, -1) + a : n = 3 : u += a;
                break;
            case 3:
                f(), n = 0, a !== "*" && a !== "?" && a !== "+" && o--, u = "";
                break;
            default:
                t("Unknown state");
                break
        }
    }
    return n === 2 && t(`Unfinished custom RegExp for param "${l}"`), f(), s(), A
}

function wz(e, t, n) {
    const r = hz(Bz(e.path), n); {
        const i = new Set;
        for (const s of r.keys) i.has(s.name) && _t(`Found duplicated params with name "${s.name}" for path "${e.path}". Only the last one will be available on "$route.params".`), i.add(s.name)
    }
    const A = Nt(r, {
        record: e,
        parent: t,
        children: [],
        alias: []
    });
    return t && !A.record.aliasOf == !t.record.aliasOf && t.children.push(A), A
}

function yz(e, t) {
    const n = [],
        r = new Map;
    t = e7({
        strict: !1,
        end: !0,
        sensitive: !1
    }, t);

    function A(u) {
        return r.get(u)
    }

    function i(u, f, d) {
        const p = !d,
            v = Cz(u);
        _z(v, f), v.aliasOf = d && d.record;
        const B = e7(t, u),
            C = [v];
        if ("alias" in u) {
            const E = typeof u.alias == "string" ? [u.alias] : u.alias;
            for (const y of E) C.push(Nt({}, v, {
                components: d ? d.record.components : v.components,
                path: y,
                aliasOf: d ? d.record : v
            }))
        }
        let w, m;
        for (const E of C) {
            const {
                path: y
            } = E;
            if (f && y[0] !== "/") {
                const x = f.record.path,
                    F = x[x.length - 1] === "/" ? "" : "/";
                E.path = f.record.path + (y && F + y)
            }
            if (E.path === "*") throw new Error(`Catch all routes ("*") must now be defined using a param with a custom regexp.
See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.`);
            if (w = wz(E, f, B), f && y[0] === "/" && Fz(w, f), d ? (d.alias.push(w), xz(d, w)) : (m = m || w, m !== w && m.alias.push(w), p && u.name && !Z8(w) && s(u.name)), v.children) {
                const x = v.children;
                for (let F = 0; F < x.length; F++) i(x[F], w, d && d.children[F])
            }
            d = d || w, (w.record.components && Object.keys(w.record.components).length || w.record.name || w.record.redirect) && a(w)
        }
        return m ? () => {
            s(m)
        } : Cu
    }

    function s(u) {
        if (pE(u)) {
            const f = r.get(u);
            f && (r.delete(u), n.splice(n.indexOf(f), 1), f.children.forEach(s), f.alias.forEach(s))
        } else {
            const f = n.indexOf(u);
            f > -1 && (n.splice(f, 1), u.record.name && r.delete(u.record.name), u.children.forEach(s), u.alias.forEach(s))
        }
    }

    function o() {
        return n
    }

    function a(u) {
        let f = 0;
        for (; f < n.length && gz(u, n[f]) >= 0 && (u.record.path !== n[f].record.path || !vE(u, n[f]));) f++;
        n.splice(f, 0, u), u.record.name && !Z8(u) && r.set(u.record.name, u)
    }

    function l(u, f) {
        let d, p = {},
            v, B;
        if ("name" in u && u.name) {
            if (d = r.get(u.name), !d) throw za(1, {
                location: u
            }); {
                const m = Object.keys(u.params || {}).filter(E => !d.keys.find(y => y.name === E));
                m.length && _t(`Discarded invalid param(s) "${m.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)
            }
            B = d.record.name, p = Nt(q8(f.params, d.keys.filter(m => !m.optional).map(m => m.name)), u.params && q8(u.params, d.keys.map(m => m.name))), v = d.stringify(p)
        } else if ("path" in u) v = u.path, v.startsWith("/") || _t(`The Matcher cannot resolve relative paths but received "${v}". Unless you directly called \`matcher.resolve("${v}")\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`), d = n.find(m => m.re.test(v)), d && (p = d.parse(v), B = d.record.name);
        else {
            if (d = f.name ? r.get(f.name) : n.find(m => m.re.test(f.path)), !d) throw za(1, {
                location: u,
                currentLocation: f
            });
            B = d.record.name, p = Nt({}, f.params, u.params), v = d.stringify(p)
        }
        const C = [];
        let w = d;
        for (; w;) C.unshift(w.record), w = w.parent;
        return {
            name: B,
            path: v,
            params: p,
            matched: C,
            meta: bz(C)
        }
    }
    return e.forEach(u => i(u)), {
        addRoute: i,
        resolve: l,
        removeRoute: s,
        getRoutes: o,
        getRecordMatcher: A
    }
}

function q8(e, t) {
    const n = {};
    for (const r of t) r in e && (n[r] = e[r]);
    return n
}

function Cz(e) {
    return {
        path: e.path,
        redirect: e.redirect,
        name: e.name,
        meta: e.meta || {},
        aliasOf: void 0,
        beforeEnter: e.beforeEnter,
        props: Ez(e),
        children: e.children || [],
        instances: {},
        leaveGuards: new Set,
        updateGuards: new Set,
        enterCallbacks: {},
        components: "components" in e ? e.components || null : e.component && {
            default: e.component
        }
    }
}

function Ez(e) {
    const t = {},
        n = e.props || !1;
    if ("component" in e) t.default = n;
    else
        for (const r in e.components) t[r] = typeof n == "boolean" ? n : n[r];
    return t
}

function Z8(e) {
    for (; e;) {
        if (e.record.aliasOf) return !0;
        e = e.parent
    }
    return !1
}

function bz(e) {
    return e.reduce((t, n) => Nt(t, n.meta), {})
}

function e7(e, t) {
    const n = {};
    for (const r in e) n[r] = r in t ? t[r] : e[r];
    return n
}

function H6(e, t) {
    return e.name === t.name && e.optional === t.optional && e.repeatable === t.repeatable
}

function xz(e, t) {
    for (const n of e.keys)
        if (!n.optional && !t.keys.find(H6.bind(null, n))) return _t(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`);
    for (const n of t.keys)
        if (!n.optional && !e.keys.find(H6.bind(null, n))) return _t(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`)
}

function _z(e, t) {
    t && t.record.name && !e.name && !e.path && _t(`The route named "${String(t.record.name)}" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`)
}

function Fz(e, t) {
    for (const n of t.keys)
        if (!e.keys.find(H6.bind(null, n))) return _t(`Absolute path "${e.record.path}" must have the exact same param named "${n.name}" as its parent "${t.record.path}".`)
}

function vE(e, t) {
    return t.children.some(n => n === e || vE(e, n))
}
const mE = /#/g,
    Sz = /&/g,
    Tz = /\//g,
    Iz = /=/g,
    Qz = /\?/g,
    BE = /\+/g,
    Uz = /%5B/g,
    Pz = /%5D/g,
    wE = /%5E/g,
    Oz = /%60/g,
    yE = /%7B/g,
    Dz = /%7C/g,
    CE = /%7D/g,
    Lz = /%20/g;

function b5(e) {
    return encodeURI("" + e).replace(Dz, "|").replace(Uz, "[").replace(Pz, "]")
}

function kz(e) {
    return b5(e).replace(yE, "{").replace(CE, "}").replace(wE, "^")
}

function M6(e) {
    return b5(e).replace(BE, "%2B").replace(Lz, "+").replace(mE, "%23").replace(Sz, "%26").replace(Oz, "`").replace(yE, "{").replace(CE, "}").replace(wE, "^")
}

function Hz(e) {
    return M6(e).replace(Iz, "%3D")
}

function Mz(e) {
    return b5(e).replace(mE, "%23").replace(Qz, "%3F")
}

function Rz(e) {
    return e == null ? "" : Mz(e).replace(Tz, "%2F")
}

function Yu(e) {
    try {
        return decodeURIComponent("" + e)
    } catch {
        _t(`Error decoding "${e}". Using original value`)
    }
    return "" + e
}

function Nz(e) {
    const t = {};
    if (e === "" || e === "?") return t;
    const r = (e[0] === "?" ? e.slice(1) : e).split("&");
    for (let A = 0; A < r.length; ++A) {
        const i = r[A].replace(BE, " "),
            s = i.indexOf("="),
            o = Yu(s < 0 ? i : i.slice(0, s)),
            a = s < 0 ? null : Yu(i.slice(s + 1));
        if (o in t) {
            let l = t[o];
            Nr(l) || (l = t[o] = [l]), l.push(a)
        } else t[o] = a
    }
    return t
}

function t7(e) {
    let t = "";
    for (let n in e) {
        const r = e[n];
        if (n = Hz(n), r == null) {
            r !== void 0 && (t += (t.length ? "&" : "") + n);
            continue
        }(Nr(r) ? r.map(i => i && M6(i)) : [r && M6(r)]).forEach(i => {
            i !== void 0 && (t += (t.length ? "&" : "") + n, i != null && (t += "=" + i))
        })
    }
    return t
}

function $z(e) {
    const t = {};
    for (const n in e) {
        const r = e[n];
        r !== void 0 && (t[n] = Nr(r) ? r.map(A => A == null ? null : "" + A) : r == null ? r : "" + r)
    }
    return t
}
const EE = Symbol("router view location matched"),
    n7 = Symbol("router view depth"),
    N1 = Symbol("router"),
    x5 = Symbol("route location"),
    R6 = Symbol("router view location");

function $l() {
    let e = [];

    function t(r) {
        return e.push(r), () => {
            const A = e.indexOf(r);
            A > -1 && e.splice(A, 1)
        }
    }

    function n() {
        e = []
    }
    return {
        add: t,
        list: () => e,
        reset: n
    }
}

function Kz(e, t, n) {
    const r = () => {
        e[t].delete(n)
    };
    Li(r), Oi(r), Ms(() => {
        e[t].add(n)
    }), e[t].add(n)
}

function coe(e) {
    if (!$t()) {
        _t("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function");
        return
    }
    const t = En(EE, {}).value;
    if (!t) {
        _t("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?");
        return
    }
    Kz(t, "leaveGuards", e)
}

function as(e, t, n, r, A) {
    const i = r && (r.enterCallbacks[A] = r.enterCallbacks[A] || []);
    return () => new Promise((s, o) => {
        const a = f => {
                f === !1 ? o(za(4, {
                    from: n,
                    to: t
                })) : f instanceof Error ? o(f) : az(f) ? o(za(2, {
                    from: t,
                    to: f
                })) : (i && r.enterCallbacks[A] === i && typeof f == "function" && i.push(f), s())
            },
            l = e.call(r && r.instances[A], t, n, Vz(a, t, n));
        let u = Promise.resolve(l);
        if (e.length < 3 && (u = u.then(a)), e.length > 2) {
            const f = `The "next" callback was never called inside of ${e.name?'"'+e.name+'"':""}:
${e.toString()}
. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;
            if (typeof l == "object" && "then" in l) u = u.then(d => a._called ? d : (_t(f), Promise.reject(new Error("Invalid navigation guard"))));
            else if (l !== void 0 && !a._called) {
                _t(f), o(new Error("Invalid navigation guard"));
                return
            }
        }
        u.catch(f => o(f))
    })
}

function Vz(e, t, n) {
    let r = 0;
    return function() {
        r++ === 1 && _t(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`), e._called = !0, r === 1 && e.apply(null, arguments)
    }
}

function Mh(e, t, n, r) {
    const A = [];
    for (const i of e) {
        !i.components && !i.children.length && _t(`Record with path "${i.path}" is either missing a "component(s)" or "children" property.`);
        for (const s in i.components) {
            let o = i.components[s]; {
                if (!o || typeof o != "object" && typeof o != "function") throw _t(`Component "${s}" in record with path "${i.path}" is not a valid component. Received "${String(o)}".`), new Error("Invalid route component");
                if ("then" in o) {
                    _t(`Component "${s}" in record with path "${i.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`);
                    const a = o;
                    o = () => a
                } else o.__asyncLoader && !o.__warnedDefineAsync && (o.__warnedDefineAsync = !0, _t(`Component "${s}" in record with path "${i.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`))
            }
            if (!(t !== "beforeRouteEnter" && !i.instances[s]))
                if (Gz(o)) {
                    const l = (o.__vccOpts || o)[t];
                    l && A.push(as(l, n, r, i, s))
                } else {
                    let a = o();
                    "catch" in a || (_t(`Component "${s}" in record with path "${i.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`), a = Promise.resolve(a)), A.push(() => a.then(l => {
                        if (!l) return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${i.path}"`));
                        const u = GW(l) ? l.default : l;
                        i.components[s] = u;
                        const d = (u.__vccOpts || u)[t];
                        return d && as(d, n, r, i, s)()
                    }))
                }
        }
    }
    return A
}

function Gz(e) {
    return typeof e == "object" || "displayName" in e || "props" in e || "__vccOpts" in e
}

function r7(e) {
    const t = En(N1),
        n = En(x5),
        r = De(() => t.resolve(fr(e.to))),
        A = De(() => {
            const {
                matched: a
            } = r.value, {
                length: l
            } = a, u = a[l - 1], f = n.matched;
            if (!u || !f.length) return -1;
            const d = f.findIndex(Ls.bind(null, u));
            if (d > -1) return d;
            const p = A7(a[l - 2]);
            return l > 1 && A7(u) === p && f[f.length - 1].path !== p ? f.findIndex(Ls.bind(null, a[l - 2])) : d
        }),
        i = De(() => A.value > -1 && Yz(n.params, r.value.params)),
        s = De(() => A.value > -1 && A.value === n.matched.length - 1 && dE(n.params, r.value.params));

    function o(a = {}) {
        return zz(a) ? t[fr(e.replace) ? "replace" : "push"](fr(e.to)).catch(Cu) : Promise.resolve()
    }
    if (gi) {
        const a = $t();
        if (a) {
            const l = {
                route: r.value,
                isActive: i.value,
                isExactActive: s.value
            };
            a.__vrl_devtools = a.__vrl_devtools || [], a.__vrl_devtools.push(l), hc(() => {
                l.route = r.value, l.isActive = i.value, l.isExactActive = s.value
            }, {
                flush: "post"
            })
        }
    }
    return {
        route: r,
        href: De(() => r.value.href),
        isActive: i,
        isExactActive: s,
        navigate: o
    }
}
const jz = nt({
        name: "RouterLink",
        compatConfig: {
            MODE: 3
        },
        props: {
            to: {
                type: [String, Object],
                required: !0
            },
            replace: Boolean,
            activeClass: String,
            exactActiveClass: String,
            custom: Boolean,
            ariaCurrentValue: {
                type: String,
                default: "page"
            }
        },
        useLink: r7,
        setup(e, {
            slots: t
        }) {
            const n = Zt(r7(e)),
                {
                    options: r
                } = En(N1),
                A = De(() => ({
                    [i7(e.activeClass, r.linkActiveClass, "router-link-active")]: n.isActive,
                    [i7(e.exactActiveClass, r.linkExactActiveClass, "router-link-exact-active")]: n.isExactActive
                }));
            return () => {
                const i = t.default && t.default(n);
                return e.custom ? i : Rn("a", {
                    "aria-current": n.isExactActive ? e.ariaCurrentValue : null,
                    href: n.href,
                    onClick: n.navigate,
                    class: A.value
                }, i)
            }
        }
    }),
    Wz = jz;

function zz(e) {
    if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && !e.defaultPrevented && !(e.button !== void 0 && e.button !== 0)) {
        if (e.currentTarget && e.currentTarget.getAttribute) {
            const t = e.currentTarget.getAttribute("target");
            if (/\b_blank\b/i.test(t)) return
        }
        return e.preventDefault && e.preventDefault(), !0
    }
}

function Yz(e, t) {
    for (const n in t) {
        const r = t[n],
            A = e[n];
        if (typeof r == "string") {
            if (r !== A) return !1
        } else if (!Nr(A) || A.length !== r.length || r.some((i, s) => i !== A[s])) return !1
    }
    return !0
}

function A7(e) {
    return e ? e.aliasOf ? e.aliasOf.path : e.path : ""
}
const i7 = (e, t, n) => e ? ? t ? ? n,
    Xz = nt({
        name: "RouterView",
        inheritAttrs: !1,
        props: {
            name: {
                type: String,
                default: "default"
            },
            route: Object
        },
        compatConfig: {
            MODE: 3
        },
        setup(e, {
            attrs: t,
            slots: n
        }) {
            qz();
            const r = En(R6),
                A = De(() => e.route || r.value),
                i = En(n7, 0),
                s = De(() => {
                    let l = fr(i);
                    const {
                        matched: u
                    } = A.value;
                    let f;
                    for (;
                        (f = u[l]) && !f.components;) l++;
                    return l
                }),
                o = De(() => A.value.matched[s.value]);
            BA(n7, De(() => s.value + 1)), BA(EE, o), BA(R6, A);
            const a = Ie();
            return Xe(() => [a.value, o.value, e.name], ([l, u, f], [d, p, v]) => {
                u && (u.instances[f] = l, p && p !== u && l && l === d && (u.leaveGuards.size || (u.leaveGuards = p.leaveGuards), u.updateGuards.size || (u.updateGuards = p.updateGuards))), l && u && (!p || !Ls(u, p) || !d) && (u.enterCallbacks[f] || []).forEach(B => B(l))
            }, {
                flush: "post"
            }), () => {
                const l = A.value,
                    u = e.name,
                    f = o.value,
                    d = f && f.components[u];
                if (!d) return s7(n.default, {
                    Component: d,
                    route: l
                });
                const p = f.props[u],
                    v = p ? p === !0 ? l.params : typeof p == "function" ? p(l) : p : null,
                    C = Rn(d, Nt({}, v, t, {
                        onVnodeUnmounted: w => {
                            w.component.isUnmounted && (f.instances[u] = null)
                        },
                        ref: a
                    }));
                if (gi && C.ref) {
                    const w = {
                        depth: s.value,
                        name: f.name,
                        path: f.path,
                        meta: f.meta
                    };
                    (Nr(C.ref) ? C.ref.map(E => E.i) : [C.ref.i]).forEach(E => {
                        E.__vrv_devtools = w
                    })
                }
                return s7(n.default, {
                    Component: C,
                    route: l
                }) || C
            }
        }
    });

function s7(e, t) {
    if (!e) return null;
    const n = e(t);
    return n.length === 1 ? n[0] : n
}
const Jz = Xz;

function qz() {
    const e = $t(),
        t = e.parent && e.parent.type.name;
    if (t && (t === "KeepAlive" || t.includes("Transition"))) {
        const n = t === "KeepAlive" ? "keep-alive" : "transition";
        _t(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.
Use slot props instead:

<router-view v-slot="{ Component }">
  <${n}>
    <component :is="Component" />
  </${n}>
</router-view>`)
    }
}

function Kl(e, t) {
    const n = Nt({}, e, {
        matched: e.matched.map(r => oY(r, ["instances", "children", "aliasOf"]))
    });
    return {
        _custom: {
            type: null,
            readOnly: !0,
            display: e.fullPath,
            tooltip: t,
            value: n
        }
    }
}

function c0(e) {
    return {
        _custom: {
            display: e
        }
    }
}
let Zz = 0;

function eY(e, t, n) {
    if (t.__hasDevtools) return;
    t.__hasDevtools = !0;
    const r = Zz++;
    h1({
        id: "org.vuejs.router" + (r ? "." + r : ""),
        label: "Vue Router",
        packageName: "vue-router",
        homepage: "https://router.vuejs.org",
        logo: "https://router.vuejs.org/logo.png",
        componentStateTypes: ["Routing"],
        app: e
    }, A => {
        typeof A.now != "function" && console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."), A.on.inspectComponent((u, f) => {
            u.instanceData && u.instanceData.state.push({
                type: "Routing",
                key: "$route",
                editable: !1,
                value: Kl(t.currentRoute.value, "Current Route")
            })
        }), A.on.visitComponentTree(({
            treeNode: u,
            componentInstance: f
        }) => {
            if (f.__vrv_devtools) {
                const d = f.__vrv_devtools;
                u.tags.push({
                    label: (d.name ? `${d.name.toString()}: ` : "") + d.path,
                    textColor: 0,
                    tooltip: "This component is rendered by &lt;router-view&gt;",
                    backgroundColor: bE
                })
            }
            Nr(f.__vrl_devtools) && (f.__devtoolsApi = A, f.__vrl_devtools.forEach(d => {
                let p = FE,
                    v = "";
                d.isExactActive ? (p = _E, v = "This is exactly active") : d.isActive && (p = xE, v = "This link is active"), u.tags.push({
                    label: d.route.path,
                    textColor: 0,
                    tooltip: v,
                    backgroundColor: p
                })
            }))
        }), Xe(t.currentRoute, () => {
            a(), A.notifyComponentUpdate(), A.sendInspectorTree(o), A.sendInspectorState(o)
        });
        const i = "router:navigations:" + r;
        A.addTimelineLayer({
            id: i,
            label: `Router${r?" "+r:""} Navigations`,
            color: 4237508
        }), t.onError((u, f) => {
            A.addTimelineEvent({
                layerId: i,
                event: {
                    title: "Error during Navigation",
                    subtitle: f.fullPath,
                    logType: "error",
                    time: A.now(),
                    data: {
                        error: u
                    },
                    groupId: f.meta.__navigationId
                }
            })
        });
        let s = 0;
        t.beforeEach((u, f) => {
            const d = {
                guard: c0("beforeEach"),
                from: Kl(f, "Current Location during this navigation"),
                to: Kl(u, "Target location")
            };
            Object.defineProperty(u.meta, "__navigationId", {
                value: s++
            }), A.addTimelineEvent({
                layerId: i,
                event: {
                    time: A.now(),
                    title: "Start of navigation",
                    subtitle: u.fullPath,
                    data: d,
                    groupId: u.meta.__navigationId
                }
            })
        }), t.afterEach((u, f, d) => {
            const p = {
                guard: c0("afterEach")
            };
            d ? (p.failure = {
                _custom: {
                    type: Error,
                    readOnly: !0,
                    display: d ? d.message : "",
                    tooltip: "Navigation Failure",
                    value: d
                }
            }, p.status = c0("❌")) : p.status = c0("✅"), p.from = Kl(f, "Current Location during this navigation"), p.to = Kl(u, "Target location"), A.addTimelineEvent({
                layerId: i,
                event: {
                    title: "End of navigation",
                    subtitle: u.fullPath,
                    time: A.now(),
                    data: p,
                    logType: d ? "warning" : "default",
                    groupId: u.meta.__navigationId
                }
            })
        });
        const o = "router-inspector:" + r;
        A.addInspector({
            id: o,
            label: "Routes" + (r ? " " + r : ""),
            icon: "book",
            treeFilterPlaceholder: "Search routes"
        });

        function a() {
            if (!l) return;
            const u = l;
            let f = n.getRoutes().filter(d => !d.parent);
            f.forEach(IE), u.filter && (f = f.filter(d => N6(d, u.filter.toLowerCase()))), f.forEach(d => TE(d, t.currentRoute.value)), u.rootNodes = f.map(SE)
        }
        let l;
        A.on.getInspectorTree(u => {
            l = u, u.app === e && u.inspectorId === o && a()
        }), A.on.getInspectorState(u => {
            if (u.app === e && u.inspectorId === o) {
                const d = n.getRoutes().find(p => p.record.__vd_id === u.nodeId);
                d && (u.state = {
                    options: nY(d)
                })
            }
        }), A.sendInspectorTree(o), A.sendInspectorState(o)
    })
}

function tY(e) {
    return e.optional ? e.repeatable ? "*" : "?" : e.repeatable ? "+" : ""
}

function nY(e) {
    const {
        record: t
    } = e, n = [{
        editable: !1,
        key: "path",
        value: t.path
    }];
    return t.name != null && n.push({
        editable: !1,
        key: "name",
        value: t.name
    }), n.push({
        editable: !1,
        key: "regexp",
        value: e.re
    }), e.keys.length && n.push({
        editable: !1,
        key: "keys",
        value: {
            _custom: {
                type: null,
                readOnly: !0,
                display: e.keys.map(r => `${r.name}${tY(r)}`).join(" "),
                tooltip: "Param keys",
                value: e.keys
            }
        }
    }), t.redirect != null && n.push({
        editable: !1,
        key: "redirect",
        value: t.redirect
    }), e.alias.length && n.push({
        editable: !1,
        key: "aliases",
        value: e.alias.map(r => r.record.path)
    }), Object.keys(e.record.meta).length && n.push({
        editable: !1,
        key: "meta",
        value: e.record.meta
    }), n.push({
        key: "score",
        editable: !1,
        value: {
            _custom: {
                type: null,
                readOnly: !0,
                display: e.score.map(r => r.join(", ")).join(" | "),
                tooltip: "Score used to sort routes",
                value: e.score
            }
        }
    }), n
}
const bE = 15485081,
    xE = 2450411,
    _E = 8702998,
    rY = 2282478,
    FE = 16486972,
    AY = 6710886;

function SE(e) {
    const t = [],
        {
            record: n
        } = e;
    n.name != null && t.push({
        label: String(n.name),
        textColor: 0,
        backgroundColor: rY
    }), n.aliasOf && t.push({
        label: "alias",
        textColor: 0,
        backgroundColor: FE
    }), e.__vd_match && t.push({
        label: "matches",
        textColor: 0,
        backgroundColor: bE
    }), e.__vd_exactActive && t.push({
        label: "exact",
        textColor: 0,
        backgroundColor: _E
    }), e.__vd_active && t.push({
        label: "active",
        textColor: 0,
        backgroundColor: xE
    }), n.redirect && t.push({
        label: typeof n.redirect == "string" ? `redirect: ${n.redirect}` : "redirects",
        textColor: 16777215,
        backgroundColor: AY
    });
    let r = n.__vd_id;
    return r == null && (r = String(iY++), n.__vd_id = r), {
        id: r,
        label: n.path,
        tags: t,
        children: e.children.map(SE)
    }
}
let iY = 0;
const sY = /^\/(.*)\/([a-z]*)$/;

function TE(e, t) {
    const n = t.matched.length && Ls(t.matched[t.matched.length - 1], e.record);
    e.__vd_exactActive = e.__vd_active = n, n || (e.__vd_active = t.matched.some(r => Ls(r, e.record))), e.children.forEach(r => TE(r, t))
}

function IE(e) {
    e.__vd_match = !1, e.children.forEach(IE)
}

function N6(e, t) {
    const n = String(e.re).match(sY);
    if (e.__vd_match = !1, !n || n.length < 3) return !1;
    if (new RegExp(n[1].replace(/\$$/, ""), n[2]).test(t)) return e.children.forEach(s => N6(s, t)), e.record.path !== "/" || t === "/" ? (e.__vd_match = e.re.test(t), !0) : !1;
    const A = e.record.path.toLowerCase(),
        i = Yu(A);
    return !t.startsWith("/") && (i.includes(t) || A.includes(t)) || i.startsWith(t) || A.startsWith(t) || e.record.name && String(e.record.name).includes(t) ? !0 : e.children.some(s => N6(s, t))
}

function oY(e, t) {
    const n = {};
    for (const r in e) t.includes(r) || (n[r] = e[r]);
    return n
}

function foe(e) {
    const t = yz(e.routes, e),
        n = e.parseQuery || Nz,
        r = e.stringifyQuery || t7,
        A = e.history;
    if (!A) throw new Error('Provide the "history" option when calling "createRouter()": https://next.router.vuejs.org/api/#history.');
    const i = $l(),
        s = $l(),
        o = $l(),
        a = qf(ts);
    let l = ts;
    gi && e.scrollBehavior && "scrollRestoration" in history && (history.scrollRestoration = "manual");
    const u = kh.bind(null, ee => "" + ee),
        f = kh.bind(null, Rz),
        d = kh.bind(null, Yu);

    function p(ee, ye) {
        let te, Be;
        return pE(ee) ? (te = t.getRecordMatcher(ee), Be = ye) : Be = ee, t.addRoute(Be, te)
    }

    function v(ee) {
        const ye = t.getRecordMatcher(ee);
        ye ? t.removeRoute(ye) : _t(`Cannot remove non-existent route "${String(ee)}"`)
    }

    function B() {
        return t.getRoutes().map(ee => ee.record)
    }

    function C(ee) {
        return !!t.getRecordMatcher(ee)
    }

    function w(ee, ye) {
        if (ye = Nt({}, ye || a.value), typeof ee == "string") {
            const Ve = Hh(n, ee, ye.path),
                U = t.resolve({
                    path: Ve.path
                }, ye),
                O = A.createHref(Ve.fullPath);
            return O.startsWith("//") ? _t(`Location "${ee}" resolved to "${O}". A resolved location cannot start with multiple slashes.`) : U.matched.length || _t(`No match found for location with path "${ee}"`), Nt(Ve, U, {
                params: d(U.params),
                hash: Yu(Ve.hash),
                redirectedFrom: void 0,
                href: O
            })
        }
        let te;
        if ("path" in ee) "params" in ee && !("name" in ee) && Object.keys(ee.params).length && _t(`Path "${ee.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`), te = Nt({}, ee, {
            path: Hh(n, ee.path, ye.path).path
        });
        else {
            const Ve = Nt({}, ee.params);
            for (const U in Ve) Ve[U] == null && delete Ve[U];
            te = Nt({}, ee, {
                params: f(ee.params)
            }), ye.params = f(ye.params)
        }
        const Be = t.resolve(te, ye),
            Qe = ee.hash || "";
        Qe && !Qe.startsWith("#") && _t(`A \`hash\` should always start with the character "#". Replace "${Qe}" with "#${Qe}".`), Be.params = u(d(Be.params));
        const $e = zW(r, Nt({}, ee, {
                hash: kz(Qe),
                path: Be.path
            })),
            Ue = A.createHref($e);
        return Ue.startsWith("//") ? _t(`Location "${ee}" resolved to "${Ue}". A resolved location cannot start with multiple slashes.`) : Be.matched.length || _t(`No match found for location with path "${"path"in ee?ee.path:ee}"`), Nt({
            fullPath: $e,
            hash: Qe,
            query: r === t7 ? $z(ee.query) : ee.query || {}
        }, Be, {
            redirectedFrom: void 0,
            href: Ue
        })
    }

    function m(ee) {
        return typeof ee == "string" ? Hh(n, ee, a.value.path) : Nt({}, ee)
    }

    function E(ee, ye) {
        if (l !== ee) return za(8, {
            from: ye,
            to: ee
        })
    }

    function y(ee) {
        return Q(ee)
    }

    function x(ee) {
        return y(Nt(m(ee), {
            replace: !0
        }))
    }

    function F(ee) {
        const ye = ee.matched[ee.matched.length - 1];
        if (ye && ye.redirect) {
            const {
                redirect: te
            } = ye;
            let Be = typeof te == "function" ? te(ee) : te;
            if (typeof Be == "string" && (Be = Be.includes("?") || Be.includes("#") ? Be = m(Be) : {
                    path: Be
                }, Be.params = {}), !("path" in Be) && !("name" in Be)) throw _t(`Invalid redirect found:
${JSON.stringify(Be,null,2)}
 when navigating to "${ee.fullPath}". A redirect must contain a name or path. This will break in production.`), new Error("Invalid redirect");
            return Nt({
                query: ee.query,
                hash: ee.hash,
                params: "path" in Be ? {} : ee.params
            }, Be)
        }
    }

    function Q(ee, ye) {
        const te = l = w(ee),
            Be = a.value,
            Qe = ee.state,
            $e = ee.force,
            Ue = ee.replace === !0,
            Ve = F(te);
        if (Ve) return Q(Nt(m(Ve), {
            state: typeof Ve == "object" ? Nt({}, Qe, Ve.state) : Qe,
            force: $e,
            replace: Ue
        }), ye || te);
        const U = te;
        U.redirectedFrom = ye;
        let O;
        return !$e && G8(r, Be, te) && (O = za(16, {
            to: U,
            from: Be
        }), Se(Be, Be, !0, !1)), (O ? Promise.resolve(O) : L(U, Be)).catch(Y => ai(Y) ? ai(Y, 2) ? Y : he(Y) : ce(Y, U, Be)).then(Y => {
            if (Y) {
                if (ai(Y, 2)) return G8(r, w(Y.to), U) && ye && (ye._count = ye._count ? ye._count + 1 : 1) > 10 ? (_t(`Detected an infinite redirection in a navigation guard when going from "${Be.fullPath}" to "${U.fullPath}". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`), Promise.reject(new Error("Infinite redirect in navigation guard"))) : Q(Nt({
                    replace: Ue
                }, m(Y.to), {
                    state: typeof Y.to == "object" ? Nt({}, Qe, Y.to.state) : Qe,
                    force: $e
                }), ye || U)
            } else Y = _(U, Be, !0, Ue, Qe);
            return I(U, Be, Y), Y
        })
    }

    function P(ee, ye) {
        const te = E(ee, ye);
        return te ? Promise.reject(te) : Promise.resolve()
    }

    function L(ee, ye) {
        let te;
        const [Be, Qe, $e] = aY(ee, ye);
        te = Mh(Be.reverse(), "beforeRouteLeave", ee, ye);
        for (const Ve of Be) Ve.leaveGuards.forEach(U => {
            te.push(as(U, ee, ye))
        });
        const Ue = P.bind(null, ee, ye);
        return te.push(Ue), da(te).then(() => {
            te = [];
            for (const Ve of i.list()) te.push(as(Ve, ee, ye));
            return te.push(Ue), da(te)
        }).then(() => {
            te = Mh(Qe, "beforeRouteUpdate", ee, ye);
            for (const Ve of Qe) Ve.updateGuards.forEach(U => {
                te.push(as(U, ee, ye))
            });
            return te.push(Ue), da(te)
        }).then(() => {
            te = [];
            for (const Ve of ee.matched)
                if (Ve.beforeEnter && !ye.matched.includes(Ve))
                    if (Nr(Ve.beforeEnter))
                        for (const U of Ve.beforeEnter) te.push(as(U, ee, ye));
                    else te.push(as(Ve.beforeEnter, ee, ye));
            return te.push(Ue), da(te)
        }).then(() => (ee.matched.forEach(Ve => Ve.enterCallbacks = {}), te = Mh($e, "beforeRouteEnter", ee, ye), te.push(Ue), da(te))).then(() => {
            te = [];
            for (const Ve of s.list()) te.push(as(Ve, ee, ye));
            return te.push(Ue), da(te)
        }).catch(Ve => ai(Ve, 8) ? Ve : Promise.reject(Ve))
    }

    function I(ee, ye, te) {
        for (const Be of o.list()) Be(ee, ye, te)
    }

    function _(ee, ye, te, Be, Qe) {
        const $e = E(ee, ye);
        if ($e) return $e;
        const Ue = ye === ts,
            Ve = gi ? history.state : {};
        te && (Be || Ue ? A.replace(ee.fullPath, Nt({
            scroll: Ue && Ve && Ve.scroll
        }, Qe)) : A.push(ee.fullPath, Qe)), a.value = ee, Se(ee, ye, te, Ue), he()
    }
    let D;

    function N() {
        D || (D = A.listen((ee, ye, te) => {
            if (!pe.listening) return;
            const Be = w(ee),
                Qe = F(Be);
            if (Qe) {
                Q(Nt(Qe, {
                    replace: !0
                }), Be).catch(Cu);
                return
            }
            l = Be;
            const $e = a.value;
            gi && nz(W8($e.fullPath, te.delta), R1()), L(Be, $e).catch(Ue => ai(Ue, 12) ? Ue : ai(Ue, 2) ? (Q(Ue.to, Be).then(Ve => {
                ai(Ve, 20) && !te.delta && te.type === zu.pop && A.go(-1, !1)
            }).catch(Cu), Promise.reject()) : (te.delta && A.go(-te.delta, !1), ce(Ue, Be, $e))).then(Ue => {
                Ue = Ue || _(Be, $e, !1), Ue && (te.delta && !ai(Ue, 8) ? A.go(-te.delta, !1) : te.type === zu.pop && ai(Ue, 20) && A.go(-1, !1)), I(Be, $e, Ue)
            }).catch(Cu)
        }))
    }
    let X = $l(),
        se = $l(),
        Z;

    function ce(ee, ye, te) {
        he(ee);
        const Be = se.list();
        return Be.length ? Be.forEach(Qe => Qe(ee, ye, te)) : (_t("uncaught error during route navigation:"), console.error(ee)), Promise.reject(ee)
    }

    function W() {
        return Z && a.value !== ts ? Promise.resolve() : new Promise((ee, ye) => {
            X.add([ee, ye])
        })
    }

    function he(ee) {
        return Z || (Z = !ee, N(), X.list().forEach(([ye, te]) => ee ? te(ee) : ye()), X.reset()), ee
    }

    function Se(ee, ye, te, Be) {
        const {
            scrollBehavior: Qe
        } = e;
        if (!gi || !Qe) return Promise.resolve();
        const $e = !te && rz(W8(ee.fullPath, 0)) || (Be || !te) && history.state && history.state.scroll || null;
        return bt().then(() => Qe(ee, ye, $e)).then(Ue => Ue && tz(Ue)).catch(Ue => ce(Ue, ee, ye))
    }
    const V = ee => A.go(ee);
    let ie;
    const ue = new Set,
        pe = {
            currentRoute: a,
            listening: !0,
            addRoute: p,
            removeRoute: v,
            hasRoute: C,
            getRoutes: B,
            resolve: w,
            options: e,
            push: y,
            replace: x,
            go: V,
            back: () => V(-1),
            forward: () => V(1),
            beforeEach: i.add,
            beforeResolve: s.add,
            afterEach: o.add,
            onError: se.add,
            isReady: W,
            install(ee) {
                const ye = this;
                ee.component("RouterLink", Wz), ee.component("RouterView", Jz), ee.config.globalProperties.$router = ye, Object.defineProperty(ee.config.globalProperties, "$route", {
                    enumerable: !0,
                    get: () => fr(a)
                }), gi && !ie && a.value === ts && (ie = !0, y(A.location).catch(Qe => {
                    _t("Unexpected error when starting the router:", Qe)
                }));
                const te = {};
                for (const Qe in ts) te[Qe] = De(() => a.value[Qe]);
                ee.provide(N1, ye), ee.provide(x5, Zt(te)), ee.provide(R6, a);
                const Be = ee.unmount;
                ue.add(ee), ee.unmount = function() {
                    ue.delete(ee), ue.size < 1 && (l = ts, D && D(), D = null, a.value = ts, ie = !1, Z = !1), Be()
                }, gi && eY(ee, ye, t)
            }
        };
    return pe
}

function da(e) {
    return e.reduce((t, n) => t.then(() => n()), Promise.resolve())
}

function aY(e, t) {
    const n = [],
        r = [],
        A = [],
        i = Math.max(t.matched.length, e.matched.length);
    for (let s = 0; s < i; s++) {
        const o = t.matched[s];
        o && (e.matched.find(l => Ls(l, o)) ? r.push(o) : n.push(o));
        const a = e.matched[s];
        a && (t.matched.find(l => Ls(l, a)) || A.push(a))
    }
    return [n, r, A]
}

function doe() {
    return En(N1)
}

function hoe() {
    return En(x5)
}

function QE(e, t) {
    return function() {
        return e.apply(t, arguments)
    }
}
const {
    toString: lY
} = Object.prototype, {
    getPrototypeOf: _5
} = Object, $1 = (e => t => {
    const n = lY.call(t);
    return e[n] || (e[n] = n.slice(8, -1).toLowerCase())
})(Object.create(null)), zA = e => (e = e.toLowerCase(), t => $1(t) === e), K1 = e => t => typeof t === e, {
    isArray: pl
} = Array, Xu = K1("undefined");

function uY(e) {
    return e !== null && !Xu(e) && e.constructor !== null && !Xu(e.constructor) && AA(e.constructor.isBuffer) && e.constructor.isBuffer(e)
}
const UE = zA("ArrayBuffer");

function cY(e) {
    let t;
    return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && UE(e.buffer), t
}
const fY = K1("string"),
    AA = K1("function"),
    PE = K1("number"),
    V1 = e => e !== null && typeof e == "object",
    dY = e => e === !0 || e === !1,
    J0 = e => {
        if ($1(e) !== "object") return !1;
        const t = _5(e);
        return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e)
    },
    hY = zA("Date"),
    pY = zA("File"),
    gY = zA("Blob"),
    vY = zA("FileList"),
    mY = e => V1(e) && AA(e.pipe),
    BY = e => {
        let t;
        return e && (typeof FormData == "function" && e instanceof FormData || AA(e.append) && ((t = $1(e)) === "formdata" || t === "object" && AA(e.toString) && e.toString() === "[object FormData]"))
    },
    wY = zA("URLSearchParams"),
    yY = e => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");

function _c(e, t, {
    allOwnKeys: n = !1
} = {}) {
    if (e === null || typeof e > "u") return;
    let r, A;
    if (typeof e != "object" && (e = [e]), pl(e))
        for (r = 0, A = e.length; r < A; r++) t.call(null, e[r], r, e);
    else {
        const i = n ? Object.getOwnPropertyNames(e) : Object.keys(e),
            s = i.length;
        let o;
        for (r = 0; r < s; r++) o = i[r], t.call(null, e[o], o, e)
    }
}

function OE(e, t) {
    t = t.toLowerCase();
    const n = Object.keys(e);
    let r = n.length,
        A;
    for (; r-- > 0;)
        if (A = n[r], t === A.toLowerCase()) return A;
    return null
}
const DE = (() => typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global)(),
    LE = e => !Xu(e) && e !== DE;

function $6() {
    const {
        caseless: e
    } = LE(this) && this || {}, t = {}, n = (r, A) => {
        const i = e && OE(t, A) || A;
        J0(t[i]) && J0(r) ? t[i] = $6(t[i], r) : J0(r) ? t[i] = $6({}, r) : pl(r) ? t[i] = r.slice() : t[i] = r
    };
    for (let r = 0, A = arguments.length; r < A; r++) arguments[r] && _c(arguments[r], n);
    return t
}
const CY = (e, t, n, {
        allOwnKeys: r
    } = {}) => (_c(t, (A, i) => {
        n && AA(A) ? e[i] = QE(A, n) : e[i] = A
    }, {
        allOwnKeys: r
    }), e),
    EY = e => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e),
    bY = (e, t, n, r) => {
        e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", {
            value: t.prototype
        }), n && Object.assign(e.prototype, n)
    },
    xY = (e, t, n, r) => {
        let A, i, s;
        const o = {};
        if (t = t || {}, e == null) return t;
        do {
            for (A = Object.getOwnPropertyNames(e), i = A.length; i-- > 0;) s = A[i], (!r || r(s, e, t)) && !o[s] && (t[s] = e[s], o[s] = !0);
            e = n !== !1 && _5(e)
        } while (e && (!n || n(e, t)) && e !== Object.prototype);
        return t
    },
    _Y = (e, t, n) => {
        e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
        const r = e.indexOf(t, n);
        return r !== -1 && r === n
    },
    FY = e => {
        if (!e) return null;
        if (pl(e)) return e;
        let t = e.length;
        if (!PE(t)) return null;
        const n = new Array(t);
        for (; t-- > 0;) n[t] = e[t];
        return n
    },
    SY = (e => t => e && t instanceof e)(typeof Uint8Array < "u" && _5(Uint8Array)),
    TY = (e, t) => {
        const r = (e && e[Symbol.iterator]).call(e);
        let A;
        for (;
            (A = r.next()) && !A.done;) {
            const i = A.value;
            t.call(e, i[0], i[1])
        }
    },
    IY = (e, t) => {
        let n;
        const r = [];
        for (;
            (n = e.exec(t)) !== null;) r.push(n);
        return r
    },
    QY = zA("HTMLFormElement"),
    UY = e => e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function(n, r, A) {
        return r.toUpperCase() + A
    }),
    o7 = (({
        hasOwnProperty: e
    }) => (t, n) => e.call(t, n))(Object.prototype),
    PY = zA("RegExp"),
    kE = (e, t) => {
        const n = Object.getOwnPropertyDescriptors(e),
            r = {};
        _c(n, (A, i) => {
            let s;
            (s = t(A, i, e)) !== !1 && (r[i] = s || A)
        }), Object.defineProperties(e, r)
    },
    OY = e => {
        kE(e, (t, n) => {
            if (AA(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1) return !1;
            const r = e[n];
            if (AA(r)) {
                if (t.enumerable = !1, "writable" in t) {
                    t.writable = !1;
                    return
                }
                t.set || (t.set = () => {
                    throw Error("Can not rewrite read-only method '" + n + "'")
                })
            }
        })
    },
    DY = (e, t) => {
        const n = {},
            r = A => {
                A.forEach(i => {
                    n[i] = !0
                })
            };
        return pl(e) ? r(e) : r(String(e).split(t)), n
    },
    LY = () => {},
    kY = (e, t) => (e = +e, Number.isFinite(e) ? e : t),
    Rh = "abcdefghijklmnopqrstuvwxyz",
    a7 = "0123456789",
    HE = {
        DIGIT: a7,
        ALPHA: Rh,
        ALPHA_DIGIT: Rh + Rh.toUpperCase() + a7
    },
    HY = (e = 16, t = HE.ALPHA_DIGIT) => {
        let n = "";
        const {
            length: r
        } = t;
        for (; e--;) n += t[Math.random() * r | 0];
        return n
    };

function MY(e) {
    return !!(e && AA(e.append) && e[Symbol.toStringTag] === "FormData" && e[Symbol.iterator])
}
const RY = e => {
        const t = new Array(10),
            n = (r, A) => {
                if (V1(r)) {
                    if (t.indexOf(r) >= 0) return;
                    if (!("toJSON" in r)) {
                        t[A] = r;
                        const i = pl(r) ? [] : {};
                        return _c(r, (s, o) => {
                            const a = n(s, A + 1);
                            !Xu(a) && (i[o] = a)
                        }), t[A] = void 0, i
                    }
                }
                return r
            };
        return n(e, 0)
    },
    NY = zA("AsyncFunction"),
    $Y = e => e && (V1(e) || AA(e)) && AA(e.then) && AA(e.catch),
    ke = {
        isArray: pl,
        isArrayBuffer: UE,
        isBuffer: uY,
        isFormData: BY,
        isArrayBufferView: cY,
        isString: fY,
        isNumber: PE,
        isBoolean: dY,
        isObject: V1,
        isPlainObject: J0,
        isUndefined: Xu,
        isDate: hY,
        isFile: pY,
        isBlob: gY,
        isRegExp: PY,
        isFunction: AA,
        isStream: mY,
        isURLSearchParams: wY,
        isTypedArray: SY,
        isFileList: vY,
        forEach: _c,
        merge: $6,
        extend: CY,
        trim: yY,
        stripBOM: EY,
        inherits: bY,
        toFlatObject: xY,
        kindOf: $1,
        kindOfTest: zA,
        endsWith: _Y,
        toArray: FY,
        forEachEntry: TY,
        matchAll: IY,
        isHTMLForm: QY,
        hasOwnProperty: o7,
        hasOwnProp: o7,
        reduceDescriptors: kE,
        freezeMethods: OY,
        toObjectSet: DY,
        toCamelCase: UY,
        noop: LY,
        toFiniteNumber: kY,
        findKey: OE,
        global: DE,
        isContextDefined: LE,
        ALPHABET: HE,
        generateString: HY,
        isSpecCompliantForm: MY,
        toJSONObject: RY,
        isAsyncFn: NY,
        isThenable: $Y
    };

function Ut(e, t, n, r, A) {
    Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), r && (this.request = r), A && (this.response = A)
}
ke.inherits(Ut, Error, {
    toJSON: function() {
        return {
            message: this.message,
            name: this.name,
            description: this.description,
            number: this.number,
            fileName: this.fileName,
            lineNumber: this.lineNumber,
            columnNumber: this.columnNumber,
            stack: this.stack,
            config: ke.toJSONObject(this.config),
            code: this.code,
            status: this.response && this.response.status ? this.response.status : null
        }
    }
});
const ME = Ut.prototype,
    RE = {};
["ERR_BAD_OPTION_VALUE", "ERR_BAD_OPTION", "ECONNABORTED", "ETIMEDOUT", "ERR_NETWORK", "ERR_FR_TOO_MANY_REDIRECTS", "ERR_DEPRECATED", "ERR_BAD_RESPONSE", "ERR_BAD_REQUEST", "ERR_CANCELED", "ERR_NOT_SUPPORT", "ERR_INVALID_URL"].forEach(e => {
    RE[e] = {
        value: e
    }
});
Object.defineProperties(Ut, RE);
Object.defineProperty(ME, "isAxiosError", {
    value: !0
});
Ut.from = (e, t, n, r, A, i) => {
    const s = Object.create(ME);
    return ke.toFlatObject(e, s, function(a) {
        return a !== Error.prototype
    }, o => o !== "isAxiosError"), Ut.call(s, e.message, t, n, r, A), s.cause = e, s.name = e.name, i && Object.assign(s, i), s
};
const KY = null;

function K6(e) {
    return ke.isPlainObject(e) || ke.isArray(e)
}

function NE(e) {
    return ke.endsWith(e, "[]") ? e.slice(0, -2) : e
}

function l7(e, t, n) {
    return e ? e.concat(t).map(function(A, i) {
        return A = NE(A), !n && i ? "[" + A + "]" : A
    }).join(n ? "." : "") : t
}

function VY(e) {
    return ke.isArray(e) && !e.some(K6)
}
const GY = ke.toFlatObject(ke, {}, null, function(t) {
    return /^is[A-Z]/.test(t)
});

function G1(e, t, n) {
    if (!ke.isObject(e)) throw new TypeError("target must be an object");
    t = t || new FormData, n = ke.toFlatObject(n, {
        metaTokens: !0,
        dots: !1,
        indexes: !1
    }, !1, function(B, C) {
        return !ke.isUndefined(C[B])
    });
    const r = n.metaTokens,
        A = n.visitor || u,
        i = n.dots,
        s = n.indexes,
        a = (n.Blob || typeof Blob < "u" && Blob) && ke.isSpecCompliantForm(t);
    if (!ke.isFunction(A)) throw new TypeError("visitor must be a function");

    function l(v) {
        if (v === null) return "";
        if (ke.isDate(v)) return v.toISOString();
        if (!a && ke.isBlob(v)) throw new Ut("Blob is not supported. Use a Buffer instead.");
        return ke.isArrayBuffer(v) || ke.isTypedArray(v) ? a && typeof Blob == "function" ? new Blob([v]) : Buffer.from(v) : v
    }

    function u(v, B, C) {
        let w = v;
        if (v && !C && typeof v == "object") {
            if (ke.endsWith(B, "{}")) B = r ? B : B.slice(0, -2), v = JSON.stringify(v);
            else if (ke.isArray(v) && VY(v) || (ke.isFileList(v) || ke.endsWith(B, "[]")) && (w = ke.toArray(v))) return B = NE(B), w.forEach(function(E, y) {
                !(ke.isUndefined(E) || E === null) && t.append(s === !0 ? l7([B], y, i) : s === null ? B : B + "[]", l(E))
            }), !1
        }
        return K6(v) ? !0 : (t.append(l7(C, B, i), l(v)), !1)
    }
    const f = [],
        d = Object.assign(GY, {
            defaultVisitor: u,
            convertValue: l,
            isVisitable: K6
        });

    function p(v, B) {
        if (!ke.isUndefined(v)) {
            if (f.indexOf(v) !== -1) throw Error("Circular reference detected in " + B.join("."));
            f.push(v), ke.forEach(v, function(w, m) {
                (!(ke.isUndefined(w) || w === null) && A.call(t, w, ke.isString(m) ? m.trim() : m, B, d)) === !0 && p(w, B ? B.concat(m) : [m])
            }), f.pop()
        }
    }
    if (!ke.isObject(e)) throw new TypeError("data must be an object");
    return p(e), t
}

function u7(e) {
    const t = {
        "!": "%21",
        "'": "%27",
        "(": "%28",
        ")": "%29",
        "~": "%7E",
        "%20": "+",
        "%00": "\0"
    };
    return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(r) {
        return t[r]
    })
}

function F5(e, t) {
    this._pairs = [], e && G1(e, this, t)
}
const $E = F5.prototype;
$E.append = function(t, n) {
    this._pairs.push([t, n])
};
$E.toString = function(t) {
    const n = t ? function(r) {
        return t.call(this, r, u7)
    } : u7;
    return this._pairs.map(function(A) {
        return n(A[0]) + "=" + n(A[1])
    }, "").join("&")
};

function jY(e) {
    return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
}

function KE(e, t, n) {
    if (!t) return e;
    const r = n && n.encode || jY,
        A = n && n.serialize;
    let i;
    if (A ? i = A(t, n) : i = ke.isURLSearchParams(t) ? t.toString() : new F5(t, n).toString(r), i) {
        const s = e.indexOf("#");
        s !== -1 && (e = e.slice(0, s)), e += (e.indexOf("?") === -1 ? "?" : "&") + i
    }
    return e
}
class WY {
    constructor() {
        this.handlers = []
    }
    use(t, n, r) {
        return this.handlers.push({
            fulfilled: t,
            rejected: n,
            synchronous: r ? r.synchronous : !1,
            runWhen: r ? r.runWhen : null
        }), this.handlers.length - 1
    }
    eject(t) {
        this.handlers[t] && (this.handlers[t] = null)
    }
    clear() {
        this.handlers && (this.handlers = [])
    }
    forEach(t) {
        ke.forEach(this.handlers, function(r) {
            r !== null && t(r)
        })
    }
}
const c7 = WY,
    VE = {
        silentJSONParsing: !0,
        forcedJSONParsing: !0,
        clarifyTimeoutError: !1
    },
    zY = typeof URLSearchParams < "u" ? URLSearchParams : F5,
    YY = typeof FormData < "u" ? FormData : null,
    XY = typeof Blob < "u" ? Blob : null,
    JY = {
        isBrowser: !0,
        classes: {
            URLSearchParams: zY,
            FormData: YY,
            Blob: XY
        },
        protocols: ["http", "https", "file", "blob", "url", "data"]
    },
    GE = typeof window < "u" && typeof document < "u",
    qY = (e => GE && ["ReactNative", "NativeScript", "NS"].indexOf(e) < 0)(typeof navigator < "u" && navigator.product),
    ZY = (() => typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope && typeof self.importScripts == "function")(),
    eX = Object.freeze(Object.defineProperty({
        __proto__: null,
        hasBrowserEnv: GE,
        hasStandardBrowserEnv: qY,
        hasStandardBrowserWebWorkerEnv: ZY
    }, Symbol.toStringTag, {
        value: "Module"
    })),
    HA = { ...eX,
        ...JY
    };

function tX(e, t) {
    return G1(e, new HA.classes.URLSearchParams, Object.assign({
        visitor: function(n, r, A, i) {
            return HA.isNode && ke.isBuffer(n) ? (this.append(r, n.toString("base64")), !1) : i.defaultVisitor.apply(this, arguments)
        }
    }, t))
}

function nX(e) {
    return ke.matchAll(/\w+|\[(\w*)]/g, e).map(t => t[0] === "[]" ? "" : t[1] || t[0])
}

function rX(e) {
    const t = {},
        n = Object.keys(e);
    let r;
    const A = n.length;
    let i;
    for (r = 0; r < A; r++) i = n[r], t[i] = e[i];
    return t
}

function jE(e) {
    function t(n, r, A, i) {
        let s = n[i++];
        if (s === "__proto__") return !0;
        const o = Number.isFinite(+s),
            a = i >= n.length;
        return s = !s && ke.isArray(A) ? A.length : s, a ? (ke.hasOwnProp(A, s) ? A[s] = [A[s], r] : A[s] = r, !o) : ((!A[s] || !ke.isObject(A[s])) && (A[s] = []), t(n, r, A[s], i) && ke.isArray(A[s]) && (A[s] = rX(A[s])), !o)
    }
    if (ke.isFormData(e) && ke.isFunction(e.entries)) {
        const n = {};
        return ke.forEachEntry(e, (r, A) => {
            t(nX(r), A, n, 0)
        }), n
    }
    return null
}

function AX(e, t, n) {
    if (ke.isString(e)) try {
        return (t || JSON.parse)(e), ke.trim(e)
    } catch (r) {
        if (r.name !== "SyntaxError") throw r
    }
    return (n || JSON.stringify)(e)
}
const S5 = {
    transitional: VE,
    adapter: ["xhr", "http"],
    transformRequest: [function(t, n) {
        const r = n.getContentType() || "",
            A = r.indexOf("application/json") > -1,
            i = ke.isObject(t);
        if (i && ke.isHTMLForm(t) && (t = new FormData(t)), ke.isFormData(t)) return A ? JSON.stringify(jE(t)) : t;
        if (ke.isArrayBuffer(t) || ke.isBuffer(t) || ke.isStream(t) || ke.isFile(t) || ke.isBlob(t)) return t;
        if (ke.isArrayBufferView(t)) return t.buffer;
        if (ke.isURLSearchParams(t)) return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
        let o;
        if (i) {
            if (r.indexOf("application/x-www-form-urlencoded") > -1) return tX(t, this.formSerializer).toString();
            if ((o = ke.isFileList(t)) || r.indexOf("multipart/form-data") > -1) {
                const a = this.env && this.env.FormData;
                return G1(o ? {
                    "files[]": t
                } : t, a && new a, this.formSerializer)
            }
        }
        return i || A ? (n.setContentType("application/json", !1), AX(t)) : t
    }],
    transformResponse: [function(t) {
        const n = this.transitional || S5.transitional,
            r = n && n.forcedJSONParsing,
            A = this.responseType === "json";
        if (t && ke.isString(t) && (r && !this.responseType || A)) {
            const s = !(n && n.silentJSONParsing) && A;
            try {
                return JSON.parse(t)
            } catch (o) {
                if (s) throw o.name === "SyntaxError" ? Ut.from(o, Ut.ERR_BAD_RESPONSE, this, null, this.response) : o
            }
        }
        return t
    }],
    timeout: 0,
    xsrfCookieName: "XSRF-TOKEN",
    xsrfHeaderName: "X-XSRF-TOKEN",
    maxContentLength: -1,
    maxBodyLength: -1,
    env: {
        FormData: HA.classes.FormData,
        Blob: HA.classes.Blob
    },
    validateStatus: function(t) {
        return t >= 200 && t < 300
    },
    headers: {
        common: {
            Accept: "application/json, text/plain, */*",
            "Content-Type": void 0
        }
    }
};
ke.forEach(["delete", "get", "head", "post", "put", "patch"], e => {
    S5.headers[e] = {}
});
const T5 = S5,
    iX = ke.toObjectSet(["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"]),
    sX = e => {
        const t = {};
        let n, r, A;
        return e && e.split(`
`).forEach(function(s) {
            A = s.indexOf(":"), n = s.substring(0, A).trim().toLowerCase(), r = s.substring(A + 1).trim(), !(!n || t[n] && iX[n]) && (n === "set-cookie" ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r)
        }), t
    },
    f7 = Symbol("internals");

function Vl(e) {
    return e && String(e).trim().toLowerCase()
}

function q0(e) {
    return e === !1 || e == null ? e : ke.isArray(e) ? e.map(q0) : String(e)
}

function oX(e) {
    const t = Object.create(null),
        n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
    let r;
    for (; r = n.exec(e);) t[r[1]] = r[2];
    return t
}
const aX = e => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());

function Nh(e, t, n, r, A) {
    if (ke.isFunction(r)) return r.call(this, t, n);
    if (A && (t = n), !!ke.isString(t)) {
        if (ke.isString(r)) return t.indexOf(r) !== -1;
        if (ke.isRegExp(r)) return r.test(t)
    }
}

function lX(e) {
    return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, n, r) => n.toUpperCase() + r)
}

function uX(e, t) {
    const n = ke.toCamelCase(" " + t);
    ["get", "set", "has"].forEach(r => {
        Object.defineProperty(e, r + n, {
            value: function(A, i, s) {
                return this[r].call(this, t, A, i, s)
            },
            configurable: !0
        })
    })
}
class j1 {
    constructor(t) {
        t && this.set(t)
    }
    set(t, n, r) {
        const A = this;

        function i(o, a, l) {
            const u = Vl(a);
            if (!u) throw new Error("header name must be a non-empty string");
            const f = ke.findKey(A, u);
            (!f || A[f] === void 0 || l === !0 || l === void 0 && A[f] !== !1) && (A[f || a] = q0(o))
        }
        const s = (o, a) => ke.forEach(o, (l, u) => i(l, u, a));
        return ke.isPlainObject(t) || t instanceof this.constructor ? s(t, n) : ke.isString(t) && (t = t.trim()) && !aX(t) ? s(sX(t), n) : t != null && i(n, t, r), this
    }
    get(t, n) {
        if (t = Vl(t), t) {
            const r = ke.findKey(this, t);
            if (r) {
                const A = this[r];
                if (!n) return A;
                if (n === !0) return oX(A);
                if (ke.isFunction(n)) return n.call(this, A, r);
                if (ke.isRegExp(n)) return n.exec(A);
                throw new TypeError("parser must be boolean|regexp|function")
            }
        }
    }
    has(t, n) {
        if (t = Vl(t), t) {
            const r = ke.findKey(this, t);
            return !!(r && this[r] !== void 0 && (!n || Nh(this, this[r], r, n)))
        }
        return !1
    }
    delete(t, n) {
        const r = this;
        let A = !1;

        function i(s) {
            if (s = Vl(s), s) {
                const o = ke.findKey(r, s);
                o && (!n || Nh(r, r[o], o, n)) && (delete r[o], A = !0)
            }
        }
        return ke.isArray(t) ? t.forEach(i) : i(t), A
    }
    clear(t) {
        const n = Object.keys(this);
        let r = n.length,
            A = !1;
        for (; r--;) {
            const i = n[r];
            (!t || Nh(this, this[i], i, t, !0)) && (delete this[i], A = !0)
        }
        return A
    }
    normalize(t) {
        const n = this,
            r = {};
        return ke.forEach(this, (A, i) => {
            const s = ke.findKey(r, i);
            if (s) {
                n[s] = q0(A), delete n[i];
                return
            }
            const o = t ? lX(i) : String(i).trim();
            o !== i && delete n[i], n[o] = q0(A), r[o] = !0
        }), this
    }
    concat(...t) {
        return this.constructor.concat(this, ...t)
    }
    toJSON(t) {
        const n = Object.create(null);
        return ke.forEach(this, (r, A) => {
            r != null && r !== !1 && (n[A] = t && ke.isArray(r) ? r.join(", ") : r)
        }), n
    }[Symbol.iterator]() {
        return Object.entries(this.toJSON())[Symbol.iterator]()
    }
    toString() {
        return Object.entries(this.toJSON()).map(([t, n]) => t + ": " + n).join(`
`)
    }
    get[Symbol.toStringTag]() {
        return "AxiosHeaders"
    }
    static from(t) {
        return t instanceof this ? t : new this(t)
    }
    static concat(t, ...n) {
        const r = new this(t);
        return n.forEach(A => r.set(A)), r
    }
    static accessor(t) {
        const r = (this[f7] = this[f7] = {
                accessors: {}
            }).accessors,
            A = this.prototype;

        function i(s) {
            const o = Vl(s);
            r[o] || (uX(A, s), r[o] = !0)
        }
        return ke.isArray(t) ? t.forEach(i) : i(t), this
    }
}
j1.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
ke.reduceDescriptors(j1.prototype, ({
    value: e
}, t) => {
    let n = t[0].toUpperCase() + t.slice(1);
    return {
        get: () => e,
        set(r) {
            this[n] = r
        }
    }
});
ke.freezeMethods(j1);
const Ci = j1;

function $h(e, t) {
    const n = this || T5,
        r = t || n,
        A = Ci.from(r.headers);
    let i = r.data;
    return ke.forEach(e, function(o) {
        i = o.call(n, i, A.normalize(), t ? t.status : void 0)
    }), A.normalize(), i
}

function WE(e) {
    return !!(e && e.__CANCEL__)
}

function Fc(e, t, n) {
    Ut.call(this, e ? ? "canceled", Ut.ERR_CANCELED, t, n), this.name = "CanceledError"
}
ke.inherits(Fc, Ut, {
    __CANCEL__: !0
});

function cX(e, t, n) {
    const r = n.config.validateStatus;
    !n.status || !r || r(n.status) ? e(n) : t(new Ut("Request failed with status code " + n.status, [Ut.ERR_BAD_REQUEST, Ut.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4], n.config, n.request, n))
}
const fX = HA.hasStandardBrowserEnv ? {
    write(e, t, n, r, A, i) {
        const s = [e + "=" + encodeURIComponent(t)];
        ke.isNumber(n) && s.push("expires=" + new Date(n).toGMTString()), ke.isString(r) && s.push("path=" + r), ke.isString(A) && s.push("domain=" + A), i === !0 && s.push("secure"), document.cookie = s.join("; ")
    },
    read(e) {
        const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
        return t ? decodeURIComponent(t[3]) : null
    },
    remove(e) {
        this.write(e, "", Date.now() - 864e5)
    }
} : {
    write() {},
    read() {
        return null
    },
    remove() {}
};

function dX(e) {
    return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)
}

function hX(e, t) {
    return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e
}

function zE(e, t) {
    return e && !dX(t) ? hX(e, t) : t
}
const pX = HA.hasStandardBrowserEnv ? function() {
    const t = /(msie|trident)/i.test(navigator.userAgent),
        n = document.createElement("a");
    let r;

    function A(i) {
        let s = i;
        return t && (n.setAttribute("href", s), s = n.href), n.setAttribute("href", s), {
            href: n.href,
            protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
            host: n.host,
            search: n.search ? n.search.replace(/^\?/, "") : "",
            hash: n.hash ? n.hash.replace(/^#/, "") : "",
            hostname: n.hostname,
            port: n.port,
            pathname: n.pathname.charAt(0) === "/" ? n.pathname : "/" + n.pathname
        }
    }
    return r = A(window.location.href),
        function(s) {
            const o = ke.isString(s) ? A(s) : s;
            return o.protocol === r.protocol && o.host === r.host
        }
}() : function() {
    return function() {
        return !0
    }
}();

function gX(e) {
    const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
    return t && t[1] || ""
}

function vX(e, t) {
    e = e || 10;
    const n = new Array(e),
        r = new Array(e);
    let A = 0,
        i = 0,
        s;
    return t = t !== void 0 ? t : 1e3,
        function(a) {
            const l = Date.now(),
                u = r[i];
            s || (s = l), n[A] = a, r[A] = l;
            let f = i,
                d = 0;
            for (; f !== A;) d += n[f++], f = f % e;
            if (A = (A + 1) % e, A === i && (i = (i + 1) % e), l - s < t) return;
            const p = u && l - u;
            return p ? Math.round(d * 1e3 / p) : void 0
        }
}

function d7(e, t) {
    let n = 0;
    const r = vX(50, 250);
    return A => {
        const i = A.loaded,
            s = A.lengthComputable ? A.total : void 0,
            o = i - n,
            a = r(o),
            l = i <= s;
        n = i;
        const u = {
            loaded: i,
            total: s,
            progress: s ? i / s : void 0,
            bytes: o,
            rate: a || void 0,
            estimated: a && s && l ? (s - i) / a : void 0,
            event: A
        };
        u[t ? "download" : "upload"] = !0, e(u)
    }
}
const mX = typeof XMLHttpRequest < "u",
    BX = mX && function(e) {
        return new Promise(function(n, r) {
            let A = e.data;
            const i = Ci.from(e.headers).normalize();
            let {
                responseType: s,
                withXSRFToken: o
            } = e, a;

            function l() {
                e.cancelToken && e.cancelToken.unsubscribe(a), e.signal && e.signal.removeEventListener("abort", a)
            }
            let u;
            if (ke.isFormData(A)) {
                if (HA.hasStandardBrowserEnv || HA.hasStandardBrowserWebWorkerEnv) i.setContentType(!1);
                else if ((u = i.getContentType()) !== !1) {
                    const [B, ...C] = u ? u.split(";").map(w => w.trim()).filter(Boolean) : [];
                    i.setContentType([B || "multipart/form-data", ...C].join("; "))
                }
            }
            let f = new XMLHttpRequest;
            if (e.auth) {
                const B = e.auth.username || "",
                    C = e.auth.password ? unescape(encodeURIComponent(e.auth.password)) : "";
                i.set("Authorization", "Basic " + btoa(B + ":" + C))
            }
            const d = zE(e.baseURL, e.url);
            f.open(e.method.toUpperCase(), KE(d, e.params, e.paramsSerializer), !0), f.timeout = e.timeout;

            function p() {
                if (!f) return;
                const B = Ci.from("getAllResponseHeaders" in f && f.getAllResponseHeaders()),
                    w = {
                        data: !s || s === "text" || s === "json" ? f.responseText : f.response,
                        status: f.status,
                        statusText: f.statusText,
                        headers: B,
                        config: e,
                        request: f
                    };
                cX(function(E) {
                    n(E), l()
                }, function(E) {
                    r(E), l()
                }, w), f = null
            }
            if ("onloadend" in f ? f.onloadend = p : f.onreadystatechange = function() {
                    !f || f.readyState !== 4 || f.status === 0 && !(f.responseURL && f.responseURL.indexOf("file:") === 0) || setTimeout(p)
                }, f.onabort = function() {
                    f && (r(new Ut("Request aborted", Ut.ECONNABORTED, e, f)), f = null)
                }, f.onerror = function() {
                    r(new Ut("Network Error", Ut.ERR_NETWORK, e, f)), f = null
                }, f.ontimeout = function() {
                    let C = e.timeout ? "timeout of " + e.timeout + "ms exceeded" : "timeout exceeded";
                    const w = e.transitional || VE;
                    e.timeoutErrorMessage && (C = e.timeoutErrorMessage), r(new Ut(C, w.clarifyTimeoutError ? Ut.ETIMEDOUT : Ut.ECONNABORTED, e, f)), f = null
                }, HA.hasStandardBrowserEnv && (o && ke.isFunction(o) && (o = o(e)), o || o !== !1 && pX(d))) {
                const B = e.xsrfHeaderName && e.xsrfCookieName && fX.read(e.xsrfCookieName);
                B && i.set(e.xsrfHeaderName, B)
            }
            A === void 0 && i.setContentType(null), "setRequestHeader" in f && ke.forEach(i.toJSON(), function(C, w) {
                f.setRequestHeader(w, C)
            }), ke.isUndefined(e.withCredentials) || (f.withCredentials = !!e.withCredentials), s && s !== "json" && (f.responseType = e.responseType), typeof e.onDownloadProgress == "function" && f.addEventListener("progress", d7(e.onDownloadProgress, !0)), typeof e.onUploadProgress == "function" && f.upload && f.upload.addEventListener("progress", d7(e.onUploadProgress)), (e.cancelToken || e.signal) && (a = B => {
                f && (r(!B || B.type ? new Fc(null, e, f) : B), f.abort(), f = null)
            }, e.cancelToken && e.cancelToken.subscribe(a), e.signal && (e.signal.aborted ? a() : e.signal.addEventListener("abort", a)));
            const v = gX(d);
            if (v && HA.protocols.indexOf(v) === -1) {
                r(new Ut("Unsupported protocol " + v + ":", Ut.ERR_BAD_REQUEST, e));
                return
            }
            f.send(A || null)
        })
    },
    V6 = {
        http: KY,
        xhr: BX
    };
ke.forEach(V6, (e, t) => {
    if (e) {
        try {
            Object.defineProperty(e, "name", {
                value: t
            })
        } catch {}
        Object.defineProperty(e, "adapterName", {
            value: t
        })
    }
});
const h7 = e => `- ${e}`,
    wX = e => ke.isFunction(e) || e === null || e === !1,
    YE = {
        getAdapter: e => {
            e = ke.isArray(e) ? e : [e];
            const {
                length: t
            } = e;
            let n, r;
            const A = {};
            for (let i = 0; i < t; i++) {
                n = e[i];
                let s;
                if (r = n, !wX(n) && (r = V6[(s = String(n)).toLowerCase()], r === void 0)) throw new Ut(`Unknown adapter '${s}'`);
                if (r) break;
                A[s || "#" + i] = r
            }
            if (!r) {
                const i = Object.entries(A).map(([o, a]) => `adapter ${o} ` + (a === !1 ? "is not supported by the environment" : "is not available in the build"));
                let s = t ? i.length > 1 ? `since :
` + i.map(h7).join(`
`) : " " + h7(i[0]) : "as no adapter specified";
                throw new Ut("There is no suitable adapter to dispatch the request " + s, "ERR_NOT_SUPPORT")
            }
            return r
        },
        adapters: V6
    };

function Kh(e) {
    if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted) throw new Fc(null, e)
}

function p7(e) {
    return Kh(e), e.headers = Ci.from(e.headers), e.data = $h.call(e, e.transformRequest), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), YE.getAdapter(e.adapter || T5.adapter)(e).then(function(r) {
        return Kh(e), r.data = $h.call(e, e.transformResponse, r), r.headers = Ci.from(r.headers), r
    }, function(r) {
        return WE(r) || (Kh(e), r && r.response && (r.response.data = $h.call(e, e.transformResponse, r.response), r.response.headers = Ci.from(r.response.headers))), Promise.reject(r)
    })
}
const g7 = e => e instanceof Ci ? { ...e
} : e;

function Ya(e, t) {
    t = t || {};
    const n = {};

    function r(l, u, f) {
        return ke.isPlainObject(l) && ke.isPlainObject(u) ? ke.merge.call({
            caseless: f
        }, l, u) : ke.isPlainObject(u) ? ke.merge({}, u) : ke.isArray(u) ? u.slice() : u
    }

    function A(l, u, f) {
        if (ke.isUndefined(u)) {
            if (!ke.isUndefined(l)) return r(void 0, l, f)
        } else return r(l, u, f)
    }

    function i(l, u) {
        if (!ke.isUndefined(u)) return r(void 0, u)
    }

    function s(l, u) {
        if (ke.isUndefined(u)) {
            if (!ke.isUndefined(l)) return r(void 0, l)
        } else return r(void 0, u)
    }

    function o(l, u, f) {
        if (f in t) return r(l, u);
        if (f in e) return r(void 0, l)
    }
    const a = {
        url: i,
        method: i,
        data: i,
        baseURL: s,
        transformRequest: s,
        transformResponse: s,
        paramsSerializer: s,
        timeout: s,
        timeoutMessage: s,
        withCredentials: s,
        withXSRFToken: s,
        adapter: s,
        responseType: s,
        xsrfCookieName: s,
        xsrfHeaderName: s,
        onUploadProgress: s,
        onDownloadProgress: s,
        decompress: s,
        maxContentLength: s,
        maxBodyLength: s,
        beforeRedirect: s,
        transport: s,
        httpAgent: s,
        httpsAgent: s,
        cancelToken: s,
        socketPath: s,
        responseEncoding: s,
        validateStatus: o,
        headers: (l, u) => A(g7(l), g7(u), !0)
    };
    return ke.forEach(Object.keys(Object.assign({}, e, t)), function(u) {
        const f = a[u] || A,
            d = f(e[u], t[u], u);
        ke.isUndefined(d) && f !== o || (n[u] = d)
    }), n
}
const XE = "1.6.8",
    I5 = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
    I5[e] = function(r) {
        return typeof r === e || "a" + (t < 1 ? "n " : " ") + e
    }
});
const v7 = {};
I5.transitional = function(t, n, r) {
    function A(i, s) {
        return "[Axios v" + XE + "] Transitional option '" + i + "'" + s + (r ? ". " + r : "")
    }
    return (i, s, o) => {
        if (t === !1) throw new Ut(A(s, " has been removed" + (n ? " in " + n : "")), Ut.ERR_DEPRECATED);
        return n && !v7[s] && (v7[s] = !0, console.warn(A(s, " has been deprecated since v" + n + " and will be removed in the near future"))), t ? t(i, s, o) : !0
    }
};

function yX(e, t, n) {
    if (typeof e != "object") throw new Ut("options must be an object", Ut.ERR_BAD_OPTION_VALUE);
    const r = Object.keys(e);
    let A = r.length;
    for (; A-- > 0;) {
        const i = r[A],
            s = t[i];
        if (s) {
            const o = e[i],
                a = o === void 0 || s(o, i, e);
            if (a !== !0) throw new Ut("option " + i + " must be " + a, Ut.ERR_BAD_OPTION_VALUE);
            continue
        }
        if (n !== !0) throw new Ut("Unknown option " + i, Ut.ERR_BAD_OPTION)
    }
}
const G6 = {
        assertOptions: yX,
        validators: I5
    },
    ns = G6.validators;
class Tf {
    constructor(t) {
        this.defaults = t, this.interceptors = {
            request: new c7,
            response: new c7
        }
    }
    async request(t, n) {
        try {
            return await this._request(t, n)
        } catch (r) {
            if (r instanceof Error) {
                let A;
                Error.captureStackTrace ? Error.captureStackTrace(A = {}) : A = new Error;
                const i = A.stack ? A.stack.replace(/^.+\n/, "") : "";
                r.stack ? i && !String(r.stack).endsWith(i.replace(/^.+\n.+\n/, "")) && (r.stack += `
` + i) : r.stack = i
            }
            throw r
        }
    }
    _request(t, n) {
        typeof t == "string" ? (n = n || {}, n.url = t) : n = t || {}, n = Ya(this.defaults, n);
        const {
            transitional: r,
            paramsSerializer: A,
            headers: i
        } = n;
        r !== void 0 && G6.assertOptions(r, {
            silentJSONParsing: ns.transitional(ns.boolean),
            forcedJSONParsing: ns.transitional(ns.boolean),
            clarifyTimeoutError: ns.transitional(ns.boolean)
        }, !1), A != null && (ke.isFunction(A) ? n.paramsSerializer = {
            serialize: A
        } : G6.assertOptions(A, {
            encode: ns.function,
            serialize: ns.function
        }, !0)), n.method = (n.method || this.defaults.method || "get").toLowerCase();
        let s = i && ke.merge(i.common, i[n.method]);
        i && ke.forEach(["delete", "get", "head", "post", "put", "patch", "common"], v => {
            delete i[v]
        }), n.headers = Ci.concat(s, i);
        const o = [];
        let a = !0;
        this.interceptors.request.forEach(function(B) {
            typeof B.runWhen == "function" && B.runWhen(n) === !1 || (a = a && B.synchronous, o.unshift(B.fulfilled, B.rejected))
        });
        const l = [];
        this.interceptors.response.forEach(function(B) {
            l.push(B.fulfilled, B.rejected)
        });
        let u, f = 0,
            d;
        if (!a) {
            const v = [p7.bind(this), void 0];
            for (v.unshift.apply(v, o), v.push.apply(v, l), d = v.length, u = Promise.resolve(n); f < d;) u = u.then(v[f++], v[f++]);
            return u
        }
        d = o.length;
        let p = n;
        for (f = 0; f < d;) {
            const v = o[f++],
                B = o[f++];
            try {
                p = v(p)
            } catch (C) {
                B.call(this, C);
                break
            }
        }
        try {
            u = p7.call(this, p)
        } catch (v) {
            return Promise.reject(v)
        }
        for (f = 0, d = l.length; f < d;) u = u.then(l[f++], l[f++]);
        return u
    }
    getUri(t) {
        t = Ya(this.defaults, t);
        const n = zE(t.baseURL, t.url);
        return KE(n, t.params, t.paramsSerializer)
    }
}
ke.forEach(["delete", "get", "head", "options"], function(t) {
    Tf.prototype[t] = function(n, r) {
        return this.request(Ya(r || {}, {
            method: t,
            url: n,
            data: (r || {}).data
        }))
    }
});
ke.forEach(["post", "put", "patch"], function(t) {
    function n(r) {
        return function(i, s, o) {
            return this.request(Ya(o || {}, {
                method: t,
                headers: r ? {
                    "Content-Type": "multipart/form-data"
                } : {},
                url: i,
                data: s
            }))
        }
    }
    Tf.prototype[t] = n(), Tf.prototype[t + "Form"] = n(!0)
});
const Z0 = Tf;
class Q5 {
    constructor(t) {
        if (typeof t != "function") throw new TypeError("executor must be a function.");
        let n;
        this.promise = new Promise(function(i) {
            n = i
        });
        const r = this;
        this.promise.then(A => {
            if (!r._listeners) return;
            let i = r._listeners.length;
            for (; i-- > 0;) r._listeners[i](A);
            r._listeners = null
        }), this.promise.then = A => {
            let i;
            const s = new Promise(o => {
                r.subscribe(o), i = o
            }).then(A);
            return s.cancel = function() {
                r.unsubscribe(i)
            }, s
        }, t(function(i, s, o) {
            r.reason || (r.reason = new Fc(i, s, o), n(r.reason))
        })
    }
    throwIfRequested() {
        if (this.reason) throw this.reason
    }
    subscribe(t) {
        if (this.reason) {
            t(this.reason);
            return
        }
        this._listeners ? this._listeners.push(t) : this._listeners = [t]
    }
    unsubscribe(t) {
        if (!this._listeners) return;
        const n = this._listeners.indexOf(t);
        n !== -1 && this._listeners.splice(n, 1)
    }
    static source() {
        let t;
        return {
            token: new Q5(function(A) {
                t = A
            }),
            cancel: t
        }
    }
}
const CX = Q5;

function EX(e) {
    return function(n) {
        return e.apply(null, n)
    }
}

function bX(e) {
    return ke.isObject(e) && e.isAxiosError === !0
}
const j6 = {
    Continue: 100,
    SwitchingProtocols: 101,
    Processing: 102,
    EarlyHints: 103,
    Ok: 200,
    Created: 201,
    Accepted: 202,
    NonAuthoritativeInformation: 203,
    NoContent: 204,
    ResetContent: 205,
    PartialContent: 206,
    MultiStatus: 207,
    AlreadyReported: 208,
    ImUsed: 226,
    MultipleChoices: 300,
    MovedPermanently: 301,
    Found: 302,
    SeeOther: 303,
    NotModified: 304,
    UseProxy: 305,
    Unused: 306,
    TemporaryRedirect: 307,
    PermanentRedirect: 308,
    BadRequest: 400,
    Unauthorized: 401,
    PaymentRequired: 402,
    Forbidden: 403,
    NotFound: 404,
    MethodNotAllowed: 405,
    NotAcceptable: 406,
    ProxyAuthenticationRequired: 407,
    RequestTimeout: 408,
    Conflict: 409,
    Gone: 410,
    LengthRequired: 411,
    PreconditionFailed: 412,
    PayloadTooLarge: 413,
    UriTooLong: 414,
    UnsupportedMediaType: 415,
    RangeNotSatisfiable: 416,
    ExpectationFailed: 417,
    ImATeapot: 418,
    MisdirectedRequest: 421,
    UnprocessableEntity: 422,
    Locked: 423,
    FailedDependency: 424,
    TooEarly: 425,
    UpgradeRequired: 426,
    PreconditionRequired: 428,
    TooManyRequests: 429,
    RequestHeaderFieldsTooLarge: 431,
    UnavailableForLegalReasons: 451,
    InternalServerError: 500,
    NotImplemented: 501,
    BadGateway: 502,
    ServiceUnavailable: 503,
    GatewayTimeout: 504,
    HttpVersionNotSupported: 505,
    VariantAlsoNegotiates: 506,
    InsufficientStorage: 507,
    LoopDetected: 508,
    NotExtended: 510,
    NetworkAuthenticationRequired: 511
};
Object.entries(j6).forEach(([e, t]) => {
    j6[t] = e
});
const xX = j6;

function JE(e) {
    const t = new Z0(e),
        n = QE(Z0.prototype.request, t);
    return ke.extend(n, Z0.prototype, t, {
        allOwnKeys: !0
    }), ke.extend(n, t, null, {
        allOwnKeys: !0
    }), n.create = function(A) {
        return JE(Ya(e, A))
    }, n
}
const xn = JE(T5);
xn.Axios = Z0;
xn.CanceledError = Fc;
xn.CancelToken = CX;
xn.isCancel = WE;
xn.VERSION = XE;
xn.toFormData = G1;
xn.AxiosError = Ut;
xn.Cancel = xn.CanceledError;
xn.all = function(t) {
    return Promise.all(t)
};
xn.spread = EX;
xn.isAxiosError = bX;
xn.mergeConfig = Ya;
xn.AxiosHeaders = Ci;
xn.formToJSON = e => jE(ke.isHTMLForm(e) ? new FormData(e) : e);
xn.getAdapter = YE.getAdapter;
xn.HttpStatusCode = xX;
xn.default = xn;
const poe = xn;
var qE = {
    exports: {}
};
(function(e) {
    (function(t) {
        for (var n = [null, 0, {}], r = 10, A = 44032, i = 4352, s = 4449, o = 4519, a = 19, l = 21, u = 28, f = l * u, d = a * f, p = function(W, he) {
                this.codepoint = W, this.feature = he
            }, v = {}, B = [], C = 0; C <= 255; ++C) B[C] = 0;

        function w(W, he, Se) {
            var V = v[he];
            return V || (V = W(he, Se), V.feature && ++B[he >> 8 & 255] > r && (v[he] = V)), V
        }

        function m(W, he, Se) {
            var V = he & 65280,
                ie = p.udata[V] || {},
                ue = ie[he];
            return ue ? new p(he, ue) : new p(he, n)
        }

        function E(W, he, Se) {
            return Se ? W(he, Se) : new p(he, null)
        }

        function y(W, he, Se) {
            var V;
            if (he < i || i + a <= he && he < A || A + d < he) return W(he, Se);
            if (i <= he && he < i + a) {
                var ie = {},
                    ue = (he - i) * l;
                for (V = 0; V < l; ++V) ie[s + V] = A + u * (V + ue);
                return new p(he, [, , ie])
            }
            var pe = he - A,
                ee = pe % u,
                ye = [];
            if (ee !== 0) ye[0] = [A + pe - ee, o + ee];
            else
                for (ye[0] = [i + Math.floor(pe / f), s + Math.floor(pe % f / u)], ye[2] = {}, V = 1; V < u; ++V) ye[2][o + V] = he + V;
            return new p(he, ye)
        }

        function x(W, he, Se) {
            return he < 60 || 13311 < he && he < 42607 ? new p(he, n) : W(he, Se)
        }
        var F = [x, w, E, y, m];
        p.fromCharCode = F.reduceRight(function(W, he) {
            return function(Se, V) {
                return he(W, Se, V)
            }
        }, null), p.isHighSurrogate = function(W) {
            return W >= 55296 && W <= 56319
        }, p.isLowSurrogate = function(W) {
            return W >= 56320 && W <= 57343
        }, p.prototype.prepFeature = function() {
            this.feature || (this.feature = p.fromCharCode(this.codepoint, !0).feature)
        }, p.prototype.toString = function() {
            if (this.codepoint < 65536) return String.fromCharCode(this.codepoint);
            var W = this.codepoint - 65536;
            return String.fromCharCode(Math.floor(W / 1024) + 55296, W % 1024 + 56320)
        }, p.prototype.getDecomp = function() {
            return this.prepFeature(), this.feature[0] || null
        }, p.prototype.isCompatibility = function() {
            return this.prepFeature(), !!this.feature[1] && this.feature[1] & 256
        }, p.prototype.isExclude = function() {
            return this.prepFeature(), !!this.feature[1] && this.feature[1] & 512
        }, p.prototype.getCanonicalClass = function() {
            return this.prepFeature(), this.feature[1] ? this.feature[1] & 255 : 0
        }, p.prototype.getComposite = function(W) {
            if (this.prepFeature(), !this.feature[2]) return null;
            var he = this.feature[2][W.codepoint];
            return he ? p.fromCharCode(he) : null
        };
        var Q = function(W) {
            this.str = W, this.cursor = 0
        };
        Q.prototype.next = function() {
            if (this.str && this.cursor < this.str.length) {
                var W = this.str.charCodeAt(this.cursor++),
                    he;
                return p.isHighSurrogate(W) && this.cursor < this.str.length && p.isLowSurrogate(he = this.str.charCodeAt(this.cursor)) && (W = (W - 55296) * 1024 + (he - 56320) + 65536, ++this.cursor), p.fromCharCode(W)
            } else return this.str = null, null
        };
        var P = function(W, he) {
            this.it = W, this.canonical = he, this.resBuf = []
        };
        P.prototype.next = function() {
            function W(Se, V) {
                var ie = V.getDecomp();
                if (ie && !(Se && V.isCompatibility())) {
                    for (var ue = [], pe = 0; pe < ie.length; ++pe) {
                        var ee = W(Se, p.fromCharCode(ie[pe]));
                        ue = ue.concat(ee)
                    }
                    return ue
                } else return [V]
            }
            if (this.resBuf.length === 0) {
                var he = this.it.next();
                if (!he) return null;
                this.resBuf = W(this.canonical, he)
            }
            return this.resBuf.shift()
        };
        var L = function(W) {
            this.it = W, this.resBuf = []
        };
        L.prototype.next = function() {
            var W;
            if (this.resBuf.length === 0)
                do {
                    var he = this.it.next();
                    if (!he) break;
                    W = he.getCanonicalClass();
                    var Se = this.resBuf.length;
                    if (W !== 0)
                        for (; Se > 0; --Se) {
                            var V = this.resBuf[Se - 1],
                                ie = V.getCanonicalClass();
                            if (ie <= W) break
                        }
                    this.resBuf.splice(Se, 0, he)
                } while (W !== 0);
            return this.resBuf.shift()
        };
        var I = function(W) {
            this.it = W, this.procBuf = [], this.resBuf = [], this.lastClass = null
        };
        I.prototype.next = function() {
            for (; this.resBuf.length === 0;) {
                var W = this.it.next();
                if (!W) {
                    this.resBuf = this.procBuf, this.procBuf = [];
                    break
                }
                if (this.procBuf.length === 0) this.lastClass = W.getCanonicalClass(), this.procBuf.push(W);
                else {
                    var he = this.procBuf[0],
                        Se = he.getComposite(W),
                        V = W.getCanonicalClass();
                    Se && (this.lastClass < V || this.lastClass === 0) ? this.procBuf[0] = Se : (V === 0 && (this.resBuf = this.procBuf, this.procBuf = []), this.lastClass = V, this.procBuf.push(W))
                }
            }
            return this.resBuf.shift()
        };
        var _ = function(W, he) {
                switch (W) {
                    case "NFD":
                        return new L(new P(new Q(he), !0));
                    case "NFKD":
                        return new L(new P(new Q(he), !1));
                    case "NFC":
                        return new I(new L(new P(new Q(he), !0)));
                    case "NFKC":
                        return new I(new L(new P(new Q(he), !1)))
                }
                throw W + " is invalid"
            },
            D = function(W, he) {
                for (var Se = _(W, he), V = "", ie; ie = Se.next();) V += ie.toString();
                return V
            };

        function N(W) {
            return D("NFD", W)
        }

        function X(W) {
            return D("NFKD", W)
        }

        function se(W) {
            return D("NFC", W)
        }

        function Z(W) {
            return D("NFKC", W)
        }
        p.udata = {
            0: {
                60: [, , {
                    824: 8814
                }],
                61: [, , {
                    824: 8800
                }],
                62: [, , {
                    824: 8815
                }],
                65: [, , {
                    768: 192,
                    769: 193,
                    770: 194,
                    771: 195,
                    772: 256,
                    774: 258,
                    775: 550,
                    776: 196,
                    777: 7842,
                    778: 197,
                    780: 461,
                    783: 512,
                    785: 514,
                    803: 7840,
                    805: 7680,
                    808: 260
                }],
                66: [, , {
                    775: 7682,
                    803: 7684,
                    817: 7686
                }],
                67: [, , {
                    769: 262,
                    770: 264,
                    775: 266,
                    780: 268,
                    807: 199
                }],
                68: [, , {
                    775: 7690,
                    780: 270,
                    803: 7692,
                    807: 7696,
                    813: 7698,
                    817: 7694
                }],
                69: [, , {
                    768: 200,
                    769: 201,
                    770: 202,
                    771: 7868,
                    772: 274,
                    774: 276,
                    775: 278,
                    776: 203,
                    777: 7866,
                    780: 282,
                    783: 516,
                    785: 518,
                    803: 7864,
                    807: 552,
                    808: 280,
                    813: 7704,
                    816: 7706
                }],
                70: [, , {
                    775: 7710
                }],
                71: [, , {
                    769: 500,
                    770: 284,
                    772: 7712,
                    774: 286,
                    775: 288,
                    780: 486,
                    807: 290
                }],
                72: [, , {
                    770: 292,
                    775: 7714,
                    776: 7718,
                    780: 542,
                    803: 7716,
                    807: 7720,
                    814: 7722
                }],
                73: [, , {
                    768: 204,
                    769: 205,
                    770: 206,
                    771: 296,
                    772: 298,
                    774: 300,
                    775: 304,
                    776: 207,
                    777: 7880,
                    780: 463,
                    783: 520,
                    785: 522,
                    803: 7882,
                    808: 302,
                    816: 7724
                }],
                74: [, , {
                    770: 308
                }],
                75: [, , {
                    769: 7728,
                    780: 488,
                    803: 7730,
                    807: 310,
                    817: 7732
                }],
                76: [, , {
                    769: 313,
                    780: 317,
                    803: 7734,
                    807: 315,
                    813: 7740,
                    817: 7738
                }],
                77: [, , {
                    769: 7742,
                    775: 7744,
                    803: 7746
                }],
                78: [, , {
                    768: 504,
                    769: 323,
                    771: 209,
                    775: 7748,
                    780: 327,
                    803: 7750,
                    807: 325,
                    813: 7754,
                    817: 7752
                }],
                79: [, , {
                    768: 210,
                    769: 211,
                    770: 212,
                    771: 213,
                    772: 332,
                    774: 334,
                    775: 558,
                    776: 214,
                    777: 7886,
                    779: 336,
                    780: 465,
                    783: 524,
                    785: 526,
                    795: 416,
                    803: 7884,
                    808: 490
                }],
                80: [, , {
                    769: 7764,
                    775: 7766
                }],
                82: [, , {
                    769: 340,
                    775: 7768,
                    780: 344,
                    783: 528,
                    785: 530,
                    803: 7770,
                    807: 342,
                    817: 7774
                }],
                83: [, , {
                    769: 346,
                    770: 348,
                    775: 7776,
                    780: 352,
                    803: 7778,
                    806: 536,
                    807: 350
                }],
                84: [, , {
                    775: 7786,
                    780: 356,
                    803: 7788,
                    806: 538,
                    807: 354,
                    813: 7792,
                    817: 7790
                }],
                85: [, , {
                    768: 217,
                    769: 218,
                    770: 219,
                    771: 360,
                    772: 362,
                    774: 364,
                    776: 220,
                    777: 7910,
                    778: 366,
                    779: 368,
                    780: 467,
                    783: 532,
                    785: 534,
                    795: 431,
                    803: 7908,
                    804: 7794,
                    808: 370,
                    813: 7798,
                    816: 7796
                }],
                86: [, , {
                    771: 7804,
                    803: 7806
                }],
                87: [, , {
                    768: 7808,
                    769: 7810,
                    770: 372,
                    775: 7814,
                    776: 7812,
                    803: 7816
                }],
                88: [, , {
                    775: 7818,
                    776: 7820
                }],
                89: [, , {
                    768: 7922,
                    769: 221,
                    770: 374,
                    771: 7928,
                    772: 562,
                    775: 7822,
                    776: 376,
                    777: 7926,
                    803: 7924
                }],
                90: [, , {
                    769: 377,
                    770: 7824,
                    775: 379,
                    780: 381,
                    803: 7826,
                    817: 7828
                }],
                97: [, , {
                    768: 224,
                    769: 225,
                    770: 226,
                    771: 227,
                    772: 257,
                    774: 259,
                    775: 551,
                    776: 228,
                    777: 7843,
                    778: 229,
                    780: 462,
                    783: 513,
                    785: 515,
                    803: 7841,
                    805: 7681,
                    808: 261
                }],
                98: [, , {
                    775: 7683,
                    803: 7685,
                    817: 7687
                }],
                99: [, , {
                    769: 263,
                    770: 265,
                    775: 267,
                    780: 269,
                    807: 231
                }],
                100: [, , {
                    775: 7691,
                    780: 271,
                    803: 7693,
                    807: 7697,
                    813: 7699,
                    817: 7695
                }],
                101: [, , {
                    768: 232,
                    769: 233,
                    770: 234,
                    771: 7869,
                    772: 275,
                    774: 277,
                    775: 279,
                    776: 235,
                    777: 7867,
                    780: 283,
                    783: 517,
                    785: 519,
                    803: 7865,
                    807: 553,
                    808: 281,
                    813: 7705,
                    816: 7707
                }],
                102: [, , {
                    775: 7711
                }],
                103: [, , {
                    769: 501,
                    770: 285,
                    772: 7713,
                    774: 287,
                    775: 289,
                    780: 487,
                    807: 291
                }],
                104: [, , {
                    770: 293,
                    775: 7715,
                    776: 7719,
                    780: 543,
                    803: 7717,
                    807: 7721,
                    814: 7723,
                    817: 7830
                }],
                105: [, , {
                    768: 236,
                    769: 237,
                    770: 238,
                    771: 297,
                    772: 299,
                    774: 301,
                    776: 239,
                    777: 7881,
                    780: 464,
                    783: 521,
                    785: 523,
                    803: 7883,
                    808: 303,
                    816: 7725
                }],
                106: [, , {
                    770: 309,
                    780: 496
                }],
                107: [, , {
                    769: 7729,
                    780: 489,
                    803: 7731,
                    807: 311,
                    817: 7733
                }],
                108: [, , {
                    769: 314,
                    780: 318,
                    803: 7735,
                    807: 316,
                    813: 7741,
                    817: 7739
                }],
                109: [, , {
                    769: 7743,
                    775: 7745,
                    803: 7747
                }],
                110: [, , {
                    768: 505,
                    769: 324,
                    771: 241,
                    775: 7749,
                    780: 328,
                    803: 7751,
                    807: 326,
                    813: 7755,
                    817: 7753
                }],
                111: [, , {
                    768: 242,
                    769: 243,
                    770: 244,
                    771: 245,
                    772: 333,
                    774: 335,
                    775: 559,
                    776: 246,
                    777: 7887,
                    779: 337,
                    780: 466,
                    783: 525,
                    785: 527,
                    795: 417,
                    803: 7885,
                    808: 491
                }],
                112: [, , {
                    769: 7765,
                    775: 7767
                }],
                114: [, , {
                    769: 341,
                    775: 7769,
                    780: 345,
                    783: 529,
                    785: 531,
                    803: 7771,
                    807: 343,
                    817: 7775
                }],
                115: [, , {
                    769: 347,
                    770: 349,
                    775: 7777,
                    780: 353,
                    803: 7779,
                    806: 537,
                    807: 351
                }],
                116: [, , {
                    775: 7787,
                    776: 7831,
                    780: 357,
                    803: 7789,
                    806: 539,
                    807: 355,
                    813: 7793,
                    817: 7791
                }],
                117: [, , {
                    768: 249,
                    769: 250,
                    770: 251,
                    771: 361,
                    772: 363,
                    774: 365,
                    776: 252,
                    777: 7911,
                    778: 367,
                    779: 369,
                    780: 468,
                    783: 533,
                    785: 535,
                    795: 432,
                    803: 7909,
                    804: 7795,
                    808: 371,
                    813: 7799,
                    816: 7797
                }],
                118: [, , {
                    771: 7805,
                    803: 7807
                }],
                119: [, , {
                    768: 7809,
                    769: 7811,
                    770: 373,
                    775: 7815,
                    776: 7813,
                    778: 7832,
                    803: 7817
                }],
                120: [, , {
                    775: 7819,
                    776: 7821
                }],
                121: [, , {
                    768: 7923,
                    769: 253,
                    770: 375,
                    771: 7929,
                    772: 563,
                    775: 7823,
                    776: 255,
                    777: 7927,
                    778: 7833,
                    803: 7925
                }],
                122: [, , {
                    769: 378,
                    770: 7825,
                    775: 380,
                    780: 382,
                    803: 7827,
                    817: 7829
                }],
                160: [
                    [32], 256
                ],
                168: [
                    [32, 776], 256, {
                        768: 8173,
                        769: 901,
                        834: 8129
                    }
                ],
                170: [
                    [97], 256
                ],
                175: [
                    [32, 772], 256
                ],
                178: [
                    [50], 256
                ],
                179: [
                    [51], 256
                ],
                180: [
                    [32, 769], 256
                ],
                181: [
                    [956], 256
                ],
                184: [
                    [32, 807], 256
                ],
                185: [
                    [49], 256
                ],
                186: [
                    [111], 256
                ],
                188: [
                    [49, 8260, 52], 256
                ],
                189: [
                    [49, 8260, 50], 256
                ],
                190: [
                    [51, 8260, 52], 256
                ],
                192: [
                    [65, 768]
                ],
                193: [
                    [65, 769]
                ],
                194: [
                    [65, 770], , {
                        768: 7846,
                        769: 7844,
                        771: 7850,
                        777: 7848
                    }
                ],
                195: [
                    [65, 771]
                ],
                196: [
                    [65, 776], , {
                        772: 478
                    }
                ],
                197: [
                    [65, 778], , {
                        769: 506
                    }
                ],
                198: [, , {
                    769: 508,
                    772: 482
                }],
                199: [
                    [67, 807], , {
                        769: 7688
                    }
                ],
                200: [
                    [69, 768]
                ],
                201: [
                    [69, 769]
                ],
                202: [
                    [69, 770], , {
                        768: 7872,
                        769: 7870,
                        771: 7876,
                        777: 7874
                    }
                ],
                203: [
                    [69, 776]
                ],
                204: [
                    [73, 768]
                ],
                205: [
                    [73, 769]
                ],
                206: [
                    [73, 770]
                ],
                207: [
                    [73, 776], , {
                        769: 7726
                    }
                ],
                209: [
                    [78, 771]
                ],
                210: [
                    [79, 768]
                ],
                211: [
                    [79, 769]
                ],
                212: [
                    [79, 770], , {
                        768: 7890,
                        769: 7888,
                        771: 7894,
                        777: 7892
                    }
                ],
                213: [
                    [79, 771], , {
                        769: 7756,
                        772: 556,
                        776: 7758
                    }
                ],
                214: [
                    [79, 776], , {
                        772: 554
                    }
                ],
                216: [, , {
                    769: 510
                }],
                217: [
                    [85, 768]
                ],
                218: [
                    [85, 769]
                ],
                219: [
                    [85, 770]
                ],
                220: [
                    [85, 776], , {
                        768: 475,
                        769: 471,
                        772: 469,
                        780: 473
                    }
                ],
                221: [
                    [89, 769]
                ],
                224: [
                    [97, 768]
                ],
                225: [
                    [97, 769]
                ],
                226: [
                    [97, 770], , {
                        768: 7847,
                        769: 7845,
                        771: 7851,
                        777: 7849
                    }
                ],
                227: [
                    [97, 771]
                ],
                228: [
                    [97, 776], , {
                        772: 479
                    }
                ],
                229: [
                    [97, 778], , {
                        769: 507
                    }
                ],
                230: [, , {
                    769: 509,
                    772: 483
                }],
                231: [
                    [99, 807], , {
                        769: 7689
                    }
                ],
                232: [
                    [101, 768]
                ],
                233: [
                    [101, 769]
                ],
                234: [
                    [101, 770], , {
                        768: 7873,
                        769: 7871,
                        771: 7877,
                        777: 7875
                    }
                ],
                235: [
                    [101, 776]
                ],
                236: [
                    [105, 768]
                ],
                237: [
                    [105, 769]
                ],
                238: [
                    [105, 770]
                ],
                239: [
                    [105, 776], , {
                        769: 7727
                    }
                ],
                241: [
                    [110, 771]
                ],
                242: [
                    [111, 768]
                ],
                243: [
                    [111, 769]
                ],
                244: [
                    [111, 770], , {
                        768: 7891,
                        769: 7889,
                        771: 7895,
                        777: 7893
                    }
                ],
                245: [
                    [111, 771], , {
                        769: 7757,
                        772: 557,
                        776: 7759
                    }
                ],
                246: [
                    [111, 776], , {
                        772: 555
                    }
                ],
                248: [, , {
                    769: 511
                }],
                249: [
                    [117, 768]
                ],
                250: [
                    [117, 769]
                ],
                251: [
                    [117, 770]
                ],
                252: [
                    [117, 776], , {
                        768: 476,
                        769: 472,
                        772: 470,
                        780: 474
                    }
                ],
                253: [
                    [121, 769]
                ],
                255: [
                    [121, 776]
                ]
            },
            256: {
                256: [
                    [65, 772]
                ],
                257: [
                    [97, 772]
                ],
                258: [
                    [65, 774], , {
                        768: 7856,
                        769: 7854,
                        771: 7860,
                        777: 7858
                    }
                ],
                259: [
                    [97, 774], , {
                        768: 7857,
                        769: 7855,
                        771: 7861,
                        777: 7859
                    }
                ],
                260: [
                    [65, 808]
                ],
                261: [
                    [97, 808]
                ],
                262: [
                    [67, 769]
                ],
                263: [
                    [99, 769]
                ],
                264: [
                    [67, 770]
                ],
                265: [
                    [99, 770]
                ],
                266: [
                    [67, 775]
                ],
                267: [
                    [99, 775]
                ],
                268: [
                    [67, 780]
                ],
                269: [
                    [99, 780]
                ],
                270: [
                    [68, 780]
                ],
                271: [
                    [100, 780]
                ],
                274: [
                    [69, 772], , {
                        768: 7700,
                        769: 7702
                    }
                ],
                275: [
                    [101, 772], , {
                        768: 7701,
                        769: 7703
                    }
                ],
                276: [
                    [69, 774]
                ],
                277: [
                    [101, 774]
                ],
                278: [
                    [69, 775]
                ],
                279: [
                    [101, 775]
                ],
                280: [
                    [69, 808]
                ],
                281: [
                    [101, 808]
                ],
                282: [
                    [69, 780]
                ],
                283: [
                    [101, 780]
                ],
                284: [
                    [71, 770]
                ],
                285: [
                    [103, 770]
                ],
                286: [
                    [71, 774]
                ],
                287: [
                    [103, 774]
                ],
                288: [
                    [71, 775]
                ],
                289: [
                    [103, 775]
                ],
                290: [
                    [71, 807]
                ],
                291: [
                    [103, 807]
                ],
                292: [
                    [72, 770]
                ],
                293: [
                    [104, 770]
                ],
                296: [
                    [73, 771]
                ],
                297: [
                    [105, 771]
                ],
                298: [
                    [73, 772]
                ],
                299: [
                    [105, 772]
                ],
                300: [
                    [73, 774]
                ],
                301: [
                    [105, 774]
                ],
                302: [
                    [73, 808]
                ],
                303: [
                    [105, 808]
                ],
                304: [
                    [73, 775]
                ],
                306: [
                    [73, 74], 256
                ],
                307: [
                    [105, 106], 256
                ],
                308: [
                    [74, 770]
                ],
                309: [
                    [106, 770]
                ],
                310: [
                    [75, 807]
                ],
                311: [
                    [107, 807]
                ],
                313: [
                    [76, 769]
                ],
                314: [
                    [108, 769]
                ],
                315: [
                    [76, 807]
                ],
                316: [
                    [108, 807]
                ],
                317: [
                    [76, 780]
                ],
                318: [
                    [108, 780]
                ],
                319: [
                    [76, 183], 256
                ],
                320: [
                    [108, 183], 256
                ],
                323: [
                    [78, 769]
                ],
                324: [
                    [110, 769]
                ],
                325: [
                    [78, 807]
                ],
                326: [
                    [110, 807]
                ],
                327: [
                    [78, 780]
                ],
                328: [
                    [110, 780]
                ],
                329: [
                    [700, 110], 256
                ],
                332: [
                    [79, 772], , {
                        768: 7760,
                        769: 7762
                    }
                ],
                333: [
                    [111, 772], , {
                        768: 7761,
                        769: 7763
                    }
                ],
                334: [
                    [79, 774]
                ],
                335: [
                    [111, 774]
                ],
                336: [
                    [79, 779]
                ],
                337: [
                    [111, 779]
                ],
                340: [
                    [82, 769]
                ],
                341: [
                    [114, 769]
                ],
                342: [
                    [82, 807]
                ],
                343: [
                    [114, 807]
                ],
                344: [
                    [82, 780]
                ],
                345: [
                    [114, 780]
                ],
                346: [
                    [83, 769], , {
                        775: 7780
                    }
                ],
                347: [
                    [115, 769], , {
                        775: 7781
                    }
                ],
                348: [
                    [83, 770]
                ],
                349: [
                    [115, 770]
                ],
                350: [
                    [83, 807]
                ],
                351: [
                    [115, 807]
                ],
                352: [
                    [83, 780], , {
                        775: 7782
                    }
                ],
                353: [
                    [115, 780], , {
                        775: 7783
                    }
                ],
                354: [
                    [84, 807]
                ],
                355: [
                    [116, 807]
                ],
                356: [
                    [84, 780]
                ],
                357: [
                    [116, 780]
                ],
                360: [
                    [85, 771], , {
                        769: 7800
                    }
                ],
                361: [
                    [117, 771], , {
                        769: 7801
                    }
                ],
                362: [
                    [85, 772], , {
                        776: 7802
                    }
                ],
                363: [
                    [117, 772], , {
                        776: 7803
                    }
                ],
                364: [
                    [85, 774]
                ],
                365: [
                    [117, 774]
                ],
                366: [
                    [85, 778]
                ],
                367: [
                    [117, 778]
                ],
                368: [
                    [85, 779]
                ],
                369: [
                    [117, 779]
                ],
                370: [
                    [85, 808]
                ],
                371: [
                    [117, 808]
                ],
                372: [
                    [87, 770]
                ],
                373: [
                    [119, 770]
                ],
                374: [
                    [89, 770]
                ],
                375: [
                    [121, 770]
                ],
                376: [
                    [89, 776]
                ],
                377: [
                    [90, 769]
                ],
                378: [
                    [122, 769]
                ],
                379: [
                    [90, 775]
                ],
                380: [
                    [122, 775]
                ],
                381: [
                    [90, 780]
                ],
                382: [
                    [122, 780]
                ],
                383: [
                    [115], 256, {
                        775: 7835
                    }
                ],
                416: [
                    [79, 795], , {
                        768: 7900,
                        769: 7898,
                        771: 7904,
                        777: 7902,
                        803: 7906
                    }
                ],
                417: [
                    [111, 795], , {
                        768: 7901,
                        769: 7899,
                        771: 7905,
                        777: 7903,
                        803: 7907
                    }
                ],
                431: [
                    [85, 795], , {
                        768: 7914,
                        769: 7912,
                        771: 7918,
                        777: 7916,
                        803: 7920
                    }
                ],
                432: [
                    [117, 795], , {
                        768: 7915,
                        769: 7913,
                        771: 7919,
                        777: 7917,
                        803: 7921
                    }
                ],
                439: [, , {
                    780: 494
                }],
                452: [
                    [68, 381], 256
                ],
                453: [
                    [68, 382], 256
                ],
                454: [
                    [100, 382], 256
                ],
                455: [
                    [76, 74], 256
                ],
                456: [
                    [76, 106], 256
                ],
                457: [
                    [108, 106], 256
                ],
                458: [
                    [78, 74], 256
                ],
                459: [
                    [78, 106], 256
                ],
                460: [
                    [110, 106], 256
                ],
                461: [
                    [65, 780]
                ],
                462: [
                    [97, 780]
                ],
                463: [
                    [73, 780]
                ],
                464: [
                    [105, 780]
                ],
                465: [
                    [79, 780]
                ],
                466: [
                    [111, 780]
                ],
                467: [
                    [85, 780]
                ],
                468: [
                    [117, 780]
                ],
                469: [
                    [220, 772]
                ],
                470: [
                    [252, 772]
                ],
                471: [
                    [220, 769]
                ],
                472: [
                    [252, 769]
                ],
                473: [
                    [220, 780]
                ],
                474: [
                    [252, 780]
                ],
                475: [
                    [220, 768]
                ],
                476: [
                    [252, 768]
                ],
                478: [
                    [196, 772]
                ],
                479: [
                    [228, 772]
                ],
                480: [
                    [550, 772]
                ],
                481: [
                    [551, 772]
                ],
                482: [
                    [198, 772]
                ],
                483: [
                    [230, 772]
                ],
                486: [
                    [71, 780]
                ],
                487: [
                    [103, 780]
                ],
                488: [
                    [75, 780]
                ],
                489: [
                    [107, 780]
                ],
                490: [
                    [79, 808], , {
                        772: 492
                    }
                ],
                491: [
                    [111, 808], , {
                        772: 493
                    }
                ],
                492: [
                    [490, 772]
                ],
                493: [
                    [491, 772]
                ],
                494: [
                    [439, 780]
                ],
                495: [
                    [658, 780]
                ],
                496: [
                    [106, 780]
                ],
                497: [
                    [68, 90], 256
                ],
                498: [
                    [68, 122], 256
                ],
                499: [
                    [100, 122], 256
                ],
                500: [
                    [71, 769]
                ],
                501: [
                    [103, 769]
                ],
                504: [
                    [78, 768]
                ],
                505: [
                    [110, 768]
                ],
                506: [
                    [197, 769]
                ],
                507: [
                    [229, 769]
                ],
                508: [
                    [198, 769]
                ],
                509: [
                    [230, 769]
                ],
                510: [
                    [216, 769]
                ],
                511: [
                    [248, 769]
                ],
                66045: [, 220]
            },
            512: {
                512: [
                    [65, 783]
                ],
                513: [
                    [97, 783]
                ],
                514: [
                    [65, 785]
                ],
                515: [
                    [97, 785]
                ],
                516: [
                    [69, 783]
                ],
                517: [
                    [101, 783]
                ],
                518: [
                    [69, 785]
                ],
                519: [
                    [101, 785]
                ],
                520: [
                    [73, 783]
                ],
                521: [
                    [105, 783]
                ],
                522: [
                    [73, 785]
                ],
                523: [
                    [105, 785]
                ],
                524: [
                    [79, 783]
                ],
                525: [
                    [111, 783]
                ],
                526: [
                    [79, 785]
                ],
                527: [
                    [111, 785]
                ],
                528: [
                    [82, 783]
                ],
                529: [
                    [114, 783]
                ],
                530: [
                    [82, 785]
                ],
                531: [
                    [114, 785]
                ],
                532: [
                    [85, 783]
                ],
                533: [
                    [117, 783]
                ],
                534: [
                    [85, 785]
                ],
                535: [
                    [117, 785]
                ],
                536: [
                    [83, 806]
                ],
                537: [
                    [115, 806]
                ],
                538: [
                    [84, 806]
                ],
                539: [
                    [116, 806]
                ],
                542: [
                    [72, 780]
                ],
                543: [
                    [104, 780]
                ],
                550: [
                    [65, 775], , {
                        772: 480
                    }
                ],
                551: [
                    [97, 775], , {
                        772: 481
                    }
                ],
                552: [
                    [69, 807], , {
                        774: 7708
                    }
                ],
                553: [
                    [101, 807], , {
                        774: 7709
                    }
                ],
                554: [
                    [214, 772]
                ],
                555: [
                    [246, 772]
                ],
                556: [
                    [213, 772]
                ],
                557: [
                    [245, 772]
                ],
                558: [
                    [79, 775], , {
                        772: 560
                    }
                ],
                559: [
                    [111, 775], , {
                        772: 561
                    }
                ],
                560: [
                    [558, 772]
                ],
                561: [
                    [559, 772]
                ],
                562: [
                    [89, 772]
                ],
                563: [
                    [121, 772]
                ],
                658: [, , {
                    780: 495
                }],
                688: [
                    [104], 256
                ],
                689: [
                    [614], 256
                ],
                690: [
                    [106], 256
                ],
                691: [
                    [114], 256
                ],
                692: [
                    [633], 256
                ],
                693: [
                    [635], 256
                ],
                694: [
                    [641], 256
                ],
                695: [
                    [119], 256
                ],
                696: [
                    [121], 256
                ],
                728: [
                    [32, 774], 256
                ],
                729: [
                    [32, 775], 256
                ],
                730: [
                    [32, 778], 256
                ],
                731: [
                    [32, 808], 256
                ],
                732: [
                    [32, 771], 256
                ],
                733: [
                    [32, 779], 256
                ],
                736: [
                    [611], 256
                ],
                737: [
                    [108], 256
                ],
                738: [
                    [115], 256
                ],
                739: [
                    [120], 256
                ],
                740: [
                    [661], 256
                ],
                66272: [, 220]
            },
            768: {
                768: [, 230],
                769: [, 230],
                770: [, 230],
                771: [, 230],
                772: [, 230],
                773: [, 230],
                774: [, 230],
                775: [, 230],
                776: [, 230, {
                    769: 836
                }],
                777: [, 230],
                778: [, 230],
                779: [, 230],
                780: [, 230],
                781: [, 230],
                782: [, 230],
                783: [, 230],
                784: [, 230],
                785: [, 230],
                786: [, 230],
                787: [, 230],
                788: [, 230],
                789: [, 232],
                790: [, 220],
                791: [, 220],
                792: [, 220],
                793: [, 220],
                794: [, 232],
                795: [, 216],
                796: [, 220],
                797: [, 220],
                798: [, 220],
                799: [, 220],
                800: [, 220],
                801: [, 202],
                802: [, 202],
                803: [, 220],
                804: [, 220],
                805: [, 220],
                806: [, 220],
                807: [, 202],
                808: [, 202],
                809: [, 220],
                810: [, 220],
                811: [, 220],
                812: [, 220],
                813: [, 220],
                814: [, 220],
                815: [, 220],
                816: [, 220],
                817: [, 220],
                818: [, 220],
                819: [, 220],
                820: [, 1],
                821: [, 1],
                822: [, 1],
                823: [, 1],
                824: [, 1],
                825: [, 220],
                826: [, 220],
                827: [, 220],
                828: [, 220],
                829: [, 230],
                830: [, 230],
                831: [, 230],
                832: [
                    [768], 230
                ],
                833: [
                    [769], 230
                ],
                834: [, 230],
                835: [
                    [787], 230
                ],
                836: [
                    [776, 769], 230
                ],
                837: [, 240],
                838: [, 230],
                839: [, 220],
                840: [, 220],
                841: [, 220],
                842: [, 230],
                843: [, 230],
                844: [, 230],
                845: [, 220],
                846: [, 220],
                848: [, 230],
                849: [, 230],
                850: [, 230],
                851: [, 220],
                852: [, 220],
                853: [, 220],
                854: [, 220],
                855: [, 230],
                856: [, 232],
                857: [, 220],
                858: [, 220],
                859: [, 230],
                860: [, 233],
                861: [, 234],
                862: [, 234],
                863: [, 233],
                864: [, 234],
                865: [, 234],
                866: [, 233],
                867: [, 230],
                868: [, 230],
                869: [, 230],
                870: [, 230],
                871: [, 230],
                872: [, 230],
                873: [, 230],
                874: [, 230],
                875: [, 230],
                876: [, 230],
                877: [, 230],
                878: [, 230],
                879: [, 230],
                884: [
                    [697]
                ],
                890: [
                    [32, 837], 256
                ],
                894: [
                    [59]
                ],
                900: [
                    [32, 769], 256
                ],
                901: [
                    [168, 769]
                ],
                902: [
                    [913, 769]
                ],
                903: [
                    [183]
                ],
                904: [
                    [917, 769]
                ],
                905: [
                    [919, 769]
                ],
                906: [
                    [921, 769]
                ],
                908: [
                    [927, 769]
                ],
                910: [
                    [933, 769]
                ],
                911: [
                    [937, 769]
                ],
                912: [
                    [970, 769]
                ],
                913: [, , {
                    768: 8122,
                    769: 902,
                    772: 8121,
                    774: 8120,
                    787: 7944,
                    788: 7945,
                    837: 8124
                }],
                917: [, , {
                    768: 8136,
                    769: 904,
                    787: 7960,
                    788: 7961
                }],
                919: [, , {
                    768: 8138,
                    769: 905,
                    787: 7976,
                    788: 7977,
                    837: 8140
                }],
                921: [, , {
                    768: 8154,
                    769: 906,
                    772: 8153,
                    774: 8152,
                    776: 938,
                    787: 7992,
                    788: 7993
                }],
                927: [, , {
                    768: 8184,
                    769: 908,
                    787: 8008,
                    788: 8009
                }],
                929: [, , {
                    788: 8172
                }],
                933: [, , {
                    768: 8170,
                    769: 910,
                    772: 8169,
                    774: 8168,
                    776: 939,
                    788: 8025
                }],
                937: [, , {
                    768: 8186,
                    769: 911,
                    787: 8040,
                    788: 8041,
                    837: 8188
                }],
                938: [
                    [921, 776]
                ],
                939: [
                    [933, 776]
                ],
                940: [
                    [945, 769], , {
                        837: 8116
                    }
                ],
                941: [
                    [949, 769]
                ],
                942: [
                    [951, 769], , {
                        837: 8132
                    }
                ],
                943: [
                    [953, 769]
                ],
                944: [
                    [971, 769]
                ],
                945: [, , {
                    768: 8048,
                    769: 940,
                    772: 8113,
                    774: 8112,
                    787: 7936,
                    788: 7937,
                    834: 8118,
                    837: 8115
                }],
                949: [, , {
                    768: 8050,
                    769: 941,
                    787: 7952,
                    788: 7953
                }],
                951: [, , {
                    768: 8052,
                    769: 942,
                    787: 7968,
                    788: 7969,
                    834: 8134,
                    837: 8131
                }],
                953: [, , {
                    768: 8054,
                    769: 943,
                    772: 8145,
                    774: 8144,
                    776: 970,
                    787: 7984,
                    788: 7985,
                    834: 8150
                }],
                959: [, , {
                    768: 8056,
                    769: 972,
                    787: 8e3,
                    788: 8001
                }],
                961: [, , {
                    787: 8164,
                    788: 8165
                }],
                965: [, , {
                    768: 8058,
                    769: 973,
                    772: 8161,
                    774: 8160,
                    776: 971,
                    787: 8016,
                    788: 8017,
                    834: 8166
                }],
                969: [, , {
                    768: 8060,
                    769: 974,
                    787: 8032,
                    788: 8033,
                    834: 8182,
                    837: 8179
                }],
                970: [
                    [953, 776], , {
                        768: 8146,
                        769: 912,
                        834: 8151
                    }
                ],
                971: [
                    [965, 776], , {
                        768: 8162,
                        769: 944,
                        834: 8167
                    }
                ],
                972: [
                    [959, 769]
                ],
                973: [
                    [965, 769]
                ],
                974: [
                    [969, 769], , {
                        837: 8180
                    }
                ],
                976: [
                    [946], 256
                ],
                977: [
                    [952], 256
                ],
                978: [
                    [933], 256, {
                        769: 979,
                        776: 980
                    }
                ],
                979: [
                    [978, 769]
                ],
                980: [
                    [978, 776]
                ],
                981: [
                    [966], 256
                ],
                982: [
                    [960], 256
                ],
                1008: [
                    [954], 256
                ],
                1009: [
                    [961], 256
                ],
                1010: [
                    [962], 256
                ],
                1012: [
                    [920], 256
                ],
                1013: [
                    [949], 256
                ],
                1017: [
                    [931], 256
                ],
                66422: [, 230],
                66423: [, 230],
                66424: [, 230],
                66425: [, 230],
                66426: [, 230]
            },
            1024: {
                1024: [
                    [1045, 768]
                ],
                1025: [
                    [1045, 776]
                ],
                1027: [
                    [1043, 769]
                ],
                1030: [, , {
                    776: 1031
                }],
                1031: [
                    [1030, 776]
                ],
                1036: [
                    [1050, 769]
                ],
                1037: [
                    [1048, 768]
                ],
                1038: [
                    [1059, 774]
                ],
                1040: [, , {
                    774: 1232,
                    776: 1234
                }],
                1043: [, , {
                    769: 1027
                }],
                1045: [, , {
                    768: 1024,
                    774: 1238,
                    776: 1025
                }],
                1046: [, , {
                    774: 1217,
                    776: 1244
                }],
                1047: [, , {
                    776: 1246
                }],
                1048: [, , {
                    768: 1037,
                    772: 1250,
                    774: 1049,
                    776: 1252
                }],
                1049: [
                    [1048, 774]
                ],
                1050: [, , {
                    769: 1036
                }],
                1054: [, , {
                    776: 1254
                }],
                1059: [, , {
                    772: 1262,
                    774: 1038,
                    776: 1264,
                    779: 1266
                }],
                1063: [, , {
                    776: 1268
                }],
                1067: [, , {
                    776: 1272
                }],
                1069: [, , {
                    776: 1260
                }],
                1072: [, , {
                    774: 1233,
                    776: 1235
                }],
                1075: [, , {
                    769: 1107
                }],
                1077: [, , {
                    768: 1104,
                    774: 1239,
                    776: 1105
                }],
                1078: [, , {
                    774: 1218,
                    776: 1245
                }],
                1079: [, , {
                    776: 1247
                }],
                1080: [, , {
                    768: 1117,
                    772: 1251,
                    774: 1081,
                    776: 1253
                }],
                1081: [
                    [1080, 774]
                ],
                1082: [, , {
                    769: 1116
                }],
                1086: [, , {
                    776: 1255
                }],
                1091: [, , {
                    772: 1263,
                    774: 1118,
                    776: 1265,
                    779: 1267
                }],
                1095: [, , {
                    776: 1269
                }],
                1099: [, , {
                    776: 1273
                }],
                1101: [, , {
                    776: 1261
                }],
                1104: [
                    [1077, 768]
                ],
                1105: [
                    [1077, 776]
                ],
                1107: [
                    [1075, 769]
                ],
                1110: [, , {
                    776: 1111
                }],
                1111: [
                    [1110, 776]
                ],
                1116: [
                    [1082, 769]
                ],
                1117: [
                    [1080, 768]
                ],
                1118: [
                    [1091, 774]
                ],
                1140: [, , {
                    783: 1142
                }],
                1141: [, , {
                    783: 1143
                }],
                1142: [
                    [1140, 783]
                ],
                1143: [
                    [1141, 783]
                ],
                1155: [, 230],
                1156: [, 230],
                1157: [, 230],
                1158: [, 230],
                1159: [, 230],
                1217: [
                    [1046, 774]
                ],
                1218: [
                    [1078, 774]
                ],
                1232: [
                    [1040, 774]
                ],
                1233: [
                    [1072, 774]
                ],
                1234: [
                    [1040, 776]
                ],
                1235: [
                    [1072, 776]
                ],
                1238: [
                    [1045, 774]
                ],
                1239: [
                    [1077, 774]
                ],
                1240: [, , {
                    776: 1242
                }],
                1241: [, , {
                    776: 1243
                }],
                1242: [
                    [1240, 776]
                ],
                1243: [
                    [1241, 776]
                ],
                1244: [
                    [1046, 776]
                ],
                1245: [
                    [1078, 776]
                ],
                1246: [
                    [1047, 776]
                ],
                1247: [
                    [1079, 776]
                ],
                1250: [
                    [1048, 772]
                ],
                1251: [
                    [1080, 772]
                ],
                1252: [
                    [1048, 776]
                ],
                1253: [
                    [1080, 776]
                ],
                1254: [
                    [1054, 776]
                ],
                1255: [
                    [1086, 776]
                ],
                1256: [, , {
                    776: 1258
                }],
                1257: [, , {
                    776: 1259
                }],
                1258: [
                    [1256, 776]
                ],
                1259: [
                    [1257, 776]
                ],
                1260: [
                    [1069, 776]
                ],
                1261: [
                    [1101, 776]
                ],
                1262: [
                    [1059, 772]
                ],
                1263: [
                    [1091, 772]
                ],
                1264: [
                    [1059, 776]
                ],
                1265: [
                    [1091, 776]
                ],
                1266: [
                    [1059, 779]
                ],
                1267: [
                    [1091, 779]
                ],
                1268: [
                    [1063, 776]
                ],
                1269: [
                    [1095, 776]
                ],
                1272: [
                    [1067, 776]
                ],
                1273: [
                    [1099, 776]
                ]
            },
            1280: {
                1415: [
                    [1381, 1410], 256
                ],
                1425: [, 220],
                1426: [, 230],
                1427: [, 230],
                1428: [, 230],
                1429: [, 230],
                1430: [, 220],
                1431: [, 230],
                1432: [, 230],
                1433: [, 230],
                1434: [, 222],
                1435: [, 220],
                1436: [, 230],
                1437: [, 230],
                1438: [, 230],
                1439: [, 230],
                1440: [, 230],
                1441: [, 230],
                1442: [, 220],
                1443: [, 220],
                1444: [, 220],
                1445: [, 220],
                1446: [, 220],
                1447: [, 220],
                1448: [, 230],
                1449: [, 230],
                1450: [, 220],
                1451: [, 230],
                1452: [, 230],
                1453: [, 222],
                1454: [, 228],
                1455: [, 230],
                1456: [, 10],
                1457: [, 11],
                1458: [, 12],
                1459: [, 13],
                1460: [, 14],
                1461: [, 15],
                1462: [, 16],
                1463: [, 17],
                1464: [, 18],
                1465: [, 19],
                1466: [, 19],
                1467: [, 20],
                1468: [, 21],
                1469: [, 22],
                1471: [, 23],
                1473: [, 24],
                1474: [, 25],
                1476: [, 230],
                1477: [, 220],
                1479: [, 18]
            },
            1536: {
                1552: [, 230],
                1553: [, 230],
                1554: [, 230],
                1555: [, 230],
                1556: [, 230],
                1557: [, 230],
                1558: [, 230],
                1559: [, 230],
                1560: [, 30],
                1561: [, 31],
                1562: [, 32],
                1570: [
                    [1575, 1619]
                ],
                1571: [
                    [1575, 1620]
                ],
                1572: [
                    [1608, 1620]
                ],
                1573: [
                    [1575, 1621]
                ],
                1574: [
                    [1610, 1620]
                ],
                1575: [, , {
                    1619: 1570,
                    1620: 1571,
                    1621: 1573
                }],
                1608: [, , {
                    1620: 1572
                }],
                1610: [, , {
                    1620: 1574
                }],
                1611: [, 27],
                1612: [, 28],
                1613: [, 29],
                1614: [, 30],
                1615: [, 31],
                1616: [, 32],
                1617: [, 33],
                1618: [, 34],
                1619: [, 230],
                1620: [, 230],
                1621: [, 220],
                1622: [, 220],
                1623: [, 230],
                1624: [, 230],
                1625: [, 230],
                1626: [, 230],
                1627: [, 230],
                1628: [, 220],
                1629: [, 230],
                1630: [, 230],
                1631: [, 220],
                1648: [, 35],
                1653: [
                    [1575, 1652], 256
                ],
                1654: [
                    [1608, 1652], 256
                ],
                1655: [
                    [1735, 1652], 256
                ],
                1656: [
                    [1610, 1652], 256
                ],
                1728: [
                    [1749, 1620]
                ],
                1729: [, , {
                    1620: 1730
                }],
                1730: [
                    [1729, 1620]
                ],
                1746: [, , {
                    1620: 1747
                }],
                1747: [
                    [1746, 1620]
                ],
                1749: [, , {
                    1620: 1728
                }],
                1750: [, 230],
                1751: [, 230],
                1752: [, 230],
                1753: [, 230],
                1754: [, 230],
                1755: [, 230],
                1756: [, 230],
                1759: [, 230],
                1760: [, 230],
                1761: [, 230],
                1762: [, 230],
                1763: [, 220],
                1764: [, 230],
                1767: [, 230],
                1768: [, 230],
                1770: [, 220],
                1771: [, 230],
                1772: [, 230],
                1773: [, 220]
            },
            1792: {
                1809: [, 36],
                1840: [, 230],
                1841: [, 220],
                1842: [, 230],
                1843: [, 230],
                1844: [, 220],
                1845: [, 230],
                1846: [, 230],
                1847: [, 220],
                1848: [, 220],
                1849: [, 220],
                1850: [, 230],
                1851: [, 220],
                1852: [, 220],
                1853: [, 230],
                1854: [, 220],
                1855: [, 230],
                1856: [, 230],
                1857: [, 230],
                1858: [, 220],
                1859: [, 230],
                1860: [, 220],
                1861: [, 230],
                1862: [, 220],
                1863: [, 230],
                1864: [, 220],
                1865: [, 230],
                1866: [, 230],
                2027: [, 230],
                2028: [, 230],
                2029: [, 230],
                2030: [, 230],
                2031: [, 230],
                2032: [, 230],
                2033: [, 230],
                2034: [, 220],
                2035: [, 230]
            },
            2048: {
                2070: [, 230],
                2071: [, 230],
                2072: [, 230],
                2073: [, 230],
                2075: [, 230],
                2076: [, 230],
                2077: [, 230],
                2078: [, 230],
                2079: [, 230],
                2080: [, 230],
                2081: [, 230],
                2082: [, 230],
                2083: [, 230],
                2085: [, 230],
                2086: [, 230],
                2087: [, 230],
                2089: [, 230],
                2090: [, 230],
                2091: [, 230],
                2092: [, 230],
                2093: [, 230],
                2137: [, 220],
                2138: [, 220],
                2139: [, 220],
                2276: [, 230],
                2277: [, 230],
                2278: [, 220],
                2279: [, 230],
                2280: [, 230],
                2281: [, 220],
                2282: [, 230],
                2283: [, 230],
                2284: [, 230],
                2285: [, 220],
                2286: [, 220],
                2287: [, 220],
                2288: [, 27],
                2289: [, 28],
                2290: [, 29],
                2291: [, 230],
                2292: [, 230],
                2293: [, 230],
                2294: [, 220],
                2295: [, 230],
                2296: [, 230],
                2297: [, 220],
                2298: [, 220],
                2299: [, 230],
                2300: [, 230],
                2301: [, 230],
                2302: [, 230],
                2303: [, 230]
            },
            2304: {
                2344: [, , {
                    2364: 2345
                }],
                2345: [
                    [2344, 2364]
                ],
                2352: [, , {
                    2364: 2353
                }],
                2353: [
                    [2352, 2364]
                ],
                2355: [, , {
                    2364: 2356
                }],
                2356: [
                    [2355, 2364]
                ],
                2364: [, 7],
                2381: [, 9],
                2385: [, 230],
                2386: [, 220],
                2387: [, 230],
                2388: [, 230],
                2392: [
                    [2325, 2364], 512
                ],
                2393: [
                    [2326, 2364], 512
                ],
                2394: [
                    [2327, 2364], 512
                ],
                2395: [
                    [2332, 2364], 512
                ],
                2396: [
                    [2337, 2364], 512
                ],
                2397: [
                    [2338, 2364], 512
                ],
                2398: [
                    [2347, 2364], 512
                ],
                2399: [
                    [2351, 2364], 512
                ],
                2492: [, 7],
                2503: [, , {
                    2494: 2507,
                    2519: 2508
                }],
                2507: [
                    [2503, 2494]
                ],
                2508: [
                    [2503, 2519]
                ],
                2509: [, 9],
                2524: [
                    [2465, 2492], 512
                ],
                2525: [
                    [2466, 2492], 512
                ],
                2527: [
                    [2479, 2492], 512
                ]
            },
            2560: {
                2611: [
                    [2610, 2620], 512
                ],
                2614: [
                    [2616, 2620], 512
                ],
                2620: [, 7],
                2637: [, 9],
                2649: [
                    [2582, 2620], 512
                ],
                2650: [
                    [2583, 2620], 512
                ],
                2651: [
                    [2588, 2620], 512
                ],
                2654: [
                    [2603, 2620], 512
                ],
                2748: [, 7],
                2765: [, 9],
                68109: [, 220],
                68111: [, 230],
                68152: [, 230],
                68153: [, 1],
                68154: [, 220],
                68159: [, 9],
                68325: [, 230],
                68326: [, 220]
            },
            2816: {
                2876: [, 7],
                2887: [, , {
                    2878: 2891,
                    2902: 2888,
                    2903: 2892
                }],
                2888: [
                    [2887, 2902]
                ],
                2891: [
                    [2887, 2878]
                ],
                2892: [
                    [2887, 2903]
                ],
                2893: [, 9],
                2908: [
                    [2849, 2876], 512
                ],
                2909: [
                    [2850, 2876], 512
                ],
                2962: [, , {
                    3031: 2964
                }],
                2964: [
                    [2962, 3031]
                ],
                3014: [, , {
                    3006: 3018,
                    3031: 3020
                }],
                3015: [, , {
                    3006: 3019
                }],
                3018: [
                    [3014, 3006]
                ],
                3019: [
                    [3015, 3006]
                ],
                3020: [
                    [3014, 3031]
                ],
                3021: [, 9]
            },
            3072: {
                3142: [, , {
                    3158: 3144
                }],
                3144: [
                    [3142, 3158]
                ],
                3149: [, 9],
                3157: [, 84],
                3158: [, 91],
                3260: [, 7],
                3263: [, , {
                    3285: 3264
                }],
                3264: [
                    [3263, 3285]
                ],
                3270: [, , {
                    3266: 3274,
                    3285: 3271,
                    3286: 3272
                }],
                3271: [
                    [3270, 3285]
                ],
                3272: [
                    [3270, 3286]
                ],
                3274: [
                    [3270, 3266], , {
                        3285: 3275
                    }
                ],
                3275: [
                    [3274, 3285]
                ],
                3277: [, 9]
            },
            3328: {
                3398: [, , {
                    3390: 3402,
                    3415: 3404
                }],
                3399: [, , {
                    3390: 3403
                }],
                3402: [
                    [3398, 3390]
                ],
                3403: [
                    [3399, 3390]
                ],
                3404: [
                    [3398, 3415]
                ],
                3405: [, 9],
                3530: [, 9],
                3545: [, , {
                    3530: 3546,
                    3535: 3548,
                    3551: 3550
                }],
                3546: [
                    [3545, 3530]
                ],
                3548: [
                    [3545, 3535], , {
                        3530: 3549
                    }
                ],
                3549: [
                    [3548, 3530]
                ],
                3550: [
                    [3545, 3551]
                ]
            },
            3584: {
                3635: [
                    [3661, 3634], 256
                ],
                3640: [, 103],
                3641: [, 103],
                3642: [, 9],
                3656: [, 107],
                3657: [, 107],
                3658: [, 107],
                3659: [, 107],
                3763: [
                    [3789, 3762], 256
                ],
                3768: [, 118],
                3769: [, 118],
                3784: [, 122],
                3785: [, 122],
                3786: [, 122],
                3787: [, 122],
                3804: [
                    [3755, 3737], 256
                ],
                3805: [
                    [3755, 3745], 256
                ]
            },
            3840: {
                3852: [
                    [3851], 256
                ],
                3864: [, 220],
                3865: [, 220],
                3893: [, 220],
                3895: [, 220],
                3897: [, 216],
                3907: [
                    [3906, 4023], 512
                ],
                3917: [
                    [3916, 4023], 512
                ],
                3922: [
                    [3921, 4023], 512
                ],
                3927: [
                    [3926, 4023], 512
                ],
                3932: [
                    [3931, 4023], 512
                ],
                3945: [
                    [3904, 4021], 512
                ],
                3953: [, 129],
                3954: [, 130],
                3955: [
                    [3953, 3954], 512
                ],
                3956: [, 132],
                3957: [
                    [3953, 3956], 512
                ],
                3958: [
                    [4018, 3968], 512
                ],
                3959: [
                    [4018, 3969], 256
                ],
                3960: [
                    [4019, 3968], 512
                ],
                3961: [
                    [4019, 3969], 256
                ],
                3962: [, 130],
                3963: [, 130],
                3964: [, 130],
                3965: [, 130],
                3968: [, 130],
                3969: [
                    [3953, 3968], 512
                ],
                3970: [, 230],
                3971: [, 230],
                3972: [, 9],
                3974: [, 230],
                3975: [, 230],
                3987: [
                    [3986, 4023], 512
                ],
                3997: [
                    [3996, 4023], 512
                ],
                4002: [
                    [4001, 4023], 512
                ],
                4007: [
                    [4006, 4023], 512
                ],
                4012: [
                    [4011, 4023], 512
                ],
                4025: [
                    [3984, 4021], 512
                ],
                4038: [, 220]
            },
            4096: {
                4133: [, , {
                    4142: 4134
                }],
                4134: [
                    [4133, 4142]
                ],
                4151: [, 7],
                4153: [, 9],
                4154: [, 9],
                4237: [, 220],
                4348: [
                    [4316], 256
                ],
                69702: [, 9],
                69759: [, 9],
                69785: [, , {
                    69818: 69786
                }],
                69786: [
                    [69785, 69818]
                ],
                69787: [, , {
                    69818: 69788
                }],
                69788: [
                    [69787, 69818]
                ],
                69797: [, , {
                    69818: 69803
                }],
                69803: [
                    [69797, 69818]
                ],
                69817: [, 9],
                69818: [, 7]
            },
            4352: {
                69888: [, 230],
                69889: [, 230],
                69890: [, 230],
                69934: [
                    [69937, 69927]
                ],
                69935: [
                    [69938, 69927]
                ],
                69937: [, , {
                    69927: 69934
                }],
                69938: [, , {
                    69927: 69935
                }],
                69939: [, 9],
                69940: [, 9],
                70003: [, 7],
                70080: [, 9]
            },
            4608: {
                70197: [, 9],
                70198: [, 7],
                70377: [, 7],
                70378: [, 9]
            },
            4864: {
                4957: [, 230],
                4958: [, 230],
                4959: [, 230],
                70460: [, 7],
                70471: [, , {
                    70462: 70475,
                    70487: 70476
                }],
                70475: [
                    [70471, 70462]
                ],
                70476: [
                    [70471, 70487]
                ],
                70477: [, 9],
                70502: [, 230],
                70503: [, 230],
                70504: [, 230],
                70505: [, 230],
                70506: [, 230],
                70507: [, 230],
                70508: [, 230],
                70512: [, 230],
                70513: [, 230],
                70514: [, 230],
                70515: [, 230],
                70516: [, 230]
            },
            5120: {
                70841: [, , {
                    70832: 70844,
                    70842: 70843,
                    70845: 70846
                }],
                70843: [
                    [70841, 70842]
                ],
                70844: [
                    [70841, 70832]
                ],
                70846: [
                    [70841, 70845]
                ],
                70850: [, 9],
                70851: [, 7]
            },
            5376: {
                71096: [, , {
                    71087: 71098
                }],
                71097: [, , {
                    71087: 71099
                }],
                71098: [
                    [71096, 71087]
                ],
                71099: [
                    [71097, 71087]
                ],
                71103: [, 9],
                71104: [, 7]
            },
            5632: {
                71231: [, 9],
                71350: [, 9],
                71351: [, 7]
            },
            5888: {
                5908: [, 9],
                5940: [, 9],
                6098: [, 9],
                6109: [, 230]
            },
            6144: {
                6313: [, 228]
            },
            6400: {
                6457: [, 222],
                6458: [, 230],
                6459: [, 220]
            },
            6656: {
                6679: [, 230],
                6680: [, 220],
                6752: [, 9],
                6773: [, 230],
                6774: [, 230],
                6775: [, 230],
                6776: [, 230],
                6777: [, 230],
                6778: [, 230],
                6779: [, 230],
                6780: [, 230],
                6783: [, 220],
                6832: [, 230],
                6833: [, 230],
                6834: [, 230],
                6835: [, 230],
                6836: [, 230],
                6837: [, 220],
                6838: [, 220],
                6839: [, 220],
                6840: [, 220],
                6841: [, 220],
                6842: [, 220],
                6843: [, 230],
                6844: [, 230],
                6845: [, 220]
            },
            6912: {
                6917: [, , {
                    6965: 6918
                }],
                6918: [
                    [6917, 6965]
                ],
                6919: [, , {
                    6965: 6920
                }],
                6920: [
                    [6919, 6965]
                ],
                6921: [, , {
                    6965: 6922
                }],
                6922: [
                    [6921, 6965]
                ],
                6923: [, , {
                    6965: 6924
                }],
                6924: [
                    [6923, 6965]
                ],
                6925: [, , {
                    6965: 6926
                }],
                6926: [
                    [6925, 6965]
                ],
                6929: [, , {
                    6965: 6930
                }],
                6930: [
                    [6929, 6965]
                ],
                6964: [, 7],
                6970: [, , {
                    6965: 6971
                }],
                6971: [
                    [6970, 6965]
                ],
                6972: [, , {
                    6965: 6973
                }],
                6973: [
                    [6972, 6965]
                ],
                6974: [, , {
                    6965: 6976
                }],
                6975: [, , {
                    6965: 6977
                }],
                6976: [
                    [6974, 6965]
                ],
                6977: [
                    [6975, 6965]
                ],
                6978: [, , {
                    6965: 6979
                }],
                6979: [
                    [6978, 6965]
                ],
                6980: [, 9],
                7019: [, 230],
                7020: [, 220],
                7021: [, 230],
                7022: [, 230],
                7023: [, 230],
                7024: [, 230],
                7025: [, 230],
                7026: [, 230],
                7027: [, 230],
                7082: [, 9],
                7083: [, 9],
                7142: [, 7],
                7154: [, 9],
                7155: [, 9]
            },
            7168: {
                7223: [, 7],
                7376: [, 230],
                7377: [, 230],
                7378: [, 230],
                7380: [, 1],
                7381: [, 220],
                7382: [, 220],
                7383: [, 220],
                7384: [, 220],
                7385: [, 220],
                7386: [, 230],
                7387: [, 230],
                7388: [, 220],
                7389: [, 220],
                7390: [, 220],
                7391: [, 220],
                7392: [, 230],
                7394: [, 1],
                7395: [, 1],
                7396: [, 1],
                7397: [, 1],
                7398: [, 1],
                7399: [, 1],
                7400: [, 1],
                7405: [, 220],
                7412: [, 230],
                7416: [, 230],
                7417: [, 230]
            },
            7424: {
                7468: [
                    [65], 256
                ],
                7469: [
                    [198], 256
                ],
                7470: [
                    [66], 256
                ],
                7472: [
                    [68], 256
                ],
                7473: [
                    [69], 256
                ],
                7474: [
                    [398], 256
                ],
                7475: [
                    [71], 256
                ],
                7476: [
                    [72], 256
                ],
                7477: [
                    [73], 256
                ],
                7478: [
                    [74], 256
                ],
                7479: [
                    [75], 256
                ],
                7480: [
                    [76], 256
                ],
                7481: [
                    [77], 256
                ],
                7482: [
                    [78], 256
                ],
                7484: [
                    [79], 256
                ],
                7485: [
                    [546], 256
                ],
                7486: [
                    [80], 256
                ],
                7487: [
                    [82], 256
                ],
                7488: [
                    [84], 256
                ],
                7489: [
                    [85], 256
                ],
                7490: [
                    [87], 256
                ],
                7491: [
                    [97], 256
                ],
                7492: [
                    [592], 256
                ],
                7493: [
                    [593], 256
                ],
                7494: [
                    [7426], 256
                ],
                7495: [
                    [98], 256
                ],
                7496: [
                    [100], 256
                ],
                7497: [
                    [101], 256
                ],
                7498: [
                    [601], 256
                ],
                7499: [
                    [603], 256
                ],
                7500: [
                    [604], 256
                ],
                7501: [
                    [103], 256
                ],
                7503: [
                    [107], 256
                ],
                7504: [
                    [109], 256
                ],
                7505: [
                    [331], 256
                ],
                7506: [
                    [111], 256
                ],
                7507: [
                    [596], 256
                ],
                7508: [
                    [7446], 256
                ],
                7509: [
                    [7447], 256
                ],
                7510: [
                    [112], 256
                ],
                7511: [
                    [116], 256
                ],
                7512: [
                    [117], 256
                ],
                7513: [
                    [7453], 256
                ],
                7514: [
                    [623], 256
                ],
                7515: [
                    [118], 256
                ],
                7516: [
                    [7461], 256
                ],
                7517: [
                    [946], 256
                ],
                7518: [
                    [947], 256
                ],
                7519: [
                    [948], 256
                ],
                7520: [
                    [966], 256
                ],
                7521: [
                    [967], 256
                ],
                7522: [
                    [105], 256
                ],
                7523: [
                    [114], 256
                ],
                7524: [
                    [117], 256
                ],
                7525: [
                    [118], 256
                ],
                7526: [
                    [946], 256
                ],
                7527: [
                    [947], 256
                ],
                7528: [
                    [961], 256
                ],
                7529: [
                    [966], 256
                ],
                7530: [
                    [967], 256
                ],
                7544: [
                    [1085], 256
                ],
                7579: [
                    [594], 256
                ],
                7580: [
                    [99], 256
                ],
                7581: [
                    [597], 256
                ],
                7582: [
                    [240], 256
                ],
                7583: [
                    [604], 256
                ],
                7584: [
                    [102], 256
                ],
                7585: [
                    [607], 256
                ],
                7586: [
                    [609], 256
                ],
                7587: [
                    [613], 256
                ],
                7588: [
                    [616], 256
                ],
                7589: [
                    [617], 256
                ],
                7590: [
                    [618], 256
                ],
                7591: [
                    [7547], 256
                ],
                7592: [
                    [669], 256
                ],
                7593: [
                    [621], 256
                ],
                7594: [
                    [7557], 256
                ],
                7595: [
                    [671], 256
                ],
                7596: [
                    [625], 256
                ],
                7597: [
                    [624], 256
                ],
                7598: [
                    [626], 256
                ],
                7599: [
                    [627], 256
                ],
                7600: [
                    [628], 256
                ],
                7601: [
                    [629], 256
                ],
                7602: [
                    [632], 256
                ],
                7603: [
                    [642], 256
                ],
                7604: [
                    [643], 256
                ],
                7605: [
                    [427], 256
                ],
                7606: [
                    [649], 256
                ],
                7607: [
                    [650], 256
                ],
                7608: [
                    [7452], 256
                ],
                7609: [
                    [651], 256
                ],
                7610: [
                    [652], 256
                ],
                7611: [
                    [122], 256
                ],
                7612: [
                    [656], 256
                ],
                7613: [
                    [657], 256
                ],
                7614: [
                    [658], 256
                ],
                7615: [
                    [952], 256
                ],
                7616: [, 230],
                7617: [, 230],
                7618: [, 220],
                7619: [, 230],
                7620: [, 230],
                7621: [, 230],
                7622: [, 230],
                7623: [, 230],
                7624: [, 230],
                7625: [, 230],
                7626: [, 220],
                7627: [, 230],
                7628: [, 230],
                7629: [, 234],
                7630: [, 214],
                7631: [, 220],
                7632: [, 202],
                7633: [, 230],
                7634: [, 230],
                7635: [, 230],
                7636: [, 230],
                7637: [, 230],
                7638: [, 230],
                7639: [, 230],
                7640: [, 230],
                7641: [, 230],
                7642: [, 230],
                7643: [, 230],
                7644: [, 230],
                7645: [, 230],
                7646: [, 230],
                7647: [, 230],
                7648: [, 230],
                7649: [, 230],
                7650: [, 230],
                7651: [, 230],
                7652: [, 230],
                7653: [, 230],
                7654: [, 230],
                7655: [, 230],
                7656: [, 230],
                7657: [, 230],
                7658: [, 230],
                7659: [, 230],
                7660: [, 230],
                7661: [, 230],
                7662: [, 230],
                7663: [, 230],
                7664: [, 230],
                7665: [, 230],
                7666: [, 230],
                7667: [, 230],
                7668: [, 230],
                7669: [, 230],
                7676: [, 233],
                7677: [, 220],
                7678: [, 230],
                7679: [, 220]
            },
            7680: {
                7680: [
                    [65, 805]
                ],
                7681: [
                    [97, 805]
                ],
                7682: [
                    [66, 775]
                ],
                7683: [
                    [98, 775]
                ],
                7684: [
                    [66, 803]
                ],
                7685: [
                    [98, 803]
                ],
                7686: [
                    [66, 817]
                ],
                7687: [
                    [98, 817]
                ],
                7688: [
                    [199, 769]
                ],
                7689: [
                    [231, 769]
                ],
                7690: [
                    [68, 775]
                ],
                7691: [
                    [100, 775]
                ],
                7692: [
                    [68, 803]
                ],
                7693: [
                    [100, 803]
                ],
                7694: [
                    [68, 817]
                ],
                7695: [
                    [100, 817]
                ],
                7696: [
                    [68, 807]
                ],
                7697: [
                    [100, 807]
                ],
                7698: [
                    [68, 813]
                ],
                7699: [
                    [100, 813]
                ],
                7700: [
                    [274, 768]
                ],
                7701: [
                    [275, 768]
                ],
                7702: [
                    [274, 769]
                ],
                7703: [
                    [275, 769]
                ],
                7704: [
                    [69, 813]
                ],
                7705: [
                    [101, 813]
                ],
                7706: [
                    [69, 816]
                ],
                7707: [
                    [101, 816]
                ],
                7708: [
                    [552, 774]
                ],
                7709: [
                    [553, 774]
                ],
                7710: [
                    [70, 775]
                ],
                7711: [
                    [102, 775]
                ],
                7712: [
                    [71, 772]
                ],
                7713: [
                    [103, 772]
                ],
                7714: [
                    [72, 775]
                ],
                7715: [
                    [104, 775]
                ],
                7716: [
                    [72, 803]
                ],
                7717: [
                    [104, 803]
                ],
                7718: [
                    [72, 776]
                ],
                7719: [
                    [104, 776]
                ],
                7720: [
                    [72, 807]
                ],
                7721: [
                    [104, 807]
                ],
                7722: [
                    [72, 814]
                ],
                7723: [
                    [104, 814]
                ],
                7724: [
                    [73, 816]
                ],
                7725: [
                    [105, 816]
                ],
                7726: [
                    [207, 769]
                ],
                7727: [
                    [239, 769]
                ],
                7728: [
                    [75, 769]
                ],
                7729: [
                    [107, 769]
                ],
                7730: [
                    [75, 803]
                ],
                7731: [
                    [107, 803]
                ],
                7732: [
                    [75, 817]
                ],
                7733: [
                    [107, 817]
                ],
                7734: [
                    [76, 803], , {
                        772: 7736
                    }
                ],
                7735: [
                    [108, 803], , {
                        772: 7737
                    }
                ],
                7736: [
                    [7734, 772]
                ],
                7737: [
                    [7735, 772]
                ],
                7738: [
                    [76, 817]
                ],
                7739: [
                    [108, 817]
                ],
                7740: [
                    [76, 813]
                ],
                7741: [
                    [108, 813]
                ],
                7742: [
                    [77, 769]
                ],
                7743: [
                    [109, 769]
                ],
                7744: [
                    [77, 775]
                ],
                7745: [
                    [109, 775]
                ],
                7746: [
                    [77, 803]
                ],
                7747: [
                    [109, 803]
                ],
                7748: [
                    [78, 775]
                ],
                7749: [
                    [110, 775]
                ],
                7750: [
                    [78, 803]
                ],
                7751: [
                    [110, 803]
                ],
                7752: [
                    [78, 817]
                ],
                7753: [
                    [110, 817]
                ],
                7754: [
                    [78, 813]
                ],
                7755: [
                    [110, 813]
                ],
                7756: [
                    [213, 769]
                ],
                7757: [
                    [245, 769]
                ],
                7758: [
                    [213, 776]
                ],
                7759: [
                    [245, 776]
                ],
                7760: [
                    [332, 768]
                ],
                7761: [
                    [333, 768]
                ],
                7762: [
                    [332, 769]
                ],
                7763: [
                    [333, 769]
                ],
                7764: [
                    [80, 769]
                ],
                7765: [
                    [112, 769]
                ],
                7766: [
                    [80, 775]
                ],
                7767: [
                    [112, 775]
                ],
                7768: [
                    [82, 775]
                ],
                7769: [
                    [114, 775]
                ],
                7770: [
                    [82, 803], , {
                        772: 7772
                    }
                ],
                7771: [
                    [114, 803], , {
                        772: 7773
                    }
                ],
                7772: [
                    [7770, 772]
                ],
                7773: [
                    [7771, 772]
                ],
                7774: [
                    [82, 817]
                ],
                7775: [
                    [114, 817]
                ],
                7776: [
                    [83, 775]
                ],
                7777: [
                    [115, 775]
                ],
                7778: [
                    [83, 803], , {
                        775: 7784
                    }
                ],
                7779: [
                    [115, 803], , {
                        775: 7785
                    }
                ],
                7780: [
                    [346, 775]
                ],
                7781: [
                    [347, 775]
                ],
                7782: [
                    [352, 775]
                ],
                7783: [
                    [353, 775]
                ],
                7784: [
                    [7778, 775]
                ],
                7785: [
                    [7779, 775]
                ],
                7786: [
                    [84, 775]
                ],
                7787: [
                    [116, 775]
                ],
                7788: [
                    [84, 803]
                ],
                7789: [
                    [116, 803]
                ],
                7790: [
                    [84, 817]
                ],
                7791: [
                    [116, 817]
                ],
                7792: [
                    [84, 813]
                ],
                7793: [
                    [116, 813]
                ],
                7794: [
                    [85, 804]
                ],
                7795: [
                    [117, 804]
                ],
                7796: [
                    [85, 816]
                ],
                7797: [
                    [117, 816]
                ],
                7798: [
                    [85, 813]
                ],
                7799: [
                    [117, 813]
                ],
                7800: [
                    [360, 769]
                ],
                7801: [
                    [361, 769]
                ],
                7802: [
                    [362, 776]
                ],
                7803: [
                    [363, 776]
                ],
                7804: [
                    [86, 771]
                ],
                7805: [
                    [118, 771]
                ],
                7806: [
                    [86, 803]
                ],
                7807: [
                    [118, 803]
                ],
                7808: [
                    [87, 768]
                ],
                7809: [
                    [119, 768]
                ],
                7810: [
                    [87, 769]
                ],
                7811: [
                    [119, 769]
                ],
                7812: [
                    [87, 776]
                ],
                7813: [
                    [119, 776]
                ],
                7814: [
                    [87, 775]
                ],
                7815: [
                    [119, 775]
                ],
                7816: [
                    [87, 803]
                ],
                7817: [
                    [119, 803]
                ],
                7818: [
                    [88, 775]
                ],
                7819: [
                    [120, 775]
                ],
                7820: [
                    [88, 776]
                ],
                7821: [
                    [120, 776]
                ],
                7822: [
                    [89, 775]
                ],
                7823: [
                    [121, 775]
                ],
                7824: [
                    [90, 770]
                ],
                7825: [
                    [122, 770]
                ],
                7826: [
                    [90, 803]
                ],
                7827: [
                    [122, 803]
                ],
                7828: [
                    [90, 817]
                ],
                7829: [
                    [122, 817]
                ],
                7830: [
                    [104, 817]
                ],
                7831: [
                    [116, 776]
                ],
                7832: [
                    [119, 778]
                ],
                7833: [
                    [121, 778]
                ],
                7834: [
                    [97, 702], 256
                ],
                7835: [
                    [383, 775]
                ],
                7840: [
                    [65, 803], , {
                        770: 7852,
                        774: 7862
                    }
                ],
                7841: [
                    [97, 803], , {
                        770: 7853,
                        774: 7863
                    }
                ],
                7842: [
                    [65, 777]
                ],
                7843: [
                    [97, 777]
                ],
                7844: [
                    [194, 769]
                ],
                7845: [
                    [226, 769]
                ],
                7846: [
                    [194, 768]
                ],
                7847: [
                    [226, 768]
                ],
                7848: [
                    [194, 777]
                ],
                7849: [
                    [226, 777]
                ],
                7850: [
                    [194, 771]
                ],
                7851: [
                    [226, 771]
                ],
                7852: [
                    [7840, 770]
                ],
                7853: [
                    [7841, 770]
                ],
                7854: [
                    [258, 769]
                ],
                7855: [
                    [259, 769]
                ],
                7856: [
                    [258, 768]
                ],
                7857: [
                    [259, 768]
                ],
                7858: [
                    [258, 777]
                ],
                7859: [
                    [259, 777]
                ],
                7860: [
                    [258, 771]
                ],
                7861: [
                    [259, 771]
                ],
                7862: [
                    [7840, 774]
                ],
                7863: [
                    [7841, 774]
                ],
                7864: [
                    [69, 803], , {
                        770: 7878
                    }
                ],
                7865: [
                    [101, 803], , {
                        770: 7879
                    }
                ],
                7866: [
                    [69, 777]
                ],
                7867: [
                    [101, 777]
                ],
                7868: [
                    [69, 771]
                ],
                7869: [
                    [101, 771]
                ],
                7870: [
                    [202, 769]
                ],
                7871: [
                    [234, 769]
                ],
                7872: [
                    [202, 768]
                ],
                7873: [
                    [234, 768]
                ],
                7874: [
                    [202, 777]
                ],
                7875: [
                    [234, 777]
                ],
                7876: [
                    [202, 771]
                ],
                7877: [
                    [234, 771]
                ],
                7878: [
                    [7864, 770]
                ],
                7879: [
                    [7865, 770]
                ],
                7880: [
                    [73, 777]
                ],
                7881: [
                    [105, 777]
                ],
                7882: [
                    [73, 803]
                ],
                7883: [
                    [105, 803]
                ],
                7884: [
                    [79, 803], , {
                        770: 7896
                    }
                ],
                7885: [
                    [111, 803], , {
                        770: 7897
                    }
                ],
                7886: [
                    [79, 777]
                ],
                7887: [
                    [111, 777]
                ],
                7888: [
                    [212, 769]
                ],
                7889: [
                    [244, 769]
                ],
                7890: [
                    [212, 768]
                ],
                7891: [
                    [244, 768]
                ],
                7892: [
                    [212, 777]
                ],
                7893: [
                    [244, 777]
                ],
                7894: [
                    [212, 771]
                ],
                7895: [
                    [244, 771]
                ],
                7896: [
                    [7884, 770]
                ],
                7897: [
                    [7885, 770]
                ],
                7898: [
                    [416, 769]
                ],
                7899: [
                    [417, 769]
                ],
                7900: [
                    [416, 768]
                ],
                7901: [
                    [417, 768]
                ],
                7902: [
                    [416, 777]
                ],
                7903: [
                    [417, 777]
                ],
                7904: [
                    [416, 771]
                ],
                7905: [
                    [417, 771]
                ],
                7906: [
                    [416, 803]
                ],
                7907: [
                    [417, 803]
                ],
                7908: [
                    [85, 803]
                ],
                7909: [
                    [117, 803]
                ],
                7910: [
                    [85, 777]
                ],
                7911: [
                    [117, 777]
                ],
                7912: [
                    [431, 769]
                ],
                7913: [
                    [432, 769]
                ],
                7914: [
                    [431, 768]
                ],
                7915: [
                    [432, 768]
                ],
                7916: [
                    [431, 777]
                ],
                7917: [
                    [432, 777]
                ],
                7918: [
                    [431, 771]
                ],
                7919: [
                    [432, 771]
                ],
                7920: [
                    [431, 803]
                ],
                7921: [
                    [432, 803]
                ],
                7922: [
                    [89, 768]
                ],
                7923: [
                    [121, 768]
                ],
                7924: [
                    [89, 803]
                ],
                7925: [
                    [121, 803]
                ],
                7926: [
                    [89, 777]
                ],
                7927: [
                    [121, 777]
                ],
                7928: [
                    [89, 771]
                ],
                7929: [
                    [121, 771]
                ]
            },
            7936: {
                7936: [
                    [945, 787], , {
                        768: 7938,
                        769: 7940,
                        834: 7942,
                        837: 8064
                    }
                ],
                7937: [
                    [945, 788], , {
                        768: 7939,
                        769: 7941,
                        834: 7943,
                        837: 8065
                    }
                ],
                7938: [
                    [7936, 768], , {
                        837: 8066
                    }
                ],
                7939: [
                    [7937, 768], , {
                        837: 8067
                    }
                ],
                7940: [
                    [7936, 769], , {
                        837: 8068
                    }
                ],
                7941: [
                    [7937, 769], , {
                        837: 8069
                    }
                ],
                7942: [
                    [7936, 834], , {
                        837: 8070
                    }
                ],
                7943: [
                    [7937, 834], , {
                        837: 8071
                    }
                ],
                7944: [
                    [913, 787], , {
                        768: 7946,
                        769: 7948,
                        834: 7950,
                        837: 8072
                    }
                ],
                7945: [
                    [913, 788], , {
                        768: 7947,
                        769: 7949,
                        834: 7951,
                        837: 8073
                    }
                ],
                7946: [
                    [7944, 768], , {
                        837: 8074
                    }
                ],
                7947: [
                    [7945, 768], , {
                        837: 8075
                    }
                ],
                7948: [
                    [7944, 769], , {
                        837: 8076
                    }
                ],
                7949: [
                    [7945, 769], , {
                        837: 8077
                    }
                ],
                7950: [
                    [7944, 834], , {
                        837: 8078
                    }
                ],
                7951: [
                    [7945, 834], , {
                        837: 8079
                    }
                ],
                7952: [
                    [949, 787], , {
                        768: 7954,
                        769: 7956
                    }
                ],
                7953: [
                    [949, 788], , {
                        768: 7955,
                        769: 7957
                    }
                ],
                7954: [
                    [7952, 768]
                ],
                7955: [
                    [7953, 768]
                ],
                7956: [
                    [7952, 769]
                ],
                7957: [
                    [7953, 769]
                ],
                7960: [
                    [917, 787], , {
                        768: 7962,
                        769: 7964
                    }
                ],
                7961: [
                    [917, 788], , {
                        768: 7963,
                        769: 7965
                    }
                ],
                7962: [
                    [7960, 768]
                ],
                7963: [
                    [7961, 768]
                ],
                7964: [
                    [7960, 769]
                ],
                7965: [
                    [7961, 769]
                ],
                7968: [
                    [951, 787], , {
                        768: 7970,
                        769: 7972,
                        834: 7974,
                        837: 8080
                    }
                ],
                7969: [
                    [951, 788], , {
                        768: 7971,
                        769: 7973,
                        834: 7975,
                        837: 8081
                    }
                ],
                7970: [
                    [7968, 768], , {
                        837: 8082
                    }
                ],
                7971: [
                    [7969, 768], , {
                        837: 8083
                    }
                ],
                7972: [
                    [7968, 769], , {
                        837: 8084
                    }
                ],
                7973: [
                    [7969, 769], , {
                        837: 8085
                    }
                ],
                7974: [
                    [7968, 834], , {
                        837: 8086
                    }
                ],
                7975: [
                    [7969, 834], , {
                        837: 8087
                    }
                ],
                7976: [
                    [919, 787], , {
                        768: 7978,
                        769: 7980,
                        834: 7982,
                        837: 8088
                    }
                ],
                7977: [
                    [919, 788], , {
                        768: 7979,
                        769: 7981,
                        834: 7983,
                        837: 8089
                    }
                ],
                7978: [
                    [7976, 768], , {
                        837: 8090
                    }
                ],
                7979: [
                    [7977, 768], , {
                        837: 8091
                    }
                ],
                7980: [
                    [7976, 769], , {
                        837: 8092
                    }
                ],
                7981: [
                    [7977, 769], , {
                        837: 8093
                    }
                ],
                7982: [
                    [7976, 834], , {
                        837: 8094
                    }
                ],
                7983: [
                    [7977, 834], , {
                        837: 8095
                    }
                ],
                7984: [
                    [953, 787], , {
                        768: 7986,
                        769: 7988,
                        834: 7990
                    }
                ],
                7985: [
                    [953, 788], , {
                        768: 7987,
                        769: 7989,
                        834: 7991
                    }
                ],
                7986: [
                    [7984, 768]
                ],
                7987: [
                    [7985, 768]
                ],
                7988: [
                    [7984, 769]
                ],
                7989: [
                    [7985, 769]
                ],
                7990: [
                    [7984, 834]
                ],
                7991: [
                    [7985, 834]
                ],
                7992: [
                    [921, 787], , {
                        768: 7994,
                        769: 7996,
                        834: 7998
                    }
                ],
                7993: [
                    [921, 788], , {
                        768: 7995,
                        769: 7997,
                        834: 7999
                    }
                ],
                7994: [
                    [7992, 768]
                ],
                7995: [
                    [7993, 768]
                ],
                7996: [
                    [7992, 769]
                ],
                7997: [
                    [7993, 769]
                ],
                7998: [
                    [7992, 834]
                ],
                7999: [
                    [7993, 834]
                ],
                8e3: [
                    [959, 787], , {
                        768: 8002,
                        769: 8004
                    }
                ],
                8001: [
                    [959, 788], , {
                        768: 8003,
                        769: 8005
                    }
                ],
                8002: [
                    [8e3, 768]
                ],
                8003: [
                    [8001, 768]
                ],
                8004: [
                    [8e3, 769]
                ],
                8005: [
                    [8001, 769]
                ],
                8008: [
                    [927, 787], , {
                        768: 8010,
                        769: 8012
                    }
                ],
                8009: [
                    [927, 788], , {
                        768: 8011,
                        769: 8013
                    }
                ],
                8010: [
                    [8008, 768]
                ],
                8011: [
                    [8009, 768]
                ],
                8012: [
                    [8008, 769]
                ],
                8013: [
                    [8009, 769]
                ],
                8016: [
                    [965, 787], , {
                        768: 8018,
                        769: 8020,
                        834: 8022
                    }
                ],
                8017: [
                    [965, 788], , {
                        768: 8019,
                        769: 8021,
                        834: 8023
                    }
                ],
                8018: [
                    [8016, 768]
                ],
                8019: [
                    [8017, 768]
                ],
                8020: [
                    [8016, 769]
                ],
                8021: [
                    [8017, 769]
                ],
                8022: [
                    [8016, 834]
                ],
                8023: [
                    [8017, 834]
                ],
                8025: [
                    [933, 788], , {
                        768: 8027,
                        769: 8029,
                        834: 8031
                    }
                ],
                8027: [
                    [8025, 768]
                ],
                8029: [
                    [8025, 769]
                ],
                8031: [
                    [8025, 834]
                ],
                8032: [
                    [969, 787], , {
                        768: 8034,
                        769: 8036,
                        834: 8038,
                        837: 8096
                    }
                ],
                8033: [
                    [969, 788], , {
                        768: 8035,
                        769: 8037,
                        834: 8039,
                        837: 8097
                    }
                ],
                8034: [
                    [8032, 768], , {
                        837: 8098
                    }
                ],
                8035: [
                    [8033, 768], , {
                        837: 8099
                    }
                ],
                8036: [
                    [8032, 769], , {
                        837: 8100
                    }
                ],
                8037: [
                    [8033, 769], , {
                        837: 8101
                    }
                ],
                8038: [
                    [8032, 834], , {
                        837: 8102
                    }
                ],
                8039: [
                    [8033, 834], , {
                        837: 8103
                    }
                ],
                8040: [
                    [937, 787], , {
                        768: 8042,
                        769: 8044,
                        834: 8046,
                        837: 8104
                    }
                ],
                8041: [
                    [937, 788], , {
                        768: 8043,
                        769: 8045,
                        834: 8047,
                        837: 8105
                    }
                ],
                8042: [
                    [8040, 768], , {
                        837: 8106
                    }
                ],
                8043: [
                    [8041, 768], , {
                        837: 8107
                    }
                ],
                8044: [
                    [8040, 769], , {
                        837: 8108
                    }
                ],
                8045: [
                    [8041, 769], , {
                        837: 8109
                    }
                ],
                8046: [
                    [8040, 834], , {
                        837: 8110
                    }
                ],
                8047: [
                    [8041, 834], , {
                        837: 8111
                    }
                ],
                8048: [
                    [945, 768], , {
                        837: 8114
                    }
                ],
                8049: [
                    [940]
                ],
                8050: [
                    [949, 768]
                ],
                8051: [
                    [941]
                ],
                8052: [
                    [951, 768], , {
                        837: 8130
                    }
                ],
                8053: [
                    [942]
                ],
                8054: [
                    [953, 768]
                ],
                8055: [
                    [943]
                ],
                8056: [
                    [959, 768]
                ],
                8057: [
                    [972]
                ],
                8058: [
                    [965, 768]
                ],
                8059: [
                    [973]
                ],
                8060: [
                    [969, 768], , {
                        837: 8178
                    }
                ],
                8061: [
                    [974]
                ],
                8064: [
                    [7936, 837]
                ],
                8065: [
                    [7937, 837]
                ],
                8066: [
                    [7938, 837]
                ],
                8067: [
                    [7939, 837]
                ],
                8068: [
                    [7940, 837]
                ],
                8069: [
                    [7941, 837]
                ],
                8070: [
                    [7942, 837]
                ],
                8071: [
                    [7943, 837]
                ],
                8072: [
                    [7944, 837]
                ],
                8073: [
                    [7945, 837]
                ],
                8074: [
                    [7946, 837]
                ],
                8075: [
                    [7947, 837]
                ],
                8076: [
                    [7948, 837]
                ],
                8077: [
                    [7949, 837]
                ],
                8078: [
                    [7950, 837]
                ],
                8079: [
                    [7951, 837]
                ],
                8080: [
                    [7968, 837]
                ],
                8081: [
                    [7969, 837]
                ],
                8082: [
                    [7970, 837]
                ],
                8083: [
                    [7971, 837]
                ],
                8084: [
                    [7972, 837]
                ],
                8085: [
                    [7973, 837]
                ],
                8086: [
                    [7974, 837]
                ],
                8087: [
                    [7975, 837]
                ],
                8088: [
                    [7976, 837]
                ],
                8089: [
                    [7977, 837]
                ],
                8090: [
                    [7978, 837]
                ],
                8091: [
                    [7979, 837]
                ],
                8092: [
                    [7980, 837]
                ],
                8093: [
                    [7981, 837]
                ],
                8094: [
                    [7982, 837]
                ],
                8095: [
                    [7983, 837]
                ],
                8096: [
                    [8032, 837]
                ],
                8097: [
                    [8033, 837]
                ],
                8098: [
                    [8034, 837]
                ],
                8099: [
                    [8035, 837]
                ],
                8100: [
                    [8036, 837]
                ],
                8101: [
                    [8037, 837]
                ],
                8102: [
                    [8038, 837]
                ],
                8103: [
                    [8039, 837]
                ],
                8104: [
                    [8040, 837]
                ],
                8105: [
                    [8041, 837]
                ],
                8106: [
                    [8042, 837]
                ],
                8107: [
                    [8043, 837]
                ],
                8108: [
                    [8044, 837]
                ],
                8109: [
                    [8045, 837]
                ],
                8110: [
                    [8046, 837]
                ],
                8111: [
                    [8047, 837]
                ],
                8112: [
                    [945, 774]
                ],
                8113: [
                    [945, 772]
                ],
                8114: [
                    [8048, 837]
                ],
                8115: [
                    [945, 837]
                ],
                8116: [
                    [940, 837]
                ],
                8118: [
                    [945, 834], , {
                        837: 8119
                    }
                ],
                8119: [
                    [8118, 837]
                ],
                8120: [
                    [913, 774]
                ],
                8121: [
                    [913, 772]
                ],
                8122: [
                    [913, 768]
                ],
                8123: [
                    [902]
                ],
                8124: [
                    [913, 837]
                ],
                8125: [
                    [32, 787], 256
                ],
                8126: [
                    [953]
                ],
                8127: [
                    [32, 787], 256, {
                        768: 8141,
                        769: 8142,
                        834: 8143
                    }
                ],
                8128: [
                    [32, 834], 256
                ],
                8129: [
                    [168, 834]
                ],
                8130: [
                    [8052, 837]
                ],
                8131: [
                    [951, 837]
                ],
                8132: [
                    [942, 837]
                ],
                8134: [
                    [951, 834], , {
                        837: 8135
                    }
                ],
                8135: [
                    [8134, 837]
                ],
                8136: [
                    [917, 768]
                ],
                8137: [
                    [904]
                ],
                8138: [
                    [919, 768]
                ],
                8139: [
                    [905]
                ],
                8140: [
                    [919, 837]
                ],
                8141: [
                    [8127, 768]
                ],
                8142: [
                    [8127, 769]
                ],
                8143: [
                    [8127, 834]
                ],
                8144: [
                    [953, 774]
                ],
                8145: [
                    [953, 772]
                ],
                8146: [
                    [970, 768]
                ],
                8147: [
                    [912]
                ],
                8150: [
                    [953, 834]
                ],
                8151: [
                    [970, 834]
                ],
                8152: [
                    [921, 774]
                ],
                8153: [
                    [921, 772]
                ],
                8154: [
                    [921, 768]
                ],
                8155: [
                    [906]
                ],
                8157: [
                    [8190, 768]
                ],
                8158: [
                    [8190, 769]
                ],
                8159: [
                    [8190, 834]
                ],
                8160: [
                    [965, 774]
                ],
                8161: [
                    [965, 772]
                ],
                8162: [
                    [971, 768]
                ],
                8163: [
                    [944]
                ],
                8164: [
                    [961, 787]
                ],
                8165: [
                    [961, 788]
                ],
                8166: [
                    [965, 834]
                ],
                8167: [
                    [971, 834]
                ],
                8168: [
                    [933, 774]
                ],
                8169: [
                    [933, 772]
                ],
                8170: [
                    [933, 768]
                ],
                8171: [
                    [910]
                ],
                8172: [
                    [929, 788]
                ],
                8173: [
                    [168, 768]
                ],
                8174: [
                    [901]
                ],
                8175: [
                    [96]
                ],
                8178: [
                    [8060, 837]
                ],
                8179: [
                    [969, 837]
                ],
                8180: [
                    [974, 837]
                ],
                8182: [
                    [969, 834], , {
                        837: 8183
                    }
                ],
                8183: [
                    [8182, 837]
                ],
                8184: [
                    [927, 768]
                ],
                8185: [
                    [908]
                ],
                8186: [
                    [937, 768]
                ],
                8187: [
                    [911]
                ],
                8188: [
                    [937, 837]
                ],
                8189: [
                    [180]
                ],
                8190: [
                    [32, 788], 256, {
                        768: 8157,
                        769: 8158,
                        834: 8159
                    }
                ]
            },
            8192: {
                8192: [
                    [8194]
                ],
                8193: [
                    [8195]
                ],
                8194: [
                    [32], 256
                ],
                8195: [
                    [32], 256
                ],
                8196: [
                    [32], 256
                ],
                8197: [
                    [32], 256
                ],
                8198: [
                    [32], 256
                ],
                8199: [
                    [32], 256
                ],
                8200: [
                    [32], 256
                ],
                8201: [
                    [32], 256
                ],
                8202: [
                    [32], 256
                ],
                8209: [
                    [8208], 256
                ],
                8215: [
                    [32, 819], 256
                ],
                8228: [
                    [46], 256
                ],
                8229: [
                    [46, 46], 256
                ],
                8230: [
                    [46, 46, 46], 256
                ],
                8239: [
                    [32], 256
                ],
                8243: [
                    [8242, 8242], 256
                ],
                8244: [
                    [8242, 8242, 8242], 256
                ],
                8246: [
                    [8245, 8245], 256
                ],
                8247: [
                    [8245, 8245, 8245], 256
                ],
                8252: [
                    [33, 33], 256
                ],
                8254: [
                    [32, 773], 256
                ],
                8263: [
                    [63, 63], 256
                ],
                8264: [
                    [63, 33], 256
                ],
                8265: [
                    [33, 63], 256
                ],
                8279: [
                    [8242, 8242, 8242, 8242], 256
                ],
                8287: [
                    [32], 256
                ],
                8304: [
                    [48], 256
                ],
                8305: [
                    [105], 256
                ],
                8308: [
                    [52], 256
                ],
                8309: [
                    [53], 256
                ],
                8310: [
                    [54], 256
                ],
                8311: [
                    [55], 256
                ],
                8312: [
                    [56], 256
                ],
                8313: [
                    [57], 256
                ],
                8314: [
                    [43], 256
                ],
                8315: [
                    [8722], 256
                ],
                8316: [
                    [61], 256
                ],
                8317: [
                    [40], 256
                ],
                8318: [
                    [41], 256
                ],
                8319: [
                    [110], 256
                ],
                8320: [
                    [48], 256
                ],
                8321: [
                    [49], 256
                ],
                8322: [
                    [50], 256
                ],
                8323: [
                    [51], 256
                ],
                8324: [
                    [52], 256
                ],
                8325: [
                    [53], 256
                ],
                8326: [
                    [54], 256
                ],
                8327: [
                    [55], 256
                ],
                8328: [
                    [56], 256
                ],
                8329: [
                    [57], 256
                ],
                8330: [
                    [43], 256
                ],
                8331: [
                    [8722], 256
                ],
                8332: [
                    [61], 256
                ],
                8333: [
                    [40], 256
                ],
                8334: [
                    [41], 256
                ],
                8336: [
                    [97], 256
                ],
                8337: [
                    [101], 256
                ],
                8338: [
                    [111], 256
                ],
                8339: [
                    [120], 256
                ],
                8340: [
                    [601], 256
                ],
                8341: [
                    [104], 256
                ],
                8342: [
                    [107], 256
                ],
                8343: [
                    [108], 256
                ],
                8344: [
                    [109], 256
                ],
                8345: [
                    [110], 256
                ],
                8346: [
                    [112], 256
                ],
                8347: [
                    [115], 256
                ],
                8348: [
                    [116], 256
                ],
                8360: [
                    [82, 115], 256
                ],
                8400: [, 230],
                8401: [, 230],
                8402: [, 1],
                8403: [, 1],
                8404: [, 230],
                8405: [, 230],
                8406: [, 230],
                8407: [, 230],
                8408: [, 1],
                8409: [, 1],
                8410: [, 1],
                8411: [, 230],
                8412: [, 230],
                8417: [, 230],
                8421: [, 1],
                8422: [, 1],
                8423: [, 230],
                8424: [, 220],
                8425: [, 230],
                8426: [, 1],
                8427: [, 1],
                8428: [, 220],
                8429: [, 220],
                8430: [, 220],
                8431: [, 220],
                8432: [, 230]
            },
            8448: {
                8448: [
                    [97, 47, 99], 256
                ],
                8449: [
                    [97, 47, 115], 256
                ],
                8450: [
                    [67], 256
                ],
                8451: [
                    [176, 67], 256
                ],
                8453: [
                    [99, 47, 111], 256
                ],
                8454: [
                    [99, 47, 117], 256
                ],
                8455: [
                    [400], 256
                ],
                8457: [
                    [176, 70], 256
                ],
                8458: [
                    [103], 256
                ],
                8459: [
                    [72], 256
                ],
                8460: [
                    [72], 256
                ],
                8461: [
                    [72], 256
                ],
                8462: [
                    [104], 256
                ],
                8463: [
                    [295], 256
                ],
                8464: [
                    [73], 256
                ],
                8465: [
                    [73], 256
                ],
                8466: [
                    [76], 256
                ],
                8467: [
                    [108], 256
                ],
                8469: [
                    [78], 256
                ],
                8470: [
                    [78, 111], 256
                ],
                8473: [
                    [80], 256
                ],
                8474: [
                    [81], 256
                ],
                8475: [
                    [82], 256
                ],
                8476: [
                    [82], 256
                ],
                8477: [
                    [82], 256
                ],
                8480: [
                    [83, 77], 256
                ],
                8481: [
                    [84, 69, 76], 256
                ],
                8482: [
                    [84, 77], 256
                ],
                8484: [
                    [90], 256
                ],
                8486: [
                    [937]
                ],
                8488: [
                    [90], 256
                ],
                8490: [
                    [75]
                ],
                8491: [
                    [197]
                ],
                8492: [
                    [66], 256
                ],
                8493: [
                    [67], 256
                ],
                8495: [
                    [101], 256
                ],
                8496: [
                    [69], 256
                ],
                8497: [
                    [70], 256
                ],
                8499: [
                    [77], 256
                ],
                8500: [
                    [111], 256
                ],
                8501: [
                    [1488], 256
                ],
                8502: [
                    [1489], 256
                ],
                8503: [
                    [1490], 256
                ],
                8504: [
                    [1491], 256
                ],
                8505: [
                    [105], 256
                ],
                8507: [
                    [70, 65, 88], 256
                ],
                8508: [
                    [960], 256
                ],
                8509: [
                    [947], 256
                ],
                8510: [
                    [915], 256
                ],
                8511: [
                    [928], 256
                ],
                8512: [
                    [8721], 256
                ],
                8517: [
                    [68], 256
                ],
                8518: [
                    [100], 256
                ],
                8519: [
                    [101], 256
                ],
                8520: [
                    [105], 256
                ],
                8521: [
                    [106], 256
                ],
                8528: [
                    [49, 8260, 55], 256
                ],
                8529: [
                    [49, 8260, 57], 256
                ],
                8530: [
                    [49, 8260, 49, 48], 256
                ],
                8531: [
                    [49, 8260, 51], 256
                ],
                8532: [
                    [50, 8260, 51], 256
                ],
                8533: [
                    [49, 8260, 53], 256
                ],
                8534: [
                    [50, 8260, 53], 256
                ],
                8535: [
                    [51, 8260, 53], 256
                ],
                8536: [
                    [52, 8260, 53], 256
                ],
                8537: [
                    [49, 8260, 54], 256
                ],
                8538: [
                    [53, 8260, 54], 256
                ],
                8539: [
                    [49, 8260, 56], 256
                ],
                8540: [
                    [51, 8260, 56], 256
                ],
                8541: [
                    [53, 8260, 56], 256
                ],
                8542: [
                    [55, 8260, 56], 256
                ],
                8543: [
                    [49, 8260], 256
                ],
                8544: [
                    [73], 256
                ],
                8545: [
                    [73, 73], 256
                ],
                8546: [
                    [73, 73, 73], 256
                ],
                8547: [
                    [73, 86], 256
                ],
                8548: [
                    [86], 256
                ],
                8549: [
                    [86, 73], 256
                ],
                8550: [
                    [86, 73, 73], 256
                ],
                8551: [
                    [86, 73, 73, 73], 256
                ],
                8552: [
                    [73, 88], 256
                ],
                8553: [
                    [88], 256
                ],
                8554: [
                    [88, 73], 256
                ],
                8555: [
                    [88, 73, 73], 256
                ],
                8556: [
                    [76], 256
                ],
                8557: [
                    [67], 256
                ],
                8558: [
                    [68], 256
                ],
                8559: [
                    [77], 256
                ],
                8560: [
                    [105], 256
                ],
                8561: [
                    [105, 105], 256
                ],
                8562: [
                    [105, 105, 105], 256
                ],
                8563: [
                    [105, 118], 256
                ],
                8564: [
                    [118], 256
                ],
                8565: [
                    [118, 105], 256
                ],
                8566: [
                    [118, 105, 105], 256
                ],
                8567: [
                    [118, 105, 105, 105], 256
                ],
                8568: [
                    [105, 120], 256
                ],
                8569: [
                    [120], 256
                ],
                8570: [
                    [120, 105], 256
                ],
                8571: [
                    [120, 105, 105], 256
                ],
                8572: [
                    [108], 256
                ],
                8573: [
                    [99], 256
                ],
                8574: [
                    [100], 256
                ],
                8575: [
                    [109], 256
                ],
                8585: [
                    [48, 8260, 51], 256
                ],
                8592: [, , {
                    824: 8602
                }],
                8594: [, , {
                    824: 8603
                }],
                8596: [, , {
                    824: 8622
                }],
                8602: [
                    [8592, 824]
                ],
                8603: [
                    [8594, 824]
                ],
                8622: [
                    [8596, 824]
                ],
                8653: [
                    [8656, 824]
                ],
                8654: [
                    [8660, 824]
                ],
                8655: [
                    [8658, 824]
                ],
                8656: [, , {
                    824: 8653
                }],
                8658: [, , {
                    824: 8655
                }],
                8660: [, , {
                    824: 8654
                }]
            },
            8704: {
                8707: [, , {
                    824: 8708
                }],
                8708: [
                    [8707, 824]
                ],
                8712: [, , {
                    824: 8713
                }],
                8713: [
                    [8712, 824]
                ],
                8715: [, , {
                    824: 8716
                }],
                8716: [
                    [8715, 824]
                ],
                8739: [, , {
                    824: 8740
                }],
                8740: [
                    [8739, 824]
                ],
                8741: [, , {
                    824: 8742
                }],
                8742: [
                    [8741, 824]
                ],
                8748: [
                    [8747, 8747], 256
                ],
                8749: [
                    [8747, 8747, 8747], 256
                ],
                8751: [
                    [8750, 8750], 256
                ],
                8752: [
                    [8750, 8750, 8750], 256
                ],
                8764: [, , {
                    824: 8769
                }],
                8769: [
                    [8764, 824]
                ],
                8771: [, , {
                    824: 8772
                }],
                8772: [
                    [8771, 824]
                ],
                8773: [, , {
                    824: 8775
                }],
                8775: [
                    [8773, 824]
                ],
                8776: [, , {
                    824: 8777
                }],
                8777: [
                    [8776, 824]
                ],
                8781: [, , {
                    824: 8813
                }],
                8800: [
                    [61, 824]
                ],
                8801: [, , {
                    824: 8802
                }],
                8802: [
                    [8801, 824]
                ],
                8804: [, , {
                    824: 8816
                }],
                8805: [, , {
                    824: 8817
                }],
                8813: [
                    [8781, 824]
                ],
                8814: [
                    [60, 824]
                ],
                8815: [
                    [62, 824]
                ],
                8816: [
                    [8804, 824]
                ],
                8817: [
                    [8805, 824]
                ],
                8818: [, , {
                    824: 8820
                }],
                8819: [, , {
                    824: 8821
                }],
                8820: [
                    [8818, 824]
                ],
                8821: [
                    [8819, 824]
                ],
                8822: [, , {
                    824: 8824
                }],
                8823: [, , {
                    824: 8825
                }],
                8824: [
                    [8822, 824]
                ],
                8825: [
                    [8823, 824]
                ],
                8826: [, , {
                    824: 8832
                }],
                8827: [, , {
                    824: 8833
                }],
                8828: [, , {
                    824: 8928
                }],
                8829: [, , {
                    824: 8929
                }],
                8832: [
                    [8826, 824]
                ],
                8833: [
                    [8827, 824]
                ],
                8834: [, , {
                    824: 8836
                }],
                8835: [, , {
                    824: 8837
                }],
                8836: [
                    [8834, 824]
                ],
                8837: [
                    [8835, 824]
                ],
                8838: [, , {
                    824: 8840
                }],
                8839: [, , {
                    824: 8841
                }],
                8840: [
                    [8838, 824]
                ],
                8841: [
                    [8839, 824]
                ],
                8849: [, , {
                    824: 8930
                }],
                8850: [, , {
                    824: 8931
                }],
                8866: [, , {
                    824: 8876
                }],
                8872: [, , {
                    824: 8877
                }],
                8873: [, , {
                    824: 8878
                }],
                8875: [, , {
                    824: 8879
                }],
                8876: [
                    [8866, 824]
                ],
                8877: [
                    [8872, 824]
                ],
                8878: [
                    [8873, 824]
                ],
                8879: [
                    [8875, 824]
                ],
                8882: [, , {
                    824: 8938
                }],
                8883: [, , {
                    824: 8939
                }],
                8884: [, , {
                    824: 8940
                }],
                8885: [, , {
                    824: 8941
                }],
                8928: [
                    [8828, 824]
                ],
                8929: [
                    [8829, 824]
                ],
                8930: [
                    [8849, 824]
                ],
                8931: [
                    [8850, 824]
                ],
                8938: [
                    [8882, 824]
                ],
                8939: [
                    [8883, 824]
                ],
                8940: [
                    [8884, 824]
                ],
                8941: [
                    [8885, 824]
                ]
            },
            8960: {
                9001: [
                    [12296]
                ],
                9002: [
                    [12297]
                ]
            },
            9216: {
                9312: [
                    [49], 256
                ],
                9313: [
                    [50], 256
                ],
                9314: [
                    [51], 256
                ],
                9315: [
                    [52], 256
                ],
                9316: [
                    [53], 256
                ],
                9317: [
                    [54], 256
                ],
                9318: [
                    [55], 256
                ],
                9319: [
                    [56], 256
                ],
                9320: [
                    [57], 256
                ],
                9321: [
                    [49, 48], 256
                ],
                9322: [
                    [49, 49], 256
                ],
                9323: [
                    [49, 50], 256
                ],
                9324: [
                    [49, 51], 256
                ],
                9325: [
                    [49, 52], 256
                ],
                9326: [
                    [49, 53], 256
                ],
                9327: [
                    [49, 54], 256
                ],
                9328: [
                    [49, 55], 256
                ],
                9329: [
                    [49, 56], 256
                ],
                9330: [
                    [49, 57], 256
                ],
                9331: [
                    [50, 48], 256
                ],
                9332: [
                    [40, 49, 41], 256
                ],
                9333: [
                    [40, 50, 41], 256
                ],
                9334: [
                    [40, 51, 41], 256
                ],
                9335: [
                    [40, 52, 41], 256
                ],
                9336: [
                    [40, 53, 41], 256
                ],
                9337: [
                    [40, 54, 41], 256
                ],
                9338: [
                    [40, 55, 41], 256
                ],
                9339: [
                    [40, 56, 41], 256
                ],
                9340: [
                    [40, 57, 41], 256
                ],
                9341: [
                    [40, 49, 48, 41], 256
                ],
                9342: [
                    [40, 49, 49, 41], 256
                ],
                9343: [
                    [40, 49, 50, 41], 256
                ],
                9344: [
                    [40, 49, 51, 41], 256
                ],
                9345: [
                    [40, 49, 52, 41], 256
                ],
                9346: [
                    [40, 49, 53, 41], 256
                ],
                9347: [
                    [40, 49, 54, 41], 256
                ],
                9348: [
                    [40, 49, 55, 41], 256
                ],
                9349: [
                    [40, 49, 56, 41], 256
                ],
                9350: [
                    [40, 49, 57, 41], 256
                ],
                9351: [
                    [40, 50, 48, 41], 256
                ],
                9352: [
                    [49, 46], 256
                ],
                9353: [
                    [50, 46], 256
                ],
                9354: [
                    [51, 46], 256
                ],
                9355: [
                    [52, 46], 256
                ],
                9356: [
                    [53, 46], 256
                ],
                9357: [
                    [54, 46], 256
                ],
                9358: [
                    [55, 46], 256
                ],
                9359: [
                    [56, 46], 256
                ],
                9360: [
                    [57, 46], 256
                ],
                9361: [
                    [49, 48, 46], 256
                ],
                9362: [
                    [49, 49, 46], 256
                ],
                9363: [
                    [49, 50, 46], 256
                ],
                9364: [
                    [49, 51, 46], 256
                ],
                9365: [
                    [49, 52, 46], 256
                ],
                9366: [
                    [49, 53, 46], 256
                ],
                9367: [
                    [49, 54, 46], 256
                ],
                9368: [
                    [49, 55, 46], 256
                ],
                9369: [
                    [49, 56, 46], 256
                ],
                9370: [
                    [49, 57, 46], 256
                ],
                9371: [
                    [50, 48, 46], 256
                ],
                9372: [
                    [40, 97, 41], 256
                ],
                9373: [
                    [40, 98, 41], 256
                ],
                9374: [
                    [40, 99, 41], 256
                ],
                9375: [
                    [40, 100, 41], 256
                ],
                9376: [
                    [40, 101, 41], 256
                ],
                9377: [
                    [40, 102, 41], 256
                ],
                9378: [
                    [40, 103, 41], 256
                ],
                9379: [
                    [40, 104, 41], 256
                ],
                9380: [
                    [40, 105, 41], 256
                ],
                9381: [
                    [40, 106, 41], 256
                ],
                9382: [
                    [40, 107, 41], 256
                ],
                9383: [
                    [40, 108, 41], 256
                ],
                9384: [
                    [40, 109, 41], 256
                ],
                9385: [
                    [40, 110, 41], 256
                ],
                9386: [
                    [40, 111, 41], 256
                ],
                9387: [
                    [40, 112, 41], 256
                ],
                9388: [
                    [40, 113, 41], 256
                ],
                9389: [
                    [40, 114, 41], 256
                ],
                9390: [
                    [40, 115, 41], 256
                ],
                9391: [
                    [40, 116, 41], 256
                ],
                9392: [
                    [40, 117, 41], 256
                ],
                9393: [
                    [40, 118, 41], 256
                ],
                9394: [
                    [40, 119, 41], 256
                ],
                9395: [
                    [40, 120, 41], 256
                ],
                9396: [
                    [40, 121, 41], 256
                ],
                9397: [
                    [40, 122, 41], 256
                ],
                9398: [
                    [65], 256
                ],
                9399: [
                    [66], 256
                ],
                9400: [
                    [67], 256
                ],
                9401: [
                    [68], 256
                ],
                9402: [
                    [69], 256
                ],
                9403: [
                    [70], 256
                ],
                9404: [
                    [71], 256
                ],
                9405: [
                    [72], 256
                ],
                9406: [
                    [73], 256
                ],
                9407: [
                    [74], 256
                ],
                9408: [
                    [75], 256
                ],
                9409: [
                    [76], 256
                ],
                9410: [
                    [77], 256
                ],
                9411: [
                    [78], 256
                ],
                9412: [
                    [79], 256
                ],
                9413: [
                    [80], 256
                ],
                9414: [
                    [81], 256
                ],
                9415: [
                    [82], 256
                ],
                9416: [
                    [83], 256
                ],
                9417: [
                    [84], 256
                ],
                9418: [
                    [85], 256
                ],
                9419: [
                    [86], 256
                ],
                9420: [
                    [87], 256
                ],
                9421: [
                    [88], 256
                ],
                9422: [
                    [89], 256
                ],
                9423: [
                    [90], 256
                ],
                9424: [
                    [97], 256
                ],
                9425: [
                    [98], 256
                ],
                9426: [
                    [99], 256
                ],
                9427: [
                    [100], 256
                ],
                9428: [
                    [101], 256
                ],
                9429: [
                    [102], 256
                ],
                9430: [
                    [103], 256
                ],
                9431: [
                    [104], 256
                ],
                9432: [
                    [105], 256
                ],
                9433: [
                    [106], 256
                ],
                9434: [
                    [107], 256
                ],
                9435: [
                    [108], 256
                ],
                9436: [
                    [109], 256
                ],
                9437: [
                    [110], 256
                ],
                9438: [
                    [111], 256
                ],
                9439: [
                    [112], 256
                ],
                9440: [
                    [113], 256
                ],
                9441: [
                    [114], 256
                ],
                9442: [
                    [115], 256
                ],
                9443: [
                    [116], 256
                ],
                9444: [
                    [117], 256
                ],
                9445: [
                    [118], 256
                ],
                9446: [
                    [119], 256
                ],
                9447: [
                    [120], 256
                ],
                9448: [
                    [121], 256
                ],
                9449: [
                    [122], 256
                ],
                9450: [
                    [48], 256
                ]
            },
            10752: {
                10764: [
                    [8747, 8747, 8747, 8747], 256
                ],
                10868: [
                    [58, 58, 61], 256
                ],
                10869: [
                    [61, 61], 256
                ],
                10870: [
                    [61, 61, 61], 256
                ],
                10972: [
                    [10973, 824], 512
                ]
            },
            11264: {
                11388: [
                    [106], 256
                ],
                11389: [
                    [86], 256
                ],
                11503: [, 230],
                11504: [, 230],
                11505: [, 230]
            },
            11520: {
                11631: [
                    [11617], 256
                ],
                11647: [, 9],
                11744: [, 230],
                11745: [, 230],
                11746: [, 230],
                11747: [, 230],
                11748: [, 230],
                11749: [, 230],
                11750: [, 230],
                11751: [, 230],
                11752: [, 230],
                11753: [, 230],
                11754: [, 230],
                11755: [, 230],
                11756: [, 230],
                11757: [, 230],
                11758: [, 230],
                11759: [, 230],
                11760: [, 230],
                11761: [, 230],
                11762: [, 230],
                11763: [, 230],
                11764: [, 230],
                11765: [, 230],
                11766: [, 230],
                11767: [, 230],
                11768: [, 230],
                11769: [, 230],
                11770: [, 230],
                11771: [, 230],
                11772: [, 230],
                11773: [, 230],
                11774: [, 230],
                11775: [, 230]
            },
            11776: {
                11935: [
                    [27597], 256
                ],
                12019: [
                    [40863], 256
                ]
            },
            12032: {
                12032: [
                    [19968], 256
                ],
                12033: [
                    [20008], 256
                ],
                12034: [
                    [20022], 256
                ],
                12035: [
                    [20031], 256
                ],
                12036: [
                    [20057], 256
                ],
                12037: [
                    [20101], 256
                ],
                12038: [
                    [20108], 256
                ],
                12039: [
                    [20128], 256
                ],
                12040: [
                    [20154], 256
                ],
                12041: [
                    [20799], 256
                ],
                12042: [
                    [20837], 256
                ],
                12043: [
                    [20843], 256
                ],
                12044: [
                    [20866], 256
                ],
                12045: [
                    [20886], 256
                ],
                12046: [
                    [20907], 256
                ],
                12047: [
                    [20960], 256
                ],
                12048: [
                    [20981], 256
                ],
                12049: [
                    [20992], 256
                ],
                12050: [
                    [21147], 256
                ],
                12051: [
                    [21241], 256
                ],
                12052: [
                    [21269], 256
                ],
                12053: [
                    [21274], 256
                ],
                12054: [
                    [21304], 256
                ],
                12055: [
                    [21313], 256
                ],
                12056: [
                    [21340], 256
                ],
                12057: [
                    [21353], 256
                ],
                12058: [
                    [21378], 256
                ],
                12059: [
                    [21430], 256
                ],
                12060: [
                    [21448], 256
                ],
                12061: [
                    [21475], 256
                ],
                12062: [
                    [22231], 256
                ],
                12063: [
                    [22303], 256
                ],
                12064: [
                    [22763], 256
                ],
                12065: [
                    [22786], 256
                ],
                12066: [
                    [22794], 256
                ],
                12067: [
                    [22805], 256
                ],
                12068: [
                    [22823], 256
                ],
                12069: [
                    [22899], 256
                ],
                12070: [
                    [23376], 256
                ],
                12071: [
                    [23424], 256
                ],
                12072: [
                    [23544], 256
                ],
                12073: [
                    [23567], 256
                ],
                12074: [
                    [23586], 256
                ],
                12075: [
                    [23608], 256
                ],
                12076: [
                    [23662], 256
                ],
                12077: [
                    [23665], 256
                ],
                12078: [
                    [24027], 256
                ],
                12079: [
                    [24037], 256
                ],
                12080: [
                    [24049], 256
                ],
                12081: [
                    [24062], 256
                ],
                12082: [
                    [24178], 256
                ],
                12083: [
                    [24186], 256
                ],
                12084: [
                    [24191], 256
                ],
                12085: [
                    [24308], 256
                ],
                12086: [
                    [24318], 256
                ],
                12087: [
                    [24331], 256
                ],
                12088: [
                    [24339], 256
                ],
                12089: [
                    [24400], 256
                ],
                12090: [
                    [24417], 256
                ],
                12091: [
                    [24435], 256
                ],
                12092: [
                    [24515], 256
                ],
                12093: [
                    [25096], 256
                ],
                12094: [
                    [25142], 256
                ],
                12095: [
                    [25163], 256
                ],
                12096: [
                    [25903], 256
                ],
                12097: [
                    [25908], 256
                ],
                12098: [
                    [25991], 256
                ],
                12099: [
                    [26007], 256
                ],
                12100: [
                    [26020], 256
                ],
                12101: [
                    [26041], 256
                ],
                12102: [
                    [26080], 256
                ],
                12103: [
                    [26085], 256
                ],
                12104: [
                    [26352], 256
                ],
                12105: [
                    [26376], 256
                ],
                12106: [
                    [26408], 256
                ],
                12107: [
                    [27424], 256
                ],
                12108: [
                    [27490], 256
                ],
                12109: [
                    [27513], 256
                ],
                12110: [
                    [27571], 256
                ],
                12111: [
                    [27595], 256
                ],
                12112: [
                    [27604], 256
                ],
                12113: [
                    [27611], 256
                ],
                12114: [
                    [27663], 256
                ],
                12115: [
                    [27668], 256
                ],
                12116: [
                    [27700], 256
                ],
                12117: [
                    [28779], 256
                ],
                12118: [
                    [29226], 256
                ],
                12119: [
                    [29238], 256
                ],
                12120: [
                    [29243], 256
                ],
                12121: [
                    [29247], 256
                ],
                12122: [
                    [29255], 256
                ],
                12123: [
                    [29273], 256
                ],
                12124: [
                    [29275], 256
                ],
                12125: [
                    [29356], 256
                ],
                12126: [
                    [29572], 256
                ],
                12127: [
                    [29577], 256
                ],
                12128: [
                    [29916], 256
                ],
                12129: [
                    [29926], 256
                ],
                12130: [
                    [29976], 256
                ],
                12131: [
                    [29983], 256
                ],
                12132: [
                    [29992], 256
                ],
                12133: [
                    [3e4], 256
                ],
                12134: [
                    [30091], 256
                ],
                12135: [
                    [30098], 256
                ],
                12136: [
                    [30326], 256
                ],
                12137: [
                    [30333], 256
                ],
                12138: [
                    [30382], 256
                ],
                12139: [
                    [30399], 256
                ],
                12140: [
                    [30446], 256
                ],
                12141: [
                    [30683], 256
                ],
                12142: [
                    [30690], 256
                ],
                12143: [
                    [30707], 256
                ],
                12144: [
                    [31034], 256
                ],
                12145: [
                    [31160], 256
                ],
                12146: [
                    [31166], 256
                ],
                12147: [
                    [31348], 256
                ],
                12148: [
                    [31435], 256
                ],
                12149: [
                    [31481], 256
                ],
                12150: [
                    [31859], 256
                ],
                12151: [
                    [31992], 256
                ],
                12152: [
                    [32566], 256
                ],
                12153: [
                    [32593], 256
                ],
                12154: [
                    [32650], 256
                ],
                12155: [
                    [32701], 256
                ],
                12156: [
                    [32769], 256
                ],
                12157: [
                    [32780], 256
                ],
                12158: [
                    [32786], 256
                ],
                12159: [
                    [32819], 256
                ],
                12160: [
                    [32895], 256
                ],
                12161: [
                    [32905], 256
                ],
                12162: [
                    [33251], 256
                ],
                12163: [
                    [33258], 256
                ],
                12164: [
                    [33267], 256
                ],
                12165: [
                    [33276], 256
                ],
                12166: [
                    [33292], 256
                ],
                12167: [
                    [33307], 256
                ],
                12168: [
                    [33311], 256
                ],
                12169: [
                    [33390], 256
                ],
                12170: [
                    [33394], 256
                ],
                12171: [
                    [33400], 256
                ],
                12172: [
                    [34381], 256
                ],
                12173: [
                    [34411], 256
                ],
                12174: [
                    [34880], 256
                ],
                12175: [
                    [34892], 256
                ],
                12176: [
                    [34915], 256
                ],
                12177: [
                    [35198], 256
                ],
                12178: [
                    [35211], 256
                ],
                12179: [
                    [35282], 256
                ],
                12180: [
                    [35328], 256
                ],
                12181: [
                    [35895], 256
                ],
                12182: [
                    [35910], 256
                ],
                12183: [
                    [35925], 256
                ],
                12184: [
                    [35960], 256
                ],
                12185: [
                    [35997], 256
                ],
                12186: [
                    [36196], 256
                ],
                12187: [
                    [36208], 256
                ],
                12188: [
                    [36275], 256
                ],
                12189: [
                    [36523], 256
                ],
                12190: [
                    [36554], 256
                ],
                12191: [
                    [36763], 256
                ],
                12192: [
                    [36784], 256
                ],
                12193: [
                    [36789], 256
                ],
                12194: [
                    [37009], 256
                ],
                12195: [
                    [37193], 256
                ],
                12196: [
                    [37318], 256
                ],
                12197: [
                    [37324], 256
                ],
                12198: [
                    [37329], 256
                ],
                12199: [
                    [38263], 256
                ],
                12200: [
                    [38272], 256
                ],
                12201: [
                    [38428], 256
                ],
                12202: [
                    [38582], 256
                ],
                12203: [
                    [38585], 256
                ],
                12204: [
                    [38632], 256
                ],
                12205: [
                    [38737], 256
                ],
                12206: [
                    [38750], 256
                ],
                12207: [
                    [38754], 256
                ],
                12208: [
                    [38761], 256
                ],
                12209: [
                    [38859], 256
                ],
                12210: [
                    [38893], 256
                ],
                12211: [
                    [38899], 256
                ],
                12212: [
                    [38913], 256
                ],
                12213: [
                    [39080], 256
                ],
                12214: [
                    [39131], 256
                ],
                12215: [
                    [39135], 256
                ],
                12216: [
                    [39318], 256
                ],
                12217: [
                    [39321], 256
                ],
                12218: [
                    [39340], 256
                ],
                12219: [
                    [39592], 256
                ],
                12220: [
                    [39640], 256
                ],
                12221: [
                    [39647], 256
                ],
                12222: [
                    [39717], 256
                ],
                12223: [
                    [39727], 256
                ],
                12224: [
                    [39730], 256
                ],
                12225: [
                    [39740], 256
                ],
                12226: [
                    [39770], 256
                ],
                12227: [
                    [40165], 256
                ],
                12228: [
                    [40565], 256
                ],
                12229: [
                    [40575], 256
                ],
                12230: [
                    [40613], 256
                ],
                12231: [
                    [40635], 256
                ],
                12232: [
                    [40643], 256
                ],
                12233: [
                    [40653], 256
                ],
                12234: [
                    [40657], 256
                ],
                12235: [
                    [40697], 256
                ],
                12236: [
                    [40701], 256
                ],
                12237: [
                    [40718], 256
                ],
                12238: [
                    [40723], 256
                ],
                12239: [
                    [40736], 256
                ],
                12240: [
                    [40763], 256
                ],
                12241: [
                    [40778], 256
                ],
                12242: [
                    [40786], 256
                ],
                12243: [
                    [40845], 256
                ],
                12244: [
                    [40860], 256
                ],
                12245: [
                    [40864], 256
                ]
            },
            12288: {
                12288: [
                    [32], 256
                ],
                12330: [, 218],
                12331: [, 228],
                12332: [, 232],
                12333: [, 222],
                12334: [, 224],
                12335: [, 224],
                12342: [
                    [12306], 256
                ],
                12344: [
                    [21313], 256
                ],
                12345: [
                    [21316], 256
                ],
                12346: [
                    [21317], 256
                ],
                12358: [, , {
                    12441: 12436
                }],
                12363: [, , {
                    12441: 12364
                }],
                12364: [
                    [12363, 12441]
                ],
                12365: [, , {
                    12441: 12366
                }],
                12366: [
                    [12365, 12441]
                ],
                12367: [, , {
                    12441: 12368
                }],
                12368: [
                    [12367, 12441]
                ],
                12369: [, , {
                    12441: 12370
                }],
                12370: [
                    [12369, 12441]
                ],
                12371: [, , {
                    12441: 12372
                }],
                12372: [
                    [12371, 12441]
                ],
                12373: [, , {
                    12441: 12374
                }],
                12374: [
                    [12373, 12441]
                ],
                12375: [, , {
                    12441: 12376
                }],
                12376: [
                    [12375, 12441]
                ],
                12377: [, , {
                    12441: 12378
                }],
                12378: [
                    [12377, 12441]
                ],
                12379: [, , {
                    12441: 12380
                }],
                12380: [
                    [12379, 12441]
                ],
                12381: [, , {
                    12441: 12382
                }],
                12382: [
                    [12381, 12441]
                ],
                12383: [, , {
                    12441: 12384
                }],
                12384: [
                    [12383, 12441]
                ],
                12385: [, , {
                    12441: 12386
                }],
                12386: [
                    [12385, 12441]
                ],
                12388: [, , {
                    12441: 12389
                }],
                12389: [
                    [12388, 12441]
                ],
                12390: [, , {
                    12441: 12391
                }],
                12391: [
                    [12390, 12441]
                ],
                12392: [, , {
                    12441: 12393
                }],
                12393: [
                    [12392, 12441]
                ],
                12399: [, , {
                    12441: 12400,
                    12442: 12401
                }],
                12400: [
                    [12399, 12441]
                ],
                12401: [
                    [12399, 12442]
                ],
                12402: [, , {
                    12441: 12403,
                    12442: 12404
                }],
                12403: [
                    [12402, 12441]
                ],
                12404: [
                    [12402, 12442]
                ],
                12405: [, , {
                    12441: 12406,
                    12442: 12407
                }],
                12406: [
                    [12405, 12441]
                ],
                12407: [
                    [12405, 12442]
                ],
                12408: [, , {
                    12441: 12409,
                    12442: 12410
                }],
                12409: [
                    [12408, 12441]
                ],
                12410: [
                    [12408, 12442]
                ],
                12411: [, , {
                    12441: 12412,
                    12442: 12413
                }],
                12412: [
                    [12411, 12441]
                ],
                12413: [
                    [12411, 12442]
                ],
                12436: [
                    [12358, 12441]
                ],
                12441: [, 8],
                12442: [, 8],
                12443: [
                    [32, 12441], 256
                ],
                12444: [
                    [32, 12442], 256
                ],
                12445: [, , {
                    12441: 12446
                }],
                12446: [
                    [12445, 12441]
                ],
                12447: [
                    [12424, 12426], 256
                ],
                12454: [, , {
                    12441: 12532
                }],
                12459: [, , {
                    12441: 12460
                }],
                12460: [
                    [12459, 12441]
                ],
                12461: [, , {
                    12441: 12462
                }],
                12462: [
                    [12461, 12441]
                ],
                12463: [, , {
                    12441: 12464
                }],
                12464: [
                    [12463, 12441]
                ],
                12465: [, , {
                    12441: 12466
                }],
                12466: [
                    [12465, 12441]
                ],
                12467: [, , {
                    12441: 12468
                }],
                12468: [
                    [12467, 12441]
                ],
                12469: [, , {
                    12441: 12470
                }],
                12470: [
                    [12469, 12441]
                ],
                12471: [, , {
                    12441: 12472
                }],
                12472: [
                    [12471, 12441]
                ],
                12473: [, , {
                    12441: 12474
                }],
                12474: [
                    [12473, 12441]
                ],
                12475: [, , {
                    12441: 12476
                }],
                12476: [
                    [12475, 12441]
                ],
                12477: [, , {
                    12441: 12478
                }],
                12478: [
                    [12477, 12441]
                ],
                12479: [, , {
                    12441: 12480
                }],
                12480: [
                    [12479, 12441]
                ],
                12481: [, , {
                    12441: 12482
                }],
                12482: [
                    [12481, 12441]
                ],
                12484: [, , {
                    12441: 12485
                }],
                12485: [
                    [12484, 12441]
                ],
                12486: [, , {
                    12441: 12487
                }],
                12487: [
                    [12486, 12441]
                ],
                12488: [, , {
                    12441: 12489
                }],
                12489: [
                    [12488, 12441]
                ],
                12495: [, , {
                    12441: 12496,
                    12442: 12497
                }],
                12496: [
                    [12495, 12441]
                ],
                12497: [
                    [12495, 12442]
                ],
                12498: [, , {
                    12441: 12499,
                    12442: 12500
                }],
                12499: [
                    [12498, 12441]
                ],
                12500: [
                    [12498, 12442]
                ],
                12501: [, , {
                    12441: 12502,
                    12442: 12503
                }],
                12502: [
                    [12501, 12441]
                ],
                12503: [
                    [12501, 12442]
                ],
                12504: [, , {
                    12441: 12505,
                    12442: 12506
                }],
                12505: [
                    [12504, 12441]
                ],
                12506: [
                    [12504, 12442]
                ],
                12507: [, , {
                    12441: 12508,
                    12442: 12509
                }],
                12508: [
                    [12507, 12441]
                ],
                12509: [
                    [12507, 12442]
                ],
                12527: [, , {
                    12441: 12535
                }],
                12528: [, , {
                    12441: 12536
                }],
                12529: [, , {
                    12441: 12537
                }],
                12530: [, , {
                    12441: 12538
                }],
                12532: [
                    [12454, 12441]
                ],
                12535: [
                    [12527, 12441]
                ],
                12536: [
                    [12528, 12441]
                ],
                12537: [
                    [12529, 12441]
                ],
                12538: [
                    [12530, 12441]
                ],
                12541: [, , {
                    12441: 12542
                }],
                12542: [
                    [12541, 12441]
                ],
                12543: [
                    [12467, 12488], 256
                ]
            },
            12544: {
                12593: [
                    [4352], 256
                ],
                12594: [
                    [4353], 256
                ],
                12595: [
                    [4522], 256
                ],
                12596: [
                    [4354], 256
                ],
                12597: [
                    [4524], 256
                ],
                12598: [
                    [4525], 256
                ],
                12599: [
                    [4355], 256
                ],
                12600: [
                    [4356], 256
                ],
                12601: [
                    [4357], 256
                ],
                12602: [
                    [4528], 256
                ],
                12603: [
                    [4529], 256
                ],
                12604: [
                    [4530], 256
                ],
                12605: [
                    [4531], 256
                ],
                12606: [
                    [4532], 256
                ],
                12607: [
                    [4533], 256
                ],
                12608: [
                    [4378], 256
                ],
                12609: [
                    [4358], 256
                ],
                12610: [
                    [4359], 256
                ],
                12611: [
                    [4360], 256
                ],
                12612: [
                    [4385], 256
                ],
                12613: [
                    [4361], 256
                ],
                12614: [
                    [4362], 256
                ],
                12615: [
                    [4363], 256
                ],
                12616: [
                    [4364], 256
                ],
                12617: [
                    [4365], 256
                ],
                12618: [
                    [4366], 256
                ],
                12619: [
                    [4367], 256
                ],
                12620: [
                    [4368], 256
                ],
                12621: [
                    [4369], 256
                ],
                12622: [
                    [4370], 256
                ],
                12623: [
                    [4449], 256
                ],
                12624: [
                    [4450], 256
                ],
                12625: [
                    [4451], 256
                ],
                12626: [
                    [4452], 256
                ],
                12627: [
                    [4453], 256
                ],
                12628: [
                    [4454], 256
                ],
                12629: [
                    [4455], 256
                ],
                12630: [
                    [4456], 256
                ],
                12631: [
                    [4457], 256
                ],
                12632: [
                    [4458], 256
                ],
                12633: [
                    [4459], 256
                ],
                12634: [
                    [4460], 256
                ],
                12635: [
                    [4461], 256
                ],
                12636: [
                    [4462], 256
                ],
                12637: [
                    [4463], 256
                ],
                12638: [
                    [4464], 256
                ],
                12639: [
                    [4465], 256
                ],
                12640: [
                    [4466], 256
                ],
                12641: [
                    [4467], 256
                ],
                12642: [
                    [4468], 256
                ],
                12643: [
                    [4469], 256
                ],
                12644: [
                    [4448], 256
                ],
                12645: [
                    [4372], 256
                ],
                12646: [
                    [4373], 256
                ],
                12647: [
                    [4551], 256
                ],
                12648: [
                    [4552], 256
                ],
                12649: [
                    [4556], 256
                ],
                12650: [
                    [4558], 256
                ],
                12651: [
                    [4563], 256
                ],
                12652: [
                    [4567], 256
                ],
                12653: [
                    [4569], 256
                ],
                12654: [
                    [4380], 256
                ],
                12655: [
                    [4573], 256
                ],
                12656: [
                    [4575], 256
                ],
                12657: [
                    [4381], 256
                ],
                12658: [
                    [4382], 256
                ],
                12659: [
                    [4384], 256
                ],
                12660: [
                    [4386], 256
                ],
                12661: [
                    [4387], 256
                ],
                12662: [
                    [4391], 256
                ],
                12663: [
                    [4393], 256
                ],
                12664: [
                    [4395], 256
                ],
                12665: [
                    [4396], 256
                ],
                12666: [
                    [4397], 256
                ],
                12667: [
                    [4398], 256
                ],
                12668: [
                    [4399], 256
                ],
                12669: [
                    [4402], 256
                ],
                12670: [
                    [4406], 256
                ],
                12671: [
                    [4416], 256
                ],
                12672: [
                    [4423], 256
                ],
                12673: [
                    [4428], 256
                ],
                12674: [
                    [4593], 256
                ],
                12675: [
                    [4594], 256
                ],
                12676: [
                    [4439], 256
                ],
                12677: [
                    [4440], 256
                ],
                12678: [
                    [4441], 256
                ],
                12679: [
                    [4484], 256
                ],
                12680: [
                    [4485], 256
                ],
                12681: [
                    [4488], 256
                ],
                12682: [
                    [4497], 256
                ],
                12683: [
                    [4498], 256
                ],
                12684: [
                    [4500], 256
                ],
                12685: [
                    [4510], 256
                ],
                12686: [
                    [4513], 256
                ],
                12690: [
                    [19968], 256
                ],
                12691: [
                    [20108], 256
                ],
                12692: [
                    [19977], 256
                ],
                12693: [
                    [22235], 256
                ],
                12694: [
                    [19978], 256
                ],
                12695: [
                    [20013], 256
                ],
                12696: [
                    [19979], 256
                ],
                12697: [
                    [30002], 256
                ],
                12698: [
                    [20057], 256
                ],
                12699: [
                    [19993], 256
                ],
                12700: [
                    [19969], 256
                ],
                12701: [
                    [22825], 256
                ],
                12702: [
                    [22320], 256
                ],
                12703: [
                    [20154], 256
                ]
            },
            12800: {
                12800: [
                    [40, 4352, 41], 256
                ],
                12801: [
                    [40, 4354, 41], 256
                ],
                12802: [
                    [40, 4355, 41], 256
                ],
                12803: [
                    [40, 4357, 41], 256
                ],
                12804: [
                    [40, 4358, 41], 256
                ],
                12805: [
                    [40, 4359, 41], 256
                ],
                12806: [
                    [40, 4361, 41], 256
                ],
                12807: [
                    [40, 4363, 41], 256
                ],
                12808: [
                    [40, 4364, 41], 256
                ],
                12809: [
                    [40, 4366, 41], 256
                ],
                12810: [
                    [40, 4367, 41], 256
                ],
                12811: [
                    [40, 4368, 41], 256
                ],
                12812: [
                    [40, 4369, 41], 256
                ],
                12813: [
                    [40, 4370, 41], 256
                ],
                12814: [
                    [40, 4352, 4449, 41], 256
                ],
                12815: [
                    [40, 4354, 4449, 41], 256
                ],
                12816: [
                    [40, 4355, 4449, 41], 256
                ],
                12817: [
                    [40, 4357, 4449, 41], 256
                ],
                12818: [
                    [40, 4358, 4449, 41], 256
                ],
                12819: [
                    [40, 4359, 4449, 41], 256
                ],
                12820: [
                    [40, 4361, 4449, 41], 256
                ],
                12821: [
                    [40, 4363, 4449, 41], 256
                ],
                12822: [
                    [40, 4364, 4449, 41], 256
                ],
                12823: [
                    [40, 4366, 4449, 41], 256
                ],
                12824: [
                    [40, 4367, 4449, 41], 256
                ],
                12825: [
                    [40, 4368, 4449, 41], 256
                ],
                12826: [
                    [40, 4369, 4449, 41], 256
                ],
                12827: [
                    [40, 4370, 4449, 41], 256
                ],
                12828: [
                    [40, 4364, 4462, 41], 256
                ],
                12829: [
                    [40, 4363, 4457, 4364, 4453, 4523, 41], 256
                ],
                12830: [
                    [40, 4363, 4457, 4370, 4462, 41], 256
                ],
                12832: [
                    [40, 19968, 41], 256
                ],
                12833: [
                    [40, 20108, 41], 256
                ],
                12834: [
                    [40, 19977, 41], 256
                ],
                12835: [
                    [40, 22235, 41], 256
                ],
                12836: [
                    [40, 20116, 41], 256
                ],
                12837: [
                    [40, 20845, 41], 256
                ],
                12838: [
                    [40, 19971, 41], 256
                ],
                12839: [
                    [40, 20843, 41], 256
                ],
                12840: [
                    [40, 20061, 41], 256
                ],
                12841: [
                    [40, 21313, 41], 256
                ],
                12842: [
                    [40, 26376, 41], 256
                ],
                12843: [
                    [40, 28779, 41], 256
                ],
                12844: [
                    [40, 27700, 41], 256
                ],
                12845: [
                    [40, 26408, 41], 256
                ],
                12846: [
                    [40, 37329, 41], 256
                ],
                12847: [
                    [40, 22303, 41], 256
                ],
                12848: [
                    [40, 26085, 41], 256
                ],
                12849: [
                    [40, 26666, 41], 256
                ],
                12850: [
                    [40, 26377, 41], 256
                ],
                12851: [
                    [40, 31038, 41], 256
                ],
                12852: [
                    [40, 21517, 41], 256
                ],
                12853: [
                    [40, 29305, 41], 256
                ],
                12854: [
                    [40, 36001, 41], 256
                ],
                12855: [
                    [40, 31069, 41], 256
                ],
                12856: [
                    [40, 21172, 41], 256
                ],
                12857: [
                    [40, 20195, 41], 256
                ],
                12858: [
                    [40, 21628, 41], 256
                ],
                12859: [
                    [40, 23398, 41], 256
                ],
                12860: [
                    [40, 30435, 41], 256
                ],
                12861: [
                    [40, 20225, 41], 256
                ],
                12862: [
                    [40, 36039, 41], 256
                ],
                12863: [
                    [40, 21332, 41], 256
                ],
                12864: [
                    [40, 31085, 41], 256
                ],
                12865: [
                    [40, 20241, 41], 256
                ],
                12866: [
                    [40, 33258, 41], 256
                ],
                12867: [
                    [40, 33267, 41], 256
                ],
                12868: [
                    [21839], 256
                ],
                12869: [
                    [24188], 256
                ],
                12870: [
                    [25991], 256
                ],
                12871: [
                    [31631], 256
                ],
                12880: [
                    [80, 84, 69], 256
                ],
                12881: [
                    [50, 49], 256
                ],
                12882: [
                    [50, 50], 256
                ],
                12883: [
                    [50, 51], 256
                ],
                12884: [
                    [50, 52], 256
                ],
                12885: [
                    [50, 53], 256
                ],
                12886: [
                    [50, 54], 256
                ],
                12887: [
                    [50, 55], 256
                ],
                12888: [
                    [50, 56], 256
                ],
                12889: [
                    [50, 57], 256
                ],
                12890: [
                    [51, 48], 256
                ],
                12891: [
                    [51, 49], 256
                ],
                12892: [
                    [51, 50], 256
                ],
                12893: [
                    [51, 51], 256
                ],
                12894: [
                    [51, 52], 256
                ],
                12895: [
                    [51, 53], 256
                ],
                12896: [
                    [4352], 256
                ],
                12897: [
                    [4354], 256
                ],
                12898: [
                    [4355], 256
                ],
                12899: [
                    [4357], 256
                ],
                12900: [
                    [4358], 256
                ],
                12901: [
                    [4359], 256
                ],
                12902: [
                    [4361], 256
                ],
                12903: [
                    [4363], 256
                ],
                12904: [
                    [4364], 256
                ],
                12905: [
                    [4366], 256
                ],
                12906: [
                    [4367], 256
                ],
                12907: [
                    [4368], 256
                ],
                12908: [
                    [4369], 256
                ],
                12909: [
                    [4370], 256
                ],
                12910: [
                    [4352, 4449], 256
                ],
                12911: [
                    [4354, 4449], 256
                ],
                12912: [
                    [4355, 4449], 256
                ],
                12913: [
                    [4357, 4449], 256
                ],
                12914: [
                    [4358, 4449], 256
                ],
                12915: [
                    [4359, 4449], 256
                ],
                12916: [
                    [4361, 4449], 256
                ],
                12917: [
                    [4363, 4449], 256
                ],
                12918: [
                    [4364, 4449], 256
                ],
                12919: [
                    [4366, 4449], 256
                ],
                12920: [
                    [4367, 4449], 256
                ],
                12921: [
                    [4368, 4449], 256
                ],
                12922: [
                    [4369, 4449], 256
                ],
                12923: [
                    [4370, 4449], 256
                ],
                12924: [
                    [4366, 4449, 4535, 4352, 4457], 256
                ],
                12925: [
                    [4364, 4462, 4363, 4468], 256
                ],
                12926: [
                    [4363, 4462], 256
                ],
                12928: [
                    [19968], 256
                ],
                12929: [
                    [20108], 256
                ],
                12930: [
                    [19977], 256
                ],
                12931: [
                    [22235], 256
                ],
                12932: [
                    [20116], 256
                ],
                12933: [
                    [20845], 256
                ],
                12934: [
                    [19971], 256
                ],
                12935: [
                    [20843], 256
                ],
                12936: [
                    [20061], 256
                ],
                12937: [
                    [21313], 256
                ],
                12938: [
                    [26376], 256
                ],
                12939: [
                    [28779], 256
                ],
                12940: [
                    [27700], 256
                ],
                12941: [
                    [26408], 256
                ],
                12942: [
                    [37329], 256
                ],
                12943: [
                    [22303], 256
                ],
                12944: [
                    [26085], 256
                ],
                12945: [
                    [26666], 256
                ],
                12946: [
                    [26377], 256
                ],
                12947: [
                    [31038], 256
                ],
                12948: [
                    [21517], 256
                ],
                12949: [
                    [29305], 256
                ],
                12950: [
                    [36001], 256
                ],
                12951: [
                    [31069], 256
                ],
                12952: [
                    [21172], 256
                ],
                12953: [
                    [31192], 256
                ],
                12954: [
                    [30007], 256
                ],
                12955: [
                    [22899], 256
                ],
                12956: [
                    [36969], 256
                ],
                12957: [
                    [20778], 256
                ],
                12958: [
                    [21360], 256
                ],
                12959: [
                    [27880], 256
                ],
                12960: [
                    [38917], 256
                ],
                12961: [
                    [20241], 256
                ],
                12962: [
                    [20889], 256
                ],
                12963: [
                    [27491], 256
                ],
                12964: [
                    [19978], 256
                ],
                12965: [
                    [20013], 256
                ],
                12966: [
                    [19979], 256
                ],
                12967: [
                    [24038], 256
                ],
                12968: [
                    [21491], 256
                ],
                12969: [
                    [21307], 256
                ],
                12970: [
                    [23447], 256
                ],
                12971: [
                    [23398], 256
                ],
                12972: [
                    [30435], 256
                ],
                12973: [
                    [20225], 256
                ],
                12974: [
                    [36039], 256
                ],
                12975: [
                    [21332], 256
                ],
                12976: [
                    [22812], 256
                ],
                12977: [
                    [51, 54], 256
                ],
                12978: [
                    [51, 55], 256
                ],
                12979: [
                    [51, 56], 256
                ],
                12980: [
                    [51, 57], 256
                ],
                12981: [
                    [52, 48], 256
                ],
                12982: [
                    [52, 49], 256
                ],
                12983: [
                    [52, 50], 256
                ],
                12984: [
                    [52, 51], 256
                ],
                12985: [
                    [52, 52], 256
                ],
                12986: [
                    [52, 53], 256
                ],
                12987: [
                    [52, 54], 256
                ],
                12988: [
                    [52, 55], 256
                ],
                12989: [
                    [52, 56], 256
                ],
                12990: [
                    [52, 57], 256
                ],
                12991: [
                    [53, 48], 256
                ],
                12992: [
                    [49, 26376], 256
                ],
                12993: [
                    [50, 26376], 256
                ],
                12994: [
                    [51, 26376], 256
                ],
                12995: [
                    [52, 26376], 256
                ],
                12996: [
                    [53, 26376], 256
                ],
                12997: [
                    [54, 26376], 256
                ],
                12998: [
                    [55, 26376], 256
                ],
                12999: [
                    [56, 26376], 256
                ],
                13e3: [
                    [57, 26376], 256
                ],
                13001: [
                    [49, 48, 26376], 256
                ],
                13002: [
                    [49, 49, 26376], 256
                ],
                13003: [
                    [49, 50, 26376], 256
                ],
                13004: [
                    [72, 103], 256
                ],
                13005: [
                    [101, 114, 103], 256
                ],
                13006: [
                    [101, 86], 256
                ],
                13007: [
                    [76, 84, 68], 256
                ],
                13008: [
                    [12450], 256
                ],
                13009: [
                    [12452], 256
                ],
                13010: [
                    [12454], 256
                ],
                13011: [
                    [12456], 256
                ],
                13012: [
                    [12458], 256
                ],
                13013: [
                    [12459], 256
                ],
                13014: [
                    [12461], 256
                ],
                13015: [
                    [12463], 256
                ],
                13016: [
                    [12465], 256
                ],
                13017: [
                    [12467], 256
                ],
                13018: [
                    [12469], 256
                ],
                13019: [
                    [12471], 256
                ],
                13020: [
                    [12473], 256
                ],
                13021: [
                    [12475], 256
                ],
                13022: [
                    [12477], 256
                ],
                13023: [
                    [12479], 256
                ],
                13024: [
                    [12481], 256
                ],
                13025: [
                    [12484], 256
                ],
                13026: [
                    [12486], 256
                ],
                13027: [
                    [12488], 256
                ],
                13028: [
                    [12490], 256
                ],
                13029: [
                    [12491], 256
                ],
                13030: [
                    [12492], 256
                ],
                13031: [
                    [12493], 256
                ],
                13032: [
                    [12494], 256
                ],
                13033: [
                    [12495], 256
                ],
                13034: [
                    [12498], 256
                ],
                13035: [
                    [12501], 256
                ],
                13036: [
                    [12504], 256
                ],
                13037: [
                    [12507], 256
                ],
                13038: [
                    [12510], 256
                ],
                13039: [
                    [12511], 256
                ],
                13040: [
                    [12512], 256
                ],
                13041: [
                    [12513], 256
                ],
                13042: [
                    [12514], 256
                ],
                13043: [
                    [12516], 256
                ],
                13044: [
                    [12518], 256
                ],
                13045: [
                    [12520], 256
                ],
                13046: [
                    [12521], 256
                ],
                13047: [
                    [12522], 256
                ],
                13048: [
                    [12523], 256
                ],
                13049: [
                    [12524], 256
                ],
                13050: [
                    [12525], 256
                ],
                13051: [
                    [12527], 256
                ],
                13052: [
                    [12528], 256
                ],
                13053: [
                    [12529], 256
                ],
                13054: [
                    [12530], 256
                ]
            },
            13056: {
                13056: [
                    [12450, 12497, 12540, 12488], 256
                ],
                13057: [
                    [12450, 12523, 12501, 12449], 256
                ],
                13058: [
                    [12450, 12531, 12506, 12450], 256
                ],
                13059: [
                    [12450, 12540, 12523], 256
                ],
                13060: [
                    [12452, 12491, 12531, 12464], 256
                ],
                13061: [
                    [12452, 12531, 12481], 256
                ],
                13062: [
                    [12454, 12457, 12531], 256
                ],
                13063: [
                    [12456, 12473, 12463, 12540, 12489], 256
                ],
                13064: [
                    [12456, 12540, 12459, 12540], 256
                ],
                13065: [
                    [12458, 12531, 12473], 256
                ],
                13066: [
                    [12458, 12540, 12512], 256
                ],
                13067: [
                    [12459, 12452, 12522], 256
                ],
                13068: [
                    [12459, 12521, 12483, 12488], 256
                ],
                13069: [
                    [12459, 12525, 12522, 12540], 256
                ],
                13070: [
                    [12460, 12525, 12531], 256
                ],
                13071: [
                    [12460, 12531, 12510], 256
                ],
                13072: [
                    [12462, 12460], 256
                ],
                13073: [
                    [12462, 12491, 12540], 256
                ],
                13074: [
                    [12461, 12517, 12522, 12540], 256
                ],
                13075: [
                    [12462, 12523, 12480, 12540], 256
                ],
                13076: [
                    [12461, 12525], 256
                ],
                13077: [
                    [12461, 12525, 12464, 12521, 12512], 256
                ],
                13078: [
                    [12461, 12525, 12513, 12540, 12488, 12523], 256
                ],
                13079: [
                    [12461, 12525, 12527, 12483, 12488], 256
                ],
                13080: [
                    [12464, 12521, 12512], 256
                ],
                13081: [
                    [12464, 12521, 12512, 12488, 12531], 256
                ],
                13082: [
                    [12463, 12523, 12476, 12452, 12525], 256
                ],
                13083: [
                    [12463, 12525, 12540, 12493], 256
                ],
                13084: [
                    [12465, 12540, 12473], 256
                ],
                13085: [
                    [12467, 12523, 12490], 256
                ],
                13086: [
                    [12467, 12540, 12509], 256
                ],
                13087: [
                    [12469, 12452, 12463, 12523], 256
                ],
                13088: [
                    [12469, 12531, 12481, 12540, 12512], 256
                ],
                13089: [
                    [12471, 12522, 12531, 12464], 256
                ],
                13090: [
                    [12475, 12531, 12481], 256
                ],
                13091: [
                    [12475, 12531, 12488], 256
                ],
                13092: [
                    [12480, 12540, 12473], 256
                ],
                13093: [
                    [12487, 12471], 256
                ],
                13094: [
                    [12489, 12523], 256
                ],
                13095: [
                    [12488, 12531], 256
                ],
                13096: [
                    [12490, 12494], 256
                ],
                13097: [
                    [12494, 12483, 12488], 256
                ],
                13098: [
                    [12495, 12452, 12484], 256
                ],
                13099: [
                    [12497, 12540, 12475, 12531, 12488], 256
                ],
                13100: [
                    [12497, 12540, 12484], 256
                ],
                13101: [
                    [12496, 12540, 12524, 12523], 256
                ],
                13102: [
                    [12500, 12450, 12473, 12488, 12523], 256
                ],
                13103: [
                    [12500, 12463, 12523], 256
                ],
                13104: [
                    [12500, 12467], 256
                ],
                13105: [
                    [12499, 12523], 256
                ],
                13106: [
                    [12501, 12449, 12521, 12483, 12489], 256
                ],
                13107: [
                    [12501, 12451, 12540, 12488], 256
                ],
                13108: [
                    [12502, 12483, 12471, 12455, 12523], 256
                ],
                13109: [
                    [12501, 12521, 12531], 256
                ],
                13110: [
                    [12504, 12463, 12479, 12540, 12523], 256
                ],
                13111: [
                    [12506, 12477], 256
                ],
                13112: [
                    [12506, 12491, 12498], 256
                ],
                13113: [
                    [12504, 12523, 12484], 256
                ],
                13114: [
                    [12506, 12531, 12473], 256
                ],
                13115: [
                    [12506, 12540, 12472], 256
                ],
                13116: [
                    [12505, 12540, 12479], 256
                ],
                13117: [
                    [12509, 12452, 12531, 12488], 256
                ],
                13118: [
                    [12508, 12523, 12488], 256
                ],
                13119: [
                    [12507, 12531], 256
                ],
                13120: [
                    [12509, 12531, 12489], 256
                ],
                13121: [
                    [12507, 12540, 12523], 256
                ],
                13122: [
                    [12507, 12540, 12531], 256
                ],
                13123: [
                    [12510, 12452, 12463, 12525], 256
                ],
                13124: [
                    [12510, 12452, 12523], 256
                ],
                13125: [
                    [12510, 12483, 12495], 256
                ],
                13126: [
                    [12510, 12523, 12463], 256
                ],
                13127: [
                    [12510, 12531, 12471, 12519, 12531], 256
                ],
                13128: [
                    [12511, 12463, 12525, 12531], 256
                ],
                13129: [
                    [12511, 12522], 256
                ],
                13130: [
                    [12511, 12522, 12496, 12540, 12523], 256
                ],
                13131: [
                    [12513, 12460], 256
                ],
                13132: [
                    [12513, 12460, 12488, 12531], 256
                ],
                13133: [
                    [12513, 12540, 12488, 12523], 256
                ],
                13134: [
                    [12516, 12540, 12489], 256
                ],
                13135: [
                    [12516, 12540, 12523], 256
                ],
                13136: [
                    [12518, 12450, 12531], 256
                ],
                13137: [
                    [12522, 12483, 12488, 12523], 256
                ],
                13138: [
                    [12522, 12521], 256
                ],
                13139: [
                    [12523, 12500, 12540], 256
                ],
                13140: [
                    [12523, 12540, 12502, 12523], 256
                ],
                13141: [
                    [12524, 12512], 256
                ],
                13142: [
                    [12524, 12531, 12488, 12466, 12531], 256
                ],
                13143: [
                    [12527, 12483, 12488], 256
                ],
                13144: [
                    [48, 28857], 256
                ],
                13145: [
                    [49, 28857], 256
                ],
                13146: [
                    [50, 28857], 256
                ],
                13147: [
                    [51, 28857], 256
                ],
                13148: [
                    [52, 28857], 256
                ],
                13149: [
                    [53, 28857], 256
                ],
                13150: [
                    [54, 28857], 256
                ],
                13151: [
                    [55, 28857], 256
                ],
                13152: [
                    [56, 28857], 256
                ],
                13153: [
                    [57, 28857], 256
                ],
                13154: [
                    [49, 48, 28857], 256
                ],
                13155: [
                    [49, 49, 28857], 256
                ],
                13156: [
                    [49, 50, 28857], 256
                ],
                13157: [
                    [49, 51, 28857], 256
                ],
                13158: [
                    [49, 52, 28857], 256
                ],
                13159: [
                    [49, 53, 28857], 256
                ],
                13160: [
                    [49, 54, 28857], 256
                ],
                13161: [
                    [49, 55, 28857], 256
                ],
                13162: [
                    [49, 56, 28857], 256
                ],
                13163: [
                    [49, 57, 28857], 256
                ],
                13164: [
                    [50, 48, 28857], 256
                ],
                13165: [
                    [50, 49, 28857], 256
                ],
                13166: [
                    [50, 50, 28857], 256
                ],
                13167: [
                    [50, 51, 28857], 256
                ],
                13168: [
                    [50, 52, 28857], 256
                ],
                13169: [
                    [104, 80, 97], 256
                ],
                13170: [
                    [100, 97], 256
                ],
                13171: [
                    [65, 85], 256
                ],
                13172: [
                    [98, 97, 114], 256
                ],
                13173: [
                    [111, 86], 256
                ],
                13174: [
                    [112, 99], 256
                ],
                13175: [
                    [100, 109], 256
                ],
                13176: [
                    [100, 109, 178], 256
                ],
                13177: [
                    [100, 109, 179], 256
                ],
                13178: [
                    [73, 85], 256
                ],
                13179: [
                    [24179, 25104], 256
                ],
                13180: [
                    [26157, 21644], 256
                ],
                13181: [
                    [22823, 27491], 256
                ],
                13182: [
                    [26126, 27835], 256
                ],
                13183: [
                    [26666, 24335, 20250, 31038], 256
                ],
                13184: [
                    [112, 65], 256
                ],
                13185: [
                    [110, 65], 256
                ],
                13186: [
                    [956, 65], 256
                ],
                13187: [
                    [109, 65], 256
                ],
                13188: [
                    [107, 65], 256
                ],
                13189: [
                    [75, 66], 256
                ],
                13190: [
                    [77, 66], 256
                ],
                13191: [
                    [71, 66], 256
                ],
                13192: [
                    [99, 97, 108], 256
                ],
                13193: [
                    [107, 99, 97, 108], 256
                ],
                13194: [
                    [112, 70], 256
                ],
                13195: [
                    [110, 70], 256
                ],
                13196: [
                    [956, 70], 256
                ],
                13197: [
                    [956, 103], 256
                ],
                13198: [
                    [109, 103], 256
                ],
                13199: [
                    [107, 103], 256
                ],
                13200: [
                    [72, 122], 256
                ],
                13201: [
                    [107, 72, 122], 256
                ],
                13202: [
                    [77, 72, 122], 256
                ],
                13203: [
                    [71, 72, 122], 256
                ],
                13204: [
                    [84, 72, 122], 256
                ],
                13205: [
                    [956, 8467], 256
                ],
                13206: [
                    [109, 8467], 256
                ],
                13207: [
                    [100, 8467], 256
                ],
                13208: [
                    [107, 8467], 256
                ],
                13209: [
                    [102, 109], 256
                ],
                13210: [
                    [110, 109], 256
                ],
                13211: [
                    [956, 109], 256
                ],
                13212: [
                    [109, 109], 256
                ],
                13213: [
                    [99, 109], 256
                ],
                13214: [
                    [107, 109], 256
                ],
                13215: [
                    [109, 109, 178], 256
                ],
                13216: [
                    [99, 109, 178], 256
                ],
                13217: [
                    [109, 178], 256
                ],
                13218: [
                    [107, 109, 178], 256
                ],
                13219: [
                    [109, 109, 179], 256
                ],
                13220: [
                    [99, 109, 179], 256
                ],
                13221: [
                    [109, 179], 256
                ],
                13222: [
                    [107, 109, 179], 256
                ],
                13223: [
                    [109, 8725, 115], 256
                ],
                13224: [
                    [109, 8725, 115, 178], 256
                ],
                13225: [
                    [80, 97], 256
                ],
                13226: [
                    [107, 80, 97], 256
                ],
                13227: [
                    [77, 80, 97], 256
                ],
                13228: [
                    [71, 80, 97], 256
                ],
                13229: [
                    [114, 97, 100], 256
                ],
                13230: [
                    [114, 97, 100, 8725, 115], 256
                ],
                13231: [
                    [114, 97, 100, 8725, 115, 178], 256
                ],
                13232: [
                    [112, 115], 256
                ],
                13233: [
                    [110, 115], 256
                ],
                13234: [
                    [956, 115], 256
                ],
                13235: [
                    [109, 115], 256
                ],
                13236: [
                    [112, 86], 256
                ],
                13237: [
                    [110, 86], 256
                ],
                13238: [
                    [956, 86], 256
                ],
                13239: [
                    [109, 86], 256
                ],
                13240: [
                    [107, 86], 256
                ],
                13241: [
                    [77, 86], 256
                ],
                13242: [
                    [112, 87], 256
                ],
                13243: [
                    [110, 87], 256
                ],
                13244: [
                    [956, 87], 256
                ],
                13245: [
                    [109, 87], 256
                ],
                13246: [
                    [107, 87], 256
                ],
                13247: [
                    [77, 87], 256
                ],
                13248: [
                    [107, 937], 256
                ],
                13249: [
                    [77, 937], 256
                ],
                13250: [
                    [97, 46, 109, 46], 256
                ],
                13251: [
                    [66, 113], 256
                ],
                13252: [
                    [99, 99], 256
                ],
                13253: [
                    [99, 100], 256
                ],
                13254: [
                    [67, 8725, 107, 103], 256
                ],
                13255: [
                    [67, 111, 46], 256
                ],
                13256: [
                    [100, 66], 256
                ],
                13257: [
                    [71, 121], 256
                ],
                13258: [
                    [104, 97], 256
                ],
                13259: [
                    [72, 80], 256
                ],
                13260: [
                    [105, 110], 256
                ],
                13261: [
                    [75, 75], 256
                ],
                13262: [
                    [75, 77], 256
                ],
                13263: [
                    [107, 116], 256
                ],
                13264: [
                    [108, 109], 256
                ],
                13265: [
                    [108, 110], 256
                ],
                13266: [
                    [108, 111, 103], 256
                ],
                13267: [
                    [108, 120], 256
                ],
                13268: [
                    [109, 98], 256
                ],
                13269: [
                    [109, 105, 108], 256
                ],
                13270: [
                    [109, 111, 108], 256
                ],
                13271: [
                    [80, 72], 256
                ],
                13272: [
                    [112, 46, 109, 46], 256
                ],
                13273: [
                    [80, 80, 77], 256
                ],
                13274: [
                    [80, 82], 256
                ],
                13275: [
                    [115, 114], 256
                ],
                13276: [
                    [83, 118], 256
                ],
                13277: [
                    [87, 98], 256
                ],
                13278: [
                    [86, 8725, 109], 256
                ],
                13279: [
                    [65, 8725, 109], 256
                ],
                13280: [
                    [49, 26085], 256
                ],
                13281: [
                    [50, 26085], 256
                ],
                13282: [
                    [51, 26085], 256
                ],
                13283: [
                    [52, 26085], 256
                ],
                13284: [
                    [53, 26085], 256
                ],
                13285: [
                    [54, 26085], 256
                ],
                13286: [
                    [55, 26085], 256
                ],
                13287: [
                    [56, 26085], 256
                ],
                13288: [
                    [57, 26085], 256
                ],
                13289: [
                    [49, 48, 26085], 256
                ],
                13290: [
                    [49, 49, 26085], 256
                ],
                13291: [
                    [49, 50, 26085], 256
                ],
                13292: [
                    [49, 51, 26085], 256
                ],
                13293: [
                    [49, 52, 26085], 256
                ],
                13294: [
                    [49, 53, 26085], 256
                ],
                13295: [
                    [49, 54, 26085], 256
                ],
                13296: [
                    [49, 55, 26085], 256
                ],
                13297: [
                    [49, 56, 26085], 256
                ],
                13298: [
                    [49, 57, 26085], 256
                ],
                13299: [
                    [50, 48, 26085], 256
                ],
                13300: [
                    [50, 49, 26085], 256
                ],
                13301: [
                    [50, 50, 26085], 256
                ],
                13302: [
                    [50, 51, 26085], 256
                ],
                13303: [
                    [50, 52, 26085], 256
                ],
                13304: [
                    [50, 53, 26085], 256
                ],
                13305: [
                    [50, 54, 26085], 256
                ],
                13306: [
                    [50, 55, 26085], 256
                ],
                13307: [
                    [50, 56, 26085], 256
                ],
                13308: [
                    [50, 57, 26085], 256
                ],
                13309: [
                    [51, 48, 26085], 256
                ],
                13310: [
                    [51, 49, 26085], 256
                ],
                13311: [
                    [103, 97, 108], 256
                ]
            },
            27136: {
                92912: [, 1],
                92913: [, 1],
                92914: [, 1],
                92915: [, 1],
                92916: [, 1]
            },
            27392: {
                92976: [, 230],
                92977: [, 230],
                92978: [, 230],
                92979: [, 230],
                92980: [, 230],
                92981: [, 230],
                92982: [, 230]
            },
            42496: {
                42607: [, 230],
                42612: [, 230],
                42613: [, 230],
                42614: [, 230],
                42615: [, 230],
                42616: [, 230],
                42617: [, 230],
                42618: [, 230],
                42619: [, 230],
                42620: [, 230],
                42621: [, 230],
                42652: [
                    [1098], 256
                ],
                42653: [
                    [1100], 256
                ],
                42655: [, 230],
                42736: [, 230],
                42737: [, 230]
            },
            42752: {
                42864: [
                    [42863], 256
                ],
                43e3: [
                    [294], 256
                ],
                43001: [
                    [339], 256
                ]
            },
            43008: {
                43014: [, 9],
                43204: [, 9],
                43232: [, 230],
                43233: [, 230],
                43234: [, 230],
                43235: [, 230],
                43236: [, 230],
                43237: [, 230],
                43238: [, 230],
                43239: [, 230],
                43240: [, 230],
                43241: [, 230],
                43242: [, 230],
                43243: [, 230],
                43244: [, 230],
                43245: [, 230],
                43246: [, 230],
                43247: [, 230],
                43248: [, 230],
                43249: [, 230]
            },
            43264: {
                43307: [, 220],
                43308: [, 220],
                43309: [, 220],
                43347: [, 9],
                43443: [, 7],
                43456: [, 9]
            },
            43520: {
                43696: [, 230],
                43698: [, 230],
                43699: [, 230],
                43700: [, 220],
                43703: [, 230],
                43704: [, 230],
                43710: [, 230],
                43711: [, 230],
                43713: [, 230],
                43766: [, 9]
            },
            43776: {
                43868: [
                    [42791], 256
                ],
                43869: [
                    [43831], 256
                ],
                43870: [
                    [619], 256
                ],
                43871: [
                    [43858], 256
                ],
                44013: [, 9]
            },
            48128: {
                113822: [, 1]
            },
            53504: {
                119134: [
                    [119127, 119141], 512
                ],
                119135: [
                    [119128, 119141], 512
                ],
                119136: [
                    [119135, 119150], 512
                ],
                119137: [
                    [119135, 119151], 512
                ],
                119138: [
                    [119135, 119152], 512
                ],
                119139: [
                    [119135, 119153], 512
                ],
                119140: [
                    [119135, 119154], 512
                ],
                119141: [, 216],
                119142: [, 216],
                119143: [, 1],
                119144: [, 1],
                119145: [, 1],
                119149: [, 226],
                119150: [, 216],
                119151: [, 216],
                119152: [, 216],
                119153: [, 216],
                119154: [, 216],
                119163: [, 220],
                119164: [, 220],
                119165: [, 220],
                119166: [, 220],
                119167: [, 220],
                119168: [, 220],
                119169: [, 220],
                119170: [, 220],
                119173: [, 230],
                119174: [, 230],
                119175: [, 230],
                119176: [, 230],
                119177: [, 230],
                119178: [, 220],
                119179: [, 220],
                119210: [, 230],
                119211: [, 230],
                119212: [, 230],
                119213: [, 230],
                119227: [
                    [119225, 119141], 512
                ],
                119228: [
                    [119226, 119141], 512
                ],
                119229: [
                    [119227, 119150], 512
                ],
                119230: [
                    [119228, 119150], 512
                ],
                119231: [
                    [119227, 119151], 512
                ],
                119232: [
                    [119228, 119151], 512
                ]
            },
            53760: {
                119362: [, 230],
                119363: [, 230],
                119364: [, 230]
            },
            54272: {
                119808: [
                    [65], 256
                ],
                119809: [
                    [66], 256
                ],
                119810: [
                    [67], 256
                ],
                119811: [
                    [68], 256
                ],
                119812: [
                    [69], 256
                ],
                119813: [
                    [70], 256
                ],
                119814: [
                    [71], 256
                ],
                119815: [
                    [72], 256
                ],
                119816: [
                    [73], 256
                ],
                119817: [
                    [74], 256
                ],
                119818: [
                    [75], 256
                ],
                119819: [
                    [76], 256
                ],
                119820: [
                    [77], 256
                ],
                119821: [
                    [78], 256
                ],
                119822: [
                    [79], 256
                ],
                119823: [
                    [80], 256
                ],
                119824: [
                    [81], 256
                ],
                119825: [
                    [82], 256
                ],
                119826: [
                    [83], 256
                ],
                119827: [
                    [84], 256
                ],
                119828: [
                    [85], 256
                ],
                119829: [
                    [86], 256
                ],
                119830: [
                    [87], 256
                ],
                119831: [
                    [88], 256
                ],
                119832: [
                    [89], 256
                ],
                119833: [
                    [90], 256
                ],
                119834: [
                    [97], 256
                ],
                119835: [
                    [98], 256
                ],
                119836: [
                    [99], 256
                ],
                119837: [
                    [100], 256
                ],
                119838: [
                    [101], 256
                ],
                119839: [
                    [102], 256
                ],
                119840: [
                    [103], 256
                ],
                119841: [
                    [104], 256
                ],
                119842: [
                    [105], 256
                ],
                119843: [
                    [106], 256
                ],
                119844: [
                    [107], 256
                ],
                119845: [
                    [108], 256
                ],
                119846: [
                    [109], 256
                ],
                119847: [
                    [110], 256
                ],
                119848: [
                    [111], 256
                ],
                119849: [
                    [112], 256
                ],
                119850: [
                    [113], 256
                ],
                119851: [
                    [114], 256
                ],
                119852: [
                    [115], 256
                ],
                119853: [
                    [116], 256
                ],
                119854: [
                    [117], 256
                ],
                119855: [
                    [118], 256
                ],
                119856: [
                    [119], 256
                ],
                119857: [
                    [120], 256
                ],
                119858: [
                    [121], 256
                ],
                119859: [
                    [122], 256
                ],
                119860: [
                    [65], 256
                ],
                119861: [
                    [66], 256
                ],
                119862: [
                    [67], 256
                ],
                119863: [
                    [68], 256
                ],
                119864: [
                    [69], 256
                ],
                119865: [
                    [70], 256
                ],
                119866: [
                    [71], 256
                ],
                119867: [
                    [72], 256
                ],
                119868: [
                    [73], 256
                ],
                119869: [
                    [74], 256
                ],
                119870: [
                    [75], 256
                ],
                119871: [
                    [76], 256
                ],
                119872: [
                    [77], 256
                ],
                119873: [
                    [78], 256
                ],
                119874: [
                    [79], 256
                ],
                119875: [
                    [80], 256
                ],
                119876: [
                    [81], 256
                ],
                119877: [
                    [82], 256
                ],
                119878: [
                    [83], 256
                ],
                119879: [
                    [84], 256
                ],
                119880: [
                    [85], 256
                ],
                119881: [
                    [86], 256
                ],
                119882: [
                    [87], 256
                ],
                119883: [
                    [88], 256
                ],
                119884: [
                    [89], 256
                ],
                119885: [
                    [90], 256
                ],
                119886: [
                    [97], 256
                ],
                119887: [
                    [98], 256
                ],
                119888: [
                    [99], 256
                ],
                119889: [
                    [100], 256
                ],
                119890: [
                    [101], 256
                ],
                119891: [
                    [102], 256
                ],
                119892: [
                    [103], 256
                ],
                119894: [
                    [105], 256
                ],
                119895: [
                    [106], 256
                ],
                119896: [
                    [107], 256
                ],
                119897: [
                    [108], 256
                ],
                119898: [
                    [109], 256
                ],
                119899: [
                    [110], 256
                ],
                119900: [
                    [111], 256
                ],
                119901: [
                    [112], 256
                ],
                119902: [
                    [113], 256
                ],
                119903: [
                    [114], 256
                ],
                119904: [
                    [115], 256
                ],
                119905: [
                    [116], 256
                ],
                119906: [
                    [117], 256
                ],
                119907: [
                    [118], 256
                ],
                119908: [
                    [119], 256
                ],
                119909: [
                    [120], 256
                ],
                119910: [
                    [121], 256
                ],
                119911: [
                    [122], 256
                ],
                119912: [
                    [65], 256
                ],
                119913: [
                    [66], 256
                ],
                119914: [
                    [67], 256
                ],
                119915: [
                    [68], 256
                ],
                119916: [
                    [69], 256
                ],
                119917: [
                    [70], 256
                ],
                119918: [
                    [71], 256
                ],
                119919: [
                    [72], 256
                ],
                119920: [
                    [73], 256
                ],
                119921: [
                    [74], 256
                ],
                119922: [
                    [75], 256
                ],
                119923: [
                    [76], 256
                ],
                119924: [
                    [77], 256
                ],
                119925: [
                    [78], 256
                ],
                119926: [
                    [79], 256
                ],
                119927: [
                    [80], 256
                ],
                119928: [
                    [81], 256
                ],
                119929: [
                    [82], 256
                ],
                119930: [
                    [83], 256
                ],
                119931: [
                    [84], 256
                ],
                119932: [
                    [85], 256
                ],
                119933: [
                    [86], 256
                ],
                119934: [
                    [87], 256
                ],
                119935: [
                    [88], 256
                ],
                119936: [
                    [89], 256
                ],
                119937: [
                    [90], 256
                ],
                119938: [
                    [97], 256
                ],
                119939: [
                    [98], 256
                ],
                119940: [
                    [99], 256
                ],
                119941: [
                    [100], 256
                ],
                119942: [
                    [101], 256
                ],
                119943: [
                    [102], 256
                ],
                119944: [
                    [103], 256
                ],
                119945: [
                    [104], 256
                ],
                119946: [
                    [105], 256
                ],
                119947: [
                    [106], 256
                ],
                119948: [
                    [107], 256
                ],
                119949: [
                    [108], 256
                ],
                119950: [
                    [109], 256
                ],
                119951: [
                    [110], 256
                ],
                119952: [
                    [111], 256
                ],
                119953: [
                    [112], 256
                ],
                119954: [
                    [113], 256
                ],
                119955: [
                    [114], 256
                ],
                119956: [
                    [115], 256
                ],
                119957: [
                    [116], 256
                ],
                119958: [
                    [117], 256
                ],
                119959: [
                    [118], 256
                ],
                119960: [
                    [119], 256
                ],
                119961: [
                    [120], 256
                ],
                119962: [
                    [121], 256
                ],
                119963: [
                    [122], 256
                ],
                119964: [
                    [65], 256
                ],
                119966: [
                    [67], 256
                ],
                119967: [
                    [68], 256
                ],
                119970: [
                    [71], 256
                ],
                119973: [
                    [74], 256
                ],
                119974: [
                    [75], 256
                ],
                119977: [
                    [78], 256
                ],
                119978: [
                    [79], 256
                ],
                119979: [
                    [80], 256
                ],
                119980: [
                    [81], 256
                ],
                119982: [
                    [83], 256
                ],
                119983: [
                    [84], 256
                ],
                119984: [
                    [85], 256
                ],
                119985: [
                    [86], 256
                ],
                119986: [
                    [87], 256
                ],
                119987: [
                    [88], 256
                ],
                119988: [
                    [89], 256
                ],
                119989: [
                    [90], 256
                ],
                119990: [
                    [97], 256
                ],
                119991: [
                    [98], 256
                ],
                119992: [
                    [99], 256
                ],
                119993: [
                    [100], 256
                ],
                119995: [
                    [102], 256
                ],
                119997: [
                    [104], 256
                ],
                119998: [
                    [105], 256
                ],
                119999: [
                    [106], 256
                ],
                12e4: [
                    [107], 256
                ],
                120001: [
                    [108], 256
                ],
                120002: [
                    [109], 256
                ],
                120003: [
                    [110], 256
                ],
                120005: [
                    [112], 256
                ],
                120006: [
                    [113], 256
                ],
                120007: [
                    [114], 256
                ],
                120008: [
                    [115], 256
                ],
                120009: [
                    [116], 256
                ],
                120010: [
                    [117], 256
                ],
                120011: [
                    [118], 256
                ],
                120012: [
                    [119], 256
                ],
                120013: [
                    [120], 256
                ],
                120014: [
                    [121], 256
                ],
                120015: [
                    [122], 256
                ],
                120016: [
                    [65], 256
                ],
                120017: [
                    [66], 256
                ],
                120018: [
                    [67], 256
                ],
                120019: [
                    [68], 256
                ],
                120020: [
                    [69], 256
                ],
                120021: [
                    [70], 256
                ],
                120022: [
                    [71], 256
                ],
                120023: [
                    [72], 256
                ],
                120024: [
                    [73], 256
                ],
                120025: [
                    [74], 256
                ],
                120026: [
                    [75], 256
                ],
                120027: [
                    [76], 256
                ],
                120028: [
                    [77], 256
                ],
                120029: [
                    [78], 256
                ],
                120030: [
                    [79], 256
                ],
                120031: [
                    [80], 256
                ],
                120032: [
                    [81], 256
                ],
                120033: [
                    [82], 256
                ],
                120034: [
                    [83], 256
                ],
                120035: [
                    [84], 256
                ],
                120036: [
                    [85], 256
                ],
                120037: [
                    [86], 256
                ],
                120038: [
                    [87], 256
                ],
                120039: [
                    [88], 256
                ],
                120040: [
                    [89], 256
                ],
                120041: [
                    [90], 256
                ],
                120042: [
                    [97], 256
                ],
                120043: [
                    [98], 256
                ],
                120044: [
                    [99], 256
                ],
                120045: [
                    [100], 256
                ],
                120046: [
                    [101], 256
                ],
                120047: [
                    [102], 256
                ],
                120048: [
                    [103], 256
                ],
                120049: [
                    [104], 256
                ],
                120050: [
                    [105], 256
                ],
                120051: [
                    [106], 256
                ],
                120052: [
                    [107], 256
                ],
                120053: [
                    [108], 256
                ],
                120054: [
                    [109], 256
                ],
                120055: [
                    [110], 256
                ],
                120056: [
                    [111], 256
                ],
                120057: [
                    [112], 256
                ],
                120058: [
                    [113], 256
                ],
                120059: [
                    [114], 256
                ],
                120060: [
                    [115], 256
                ],
                120061: [
                    [116], 256
                ],
                120062: [
                    [117], 256
                ],
                120063: [
                    [118], 256
                ]
            },
            54528: {
                120064: [
                    [119], 256
                ],
                120065: [
                    [120], 256
                ],
                120066: [
                    [121], 256
                ],
                120067: [
                    [122], 256
                ],
                120068: [
                    [65], 256
                ],
                120069: [
                    [66], 256
                ],
                120071: [
                    [68], 256
                ],
                120072: [
                    [69], 256
                ],
                120073: [
                    [70], 256
                ],
                120074: [
                    [71], 256
                ],
                120077: [
                    [74], 256
                ],
                120078: [
                    [75], 256
                ],
                120079: [
                    [76], 256
                ],
                120080: [
                    [77], 256
                ],
                120081: [
                    [78], 256
                ],
                120082: [
                    [79], 256
                ],
                120083: [
                    [80], 256
                ],
                120084: [
                    [81], 256
                ],
                120086: [
                    [83], 256
                ],
                120087: [
                    [84], 256
                ],
                120088: [
                    [85], 256
                ],
                120089: [
                    [86], 256
                ],
                120090: [
                    [87], 256
                ],
                120091: [
                    [88], 256
                ],
                120092: [
                    [89], 256
                ],
                120094: [
                    [97], 256
                ],
                120095: [
                    [98], 256
                ],
                120096: [
                    [99], 256
                ],
                120097: [
                    [100], 256
                ],
                120098: [
                    [101], 256
                ],
                120099: [
                    [102], 256
                ],
                120100: [
                    [103], 256
                ],
                120101: [
                    [104], 256
                ],
                120102: [
                    [105], 256
                ],
                120103: [
                    [106], 256
                ],
                120104: [
                    [107], 256
                ],
                120105: [
                    [108], 256
                ],
                120106: [
                    [109], 256
                ],
                120107: [
                    [110], 256
                ],
                120108: [
                    [111], 256
                ],
                120109: [
                    [112], 256
                ],
                120110: [
                    [113], 256
                ],
                120111: [
                    [114], 256
                ],
                120112: [
                    [115], 256
                ],
                120113: [
                    [116], 256
                ],
                120114: [
                    [117], 256
                ],
                120115: [
                    [118], 256
                ],
                120116: [
                    [119], 256
                ],
                120117: [
                    [120], 256
                ],
                120118: [
                    [121], 256
                ],
                120119: [
                    [122], 256
                ],
                120120: [
                    [65], 256
                ],
                120121: [
                    [66], 256
                ],
                120123: [
                    [68], 256
                ],
                120124: [
                    [69], 256
                ],
                120125: [
                    [70], 256
                ],
                120126: [
                    [71], 256
                ],
                120128: [
                    [73], 256
                ],
                120129: [
                    [74], 256
                ],
                120130: [
                    [75], 256
                ],
                120131: [
                    [76], 256
                ],
                120132: [
                    [77], 256
                ],
                120134: [
                    [79], 256
                ],
                120138: [
                    [83], 256
                ],
                120139: [
                    [84], 256
                ],
                120140: [
                    [85], 256
                ],
                120141: [
                    [86], 256
                ],
                120142: [
                    [87], 256
                ],
                120143: [
                    [88], 256
                ],
                120144: [
                    [89], 256
                ],
                120146: [
                    [97], 256
                ],
                120147: [
                    [98], 256
                ],
                120148: [
                    [99], 256
                ],
                120149: [
                    [100], 256
                ],
                120150: [
                    [101], 256
                ],
                120151: [
                    [102], 256
                ],
                120152: [
                    [103], 256
                ],
                120153: [
                    [104], 256
                ],
                120154: [
                    [105], 256
                ],
                120155: [
                    [106], 256
                ],
                120156: [
                    [107], 256
                ],
                120157: [
                    [108], 256
                ],
                120158: [
                    [109], 256
                ],
                120159: [
                    [110], 256
                ],
                120160: [
                    [111], 256
                ],
                120161: [
                    [112], 256
                ],
                120162: [
                    [113], 256
                ],
                120163: [
                    [114], 256
                ],
                120164: [
                    [115], 256
                ],
                120165: [
                    [116], 256
                ],
                120166: [
                    [117], 256
                ],
                120167: [
                    [118], 256
                ],
                120168: [
                    [119], 256
                ],
                120169: [
                    [120], 256
                ],
                120170: [
                    [121], 256
                ],
                120171: [
                    [122], 256
                ],
                120172: [
                    [65], 256
                ],
                120173: [
                    [66], 256
                ],
                120174: [
                    [67], 256
                ],
                120175: [
                    [68], 256
                ],
                120176: [
                    [69], 256
                ],
                120177: [
                    [70], 256
                ],
                120178: [
                    [71], 256
                ],
                120179: [
                    [72], 256
                ],
                120180: [
                    [73], 256
                ],
                120181: [
                    [74], 256
                ],
                120182: [
                    [75], 256
                ],
                120183: [
                    [76], 256
                ],
                120184: [
                    [77], 256
                ],
                120185: [
                    [78], 256
                ],
                120186: [
                    [79], 256
                ],
                120187: [
                    [80], 256
                ],
                120188: [
                    [81], 256
                ],
                120189: [
                    [82], 256
                ],
                120190: [
                    [83], 256
                ],
                120191: [
                    [84], 256
                ],
                120192: [
                    [85], 256
                ],
                120193: [
                    [86], 256
                ],
                120194: [
                    [87], 256
                ],
                120195: [
                    [88], 256
                ],
                120196: [
                    [89], 256
                ],
                120197: [
                    [90], 256
                ],
                120198: [
                    [97], 256
                ],
                120199: [
                    [98], 256
                ],
                120200: [
                    [99], 256
                ],
                120201: [
                    [100], 256
                ],
                120202: [
                    [101], 256
                ],
                120203: [
                    [102], 256
                ],
                120204: [
                    [103], 256
                ],
                120205: [
                    [104], 256
                ],
                120206: [
                    [105], 256
                ],
                120207: [
                    [106], 256
                ],
                120208: [
                    [107], 256
                ],
                120209: [
                    [108], 256
                ],
                120210: [
                    [109], 256
                ],
                120211: [
                    [110], 256
                ],
                120212: [
                    [111], 256
                ],
                120213: [
                    [112], 256
                ],
                120214: [
                    [113], 256
                ],
                120215: [
                    [114], 256
                ],
                120216: [
                    [115], 256
                ],
                120217: [
                    [116], 256
                ],
                120218: [
                    [117], 256
                ],
                120219: [
                    [118], 256
                ],
                120220: [
                    [119], 256
                ],
                120221: [
                    [120], 256
                ],
                120222: [
                    [121], 256
                ],
                120223: [
                    [122], 256
                ],
                120224: [
                    [65], 256
                ],
                120225: [
                    [66], 256
                ],
                120226: [
                    [67], 256
                ],
                120227: [
                    [68], 256
                ],
                120228: [
                    [69], 256
                ],
                120229: [
                    [70], 256
                ],
                120230: [
                    [71], 256
                ],
                120231: [
                    [72], 256
                ],
                120232: [
                    [73], 256
                ],
                120233: [
                    [74], 256
                ],
                120234: [
                    [75], 256
                ],
                120235: [
                    [76], 256
                ],
                120236: [
                    [77], 256
                ],
                120237: [
                    [78], 256
                ],
                120238: [
                    [79], 256
                ],
                120239: [
                    [80], 256
                ],
                120240: [
                    [81], 256
                ],
                120241: [
                    [82], 256
                ],
                120242: [
                    [83], 256
                ],
                120243: [
                    [84], 256
                ],
                120244: [
                    [85], 256
                ],
                120245: [
                    [86], 256
                ],
                120246: [
                    [87], 256
                ],
                120247: [
                    [88], 256
                ],
                120248: [
                    [89], 256
                ],
                120249: [
                    [90], 256
                ],
                120250: [
                    [97], 256
                ],
                120251: [
                    [98], 256
                ],
                120252: [
                    [99], 256
                ],
                120253: [
                    [100], 256
                ],
                120254: [
                    [101], 256
                ],
                120255: [
                    [102], 256
                ],
                120256: [
                    [103], 256
                ],
                120257: [
                    [104], 256
                ],
                120258: [
                    [105], 256
                ],
                120259: [
                    [106], 256
                ],
                120260: [
                    [107], 256
                ],
                120261: [
                    [108], 256
                ],
                120262: [
                    [109], 256
                ],
                120263: [
                    [110], 256
                ],
                120264: [
                    [111], 256
                ],
                120265: [
                    [112], 256
                ],
                120266: [
                    [113], 256
                ],
                120267: [
                    [114], 256
                ],
                120268: [
                    [115], 256
                ],
                120269: [
                    [116], 256
                ],
                120270: [
                    [117], 256
                ],
                120271: [
                    [118], 256
                ],
                120272: [
                    [119], 256
                ],
                120273: [
                    [120], 256
                ],
                120274: [
                    [121], 256
                ],
                120275: [
                    [122], 256
                ],
                120276: [
                    [65], 256
                ],
                120277: [
                    [66], 256
                ],
                120278: [
                    [67], 256
                ],
                120279: [
                    [68], 256
                ],
                120280: [
                    [69], 256
                ],
                120281: [
                    [70], 256
                ],
                120282: [
                    [71], 256
                ],
                120283: [
                    [72], 256
                ],
                120284: [
                    [73], 256
                ],
                120285: [
                    [74], 256
                ],
                120286: [
                    [75], 256
                ],
                120287: [
                    [76], 256
                ],
                120288: [
                    [77], 256
                ],
                120289: [
                    [78], 256
                ],
                120290: [
                    [79], 256
                ],
                120291: [
                    [80], 256
                ],
                120292: [
                    [81], 256
                ],
                120293: [
                    [82], 256
                ],
                120294: [
                    [83], 256
                ],
                120295: [
                    [84], 256
                ],
                120296: [
                    [85], 256
                ],
                120297: [
                    [86], 256
                ],
                120298: [
                    [87], 256
                ],
                120299: [
                    [88], 256
                ],
                120300: [
                    [89], 256
                ],
                120301: [
                    [90], 256
                ],
                120302: [
                    [97], 256
                ],
                120303: [
                    [98], 256
                ],
                120304: [
                    [99], 256
                ],
                120305: [
                    [100], 256
                ],
                120306: [
                    [101], 256
                ],
                120307: [
                    [102], 256
                ],
                120308: [
                    [103], 256
                ],
                120309: [
                    [104], 256
                ],
                120310: [
                    [105], 256
                ],
                120311: [
                    [106], 256
                ],
                120312: [
                    [107], 256
                ],
                120313: [
                    [108], 256
                ],
                120314: [
                    [109], 256
                ],
                120315: [
                    [110], 256
                ],
                120316: [
                    [111], 256
                ],
                120317: [
                    [112], 256
                ],
                120318: [
                    [113], 256
                ],
                120319: [
                    [114], 256
                ]
            },
            54784: {
                120320: [
                    [115], 256
                ],
                120321: [
                    [116], 256
                ],
                120322: [
                    [117], 256
                ],
                120323: [
                    [118], 256
                ],
                120324: [
                    [119], 256
                ],
                120325: [
                    [120], 256
                ],
                120326: [
                    [121], 256
                ],
                120327: [
                    [122], 256
                ],
                120328: [
                    [65], 256
                ],
                120329: [
                    [66], 256
                ],
                120330: [
                    [67], 256
                ],
                120331: [
                    [68], 256
                ],
                120332: [
                    [69], 256
                ],
                120333: [
                    [70], 256
                ],
                120334: [
                    [71], 256
                ],
                120335: [
                    [72], 256
                ],
                120336: [
                    [73], 256
                ],
                120337: [
                    [74], 256
                ],
                120338: [
                    [75], 256
                ],
                120339: [
                    [76], 256
                ],
                120340: [
                    [77], 256
                ],
                120341: [
                    [78], 256
                ],
                120342: [
                    [79], 256
                ],
                120343: [
                    [80], 256
                ],
                120344: [
                    [81], 256
                ],
                120345: [
                    [82], 256
                ],
                120346: [
                    [83], 256
                ],
                120347: [
                    [84], 256
                ],
                120348: [
                    [85], 256
                ],
                120349: [
                    [86], 256
                ],
                120350: [
                    [87], 256
                ],
                120351: [
                    [88], 256
                ],
                120352: [
                    [89], 256
                ],
                120353: [
                    [90], 256
                ],
                120354: [
                    [97], 256
                ],
                120355: [
                    [98], 256
                ],
                120356: [
                    [99], 256
                ],
                120357: [
                    [100], 256
                ],
                120358: [
                    [101], 256
                ],
                120359: [
                    [102], 256
                ],
                120360: [
                    [103], 256
                ],
                120361: [
                    [104], 256
                ],
                120362: [
                    [105], 256
                ],
                120363: [
                    [106], 256
                ],
                120364: [
                    [107], 256
                ],
                120365: [
                    [108], 256
                ],
                120366: [
                    [109], 256
                ],
                120367: [
                    [110], 256
                ],
                120368: [
                    [111], 256
                ],
                120369: [
                    [112], 256
                ],
                120370: [
                    [113], 256
                ],
                120371: [
                    [114], 256
                ],
                120372: [
                    [115], 256
                ],
                120373: [
                    [116], 256
                ],
                120374: [
                    [117], 256
                ],
                120375: [
                    [118], 256
                ],
                120376: [
                    [119], 256
                ],
                120377: [
                    [120], 256
                ],
                120378: [
                    [121], 256
                ],
                120379: [
                    [122], 256
                ],
                120380: [
                    [65], 256
                ],
                120381: [
                    [66], 256
                ],
                120382: [
                    [67], 256
                ],
                120383: [
                    [68], 256
                ],
                120384: [
                    [69], 256
                ],
                120385: [
                    [70], 256
                ],
                120386: [
                    [71], 256
                ],
                120387: [
                    [72], 256
                ],
                120388: [
                    [73], 256
                ],
                120389: [
                    [74], 256
                ],
                120390: [
                    [75], 256
                ],
                120391: [
                    [76], 256
                ],
                120392: [
                    [77], 256
                ],
                120393: [
                    [78], 256
                ],
                120394: [
                    [79], 256
                ],
                120395: [
                    [80], 256
                ],
                120396: [
                    [81], 256
                ],
                120397: [
                    [82], 256
                ],
                120398: [
                    [83], 256
                ],
                120399: [
                    [84], 256
                ],
                120400: [
                    [85], 256
                ],
                120401: [
                    [86], 256
                ],
                120402: [
                    [87], 256
                ],
                120403: [
                    [88], 256
                ],
                120404: [
                    [89], 256
                ],
                120405: [
                    [90], 256
                ],
                120406: [
                    [97], 256
                ],
                120407: [
                    [98], 256
                ],
                120408: [
                    [99], 256
                ],
                120409: [
                    [100], 256
                ],
                120410: [
                    [101], 256
                ],
                120411: [
                    [102], 256
                ],
                120412: [
                    [103], 256
                ],
                120413: [
                    [104], 256
                ],
                120414: [
                    [105], 256
                ],
                120415: [
                    [106], 256
                ],
                120416: [
                    [107], 256
                ],
                120417: [
                    [108], 256
                ],
                120418: [
                    [109], 256
                ],
                120419: [
                    [110], 256
                ],
                120420: [
                    [111], 256
                ],
                120421: [
                    [112], 256
                ],
                120422: [
                    [113], 256
                ],
                120423: [
                    [114], 256
                ],
                120424: [
                    [115], 256
                ],
                120425: [
                    [116], 256
                ],
                120426: [
                    [117], 256
                ],
                120427: [
                    [118], 256
                ],
                120428: [
                    [119], 256
                ],
                120429: [
                    [120], 256
                ],
                120430: [
                    [121], 256
                ],
                120431: [
                    [122], 256
                ],
                120432: [
                    [65], 256
                ],
                120433: [
                    [66], 256
                ],
                120434: [
                    [67], 256
                ],
                120435: [
                    [68], 256
                ],
                120436: [
                    [69], 256
                ],
                120437: [
                    [70], 256
                ],
                120438: [
                    [71], 256
                ],
                120439: [
                    [72], 256
                ],
                120440: [
                    [73], 256
                ],
                120441: [
                    [74], 256
                ],
                120442: [
                    [75], 256
                ],
                120443: [
                    [76], 256
                ],
                120444: [
                    [77], 256
                ],
                120445: [
                    [78], 256
                ],
                120446: [
                    [79], 256
                ],
                120447: [
                    [80], 256
                ],
                120448: [
                    [81], 256
                ],
                120449: [
                    [82], 256
                ],
                120450: [
                    [83], 256
                ],
                120451: [
                    [84], 256
                ],
                120452: [
                    [85], 256
                ],
                120453: [
                    [86], 256
                ],
                120454: [
                    [87], 256
                ],
                120455: [
                    [88], 256
                ],
                120456: [
                    [89], 256
                ],
                120457: [
                    [90], 256
                ],
                120458: [
                    [97], 256
                ],
                120459: [
                    [98], 256
                ],
                120460: [
                    [99], 256
                ],
                120461: [
                    [100], 256
                ],
                120462: [
                    [101], 256
                ],
                120463: [
                    [102], 256
                ],
                120464: [
                    [103], 256
                ],
                120465: [
                    [104], 256
                ],
                120466: [
                    [105], 256
                ],
                120467: [
                    [106], 256
                ],
                120468: [
                    [107], 256
                ],
                120469: [
                    [108], 256
                ],
                120470: [
                    [109], 256
                ],
                120471: [
                    [110], 256
                ],
                120472: [
                    [111], 256
                ],
                120473: [
                    [112], 256
                ],
                120474: [
                    [113], 256
                ],
                120475: [
                    [114], 256
                ],
                120476: [
                    [115], 256
                ],
                120477: [
                    [116], 256
                ],
                120478: [
                    [117], 256
                ],
                120479: [
                    [118], 256
                ],
                120480: [
                    [119], 256
                ],
                120481: [
                    [120], 256
                ],
                120482: [
                    [121], 256
                ],
                120483: [
                    [122], 256
                ],
                120484: [
                    [305], 256
                ],
                120485: [
                    [567], 256
                ],
                120488: [
                    [913], 256
                ],
                120489: [
                    [914], 256
                ],
                120490: [
                    [915], 256
                ],
                120491: [
                    [916], 256
                ],
                120492: [
                    [917], 256
                ],
                120493: [
                    [918], 256
                ],
                120494: [
                    [919], 256
                ],
                120495: [
                    [920], 256
                ],
                120496: [
                    [921], 256
                ],
                120497: [
                    [922], 256
                ],
                120498: [
                    [923], 256
                ],
                120499: [
                    [924], 256
                ],
                120500: [
                    [925], 256
                ],
                120501: [
                    [926], 256
                ],
                120502: [
                    [927], 256
                ],
                120503: [
                    [928], 256
                ],
                120504: [
                    [929], 256
                ],
                120505: [
                    [1012], 256
                ],
                120506: [
                    [931], 256
                ],
                120507: [
                    [932], 256
                ],
                120508: [
                    [933], 256
                ],
                120509: [
                    [934], 256
                ],
                120510: [
                    [935], 256
                ],
                120511: [
                    [936], 256
                ],
                120512: [
                    [937], 256
                ],
                120513: [
                    [8711], 256
                ],
                120514: [
                    [945], 256
                ],
                120515: [
                    [946], 256
                ],
                120516: [
                    [947], 256
                ],
                120517: [
                    [948], 256
                ],
                120518: [
                    [949], 256
                ],
                120519: [
                    [950], 256
                ],
                120520: [
                    [951], 256
                ],
                120521: [
                    [952], 256
                ],
                120522: [
                    [953], 256
                ],
                120523: [
                    [954], 256
                ],
                120524: [
                    [955], 256
                ],
                120525: [
                    [956], 256
                ],
                120526: [
                    [957], 256
                ],
                120527: [
                    [958], 256
                ],
                120528: [
                    [959], 256
                ],
                120529: [
                    [960], 256
                ],
                120530: [
                    [961], 256
                ],
                120531: [
                    [962], 256
                ],
                120532: [
                    [963], 256
                ],
                120533: [
                    [964], 256
                ],
                120534: [
                    [965], 256
                ],
                120535: [
                    [966], 256
                ],
                120536: [
                    [967], 256
                ],
                120537: [
                    [968], 256
                ],
                120538: [
                    [969], 256
                ],
                120539: [
                    [8706], 256
                ],
                120540: [
                    [1013], 256
                ],
                120541: [
                    [977], 256
                ],
                120542: [
                    [1008], 256
                ],
                120543: [
                    [981], 256
                ],
                120544: [
                    [1009], 256
                ],
                120545: [
                    [982], 256
                ],
                120546: [
                    [913], 256
                ],
                120547: [
                    [914], 256
                ],
                120548: [
                    [915], 256
                ],
                120549: [
                    [916], 256
                ],
                120550: [
                    [917], 256
                ],
                120551: [
                    [918], 256
                ],
                120552: [
                    [919], 256
                ],
                120553: [
                    [920], 256
                ],
                120554: [
                    [921], 256
                ],
                120555: [
                    [922], 256
                ],
                120556: [
                    [923], 256
                ],
                120557: [
                    [924], 256
                ],
                120558: [
                    [925], 256
                ],
                120559: [
                    [926], 256
                ],
                120560: [
                    [927], 256
                ],
                120561: [
                    [928], 256
                ],
                120562: [
                    [929], 256
                ],
                120563: [
                    [1012], 256
                ],
                120564: [
                    [931], 256
                ],
                120565: [
                    [932], 256
                ],
                120566: [
                    [933], 256
                ],
                120567: [
                    [934], 256
                ],
                120568: [
                    [935], 256
                ],
                120569: [
                    [936], 256
                ],
                120570: [
                    [937], 256
                ],
                120571: [
                    [8711], 256
                ],
                120572: [
                    [945], 256
                ],
                120573: [
                    [946], 256
                ],
                120574: [
                    [947], 256
                ],
                120575: [
                    [948], 256
                ]
            },
            55040: {
                120576: [
                    [949], 256
                ],
                120577: [
                    [950], 256
                ],
                120578: [
                    [951], 256
                ],
                120579: [
                    [952], 256
                ],
                120580: [
                    [953], 256
                ],
                120581: [
                    [954], 256
                ],
                120582: [
                    [955], 256
                ],
                120583: [
                    [956], 256
                ],
                120584: [
                    [957], 256
                ],
                120585: [
                    [958], 256
                ],
                120586: [
                    [959], 256
                ],
                120587: [
                    [960], 256
                ],
                120588: [
                    [961], 256
                ],
                120589: [
                    [962], 256
                ],
                120590: [
                    [963], 256
                ],
                120591: [
                    [964], 256
                ],
                120592: [
                    [965], 256
                ],
                120593: [
                    [966], 256
                ],
                120594: [
                    [967], 256
                ],
                120595: [
                    [968], 256
                ],
                120596: [
                    [969], 256
                ],
                120597: [
                    [8706], 256
                ],
                120598: [
                    [1013], 256
                ],
                120599: [
                    [977], 256
                ],
                120600: [
                    [1008], 256
                ],
                120601: [
                    [981], 256
                ],
                120602: [
                    [1009], 256
                ],
                120603: [
                    [982], 256
                ],
                120604: [
                    [913], 256
                ],
                120605: [
                    [914], 256
                ],
                120606: [
                    [915], 256
                ],
                120607: [
                    [916], 256
                ],
                120608: [
                    [917], 256
                ],
                120609: [
                    [918], 256
                ],
                120610: [
                    [919], 256
                ],
                120611: [
                    [920], 256
                ],
                120612: [
                    [921], 256
                ],
                120613: [
                    [922], 256
                ],
                120614: [
                    [923], 256
                ],
                120615: [
                    [924], 256
                ],
                120616: [
                    [925], 256
                ],
                120617: [
                    [926], 256
                ],
                120618: [
                    [927], 256
                ],
                120619: [
                    [928], 256
                ],
                120620: [
                    [929], 256
                ],
                120621: [
                    [1012], 256
                ],
                120622: [
                    [931], 256
                ],
                120623: [
                    [932], 256
                ],
                120624: [
                    [933], 256
                ],
                120625: [
                    [934], 256
                ],
                120626: [
                    [935], 256
                ],
                120627: [
                    [936], 256
                ],
                120628: [
                    [937], 256
                ],
                120629: [
                    [8711], 256
                ],
                120630: [
                    [945], 256
                ],
                120631: [
                    [946], 256
                ],
                120632: [
                    [947], 256
                ],
                120633: [
                    [948], 256
                ],
                120634: [
                    [949], 256
                ],
                120635: [
                    [950], 256
                ],
                120636: [
                    [951], 256
                ],
                120637: [
                    [952], 256
                ],
                120638: [
                    [953], 256
                ],
                120639: [
                    [954], 256
                ],
                120640: [
                    [955], 256
                ],
                120641: [
                    [956], 256
                ],
                120642: [
                    [957], 256
                ],
                120643: [
                    [958], 256
                ],
                120644: [
                    [959], 256
                ],
                120645: [
                    [960], 256
                ],
                120646: [
                    [961], 256
                ],
                120647: [
                    [962], 256
                ],
                120648: [
                    [963], 256
                ],
                120649: [
                    [964], 256
                ],
                120650: [
                    [965], 256
                ],
                120651: [
                    [966], 256
                ],
                120652: [
                    [967], 256
                ],
                120653: [
                    [968], 256
                ],
                120654: [
                    [969], 256
                ],
                120655: [
                    [8706], 256
                ],
                120656: [
                    [1013], 256
                ],
                120657: [
                    [977], 256
                ],
                120658: [
                    [1008], 256
                ],
                120659: [
                    [981], 256
                ],
                120660: [
                    [1009], 256
                ],
                120661: [
                    [982], 256
                ],
                120662: [
                    [913], 256
                ],
                120663: [
                    [914], 256
                ],
                120664: [
                    [915], 256
                ],
                120665: [
                    [916], 256
                ],
                120666: [
                    [917], 256
                ],
                120667: [
                    [918], 256
                ],
                120668: [
                    [919], 256
                ],
                120669: [
                    [920], 256
                ],
                120670: [
                    [921], 256
                ],
                120671: [
                    [922], 256
                ],
                120672: [
                    [923], 256
                ],
                120673: [
                    [924], 256
                ],
                120674: [
                    [925], 256
                ],
                120675: [
                    [926], 256
                ],
                120676: [
                    [927], 256
                ],
                120677: [
                    [928], 256
                ],
                120678: [
                    [929], 256
                ],
                120679: [
                    [1012], 256
                ],
                120680: [
                    [931], 256
                ],
                120681: [
                    [932], 256
                ],
                120682: [
                    [933], 256
                ],
                120683: [
                    [934], 256
                ],
                120684: [
                    [935], 256
                ],
                120685: [
                    [936], 256
                ],
                120686: [
                    [937], 256
                ],
                120687: [
                    [8711], 256
                ],
                120688: [
                    [945], 256
                ],
                120689: [
                    [946], 256
                ],
                120690: [
                    [947], 256
                ],
                120691: [
                    [948], 256
                ],
                120692: [
                    [949], 256
                ],
                120693: [
                    [950], 256
                ],
                120694: [
                    [951], 256
                ],
                120695: [
                    [952], 256
                ],
                120696: [
                    [953], 256
                ],
                120697: [
                    [954], 256
                ],
                120698: [
                    [955], 256
                ],
                120699: [
                    [956], 256
                ],
                120700: [
                    [957], 256
                ],
                120701: [
                    [958], 256
                ],
                120702: [
                    [959], 256
                ],
                120703: [
                    [960], 256
                ],
                120704: [
                    [961], 256
                ],
                120705: [
                    [962], 256
                ],
                120706: [
                    [963], 256
                ],
                120707: [
                    [964], 256
                ],
                120708: [
                    [965], 256
                ],
                120709: [
                    [966], 256
                ],
                120710: [
                    [967], 256
                ],
                120711: [
                    [968], 256
                ],
                120712: [
                    [969], 256
                ],
                120713: [
                    [8706], 256
                ],
                120714: [
                    [1013], 256
                ],
                120715: [
                    [977], 256
                ],
                120716: [
                    [1008], 256
                ],
                120717: [
                    [981], 256
                ],
                120718: [
                    [1009], 256
                ],
                120719: [
                    [982], 256
                ],
                120720: [
                    [913], 256
                ],
                120721: [
                    [914], 256
                ],
                120722: [
                    [915], 256
                ],
                120723: [
                    [916], 256
                ],
                120724: [
                    [917], 256
                ],
                120725: [
                    [918], 256
                ],
                120726: [
                    [919], 256
                ],
                120727: [
                    [920], 256
                ],
                120728: [
                    [921], 256
                ],
                120729: [
                    [922], 256
                ],
                120730: [
                    [923], 256
                ],
                120731: [
                    [924], 256
                ],
                120732: [
                    [925], 256
                ],
                120733: [
                    [926], 256
                ],
                120734: [
                    [927], 256
                ],
                120735: [
                    [928], 256
                ],
                120736: [
                    [929], 256
                ],
                120737: [
                    [1012], 256
                ],
                120738: [
                    [931], 256
                ],
                120739: [
                    [932], 256
                ],
                120740: [
                    [933], 256
                ],
                120741: [
                    [934], 256
                ],
                120742: [
                    [935], 256
                ],
                120743: [
                    [936], 256
                ],
                120744: [
                    [937], 256
                ],
                120745: [
                    [8711], 256
                ],
                120746: [
                    [945], 256
                ],
                120747: [
                    [946], 256
                ],
                120748: [
                    [947], 256
                ],
                120749: [
                    [948], 256
                ],
                120750: [
                    [949], 256
                ],
                120751: [
                    [950], 256
                ],
                120752: [
                    [951], 256
                ],
                120753: [
                    [952], 256
                ],
                120754: [
                    [953], 256
                ],
                120755: [
                    [954], 256
                ],
                120756: [
                    [955], 256
                ],
                120757: [
                    [956], 256
                ],
                120758: [
                    [957], 256
                ],
                120759: [
                    [958], 256
                ],
                120760: [
                    [959], 256
                ],
                120761: [
                    [960], 256
                ],
                120762: [
                    [961], 256
                ],
                120763: [
                    [962], 256
                ],
                120764: [
                    [963], 256
                ],
                120765: [
                    [964], 256
                ],
                120766: [
                    [965], 256
                ],
                120767: [
                    [966], 256
                ],
                120768: [
                    [967], 256
                ],
                120769: [
                    [968], 256
                ],
                120770: [
                    [969], 256
                ],
                120771: [
                    [8706], 256
                ],
                120772: [
                    [1013], 256
                ],
                120773: [
                    [977], 256
                ],
                120774: [
                    [1008], 256
                ],
                120775: [
                    [981], 256
                ],
                120776: [
                    [1009], 256
                ],
                120777: [
                    [982], 256
                ],
                120778: [
                    [988], 256
                ],
                120779: [
                    [989], 256
                ],
                120782: [
                    [48], 256
                ],
                120783: [
                    [49], 256
                ],
                120784: [
                    [50], 256
                ],
                120785: [
                    [51], 256
                ],
                120786: [
                    [52], 256
                ],
                120787: [
                    [53], 256
                ],
                120788: [
                    [54], 256
                ],
                120789: [
                    [55], 256
                ],
                120790: [
                    [56], 256
                ],
                120791: [
                    [57], 256
                ],
                120792: [
                    [48], 256
                ],
                120793: [
                    [49], 256
                ],
                120794: [
                    [50], 256
                ],
                120795: [
                    [51], 256
                ],
                120796: [
                    [52], 256
                ],
                120797: [
                    [53], 256
                ],
                120798: [
                    [54], 256
                ],
                120799: [
                    [55], 256
                ],
                120800: [
                    [56], 256
                ],
                120801: [
                    [57], 256
                ],
                120802: [
                    [48], 256
                ],
                120803: [
                    [49], 256
                ],
                120804: [
                    [50], 256
                ],
                120805: [
                    [51], 256
                ],
                120806: [
                    [52], 256
                ],
                120807: [
                    [53], 256
                ],
                120808: [
                    [54], 256
                ],
                120809: [
                    [55], 256
                ],
                120810: [
                    [56], 256
                ],
                120811: [
                    [57], 256
                ],
                120812: [
                    [48], 256
                ],
                120813: [
                    [49], 256
                ],
                120814: [
                    [50], 256
                ],
                120815: [
                    [51], 256
                ],
                120816: [
                    [52], 256
                ],
                120817: [
                    [53], 256
                ],
                120818: [
                    [54], 256
                ],
                120819: [
                    [55], 256
                ],
                120820: [
                    [56], 256
                ],
                120821: [
                    [57], 256
                ],
                120822: [
                    [48], 256
                ],
                120823: [
                    [49], 256
                ],
                120824: [
                    [50], 256
                ],
                120825: [
                    [51], 256
                ],
                120826: [
                    [52], 256
                ],
                120827: [
                    [53], 256
                ],
                120828: [
                    [54], 256
                ],
                120829: [
                    [55], 256
                ],
                120830: [
                    [56], 256
                ],
                120831: [
                    [57], 256
                ]
            },
            59392: {
                125136: [, 220],
                125137: [, 220],
                125138: [, 220],
                125139: [, 220],
                125140: [, 220],
                125141: [, 220],
                125142: [, 220]
            },
            60928: {
                126464: [
                    [1575], 256
                ],
                126465: [
                    [1576], 256
                ],
                126466: [
                    [1580], 256
                ],
                126467: [
                    [1583], 256
                ],
                126469: [
                    [1608], 256
                ],
                126470: [
                    [1586], 256
                ],
                126471: [
                    [1581], 256
                ],
                126472: [
                    [1591], 256
                ],
                126473: [
                    [1610], 256
                ],
                126474: [
                    [1603], 256
                ],
                126475: [
                    [1604], 256
                ],
                126476: [
                    [1605], 256
                ],
                126477: [
                    [1606], 256
                ],
                126478: [
                    [1587], 256
                ],
                126479: [
                    [1593], 256
                ],
                126480: [
                    [1601], 256
                ],
                126481: [
                    [1589], 256
                ],
                126482: [
                    [1602], 256
                ],
                126483: [
                    [1585], 256
                ],
                126484: [
                    [1588], 256
                ],
                126485: [
                    [1578], 256
                ],
                126486: [
                    [1579], 256
                ],
                126487: [
                    [1582], 256
                ],
                126488: [
                    [1584], 256
                ],
                126489: [
                    [1590], 256
                ],
                126490: [
                    [1592], 256
                ],
                126491: [
                    [1594], 256
                ],
                126492: [
                    [1646], 256
                ],
                126493: [
                    [1722], 256
                ],
                126494: [
                    [1697], 256
                ],
                126495: [
                    [1647], 256
                ],
                126497: [
                    [1576], 256
                ],
                126498: [
                    [1580], 256
                ],
                126500: [
                    [1607], 256
                ],
                126503: [
                    [1581], 256
                ],
                126505: [
                    [1610], 256
                ],
                126506: [
                    [1603], 256
                ],
                126507: [
                    [1604], 256
                ],
                126508: [
                    [1605], 256
                ],
                126509: [
                    [1606], 256
                ],
                126510: [
                    [1587], 256
                ],
                126511: [
                    [1593], 256
                ],
                126512: [
                    [1601], 256
                ],
                126513: [
                    [1589], 256
                ],
                126514: [
                    [1602], 256
                ],
                126516: [
                    [1588], 256
                ],
                126517: [
                    [1578], 256
                ],
                126518: [
                    [1579], 256
                ],
                126519: [
                    [1582], 256
                ],
                126521: [
                    [1590], 256
                ],
                126523: [
                    [1594], 256
                ],
                126530: [
                    [1580], 256
                ],
                126535: [
                    [1581], 256
                ],
                126537: [
                    [1610], 256
                ],
                126539: [
                    [1604], 256
                ],
                126541: [
                    [1606], 256
                ],
                126542: [
                    [1587], 256
                ],
                126543: [
                    [1593], 256
                ],
                126545: [
                    [1589], 256
                ],
                126546: [
                    [1602], 256
                ],
                126548: [
                    [1588], 256
                ],
                126551: [
                    [1582], 256
                ],
                126553: [
                    [1590], 256
                ],
                126555: [
                    [1594], 256
                ],
                126557: [
                    [1722], 256
                ],
                126559: [
                    [1647], 256
                ],
                126561: [
                    [1576], 256
                ],
                126562: [
                    [1580], 256
                ],
                126564: [
                    [1607], 256
                ],
                126567: [
                    [1581], 256
                ],
                126568: [
                    [1591], 256
                ],
                126569: [
                    [1610], 256
                ],
                126570: [
                    [1603], 256
                ],
                126572: [
                    [1605], 256
                ],
                126573: [
                    [1606], 256
                ],
                126574: [
                    [1587], 256
                ],
                126575: [
                    [1593], 256
                ],
                126576: [
                    [1601], 256
                ],
                126577: [
                    [1589], 256
                ],
                126578: [
                    [1602], 256
                ],
                126580: [
                    [1588], 256
                ],
                126581: [
                    [1578], 256
                ],
                126582: [
                    [1579], 256
                ],
                126583: [
                    [1582], 256
                ],
                126585: [
                    [1590], 256
                ],
                126586: [
                    [1592], 256
                ],
                126587: [
                    [1594], 256
                ],
                126588: [
                    [1646], 256
                ],
                126590: [
                    [1697], 256
                ],
                126592: [
                    [1575], 256
                ],
                126593: [
                    [1576], 256
                ],
                126594: [
                    [1580], 256
                ],
                126595: [
                    [1583], 256
                ],
                126596: [
                    [1607], 256
                ],
                126597: [
                    [1608], 256
                ],
                126598: [
                    [1586], 256
                ],
                126599: [
                    [1581], 256
                ],
                126600: [
                    [1591], 256
                ],
                126601: [
                    [1610], 256
                ],
                126603: [
                    [1604], 256
                ],
                126604: [
                    [1605], 256
                ],
                126605: [
                    [1606], 256
                ],
                126606: [
                    [1587], 256
                ],
                126607: [
                    [1593], 256
                ],
                126608: [
                    [1601], 256
                ],
                126609: [
                    [1589], 256
                ],
                126610: [
                    [1602], 256
                ],
                126611: [
                    [1585], 256
                ],
                126612: [
                    [1588], 256
                ],
                126613: [
                    [1578], 256
                ],
                126614: [
                    [1579], 256
                ],
                126615: [
                    [1582], 256
                ],
                126616: [
                    [1584], 256
                ],
                126617: [
                    [1590], 256
                ],
                126618: [
                    [1592], 256
                ],
                126619: [
                    [1594], 256
                ],
                126625: [
                    [1576], 256
                ],
                126626: [
                    [1580], 256
                ],
                126627: [
                    [1583], 256
                ],
                126629: [
                    [1608], 256
                ],
                126630: [
                    [1586], 256
                ],
                126631: [
                    [1581], 256
                ],
                126632: [
                    [1591], 256
                ],
                126633: [
                    [1610], 256
                ],
                126635: [
                    [1604], 256
                ],
                126636: [
                    [1605], 256
                ],
                126637: [
                    [1606], 256
                ],
                126638: [
                    [1587], 256
                ],
                126639: [
                    [1593], 256
                ],
                126640: [
                    [1601], 256
                ],
                126641: [
                    [1589], 256
                ],
                126642: [
                    [1602], 256
                ],
                126643: [
                    [1585], 256
                ],
                126644: [
                    [1588], 256
                ],
                126645: [
                    [1578], 256
                ],
                126646: [
                    [1579], 256
                ],
                126647: [
                    [1582], 256
                ],
                126648: [
                    [1584], 256
                ],
                126649: [
                    [1590], 256
                ],
                126650: [
                    [1592], 256
                ],
                126651: [
                    [1594], 256
                ]
            },
            61696: {
                127232: [
                    [48, 46], 256
                ],
                127233: [
                    [48, 44], 256
                ],
                127234: [
                    [49, 44], 256
                ],
                127235: [
                    [50, 44], 256
                ],
                127236: [
                    [51, 44], 256
                ],
                127237: [
                    [52, 44], 256
                ],
                127238: [
                    [53, 44], 256
                ],
                127239: [
                    [54, 44], 256
                ],
                127240: [
                    [55, 44], 256
                ],
                127241: [
                    [56, 44], 256
                ],
                127242: [
                    [57, 44], 256
                ],
                127248: [
                    [40, 65, 41], 256
                ],
                127249: [
                    [40, 66, 41], 256
                ],
                127250: [
                    [40, 67, 41], 256
                ],
                127251: [
                    [40, 68, 41], 256
                ],
                127252: [
                    [40, 69, 41], 256
                ],
                127253: [
                    [40, 70, 41], 256
                ],
                127254: [
                    [40, 71, 41], 256
                ],
                127255: [
                    [40, 72, 41], 256
                ],
                127256: [
                    [40, 73, 41], 256
                ],
                127257: [
                    [40, 74, 41], 256
                ],
                127258: [
                    [40, 75, 41], 256
                ],
                127259: [
                    [40, 76, 41], 256
                ],
                127260: [
                    [40, 77, 41], 256
                ],
                127261: [
                    [40, 78, 41], 256
                ],
                127262: [
                    [40, 79, 41], 256
                ],
                127263: [
                    [40, 80, 41], 256
                ],
                127264: [
                    [40, 81, 41], 256
                ],
                127265: [
                    [40, 82, 41], 256
                ],
                127266: [
                    [40, 83, 41], 256
                ],
                127267: [
                    [40, 84, 41], 256
                ],
                127268: [
                    [40, 85, 41], 256
                ],
                127269: [
                    [40, 86, 41], 256
                ],
                127270: [
                    [40, 87, 41], 256
                ],
                127271: [
                    [40, 88, 41], 256
                ],
                127272: [
                    [40, 89, 41], 256
                ],
                127273: [
                    [40, 90, 41], 256
                ],
                127274: [
                    [12308, 83, 12309], 256
                ],
                127275: [
                    [67], 256
                ],
                127276: [
                    [82], 256
                ],
                127277: [
                    [67, 68], 256
                ],
                127278: [
                    [87, 90], 256
                ],
                127280: [
                    [65], 256
                ],
                127281: [
                    [66], 256
                ],
                127282: [
                    [67], 256
                ],
                127283: [
                    [68], 256
                ],
                127284: [
                    [69], 256
                ],
                127285: [
                    [70], 256
                ],
                127286: [
                    [71], 256
                ],
                127287: [
                    [72], 256
                ],
                127288: [
                    [73], 256
                ],
                127289: [
                    [74], 256
                ],
                127290: [
                    [75], 256
                ],
                127291: [
                    [76], 256
                ],
                127292: [
                    [77], 256
                ],
                127293: [
                    [78], 256
                ],
                127294: [
                    [79], 256
                ],
                127295: [
                    [80], 256
                ],
                127296: [
                    [81], 256
                ],
                127297: [
                    [82], 256
                ],
                127298: [
                    [83], 256
                ],
                127299: [
                    [84], 256
                ],
                127300: [
                    [85], 256
                ],
                127301: [
                    [86], 256
                ],
                127302: [
                    [87], 256
                ],
                127303: [
                    [88], 256
                ],
                127304: [
                    [89], 256
                ],
                127305: [
                    [90], 256
                ],
                127306: [
                    [72, 86], 256
                ],
                127307: [
                    [77, 86], 256
                ],
                127308: [
                    [83, 68], 256
                ],
                127309: [
                    [83, 83], 256
                ],
                127310: [
                    [80, 80, 86], 256
                ],
                127311: [
                    [87, 67], 256
                ],
                127338: [
                    [77, 67], 256
                ],
                127339: [
                    [77, 68], 256
                ],
                127376: [
                    [68, 74], 256
                ]
            },
            61952: {
                127488: [
                    [12411, 12363], 256
                ],
                127489: [
                    [12467, 12467], 256
                ],
                127490: [
                    [12469], 256
                ],
                127504: [
                    [25163], 256
                ],
                127505: [
                    [23383], 256
                ],
                127506: [
                    [21452], 256
                ],
                127507: [
                    [12487], 256
                ],
                127508: [
                    [20108], 256
                ],
                127509: [
                    [22810], 256
                ],
                127510: [
                    [35299], 256
                ],
                127511: [
                    [22825], 256
                ],
                127512: [
                    [20132], 256
                ],
                127513: [
                    [26144], 256
                ],
                127514: [
                    [28961], 256
                ],
                127515: [
                    [26009], 256
                ],
                127516: [
                    [21069], 256
                ],
                127517: [
                    [24460], 256
                ],
                127518: [
                    [20877], 256
                ],
                127519: [
                    [26032], 256
                ],
                127520: [
                    [21021], 256
                ],
                127521: [
                    [32066], 256
                ],
                127522: [
                    [29983], 256
                ],
                127523: [
                    [36009], 256
                ],
                127524: [
                    [22768], 256
                ],
                127525: [
                    [21561], 256
                ],
                127526: [
                    [28436], 256
                ],
                127527: [
                    [25237], 256
                ],
                127528: [
                    [25429], 256
                ],
                127529: [
                    [19968], 256
                ],
                127530: [
                    [19977], 256
                ],
                127531: [
                    [36938], 256
                ],
                127532: [
                    [24038], 256
                ],
                127533: [
                    [20013], 256
                ],
                127534: [
                    [21491], 256
                ],
                127535: [
                    [25351], 256
                ],
                127536: [
                    [36208], 256
                ],
                127537: [
                    [25171], 256
                ],
                127538: [
                    [31105], 256
                ],
                127539: [
                    [31354], 256
                ],
                127540: [
                    [21512], 256
                ],
                127541: [
                    [28288], 256
                ],
                127542: [
                    [26377], 256
                ],
                127543: [
                    [26376], 256
                ],
                127544: [
                    [30003], 256
                ],
                127545: [
                    [21106], 256
                ],
                127546: [
                    [21942], 256
                ],
                127552: [
                    [12308, 26412, 12309], 256
                ],
                127553: [
                    [12308, 19977, 12309], 256
                ],
                127554: [
                    [12308, 20108, 12309], 256
                ],
                127555: [
                    [12308, 23433, 12309], 256
                ],
                127556: [
                    [12308, 28857, 12309], 256
                ],
                127557: [
                    [12308, 25171, 12309], 256
                ],
                127558: [
                    [12308, 30423, 12309], 256
                ],
                127559: [
                    [12308, 21213, 12309], 256
                ],
                127560: [
                    [12308, 25943, 12309], 256
                ],
                127568: [
                    [24471], 256
                ],
                127569: [
                    [21487], 256
                ]
            },
            63488: {
                194560: [
                    [20029]
                ],
                194561: [
                    [20024]
                ],
                194562: [
                    [20033]
                ],
                194563: [
                    [131362]
                ],
                194564: [
                    [20320]
                ],
                194565: [
                    [20398]
                ],
                194566: [
                    [20411]
                ],
                194567: [
                    [20482]
                ],
                194568: [
                    [20602]
                ],
                194569: [
                    [20633]
                ],
                194570: [
                    [20711]
                ],
                194571: [
                    [20687]
                ],
                194572: [
                    [13470]
                ],
                194573: [
                    [132666]
                ],
                194574: [
                    [20813]
                ],
                194575: [
                    [20820]
                ],
                194576: [
                    [20836]
                ],
                194577: [
                    [20855]
                ],
                194578: [
                    [132380]
                ],
                194579: [
                    [13497]
                ],
                194580: [
                    [20839]
                ],
                194581: [
                    [20877]
                ],
                194582: [
                    [132427]
                ],
                194583: [
                    [20887]
                ],
                194584: [
                    [20900]
                ],
                194585: [
                    [20172]
                ],
                194586: [
                    [20908]
                ],
                194587: [
                    [20917]
                ],
                194588: [
                    [168415]
                ],
                194589: [
                    [20981]
                ],
                194590: [
                    [20995]
                ],
                194591: [
                    [13535]
                ],
                194592: [
                    [21051]
                ],
                194593: [
                    [21062]
                ],
                194594: [
                    [21106]
                ],
                194595: [
                    [21111]
                ],
                194596: [
                    [13589]
                ],
                194597: [
                    [21191]
                ],
                194598: [
                    [21193]
                ],
                194599: [
                    [21220]
                ],
                194600: [
                    [21242]
                ],
                194601: [
                    [21253]
                ],
                194602: [
                    [21254]
                ],
                194603: [
                    [21271]
                ],
                194604: [
                    [21321]
                ],
                194605: [
                    [21329]
                ],
                194606: [
                    [21338]
                ],
                194607: [
                    [21363]
                ],
                194608: [
                    [21373]
                ],
                194609: [
                    [21375]
                ],
                194610: [
                    [21375]
                ],
                194611: [
                    [21375]
                ],
                194612: [
                    [133676]
                ],
                194613: [
                    [28784]
                ],
                194614: [
                    [21450]
                ],
                194615: [
                    [21471]
                ],
                194616: [
                    [133987]
                ],
                194617: [
                    [21483]
                ],
                194618: [
                    [21489]
                ],
                194619: [
                    [21510]
                ],
                194620: [
                    [21662]
                ],
                194621: [
                    [21560]
                ],
                194622: [
                    [21576]
                ],
                194623: [
                    [21608]
                ],
                194624: [
                    [21666]
                ],
                194625: [
                    [21750]
                ],
                194626: [
                    [21776]
                ],
                194627: [
                    [21843]
                ],
                194628: [
                    [21859]
                ],
                194629: [
                    [21892]
                ],
                194630: [
                    [21892]
                ],
                194631: [
                    [21913]
                ],
                194632: [
                    [21931]
                ],
                194633: [
                    [21939]
                ],
                194634: [
                    [21954]
                ],
                194635: [
                    [22294]
                ],
                194636: [
                    [22022]
                ],
                194637: [
                    [22295]
                ],
                194638: [
                    [22097]
                ],
                194639: [
                    [22132]
                ],
                194640: [
                    [20999]
                ],
                194641: [
                    [22766]
                ],
                194642: [
                    [22478]
                ],
                194643: [
                    [22516]
                ],
                194644: [
                    [22541]
                ],
                194645: [
                    [22411]
                ],
                194646: [
                    [22578]
                ],
                194647: [
                    [22577]
                ],
                194648: [
                    [22700]
                ],
                194649: [
                    [136420]
                ],
                194650: [
                    [22770]
                ],
                194651: [
                    [22775]
                ],
                194652: [
                    [22790]
                ],
                194653: [
                    [22810]
                ],
                194654: [
                    [22818]
                ],
                194655: [
                    [22882]
                ],
                194656: [
                    [136872]
                ],
                194657: [
                    [136938]
                ],
                194658: [
                    [23020]
                ],
                194659: [
                    [23067]
                ],
                194660: [
                    [23079]
                ],
                194661: [
                    [23e3]
                ],
                194662: [
                    [23142]
                ],
                194663: [
                    [14062]
                ],
                194664: [
                    [14076]
                ],
                194665: [
                    [23304]
                ],
                194666: [
                    [23358]
                ],
                194667: [
                    [23358]
                ],
                194668: [
                    [137672]
                ],
                194669: [
                    [23491]
                ],
                194670: [
                    [23512]
                ],
                194671: [
                    [23527]
                ],
                194672: [
                    [23539]
                ],
                194673: [
                    [138008]
                ],
                194674: [
                    [23551]
                ],
                194675: [
                    [23558]
                ],
                194676: [
                    [24403]
                ],
                194677: [
                    [23586]
                ],
                194678: [
                    [14209]
                ],
                194679: [
                    [23648]
                ],
                194680: [
                    [23662]
                ],
                194681: [
                    [23744]
                ],
                194682: [
                    [23693]
                ],
                194683: [
                    [138724]
                ],
                194684: [
                    [23875]
                ],
                194685: [
                    [138726]
                ],
                194686: [
                    [23918]
                ],
                194687: [
                    [23915]
                ],
                194688: [
                    [23932]
                ],
                194689: [
                    [24033]
                ],
                194690: [
                    [24034]
                ],
                194691: [
                    [14383]
                ],
                194692: [
                    [24061]
                ],
                194693: [
                    [24104]
                ],
                194694: [
                    [24125]
                ],
                194695: [
                    [24169]
                ],
                194696: [
                    [14434]
                ],
                194697: [
                    [139651]
                ],
                194698: [
                    [14460]
                ],
                194699: [
                    [24240]
                ],
                194700: [
                    [24243]
                ],
                194701: [
                    [24246]
                ],
                194702: [
                    [24266]
                ],
                194703: [
                    [172946]
                ],
                194704: [
                    [24318]
                ],
                194705: [
                    [140081]
                ],
                194706: [
                    [140081]
                ],
                194707: [
                    [33281]
                ],
                194708: [
                    [24354]
                ],
                194709: [
                    [24354]
                ],
                194710: [
                    [14535]
                ],
                194711: [
                    [144056]
                ],
                194712: [
                    [156122]
                ],
                194713: [
                    [24418]
                ],
                194714: [
                    [24427]
                ],
                194715: [
                    [14563]
                ],
                194716: [
                    [24474]
                ],
                194717: [
                    [24525]
                ],
                194718: [
                    [24535]
                ],
                194719: [
                    [24569]
                ],
                194720: [
                    [24705]
                ],
                194721: [
                    [14650]
                ],
                194722: [
                    [14620]
                ],
                194723: [
                    [24724]
                ],
                194724: [
                    [141012]
                ],
                194725: [
                    [24775]
                ],
                194726: [
                    [24904]
                ],
                194727: [
                    [24908]
                ],
                194728: [
                    [24910]
                ],
                194729: [
                    [24908]
                ],
                194730: [
                    [24954]
                ],
                194731: [
                    [24974]
                ],
                194732: [
                    [25010]
                ],
                194733: [
                    [24996]
                ],
                194734: [
                    [25007]
                ],
                194735: [
                    [25054]
                ],
                194736: [
                    [25074]
                ],
                194737: [
                    [25078]
                ],
                194738: [
                    [25104]
                ],
                194739: [
                    [25115]
                ],
                194740: [
                    [25181]
                ],
                194741: [
                    [25265]
                ],
                194742: [
                    [25300]
                ],
                194743: [
                    [25424]
                ],
                194744: [
                    [142092]
                ],
                194745: [
                    [25405]
                ],
                194746: [
                    [25340]
                ],
                194747: [
                    [25448]
                ],
                194748: [
                    [25475]
                ],
                194749: [
                    [25572]
                ],
                194750: [
                    [142321]
                ],
                194751: [
                    [25634]
                ],
                194752: [
                    [25541]
                ],
                194753: [
                    [25513]
                ],
                194754: [
                    [14894]
                ],
                194755: [
                    [25705]
                ],
                194756: [
                    [25726]
                ],
                194757: [
                    [25757]
                ],
                194758: [
                    [25719]
                ],
                194759: [
                    [14956]
                ],
                194760: [
                    [25935]
                ],
                194761: [
                    [25964]
                ],
                194762: [
                    [143370]
                ],
                194763: [
                    [26083]
                ],
                194764: [
                    [26360]
                ],
                194765: [
                    [26185]
                ],
                194766: [
                    [15129]
                ],
                194767: [
                    [26257]
                ],
                194768: [
                    [15112]
                ],
                194769: [
                    [15076]
                ],
                194770: [
                    [20882]
                ],
                194771: [
                    [20885]
                ],
                194772: [
                    [26368]
                ],
                194773: [
                    [26268]
                ],
                194774: [
                    [32941]
                ],
                194775: [
                    [17369]
                ],
                194776: [
                    [26391]
                ],
                194777: [
                    [26395]
                ],
                194778: [
                    [26401]
                ],
                194779: [
                    [26462]
                ],
                194780: [
                    [26451]
                ],
                194781: [
                    [144323]
                ],
                194782: [
                    [15177]
                ],
                194783: [
                    [26618]
                ],
                194784: [
                    [26501]
                ],
                194785: [
                    [26706]
                ],
                194786: [
                    [26757]
                ],
                194787: [
                    [144493]
                ],
                194788: [
                    [26766]
                ],
                194789: [
                    [26655]
                ],
                194790: [
                    [26900]
                ],
                194791: [
                    [15261]
                ],
                194792: [
                    [26946]
                ],
                194793: [
                    [27043]
                ],
                194794: [
                    [27114]
                ],
                194795: [
                    [27304]
                ],
                194796: [
                    [145059]
                ],
                194797: [
                    [27355]
                ],
                194798: [
                    [15384]
                ],
                194799: [
                    [27425]
                ],
                194800: [
                    [145575]
                ],
                194801: [
                    [27476]
                ],
                194802: [
                    [15438]
                ],
                194803: [
                    [27506]
                ],
                194804: [
                    [27551]
                ],
                194805: [
                    [27578]
                ],
                194806: [
                    [27579]
                ],
                194807: [
                    [146061]
                ],
                194808: [
                    [138507]
                ],
                194809: [
                    [146170]
                ],
                194810: [
                    [27726]
                ],
                194811: [
                    [146620]
                ],
                194812: [
                    [27839]
                ],
                194813: [
                    [27853]
                ],
                194814: [
                    [27751]
                ],
                194815: [
                    [27926]
                ]
            },
            63744: {
                63744: [
                    [35912]
                ],
                63745: [
                    [26356]
                ],
                63746: [
                    [36554]
                ],
                63747: [
                    [36040]
                ],
                63748: [
                    [28369]
                ],
                63749: [
                    [20018]
                ],
                63750: [
                    [21477]
                ],
                63751: [
                    [40860]
                ],
                63752: [
                    [40860]
                ],
                63753: [
                    [22865]
                ],
                63754: [
                    [37329]
                ],
                63755: [
                    [21895]
                ],
                63756: [
                    [22856]
                ],
                63757: [
                    [25078]
                ],
                63758: [
                    [30313]
                ],
                63759: [
                    [32645]
                ],
                63760: [
                    [34367]
                ],
                63761: [
                    [34746]
                ],
                63762: [
                    [35064]
                ],
                63763: [
                    [37007]
                ],
                63764: [
                    [27138]
                ],
                63765: [
                    [27931]
                ],
                63766: [
                    [28889]
                ],
                63767: [
                    [29662]
                ],
                63768: [
                    [33853]
                ],
                63769: [
                    [37226]
                ],
                63770: [
                    [39409]
                ],
                63771: [
                    [20098]
                ],
                63772: [
                    [21365]
                ],
                63773: [
                    [27396]
                ],
                63774: [
                    [29211]
                ],
                63775: [
                    [34349]
                ],
                63776: [
                    [40478]
                ],
                63777: [
                    [23888]
                ],
                63778: [
                    [28651]
                ],
                63779: [
                    [34253]
                ],
                63780: [
                    [35172]
                ],
                63781: [
                    [25289]
                ],
                63782: [
                    [33240]
                ],
                63783: [
                    [34847]
                ],
                63784: [
                    [24266]
                ],
                63785: [
                    [26391]
                ],
                63786: [
                    [28010]
                ],
                63787: [
                    [29436]
                ],
                63788: [
                    [37070]
                ],
                63789: [
                    [20358]
                ],
                63790: [
                    [20919]
                ],
                63791: [
                    [21214]
                ],
                63792: [
                    [25796]
                ],
                63793: [
                    [27347]
                ],
                63794: [
                    [29200]
                ],
                63795: [
                    [30439]
                ],
                63796: [
                    [32769]
                ],
                63797: [
                    [34310]
                ],
                63798: [
                    [34396]
                ],
                63799: [
                    [36335]
                ],
                63800: [
                    [38706]
                ],
                63801: [
                    [39791]
                ],
                63802: [
                    [40442]
                ],
                63803: [
                    [30860]
                ],
                63804: [
                    [31103]
                ],
                63805: [
                    [32160]
                ],
                63806: [
                    [33737]
                ],
                63807: [
                    [37636]
                ],
                63808: [
                    [40575]
                ],
                63809: [
                    [35542]
                ],
                63810: [
                    [22751]
                ],
                63811: [
                    [24324]
                ],
                63812: [
                    [31840]
                ],
                63813: [
                    [32894]
                ],
                63814: [
                    [29282]
                ],
                63815: [
                    [30922]
                ],
                63816: [
                    [36034]
                ],
                63817: [
                    [38647]
                ],
                63818: [
                    [22744]
                ],
                63819: [
                    [23650]
                ],
                63820: [
                    [27155]
                ],
                63821: [
                    [28122]
                ],
                63822: [
                    [28431]
                ],
                63823: [
                    [32047]
                ],
                63824: [
                    [32311]
                ],
                63825: [
                    [38475]
                ],
                63826: [
                    [21202]
                ],
                63827: [
                    [32907]
                ],
                63828: [
                    [20956]
                ],
                63829: [
                    [20940]
                ],
                63830: [
                    [31260]
                ],
                63831: [
                    [32190]
                ],
                63832: [
                    [33777]
                ],
                63833: [
                    [38517]
                ],
                63834: [
                    [35712]
                ],
                63835: [
                    [25295]
                ],
                63836: [
                    [27138]
                ],
                63837: [
                    [35582]
                ],
                63838: [
                    [20025]
                ],
                63839: [
                    [23527]
                ],
                63840: [
                    [24594]
                ],
                63841: [
                    [29575]
                ],
                63842: [
                    [30064]
                ],
                63843: [
                    [21271]
                ],
                63844: [
                    [30971]
                ],
                63845: [
                    [20415]
                ],
                63846: [
                    [24489]
                ],
                63847: [
                    [19981]
                ],
                63848: [
                    [27852]
                ],
                63849: [
                    [25976]
                ],
                63850: [
                    [32034]
                ],
                63851: [
                    [21443]
                ],
                63852: [
                    [22622]
                ],
                63853: [
                    [30465]
                ],
                63854: [
                    [33865]
                ],
                63855: [
                    [35498]
                ],
                63856: [
                    [27578]
                ],
                63857: [
                    [36784]
                ],
                63858: [
                    [27784]
                ],
                63859: [
                    [25342]
                ],
                63860: [
                    [33509]
                ],
                63861: [
                    [25504]
                ],
                63862: [
                    [30053]
                ],
                63863: [
                    [20142]
                ],
                63864: [
                    [20841]
                ],
                63865: [
                    [20937]
                ],
                63866: [
                    [26753]
                ],
                63867: [
                    [31975]
                ],
                63868: [
                    [33391]
                ],
                63869: [
                    [35538]
                ],
                63870: [
                    [37327]
                ],
                63871: [
                    [21237]
                ],
                63872: [
                    [21570]
                ],
                63873: [
                    [22899]
                ],
                63874: [
                    [24300]
                ],
                63875: [
                    [26053]
                ],
                63876: [
                    [28670]
                ],
                63877: [
                    [31018]
                ],
                63878: [
                    [38317]
                ],
                63879: [
                    [39530]
                ],
                63880: [
                    [40599]
                ],
                63881: [
                    [40654]
                ],
                63882: [
                    [21147]
                ],
                63883: [
                    [26310]
                ],
                63884: [
                    [27511]
                ],
                63885: [
                    [36706]
                ],
                63886: [
                    [24180]
                ],
                63887: [
                    [24976]
                ],
                63888: [
                    [25088]
                ],
                63889: [
                    [25754]
                ],
                63890: [
                    [28451]
                ],
                63891: [
                    [29001]
                ],
                63892: [
                    [29833]
                ],
                63893: [
                    [31178]
                ],
                63894: [
                    [32244]
                ],
                63895: [
                    [32879]
                ],
                63896: [
                    [36646]
                ],
                63897: [
                    [34030]
                ],
                63898: [
                    [36899]
                ],
                63899: [
                    [37706]
                ],
                63900: [
                    [21015]
                ],
                63901: [
                    [21155]
                ],
                63902: [
                    [21693]
                ],
                63903: [
                    [28872]
                ],
                63904: [
                    [35010]
                ],
                63905: [
                    [35498]
                ],
                63906: [
                    [24265]
                ],
                63907: [
                    [24565]
                ],
                63908: [
                    [25467]
                ],
                63909: [
                    [27566]
                ],
                63910: [
                    [31806]
                ],
                63911: [
                    [29557]
                ],
                63912: [
                    [20196]
                ],
                63913: [
                    [22265]
                ],
                63914: [
                    [23527]
                ],
                63915: [
                    [23994]
                ],
                63916: [
                    [24604]
                ],
                63917: [
                    [29618]
                ],
                63918: [
                    [29801]
                ],
                63919: [
                    [32666]
                ],
                63920: [
                    [32838]
                ],
                63921: [
                    [37428]
                ],
                63922: [
                    [38646]
                ],
                63923: [
                    [38728]
                ],
                63924: [
                    [38936]
                ],
                63925: [
                    [20363]
                ],
                63926: [
                    [31150]
                ],
                63927: [
                    [37300]
                ],
                63928: [
                    [38584]
                ],
                63929: [
                    [24801]
                ],
                63930: [
                    [20102]
                ],
                63931: [
                    [20698]
                ],
                63932: [
                    [23534]
                ],
                63933: [
                    [23615]
                ],
                63934: [
                    [26009]
                ],
                63935: [
                    [27138]
                ],
                63936: [
                    [29134]
                ],
                63937: [
                    [30274]
                ],
                63938: [
                    [34044]
                ],
                63939: [
                    [36988]
                ],
                63940: [
                    [40845]
                ],
                63941: [
                    [26248]
                ],
                63942: [
                    [38446]
                ],
                63943: [
                    [21129]
                ],
                63944: [
                    [26491]
                ],
                63945: [
                    [26611]
                ],
                63946: [
                    [27969]
                ],
                63947: [
                    [28316]
                ],
                63948: [
                    [29705]
                ],
                63949: [
                    [30041]
                ],
                63950: [
                    [30827]
                ],
                63951: [
                    [32016]
                ],
                63952: [
                    [39006]
                ],
                63953: [
                    [20845]
                ],
                63954: [
                    [25134]
                ],
                63955: [
                    [38520]
                ],
                63956: [
                    [20523]
                ],
                63957: [
                    [23833]
                ],
                63958: [
                    [28138]
                ],
                63959: [
                    [36650]
                ],
                63960: [
                    [24459]
                ],
                63961: [
                    [24900]
                ],
                63962: [
                    [26647]
                ],
                63963: [
                    [29575]
                ],
                63964: [
                    [38534]
                ],
                63965: [
                    [21033]
                ],
                63966: [
                    [21519]
                ],
                63967: [
                    [23653]
                ],
                63968: [
                    [26131]
                ],
                63969: [
                    [26446]
                ],
                63970: [
                    [26792]
                ],
                63971: [
                    [27877]
                ],
                63972: [
                    [29702]
                ],
                63973: [
                    [30178]
                ],
                63974: [
                    [32633]
                ],
                63975: [
                    [35023]
                ],
                63976: [
                    [35041]
                ],
                63977: [
                    [37324]
                ],
                63978: [
                    [38626]
                ],
                63979: [
                    [21311]
                ],
                63980: [
                    [28346]
                ],
                63981: [
                    [21533]
                ],
                63982: [
                    [29136]
                ],
                63983: [
                    [29848]
                ],
                63984: [
                    [34298]
                ],
                63985: [
                    [38563]
                ],
                63986: [
                    [40023]
                ],
                63987: [
                    [40607]
                ],
                63988: [
                    [26519]
                ],
                63989: [
                    [28107]
                ],
                63990: [
                    [33256]
                ],
                63991: [
                    [31435]
                ],
                63992: [
                    [31520]
                ],
                63993: [
                    [31890]
                ],
                63994: [
                    [29376]
                ],
                63995: [
                    [28825]
                ],
                63996: [
                    [35672]
                ],
                63997: [
                    [20160]
                ],
                63998: [
                    [33590]
                ],
                63999: [
                    [21050]
                ],
                194816: [
                    [27966]
                ],
                194817: [
                    [28023]
                ],
                194818: [
                    [27969]
                ],
                194819: [
                    [28009]
                ],
                194820: [
                    [28024]
                ],
                194821: [
                    [28037]
                ],
                194822: [
                    [146718]
                ],
                194823: [
                    [27956]
                ],
                194824: [
                    [28207]
                ],
                194825: [
                    [28270]
                ],
                194826: [
                    [15667]
                ],
                194827: [
                    [28363]
                ],
                194828: [
                    [28359]
                ],
                194829: [
                    [147153]
                ],
                194830: [
                    [28153]
                ],
                194831: [
                    [28526]
                ],
                194832: [
                    [147294]
                ],
                194833: [
                    [147342]
                ],
                194834: [
                    [28614]
                ],
                194835: [
                    [28729]
                ],
                194836: [
                    [28702]
                ],
                194837: [
                    [28699]
                ],
                194838: [
                    [15766]
                ],
                194839: [
                    [28746]
                ],
                194840: [
                    [28797]
                ],
                194841: [
                    [28791]
                ],
                194842: [
                    [28845]
                ],
                194843: [
                    [132389]
                ],
                194844: [
                    [28997]
                ],
                194845: [
                    [148067]
                ],
                194846: [
                    [29084]
                ],
                194847: [
                    [148395]
                ],
                194848: [
                    [29224]
                ],
                194849: [
                    [29237]
                ],
                194850: [
                    [29264]
                ],
                194851: [
                    [149e3]
                ],
                194852: [
                    [29312]
                ],
                194853: [
                    [29333]
                ],
                194854: [
                    [149301]
                ],
                194855: [
                    [149524]
                ],
                194856: [
                    [29562]
                ],
                194857: [
                    [29579]
                ],
                194858: [
                    [16044]
                ],
                194859: [
                    [29605]
                ],
                194860: [
                    [16056]
                ],
                194861: [
                    [16056]
                ],
                194862: [
                    [29767]
                ],
                194863: [
                    [29788]
                ],
                194864: [
                    [29809]
                ],
                194865: [
                    [29829]
                ],
                194866: [
                    [29898]
                ],
                194867: [
                    [16155]
                ],
                194868: [
                    [29988]
                ],
                194869: [
                    [150582]
                ],
                194870: [
                    [30014]
                ],
                194871: [
                    [150674]
                ],
                194872: [
                    [30064]
                ],
                194873: [
                    [139679]
                ],
                194874: [
                    [30224]
                ],
                194875: [
                    [151457]
                ],
                194876: [
                    [151480]
                ],
                194877: [
                    [151620]
                ],
                194878: [
                    [16380]
                ],
                194879: [
                    [16392]
                ],
                194880: [
                    [30452]
                ],
                194881: [
                    [151795]
                ],
                194882: [
                    [151794]
                ],
                194883: [
                    [151833]
                ],
                194884: [
                    [151859]
                ],
                194885: [
                    [30494]
                ],
                194886: [
                    [30495]
                ],
                194887: [
                    [30495]
                ],
                194888: [
                    [30538]
                ],
                194889: [
                    [16441]
                ],
                194890: [
                    [30603]
                ],
                194891: [
                    [16454]
                ],
                194892: [
                    [16534]
                ],
                194893: [
                    [152605]
                ],
                194894: [
                    [30798]
                ],
                194895: [
                    [30860]
                ],
                194896: [
                    [30924]
                ],
                194897: [
                    [16611]
                ],
                194898: [
                    [153126]
                ],
                194899: [
                    [31062]
                ],
                194900: [
                    [153242]
                ],
                194901: [
                    [153285]
                ],
                194902: [
                    [31119]
                ],
                194903: [
                    [31211]
                ],
                194904: [
                    [16687]
                ],
                194905: [
                    [31296]
                ],
                194906: [
                    [31306]
                ],
                194907: [
                    [31311]
                ],
                194908: [
                    [153980]
                ],
                194909: [
                    [154279]
                ],
                194910: [
                    [154279]
                ],
                194911: [
                    [31470]
                ],
                194912: [
                    [16898]
                ],
                194913: [
                    [154539]
                ],
                194914: [
                    [31686]
                ],
                194915: [
                    [31689]
                ],
                194916: [
                    [16935]
                ],
                194917: [
                    [154752]
                ],
                194918: [
                    [31954]
                ],
                194919: [
                    [17056]
                ],
                194920: [
                    [31976]
                ],
                194921: [
                    [31971]
                ],
                194922: [
                    [32e3]
                ],
                194923: [
                    [155526]
                ],
                194924: [
                    [32099]
                ],
                194925: [
                    [17153]
                ],
                194926: [
                    [32199]
                ],
                194927: [
                    [32258]
                ],
                194928: [
                    [32325]
                ],
                194929: [
                    [17204]
                ],
                194930: [
                    [156200]
                ],
                194931: [
                    [156231]
                ],
                194932: [
                    [17241]
                ],
                194933: [
                    [156377]
                ],
                194934: [
                    [32634]
                ],
                194935: [
                    [156478]
                ],
                194936: [
                    [32661]
                ],
                194937: [
                    [32762]
                ],
                194938: [
                    [32773]
                ],
                194939: [
                    [156890]
                ],
                194940: [
                    [156963]
                ],
                194941: [
                    [32864]
                ],
                194942: [
                    [157096]
                ],
                194943: [
                    [32880]
                ],
                194944: [
                    [144223]
                ],
                194945: [
                    [17365]
                ],
                194946: [
                    [32946]
                ],
                194947: [
                    [33027]
                ],
                194948: [
                    [17419]
                ],
                194949: [
                    [33086]
                ],
                194950: [
                    [23221]
                ],
                194951: [
                    [157607]
                ],
                194952: [
                    [157621]
                ],
                194953: [
                    [144275]
                ],
                194954: [
                    [144284]
                ],
                194955: [
                    [33281]
                ],
                194956: [
                    [33284]
                ],
                194957: [
                    [36766]
                ],
                194958: [
                    [17515]
                ],
                194959: [
                    [33425]
                ],
                194960: [
                    [33419]
                ],
                194961: [
                    [33437]
                ],
                194962: [
                    [21171]
                ],
                194963: [
                    [33457]
                ],
                194964: [
                    [33459]
                ],
                194965: [
                    [33469]
                ],
                194966: [
                    [33510]
                ],
                194967: [
                    [158524]
                ],
                194968: [
                    [33509]
                ],
                194969: [
                    [33565]
                ],
                194970: [
                    [33635]
                ],
                194971: [
                    [33709]
                ],
                194972: [
                    [33571]
                ],
                194973: [
                    [33725]
                ],
                194974: [
                    [33767]
                ],
                194975: [
                    [33879]
                ],
                194976: [
                    [33619]
                ],
                194977: [
                    [33738]
                ],
                194978: [
                    [33740]
                ],
                194979: [
                    [33756]
                ],
                194980: [
                    [158774]
                ],
                194981: [
                    [159083]
                ],
                194982: [
                    [158933]
                ],
                194983: [
                    [17707]
                ],
                194984: [
                    [34033]
                ],
                194985: [
                    [34035]
                ],
                194986: [
                    [34070]
                ],
                194987: [
                    [160714]
                ],
                194988: [
                    [34148]
                ],
                194989: [
                    [159532]
                ],
                194990: [
                    [17757]
                ],
                194991: [
                    [17761]
                ],
                194992: [
                    [159665]
                ],
                194993: [
                    [159954]
                ],
                194994: [
                    [17771]
                ],
                194995: [
                    [34384]
                ],
                194996: [
                    [34396]
                ],
                194997: [
                    [34407]
                ],
                194998: [
                    [34409]
                ],
                194999: [
                    [34473]
                ],
                195e3: [
                    [34440]
                ],
                195001: [
                    [34574]
                ],
                195002: [
                    [34530]
                ],
                195003: [
                    [34681]
                ],
                195004: [
                    [34600]
                ],
                195005: [
                    [34667]
                ],
                195006: [
                    [34694]
                ],
                195007: [
                    [17879]
                ],
                195008: [
                    [34785]
                ],
                195009: [
                    [34817]
                ],
                195010: [
                    [17913]
                ],
                195011: [
                    [34912]
                ],
                195012: [
                    [34915]
                ],
                195013: [
                    [161383]
                ],
                195014: [
                    [35031]
                ],
                195015: [
                    [35038]
                ],
                195016: [
                    [17973]
                ],
                195017: [
                    [35066]
                ],
                195018: [
                    [13499]
                ],
                195019: [
                    [161966]
                ],
                195020: [
                    [162150]
                ],
                195021: [
                    [18110]
                ],
                195022: [
                    [18119]
                ],
                195023: [
                    [35488]
                ],
                195024: [
                    [35565]
                ],
                195025: [
                    [35722]
                ],
                195026: [
                    [35925]
                ],
                195027: [
                    [162984]
                ],
                195028: [
                    [36011]
                ],
                195029: [
                    [36033]
                ],
                195030: [
                    [36123]
                ],
                195031: [
                    [36215]
                ],
                195032: [
                    [163631]
                ],
                195033: [
                    [133124]
                ],
                195034: [
                    [36299]
                ],
                195035: [
                    [36284]
                ],
                195036: [
                    [36336]
                ],
                195037: [
                    [133342]
                ],
                195038: [
                    [36564]
                ],
                195039: [
                    [36664]
                ],
                195040: [
                    [165330]
                ],
                195041: [
                    [165357]
                ],
                195042: [
                    [37012]
                ],
                195043: [
                    [37105]
                ],
                195044: [
                    [37137]
                ],
                195045: [
                    [165678]
                ],
                195046: [
                    [37147]
                ],
                195047: [
                    [37432]
                ],
                195048: [
                    [37591]
                ],
                195049: [
                    [37592]
                ],
                195050: [
                    [37500]
                ],
                195051: [
                    [37881]
                ],
                195052: [
                    [37909]
                ],
                195053: [
                    [166906]
                ],
                195054: [
                    [38283]
                ],
                195055: [
                    [18837]
                ],
                195056: [
                    [38327]
                ],
                195057: [
                    [167287]
                ],
                195058: [
                    [18918]
                ],
                195059: [
                    [38595]
                ],
                195060: [
                    [23986]
                ],
                195061: [
                    [38691]
                ],
                195062: [
                    [168261]
                ],
                195063: [
                    [168474]
                ],
                195064: [
                    [19054]
                ],
                195065: [
                    [19062]
                ],
                195066: [
                    [38880]
                ],
                195067: [
                    [168970]
                ],
                195068: [
                    [19122]
                ],
                195069: [
                    [169110]
                ],
                195070: [
                    [38923]
                ],
                195071: [
                    [38923]
                ]
            },
            64e3: {
                64e3: [
                    [20999]
                ],
                64001: [
                    [24230]
                ],
                64002: [
                    [25299]
                ],
                64003: [
                    [31958]
                ],
                64004: [
                    [23429]
                ],
                64005: [
                    [27934]
                ],
                64006: [
                    [26292]
                ],
                64007: [
                    [36667]
                ],
                64008: [
                    [34892]
                ],
                64009: [
                    [38477]
                ],
                64010: [
                    [35211]
                ],
                64011: [
                    [24275]
                ],
                64012: [
                    [20800]
                ],
                64013: [
                    [21952]
                ],
                64016: [
                    [22618]
                ],
                64018: [
                    [26228]
                ],
                64021: [
                    [20958]
                ],
                64022: [
                    [29482]
                ],
                64023: [
                    [30410]
                ],
                64024: [
                    [31036]
                ],
                64025: [
                    [31070]
                ],
                64026: [
                    [31077]
                ],
                64027: [
                    [31119]
                ],
                64028: [
                    [38742]
                ],
                64029: [
                    [31934]
                ],
                64030: [
                    [32701]
                ],
                64032: [
                    [34322]
                ],
                64034: [
                    [35576]
                ],
                64037: [
                    [36920]
                ],
                64038: [
                    [37117]
                ],
                64042: [
                    [39151]
                ],
                64043: [
                    [39164]
                ],
                64044: [
                    [39208]
                ],
                64045: [
                    [40372]
                ],
                64046: [
                    [37086]
                ],
                64047: [
                    [38583]
                ],
                64048: [
                    [20398]
                ],
                64049: [
                    [20711]
                ],
                64050: [
                    [20813]
                ],
                64051: [
                    [21193]
                ],
                64052: [
                    [21220]
                ],
                64053: [
                    [21329]
                ],
                64054: [
                    [21917]
                ],
                64055: [
                    [22022]
                ],
                64056: [
                    [22120]
                ],
                64057: [
                    [22592]
                ],
                64058: [
                    [22696]
                ],
                64059: [
                    [23652]
                ],
                64060: [
                    [23662]
                ],
                64061: [
                    [24724]
                ],
                64062: [
                    [24936]
                ],
                64063: [
                    [24974]
                ],
                64064: [
                    [25074]
                ],
                64065: [
                    [25935]
                ],
                64066: [
                    [26082]
                ],
                64067: [
                    [26257]
                ],
                64068: [
                    [26757]
                ],
                64069: [
                    [28023]
                ],
                64070: [
                    [28186]
                ],
                64071: [
                    [28450]
                ],
                64072: [
                    [29038]
                ],
                64073: [
                    [29227]
                ],
                64074: [
                    [29730]
                ],
                64075: [
                    [30865]
                ],
                64076: [
                    [31038]
                ],
                64077: [
                    [31049]
                ],
                64078: [
                    [31048]
                ],
                64079: [
                    [31056]
                ],
                64080: [
                    [31062]
                ],
                64081: [
                    [31069]
                ],
                64082: [
                    [31117]
                ],
                64083: [
                    [31118]
                ],
                64084: [
                    [31296]
                ],
                64085: [
                    [31361]
                ],
                64086: [
                    [31680]
                ],
                64087: [
                    [32244]
                ],
                64088: [
                    [32265]
                ],
                64089: [
                    [32321]
                ],
                64090: [
                    [32626]
                ],
                64091: [
                    [32773]
                ],
                64092: [
                    [33261]
                ],
                64093: [
                    [33401]
                ],
                64094: [
                    [33401]
                ],
                64095: [
                    [33879]
                ],
                64096: [
                    [35088]
                ],
                64097: [
                    [35222]
                ],
                64098: [
                    [35585]
                ],
                64099: [
                    [35641]
                ],
                64100: [
                    [36051]
                ],
                64101: [
                    [36104]
                ],
                64102: [
                    [36790]
                ],
                64103: [
                    [36920]
                ],
                64104: [
                    [38627]
                ],
                64105: [
                    [38911]
                ],
                64106: [
                    [38971]
                ],
                64107: [
                    [24693]
                ],
                64108: [
                    [148206]
                ],
                64109: [
                    [33304]
                ],
                64112: [
                    [20006]
                ],
                64113: [
                    [20917]
                ],
                64114: [
                    [20840]
                ],
                64115: [
                    [20352]
                ],
                64116: [
                    [20805]
                ],
                64117: [
                    [20864]
                ],
                64118: [
                    [21191]
                ],
                64119: [
                    [21242]
                ],
                64120: [
                    [21917]
                ],
                64121: [
                    [21845]
                ],
                64122: [
                    [21913]
                ],
                64123: [
                    [21986]
                ],
                64124: [
                    [22618]
                ],
                64125: [
                    [22707]
                ],
                64126: [
                    [22852]
                ],
                64127: [
                    [22868]
                ],
                64128: [
                    [23138]
                ],
                64129: [
                    [23336]
                ],
                64130: [
                    [24274]
                ],
                64131: [
                    [24281]
                ],
                64132: [
                    [24425]
                ],
                64133: [
                    [24493]
                ],
                64134: [
                    [24792]
                ],
                64135: [
                    [24910]
                ],
                64136: [
                    [24840]
                ],
                64137: [
                    [24974]
                ],
                64138: [
                    [24928]
                ],
                64139: [
                    [25074]
                ],
                64140: [
                    [25140]
                ],
                64141: [
                    [25540]
                ],
                64142: [
                    [25628]
                ],
                64143: [
                    [25682]
                ],
                64144: [
                    [25942]
                ],
                64145: [
                    [26228]
                ],
                64146: [
                    [26391]
                ],
                64147: [
                    [26395]
                ],
                64148: [
                    [26454]
                ],
                64149: [
                    [27513]
                ],
                64150: [
                    [27578]
                ],
                64151: [
                    [27969]
                ],
                64152: [
                    [28379]
                ],
                64153: [
                    [28363]
                ],
                64154: [
                    [28450]
                ],
                64155: [
                    [28702]
                ],
                64156: [
                    [29038]
                ],
                64157: [
                    [30631]
                ],
                64158: [
                    [29237]
                ],
                64159: [
                    [29359]
                ],
                64160: [
                    [29482]
                ],
                64161: [
                    [29809]
                ],
                64162: [
                    [29958]
                ],
                64163: [
                    [30011]
                ],
                64164: [
                    [30237]
                ],
                64165: [
                    [30239]
                ],
                64166: [
                    [30410]
                ],
                64167: [
                    [30427]
                ],
                64168: [
                    [30452]
                ],
                64169: [
                    [30538]
                ],
                64170: [
                    [30528]
                ],
                64171: [
                    [30924]
                ],
                64172: [
                    [31409]
                ],
                64173: [
                    [31680]
                ],
                64174: [
                    [31867]
                ],
                64175: [
                    [32091]
                ],
                64176: [
                    [32244]
                ],
                64177: [
                    [32574]
                ],
                64178: [
                    [32773]
                ],
                64179: [
                    [33618]
                ],
                64180: [
                    [33775]
                ],
                64181: [
                    [34681]
                ],
                64182: [
                    [35137]
                ],
                64183: [
                    [35206]
                ],
                64184: [
                    [35222]
                ],
                64185: [
                    [35519]
                ],
                64186: [
                    [35576]
                ],
                64187: [
                    [35531]
                ],
                64188: [
                    [35585]
                ],
                64189: [
                    [35582]
                ],
                64190: [
                    [35565]
                ],
                64191: [
                    [35641]
                ],
                64192: [
                    [35722]
                ],
                64193: [
                    [36104]
                ],
                64194: [
                    [36664]
                ],
                64195: [
                    [36978]
                ],
                64196: [
                    [37273]
                ],
                64197: [
                    [37494]
                ],
                64198: [
                    [38524]
                ],
                64199: [
                    [38627]
                ],
                64200: [
                    [38742]
                ],
                64201: [
                    [38875]
                ],
                64202: [
                    [38911]
                ],
                64203: [
                    [38923]
                ],
                64204: [
                    [38971]
                ],
                64205: [
                    [39698]
                ],
                64206: [
                    [40860]
                ],
                64207: [
                    [141386]
                ],
                64208: [
                    [141380]
                ],
                64209: [
                    [144341]
                ],
                64210: [
                    [15261]
                ],
                64211: [
                    [16408]
                ],
                64212: [
                    [16441]
                ],
                64213: [
                    [152137]
                ],
                64214: [
                    [154832]
                ],
                64215: [
                    [163539]
                ],
                64216: [
                    [40771]
                ],
                64217: [
                    [40846]
                ],
                195072: [
                    [38953]
                ],
                195073: [
                    [169398]
                ],
                195074: [
                    [39138]
                ],
                195075: [
                    [19251]
                ],
                195076: [
                    [39209]
                ],
                195077: [
                    [39335]
                ],
                195078: [
                    [39362]
                ],
                195079: [
                    [39422]
                ],
                195080: [
                    [19406]
                ],
                195081: [
                    [170800]
                ],
                195082: [
                    [39698]
                ],
                195083: [
                    [4e4]
                ],
                195084: [
                    [40189]
                ],
                195085: [
                    [19662]
                ],
                195086: [
                    [19693]
                ],
                195087: [
                    [40295]
                ],
                195088: [
                    [172238]
                ],
                195089: [
                    [19704]
                ],
                195090: [
                    [172293]
                ],
                195091: [
                    [172558]
                ],
                195092: [
                    [172689]
                ],
                195093: [
                    [40635]
                ],
                195094: [
                    [19798]
                ],
                195095: [
                    [40697]
                ],
                195096: [
                    [40702]
                ],
                195097: [
                    [40709]
                ],
                195098: [
                    [40719]
                ],
                195099: [
                    [40726]
                ],
                195100: [
                    [40763]
                ],
                195101: [
                    [173568]
                ]
            },
            64256: {
                64256: [
                    [102, 102], 256
                ],
                64257: [
                    [102, 105], 256
                ],
                64258: [
                    [102, 108], 256
                ],
                64259: [
                    [102, 102, 105], 256
                ],
                64260: [
                    [102, 102, 108], 256
                ],
                64261: [
                    [383, 116], 256
                ],
                64262: [
                    [115, 116], 256
                ],
                64275: [
                    [1396, 1398], 256
                ],
                64276: [
                    [1396, 1381], 256
                ],
                64277: [
                    [1396, 1387], 256
                ],
                64278: [
                    [1406, 1398], 256
                ],
                64279: [
                    [1396, 1389], 256
                ],
                64285: [
                    [1497, 1460], 512
                ],
                64286: [, 26],
                64287: [
                    [1522, 1463], 512
                ],
                64288: [
                    [1506], 256
                ],
                64289: [
                    [1488], 256
                ],
                64290: [
                    [1491], 256
                ],
                64291: [
                    [1492], 256
                ],
                64292: [
                    [1499], 256
                ],
                64293: [
                    [1500], 256
                ],
                64294: [
                    [1501], 256
                ],
                64295: [
                    [1512], 256
                ],
                64296: [
                    [1514], 256
                ],
                64297: [
                    [43], 256
                ],
                64298: [
                    [1513, 1473], 512
                ],
                64299: [
                    [1513, 1474], 512
                ],
                64300: [
                    [64329, 1473], 512
                ],
                64301: [
                    [64329, 1474], 512
                ],
                64302: [
                    [1488, 1463], 512
                ],
                64303: [
                    [1488, 1464], 512
                ],
                64304: [
                    [1488, 1468], 512
                ],
                64305: [
                    [1489, 1468], 512
                ],
                64306: [
                    [1490, 1468], 512
                ],
                64307: [
                    [1491, 1468], 512
                ],
                64308: [
                    [1492, 1468], 512
                ],
                64309: [
                    [1493, 1468], 512
                ],
                64310: [
                    [1494, 1468], 512
                ],
                64312: [
                    [1496, 1468], 512
                ],
                64313: [
                    [1497, 1468], 512
                ],
                64314: [
                    [1498, 1468], 512
                ],
                64315: [
                    [1499, 1468], 512
                ],
                64316: [
                    [1500, 1468], 512
                ],
                64318: [
                    [1502, 1468], 512
                ],
                64320: [
                    [1504, 1468], 512
                ],
                64321: [
                    [1505, 1468], 512
                ],
                64323: [
                    [1507, 1468], 512
                ],
                64324: [
                    [1508, 1468], 512
                ],
                64326: [
                    [1510, 1468], 512
                ],
                64327: [
                    [1511, 1468], 512
                ],
                64328: [
                    [1512, 1468], 512
                ],
                64329: [
                    [1513, 1468], 512
                ],
                64330: [
                    [1514, 1468], 512
                ],
                64331: [
                    [1493, 1465], 512
                ],
                64332: [
                    [1489, 1471], 512
                ],
                64333: [
                    [1499, 1471], 512
                ],
                64334: [
                    [1508, 1471], 512
                ],
                64335: [
                    [1488, 1500], 256
                ],
                64336: [
                    [1649], 256
                ],
                64337: [
                    [1649], 256
                ],
                64338: [
                    [1659], 256
                ],
                64339: [
                    [1659], 256
                ],
                64340: [
                    [1659], 256
                ],
                64341: [
                    [1659], 256
                ],
                64342: [
                    [1662], 256
                ],
                64343: [
                    [1662], 256
                ],
                64344: [
                    [1662], 256
                ],
                64345: [
                    [1662], 256
                ],
                64346: [
                    [1664], 256
                ],
                64347: [
                    [1664], 256
                ],
                64348: [
                    [1664], 256
                ],
                64349: [
                    [1664], 256
                ],
                64350: [
                    [1658], 256
                ],
                64351: [
                    [1658], 256
                ],
                64352: [
                    [1658], 256
                ],
                64353: [
                    [1658], 256
                ],
                64354: [
                    [1663], 256
                ],
                64355: [
                    [1663], 256
                ],
                64356: [
                    [1663], 256
                ],
                64357: [
                    [1663], 256
                ],
                64358: [
                    [1657], 256
                ],
                64359: [
                    [1657], 256
                ],
                64360: [
                    [1657], 256
                ],
                64361: [
                    [1657], 256
                ],
                64362: [
                    [1700], 256
                ],
                64363: [
                    [1700], 256
                ],
                64364: [
                    [1700], 256
                ],
                64365: [
                    [1700], 256
                ],
                64366: [
                    [1702], 256
                ],
                64367: [
                    [1702], 256
                ],
                64368: [
                    [1702], 256
                ],
                64369: [
                    [1702], 256
                ],
                64370: [
                    [1668], 256
                ],
                64371: [
                    [1668], 256
                ],
                64372: [
                    [1668], 256
                ],
                64373: [
                    [1668], 256
                ],
                64374: [
                    [1667], 256
                ],
                64375: [
                    [1667], 256
                ],
                64376: [
                    [1667], 256
                ],
                64377: [
                    [1667], 256
                ],
                64378: [
                    [1670], 256
                ],
                64379: [
                    [1670], 256
                ],
                64380: [
                    [1670], 256
                ],
                64381: [
                    [1670], 256
                ],
                64382: [
                    [1671], 256
                ],
                64383: [
                    [1671], 256
                ],
                64384: [
                    [1671], 256
                ],
                64385: [
                    [1671], 256
                ],
                64386: [
                    [1677], 256
                ],
                64387: [
                    [1677], 256
                ],
                64388: [
                    [1676], 256
                ],
                64389: [
                    [1676], 256
                ],
                64390: [
                    [1678], 256
                ],
                64391: [
                    [1678], 256
                ],
                64392: [
                    [1672], 256
                ],
                64393: [
                    [1672], 256
                ],
                64394: [
                    [1688], 256
                ],
                64395: [
                    [1688], 256
                ],
                64396: [
                    [1681], 256
                ],
                64397: [
                    [1681], 256
                ],
                64398: [
                    [1705], 256
                ],
                64399: [
                    [1705], 256
                ],
                64400: [
                    [1705], 256
                ],
                64401: [
                    [1705], 256
                ],
                64402: [
                    [1711], 256
                ],
                64403: [
                    [1711], 256
                ],
                64404: [
                    [1711], 256
                ],
                64405: [
                    [1711], 256
                ],
                64406: [
                    [1715], 256
                ],
                64407: [
                    [1715], 256
                ],
                64408: [
                    [1715], 256
                ],
                64409: [
                    [1715], 256
                ],
                64410: [
                    [1713], 256
                ],
                64411: [
                    [1713], 256
                ],
                64412: [
                    [1713], 256
                ],
                64413: [
                    [1713], 256
                ],
                64414: [
                    [1722], 256
                ],
                64415: [
                    [1722], 256
                ],
                64416: [
                    [1723], 256
                ],
                64417: [
                    [1723], 256
                ],
                64418: [
                    [1723], 256
                ],
                64419: [
                    [1723], 256
                ],
                64420: [
                    [1728], 256
                ],
                64421: [
                    [1728], 256
                ],
                64422: [
                    [1729], 256
                ],
                64423: [
                    [1729], 256
                ],
                64424: [
                    [1729], 256
                ],
                64425: [
                    [1729], 256
                ],
                64426: [
                    [1726], 256
                ],
                64427: [
                    [1726], 256
                ],
                64428: [
                    [1726], 256
                ],
                64429: [
                    [1726], 256
                ],
                64430: [
                    [1746], 256
                ],
                64431: [
                    [1746], 256
                ],
                64432: [
                    [1747], 256
                ],
                64433: [
                    [1747], 256
                ],
                64467: [
                    [1709], 256
                ],
                64468: [
                    [1709], 256
                ],
                64469: [
                    [1709], 256
                ],
                64470: [
                    [1709], 256
                ],
                64471: [
                    [1735], 256
                ],
                64472: [
                    [1735], 256
                ],
                64473: [
                    [1734], 256
                ],
                64474: [
                    [1734], 256
                ],
                64475: [
                    [1736], 256
                ],
                64476: [
                    [1736], 256
                ],
                64477: [
                    [1655], 256
                ],
                64478: [
                    [1739], 256
                ],
                64479: [
                    [1739], 256
                ],
                64480: [
                    [1733], 256
                ],
                64481: [
                    [1733], 256
                ],
                64482: [
                    [1737], 256
                ],
                64483: [
                    [1737], 256
                ],
                64484: [
                    [1744], 256
                ],
                64485: [
                    [1744], 256
                ],
                64486: [
                    [1744], 256
                ],
                64487: [
                    [1744], 256
                ],
                64488: [
                    [1609], 256
                ],
                64489: [
                    [1609], 256
                ],
                64490: [
                    [1574, 1575], 256
                ],
                64491: [
                    [1574, 1575], 256
                ],
                64492: [
                    [1574, 1749], 256
                ],
                64493: [
                    [1574, 1749], 256
                ],
                64494: [
                    [1574, 1608], 256
                ],
                64495: [
                    [1574, 1608], 256
                ],
                64496: [
                    [1574, 1735], 256
                ],
                64497: [
                    [1574, 1735], 256
                ],
                64498: [
                    [1574, 1734], 256
                ],
                64499: [
                    [1574, 1734], 256
                ],
                64500: [
                    [1574, 1736], 256
                ],
                64501: [
                    [1574, 1736], 256
                ],
                64502: [
                    [1574, 1744], 256
                ],
                64503: [
                    [1574, 1744], 256
                ],
                64504: [
                    [1574, 1744], 256
                ],
                64505: [
                    [1574, 1609], 256
                ],
                64506: [
                    [1574, 1609], 256
                ],
                64507: [
                    [1574, 1609], 256
                ],
                64508: [
                    [1740], 256
                ],
                64509: [
                    [1740], 256
                ],
                64510: [
                    [1740], 256
                ],
                64511: [
                    [1740], 256
                ]
            },
            64512: {
                64512: [
                    [1574, 1580], 256
                ],
                64513: [
                    [1574, 1581], 256
                ],
                64514: [
                    [1574, 1605], 256
                ],
                64515: [
                    [1574, 1609], 256
                ],
                64516: [
                    [1574, 1610], 256
                ],
                64517: [
                    [1576, 1580], 256
                ],
                64518: [
                    [1576, 1581], 256
                ],
                64519: [
                    [1576, 1582], 256
                ],
                64520: [
                    [1576, 1605], 256
                ],
                64521: [
                    [1576, 1609], 256
                ],
                64522: [
                    [1576, 1610], 256
                ],
                64523: [
                    [1578, 1580], 256
                ],
                64524: [
                    [1578, 1581], 256
                ],
                64525: [
                    [1578, 1582], 256
                ],
                64526: [
                    [1578, 1605], 256
                ],
                64527: [
                    [1578, 1609], 256
                ],
                64528: [
                    [1578, 1610], 256
                ],
                64529: [
                    [1579, 1580], 256
                ],
                64530: [
                    [1579, 1605], 256
                ],
                64531: [
                    [1579, 1609], 256
                ],
                64532: [
                    [1579, 1610], 256
                ],
                64533: [
                    [1580, 1581], 256
                ],
                64534: [
                    [1580, 1605], 256
                ],
                64535: [
                    [1581, 1580], 256
                ],
                64536: [
                    [1581, 1605], 256
                ],
                64537: [
                    [1582, 1580], 256
                ],
                64538: [
                    [1582, 1581], 256
                ],
                64539: [
                    [1582, 1605], 256
                ],
                64540: [
                    [1587, 1580], 256
                ],
                64541: [
                    [1587, 1581], 256
                ],
                64542: [
                    [1587, 1582], 256
                ],
                64543: [
                    [1587, 1605], 256
                ],
                64544: [
                    [1589, 1581], 256
                ],
                64545: [
                    [1589, 1605], 256
                ],
                64546: [
                    [1590, 1580], 256
                ],
                64547: [
                    [1590, 1581], 256
                ],
                64548: [
                    [1590, 1582], 256
                ],
                64549: [
                    [1590, 1605], 256
                ],
                64550: [
                    [1591, 1581], 256
                ],
                64551: [
                    [1591, 1605], 256
                ],
                64552: [
                    [1592, 1605], 256
                ],
                64553: [
                    [1593, 1580], 256
                ],
                64554: [
                    [1593, 1605], 256
                ],
                64555: [
                    [1594, 1580], 256
                ],
                64556: [
                    [1594, 1605], 256
                ],
                64557: [
                    [1601, 1580], 256
                ],
                64558: [
                    [1601, 1581], 256
                ],
                64559: [
                    [1601, 1582], 256
                ],
                64560: [
                    [1601, 1605], 256
                ],
                64561: [
                    [1601, 1609], 256
                ],
                64562: [
                    [1601, 1610], 256
                ],
                64563: [
                    [1602, 1581], 256
                ],
                64564: [
                    [1602, 1605], 256
                ],
                64565: [
                    [1602, 1609], 256
                ],
                64566: [
                    [1602, 1610], 256
                ],
                64567: [
                    [1603, 1575], 256
                ],
                64568: [
                    [1603, 1580], 256
                ],
                64569: [
                    [1603, 1581], 256
                ],
                64570: [
                    [1603, 1582], 256
                ],
                64571: [
                    [1603, 1604], 256
                ],
                64572: [
                    [1603, 1605], 256
                ],
                64573: [
                    [1603, 1609], 256
                ],
                64574: [
                    [1603, 1610], 256
                ],
                64575: [
                    [1604, 1580], 256
                ],
                64576: [
                    [1604, 1581], 256
                ],
                64577: [
                    [1604, 1582], 256
                ],
                64578: [
                    [1604, 1605], 256
                ],
                64579: [
                    [1604, 1609], 256
                ],
                64580: [
                    [1604, 1610], 256
                ],
                64581: [
                    [1605, 1580], 256
                ],
                64582: [
                    [1605, 1581], 256
                ],
                64583: [
                    [1605, 1582], 256
                ],
                64584: [
                    [1605, 1605], 256
                ],
                64585: [
                    [1605, 1609], 256
                ],
                64586: [
                    [1605, 1610], 256
                ],
                64587: [
                    [1606, 1580], 256
                ],
                64588: [
                    [1606, 1581], 256
                ],
                64589: [
                    [1606, 1582], 256
                ],
                64590: [
                    [1606, 1605], 256
                ],
                64591: [
                    [1606, 1609], 256
                ],
                64592: [
                    [1606, 1610], 256
                ],
                64593: [
                    [1607, 1580], 256
                ],
                64594: [
                    [1607, 1605], 256
                ],
                64595: [
                    [1607, 1609], 256
                ],
                64596: [
                    [1607, 1610], 256
                ],
                64597: [
                    [1610, 1580], 256
                ],
                64598: [
                    [1610, 1581], 256
                ],
                64599: [
                    [1610, 1582], 256
                ],
                64600: [
                    [1610, 1605], 256
                ],
                64601: [
                    [1610, 1609], 256
                ],
                64602: [
                    [1610, 1610], 256
                ],
                64603: [
                    [1584, 1648], 256
                ],
                64604: [
                    [1585, 1648], 256
                ],
                64605: [
                    [1609, 1648], 256
                ],
                64606: [
                    [32, 1612, 1617], 256
                ],
                64607: [
                    [32, 1613, 1617], 256
                ],
                64608: [
                    [32, 1614, 1617], 256
                ],
                64609: [
                    [32, 1615, 1617], 256
                ],
                64610: [
                    [32, 1616, 1617], 256
                ],
                64611: [
                    [32, 1617, 1648], 256
                ],
                64612: [
                    [1574, 1585], 256
                ],
                64613: [
                    [1574, 1586], 256
                ],
                64614: [
                    [1574, 1605], 256
                ],
                64615: [
                    [1574, 1606], 256
                ],
                64616: [
                    [1574, 1609], 256
                ],
                64617: [
                    [1574, 1610], 256
                ],
                64618: [
                    [1576, 1585], 256
                ],
                64619: [
                    [1576, 1586], 256
                ],
                64620: [
                    [1576, 1605], 256
                ],
                64621: [
                    [1576, 1606], 256
                ],
                64622: [
                    [1576, 1609], 256
                ],
                64623: [
                    [1576, 1610], 256
                ],
                64624: [
                    [1578, 1585], 256
                ],
                64625: [
                    [1578, 1586], 256
                ],
                64626: [
                    [1578, 1605], 256
                ],
                64627: [
                    [1578, 1606], 256
                ],
                64628: [
                    [1578, 1609], 256
                ],
                64629: [
                    [1578, 1610], 256
                ],
                64630: [
                    [1579, 1585], 256
                ],
                64631: [
                    [1579, 1586], 256
                ],
                64632: [
                    [1579, 1605], 256
                ],
                64633: [
                    [1579, 1606], 256
                ],
                64634: [
                    [1579, 1609], 256
                ],
                64635: [
                    [1579, 1610], 256
                ],
                64636: [
                    [1601, 1609], 256
                ],
                64637: [
                    [1601, 1610], 256
                ],
                64638: [
                    [1602, 1609], 256
                ],
                64639: [
                    [1602, 1610], 256
                ],
                64640: [
                    [1603, 1575], 256
                ],
                64641: [
                    [1603, 1604], 256
                ],
                64642: [
                    [1603, 1605], 256
                ],
                64643: [
                    [1603, 1609], 256
                ],
                64644: [
                    [1603, 1610], 256
                ],
                64645: [
                    [1604, 1605], 256
                ],
                64646: [
                    [1604, 1609], 256
                ],
                64647: [
                    [1604, 1610], 256
                ],
                64648: [
                    [1605, 1575], 256
                ],
                64649: [
                    [1605, 1605], 256
                ],
                64650: [
                    [1606, 1585], 256
                ],
                64651: [
                    [1606, 1586], 256
                ],
                64652: [
                    [1606, 1605], 256
                ],
                64653: [
                    [1606, 1606], 256
                ],
                64654: [
                    [1606, 1609], 256
                ],
                64655: [
                    [1606, 1610], 256
                ],
                64656: [
                    [1609, 1648], 256
                ],
                64657: [
                    [1610, 1585], 256
                ],
                64658: [
                    [1610, 1586], 256
                ],
                64659: [
                    [1610, 1605], 256
                ],
                64660: [
                    [1610, 1606], 256
                ],
                64661: [
                    [1610, 1609], 256
                ],
                64662: [
                    [1610, 1610], 256
                ],
                64663: [
                    [1574, 1580], 256
                ],
                64664: [
                    [1574, 1581], 256
                ],
                64665: [
                    [1574, 1582], 256
                ],
                64666: [
                    [1574, 1605], 256
                ],
                64667: [
                    [1574, 1607], 256
                ],
                64668: [
                    [1576, 1580], 256
                ],
                64669: [
                    [1576, 1581], 256
                ],
                64670: [
                    [1576, 1582], 256
                ],
                64671: [
                    [1576, 1605], 256
                ],
                64672: [
                    [1576, 1607], 256
                ],
                64673: [
                    [1578, 1580], 256
                ],
                64674: [
                    [1578, 1581], 256
                ],
                64675: [
                    [1578, 1582], 256
                ],
                64676: [
                    [1578, 1605], 256
                ],
                64677: [
                    [1578, 1607], 256
                ],
                64678: [
                    [1579, 1605], 256
                ],
                64679: [
                    [1580, 1581], 256
                ],
                64680: [
                    [1580, 1605], 256
                ],
                64681: [
                    [1581, 1580], 256
                ],
                64682: [
                    [1581, 1605], 256
                ],
                64683: [
                    [1582, 1580], 256
                ],
                64684: [
                    [1582, 1605], 256
                ],
                64685: [
                    [1587, 1580], 256
                ],
                64686: [
                    [1587, 1581], 256
                ],
                64687: [
                    [1587, 1582], 256
                ],
                64688: [
                    [1587, 1605], 256
                ],
                64689: [
                    [1589, 1581], 256
                ],
                64690: [
                    [1589, 1582], 256
                ],
                64691: [
                    [1589, 1605], 256
                ],
                64692: [
                    [1590, 1580], 256
                ],
                64693: [
                    [1590, 1581], 256
                ],
                64694: [
                    [1590, 1582], 256
                ],
                64695: [
                    [1590, 1605], 256
                ],
                64696: [
                    [1591, 1581], 256
                ],
                64697: [
                    [1592, 1605], 256
                ],
                64698: [
                    [1593, 1580], 256
                ],
                64699: [
                    [1593, 1605], 256
                ],
                64700: [
                    [1594, 1580], 256
                ],
                64701: [
                    [1594, 1605], 256
                ],
                64702: [
                    [1601, 1580], 256
                ],
                64703: [
                    [1601, 1581], 256
                ],
                64704: [
                    [1601, 1582], 256
                ],
                64705: [
                    [1601, 1605], 256
                ],
                64706: [
                    [1602, 1581], 256
                ],
                64707: [
                    [1602, 1605], 256
                ],
                64708: [
                    [1603, 1580], 256
                ],
                64709: [
                    [1603, 1581], 256
                ],
                64710: [
                    [1603, 1582], 256
                ],
                64711: [
                    [1603, 1604], 256
                ],
                64712: [
                    [1603, 1605], 256
                ],
                64713: [
                    [1604, 1580], 256
                ],
                64714: [
                    [1604, 1581], 256
                ],
                64715: [
                    [1604, 1582], 256
                ],
                64716: [
                    [1604, 1605], 256
                ],
                64717: [
                    [1604, 1607], 256
                ],
                64718: [
                    [1605, 1580], 256
                ],
                64719: [
                    [1605, 1581], 256
                ],
                64720: [
                    [1605, 1582], 256
                ],
                64721: [
                    [1605, 1605], 256
                ],
                64722: [
                    [1606, 1580], 256
                ],
                64723: [
                    [1606, 1581], 256
                ],
                64724: [
                    [1606, 1582], 256
                ],
                64725: [
                    [1606, 1605], 256
                ],
                64726: [
                    [1606, 1607], 256
                ],
                64727: [
                    [1607, 1580], 256
                ],
                64728: [
                    [1607, 1605], 256
                ],
                64729: [
                    [1607, 1648], 256
                ],
                64730: [
                    [1610, 1580], 256
                ],
                64731: [
                    [1610, 1581], 256
                ],
                64732: [
                    [1610, 1582], 256
                ],
                64733: [
                    [1610, 1605], 256
                ],
                64734: [
                    [1610, 1607], 256
                ],
                64735: [
                    [1574, 1605], 256
                ],
                64736: [
                    [1574, 1607], 256
                ],
                64737: [
                    [1576, 1605], 256
                ],
                64738: [
                    [1576, 1607], 256
                ],
                64739: [
                    [1578, 1605], 256
                ],
                64740: [
                    [1578, 1607], 256
                ],
                64741: [
                    [1579, 1605], 256
                ],
                64742: [
                    [1579, 1607], 256
                ],
                64743: [
                    [1587, 1605], 256
                ],
                64744: [
                    [1587, 1607], 256
                ],
                64745: [
                    [1588, 1605], 256
                ],
                64746: [
                    [1588, 1607], 256
                ],
                64747: [
                    [1603, 1604], 256
                ],
                64748: [
                    [1603, 1605], 256
                ],
                64749: [
                    [1604, 1605], 256
                ],
                64750: [
                    [1606, 1605], 256
                ],
                64751: [
                    [1606, 1607], 256
                ],
                64752: [
                    [1610, 1605], 256
                ],
                64753: [
                    [1610, 1607], 256
                ],
                64754: [
                    [1600, 1614, 1617], 256
                ],
                64755: [
                    [1600, 1615, 1617], 256
                ],
                64756: [
                    [1600, 1616, 1617], 256
                ],
                64757: [
                    [1591, 1609], 256
                ],
                64758: [
                    [1591, 1610], 256
                ],
                64759: [
                    [1593, 1609], 256
                ],
                64760: [
                    [1593, 1610], 256
                ],
                64761: [
                    [1594, 1609], 256
                ],
                64762: [
                    [1594, 1610], 256
                ],
                64763: [
                    [1587, 1609], 256
                ],
                64764: [
                    [1587, 1610], 256
                ],
                64765: [
                    [1588, 1609], 256
                ],
                64766: [
                    [1588, 1610], 256
                ],
                64767: [
                    [1581, 1609], 256
                ]
            },
            64768: {
                64768: [
                    [1581, 1610], 256
                ],
                64769: [
                    [1580, 1609], 256
                ],
                64770: [
                    [1580, 1610], 256
                ],
                64771: [
                    [1582, 1609], 256
                ],
                64772: [
                    [1582, 1610], 256
                ],
                64773: [
                    [1589, 1609], 256
                ],
                64774: [
                    [1589, 1610], 256
                ],
                64775: [
                    [1590, 1609], 256
                ],
                64776: [
                    [1590, 1610], 256
                ],
                64777: [
                    [1588, 1580], 256
                ],
                64778: [
                    [1588, 1581], 256
                ],
                64779: [
                    [1588, 1582], 256
                ],
                64780: [
                    [1588, 1605], 256
                ],
                64781: [
                    [1588, 1585], 256
                ],
                64782: [
                    [1587, 1585], 256
                ],
                64783: [
                    [1589, 1585], 256
                ],
                64784: [
                    [1590, 1585], 256
                ],
                64785: [
                    [1591, 1609], 256
                ],
                64786: [
                    [1591, 1610], 256
                ],
                64787: [
                    [1593, 1609], 256
                ],
                64788: [
                    [1593, 1610], 256
                ],
                64789: [
                    [1594, 1609], 256
                ],
                64790: [
                    [1594, 1610], 256
                ],
                64791: [
                    [1587, 1609], 256
                ],
                64792: [
                    [1587, 1610], 256
                ],
                64793: [
                    [1588, 1609], 256
                ],
                64794: [
                    [1588, 1610], 256
                ],
                64795: [
                    [1581, 1609], 256
                ],
                64796: [
                    [1581, 1610], 256
                ],
                64797: [
                    [1580, 1609], 256
                ],
                64798: [
                    [1580, 1610], 256
                ],
                64799: [
                    [1582, 1609], 256
                ],
                64800: [
                    [1582, 1610], 256
                ],
                64801: [
                    [1589, 1609], 256
                ],
                64802: [
                    [1589, 1610], 256
                ],
                64803: [
                    [1590, 1609], 256
                ],
                64804: [
                    [1590, 1610], 256
                ],
                64805: [
                    [1588, 1580], 256
                ],
                64806: [
                    [1588, 1581], 256
                ],
                64807: [
                    [1588, 1582], 256
                ],
                64808: [
                    [1588, 1605], 256
                ],
                64809: [
                    [1588, 1585], 256
                ],
                64810: [
                    [1587, 1585], 256
                ],
                64811: [
                    [1589, 1585], 256
                ],
                64812: [
                    [1590, 1585], 256
                ],
                64813: [
                    [1588, 1580], 256
                ],
                64814: [
                    [1588, 1581], 256
                ],
                64815: [
                    [1588, 1582], 256
                ],
                64816: [
                    [1588, 1605], 256
                ],
                64817: [
                    [1587, 1607], 256
                ],
                64818: [
                    [1588, 1607], 256
                ],
                64819: [
                    [1591, 1605], 256
                ],
                64820: [
                    [1587, 1580], 256
                ],
                64821: [
                    [1587, 1581], 256
                ],
                64822: [
                    [1587, 1582], 256
                ],
                64823: [
                    [1588, 1580], 256
                ],
                64824: [
                    [1588, 1581], 256
                ],
                64825: [
                    [1588, 1582], 256
                ],
                64826: [
                    [1591, 1605], 256
                ],
                64827: [
                    [1592, 1605], 256
                ],
                64828: [
                    [1575, 1611], 256
                ],
                64829: [
                    [1575, 1611], 256
                ],
                64848: [
                    [1578, 1580, 1605], 256
                ],
                64849: [
                    [1578, 1581, 1580], 256
                ],
                64850: [
                    [1578, 1581, 1580], 256
                ],
                64851: [
                    [1578, 1581, 1605], 256
                ],
                64852: [
                    [1578, 1582, 1605], 256
                ],
                64853: [
                    [1578, 1605, 1580], 256
                ],
                64854: [
                    [1578, 1605, 1581], 256
                ],
                64855: [
                    [1578, 1605, 1582], 256
                ],
                64856: [
                    [1580, 1605, 1581], 256
                ],
                64857: [
                    [1580, 1605, 1581], 256
                ],
                64858: [
                    [1581, 1605, 1610], 256
                ],
                64859: [
                    [1581, 1605, 1609], 256
                ],
                64860: [
                    [1587, 1581, 1580], 256
                ],
                64861: [
                    [1587, 1580, 1581], 256
                ],
                64862: [
                    [1587, 1580, 1609], 256
                ],
                64863: [
                    [1587, 1605, 1581], 256
                ],
                64864: [
                    [1587, 1605, 1581], 256
                ],
                64865: [
                    [1587, 1605, 1580], 256
                ],
                64866: [
                    [1587, 1605, 1605], 256
                ],
                64867: [
                    [1587, 1605, 1605], 256
                ],
                64868: [
                    [1589, 1581, 1581], 256
                ],
                64869: [
                    [1589, 1581, 1581], 256
                ],
                64870: [
                    [1589, 1605, 1605], 256
                ],
                64871: [
                    [1588, 1581, 1605], 256
                ],
                64872: [
                    [1588, 1581, 1605], 256
                ],
                64873: [
                    [1588, 1580, 1610], 256
                ],
                64874: [
                    [1588, 1605, 1582], 256
                ],
                64875: [
                    [1588, 1605, 1582], 256
                ],
                64876: [
                    [1588, 1605, 1605], 256
                ],
                64877: [
                    [1588, 1605, 1605], 256
                ],
                64878: [
                    [1590, 1581, 1609], 256
                ],
                64879: [
                    [1590, 1582, 1605], 256
                ],
                64880: [
                    [1590, 1582, 1605], 256
                ],
                64881: [
                    [1591, 1605, 1581], 256
                ],
                64882: [
                    [1591, 1605, 1581], 256
                ],
                64883: [
                    [1591, 1605, 1605], 256
                ],
                64884: [
                    [1591, 1605, 1610], 256
                ],
                64885: [
                    [1593, 1580, 1605], 256
                ],
                64886: [
                    [1593, 1605, 1605], 256
                ],
                64887: [
                    [1593, 1605, 1605], 256
                ],
                64888: [
                    [1593, 1605, 1609], 256
                ],
                64889: [
                    [1594, 1605, 1605], 256
                ],
                64890: [
                    [1594, 1605, 1610], 256
                ],
                64891: [
                    [1594, 1605, 1609], 256
                ],
                64892: [
                    [1601, 1582, 1605], 256
                ],
                64893: [
                    [1601, 1582, 1605], 256
                ],
                64894: [
                    [1602, 1605, 1581], 256
                ],
                64895: [
                    [1602, 1605, 1605], 256
                ],
                64896: [
                    [1604, 1581, 1605], 256
                ],
                64897: [
                    [1604, 1581, 1610], 256
                ],
                64898: [
                    [1604, 1581, 1609], 256
                ],
                64899: [
                    [1604, 1580, 1580], 256
                ],
                64900: [
                    [1604, 1580, 1580], 256
                ],
                64901: [
                    [1604, 1582, 1605], 256
                ],
                64902: [
                    [1604, 1582, 1605], 256
                ],
                64903: [
                    [1604, 1605, 1581], 256
                ],
                64904: [
                    [1604, 1605, 1581], 256
                ],
                64905: [
                    [1605, 1581, 1580], 256
                ],
                64906: [
                    [1605, 1581, 1605], 256
                ],
                64907: [
                    [1605, 1581, 1610], 256
                ],
                64908: [
                    [1605, 1580, 1581], 256
                ],
                64909: [
                    [1605, 1580, 1605], 256
                ],
                64910: [
                    [1605, 1582, 1580], 256
                ],
                64911: [
                    [1605, 1582, 1605], 256
                ],
                64914: [
                    [1605, 1580, 1582], 256
                ],
                64915: [
                    [1607, 1605, 1580], 256
                ],
                64916: [
                    [1607, 1605, 1605], 256
                ],
                64917: [
                    [1606, 1581, 1605], 256
                ],
                64918: [
                    [1606, 1581, 1609], 256
                ],
                64919: [
                    [1606, 1580, 1605], 256
                ],
                64920: [
                    [1606, 1580, 1605], 256
                ],
                64921: [
                    [1606, 1580, 1609], 256
                ],
                64922: [
                    [1606, 1605, 1610], 256
                ],
                64923: [
                    [1606, 1605, 1609], 256
                ],
                64924: [
                    [1610, 1605, 1605], 256
                ],
                64925: [
                    [1610, 1605, 1605], 256
                ],
                64926: [
                    [1576, 1582, 1610], 256
                ],
                64927: [
                    [1578, 1580, 1610], 256
                ],
                64928: [
                    [1578, 1580, 1609], 256
                ],
                64929: [
                    [1578, 1582, 1610], 256
                ],
                64930: [
                    [1578, 1582, 1609], 256
                ],
                64931: [
                    [1578, 1605, 1610], 256
                ],
                64932: [
                    [1578, 1605, 1609], 256
                ],
                64933: [
                    [1580, 1605, 1610], 256
                ],
                64934: [
                    [1580, 1581, 1609], 256
                ],
                64935: [
                    [1580, 1605, 1609], 256
                ],
                64936: [
                    [1587, 1582, 1609], 256
                ],
                64937: [
                    [1589, 1581, 1610], 256
                ],
                64938: [
                    [1588, 1581, 1610], 256
                ],
                64939: [
                    [1590, 1581, 1610], 256
                ],
                64940: [
                    [1604, 1580, 1610], 256
                ],
                64941: [
                    [1604, 1605, 1610], 256
                ],
                64942: [
                    [1610, 1581, 1610], 256
                ],
                64943: [
                    [1610, 1580, 1610], 256
                ],
                64944: [
                    [1610, 1605, 1610], 256
                ],
                64945: [
                    [1605, 1605, 1610], 256
                ],
                64946: [
                    [1602, 1605, 1610], 256
                ],
                64947: [
                    [1606, 1581, 1610], 256
                ],
                64948: [
                    [1602, 1605, 1581], 256
                ],
                64949: [
                    [1604, 1581, 1605], 256
                ],
                64950: [
                    [1593, 1605, 1610], 256
                ],
                64951: [
                    [1603, 1605, 1610], 256
                ],
                64952: [
                    [1606, 1580, 1581], 256
                ],
                64953: [
                    [1605, 1582, 1610], 256
                ],
                64954: [
                    [1604, 1580, 1605], 256
                ],
                64955: [
                    [1603, 1605, 1605], 256
                ],
                64956: [
                    [1604, 1580, 1605], 256
                ],
                64957: [
                    [1606, 1580, 1581], 256
                ],
                64958: [
                    [1580, 1581, 1610], 256
                ],
                64959: [
                    [1581, 1580, 1610], 256
                ],
                64960: [
                    [1605, 1580, 1610], 256
                ],
                64961: [
                    [1601, 1605, 1610], 256
                ],
                64962: [
                    [1576, 1581, 1610], 256
                ],
                64963: [
                    [1603, 1605, 1605], 256
                ],
                64964: [
                    [1593, 1580, 1605], 256
                ],
                64965: [
                    [1589, 1605, 1605], 256
                ],
                64966: [
                    [1587, 1582, 1610], 256
                ],
                64967: [
                    [1606, 1580, 1610], 256
                ],
                65008: [
                    [1589, 1604, 1746], 256
                ],
                65009: [
                    [1602, 1604, 1746], 256
                ],
                65010: [
                    [1575, 1604, 1604, 1607], 256
                ],
                65011: [
                    [1575, 1603, 1576, 1585], 256
                ],
                65012: [
                    [1605, 1581, 1605, 1583], 256
                ],
                65013: [
                    [1589, 1604, 1593, 1605], 256
                ],
                65014: [
                    [1585, 1587, 1608, 1604], 256
                ],
                65015: [
                    [1593, 1604, 1610, 1607], 256
                ],
                65016: [
                    [1608, 1587, 1604, 1605], 256
                ],
                65017: [
                    [1589, 1604, 1609], 256
                ],
                65018: [
                    [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605], 256
                ],
                65019: [
                    [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256
                ],
                65020: [
                    [1585, 1740, 1575, 1604], 256
                ]
            },
            65024: {
                65040: [
                    [44], 256
                ],
                65041: [
                    [12289], 256
                ],
                65042: [
                    [12290], 256
                ],
                65043: [
                    [58], 256
                ],
                65044: [
                    [59], 256
                ],
                65045: [
                    [33], 256
                ],
                65046: [
                    [63], 256
                ],
                65047: [
                    [12310], 256
                ],
                65048: [
                    [12311], 256
                ],
                65049: [
                    [8230], 256
                ],
                65056: [, 230],
                65057: [, 230],
                65058: [, 230],
                65059: [, 230],
                65060: [, 230],
                65061: [, 230],
                65062: [, 230],
                65063: [, 220],
                65064: [, 220],
                65065: [, 220],
                65066: [, 220],
                65067: [, 220],
                65068: [, 220],
                65069: [, 220],
                65072: [
                    [8229], 256
                ],
                65073: [
                    [8212], 256
                ],
                65074: [
                    [8211], 256
                ],
                65075: [
                    [95], 256
                ],
                65076: [
                    [95], 256
                ],
                65077: [
                    [40], 256
                ],
                65078: [
                    [41], 256
                ],
                65079: [
                    [123], 256
                ],
                65080: [
                    [125], 256
                ],
                65081: [
                    [12308], 256
                ],
                65082: [
                    [12309], 256
                ],
                65083: [
                    [12304], 256
                ],
                65084: [
                    [12305], 256
                ],
                65085: [
                    [12298], 256
                ],
                65086: [
                    [12299], 256
                ],
                65087: [
                    [12296], 256
                ],
                65088: [
                    [12297], 256
                ],
                65089: [
                    [12300], 256
                ],
                65090: [
                    [12301], 256
                ],
                65091: [
                    [12302], 256
                ],
                65092: [
                    [12303], 256
                ],
                65095: [
                    [91], 256
                ],
                65096: [
                    [93], 256
                ],
                65097: [
                    [8254], 256
                ],
                65098: [
                    [8254], 256
                ],
                65099: [
                    [8254], 256
                ],
                65100: [
                    [8254], 256
                ],
                65101: [
                    [95], 256
                ],
                65102: [
                    [95], 256
                ],
                65103: [
                    [95], 256
                ],
                65104: [
                    [44], 256
                ],
                65105: [
                    [12289], 256
                ],
                65106: [
                    [46], 256
                ],
                65108: [
                    [59], 256
                ],
                65109: [
                    [58], 256
                ],
                65110: [
                    [63], 256
                ],
                65111: [
                    [33], 256
                ],
                65112: [
                    [8212], 256
                ],
                65113: [
                    [40], 256
                ],
                65114: [
                    [41], 256
                ],
                65115: [
                    [123], 256
                ],
                65116: [
                    [125], 256
                ],
                65117: [
                    [12308], 256
                ],
                65118: [
                    [12309], 256
                ],
                65119: [
                    [35], 256
                ],
                65120: [
                    [38], 256
                ],
                65121: [
                    [42], 256
                ],
                65122: [
                    [43], 256
                ],
                65123: [
                    [45], 256
                ],
                65124: [
                    [60], 256
                ],
                65125: [
                    [62], 256
                ],
                65126: [
                    [61], 256
                ],
                65128: [
                    [92], 256
                ],
                65129: [
                    [36], 256
                ],
                65130: [
                    [37], 256
                ],
                65131: [
                    [64], 256
                ],
                65136: [
                    [32, 1611], 256
                ],
                65137: [
                    [1600, 1611], 256
                ],
                65138: [
                    [32, 1612], 256
                ],
                65140: [
                    [32, 1613], 256
                ],
                65142: [
                    [32, 1614], 256
                ],
                65143: [
                    [1600, 1614], 256
                ],
                65144: [
                    [32, 1615], 256
                ],
                65145: [
                    [1600, 1615], 256
                ],
                65146: [
                    [32, 1616], 256
                ],
                65147: [
                    [1600, 1616], 256
                ],
                65148: [
                    [32, 1617], 256
                ],
                65149: [
                    [1600, 1617], 256
                ],
                65150: [
                    [32, 1618], 256
                ],
                65151: [
                    [1600, 1618], 256
                ],
                65152: [
                    [1569], 256
                ],
                65153: [
                    [1570], 256
                ],
                65154: [
                    [1570], 256
                ],
                65155: [
                    [1571], 256
                ],
                65156: [
                    [1571], 256
                ],
                65157: [
                    [1572], 256
                ],
                65158: [
                    [1572], 256
                ],
                65159: [
                    [1573], 256
                ],
                65160: [
                    [1573], 256
                ],
                65161: [
                    [1574], 256
                ],
                65162: [
                    [1574], 256
                ],
                65163: [
                    [1574], 256
                ],
                65164: [
                    [1574], 256
                ],
                65165: [
                    [1575], 256
                ],
                65166: [
                    [1575], 256
                ],
                65167: [
                    [1576], 256
                ],
                65168: [
                    [1576], 256
                ],
                65169: [
                    [1576], 256
                ],
                65170: [
                    [1576], 256
                ],
                65171: [
                    [1577], 256
                ],
                65172: [
                    [1577], 256
                ],
                65173: [
                    [1578], 256
                ],
                65174: [
                    [1578], 256
                ],
                65175: [
                    [1578], 256
                ],
                65176: [
                    [1578], 256
                ],
                65177: [
                    [1579], 256
                ],
                65178: [
                    [1579], 256
                ],
                65179: [
                    [1579], 256
                ],
                65180: [
                    [1579], 256
                ],
                65181: [
                    [1580], 256
                ],
                65182: [
                    [1580], 256
                ],
                65183: [
                    [1580], 256
                ],
                65184: [
                    [1580], 256
                ],
                65185: [
                    [1581], 256
                ],
                65186: [
                    [1581], 256
                ],
                65187: [
                    [1581], 256
                ],
                65188: [
                    [1581], 256
                ],
                65189: [
                    [1582], 256
                ],
                65190: [
                    [1582], 256
                ],
                65191: [
                    [1582], 256
                ],
                65192: [
                    [1582], 256
                ],
                65193: [
                    [1583], 256
                ],
                65194: [
                    [1583], 256
                ],
                65195: [
                    [1584], 256
                ],
                65196: [
                    [1584], 256
                ],
                65197: [
                    [1585], 256
                ],
                65198: [
                    [1585], 256
                ],
                65199: [
                    [1586], 256
                ],
                65200: [
                    [1586], 256
                ],
                65201: [
                    [1587], 256
                ],
                65202: [
                    [1587], 256
                ],
                65203: [
                    [1587], 256
                ],
                65204: [
                    [1587], 256
                ],
                65205: [
                    [1588], 256
                ],
                65206: [
                    [1588], 256
                ],
                65207: [
                    [1588], 256
                ],
                65208: [
                    [1588], 256
                ],
                65209: [
                    [1589], 256
                ],
                65210: [
                    [1589], 256
                ],
                65211: [
                    [1589], 256
                ],
                65212: [
                    [1589], 256
                ],
                65213: [
                    [1590], 256
                ],
                65214: [
                    [1590], 256
                ],
                65215: [
                    [1590], 256
                ],
                65216: [
                    [1590], 256
                ],
                65217: [
                    [1591], 256
                ],
                65218: [
                    [1591], 256
                ],
                65219: [
                    [1591], 256
                ],
                65220: [
                    [1591], 256
                ],
                65221: [
                    [1592], 256
                ],
                65222: [
                    [1592], 256
                ],
                65223: [
                    [1592], 256
                ],
                65224: [
                    [1592], 256
                ],
                65225: [
                    [1593], 256
                ],
                65226: [
                    [1593], 256
                ],
                65227: [
                    [1593], 256
                ],
                65228: [
                    [1593], 256
                ],
                65229: [
                    [1594], 256
                ],
                65230: [
                    [1594], 256
                ],
                65231: [
                    [1594], 256
                ],
                65232: [
                    [1594], 256
                ],
                65233: [
                    [1601], 256
                ],
                65234: [
                    [1601], 256
                ],
                65235: [
                    [1601], 256
                ],
                65236: [
                    [1601], 256
                ],
                65237: [
                    [1602], 256
                ],
                65238: [
                    [1602], 256
                ],
                65239: [
                    [1602], 256
                ],
                65240: [
                    [1602], 256
                ],
                65241: [
                    [1603], 256
                ],
                65242: [
                    [1603], 256
                ],
                65243: [
                    [1603], 256
                ],
                65244: [
                    [1603], 256
                ],
                65245: [
                    [1604], 256
                ],
                65246: [
                    [1604], 256
                ],
                65247: [
                    [1604], 256
                ],
                65248: [
                    [1604], 256
                ],
                65249: [
                    [1605], 256
                ],
                65250: [
                    [1605], 256
                ],
                65251: [
                    [1605], 256
                ],
                65252: [
                    [1605], 256
                ],
                65253: [
                    [1606], 256
                ],
                65254: [
                    [1606], 256
                ],
                65255: [
                    [1606], 256
                ],
                65256: [
                    [1606], 256
                ],
                65257: [
                    [1607], 256
                ],
                65258: [
                    [1607], 256
                ],
                65259: [
                    [1607], 256
                ],
                65260: [
                    [1607], 256
                ],
                65261: [
                    [1608], 256
                ],
                65262: [
                    [1608], 256
                ],
                65263: [
                    [1609], 256
                ],
                65264: [
                    [1609], 256
                ],
                65265: [
                    [1610], 256
                ],
                65266: [
                    [1610], 256
                ],
                65267: [
                    [1610], 256
                ],
                65268: [
                    [1610], 256
                ],
                65269: [
                    [1604, 1570], 256
                ],
                65270: [
                    [1604, 1570], 256
                ],
                65271: [
                    [1604, 1571], 256
                ],
                65272: [
                    [1604, 1571], 256
                ],
                65273: [
                    [1604, 1573], 256
                ],
                65274: [
                    [1604, 1573], 256
                ],
                65275: [
                    [1604, 1575], 256
                ],
                65276: [
                    [1604, 1575], 256
                ]
            },
            65280: {
                65281: [
                    [33], 256
                ],
                65282: [
                    [34], 256
                ],
                65283: [
                    [35], 256
                ],
                65284: [
                    [36], 256
                ],
                65285: [
                    [37], 256
                ],
                65286: [
                    [38], 256
                ],
                65287: [
                    [39], 256
                ],
                65288: [
                    [40], 256
                ],
                65289: [
                    [41], 256
                ],
                65290: [
                    [42], 256
                ],
                65291: [
                    [43], 256
                ],
                65292: [
                    [44], 256
                ],
                65293: [
                    [45], 256
                ],
                65294: [
                    [46], 256
                ],
                65295: [
                    [47], 256
                ],
                65296: [
                    [48], 256
                ],
                65297: [
                    [49], 256
                ],
                65298: [
                    [50], 256
                ],
                65299: [
                    [51], 256
                ],
                65300: [
                    [52], 256
                ],
                65301: [
                    [53], 256
                ],
                65302: [
                    [54], 256
                ],
                65303: [
                    [55], 256
                ],
                65304: [
                    [56], 256
                ],
                65305: [
                    [57], 256
                ],
                65306: [
                    [58], 256
                ],
                65307: [
                    [59], 256
                ],
                65308: [
                    [60], 256
                ],
                65309: [
                    [61], 256
                ],
                65310: [
                    [62], 256
                ],
                65311: [
                    [63], 256
                ],
                65312: [
                    [64], 256
                ],
                65313: [
                    [65], 256
                ],
                65314: [
                    [66], 256
                ],
                65315: [
                    [67], 256
                ],
                65316: [
                    [68], 256
                ],
                65317: [
                    [69], 256
                ],
                65318: [
                    [70], 256
                ],
                65319: [
                    [71], 256
                ],
                65320: [
                    [72], 256
                ],
                65321: [
                    [73], 256
                ],
                65322: [
                    [74], 256
                ],
                65323: [
                    [75], 256
                ],
                65324: [
                    [76], 256
                ],
                65325: [
                    [77], 256
                ],
                65326: [
                    [78], 256
                ],
                65327: [
                    [79], 256
                ],
                65328: [
                    [80], 256
                ],
                65329: [
                    [81], 256
                ],
                65330: [
                    [82], 256
                ],
                65331: [
                    [83], 256
                ],
                65332: [
                    [84], 256
                ],
                65333: [
                    [85], 256
                ],
                65334: [
                    [86], 256
                ],
                65335: [
                    [87], 256
                ],
                65336: [
                    [88], 256
                ],
                65337: [
                    [89], 256
                ],
                65338: [
                    [90], 256
                ],
                65339: [
                    [91], 256
                ],
                65340: [
                    [92], 256
                ],
                65341: [
                    [93], 256
                ],
                65342: [
                    [94], 256
                ],
                65343: [
                    [95], 256
                ],
                65344: [
                    [96], 256
                ],
                65345: [
                    [97], 256
                ],
                65346: [
                    [98], 256
                ],
                65347: [
                    [99], 256
                ],
                65348: [
                    [100], 256
                ],
                65349: [
                    [101], 256
                ],
                65350: [
                    [102], 256
                ],
                65351: [
                    [103], 256
                ],
                65352: [
                    [104], 256
                ],
                65353: [
                    [105], 256
                ],
                65354: [
                    [106], 256
                ],
                65355: [
                    [107], 256
                ],
                65356: [
                    [108], 256
                ],
                65357: [
                    [109], 256
                ],
                65358: [
                    [110], 256
                ],
                65359: [
                    [111], 256
                ],
                65360: [
                    [112], 256
                ],
                65361: [
                    [113], 256
                ],
                65362: [
                    [114], 256
                ],
                65363: [
                    [115], 256
                ],
                65364: [
                    [116], 256
                ],
                65365: [
                    [117], 256
                ],
                65366: [
                    [118], 256
                ],
                65367: [
                    [119], 256
                ],
                65368: [
                    [120], 256
                ],
                65369: [
                    [121], 256
                ],
                65370: [
                    [122], 256
                ],
                65371: [
                    [123], 256
                ],
                65372: [
                    [124], 256
                ],
                65373: [
                    [125], 256
                ],
                65374: [
                    [126], 256
                ],
                65375: [
                    [10629], 256
                ],
                65376: [
                    [10630], 256
                ],
                65377: [
                    [12290], 256
                ],
                65378: [
                    [12300], 256
                ],
                65379: [
                    [12301], 256
                ],
                65380: [
                    [12289], 256
                ],
                65381: [
                    [12539], 256
                ],
                65382: [
                    [12530], 256
                ],
                65383: [
                    [12449], 256
                ],
                65384: [
                    [12451], 256
                ],
                65385: [
                    [12453], 256
                ],
                65386: [
                    [12455], 256
                ],
                65387: [
                    [12457], 256
                ],
                65388: [
                    [12515], 256
                ],
                65389: [
                    [12517], 256
                ],
                65390: [
                    [12519], 256
                ],
                65391: [
                    [12483], 256
                ],
                65392: [
                    [12540], 256
                ],
                65393: [
                    [12450], 256
                ],
                65394: [
                    [12452], 256
                ],
                65395: [
                    [12454], 256
                ],
                65396: [
                    [12456], 256
                ],
                65397: [
                    [12458], 256
                ],
                65398: [
                    [12459], 256
                ],
                65399: [
                    [12461], 256
                ],
                65400: [
                    [12463], 256
                ],
                65401: [
                    [12465], 256
                ],
                65402: [
                    [12467], 256
                ],
                65403: [
                    [12469], 256
                ],
                65404: [
                    [12471], 256
                ],
                65405: [
                    [12473], 256
                ],
                65406: [
                    [12475], 256
                ],
                65407: [
                    [12477], 256
                ],
                65408: [
                    [12479], 256
                ],
                65409: [
                    [12481], 256
                ],
                65410: [
                    [12484], 256
                ],
                65411: [
                    [12486], 256
                ],
                65412: [
                    [12488], 256
                ],
                65413: [
                    [12490], 256
                ],
                65414: [
                    [12491], 256
                ],
                65415: [
                    [12492], 256
                ],
                65416: [
                    [12493], 256
                ],
                65417: [
                    [12494], 256
                ],
                65418: [
                    [12495], 256
                ],
                65419: [
                    [12498], 256
                ],
                65420: [
                    [12501], 256
                ],
                65421: [
                    [12504], 256
                ],
                65422: [
                    [12507], 256
                ],
                65423: [
                    [12510], 256
                ],
                65424: [
                    [12511], 256
                ],
                65425: [
                    [12512], 256
                ],
                65426: [
                    [12513], 256
                ],
                65427: [
                    [12514], 256
                ],
                65428: [
                    [12516], 256
                ],
                65429: [
                    [12518], 256
                ],
                65430: [
                    [12520], 256
                ],
                65431: [
                    [12521], 256
                ],
                65432: [
                    [12522], 256
                ],
                65433: [
                    [12523], 256
                ],
                65434: [
                    [12524], 256
                ],
                65435: [
                    [12525], 256
                ],
                65436: [
                    [12527], 256
                ],
                65437: [
                    [12531], 256
                ],
                65438: [
                    [12441], 256
                ],
                65439: [
                    [12442], 256
                ],
                65440: [
                    [12644], 256
                ],
                65441: [
                    [12593], 256
                ],
                65442: [
                    [12594], 256
                ],
                65443: [
                    [12595], 256
                ],
                65444: [
                    [12596], 256
                ],
                65445: [
                    [12597], 256
                ],
                65446: [
                    [12598], 256
                ],
                65447: [
                    [12599], 256
                ],
                65448: [
                    [12600], 256
                ],
                65449: [
                    [12601], 256
                ],
                65450: [
                    [12602], 256
                ],
                65451: [
                    [12603], 256
                ],
                65452: [
                    [12604], 256
                ],
                65453: [
                    [12605], 256
                ],
                65454: [
                    [12606], 256
                ],
                65455: [
                    [12607], 256
                ],
                65456: [
                    [12608], 256
                ],
                65457: [
                    [12609], 256
                ],
                65458: [
                    [12610], 256
                ],
                65459: [
                    [12611], 256
                ],
                65460: [
                    [12612], 256
                ],
                65461: [
                    [12613], 256
                ],
                65462: [
                    [12614], 256
                ],
                65463: [
                    [12615], 256
                ],
                65464: [
                    [12616], 256
                ],
                65465: [
                    [12617], 256
                ],
                65466: [
                    [12618], 256
                ],
                65467: [
                    [12619], 256
                ],
                65468: [
                    [12620], 256
                ],
                65469: [
                    [12621], 256
                ],
                65470: [
                    [12622], 256
                ],
                65474: [
                    [12623], 256
                ],
                65475: [
                    [12624], 256
                ],
                65476: [
                    [12625], 256
                ],
                65477: [
                    [12626], 256
                ],
                65478: [
                    [12627], 256
                ],
                65479: [
                    [12628], 256
                ],
                65482: [
                    [12629], 256
                ],
                65483: [
                    [12630], 256
                ],
                65484: [
                    [12631], 256
                ],
                65485: [
                    [12632], 256
                ],
                65486: [
                    [12633], 256
                ],
                65487: [
                    [12634], 256
                ],
                65490: [
                    [12635], 256
                ],
                65491: [
                    [12636], 256
                ],
                65492: [
                    [12637], 256
                ],
                65493: [
                    [12638], 256
                ],
                65494: [
                    [12639], 256
                ],
                65495: [
                    [12640], 256
                ],
                65498: [
                    [12641], 256
                ],
                65499: [
                    [12642], 256
                ],
                65500: [
                    [12643], 256
                ],
                65504: [
                    [162], 256
                ],
                65505: [
                    [163], 256
                ],
                65506: [
                    [172], 256
                ],
                65507: [
                    [175], 256
                ],
                65508: [
                    [166], 256
                ],
                65509: [
                    [165], 256
                ],
                65510: [
                    [8361], 256
                ],
                65512: [
                    [9474], 256
                ],
                65513: [
                    [8592], 256
                ],
                65514: [
                    [8593], 256
                ],
                65515: [
                    [8594], 256
                ],
                65516: [
                    [8595], 256
                ],
                65517: [
                    [9632], 256
                ],
                65518: [
                    [9675], 256
                ]
            }
        };
        var ce = {
            nfc: se,
            nfd: N,
            nfkc: Z,
            nfkd: X
        };
        e.exports = ce, ce.shimApplied = !1, String.prototype.normalize || (Object.defineProperty(String.prototype, "normalize", {
            enumerable: !1,
            configurable: !0,
            writable: !0,
            value: function() {
                var he = "" + this,
                    Se = arguments[0] === void 0 ? "NFC" : arguments[0];
                if (this === null || this === void 0) throw new TypeError("Cannot call method on " + Object.prototype.toString.call(this));
                if (Se === "NFC") return ce.nfc(he);
                if (Se === "NFD") return ce.nfd(he);
                if (Se === "NFKC") return ce.nfkc(he);
                if (Se === "NFKD") return ce.nfkd(he);
                throw new RangeError("Invalid normalization form: " + Se)
            }
        }), ce.shimApplied = !0)
    })()
})(qE);
var _X = qE.exports;
const goe = g1(_X);

function Sc(e) {
    return ic() ? (Qp(e), !0) : !1
}

function zt(e) {
    return typeof e == "function" ? e() : fr(e)
}
const gl = typeof window < "u" && typeof document < "u";
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
const FX = e => typeof e < "u",
    SX = e => e != null,
    TX = Object.prototype.toString,
    IX = e => TX.call(e) === "[object Object]",
    Mr = () => {},
    W6 = QX();

function QX() {
    var e, t;
    return gl && ((e = window == null ? void 0 : window.navigator) == null ? void 0 : e.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((t = window == null ? void 0 : window.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent))
}

function U5(e, t) {
    function n(...r) {
        return new Promise((A, i) => {
            Promise.resolve(e(() => t.apply(this, r), {
                fn: t,
                thisArg: this,
                args: r
            })).then(A).catch(i)
        })
    }
    return n
}
const ZE = e => e();

function eb(e, t = {}) {
    let n, r, A = Mr;
    const i = o => {
        clearTimeout(o), A(), A = Mr
    };
    return o => {
        const a = zt(e),
            l = zt(t.maxWait);
        return n && i(n), a <= 0 || l !== void 0 && l <= 0 ? (r && (i(r), r = null), Promise.resolve(o())) : new Promise((u, f) => {
            A = t.rejectOnCancel ? f : u, l && !r && (r = setTimeout(() => {
                n && i(n), r = null, u(o())
            }, l)), n = setTimeout(() => {
                r && i(r), r = null, u(o())
            }, a)
        })
    }
}

function UX(...e) {
    let t = 0,
        n, r = !0,
        A = Mr,
        i, s, o, a, l;
    !Mt(e[0]) && typeof e[0] == "object" ? {
        delay: s,
        trailing: o = !0,
        leading: a = !0,
        rejectOnCancel: l = !1
    } = e[0] : [s, o = !0, a = !0, l = !1] = e;
    const u = () => {
        n && (clearTimeout(n), n = void 0, A(), A = Mr)
    };
    return d => {
        const p = zt(s),
            v = Date.now() - t,
            B = () => i = d();
        return u(), p <= 0 ? (t = Date.now(), B()) : (v > p && (a || !r) ? (t = Date.now(), B()) : o && (i = new Promise((C, w) => {
            A = l ? w : C, n = setTimeout(() => {
                t = Date.now(), r = !0, C(B()), u()
            }, Math.max(0, p - v))
        })), !a && !n && (n = setTimeout(() => r = !0, p)), r = !1, i)
    }
}

function PX(e = ZE) {
    const t = Ie(!0);

    function n() {
        t.value = !1
    }

    function r() {
        t.value = !0
    }
    const A = (...i) => {
        t.value && e(...i)
    };
    return {
        isActive: sl(t),
        pause: n,
        resume: r,
        eventFilter: A
    }
}

function OX(e) {
    let t;

    function n() {
        return t || (t = e()), t
    }
    return n.reset = async () => {
        const r = t;
        t = void 0, r && await r
    }, n
}

function DX(e) {
    return e || $t()
}

function LX(...e) {
    if (e.length !== 1) return au(...e);
    const t = e[0];
    return typeof t == "function" ? sl(kp(() => ({
        get: t,
        set: Mr
    }))) : Ie(t)
}

function voe(e, t = 200, n = {}) {
    return U5(eb(t, n), e)
}

function moe(e, t = 200, n = !1, r = !0, A = !1) {
    return U5(UX(t, n, r, A), e)
}

function tb(e, t, n = {}) {
    const {
        eventFilter: r = ZE,
        ...A
    } = n;
    return Xe(e, U5(r, t), A)
}

function nb(e, t, n = {}) {
    const {
        eventFilter: r,
        ...A
    } = n, {
        eventFilter: i,
        pause: s,
        resume: o,
        isActive: a
    } = PX(r);
    return {
        stop: tb(e, t, { ...A,
            eventFilter: i
        }),
        pause: s,
        resume: o,
        isActive: a
    }
}

function kX(e, t = {}) {
    if (!Mt(e)) return af(e);
    const n = Array.isArray(e.value) ? Array.from({
        length: e.value.length
    }) : {};
    for (const r in e.value) n[r] = kp(() => ({
        get() {
            return e.value[r]
        },
        set(A) {
            var i;
            if ((i = zt(t.replaceRef)) != null ? i : !0)
                if (Array.isArray(e.value)) {
                    const o = [...e.value];
                    o[r] = A, e.value = o
                } else {
                    const o = { ...e.value,
                        [r]: A
                    };
                    Object.setPrototypeOf(o, Object.getPrototypeOf(e.value)), e.value = o
                }
            else e.value[r] = A
        }
    }));
    return n
}

function rb(e, t = !0, n) {
    DX() ? sn(e, n) : t ? e() : bt(e)
}

function Boe(e, t) {
    return De(() => zt(e).map(n => zt(n)).filter(t))
}

function HX(e, t, n = {}) {
    const {
        immediate: r = !0
    } = n, A = Ie(!1);
    let i = null;

    function s() {
        i && (clearTimeout(i), i = null)
    }

    function o() {
        A.value = !1, s()
    }

    function a(...l) {
        s(), A.value = !0, i = setTimeout(() => {
            A.value = !1, i = null, e(...l)
        }, zt(t))
    }
    return r && (A.value = !0, gl && a()), Sc(o), {
        isPending: sl(A),
        start: a,
        stop: o
    }
}

function woe(e, t, n = {}) {
    const {
        debounce: r = 0,
        maxWait: A = void 0,
        ...i
    } = n;
    return tb(e, t, { ...i,
        eventFilter: eb(r, {
            maxWait: A
        })
    })
}

function MA(e) {
    var t;
    const n = zt(e);
    return (t = n == null ? void 0 : n.$el) != null ? t : n
}
const CA = gl ? window : void 0,
    MX = gl ? window.document : void 0,
    Ab = gl ? window.navigator : void 0;

function On(...e) {
    let t, n, r, A;
    if (typeof e[0] == "string" || Array.isArray(e[0]) ? ([n, r, A] = e, t = CA) : [t, n, r, A] = e, !t) return Mr;
    Array.isArray(n) || (n = [n]), Array.isArray(r) || (r = [r]);
    const i = [],
        s = () => {
            i.forEach(u => u()), i.length = 0
        },
        o = (u, f, d, p) => (u.addEventListener(f, d, p), () => u.removeEventListener(f, d, p)),
        a = Xe(() => [MA(t), zt(A)], ([u, f]) => {
            if (s(), !u) return;
            const d = IX(f) ? { ...f
            } : f;
            i.push(...n.flatMap(p => r.map(v => o(u, p, v, d))))
        }, {
            immediate: !0,
            flush: "post"
        }),
        l = () => {
            a(), s()
        };
    return Sc(l), l
}
let m7 = !1;

function yoe(e, t, n = {}) {
    const {
        window: r = CA,
        ignore: A = [],
        capture: i = !0,
        detectIframe: s = !1
    } = n;
    if (!r) return Mr;
    W6 && !m7 && (m7 = !0, Array.from(r.document.body.children).forEach(d => d.addEventListener("click", Mr)), r.document.documentElement.addEventListener("click", Mr));
    let o = !0;
    const a = d => A.some(p => {
            if (typeof p == "string") return Array.from(r.document.querySelectorAll(p)).some(v => v === d.target || d.composedPath().includes(v)); {
                const v = MA(p);
                return v && (d.target === v || d.composedPath().includes(v))
            }
        }),
        u = [On(r, "click", d => {
            const p = MA(e);
            if (!(!p || p === d.target || d.composedPath().includes(p))) {
                if (d.detail === 0 && (o = !a(d)), !o) {
                    o = !0;
                    return
                }
                t(d)
            }
        }, {
            passive: !0,
            capture: i
        }), On(r, "pointerdown", d => {
            const p = MA(e);
            o = !a(d) && !!(p && !d.composedPath().includes(p))
        }, {
            passive: !0
        }), s && On(r, "blur", d => {
            setTimeout(() => {
                var p;
                const v = MA(e);
                ((p = r.document.activeElement) == null ? void 0 : p.tagName) === "IFRAME" && !(v != null && v.contains(r.document.activeElement)) && t(d)
            }, 0)
        })].filter(Boolean);
    return () => u.forEach(d => d())
}

function RX() {
    const e = Ie(!1),
        t = $t();
    return t && sn(() => {
        e.value = !0
    }, t), e
}

function W1(e) {
    const t = RX();
    return De(() => (t.value, !!e()))
}

function Coe(e, t) {
    const {
        interrupt: n = !0,
        onError: r = Mr,
        onFinished: A = Mr,
        signal: i
    } = t || {}, s = {
        aborted: "aborted",
        fulfilled: "fulfilled",
        pending: "pending",
        rejected: "rejected"
    }, o = Array.from(Array.from({
        length: e.length
    }), () => ({
        state: s.pending,
        data: null
    })), a = Zt(o), l = Ie(-1);
    if (!e || e.length === 0) return A(), {
        activeIndex: l,
        result: a
    };

    function u(f, d) {
        l.value++, a[l.value].data = d, a[l.value].state = f
    }
    return e.reduce((f, d) => f.then(p => {
        var v;
        if (i != null && i.aborted) {
            u(s.aborted, new Error("aborted"));
            return
        }
        if (((v = a[l.value]) == null ? void 0 : v.state) === s.rejected && n) {
            A();
            return
        }
        const B = d(p).then(C => (u(s.fulfilled, C), l.value === e.length - 1 && A(), C));
        return i ? Promise.race([B, NX(i)]) : B
    }).catch(p => i != null && i.aborted ? (u(s.aborted, p), p) : (u(s.rejected, p), r(), p)), Promise.resolve()), {
        activeIndex: l,
        result: a
    }
}

function NX(e) {
    return new Promise((t, n) => {
        const r = new Error("aborted");
        e.aborted ? n(r) : e.addEventListener("abort", () => n(r), {
            once: !0
        })
    })
}

function B7(e, t = {}) {
    const {
        controls: n = !1,
        navigator: r = Ab
    } = t, A = W1(() => r && "permissions" in r);
    let i;
    const s = typeof e == "string" ? {
            name: e
        } : e,
        o = Ie(),
        a = () => {
            i && (o.value = i.state)
        },
        l = OX(async () => {
            if (A.value) {
                if (!i) try {
                    i = await r.permissions.query(s), On(i, "change", a), a()
                } catch {
                    o.value = "prompt"
                }
                return i
            }
        });
    return l(), n ? {
        state: o,
        isSupported: A,
        query: l
    } : o
}

function Eoe(e = {}) {
    const {
        navigator: t = Ab,
        read: n = !1,
        source: r,
        copiedDuring: A = 1500,
        legacy: i = !1
    } = e, s = W1(() => t && "clipboard" in t), o = B7("clipboard-read"), a = B7("clipboard-write"), l = De(() => s.value || i), u = Ie(""), f = Ie(!1), d = HX(() => f.value = !1, A);

    function p() {
        s.value && w(o.value) ? t.clipboard.readText().then(m => {
            u.value = m
        }) : u.value = C()
    }
    l.value && n && On(["copy", "cut"], p);
    async function v(m = zt(r)) {
        l.value && m != null && (s.value && w(a.value) ? await t.clipboard.writeText(m) : B(m), u.value = m, f.value = !0, d.start())
    }

    function B(m) {
        const E = document.createElement("textarea");
        E.value = m ? ? "", E.style.position = "absolute", E.style.opacity = "0", document.body.appendChild(E), E.select(), document.execCommand("copy"), E.remove()
    }

    function C() {
        var m, E, y;
        return (y = (E = (m = document == null ? void 0 : document.getSelection) == null ? void 0 : m.call(document)) == null ? void 0 : E.toString()) != null ? y : ""
    }

    function w(m) {
        return m === "granted" || m === "prompt"
    }
    return {
        isSupported: l,
        text: u,
        copied: f,
        copy: v
    }
}

function $X(e) {
    return JSON.parse(JSON.stringify(e))
}
const f0 = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {},
    d0 = "__vueuse_ssr_handlers__",
    KX = VX();

function VX() {
    return d0 in f0 || (f0[d0] = f0[d0] || {}), f0[d0]
}

function GX(e, t) {
    return KX[e] || t
}

function jX(e) {
    return e == null ? "any" : e instanceof Set ? "set" : e instanceof Map ? "map" : e instanceof Date ? "date" : typeof e == "boolean" ? "boolean" : typeof e == "string" ? "string" : typeof e == "object" ? "object" : Number.isNaN(e) ? "any" : "number"
}
const WX = {
        boolean: {
            read: e => e === "true",
            write: e => String(e)
        },
        object: {
            read: e => JSON.parse(e),
            write: e => JSON.stringify(e)
        },
        number: {
            read: e => Number.parseFloat(e),
            write: e => String(e)
        },
        any: {
            read: e => e,
            write: e => String(e)
        },
        string: {
            read: e => e,
            write: e => String(e)
        },
        map: {
            read: e => new Map(JSON.parse(e)),
            write: e => JSON.stringify(Array.from(e.entries()))
        },
        set: {
            read: e => new Set(JSON.parse(e)),
            write: e => JSON.stringify(Array.from(e))
        },
        date: {
            read: e => new Date(e),
            write: e => e.toISOString()
        }
    },
    w7 = "vueuse-storage";

function ib(e, t, n, r = {}) {
    var A;
    const {
        flush: i = "pre",
        deep: s = !0,
        listenToStorageChanges: o = !0,
        writeDefaults: a = !0,
        mergeDefaults: l = !1,
        shallow: u,
        window: f = CA,
        eventFilter: d,
        onError: p = I => {
            console.error(I)
        },
        initOnMounted: v
    } = r, B = (u ? qf : Ie)(typeof t == "function" ? t() : t);
    if (!n) try {
        n = GX("getDefaultStorage", () => {
            var I;
            return (I = CA) == null ? void 0 : I.localStorage
        })()
    } catch (I) {
        p(I)
    }
    if (!n) return B;
    const C = zt(t),
        w = jX(C),
        m = (A = r.serializer) != null ? A : WX[w],
        {
            pause: E,
            resume: y
        } = nb(B, () => F(B.value), {
            flush: i,
            deep: s,
            eventFilter: d
        });
    f && o && rb(() => {
        On(f, "storage", P), On(f, w7, L), v && P()
    }), v || P();

    function x(I, _) {
        f && f.dispatchEvent(new CustomEvent(w7, {
            detail: {
                key: e,
                oldValue: I,
                newValue: _,
                storageArea: n
            }
        }))
    }

    function F(I) {
        try {
            const _ = n.getItem(e);
            if (I == null) x(_, null), n.removeItem(e);
            else {
                const D = m.write(I);
                _ !== D && (n.setItem(e, D), x(_, D))
            }
        } catch (_) {
            p(_)
        }
    }

    function Q(I) {
        const _ = I ? I.newValue : n.getItem(e);
        if (_ == null) return a && C != null && n.setItem(e, m.write(C)), C;
        if (!I && l) {
            const D = m.read(_);
            return typeof l == "function" ? l(D, C) : w === "object" && !Array.isArray(D) ? { ...C,
                ...D
            } : D
        } else return typeof _ != "string" ? _ : m.read(_)
    }

    function P(I) {
        if (!(I && I.storageArea !== n)) {
            if (I && I.key == null) {
                B.value = C;
                return
            }
            if (!(I && I.key !== e)) {
                E();
                try {
                    (I == null ? void 0 : I.newValue) !== m.write(B.value) && (B.value = Q(I))
                } catch (_) {
                    p(_)
                } finally {
                    I ? bt(y) : y()
                }
            }
        }
    }

    function L(I) {
        P(I.detail)
    }
    return B
}

function zX(e, t, n = {}) {
    const {
        window: r = CA,
        ...A
    } = n;
    let i;
    const s = W1(() => r && "MutationObserver" in r),
        o = () => {
            i && (i.disconnect(), i = void 0)
        },
        a = De(() => {
            const d = zt(e),
                p = (Array.isArray(d) ? d : [d]).map(MA).filter(SX);
            return new Set(p)
        }),
        l = Xe(() => a.value, d => {
            o(), s.value && r && d.size && (i = new MutationObserver(t), d.forEach(p => i.observe(p, A)))
        }, {
            immediate: !0,
            flush: "post"
        }),
        u = () => i == null ? void 0 : i.takeRecords(),
        f = () => {
            o(), l()
        };
    return Sc(f), {
        isSupported: s,
        stop: f,
        takeRecords: u
    }
}

function boe(e = {}) {
    const {
        document: t = MX
    } = e;
    if (!t) return Ie("visible");
    const n = Ie(t.visibilityState);
    return On(t, "visibilitychange", () => {
        n.value = t.visibilityState
    }), n
}

function xoe(e, t = {}) {
    var n, r;
    const {
        pointerTypes: A,
        preventDefault: i,
        stopPropagation: s,
        exact: o,
        onMove: a,
        onEnd: l,
        onStart: u,
        initialValue: f,
        axis: d = "both",
        draggingElement: p = CA,
        containerElement: v,
        handle: B = e
    } = t, C = Ie((n = zt(f)) != null ? n : {
        x: 0,
        y: 0
    }), w = Ie(), m = Q => A ? A.includes(Q.pointerType) : !0, E = Q => {
        zt(i) && Q.preventDefault(), zt(s) && Q.stopPropagation()
    }, y = Q => {
        var P;
        if (zt(t.disabled) || !m(Q) || zt(o) && Q.target !== zt(e)) return;
        const L = zt(v),
            I = (P = L == null ? void 0 : L.getBoundingClientRect) == null ? void 0 : P.call(L),
            _ = zt(e).getBoundingClientRect(),
            D = {
                x: Q.clientX - (L ? _.left - I.left + L.scrollLeft : _.left),
                y: Q.clientY - (L ? _.top - I.top + L.scrollTop : _.top)
            };
        (u == null ? void 0 : u(D, Q)) !== !1 && (w.value = D, E(Q))
    }, x = Q => {
        if (zt(t.disabled) || !m(Q) || !w.value) return;
        const P = zt(v),
            L = zt(e).getBoundingClientRect();
        let {
            x: I,
            y: _
        } = C.value;
        (d === "x" || d === "both") && (I = Q.clientX - w.value.x, P && (I = Math.min(Math.max(0, I), P.scrollWidth - L.width))), (d === "y" || d === "both") && (_ = Q.clientY - w.value.y, P && (_ = Math.min(Math.max(0, _), P.scrollHeight - L.height))), C.value = {
            x: I,
            y: _
        }, a == null || a(C.value, Q), E(Q)
    }, F = Q => {
        zt(t.disabled) || !m(Q) || w.value && (w.value = void 0, l == null || l(C.value, Q), E(Q))
    };
    if (gl) {
        const Q = {
            capture: (r = t.capture) != null ? r : !0
        };
        On(B, "pointerdown", y, Q), On(p, "pointermove", x, Q), On(p, "pointerup", F, Q)
    }
    return { ...kX(C),
        position: C,
        isDragging: De(() => !!w.value),
        style: De(() => `left:${C.value.x}px;top:${C.value.y}px;`)
    }
}

function YX(e, t, n = {}) {
    const {
        window: r = CA,
        ...A
    } = n;
    let i;
    const s = W1(() => r && "ResizeObserver" in r),
        o = () => {
            i && (i.disconnect(), i = void 0)
        },
        a = De(() => Array.isArray(e) ? e.map(f => MA(f)) : [MA(e)]),
        l = Xe(a, f => {
            if (o(), s.value && r) {
                i = new ResizeObserver(t);
                for (const d of f) d && i.observe(d, A)
            }
        }, {
            immediate: !0,
            flush: "post"
        }),
        u = () => {
            o(), l()
        };
    return Sc(u), {
        isSupported: s,
        stop: u
    }
}

function _oe(e, t = {}) {
    const {
        reset: n = !0,
        windowResize: r = !0,
        windowScroll: A = !0,
        immediate: i = !0
    } = t, s = Ie(0), o = Ie(0), a = Ie(0), l = Ie(0), u = Ie(0), f = Ie(0), d = Ie(0), p = Ie(0);

    function v() {
        const B = MA(e);
        if (!B) {
            n && (s.value = 0, o.value = 0, a.value = 0, l.value = 0, u.value = 0, f.value = 0, d.value = 0, p.value = 0);
            return
        }
        const C = B.getBoundingClientRect();
        s.value = C.height, o.value = C.bottom, a.value = C.left, l.value = C.right, u.value = C.top, f.value = C.width, d.value = C.x, p.value = C.y
    }
    return YX(e, v), Xe(() => MA(e), B => !B && v()), zX(e, v, {
        attributeFilter: ["style", "class"]
    }), A && On("scroll", v, {
        capture: !0,
        passive: !0
    }), r && On("resize", v, {
        passive: !0
    }), rb(() => {
        i && v()
    }), {
        height: s,
        bottom: o,
        left: a,
        right: l,
        top: u,
        width: f,
        x: d,
        y: p,
        update: v
    }
}
const Gl = new Map;

function Foe(e) {
    const t = ic();

    function n(o) {
        var a;
        const l = Gl.get(e) || new Set;
        l.add(o), Gl.set(e, l);
        const u = () => A(o);
        return (a = t == null ? void 0 : t.cleanups) == null || a.push(u), u
    }

    function r(o) {
        function a(...l) {
            A(a), o(...l)
        }
        return n(a)
    }

    function A(o) {
        const a = Gl.get(e);
        a && (a.delete(o), a.size || i())
    }

    function i() {
        Gl.delete(e)
    }

    function s(o, a) {
        var l;
        (l = Gl.get(e)) == null || l.forEach(u => u(o, a))
    }
    return {
        on: n,
        once: r,
        off: A,
        emit: s,
        reset: i
    }
}

function Vh(e) {
    return typeof Window < "u" && e instanceof Window ? e.document.documentElement : typeof Document < "u" && e instanceof Document ? e.documentElement : e
}

function Soe(e, t, n = {}) {
    const {
        window: r = CA
    } = n;
    return ib(e, t, r == null ? void 0 : r.localStorage, n)
}

function sb(e) {
    const t = window.getComputedStyle(e);
    if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && e.clientWidth < e.scrollWidth || t.overflowY === "auto" && e.clientHeight < e.scrollHeight) return !0; {
        const n = e.parentNode;
        return !n || n.tagName === "BODY" ? !1 : sb(n)
    }
}

function XX(e) {
    const t = e || window.event,
        n = t.target;
    return sb(n) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1)
}
const h0 = new WeakMap;

function Toe(e, t = !1) {
    const n = Ie(t);
    let r = null;
    Xe(LX(e), s => {
        const o = Vh(zt(s));
        if (o) {
            const a = o;
            h0.get(a) || h0.set(a, a.style.overflow), n.value && (a.style.overflow = "hidden")
        }
    }, {
        immediate: !0
    });
    const A = () => {
            const s = Vh(zt(e));
            !s || n.value || (W6 && (r = On(s, "touchmove", o => {
                XX(o)
            }, {
                passive: !1
            })), s.style.overflow = "hidden", n.value = !0)
        },
        i = () => {
            var s;
            const o = Vh(zt(e));
            !o || !n.value || (W6 && (r == null || r()), o.style.overflow = (s = h0.get(o)) != null ? s : "", h0.delete(o), n.value = !1)
        };
    return Sc(i), De({
        get() {
            return n.value
        },
        set(s) {
            s ? A() : i()
        }
    })
}

function Ioe(e, t, n = {}) {
    const {
        window: r = CA
    } = n;
    return ib(e, t, r == null ? void 0 : r.sessionStorage, n)
}

function Qoe(e, t = {}) {
    const {
        threshold: n = 50,
        onSwipe: r,
        onSwipeEnd: A,
        onSwipeStart: i,
        passive: s = !0,
        window: o = CA
    } = t, a = Zt({
        x: 0,
        y: 0
    }), l = Zt({
        x: 0,
        y: 0
    }), u = De(() => a.x - l.x), f = De(() => a.y - l.y), {
        max: d,
        abs: p
    } = Math, v = De(() => d(p(u.value), p(f.value)) >= n), B = Ie(!1), C = De(() => v.value ? p(u.value) > p(f.value) ? u.value > 0 ? "left" : "right" : f.value > 0 ? "up" : "down" : "none"), w = L => [L.touches[0].clientX, L.touches[0].clientY], m = (L, I) => {
        a.x = L, a.y = I
    }, E = (L, I) => {
        l.x = L, l.y = I
    };
    let y;
    const x = JX(o == null ? void 0 : o.document);
    s ? y = x ? {
        passive: !0
    } : {
        capture: !1
    } : y = x ? {
        passive: !1,
        capture: !0
    } : {
        capture: !0
    };
    const F = L => {
            B.value && (A == null || A(L, C.value)), B.value = !1
        },
        Q = [On(e, "touchstart", L => {
            if (L.touches.length !== 1) return;
            y.capture && !y.passive && L.preventDefault();
            const [I, _] = w(L);
            m(I, _), E(I, _), i == null || i(L)
        }, y), On(e, "touchmove", L => {
            if (L.touches.length !== 1) return;
            const [I, _] = w(L);
            E(I, _), !B.value && v.value && (B.value = !0), B.value && (r == null || r(L))
        }, y), On(e, ["touchend", "touchcancel"], F, y)];
    return {
        isPassiveEventSupported: x,
        isSwiping: B,
        direction: C,
        coordsStart: a,
        coordsEnd: l,
        lengthX: u,
        lengthY: f,
        stop: () => Q.forEach(L => L())
    }
}

function JX(e) {
    if (!e) return !1;
    let t = !1;
    const n = {
        get passive() {
            return t = !0, !1
        }
    };
    return e.addEventListener("x", Mr, n), e.removeEventListener("x", Mr), t
}

function Uoe(e = "history", t = {}) {
    const {
        initialValue: n = {},
        removeNullishValues: r = !0,
        removeFalsyValues: A = !1,
        write: i = !0,
        window: s = CA
    } = t;
    if (!s) return Zt(n);
    const o = Zt({});

    function a() {
        if (e === "history") return s.location.search || "";
        if (e === "hash") {
            const w = s.location.hash || "",
                m = w.indexOf("?");
            return m > 0 ? w.slice(m) : ""
        } else return (s.location.hash || "").replace(/^#/, "")
    }

    function l(w) {
        const m = w.toString();
        if (e === "history") return `${m?`?${m}`:""}${s.location.hash||""}`;
        if (e === "hash-params") return `${s.location.search||""}${m?`#${m}`:""}`;
        const E = s.location.hash || "#",
            y = E.indexOf("?");
        return y > 0 ? `${E.slice(0,y)}${m?`?${m}`:""}` : `${E}${m?`?${m}`:""}`
    }

    function u() {
        return new URLSearchParams(a())
    }

    function f(w) {
        const m = new Set(Object.keys(o));
        for (const E of w.keys()) {
            const y = w.getAll(E);
            o[E] = y.length > 1 ? y : w.get(E) || "", m.delete(E)
        }
        Array.from(m).forEach(E => delete o[E])
    }
    const {
        pause: d,
        resume: p
    } = nb(o, () => {
        const w = new URLSearchParams("");
        Object.keys(o).forEach(m => {
            const E = o[m];
            Array.isArray(E) ? E.forEach(y => w.append(m, y)) : r && E == null || A && !E ? w.delete(m) : w.set(m, E)
        }), v(w)
    }, {
        deep: !0
    });

    function v(w, m) {
        d(), m && f(w), s.history.replaceState(s.history.state, s.document.title, s.location.pathname + l(w)), p()
    }

    function B() {
        i && v(u(), !0)
    }
    On(s, "popstate", B, !1), e !== "history" && On(s, "hashchange", B, !1);
    const C = u();
    return C.keys().next().value ? f(C) : Object.assign(o, n), o
}

function qX(e, t, n, r = {}) {
    var A, i, s;
    const {
        clone: o = !1,
        passive: a = !1,
        eventName: l,
        deep: u = !1,
        defaultValue: f,
        shouldEmit: d
    } = r, p = $t(), v = n || (p == null ? void 0 : p.emit) || ((A = p == null ? void 0 : p.$emit) == null ? void 0 : A.bind(p)) || ((s = (i = p == null ? void 0 : p.proxy) == null ? void 0 : i.$emit) == null ? void 0 : s.bind(p == null ? void 0 : p.proxy));
    let B = l;
    t || (t = "modelValue"), B = B || `update:${t.toString()}`;
    const C = E => o ? typeof o == "function" ? o(E) : $X(E) : E,
        w = () => FX(e[t]) ? C(e[t]) : f,
        m = E => {
            d ? d(E) && v(B, E) : v(B, E)
        };
    if (a) {
        const E = w(),
            y = Ie(E);
        let x = !1;
        return Xe(() => e[t], F => {
            x || (x = !0, y.value = C(F), bt(() => x = !1))
        }), Xe(y, F => {
            !x && (F !== e[t] || u) && m(F)
        }, {
            deep: u
        }), y
    } else return De({
        get() {
            return w()
        },
        set(E) {
            m(E)
        }
    })
}

function Poe(e, t, n = {}) {
    const r = {};
    for (const A in e) r[A] = qX(e, A, t, n);
    return r
}

function ZX(e) {
    return {
        all: e = e || new Map,
        on: function(t, n) {
            var r = e.get(t);
            r ? r.push(n) : e.set(t, [n])
        },
        off: function(t, n) {
            var r = e.get(t);
            r && (n ? r.splice(r.indexOf(n) >>> 0, 1) : e.set(t, []))
        },
        emit: function(t, n) {
            var r = e.get(t);
            r && r.slice().map(function(A) {
                A(n)
            }), (r = e.get("*")) && r.slice().map(function(A) {
                A(t, n)
            })
        }
    }
}

function y7(e, t) {
    var n = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var r = Object.getOwnPropertySymbols(e);
        t && (r = r.filter(function(A) {
            return Object.getOwnPropertyDescriptor(e, A).enumerable
        })), n.push.apply(n, r)
    }
    return n
}

function eJ(e) {
    for (var t = 1; t < arguments.length; t++) {
        var n = arguments[t] != null ? arguments[t] : {};
        t % 2 ? y7(Object(n), !0).forEach(function(r) {
            tJ(e, r, n[r])
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : y7(Object(n)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r))
        })
    }
    return e
}

function tJ(e, t, n) {
    return t in e ? Object.defineProperty(e, t, {
        value: n,
        enumerable: !0,
        configurable: !0,
        writable: !0
    }) : e[t] = n, e
}

function nJ(e, t) {
    return rJ(e) || AJ(e, t) || iJ(e, t) || sJ()
}

function rJ(e) {
    if (Array.isArray(e)) return e
}

function AJ(e, t) {
    var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
    if (n != null) {
        var r = [],
            A = !0,
            i = !1,
            s, o;
        try {
            for (n = n.call(e); !(A = (s = n.next()).done) && (r.push(s.value), !(t && r.length === t)); A = !0);
        } catch (a) {
            i = !0, o = a
        } finally {
            try {
                !A && n.return != null && n.return()
            } finally {
                if (i) throw o
            }
        }
        return r
    }
}

function iJ(e, t) {
    if (e) {
        if (typeof e == "string") return C7(e, t);
        var n = Object.prototype.toString.call(e).slice(8, -1);
        if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(e);
        if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return C7(e, t)
    }
}

function C7(e, t) {
    (t == null || t > e.length) && (t = e.length);
    for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
    return r
}

function sJ() {
    throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)
}
var Gh = {
    current: null
};

function oJ() {
    var e, t = Array.prototype.slice;

    function n(A) {
        return r._h ? r._h.apply(null, A) : r._q.push(A)
    }
    var r = {
        _q: [],
        _h: null,
        _v: "2.0",
        on: function() {
            n(["on", t.call(arguments)])
        },
        once: function() {
            n(["once", t.call(arguments)])
        },
        off: function() {
            n(["off", t.call(arguments)])
        },
        get: function() {
            if (!r._h) throw new Error("[LiveChatWidget] You can't use getters before load.");
            return n(["get", t.call(arguments)])
        },
        call: function() {
            n(["call", t.call(arguments)])
        },
        init: function() {
            var i = document.createElement("script");
            i.async = !0, i.type = "text/javascript", i.src = "https://cdn.livechatinc.com/tracking.js", document.head.appendChild(i), Gh.current = i
        }
    };
    return (e = Gh.current) === null || e === void 0 || e.remove(), window.LiveChatWidget = window.LiveChatWidget || r, Gh
}

function aJ(e) {
    var t = e.license,
        n = e.group,
        r = e.chatBetweenGroups,
        A = e.sessionVariables,
        i = e.customIdentityProvider;
    if (window.__lc = window.__lc || {}, typeof t == "string") window.__lc.license = Number(t);
    else throw new Error("[LiveChatWidget] The license property is required for initialization");
    typeof n < "u" && (window.__lc.group = Number(n)), typeof r < "u" && (window.__lc.chat_between_groups = !!r), A instanceof Object && (window.__lc.params = Object.entries(A).map(function(s) {
        var o = nJ(s, 2),
            a = o[0],
            l = o[1];
        return {
            name: a,
            value: l
        }
    })), typeof i == "function" && (window.__lc.custom_identity_provider = i)
}

function jh(e, t) {
    e === "off" && typeof window.LiveChatWidget > "u" || (typeof t.onReady == "function" && window.LiveChatWidget[e]("ready", t.onReady), typeof t.onAvailabilityChanged == "function" && window.LiveChatWidget[e]("availability_changed", t.onAvailabilityChanged), typeof t.onVisibilityChanged == "function" && window.LiveChatWidget[e]("visibility_changed", t.onVisibilityChanged), typeof t.onCustomerStatusChanged == "function" && window.LiveChatWidget[e]("customer_status_changed", t.onCustomerStatusChanged), typeof t.onNewEvent == "function" && window.LiveChatWidget[e]("new_event", t.onNewEvent), typeof t.onFormSubmitted == "function" && window.LiveChatWidget[e]("form_submitted", t.onFormSubmitted), typeof t.onRatingSubmitted == "function" && window.LiveChatWidget[e]("rating_submitted", t.onRatingSubmitted), typeof t.onGreetingDisplayed == "function" && window.LiveChatWidget[e]("greeting_displayed", t.onGreetingDisplayed), typeof t.onGreetingHidden == "function" && window.LiveChatWidget[e]("greeting_hidden", t.onGreetingHidden), typeof t.onRichMessageButtonClicked == "function" && window.LiveChatWidget[e]("rich_message_button_clicked", t.onRichMessageButtonClicked))
}

function E7(e) {
    typeof e.name == "string" && window.LiveChatWidget.call("set_customer_name", e.name), typeof e.email == "string" && window.LiveChatWidget.call("set_customer_email", e.email)
}

function b7(e) {
    e === "hidden" && window.LiveChatWidget.call("hide"), e === "maximized" && window.LiveChatWidget.call("maximize"), e === "minimized" && window.LiveChatWidget.call("minimize")
}
var lJ = ZX(),
    x7 = lJ.emit.bind(null);

function uJ(e) {
    var t = {
            isLoading: !1,
            desiredState: "unknown",
            currentEventHandlers: {
                onReady: e.onReady,
                onNewEvent: e.onNewEvent,
                onFormSubmitted: e.onFormSubmitted,
                onGreetingHidden: e.onGreetingHidden,
                onRatingSubmitted: e.onRatingSubmitted,
                onGreetingDisplayed: e.onGreetingDisplayed,
                onVisibilityChanged: e.onVisibilityChanged,
                onAvailabilityChanged: e.onAvailabilityChanged,
                onCustomerStatusChanged: e.onCustomerStatusChanged,
                onRichMessageButtonClicked: e.onRichMessageButtonClicked
            }
        },
        n = oJ();
    return aJ(e), b7(e.visibility), jh("on", t.currentEventHandlers), E7({
        name: e.customerName,
        email: e.customerEmail
    }), window.__lc.integration_name = "@livechat/widget-core", {
        init: function() {
            var A = this;
            t.desiredState = "loaded", !t.isLoading && (window.LC_API = window.LC_API || {}, window.LC_API.on_after_load = function() {
                t.isLoading = !1, t.desiredState === "destroyed" && A.destroy(), t.desiredState = "unknown"
            }, x7("init"), t.isLoading = !0, window.LiveChatWidget.init())
        },
        destroy: function() {
            var A;
            t.desiredState = "destroyed", !t.isLoading && (x7("destroy"), (A = n.current) === null || A === void 0 || A.remove(), window.LiveChatWidget.call("destroy"))
        },
        updateVisibility: function(A) {
            b7(A)
        },
        updateEventHandlers: function(A) {
            jh("off", t.currentEventHandlers), jh("on", A), t.currentEventHandlers = eJ({}, A)
        },
        updateSessionVariables: function(A) {
            A && window.LiveChatWidget.call("update_session_variables", A)
        },
        hideGreeting: function() {
            window.LiveChatWidget.call("hide_greeting")
        },
        updateCustomerData: function(A) {
            E7(A)
        }
    }
}
var Ooe = nt({
    props: {
        license: {
            type: String,
            required: !0
        },
        group: {
            type: String,
            required: !1,
            default: void 0
        },
        visibility: {
            type: String,
            required: !1,
            default: void 0
        },
        customerName: {
            type: String,
            required: !1,
            default: void 0
        },
        customerEmail: {
            type: String,
            required: !1,
            default: void 0
        },
        sessionVariables: {
            type: Object,
            required: !1,
            default: void 0
        },
        chatBetweenGroups: {
            type: Boolean,
            required: !1,
            default: void 0
        },
        customIdentityProvider: {
            type: Function,
            required: !1,
            default: void 0
        }
    },
    emits: ["ready", "new-event", "form-submitted", "rating-submitted", "greeting-hidden", "greeting-displayed", "visibility-changed", "customer-status-changed", "rich-message-button-clicked", "availability-changed"],
    data: function() {
        return {
            widget: null
        }
    },
    watch: {
        license: "reinitialize",
        group: "reinitialize",
        chatBetweenGroups: "reinitialize",
        visibility: function(t) {
            var n;
            (n = this.widget) === null || n === void 0 || n.updateVisibility(t)
        },
        customerName: function(t) {
            var n;
            (n = this.widget) === null || n === void 0 || n.updateCustomerData({
                name: t
            })
        },
        customerEmail: function(t) {
            var n;
            (n = this.widget) === null || n === void 0 || n.updateCustomerData({
                email: t
            })
        },
        sessionVariables: function(t) {
            var n;
            (n = this.widget) === null || n === void 0 || n.updateSessionVariables(t)
        }
    },
    mounted: function() {
        this.setupWidget()
    },
    unmounted: function() {
        var t;
        (t = this.widget) === null || t === void 0 || t.destroy()
    },
    methods: {
        setupWidget: function() {
            var t = this;
            this.widget = uJ({
                group: this.group,
                license: this.license,
                customerName: this.customerName,
                customerEmail: this.customerEmail,
                sessionVariables: this.sessionVariables,
                chatBetweenGroups: this.chatBetweenGroups,
                visibility: this.visibility,
                customIdentityProvider: this.customIdentityProvider,
                onReady: function(r) {
                    return t.$emit("ready", r)
                },
                onNewEvent: function(r) {
                    return t.$emit("new-event", r)
                },
                onFormSubmitted: function(r) {
                    return t.$emit("form-submitted", r)
                },
                onRatingSubmitted: function(r) {
                    return t.$emit("rating-submitted", r)
                },
                onGreetingHidden: function(r) {
                    return t.$emit("greeting-hidden", r)
                },
                onGreetingDisplayed: function(r) {
                    return t.$emit("greeting-displayed", r)
                },
                onVisibilityChanged: function(r) {
                    return t.$emit("visibility-changed", r)
                },
                onCustomerStatusChanged: function(r) {
                    return t.$emit("customer-status-changed", r)
                },
                onRichMessageButtonClicked: function(r) {
                    return t.$emit("rich-message-button-clicked", r)
                },
                onAvailabilityChanged: function(r) {
                    return t.$emit("availability-changed", r)
                }
            }), window.__lc.integration_name = "@livechat/widget-vue", this.widget.init()
        },
        reinitialize: function() {
            var t;
            (t = this.widget) === null || t === void 0 || t.destroy(), this.setupWidget()
        }
    },
    render: function() {
        return null
    }
});
var z6 = {
    exports: {}
};
(function(e, t) {
    typeof navigator < "u" && function(n, r) {
        e.exports = r()
    }(yt, function() {
        var n = "http://www.w3.org/2000/svg",
            r = "",
            A = !1,
            i = -999999,
            s = function(h) {
                A = !!h
            },
            o = function() {
                return A
            },
            a = function(h) {
                r = h
            },
            l = function() {
                return r
            };

        function u(c) {
            return document.createElement(c)
        }

        function f(c, h) {
            var g, b = c.length,
                T;
            for (g = 0; g < b; g += 1) {
                T = c[g].prototype;
                for (var S in T) Object.prototype.hasOwnProperty.call(T, S) && (h.prototype[S] = T[S])
            }
        }

        function d(c) {
            function h() {}
            return h.prototype = c, h
        }
        var p = function() {
                function c(h) {
                    this.audios = [], this.audioFactory = h, this._volume = 1, this._isMuted = !1
                }
                return c.prototype = {
                        addAudio: function(g) {
                            this.audios.push(g)
                        },
                        pause: function() {
                            var g, b = this.audios.length;
                            for (g = 0; g < b; g += 1) this.audios[g].pause()
                        },
                        resume: function() {
                            var g, b = this.audios.length;
                            for (g = 0; g < b; g += 1) this.audios[g].resume()
                        },
                        setRate: function(g) {
                            var b, T = this.audios.length;
                            for (b = 0; b < T; b += 1) this.audios[b].setRate(g)
                        },
                        createAudio: function(g) {
                            return this.audioFactory ? this.audioFactory(g) : window.Howl ? new window.Howl({
                                src: [g]
                            }) : {
                                isPlaying: !1,
                                play: function() {
                                    this.isPlaying = !0
                                },
                                seek: function() {
                                    this.isPlaying = !1
                                },
                                playing: function() {},
                                rate: function() {},
                                setVolume: function() {}
                            }
                        },
                        setAudioFactory: function(g) {
                            this.audioFactory = g
                        },
                        setVolume: function(g) {
                            this._volume = g, this._updateVolume()
                        },
                        mute: function() {
                            this._isMuted = !0, this._updateVolume()
                        },
                        unmute: function() {
                            this._isMuted = !1, this._updateVolume()
                        },
                        getVolume: function() {
                            return this._volume
                        },
                        _updateVolume: function() {
                            var g, b = this.audios.length;
                            for (g = 0; g < b; g += 1) this.audios[g].volume(this._volume * (this._isMuted ? 0 : 1))
                        }
                    },
                    function() {
                        return new c
                    }
            }(),
            v = function() {
                function c(g, b) {
                    var T = 0,
                        S = [],
                        H;
                    switch (g) {
                        case "int16":
                        case "uint8c":
                            H = 1;
                            break;
                        default:
                            H = 1.1;
                            break
                    }
                    for (T = 0; T < b; T += 1) S.push(H);
                    return S
                }

                function h(g, b) {
                    return g === "float32" ? new Float32Array(b) : g === "int16" ? new Int16Array(b) : g === "uint8c" ? new Uint8ClampedArray(b) : c(g, b)
                }
                return typeof Uint8ClampedArray == "function" && typeof Float32Array == "function" ? h : c
            }();

        function B(c) {
            return Array.apply(null, {
                length: c
            })
        }
        var C = !0,
            w = null,
            m = "",
            E = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),
            y = Math.pow,
            x = Math.sqrt,
            F = Math.floor,
            Q = Math.min,
            P = 150,
            L = Math.PI / 180,
            I = .5519;

        function _(c, h, g, b) {
            this.type = c, this.currentTime = h, this.totalTime = g, this.direction = b < 0 ? -1 : 1
        }

        function D(c, h) {
            this.type = c, this.direction = h < 0 ? -1 : 1
        }

        function N(c, h, g, b) {
            this.type = c, this.currentLoop = g, this.totalLoops = h, this.direction = b < 0 ? -1 : 1
        }

        function X(c, h, g) {
            this.type = c, this.firstFrame = h, this.totalFrames = g
        }

        function se(c, h) {
            this.type = c, this.target = h
        }

        function Z(c, h) {
            this.type = "renderFrameError", this.nativeError = c, this.currentTime = h
        }

        function ce(c) {
            this.type = "configError", this.nativeError = c
        }
        var W = function() {
            var c = 0;
            return function() {
                return c += 1, m + "__lottie_element_" + c
            }
        }();

        function he(c, h, g) {
            var b, T, S, H, j, M, ne, ae;
            switch (H = Math.floor(c * 6), j = c * 6 - H, M = g * (1 - h), ne = g * (1 - j * h), ae = g * (1 - (1 - j) * h), H % 6) {
                case 0:
                    b = g, T = ae, S = M;
                    break;
                case 1:
                    b = ne, T = g, S = M;
                    break;
                case 2:
                    b = M, T = g, S = ae;
                    break;
                case 3:
                    b = M, T = ne, S = g;
                    break;
                case 4:
                    b = ae, T = M, S = g;
                    break;
                case 5:
                    b = g, T = M, S = ne;
                    break
            }
            return [b, T, S]
        }

        function Se(c, h, g) {
            var b = Math.max(c, h, g),
                T = Math.min(c, h, g),
                S = b - T,
                H, j = b === 0 ? 0 : S / b,
                M = b / 255;
            switch (b) {
                case T:
                    H = 0;
                    break;
                case c:
                    H = h - g + S * (h < g ? 6 : 0), H /= 6 * S;
                    break;
                case h:
                    H = g - c + S * 2, H /= 6 * S;
                    break;
                case g:
                    H = c - h + S * 4, H /= 6 * S;
                    break
            }
            return [H, j, M]
        }

        function V(c, h) {
            var g = Se(c[0] * 255, c[1] * 255, c[2] * 255);
            return g[1] += h, g[1] > 1 ? g[1] = 1 : g[1] <= 0 && (g[1] = 0), he(g[0], g[1], g[2])
        }

        function ie(c, h) {
            var g = Se(c[0] * 255, c[1] * 255, c[2] * 255);
            return g[2] += h, g[2] > 1 ? g[2] = 1 : g[2] < 0 && (g[2] = 0), he(g[0], g[1], g[2])
        }

        function ue(c, h) {
            var g = Se(c[0] * 255, c[1] * 255, c[2] * 255);
            return g[0] += h / 360, g[0] > 1 ? g[0] -= 1 : g[0] < 0 && (g[0] += 1), he(g[0], g[1], g[2])
        }(function() {
            var c = [],
                h, g;
            for (h = 0; h < 256; h += 1) g = h.toString(16), c[h] = g.length === 1 ? "0" + g : g;
            return function(b, T, S) {
                return b < 0 && (b = 0), T < 0 && (T = 0), S < 0 && (S = 0), "#" + c[b] + c[T] + c[S]
            }
        })();
        var pe = function(h) {
                C = !!h
            },
            ee = function() {
                return C
            },
            ye = function(h) {
                w = h
            },
            te = function() {
                return w
            },
            Be = function(h) {
                P = h
            },
            Qe = function() {
                return P
            },
            $e = function(h) {
                m = h
            };

        function Ue(c) {
            return document.createElementNS(n, c)
        }

        function Ve(c) {
            "@babel/helpers - typeof";
            return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Ve = function(g) {
                return typeof g
            } : Ve = function(g) {
                return g && typeof Symbol == "function" && g.constructor === Symbol && g !== Symbol.prototype ? "symbol" : typeof g
            }, Ve(c)
        }
        var U = function() {
                var c = 1,
                    h = [],
                    g, b, T = {
                        onmessage: function() {},
                        postMessage: function(le) {
                            g({
                                data: le
                            })
                        }
                    },
                    S = {
                        postMessage: function(le) {
                            T.onmessage({
                                data: le
                            })
                        }
                    };

                function H(K) {
                    if (window.Worker && window.Blob && o()) {
                        var le = new Blob(["var _workerSelf = self; self.onmessage = ", K.toString()], {
                                type: "text/javascript"
                            }),
                            ge = URL.createObjectURL(le);
                        return new Worker(ge)
                    }
                    return g = K, T
                }

                function j() {
                    b || (b = H(function(le) {
                        function ge() {
                            function Ce(Me, z) {
                                var de, k, R = Me.length,
                                    _e, me, Ze, lt;
                                for (k = 0; k < R; k += 1)
                                    if (de = Me[k], "ks" in de && !de.completed) {
                                        if (de.completed = !0, de.hasMask) {
                                            var dt = de.masksProperties;
                                            for (me = dt.length, _e = 0; _e < me; _e += 1)
                                                if (dt[_e].pt.k.i) re(dt[_e].pt.k);
                                                else
                                                    for (lt = dt[_e].pt.k.length, Ze = 0; Ze < lt; Ze += 1) dt[_e].pt.k[Ze].s && re(dt[_e].pt.k[Ze].s[0]), dt[_e].pt.k[Ze].e && re(dt[_e].pt.k[Ze].e[0])
                                        }
                                        de.ty === 0 ? (de.layers = $(de.refId, z), Ce(de.layers, z)) : de.ty === 4 ? G(de.shapes) : de.ty === 5 && pt(de)
                                    }
                            }

                            function Ae(Me, z) {
                                if (Me) {
                                    var de = 0,
                                        k = Me.length;
                                    for (de = 0; de < k; de += 1) Me[de].t === 1 && (Me[de].data.layers = $(Me[de].data.refId, z), Ce(Me[de].data.layers, z))
                                }
                            }

                            function J(Me, z) {
                                for (var de = 0, k = z.length; de < k;) {
                                    if (z[de].id === Me) return z[de];
                                    de += 1
                                }
                                return null
                            }

                            function $(Me, z) {
                                var de = J(Me, z);
                                return de ? de.layers.__used ? JSON.parse(JSON.stringify(de.layers)) : (de.layers.__used = !0, de.layers) : null
                            }

                            function G(Me) {
                                var z, de = Me.length,
                                    k, R;
                                for (z = de - 1; z >= 0; z -= 1)
                                    if (Me[z].ty === "sh")
                                        if (Me[z].ks.k.i) re(Me[z].ks.k);
                                        else
                                            for (R = Me[z].ks.k.length, k = 0; k < R; k += 1) Me[z].ks.k[k].s && re(Me[z].ks.k[k].s[0]), Me[z].ks.k[k].e && re(Me[z].ks.k[k].e[0]);
                                else Me[z].ty === "gr" && G(Me[z].it)
                            }

                            function re(Me) {
                                var z, de = Me.i.length;
                                for (z = 0; z < de; z += 1) Me.i[z][0] += Me.v[z][0], Me.i[z][1] += Me.v[z][1], Me.o[z][0] += Me.v[z][0], Me.o[z][1] += Me.v[z][1]
                            }

                            function ve(Me, z) {
                                var de = z ? z.split(".") : [100, 100, 100];
                                return Me[0] > de[0] ? !0 : de[0] > Me[0] ? !1 : Me[1] > de[1] ? !0 : de[1] > Me[1] ? !1 : Me[2] > de[2] ? !0 : de[2] > Me[2] ? !1 : null
                            }
                            var be = function() {
                                    var Me = [4, 4, 14];

                                    function z(k) {
                                        var R = k.t.d;
                                        k.t.d = {
                                            k: [{
                                                s: R,
                                                t: 0
                                            }]
                                        }
                                    }

                                    function de(k) {
                                        var R, _e = k.length;
                                        for (R = 0; R < _e; R += 1) k[R].ty === 5 && z(k[R])
                                    }
                                    return function(k) {
                                        if (ve(Me, k.v) && (de(k.layers), k.assets)) {
                                            var R, _e = k.assets.length;
                                            for (R = 0; R < _e; R += 1) k.assets[R].layers && de(k.assets[R].layers)
                                        }
                                    }
                                }(),
                                Fe = function() {
                                    var Me = [4, 7, 99];
                                    return function(z) {
                                        if (z.chars && !ve(Me, z.v)) {
                                            var de, k = z.chars.length;
                                            for (de = 0; de < k; de += 1) {
                                                var R = z.chars[de];
                                                R.data && R.data.shapes && (G(R.data.shapes), R.data.ip = 0, R.data.op = 99999, R.data.st = 0, R.data.sr = 1, R.data.ks = {
                                                    p: {
                                                        k: [0, 0],
                                                        a: 0
                                                    },
                                                    s: {
                                                        k: [100, 100],
                                                        a: 0
                                                    },
                                                    a: {
                                                        k: [0, 0],
                                                        a: 0
                                                    },
                                                    r: {
                                                        k: 0,
                                                        a: 0
                                                    },
                                                    o: {
                                                        k: 100,
                                                        a: 0
                                                    }
                                                }, z.chars[de].t || (R.data.shapes.push({
                                                    ty: "no"
                                                }), R.data.shapes[0].it.push({
                                                    p: {
                                                        k: [0, 0],
                                                        a: 0
                                                    },
                                                    s: {
                                                        k: [100, 100],
                                                        a: 0
                                                    },
                                                    a: {
                                                        k: [0, 0],
                                                        a: 0
                                                    },
                                                    r: {
                                                        k: 0,
                                                        a: 0
                                                    },
                                                    o: {
                                                        k: 100,
                                                        a: 0
                                                    },
                                                    sk: {
                                                        k: 0,
                                                        a: 0
                                                    },
                                                    sa: {
                                                        k: 0,
                                                        a: 0
                                                    },
                                                    ty: "tr"
                                                })))
                                            }
                                        }
                                    }
                                }(),
                                Ne = function() {
                                    var Me = [5, 7, 15];

                                    function z(k) {
                                        var R = k.t.p;
                                        typeof R.a == "number" && (R.a = {
                                            a: 0,
                                            k: R.a
                                        }), typeof R.p == "number" && (R.p = {
                                            a: 0,
                                            k: R.p
                                        }), typeof R.r == "number" && (R.r = {
                                            a: 0,
                                            k: R.r
                                        })
                                    }

                                    function de(k) {
                                        var R, _e = k.length;
                                        for (R = 0; R < _e; R += 1) k[R].ty === 5 && z(k[R])
                                    }
                                    return function(k) {
                                        if (ve(Me, k.v) && (de(k.layers), k.assets)) {
                                            var R, _e = k.assets.length;
                                            for (R = 0; R < _e; R += 1) k.assets[R].layers && de(k.assets[R].layers)
                                        }
                                    }
                                }(),
                                ft = function() {
                                    var Me = [4, 1, 9];

                                    function z(k) {
                                        var R, _e = k.length,
                                            me, Ze;
                                        for (R = 0; R < _e; R += 1)
                                            if (k[R].ty === "gr") z(k[R].it);
                                            else if (k[R].ty === "fl" || k[R].ty === "st")
                                            if (k[R].c.k && k[R].c.k[0].i)
                                                for (Ze = k[R].c.k.length, me = 0; me < Ze; me += 1) k[R].c.k[me].s && (k[R].c.k[me].s[0] /= 255, k[R].c.k[me].s[1] /= 255, k[R].c.k[me].s[2] /= 255, k[R].c.k[me].s[3] /= 255), k[R].c.k[me].e && (k[R].c.k[me].e[0] /= 255, k[R].c.k[me].e[1] /= 255, k[R].c.k[me].e[2] /= 255, k[R].c.k[me].e[3] /= 255);
                                            else k[R].c.k[0] /= 255, k[R].c.k[1] /= 255, k[R].c.k[2] /= 255, k[R].c.k[3] /= 255
                                    }

                                    function de(k) {
                                        var R, _e = k.length;
                                        for (R = 0; R < _e; R += 1) k[R].ty === 4 && z(k[R].shapes)
                                    }
                                    return function(k) {
                                        if (ve(Me, k.v) && (de(k.layers), k.assets)) {
                                            var R, _e = k.assets.length;
                                            for (R = 0; R < _e; R += 1) k.assets[R].layers && de(k.assets[R].layers)
                                        }
                                    }
                                }(),
                                ot = function() {
                                    var Me = [4, 4, 18];

                                    function z(k) {
                                        var R, _e = k.length,
                                            me, Ze;
                                        for (R = _e - 1; R >= 0; R -= 1)
                                            if (k[R].ty === "sh")
                                                if (k[R].ks.k.i) k[R].ks.k.c = k[R].closed;
                                                else
                                                    for (Ze = k[R].ks.k.length, me = 0; me < Ze; me += 1) k[R].ks.k[me].s && (k[R].ks.k[me].s[0].c = k[R].closed), k[R].ks.k[me].e && (k[R].ks.k[me].e[0].c = k[R].closed);
                                        else k[R].ty === "gr" && z(k[R].it)
                                    }

                                    function de(k) {
                                        var R, _e, me = k.length,
                                            Ze, lt, dt, Dt;
                                        for (_e = 0; _e < me; _e += 1) {
                                            if (R = k[_e], R.hasMask) {
                                                var Lt = R.masksProperties;
                                                for (lt = Lt.length, Ze = 0; Ze < lt; Ze += 1)
                                                    if (Lt[Ze].pt.k.i) Lt[Ze].pt.k.c = Lt[Ze].cl;
                                                    else
                                                        for (Dt = Lt[Ze].pt.k.length, dt = 0; dt < Dt; dt += 1) Lt[Ze].pt.k[dt].s && (Lt[Ze].pt.k[dt].s[0].c = Lt[Ze].cl), Lt[Ze].pt.k[dt].e && (Lt[Ze].pt.k[dt].e[0].c = Lt[Ze].cl)
                                            }
                                            R.ty === 4 && z(R.shapes)
                                        }
                                    }
                                    return function(k) {
                                        if (ve(Me, k.v) && (de(k.layers), k.assets)) {
                                            var R, _e = k.assets.length;
                                            for (R = 0; R < _e; R += 1) k.assets[R].layers && de(k.assets[R].layers)
                                        }
                                    }
                                }();

                            function Ge(Me) {
                                Me.__complete || (ft(Me), be(Me), Fe(Me), Ne(Me), ot(Me), Ce(Me.layers, Me.assets), Ae(Me.chars, Me.assets), Me.__complete = !0)
                            }

                            function pt(Me) {
                                Me.t.a.length === 0 && "m" in Me.t.p
                            }
                            var At = {};
                            return At.completeData = Ge, At.checkColors = ft, At.checkChars = Fe, At.checkPathProperties = Ne, At.checkShapes = ot, At.completeLayers = Ce, At
                        }
                        if (S.dataManager || (S.dataManager = ge()), S.assetLoader || (S.assetLoader = function() {
                                function Ce(J) {
                                    var $ = J.getResponseHeader("content-type");
                                    return $ && J.responseType === "json" && $.indexOf("json") !== -1 || J.response && Ve(J.response) === "object" ? J.response : J.response && typeof J.response == "string" ? JSON.parse(J.response) : J.responseText ? JSON.parse(J.responseText) : null
                                }

                                function Ae(J, $, G, re) {
                                    var ve, be = new XMLHttpRequest;
                                    try {
                                        be.responseType = "json"
                                    } catch {}
                                    be.onreadystatechange = function() {
                                        if (be.readyState === 4)
                                            if (be.status === 200) ve = Ce(be), G(ve);
                                            else try {
                                                ve = Ce(be), G(ve)
                                            } catch (Fe) {
                                                re && re(Fe)
                                            }
                                    };
                                    try {
                                        be.open(["G", "E", "T"].join(""), J, !0)
                                    } catch {
                                        be.open(["G", "E", "T"].join(""), $ + "/" + J, !0)
                                    }
                                    be.send()
                                }
                                return {
                                    load: Ae
                                }
                            }()), le.data.type === "loadAnimation") S.assetLoader.load(le.data.path, le.data.fullPath, function(Ce) {
                            S.dataManager.completeData(Ce), S.postMessage({
                                id: le.data.id,
                                payload: Ce,
                                status: "success"
                            })
                        }, function() {
                            S.postMessage({
                                id: le.data.id,
                                status: "error"
                            })
                        });
                        else if (le.data.type === "complete") {
                            var fe = le.data.animation;
                            S.dataManager.completeData(fe), S.postMessage({
                                id: le.data.id,
                                payload: fe,
                                status: "success"
                            })
                        } else le.data.type === "loadData" && S.assetLoader.load(le.data.path, le.data.fullPath, function(Ce) {
                            S.postMessage({
                                id: le.data.id,
                                payload: Ce,
                                status: "success"
                            })
                        }, function() {
                            S.postMessage({
                                id: le.data.id,
                                status: "error"
                            })
                        })
                    }), b.onmessage = function(K) {
                        var le = K.data,
                            ge = le.id,
                            fe = h[ge];
                        h[ge] = null, le.status === "success" ? fe.onComplete(le.payload) : fe.onError && fe.onError()
                    })
                }

                function M(K, le) {
                    c += 1;
                    var ge = "processId_" + c;
                    return h[ge] = {
                        onComplete: K,
                        onError: le
                    }, ge
                }

                function ne(K, le, ge) {
                    j();
                    var fe = M(le, ge);
                    b.postMessage({
                        type: "loadAnimation",
                        path: K,
                        fullPath: window.location.origin + window.location.pathname,
                        id: fe
                    })
                }

                function ae(K, le, ge) {
                    j();
                    var fe = M(le, ge);
                    b.postMessage({
                        type: "loadData",
                        path: K,
                        fullPath: window.location.origin + window.location.pathname,
                        id: fe
                    })
                }

                function xe(K, le, ge) {
                    j();
                    var fe = M(le, ge);
                    b.postMessage({
                        type: "complete",
                        animation: K,
                        id: fe
                    })
                }
                return {
                    loadAnimation: ne,
                    loadData: ae,
                    completeAnimation: xe
                }
            }(),
            O = function() {
                var c = function() {
                    var Ae = u("canvas");
                    Ae.width = 1, Ae.height = 1;
                    var J = Ae.getContext("2d");
                    return J.fillStyle = "rgba(0,0,0,0)", J.fillRect(0, 0, 1, 1), Ae
                }();

                function h() {
                    this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
                }

                function g() {
                    this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)
                }

                function b(Ae, J, $) {
                    var G = "";
                    if (Ae.e) G = Ae.p;
                    else if (J) {
                        var re = Ae.p;
                        re.indexOf("images/") !== -1 && (re = re.split("/")[1]), G = J + re
                    } else G = $, G += Ae.u ? Ae.u : "", G += Ae.p;
                    return G
                }

                function T(Ae) {
                    var J = 0,
                        $ = setInterval((function() {
                            var G = Ae.getBBox();
                            (G.width || J > 500) && (this._imageLoaded(), clearInterval($)), J += 1
                        }).bind(this), 50)
                }

                function S(Ae) {
                    var J = b(Ae, this.assetsPath, this.path),
                        $ = Ue("image");
                    E ? this.testImageLoaded($) : $.addEventListener("load", this._imageLoaded, !1), $.addEventListener("error", (function() {
                        G.img = c, this._imageLoaded()
                    }).bind(this), !1), $.setAttributeNS("http://www.w3.org/1999/xlink", "href", J), this._elementHelper.append ? this._elementHelper.append($) : this._elementHelper.appendChild($);
                    var G = {
                        img: $,
                        assetData: Ae
                    };
                    return G
                }

                function H(Ae) {
                    var J = b(Ae, this.assetsPath, this.path),
                        $ = u("img");
                    $.crossOrigin = "anonymous", $.addEventListener("load", this._imageLoaded, !1), $.addEventListener("error", (function() {
                        G.img = c, this._imageLoaded()
                    }).bind(this), !1), $.src = J;
                    var G = {
                        img: $,
                        assetData: Ae
                    };
                    return G
                }

                function j(Ae) {
                    var J = {
                            assetData: Ae
                        },
                        $ = b(Ae, this.assetsPath, this.path);
                    return U.loadData($, (function(G) {
                        J.img = G, this._footageLoaded()
                    }).bind(this), (function() {
                        J.img = {}, this._footageLoaded()
                    }).bind(this)), J
                }

                function M(Ae, J) {
                    this.imagesLoadedCb = J;
                    var $, G = Ae.length;
                    for ($ = 0; $ < G; $ += 1) Ae[$].layers || (!Ae[$].t || Ae[$].t === "seq" ? (this.totalImages += 1, this.images.push(this._createImageData(Ae[$]))) : Ae[$].t === 3 && (this.totalFootages += 1, this.images.push(this.createFootageData(Ae[$]))))
                }

                function ne(Ae) {
                    this.path = Ae || ""
                }

                function ae(Ae) {
                    this.assetsPath = Ae || ""
                }

                function xe(Ae) {
                    for (var J = 0, $ = this.images.length; J < $;) {
                        if (this.images[J].assetData === Ae) return this.images[J].img;
                        J += 1
                    }
                    return null
                }

                function K() {
                    this.imagesLoadedCb = null, this.images.length = 0
                }

                function le() {
                    return this.totalImages === this.loadedAssets
                }

                function ge() {
                    return this.totalFootages === this.loadedFootagesCount
                }

                function fe(Ae, J) {
                    Ae === "svg" ? (this._elementHelper = J, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this)
                }

                function Ce() {
                    this._imageLoaded = h.bind(this), this._footageLoaded = g.bind(this), this.testImageLoaded = T.bind(this), this.createFootageData = j.bind(this), this.assetsPath = "", this.path = "", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = []
                }
                return Ce.prototype = {
                    loadAssets: M,
                    setAssetsPath: ae,
                    setPath: ne,
                    loadedImages: le,
                    loadedFootages: ge,
                    destroy: K,
                    getAsset: xe,
                    createImgData: H,
                    createImageData: S,
                    imageLoaded: h,
                    footageLoaded: g,
                    setCacheType: fe
                }, Ce
            }();

        function Y() {}
        Y.prototype = {
            triggerEvent: function(h, g) {
                if (this._cbs[h])
                    for (var b = this._cbs[h], T = 0; T < b.length; T += 1) b[T](g)
            },
            addEventListener: function(h, g) {
                return this._cbs[h] || (this._cbs[h] = []), this._cbs[h].push(g), (function() {
                    this.removeEventListener(h, g)
                }).bind(this)
            },
            removeEventListener: function(h, g) {
                if (!g) this._cbs[h] = null;
                else if (this._cbs[h]) {
                    for (var b = 0, T = this._cbs[h].length; b < T;) this._cbs[h][b] === g && (this._cbs[h].splice(b, 1), b -= 1, T -= 1), b += 1;
                    this._cbs[h].length || (this._cbs[h] = null)
                }
            }
        };
        var we = function() {
                function c(h) {
                    for (var g = h.split(`\r
`), b = {}, T, S = 0, H = 0; H < g.length; H += 1) T = g[H].split(":"), T.length === 2 && (b[T[0]] = T[1].trim(), S += 1);
                    if (S === 0) throw new Error;
                    return b
                }
                return function(h) {
                    for (var g = [], b = 0; b < h.length; b += 1) {
                        var T = h[b],
                            S = {
                                time: T.tm,
                                duration: T.dr
                            };
                        try {
                            S.payload = JSON.parse(h[b].cm)
                        } catch {
                            try {
                                S.payload = c(h[b].cm)
                            } catch {
                                S.payload = {
                                    name: h[b].cm
                                }
                            }
                        }
                        g.push(S)
                    }
                    return g
                }
            }(),
            Te = function() {
                function c(h) {
                    this.compositions.push(h)
                }
                return function() {
                    function h(g) {
                        for (var b = 0, T = this.compositions.length; b < T;) {
                            if (this.compositions[b].data && this.compositions[b].data.nm === g) return this.compositions[b].prepareFrame && this.compositions[b].data.xt && this.compositions[b].prepareFrame(this.currentFrame), this.compositions[b].compInterface;
                            b += 1
                        }
                        return null
                    }
                    return h.compositions = [], h.currentFrame = 0, h.registerComposition = c, h
                }
            }(),
            Oe = {},
            Ke = function(h, g) {
                Oe[h] = g
            };

        function He(c) {
            return Oe[c]
        }

        function Re() {
            if (Oe.canvas) return "canvas";
            for (var c in Oe)
                if (Oe[c]) return c;
            return ""
        }

        function Pe(c) {
            "@babel/helpers - typeof";
            return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Pe = function(g) {
                return typeof g
            } : Pe = function(g) {
                return g && typeof Symbol == "function" && g.constructor === Symbol && g !== Symbol.prototype ? "symbol" : typeof g
            }, Pe(c)
        }
        var oe = function() {
            this._cbs = [], this.name = "", this.path = "", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = W(), this.assetsPath = "", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = ee(), this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = Te(), this.imagePreloader = new O, this.audioController = p(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this), this.drawnFrameEvent = new _("drawnFrame", 0, 0, 0), this.expressionsPlugin = te()
        };
        f([Y], oe), oe.prototype.setParams = function(c) {
            (c.wrapper || c.container) && (this.wrapper = c.wrapper || c.container);
            var h = "svg";
            c.animType ? h = c.animType : c.renderer && (h = c.renderer);
            var g = He(h);
            this.renderer = new g(this, c.rendererSettings), this.imagePreloader.setCacheType(h, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = h, c.loop === "" || c.loop === null || c.loop === void 0 || c.loop === !0 ? this.loop = !0 : c.loop === !1 ? this.loop = !1 : this.loop = parseInt(c.loop, 10), this.autoplay = "autoplay" in c ? c.autoplay : !0, this.name = c.name ? c.name : "", this.autoloadSegments = Object.prototype.hasOwnProperty.call(c, "autoloadSegments") ? c.autoloadSegments : !0, this.assetsPath = c.assetsPath, this.initialSegment = c.initialSegment, c.audioFactory && this.audioController.setAudioFactory(c.audioFactory), c.animationData ? this.setupAnimation(c.animationData) : c.path && (c.path.lastIndexOf("\\") !== -1 ? this.path = c.path.substr(0, c.path.lastIndexOf("\\") + 1) : this.path = c.path.substr(0, c.path.lastIndexOf("/") + 1), this.fileName = c.path.substr(c.path.lastIndexOf("/") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(".json")), U.loadAnimation(c.path, this.configAnimation, this.onSetupError))
        }, oe.prototype.onSetupError = function() {
            this.trigger("data_failed")
        }, oe.prototype.setupAnimation = function(c) {
            U.completeAnimation(c, this.configAnimation)
        }, oe.prototype.setData = function(c, h) {
            h && Pe(h) !== "object" && (h = JSON.parse(h));
            var g = {
                    wrapper: c,
                    animationData: h
                },
                b = c.attributes;
            g.path = b.getNamedItem("data-animation-path") ? b.getNamedItem("data-animation-path").value : b.getNamedItem("data-bm-path") ? b.getNamedItem("data-bm-path").value : b.getNamedItem("bm-path") ? b.getNamedItem("bm-path").value : "", g.animType = b.getNamedItem("data-anim-type") ? b.getNamedItem("data-anim-type").value : b.getNamedItem("data-bm-type") ? b.getNamedItem("data-bm-type").value : b.getNamedItem("bm-type") ? b.getNamedItem("bm-type").value : b.getNamedItem("data-bm-renderer") ? b.getNamedItem("data-bm-renderer").value : b.getNamedItem("bm-renderer") ? b.getNamedItem("bm-renderer").value : Re() || "canvas";
            var T = b.getNamedItem("data-anim-loop") ? b.getNamedItem("data-anim-loop").value : b.getNamedItem("data-bm-loop") ? b.getNamedItem("data-bm-loop").value : b.getNamedItem("bm-loop") ? b.getNamedItem("bm-loop").value : "";
            T === "false" ? g.loop = !1 : T === "true" ? g.loop = !0 : T !== "" && (g.loop = parseInt(T, 10));
            var S = b.getNamedItem("data-anim-autoplay") ? b.getNamedItem("data-anim-autoplay").value : b.getNamedItem("data-bm-autoplay") ? b.getNamedItem("data-bm-autoplay").value : b.getNamedItem("bm-autoplay") ? b.getNamedItem("bm-autoplay").value : !0;
            g.autoplay = S !== "false", g.name = b.getNamedItem("data-name") ? b.getNamedItem("data-name").value : b.getNamedItem("data-bm-name") ? b.getNamedItem("data-bm-name").value : b.getNamedItem("bm-name") ? b.getNamedItem("bm-name").value : "";
            var H = b.getNamedItem("data-anim-prerender") ? b.getNamedItem("data-anim-prerender").value : b.getNamedItem("data-bm-prerender") ? b.getNamedItem("data-bm-prerender").value : b.getNamedItem("bm-prerender") ? b.getNamedItem("bm-prerender").value : "";
            H === "false" && (g.prerender = !1), g.path ? this.setParams(g) : this.trigger("destroy")
        }, oe.prototype.includeLayers = function(c) {
            c.op > this.animationData.op && (this.animationData.op = c.op, this.totalFrames = Math.floor(c.op - this.animationData.ip));
            var h = this.animationData.layers,
                g, b = h.length,
                T = c.layers,
                S, H = T.length;
            for (S = 0; S < H; S += 1)
                for (g = 0; g < b;) {
                    if (h[g].id === T[S].id) {
                        h[g] = T[S];
                        break
                    }
                    g += 1
                }
            if ((c.chars || c.fonts) && (this.renderer.globalData.fontManager.addChars(c.chars), this.renderer.globalData.fontManager.addFonts(c.fonts, this.renderer.globalData.defs)), c.assets)
                for (b = c.assets.length, g = 0; g < b; g += 1) this.animationData.assets.push(c.assets[g]);
            this.animationData.__complete = !1, U.completeAnimation(this.animationData, this.onSegmentComplete)
        }, oe.prototype.onSegmentComplete = function(c) {
            this.animationData = c;
            var h = te();
            h && h.initExpressions(this), this.loadNextSegment()
        }, oe.prototype.loadNextSegment = function() {
            var c = this.animationData.segments;
            if (!c || c.length === 0 || !this.autoloadSegments) {
                this.trigger("data_ready"), this.timeCompleted = this.totalFrames;
                return
            }
            var h = c.shift();
            this.timeCompleted = h.time * this.frameRate;
            var g = this.path + this.fileName + "_" + this.segmentPos + ".json";
            this.segmentPos += 1, U.loadData(g, this.includeLayers.bind(this), (function() {
                this.trigger("data_failed")
            }).bind(this))
        }, oe.prototype.loadSegments = function() {
            var c = this.animationData.segments;
            c || (this.timeCompleted = this.totalFrames), this.loadNextSegment()
        }, oe.prototype.imagesLoaded = function() {
            this.trigger("loaded_images"), this.checkLoaded()
        }, oe.prototype.preloadImages = function() {
            this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this))
        }, oe.prototype.configAnimation = function(c) {
            if (this.renderer) try {
                this.animationData = c, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(c), c.assets || (c.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(c.assets), this.markers = we(c.markers || []), this.trigger("config_ready"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause()
            } catch (h) {
                this.triggerConfigError(h)
            }
        }, oe.prototype.waitForFontsLoaded = function() {
            this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20))
        }, oe.prototype.checkLoaded = function() {
            if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== "canvas") && this.imagePreloader.loadedFootages()) {
                this.isLoaded = !0;
                var c = te();
                c && c.initExpressions(this), this.renderer.initItems(), setTimeout((function() {
                    this.trigger("DOMLoaded")
                }).bind(this), 0), this.gotoFrame(), this.autoplay && this.play()
            }
        }, oe.prototype.resize = function(c, h) {
            var g = typeof c == "number" ? c : void 0,
                b = typeof h == "number" ? h : void 0;
            this.renderer.updateContainerSize(g, b)
        }, oe.prototype.setSubframe = function(c) {
            this.isSubframeEnabled = !!c
        }, oe.prototype.gotoFrame = function() {
            this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger("enterFrame"), this.renderFrame(), this.trigger("drawnFrame")
        }, oe.prototype.renderFrame = function() {
            if (!(this.isLoaded === !1 || !this.renderer)) try {
                this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame(this.currentFrame + this.firstFrame)
            } catch (c) {
                this.triggerRenderFrameError(c)
            }
        }, oe.prototype.play = function(c) {
            c && this.name !== c || this.isPaused === !0 && (this.isPaused = !1, this.trigger("_play"), this.audioController.resume(), this._idle && (this._idle = !1, this.trigger("_active")))
        }, oe.prototype.pause = function(c) {
            c && this.name !== c || this.isPaused === !1 && (this.isPaused = !0, this.trigger("_pause"), this._idle = !0, this.trigger("_idle"), this.audioController.pause())
        }, oe.prototype.togglePause = function(c) {
            c && this.name !== c || (this.isPaused === !0 ? this.play() : this.pause())
        }, oe.prototype.stop = function(c) {
            c && this.name !== c || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0))
        }, oe.prototype.getMarkerData = function(c) {
            for (var h, g = 0; g < this.markers.length; g += 1)
                if (h = this.markers[g], h.payload && h.payload.name === c) return h;
            return null
        }, oe.prototype.goToAndStop = function(c, h, g) {
            if (!(g && this.name !== g)) {
                var b = Number(c);
                if (isNaN(b)) {
                    var T = this.getMarkerData(c);
                    T && this.goToAndStop(T.time, !0)
                } else h ? this.setCurrentRawFrameValue(c) : this.setCurrentRawFrameValue(c * this.frameModifier);
                this.pause()
            }
        }, oe.prototype.goToAndPlay = function(c, h, g) {
            if (!(g && this.name !== g)) {
                var b = Number(c);
                if (isNaN(b)) {
                    var T = this.getMarkerData(c);
                    T && (T.duration ? this.playSegments([T.time, T.time + T.duration], !0) : this.goToAndStop(T.time, !0))
                } else this.goToAndStop(b, h, g);
                this.play()
            }
        }, oe.prototype.advanceTime = function(c) {
            if (!(this.isPaused === !0 || this.isLoaded === !1)) {
                var h = this.currentRawFrame + c * this.frameModifier,
                    g = !1;
                h >= this.totalFrames - 1 && this.frameModifier > 0 ? !this.loop || this.playCount === this.loop ? this.checkSegments(h > this.totalFrames ? h % this.totalFrames : 0) || (g = !0, h = this.totalFrames - 1) : h >= this.totalFrames ? (this.playCount += 1, this.checkSegments(h % this.totalFrames) || (this.setCurrentRawFrameValue(h % this.totalFrames), this._completedLoop = !0, this.trigger("loopComplete"))) : this.setCurrentRawFrameValue(h) : h < 0 ? this.checkSegments(h % this.totalFrames) || (this.loop && !(this.playCount-- <= 0 && this.loop !== !0) ? (this.setCurrentRawFrameValue(this.totalFrames + h % this.totalFrames), this._completedLoop ? this.trigger("loopComplete") : this._completedLoop = !0) : (g = !0, h = 0)) : this.setCurrentRawFrameValue(h), g && (this.setCurrentRawFrameValue(h), this.pause(), this.trigger("complete"))
            }
        }, oe.prototype.adjustSegment = function(c, h) {
            this.playCount = 0, c[1] < c[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = c[0] - c[1], this.timeCompleted = this.totalFrames, this.firstFrame = c[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - h)) : c[1] > c[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = c[1] - c[0], this.timeCompleted = this.totalFrames, this.firstFrame = c[0], this.setCurrentRawFrameValue(.001 + h)), this.trigger("segmentStart")
        }, oe.prototype.setSegment = function(c, h) {
            var g = -1;
            this.isPaused && (this.currentRawFrame + this.firstFrame < c ? g = c : this.currentRawFrame + this.firstFrame > h && (g = h - c)), this.firstFrame = c, this.totalFrames = h - c, this.timeCompleted = this.totalFrames, g !== -1 && this.goToAndStop(g, !0)
        }, oe.prototype.playSegments = function(c, h) {
            if (h && (this.segments.length = 0), Pe(c[0]) === "object") {
                var g, b = c.length;
                for (g = 0; g < b; g += 1) this.segments.push(c[g])
            } else this.segments.push(c);
            this.segments.length && h && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play()
        }, oe.prototype.resetSegments = function(c) {
            this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), c && this.checkSegments(0)
        }, oe.prototype.checkSegments = function(c) {
            return this.segments.length ? (this.adjustSegment(this.segments.shift(), c), !0) : !1
        }, oe.prototype.destroy = function(c) {
            c && this.name !== c || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger("destroy"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.expressionsPlugin = null, this.imagePreloader = null, this.projectInterface = null)
        }, oe.prototype.setCurrentRawFrameValue = function(c) {
            this.currentRawFrame = c, this.gotoFrame()
        }, oe.prototype.setSpeed = function(c) {
            this.playSpeed = c, this.updaFrameModifier()
        }, oe.prototype.setDirection = function(c) {
            this.playDirection = c < 0 ? -1 : 1, this.updaFrameModifier()
        }, oe.prototype.setLoop = function(c) {
            this.loop = c
        }, oe.prototype.setVolume = function(c, h) {
            h && this.name !== h || this.audioController.setVolume(c)
        }, oe.prototype.getVolume = function() {
            return this.audioController.getVolume()
        }, oe.prototype.mute = function(c) {
            c && this.name !== c || this.audioController.mute()
        }, oe.prototype.unmute = function(c) {
            c && this.name !== c || this.audioController.unmute()
        }, oe.prototype.updaFrameModifier = function() {
            this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection)
        }, oe.prototype.getPath = function() {
            return this.path
        }, oe.prototype.getAssetsPath = function(c) {
            var h = "";
            if (c.e) h = c.p;
            else if (this.assetsPath) {
                var g = c.p;
                g.indexOf("images/") !== -1 && (g = g.split("/")[1]), h = this.assetsPath + g
            } else h = this.path, h += c.u ? c.u : "", h += c.p;
            return h
        }, oe.prototype.getAssetData = function(c) {
            for (var h = 0, g = this.assets.length; h < g;) {
                if (c === this.assets[h].id) return this.assets[h];
                h += 1
            }
            return null
        }, oe.prototype.hide = function() {
            this.renderer.hide()
        }, oe.prototype.show = function() {
            this.renderer.show()
        }, oe.prototype.getDuration = function(c) {
            return c ? this.totalFrames : this.totalFrames / this.frameRate
        }, oe.prototype.updateDocumentData = function(c, h, g) {
            try {
                var b = this.renderer.getElementByPath(c);
                b.updateDocumentData(h, g)
            } catch {}
        }, oe.prototype.trigger = function(c) {
            if (this._cbs && this._cbs[c]) switch (c) {
                case "enterFrame":
                    this.triggerEvent(c, new _(c, this.currentFrame, this.totalFrames, this.frameModifier));
                    break;
                case "drawnFrame":
                    this.drawnFrameEvent.currentTime = this.currentFrame, this.drawnFrameEvent.totalTime = this.totalFrames, this.drawnFrameEvent.direction = this.frameModifier, this.triggerEvent(c, this.drawnFrameEvent);
                    break;
                case "loopComplete":
                    this.triggerEvent(c, new N(c, this.loop, this.playCount, this.frameMult));
                    break;
                case "complete":
                    this.triggerEvent(c, new D(c, this.frameMult));
                    break;
                case "segmentStart":
                    this.triggerEvent(c, new X(c, this.firstFrame, this.totalFrames));
                    break;
                case "destroy":
                    this.triggerEvent(c, new se(c, this));
                    break;
                default:
                    this.triggerEvent(c)
            }
            c === "enterFrame" && this.onEnterFrame && this.onEnterFrame.call(this, new _(c, this.currentFrame, this.totalFrames, this.frameMult)), c === "loopComplete" && this.onLoopComplete && this.onLoopComplete.call(this, new N(c, this.loop, this.playCount, this.frameMult)), c === "complete" && this.onComplete && this.onComplete.call(this, new D(c, this.frameMult)), c === "segmentStart" && this.onSegmentStart && this.onSegmentStart.call(this, new X(c, this.firstFrame, this.totalFrames)), c === "destroy" && this.onDestroy && this.onDestroy.call(this, new se(c, this))
        }, oe.prototype.triggerRenderFrameError = function(c) {
            var h = new Z(c, this.currentFrame);
            this.triggerEvent("error", h), this.onError && this.onError.call(this, h)
        }, oe.prototype.triggerConfigError = function(c) {
            var h = new ce(c, this.currentFrame);
            this.triggerEvent("error", h), this.onError && this.onError.call(this, h)
        };
        var Ee = function() {
                var c = {},
                    h = [],
                    g = 0,
                    b = 0,
                    T = 0,
                    S = !0,
                    H = !1;

                function j(z) {
                    for (var de = 0, k = z.target; de < b;) h[de].animation === k && (h.splice(de, 1), de -= 1, b -= 1, k.isPaused || xe()), de += 1
                }

                function M(z, de) {
                    if (!z) return null;
                    for (var k = 0; k < b;) {
                        if (h[k].elem === z && h[k].elem !== null) return h[k].animation;
                        k += 1
                    }
                    var R = new oe;
                    return K(R, z), R.setData(z, de), R
                }

                function ne() {
                    var z, de = h.length,
                        k = [];
                    for (z = 0; z < de; z += 1) k.push(h[z].animation);
                    return k
                }

                function ae() {
                    T += 1, ft()
                }

                function xe() {
                    T -= 1
                }

                function K(z, de) {
                    z.addEventListener("destroy", j), z.addEventListener("_active", ae), z.addEventListener("_idle", xe), h.push({
                        elem: de,
                        animation: z
                    }), b += 1
                }

                function le(z) {
                    var de = new oe;
                    return K(de, null), de.setParams(z), de
                }

                function ge(z, de) {
                    var k;
                    for (k = 0; k < b; k += 1) h[k].animation.setSpeed(z, de)
                }

                function fe(z, de) {
                    var k;
                    for (k = 0; k < b; k += 1) h[k].animation.setDirection(z, de)
                }

                function Ce(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.play(z)
                }

                function Ae(z) {
                    var de = z - g,
                        k;
                    for (k = 0; k < b; k += 1) h[k].animation.advanceTime(de);
                    g = z, T && !H ? window.requestAnimationFrame(Ae) : S = !0
                }

                function J(z) {
                    g = z, window.requestAnimationFrame(Ae)
                }

                function $(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.pause(z)
                }

                function G(z, de, k) {
                    var R;
                    for (R = 0; R < b; R += 1) h[R].animation.goToAndStop(z, de, k)
                }

                function re(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.stop(z)
                }

                function ve(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.togglePause(z)
                }

                function be(z) {
                    var de;
                    for (de = b - 1; de >= 0; de -= 1) h[de].animation.destroy(z)
                }

                function Fe(z, de, k) {
                    var R = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin"))),
                        _e, me = R.length;
                    for (_e = 0; _e < me; _e += 1) k && R[_e].setAttribute("data-bm-type", k), M(R[_e], z);
                    if (de && me === 0) {
                        k || (k = "svg");
                        var Ze = document.getElementsByTagName("body")[0];
                        Ze.innerText = "";
                        var lt = u("div");
                        lt.style.width = "100%", lt.style.height = "100%", lt.setAttribute("data-bm-type", k), Ze.appendChild(lt), M(lt, z)
                    }
                }

                function Ne() {
                    var z;
                    for (z = 0; z < b; z += 1) h[z].animation.resize()
                }

                function ft() {
                    !H && T && S && (window.requestAnimationFrame(J), S = !1)
                }

                function ot() {
                    H = !0
                }

                function Ge() {
                    H = !1, ft()
                }

                function pt(z, de) {
                    var k;
                    for (k = 0; k < b; k += 1) h[k].animation.setVolume(z, de)
                }

                function At(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.mute(z)
                }

                function Me(z) {
                    var de;
                    for (de = 0; de < b; de += 1) h[de].animation.unmute(z)
                }
                return c.registerAnimation = M, c.loadAnimation = le, c.setSpeed = ge, c.setDirection = fe, c.play = Ce, c.pause = $, c.stop = re, c.togglePause = ve, c.searchAnimations = Fe, c.resize = Ne, c.goToAndStop = G, c.destroy = be, c.freeze = ot, c.unfreeze = Ge, c.setVolume = pt, c.mute = At, c.unmute = Me, c.getRegisteredAnimations = ne, c
            }(),
            We = function() {
                var c = {};
                c.getBezierEasing = g;
                var h = {};

                function g(J, $, G, re, ve) {
                    var be = ve || ("bez_" + J + "_" + $ + "_" + G + "_" + re).replace(/\./g, "p");
                    if (h[be]) return h[be];
                    var Fe = new Ae([J, $, G, re]);
                    return h[be] = Fe, Fe
                }
                var b = 4,
                    T = .001,
                    S = 1e-7,
                    H = 10,
                    j = 11,
                    M = 1 / (j - 1),
                    ne = typeof Float32Array == "function";

                function ae(J, $) {
                    return 1 - 3 * $ + 3 * J
                }

                function xe(J, $) {
                    return 3 * $ - 6 * J
                }

                function K(J) {
                    return 3 * J
                }

                function le(J, $, G) {
                    return ((ae($, G) * J + xe($, G)) * J + K($)) * J
                }

                function ge(J, $, G) {
                    return 3 * ae($, G) * J * J + 2 * xe($, G) * J + K($)
                }

                function fe(J, $, G, re, ve) {
                    var be, Fe, Ne = 0;
                    do Fe = $ + (G - $) / 2, be = le(Fe, re, ve) - J, be > 0 ? G = Fe : $ = Fe; while (Math.abs(be) > S && ++Ne < H);
                    return Fe
                }

                function Ce(J, $, G, re) {
                    for (var ve = 0; ve < b; ++ve) {
                        var be = ge($, G, re);
                        if (be === 0) return $;
                        var Fe = le($, G, re) - J;
                        $ -= Fe / be
                    }
                    return $
                }

                function Ae(J) {
                    this._p = J, this._mSampleValues = ne ? new Float32Array(j) : new Array(j), this._precomputed = !1, this.get = this.get.bind(this)
                }
                return Ae.prototype = {
                    get: function($) {
                        var G = this._p[0],
                            re = this._p[1],
                            ve = this._p[2],
                            be = this._p[3];
                        return this._precomputed || this._precompute(), G === re && ve === be ? $ : $ === 0 ? 0 : $ === 1 ? 1 : le(this._getTForX($), re, be)
                    },
                    _precompute: function() {
                        var $ = this._p[0],
                            G = this._p[1],
                            re = this._p[2],
                            ve = this._p[3];
                        this._precomputed = !0, ($ !== G || re !== ve) && this._calcSampleValues()
                    },
                    _calcSampleValues: function() {
                        for (var $ = this._p[0], G = this._p[2], re = 0; re < j; ++re) this._mSampleValues[re] = le(re * M, $, G)
                    },
                    _getTForX: function($) {
                        for (var G = this._p[0], re = this._p[2], ve = this._mSampleValues, be = 0, Fe = 1, Ne = j - 1; Fe !== Ne && ve[Fe] <= $; ++Fe) be += M;
                        --Fe;
                        var ft = ($ - ve[Fe]) / (ve[Fe + 1] - ve[Fe]),
                            ot = be + ft * M,
                            Ge = ge(ot, G, re);
                        return Ge >= T ? Ce($, ot, G, re) : Ge === 0 ? ot : fe($, be, be + M, G, re)
                    }
                }, c
            }(),
            qe = function() {
                function c(h) {
                    return h.concat(B(h.length))
                }
                return {
                    double: c
                }
            }(),
            ut = function() {
                return function(c, h, g) {
                    var b = 0,
                        T = c,
                        S = B(T),
                        H = {
                            newElement: j,
                            release: M
                        };

                    function j() {
                        var ne;
                        return b ? (b -= 1, ne = S[b]) : ne = h(), ne
                    }

                    function M(ne) {
                        b === T && (S = qe.double(S), T *= 2), g && g(ne), S[b] = ne, b += 1
                    }
                    return H
                }
            }(),
            xt = function() {
                function c() {
                    return {
                        addedLength: 0,
                        percents: v("float32", Qe()),
                        lengths: v("float32", Qe())
                    }
                }
                return ut(8, c)
            }(),
            Ct = function() {
                function c() {
                    return {
                        lengths: [],
                        totalLength: 0
                    }
                }

                function h(g) {
                    var b, T = g.lengths.length;
                    for (b = 0; b < T; b += 1) xt.release(g.lengths[b]);
                    g.lengths.length = 0
                }
                return ut(8, c, h)
            }();

        function Pt() {
            var c = Math;

            function h(K, le, ge, fe, Ce, Ae) {
                var J = K * fe + le * Ce + ge * Ae - Ce * fe - Ae * K - ge * le;
                return J > -.001 && J < .001
            }

            function g(K, le, ge, fe, Ce, Ae, J, $, G) {
                if (ge === 0 && Ae === 0 && G === 0) return h(K, le, fe, Ce, J, $);
                var re = c.sqrt(c.pow(fe - K, 2) + c.pow(Ce - le, 2) + c.pow(Ae - ge, 2)),
                    ve = c.sqrt(c.pow(J - K, 2) + c.pow($ - le, 2) + c.pow(G - ge, 2)),
                    be = c.sqrt(c.pow(J - fe, 2) + c.pow($ - Ce, 2) + c.pow(G - Ae, 2)),
                    Fe;
                return re > ve ? re > be ? Fe = re - ve - be : Fe = be - ve - re : be > ve ? Fe = be - ve - re : Fe = ve - re - be, Fe > -1e-4 && Fe < 1e-4
            }
            var b = function() {
                return function(K, le, ge, fe) {
                    var Ce = Qe(),
                        Ae, J, $, G, re, ve = 0,
                        be, Fe = [],
                        Ne = [],
                        ft = xt.newElement();
                    for ($ = ge.length, Ae = 0; Ae < Ce; Ae += 1) {
                        for (re = Ae / (Ce - 1), be = 0, J = 0; J < $; J += 1) G = y(1 - re, 3) * K[J] + 3 * y(1 - re, 2) * re * ge[J] + 3 * (1 - re) * y(re, 2) * fe[J] + y(re, 3) * le[J], Fe[J] = G, Ne[J] !== null && (be += y(Fe[J] - Ne[J], 2)), Ne[J] = Fe[J];
                        be && (be = x(be), ve += be), ft.percents[Ae] = re, ft.lengths[Ae] = ve
                    }
                    return ft.addedLength = ve, ft
                }
            }();

            function T(K) {
                var le = Ct.newElement(),
                    ge = K.c,
                    fe = K.v,
                    Ce = K.o,
                    Ae = K.i,
                    J, $ = K._length,
                    G = le.lengths,
                    re = 0;
                for (J = 0; J < $ - 1; J += 1) G[J] = b(fe[J], fe[J + 1], Ce[J], Ae[J + 1]), re += G[J].addedLength;
                return ge && $ && (G[J] = b(fe[J], fe[0], Ce[J], Ae[0]), re += G[J].addedLength), le.totalLength = re, le
            }

            function S(K) {
                this.segmentLength = 0, this.points = new Array(K)
            }

            function H(K, le) {
                this.partialLength = K, this.point = le
            }
            var j = function() {
                var K = {};
                return function(le, ge, fe, Ce) {
                    var Ae = (le[0] + "_" + le[1] + "_" + ge[0] + "_" + ge[1] + "_" + fe[0] + "_" + fe[1] + "_" + Ce[0] + "_" + Ce[1]).replace(/\./g, "p");
                    if (!K[Ae]) {
                        var J = Qe(),
                            $, G, re, ve, be, Fe = 0,
                            Ne, ft, ot = null;
                        le.length === 2 && (le[0] !== ge[0] || le[1] !== ge[1]) && h(le[0], le[1], ge[0], ge[1], le[0] + fe[0], le[1] + fe[1]) && h(le[0], le[1], ge[0], ge[1], ge[0] + Ce[0], ge[1] + Ce[1]) && (J = 2);
                        var Ge = new S(J);
                        for (re = fe.length, $ = 0; $ < J; $ += 1) {
                            for (ft = B(re), be = $ / (J - 1), Ne = 0, G = 0; G < re; G += 1) ve = y(1 - be, 3) * le[G] + 3 * y(1 - be, 2) * be * (le[G] + fe[G]) + 3 * (1 - be) * y(be, 2) * (ge[G] + Ce[G]) + y(be, 3) * ge[G], ft[G] = ve, ot !== null && (Ne += y(ft[G] - ot[G], 2));
                            Ne = x(Ne), Fe += Ne, Ge.points[$] = new H(Ne, ft), ot = ft
                        }
                        Ge.segmentLength = Fe, K[Ae] = Ge
                    }
                    return K[Ae]
                }
            }();

            function M(K, le) {
                var ge = le.percents,
                    fe = le.lengths,
                    Ce = ge.length,
                    Ae = F((Ce - 1) * K),
                    J = K * le.addedLength,
                    $ = 0;
                if (Ae === Ce - 1 || Ae === 0 || J === fe[Ae]) return ge[Ae];
                for (var G = fe[Ae] > J ? -1 : 1, re = !0; re;)
                    if (fe[Ae] <= J && fe[Ae + 1] > J ? ($ = (J - fe[Ae]) / (fe[Ae + 1] - fe[Ae]), re = !1) : Ae += G, Ae < 0 || Ae >= Ce - 1) {
                        if (Ae === Ce - 1) return ge[Ae];
                        re = !1
                    }
                return ge[Ae] + (ge[Ae + 1] - ge[Ae]) * $
            }

            function ne(K, le, ge, fe, Ce, Ae) {
                var J = M(Ce, Ae),
                    $ = 1 - J,
                    G = c.round(($ * $ * $ * K[0] + (J * $ * $ + $ * J * $ + $ * $ * J) * ge[0] + (J * J * $ + $ * J * J + J * $ * J) * fe[0] + J * J * J * le[0]) * 1e3) / 1e3,
                    re = c.round(($ * $ * $ * K[1] + (J * $ * $ + $ * J * $ + $ * $ * J) * ge[1] + (J * J * $ + $ * J * J + J * $ * J) * fe[1] + J * J * J * le[1]) * 1e3) / 1e3;
                return [G, re]
            }
            var ae = v("float32", 8);

            function xe(K, le, ge, fe, Ce, Ae, J) {
                Ce < 0 ? Ce = 0 : Ce > 1 && (Ce = 1);
                var $ = M(Ce, J);
                Ae = Ae > 1 ? 1 : Ae;
                var G = M(Ae, J),
                    re, ve = K.length,
                    be = 1 - $,
                    Fe = 1 - G,
                    Ne = be * be * be,
                    ft = $ * be * be * 3,
                    ot = $ * $ * be * 3,
                    Ge = $ * $ * $,
                    pt = be * be * Fe,
                    At = $ * be * Fe + be * $ * Fe + be * be * G,
                    Me = $ * $ * Fe + be * $ * G + $ * be * G,
                    z = $ * $ * G,
                    de = be * Fe * Fe,
                    k = $ * Fe * Fe + be * G * Fe + be * Fe * G,
                    R = $ * G * Fe + be * G * G + $ * Fe * G,
                    _e = $ * G * G,
                    me = Fe * Fe * Fe,
                    Ze = G * Fe * Fe + Fe * G * Fe + Fe * Fe * G,
                    lt = G * G * Fe + Fe * G * G + G * Fe * G,
                    dt = G * G * G;
                for (re = 0; re < ve; re += 1) ae[re * 4] = c.round((Ne * K[re] + ft * ge[re] + ot * fe[re] + Ge * le[re]) * 1e3) / 1e3, ae[re * 4 + 1] = c.round((pt * K[re] + At * ge[re] + Me * fe[re] + z * le[re]) * 1e3) / 1e3, ae[re * 4 + 2] = c.round((de * K[re] + k * ge[re] + R * fe[re] + _e * le[re]) * 1e3) / 1e3, ae[re * 4 + 3] = c.round((me * K[re] + Ze * ge[re] + lt * fe[re] + dt * le[re]) * 1e3) / 1e3;
                return ae
            }
            return {
                getSegmentsLength: T,
                getNewSegment: xe,
                getPointInSegment: ne,
                buildBezierData: j,
                pointOnLine2D: h,
                pointOnLine3D: g
            }
        }
        var kt = Pt(),
            nn = i,
            js = Math.abs;

        function sA(c, h) {
            var g = this.offsetTime,
                b;
            this.propType === "multidimensional" && (b = v("float32", this.pv.length));
            for (var T = h.lastIndex, S = T, H = this.keyframes.length - 1, j = !0, M, ne, ae; j;) {
                if (M = this.keyframes[S], ne = this.keyframes[S + 1], S === H - 1 && c >= ne.t - g) {
                    M.h && (M = ne), T = 0;
                    break
                }
                if (ne.t - g > c) {
                    T = S;
                    break
                }
                S < H - 1 ? S += 1 : (T = 0, j = !1)
            }
            ae = this.keyframesMetadata[S] || {};
            var xe, K, le, ge, fe, Ce, Ae = ne.t - g,
                J = M.t - g,
                $;
            if (M.to) {
                ae.bezierData || (ae.bezierData = kt.buildBezierData(M.s, ne.s || M.e, M.to, M.ti));
                var G = ae.bezierData;
                if (c >= Ae || c < J) {
                    var re = c >= Ae ? G.points.length - 1 : 0;
                    for (K = G.points[re].point.length, xe = 0; xe < K; xe += 1) b[xe] = G.points[re].point[xe]
                } else {
                    ae.__fnct ? Ce = ae.__fnct : (Ce = We.getBezierEasing(M.o.x, M.o.y, M.i.x, M.i.y, M.n).get, ae.__fnct = Ce), le = Ce((c - J) / (Ae - J));
                    var ve = G.segmentLength * le,
                        be, Fe = h.lastFrame < c && h._lastKeyframeIndex === S ? h._lastAddedLength : 0;
                    for (fe = h.lastFrame < c && h._lastKeyframeIndex === S ? h._lastPoint : 0, j = !0, ge = G.points.length; j;) {
                        if (Fe += G.points[fe].partialLength, ve === 0 || le === 0 || fe === G.points.length - 1) {
                            for (K = G.points[fe].point.length, xe = 0; xe < K; xe += 1) b[xe] = G.points[fe].point[xe];
                            break
                        } else if (ve >= Fe && ve < Fe + G.points[fe + 1].partialLength) {
                            for (be = (ve - Fe) / G.points[fe + 1].partialLength, K = G.points[fe].point.length, xe = 0; xe < K; xe += 1) b[xe] = G.points[fe].point[xe] + (G.points[fe + 1].point[xe] - G.points[fe].point[xe]) * be;
                            break
                        }
                        fe < ge - 1 ? fe += 1 : j = !1
                    }
                    h._lastPoint = fe, h._lastAddedLength = Fe - G.points[fe].partialLength, h._lastKeyframeIndex = S
                }
            } else {
                var Ne, ft, ot, Ge, pt;
                if (H = M.s.length, $ = ne.s || M.e, this.sh && M.h !== 1)
                    if (c >= Ae) b[0] = $[0], b[1] = $[1], b[2] = $[2];
                    else if (c <= J) b[0] = M.s[0], b[1] = M.s[1], b[2] = M.s[2];
                else {
                    var At = rr(M.s),
                        Me = rr($),
                        z = (c - J) / (Ae - J);
                    _n(b, Ws(At, Me, z))
                } else
                    for (S = 0; S < H; S += 1) M.h !== 1 && (c >= Ae ? le = 1 : c < J ? le = 0 : (M.o.x.constructor === Array ? (ae.__fnct || (ae.__fnct = []), ae.__fnct[S] ? Ce = ae.__fnct[S] : (Ne = M.o.x[S] === void 0 ? M.o.x[0] : M.o.x[S], ft = M.o.y[S] === void 0 ? M.o.y[0] : M.o.y[S], ot = M.i.x[S] === void 0 ? M.i.x[0] : M.i.x[S], Ge = M.i.y[S] === void 0 ? M.i.y[0] : M.i.y[S], Ce = We.getBezierEasing(Ne, ft, ot, Ge).get, ae.__fnct[S] = Ce)) : ae.__fnct ? Ce = ae.__fnct : (Ne = M.o.x, ft = M.o.y, ot = M.i.x, Ge = M.i.y, Ce = We.getBezierEasing(Ne, ft, ot, Ge).get, M.keyframeMetadata = Ce), le = Ce((c - J) / (Ae - J)))), $ = ne.s || M.e, pt = M.h === 1 ? M.s[S] : M.s[S] + ($[S] - M.s[S]) * le, this.propType === "multidimensional" ? b[S] = pt : b = pt
            }
            return h.lastIndex = T, b
        }

        function Ws(c, h, g) {
            var b = [],
                T = c[0],
                S = c[1],
                H = c[2],
                j = c[3],
                M = h[0],
                ne = h[1],
                ae = h[2],
                xe = h[3],
                K, le, ge, fe, Ce;
            return le = T * M + S * ne + H * ae + j * xe, le < 0 && (le = -le, M = -M, ne = -ne, ae = -ae, xe = -xe), 1 - le > 1e-6 ? (K = Math.acos(le), ge = Math.sin(K), fe = Math.sin((1 - g) * K) / ge, Ce = Math.sin(g * K) / ge) : (fe = 1 - g, Ce = g), b[0] = fe * T + Ce * M, b[1] = fe * S + Ce * ne, b[2] = fe * H + Ce * ae, b[3] = fe * j + Ce * xe, b
        }

        function _n(c, h) {
            var g = h[0],
                b = h[1],
                T = h[2],
                S = h[3],
                H = Math.atan2(2 * b * S - 2 * g * T, 1 - 2 * b * b - 2 * T * T),
                j = Math.asin(2 * g * b + 2 * T * S),
                M = Math.atan2(2 * g * S - 2 * b * T, 1 - 2 * g * g - 2 * T * T);
            c[0] = H / L, c[1] = j / L, c[2] = M / L
        }

        function rr(c) {
            var h = c[0] * L,
                g = c[1] * L,
                b = c[2] * L,
                T = Math.cos(h / 2),
                S = Math.cos(g / 2),
                H = Math.cos(b / 2),
                j = Math.sin(h / 2),
                M = Math.sin(g / 2),
                ne = Math.sin(b / 2),
                ae = T * S * H - j * M * ne,
                xe = j * M * H + T * S * ne,
                K = j * S * H + T * M * ne,
                le = T * M * H - j * S * ne;
            return [xe, K, le, ae]
        }

        function Hi() {
            var c = this.comp.renderedFrame - this.offsetTime,
                h = this.keyframes[0].t - this.offsetTime,
                g = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
            if (!(c === this._caching.lastFrame || this._caching.lastFrame !== nn && (this._caching.lastFrame >= g && c >= g || this._caching.lastFrame < h && c < h))) {
                this._caching.lastFrame >= c && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);
                var b = this.interpolateValue(c, this._caching);
                this.pv = b
            }
            return this._caching.lastFrame = c, this.pv
        }

        function jo(c) {
            var h;
            if (this.propType === "unidimensional") h = c * this.mult, js(this.v - h) > 1e-5 && (this.v = h, this._mdf = !0);
            else
                for (var g = 0, b = this.v.length; g < b;) h = c[g] * this.mult, js(this.v[g] - h) > 1e-5 && (this.v[g] = h, this._mdf = !0), g += 1
        }

        function zs() {
            if (!(this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length)) {
                if (this.lock) {
                    this.setVValue(this.pv);
                    return
                }
                this.lock = !0, this._mdf = this._isFirstFrame;
                var c, h = this.effectsSequence.length,
                    g = this.kf ? this.pv : this.data.k;
                for (c = 0; c < h; c += 1) g = this.effectsSequence[c](g);
                this.setVValue(g), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId
            }
        }

        function Wo(c) {
            this.effectsSequence.push(c), this.container.addDynamicProperty(this)
        }

        function Pc(c, h, g, b) {
            this.propType = "unidimensional", this.mult = g || 1, this.data = h, this.v = g ? h.k * g : h.k, this.pv = h.k, this._mdf = !1, this.elem = c, this.container = b, this.comp = c.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = zs, this.setVValue = jo, this.addEffect = Wo
        }

        function ud(c, h, g, b) {
            this.propType = "multidimensional", this.mult = g || 1, this.data = h, this._mdf = !1, this.elem = c, this.container = b, this.comp = c.comp, this.k = !1, this.kf = !1, this.frameId = -1;
            var T, S = h.k.length;
            for (this.v = v("float32", S), this.pv = v("float32", S), this.vel = v("float32", S), T = 0; T < S; T += 1) this.v[T] = h.k[T] * this.mult, this.pv[T] = h.k[T];
            this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = zs, this.setVValue = jo, this.addEffect = Wo
        }

        function cd(c, h, g, b) {
            this.propType = "unidimensional", this.keyframes = h.k, this.keyframesMetadata = [], this.offsetTime = c.data.st, this.frameId = -1, this._caching = {
                lastFrame: nn,
                lastIndex: 0,
                value: 0,
                _lastKeyframeIndex: -1
            }, this.k = !0, this.kf = !0, this.data = h, this.mult = g || 1, this.elem = c, this.container = b, this.comp = c.comp, this.v = nn, this.pv = nn, this._isFirstFrame = !0, this.getValue = zs, this.setVValue = jo, this.interpolateValue = sA, this.effectsSequence = [Hi.bind(this)], this.addEffect = Wo
        }

        function fd(c, h, g, b) {
            this.propType = "multidimensional";
            var T, S = h.k.length,
                H, j, M, ne;
            for (T = 0; T < S - 1; T += 1) h.k[T].to && h.k[T].s && h.k[T + 1] && h.k[T + 1].s && (H = h.k[T].s, j = h.k[T + 1].s, M = h.k[T].to, ne = h.k[T].ti, (H.length === 2 && !(H[0] === j[0] && H[1] === j[1]) && kt.pointOnLine2D(H[0], H[1], j[0], j[1], H[0] + M[0], H[1] + M[1]) && kt.pointOnLine2D(H[0], H[1], j[0], j[1], j[0] + ne[0], j[1] + ne[1]) || H.length === 3 && !(H[0] === j[0] && H[1] === j[1] && H[2] === j[2]) && kt.pointOnLine3D(H[0], H[1], H[2], j[0], j[1], j[2], H[0] + M[0], H[1] + M[1], H[2] + M[2]) && kt.pointOnLine3D(H[0], H[1], H[2], j[0], j[1], j[2], j[0] + ne[0], j[1] + ne[1], j[2] + ne[2])) && (h.k[T].to = null, h.k[T].ti = null), H[0] === j[0] && H[1] === j[1] && M[0] === 0 && M[1] === 0 && ne[0] === 0 && ne[1] === 0 && (H.length === 2 || H[2] === j[2] && M[2] === 0 && ne[2] === 0) && (h.k[T].to = null, h.k[T].ti = null));
            this.effectsSequence = [Hi.bind(this)], this.data = h, this.keyframes = h.k, this.keyframesMetadata = [], this.offsetTime = c.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = g || 1, this.elem = c, this.container = b, this.comp = c.comp, this.getValue = zs, this.setVValue = jo, this.interpolateValue = sA, this.frameId = -1;
            var ae = h.k[0].s.length;
            for (this.v = v("float32", ae), this.pv = v("float32", ae), T = 0; T < ae; T += 1) this.v[T] = nn, this.pv[T] = nn;
            this._caching = {
                lastFrame: nn,
                lastIndex: 0,
                value: v("float32", ae)
            }, this.addEffect = Wo
        }
        var je = function() {
            function c(g, b, T, S, H) {
                b.sid && (b = g.globalData.slotManager.getProp(b));
                var j;
                if (!b.k.length) j = new Pc(g, b, S, H);
                else if (typeof b.k[0] == "number") j = new ud(g, b, S, H);
                else switch (T) {
                    case 0:
                        j = new cd(g, b, S, H);
                        break;
                    case 1:
                        j = new fd(g, b, S, H);
                        break
                }
                return j.effectsSequence.length && H.addDynamicProperty(j), j
            }
            var h = {
                getProp: c
            };
            return h
        }();

        function Fn() {}
        Fn.prototype = {
            addDynamicProperty: function(h) {
                this.dynamicProperties.indexOf(h) === -1 && (this.dynamicProperties.push(h), this.container.addDynamicProperty(this), this._isAnimated = !0)
            },
            iterateDynamicProperties: function() {
                this._mdf = !1;
                var h, g = this.dynamicProperties.length;
                for (h = 0; h < g; h += 1) this.dynamicProperties[h].getValue(), this.dynamicProperties[h]._mdf && (this._mdf = !0)
            },
            initDynamicPropertyContainer: function(h) {
                this.container = h, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1
            }
        };
        var qA = function() {
            function c() {
                return v("float32", 2)
            }
            return ut(8, c)
        }();

        function Gr() {
            this.c = !1, this._length = 0, this._maxLength = 8, this.v = B(this._maxLength), this.o = B(this._maxLength), this.i = B(this._maxLength)
        }
        Gr.prototype.setPathData = function(c, h) {
            this.c = c, this.setLength(h);
            for (var g = 0; g < h;) this.v[g] = qA.newElement(), this.o[g] = qA.newElement(), this.i[g] = qA.newElement(), g += 1
        }, Gr.prototype.setLength = function(c) {
            for (; this._maxLength < c;) this.doubleArrayLength();
            this._length = c
        }, Gr.prototype.doubleArrayLength = function() {
            this.v = this.v.concat(B(this._maxLength)), this.i = this.i.concat(B(this._maxLength)), this.o = this.o.concat(B(this._maxLength)), this._maxLength *= 2
        }, Gr.prototype.setXYAt = function(c, h, g, b, T) {
            var S;
            switch (this._length = Math.max(this._length, b + 1), this._length >= this._maxLength && this.doubleArrayLength(), g) {
                case "v":
                    S = this.v;
                    break;
                case "i":
                    S = this.i;
                    break;
                case "o":
                    S = this.o;
                    break;
                default:
                    S = [];
                    break
            }(!S[b] || S[b] && !T) && (S[b] = qA.newElement()), S[b][0] = c, S[b][1] = h
        }, Gr.prototype.setTripleAt = function(c, h, g, b, T, S, H, j) {
            this.setXYAt(c, h, "v", H, j), this.setXYAt(g, b, "o", H, j), this.setXYAt(T, S, "i", H, j)
        }, Gr.prototype.reverse = function() {
            var c = new Gr;
            c.setPathData(this.c, this._length);
            var h = this.v,
                g = this.o,
                b = this.i,
                T = 0;
            this.c && (c.setTripleAt(h[0][0], h[0][1], b[0][0], b[0][1], g[0][0], g[0][1], 0, !1), T = 1);
            var S = this._length - 1,
                H = this._length,
                j;
            for (j = T; j < H; j += 1) c.setTripleAt(h[S][0], h[S][1], b[S][0], b[S][1], g[S][0], g[S][1], j, !1), S -= 1;
            return c
        }, Gr.prototype.length = function() {
            return this._length
        };
        var Dn = function() {
            function c() {
                return new Gr
            }

            function h(T) {
                var S = T._length,
                    H;
                for (H = 0; H < S; H += 1) qA.release(T.v[H]), qA.release(T.i[H]), qA.release(T.o[H]), T.v[H] = null, T.i[H] = null, T.o[H] = null;
                T._length = 0, T.c = !1
            }

            function g(T) {
                var S = b.newElement(),
                    H, j = T._length === void 0 ? T.v.length : T._length;
                for (S.setLength(j), S.c = T.c, H = 0; H < j; H += 1) S.setTripleAt(T.v[H][0], T.v[H][1], T.o[H][0], T.o[H][1], T.i[H][0], T.i[H][1], H);
                return S
            }
            var b = ut(4, c, h);
            return b.clone = g, b
        }();

        function zo() {
            this._length = 0, this._maxLength = 4, this.shapes = B(this._maxLength)
        }
        zo.prototype.addShape = function(c) {
            this._length === this._maxLength && (this.shapes = this.shapes.concat(B(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = c, this._length += 1
        }, zo.prototype.releaseShapes = function() {
            var c;
            for (c = 0; c < this._length; c += 1) Dn.release(this.shapes[c]);
            this._length = 0
        };
        var wn = function() {
                var c = {
                        newShapeCollection: T,
                        release: S
                    },
                    h = 0,
                    g = 4,
                    b = B(g);

                function T() {
                    var H;
                    return h ? (h -= 1, H = b[h]) : H = new zo, H
                }

                function S(H) {
                    var j, M = H._length;
                    for (j = 0; j < M; j += 1) Dn.release(H.shapes[j]);
                    H._length = 0, h === g && (b = qe.double(b), g *= 2), b[h] = H, h += 1
                }
                return c
            }(),
            Tr = function() {
                var c = -999999;

                function h(Ae, J, $) {
                    var G = $.lastIndex,
                        re, ve, be, Fe, Ne, ft, ot, Ge, pt, At = this.keyframes;
                    if (Ae < At[0].t - this.offsetTime) re = At[0].s[0], be = !0, G = 0;
                    else if (Ae >= At[At.length - 1].t - this.offsetTime) re = At[At.length - 1].s ? At[At.length - 1].s[0] : At[At.length - 2].e[0], be = !0;
                    else {
                        for (var Me = G, z = At.length - 1, de = !0, k, R, _e; de && (k = At[Me], R = At[Me + 1], !(R.t - this.offsetTime > Ae));) Me < z - 1 ? Me += 1 : de = !1;
                        if (_e = this.keyframesMetadata[Me] || {}, be = k.h === 1, G = Me, !be) {
                            if (Ae >= R.t - this.offsetTime) Ge = 1;
                            else if (Ae < k.t - this.offsetTime) Ge = 0;
                            else {
                                var me;
                                _e.__fnct ? me = _e.__fnct : (me = We.getBezierEasing(k.o.x, k.o.y, k.i.x, k.i.y).get, _e.__fnct = me), Ge = me((Ae - (k.t - this.offsetTime)) / (R.t - this.offsetTime - (k.t - this.offsetTime)))
                            }
                            ve = R.s ? R.s[0] : k.e[0]
                        }
                        re = k.s[0]
                    }
                    for (ft = J._length, ot = re.i[0].length, $.lastIndex = G, Fe = 0; Fe < ft; Fe += 1)
                        for (Ne = 0; Ne < ot; Ne += 1) pt = be ? re.i[Fe][Ne] : re.i[Fe][Ne] + (ve.i[Fe][Ne] - re.i[Fe][Ne]) * Ge, J.i[Fe][Ne] = pt, pt = be ? re.o[Fe][Ne] : re.o[Fe][Ne] + (ve.o[Fe][Ne] - re.o[Fe][Ne]) * Ge, J.o[Fe][Ne] = pt, pt = be ? re.v[Fe][Ne] : re.v[Fe][Ne] + (ve.v[Fe][Ne] - re.v[Fe][Ne]) * Ge, J.v[Fe][Ne] = pt
                }

                function g() {
                    var Ae = this.comp.renderedFrame - this.offsetTime,
                        J = this.keyframes[0].t - this.offsetTime,
                        $ = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,
                        G = this._caching.lastFrame;
                    return G !== c && (G < J && Ae < J || G > $ && Ae > $) || (this._caching.lastIndex = G < Ae ? this._caching.lastIndex : 0, this.interpolateShape(Ae, this.pv, this._caching)), this._caching.lastFrame = Ae, this.pv
                }

                function b() {
                    this.paths = this.localShapeCollection
                }

                function T(Ae, J) {
                    if (Ae._length !== J._length || Ae.c !== J.c) return !1;
                    var $, G = Ae._length;
                    for ($ = 0; $ < G; $ += 1)
                        if (Ae.v[$][0] !== J.v[$][0] || Ae.v[$][1] !== J.v[$][1] || Ae.o[$][0] !== J.o[$][0] || Ae.o[$][1] !== J.o[$][1] || Ae.i[$][0] !== J.i[$][0] || Ae.i[$][1] !== J.i[$][1]) return !1;
                    return !0
                }

                function S(Ae) {
                    T(this.v, Ae) || (this.v = Dn.clone(Ae), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection)
                }

                function H() {
                    if (this.elem.globalData.frameId !== this.frameId) {
                        if (!this.effectsSequence.length) {
                            this._mdf = !1;
                            return
                        }
                        if (this.lock) {
                            this.setVValue(this.pv);
                            return
                        }
                        this.lock = !0, this._mdf = !1;
                        var Ae;
                        this.kf ? Ae = this.pv : this.data.ks ? Ae = this.data.ks.k : Ae = this.data.pt.k;
                        var J, $ = this.effectsSequence.length;
                        for (J = 0; J < $; J += 1) Ae = this.effectsSequence[J](Ae);
                        this.setVValue(Ae), this.lock = !1, this.frameId = this.elem.globalData.frameId
                    }
                }

                function j(Ae, J, $) {
                    this.propType = "shape", this.comp = Ae.comp, this.container = Ae, this.elem = Ae, this.data = J, this.k = !1, this.kf = !1, this._mdf = !1;
                    var G = $ === 3 ? J.pt.k : J.ks.k;
                    this.v = Dn.clone(G), this.pv = Dn.clone(this.v), this.localShapeCollection = wn.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = b, this.effectsSequence = []
                }

                function M(Ae) {
                    this.effectsSequence.push(Ae), this.container.addDynamicProperty(this)
                }
                j.prototype.interpolateShape = h, j.prototype.getValue = H, j.prototype.setVValue = S, j.prototype.addEffect = M;

                function ne(Ae, J, $) {
                    this.propType = "shape", this.comp = Ae.comp, this.elem = Ae, this.container = Ae, this.offsetTime = Ae.data.st, this.keyframes = $ === 3 ? J.pt.k : J.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;
                    var G = this.keyframes[0].s[0].i.length;
                    this.v = Dn.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, G), this.pv = Dn.clone(this.v), this.localShapeCollection = wn.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = c, this.reset = b, this._caching = {
                        lastFrame: c,
                        lastIndex: 0
                    }, this.effectsSequence = [g.bind(this)]
                }
                ne.prototype.getValue = H, ne.prototype.interpolateShape = h, ne.prototype.setVValue = S, ne.prototype.addEffect = M;
                var ae = function() {
                        var Ae = I;

                        function J($, G) {
                            this.v = Dn.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = wn.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = G.d, this.elem = $, this.comp = $.comp, this.frameId = -1, this.initDynamicPropertyContainer($), this.p = je.getProp($, G.p, 1, 0, this), this.s = je.getProp($, G.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath())
                        }
                        return J.prototype = {
                            reset: b,
                            getValue: function() {
                                this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath())
                            },
                            convertEllToPath: function() {
                                var G = this.p.v[0],
                                    re = this.p.v[1],
                                    ve = this.s.v[0] / 2,
                                    be = this.s.v[1] / 2,
                                    Fe = this.d !== 3,
                                    Ne = this.v;
                                Ne.v[0][0] = G, Ne.v[0][1] = re - be, Ne.v[1][0] = Fe ? G + ve : G - ve, Ne.v[1][1] = re, Ne.v[2][0] = G, Ne.v[2][1] = re + be, Ne.v[3][0] = Fe ? G - ve : G + ve, Ne.v[3][1] = re, Ne.i[0][0] = Fe ? G - ve * Ae : G + ve * Ae, Ne.i[0][1] = re - be, Ne.i[1][0] = Fe ? G + ve : G - ve, Ne.i[1][1] = re - be * Ae, Ne.i[2][0] = Fe ? G + ve * Ae : G - ve * Ae, Ne.i[2][1] = re + be, Ne.i[3][0] = Fe ? G - ve : G + ve, Ne.i[3][1] = re + be * Ae, Ne.o[0][0] = Fe ? G + ve * Ae : G - ve * Ae, Ne.o[0][1] = re - be, Ne.o[1][0] = Fe ? G + ve : G - ve, Ne.o[1][1] = re + be * Ae, Ne.o[2][0] = Fe ? G - ve * Ae : G + ve * Ae, Ne.o[2][1] = re + be, Ne.o[3][0] = Fe ? G - ve : G + ve, Ne.o[3][1] = re - be * Ae
                            }
                        }, f([Fn], J), J
                    }(),
                    xe = function() {
                        function Ae(J, $) {
                            this.v = Dn.newElement(), this.v.setPathData(!0, 0), this.elem = J, this.comp = J.comp, this.data = $, this.frameId = -1, this.d = $.d, this.initDynamicPropertyContainer(J), $.sy === 1 ? (this.ir = je.getProp(J, $.ir, 0, 0, this), this.is = je.getProp(J, $.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = je.getProp(J, $.pt, 0, 0, this), this.p = je.getProp(J, $.p, 1, 0, this), this.r = je.getProp(J, $.r, 0, L, this), this.or = je.getProp(J, $.or, 0, 0, this), this.os = je.getProp(J, $.os, 0, .01, this), this.localShapeCollection = wn.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath())
                        }
                        return Ae.prototype = {
                            reset: b,
                            getValue: function() {
                                this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath())
                            },
                            convertStarToPath: function() {
                                var $ = Math.floor(this.pt.v) * 2,
                                    G = Math.PI * 2 / $,
                                    re = !0,
                                    ve = this.or.v,
                                    be = this.ir.v,
                                    Fe = this.os.v,
                                    Ne = this.is.v,
                                    ft = 2 * Math.PI * ve / ($ * 2),
                                    ot = 2 * Math.PI * be / ($ * 2),
                                    Ge, pt, At, Me, z = -Math.PI / 2;
                                z += this.r.v;
                                var de = this.data.d === 3 ? -1 : 1;
                                for (this.v._length = 0, Ge = 0; Ge < $; Ge += 1) {
                                    pt = re ? ve : be, At = re ? Fe : Ne, Me = re ? ft : ot;
                                    var k = pt * Math.cos(z),
                                        R = pt * Math.sin(z),
                                        _e = k === 0 && R === 0 ? 0 : R / Math.sqrt(k * k + R * R),
                                        me = k === 0 && R === 0 ? 0 : -k / Math.sqrt(k * k + R * R);
                                    k += +this.p.v[0], R += +this.p.v[1], this.v.setTripleAt(k, R, k - _e * Me * At * de, R - me * Me * At * de, k + _e * Me * At * de, R + me * Me * At * de, Ge, !0), re = !re, z += G * de
                                }
                            },
                            convertPolygonToPath: function() {
                                var $ = Math.floor(this.pt.v),
                                    G = Math.PI * 2 / $,
                                    re = this.or.v,
                                    ve = this.os.v,
                                    be = 2 * Math.PI * re / ($ * 4),
                                    Fe, Ne = -Math.PI * .5,
                                    ft = this.data.d === 3 ? -1 : 1;
                                for (Ne += this.r.v, this.v._length = 0, Fe = 0; Fe < $; Fe += 1) {
                                    var ot = re * Math.cos(Ne),
                                        Ge = re * Math.sin(Ne),
                                        pt = ot === 0 && Ge === 0 ? 0 : Ge / Math.sqrt(ot * ot + Ge * Ge),
                                        At = ot === 0 && Ge === 0 ? 0 : -ot / Math.sqrt(ot * ot + Ge * Ge);
                                    ot += +this.p.v[0], Ge += +this.p.v[1], this.v.setTripleAt(ot, Ge, ot - pt * be * ve * ft, Ge - At * be * ve * ft, ot + pt * be * ve * ft, Ge + At * be * ve * ft, Fe, !0), Ne += G * ft
                                }
                                this.paths.length = 0, this.paths[0] = this.v
                            }
                        }, f([Fn], Ae), Ae
                    }(),
                    K = function() {
                        function Ae(J, $) {
                            this.v = Dn.newElement(), this.v.c = !0, this.localShapeCollection = wn.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = J, this.comp = J.comp, this.frameId = -1, this.d = $.d, this.initDynamicPropertyContainer(J), this.p = je.getProp(J, $.p, 1, 0, this), this.s = je.getProp(J, $.s, 1, 0, this), this.r = je.getProp(J, $.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath())
                        }
                        return Ae.prototype = {
                            convertRectToPath: function() {
                                var $ = this.p.v[0],
                                    G = this.p.v[1],
                                    re = this.s.v[0] / 2,
                                    ve = this.s.v[1] / 2,
                                    be = Q(re, ve, this.r.v),
                                    Fe = be * (1 - I);
                                this.v._length = 0, this.d === 2 || this.d === 1 ? (this.v.setTripleAt($ + re, G - ve + be, $ + re, G - ve + be, $ + re, G - ve + Fe, 0, !0), this.v.setTripleAt($ + re, G + ve - be, $ + re, G + ve - Fe, $ + re, G + ve - be, 1, !0), be !== 0 ? (this.v.setTripleAt($ + re - be, G + ve, $ + re - be, G + ve, $ + re - Fe, G + ve, 2, !0), this.v.setTripleAt($ - re + be, G + ve, $ - re + Fe, G + ve, $ - re + be, G + ve, 3, !0), this.v.setTripleAt($ - re, G + ve - be, $ - re, G + ve - be, $ - re, G + ve - Fe, 4, !0), this.v.setTripleAt($ - re, G - ve + be, $ - re, G - ve + Fe, $ - re, G - ve + be, 5, !0), this.v.setTripleAt($ - re + be, G - ve, $ - re + be, G - ve, $ - re + Fe, G - ve, 6, !0), this.v.setTripleAt($ + re - be, G - ve, $ + re - Fe, G - ve, $ + re - be, G - ve, 7, !0)) : (this.v.setTripleAt($ - re, G + ve, $ - re + Fe, G + ve, $ - re, G + ve, 2), this.v.setTripleAt($ - re, G - ve, $ - re, G - ve + Fe, $ - re, G - ve, 3))) : (this.v.setTripleAt($ + re, G - ve + be, $ + re, G - ve + Fe, $ + re, G - ve + be, 0, !0), be !== 0 ? (this.v.setTripleAt($ + re - be, G - ve, $ + re - be, G - ve, $ + re - Fe, G - ve, 1, !0), this.v.setTripleAt($ - re + be, G - ve, $ - re + Fe, G - ve, $ - re + be, G - ve, 2, !0), this.v.setTripleAt($ - re, G - ve + be, $ - re, G - ve + be, $ - re, G - ve + Fe, 3, !0), this.v.setTripleAt($ - re, G + ve - be, $ - re, G + ve - Fe, $ - re, G + ve - be, 4, !0), this.v.setTripleAt($ - re + be, G + ve, $ - re + be, G + ve, $ - re + Fe, G + ve, 5, !0), this.v.setTripleAt($ + re - be, G + ve, $ + re - Fe, G + ve, $ + re - be, G + ve, 6, !0), this.v.setTripleAt($ + re, G + ve - be, $ + re, G + ve - be, $ + re, G + ve - Fe, 7, !0)) : (this.v.setTripleAt($ - re, G - ve, $ - re + Fe, G - ve, $ - re, G - ve, 1, !0), this.v.setTripleAt($ - re, G + ve, $ - re, G + ve - Fe, $ - re, G + ve, 2, !0), this.v.setTripleAt($ + re, G + ve, $ + re - Fe, G + ve, $ + re, G + ve, 3, !0)))
                            },
                            getValue: function() {
                                this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath())
                            },
                            reset: b
                        }, f([Fn], Ae), Ae
                    }();

                function le(Ae, J, $) {
                    var G;
                    if ($ === 3 || $ === 4) {
                        var re = $ === 3 ? J.pt : J.ks,
                            ve = re.k;
                        ve.length ? G = new ne(Ae, J, $) : G = new j(Ae, J, $)
                    } else $ === 5 ? G = new K(Ae, J) : $ === 6 ? G = new ae(Ae, J) : $ === 7 && (G = new xe(Ae, J));
                    return G.k && Ae.addDynamicProperty(G), G
                }

                function ge() {
                    return j
                }

                function fe() {
                    return ne
                }
                var Ce = {};
                return Ce.getShapeProp = le, Ce.getConstructorFunction = ge, Ce.getKeyframedConstructorFunction = fe, Ce
            }();
        /*!
         Transformation Matrix v2.0
         (c) Epistemex 2014-2015
         www.epistemex.com
         By Ken Fyrstenberg
         Contributions by leeoniya.
         License: MIT, header required.
         */
        var Sn = function() {
            var c = Math.cos,
                h = Math.sin,
                g = Math.tan,
                b = Math.round;

            function T() {
                return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this
            }

            function S(k) {
                if (k === 0) return this;
                var R = c(k),
                    _e = h(k);
                return this._t(R, -_e, 0, 0, _e, R, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
            }

            function H(k) {
                if (k === 0) return this;
                var R = c(k),
                    _e = h(k);
                return this._t(1, 0, 0, 0, 0, R, -_e, 0, 0, _e, R, 0, 0, 0, 0, 1)
            }

            function j(k) {
                if (k === 0) return this;
                var R = c(k),
                    _e = h(k);
                return this._t(R, 0, _e, 0, 0, 1, 0, 0, -_e, 0, R, 0, 0, 0, 0, 1)
            }

            function M(k) {
                if (k === 0) return this;
                var R = c(k),
                    _e = h(k);
                return this._t(R, -_e, 0, 0, _e, R, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
            }

            function ne(k, R) {
                return this._t(1, R, k, 1, 0, 0)
            }

            function ae(k, R) {
                return this.shear(g(k), g(R))
            }

            function xe(k, R) {
                var _e = c(R),
                    me = h(R);
                return this._t(_e, me, 0, 0, -me, _e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, g(k), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(_e, -me, 0, 0, me, _e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
            }

            function K(k, R, _e) {
                return !_e && _e !== 0 && (_e = 1), k === 1 && R === 1 && _e === 1 ? this : this._t(k, 0, 0, 0, 0, R, 0, 0, 0, 0, _e, 0, 0, 0, 0, 1)
            }

            function le(k, R, _e, me, Ze, lt, dt, Dt, Lt, Tn, pr, _A, gr, Gn, Ir, Gt) {
                return this.props[0] = k, this.props[1] = R, this.props[2] = _e, this.props[3] = me, this.props[4] = Ze, this.props[5] = lt, this.props[6] = dt, this.props[7] = Dt, this.props[8] = Lt, this.props[9] = Tn, this.props[10] = pr, this.props[11] = _A, this.props[12] = gr, this.props[13] = Gn, this.props[14] = Ir, this.props[15] = Gt, this
            }

            function ge(k, R, _e) {
                return _e = _e || 0, k !== 0 || R !== 0 || _e !== 0 ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, k, R, _e, 1) : this
            }

            function fe(k, R, _e, me, Ze, lt, dt, Dt, Lt, Tn, pr, _A, gr, Gn, Ir, Gt) {
                var it = this.props;
                if (k === 1 && R === 0 && _e === 0 && me === 0 && Ze === 0 && lt === 1 && dt === 0 && Dt === 0 && Lt === 0 && Tn === 0 && pr === 1 && _A === 0) return it[12] = it[12] * k + it[15] * gr, it[13] = it[13] * lt + it[15] * Gn, it[14] = it[14] * pr + it[15] * Ir, it[15] *= Gt, this._identityCalculated = !1, this;
                var ti = it[0],
                    Gi = it[1],
                    ni = it[2],
                    FA = it[3],
                    ri = it[4],
                    Ai = it[5],
                    vr = it[6],
                    ji = it[7],
                    Wi = it[8],
                    aA = it[9],
                    zi = it[10],
                    lA = it[11],
                    qs = it[12],
                    Mc = it[13],
                    Rc = it[14],
                    Nc = it[15];
                return it[0] = ti * k + Gi * Ze + ni * Lt + FA * gr, it[1] = ti * R + Gi * lt + ni * Tn + FA * Gn, it[2] = ti * _e + Gi * dt + ni * pr + FA * Ir, it[3] = ti * me + Gi * Dt + ni * _A + FA * Gt, it[4] = ri * k + Ai * Ze + vr * Lt + ji * gr, it[5] = ri * R + Ai * lt + vr * Tn + ji * Gn, it[6] = ri * _e + Ai * dt + vr * pr + ji * Ir, it[7] = ri * me + Ai * Dt + vr * _A + ji * Gt, it[8] = Wi * k + aA * Ze + zi * Lt + lA * gr, it[9] = Wi * R + aA * lt + zi * Tn + lA * Gn, it[10] = Wi * _e + aA * dt + zi * pr + lA * Ir, it[11] = Wi * me + aA * Dt + zi * _A + lA * Gt, it[12] = qs * k + Mc * Ze + Rc * Lt + Nc * gr, it[13] = qs * R + Mc * lt + Rc * Tn + Nc * Gn, it[14] = qs * _e + Mc * dt + Rc * pr + Nc * Ir, it[15] = qs * me + Mc * Dt + Rc * _A + Nc * Gt, this._identityCalculated = !1, this
            }

            function Ce(k) {
                var R = k.props;
                return this.transform(R[0], R[1], R[2], R[3], R[4], R[5], R[6], R[7], R[8], R[9], R[10], R[11], R[12], R[13], R[14], R[15])
            }

            function Ae() {
                return this._identityCalculated || (this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1), this._identityCalculated = !0), this._identity
            }

            function J(k) {
                for (var R = 0; R < 16;) {
                    if (k.props[R] !== this.props[R]) return !1;
                    R += 1
                }
                return !0
            }

            function $(k) {
                var R;
                for (R = 0; R < 16; R += 1) k.props[R] = this.props[R];
                return k
            }

            function G(k) {
                var R;
                for (R = 0; R < 16; R += 1) this.props[R] = k[R]
            }

            function re(k, R, _e) {
                return {
                    x: k * this.props[0] + R * this.props[4] + _e * this.props[8] + this.props[12],
                    y: k * this.props[1] + R * this.props[5] + _e * this.props[9] + this.props[13],
                    z: k * this.props[2] + R * this.props[6] + _e * this.props[10] + this.props[14]
                }
            }

            function ve(k, R, _e) {
                return k * this.props[0] + R * this.props[4] + _e * this.props[8] + this.props[12]
            }

            function be(k, R, _e) {
                return k * this.props[1] + R * this.props[5] + _e * this.props[9] + this.props[13]
            }

            function Fe(k, R, _e) {
                return k * this.props[2] + R * this.props[6] + _e * this.props[10] + this.props[14]
            }

            function Ne() {
                var k = this.props[0] * this.props[5] - this.props[1] * this.props[4],
                    R = this.props[5] / k,
                    _e = -this.props[1] / k,
                    me = -this.props[4] / k,
                    Ze = this.props[0] / k,
                    lt = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / k,
                    dt = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / k,
                    Dt = new Sn;
                return Dt.props[0] = R, Dt.props[1] = _e, Dt.props[4] = me, Dt.props[5] = Ze, Dt.props[12] = lt, Dt.props[13] = dt, Dt
            }

            function ft(k) {
                var R = this.getInverseMatrix();
                return R.applyToPointArray(k[0], k[1], k[2] || 0)
            }

            function ot(k) {
                var R, _e = k.length,
                    me = [];
                for (R = 0; R < _e; R += 1) me[R] = ft(k[R]);
                return me
            }

            function Ge(k, R, _e) {
                var me = v("float32", 6);
                if (this.isIdentity()) me[0] = k[0], me[1] = k[1], me[2] = R[0], me[3] = R[1], me[4] = _e[0], me[5] = _e[1];
                else {
                    var Ze = this.props[0],
                        lt = this.props[1],
                        dt = this.props[4],
                        Dt = this.props[5],
                        Lt = this.props[12],
                        Tn = this.props[13];
                    me[0] = k[0] * Ze + k[1] * dt + Lt, me[1] = k[0] * lt + k[1] * Dt + Tn, me[2] = R[0] * Ze + R[1] * dt + Lt, me[3] = R[0] * lt + R[1] * Dt + Tn, me[4] = _e[0] * Ze + _e[1] * dt + Lt, me[5] = _e[0] * lt + _e[1] * Dt + Tn
                }
                return me
            }

            function pt(k, R, _e) {
                var me;
                return this.isIdentity() ? me = [k, R, _e] : me = [k * this.props[0] + R * this.props[4] + _e * this.props[8] + this.props[12], k * this.props[1] + R * this.props[5] + _e * this.props[9] + this.props[13], k * this.props[2] + R * this.props[6] + _e * this.props[10] + this.props[14]], me
            }

            function At(k, R) {
                if (this.isIdentity()) return k + "," + R;
                var _e = this.props;
                return Math.round((k * _e[0] + R * _e[4] + _e[12]) * 100) / 100 + "," + Math.round((k * _e[1] + R * _e[5] + _e[13]) * 100) / 100
            }

            function Me() {
                for (var k = 0, R = this.props, _e = "matrix3d(", me = 1e4; k < 16;) _e += b(R[k] * me) / me, _e += k === 15 ? ")" : ",", k += 1;
                return _e
            }

            function z(k) {
                var R = 1e4;
                return k < 1e-6 && k > 0 || k > -1e-6 && k < 0 ? b(k * R) / R : k
            }

            function de() {
                var k = this.props,
                    R = z(k[0]),
                    _e = z(k[1]),
                    me = z(k[4]),
                    Ze = z(k[5]),
                    lt = z(k[12]),
                    dt = z(k[13]);
                return "matrix(" + R + "," + _e + "," + me + "," + Ze + "," + lt + "," + dt + ")"
            }
            return function() {
                this.reset = T, this.rotate = S, this.rotateX = H, this.rotateY = j, this.rotateZ = M, this.skew = ae, this.skewFromAxis = xe, this.shear = ne, this.scale = K, this.setTransform = le, this.translate = ge, this.transform = fe, this.multiply = Ce, this.applyToPoint = re, this.applyToX = ve, this.applyToY = be, this.applyToZ = Fe, this.applyToPointArray = pt, this.applyToTriplePoints = Ge, this.applyToPointStringified = At, this.toCSS = Me, this.to2dCSS = de, this.clone = $, this.cloneFromProps = G, this.equals = J, this.inversePoints = ot, this.inversePoint = ft, this.getInverseMatrix = Ne, this._t = this.transform, this.isIdentity = Ae, this._identity = !0, this._identityCalculated = !1, this.props = v("float32", 16), this.reset()
            }
        }();

        function Yo(c) {
            "@babel/helpers - typeof";
            return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Yo = function(g) {
                return typeof g
            } : Yo = function(g) {
                return g && typeof Symbol == "function" && g.constructor === Symbol && g !== Symbol.prototype ? "symbol" : typeof g
            }, Yo(c)
        }
        var Kt = {};

        function zx(c) {
            a(c)
        }

        function Z5() {
            Ee.searchAnimations()
        }

        function Yx(c) {
            pe(c)
        }

        function Xx(c) {
            $e(c)
        }

        function Jx(c) {
            return Ee.loadAnimation(c)
        }

        function qx(c) {
            if (typeof c == "string") switch (c) {
                case "high":
                    Be(200);
                    break;
                default:
                case "medium":
                    Be(50);
                    break;
                case "low":
                    Be(10);
                    break
            } else !isNaN(c) && c > 1 && Be(c)
        }

        function Zx() {
            return typeof navigator < "u"
        }

        function e_(c, h) {
            c === "expressions" && ye(h)
        }

        function t_(c) {
            switch (c) {
                case "propertyFactory":
                    return je;
                case "shapePropertyFactory":
                    return Tr;
                case "matrix":
                    return Sn;
                default:
                    return null
            }
        }
        Kt.play = Ee.play, Kt.pause = Ee.pause, Kt.setLocationHref = zx, Kt.togglePause = Ee.togglePause, Kt.setSpeed = Ee.setSpeed, Kt.setDirection = Ee.setDirection, Kt.stop = Ee.stop, Kt.searchAnimations = Z5, Kt.registerAnimation = Ee.registerAnimation, Kt.loadAnimation = Jx, Kt.setSubframeRendering = Yx, Kt.resize = Ee.resize, Kt.goToAndStop = Ee.goToAndStop, Kt.destroy = Ee.destroy, Kt.setQuality = qx, Kt.inBrowser = Zx, Kt.installPlugin = e_, Kt.freeze = Ee.freeze, Kt.unfreeze = Ee.unfreeze, Kt.setVolume = Ee.setVolume, Kt.mute = Ee.mute, Kt.unmute = Ee.unmute, Kt.getRegisteredAnimations = Ee.getRegisteredAnimations, Kt.useWebWorker = s, Kt.setIDPrefix = Xx, Kt.__getFactory = t_, Kt.version = "5.12.2";

        function n_() {
            document.readyState === "complete" && (clearInterval(i_), Z5())
        }

        function r_(c) {
            for (var h = e4.split("&"), g = 0; g < h.length; g += 1) {
                var b = h[g].split("=");
                if (decodeURIComponent(b[0]) == c) return decodeURIComponent(b[1])
            }
            return null
        }
        var e4 = ""; {
            var t4 = document.getElementsByTagName("script"),
                A_ = t4.length - 1,
                n4 = t4[A_] || {
                    src: ""
                };
            e4 = n4.src ? n4.src.replace(/^[^\?]+\??/, "") : "", r_("renderer")
        }
        var i_ = setInterval(n_, 100);
        try {
            Yo(t) !== "object" && (window.bodymovin = Kt)
        } catch {}
        var Mi = function() {
            var c = {},
                h = {};
            c.registerModifier = g, c.getModifier = b;

            function g(T, S) {
                h[T] || (h[T] = S)
            }

            function b(T, S, H) {
                return new h[T](S, H)
            }
            return c
        }();

        function jr() {}
        jr.prototype.initModifierProperties = function() {}, jr.prototype.addShapeToModifier = function() {}, jr.prototype.addShape = function(c) {
            if (!this.closed) {
                c.sh.container.addDynamicProperty(c.sh);
                var h = {
                    shape: c.sh,
                    data: c,
                    localShapeCollection: wn.newShapeCollection()
                };
                this.shapes.push(h), this.addShapeToModifier(h), this._isAnimated && c.setAsAnimated()
            }
        }, jr.prototype.init = function(c, h) {
            this.shapes = [], this.elem = c, this.initDynamicPropertyContainer(c), this.initModifierProperties(c, h), this.frameId = i, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
        }, jr.prototype.processKeys = function() {
            this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties())
        }, f([Fn], jr);

        function oA() {}
        f([jr], oA), oA.prototype.initModifierProperties = function(c, h) {
            this.s = je.getProp(c, h.s, 0, .01, this), this.e = je.getProp(c, h.e, 0, .01, this), this.o = je.getProp(c, h.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = h.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length
        }, oA.prototype.addShapeToModifier = function(c) {
            c.pathsData = []
        }, oA.prototype.calculateShapeEdges = function(c, h, g, b, T) {
            var S = [];
            h <= 1 ? S.push({
                s: c,
                e: h
            }) : c >= 1 ? S.push({
                s: c - 1,
                e: h - 1
            }) : (S.push({
                s: c,
                e: 1
            }), S.push({
                s: 0,
                e: h - 1
            }));
            var H = [],
                j, M = S.length,
                ne;
            for (j = 0; j < M; j += 1)
                if (ne = S[j], !(ne.e * T < b || ne.s * T > b + g)) {
                    var ae, xe;
                    ne.s * T <= b ? ae = 0 : ae = (ne.s * T - b) / g, ne.e * T >= b + g ? xe = 1 : xe = (ne.e * T - b) / g, H.push([ae, xe])
                }
            return H.length || H.push([0, 0]), H
        }, oA.prototype.releasePathsData = function(c) {
            var h, g = c.length;
            for (h = 0; h < g; h += 1) Ct.release(c[h]);
            return c.length = 0, c
        }, oA.prototype.processShapes = function(c) {
            var h, g;
            if (this._mdf || c) {
                var b = this.o.v % 360 / 360;
                if (b < 0 && (b += 1), this.s.v > 1 ? h = 1 + b : this.s.v < 0 ? h = 0 + b : h = this.s.v + b, this.e.v > 1 ? g = 1 + b : this.e.v < 0 ? g = 0 + b : g = this.e.v + b, h > g) {
                    var T = h;
                    h = g, g = T
                }
                h = Math.round(h * 1e4) * 1e-4, g = Math.round(g * 1e4) * 1e-4, this.sValue = h, this.eValue = g
            } else h = this.sValue, g = this.eValue;
            var S, H, j = this.shapes.length,
                M, ne, ae, xe, K, le = 0;
            if (g === h)
                for (H = 0; H < j; H += 1) this.shapes[H].localShapeCollection.releaseShapes(), this.shapes[H].shape._mdf = !0, this.shapes[H].shape.paths = this.shapes[H].localShapeCollection, this._mdf && (this.shapes[H].pathsData.length = 0);
            else if (g === 1 && h === 0 || g === 0 && h === 1) {
                if (this._mdf)
                    for (H = 0; H < j; H += 1) this.shapes[H].pathsData.length = 0, this.shapes[H].shape._mdf = !0
            } else {
                var ge = [],
                    fe, Ce;
                for (H = 0; H < j; H += 1)
                    if (fe = this.shapes[H], !fe.shape._mdf && !this._mdf && !c && this.m !== 2) fe.shape.paths = fe.localShapeCollection;
                    else {
                        if (S = fe.shape.paths, ne = S._length, K = 0, !fe.shape._mdf && fe.pathsData.length) K = fe.totalShapeLength;
                        else {
                            for (ae = this.releasePathsData(fe.pathsData), M = 0; M < ne; M += 1) xe = kt.getSegmentsLength(S.shapes[M]), ae.push(xe), K += xe.totalLength;
                            fe.totalShapeLength = K, fe.pathsData = ae
                        }
                        le += K, fe.shape._mdf = !0
                    }
                var Ae = h,
                    J = g,
                    $ = 0,
                    G;
                for (H = j - 1; H >= 0; H -= 1)
                    if (fe = this.shapes[H], fe.shape._mdf) {
                        for (Ce = fe.localShapeCollection, Ce.releaseShapes(), this.m === 2 && j > 1 ? (G = this.calculateShapeEdges(h, g, fe.totalShapeLength, $, le), $ += fe.totalShapeLength) : G = [
                                [Ae, J]
                            ], ne = G.length, M = 0; M < ne; M += 1) {
                            Ae = G[M][0], J = G[M][1], ge.length = 0, J <= 1 ? ge.push({
                                s: fe.totalShapeLength * Ae,
                                e: fe.totalShapeLength * J
                            }) : Ae >= 1 ? ge.push({
                                s: fe.totalShapeLength * (Ae - 1),
                                e: fe.totalShapeLength * (J - 1)
                            }) : (ge.push({
                                s: fe.totalShapeLength * Ae,
                                e: fe.totalShapeLength
                            }), ge.push({
                                s: 0,
                                e: fe.totalShapeLength * (J - 1)
                            }));
                            var re = this.addShapes(fe, ge[0]);
                            if (ge[0].s !== ge[0].e) {
                                if (ge.length > 1) {
                                    var ve = fe.shape.paths.shapes[fe.shape.paths._length - 1];
                                    if (ve.c) {
                                        var be = re.pop();
                                        this.addPaths(re, Ce), re = this.addShapes(fe, ge[1], be)
                                    } else this.addPaths(re, Ce), re = this.addShapes(fe, ge[1])
                                }
                                this.addPaths(re, Ce)
                            }
                        }
                        fe.shape.paths = Ce
                    }
            }
        }, oA.prototype.addPaths = function(c, h) {
            var g, b = c.length;
            for (g = 0; g < b; g += 1) h.addShape(c[g])
        }, oA.prototype.addSegment = function(c, h, g, b, T, S, H) {
            T.setXYAt(h[0], h[1], "o", S), T.setXYAt(g[0], g[1], "i", S + 1), H && T.setXYAt(c[0], c[1], "v", S), T.setXYAt(b[0], b[1], "v", S + 1)
        }, oA.prototype.addSegmentFromArray = function(c, h, g, b) {
            h.setXYAt(c[1], c[5], "o", g), h.setXYAt(c[2], c[6], "i", g + 1), b && h.setXYAt(c[0], c[4], "v", g), h.setXYAt(c[3], c[7], "v", g + 1)
        }, oA.prototype.addShapes = function(c, h, g) {
            var b = c.pathsData,
                T = c.shape.paths.shapes,
                S, H = c.shape.paths._length,
                j, M, ne = 0,
                ae, xe, K, le, ge = [],
                fe, Ce = !0;
            for (g ? (xe = g._length, fe = g._length) : (g = Dn.newElement(), xe = 0, fe = 0), ge.push(g), S = 0; S < H; S += 1) {
                for (K = b[S].lengths, g.c = T[S].c, M = T[S].c ? K.length : K.length + 1, j = 1; j < M; j += 1)
                    if (ae = K[j - 1], ne + ae.addedLength < h.s) ne += ae.addedLength, g.c = !1;
                    else if (ne > h.e) {
                    g.c = !1;
                    break
                } else h.s <= ne && h.e >= ne + ae.addedLength ? (this.addSegment(T[S].v[j - 1], T[S].o[j - 1], T[S].i[j], T[S].v[j], g, xe, Ce), Ce = !1) : (le = kt.getNewSegment(T[S].v[j - 1], T[S].v[j], T[S].o[j - 1], T[S].i[j], (h.s - ne) / ae.addedLength, (h.e - ne) / ae.addedLength, K[j - 1]), this.addSegmentFromArray(le, g, xe, Ce), Ce = !1, g.c = !1), ne += ae.addedLength, xe += 1;
                if (T[S].c && K.length) {
                    if (ae = K[j - 1], ne <= h.e) {
                        var Ae = K[j - 1].addedLength;
                        h.s <= ne && h.e >= ne + Ae ? (this.addSegment(T[S].v[j - 1], T[S].o[j - 1], T[S].i[0], T[S].v[0], g, xe, Ce), Ce = !1) : (le = kt.getNewSegment(T[S].v[j - 1], T[S].v[0], T[S].o[j - 1], T[S].i[0], (h.s - ne) / Ae, (h.e - ne) / Ae, K[j - 1]), this.addSegmentFromArray(le, g, xe, Ce), Ce = !1, g.c = !1)
                    } else g.c = !1;
                    ne += ae.addedLength, xe += 1
                }
                if (g._length && (g.setXYAt(g.v[fe][0], g.v[fe][1], "i", fe), g.setXYAt(g.v[g._length - 1][0], g.v[g._length - 1][1], "o", g._length - 1)), ne > h.e) break;
                S < H - 1 && (g = Dn.newElement(), Ce = !0, ge.push(g), xe = 0)
            }
            return ge
        };

        function ml() {}
        f([jr], ml), ml.prototype.initModifierProperties = function(c, h) {
            this.getValue = this.processKeys, this.amount = je.getProp(c, h.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length
        }, ml.prototype.processPath = function(c, h) {
            var g = h / 100,
                b = [0, 0],
                T = c._length,
                S = 0;
            for (S = 0; S < T; S += 1) b[0] += c.v[S][0], b[1] += c.v[S][1];
            b[0] /= T, b[1] /= T;
            var H = Dn.newElement();
            H.c = c.c;
            var j, M, ne, ae, xe, K;
            for (S = 0; S < T; S += 1) j = c.v[S][0] + (b[0] - c.v[S][0]) * g, M = c.v[S][1] + (b[1] - c.v[S][1]) * g, ne = c.o[S][0] + (b[0] - c.o[S][0]) * -g, ae = c.o[S][1] + (b[1] - c.o[S][1]) * -g, xe = c.i[S][0] + (b[0] - c.i[S][0]) * -g, K = c.i[S][1] + (b[1] - c.i[S][1]) * -g, H.setTripleAt(j, M, ne, ae, xe, K, S);
            return H
        }, ml.prototype.processShapes = function(c) {
            var h, g, b = this.shapes.length,
                T, S, H = this.amount.v;
            if (H !== 0) {
                var j, M;
                for (g = 0; g < b; g += 1) {
                    if (j = this.shapes[g], M = j.localShapeCollection, !(!j.shape._mdf && !this._mdf && !c))
                        for (M.releaseShapes(), j.shape._mdf = !0, h = j.shape.paths.shapes, S = j.shape.paths._length, T = 0; T < S; T += 1) M.addShape(this.processPath(h[T], H));
                    j.shape.paths = j.localShapeCollection
                }
            }
            this.dynamicProperties.length || (this._mdf = !1)
        };
        var dd = function() {
            var c = [0, 0];

            function h(M) {
                var ne = this._mdf;
                this.iterateDynamicProperties(), this._mdf = this._mdf || ne, this.a && M.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && M.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && M.skewFromAxis(-this.sk.v, this.sa.v), this.r ? M.rotate(-this.r.v) : M.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? M.translate(this.px.v, this.py.v, -this.pz.v) : M.translate(this.px.v, this.py.v, 0) : M.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
            }

            function g(M) {
                if (this.elem.globalData.frameId !== this.frameId) {
                    if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || M) {
                        var ne;
                        if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {
                            var ae, xe;
                            if (ne = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (ae = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / ne, 0), xe = this.p.getValueAtTime(this.p.keyframes[0].t / ne, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (ae = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / ne, 0), xe = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / ne, 0)) : (ae = this.p.pv, xe = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / ne, this.p.offsetTime));
                            else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
                                ae = [], xe = [];
                                var K = this.px,
                                    le = this.py;
                                K._caching.lastFrame + K.offsetTime <= K.keyframes[0].t ? (ae[0] = K.getValueAtTime((K.keyframes[0].t + .01) / ne, 0), ae[1] = le.getValueAtTime((le.keyframes[0].t + .01) / ne, 0), xe[0] = K.getValueAtTime(K.keyframes[0].t / ne, 0), xe[1] = le.getValueAtTime(le.keyframes[0].t / ne, 0)) : K._caching.lastFrame + K.offsetTime >= K.keyframes[K.keyframes.length - 1].t ? (ae[0] = K.getValueAtTime(K.keyframes[K.keyframes.length - 1].t / ne, 0), ae[1] = le.getValueAtTime(le.keyframes[le.keyframes.length - 1].t / ne, 0), xe[0] = K.getValueAtTime((K.keyframes[K.keyframes.length - 1].t - .01) / ne, 0), xe[1] = le.getValueAtTime((le.keyframes[le.keyframes.length - 1].t - .01) / ne, 0)) : (ae = [K.pv, le.pv], xe[0] = K.getValueAtTime((K._caching.lastFrame + K.offsetTime - .01) / ne, K.offsetTime), xe[1] = le.getValueAtTime((le._caching.lastFrame + le.offsetTime - .01) / ne, le.offsetTime))
                            } else xe = c, ae = xe;
                            this.v.rotate(-Math.atan2(ae[1] - xe[1], ae[0] - xe[0]))
                        }
                        this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2])
                    }
                    this.frameId = this.elem.globalData.frameId
                }
            }

            function b() {
                if (this.appliedTransformations = 0, this.pre.reset(), !this.a.effectsSequence.length) this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1;
                else return;
                if (!this.s.effectsSequence.length) this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2;
                else return;
                if (this.sk)
                    if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3;
                    else return;
                this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : !this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length && (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4)
            }

            function T() {}

            function S(M) {
                this._addDynamicProperty(M), this.elem.addDynamicProperty(M), this._isDirty = !0
            }

            function H(M, ne, ae) {
                if (this.elem = M, this.frameId = -1, this.propType = "transform", this.data = ne, this.v = new Sn, this.pre = new Sn, this.appliedTransformations = 0, this.initDynamicPropertyContainer(ae || M), ne.p && ne.p.s ? (this.px = je.getProp(M, ne.p.x, 0, 0, this), this.py = je.getProp(M, ne.p.y, 0, 0, this), ne.p.z && (this.pz = je.getProp(M, ne.p.z, 0, 0, this))) : this.p = je.getProp(M, ne.p || {
                        k: [0, 0, 0]
                    }, 1, 0, this), ne.rx) {
                    if (this.rx = je.getProp(M, ne.rx, 0, L, this), this.ry = je.getProp(M, ne.ry, 0, L, this), this.rz = je.getProp(M, ne.rz, 0, L, this), ne.or.k[0].ti) {
                        var xe, K = ne.or.k.length;
                        for (xe = 0; xe < K; xe += 1) ne.or.k[xe].to = null, ne.or.k[xe].ti = null
                    }
                    this.or = je.getProp(M, ne.or, 1, L, this), this.or.sh = !0
                } else this.r = je.getProp(M, ne.r || {
                    k: 0
                }, 0, L, this);
                ne.sk && (this.sk = je.getProp(M, ne.sk, 0, L, this), this.sa = je.getProp(M, ne.sa, 0, L, this)), this.a = je.getProp(M, ne.a || {
                    k: [0, 0, 0]
                }, 1, 0, this), this.s = je.getProp(M, ne.s || {
                    k: [100, 100, 100]
                }, 1, .01, this), ne.o ? this.o = je.getProp(M, ne.o, 0, .01, M) : this.o = {
                    _mdf: !1,
                    v: 1
                }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0)
            }
            H.prototype = {
                applyToMatrix: h,
                getValue: g,
                precalculateMatrix: b,
                autoOrient: T
            }, f([Fn], H), H.prototype.addDynamicProperty = S, H.prototype._addDynamicProperty = Fn.prototype.addDynamicProperty;

            function j(M, ne, ae) {
                return new H(M, ne, ae)
            }
            return {
                getTransformProperty: j
            }
        }();

        function xA() {}
        f([jr], xA), xA.prototype.initModifierProperties = function(c, h) {
            this.getValue = this.processKeys, this.c = je.getProp(c, h.c, 0, null, this), this.o = je.getProp(c, h.o, 0, null, this), this.tr = dd.getTransformProperty(c, h.tr, this), this.so = je.getProp(c, h.tr.so, 0, .01, this), this.eo = je.getProp(c, h.tr.eo, 0, .01, this), this.data = h, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Sn, this.rMatrix = new Sn, this.sMatrix = new Sn, this.tMatrix = new Sn, this.matrix = new Sn
        }, xA.prototype.applyTransforms = function(c, h, g, b, T, S) {
            var H = S ? -1 : 1,
                j = b.s.v[0] + (1 - b.s.v[0]) * (1 - T),
                M = b.s.v[1] + (1 - b.s.v[1]) * (1 - T);
            c.translate(b.p.v[0] * H * T, b.p.v[1] * H * T, b.p.v[2]), h.translate(-b.a.v[0], -b.a.v[1], b.a.v[2]), h.rotate(-b.r.v * H * T), h.translate(b.a.v[0], b.a.v[1], b.a.v[2]), g.translate(-b.a.v[0], -b.a.v[1], b.a.v[2]), g.scale(S ? 1 / j : j, S ? 1 / M : M), g.translate(b.a.v[0], b.a.v[1], b.a.v[2])
        }, xA.prototype.init = function(c, h, g, b) {
            for (this.elem = c, this.arr = h, this.pos = g, this.elemsData = b, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(c), this.initModifierProperties(c, h[g]); g > 0;) g -= 1, this._elements.unshift(h[g]);
            this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)
        }, xA.prototype.resetElements = function(c) {
            var h, g = c.length;
            for (h = 0; h < g; h += 1) c[h]._processed = !1, c[h].ty === "gr" && this.resetElements(c[h].it)
        }, xA.prototype.cloneElements = function(c) {
            var h = JSON.parse(JSON.stringify(c));
            return this.resetElements(h), h
        }, xA.prototype.changeGroupRender = function(c, h) {
            var g, b = c.length;
            for (g = 0; g < b; g += 1) c[g]._render = h, c[g].ty === "gr" && this.changeGroupRender(c[g].it, h)
        }, xA.prototype.processShapes = function(c) {
            var h, g, b, T, S, H = !1;
            if (this._mdf || c) {
                var j = Math.ceil(this.c.v);
                if (this._groups.length < j) {
                    for (; this._groups.length < j;) {
                        var M = {
                            it: this.cloneElements(this._elements),
                            ty: "gr"
                        };
                        M.it.push({
                            a: {
                                a: 0,
                                ix: 1,
                                k: [0, 0]
                            },
                            nm: "Transform",
                            o: {
                                a: 0,
                                ix: 7,
                                k: 100
                            },
                            p: {
                                a: 0,
                                ix: 2,
                                k: [0, 0]
                            },
                            r: {
                                a: 1,
                                ix: 6,
                                k: [{
                                    s: 0,
                                    e: 0,
                                    t: 0
                                }, {
                                    s: 0,
                                    e: 0,
                                    t: 1
                                }]
                            },
                            s: {
                                a: 0,
                                ix: 3,
                                k: [100, 100]
                            },
                            sa: {
                                a: 0,
                                ix: 5,
                                k: 0
                            },
                            sk: {
                                a: 0,
                                ix: 4,
                                k: 0
                            },
                            ty: "tr"
                        }), this.arr.splice(0, 0, M), this._groups.splice(0, 0, M), this._currentCopies += 1
                    }
                    this.elem.reloadShapes(), H = !0
                }
                S = 0;
                var ne;
                for (b = 0; b <= this._groups.length - 1; b += 1) {
                    if (ne = S < j, this._groups[b]._render = ne, this.changeGroupRender(this._groups[b].it, ne), !ne) {
                        var ae = this.elemsData[b].it,
                            xe = ae[ae.length - 1];
                        xe.transform.op.v !== 0 ? (xe.transform.op._mdf = !0, xe.transform.op.v = 0) : xe.transform.op._mdf = !1
                    }
                    S += 1
                }
                this._currentCopies = j;
                var K = this.o.v,
                    le = K % 1,
                    ge = K > 0 ? Math.floor(K) : Math.ceil(K),
                    fe = this.pMatrix.props,
                    Ce = this.rMatrix.props,
                    Ae = this.sMatrix.props;
                this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();
                var J = 0;
                if (K > 0) {
                    for (; J < ge;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), J += 1;
                    le && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, le, !1), J += le)
                } else if (K < 0) {
                    for (; J > ge;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), J -= 1;
                    le && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -le, !0), J -= le)
                }
                b = this.data.m === 1 ? 0 : this._currentCopies - 1, T = this.data.m === 1 ? 1 : -1, S = this._currentCopies;
                for (var $, G; S;) {
                    if (h = this.elemsData[b].it, g = h[h.length - 1].transform.mProps.v.props, G = g.length, h[h.length - 1].transform.mProps._mdf = !0, h[h.length - 1].transform.op._mdf = !0, h[h.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (b / (this._currentCopies - 1)), J !== 0) {
                        for ((b !== 0 && T === 1 || b !== this._currentCopies - 1 && T === -1) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(Ce[0], Ce[1], Ce[2], Ce[3], Ce[4], Ce[5], Ce[6], Ce[7], Ce[8], Ce[9], Ce[10], Ce[11], Ce[12], Ce[13], Ce[14], Ce[15]), this.matrix.transform(Ae[0], Ae[1], Ae[2], Ae[3], Ae[4], Ae[5], Ae[6], Ae[7], Ae[8], Ae[9], Ae[10], Ae[11], Ae[12], Ae[13], Ae[14], Ae[15]), this.matrix.transform(fe[0], fe[1], fe[2], fe[3], fe[4], fe[5], fe[6], fe[7], fe[8], fe[9], fe[10], fe[11], fe[12], fe[13], fe[14], fe[15]), $ = 0; $ < G; $ += 1) g[$] = this.matrix.props[$];
                        this.matrix.reset()
                    } else
                        for (this.matrix.reset(), $ = 0; $ < G; $ += 1) g[$] = this.matrix.props[$];
                    J += 1, S -= 1, b += T
                }
            } else
                for (S = this._currentCopies, b = 0, T = 1; S;) h = this.elemsData[b].it, g = h[h.length - 1].transform.mProps.v.props, h[h.length - 1].transform.mProps._mdf = !1, h[h.length - 1].transform.op._mdf = !1, S -= 1, b += T;
            return H
        }, xA.prototype.addShape = function() {};

        function Bl() {}
        f([jr], Bl), Bl.prototype.initModifierProperties = function(c, h) {
            this.getValue = this.processKeys, this.rd = je.getProp(c, h.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length
        }, Bl.prototype.processPath = function(c, h) {
            var g = Dn.newElement();
            g.c = c.c;
            var b, T = c._length,
                S, H, j, M, ne, ae, xe = 0,
                K, le, ge, fe, Ce, Ae;
            for (b = 0; b < T; b += 1) S = c.v[b], j = c.o[b], H = c.i[b], S[0] === j[0] && S[1] === j[1] && S[0] === H[0] && S[1] === H[1] ? (b === 0 || b === T - 1) && !c.c ? (g.setTripleAt(S[0], S[1], j[0], j[1], H[0], H[1], xe), xe += 1) : (b === 0 ? M = c.v[T - 1] : M = c.v[b - 1], ne = Math.sqrt(Math.pow(S[0] - M[0], 2) + Math.pow(S[1] - M[1], 2)), ae = ne ? Math.min(ne / 2, h) / ne : 0, Ce = S[0] + (M[0] - S[0]) * ae, K = Ce, Ae = S[1] - (S[1] - M[1]) * ae, le = Ae, ge = K - (K - S[0]) * I, fe = le - (le - S[1]) * I, g.setTripleAt(K, le, ge, fe, Ce, Ae, xe), xe += 1, b === T - 1 ? M = c.v[0] : M = c.v[b + 1], ne = Math.sqrt(Math.pow(S[0] - M[0], 2) + Math.pow(S[1] - M[1], 2)), ae = ne ? Math.min(ne / 2, h) / ne : 0, ge = S[0] + (M[0] - S[0]) * ae, K = ge, fe = S[1] + (M[1] - S[1]) * ae, le = fe, Ce = K - (K - S[0]) * I, Ae = le - (le - S[1]) * I, g.setTripleAt(K, le, ge, fe, Ce, Ae, xe), xe += 1) : (g.setTripleAt(c.v[b][0], c.v[b][1], c.o[b][0], c.o[b][1], c.i[b][0], c.i[b][1], xe), xe += 1);
            return g
        }, Bl.prototype.processShapes = function(c) {
            var h, g, b = this.shapes.length,
                T, S, H = this.rd.v;
            if (H !== 0) {
                var j, M;
                for (g = 0; g < b; g += 1) {
                    if (j = this.shapes[g], M = j.localShapeCollection, !(!j.shape._mdf && !this._mdf && !c))
                        for (M.releaseShapes(), j.shape._mdf = !0, h = j.shape.paths.shapes, S = j.shape.paths._length, T = 0; T < S; T += 1) M.addShape(this.processPath(h[T], H));
                    j.shape.paths = j.localShapeCollection
                }
            }
            this.dynamicProperties.length || (this._mdf = !1)
        };

        function Oc(c, h) {
            return Math.abs(c - h) * 1e5 <= Math.min(Math.abs(c), Math.abs(h))
        }

        function hd(c) {
            return Math.abs(c) <= 1e-5
        }

        function r4(c, h, g) {
            return c * (1 - g) + h * g
        }

        function Ri(c, h, g) {
            return [r4(c[0], h[0], g), r4(c[1], h[1], g)]
        }

        function s_(c, h, g) {
            if (c === 0) return [];
            var b = h * h - 4 * c * g;
            if (b < 0) return [];
            var T = -h / (2 * c);
            if (b === 0) return [T];
            var S = Math.sqrt(b) / (2 * c);
            return [T - S, T + S]
        }

        function A4(c, h, g, b) {
            return [-c + 3 * h - 3 * g + b, 3 * c - 6 * h + 3 * g, -3 * c + 3 * h, c]
        }

        function i4(c) {
            return new dn(c, c, c, c, !1)
        }

        function dn(c, h, g, b, T) {
            T && Jo(c, h) && (h = Ri(c, b, 1 / 3)), T && Jo(g, b) && (g = Ri(c, b, 2 / 3));
            var S = A4(c[0], h[0], g[0], b[0]),
                H = A4(c[1], h[1], g[1], b[1]);
            this.a = [S[0], H[0]], this.b = [S[1], H[1]], this.c = [S[2], H[2]], this.d = [S[3], H[3]], this.points = [c, h, g, b]
        }
        dn.prototype.point = function(c) {
            return [((this.a[0] * c + this.b[0]) * c + this.c[0]) * c + this.d[0], ((this.a[1] * c + this.b[1]) * c + this.c[1]) * c + this.d[1]]
        }, dn.prototype.derivative = function(c) {
            return [(3 * c * this.a[0] + 2 * this.b[0]) * c + this.c[0], (3 * c * this.a[1] + 2 * this.b[1]) * c + this.c[1]]
        }, dn.prototype.tangentAngle = function(c) {
            var h = this.derivative(c);
            return Math.atan2(h[1], h[0])
        }, dn.prototype.normalAngle = function(c) {
            var h = this.derivative(c);
            return Math.atan2(h[0], h[1])
        }, dn.prototype.inflectionPoints = function() {
            var c = this.a[1] * this.b[0] - this.a[0] * this.b[1];
            if (hd(c)) return [];
            var h = -.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / c,
                g = h * h - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / c;
            if (g < 0) return [];
            var b = Math.sqrt(g);
            return hd(b) ? b > 0 && b < 1 ? [h] : [] : [h - b, h + b].filter(function(T) {
                return T > 0 && T < 1
            })
        }, dn.prototype.split = function(c) {
            if (c <= 0) return [i4(this.points[0]), this];
            if (c >= 1) return [this, i4(this.points[this.points.length - 1])];
            var h = Ri(this.points[0], this.points[1], c),
                g = Ri(this.points[1], this.points[2], c),
                b = Ri(this.points[2], this.points[3], c),
                T = Ri(h, g, c),
                S = Ri(g, b, c),
                H = Ri(T, S, c);
            return [new dn(this.points[0], h, T, H, !0), new dn(H, S, b, this.points[3], !0)]
        };

        function s4(c, h) {
            var g = c.points[0][h],
                b = c.points[c.points.length - 1][h];
            if (g > b) {
                var T = b;
                b = g, g = T
            }
            for (var S = s_(3 * c.a[h], 2 * c.b[h], c.c[h]), H = 0; H < S.length; H += 1)
                if (S[H] > 0 && S[H] < 1) {
                    var j = c.point(S[H])[h];
                    j < g ? g = j : j > b && (b = j)
                }
            return {
                min: g,
                max: b
            }
        }
        dn.prototype.bounds = function() {
            return {
                x: s4(this, 0),
                y: s4(this, 1)
            }
        }, dn.prototype.boundingBox = function() {
            var c = this.bounds();
            return {
                left: c.x.min,
                right: c.x.max,
                top: c.y.min,
                bottom: c.y.max,
                width: c.x.max - c.x.min,
                height: c.y.max - c.y.min,
                cx: (c.x.max + c.x.min) / 2,
                cy: (c.y.max + c.y.min) / 2
            }
        };

        function Dc(c, h, g) {
            var b = c.boundingBox();
            return {
                cx: b.cx,
                cy: b.cy,
                width: b.width,
                height: b.height,
                bez: c,
                t: (h + g) / 2,
                t1: h,
                t2: g
            }
        }

        function o4(c) {
            var h = c.bez.split(.5);
            return [Dc(h[0], c.t1, c.t), Dc(h[1], c.t, c.t2)]
        }

        function o_(c, h) {
            return Math.abs(c.cx - h.cx) * 2 < c.width + h.width && Math.abs(c.cy - h.cy) * 2 < c.height + h.height
        }

        function wl(c, h, g, b, T, S) {
            if (o_(c, h)) {
                if (g >= S || c.width <= b && c.height <= b && h.width <= b && h.height <= b) {
                    T.push([c.t, h.t]);
                    return
                }
                var H = o4(c),
                    j = o4(h);
                wl(H[0], j[0], g + 1, b, T, S), wl(H[0], j[1], g + 1, b, T, S), wl(H[1], j[0], g + 1, b, T, S), wl(H[1], j[1], g + 1, b, T, S)
            }
        }
        dn.prototype.intersections = function(c, h, g) {
            h === void 0 && (h = 2), g === void 0 && (g = 7);
            var b = [];
            return wl(Dc(this, 0, 1), Dc(c, 0, 1), 0, h, b, g), b
        }, dn.shapeSegment = function(c, h) {
            var g = (h + 1) % c.length();
            return new dn(c.v[h], c.o[h], c.i[g], c.v[g], !0)
        }, dn.shapeSegmentInverted = function(c, h) {
            var g = (h + 1) % c.length();
            return new dn(c.v[g], c.i[g], c.o[h], c.v[h], !0)
        };

        function pd(c, h) {
            return [c[1] * h[2] - c[2] * h[1], c[2] * h[0] - c[0] * h[2], c[0] * h[1] - c[1] * h[0]]
        }

        function Lc(c, h, g, b) {
            var T = [c[0], c[1], 1],
                S = [h[0], h[1], 1],
                H = [g[0], g[1], 1],
                j = [b[0], b[1], 1],
                M = pd(pd(T, S), pd(H, j));
            return hd(M[2]) ? null : [M[0] / M[2], M[1] / M[2]]
        }

        function Xo(c, h, g) {
            return [c[0] + Math.cos(h) * g, c[1] - Math.sin(h) * g]
        }

        function gd(c, h) {
            return Math.hypot(c[0] - h[0], c[1] - h[1])
        }

        function Jo(c, h) {
            return Oc(c[0], h[0]) && Oc(c[1], h[1])
        }

        function yl() {}
        f([jr], yl), yl.prototype.initModifierProperties = function(c, h) {
            this.getValue = this.processKeys, this.amplitude = je.getProp(c, h.s, 0, null, this), this.frequency = je.getProp(c, h.r, 0, null, this), this.pointsType = je.getProp(c, h.pt, 0, null, this), this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0
        };

        function a4(c, h, g, b, T, S, H) {
            var j = g - Math.PI / 2,
                M = g + Math.PI / 2,
                ne = h[0] + Math.cos(g) * b * T,
                ae = h[1] - Math.sin(g) * b * T;
            c.setTripleAt(ne, ae, ne + Math.cos(j) * S, ae - Math.sin(j) * S, ne + Math.cos(M) * H, ae - Math.sin(M) * H, c.length())
        }

        function a_(c, h) {
            var g = [h[0] - c[0], h[1] - c[1]],
                b = -Math.PI * .5,
                T = [Math.cos(b) * g[0] - Math.sin(b) * g[1], Math.sin(b) * g[0] + Math.cos(b) * g[1]];
            return T
        }

        function l_(c, h) {
            var g = h === 0 ? c.length() - 1 : h - 1,
                b = (h + 1) % c.length(),
                T = c.v[g],
                S = c.v[b],
                H = a_(T, S);
            return Math.atan2(0, 1) - Math.atan2(H[1], H[0])
        }

        function l4(c, h, g, b, T, S, H) {
            var j = l_(h, g),
                M = h.v[g % h._length],
                ne = h.v[g === 0 ? h._length - 1 : g - 1],
                ae = h.v[(g + 1) % h._length],
                xe = S === 2 ? Math.sqrt(Math.pow(M[0] - ne[0], 2) + Math.pow(M[1] - ne[1], 2)) : 0,
                K = S === 2 ? Math.sqrt(Math.pow(M[0] - ae[0], 2) + Math.pow(M[1] - ae[1], 2)) : 0;
            a4(c, h.v[g % h._length], j, H, b, K / ((T + 1) * 2), xe / ((T + 1) * 2))
        }

        function u_(c, h, g, b, T, S) {
            for (var H = 0; H < b; H += 1) {
                var j = (H + 1) / (b + 1),
                    M = T === 2 ? Math.sqrt(Math.pow(h.points[3][0] - h.points[0][0], 2) + Math.pow(h.points[3][1] - h.points[0][1], 2)) : 0,
                    ne = h.normalAngle(j),
                    ae = h.point(j);
                a4(c, ae, ne, S, g, M / ((b + 1) * 2), M / ((b + 1) * 2)), S = -S
            }
            return S
        }
        yl.prototype.processPath = function(c, h, g, b) {
            var T = c._length,
                S = Dn.newElement();
            if (S.c = c.c, c.c || (T -= 1), T === 0) return S;
            var H = -1,
                j = dn.shapeSegment(c, 0);
            l4(S, c, 0, h, g, b, H);
            for (var M = 0; M < T; M += 1) H = u_(S, j, h, g, b, -H), M === T - 1 && !c.c ? j = null : j = dn.shapeSegment(c, (M + 1) % T), l4(S, c, M + 1, h, g, b, H);
            return S
        }, yl.prototype.processShapes = function(c) {
            var h, g, b = this.shapes.length,
                T, S, H = this.amplitude.v,
                j = Math.max(0, Math.round(this.frequency.v)),
                M = this.pointsType.v;
            if (H !== 0) {
                var ne, ae;
                for (g = 0; g < b; g += 1) {
                    if (ne = this.shapes[g], ae = ne.localShapeCollection, !(!ne.shape._mdf && !this._mdf && !c))
                        for (ae.releaseShapes(), ne.shape._mdf = !0, h = ne.shape.paths.shapes, S = ne.shape.paths._length, T = 0; T < S; T += 1) ae.addShape(this.processPath(h[T], H, j, M));
                    ne.shape.paths = ne.localShapeCollection
                }
            }
            this.dynamicProperties.length || (this._mdf = !1)
        };

        function vd(c, h, g) {
            var b = Math.atan2(h[0] - c[0], h[1] - c[1]);
            return [Xo(c, b, g), Xo(h, b, g)]
        }

        function qo(c, h) {
            var g, b, T, S, H, j, M;
            M = vd(c.points[0], c.points[1], h), g = M[0], b = M[1], M = vd(c.points[1], c.points[2], h), T = M[0], S = M[1], M = vd(c.points[2], c.points[3], h), H = M[0], j = M[1];
            var ne = Lc(g, b, T, S);
            ne === null && (ne = b);
            var ae = Lc(H, j, T, S);
            return ae === null && (ae = H), new dn(g, ne, ae, j)
        }

        function u4(c, h, g, b, T) {
            var S = h.points[3],
                H = g.points[0];
            if (b === 3 || Jo(S, H)) return S;
            if (b === 2) {
                var j = -h.tangentAngle(1),
                    M = -g.tangentAngle(0) + Math.PI,
                    ne = Lc(S, Xo(S, j + Math.PI / 2, 100), H, Xo(H, j + Math.PI / 2, 100)),
                    ae = ne ? gd(ne, S) : gd(S, H) / 2,
                    xe = Xo(S, j, 2 * ae * I);
                return c.setXYAt(xe[0], xe[1], "o", c.length() - 1), xe = Xo(H, M, 2 * ae * I), c.setTripleAt(H[0], H[1], H[0], H[1], xe[0], xe[1], c.length()), H
            }
            var K = Jo(S, h.points[2]) ? h.points[0] : h.points[2],
                le = Jo(H, g.points[1]) ? g.points[3] : g.points[1],
                ge = Lc(K, S, H, le);
            return ge && gd(ge, S) < T ? (c.setTripleAt(ge[0], ge[1], ge[0], ge[1], ge[0], ge[1], c.length()), ge) : S
        }

        function c4(c, h) {
            var g = c.intersections(h);
            return g.length && Oc(g[0][0], 1) && g.shift(), g.length ? g[0] : null
        }

        function f4(c, h) {
            var g = c.slice(),
                b = h.slice(),
                T = c4(c[c.length - 1], h[0]);
            return T && (g[c.length - 1] = c[c.length - 1].split(T[0])[0], b[0] = h[0].split(T[1])[1]), c.length > 1 && h.length > 1 && (T = c4(c[0], h[h.length - 1]), T) ? [
                [c[0].split(T[0])[0]],
                [h[h.length - 1].split(T[1])[1]]
            ] : [g, b]
        }

        function c_(c) {
            for (var h, g = 1; g < c.length; g += 1) h = f4(c[g - 1], c[g]), c[g - 1] = h[0], c[g] = h[1];
            return c.length > 1 && (h = f4(c[c.length - 1], c[0]), c[c.length - 1] = h[0], c[0] = h[1]), c
        }

        function d4(c, h) {
            var g = c.inflectionPoints(),
                b, T, S, H;
            if (g.length === 0) return [qo(c, h)];
            if (g.length === 1 || Oc(g[1], 1)) return S = c.split(g[0]), b = S[0], T = S[1], [qo(b, h), qo(T, h)];
            S = c.split(g[0]), b = S[0];
            var j = (g[1] - g[0]) / (1 - g[0]);
            return S = S[1].split(j), H = S[0], T = S[1], [qo(b, h), qo(H, h), qo(T, h)]
        }

        function Cl() {}
        f([jr], Cl), Cl.prototype.initModifierProperties = function(c, h) {
            this.getValue = this.processKeys, this.amount = je.getProp(c, h.a, 0, null, this), this.miterLimit = je.getProp(c, h.ml, 0, null, this), this.lineJoin = h.lj, this._isAnimated = this.amount.effectsSequence.length !== 0
        }, Cl.prototype.processPath = function(c, h, g, b) {
            var T = Dn.newElement();
            T.c = c.c;
            var S = c.length();
            c.c || (S -= 1);
            var H, j, M, ne = [];
            for (H = 0; H < S; H += 1) M = dn.shapeSegment(c, H), ne.push(d4(M, h));
            if (!c.c)
                for (H = S - 1; H >= 0; H -= 1) M = dn.shapeSegmentInverted(c, H), ne.push(d4(M, h));
            ne = c_(ne);
            var ae = null,
                xe = null;
            for (H = 0; H < ne.length; H += 1) {
                var K = ne[H];
                for (xe && (ae = u4(T, xe, K[0], g, b)), xe = K[K.length - 1], j = 0; j < K.length; j += 1) M = K[j], ae && Jo(M.points[0], ae) ? T.setXYAt(M.points[1][0], M.points[1][1], "o", T.length() - 1) : T.setTripleAt(M.points[0][0], M.points[0][1], M.points[1][0], M.points[1][1], M.points[0][0], M.points[0][1], T.length()), T.setTripleAt(M.points[3][0], M.points[3][1], M.points[3][0], M.points[3][1], M.points[2][0], M.points[2][1], T.length()), ae = M.points[3]
            }
            return ne.length && u4(T, xe, ne[0][0], g, b), T
        }, Cl.prototype.processShapes = function(c) {
            var h, g, b = this.shapes.length,
                T, S, H = this.amount.v,
                j = this.miterLimit.v,
                M = this.lineJoin;
            if (H !== 0) {
                var ne, ae;
                for (g = 0; g < b; g += 1) {
                    if (ne = this.shapes[g], ae = ne.localShapeCollection, !(!ne.shape._mdf && !this._mdf && !c))
                        for (ae.releaseShapes(), ne.shape._mdf = !0, h = ne.shape.paths.shapes, S = ne.shape.paths._length, T = 0; T < S; T += 1) ae.addShape(this.processPath(h[T], H, M, j));
                    ne.shape.paths = ne.localShapeCollection
                }
            }
            this.dynamicProperties.length || (this._mdf = !1)
        };

        function h4(c) {
            for (var h = c.fStyle ? c.fStyle.split(" ") : [], g = "normal", b = "normal", T = h.length, S, H = 0; H < T; H += 1) switch (S = h[H].toLowerCase(), S) {
                case "italic":
                    b = "italic";
                    break;
                case "bold":
                    g = "700";
                    break;
                case "black":
                    g = "900";
                    break;
                case "medium":
                    g = "500";
                    break;
                case "regular":
                case "normal":
                    g = "400";
                    break;
                case "light":
                case "thin":
                    g = "200";
                    break
            }
            return {
                style: b,
                weight: c.fWeight || g
            }
        }
        var Ys = function() {
            var c = 5e3,
                h = {
                    w: 0,
                    size: 0,
                    shapes: [],
                    data: {
                        shapes: []
                    }
                },
                g = [];
            g = g.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);
            var b = 127988,
                T = 917631,
                S = 917601,
                H = 917626,
                j = 65039,
                M = 8205,
                ne = 127462,
                ae = 127487,
                xe = ["d83cdffb", "d83cdffc", "d83cdffd", "d83cdffe", "d83cdfff"];

            function K(z) {
                var de = z.split(","),
                    k, R = de.length,
                    _e = [];
                for (k = 0; k < R; k += 1) de[k] !== "sans-serif" && de[k] !== "monospace" && _e.push(de[k]);
                return _e.join(",")
            }

            function le(z, de) {
                var k = u("span");
                k.setAttribute("aria-hidden", !0), k.style.fontFamily = de;
                var R = u("span");
                R.innerText = "giItT1WQy@!-/#", k.style.position = "absolute", k.style.left = "-10000px", k.style.top = "-10000px", k.style.fontSize = "300px", k.style.fontVariant = "normal", k.style.fontStyle = "normal", k.style.fontWeight = "normal", k.style.letterSpacing = "0", k.appendChild(R), document.body.appendChild(k);
                var _e = R.offsetWidth;
                return R.style.fontFamily = K(z) + ", " + de, {
                    node: R,
                    w: _e,
                    parent: k
                }
            }

            function ge() {
                var z, de = this.fonts.length,
                    k, R, _e = de;
                for (z = 0; z < de; z += 1) this.fonts[z].loaded ? _e -= 1 : this.fonts[z].fOrigin === "n" || this.fonts[z].origin === 0 ? this.fonts[z].loaded = !0 : (k = this.fonts[z].monoCase.node, R = this.fonts[z].monoCase.w, k.offsetWidth !== R ? (_e -= 1, this.fonts[z].loaded = !0) : (k = this.fonts[z].sansCase.node, R = this.fonts[z].sansCase.w, k.offsetWidth !== R && (_e -= 1, this.fonts[z].loaded = !0)), this.fonts[z].loaded && (this.fonts[z].sansCase.parent.parentNode.removeChild(this.fonts[z].sansCase.parent), this.fonts[z].monoCase.parent.parentNode.removeChild(this.fonts[z].monoCase.parent)));
                _e !== 0 && Date.now() - this.initTime < c ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10)
            }

            function fe(z, de) {
                var k = document.body && de ? "svg" : "canvas",
                    R, _e = h4(z);
                if (k === "svg") {
                    var me = Ue("text");
                    me.style.fontSize = "100px", me.setAttribute("font-family", z.fFamily), me.setAttribute("font-style", _e.style), me.setAttribute("font-weight", _e.weight), me.textContent = "1", z.fClass ? (me.style.fontFamily = "inherit", me.setAttribute("class", z.fClass)) : me.style.fontFamily = z.fFamily, de.appendChild(me), R = me
                } else {
                    var Ze = new OffscreenCanvas(500, 500).getContext("2d");
                    Ze.font = _e.style + " " + _e.weight + " 100px " + z.fFamily, R = Ze
                }

                function lt(dt) {
                    return k === "svg" ? (R.textContent = dt, R.getComputedTextLength()) : R.measureText(dt).width
                }
                return {
                    measureText: lt
                }
            }

            function Ce(z, de) {
                if (!z) {
                    this.isLoaded = !0;
                    return
                }
                if (this.chars) {
                    this.isLoaded = !0, this.fonts = z.list;
                    return
                }
                if (!document.body) {
                    this.isLoaded = !0, z.list.forEach(function(pr) {
                        pr.helper = fe(pr), pr.cache = {}
                    }), this.fonts = z.list;
                    return
                }
                var k = z.list,
                    R, _e = k.length,
                    me = _e;
                for (R = 0; R < _e; R += 1) {
                    var Ze = !0,
                        lt, dt;
                    if (k[R].loaded = !1, k[R].monoCase = le(k[R].fFamily, "monospace"), k[R].sansCase = le(k[R].fFamily, "sans-serif"), !k[R].fPath) k[R].loaded = !0, me -= 1;
                    else if (k[R].fOrigin === "p" || k[R].origin === 3) {
                        if (lt = document.querySelectorAll('style[f-forigin="p"][f-family="' + k[R].fFamily + '"], style[f-origin="3"][f-family="' + k[R].fFamily + '"]'), lt.length > 0 && (Ze = !1), Ze) {
                            var Dt = u("style");
                            Dt.setAttribute("f-forigin", k[R].fOrigin), Dt.setAttribute("f-origin", k[R].origin), Dt.setAttribute("f-family", k[R].fFamily), Dt.type = "text/css", Dt.innerText = "@font-face {font-family: " + k[R].fFamily + "; font-style: normal; src: url('" + k[R].fPath + "');}", de.appendChild(Dt)
                        }
                    } else if (k[R].fOrigin === "g" || k[R].origin === 1) {
                        for (lt = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'), dt = 0; dt < lt.length; dt += 1) lt[dt].href.indexOf(k[R].fPath) !== -1 && (Ze = !1);
                        if (Ze) {
                            var Lt = u("link");
                            Lt.setAttribute("f-forigin", k[R].fOrigin), Lt.setAttribute("f-origin", k[R].origin), Lt.type = "text/css", Lt.rel = "stylesheet", Lt.href = k[R].fPath, document.body.appendChild(Lt)
                        }
                    } else if (k[R].fOrigin === "t" || k[R].origin === 2) {
                        for (lt = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'), dt = 0; dt < lt.length; dt += 1) k[R].fPath === lt[dt].src && (Ze = !1);
                        if (Ze) {
                            var Tn = u("link");
                            Tn.setAttribute("f-forigin", k[R].fOrigin), Tn.setAttribute("f-origin", k[R].origin), Tn.setAttribute("rel", "stylesheet"), Tn.setAttribute("href", k[R].fPath), de.appendChild(Tn)
                        }
                    }
                    k[R].helper = fe(k[R], de), k[R].cache = {}, this.fonts.push(k[R])
                }
                me === 0 ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100)
            }

            function Ae(z) {
                if (z) {
                    this.chars || (this.chars = []);
                    var de, k = z.length,
                        R, _e = this.chars.length,
                        me;
                    for (de = 0; de < k; de += 1) {
                        for (R = 0, me = !1; R < _e;) this.chars[R].style === z[de].style && this.chars[R].fFamily === z[de].fFamily && this.chars[R].ch === z[de].ch && (me = !0), R += 1;
                        me || (this.chars.push(z[de]), _e += 1)
                    }
                }
            }

            function J(z, de, k) {
                for (var R = 0, _e = this.chars.length; R < _e;) {
                    if (this.chars[R].ch === z && this.chars[R].style === de && this.chars[R].fFamily === k) return this.chars[R];
                    R += 1
                }
                return (typeof z == "string" && z.charCodeAt(0) !== 13 || !z) && console && console.warn && !this._warned && (this._warned = !0, console.warn("Missing character from exported characters list: ", z, de, k)), h
            }

            function $(z, de, k) {
                var R = this.getFontByName(de),
                    _e = z;
                if (!R.cache[_e]) {
                    var me = R.helper;
                    if (z === " ") {
                        var Ze = me.measureText("|" + z + "|"),
                            lt = me.measureText("||");
                        R.cache[_e] = (Ze - lt) / 100
                    } else R.cache[_e] = me.measureText(z) / 100
                }
                return R.cache[_e] * k
            }

            function G(z) {
                for (var de = 0, k = this.fonts.length; de < k;) {
                    if (this.fonts[de].fName === z) return this.fonts[de];
                    de += 1
                }
                return this.fonts[0]
            }

            function re(z) {
                var de = 0,
                    k = z.charCodeAt(0);
                if (k >= 55296 && k <= 56319) {
                    var R = z.charCodeAt(1);
                    R >= 56320 && R <= 57343 && (de = (k - 55296) * 1024 + R - 56320 + 65536)
                }
                return de
            }

            function ve(z, de) {
                var k = z.toString(16) + de.toString(16);
                return xe.indexOf(k) !== -1
            }

            function be(z) {
                return z === M
            }

            function Fe(z) {
                return z === j
            }

            function Ne(z) {
                var de = re(z);
                return de >= ne && de <= ae
            }

            function ft(z) {
                return Ne(z.substr(0, 2)) && Ne(z.substr(2, 2))
            }

            function ot(z) {
                return g.indexOf(z) !== -1
            }

            function Ge(z, de) {
                var k = re(z.substr(de, 2));
                if (k !== b) return !1;
                var R = 0;
                for (de += 2; R < 5;) {
                    if (k = re(z.substr(de, 2)), k < S || k > H) return !1;
                    R += 1, de += 2
                }
                return re(z.substr(de, 2)) === T
            }

            function pt() {
                this.isLoaded = !0
            }
            var At = function() {
                this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)
            };
            At.isModifier = ve, At.isZeroWidthJoiner = be, At.isFlagEmoji = ft, At.isRegionalCode = Ne, At.isCombinedCharacter = ot, At.isRegionalFlag = Ge, At.isVariationSelector = Fe, At.BLACK_FLAG_CODE_POINT = b;
            var Me = {
                addChars: Ae,
                addFonts: Ce,
                getCharData: J,
                getFontByName: G,
                measureText: $,
                checkLoadedFonts: ge,
                setIsLoaded: pt
            };
            return At.prototype = Me, At
        }();

        function p4(c) {
            this.animationData = c
        }
        p4.prototype.getProp = function(c) {
            return this.animationData.slots && this.animationData.slots[c.sid] ? Object.assign(c, this.animationData.slots[c.sid].p) : c
        };

        function f_(c) {
            return new p4(c)
        }

        function kc() {}
        kc.prototype = {
            initRenderable: function() {
                this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = []
            },
            addRenderableComponent: function(h) {
                this.renderableComponents.indexOf(h) === -1 && this.renderableComponents.push(h)
            },
            removeRenderableComponent: function(h) {
                this.renderableComponents.indexOf(h) !== -1 && this.renderableComponents.splice(this.renderableComponents.indexOf(h), 1)
            },
            prepareRenderableFrame: function(h) {
                this.checkLayerLimits(h)
            },
            checkTransparency: function() {
                this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show())
            },
            checkLayerLimits: function(h) {
                this.data.ip - this.data.st <= h && this.data.op - this.data.st > h ? this.isInRange !== !0 && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : this.isInRange !== !1 && (this.globalData._mdf = !0, this.isInRange = !1, this.hide())
            },
            renderRenderable: function() {
                var h, g = this.renderableComponents.length;
                for (h = 0; h < g; h += 1) this.renderableComponents[h].renderFrame(this._isFirstFrame)
            },
            sourceRectAtTime: function() {
                return {
                    top: 0,
                    left: 0,
                    width: 100,
                    height: 100
                }
            },
            getLayerSize: function() {
                return this.data.ty === 5 ? {
                    w: this.data.textData.width,
                    h: this.data.textData.height
                } : {
                    w: this.data.width,
                    h: this.data.height
                }
            }
        };
        var md = function() {
            var c = {
                0: "source-over",
                1: "multiply",
                2: "screen",
                3: "overlay",
                4: "darken",
                5: "lighten",
                6: "color-dodge",
                7: "color-burn",
                8: "hard-light",
                9: "soft-light",
                10: "difference",
                11: "exclusion",
                12: "hue",
                13: "saturation",
                14: "color",
                15: "luminosity"
            };
            return function(h) {
                return c[h] || ""
            }
        }();

        function d_(c, h, g) {
            this.p = je.getProp(h, c.v, 0, 0, g)
        }

        function h_(c, h, g) {
            this.p = je.getProp(h, c.v, 0, 0, g)
        }

        function p_(c, h, g) {
            this.p = je.getProp(h, c.v, 1, 0, g)
        }

        function g_(c, h, g) {
            this.p = je.getProp(h, c.v, 1, 0, g)
        }

        function v_(c, h, g) {
            this.p = je.getProp(h, c.v, 0, 0, g)
        }

        function m_(c, h, g) {
            this.p = je.getProp(h, c.v, 0, 0, g)
        }

        function B_(c, h, g) {
            this.p = je.getProp(h, c.v, 0, 0, g)
        }

        function w_() {
            this.p = {}
        }

        function g4(c, h) {
            var g = c.ef || [];
            this.effectElements = [];
            var b, T = g.length,
                S;
            for (b = 0; b < T; b += 1) S = new El(g[b], h), this.effectElements.push(S)
        }

        function El(c, h) {
            this.init(c, h)
        }
        f([Fn], El), El.prototype.getValue = El.prototype.iterateDynamicProperties, El.prototype.init = function(c, h) {
            this.data = c, this.effectElements = [], this.initDynamicPropertyContainer(h);
            var g, b = this.data.ef.length,
                T, S = this.data.ef;
            for (g = 0; g < b; g += 1) {
                switch (T = null, S[g].ty) {
                    case 0:
                        T = new d_(S[g], h, this);
                        break;
                    case 1:
                        T = new h_(S[g], h, this);
                        break;
                    case 2:
                        T = new p_(S[g], h, this);
                        break;
                    case 3:
                        T = new g_(S[g], h, this);
                        break;
                    case 4:
                    case 7:
                        T = new B_(S[g], h, this);
                        break;
                    case 10:
                        T = new v_(S[g], h, this);
                        break;
                    case 11:
                        T = new m_(S[g], h, this);
                        break;
                    case 5:
                        T = new g4(S[g], h);
                        break;
                    default:
                        T = new w_(S[g]);
                        break
                }
                T && this.effectElements.push(T)
            }
        };

        function Ni() {}
        Ni.prototype = {
            checkMasks: function() {
                if (!this.data.hasMask) return !1;
                for (var h = 0, g = this.data.masksProperties.length; h < g;) {
                    if (this.data.masksProperties[h].mode !== "n" && this.data.masksProperties[h].cl !== !1) return !0;
                    h += 1
                }
                return !1
            },
            initExpressions: function() {},
            setBlendMode: function() {
                var h = md(this.data.bm),
                    g = this.baseElement || this.layerElement;
                g.style["mix-blend-mode"] = h
            },
            initBaseData: function(h, g, b) {
                this.globalData = g, this.comp = b, this.data = h, this.layerId = W(), this.data.sr || (this.data.sr = 1), this.effectsManager = new g4(this.data, this, this.dynamicProperties)
            },
            getType: function() {
                return this.type
            },
            sourceRectAtTime: function() {}
        };

        function $i() {}
        $i.prototype = {
            initFrame: function() {
                this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1
            },
            prepareProperties: function(h, g) {
                var b, T = this.dynamicProperties.length;
                for (b = 0; b < T; b += 1)(g || this._isParent && this.dynamicProperties[b].propType === "transform") && (this.dynamicProperties[b].getValue(), this.dynamicProperties[b]._mdf && (this.globalData._mdf = !0, this._mdf = !0))
            },
            addDynamicProperty: function(h) {
                this.dynamicProperties.indexOf(h) === -1 && this.dynamicProperties.push(h)
            }
        };

        function Ki(c, h, g) {
            this.initFrame(), this.initRenderable(), this.assetData = h.getAssetData(c.refId), this.footageData = h.imageLoader.getAsset(this.assetData), this.initBaseData(c, h, g)
        }
        Ki.prototype.prepareFrame = function() {}, f([kc, Ni, $i], Ki), Ki.prototype.getBaseElement = function() {
            return null
        }, Ki.prototype.renderFrame = function() {}, Ki.prototype.destroy = function() {}, Ki.prototype.initExpressions = function() {}, Ki.prototype.getFootageData = function() {
            return this.footageData
        };

        function hr(c, h, g) {
            this.initFrame(), this.initRenderable(), this.assetData = h.getAssetData(c.refId), this.initBaseData(c, h, g), this._isPlaying = !1, this._canPlay = !1;
            var b = this.globalData.getAssetsPath(this.assetData);
            this.audio = this.globalData.audioController.createAudio(b), this._currentTime = 0, this.globalData.audioController.addAudio(this), this._volumeMultiplier = 1, this._volume = 1, this._previousVolume = null, this.tm = c.tm ? je.getProp(this, c.tm, 0, h.frameRate, this) : {
                _placeholder: !0
            }, this.lv = je.getProp(this, c.au && c.au.lv ? c.au.lv : {
                k: [100]
            }, 1, .01, this)
        }
        hr.prototype.prepareFrame = function(c) {
            if (this.prepareRenderableFrame(c, !0), this.prepareProperties(c, !0), this.tm._placeholder) this._currentTime = c / this.data.sr;
            else {
                var h = this.tm.v;
                this._currentTime = h
            }
            this._volume = this.lv.v[0];
            var g = this._volume * this._volumeMultiplier;
            this._previousVolume !== g && (this._previousVolume = g, this.audio.volume(g))
        }, f([kc, Ni, $i], hr), hr.prototype.renderFrame = function() {
            this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0))
        }, hr.prototype.show = function() {}, hr.prototype.hide = function() {
            this.audio.pause(), this._isPlaying = !1
        }, hr.prototype.pause = function() {
            this.audio.pause(), this._isPlaying = !1, this._canPlay = !1
        }, hr.prototype.resume = function() {
            this._canPlay = !0
        }, hr.prototype.setRate = function(c) {
            this.audio.rate(c)
        }, hr.prototype.volume = function(c) {
            this._volumeMultiplier = c, this._previousVolume = c * this._volume, this.audio.volume(this._previousVolume)
        }, hr.prototype.getBaseElement = function() {
            return null
        }, hr.prototype.destroy = function() {}, hr.prototype.sourceRectAtTime = function() {}, hr.prototype.initExpressions = function() {};

        function Xn() {}
        Xn.prototype.checkLayers = function(c) {
            var h, g = this.layers.length,
                b;
            for (this.completeLayers = !0, h = g - 1; h >= 0; h -= 1) this.elements[h] || (b = this.layers[h], b.ip - b.st <= c - this.layers[h].st && b.op - b.st > c - this.layers[h].st && this.buildItem(h)), this.completeLayers = this.elements[h] ? this.completeLayers : !1;
            this.checkPendingElements()
        }, Xn.prototype.createItem = function(c) {
            switch (c.ty) {
                case 2:
                    return this.createImage(c);
                case 0:
                    return this.createComp(c);
                case 1:
                    return this.createSolid(c);
                case 3:
                    return this.createNull(c);
                case 4:
                    return this.createShape(c);
                case 5:
                    return this.createText(c);
                case 6:
                    return this.createAudio(c);
                case 13:
                    return this.createCamera(c);
                case 15:
                    return this.createFootage(c);
                default:
                    return this.createNull(c)
            }
        }, Xn.prototype.createCamera = function() {
            throw new Error("You're using a 3d camera. Try the html renderer.")
        }, Xn.prototype.createAudio = function(c) {
            return new hr(c, this.globalData, this)
        }, Xn.prototype.createFootage = function(c) {
            return new Ki(c, this.globalData, this)
        }, Xn.prototype.buildAllItems = function() {
            var c, h = this.layers.length;
            for (c = 0; c < h; c += 1) this.buildItem(c);
            this.checkPendingElements()
        }, Xn.prototype.includeLayers = function(c) {
            this.completeLayers = !1;
            var h, g = c.length,
                b, T = this.layers.length;
            for (h = 0; h < g; h += 1)
                for (b = 0; b < T;) {
                    if (this.layers[b].id === c[h].id) {
                        this.layers[b] = c[h];
                        break
                    }
                    b += 1
                }
        }, Xn.prototype.setProjectInterface = function(c) {
            this.globalData.projectInterface = c
        }, Xn.prototype.initItems = function() {
            this.globalData.progressiveLoad || this.buildAllItems()
        }, Xn.prototype.buildElementParenting = function(c, h, g) {
            for (var b = this.elements, T = this.layers, S = 0, H = T.length; S < H;) T[S].ind == h && (!b[S] || b[S] === !0 ? (this.buildItem(S), this.addPendingElement(c)) : (g.push(b[S]), b[S].setAsParent(), T[S].parent !== void 0 ? this.buildElementParenting(c, T[S].parent, g) : c.setHierarchy(g))), S += 1
        }, Xn.prototype.addPendingElement = function(c) {
            this.pendingElements.push(c)
        }, Xn.prototype.searchExtraCompositions = function(c) {
            var h, g = c.length;
            for (h = 0; h < g; h += 1)
                if (c[h].xt) {
                    var b = this.createComp(c[h]);
                    b.initExpressions(), this.globalData.projectInterface.registerComposition(b)
                }
        }, Xn.prototype.getElementById = function(c) {
            var h, g = this.elements.length;
            for (h = 0; h < g; h += 1)
                if (this.elements[h].data.ind === c) return this.elements[h];
            return null
        }, Xn.prototype.getElementByPath = function(c) {
            var h = c.shift(),
                g;
            if (typeof h == "number") g = this.elements[h];
            else {
                var b, T = this.elements.length;
                for (b = 0; b < T; b += 1)
                    if (this.elements[b].data.nm === h) {
                        g = this.elements[b];
                        break
                    }
            }
            return c.length === 0 ? g : g.getElementByPath(c)
        }, Xn.prototype.setupGlobalData = function(c, h) {
            this.globalData.fontManager = new Ys, this.globalData.slotManager = f_(c), this.globalData.fontManager.addChars(c.chars), this.globalData.fontManager.addFonts(c.fonts, h), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = c.fr, this.globalData.nm = c.nm, this.globalData.compSize = {
                w: c.w,
                h: c.h
            }
        };
        var y_ = {
            TRANSFORM_EFFECT: "transformEFfect"
        };

        function Zo() {}
        Zo.prototype = {
            initTransform: function() {
                var h = new Sn;
                this.finalTransform = {
                    mProp: this.data.ks ? dd.getTransformProperty(this, this.data.ks, this) : {
                        o: 0
                    },
                    _matMdf: !1,
                    _localMatMdf: !1,
                    _opMdf: !1,
                    mat: h,
                    localMat: h,
                    localOpacity: 1
                }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty
            },
            renderTransform: function() {
                if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {
                    var h, g = this.finalTransform.mat,
                        b = 0,
                        T = this.hierarchy.length;
                    if (!this.finalTransform._matMdf)
                        for (; b < T;) {
                            if (this.hierarchy[b].finalTransform.mProp._mdf) {
                                this.finalTransform._matMdf = !0;
                                break
                            }
                            b += 1
                        }
                    if (this.finalTransform._matMdf)
                        for (h = this.finalTransform.mProp.v.props, g.cloneFromProps(h), b = 0; b < T; b += 1) g.multiply(this.hierarchy[b].finalTransform.mProp.v)
                }
                this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v)
            },
            renderLocalTransform: function() {
                if (this.localTransforms) {
                    var h = 0,
                        g = this.localTransforms.length;
                    if (this.finalTransform._localMatMdf = this.finalTransform._matMdf, !this.finalTransform._localMatMdf || !this.finalTransform._opMdf)
                        for (; h < g;) this.localTransforms[h]._mdf && (this.finalTransform._localMatMdf = !0), this.localTransforms[h]._opMdf && !this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v, this.finalTransform._opMdf = !0), h += 1;
                    if (this.finalTransform._localMatMdf) {
                        var b = this.finalTransform.localMat;
                        for (this.localTransforms[0].matrix.clone(b), h = 1; h < g; h += 1) {
                            var T = this.localTransforms[h].matrix;
                            b.multiply(T)
                        }
                        b.multiply(this.finalTransform.mat)
                    }
                    if (this.finalTransform._opMdf) {
                        var S = this.finalTransform.localOpacity;
                        for (h = 0; h < g; h += 1) S *= this.localTransforms[h].opacity * .01;
                        this.finalTransform.localOpacity = S
                    }
                }
            },
            searchEffectTransforms: function() {
                if (this.renderableEffectsManager) {
                    var h = this.renderableEffectsManager.getEffects(y_.TRANSFORM_EFFECT);
                    if (h.length) {
                        this.localTransforms = [], this.finalTransform.localMat = new Sn;
                        var g = 0,
                            b = h.length;
                        for (g = 0; g < b; g += 1) this.localTransforms.push(h[g])
                    }
                }
            },
            globalToLocal: function(h) {
                var g = [];
                g.push(this.finalTransform);
                for (var b = !0, T = this.comp; b;) T.finalTransform ? (T.data.hasMask && g.splice(0, 0, T.finalTransform), T = T.comp) : b = !1;
                var S, H = g.length,
                    j;
                for (S = 0; S < H; S += 1) j = g[S].mat.applyToPointArray(0, 0, 0), h = [h[0] - j[0], h[1] - j[1], 0];
                return h
            },
            mHelper: new Sn
        };

        function Xs(c, h, g) {
            this.data = c, this.element = h, this.globalData = g, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;
            var b = this.globalData.defs,
                T, S = this.masksProperties ? this.masksProperties.length : 0;
            this.viewData = B(S), this.solidPath = "";
            var H, j = this.masksProperties,
                M = 0,
                ne = [],
                ae, xe, K = W(),
                le, ge, fe, Ce, Ae = "clipPath",
                J = "clip-path";
            for (T = 0; T < S; T += 1)
                if ((j[T].mode !== "a" && j[T].mode !== "n" || j[T].inv || j[T].o.k !== 100 || j[T].o.x) && (Ae = "mask", J = "mask"), (j[T].mode === "s" || j[T].mode === "i") && M === 0 ? (le = Ue("rect"), le.setAttribute("fill", "#ffffff"), le.setAttribute("width", this.element.comp.data.w || 0), le.setAttribute("height", this.element.comp.data.h || 0), ne.push(le)) : le = null, H = Ue("path"), j[T].mode === "n") this.viewData[T] = {
                    op: je.getProp(this.element, j[T].o, 0, .01, this.element),
                    prop: Tr.getShapeProp(this.element, j[T], 3),
                    elem: H,
                    lastPath: ""
                }, b.appendChild(H);
                else {
                    M += 1, H.setAttribute("fill", j[T].mode === "s" ? "#000000" : "#ffffff"), H.setAttribute("clip-rule", "nonzero");
                    var $;
                    if (j[T].x.k !== 0 ? (Ae = "mask", J = "mask", Ce = je.getProp(this.element, j[T].x, 0, null, this.element), $ = W(), ge = Ue("filter"), ge.setAttribute("id", $), fe = Ue("feMorphology"), fe.setAttribute("operator", "erode"), fe.setAttribute("in", "SourceGraphic"), fe.setAttribute("radius", "0"), ge.appendChild(fe), b.appendChild(ge), H.setAttribute("stroke", j[T].mode === "s" ? "#000000" : "#ffffff")) : (fe = null, Ce = null), this.storedData[T] = {
                            elem: H,
                            x: Ce,
                            expan: fe,
                            lastPath: "",
                            lastOperator: "",
                            filterId: $,
                            lastRadius: 0
                        }, j[T].mode === "i") {
                        xe = ne.length;
                        var G = Ue("g");
                        for (ae = 0; ae < xe; ae += 1) G.appendChild(ne[ae]);
                        var re = Ue("mask");
                        re.setAttribute("mask-type", "alpha"), re.setAttribute("id", K + "_" + M), re.appendChild(H), b.appendChild(re), G.setAttribute("mask", "url(" + l() + "#" + K + "_" + M + ")"), ne.length = 0, ne.push(G)
                    } else ne.push(H);
                    j[T].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[T] = {
                        elem: H,
                        lastPath: "",
                        op: je.getProp(this.element, j[T].o, 0, .01, this.element),
                        prop: Tr.getShapeProp(this.element, j[T], 3),
                        invRect: le
                    }, this.viewData[T].prop.k || this.drawPath(j[T], this.viewData[T].prop.v, this.viewData[T])
                }
            for (this.maskElement = Ue(Ae), S = ne.length, T = 0; T < S; T += 1) this.maskElement.appendChild(ne[T]);
            M > 0 && (this.maskElement.setAttribute("id", K), this.element.maskedElement.setAttribute(J, "url(" + l() + "#" + K + ")"), b.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this)
        }
        Xs.prototype.getMaskProperty = function(c) {
            return this.viewData[c].prop
        }, Xs.prototype.renderFrame = function(c) {
            var h = this.element.finalTransform.mat,
                g, b = this.masksProperties.length;
            for (g = 0; g < b; g += 1)
                if ((this.viewData[g].prop._mdf || c) && this.drawPath(this.masksProperties[g], this.viewData[g].prop.v, this.viewData[g]), (this.viewData[g].op._mdf || c) && this.viewData[g].elem.setAttribute("fill-opacity", this.viewData[g].op.v), this.masksProperties[g].mode !== "n" && (this.viewData[g].invRect && (this.element.finalTransform.mProp._mdf || c) && this.viewData[g].invRect.setAttribute("transform", h.getInverseMatrix().to2dCSS()), this.storedData[g].x && (this.storedData[g].x._mdf || c))) {
                    var T = this.storedData[g].expan;
                    this.storedData[g].x.v < 0 ? (this.storedData[g].lastOperator !== "erode" && (this.storedData[g].lastOperator = "erode", this.storedData[g].elem.setAttribute("filter", "url(" + l() + "#" + this.storedData[g].filterId + ")")), T.setAttribute("radius", -this.storedData[g].x.v)) : (this.storedData[g].lastOperator !== "dilate" && (this.storedData[g].lastOperator = "dilate", this.storedData[g].elem.setAttribute("filter", null)), this.storedData[g].elem.setAttribute("stroke-width", this.storedData[g].x.v * 2))
                }
        }, Xs.prototype.getMaskelement = function() {
            return this.maskElement
        }, Xs.prototype.createLayerSolidPath = function() {
            var c = "M0,0 ";
            return c += " h" + this.globalData.compSize.w, c += " v" + this.globalData.compSize.h, c += " h-" + this.globalData.compSize.w, c += " v-" + this.globalData.compSize.h + " ", c
        }, Xs.prototype.drawPath = function(c, h, g) {
            var b = " M" + h.v[0][0] + "," + h.v[0][1],
                T, S;
            for (S = h._length, T = 1; T < S; T += 1) b += " C" + h.o[T - 1][0] + "," + h.o[T - 1][1] + " " + h.i[T][0] + "," + h.i[T][1] + " " + h.v[T][0] + "," + h.v[T][1];
            if (h.c && S > 1 && (b += " C" + h.o[T - 1][0] + "," + h.o[T - 1][1] + " " + h.i[0][0] + "," + h.i[0][1] + " " + h.v[0][0] + "," + h.v[0][1]), g.lastPath !== b) {
                var H = "";
                g.elem && (h.c && (H = c.inv ? this.solidPath + b : b), g.elem.setAttribute("d", H)), g.lastPath = b
            }
        }, Xs.prototype.destroy = function() {
            this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null
        };
        var bl = function() {
                var c = {};
                c.createFilter = h, c.createAlphaToLuminanceFilter = g;

                function h(b, T) {
                    var S = Ue("filter");
                    return S.setAttribute("id", b), T !== !0 && (S.setAttribute("filterUnits", "objectBoundingBox"), S.setAttribute("x", "0%"), S.setAttribute("y", "0%"), S.setAttribute("width", "100%"), S.setAttribute("height", "100%")), S
                }

                function g() {
                    var b = Ue("feColorMatrix");
                    return b.setAttribute("type", "matrix"), b.setAttribute("color-interpolation-filters", "sRGB"), b.setAttribute("values", "0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1"), b
                }
                return c
            }(),
            v4 = function() {
                var c = {
                    maskType: !0,
                    svgLumaHidden: !0,
                    offscreenCanvas: typeof OffscreenCanvas < "u"
                };
                return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) && (c.maskType = !1), /firefox/i.test(navigator.userAgent) && (c.svgLumaHidden = !1), c
            }(),
            Bd = {},
            m4 = "filter_result_";

        function wd(c) {
            var h, g = "SourceGraphic",
                b = c.data.ef ? c.data.ef.length : 0,
                T = W(),
                S = bl.createFilter(T, !0),
                H = 0;
            this.filters = [];
            var j;
            for (h = 0; h < b; h += 1) {
                j = null;
                var M = c.data.ef[h].ty;
                if (Bd[M]) {
                    var ne = Bd[M].effect;
                    j = new ne(S, c.effectsManager.effectElements[h], c, m4 + H, g), g = m4 + H, Bd[M].countsAsEffect && (H += 1)
                }
                j && this.filters.push(j)
            }
            H && (c.globalData.defs.appendChild(S), c.layerElement.setAttribute("filter", "url(" + l() + "#" + T + ")")), this.filters.length && c.addRenderableComponent(this)
        }
        wd.prototype.renderFrame = function(c) {
            var h, g = this.filters.length;
            for (h = 0; h < g; h += 1) this.filters[h].renderFrame(c)
        }, wd.prototype.getEffects = function(c) {
            var h, g = this.filters.length,
                b = [];
            for (h = 0; h < g; h += 1) this.filters[h].type === c && b.push(this.filters[h]);
            return b
        };

        function xl() {}
        xl.prototype = {
            initRendererElement: function() {
                this.layerElement = Ue("g")
            },
            createContainerElements: function() {
                this.matteElement = Ue("g"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;
                var h = null;
                if (this.data.td) {
                    this.matteMasks = {};
                    var g = Ue("g");
                    g.setAttribute("id", this.layerId), g.appendChild(this.layerElement), h = g, this.globalData.defs.appendChild(g)
                } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), h = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;
                if (this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), this.data.ty === 0 && !this.data.hd) {
                    var b = Ue("clipPath"),
                        T = Ue("path");
                    T.setAttribute("d", "M0,0 L" + this.data.w + ",0 L" + this.data.w + "," + this.data.h + " L0," + this.data.h + "z");
                    var S = W();
                    if (b.setAttribute("id", S), b.appendChild(T), this.globalData.defs.appendChild(b), this.checkMasks()) {
                        var H = Ue("g");
                        H.setAttribute("clip-path", "url(" + l() + "#" + S + ")"), H.appendChild(this.layerElement), this.transformedElement = H, h ? h.appendChild(this.transformedElement) : this.baseElement = this.transformedElement
                    } else this.layerElement.setAttribute("clip-path", "url(" + l() + "#" + S + ")")
                }
                this.data.bm !== 0 && this.setBlendMode()
            },
            renderElement: function() {
                this.finalTransform._localMatMdf && this.transformedElement.setAttribute("transform", this.finalTransform.localMat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute("opacity", this.finalTransform.localOpacity)
            },
            destroyBaseElement: function() {
                this.layerElement = null, this.matteElement = null, this.maskManager.destroy()
            },
            getBaseElement: function() {
                return this.data.hd ? null : this.baseElement
            },
            createRenderableComponents: function() {
                this.maskManager = new Xs(this.data, this, this.globalData), this.renderableEffectsManager = new wd(this), this.searchEffectTransforms()
            },
            getMatte: function(h) {
                if (this.matteMasks || (this.matteMasks = {}), !this.matteMasks[h]) {
                    var g = this.layerId + "_" + h,
                        b, T, S, H;
                    if (h === 1 || h === 3) {
                        var j = Ue("mask");
                        j.setAttribute("id", g), j.setAttribute("mask-type", h === 3 ? "luminance" : "alpha"), S = Ue("use"), S.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), j.appendChild(S), this.globalData.defs.appendChild(j), !v4.maskType && h === 1 && (j.setAttribute("mask-type", "luminance"), b = W(), T = bl.createFilter(b), this.globalData.defs.appendChild(T), T.appendChild(bl.createAlphaToLuminanceFilter()), H = Ue("g"), H.appendChild(S), j.appendChild(H), H.setAttribute("filter", "url(" + l() + "#" + b + ")"))
                    } else if (h === 2) {
                        var M = Ue("mask");
                        M.setAttribute("id", g), M.setAttribute("mask-type", "alpha");
                        var ne = Ue("g");
                        M.appendChild(ne), b = W(), T = bl.createFilter(b);
                        var ae = Ue("feComponentTransfer");
                        ae.setAttribute("in", "SourceGraphic"), T.appendChild(ae);
                        var xe = Ue("feFuncA");
                        xe.setAttribute("type", "table"), xe.setAttribute("tableValues", "1.0 0.0"), ae.appendChild(xe), this.globalData.defs.appendChild(T);
                        var K = Ue("rect");
                        K.setAttribute("width", this.comp.data.w), K.setAttribute("height", this.comp.data.h), K.setAttribute("x", "0"), K.setAttribute("y", "0"), K.setAttribute("fill", "#ffffff"), K.setAttribute("opacity", "0"), ne.setAttribute("filter", "url(" + l() + "#" + b + ")"), ne.appendChild(K), S = Ue("use"), S.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), ne.appendChild(S), v4.maskType || (M.setAttribute("mask-type", "luminance"), T.appendChild(bl.createAlphaToLuminanceFilter()), H = Ue("g"), ne.appendChild(K), H.appendChild(this.layerElement), ne.appendChild(H)), this.globalData.defs.appendChild(M)
                    }
                    this.matteMasks[h] = g
                }
                return this.matteMasks[h]
            },
            setMatte: function(h) {
                this.matteElement && this.matteElement.setAttribute("mask", "url(" + l() + "#" + h + ")")
            }
        };

        function ea() {}
        ea.prototype = {
            initHierarchy: function() {
                this.hierarchy = [], this._isParent = !1, this.checkParenting()
            },
            setHierarchy: function(h) {
                this.hierarchy = h
            },
            setAsParent: function() {
                this._isParent = !0
            },
            checkParenting: function() {
                this.data.parent !== void 0 && this.comp.buildElementParenting(this, this.data.parent, [])
            }
        };

        function _l() {}(function() {
            var c = {
                initElement: function(g, b, T) {
                    this.initFrame(), this.initBaseData(g, b, T), this.initTransform(g, b, T), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide()
                },
                hide: function() {
                    if (!this.hidden && (!this.isInRange || this.isTransparent)) {
                        var g = this.baseElement || this.layerElement;
                        g.style.display = "none", this.hidden = !0
                    }
                },
                show: function() {
                    if (this.isInRange && !this.isTransparent) {
                        if (!this.data.hd) {
                            var g = this.baseElement || this.layerElement;
                            g.style.display = "block"
                        }
                        this.hidden = !1, this._isFirstFrame = !0
                    }
                },
                renderFrame: function() {
                    this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1))
                },
                renderInnerContent: function() {},
                prepareFrame: function(g) {
                    this._mdf = !1, this.prepareRenderableFrame(g), this.prepareProperties(g, this.isInRange), this.checkTransparency()
                },
                destroy: function() {
                    this.innerElem = null, this.destroyBaseElement()
                }
            };
            f([kc, d(c)], _l)
        })();

        function Fl(c, h, g) {
            this.assetData = h.getAssetData(c.refId), this.assetData && this.assetData.sid && (this.assetData = h.slotManager.getProp(this.assetData)), this.initElement(c, h, g), this.sourceRect = {
                top: 0,
                left: 0,
                width: this.assetData.w,
                height: this.assetData.h
            }
        }
        f([Ni, Zo, xl, ea, $i, _l], Fl), Fl.prototype.createContent = function() {
            var c = this.globalData.getAssetsPath(this.assetData);
            this.innerElem = Ue("image"), this.innerElem.setAttribute("width", this.assetData.w + "px"), this.innerElem.setAttribute("height", this.assetData.h + "px"), this.innerElem.setAttribute("preserveAspectRatio", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", c), this.layerElement.appendChild(this.innerElem)
        }, Fl.prototype.sourceRectAtTime = function() {
            return this.sourceRect
        };

        function C_(c, h) {
            this.elem = c, this.pos = h
        }

        function B4() {}
        B4.prototype = {
            addShapeToModifiers: function(h) {
                var g, b = this.shapeModifiers.length;
                for (g = 0; g < b; g += 1) this.shapeModifiers[g].addShape(h)
            },
            isShapeInAnimatedModifiers: function(h) {
                for (var g = 0, b = this.shapeModifiers.length; g < b;)
                    if (this.shapeModifiers[g].isAnimatedWithShape(h)) return !0;
                return !1
            },
            renderModifiers: function() {
                if (this.shapeModifiers.length) {
                    var h, g = this.shapes.length;
                    for (h = 0; h < g; h += 1) this.shapes[h].sh.reset();
                    g = this.shapeModifiers.length;
                    var b;
                    for (h = g - 1; h >= 0 && (b = this.shapeModifiers[h].processShapes(this._isFirstFrame), !b); h -= 1);
                }
            },
            searchProcessedElement: function(h) {
                for (var g = this.processedElements, b = 0, T = g.length; b < T;) {
                    if (g[b].elem === h) return g[b].pos;
                    b += 1
                }
                return 0
            },
            addProcessedElement: function(h, g) {
                for (var b = this.processedElements, T = b.length; T;)
                    if (T -= 1, b[T].elem === h) {
                        b[T].pos = g;
                        return
                    }
                b.push(new C_(h, g))
            },
            prepareFrame: function(h) {
                this.prepareRenderableFrame(h), this.prepareProperties(h, this.isInRange)
            }
        };
        var w4 = {
                1: "butt",
                2: "round",
                3: "square"
            },
            y4 = {
                1: "miter",
                2: "round",
                3: "bevel"
            };

        function C4(c, h, g) {
            this.caches = [], this.styles = [], this.transformers = c, this.lStr = "", this.sh = g, this.lvl = h, this._isAnimated = !!g.k;
            for (var b = 0, T = c.length; b < T;) {
                if (c[b].mProps.dynamicProperties.length) {
                    this._isAnimated = !0;
                    break
                }
                b += 1
            }
        }
        C4.prototype.setAsAnimated = function() {
            this._isAnimated = !0
        };

        function E4(c, h) {
            this.data = c, this.type = c.ty, this.d = "", this.lvl = h, this._mdf = !1, this.closed = c.hd === !0, this.pElem = Ue("path"), this.msElem = null
        }
        E4.prototype.reset = function() {
            this.d = "", this._mdf = !1
        };

        function Hc(c, h, g, b) {
            this.elem = c, this.frameId = -1, this.dataProps = B(h.length), this.renderer = g, this.k = !1, this.dashStr = "", this.dashArray = v("float32", h.length ? h.length - 1 : 0), this.dashoffset = v("float32", 1), this.initDynamicPropertyContainer(b);
            var T, S = h.length || 0,
                H;
            for (T = 0; T < S; T += 1) H = je.getProp(c, h[T].v, 0, 0, this), this.k = H.k || this.k, this.dataProps[T] = {
                n: h[T].n,
                p: H
            };
            this.k || this.getValue(!0), this._isAnimated = this.k
        }
        Hc.prototype.getValue = function(c) {
            if (!(this.elem.globalData.frameId === this.frameId && !c) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || c, this._mdf)) {
                var h = 0,
                    g = this.dataProps.length;
                for (this.renderer === "svg" && (this.dashStr = ""), h = 0; h < g; h += 1) this.dataProps[h].n !== "o" ? this.renderer === "svg" ? this.dashStr += " " + this.dataProps[h].p.v : this.dashArray[h] = this.dataProps[h].p.v : this.dashoffset[0] = this.dataProps[h].p.v
            }
        }, f([Fn], Hc);

        function b4(c, h, g) {
            this.initDynamicPropertyContainer(c), this.getValue = this.iterateDynamicProperties, this.o = je.getProp(c, h.o, 0, .01, this), this.w = je.getProp(c, h.w, 0, null, this), this.d = new Hc(c, h.d || {}, "svg", this), this.c = je.getProp(c, h.c, 1, 255, this), this.style = g, this._isAnimated = !!this._isAnimated
        }
        f([Fn], b4);

        function x4(c, h, g) {
            this.initDynamicPropertyContainer(c), this.getValue = this.iterateDynamicProperties, this.o = je.getProp(c, h.o, 0, .01, this), this.c = je.getProp(c, h.c, 1, 255, this), this.style = g
        }
        f([Fn], x4);

        function _4(c, h, g) {
            this.initDynamicPropertyContainer(c), this.getValue = this.iterateDynamicProperties, this.style = g
        }
        f([Fn], _4);

        function Sl(c, h, g) {
            this.data = h, this.c = v("uint8c", h.p * 4);
            var b = h.k.k[0].s ? h.k.k[0].s.length - h.p * 4 : h.k.k.length - h.p * 4;
            this.o = v("float32", b), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = b, this.initDynamicPropertyContainer(g), this.prop = je.getProp(c, h.k, 1, null, this), this.k = this.prop.k, this.getValue(!0)
        }
        Sl.prototype.comparePoints = function(c, h) {
            for (var g = 0, b = this.o.length / 2, T; g < b;) {
                if (T = Math.abs(c[g * 4] - c[h * 4 + g * 2]), T > .01) return !1;
                g += 1
            }
            return !0
        }, Sl.prototype.checkCollapsable = function() {
            if (this.o.length / 2 !== this.c.length / 4) return !1;
            if (this.data.k.k[0].s)
                for (var c = 0, h = this.data.k.k.length; c < h;) {
                    if (!this.comparePoints(this.data.k.k[c].s, this.data.p)) return !1;
                    c += 1
                } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;
            return !0
        }, Sl.prototype.getValue = function(c) {
            if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || c) {
                var h, g = this.data.p * 4,
                    b, T;
                for (h = 0; h < g; h += 1) b = h % 4 === 0 ? 100 : 255, T = Math.round(this.prop.v[h] * b), this.c[h] !== T && (this.c[h] = T, this._cmdf = !c);
                if (this.o.length)
                    for (g = this.prop.v.length, h = this.data.p * 4; h < g; h += 1) b = h % 2 === 0 ? 100 : 1, T = h % 2 === 0 ? Math.round(this.prop.v[h] * 100) : this.prop.v[h], this.o[h - this.data.p * 4] !== T && (this.o[h - this.data.p * 4] = T, this._omdf = !c);
                this._mdf = !c
            }
        }, f([Fn], Sl);

        function ta(c, h, g) {
            this.initDynamicPropertyContainer(c), this.getValue = this.iterateDynamicProperties, this.initGradientData(c, h, g)
        }
        ta.prototype.initGradientData = function(c, h, g) {
            this.o = je.getProp(c, h.o, 0, .01, this), this.s = je.getProp(c, h.s, 1, null, this), this.e = je.getProp(c, h.e, 1, null, this), this.h = je.getProp(c, h.h || {
                k: 0
            }, 0, .01, this), this.a = je.getProp(c, h.a || {
                k: 0
            }, 0, L, this), this.g = new Sl(c, h.g, this), this.style = g, this.stops = [], this.setGradientData(g.pElem, h), this.setGradientOpacity(h, g), this._isAnimated = !!this._isAnimated
        }, ta.prototype.setGradientData = function(c, h) {
            var g = W(),
                b = Ue(h.t === 1 ? "linearGradient" : "radialGradient");
            b.setAttribute("id", g), b.setAttribute("spreadMethod", "pad"), b.setAttribute("gradientUnits", "userSpaceOnUse");
            var T = [],
                S, H, j;
            for (j = h.g.p * 4, H = 0; H < j; H += 4) S = Ue("stop"), b.appendChild(S), T.push(S);
            c.setAttribute(h.ty === "gf" ? "fill" : "stroke", "url(" + l() + "#" + g + ")"), this.gf = b, this.cst = T
        }, ta.prototype.setGradientOpacity = function(c, h) {
            if (this.g._hasOpacity && !this.g._collapsable) {
                var g, b, T, S = Ue("mask"),
                    H = Ue("path");
                S.appendChild(H);
                var j = W(),
                    M = W();
                S.setAttribute("id", M);
                var ne = Ue(c.t === 1 ? "linearGradient" : "radialGradient");
                ne.setAttribute("id", j), ne.setAttribute("spreadMethod", "pad"), ne.setAttribute("gradientUnits", "userSpaceOnUse"), T = c.g.k.k[0].s ? c.g.k.k[0].s.length : c.g.k.k.length;
                var ae = this.stops;
                for (b = c.g.p * 4; b < T; b += 2) g = Ue("stop"), g.setAttribute("stop-color", "rgb(255,255,255)"), ne.appendChild(g), ae.push(g);
                H.setAttribute(c.ty === "gf" ? "fill" : "stroke", "url(" + l() + "#" + j + ")"), c.ty === "gs" && (H.setAttribute("stroke-linecap", w4[c.lc || 2]), H.setAttribute("stroke-linejoin", y4[c.lj || 2]), c.lj === 1 && H.setAttribute("stroke-miterlimit", c.ml)), this.of = ne, this.ms = S, this.ost = ae, this.maskId = M, h.msElem = H
            }
        }, f([Fn], ta);

        function F4(c, h, g) {
            this.initDynamicPropertyContainer(c), this.getValue = this.iterateDynamicProperties, this.w = je.getProp(c, h.w, 0, null, this), this.d = new Hc(c, h.d || {}, "svg", this), this.initGradientData(c, h, g), this._isAnimated = !!this._isAnimated
        }
        f([ta, Fn], F4);

        function E_() {
            this.it = [], this.prevViewData = [], this.gr = Ue("g")
        }

        function b_(c, h, g) {
            this.transform = {
                mProps: c,
                op: h,
                container: g
            }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length
        }
        var S4 = function(h, g, b, T) {
                if (g === 0) return "";
                var S = h.o,
                    H = h.i,
                    j = h.v,
                    M, ne = " M" + T.applyToPointStringified(j[0][0], j[0][1]);
                for (M = 1; M < g; M += 1) ne += " C" + T.applyToPointStringified(S[M - 1][0], S[M - 1][1]) + " " + T.applyToPointStringified(H[M][0], H[M][1]) + " " + T.applyToPointStringified(j[M][0], j[M][1]);
                return b && g && (ne += " C" + T.applyToPointStringified(S[M - 1][0], S[M - 1][1]) + " " + T.applyToPointStringified(H[0][0], H[0][1]) + " " + T.applyToPointStringified(j[0][0], j[0][1]), ne += "z"), ne
            },
            x_ = function() {
                var c = new Sn,
                    h = new Sn,
                    g = {
                        createRenderFunction: b
                    };

                function b(xe) {
                    switch (xe.ty) {
                        case "fl":
                            return j;
                        case "gf":
                            return ne;
                        case "gs":
                            return M;
                        case "st":
                            return ae;
                        case "sh":
                        case "el":
                        case "rc":
                        case "sr":
                            return H;
                        case "tr":
                            return T;
                        case "no":
                            return S;
                        default:
                            return null
                    }
                }

                function T(xe, K, le) {
                    (le || K.transform.op._mdf) && K.transform.container.setAttribute("opacity", K.transform.op.v), (le || K.transform.mProps._mdf) && K.transform.container.setAttribute("transform", K.transform.mProps.v.to2dCSS())
                }

                function S() {}

                function H(xe, K, le) {
                    var ge, fe, Ce, Ae, J, $, G = K.styles.length,
                        re = K.lvl,
                        ve, be, Fe, Ne;
                    for ($ = 0; $ < G; $ += 1) {
                        if (Ae = K.sh._mdf || le, K.styles[$].lvl < re) {
                            for (be = h.reset(), Fe = re - K.styles[$].lvl, Ne = K.transformers.length - 1; !Ae && Fe > 0;) Ae = K.transformers[Ne].mProps._mdf || Ae, Fe -= 1, Ne -= 1;
                            if (Ae)
                                for (Fe = re - K.styles[$].lvl, Ne = K.transformers.length - 1; Fe > 0;) be.multiply(K.transformers[Ne].mProps.v), Fe -= 1, Ne -= 1
                        } else be = c;
                        if (ve = K.sh.paths, fe = ve._length, Ae) {
                            for (Ce = "", ge = 0; ge < fe; ge += 1) J = ve.shapes[ge], J && J._length && (Ce += S4(J, J._length, J.c, be));
                            K.caches[$] = Ce
                        } else Ce = K.caches[$];
                        K.styles[$].d += xe.hd === !0 ? "" : Ce, K.styles[$]._mdf = Ae || K.styles[$]._mdf
                    }
                }

                function j(xe, K, le) {
                    var ge = K.style;
                    (K.c._mdf || le) && ge.pElem.setAttribute("fill", "rgb(" + F(K.c.v[0]) + "," + F(K.c.v[1]) + "," + F(K.c.v[2]) + ")"), (K.o._mdf || le) && ge.pElem.setAttribute("fill-opacity", K.o.v)
                }

                function M(xe, K, le) {
                    ne(xe, K, le), ae(xe, K, le)
                }

                function ne(xe, K, le) {
                    var ge = K.gf,
                        fe = K.g._hasOpacity,
                        Ce = K.s.v,
                        Ae = K.e.v;
                    if (K.o._mdf || le) {
                        var J = xe.ty === "gf" ? "fill-opacity" : "stroke-opacity";
                        K.style.pElem.setAttribute(J, K.o.v)
                    }
                    if (K.s._mdf || le) {
                        var $ = xe.t === 1 ? "x1" : "cx",
                            G = $ === "x1" ? "y1" : "cy";
                        ge.setAttribute($, Ce[0]), ge.setAttribute(G, Ce[1]), fe && !K.g._collapsable && (K.of.setAttribute($, Ce[0]), K.of.setAttribute(G, Ce[1]))
                    }
                    var re, ve, be, Fe;
                    if (K.g._cmdf || le) {
                        re = K.cst;
                        var Ne = K.g.c;
                        for (be = re.length, ve = 0; ve < be; ve += 1) Fe = re[ve], Fe.setAttribute("offset", Ne[ve * 4] + "%"), Fe.setAttribute("stop-color", "rgb(" + Ne[ve * 4 + 1] + "," + Ne[ve * 4 + 2] + "," + Ne[ve * 4 + 3] + ")")
                    }
                    if (fe && (K.g._omdf || le)) {
                        var ft = K.g.o;
                        for (K.g._collapsable ? re = K.cst : re = K.ost, be = re.length, ve = 0; ve < be; ve += 1) Fe = re[ve], K.g._collapsable || Fe.setAttribute("offset", ft[ve * 2] + "%"), Fe.setAttribute("stop-opacity", ft[ve * 2 + 1])
                    }
                    if (xe.t === 1)(K.e._mdf || le) && (ge.setAttribute("x2", Ae[0]), ge.setAttribute("y2", Ae[1]), fe && !K.g._collapsable && (K.of.setAttribute("x2", Ae[0]), K.of.setAttribute("y2", Ae[1])));
                    else {
                        var ot;
                        if ((K.s._mdf || K.e._mdf || le) && (ot = Math.sqrt(Math.pow(Ce[0] - Ae[0], 2) + Math.pow(Ce[1] - Ae[1], 2)), ge.setAttribute("r", ot), fe && !K.g._collapsable && K.of.setAttribute("r", ot)), K.e._mdf || K.h._mdf || K.a._mdf || le) {
                            ot || (ot = Math.sqrt(Math.pow(Ce[0] - Ae[0], 2) + Math.pow(Ce[1] - Ae[1], 2)));
                            var Ge = Math.atan2(Ae[1] - Ce[1], Ae[0] - Ce[0]),
                                pt = K.h.v;
                            pt >= 1 ? pt = .99 : pt <= -1 && (pt = -.99);
                            var At = ot * pt,
                                Me = Math.cos(Ge + K.a.v) * At + Ce[0],
                                z = Math.sin(Ge + K.a.v) * At + Ce[1];
                            ge.setAttribute("fx", Me), ge.setAttribute("fy", z), fe && !K.g._collapsable && (K.of.setAttribute("fx", Me), K.of.setAttribute("fy", z))
                        }
                    }
                }

                function ae(xe, K, le) {
                    var ge = K.style,
                        fe = K.d;
                    fe && (fe._mdf || le) && fe.dashStr && (ge.pElem.setAttribute("stroke-dasharray", fe.dashStr), ge.pElem.setAttribute("stroke-dashoffset", fe.dashoffset[0])), K.c && (K.c._mdf || le) && ge.pElem.setAttribute("stroke", "rgb(" + F(K.c.v[0]) + "," + F(K.c.v[1]) + "," + F(K.c.v[2]) + ")"), (K.o._mdf || le) && ge.pElem.setAttribute("stroke-opacity", K.o.v), (K.w._mdf || le) && (ge.pElem.setAttribute("stroke-width", K.w.v), ge.msElem && ge.msElem.setAttribute("stroke-width", K.w.v))
                }
                return g
            }();

        function yn(c, h, g) {
            this.shapes = [], this.shapesData = c.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(c, h, g), this.prevViewData = []
        }
        f([Ni, Zo, xl, B4, ea, $i, _l], yn), yn.prototype.initSecondaryElement = function() {}, yn.prototype.identityMatrix = new Sn, yn.prototype.buildExpressionInterface = function() {}, yn.prototype.createContent = function() {
            this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes()
        }, yn.prototype.filterUniqueShapes = function() {
            var c, h = this.shapes.length,
                g, b, T = this.stylesList.length,
                S, H = [],
                j = !1;
            for (b = 0; b < T; b += 1) {
                for (S = this.stylesList[b], j = !1, H.length = 0, c = 0; c < h; c += 1) g = this.shapes[c], g.styles.indexOf(S) !== -1 && (H.push(g), j = g._isAnimated || j);
                H.length > 1 && j && this.setShapesAsAnimated(H)
            }
        }, yn.prototype.setShapesAsAnimated = function(c) {
            var h, g = c.length;
            for (h = 0; h < g; h += 1) c[h].setAsAnimated()
        }, yn.prototype.createStyleElement = function(c, h) {
            var g, b = new E4(c, h),
                T = b.pElem;
            if (c.ty === "st") g = new b4(this, c, b);
            else if (c.ty === "fl") g = new x4(this, c, b);
            else if (c.ty === "gf" || c.ty === "gs") {
                var S = c.ty === "gf" ? ta : F4;
                g = new S(this, c, b), this.globalData.defs.appendChild(g.gf), g.maskId && (this.globalData.defs.appendChild(g.ms), this.globalData.defs.appendChild(g.of), T.setAttribute("mask", "url(" + l() + "#" + g.maskId + ")"))
            } else c.ty === "no" && (g = new _4(this, c, b));
            return (c.ty === "st" || c.ty === "gs") && (T.setAttribute("stroke-linecap", w4[c.lc || 2]), T.setAttribute("stroke-linejoin", y4[c.lj || 2]), T.setAttribute("fill-opacity", "0"), c.lj === 1 && T.setAttribute("stroke-miterlimit", c.ml)), c.r === 2 && T.setAttribute("fill-rule", "evenodd"), c.ln && T.setAttribute("id", c.ln), c.cl && T.setAttribute("class", c.cl), c.bm && (T.style["mix-blend-mode"] = md(c.bm)), this.stylesList.push(b), this.addToAnimatedContents(c, g), g
        }, yn.prototype.createGroupElement = function(c) {
            var h = new E_;
            return c.ln && h.gr.setAttribute("id", c.ln), c.cl && h.gr.setAttribute("class", c.cl), c.bm && (h.gr.style["mix-blend-mode"] = md(c.bm)), h
        }, yn.prototype.createTransformElement = function(c, h) {
            var g = dd.getTransformProperty(this, c, this),
                b = new b_(g, g.o, h);
            return this.addToAnimatedContents(c, b), b
        }, yn.prototype.createShapeElement = function(c, h, g) {
            var b = 4;
            c.ty === "rc" ? b = 5 : c.ty === "el" ? b = 6 : c.ty === "sr" && (b = 7);
            var T = Tr.getShapeProp(this, c, b, this),
                S = new C4(h, g, T);
            return this.shapes.push(S), this.addShapeToModifiers(S), this.addToAnimatedContents(c, S), S
        }, yn.prototype.addToAnimatedContents = function(c, h) {
            for (var g = 0, b = this.animatedContents.length; g < b;) {
                if (this.animatedContents[g].element === h) return;
                g += 1
            }
            this.animatedContents.push({
                fn: x_.createRenderFunction(c),
                element: h,
                data: c
            })
        }, yn.prototype.setElementStyles = function(c) {
            var h = c.styles,
                g, b = this.stylesList.length;
            for (g = 0; g < b; g += 1) this.stylesList[g].closed || h.push(this.stylesList[g])
        }, yn.prototype.reloadShapes = function() {
            this._isFirstFrame = !0;
            var c, h = this.itemsData.length;
            for (c = 0; c < h; c += 1) this.prevViewData[c] = this.itemsData[c];
            for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), h = this.dynamicProperties.length, c = 0; c < h; c += 1) this.dynamicProperties[c].getValue();
            this.renderModifiers()
        }, yn.prototype.searchShapes = function(c, h, g, b, T, S, H) {
            var j = [].concat(S),
                M, ne = c.length - 1,
                ae, xe, K = [],
                le = [],
                ge, fe, Ce;
            for (M = ne; M >= 0; M -= 1) {
                if (Ce = this.searchProcessedElement(c[M]), Ce ? h[M] = g[Ce - 1] : c[M]._render = H, c[M].ty === "fl" || c[M].ty === "st" || c[M].ty === "gf" || c[M].ty === "gs" || c[M].ty === "no") Ce ? h[M].style.closed = !1 : h[M] = this.createStyleElement(c[M], T), c[M]._render && h[M].style.pElem.parentNode !== b && b.appendChild(h[M].style.pElem), K.push(h[M].style);
                else if (c[M].ty === "gr") {
                    if (!Ce) h[M] = this.createGroupElement(c[M]);
                    else
                        for (xe = h[M].it.length, ae = 0; ae < xe; ae += 1) h[M].prevViewData[ae] = h[M].it[ae];
                    this.searchShapes(c[M].it, h[M].it, h[M].prevViewData, h[M].gr, T + 1, j, H), c[M]._render && h[M].gr.parentNode !== b && b.appendChild(h[M].gr)
                } else c[M].ty === "tr" ? (Ce || (h[M] = this.createTransformElement(c[M], b)), ge = h[M].transform, j.push(ge)) : c[M].ty === "sh" || c[M].ty === "rc" || c[M].ty === "el" || c[M].ty === "sr" ? (Ce || (h[M] = this.createShapeElement(c[M], j, T)), this.setElementStyles(h[M])) : c[M].ty === "tm" || c[M].ty === "rd" || c[M].ty === "ms" || c[M].ty === "pb" || c[M].ty === "zz" || c[M].ty === "op" ? (Ce ? (fe = h[M], fe.closed = !1) : (fe = Mi.getModifier(c[M].ty), fe.init(this, c[M]), h[M] = fe, this.shapeModifiers.push(fe)), le.push(fe)) : c[M].ty === "rp" && (Ce ? (fe = h[M], fe.closed = !0) : (fe = Mi.getModifier(c[M].ty), h[M] = fe, fe.init(this, c, M, h), this.shapeModifiers.push(fe), H = !1), le.push(fe));
                this.addProcessedElement(c[M], M + 1)
            }
            for (ne = K.length, M = 0; M < ne; M += 1) K[M].closed = !0;
            for (ne = le.length, M = 0; M < ne; M += 1) le[M].closed = !0
        }, yn.prototype.renderInnerContent = function() {
            this.renderModifiers();
            var c, h = this.stylesList.length;
            for (c = 0; c < h; c += 1) this.stylesList[c].reset();
            for (this.renderShape(), c = 0; c < h; c += 1)(this.stylesList[c]._mdf || this._isFirstFrame) && (this.stylesList[c].msElem && (this.stylesList[c].msElem.setAttribute("d", this.stylesList[c].d), this.stylesList[c].d = "M0 0" + this.stylesList[c].d), this.stylesList[c].pElem.setAttribute("d", this.stylesList[c].d || "M0 0"))
        }, yn.prototype.renderShape = function() {
            var c, h = this.animatedContents.length,
                g;
            for (c = 0; c < h; c += 1) g = this.animatedContents[c], (this._isFirstFrame || g.element._isAnimated) && g.data !== !0 && g.fn(g.data, g.element, this._isFirstFrame)
        }, yn.prototype.destroy = function() {
            this.destroyBaseElement(), this.shapesData = null, this.itemsData = null
        };

        function yd(c, h, g, b, T, S) {
            this.o = c, this.sw = h, this.sc = g, this.fc = b, this.m = T, this.p = S, this._mdf = {
                o: !0,
                sw: !!h,
                sc: !!g,
                fc: !!b,
                m: !0,
                p: !0
            }
        }
        yd.prototype.update = function(c, h, g, b, T, S) {
            this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;
            var H = !1;
            return this.o !== c && (this.o = c, this._mdf.o = !0, H = !0), this.sw !== h && (this.sw = h, this._mdf.sw = !0, H = !0), this.sc !== g && (this.sc = g, this._mdf.sc = !0, H = !0), this.fc !== b && (this.fc = b, this._mdf.fc = !0, H = !0), this.m !== T && (this.m = T, this._mdf.m = !0, H = !0), S.length && (this.p[0] !== S[0] || this.p[1] !== S[1] || this.p[4] !== S[4] || this.p[5] !== S[5] || this.p[12] !== S[12] || this.p[13] !== S[13]) && (this.p = S, this._mdf.p = !0, H = !0), H
        };

        function Ar(c, h) {
            this._frameId = i, this.pv = "", this.v = "", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, h.d && h.d.sid && (h.d = c.globalData.slotManager.getProp(h.d)), this.data = h, this.elem = c, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {
                ascent: 0,
                boxWidth: this.defaultBoxWidth,
                f: "",
                fStyle: "",
                fWeight: "",
                fc: "",
                j: "",
                justifyOffset: "",
                l: [],
                lh: 0,
                lineWidths: [],
                ls: "",
                of: "",
                s: "",
                sc: "",
                sw: 0,
                t: 0,
                tr: 0,
                sz: 0,
                ps: null,
                fillColorAnim: !1,
                strokeColorAnim: !1,
                strokeWidthAnim: !1,
                yOffset: 0,
                finalSize: 0,
                finalText: [],
                finalLineHeight: 0,
                __complete: !1
            }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData)
        }
        Ar.prototype.defaultBoxWidth = [0, 0], Ar.prototype.copyData = function(c, h) {
            for (var g in h) Object.prototype.hasOwnProperty.call(h, g) && (c[g] = h[g]);
            return c
        }, Ar.prototype.setCurrentData = function(c) {
            c.__complete || this.completeTextData(c), this.currentData = c, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0
        }, Ar.prototype.searchProperty = function() {
            return this.searchKeyframes()
        }, Ar.prototype.searchKeyframes = function() {
            return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf
        }, Ar.prototype.addEffect = function(c) {
            this.effectsSequence.push(c), this.elem.addDynamicProperty(this)
        }, Ar.prototype.getValue = function(c) {
            if (!((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !c)) {
                this.currentData.t = this.data.d.k[this.keysIndex].s.t;
                var h = this.currentData,
                    g = this.keysIndex;
                if (this.lock) {
                    this.setCurrentData(this.currentData);
                    return
                }
                this.lock = !0, this._mdf = !1;
                var b, T = this.effectsSequence.length,
                    S = c || this.data.d.k[this.keysIndex].s;
                for (b = 0; b < T; b += 1) g !== this.keysIndex ? S = this.effectsSequence[b](S, S.t) : S = this.effectsSequence[b](this.currentData, S.t);
                h !== S && this.setCurrentData(S), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId
            }
        }, Ar.prototype.getKeyframeValue = function() {
            for (var c = this.data.d.k, h = this.elem.comp.renderedFrame, g = 0, b = c.length; g <= b - 1 && !(g === b - 1 || c[g + 1].t > h);) g += 1;
            return this.keysIndex !== g && (this.keysIndex = g), this.data.d.k[this.keysIndex].s
        }, Ar.prototype.buildFinalText = function(c) {
            for (var h = [], g = 0, b = c.length, T, S, H = !1, j = !1, M = ""; g < b;) H = j, j = !1, T = c.charCodeAt(g), M = c.charAt(g), Ys.isCombinedCharacter(T) ? H = !0 : T >= 55296 && T <= 56319 ? Ys.isRegionalFlag(c, g) ? M = c.substr(g, 14) : (S = c.charCodeAt(g + 1), S >= 56320 && S <= 57343 && (Ys.isModifier(T, S) ? (M = c.substr(g, 2), H = !0) : Ys.isFlagEmoji(c.substr(g, 4)) ? M = c.substr(g, 4) : M = c.substr(g, 2))) : T > 56319 ? (S = c.charCodeAt(g + 1), Ys.isVariationSelector(T) && (H = !0)) : Ys.isZeroWidthJoiner(T) && (H = !0, j = !0), H ? (h[h.length - 1] += M, H = !1) : h.push(M), g += M.length;
            return h
        }, Ar.prototype.completeTextData = function(c) {
            c.__complete = !0;
            var h = this.elem.globalData.fontManager,
                g = this.data,
                b = [],
                T, S, H, j = 0,
                M, ne = g.m.g,
                ae = 0,
                xe = 0,
                K = 0,
                le = [],
                ge = 0,
                fe = 0,
                Ce, Ae, J = h.getFontByName(c.f),
                $, G = 0,
                re = h4(J);
            c.fWeight = re.weight, c.fStyle = re.style, c.finalSize = c.s, c.finalText = this.buildFinalText(c.t), S = c.finalText.length, c.finalLineHeight = c.lh;
            var ve = c.tr / 1e3 * c.finalSize,
                be;
            if (c.sz)
                for (var Fe = !0, Ne = c.sz[0], ft = c.sz[1], ot, Ge; Fe;) {
                    Ge = this.buildFinalText(c.t), ot = 0, ge = 0, S = Ge.length, ve = c.tr / 1e3 * c.finalSize;
                    var pt = -1;
                    for (T = 0; T < S; T += 1) be = Ge[T].charCodeAt(0), H = !1, Ge[T] === " " ? pt = T : (be === 13 || be === 3) && (ge = 0, H = !0, ot += c.finalLineHeight || c.finalSize * 1.2), h.chars ? ($ = h.getCharData(Ge[T], J.fStyle, J.fFamily), G = H ? 0 : $.w * c.finalSize / 100) : G = h.measureText(Ge[T], c.f, c.finalSize), ge + G > Ne && Ge[T] !== " " ? (pt === -1 ? S += 1 : T = pt, ot += c.finalLineHeight || c.finalSize * 1.2, Ge.splice(T, pt === T ? 1 : 0, "\r"), pt = -1, ge = 0) : (ge += G, ge += ve);
                    ot += J.ascent * c.finalSize / 100, this.canResize && c.finalSize > this.minimumFontSize && ft < ot ? (c.finalSize -= 1, c.finalLineHeight = c.finalSize * c.lh / c.s) : (c.finalText = Ge, S = c.finalText.length, Fe = !1)
                }
            ge = -ve, G = 0;
            var At = 0,
                Me;
            for (T = 0; T < S; T += 1)
                if (H = !1, Me = c.finalText[T], be = Me.charCodeAt(0), be === 13 || be === 3 ? (At = 0, le.push(ge), fe = ge > fe ? ge : fe, ge = -2 * ve, M = "", H = !0, K += 1) : M = Me, h.chars ? ($ = h.getCharData(Me, J.fStyle, h.getFontByName(c.f).fFamily), G = H ? 0 : $.w * c.finalSize / 100) : G = h.measureText(M, c.f, c.finalSize), Me === " " ? At += G + ve : (ge += G + ve + At, At = 0), b.push({
                        l: G,
                        an: G,
                        add: ae,
                        n: H,
                        anIndexes: [],
                        val: M,
                        line: K,
                        animatorJustifyOffset: 0
                    }), ne == 2) {
                    if (ae += G, M === "" || M === " " || T === S - 1) {
                        for ((M === "" || M === " ") && (ae -= G); xe <= T;) b[xe].an = ae, b[xe].ind = j, b[xe].extra = G, xe += 1;
                        j += 1, ae = 0
                    }
                } else if (ne == 3) {
                if (ae += G, M === "" || T === S - 1) {
                    for (M === "" && (ae -= G); xe <= T;) b[xe].an = ae, b[xe].ind = j, b[xe].extra = G, xe += 1;
                    ae = 0, j += 1
                }
            } else b[j].ind = j, b[j].extra = 0, j += 1;
            if (c.l = b, fe = ge > fe ? ge : fe, le.push(ge), c.sz) c.boxWidth = c.sz[0], c.justifyOffset = 0;
            else switch (c.boxWidth = fe, c.j) {
                case 1:
                    c.justifyOffset = -c.boxWidth;
                    break;
                case 2:
                    c.justifyOffset = -c.boxWidth / 2;
                    break;
                default:
                    c.justifyOffset = 0
            }
            c.lineWidths = le;
            var z = g.a,
                de, k;
            Ae = z.length;
            var R, _e, me = [];
            for (Ce = 0; Ce < Ae; Ce += 1) {
                for (de = z[Ce], de.a.sc && (c.strokeColorAnim = !0), de.a.sw && (c.strokeWidthAnim = !0), (de.a.fc || de.a.fh || de.a.fs || de.a.fb) && (c.fillColorAnim = !0), _e = 0, R = de.s.b, T = 0; T < S; T += 1) k = b[T], k.anIndexes[Ce] = _e, (R == 1 && k.val !== "" || R == 2 && k.val !== "" && k.val !== " " || R == 3 && (k.n || k.val == " " || T == S - 1) || R == 4 && (k.n || T == S - 1)) && (de.s.rn === 1 && me.push(_e), _e += 1);
                g.a[Ce].s.totalChars = _e;
                var Ze = -1,
                    lt;
                if (de.s.rn === 1)
                    for (T = 0; T < S; T += 1) k = b[T], Ze != k.anIndexes[Ce] && (Ze = k.anIndexes[Ce], lt = me.splice(Math.floor(Math.random() * me.length), 1)[0]), k.anIndexes[Ce] = lt
            }
            c.yOffset = c.finalLineHeight || c.finalSize * 1.2, c.ls = c.ls || 0, c.ascent = J.ascent * c.finalSize / 100
        }, Ar.prototype.updateDocumentData = function(c, h) {
            h = h === void 0 ? this.keysIndex : h;
            var g = this.copyData({}, this.data.d.k[h].s);
            g = this.copyData(g, c), this.data.d.k[h].s = g, this.recalculate(h), this.setCurrentData(g), this.elem.addDynamicProperty(this)
        }, Ar.prototype.recalculate = function(c) {
            var h = this.data.d.k[c].s;
            h.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(h)
        }, Ar.prototype.canResizeFont = function(c) {
            this.canResize = c, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
        }, Ar.prototype.setMinimumFontSize = function(c) {
            this.minimumFontSize = Math.floor(c) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this)
        };
        var __ = function() {
            var c = Math.max,
                h = Math.min,
                g = Math.floor;

            function b(S, H) {
                this._currentTextLength = -1, this.k = !1, this.data = H, this.elem = S, this.comp = S.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(S), this.s = je.getProp(S, H.s || {
                    k: 0
                }, 0, 0, this), "e" in H ? this.e = je.getProp(S, H.e, 0, 0, this) : this.e = {
                    v: 100
                }, this.o = je.getProp(S, H.o || {
                    k: 0
                }, 0, 0, this), this.xe = je.getProp(S, H.xe || {
                    k: 0
                }, 0, 0, this), this.ne = je.getProp(S, H.ne || {
                    k: 0
                }, 0, 0, this), this.sm = je.getProp(S, H.sm || {
                    k: 100
                }, 0, 0, this), this.a = je.getProp(S, H.a, 0, .01, this), this.dynamicProperties.length || this.getValue()
            }
            b.prototype = {
                getMult: function(H) {
                    this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();
                    var j = 0,
                        M = 0,
                        ne = 1,
                        ae = 1;
                    this.ne.v > 0 ? j = this.ne.v / 100 : M = -this.ne.v / 100, this.xe.v > 0 ? ne = 1 - this.xe.v / 100 : ae = 1 + this.xe.v / 100;
                    var xe = We.getBezierEasing(j, M, ne, ae).get,
                        K = 0,
                        le = this.finalS,
                        ge = this.finalE,
                        fe = this.data.sh;
                    if (fe === 2) ge === le ? K = H >= ge ? 1 : 0 : K = c(0, h(.5 / (ge - le) + (H - le) / (ge - le), 1)), K = xe(K);
                    else if (fe === 3) ge === le ? K = H >= ge ? 0 : 1 : K = 1 - c(0, h(.5 / (ge - le) + (H - le) / (ge - le), 1)), K = xe(K);
                    else if (fe === 4) ge === le ? K = 0 : (K = c(0, h(.5 / (ge - le) + (H - le) / (ge - le), 1)), K < .5 ? K *= 2 : K = 1 - 2 * (K - .5)), K = xe(K);
                    else if (fe === 5) {
                        if (ge === le) K = 0;
                        else {
                            var Ce = ge - le;
                            H = h(c(0, H + .5 - le), ge - le);
                            var Ae = -Ce / 2 + H,
                                J = Ce / 2;
                            K = Math.sqrt(1 - Ae * Ae / (J * J))
                        }
                        K = xe(K)
                    } else fe === 6 ? (ge === le ? K = 0 : (H = h(c(0, H + .5 - le), ge - le), K = (1 + Math.cos(Math.PI + Math.PI * 2 * H / (ge - le))) / 2), K = xe(K)) : (H >= g(le) && (H - le < 0 ? K = c(0, h(h(ge, 1) - (le - H), 1)) : K = c(0, h(ge - H, 1))), K = xe(K));
                    if (this.sm.v !== 100) {
                        var $ = this.sm.v * .01;
                        $ === 0 && ($ = 1e-8);
                        var G = .5 - $ * .5;
                        K < G ? K = 0 : (K = (K - G) / $, K > 1 && (K = 1))
                    }
                    return K * this.a.v
                },
                getValue: function(H) {
                    this.iterateDynamicProperties(), this._mdf = H || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, H && this.data.r === 2 && (this.e.v = this._currentTextLength);
                    var j = this.data.r === 2 ? 1 : 100 / this.data.totalChars,
                        M = this.o.v / j,
                        ne = this.s.v / j + M,
                        ae = this.e.v / j + M;
                    if (ne > ae) {
                        var xe = ne;
                        ne = ae, ae = xe
                    }
                    this.finalS = ne, this.finalE = ae
                }
            }, f([Fn], b);

            function T(S, H, j) {
                return new b(S, H)
            }
            return {
                getTextSelectorProp: T
            }
        }();

        function F_(c, h, g) {
            var b = {
                    propType: !1
                },
                T = je.getProp,
                S = h.a;
            this.a = {
                r: S.r ? T(c, S.r, 0, L, g) : b,
                rx: S.rx ? T(c, S.rx, 0, L, g) : b,
                ry: S.ry ? T(c, S.ry, 0, L, g) : b,
                sk: S.sk ? T(c, S.sk, 0, L, g) : b,
                sa: S.sa ? T(c, S.sa, 0, L, g) : b,
                s: S.s ? T(c, S.s, 1, .01, g) : b,
                a: S.a ? T(c, S.a, 1, 0, g) : b,
                o: S.o ? T(c, S.o, 0, .01, g) : b,
                p: S.p ? T(c, S.p, 1, 0, g) : b,
                sw: S.sw ? T(c, S.sw, 0, 0, g) : b,
                sc: S.sc ? T(c, S.sc, 1, 0, g) : b,
                fc: S.fc ? T(c, S.fc, 1, 0, g) : b,
                fh: S.fh ? T(c, S.fh, 0, 0, g) : b,
                fs: S.fs ? T(c, S.fs, 0, .01, g) : b,
                fb: S.fb ? T(c, S.fb, 0, .01, g) : b,
                t: S.t ? T(c, S.t, 0, 0, g) : b
            }, this.s = __.getTextSelectorProp(c, h.s, g), this.s.t = h.s.t
        }

        function Js(c, h, g) {
            this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = c, this._renderType = h, this._elem = g, this._animatorsData = B(this._textData.a.length), this._pathData = {}, this._moreOptions = {
                alignment: {}
            }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(g)
        }
        Js.prototype.searchProperties = function() {
            var c, h = this._textData.a.length,
                g, b = je.getProp;
            for (c = 0; c < h; c += 1) g = this._textData.a[c], this._animatorsData[c] = new F_(this._elem, g, this);
            this._textData.p && "m" in this._textData.p ? (this._pathData = {
                a: b(this._elem, this._textData.p.a, 0, 0, this),
                f: b(this._elem, this._textData.p.f, 0, 0, this),
                l: b(this._elem, this._textData.p.l, 0, 0, this),
                r: b(this._elem, this._textData.p.r, 0, 0, this),
                p: b(this._elem, this._textData.p.p, 0, 0, this),
                m: this._elem.maskManager.getMaskProperty(this._textData.p.m)
            }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = b(this._elem, this._textData.m.a, 1, 0, this)
        }, Js.prototype.getMeasures = function(c, h) {
            if (this.lettersChangedFlag = h, !(!this._mdf && !this._isFirstFrame && !h && (!this._hasMaskedPath || !this._pathData.m._mdf))) {
                this._isFirstFrame = !1;
                var g = this._moreOptions.alignment.v,
                    b = this._animatorsData,
                    T = this._textData,
                    S = this.mHelper,
                    H = this._renderType,
                    j = this.renderedLetters.length,
                    M, ne, ae, xe, K = c.l,
                    le, ge, fe, Ce, Ae, J, $, G, re, ve, be, Fe, Ne, ft, ot;
                if (this._hasMaskedPath) {
                    if (ot = this._pathData.m, !this._pathData.n || this._pathData._mdf) {
                        var Ge = ot.v;
                        this._pathData.r.v && (Ge = Ge.reverse()), le = {
                            tLength: 0,
                            segments: []
                        }, xe = Ge._length - 1;
                        var pt;
                        for (Fe = 0, ae = 0; ae < xe; ae += 1) pt = kt.buildBezierData(Ge.v[ae], Ge.v[ae + 1], [Ge.o[ae][0] - Ge.v[ae][0], Ge.o[ae][1] - Ge.v[ae][1]], [Ge.i[ae + 1][0] - Ge.v[ae + 1][0], Ge.i[ae + 1][1] - Ge.v[ae + 1][1]]), le.tLength += pt.segmentLength, le.segments.push(pt), Fe += pt.segmentLength;
                        ae = xe, ot.v.c && (pt = kt.buildBezierData(Ge.v[ae], Ge.v[0], [Ge.o[ae][0] - Ge.v[ae][0], Ge.o[ae][1] - Ge.v[ae][1]], [Ge.i[0][0] - Ge.v[0][0], Ge.i[0][1] - Ge.v[0][1]]), le.tLength += pt.segmentLength, le.segments.push(pt), Fe += pt.segmentLength), this._pathData.pi = le
                    }
                    if (le = this._pathData.pi, ge = this._pathData.f.v, $ = 0, J = 1, Ce = 0, Ae = !0, ve = le.segments, ge < 0 && ot.v.c)
                        for (le.tLength < Math.abs(ge) && (ge = -Math.abs(ge) % le.tLength), $ = ve.length - 1, re = ve[$].points, J = re.length - 1; ge < 0;) ge += re[J].partialLength, J -= 1, J < 0 && ($ -= 1, re = ve[$].points, J = re.length - 1);
                    re = ve[$].points, G = re[J - 1], fe = re[J], be = fe.partialLength
                }
                xe = K.length, M = 0, ne = 0;
                var At = c.finalSize * 1.2 * .714,
                    Me = !0,
                    z, de, k, R, _e;
                R = b.length;
                var me, Ze = -1,
                    lt, dt, Dt, Lt = ge,
                    Tn = $,
                    pr = J,
                    _A = -1,
                    gr, Gn, Ir, Gt, it, ti, Gi, ni, FA = "",
                    ri = this.defaultPropsArray,
                    Ai;
                if (c.j === 2 || c.j === 1) {
                    var vr = 0,
                        ji = 0,
                        Wi = c.j === 2 ? -.5 : -1,
                        aA = 0,
                        zi = !0;
                    for (ae = 0; ae < xe; ae += 1)
                        if (K[ae].n) {
                            for (vr && (vr += ji); aA < ae;) K[aA].animatorJustifyOffset = vr, aA += 1;
                            vr = 0, zi = !0
                        } else {
                            for (k = 0; k < R; k += 1) z = b[k].a, z.t.propType && (zi && c.j === 2 && (ji += z.t.v * Wi), de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), me.length ? vr += z.t.v * me[0] * Wi : vr += z.t.v * me * Wi);
                            zi = !1
                        }
                    for (vr && (vr += ji); aA < ae;) K[aA].animatorJustifyOffset = vr, aA += 1
                }
                for (ae = 0; ae < xe; ae += 1) {
                    if (S.reset(), gr = 1, K[ae].n) M = 0, ne += c.yOffset, ne += Me ? 1 : 0, ge = Lt, Me = !1, this._hasMaskedPath && ($ = Tn, J = pr, re = ve[$].points, G = re[J - 1], fe = re[J], be = fe.partialLength, Ce = 0), FA = "", ni = "", ti = "", Ai = "", ri = this.defaultPropsArray;
                    else {
                        if (this._hasMaskedPath) {
                            if (_A !== K[ae].line) {
                                switch (c.j) {
                                    case 1:
                                        ge += Fe - c.lineWidths[K[ae].line];
                                        break;
                                    case 2:
                                        ge += (Fe - c.lineWidths[K[ae].line]) / 2;
                                        break
                                }
                                _A = K[ae].line
                            }
                            Ze !== K[ae].ind && (K[Ze] && (ge += K[Ze].extra), ge += K[ae].an / 2, Ze = K[ae].ind), ge += g[0] * K[ae].an * .005;
                            var lA = 0;
                            for (k = 0; k < R; k += 1) z = b[k].a, z.p.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), me.length ? lA += z.p.v[0] * me[0] : lA += z.p.v[0] * me), z.a.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), me.length ? lA += z.a.v[0] * me[0] : lA += z.a.v[0] * me);
                            for (Ae = !0, this._pathData.a.v && (ge = K[0].an * .5 + (Fe - this._pathData.f.v - K[0].an * .5 - K[K.length - 1].an * .5) * Ze / (xe - 1), ge += this._pathData.f.v); Ae;) Ce + be >= ge + lA || !re ? (Ne = (ge + lA - Ce) / fe.partialLength, dt = G.point[0] + (fe.point[0] - G.point[0]) * Ne, Dt = G.point[1] + (fe.point[1] - G.point[1]) * Ne, S.translate(-g[0] * K[ae].an * .005, -(g[1] * At) * .01), Ae = !1) : re && (Ce += fe.partialLength, J += 1, J >= re.length && (J = 0, $ += 1, ve[$] ? re = ve[$].points : ot.v.c ? (J = 0, $ = 0, re = ve[$].points) : (Ce -= fe.partialLength, re = null)), re && (G = fe, fe = re[J], be = fe.partialLength));
                            lt = K[ae].an / 2 - K[ae].add, S.translate(-lt, 0, 0)
                        } else lt = K[ae].an / 2 - K[ae].add, S.translate(-lt, 0, 0), S.translate(-g[0] * K[ae].an * .005, -g[1] * At * .01, 0);
                        for (k = 0; k < R; k += 1) z = b[k].a, z.t.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), (M !== 0 || c.j !== 0) && (this._hasMaskedPath ? me.length ? ge += z.t.v * me[0] : ge += z.t.v * me : me.length ? M += z.t.v * me[0] : M += z.t.v * me));
                        for (c.strokeWidthAnim && (Ir = c.sw || 0), c.strokeColorAnim && (c.sc ? Gn = [c.sc[0], c.sc[1], c.sc[2]] : Gn = [0, 0, 0]), c.fillColorAnim && c.fc && (Gt = [c.fc[0], c.fc[1], c.fc[2]]), k = 0; k < R; k += 1) z = b[k].a, z.a.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), me.length ? S.translate(-z.a.v[0] * me[0], -z.a.v[1] * me[1], z.a.v[2] * me[2]) : S.translate(-z.a.v[0] * me, -z.a.v[1] * me, z.a.v[2] * me));
                        for (k = 0; k < R; k += 1) z = b[k].a, z.s.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), me.length ? S.scale(1 + (z.s.v[0] - 1) * me[0], 1 + (z.s.v[1] - 1) * me[1], 1) : S.scale(1 + (z.s.v[0] - 1) * me, 1 + (z.s.v[1] - 1) * me, 1));
                        for (k = 0; k < R; k += 1) {
                            if (z = b[k].a, de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), z.sk.propType && (me.length ? S.skewFromAxis(-z.sk.v * me[0], z.sa.v * me[1]) : S.skewFromAxis(-z.sk.v * me, z.sa.v * me)), z.r.propType && (me.length ? S.rotateZ(-z.r.v * me[2]) : S.rotateZ(-z.r.v * me)), z.ry.propType && (me.length ? S.rotateY(z.ry.v * me[1]) : S.rotateY(z.ry.v * me)), z.rx.propType && (me.length ? S.rotateX(z.rx.v * me[0]) : S.rotateX(z.rx.v * me)), z.o.propType && (me.length ? gr += (z.o.v * me[0] - gr) * me[0] : gr += (z.o.v * me - gr) * me), c.strokeWidthAnim && z.sw.propType && (me.length ? Ir += z.sw.v * me[0] : Ir += z.sw.v * me), c.strokeColorAnim && z.sc.propType)
                                for (it = 0; it < 3; it += 1) me.length ? Gn[it] += (z.sc.v[it] - Gn[it]) * me[0] : Gn[it] += (z.sc.v[it] - Gn[it]) * me;
                            if (c.fillColorAnim && c.fc) {
                                if (z.fc.propType)
                                    for (it = 0; it < 3; it += 1) me.length ? Gt[it] += (z.fc.v[it] - Gt[it]) * me[0] : Gt[it] += (z.fc.v[it] - Gt[it]) * me;
                                z.fh.propType && (me.length ? Gt = ue(Gt, z.fh.v * me[0]) : Gt = ue(Gt, z.fh.v * me)), z.fs.propType && (me.length ? Gt = V(Gt, z.fs.v * me[0]) : Gt = V(Gt, z.fs.v * me)), z.fb.propType && (me.length ? Gt = ie(Gt, z.fb.v * me[0]) : Gt = ie(Gt, z.fb.v * me))
                            }
                        }
                        for (k = 0; k < R; k += 1) z = b[k].a, z.p.propType && (de = b[k].s, me = de.getMult(K[ae].anIndexes[k], T.a[k].s.totalChars), this._hasMaskedPath ? me.length ? S.translate(0, z.p.v[1] * me[0], -z.p.v[2] * me[1]) : S.translate(0, z.p.v[1] * me, -z.p.v[2] * me) : me.length ? S.translate(z.p.v[0] * me[0], z.p.v[1] * me[1], -z.p.v[2] * me[2]) : S.translate(z.p.v[0] * me, z.p.v[1] * me, -z.p.v[2] * me));
                        if (c.strokeWidthAnim && (ti = Ir < 0 ? 0 : Ir), c.strokeColorAnim && (Gi = "rgb(" + Math.round(Gn[0] * 255) + "," + Math.round(Gn[1] * 255) + "," + Math.round(Gn[2] * 255) + ")"), c.fillColorAnim && c.fc && (ni = "rgb(" + Math.round(Gt[0] * 255) + "," + Math.round(Gt[1] * 255) + "," + Math.round(Gt[2] * 255) + ")"), this._hasMaskedPath) {
                            if (S.translate(0, -c.ls), S.translate(0, g[1] * At * .01 + ne, 0), this._pathData.p.v) {
                                ft = (fe.point[1] - G.point[1]) / (fe.point[0] - G.point[0]);
                                var qs = Math.atan(ft) * 180 / Math.PI;
                                fe.point[0] < G.point[0] && (qs += 180), S.rotate(-qs * Math.PI / 180)
                            }
                            S.translate(dt, Dt, 0), ge -= g[0] * K[ae].an * .005, K[ae + 1] && Ze !== K[ae + 1].ind && (ge += K[ae].an / 2, ge += c.tr * .001 * c.finalSize)
                        } else {
                            switch (S.translate(M, ne, 0), c.ps && S.translate(c.ps[0], c.ps[1] + c.ascent, 0), c.j) {
                                case 1:
                                    S.translate(K[ae].animatorJustifyOffset + c.justifyOffset + (c.boxWidth - c.lineWidths[K[ae].line]), 0, 0);
                                    break;
                                case 2:
                                    S.translate(K[ae].animatorJustifyOffset + c.justifyOffset + (c.boxWidth - c.lineWidths[K[ae].line]) / 2, 0, 0);
                                    break
                            }
                            S.translate(0, -c.ls), S.translate(lt, 0, 0), S.translate(g[0] * K[ae].an * .005, g[1] * At * .01, 0), M += K[ae].l + c.tr * .001 * c.finalSize
                        }
                        H === "html" ? FA = S.toCSS() : H === "svg" ? FA = S.to2dCSS() : ri = [S.props[0], S.props[1], S.props[2], S.props[3], S.props[4], S.props[5], S.props[6], S.props[7], S.props[8], S.props[9], S.props[10], S.props[11], S.props[12], S.props[13], S.props[14], S.props[15]], Ai = gr
                    }
                    j <= ae ? (_e = new yd(Ai, ti, Gi, ni, FA, ri), this.renderedLetters.push(_e), j += 1, this.lettersChangedFlag = !0) : (_e = this.renderedLetters[ae], this.lettersChangedFlag = _e.update(Ai, ti, Gi, ni, FA, ri) || this.lettersChangedFlag)
                }
            }
        }, Js.prototype.getValue = function() {
            this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties())
        }, Js.prototype.mHelper = new Sn, Js.prototype.defaultPropsArray = [], f([Fn], Js);

        function Wr() {}
        Wr.prototype.initElement = function(c, h, g) {
            this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(c, h, g), this.textProperty = new Ar(this, c.t, this.dynamicProperties), this.textAnimator = new Js(c.t, this.renderType, this), this.initTransform(c, h, g), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties)
        }, Wr.prototype.prepareFrame = function(c) {
            this._mdf = !1, this.prepareRenderableFrame(c), this.prepareProperties(c, this.isInRange)
        }, Wr.prototype.createPathShape = function(c, h) {
            var g, b = h.length,
                T, S = "";
            for (g = 0; g < b; g += 1) h[g].ty === "sh" && (T = h[g].ks.k, S += S4(T, T.i.length, !0, c));
            return S
        }, Wr.prototype.updateDocumentData = function(c, h) {
            this.textProperty.updateDocumentData(c, h)
        }, Wr.prototype.canResizeFont = function(c) {
            this.textProperty.canResizeFont(c)
        }, Wr.prototype.setMinimumFontSize = function(c) {
            this.textProperty.setMinimumFontSize(c)
        }, Wr.prototype.applyTextPropertiesToMatrix = function(c, h, g, b, T) {
            switch (c.ps && h.translate(c.ps[0], c.ps[1] + c.ascent, 0), h.translate(0, -c.ls, 0), c.j) {
                case 1:
                    h.translate(c.justifyOffset + (c.boxWidth - c.lineWidths[g]), 0, 0);
                    break;
                case 2:
                    h.translate(c.justifyOffset + (c.boxWidth - c.lineWidths[g]) / 2, 0, 0);
                    break
            }
            h.translate(b, T, 0)
        }, Wr.prototype.buildColor = function(c) {
            return "rgb(" + Math.round(c[0] * 255) + "," + Math.round(c[1] * 255) + "," + Math.round(c[2] * 255) + ")"
        }, Wr.prototype.emptyProp = new yd, Wr.prototype.destroy = function() {}, Wr.prototype.validateText = function() {
            (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1)
        };
        var S_ = {
            shapes: []
        };

        function ZA(c, h, g) {
            this.textSpans = [], this.renderType = "svg", this.initElement(c, h, g)
        }
        f([Ni, Zo, xl, ea, $i, _l, Wr], ZA), ZA.prototype.createContent = function() {
            this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = Ue("text"))
        }, ZA.prototype.buildTextContents = function(c) {
            for (var h = 0, g = c.length, b = [], T = ""; h < g;) c[h] === String.fromCharCode(13) || c[h] === String.fromCharCode(3) ? (b.push(T), T = "") : T += c[h], h += 1;
            return b.push(T), b
        }, ZA.prototype.buildShapeData = function(c, h) {
            if (c.shapes && c.shapes.length) {
                var g = c.shapes[0];
                if (g.it) {
                    var b = g.it[g.it.length - 1];
                    b.s && (b.s.k[0] = h, b.s.k[1] = h)
                }
            }
            return c
        }, ZA.prototype.buildNewText = function() {
            this.addDynamicProperty(this);
            var c, h, g = this.textProperty.currentData;
            this.renderedLetters = B(g ? g.l.length : 0), g.fc ? this.layerElement.setAttribute("fill", this.buildColor(g.fc)) : this.layerElement.setAttribute("fill", "rgba(0,0,0,0)"), g.sc && (this.layerElement.setAttribute("stroke", this.buildColor(g.sc)), this.layerElement.setAttribute("stroke-width", g.sw)), this.layerElement.setAttribute("font-size", g.finalSize);
            var b = this.globalData.fontManager.getFontByName(g.f);
            if (b.fClass) this.layerElement.setAttribute("class", b.fClass);
            else {
                this.layerElement.setAttribute("font-family", b.fFamily);
                var T = g.fWeight,
                    S = g.fStyle;
                this.layerElement.setAttribute("font-style", S), this.layerElement.setAttribute("font-weight", T)
            }
            this.layerElement.setAttribute("aria-label", g.t);
            var H = g.l || [],
                j = !!this.globalData.fontManager.chars;
            h = H.length;
            var M, ne = this.mHelper,
                ae = "",
                xe = this.data.singleShape,
                K = 0,
                le = 0,
                ge = !0,
                fe = g.tr * .001 * g.finalSize;
            if (xe && !j && !g.sz) {
                var Ce = this.textContainer,
                    Ae = "start";
                switch (g.j) {
                    case 1:
                        Ae = "end";
                        break;
                    case 2:
                        Ae = "middle";
                        break;
                    default:
                        Ae = "start";
                        break
                }
                Ce.setAttribute("text-anchor", Ae), Ce.setAttribute("letter-spacing", fe);
                var J = this.buildTextContents(g.finalText);
                for (h = J.length, le = g.ps ? g.ps[1] + g.ascent : 0, c = 0; c < h; c += 1) M = this.textSpans[c].span || Ue("tspan"), M.textContent = J[c], M.setAttribute("x", 0), M.setAttribute("y", le), M.style.display = "inherit", Ce.appendChild(M), this.textSpans[c] || (this.textSpans[c] = {
                    span: null,
                    glyph: null
                }), this.textSpans[c].span = M, le += g.finalLineHeight;
                this.layerElement.appendChild(Ce)
            } else {
                var $ = this.textSpans.length,
                    G;
                for (c = 0; c < h; c += 1) {
                    if (this.textSpans[c] || (this.textSpans[c] = {
                            span: null,
                            childSpan: null,
                            glyph: null
                        }), !j || !xe || c === 0) {
                        if (M = $ > c ? this.textSpans[c].span : Ue(j ? "g" : "text"), $ <= c) {
                            if (M.setAttribute("stroke-linecap", "butt"), M.setAttribute("stroke-linejoin", "round"), M.setAttribute("stroke-miterlimit", "4"), this.textSpans[c].span = M, j) {
                                var re = Ue("g");
                                M.appendChild(re), this.textSpans[c].childSpan = re
                            }
                            this.textSpans[c].span = M, this.layerElement.appendChild(M)
                        }
                        M.style.display = "inherit"
                    }
                    if (ne.reset(), xe && (H[c].n && (K = -fe, le += g.yOffset, le += ge ? 1 : 0, ge = !1), this.applyTextPropertiesToMatrix(g, ne, H[c].line, K, le), K += H[c].l || 0, K += fe), j) {
                        G = this.globalData.fontManager.getCharData(g.finalText[c], b.fStyle, this.globalData.fontManager.getFontByName(g.f).fFamily);
                        var ve;
                        if (G.t === 1) ve = new Tl(G.data, this.globalData, this);
                        else {
                            var be = S_;
                            G.data && G.data.shapes && (be = this.buildShapeData(G.data, g.finalSize)), ve = new yn(be, this.globalData, this)
                        }
                        if (this.textSpans[c].glyph) {
                            var Fe = this.textSpans[c].glyph;
                            this.textSpans[c].childSpan.removeChild(Fe.layerElement), Fe.destroy()
                        }
                        this.textSpans[c].glyph = ve, ve._debug = !0, ve.prepareFrame(0), ve.renderFrame(), this.textSpans[c].childSpan.appendChild(ve.layerElement), G.t === 1 && this.textSpans[c].childSpan.setAttribute("transform", "scale(" + g.finalSize / 100 + "," + g.finalSize / 100 + ")")
                    } else xe && M.setAttribute("transform", "translate(" + ne.props[12] + "," + ne.props[13] + ")"), M.textContent = H[c].val, M.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve")
                }
                xe && M && M.setAttribute("d", ae)
            }
            for (; c < this.textSpans.length;) this.textSpans[c].span.style.display = "none", c += 1;
            this._sizeChanged = !0
        }, ZA.prototype.sourceRectAtTime = function() {
            if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {
                this._sizeChanged = !1;
                var c = this.layerElement.getBBox();
                this.bbox = {
                    top: c.y,
                    left: c.x,
                    width: c.width,
                    height: c.height
                }
            }
            return this.bbox
        }, ZA.prototype.getValue = function() {
            var c, h = this.textSpans.length,
                g;
            for (this.renderedFrame = this.comp.renderedFrame, c = 0; c < h; c += 1) g = this.textSpans[c].glyph, g && (g.prepareFrame(this.comp.renderedFrame - this.data.st), g._mdf && (this._mdf = !0))
        }, ZA.prototype.renderInnerContent = function() {
            if (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {
                this._sizeChanged = !0;
                var c, h, g = this.textAnimator.renderedLetters,
                    b = this.textProperty.currentData.l;
                h = b.length;
                var T, S, H;
                for (c = 0; c < h; c += 1) b[c].n || (T = g[c], S = this.textSpans[c].span, H = this.textSpans[c].glyph, H && H.renderFrame(), T._mdf.m && S.setAttribute("transform", T.m), T._mdf.o && S.setAttribute("opacity", T.o), T._mdf.sw && S.setAttribute("stroke-width", T.sw), T._mdf.sc && S.setAttribute("stroke", T.sc), T._mdf.fc && S.setAttribute("fill", T.fc))
            }
        };

        function Cd(c, h, g) {
            this.initElement(c, h, g)
        }
        f([Fl], Cd), Cd.prototype.createContent = function() {
            var c = Ue("rect");
            c.setAttribute("width", this.data.sw), c.setAttribute("height", this.data.sh), c.setAttribute("fill", this.data.sc), this.layerElement.appendChild(c)
        };

        function Vi(c, h, g) {
            this.initFrame(), this.initBaseData(c, h, g), this.initFrame(), this.initTransform(c, h, g), this.initHierarchy()
        }
        Vi.prototype.prepareFrame = function(c) {
            this.prepareProperties(c, !0)
        }, Vi.prototype.renderFrame = function() {}, Vi.prototype.getBaseElement = function() {
            return null
        }, Vi.prototype.destroy = function() {}, Vi.prototype.sourceRectAtTime = function() {}, Vi.prototype.hide = function() {}, f([Ni, Zo, ea, $i], Vi);

        function Ln() {}
        f([Xn], Ln), Ln.prototype.createNull = function(c) {
            return new Vi(c, this.globalData, this)
        }, Ln.prototype.createShape = function(c) {
            return new yn(c, this.globalData, this)
        }, Ln.prototype.createText = function(c) {
            return new ZA(c, this.globalData, this)
        }, Ln.prototype.createImage = function(c) {
            return new Fl(c, this.globalData, this)
        }, Ln.prototype.createSolid = function(c) {
            return new Cd(c, this.globalData, this)
        }, Ln.prototype.configAnimation = function(c) {
            this.svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.svgElement.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute("viewBox", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute("viewBox", "0 0 " + c.w + " " + c.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute("width", c.w), this.svgElement.setAttribute("height", c.h), this.svgElement.style.width = "100%", this.svgElement.style.height = "100%", this.svgElement.style.transform = "translate3d(0,0,0)", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.width && this.svgElement.setAttribute("width", this.renderConfig.width), this.renderConfig.height && this.svgElement.setAttribute("height", this.renderConfig.height), this.renderConfig.className && this.svgElement.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute("id", this.renderConfig.id), this.renderConfig.focusable !== void 0 && this.svgElement.setAttribute("focusable", this.renderConfig.focusable), this.svgElement.setAttribute("preserveAspectRatio", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);
            var h = this.globalData.defs;
            this.setupGlobalData(c, h), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = c;
            var g = Ue("clipPath"),
                b = Ue("rect");
            b.setAttribute("width", c.w), b.setAttribute("height", c.h), b.setAttribute("x", 0), b.setAttribute("y", 0);
            var T = W();
            g.setAttribute("id", T), g.appendChild(b), this.layerElement.setAttribute("clip-path", "url(" + l() + "#" + T + ")"), h.appendChild(g), this.layers = c.layers, this.elements = B(c.layers.length)
        }, Ln.prototype.destroy = function() {
            this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), this.layerElement = null, this.globalData.defs = null;
            var c, h = this.layers ? this.layers.length : 0;
            for (c = 0; c < h; c += 1) this.elements[c] && this.elements[c].destroy && this.elements[c].destroy();
            this.elements.length = 0, this.destroyed = !0, this.animationItem = null
        }, Ln.prototype.updateContainerSize = function() {}, Ln.prototype.findIndexByInd = function(c) {
            var h = 0,
                g = this.layers.length;
            for (h = 0; h < g; h += 1)
                if (this.layers[h].ind === c) return h;
            return -1
        }, Ln.prototype.buildItem = function(c) {
            var h = this.elements;
            if (!(h[c] || this.layers[c].ty === 99)) {
                h[c] = !0;
                var g = this.createItem(this.layers[c]);
                if (h[c] = g, te() && (this.layers[c].ty === 0 && this.globalData.projectInterface.registerComposition(g), g.initExpressions()), this.appendElementInPos(g, c), this.layers[c].tt) {
                    var b = "tp" in this.layers[c] ? this.findIndexByInd(this.layers[c].tp) : c - 1;
                    if (b === -1) return;
                    if (!this.elements[b] || this.elements[b] === !0) this.buildItem(b), this.addPendingElement(g);
                    else {
                        var T = h[b],
                            S = T.getMatte(this.layers[c].tt);
                        g.setMatte(S)
                    }
                }
            }
        }, Ln.prototype.checkPendingElements = function() {
            for (; this.pendingElements.length;) {
                var c = this.pendingElements.pop();
                if (c.checkParenting(), c.data.tt)
                    for (var h = 0, g = this.elements.length; h < g;) {
                        if (this.elements[h] === c) {
                            var b = "tp" in c.data ? this.findIndexByInd(c.data.tp) : h - 1,
                                T = this.elements[b],
                                S = T.getMatte(this.layers[h].tt);
                            c.setMatte(S);
                            break
                        }
                        h += 1
                    }
            }
        }, Ln.prototype.renderFrame = function(c) {
            if (!(this.renderedFrame === c || this.destroyed)) {
                c === null ? c = this.renderedFrame : this.renderedFrame = c, this.globalData.frameNum = c, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = c, this.globalData._mdf = !1;
                var h, g = this.layers.length;
                for (this.completeLayers || this.checkLayers(c), h = g - 1; h >= 0; h -= 1)(this.completeLayers || this.elements[h]) && this.elements[h].prepareFrame(c - this.layers[h].st);
                if (this.globalData._mdf)
                    for (h = 0; h < g; h += 1)(this.completeLayers || this.elements[h]) && this.elements[h].renderFrame()
            }
        }, Ln.prototype.appendElementInPos = function(c, h) {
            var g = c.getBaseElement();
            if (g) {
                for (var b = 0, T; b < h;) this.elements[b] && this.elements[b] !== !0 && this.elements[b].getBaseElement() && (T = this.elements[b].getBaseElement()), b += 1;
                T ? this.layerElement.insertBefore(g, T) : this.layerElement.appendChild(g)
            }
        }, Ln.prototype.hide = function() {
            this.layerElement.style.display = "none"
        }, Ln.prototype.show = function() {
            this.layerElement.style.display = "block"
        };

        function ei() {}
        f([Ni, Zo, ea, $i, _l], ei), ei.prototype.initElement = function(c, h, g) {
            this.initFrame(), this.initBaseData(c, h, g), this.initTransform(c, h, g), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), (this.data.xt || !h.progressiveLoad) && this.buildAllItems(), this.hide()
        }, ei.prototype.prepareFrame = function(c) {
            if (this._mdf = !1, this.prepareRenderableFrame(c), this.prepareProperties(c, this.isInRange), !(!this.isInRange && !this.data.xt)) {
                if (this.tm._placeholder) this.renderedFrame = c / this.data.sr;
                else {
                    var h = this.tm.v;
                    h === this.data.op && (h = this.data.op - 1), this.renderedFrame = h
                }
                var g, b = this.elements.length;
                for (this.completeLayers || this.checkLayers(this.renderedFrame), g = b - 1; g >= 0; g -= 1)(this.completeLayers || this.elements[g]) && (this.elements[g].prepareFrame(this.renderedFrame - this.layers[g].st), this.elements[g]._mdf && (this._mdf = !0))
            }
        }, ei.prototype.renderInnerContent = function() {
            var c, h = this.layers.length;
            for (c = 0; c < h; c += 1)(this.completeLayers || this.elements[c]) && this.elements[c].renderFrame()
        }, ei.prototype.setElements = function(c) {
            this.elements = c
        }, ei.prototype.getElements = function() {
            return this.elements
        }, ei.prototype.destroyElements = function() {
            var c, h = this.layers.length;
            for (c = 0; c < h; c += 1) this.elements[c] && this.elements[c].destroy()
        }, ei.prototype.destroy = function() {
            this.destroyElements(), this.destroyBaseElement()
        };

        function Tl(c, h, g) {
            this.layers = c.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? B(this.layers.length) : [], this.initElement(c, h, g), this.tm = c.tm ? je.getProp(this, c.tm, 0, h.frameRate, this) : {
                _placeholder: !0
            }
        }
        f([Ln, ei, xl], Tl), Tl.prototype.createComp = function(c) {
            return new Tl(c, this.globalData, this)
        };

        function Ed(c, h) {
            this.animationItem = c, this.layers = null, this.renderedFrame = -1, this.svgElement = Ue("svg");
            var g = "";
            if (h && h.title) {
                var b = Ue("title"),
                    T = W();
                b.setAttribute("id", T), b.textContent = h.title, this.svgElement.appendChild(b), g += T
            }
            if (h && h.description) {
                var S = Ue("desc"),
                    H = W();
                S.setAttribute("id", H), S.textContent = h.description, this.svgElement.appendChild(S), g += " " + H
            }
            g && this.svgElement.setAttribute("aria-labelledby", g);
            var j = Ue("defs");
            this.svgElement.appendChild(j);
            var M = Ue("g");
            this.svgElement.appendChild(M), this.layerElement = M, this.renderConfig = {
                preserveAspectRatio: h && h.preserveAspectRatio || "xMidYMid meet",
                imagePreserveAspectRatio: h && h.imagePreserveAspectRatio || "xMidYMid slice",
                contentVisibility: h && h.contentVisibility || "visible",
                progressiveLoad: h && h.progressiveLoad || !1,
                hideOnTransparent: !(h && h.hideOnTransparent === !1),
                viewBoxOnly: h && h.viewBoxOnly || !1,
                viewBoxSize: h && h.viewBoxSize || !1,
                className: h && h.className || "",
                id: h && h.id || "",
                focusable: h && h.focusable,
                filterSize: {
                    width: h && h.filterSize && h.filterSize.width || "100%",
                    height: h && h.filterSize && h.filterSize.height || "100%",
                    x: h && h.filterSize && h.filterSize.x || "0%",
                    y: h && h.filterSize && h.filterSize.y || "0%"
                },
                width: h && h.width,
                height: h && h.height,
                runExpressions: !h || h.runExpressions === void 0 || h.runExpressions
            }, this.globalData = {
                _mdf: !1,
                frameNum: -1,
                defs: j,
                renderConfig: this.renderConfig
            }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = "svg"
        }
        return f([Ln], Ed), Ed.prototype.createComp = function(c) {
            return new Tl(c, this.globalData, this)
        }, Ke("svg", Ed), Mi.registerModifier("tm", oA), Mi.registerModifier("pb", ml), Mi.registerModifier("rp", xA), Mi.registerModifier("rd", Bl), Mi.registerModifier("zz", yl), Mi.registerModifier("op", Cl), Kt
    })
})(z6, z6.exports);
var cJ = z6.exports;
const Doe = g1(cJ);

function _7(e) {
    return e !== null && typeof e == "object" && "constructor" in e && e.constructor === Object
}

function P5(e = {}, t = {}) {
    Object.keys(t).forEach(n => {
        typeof e[n] > "u" ? e[n] = t[n] : _7(t[n]) && _7(e[n]) && Object.keys(t[n]).length > 0 && P5(e[n], t[n])
    })
}
const ob = {
    body: {},
    addEventListener() {},
    removeEventListener() {},
    activeElement: {
        blur() {},
        nodeName: ""
    },
    querySelector() {
        return null
    },
    querySelectorAll() {
        return []
    },
    getElementById() {
        return null
    },
    createEvent() {
        return {
            initEvent() {}
        }
    },
    createElement() {
        return {
            children: [],
            childNodes: [],
            style: {},
            setAttribute() {},
            getElementsByTagName() {
                return []
            }
        }
    },
    createElementNS() {
        return {}
    },
    importNode() {
        return null
    },
    location: {
        hash: "",
        host: "",
        hostname: "",
        href: "",
        origin: "",
        pathname: "",
        protocol: "",
        search: ""
    }
};

function tr() {
    const e = typeof document < "u" ? document : {};
    return P5(e, ob), e
}
const fJ = {
    document: ob,
    navigator: {
        userAgent: ""
    },
    location: {
        hash: "",
        host: "",
        hostname: "",
        href: "",
        origin: "",
        pathname: "",
        protocol: "",
        search: ""
    },
    history: {
        replaceState() {},
        pushState() {},
        go() {},
        back() {}
    },
    CustomEvent: function() {
        return this
    },
    addEventListener() {},
    removeEventListener() {},
    getComputedStyle() {
        return {
            getPropertyValue() {
                return ""
            }
        }
    },
    Image() {},
    Date() {},
    screen: {},
    setTimeout() {},
    clearTimeout() {},
    matchMedia() {
        return {}
    },
    requestAnimationFrame(e) {
        return typeof setTimeout > "u" ? (e(), null) : setTimeout(e, 0)
    },
    cancelAnimationFrame(e) {
        typeof setTimeout > "u" || clearTimeout(e)
    }
};

function Vn() {
    const e = typeof window < "u" ? window : {};
    return P5(e, fJ), e
}

function dJ(e) {
    const t = e.__proto__;
    Object.defineProperty(e, "__proto__", {
        get() {
            return t
        },
        set(n) {
            t.__proto__ = n
        }
    })
}
class ps extends Array {
    constructor(t) {
        typeof t == "number" ? super(t) : (super(...t || []), dJ(this))
    }
}

function Tc(e = []) {
    const t = [];
    return e.forEach(n => {
        Array.isArray(n) ? t.push(...Tc(n)) : t.push(n)
    }), t
}

function ab(e, t) {
    return Array.prototype.filter.call(e, t)
}

function hJ(e) {
    const t = [];
    for (let n = 0; n < e.length; n += 1) t.indexOf(e[n]) === -1 && t.push(e[n]);
    return t
}

function pJ(e, t) {
    if (typeof e != "string") return [e];
    const n = [],
        r = t.querySelectorAll(e);
    for (let A = 0; A < r.length; A += 1) n.push(r[A]);
    return n
}

function st(e, t) {
    const n = Vn(),
        r = tr();
    let A = [];
    if (!t && e instanceof ps) return e;
    if (!e) return new ps(A);
    if (typeof e == "string") {
        const i = e.trim();
        if (i.indexOf("<") >= 0 && i.indexOf(">") >= 0) {
            let s = "div";
            i.indexOf("<li") === 0 && (s = "ul"), i.indexOf("<tr") === 0 && (s = "tbody"), (i.indexOf("<td") === 0 || i.indexOf("<th") === 0) && (s = "tr"), i.indexOf("<tbody") === 0 && (s = "table"), i.indexOf("<option") === 0 && (s = "select");
            const o = r.createElement(s);
            o.innerHTML = i;
            for (let a = 0; a < o.childNodes.length; a += 1) A.push(o.childNodes[a])
        } else A = pJ(e.trim(), t || r)
    } else if (e.nodeType || e === n || e === r) A.push(e);
    else if (Array.isArray(e)) {
        if (e instanceof ps) return e;
        A = e
    }
    return new ps(hJ(A))
}
st.fn = ps.prototype;

function gJ(...e) {
    const t = Tc(e.map(n => n.split(" ")));
    return this.forEach(n => {
        n.classList.add(...t)
    }), this
}

function vJ(...e) {
    const t = Tc(e.map(n => n.split(" ")));
    return this.forEach(n => {
        n.classList.remove(...t)
    }), this
}

function mJ(...e) {
    const t = Tc(e.map(n => n.split(" ")));
    this.forEach(n => {
        t.forEach(r => {
            n.classList.toggle(r)
        })
    })
}

function BJ(...e) {
    const t = Tc(e.map(n => n.split(" ")));
    return ab(this, n => t.filter(r => n.classList.contains(r)).length > 0).length > 0
}

function wJ(e, t) {
    if (arguments.length === 1 && typeof e == "string") return this[0] ? this[0].getAttribute(e) : void 0;
    for (let n = 0; n < this.length; n += 1)
        if (arguments.length === 2) this[n].setAttribute(e, t);
        else
            for (const r in e) this[n][r] = e[r], this[n].setAttribute(r, e[r]);
    return this
}

function yJ(e) {
    for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
    return this
}

function CJ(e) {
    for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
    return this
}

function EJ(e) {
    for (let t = 0; t < this.length; t += 1) this[t].style.transitionDuration = typeof e != "string" ? `${e}ms` : e;
    return this
}

function bJ(...e) {
    let [t, n, r, A] = e;
    typeof e[1] == "function" && ([t, r, A] = e, n = void 0), A || (A = !1);

    function i(l) {
        const u = l.target;
        if (!u) return;
        const f = l.target.dom7EventData || [];
        if (f.indexOf(l) < 0 && f.unshift(l), st(u).is(n)) r.apply(u, f);
        else {
            const d = st(u).parents();
            for (let p = 0; p < d.length; p += 1) st(d[p]).is(n) && r.apply(d[p], f)
        }
    }

    function s(l) {
        const u = l && l.target ? l.target.dom7EventData || [] : [];
        u.indexOf(l) < 0 && u.unshift(l), r.apply(this, u)
    }
    const o = t.split(" ");
    let a;
    for (let l = 0; l < this.length; l += 1) {
        const u = this[l];
        if (n)
            for (a = 0; a < o.length; a += 1) {
                const f = o[a];
                u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[f] || (u.dom7LiveListeners[f] = []), u.dom7LiveListeners[f].push({
                    listener: r,
                    proxyListener: i
                }), u.addEventListener(f, i, A)
            } else
                for (a = 0; a < o.length; a += 1) {
                    const f = o[a];
                    u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[f] = []), u.dom7Listeners[f].push({
                        listener: r,
                        proxyListener: s
                    }), u.addEventListener(f, s, A)
                }
    }
    return this
}

function xJ(...e) {
    let [t, n, r, A] = e;
    typeof e[1] == "function" && ([t, r, A] = e, n = void 0), A || (A = !1);
    const i = t.split(" ");
    for (let s = 0; s < i.length; s += 1) {
        const o = i[s];
        for (let a = 0; a < this.length; a += 1) {
            const l = this[a];
            let u;
            if (!n && l.dom7Listeners ? u = l.dom7Listeners[o] : n && l.dom7LiveListeners && (u = l.dom7LiveListeners[o]), u && u.length)
                for (let f = u.length - 1; f >= 0; f -= 1) {
                    const d = u[f];
                    r && d.listener === r || r && d.listener && d.listener.dom7proxy && d.listener.dom7proxy === r ? (l.removeEventListener(o, d.proxyListener, A), u.splice(f, 1)) : r || (l.removeEventListener(o, d.proxyListener, A), u.splice(f, 1))
                }
        }
    }
    return this
}

function _J(...e) {
    const t = Vn(),
        n = e[0].split(" "),
        r = e[1];
    for (let A = 0; A < n.length; A += 1) {
        const i = n[A];
        for (let s = 0; s < this.length; s += 1) {
            const o = this[s];
            if (t.CustomEvent) {
                const a = new t.CustomEvent(i, {
                    detail: r,
                    bubbles: !0,
                    cancelable: !0
                });
                o.dom7EventData = e.filter((l, u) => u > 0), o.dispatchEvent(a), o.dom7EventData = [], delete o.dom7EventData
            }
        }
    }
    return this
}

function FJ(e) {
    const t = this;

    function n(r) {
        r.target === this && (e.call(this, r), t.off("transitionend", n))
    }
    return e && t.on("transitionend", n), this
}

function SJ(e) {
    if (this.length > 0) {
        if (e) {
            const t = this.styles();
            return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
        }
        return this[0].offsetWidth
    }
    return null
}

function TJ(e) {
    if (this.length > 0) {
        if (e) {
            const t = this.styles();
            return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
        }
        return this[0].offsetHeight
    }
    return null
}

function IJ() {
    if (this.length > 0) {
        const e = Vn(),
            t = tr(),
            n = this[0],
            r = n.getBoundingClientRect(),
            A = t.body,
            i = n.clientTop || A.clientTop || 0,
            s = n.clientLeft || A.clientLeft || 0,
            o = n === e ? e.scrollY : n.scrollTop,
            a = n === e ? e.scrollX : n.scrollLeft;
        return {
            top: r.top + o - i,
            left: r.left + a - s
        }
    }
    return null
}

function QJ() {
    const e = Vn();
    return this[0] ? e.getComputedStyle(this[0], null) : {}
}

function UJ(e, t) {
    const n = Vn();
    let r;
    if (arguments.length === 1)
        if (typeof e == "string") {
            if (this[0]) return n.getComputedStyle(this[0], null).getPropertyValue(e)
        } else {
            for (r = 0; r < this.length; r += 1)
                for (const A in e) this[r].style[A] = e[A];
            return this
        }
    if (arguments.length === 2 && typeof e == "string") {
        for (r = 0; r < this.length; r += 1) this[r].style[e] = t;
        return this
    }
    return this
}

function PJ(e) {
    return e ? (this.forEach((t, n) => {
        e.apply(t, [t, n])
    }), this) : this
}

function OJ(e) {
    const t = ab(this, e);
    return st(t)
}

function DJ(e) {
    if (typeof e > "u") return this[0] ? this[0].innerHTML : null;
    for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
    return this
}

function LJ(e) {
    if (typeof e > "u") return this[0] ? this[0].textContent.trim() : null;
    for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
    return this
}

function kJ(e) {
    const t = Vn(),
        n = tr(),
        r = this[0];
    let A, i;
    if (!r || typeof e > "u") return !1;
    if (typeof e == "string") {
        if (r.matches) return r.matches(e);
        if (r.webkitMatchesSelector) return r.webkitMatchesSelector(e);
        if (r.msMatchesSelector) return r.msMatchesSelector(e);
        for (A = st(e), i = 0; i < A.length; i += 1)
            if (A[i] === r) return !0;
        return !1
    }
    if (e === n) return r === n;
    if (e === t) return r === t;
    if (e.nodeType || e instanceof ps) {
        for (A = e.nodeType ? [e] : e, i = 0; i < A.length; i += 1)
            if (A[i] === r) return !0;
        return !1
    }
    return !1
}

function HJ() {
    let e = this[0],
        t;
    if (e) {
        for (t = 0;
            (e = e.previousSibling) !== null;) e.nodeType === 1 && (t += 1);
        return t
    }
}

function MJ(e) {
    if (typeof e > "u") return this;
    const t = this.length;
    if (e > t - 1) return st([]);
    if (e < 0) {
        const n = t + e;
        return n < 0 ? st([]) : st([this[n]])
    }
    return st([this[e]])
}

function RJ(...e) {
    let t;
    const n = tr();
    for (let r = 0; r < e.length; r += 1) {
        t = e[r];
        for (let A = 0; A < this.length; A += 1)
            if (typeof t == "string") {
                const i = n.createElement("div");
                for (i.innerHTML = t; i.firstChild;) this[A].appendChild(i.firstChild)
            } else if (t instanceof ps)
            for (let i = 0; i < t.length; i += 1) this[A].appendChild(t[i]);
        else this[A].appendChild(t)
    }
    return this
}

function NJ(e) {
    const t = tr();
    let n, r;
    for (n = 0; n < this.length; n += 1)
        if (typeof e == "string") {
            const A = t.createElement("div");
            for (A.innerHTML = e, r = A.childNodes.length - 1; r >= 0; r -= 1) this[n].insertBefore(A.childNodes[r], this[n].childNodes[0])
        } else if (e instanceof ps)
        for (r = 0; r < e.length; r += 1) this[n].insertBefore(e[r], this[n].childNodes[0]);
    else this[n].insertBefore(e, this[n].childNodes[0]);
    return this
}

function $J(e) {
    return this.length > 0 ? e ? this[0].nextElementSibling && st(this[0].nextElementSibling).is(e) ? st([this[0].nextElementSibling]) : st([]) : this[0].nextElementSibling ? st([this[0].nextElementSibling]) : st([]) : st([])
}

function KJ(e) {
    const t = [];
    let n = this[0];
    if (!n) return st([]);
    for (; n.nextElementSibling;) {
        const r = n.nextElementSibling;
        e ? st(r).is(e) && t.push(r) : t.push(r), n = r
    }
    return st(t)
}

function VJ(e) {
    if (this.length > 0) {
        const t = this[0];
        return e ? t.previousElementSibling && st(t.previousElementSibling).is(e) ? st([t.previousElementSibling]) : st([]) : t.previousElementSibling ? st([t.previousElementSibling]) : st([])
    }
    return st([])
}

function GJ(e) {
    const t = [];
    let n = this[0];
    if (!n) return st([]);
    for (; n.previousElementSibling;) {
        const r = n.previousElementSibling;
        e ? st(r).is(e) && t.push(r) : t.push(r), n = r
    }
    return st(t)
}

function jJ(e) {
    const t = [];
    for (let n = 0; n < this.length; n += 1) this[n].parentNode !== null && (e ? st(this[n].parentNode).is(e) && t.push(this[n].parentNode) : t.push(this[n].parentNode));
    return st(t)
}

function WJ(e) {
    const t = [];
    for (let n = 0; n < this.length; n += 1) {
        let r = this[n].parentNode;
        for (; r;) e ? st(r).is(e) && t.push(r) : t.push(r), r = r.parentNode
    }
    return st(t)
}

function zJ(e) {
    let t = this;
    return typeof e > "u" ? st([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
}

function YJ(e) {
    const t = [];
    for (let n = 0; n < this.length; n += 1) {
        const r = this[n].querySelectorAll(e);
        for (let A = 0; A < r.length; A += 1) t.push(r[A])
    }
    return st(t)
}

function XJ(e) {
    const t = [];
    for (let n = 0; n < this.length; n += 1) {
        const r = this[n].children;
        for (let A = 0; A < r.length; A += 1)(!e || st(r[A]).is(e)) && t.push(r[A])
    }
    return st(t)
}

function JJ() {
    for (let e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
    return this
}
const F7 = {
    addClass: gJ,
    removeClass: vJ,
    hasClass: BJ,
    toggleClass: mJ,
    attr: wJ,
    removeAttr: yJ,
    transform: CJ,
    transition: EJ,
    on: bJ,
    off: xJ,
    trigger: _J,
    transitionEnd: FJ,
    outerWidth: SJ,
    outerHeight: TJ,
    styles: QJ,
    offset: IJ,
    css: UJ,
    each: PJ,
    html: DJ,
    text: LJ,
    is: kJ,
    index: HJ,
    eq: MJ,
    append: RJ,
    prepend: NJ,
    next: $J,
    nextAll: KJ,
    prev: VJ,
    prevAll: GJ,
    parent: jJ,
    parents: WJ,
    closest: zJ,
    find: YJ,
    children: XJ,
    filter: OJ,
    remove: JJ
};
Object.keys(F7).forEach(e => {
    Object.defineProperty(st.fn, e, {
        value: F7[e],
        writable: !0
    })
});

function qJ(e) {
    const t = e;
    Object.keys(t).forEach(n => {
        try {
            t[n] = null
        } catch {}
        try {
            delete t[n]
        } catch {}
    })
}

function If(e, t = 0) {
    return setTimeout(e, t)
}

function Ju() {
    return Date.now()
}

function ZJ(e) {
    const t = Vn();
    let n;
    return t.getComputedStyle && (n = t.getComputedStyle(e, null)), !n && e.currentStyle && (n = e.currentStyle), n || (n = e.style), n
}

function eq(e, t = "x") {
    const n = Vn();
    let r, A, i;
    const s = ZJ(e);
    return n.WebKitCSSMatrix ? (A = s.transform || s.webkitTransform, A.split(",").length > 6 && (A = A.split(", ").map(o => o.replace(",", ".")).join(", ")), i = new n.WebKitCSSMatrix(A === "none" ? "" : A)) : (i = s.MozTransform || s.OTransform || s.MsTransform || s.msTransform || s.transform || s.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), r = i.toString().split(",")), t === "x" && (n.WebKitCSSMatrix ? A = i.m41 : r.length === 16 ? A = parseFloat(r[12]) : A = parseFloat(r[4])), t === "y" && (n.WebKitCSSMatrix ? A = i.m42 : r.length === 16 ? A = parseFloat(r[13]) : A = parseFloat(r[5])), A || 0
}

function p0(e) {
    return typeof e == "object" && e !== null && e.constructor && Object.prototype.toString.call(e).slice(8, -1) === "Object"
}

function tq(e) {
    return typeof window < "u" && typeof window.HTMLElement < "u" ? e instanceof HTMLElement : e && (e.nodeType === 1 || e.nodeType === 11)
}

function Dr(...e) {
    const t = Object(e[0]),
        n = ["__proto__", "constructor", "prototype"];
    for (let r = 1; r < e.length; r += 1) {
        const A = e[r];
        if (A != null && !tq(A)) {
            const i = Object.keys(Object(A)).filter(s => n.indexOf(s) < 0);
            for (let s = 0, o = i.length; s < o; s += 1) {
                const a = i[s],
                    l = Object.getOwnPropertyDescriptor(A, a);
                l !== void 0 && l.enumerable && (p0(t[a]) && p0(A[a]) ? A[a].__swiper__ ? t[a] = A[a] : Dr(t[a], A[a]) : !p0(t[a]) && p0(A[a]) ? (t[a] = {}, A[a].__swiper__ ? t[a] = A[a] : Dr(t[a], A[a])) : t[a] = A[a])
            }
        }
    }
    return t
}

function g0(e, t, n) {
    e.style.setProperty(t, n)
}

function lb({
    swiper: e,
    targetPosition: t,
    side: n
}) {
    const r = Vn(),
        A = -e.translate;
    let i = null,
        s;
    const o = e.params.speed;
    e.wrapperEl.style.scrollSnapType = "none", r.cancelAnimationFrame(e.cssModeFrameID);
    const a = t > A ? "next" : "prev",
        l = (f, d) => a === "next" && f >= d || a === "prev" && f <= d,
        u = () => {
            s = new Date().getTime(), i === null && (i = s);
            const f = Math.max(Math.min((s - i) / o, 1), 0),
                d = .5 - Math.cos(f * Math.PI) / 2;
            let p = A + d * (t - A);
            if (l(p, t) && (p = t), e.wrapperEl.scrollTo({
                    [n]: p
                }), l(p, t)) {
                e.wrapperEl.style.overflow = "hidden", e.wrapperEl.style.scrollSnapType = "", setTimeout(() => {
                    e.wrapperEl.style.overflow = "", e.wrapperEl.scrollTo({
                        [n]: p
                    })
                }), r.cancelAnimationFrame(e.cssModeFrameID);
                return
            }
            e.cssModeFrameID = r.requestAnimationFrame(u)
        };
    u()
}
let Wh;

function nq() {
    const e = Vn(),
        t = tr();
    return {
        smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style,
        touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch),
        passiveListener: function() {
            let r = !1;
            try {
                const A = Object.defineProperty({}, "passive", {
                    get() {
                        r = !0
                    }
                });
                e.addEventListener("testPassiveListener", null, A)
            } catch {}
            return r
        }(),
        gestures: function() {
            return "ongesturestart" in e
        }()
    }
}

function ub() {
    return Wh || (Wh = nq()), Wh
}
let zh;

function rq({
    userAgent: e
} = {}) {
    const t = ub(),
        n = Vn(),
        r = n.navigator.platform,
        A = e || n.navigator.userAgent,
        i = {
            ios: !1,
            android: !1
        },
        s = n.screen.width,
        o = n.screen.height,
        a = A.match(/(Android);?[\s\/]+([\d.]+)?/);
    let l = A.match(/(iPad).*OS\s([\d_]+)/);
    const u = A.match(/(iPod)(.*OS\s([\d_]+))?/),
        f = !l && A.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
        d = r === "Win32";
    let p = r === "MacIntel";
    const v = ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"];
    return !l && p && t.touch && v.indexOf(`${s}x${o}`) >= 0 && (l = A.match(/(Version)\/([\d.]+)/), l || (l = [0, 1, "13_0_0"]), p = !1), a && !d && (i.os = "android", i.android = !0), (l || f || u) && (i.os = "ios", i.ios = !0), i
}

function Aq(e = {}) {
    return zh || (zh = rq(e)), zh
}
let Yh;

function iq() {
    const e = Vn();

    function t() {
        const n = e.navigator.userAgent.toLowerCase();
        return n.indexOf("safari") >= 0 && n.indexOf("chrome") < 0 && n.indexOf("android") < 0
    }
    return {
        isSafari: t(),
        isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)
    }
}

function sq() {
    return Yh || (Yh = iq()), Yh
}

function oq({
    swiper: e,
    on: t,
    emit: n
}) {
    const r = Vn();
    let A = null,
        i = null;
    const s = () => {
            !e || e.destroyed || !e.initialized || (n("beforeResize"), n("resize"))
        },
        o = () => {
            !e || e.destroyed || !e.initialized || (A = new ResizeObserver(u => {
                i = r.requestAnimationFrame(() => {
                    const {
                        width: f,
                        height: d
                    } = e;
                    let p = f,
                        v = d;
                    u.forEach(({
                        contentBoxSize: B,
                        contentRect: C,
                        target: w
                    }) => {
                        w && w !== e.el || (p = C ? C.width : (B[0] || B).inlineSize, v = C ? C.height : (B[0] || B).blockSize)
                    }), (p !== f || v !== d) && s()
                })
            }), A.observe(e.el))
        },
        a = () => {
            i && r.cancelAnimationFrame(i), A && A.unobserve && e.el && (A.unobserve(e.el), A = null)
        },
        l = () => {
            !e || e.destroyed || !e.initialized || n("orientationchange")
        };
    t("init", () => {
        if (e.params.resizeObserver && typeof r.ResizeObserver < "u") {
            o();
            return
        }
        r.addEventListener("resize", s), r.addEventListener("orientationchange", l)
    }), t("destroy", () => {
        a(), r.removeEventListener("resize", s), r.removeEventListener("orientationchange", l)
    })
}

function aq({
    swiper: e,
    extendParams: t,
    on: n,
    emit: r
}) {
    const A = [],
        i = Vn(),
        s = (l, u = {}) => {
            const f = i.MutationObserver || i.WebkitMutationObserver,
                d = new f(p => {
                    if (p.length === 1) {
                        r("observerUpdate", p[0]);
                        return
                    }
                    const v = function() {
                        r("observerUpdate", p[0])
                    };
                    i.requestAnimationFrame ? i.requestAnimationFrame(v) : i.setTimeout(v, 0)
                });
            d.observe(l, {
                attributes: typeof u.attributes > "u" ? !0 : u.attributes,
                childList: typeof u.childList > "u" ? !0 : u.childList,
                characterData: typeof u.characterData > "u" ? !0 : u.characterData
            }), A.push(d)
        },
        o = () => {
            if (e.params.observer) {
                if (e.params.observeParents) {
                    const l = e.$el.parents();
                    for (let u = 0; u < l.length; u += 1) s(l[u])
                }
                s(e.$el[0], {
                    childList: e.params.observeSlideChildren
                }), s(e.$wrapperEl[0], {
                    attributes: !1
                })
            }
        },
        a = () => {
            A.forEach(l => {
                l.disconnect()
            }), A.splice(0, A.length)
        };
    t({
        observer: !1,
        observeParents: !1,
        observeSlideChildren: !1
    }), n("init", o), n("destroy", a)
}
const lq = {
    on(e, t, n) {
        const r = this;
        if (!r.eventsListeners || r.destroyed || typeof t != "function") return r;
        const A = n ? "unshift" : "push";
        return e.split(" ").forEach(i => {
            r.eventsListeners[i] || (r.eventsListeners[i] = []), r.eventsListeners[i][A](t)
        }), r
    },
    once(e, t, n) {
        const r = this;
        if (!r.eventsListeners || r.destroyed || typeof t != "function") return r;

        function A(...i) {
            r.off(e, A), A.__emitterProxy && delete A.__emitterProxy, t.apply(r, i)
        }
        return A.__emitterProxy = t, r.on(e, A, n)
    },
    onAny(e, t) {
        const n = this;
        if (!n.eventsListeners || n.destroyed || typeof e != "function") return n;
        const r = t ? "unshift" : "push";
        return n.eventsAnyListeners.indexOf(e) < 0 && n.eventsAnyListeners[r](e), n
    },
    offAny(e) {
        const t = this;
        if (!t.eventsListeners || t.destroyed || !t.eventsAnyListeners) return t;
        const n = t.eventsAnyListeners.indexOf(e);
        return n >= 0 && t.eventsAnyListeners.splice(n, 1), t
    },
    off(e, t) {
        const n = this;
        return !n.eventsListeners || n.destroyed || !n.eventsListeners || e.split(" ").forEach(r => {
            typeof t > "u" ? n.eventsListeners[r] = [] : n.eventsListeners[r] && n.eventsListeners[r].forEach((A, i) => {
                (A === t || A.__emitterProxy && A.__emitterProxy === t) && n.eventsListeners[r].splice(i, 1)
            })
        }), n
    },
    emit(...e) {
        const t = this;
        if (!t.eventsListeners || t.destroyed || !t.eventsListeners) return t;
        let n, r, A;
        return typeof e[0] == "string" || Array.isArray(e[0]) ? (n = e[0], r = e.slice(1, e.length), A = t) : (n = e[0].events, r = e[0].data, A = e[0].context || t), r.unshift(A), (Array.isArray(n) ? n : n.split(" ")).forEach(s => {
            t.eventsAnyListeners && t.eventsAnyListeners.length && t.eventsAnyListeners.forEach(o => {
                o.apply(A, [s, ...r])
            }), t.eventsListeners && t.eventsListeners[s] && t.eventsListeners[s].forEach(o => {
                o.apply(A, r)
            })
        }), t
    }
};

function uq() {
    const e = this;
    let t, n;
    const r = e.$el;
    typeof e.params.width < "u" && e.params.width !== null ? t = e.params.width : t = r[0].clientWidth, typeof e.params.height < "u" && e.params.height !== null ? n = e.params.height : n = r[0].clientHeight, !(t === 0 && e.isHorizontal() || n === 0 && e.isVertical()) && (t = t - parseInt(r.css("padding-left") || 0, 10) - parseInt(r.css("padding-right") || 0, 10), n = n - parseInt(r.css("padding-top") || 0, 10) - parseInt(r.css("padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(n) && (n = 0), Object.assign(e, {
        width: t,
        height: n,
        size: e.isHorizontal() ? t : n
    }))
}

function cq() {
    const e = this;

    function t(I) {
        return e.isHorizontal() ? I : {
            width: "height",
            "margin-top": "margin-left",
            "margin-bottom ": "margin-right",
            "margin-left": "margin-top",
            "margin-right": "margin-bottom",
            "padding-left": "padding-top",
            "padding-right": "padding-bottom",
            marginRight: "marginBottom"
        }[I]
    }

    function n(I, _) {
        return parseFloat(I.getPropertyValue(t(_)) || 0)
    }
    const r = e.params,
        {
            $wrapperEl: A,
            size: i,
            rtlTranslate: s,
            wrongRTL: o
        } = e,
        a = e.virtual && r.virtual.enabled,
        l = a ? e.virtual.slides.length : e.slides.length,
        u = A.children(`.${e.params.slideClass}`),
        f = a ? e.virtual.slides.length : u.length;
    let d = [];
    const p = [],
        v = [];
    let B = r.slidesOffsetBefore;
    typeof B == "function" && (B = r.slidesOffsetBefore.call(e));
    let C = r.slidesOffsetAfter;
    typeof C == "function" && (C = r.slidesOffsetAfter.call(e));
    const w = e.snapGrid.length,
        m = e.slidesGrid.length;
    let E = r.spaceBetween,
        y = -B,
        x = 0,
        F = 0;
    if (typeof i > "u") return;
    typeof E == "string" && E.indexOf("%") >= 0 && (E = parseFloat(E.replace("%", "")) / 100 * i), e.virtualSize = -E, s ? u.css({
        marginLeft: "",
        marginBottom: "",
        marginTop: ""
    }) : u.css({
        marginRight: "",
        marginBottom: "",
        marginTop: ""
    }), r.centeredSlides && r.cssMode && (g0(e.wrapperEl, "--swiper-centered-offset-before", ""), g0(e.wrapperEl, "--swiper-centered-offset-after", ""));
    const Q = r.grid && r.grid.rows > 1 && e.grid;
    Q && e.grid.initSlides(f);
    let P;
    const L = r.slidesPerView === "auto" && r.breakpoints && Object.keys(r.breakpoints).filter(I => typeof r.breakpoints[I].slidesPerView < "u").length > 0;
    for (let I = 0; I < f; I += 1) {
        P = 0;
        const _ = u.eq(I);
        if (Q && e.grid.updateSlide(I, _, f, t), _.css("display") !== "none") {
            if (r.slidesPerView === "auto") {
                L && (u[I].style[t("width")] = "");
                const D = getComputedStyle(_[0]),
                    N = _[0].style.transform,
                    X = _[0].style.webkitTransform;
                if (N && (_[0].style.transform = "none"), X && (_[0].style.webkitTransform = "none"), r.roundLengths) P = e.isHorizontal() ? _.outerWidth(!0) : _.outerHeight(!0);
                else {
                    const se = n(D, "width"),
                        Z = n(D, "padding-left"),
                        ce = n(D, "padding-right"),
                        W = n(D, "margin-left"),
                        he = n(D, "margin-right"),
                        Se = D.getPropertyValue("box-sizing");
                    if (Se && Se === "border-box") P = se + W + he;
                    else {
                        const {
                            clientWidth: V,
                            offsetWidth: ie
                        } = _[0];
                        P = se + Z + ce + W + he + (ie - V)
                    }
                }
                N && (_[0].style.transform = N), X && (_[0].style.webkitTransform = X), r.roundLengths && (P = Math.floor(P))
            } else P = (i - (r.slidesPerView - 1) * E) / r.slidesPerView, r.roundLengths && (P = Math.floor(P)), u[I] && (u[I].style[t("width")] = `${P}px`);
            u[I] && (u[I].swiperSlideSize = P), v.push(P), r.centeredSlides ? (y = y + P / 2 + x / 2 + E, x === 0 && I !== 0 && (y = y - i / 2 - E), I === 0 && (y = y - i / 2 - E), Math.abs(y) < 1 / 1e3 && (y = 0), r.roundLengths && (y = Math.floor(y)), F % r.slidesPerGroup === 0 && d.push(y), p.push(y)) : (r.roundLengths && (y = Math.floor(y)), (F - Math.min(e.params.slidesPerGroupSkip, F)) % e.params.slidesPerGroup === 0 && d.push(y), p.push(y), y = y + P + E), e.virtualSize += P + E, x = P, F += 1
        }
    }
    if (e.virtualSize = Math.max(e.virtualSize, i) + C, s && o && (r.effect === "slide" || r.effect === "coverflow") && A.css({
            width: `${e.virtualSize+r.spaceBetween}px`
        }), r.setWrapperSize && A.css({
            [t("width")]: `${e.virtualSize+r.spaceBetween}px`
        }), Q && e.grid.updateWrapperSize(P, d, t), !r.centeredSlides) {
        const I = [];
        for (let _ = 0; _ < d.length; _ += 1) {
            let D = d[_];
            r.roundLengths && (D = Math.floor(D)), d[_] <= e.virtualSize - i && I.push(D)
        }
        d = I, Math.floor(e.virtualSize - i) - Math.floor(d[d.length - 1]) > 1 && d.push(e.virtualSize - i)
    }
    if (d.length === 0 && (d = [0]), r.spaceBetween !== 0) {
        const I = e.isHorizontal() && s ? "marginLeft" : t("marginRight");
        u.filter((_, D) => r.cssMode ? D !== u.length - 1 : !0).css({
            [I]: `${E}px`
        })
    }
    if (r.centeredSlides && r.centeredSlidesBounds) {
        let I = 0;
        v.forEach(D => {
            I += D + (r.spaceBetween ? r.spaceBetween : 0)
        }), I -= r.spaceBetween;
        const _ = I - i;
        d = d.map(D => D < 0 ? -B : D > _ ? _ + C : D)
    }
    if (r.centerInsufficientSlides) {
        let I = 0;
        if (v.forEach(_ => {
                I += _ + (r.spaceBetween ? r.spaceBetween : 0)
            }), I -= r.spaceBetween, I < i) {
            const _ = (i - I) / 2;
            d.forEach((D, N) => {
                d[N] = D - _
            }), p.forEach((D, N) => {
                p[N] = D + _
            })
        }
    }
    if (Object.assign(e, {
            slides: u,
            snapGrid: d,
            slidesGrid: p,
            slidesSizesGrid: v
        }), r.centeredSlides && r.cssMode && !r.centeredSlidesBounds) {
        g0(e.wrapperEl, "--swiper-centered-offset-before", `${-d[0]}px`), g0(e.wrapperEl, "--swiper-centered-offset-after", `${e.size/2-v[v.length-1]/2}px`);
        const I = -e.snapGrid[0],
            _ = -e.slidesGrid[0];
        e.snapGrid = e.snapGrid.map(D => D + I), e.slidesGrid = e.slidesGrid.map(D => D + _)
    }
    if (f !== l && e.emit("slidesLengthChange"), d.length !== w && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), p.length !== m && e.emit("slidesGridLengthChange"), r.watchSlidesProgress && e.updateSlidesOffset(), !a && !r.cssMode && (r.effect === "slide" || r.effect === "fade")) {
        const I = `${r.containerModifierClass}backface-hidden`,
            _ = e.$el.hasClass(I);
        f <= r.maxBackfaceHiddenSlides ? _ || e.$el.addClass(I) : _ && e.$el.removeClass(I)
    }
}

function fq(e) {
    const t = this,
        n = [],
        r = t.virtual && t.params.virtual.enabled;
    let A = 0,
        i;
    typeof e == "number" ? t.setTransition(e) : e === !0 && t.setTransition(t.params.speed);
    const s = o => r ? t.slides.filter(a => parseInt(a.getAttribute("data-swiper-slide-index"), 10) === o)[0] : t.slides.eq(o)[0];
    if (t.params.slidesPerView !== "auto" && t.params.slidesPerView > 1)
        if (t.params.centeredSlides)(t.visibleSlides || st([])).each(o => {
            n.push(o)
        });
        else
            for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
                const o = t.activeIndex + i;
                if (o > t.slides.length && !r) break;
                n.push(s(o))
            } else n.push(s(t.activeIndex));
    for (i = 0; i < n.length; i += 1)
        if (typeof n[i] < "u") {
            const o = n[i].offsetHeight;
            A = o > A ? o : A
        }(A || A === 0) && t.$wrapperEl.css("height", `${A}px`)
}

function dq() {
    const e = this,
        t = e.slides;
    for (let n = 0; n < t.length; n += 1) t[n].swiperSlideOffset = e.isHorizontal() ? t[n].offsetLeft : t[n].offsetTop
}

function hq(e = this && this.translate || 0) {
    const t = this,
        n = t.params,
        {
            slides: r,
            rtlTranslate: A,
            snapGrid: i
        } = t;
    if (r.length === 0) return;
    typeof r[0].swiperSlideOffset > "u" && t.updateSlidesOffset();
    let s = -e;
    A && (s = e), r.removeClass(n.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = [];
    for (let o = 0; o < r.length; o += 1) {
        const a = r[o];
        let l = a.swiperSlideOffset;
        n.cssMode && n.centeredSlides && (l -= r[0].swiperSlideOffset);
        const u = (s + (n.centeredSlides ? t.minTranslate() : 0) - l) / (a.swiperSlideSize + n.spaceBetween),
            f = (s - i[0] + (n.centeredSlides ? t.minTranslate() : 0) - l) / (a.swiperSlideSize + n.spaceBetween),
            d = -(s - l),
            p = d + t.slidesSizesGrid[o];
        (d >= 0 && d < t.size - 1 || p > 1 && p <= t.size || d <= 0 && p >= t.size) && (t.visibleSlides.push(a), t.visibleSlidesIndexes.push(o), r.eq(o).addClass(n.slideVisibleClass)), a.progress = A ? -u : u, a.originalProgress = A ? -f : f
    }
    t.visibleSlides = st(t.visibleSlides)
}

function pq(e) {
    const t = this;
    if (typeof e > "u") {
        const l = t.rtlTranslate ? -1 : 1;
        e = t && t.translate && t.translate * l || 0
    }
    const n = t.params,
        r = t.maxTranslate() - t.minTranslate();
    let {
        progress: A,
        isBeginning: i,
        isEnd: s
    } = t;
    const o = i,
        a = s;
    r === 0 ? (A = 0, i = !0, s = !0) : (A = (e - t.minTranslate()) / r, i = A <= 0, s = A >= 1), Object.assign(t, {
        progress: A,
        isBeginning: i,
        isEnd: s
    }), (n.watchSlidesProgress || n.centeredSlides && n.autoHeight) && t.updateSlidesProgress(e), i && !o && t.emit("reachBeginning toEdge"), s && !a && t.emit("reachEnd toEdge"), (o && !i || a && !s) && t.emit("fromEdge"), t.emit("progress", A)
}

function gq() {
    const e = this,
        {
            slides: t,
            params: n,
            $wrapperEl: r,
            activeIndex: A,
            realIndex: i
        } = e,
        s = e.virtual && n.virtual.enabled;
    t.removeClass(`${n.slideActiveClass} ${n.slideNextClass} ${n.slidePrevClass} ${n.slideDuplicateActiveClass} ${n.slideDuplicateNextClass} ${n.slideDuplicatePrevClass}`);
    let o;
    s ? o = e.$wrapperEl.find(`.${n.slideClass}[data-swiper-slide-index="${A}"]`) : o = t.eq(A), o.addClass(n.slideActiveClass), n.loop && (o.hasClass(n.slideDuplicateClass) ? r.children(`.${n.slideClass}:not(.${n.slideDuplicateClass})[data-swiper-slide-index="${i}"]`).addClass(n.slideDuplicateActiveClass) : r.children(`.${n.slideClass}.${n.slideDuplicateClass}[data-swiper-slide-index="${i}"]`).addClass(n.slideDuplicateActiveClass));
    let a = o.nextAll(`.${n.slideClass}`).eq(0).addClass(n.slideNextClass);
    n.loop && a.length === 0 && (a = t.eq(0), a.addClass(n.slideNextClass));
    let l = o.prevAll(`.${n.slideClass}`).eq(0).addClass(n.slidePrevClass);
    n.loop && l.length === 0 && (l = t.eq(-1), l.addClass(n.slidePrevClass)), n.loop && (a.hasClass(n.slideDuplicateClass) ? r.children(`.${n.slideClass}:not(.${n.slideDuplicateClass})[data-swiper-slide-index="${a.attr("data-swiper-slide-index")}"]`).addClass(n.slideDuplicateNextClass) : r.children(`.${n.slideClass}.${n.slideDuplicateClass}[data-swiper-slide-index="${a.attr("data-swiper-slide-index")}"]`).addClass(n.slideDuplicateNextClass), l.hasClass(n.slideDuplicateClass) ? r.children(`.${n.slideClass}:not(.${n.slideDuplicateClass})[data-swiper-slide-index="${l.attr("data-swiper-slide-index")}"]`).addClass(n.slideDuplicatePrevClass) : r.children(`.${n.slideClass}.${n.slideDuplicateClass}[data-swiper-slide-index="${l.attr("data-swiper-slide-index")}"]`).addClass(n.slideDuplicatePrevClass)), e.emitSlidesClasses()
}

function vq(e) {
    const t = this,
        n = t.rtlTranslate ? t.translate : -t.translate,
        {
            slidesGrid: r,
            snapGrid: A,
            params: i,
            activeIndex: s,
            realIndex: o,
            snapIndex: a
        } = t;
    let l = e,
        u;
    if (typeof l > "u") {
        for (let d = 0; d < r.length; d += 1) typeof r[d + 1] < "u" ? n >= r[d] && n < r[d + 1] - (r[d + 1] - r[d]) / 2 ? l = d : n >= r[d] && n < r[d + 1] && (l = d + 1) : n >= r[d] && (l = d);
        i.normalizeSlideIndex && (l < 0 || typeof l > "u") && (l = 0)
    }
    if (A.indexOf(n) >= 0) u = A.indexOf(n);
    else {
        const d = Math.min(i.slidesPerGroupSkip, l);
        u = d + Math.floor((l - d) / i.slidesPerGroup)
    }
    if (u >= A.length && (u = A.length - 1), l === s) {
        u !== a && (t.snapIndex = u, t.emit("snapIndexChange"));
        return
    }
    const f = parseInt(t.slides.eq(l).attr("data-swiper-slide-index") || l, 10);
    Object.assign(t, {
        snapIndex: u,
        realIndex: f,
        previousIndex: s,
        activeIndex: l
    }), t.emit("activeIndexChange"), t.emit("snapIndexChange"), o !== f && t.emit("realIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange")
}

function mq(e) {
    const t = this,
        n = t.params,
        r = st(e).closest(`.${n.slideClass}`)[0];
    let A = !1,
        i;
    if (r) {
        for (let s = 0; s < t.slides.length; s += 1)
            if (t.slides[s] === r) {
                A = !0, i = s;
                break
            }
    }
    if (r && A) t.clickedSlide = r, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(st(r).attr("data-swiper-slide-index"), 10) : t.clickedIndex = i;
    else {
        t.clickedSlide = void 0, t.clickedIndex = void 0;
        return
    }
    n.slideToClickedSlide && t.clickedIndex !== void 0 && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide()
}
const Bq = {
    updateSize: uq,
    updateSlides: cq,
    updateAutoHeight: fq,
    updateSlidesOffset: dq,
    updateSlidesProgress: hq,
    updateProgress: pq,
    updateSlidesClasses: gq,
    updateActiveIndex: vq,
    updateClickedSlide: mq
};

function wq(e = this.isHorizontal() ? "x" : "y") {
    const t = this,
        {
            params: n,
            rtlTranslate: r,
            translate: A,
            $wrapperEl: i
        } = t;
    if (n.virtualTranslate) return r ? -A : A;
    if (n.cssMode) return A;
    let s = eq(i[0], e);
    return r && (s = -s), s || 0
}

function yq(e, t) {
    const n = this,
        {
            rtlTranslate: r,
            params: A,
            $wrapperEl: i,
            wrapperEl: s,
            progress: o
        } = n;
    let a = 0,
        l = 0;
    const u = 0;
    n.isHorizontal() ? a = r ? -e : e : l = e, A.roundLengths && (a = Math.floor(a), l = Math.floor(l)), A.cssMode ? s[n.isHorizontal() ? "scrollLeft" : "scrollTop"] = n.isHorizontal() ? -a : -l : A.virtualTranslate || i.transform(`translate3d(${a}px, ${l}px, ${u}px)`), n.previousTranslate = n.translate, n.translate = n.isHorizontal() ? a : l;
    let f;
    const d = n.maxTranslate() - n.minTranslate();
    d === 0 ? f = 0 : f = (e - n.minTranslate()) / d, f !== o && n.updateProgress(e), n.emit("setTranslate", n.translate, t)
}

function Cq() {
    return -this.snapGrid[0]
}

function Eq() {
    return -this.snapGrid[this.snapGrid.length - 1]
}

function bq(e = 0, t = this.params.speed, n = !0, r = !0, A) {
    const i = this,
        {
            params: s,
            wrapperEl: o
        } = i;
    if (i.animating && s.preventInteractionOnTransition) return !1;
    const a = i.minTranslate(),
        l = i.maxTranslate();
    let u;
    if (r && e > a ? u = a : r && e < l ? u = l : u = e, i.updateProgress(u), s.cssMode) {
        const f = i.isHorizontal();
        if (t === 0) o[f ? "scrollLeft" : "scrollTop"] = -u;
        else {
            if (!i.support.smoothScroll) return lb({
                swiper: i,
                targetPosition: -u,
                side: f ? "left" : "top"
            }), !0;
            o.scrollTo({
                [f ? "left" : "top"]: -u,
                behavior: "smooth"
            })
        }
        return !0
    }
    return t === 0 ? (i.setTransition(0), i.setTranslate(u), n && (i.emit("beforeTransitionStart", t, A), i.emit("transitionEnd"))) : (i.setTransition(t), i.setTranslate(u), n && (i.emit("beforeTransitionStart", t, A), i.emit("transitionStart")), i.animating || (i.animating = !0, i.onTranslateToWrapperTransitionEnd || (i.onTranslateToWrapperTransitionEnd = function(d) {
        !i || i.destroyed || d.target === this && (i.$wrapperEl[0].removeEventListener("transitionend", i.onTranslateToWrapperTransitionEnd), i.$wrapperEl[0].removeEventListener("webkitTransitionEnd", i.onTranslateToWrapperTransitionEnd), i.onTranslateToWrapperTransitionEnd = null, delete i.onTranslateToWrapperTransitionEnd, n && i.emit("transitionEnd"))
    }), i.$wrapperEl[0].addEventListener("transitionend", i.onTranslateToWrapperTransitionEnd), i.$wrapperEl[0].addEventListener("webkitTransitionEnd", i.onTranslateToWrapperTransitionEnd))), !0
}
const xq = {
    getTranslate: wq,
    setTranslate: yq,
    minTranslate: Cq,
    maxTranslate: Eq,
    translateTo: bq
};

function _q(e, t) {
    const n = this;
    n.params.cssMode || n.$wrapperEl.transition(e), n.emit("setTransition", e, t)
}

function cb({
    swiper: e,
    runCallbacks: t,
    direction: n,
    step: r
}) {
    const {
        activeIndex: A,
        previousIndex: i
    } = e;
    let s = n;
    if (s || (A > i ? s = "next" : A < i ? s = "prev" : s = "reset"), e.emit(`transition${r}`), t && A !== i) {
        if (s === "reset") {
            e.emit(`slideResetTransition${r}`);
            return
        }
        e.emit(`slideChangeTransition${r}`), s === "next" ? e.emit(`slideNextTransition${r}`) : e.emit(`slidePrevTransition${r}`)
    }
}

function Fq(e = !0, t) {
    const n = this,
        {
            params: r
        } = n;
    r.cssMode || (r.autoHeight && n.updateAutoHeight(), cb({
        swiper: n,
        runCallbacks: e,
        direction: t,
        step: "Start"
    }))
}

function Sq(e = !0, t) {
    const n = this,
        {
            params: r
        } = n;
    n.animating = !1, !r.cssMode && (n.setTransition(0), cb({
        swiper: n,
        runCallbacks: e,
        direction: t,
        step: "End"
    }))
}
const Tq = {
    setTransition: _q,
    transitionStart: Fq,
    transitionEnd: Sq
};

function Iq(e = 0, t = this.params.speed, n = !0, r, A) {
    if (typeof e != "number" && typeof e != "string") throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);
    if (typeof e == "string") {
        const E = parseInt(e, 10);
        if (!isFinite(E)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);
        e = E
    }
    const i = this;
    let s = e;
    s < 0 && (s = 0);
    const {
        params: o,
        snapGrid: a,
        slidesGrid: l,
        previousIndex: u,
        activeIndex: f,
        rtlTranslate: d,
        wrapperEl: p,
        enabled: v
    } = i;
    if (i.animating && o.preventInteractionOnTransition || !v && !r && !A) return !1;
    const B = Math.min(i.params.slidesPerGroupSkip, s);
    let C = B + Math.floor((s - B) / i.params.slidesPerGroup);
    C >= a.length && (C = a.length - 1);
    const w = -a[C];
    if (o.normalizeSlideIndex)
        for (let E = 0; E < l.length; E += 1) {
            const y = -Math.floor(w * 100),
                x = Math.floor(l[E] * 100),
                F = Math.floor(l[E + 1] * 100);
            typeof l[E + 1] < "u" ? y >= x && y < F - (F - x) / 2 ? s = E : y >= x && y < F && (s = E + 1) : y >= x && (s = E)
        }
    if (i.initialized && s !== f && (!i.allowSlideNext && w < i.translate && w < i.minTranslate() || !i.allowSlidePrev && w > i.translate && w > i.maxTranslate() && (f || 0) !== s)) return !1;
    s !== (u || 0) && n && i.emit("beforeSlideChangeStart"), i.updateProgress(w);
    let m;
    if (s > f ? m = "next" : s < f ? m = "prev" : m = "reset", d && -w === i.translate || !d && w === i.translate) return i.updateActiveIndex(s), o.autoHeight && i.updateAutoHeight(), i.updateSlidesClasses(), o.effect !== "slide" && i.setTranslate(w), m !== "reset" && (i.transitionStart(n, m), i.transitionEnd(n, m)), !1;
    if (o.cssMode) {
        const E = i.isHorizontal(),
            y = d ? w : -w;
        if (t === 0) {
            const x = i.virtual && i.params.virtual.enabled;
            x && (i.wrapperEl.style.scrollSnapType = "none", i._immediateVirtual = !0), p[E ? "scrollLeft" : "scrollTop"] = y, x && requestAnimationFrame(() => {
                i.wrapperEl.style.scrollSnapType = "", i._swiperImmediateVirtual = !1
            })
        } else {
            if (!i.support.smoothScroll) return lb({
                swiper: i,
                targetPosition: y,
                side: E ? "left" : "top"
            }), !0;
            p.scrollTo({
                [E ? "left" : "top"]: y,
                behavior: "smooth"
            })
        }
        return !0
    }
    return i.setTransition(t), i.setTranslate(w), i.updateActiveIndex(s), i.updateSlidesClasses(), i.emit("beforeTransitionStart", t, r), i.transitionStart(n, m), t === 0 ? i.transitionEnd(n, m) : i.animating || (i.animating = !0, i.onSlideToWrapperTransitionEnd || (i.onSlideToWrapperTransitionEnd = function(y) {
        !i || i.destroyed || y.target === this && (i.$wrapperEl[0].removeEventListener("transitionend", i.onSlideToWrapperTransitionEnd), i.$wrapperEl[0].removeEventListener("webkitTransitionEnd", i.onSlideToWrapperTransitionEnd), i.onSlideToWrapperTransitionEnd = null, delete i.onSlideToWrapperTransitionEnd, i.transitionEnd(n, m))
    }), i.$wrapperEl[0].addEventListener("transitionend", i.onSlideToWrapperTransitionEnd), i.$wrapperEl[0].addEventListener("webkitTransitionEnd", i.onSlideToWrapperTransitionEnd)), !0
}

function Qq(e = 0, t = this.params.speed, n = !0, r) {
    if (typeof e == "string") {
        const s = parseInt(e, 10);
        if (!isFinite(s)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);
        e = s
    }
    const A = this;
    let i = e;
    return A.params.loop && (i += A.loopedSlides), A.slideTo(i, t, n, r)
}

function Uq(e = this.params.speed, t = !0, n) {
    const r = this,
        {
            animating: A,
            enabled: i,
            params: s
        } = r;
    if (!i) return r;
    let o = s.slidesPerGroup;
    s.slidesPerView === "auto" && s.slidesPerGroup === 1 && s.slidesPerGroupAuto && (o = Math.max(r.slidesPerViewDynamic("current", !0), 1));
    const a = r.activeIndex < s.slidesPerGroupSkip ? 1 : o;
    if (s.loop) {
        if (A && s.loopPreventsSlide) return !1;
        r.loopFix(), r._clientLeft = r.$wrapperEl[0].clientLeft
    }
    return s.rewind && r.isEnd ? r.slideTo(0, e, t, n) : r.slideTo(r.activeIndex + a, e, t, n)
}

function Pq(e = this.params.speed, t = !0, n) {
    const r = this,
        {
            params: A,
            animating: i,
            snapGrid: s,
            slidesGrid: o,
            rtlTranslate: a,
            enabled: l
        } = r;
    if (!l) return r;
    if (A.loop) {
        if (i && A.loopPreventsSlide) return !1;
        r.loopFix(), r._clientLeft = r.$wrapperEl[0].clientLeft
    }
    const u = a ? r.translate : -r.translate;

    function f(C) {
        return C < 0 ? -Math.floor(Math.abs(C)) : Math.floor(C)
    }
    const d = f(u),
        p = s.map(C => f(C));
    let v = s[p.indexOf(d) - 1];
    if (typeof v > "u" && A.cssMode) {
        let C;
        s.forEach((w, m) => {
            d >= w && (C = m)
        }), typeof C < "u" && (v = s[C > 0 ? C - 1 : C])
    }
    let B = 0;
    if (typeof v < "u" && (B = o.indexOf(v), B < 0 && (B = r.activeIndex - 1), A.slidesPerView === "auto" && A.slidesPerGroup === 1 && A.slidesPerGroupAuto && (B = B - r.slidesPerViewDynamic("previous", !0) + 1, B = Math.max(B, 0))), A.rewind && r.isBeginning) {
        const C = r.params.virtual && r.params.virtual.enabled && r.virtual ? r.virtual.slides.length - 1 : r.slides.length - 1;
        return r.slideTo(C, e, t, n)
    }
    return r.slideTo(B, e, t, n)
}

function Oq(e = this.params.speed, t = !0, n) {
    const r = this;
    return r.slideTo(r.activeIndex, e, t, n)
}

function Dq(e = this.params.speed, t = !0, n, r = .5) {
    const A = this;
    let i = A.activeIndex;
    const s = Math.min(A.params.slidesPerGroupSkip, i),
        o = s + Math.floor((i - s) / A.params.slidesPerGroup),
        a = A.rtlTranslate ? A.translate : -A.translate;
    if (a >= A.snapGrid[o]) {
        const l = A.snapGrid[o],
            u = A.snapGrid[o + 1];
        a - l > (u - l) * r && (i += A.params.slidesPerGroup)
    } else {
        const l = A.snapGrid[o - 1],
            u = A.snapGrid[o];
        a - l <= (u - l) * r && (i -= A.params.slidesPerGroup)
    }
    return i = Math.max(i, 0), i = Math.min(i, A.slidesGrid.length - 1), A.slideTo(i, e, t, n)
}

function Lq() {
    const e = this,
        {
            params: t,
            $wrapperEl: n
        } = e,
        r = t.slidesPerView === "auto" ? e.slidesPerViewDynamic() : t.slidesPerView;
    let A = e.clickedIndex,
        i;
    if (t.loop) {
        if (e.animating) return;
        i = parseInt(st(e.clickedSlide).attr("data-swiper-slide-index"), 10), t.centeredSlides ? A < e.loopedSlides - r / 2 || A > e.slides.length - e.loopedSlides + r / 2 ? (e.loopFix(), A = n.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), If(() => {
            e.slideTo(A)
        })) : e.slideTo(A) : A > e.slides.length - r ? (e.loopFix(), A = n.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), If(() => {
            e.slideTo(A)
        })) : e.slideTo(A)
    } else e.slideTo(A)
}
const kq = {
    slideTo: Iq,
    slideToLoop: Qq,
    slideNext: Uq,
    slidePrev: Pq,
    slideReset: Oq,
    slideToClosest: Dq,
    slideToClickedSlide: Lq
};

function Hq() {
    const e = this,
        t = tr(),
        {
            params: n,
            $wrapperEl: r
        } = e,
        A = r.children().length > 0 ? st(r.children()[0].parentNode) : r;
    A.children(`.${n.slideClass}.${n.slideDuplicateClass}`).remove();
    let i = A.children(`.${n.slideClass}`);
    if (n.loopFillGroupWithBlank) {
        const a = n.slidesPerGroup - i.length % n.slidesPerGroup;
        if (a !== n.slidesPerGroup) {
            for (let l = 0; l < a; l += 1) {
                const u = st(t.createElement("div")).addClass(`${n.slideClass} ${n.slideBlankClass}`);
                A.append(u)
            }
            i = A.children(`.${n.slideClass}`)
        }
    }
    n.slidesPerView === "auto" && !n.loopedSlides && (n.loopedSlides = i.length), e.loopedSlides = Math.ceil(parseFloat(n.loopedSlides || n.slidesPerView, 10)), e.loopedSlides += n.loopAdditionalSlides, e.loopedSlides > i.length && e.params.loopedSlidesLimit && (e.loopedSlides = i.length);
    const s = [],
        o = [];
    i.each((a, l) => {
        st(a).attr("data-swiper-slide-index", l)
    });
    for (let a = 0; a < e.loopedSlides; a += 1) {
        const l = a - Math.floor(a / i.length) * i.length;
        o.push(i.eq(l)[0]), s.unshift(i.eq(i.length - l - 1)[0])
    }
    for (let a = 0; a < o.length; a += 1) A.append(st(o[a].cloneNode(!0)).addClass(n.slideDuplicateClass));
    for (let a = s.length - 1; a >= 0; a -= 1) A.prepend(st(s[a].cloneNode(!0)).addClass(n.slideDuplicateClass))
}

function Mq() {
    const e = this;
    e.emit("beforeLoopFix");
    const {
        activeIndex: t,
        slides: n,
        loopedSlides: r,
        allowSlidePrev: A,
        allowSlideNext: i,
        snapGrid: s,
        rtlTranslate: o
    } = e;
    let a;
    e.allowSlidePrev = !0, e.allowSlideNext = !0;
    const u = -s[t] - e.getTranslate();
    t < r ? (a = n.length - r * 3 + t, a += r, e.slideTo(a, 0, !1, !0) && u !== 0 && e.setTranslate((o ? -e.translate : e.translate) - u)) : t >= n.length - r && (a = -n.length + t + r, a += r, e.slideTo(a, 0, !1, !0) && u !== 0 && e.setTranslate((o ? -e.translate : e.translate) - u)), e.allowSlidePrev = A, e.allowSlideNext = i, e.emit("loopFix")
}

function Rq() {
    const e = this,
        {
            $wrapperEl: t,
            params: n,
            slides: r
        } = e;
    t.children(`.${n.slideClass}.${n.slideDuplicateClass},.${n.slideClass}.${n.slideBlankClass}`).remove(), r.removeAttr("data-swiper-slide-index")
}
const Nq = {
    loopCreate: Hq,
    loopFix: Mq,
    loopDestroy: Rq
};

function $q(e) {
    const t = this;
    if (t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
    const n = t.params.touchEventsTarget === "container" ? t.el : t.wrapperEl;
    n.style.cursor = "move", n.style.cursor = e ? "grabbing" : "grab"
}

function Kq() {
    const e = this;
    e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e[e.params.touchEventsTarget === "container" ? "el" : "wrapperEl"].style.cursor = "")
}
const Vq = {
    setGrabCursor: $q,
    unsetGrabCursor: Kq
};

function Gq(e, t = this) {
    function n(r) {
        if (!r || r === tr() || r === Vn()) return null;
        r.assignedSlot && (r = r.assignedSlot);
        const A = r.closest(e);
        return !A && !r.getRootNode ? null : A || n(r.getRootNode().host)
    }
    return n(t)
}

function jq(e) {
    const t = this,
        n = tr(),
        r = Vn(),
        A = t.touchEventsData,
        {
            params: i,
            touches: s,
            enabled: o
        } = t;
    if (!o || t.animating && i.preventInteractionOnTransition) return;
    !t.animating && i.cssMode && i.loop && t.loopFix();
    let a = e;
    a.originalEvent && (a = a.originalEvent);
    let l = st(a.target);
    if (i.touchEventsTarget === "wrapper" && !l.closest(t.wrapperEl).length || (A.isTouchEvent = a.type === "touchstart", !A.isTouchEvent && "which" in a && a.which === 3) || !A.isTouchEvent && "button" in a && a.button > 0 || A.isTouched && A.isMoved) return;
    const u = !!i.noSwipingClass && i.noSwipingClass !== "",
        f = e.composedPath ? e.composedPath() : e.path;
    u && a.target && a.target.shadowRoot && f && (l = st(f[0]));
    const d = i.noSwipingSelector ? i.noSwipingSelector : `.${i.noSwipingClass}`,
        p = !!(a.target && a.target.shadowRoot);
    if (i.noSwiping && (p ? Gq(d, l[0]) : l.closest(d)[0])) {
        t.allowClick = !0;
        return
    }
    if (i.swipeHandler && !l.closest(i.swipeHandler)[0]) return;
    s.currentX = a.type === "touchstart" ? a.targetTouches[0].pageX : a.pageX, s.currentY = a.type === "touchstart" ? a.targetTouches[0].pageY : a.pageY;
    const v = s.currentX,
        B = s.currentY,
        C = i.edgeSwipeDetection || i.iOSEdgeSwipeDetection,
        w = i.edgeSwipeThreshold || i.iOSEdgeSwipeThreshold;
    if (C && (v <= w || v >= r.innerWidth - w))
        if (C === "prevent") e.preventDefault();
        else return;
    if (Object.assign(A, {
            isTouched: !0,
            isMoved: !1,
            allowTouchCallbacks: !0,
            isScrolling: void 0,
            startMoving: void 0
        }), s.startX = v, s.startY = B, A.touchStartTime = Ju(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, i.threshold > 0 && (A.allowThresholdMove = !1), a.type !== "touchstart") {
        let m = !0;
        l.is(A.focusableElements) && (m = !1, l[0].nodeName === "SELECT" && (A.isTouched = !1)), n.activeElement && st(n.activeElement).is(A.focusableElements) && n.activeElement !== l[0] && n.activeElement.blur();
        const E = m && t.allowTouchMove && i.touchStartPreventDefault;
        (i.touchStartForcePreventDefault || E) && !l[0].isContentEditable && a.preventDefault()
    }
    t.params.freeMode && t.params.freeMode.enabled && t.freeMode && t.animating && !i.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", a)
}

function Wq(e) {
    const t = tr(),
        n = this,
        r = n.touchEventsData,
        {
            params: A,
            touches: i,
            rtlTranslate: s,
            enabled: o
        } = n;
    if (!o) return;
    let a = e;
    if (a.originalEvent && (a = a.originalEvent), !r.isTouched) {
        r.startMoving && r.isScrolling && n.emit("touchMoveOpposite", a);
        return
    }
    if (r.isTouchEvent && a.type !== "touchmove") return;
    const l = a.type === "touchmove" && a.targetTouches && (a.targetTouches[0] || a.changedTouches[0]),
        u = a.type === "touchmove" ? l.pageX : a.pageX,
        f = a.type === "touchmove" ? l.pageY : a.pageY;
    if (a.preventedByNestedSwiper) {
        i.startX = u, i.startY = f;
        return
    }
    if (!n.allowTouchMove) {
        st(a.target).is(r.focusableElements) || (n.allowClick = !1), r.isTouched && (Object.assign(i, {
            startX: u,
            startY: f,
            currentX: u,
            currentY: f
        }), r.touchStartTime = Ju());
        return
    }
    if (r.isTouchEvent && A.touchReleaseOnEdges && !A.loop) {
        if (n.isVertical()) {
            if (f < i.startY && n.translate <= n.maxTranslate() || f > i.startY && n.translate >= n.minTranslate()) {
                r.isTouched = !1, r.isMoved = !1;
                return
            }
        } else if (u < i.startX && n.translate <= n.maxTranslate() || u > i.startX && n.translate >= n.minTranslate()) return
    }
    if (r.isTouchEvent && t.activeElement && a.target === t.activeElement && st(a.target).is(r.focusableElements)) {
        r.isMoved = !0, n.allowClick = !1;
        return
    }
    if (r.allowTouchCallbacks && n.emit("touchMove", a), a.targetTouches && a.targetTouches.length > 1) return;
    i.currentX = u, i.currentY = f;
    const d = i.currentX - i.startX,
        p = i.currentY - i.startY;
    if (n.params.threshold && Math.sqrt(d ** 2 + p ** 2) < n.params.threshold) return;
    if (typeof r.isScrolling > "u") {
        let w;
        n.isHorizontal() && i.currentY === i.startY || n.isVertical() && i.currentX === i.startX ? r.isScrolling = !1 : d * d + p * p >= 25 && (w = Math.atan2(Math.abs(p), Math.abs(d)) * 180 / Math.PI, r.isScrolling = n.isHorizontal() ? w > A.touchAngle : 90 - w > A.touchAngle)
    }
    if (r.isScrolling && n.emit("touchMoveOpposite", a), typeof r.startMoving > "u" && (i.currentX !== i.startX || i.currentY !== i.startY) && (r.startMoving = !0), r.isScrolling) {
        r.isTouched = !1;
        return
    }
    if (!r.startMoving) return;
    n.allowClick = !1, !A.cssMode && a.cancelable && a.preventDefault(), A.touchMoveStopPropagation && !A.nested && a.stopPropagation(), r.isMoved || (A.loop && !A.cssMode && n.loopFix(), r.startTranslate = n.getTranslate(), n.setTransition(0), n.animating && n.$wrapperEl.trigger("webkitTransitionEnd transitionend"), r.allowMomentumBounce = !1, A.grabCursor && (n.allowSlideNext === !0 || n.allowSlidePrev === !0) && n.setGrabCursor(!0), n.emit("sliderFirstMove", a)), n.emit("sliderMove", a), r.isMoved = !0;
    let v = n.isHorizontal() ? d : p;
    i.diff = v, v *= A.touchRatio, s && (v = -v), n.swipeDirection = v > 0 ? "prev" : "next", r.currentTranslate = v + r.startTranslate;
    let B = !0,
        C = A.resistanceRatio;
    if (A.touchReleaseOnEdges && (C = 0), v > 0 && r.currentTranslate > n.minTranslate() ? (B = !1, A.resistance && (r.currentTranslate = n.minTranslate() - 1 + (-n.minTranslate() + r.startTranslate + v) ** C)) : v < 0 && r.currentTranslate < n.maxTranslate() && (B = !1, A.resistance && (r.currentTranslate = n.maxTranslate() + 1 - (n.maxTranslate() - r.startTranslate - v) ** C)), B && (a.preventedByNestedSwiper = !0), !n.allowSlideNext && n.swipeDirection === "next" && r.currentTranslate < r.startTranslate && (r.currentTranslate = r.startTranslate), !n.allowSlidePrev && n.swipeDirection === "prev" && r.currentTranslate > r.startTranslate && (r.currentTranslate = r.startTranslate), !n.allowSlidePrev && !n.allowSlideNext && (r.currentTranslate = r.startTranslate), A.threshold > 0)
        if (Math.abs(v) > A.threshold || r.allowThresholdMove) {
            if (!r.allowThresholdMove) {
                r.allowThresholdMove = !0, i.startX = i.currentX, i.startY = i.currentY, r.currentTranslate = r.startTranslate, i.diff = n.isHorizontal() ? i.currentX - i.startX : i.currentY - i.startY;
                return
            }
        } else {
            r.currentTranslate = r.startTranslate;
            return
        }!A.followFinger || A.cssMode || ((A.freeMode && A.freeMode.enabled && n.freeMode || A.watchSlidesProgress) && (n.updateActiveIndex(), n.updateSlidesClasses()), n.params.freeMode && A.freeMode.enabled && n.freeMode && n.freeMode.onTouchMove(), n.updateProgress(r.currentTranslate), n.setTranslate(r.currentTranslate))
}

function zq(e) {
    const t = this,
        n = t.touchEventsData,
        {
            params: r,
            touches: A,
            rtlTranslate: i,
            slidesGrid: s,
            enabled: o
        } = t;
    if (!o) return;
    let a = e;
    if (a.originalEvent && (a = a.originalEvent), n.allowTouchCallbacks && t.emit("touchEnd", a), n.allowTouchCallbacks = !1, !n.isTouched) {
        n.isMoved && r.grabCursor && t.setGrabCursor(!1), n.isMoved = !1, n.startMoving = !1;
        return
    }
    r.grabCursor && n.isMoved && n.isTouched && (t.allowSlideNext === !0 || t.allowSlidePrev === !0) && t.setGrabCursor(!1);
    const l = Ju(),
        u = l - n.touchStartTime;
    if (t.allowClick) {
        const m = a.path || a.composedPath && a.composedPath();
        t.updateClickedSlide(m && m[0] || a.target), t.emit("tap click", a), u < 300 && l - n.lastClickTime < 300 && t.emit("doubleTap doubleClick", a)
    }
    if (n.lastClickTime = Ju(), If(() => {
            t.destroyed || (t.allowClick = !0)
        }), !n.isTouched || !n.isMoved || !t.swipeDirection || A.diff === 0 || n.currentTranslate === n.startTranslate) {
        n.isTouched = !1, n.isMoved = !1, n.startMoving = !1;
        return
    }
    n.isTouched = !1, n.isMoved = !1, n.startMoving = !1;
    let f;
    if (r.followFinger ? f = i ? t.translate : -t.translate : f = -n.currentTranslate, r.cssMode) return;
    if (t.params.freeMode && r.freeMode.enabled) {
        t.freeMode.onTouchEnd({
            currentPos: f
        });
        return
    }
    let d = 0,
        p = t.slidesSizesGrid[0];
    for (let m = 0; m < s.length; m += m < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup) {
        const E = m < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
        typeof s[m + E] < "u" ? f >= s[m] && f < s[m + E] && (d = m, p = s[m + E] - s[m]) : f >= s[m] && (d = m, p = s[s.length - 1] - s[s.length - 2])
    }
    let v = null,
        B = null;
    r.rewind && (t.isBeginning ? B = t.params.virtual && t.params.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (v = 0));
    const C = (f - s[d]) / p,
        w = d < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
    if (u > r.longSwipesMs) {
        if (!r.longSwipes) {
            t.slideTo(t.activeIndex);
            return
        }
        t.swipeDirection === "next" && (C >= r.longSwipesRatio ? t.slideTo(r.rewind && t.isEnd ? v : d + w) : t.slideTo(d)), t.swipeDirection === "prev" && (C > 1 - r.longSwipesRatio ? t.slideTo(d + w) : B !== null && C < 0 && Math.abs(C) > r.longSwipesRatio ? t.slideTo(B) : t.slideTo(d))
    } else {
        if (!r.shortSwipes) {
            t.slideTo(t.activeIndex);
            return
        }
        t.navigation && (a.target === t.navigation.nextEl || a.target === t.navigation.prevEl) ? a.target === t.navigation.nextEl ? t.slideTo(d + w) : t.slideTo(d) : (t.swipeDirection === "next" && t.slideTo(v !== null ? v : d + w), t.swipeDirection === "prev" && t.slideTo(B !== null ? B : d))
    }
}

function S7() {
    const e = this,
        {
            params: t,
            el: n
        } = e;
    if (n && n.offsetWidth === 0) return;
    t.breakpoints && e.setBreakpoint();
    const {
        allowSlideNext: r,
        allowSlidePrev: A,
        snapGrid: i
    } = e;
    e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(), (t.slidesPerView === "auto" || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), e.allowSlidePrev = A, e.allowSlideNext = r, e.params.watchOverflow && i !== e.snapGrid && e.checkOverflow()
}

function Yq(e) {
    const t = this;
    t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())))
}

function Xq() {
    const e = this,
        {
            wrapperEl: t,
            rtlTranslate: n,
            enabled: r
        } = e;
    if (!r) return;
    e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, e.translate === 0 && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
    let A;
    const i = e.maxTranslate() - e.minTranslate();
    i === 0 ? A = 0 : A = (e.translate - e.minTranslate()) / i, A !== e.progress && e.updateProgress(n ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1)
}
let T7 = !1;

function Jq() {}
const fb = (e, t) => {
    const n = tr(),
        {
            params: r,
            touchEvents: A,
            el: i,
            wrapperEl: s,
            device: o,
            support: a
        } = e,
        l = !!r.nested,
        u = t === "on" ? "addEventListener" : "removeEventListener",
        f = t;
    if (!a.touch) i[u](A.start, e.onTouchStart, !1), n[u](A.move, e.onTouchMove, l), n[u](A.end, e.onTouchEnd, !1);
    else {
        const d = A.start === "touchstart" && a.passiveListener && r.passiveListeners ? {
            passive: !0,
            capture: !1
        } : !1;
        i[u](A.start, e.onTouchStart, d), i[u](A.move, e.onTouchMove, a.passiveListener ? {
            passive: !1,
            capture: l
        } : l), i[u](A.end, e.onTouchEnd, d), A.cancel && i[u](A.cancel, e.onTouchEnd, d)
    }(r.preventClicks || r.preventClicksPropagation) && i[u]("click", e.onClick, !0), r.cssMode && s[u]("scroll", e.onScroll), r.updateOnWindowResize ? e[f](o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", S7, !0) : e[f]("observerUpdate", S7, !0)
};

function qq() {
    const e = this,
        t = tr(),
        {
            params: n,
            support: r
        } = e;
    e.onTouchStart = jq.bind(e), e.onTouchMove = Wq.bind(e), e.onTouchEnd = zq.bind(e), n.cssMode && (e.onScroll = Xq.bind(e)), e.onClick = Yq.bind(e), r.touch && !T7 && (t.addEventListener("touchstart", Jq), T7 = !0), fb(e, "on")
}

function Zq() {
    fb(this, "off")
}
const eZ = {
        attachEvents: qq,
        detachEvents: Zq
    },
    I7 = (e, t) => e.grid && t.grid && t.grid.rows > 1;

function tZ() {
    const e = this,
        {
            activeIndex: t,
            initialized: n,
            loopedSlides: r = 0,
            params: A,
            $el: i
        } = e,
        s = A.breakpoints;
    if (!s || s && Object.keys(s).length === 0) return;
    const o = e.getBreakpoint(s, e.params.breakpointsBase, e.el);
    if (!o || e.currentBreakpoint === o) return;
    const l = (o in s ? s[o] : void 0) || e.originalParams,
        u = I7(e, A),
        f = I7(e, l),
        d = A.enabled;
    u && !f ? (i.removeClass(`${A.containerModifierClass}grid ${A.containerModifierClass}grid-column`), e.emitContainerClasses()) : !u && f && (i.addClass(`${A.containerModifierClass}grid`), (l.grid.fill && l.grid.fill === "column" || !l.grid.fill && A.grid.fill === "column") && i.addClass(`${A.containerModifierClass}grid-column`), e.emitContainerClasses()), ["navigation", "pagination", "scrollbar"].forEach(C => {
        const w = A[C] && A[C].enabled,
            m = l[C] && l[C].enabled;
        w && !m && e[C].disable(), !w && m && e[C].enable()
    });
    const p = l.direction && l.direction !== A.direction,
        v = A.loop && (l.slidesPerView !== A.slidesPerView || p);
    p && n && e.changeDirection(), Dr(e.params, l);
    const B = e.params.enabled;
    Object.assign(e, {
        allowTouchMove: e.params.allowTouchMove,
        allowSlideNext: e.params.allowSlideNext,
        allowSlidePrev: e.params.allowSlidePrev
    }), d && !B ? e.disable() : !d && B && e.enable(), e.currentBreakpoint = o, e.emit("_beforeBreakpoint", l), v && n && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - r + e.loopedSlides, 0, !1)), e.emit("breakpoint", l)
}

function nZ(e, t = "window", n) {
    if (!e || t === "container" && !n) return;
    let r = !1;
    const A = Vn(),
        i = t === "window" ? A.innerHeight : n.clientHeight,
        s = Object.keys(e).map(o => {
            if (typeof o == "string" && o.indexOf("@") === 0) {
                const a = parseFloat(o.substr(1));
                return {
                    value: i * a,
                    point: o
                }
            }
            return {
                value: o,
                point: o
            }
        });
    s.sort((o, a) => parseInt(o.value, 10) - parseInt(a.value, 10));
    for (let o = 0; o < s.length; o += 1) {
        const {
            point: a,
            value: l
        } = s[o];
        t === "window" ? A.matchMedia(`(min-width: ${l}px)`).matches && (r = a) : l <= n.clientWidth && (r = a)
    }
    return r || "max"
}
const rZ = {
    setBreakpoint: tZ,
    getBreakpoint: nZ
};

function AZ(e, t) {
    const n = [];
    return e.forEach(r => {
        typeof r == "object" ? Object.keys(r).forEach(A => {
            r[A] && n.push(t + A)
        }) : typeof r == "string" && n.push(t + r)
    }), n
}

function iZ() {
    const e = this,
        {
            classNames: t,
            params: n,
            rtl: r,
            $el: A,
            device: i,
            support: s
        } = e,
        o = AZ(["initialized", n.direction, {
            "pointer-events": !s.touch
        }, {
            "free-mode": e.params.freeMode && n.freeMode.enabled
        }, {
            autoheight: n.autoHeight
        }, {
            rtl: r
        }, {
            grid: n.grid && n.grid.rows > 1
        }, {
            "grid-column": n.grid && n.grid.rows > 1 && n.grid.fill === "column"
        }, {
            android: i.android
        }, {
            ios: i.ios
        }, {
            "css-mode": n.cssMode
        }, {
            centered: n.cssMode && n.centeredSlides
        }, {
            "watch-progress": n.watchSlidesProgress
        }], n.containerModifierClass);
    t.push(...o), A.addClass([...t].join(" ")), e.emitContainerClasses()
}

function sZ() {
    const e = this,
        {
            $el: t,
            classNames: n
        } = e;
    t.removeClass(n.join(" ")), e.emitContainerClasses()
}
const oZ = {
    addClasses: iZ,
    removeClasses: sZ
};

function aZ(e, t, n, r, A, i) {
    const s = Vn();
    let o;

    function a() {
        i && i()
    }!st(e).parent("picture")[0] && (!e.complete || !A) && t ? (o = new s.Image, o.onload = a, o.onerror = a, r && (o.sizes = r), n && (o.srcset = n), t && (o.src = t)) : a()
}

function lZ() {
    const e = this;
    e.imagesToLoad = e.$el.find("img");

    function t() {
        typeof e > "u" || e === null || !e || e.destroyed || (e.imagesLoaded !== void 0 && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
    }
    for (let n = 0; n < e.imagesToLoad.length; n += 1) {
        const r = e.imagesToLoad[n];
        e.loadImage(r, r.currentSrc || r.getAttribute("src"), r.srcset || r.getAttribute("srcset"), r.sizes || r.getAttribute("sizes"), !0, t)
    }
}
const uZ = {
    loadImage: aZ,
    preloadImages: lZ
};

function cZ() {
    const e = this,
        {
            isLocked: t,
            params: n
        } = e,
        {
            slidesOffsetBefore: r
        } = n;
    if (r) {
        const A = e.slides.length - 1,
            i = e.slidesGrid[A] + e.slidesSizesGrid[A] + r * 2;
        e.isLocked = e.size > i
    } else e.isLocked = e.snapGrid.length === 1;
    n.allowSlideNext === !0 && (e.allowSlideNext = !e.isLocked), n.allowSlidePrev === !0 && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock")
}
const fZ = {
        checkOverflow: cZ
    },
    Q7 = {
        init: !0,
        direction: "horizontal",
        touchEventsTarget: "wrapper",
        initialSlide: 0,
        speed: 300,
        cssMode: !1,
        updateOnWindowResize: !0,
        resizeObserver: !0,
        nested: !1,
        createElements: !1,
        enabled: !0,
        focusableElements: "input, select, option, textarea, button, video, label",
        width: null,
        height: null,
        preventInteractionOnTransition: !1,
        userAgent: null,
        url: null,
        edgeSwipeDetection: !1,
        edgeSwipeThreshold: 20,
        autoHeight: !1,
        setWrapperSize: !1,
        virtualTranslate: !1,
        effect: "slide",
        breakpoints: void 0,
        breakpointsBase: "window",
        spaceBetween: 0,
        slidesPerView: 1,
        slidesPerGroup: 1,
        slidesPerGroupSkip: 0,
        slidesPerGroupAuto: !1,
        centeredSlides: !1,
        centeredSlidesBounds: !1,
        slidesOffsetBefore: 0,
        slidesOffsetAfter: 0,
        normalizeSlideIndex: !0,
        centerInsufficientSlides: !1,
        watchOverflow: !0,
        roundLengths: !1,
        touchRatio: 1,
        touchAngle: 45,
        simulateTouch: !0,
        shortSwipes: !0,
        longSwipes: !0,
        longSwipesRatio: .5,
        longSwipesMs: 300,
        followFinger: !0,
        allowTouchMove: !0,
        threshold: 0,
        touchMoveStopPropagation: !1,
        touchStartPreventDefault: !0,
        touchStartForcePreventDefault: !1,
        touchReleaseOnEdges: !1,
        uniqueNavElements: !0,
        resistance: !0,
        resistanceRatio: .85,
        watchSlidesProgress: !1,
        grabCursor: !1,
        preventClicks: !0,
        preventClicksPropagation: !0,
        slideToClickedSlide: !1,
        preloadImages: !0,
        updateOnImagesReady: !0,
        loop: !1,
        loopAdditionalSlides: 0,
        loopedSlides: null,
        loopedSlidesLimit: !0,
        loopFillGroupWithBlank: !1,
        loopPreventsSlide: !0,
        rewind: !1,
        allowSlidePrev: !0,
        allowSlideNext: !0,
        swipeHandler: null,
        noSwiping: !0,
        noSwipingClass: "swiper-no-swiping",
        noSwipingSelector: null,
        passiveListeners: !0,
        maxBackfaceHiddenSlides: 10,
        containerModifierClass: "swiper-",
        slideClass: "swiper-slide",
        slideBlankClass: "swiper-slide-invisible-blank",
        slideActiveClass: "swiper-slide-active",
        slideDuplicateActiveClass: "swiper-slide-duplicate-active",
        slideVisibleClass: "swiper-slide-visible",
        slideDuplicateClass: "swiper-slide-duplicate",
        slideNextClass: "swiper-slide-next",
        slideDuplicateNextClass: "swiper-slide-duplicate-next",
        slidePrevClass: "swiper-slide-prev",
        slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
        wrapperClass: "swiper-wrapper",
        runCallbacksOnInit: !0,
        _emitClasses: !1
    };

function dZ(e, t) {
    return function(r = {}) {
        const A = Object.keys(r)[0],
            i = r[A];
        if (typeof i != "object" || i === null) {
            Dr(t, r);
            return
        }
        if (["navigation", "pagination", "scrollbar"].indexOf(A) >= 0 && e[A] === !0 && (e[A] = {
                auto: !0
            }), !(A in e && "enabled" in i)) {
            Dr(t, r);
            return
        }
        e[A] === !0 && (e[A] = {
            enabled: !0
        }), typeof e[A] == "object" && !("enabled" in e[A]) && (e[A].enabled = !0), e[A] || (e[A] = {
            enabled: !1
        }), Dr(t, r)
    }
}
const Xh = {
        eventsEmitter: lq,
        update: Bq,
        translate: xq,
        transition: Tq,
        slide: kq,
        loop: Nq,
        grabCursor: Vq,
        events: eZ,
        breakpoints: rZ,
        checkOverflow: fZ,
        classes: oZ,
        images: uZ
    },
    Jh = {};
let Xa = class hi {
    constructor(...t) {
        let n, r;
        if (t.length === 1 && t[0].constructor && Object.prototype.toString.call(t[0]).slice(8, -1) === "Object" ? r = t[0] : [n, r] = t, r || (r = {}), r = Dr({}, r), n && !r.el && (r.el = n), r.el && st(r.el).length > 1) {
            const o = [];
            return st(r.el).each(a => {
                const l = Dr({}, r, {
                    el: a
                });
                o.push(new hi(l))
            }), o
        }
        const A = this;
        A.__swiper__ = !0, A.support = ub(), A.device = Aq({
            userAgent: r.userAgent
        }), A.browser = sq(), A.eventsListeners = {}, A.eventsAnyListeners = [], A.modules = [...A.__modules__], r.modules && Array.isArray(r.modules) && A.modules.push(...r.modules);
        const i = {};
        A.modules.forEach(o => {
            o({
                swiper: A,
                extendParams: dZ(r, i),
                on: A.on.bind(A),
                once: A.once.bind(A),
                off: A.off.bind(A),
                emit: A.emit.bind(A)
            })
        });
        const s = Dr({}, Q7, i);
        return A.params = Dr({}, s, Jh, r), A.originalParams = Dr({}, A.params), A.passedParams = Dr({}, r), A.params && A.params.on && Object.keys(A.params.on).forEach(o => {
            A.on(o, A.params.on[o])
        }), A.params && A.params.onAny && A.onAny(A.params.onAny), A.$ = st, Object.assign(A, {
            enabled: A.params.enabled,
            el: n,
            classNames: [],
            slides: st(),
            slidesGrid: [],
            snapGrid: [],
            slidesSizesGrid: [],
            isHorizontal() {
                return A.params.direction === "horizontal"
            },
            isVertical() {
                return A.params.direction === "vertical"
            },
            activeIndex: 0,
            realIndex: 0,
            isBeginning: !0,
            isEnd: !1,
            translate: 0,
            previousTranslate: 0,
            progress: 0,
            velocity: 0,
            animating: !1,
            allowSlideNext: A.params.allowSlideNext,
            allowSlidePrev: A.params.allowSlidePrev,
            touchEvents: function() {
                const a = ["touchstart", "touchmove", "touchend", "touchcancel"],
                    l = ["pointerdown", "pointermove", "pointerup"];
                return A.touchEventsTouch = {
                    start: a[0],
                    move: a[1],
                    end: a[2],
                    cancel: a[3]
                }, A.touchEventsDesktop = {
                    start: l[0],
                    move: l[1],
                    end: l[2]
                }, A.support.touch || !A.params.simulateTouch ? A.touchEventsTouch : A.touchEventsDesktop
            }(),
            touchEventsData: {
                isTouched: void 0,
                isMoved: void 0,
                allowTouchCallbacks: void 0,
                touchStartTime: void 0,
                isScrolling: void 0,
                currentTranslate: void 0,
                startTranslate: void 0,
                allowThresholdMove: void 0,
                focusableElements: A.params.focusableElements,
                lastClickTime: Ju(),
                clickTimeout: void 0,
                velocities: [],
                allowMomentumBounce: void 0,
                isTouchEvent: void 0,
                startMoving: void 0
            },
            allowClick: !0,
            allowTouchMove: A.params.allowTouchMove,
            touches: {
                startX: 0,
                startY: 0,
                currentX: 0,
                currentY: 0,
                diff: 0
            },
            imagesToLoad: [],
            imagesLoaded: 0
        }), A.emit("_swiper"), A.params.init && A.init(), A
    }
    enable() {
        const t = this;
        t.enabled || (t.enabled = !0, t.params.grabCursor && t.setGrabCursor(), t.emit("enable"))
    }
    disable() {
        const t = this;
        t.enabled && (t.enabled = !1, t.params.grabCursor && t.unsetGrabCursor(), t.emit("disable"))
    }
    setProgress(t, n) {
        const r = this;
        t = Math.min(Math.max(t, 0), 1);
        const A = r.minTranslate(),
            s = (r.maxTranslate() - A) * t + A;
        r.translateTo(s, typeof n > "u" ? 0 : n), r.updateActiveIndex(), r.updateSlidesClasses()
    }
    emitContainerClasses() {
        const t = this;
        if (!t.params._emitClasses || !t.el) return;
        const n = t.el.className.split(" ").filter(r => r.indexOf("swiper") === 0 || r.indexOf(t.params.containerModifierClass) === 0);
        t.emit("_containerClasses", n.join(" "))
    }
    getSlideClasses(t) {
        const n = this;
        return n.destroyed ? "" : t.className.split(" ").filter(r => r.indexOf("swiper-slide") === 0 || r.indexOf(n.params.slideClass) === 0).join(" ")
    }
    emitSlidesClasses() {
        const t = this;
        if (!t.params._emitClasses || !t.el) return;
        const n = [];
        t.slides.each(r => {
            const A = t.getSlideClasses(r);
            n.push({
                slideEl: r,
                classNames: A
            }), t.emit("_slideClass", r, A)
        }), t.emit("_slideClasses", n)
    }
    slidesPerViewDynamic(t = "current", n = !1) {
        const r = this,
            {
                params: A,
                slides: i,
                slidesGrid: s,
                slidesSizesGrid: o,
                size: a,
                activeIndex: l
            } = r;
        let u = 1;
        if (A.centeredSlides) {
            let f = i[l].swiperSlideSize,
                d;
            for (let p = l + 1; p < i.length; p += 1) i[p] && !d && (f += i[p].swiperSlideSize, u += 1, f > a && (d = !0));
            for (let p = l - 1; p >= 0; p -= 1) i[p] && !d && (f += i[p].swiperSlideSize, u += 1, f > a && (d = !0))
        } else if (t === "current")
            for (let f = l + 1; f < i.length; f += 1)(n ? s[f] + o[f] - s[l] < a : s[f] - s[l] < a) && (u += 1);
        else
            for (let f = l - 1; f >= 0; f -= 1) s[l] - s[f] < a && (u += 1);
        return u
    }
    update() {
        const t = this;
        if (!t || t.destroyed) return;
        const {
            snapGrid: n,
            params: r
        } = t;
        r.breakpoints && t.setBreakpoint(), t.updateSize(), t.updateSlides(), t.updateProgress(), t.updateSlidesClasses();

        function A() {
            const s = t.rtlTranslate ? t.translate * -1 : t.translate,
                o = Math.min(Math.max(s, t.maxTranslate()), t.minTranslate());
            t.setTranslate(o), t.updateActiveIndex(), t.updateSlidesClasses()
        }
        let i;
        t.params.freeMode && t.params.freeMode.enabled ? (A(), t.params.autoHeight && t.updateAutoHeight()) : ((t.params.slidesPerView === "auto" || t.params.slidesPerView > 1) && t.isEnd && !t.params.centeredSlides ? i = t.slideTo(t.slides.length - 1, 0, !1, !0) : i = t.slideTo(t.activeIndex, 0, !1, !0), i || A()), r.watchOverflow && n !== t.snapGrid && t.checkOverflow(), t.emit("update")
    }
    changeDirection(t, n = !0) {
        const r = this,
            A = r.params.direction;
        return t || (t = A === "horizontal" ? "vertical" : "horizontal"), t === A || t !== "horizontal" && t !== "vertical" || (r.$el.removeClass(`${r.params.containerModifierClass}${A}`).addClass(`${r.params.containerModifierClass}${t}`), r.emitContainerClasses(), r.params.direction = t, r.slides.each(i => {
            t === "vertical" ? i.style.width = "" : i.style.height = ""
        }), r.emit("changeDirection"), n && r.update()), r
    }
    changeLanguageDirection(t) {
        const n = this;
        n.rtl && t === "rtl" || !n.rtl && t === "ltr" || (n.rtl = t === "rtl", n.rtlTranslate = n.params.direction === "horizontal" && n.rtl, n.rtl ? (n.$el.addClass(`${n.params.containerModifierClass}rtl`), n.el.dir = "rtl") : (n.$el.removeClass(`${n.params.containerModifierClass}rtl`), n.el.dir = "ltr"), n.update())
    }
    mount(t) {
        const n = this;
        if (n.mounted) return !0;
        const r = st(t || n.params.el);
        if (t = r[0], !t) return !1;
        t.swiper = n;
        const A = () => `.${(n.params.wrapperClass||"").trim().split(" ").join(".")}`;
        let s = (() => {
            if (t && t.shadowRoot && t.shadowRoot.querySelector) {
                const o = st(t.shadowRoot.querySelector(A()));
                return o.children = a => r.children(a), o
            }
            return r.children ? r.children(A()) : st(r).children(A())
        })();
        if (s.length === 0 && n.params.createElements) {
            const a = tr().createElement("div");
            s = st(a), a.className = n.params.wrapperClass, r.append(a), r.children(`.${n.params.slideClass}`).each(l => {
                s.append(l)
            })
        }
        return Object.assign(n, {
            $el: r,
            el: t,
            $wrapperEl: s,
            wrapperEl: s[0],
            mounted: !0,
            rtl: t.dir.toLowerCase() === "rtl" || r.css("direction") === "rtl",
            rtlTranslate: n.params.direction === "horizontal" && (t.dir.toLowerCase() === "rtl" || r.css("direction") === "rtl"),
            wrongRTL: s.css("display") === "-webkit-box"
        }), !0
    }
    init(t) {
        const n = this;
        return n.initialized || n.mount(t) === !1 || (n.emit("beforeInit"), n.params.breakpoints && n.setBreakpoint(), n.addClasses(), n.params.loop && n.loopCreate(), n.updateSize(), n.updateSlides(), n.params.watchOverflow && n.checkOverflow(), n.params.grabCursor && n.enabled && n.setGrabCursor(), n.params.preloadImages && n.preloadImages(), n.params.loop ? n.slideTo(n.params.initialSlide + n.loopedSlides, 0, n.params.runCallbacksOnInit, !1, !0) : n.slideTo(n.params.initialSlide, 0, n.params.runCallbacksOnInit, !1, !0), n.attachEvents(), n.initialized = !0, n.emit("init"), n.emit("afterInit")), n
    }
    destroy(t = !0, n = !0) {
        const r = this,
            {
                params: A,
                $el: i,
                $wrapperEl: s,
                slides: o
            } = r;
        return typeof r.params > "u" || r.destroyed || (r.emit("beforeDestroy"), r.initialized = !1, r.detachEvents(), A.loop && r.loopDestroy(), n && (r.removeClasses(), i.removeAttr("style"), s.removeAttr("style"), o && o.length && o.removeClass([A.slideVisibleClass, A.slideActiveClass, A.slideNextClass, A.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), r.emit("destroy"), Object.keys(r.eventsListeners).forEach(a => {
            r.off(a)
        }), t !== !1 && (r.$el[0].swiper = null, qJ(r)), r.destroyed = !0), null
    }
    static extendDefaults(t) {
        Dr(Jh, t)
    }
    static get extendedDefaults() {
        return Jh
    }
    static get defaults() {
        return Q7
    }
    static installModule(t) {
        hi.prototype.__modules__ || (hi.prototype.__modules__ = []);
        const n = hi.prototype.__modules__;
        typeof t == "function" && n.indexOf(t) < 0 && n.push(t)
    }
    static use(t) {
        return Array.isArray(t) ? (t.forEach(n => hi.installModule(n)), hi) : (hi.installModule(t), hi)
    }
};
Object.keys(Xh).forEach(e => {
    Object.keys(Xh[e]).forEach(t => {
        Xa.prototype[t] = Xh[e][t]
    })
});
Xa.use([oq, aq]);

function Loe({
    swiper: e,
    extendParams: t,
    on: n,
    emit: r
}) {
    let A;
    e.autoplay = {
        running: !1,
        paused: !1
    }, t({
        autoplay: {
            enabled: !1,
            delay: 3e3,
            waitForTransition: !0,
            disableOnInteraction: !0,
            stopOnLastSlide: !1,
            reverseDirection: !1,
            pauseOnMouseEnter: !1
        }
    });

    function i() {
        if (!e.size) {
            e.autoplay.running = !1, e.autoplay.paused = !1;
            return
        }
        const B = e.slides.eq(e.activeIndex);
        let C = e.params.autoplay.delay;
        B.attr("data-swiper-autoplay") && (C = B.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(A), A = If(() => {
            let w;
            e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), w = e.slidePrev(e.params.speed, !0, !0), r("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? o() : (w = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), r("autoplay")) : (w = e.slidePrev(e.params.speed, !0, !0), r("autoplay")) : e.params.loop ? (e.loopFix(), w = e.slideNext(e.params.speed, !0, !0), r("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? o() : (w = e.slideTo(0, e.params.speed, !0, !0), r("autoplay")) : (w = e.slideNext(e.params.speed, !0, !0), r("autoplay")), (e.params.cssMode && e.autoplay.running || w === !1) && i()
        }, C)
    }

    function s() {
        return typeof A < "u" || e.autoplay.running ? !1 : (e.autoplay.running = !0, r("autoplayStart"), i(), !0)
    }

    function o() {
        return !e.autoplay.running || typeof A > "u" ? !1 : (A && (clearTimeout(A), A = void 0), e.autoplay.running = !1, r("autoplayStop"), !0)
    }

    function a(B) {
        e.autoplay.running && (e.autoplay.paused || (A && clearTimeout(A), e.autoplay.paused = !0, B === 0 || !e.params.autoplay.waitForTransition ? (e.autoplay.paused = !1, i()) : ["transitionend", "webkitTransitionEnd"].forEach(C => {
            e.$wrapperEl[0].addEventListener(C, u)
        })))
    }

    function l() {
        const B = tr();
        B.visibilityState === "hidden" && e.autoplay.running && a(), B.visibilityState === "visible" && e.autoplay.paused && (i(), e.autoplay.paused = !1)
    }

    function u(B) {
        !e || e.destroyed || !e.$wrapperEl || B.target === e.$wrapperEl[0] && (["transitionend", "webkitTransitionEnd"].forEach(C => {
            e.$wrapperEl[0].removeEventListener(C, u)
        }), e.autoplay.paused = !1, e.autoplay.running ? i() : o())
    }

    function f() {
        e.params.autoplay.disableOnInteraction ? o() : (r("autoplayPause"), a()), ["transitionend", "webkitTransitionEnd"].forEach(B => {
            e.$wrapperEl[0].removeEventListener(B, u)
        })
    }

    function d() {
        e.params.autoplay.disableOnInteraction || (e.autoplay.paused = !1, r("autoplayResume"), i())
    }

    function p() {
        e.params.autoplay.pauseOnMouseEnter && (e.$el.on("mouseenter", f), e.$el.on("mouseleave", d))
    }

    function v() {
        e.$el.off("mouseenter", f), e.$el.off("mouseleave", d)
    }
    n("init", () => {
        e.params.autoplay.enabled && (s(), tr().addEventListener("visibilitychange", l), p())
    }), n("beforeTransitionStart", (B, C, w) => {
        e.autoplay.running && (w || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(C) : o())
    }), n("sliderFirstMove", () => {
        e.autoplay.running && (e.params.autoplay.disableOnInteraction ? o() : a())
    }), n("touchEnd", () => {
        e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && i()
    }), n("destroy", () => {
        v(), e.autoplay.running && o(), tr().removeEventListener("visibilitychange", l)
    }), Object.assign(e.autoplay, {
        pause: a,
        run: i,
        start: s,
        stop: o
    })
}

function Lo(e) {
    return typeof e == "object" && e !== null && e.constructor && Object.prototype.toString.call(e).slice(8, -1) === "Object"
}

function gs(e, t) {
    const n = ["__proto__", "constructor", "prototype"];
    Object.keys(t).filter(r => n.indexOf(r) < 0).forEach(r => {
        typeof e[r] > "u" ? e[r] = t[r] : Lo(t[r]) && Lo(e[r]) && Object.keys(t[r]).length > 0 ? t[r].__swiper__ ? e[r] = t[r] : gs(e[r], t[r]) : e[r] = t[r]
    })
}

function db(e = {}) {
    return e.navigation && typeof e.navigation.nextEl > "u" && typeof e.navigation.prevEl > "u"
}

function hb(e = {}) {
    return e.pagination && typeof e.pagination.el > "u"
}

function pb(e = {}) {
    return e.scrollbar && typeof e.scrollbar.el > "u"
}

function gb(e = "") {
    const t = e.split(" ").map(r => r.trim()).filter(r => !!r),
        n = [];
    return t.forEach(r => {
        n.indexOf(r) < 0 && n.push(r)
    }), n.join(" ")
}
const vb = ["modules", "init", "_direction", "touchEventsTarget", "initialSlide", "_speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "_enabled", "_width", "_height", "preventInteractionOnTransition", "userAgent", "url", "_edgeSwipeDetection", "_edgeSwipeThreshold", "_freeMode", "_autoHeight", "setWrapperSize", "virtualTranslate", "_effect", "breakpoints", "_spaceBetween", "_slidesPerView", "maxBackfaceHiddenSlides", "_grid", "_slidesPerGroup", "_slidesPerGroupSkip", "_slidesPerGroupAuto", "_centeredSlides", "_centeredSlidesBounds", "_slidesOffsetBefore", "_slidesOffsetAfter", "normalizeSlideIndex", "_centerInsufficientSlides", "_watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "_shortSwipes", "_longSwipes", "longSwipesRatio", "longSwipesMs", "_followFinger", "allowTouchMove", "_threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "_resistance", "_resistanceRatio", "_watchSlidesProgress", "_grabCursor", "preventClicks", "preventClicksPropagation", "_slideToClickedSlide", "_preloadImages", "updateOnImagesReady", "_loop", "_loopAdditionalSlides", "_loopedSlides", "_loopedSlidesLimit", "_loopFillGroupWithBlank", "loopPreventsSlide", "_rewind", "_allowSlidePrev", "_allowSlideNext", "_swipeHandler", "_noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observer", "observeParents", "observeSlideChildren", "a11y", "_autoplay", "_controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "_navigation", "_pagination", "parallax", "_scrollbar", "_thumbs", "virtual", "zoom"];

function U7(e = {}, t = !0) {
    const n = {
            on: {}
        },
        r = {},
        A = {};
    gs(n, Xa.defaults), gs(n, Xa.extendedDefaults), n._emitClasses = !0, n.init = !1;
    const i = {},
        s = vb.map(a => a.replace(/_/, "")),
        o = Object.assign({}, e);
    return Object.keys(o).forEach(a => {
        typeof e[a] > "u" || (s.indexOf(a) >= 0 ? Lo(e[a]) ? (n[a] = {}, A[a] = {}, gs(n[a], e[a]), gs(A[a], e[a])) : (n[a] = e[a], A[a] = e[a]) : a.search(/on[A-Z]/) === 0 && typeof e[a] == "function" ? t ? r[`${a[2].toLowerCase()}${a.substr(3)}`] = e[a] : n.on[`${a[2].toLowerCase()}${a.substr(3)}`] = e[a] : i[a] = e[a])
    }), ["navigation", "pagination", "scrollbar"].forEach(a => {
        n[a] === !0 && (n[a] = {}), n[a] === !1 && delete n[a]
    }), {
        params: n,
        passedParams: A,
        rest: i,
        events: r
    }
}

function hZ({
    el: e,
    nextEl: t,
    prevEl: n,
    paginationEl: r,
    scrollbarEl: A,
    swiper: i
}, s) {
    db(s) && t && n && (i.params.navigation.nextEl = t, i.originalParams.navigation.nextEl = t, i.params.navigation.prevEl = n, i.originalParams.navigation.prevEl = n), hb(s) && r && (i.params.pagination.el = r, i.originalParams.pagination.el = r), pb(s) && A && (i.params.scrollbar.el = A, i.originalParams.scrollbar.el = A), i.init(e)
}
const mb = (e, t) => {
    let n = t.slidesPerView;
    if (t.breakpoints) {
        const A = Xa.prototype.getBreakpoint(t.breakpoints),
            i = A in t.breakpoints ? t.breakpoints[A] : void 0;
        i && i.slidesPerView && (n = i.slidesPerView)
    }
    let r = Math.ceil(parseFloat(t.loopedSlides || n, 10));
    return r += t.loopAdditionalSlides, r > e.length && t.loopedSlidesLimit && (r = e.length), r
};

function pZ(e, t, n) {
    const r = t.map((a, l) => (a.props || (a.props = {}), a.props.swiperRef = e, a.props["data-swiper-slide-index"] = l, a));

    function A(a, l, u) {
        return a.props || (a.props = {}), Rn(a.type, { ...a.props,
            key: `${a.key}-duplicate-${l}-${u}`,
            class: `${a.props.className||""} ${n.slideDuplicateClass} ${a.props.class||""}`
        }, a.children)
    }
    if (n.loopFillGroupWithBlank) {
        const a = n.slidesPerGroup - r.length % n.slidesPerGroup;
        if (a !== n.slidesPerGroup)
            for (let l = 0; l < a; l += 1) {
                const u = Rn("div", {
                    class: `${n.slideClass} ${n.slideBlankClass}`
                });
                r.push(u)
            }
    }
    n.slidesPerView === "auto" && !n.loopedSlides && (n.loopedSlides = r.length);
    const i = mb(r, n),
        s = [],
        o = [];
    for (let a = 0; a < i; a += 1) {
        const l = a - Math.floor(a / r.length) * r.length;
        o.push(A(r[l], a, "append")), s.unshift(A(r[r.length - l - 1], a, "prepend"))
    }
    return e.value && (e.value.loopedSlides = i), [...s, ...r, ...o]
}

function gZ(e, t, n, r, A) {
    const i = [];
    if (!t) return i;
    const s = a => {
        i.indexOf(a) < 0 && i.push(a)
    };
    if (n && r) {
        const a = r.map(A),
            l = n.map(A);
        a.join("") !== l.join("") && s("children"), r.length !== n.length && s("children")
    }
    return vb.filter(a => a[0] === "_").map(a => a.replace(/_/, "")).forEach(a => {
        if (a in e && a in t)
            if (Lo(e[a]) && Lo(t[a])) {
                const l = Object.keys(e[a]),
                    u = Object.keys(t[a]);
                l.length !== u.length ? s(a) : (l.forEach(f => {
                    e[a][f] !== t[a][f] && s(a)
                }), u.forEach(f => {
                    e[a][f] !== t[a][f] && s(a)
                }))
            } else e[a] !== t[a] && s(a)
    }), i
}

function qh(e, t, n) {
    e === void 0 && (e = {});
    const r = [],
        A = {
            "container-start": [],
            "container-end": [],
            "wrapper-start": [],
            "wrapper-end": []
        },
        i = (s, o) => {
            Array.isArray(s) && s.forEach(a => {
                const l = typeof a.type == "symbol";
                o === "default" && (o = "container-end"), l && a.children ? i(a.children, "default") : a.type && (a.type.name === "SwiperSlide" || a.type.name === "AsyncComponentWrapper") ? r.push(a) : A[o] && A[o].push(a)
            })
        };
    return Object.keys(e).forEach(s => {
        if (typeof e[s] != "function") return;
        const o = e[s]();
        i(o, s)
    }), n.value = t.value, t.value = r, {
        slides: r,
        slots: A
    }
}

function vZ({
    swiper: e,
    slides: t,
    passedParams: n,
    changedParams: r,
    nextEl: A,
    prevEl: i,
    scrollbarEl: s,
    paginationEl: o
}) {
    const a = r.filter(x => x !== "children" && x !== "direction"),
        {
            params: l,
            pagination: u,
            navigation: f,
            scrollbar: d,
            virtual: p,
            thumbs: v
        } = e;
    let B, C, w, m, E;
    r.includes("thumbs") && n.thumbs && n.thumbs.swiper && l.thumbs && !l.thumbs.swiper && (B = !0), r.includes("controller") && n.controller && n.controller.control && l.controller && !l.controller.control && (C = !0), r.includes("pagination") && n.pagination && (n.pagination.el || o) && (l.pagination || l.pagination === !1) && u && !u.el && (w = !0), r.includes("scrollbar") && n.scrollbar && (n.scrollbar.el || s) && (l.scrollbar || l.scrollbar === !1) && d && !d.el && (m = !0), r.includes("navigation") && n.navigation && (n.navigation.prevEl || i) && (n.navigation.nextEl || A) && (l.navigation || l.navigation === !1) && f && !f.prevEl && !f.nextEl && (E = !0);
    const y = x => {
        e[x] && (e[x].destroy(), x === "navigation" ? (l[x].prevEl = void 0, l[x].nextEl = void 0, e[x].prevEl = void 0, e[x].nextEl = void 0) : (l[x].el = void 0, e[x].el = void 0))
    };
    a.forEach(x => {
        if (Lo(l[x]) && Lo(n[x])) gs(l[x], n[x]);
        else {
            const F = n[x];
            (F === !0 || F === !1) && (x === "navigation" || x === "pagination" || x === "scrollbar") ? F === !1 && y(x): l[x] = n[x]
        }
    }), a.includes("controller") && !C && e.controller && e.controller.control && l.controller && l.controller.control && (e.controller.control = l.controller.control), r.includes("children") && t && p && l.virtual.enabled ? (p.slides = t, p.update(!0)) : r.includes("children") && e.lazy && e.params.lazy.enabled && e.lazy.load(), B && v.init() && v.update(!0), C && (e.controller.control = l.controller.control), w && (o && (l.pagination.el = o), u.init(), u.render(), u.update()), m && (s && (l.scrollbar.el = s), d.init(), d.updateSize(), d.setTranslate()), E && (A && (l.navigation.nextEl = A), i && (l.navigation.prevEl = i), f.init(), f.update()), r.includes("allowSlideNext") && (e.allowSlideNext = n.allowSlideNext), r.includes("allowSlidePrev") && (e.allowSlidePrev = n.allowSlidePrev), r.includes("direction") && e.changeDirection(n.direction, !1), e.update()
}

function mZ(e, t, n) {
    if (!n) return null;
    const r = e.value.isHorizontal() ? {
        [e.value.rtlTranslate ? "right" : "left"]: `${n.offset}px`
    } : {
        top: `${n.offset}px`
    };
    return t.filter((A, i) => i >= n.from && i <= n.to).map(A => (A.props || (A.props = {}), A.props.style || (A.props.style = {}), A.props.swiperRef = e, A.props.style = r, Rn(A.type, { ...A.props
    }, A.children)))
}
const BZ = e => {
        !e || e.destroyed || !e.params.virtual || e.params.virtual && !e.params.virtual.enabled || (e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.lazy && e.params.lazy.enabled && e.lazy.load(), e.parallax && e.params.parallax && e.params.parallax.enabled && e.parallax.setTranslate())
    },
    koe = {
        name: "Swiper",
        props: {
            tag: {
                type: String,
                default: "div"
            },
            wrapperTag: {
                type: String,
                default: "div"
            },
            modules: {
                type: Array,
                default: void 0
            },
            init: {
                type: Boolean,
                default: void 0
            },
            direction: {
                type: String,
                default: void 0
            },
            touchEventsTarget: {
                type: String,
                default: void 0
            },
            initialSlide: {
                type: Number,
                default: void 0
            },
            speed: {
                type: Number,
                default: void 0
            },
            cssMode: {
                type: Boolean,
                default: void 0
            },
            updateOnWindowResize: {
                type: Boolean,
                default: void 0
            },
            resizeObserver: {
                type: Boolean,
                default: void 0
            },
            nested: {
                type: Boolean,
                default: void 0
            },
            focusableElements: {
                type: String,
                default: void 0
            },
            width: {
                type: Number,
                default: void 0
            },
            height: {
                type: Number,
                default: void 0
            },
            preventInteractionOnTransition: {
                type: Boolean,
                default: void 0
            },
            userAgent: {
                type: String,
                default: void 0
            },
            url: {
                type: String,
                default: void 0
            },
            edgeSwipeDetection: {
                type: [Boolean, String],
                default: void 0
            },
            edgeSwipeThreshold: {
                type: Number,
                default: void 0
            },
            autoHeight: {
                type: Boolean,
                default: void 0
            },
            setWrapperSize: {
                type: Boolean,
                default: void 0
            },
            virtualTranslate: {
                type: Boolean,
                default: void 0
            },
            effect: {
                type: String,
                default: void 0
            },
            breakpoints: {
                type: Object,
                default: void 0
            },
            spaceBetween: {
                type: Number,
                default: void 0
            },
            slidesPerView: {
                type: [Number, String],
                default: void 0
            },
            maxBackfaceHiddenSlides: {
                type: Number,
                default: void 0
            },
            slidesPerGroup: {
                type: Number,
                default: void 0
            },
            slidesPerGroupSkip: {
                type: Number,
                default: void 0
            },
            slidesPerGroupAuto: {
                type: Boolean,
                default: void 0
            },
            centeredSlides: {
                type: Boolean,
                default: void 0
            },
            centeredSlidesBounds: {
                type: Boolean,
                default: void 0
            },
            slidesOffsetBefore: {
                type: Number,
                default: void 0
            },
            slidesOffsetAfter: {
                type: Number,
                default: void 0
            },
            normalizeSlideIndex: {
                type: Boolean,
                default: void 0
            },
            centerInsufficientSlides: {
                type: Boolean,
                default: void 0
            },
            watchOverflow: {
                type: Boolean,
                default: void 0
            },
            roundLengths: {
                type: Boolean,
                default: void 0
            },
            touchRatio: {
                type: Number,
                default: void 0
            },
            touchAngle: {
                type: Number,
                default: void 0
            },
            simulateTouch: {
                type: Boolean,
                default: void 0
            },
            shortSwipes: {
                type: Boolean,
                default: void 0
            },
            longSwipes: {
                type: Boolean,
                default: void 0
            },
            longSwipesRatio: {
                type: Number,
                default: void 0
            },
            longSwipesMs: {
                type: Number,
                default: void 0
            },
            followFinger: {
                type: Boolean,
                default: void 0
            },
            allowTouchMove: {
                type: Boolean,
                default: void 0
            },
            threshold: {
                type: Number,
                default: void 0
            },
            touchMoveStopPropagation: {
                type: Boolean,
                default: void 0
            },
            touchStartPreventDefault: {
                type: Boolean,
                default: void 0
            },
            touchStartForcePreventDefault: {
                type: Boolean,
                default: void 0
            },
            touchReleaseOnEdges: {
                type: Boolean,
                default: void 0
            },
            uniqueNavElements: {
                type: Boolean,
                default: void 0
            },
            resistance: {
                type: Boolean,
                default: void 0
            },
            resistanceRatio: {
                type: Number,
                default: void 0
            },
            watchSlidesProgress: {
                type: Boolean,
                default: void 0
            },
            grabCursor: {
                type: Boolean,
                default: void 0
            },
            preventClicks: {
                type: Boolean,
                default: void 0
            },
            preventClicksPropagation: {
                type: Boolean,
                default: void 0
            },
            slideToClickedSlide: {
                type: Boolean,
                default: void 0
            },
            preloadImages: {
                type: Boolean,
                default: void 0
            },
            updateOnImagesReady: {
                type: Boolean,
                default: void 0
            },
            loop: {
                type: Boolean,
                default: void 0
            },
            loopAdditionalSlides: {
                type: Number,
                default: void 0
            },
            loopedSlides: {
                type: Number,
                default: void 0
            },
            loopedSlidesLimit: {
                type: Boolean,
                default: !0
            },
            loopFillGroupWithBlank: {
                type: Boolean,
                default: void 0
            },
            loopPreventsSlide: {
                type: Boolean,
                default: void 0
            },
            rewind: {
                type: Boolean,
                default: void 0
            },
            allowSlidePrev: {
                type: Boolean,
                default: void 0
            },
            allowSlideNext: {
                type: Boolean,
                default: void 0
            },
            swipeHandler: {
                type: Boolean,
                default: void 0
            },
            noSwiping: {
                type: Boolean,
                default: void 0
            },
            noSwipingClass: {
                type: String,
                default: void 0
            },
            noSwipingSelector: {
                type: String,
                default: void 0
            },
            passiveListeners: {
                type: Boolean,
                default: void 0
            },
            containerModifierClass: {
                type: String,
                default: void 0
            },
            slideClass: {
                type: String,
                default: void 0
            },
            slideBlankClass: {
                type: String,
                default: void 0
            },
            slideActiveClass: {
                type: String,
                default: void 0
            },
            slideDuplicateActiveClass: {
                type: String,
                default: void 0
            },
            slideVisibleClass: {
                type: String,
                default: void 0
            },
            slideDuplicateClass: {
                type: String,
                default: void 0
            },
            slideNextClass: {
                type: String,
                default: void 0
            },
            slideDuplicateNextClass: {
                type: String,
                default: void 0
            },
            slidePrevClass: {
                type: String,
                default: void 0
            },
            slideDuplicatePrevClass: {
                type: String,
                default: void 0
            },
            wrapperClass: {
                type: String,
                default: void 0
            },
            runCallbacksOnInit: {
                type: Boolean,
                default: void 0
            },
            observer: {
                type: Boolean,
                default: void 0
            },
            observeParents: {
                type: Boolean,
                default: void 0
            },
            observeSlideChildren: {
                type: Boolean,
                default: void 0
            },
            a11y: {
                type: [Boolean, Object],
                default: void 0
            },
            autoplay: {
                type: [Boolean, Object],
                default: void 0
            },
            controller: {
                type: Object,
                default: void 0
            },
            coverflowEffect: {
                type: Object,
                default: void 0
            },
            cubeEffect: {
                type: Object,
                default: void 0
            },
            fadeEffect: {
                type: Object,
                default: void 0
            },
            flipEffect: {
                type: Object,
                default: void 0
            },
            creativeEffect: {
                type: Object,
                default: void 0
            },
            cardsEffect: {
                type: Object,
                default: void 0
            },
            hashNavigation: {
                type: [Boolean, Object],
                default: void 0
            },
            history: {
                type: [Boolean, Object],
                default: void 0
            },
            keyboard: {
                type: [Boolean, Object],
                default: void 0
            },
            lazy: {
                type: [Boolean, Object],
                default: void 0
            },
            mousewheel: {
                type: [Boolean, Object],
                default: void 0
            },
            navigation: {
                type: [Boolean, Object],
                default: void 0
            },
            pagination: {
                type: [Boolean, Object],
                default: void 0
            },
            parallax: {
                type: [Boolean, Object],
                default: void 0
            },
            scrollbar: {
                type: [Boolean, Object],
                default: void 0
            },
            thumbs: {
                type: Object,
                default: void 0
            },
            virtual: {
                type: [Boolean, Object],
                default: void 0
            },
            zoom: {
                type: [Boolean, Object],
                default: void 0
            },
            grid: {
                type: [Object],
                default: void 0
            },
            freeMode: {
                type: [Boolean, Object],
                default: void 0
            },
            enabled: {
                type: Boolean,
                default: void 0
            }
        },
        emits: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_slideClasses", "_swiper", "_freeModeNoMomentumRelease", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "disable", "doubleTap", "doubleClick", "destroy", "enable", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "lock", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "swiper", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "unlock", "update", "virtualUpdate", "zoomChange"],
        setup(e, t) {
            let {
                slots: n,
                emit: r
            } = t;
            const {
                tag: A,
                wrapperTag: i
            } = e, s = Ie("swiper"), o = Ie(null), a = Ie(!1), l = Ie(!1), u = Ie(null), f = Ie(null), d = Ie(null), p = {
                value: []
            }, v = {
                value: []
            }, B = Ie(null), C = Ie(null), w = Ie(null), m = Ie(null), {
                params: E,
                passedParams: y
            } = U7(e, !1);
            qh(n, p, v), d.value = y, v.value = p.value;
            const x = () => {
                qh(n, p, v), a.value = !0
            };
            if (E.onAny = function(Q) {
                    for (var P = arguments.length, L = new Array(P > 1 ? P - 1 : 0), I = 1; I < P; I++) L[I - 1] = arguments[I];
                    r(Q, ...L)
                }, Object.assign(E.on, {
                    _beforeBreakpoint: x,
                    _containerClasses(Q, P) {
                        s.value = P
                    }
                }), f.value = new Xa(E), f.value.loopCreate = () => {}, f.value.loopDestroy = () => {}, E.loop && (f.value.loopedSlides = mb(p.value, E)), f.value.virtual && f.value.params.virtual.enabled) {
                f.value.virtual.slides = p.value;
                const Q = {
                    cache: !1,
                    slides: p.value,
                    renderExternal: P => {
                        o.value = P
                    },
                    renderExternalUpdate: !1
                };
                gs(f.value.params.virtual, Q), gs(f.value.originalParams.virtual, Q)
            }
            No(() => {
                !l.value && f.value && (f.value.emitSlidesClasses(), l.value = !0);
                const {
                    passedParams: Q
                } = U7(e, !1), P = gZ(Q, d.value, p.value, v.value, L => L.props && L.props.key);
                d.value = Q, (P.length || a.value) && f.value && !f.value.destroyed && vZ({
                    swiper: f.value,
                    slides: p.value,
                    passedParams: Q,
                    changedParams: P,
                    nextEl: B.value,
                    prevEl: C.value,
                    scrollbarEl: m.value,
                    paginationEl: w.value
                }), a.value = !1
            }), BA("swiper", f), Xe(o, () => {
                bt(() => {
                    BZ(f.value)
                })
            }), sn(() => {
                u.value && (hZ({
                    el: u.value,
                    nextEl: B.value,
                    prevEl: C.value,
                    paginationEl: w.value,
                    scrollbarEl: m.value,
                    swiper: f.value
                }, E), r("swiper", f.value))
            }), $r(() => {
                f.value && !f.value.destroyed && f.value.destroy(!0, !1)
            });

            function F(Q) {
                return E.virtual ? mZ(f, Q, o.value) : !E.loop || f.value && f.value.destroyed ? (Q.forEach(P => {
                    P.props || (P.props = {}), P.props.swiperRef = f
                }), Q) : pZ(f, Q, E)
            }
            return () => {
                const {
                    slides: Q,
                    slots: P
                } = qh(n, p, v);
                return Rn(A, {
                    ref: u,
                    class: gb(s.value)
                }, [P["container-start"], Rn(i, {
                    class: "swiper-wrapper"
                }, [P["wrapper-start"], F(Q), P["wrapper-end"]]), db(e) && [Rn("div", {
                    ref: C,
                    class: "swiper-button-prev"
                }), Rn("div", {
                    ref: B,
                    class: "swiper-button-next"
                })], pb(e) && Rn("div", {
                    ref: m,
                    class: "swiper-scrollbar"
                }), hb(e) && Rn("div", {
                    ref: w,
                    class: "swiper-pagination"
                }), P["container-end"]])
            }
        }
    },
    Hoe = {
        name: "SwiperSlide",
        props: {
            tag: {
                type: String,
                default: "div"
            },
            swiperRef: {
                type: Object,
                required: !1
            },
            zoom: {
                type: Boolean,
                default: void 0
            },
            virtualIndex: {
                type: [String, Number],
                default: void 0
            }
        },
        setup(e, t) {
            let {
                slots: n
            } = t, r = !1;
            const {
                swiperRef: A
            } = e, i = Ie(null), s = Ie("swiper-slide");

            function o(l, u, f) {
                u === i.value && (s.value = f)
            }
            sn(() => {
                !A || !A.value || (A.value.on("_slideClass", o), r = !0)
            }), s1(() => {
                r || !A || !A.value || (A.value.on("_slideClass", o), r = !0)
            }), No(() => {
                !i.value || !A || !A.value || A.value.destroyed && s.value !== "swiper-slide" && (s.value = "swiper-slide")
            }), $r(() => {
                !A || !A.value || A.value.off("_slideClass", o)
            });
            const a = De(() => ({
                isActive: s.value.indexOf("swiper-slide-active") >= 0 || s.value.indexOf("swiper-slide-duplicate-active") >= 0,
                isVisible: s.value.indexOf("swiper-slide-visible") >= 0,
                isDuplicate: s.value.indexOf("swiper-slide-duplicate") >= 0,
                isPrev: s.value.indexOf("swiper-slide-prev") >= 0 || s.value.indexOf("swiper-slide-duplicate-prev") >= 0,
                isNext: s.value.indexOf("swiper-slide-next") >= 0 || s.value.indexOf("swiper-slide-duplicate-next") >= 0
            }));
            return BA("swiperSlide", a), () => Rn(e.tag, {
                class: gb(`${s.value}`),
                ref: i,
                "data-swiper-slide-index": e.virtualIndex
            }, e.zoom ? Rn("div", {
                class: "swiper-zoom-container",
                "data-swiper-zoom": typeof e.zoom == "number" ? e.zoom : void 0
            }, n.default && n.default(a.value)) : n.default && n.default(a.value))
        }
    };
var Ye = {
    pullStartY: null,
    pullMoveY: null,
    handlers: [],
    styleEl: null,
    events: null,
    dist: 0,
    state: "pending",
    timeout: null,
    distResisted: 0,
    supportsPassive: !1,
    supportsPointerEvents: typeof window < "u" && !!window.PointerEvent
};
try {
    window.addEventListener("test", null, {
        get passive() {
            Ye.supportsPassive = !0
        }
    })
} catch {}

function wZ(e) {
    if (!e.ptrElement) {
        var t = document.createElement("div");
        e.mainElement !== document.body ? e.mainElement.parentNode.insertBefore(t, e.mainElement) : document.body.insertBefore(t, document.body.firstChild), t.classList.add(e.classPrefix + "ptr"), t.innerHTML = e.getMarkup().replace(/__PREFIX__/g, e.classPrefix), e.ptrElement = t, typeof e.onInit == "function" && e.onInit(e), Ye.styleEl || (Ye.styleEl = document.createElement("style"), Ye.styleEl.setAttribute("id", "pull-to-refresh-js-style"), document.head.appendChild(Ye.styleEl)), Ye.styleEl.textContent = e.getStyles().replace(/__PREFIX__/g, e.classPrefix).replace(/\s+/g, " ")
    }
    return e
}

function yZ(e) {
    e.ptrElement && (e.ptrElement.classList.remove(e.classPrefix + "refresh"), e.ptrElement.style[e.cssProp] = "0px", setTimeout(function() {
        e.ptrElement && e.ptrElement.parentNode && (e.ptrElement.parentNode.removeChild(e.ptrElement), e.ptrElement = null), Ye.state = "pending"
    }, e.refreshTimeout))
}

function CZ(e) {
    var t = e.ptrElement.querySelector("." + e.classPrefix + "icon"),
        n = e.ptrElement.querySelector("." + e.classPrefix + "text");
    t && (Ye.state === "refreshing" ? t.innerHTML = e.iconRefreshing : t.innerHTML = e.iconArrow), n && (Ye.state === "releasing" && (n.innerHTML = e.instructionsReleaseToRefresh), (Ye.state === "pulling" || Ye.state === "pending") && (n.innerHTML = e.instructionsPullToRefresh), Ye.state === "refreshing" && (n.innerHTML = e.instructionsRefreshing))
}
var Ur = {
        setupDOM: wZ,
        onReset: yZ,
        update: CZ
    },
    P7, Zh = function(t) {
        return Ye.pointerEventsEnabled && Ye.supportsPointerEvents ? t.screenY : t.touches[0].screenY
    },
    Bb = function() {
        var e;

        function t(s) {
            var o = Ye.handlers.filter(function(a) {
                return a.contains(s.target)
            })[0];
            Ye.enable = !!o, o && Ye.state === "pending" && (e = Ur.setupDOM(o), o.shouldPullToRefresh() && (Ye.pullStartY = Zh(s)), clearTimeout(Ye.timeout), Ur.update(o))
        }

        function n(s) {
            if (e && e.ptrElement && Ye.enable) {
                if (Ye.pullStartY ? Ye.pullMoveY = Zh(s) : e.shouldPullToRefresh() && (Ye.pullStartY = Zh(s)), Ye.state === "refreshing") {
                    s.cancelable && e.shouldPullToRefresh() && Ye.pullStartY < Ye.pullMoveY && s.preventDefault();
                    return
                }
                Ye.state === "pending" && (e.ptrElement.classList.add(e.classPrefix + "pull"), Ye.state = "pulling", Ur.update(e)), Ye.pullStartY && Ye.pullMoveY && (Ye.dist = Ye.pullMoveY - Ye.pullStartY), Ye.distExtra = Ye.dist - e.distIgnore, Ye.distExtra > 0 && (s.cancelable && s.preventDefault(), e.ptrElement.style[e.cssProp] = Ye.distResisted + "px", Ye.distResisted = e.resistanceFunction(Ye.distExtra / e.distThreshold) * Math.min(e.distMax, Ye.distExtra), Ye.state === "pulling" && Ye.distResisted > e.distThreshold && (e.ptrElement.classList.add(e.classPrefix + "release"), Ye.state = "releasing", Ur.update(e)), Ye.state === "releasing" && Ye.distResisted < e.distThreshold && (e.ptrElement.classList.remove(e.classPrefix + "release"), Ye.state = "pulling", Ur.update(e)))
            }
        }

        function r() {
            if (e && e.ptrElement && Ye.enable) {
                if (clearTimeout(P7), P7 = setTimeout(function() {
                        e && e.ptrElement && Ye.state === "pending" && Ur.onReset(e)
                    }, 500), Ye.state === "releasing" && Ye.distResisted > e.distThreshold) Ye.state = "refreshing", e.ptrElement.style[e.cssProp] = e.distReload + "px", e.ptrElement.classList.add(e.classPrefix + "refresh"), Ye.timeout = setTimeout(function() {
                    var s = e.onRefresh(function() {
                        return Ur.onReset(e)
                    });
                    s && typeof s.then == "function" && s.then(function() {
                        return Ur.onReset(e)
                    }), !s && !e.onRefresh.length && Ur.onReset(e)
                }, e.refreshTimeout);
                else {
                    if (Ye.state === "refreshing") return;
                    e.ptrElement.style[e.cssProp] = "0px", Ye.state = "pending"
                }
                Ur.update(e), e.ptrElement.classList.remove(e.classPrefix + "release"), e.ptrElement.classList.remove(e.classPrefix + "pull"), Ye.pullStartY = Ye.pullMoveY = null, Ye.dist = Ye.distResisted = 0
            }
        }

        function A() {
            e && e.mainElement.classList.toggle(e.classPrefix + "top", e.shouldPullToRefresh())
        }
        var i = Ye.supportsPassive ? {
            passive: Ye.passive || !1
        } : void 0;
        return Ye.pointerEventsEnabled && Ye.supportsPointerEvents ? (window.addEventListener("pointerup", r), window.addEventListener("pointerdown", t), window.addEventListener("pointermove", n, i)) : (window.addEventListener("touchend", r), window.addEventListener("touchstart", t), window.addEventListener("touchmove", n, i)), window.addEventListener("scroll", A), {
            onTouchEnd: r,
            onTouchStart: t,
            onTouchMove: n,
            onScroll: A,
            destroy: function() {
                Ye.pointerEventsEnabled && Ye.supportsPointerEvents ? (window.removeEventListener("pointerdown", t), window.removeEventListener("pointerup", r), window.removeEventListener("pointermove", n, i)) : (window.removeEventListener("touchstart", t), window.removeEventListener("touchend", r), window.removeEventListener("touchmove", n, i)), window.removeEventListener("scroll", A)
            }
        }
    },
    EZ = `
<div class="__PREFIX__box">
  <div class="__PREFIX__content">
    <div class="__PREFIX__icon"></div>
    <div class="__PREFIX__text"></div>
  </div>
</div>
`,
    bZ = `
.__PREFIX__ptr {
  box-shadow: inset 0 -3px 5px rgba(0, 0, 0, 0.12);
  pointer-events: none;
  font-size: 0.85em;
  font-weight: bold;
  top: 0;
  height: 0;
  transition: height 0.3s, min-height 0.3s;
  text-align: center;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  align-content: stretch;
}

.__PREFIX__box {
  padding: 10px;
  flex-basis: 100%;
}

.__PREFIX__pull {
  transition: none;
}

.__PREFIX__text {
  margin-top: .33em;
  color: rgba(0, 0, 0, 0.3);
}

.__PREFIX__icon {
  color: rgba(0, 0, 0, 0.3);
  transition: transform .3s;
}

/*
When at the top of the page, disable vertical overscroll so passive touch
listeners can take over.
*/
.__PREFIX__top {
  touch-action: pan-x pan-down pinch-zoom;
}

.__PREFIX__release .__PREFIX__icon {
  transform: rotate(180deg);
}
`,
    e2 = {
        distThreshold: 60,
        distMax: 80,
        distReload: 50,
        distIgnore: 0,
        mainElement: "body",
        triggerElement: "body",
        ptrElement: ".ptr",
        classPrefix: "ptr--",
        cssProp: "min-height",
        iconArrow: "&#8675;",
        iconRefreshing: "&hellip;",
        instructionsPullToRefresh: "Pull down to refresh",
        instructionsReleaseToRefresh: "Release to refresh",
        instructionsRefreshing: "Refreshing",
        refreshTimeout: 500,
        getMarkup: function() {
            return EZ
        },
        getStyles: function() {
            return bZ
        },
        onInit: function() {},
        onRefresh: function() {
            return location.reload()
        },
        resistanceFunction: function(e) {
            return Math.min(1, e / 2.5)
        },
        shouldPullToRefresh: function() {
            return !window.scrollY
        }
    },
    xZ = ["mainElement", "ptrElement", "triggerElement"],
    O7 = function(e) {
        var t = {};
        return Object.keys(e2).forEach(function(n) {
            t[n] = e[n] || e2[n]
        }), t.refreshTimeout = typeof e.refreshTimeout == "number" ? e.refreshTimeout : e2.refreshTimeout, xZ.forEach(function(n) {
            typeof t[n] == "string" && (t[n] = document.querySelector(t[n]))
        }), Ye.events || (Ye.events = Bb()), t.contains = function(n) {
            return t.triggerElement.contains(n)
        }, t.destroy = function() {
            clearTimeout(Ye.timeout);
            var n = Ye.handlers.indexOf(t);
            Ye.handlers.splice(n, 1)
        }, t
    },
    _Z = {
        setPassiveMode: function(t) {
            Ye.passive = t
        },
        setPointerEventsMode: function(t) {
            Ye.pointerEventsEnabled = t
        },
        destroyAll: function() {
            Ye.events && (Ye.events.destroy(), Ye.events = null), Ye.handlers.forEach(function(t) {
                t.destroy()
            })
        },
        init: function(t) {
            t === void 0 && (t = {});
            var n = O7(t);
            return Ye.handlers.push(n), n
        },
        _: {
            setupHandler: O7,
            setupEvents: Bb,
            setupDOM: Ur.setupDOM,
            onReset: Ur.onReset,
            update: Ur.update
        }
    };
const Moe = _Z;
var wb = !1;
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var Cr = function() {
    return Cr = Object.assign || function(e) {
        for (var t, n = 1, r = arguments.length; n < r; n++)
            for (var A in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, A) && (e[A] = t[A]);
        return e
    }, Cr.apply(this, arguments)
};
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var Y6 = function(e, t) {
    return Y6 = Object.setPrototypeOf || {
        __proto__: []
    }
    instanceof Array && function(n, r) {
        n.__proto__ = r
    } || function(n, r) {
        for (var A in r) Object.prototype.hasOwnProperty.call(r, A) && (n[A] = r[A])
    }, Y6(e, t)
};

function O5(e, t) {
    if (typeof t != "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");

    function n() {
        this.constructor = e
    }
    Y6(e, t), e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n)
}
var Ei = function() {
    return Ei = Object.assign || function(e) {
        for (var t, n = 1, r = arguments.length; n < r; n++)
            for (var A in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, A) && (e[A] = t[A]);
        return e
    }, Ei.apply(this, arguments)
};

function bi(e, t, n, r) {
    return new(n || (n = Promise))(function(A, i) {
        function s(l) {
            try {
                a(r.next(l))
            } catch (u) {
                i(u)
            }
        }

        function o(l) {
            try {
                a(r.throw(l))
            } catch (u) {
                i(u)
            }
        }

        function a(l) {
            var u;
            l.done ? A(l.value) : (u = l.value, u instanceof n ? u : new n(function(f) {
                f(u)
            })).then(s, o)
        }
        a((r = r.apply(e, t || [])).next())
    })
}

function xi(e, t) {
    var n, r, A, i, s = {
        label: 0,
        sent: function() {
            if (1 & A[0]) throw A[1];
            return A[1]
        },
        trys: [],
        ops: []
    };
    return i = {
        next: o(0),
        throw: o(1),
        return: o(2)
    }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
        return this
    }), i;

    function o(a) {
        return function(l) {
            return function(u) {
                if (n) throw new TypeError("Generator is already executing.");
                for (; s;) try {
                    if (n = 1, r && (A = 2 & u[0] ? r.return : u[0] ? r.throw || ((A = r.return) && A.call(r), 0) : r.next) && !(A = A.call(r, u[1])).done) return A;
                    switch (r = 0, A && (u = [2 & u[0], A.value]), u[0]) {
                        case 0:
                        case 1:
                            A = u;
                            break;
                        case 4:
                            return s.label++, {
                                value: u[1],
                                done: !1
                            };
                        case 5:
                            s.label++, r = u[1], u = [0];
                            continue;
                        case 7:
                            u = s.ops.pop(), s.trys.pop();
                            continue;
                        default:
                            if (!((A = (A = s.trys).length > 0 && A[A.length - 1]) || u[0] !== 6 && u[0] !== 2)) {
                                s = 0;
                                continue
                            }
                            if (u[0] === 3 && (!A || u[1] > A[0] && u[1] < A[3])) {
                                s.label = u[1];
                                break
                            }
                            if (u[0] === 6 && s.label < A[1]) {
                                s.label = A[1], A = u;
                                break
                            }
                            if (A && s.label < A[2]) {
                                s.label = A[2], s.ops.push(u);
                                break
                            }
                            A[2] && s.ops.pop(), s.trys.pop();
                            continue
                    }
                    u = t.call(e, s)
                } catch (f) {
                    u = [6, f], r = 0
                } finally {
                    n = A = 0
                }
                if (5 & u[0]) throw u[1];
                return {
                    value: u[0] ? u[1] : void 0,
                    done: !0
                }
            }([a, l])
        }
    }
}

function _a(e, t) {
    for (var n = 0, r = t.length, A = e.length; n < r; n++, A++) e[A] = t[n];
    return e
}
Array.prototype.includes || Object.defineProperty(Array.prototype, "includes", {
    value: function(e, t) {
        if (this == null) throw new TypeError('"this" is null or not defined');
        var n = Object(this),
            r = n.length >>> 0;
        if (r === 0) return !1;
        for (var A, i, s = 0 | t, o = Math.max(s >= 0 ? s : r - Math.abs(s), 0); o < r;) {
            if ((A = n[o]) === (i = e) || typeof A == "number" && typeof i == "number" && isNaN(A) && isNaN(i)) return !0;
            o++
        }
        return !1
    }
}), String.prototype.includes || (String.prototype.includes = function(e, t) {
    return typeof t != "number" && (t = 0), !(t + e.length > this.length) && this.indexOf(e, t) !== -1
}), Array.prototype.find || Object.defineProperty(Array.prototype, "find", {
    value: function(e) {
        if (this == null) throw new TypeError('"this" is null or not defined');
        var t = Object(this),
            n = t.length >>> 0;
        if (typeof e != "function") throw new TypeError("predicate must be a function");
        for (var r = arguments[1], A = 0; A < n;) {
            var i = t[A];
            if (e.call(r, i, A, t)) return i;
            A++
        }
    }
});
var qu = function(e) {
        for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
        return t.some(function(r) {
            return Object.prototype.toString.call(e).slice(8, -1).toLowerCase() === r
        })
    },
    Ja = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    },
    D5 = function(e) {
        return [].filter.call(e, function(t) {
            return t !== `
`
        }).join("")
    },
    vs = function(e) {
        if (typeof e != "string" || (e = e.toLocaleLowerCase().trim()) === "transparent") return !1;
        var t;
        return !(/^rgba/.test(e) && ((t = /([^\s,]+)\)$/.exec(e)) === null ? 0 : typeof t == "object" ? NaN : typeof t == "number" ? t : typeof t == "string" ? t[t.length - 1] === "%" ? Number(t.slice(0, -1)) / 100 : Number(t) : NaN) === 0)
    },
    yb = function(e, t) {
        var n, r = ((n = e.padding) === null || n === void 0 ? void 0 : n.split(" ").map(function(u) {
                return t(u)
            })) || [0],
            A = 0,
            i = 0,
            s = 0,
            o = 0;
        switch (r.length) {
            case 1:
                A = i = s = o = r[0];
                break;
            case 2:
                A = i = r[0], s = o = r[1];
                break;
            case 3:
                A = r[0], s = o = r[1], i = r[2];
                break;
            default:
                A = r[0], i = r[1], s = r[2], o = r[3]
        }
        var a = {
            paddingTop: A,
            paddingBottom: i,
            paddingLeft: s,
            paddingRight: o
        };
        for (var l in a) a[l] = Ja(e, l) && qu(e[l], "string", "number") ? t(e[l]) : a[l];
        return [A, i, s, o]
    },
    Cb = function(e) {
        var t = [],
            n = e.map(function(A) {
                return Number(A)
            }).reduce(function(A, i) {
                if (i > 0) {
                    var s = A + i;
                    return t.push(s), s
                }
                return t.push(NaN), A
            }, 0),
            r = Math.random() * n;
        return t.findIndex(function(A) {
            return r <= A
        })
    },
    L5 = function(e, t, n, r) {
        r === void 0 && (r = 1 / 0), r <= 0 && (r = 1 / 0);
        for (var A = "", i = [], s = e.measureText("...").width, o = 0; o < t.length; o++) {
            A += t[o];
            var a = e.measureText(A).width,
                l = n(i);
            if (r === i.length + 1 && (a += s), l < 0) return i;
            if (a > l && (i.push(A.slice(0, -1)), A = t[o]), r === i.length) return i[i.length - 1] += "...", i
        }
        return A && i.push(A), i.length || i.push(t), i
    },
    po = function() {
        function e() {
            this.subs = []
        }
        return e.prototype.addSub = function(t) {
            this.subs.includes(t) || this.subs.push(t)
        }, e.prototype.notify = function() {
            this.subs.forEach(function(t) {
                t.update()
            })
        }, e
    }(),
    FZ = "__proto__" in {};

function D7(e, t, n, r) {
    Object.defineProperty(e, t, {
        value: n,
        enumerable: !!r,
        writable: !0,
        configurable: !0
    })
}
var Eb = Array.prototype,
    ef = Object.create(Eb);
["push", "pop", "shift", "unshift", "sort", "splice", "reverse"].forEach(function(e) {
    ef[e] = function() {
        for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
        var r = Eb[e].apply(this, t),
            A = this.__luckyOb__;
        return ["push", "unshift", "splice"].includes(e) && A.walk(this), A.dep.notify(), r
    }
});
var SZ = function() {
    function e(t) {
        this.dep = new po, D7(t, "__luckyOb__", this), Array.isArray(t) && (FZ ? t.__proto__ = ef : Object.getOwnPropertyNames(ef).forEach(function(n) {
            D7(t, n, ef[n])
        })), this.walk(t)
    }
    return e.prototype.walk = function(t) {
        Object.keys(t).forEach(function(n) {
            bb(t, n, t[n])
        })
    }, e
}();

function L7(e) {
    if (e && typeof e == "object") return "__luckyOb__" in e ? e.__luckyOb__ : new SZ(e)
}

function bb(e, t, n) {
    var r = new po,
        A = Object.getOwnPropertyDescriptor(e, t);
    if (!A || A.configurable !== !1) {
        var i = A && A.get,
            s = A && A.set;
        i && !s || arguments.length !== 2 || (n = e[t]);
        var o = L7(n);
        Object.defineProperty(e, t, {
            get: function() {
                var a = i ? i.call(e) : n;
                return po.target && (r.addSub(po.target), o && o.dep.addSub(po.target)), a
            },
            set: function(a) {
                a !== n && (n = a, i && !s || (s ? s.call(e, a) : n = a, o = L7(a), r.notify()))
            }
        })
    }
}
var TZ = 0,
    IZ = function() {
        function e(t, n, r, A) {
            A === void 0 && (A = {}), this.id = TZ++, this.$lucky = t, this.expr = n, this.deep = !!A.deep, this.getter = typeof n == "function" ? n : function(i) {
                i += ".";
                for (var s = [], o = "", a = 0; a < i.length; a++) {
                    var l = i[a];
                    if (/\[|\./.test(l)) s.push(o), o = "";
                    else {
                        if (/\W/.test(l)) continue;
                        o += l
                    }
                }
                return function(u) {
                    return s.reduce(function(f, d) {
                        return f[d]
                    }, u)
                }
            }(n), this.cb = r, this.value = this.get()
        }
        return e.prototype.get = function() {
            po.target = this;
            var t = this.getter.call(this.$lucky, this.$lucky);
            return this.deep && function(n) {
                var r = function(A) {
                    qu(A, "array", "object") && Object.keys(A).forEach(function(i) {
                        var s = A[i];
                        r(s)
                    })
                };
                r(n)
            }(t), po.target = null, t
        }, e.prototype.update = function() {
            var t = this.get(),
                n = this.value;
            this.value = t, this.cb.call(this.$lucky, t, n)
        }, e
    }(),
    k5 = function() {
        function e(t, n) {
            var r = this;
            this.version = "1.7.21", this.htmlFontSize = 16, this.rAF = function() {}, this.boxWidth = 0, this.boxHeight = 0, typeof t == "string" ? t = {
                el: t
            } : t.nodeType === 1 && (t = {
                el: "",
                divElement: t
            }), t = t, this.config = t, this.data = n, t.flag || (t.flag = "WEB"), t.el && (t.divElement = document.querySelector(t.el)), t.divElement && (t.canvasElement = document.createElement("canvas"), t.divElement.appendChild(t.canvasElement)), t.canvasElement && (t.ctx = t.canvasElement.getContext("2d"), t.canvasElement.setAttribute("package", "lucky-canvas@1.7.21"), t.canvasElement.addEventListener("click", function(A) {
                return r.handleClick(A)
            })), this.ctx = t.ctx, this.initWindowFunction(), this.config.ctx || console.error("无法获取到 CanvasContext2D"), window && typeof window.addEventListener == "function" && window.addEventListener("resize", function(A, i) {
                i === void 0 && (i = 300);
                var s = null;
                return function() {
                    for (var o = this, a = [], l = 0; l < arguments.length; l++) a[l] = arguments[l];
                    s || (s = setTimeout(function() {
                        A.apply(o, a), clearTimeout(s), s = null
                    }, i))
                }
            }(function() {
                return r.resize()
            }, 300)), window && typeof window.MutationObserver == "function" && new window.MutationObserver(function() {
                r.resize()
            }).observe(document.documentElement, {
                attributes: !0
            })
        }
        return e.prototype.resize = function() {
            var t, n;
            (n = (t = this.config).beforeResize) === null || n === void 0 || n.call(t), this.setHTMLFontSize(), this.setDpr(), this.resetWidthAndHeight(), this.zoomCanvas()
        }, e.prototype.initLucky = function() {
            if (this.resize(), !this.boxWidth || !this.boxHeight) return console.error("无法获取到宽度或高度")
        }, e.prototype.handleClick = function(t) {}, e.prototype.setHTMLFontSize = function() {
            window && (this.htmlFontSize = +window.getComputedStyle(document.documentElement).fontSize.slice(0, -2))
        }, e.prototype.clearCanvas = function() {
            var t = [this.boxWidth, this.boxHeight],
                n = t[0],
                r = t[1];
            this.ctx.clearRect(-n, -r, 2 * n, 2 * r)
        }, e.prototype.setDpr = function() {
            var t = this.config;
            t.dpr || (window ? window.dpr = t.dpr = window.devicePixelRatio || 1 : t.dpr || console.error(t, "未传入 dpr 可能会导致绘制异常"))
        }, e.prototype.resetWidthAndHeight = function() {
            var t = this.config,
                n = this.data,
                r = 0,
                A = 0;
            t.divElement && (r = t.divElement.offsetWidth, A = t.divElement.offsetHeight), this.boxWidth = this.getLength(n.width || t.width) || r, this.boxHeight = this.getLength(n.height || t.height) || A, t.divElement && (t.divElement.style.overflow = "hidden", t.divElement.style.width = this.boxWidth + "px", t.divElement.style.height = this.boxHeight + "px")
        }, e.prototype.zoomCanvas = function() {
            var t = this.config,
                n = this.ctx,
                r = t.canvasElement,
                A = t.dpr,
                i = [this.boxWidth * A, this.boxHeight * A],
                s = i[0],
                o = i[1];
            r && (r.width = s, r.height = o, r.style.width = s + "px", r.style.height = o + "px", r.style["transform-origin"] = "left top", r.style.transform = "scale(" + 1 / A + ")", n.scale(A, A))
        }, e.prototype.initWindowFunction = function() {
            var t = this.config;
            if (window) return this.rAF = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(r) {
                window.setTimeout(r, 1e3 / 60)
            }, t.setTimeout = window.setTimeout, t.setInterval = window.setInterval, t.clearTimeout = window.clearTimeout, void(t.clearInterval = window.clearInterval);
            if (t.rAF) this.rAF = t.rAF;
            else if (t.setTimeout) {
                var n = t.setTimeout;
                this.rAF = function(r) {
                    return n(r, 16.7)
                }
            } else this.rAF = function(r) {
                return setTimeout(r, 16.7)
            }
        }, e.prototype.loadImg = function(t, n, r) {
            var A = this;
            return r === void 0 && (r = "$resolve"), new Promise(function(i, s) {
                if (t || s("=> '" + n.src + "' 不能为空或不合法"), A.config.flag !== "WEB") return n[r] = i, void(n.$reject = s);
                var o = new Image;
                o.onload = function() {
                    return i(o)
                }, o.onerror = function() {
                    return s("=> '" + n.src + "' 图片加载失败")
                }, o.src = t
            })
        }, e.prototype.drawImage = function(t, n) {
            for (var r, A = [], i = 2; i < arguments.length; i++) A[i - 2] = arguments[i];
            var s = this.config,
                o = s.flag,
                a = s.dpr;
            if (["WEB", "MP-WX"].includes(o)) r = n;
            else {
                if (!["UNI-H5", "UNI-MP", "TARO-H5", "TARO-MP"].includes(o)) return console.error("意料之外的 flag, 该平台尚未兼容!");
                r = n.path
            }
            if (!r.canvas) return A.length === 8 && (A = A.map(function(f, d) {
                return d < 4 ? f * a : f
            })), t.drawImage.apply(t, _a([r], A));
            var l = r.canvas.getContext("2d");
            A = A.map(function(f) {
                return f * a
            });
            var u = l.getImageData.apply(l, A.slice(0, 4));
            t.putImageData.apply(t, _a([u], A.slice(4, 6)))
        }, e.prototype.computedWidthAndHeight = function(t, n, r, A) {
            if (!n.width && !n.height) return [t.width, t.height];
            if (n.width && !n.height) {
                var i = this.getLength(n.width, r);
                return [i, t.height * (i / t.width)]
            }
            if (!n.width && n.height) {
                var s = this.getLength(n.height, A);
                return [t.width * (s / t.height), s]
            }
            return [this.getLength(n.width, r), this.getLength(n.height, A)]
        }, e.prototype.changeUnits = function(t, n) {
            var r = this;
            n === void 0 && (n = 1);
            var A = this.config;
            return Number(t.replace(/^([-]*[0-9.]*)([a-z%]*)$/, function(i, s, o) {
                var a = {
                    "%": function(u) {
                        return u * (n / 100)
                    },
                    px: function(u) {
                        return 1 * u
                    },
                    rem: function(u) {
                        return u * r.htmlFontSize
                    },
                    vw: function(u) {
                        return u / 100 * window.innerWidth
                    }
                }[o];
                if (a) return a(s);
                var l = A.handleCssUnit || A.unitFunc;
                return l ? l(s, o) : s
            }))
        }, e.prototype.getLength = function(t, n) {
            return qu(t, "number") ? t : qu(t, "string") ? this.changeUnits(t, n) : 0
        }, e.prototype.getOffsetX = function(t, n) {
            return n === void 0 && (n = 0), (n - t) / 2
        }, e.prototype.getOffscreenCanvas = function(t, n) {
            if (!Ja(this, "_offscreenCanvas") && (window && window.document && this.config.flag === "WEB" ? this._offscreenCanvas = document.createElement("canvas") : this._offscreenCanvas = this.config.offscreenCanvas, !this._offscreenCanvas)) return console.error("离屏 Canvas 无法渲染!");
            var r = this.config.dpr,
                A = this._offscreenCanvas;
            A.width = (t || 300) * r, A.height = (n || 150) * r;
            var i = A.getContext("2d");
            return i.clearRect(0, 0, t, n), i.scale(r, r), i.dpr = r, {
                _offscreenCanvas: A,
                _ctx: i
            }
        }, e.prototype.$set = function(t, n, r) {
            t && typeof t == "object" && bb(t, n, r)
        }, e.prototype.$computed = function(t, n, r) {
            var A = this;
            Object.defineProperty(t, n, {
                get: function() {
                    return r.call(A)
                }
            })
        }, e.prototype.$watch = function(t, n, r) {
            r === void 0 && (r = {}), typeof n == "object" && (n = (r = n).handler);
            var A = new IZ(this, t, n, r);
            return r.immediate && n.call(this, A.value),
                function() {}
        }, e.version = "1.7.21", e
    }(),
    io = function(e) {
        return Math.PI / 180 * e
    },
    Qf = function(e) {
        for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
        var r = t[0],
            A = t[1],
            i = t[2],
            s = t[3],
            o = t[4],
            a = Math.min(i, s),
            l = Math.PI;
        o > a / 2 && (o = a / 2), e.beginPath(), e.moveTo(r + o, A), e.lineTo(r + o, A), e.lineTo(r + i - o, A), e.arc(r + i - o, A + o, o, -l / 2, 0), e.lineTo(r + i, A + s - o), e.arc(r + i - o, A + s - o, o, 0, l / 2), e.lineTo(r + o, A + s), e.arc(r + o, A + s - o, o, l / 2, l), e.lineTo(r, A + o), e.arc(r + o, A + o, o, l, -l / 2), e.closePath()
    },
    H5 = function(e, t, n, r) {
        return e >= r && (e = r), n * (e /= r) * e + t
    },
    qa = function(e, t, n, r) {
        return e >= r && (e = r), -n * (e /= r) * (e - 2) + t
    },
    QZ = function(e) {
        function t(n, r) {
            var A, i = e.call(this, n, {
                width: r.width,
                height: r.height
            }) || this;
            return i.blocks = [], i.prizes = [], i.buttons = [], i.defaultConfig = {}, i.defaultStyle = {}, i._defaultConfig = {}, i._defaultStyle = {}, i.Radius = 0, i.prizeRadius = 0, i.prizeDeg = 0, i.prizeAng = 0, i.rotateDeg = 0, i.maxBtnRadius = 0, i.startTime = 0, i.endTime = 0, i.stopDeg = 0, i.endDeg = 0, i.FPS = 16.6, i.step = 0, i.ImageCache = new Map, i.initData(r), i.initWatch(), i.initComputed(), (A = n.beforeCreate) === null || A === void 0 || A.call(i), i.init(), i
        }
        return O5(t, e), t.prototype.resize = function() {
            var n, r;
            e.prototype.resize.call(this), this.Radius = Math.min(this.boxWidth, this.boxHeight) / 2, this.ctx.translate(this.Radius, this.Radius), this.draw(), (r = (n = this.config).afterResize) === null || r === void 0 || r.call(n)
        }, t.prototype.initLucky = function() {
            this.Radius = 0, this.prizeRadius = 0, this.prizeDeg = 0, this.prizeAng = 0, this.rotateDeg = 0, this.maxBtnRadius = 0, this.startTime = 0, this.endTime = 0, this.stopDeg = 0, this.endDeg = 0, this.FPS = 16.6, this.prizeFlag = -1, this.step = 0, e.prototype.initLucky.call(this)
        }, t.prototype.initData = function(n) {
            this.$set(this, "width", n.width || "300px"), this.$set(this, "height", n.height || "300px"), this.$set(this, "blocks", n.blocks || []), this.$set(this, "prizes", n.prizes || []), this.$set(this, "buttons", n.buttons || []), this.$set(this, "defaultConfig", n.defaultConfig || {}), this.$set(this, "defaultStyle", n.defaultStyle || {}), this.$set(this, "startCallback", n.start), this.$set(this, "endCallback", n.end)
        }, t.prototype.initComputed = function() {
            var n = this;
            this.$computed(this, "_defaultConfig", function() {
                return Ei({
                    gutter: "0px",
                    offsetDegree: 0,
                    speed: 20,
                    speedFunction: "quad",
                    accelerationTime: 2500,
                    decelerationTime: 2500,
                    stopRange: 0
                }, n.defaultConfig)
            }), this.$computed(this, "_defaultStyle", function() {
                return Ei({
                    fontSize: "18px",
                    fontColor: "#000",
                    fontStyle: "sans-serif",
                    fontWeight: "400",
                    background: "rgba(0,0,0,0)",
                    wordWrap: !0,
                    lengthLimit: "90%"
                }, n.defaultStyle)
            })
        }, t.prototype.initWatch = function() {
            var n = this;
            this.$watch("width", function(r) {
                n.data.width = r, n.resize()
            }), this.$watch("height", function(r) {
                n.data.height = r, n.resize()
            }), this.$watch("blocks", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("prizes", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("buttons", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("defaultConfig", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("defaultStyle", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("startCallback", function() {
                return n.init()
            }), this.$watch("endCallback", function() {
                return n.init()
            })
        }, t.prototype.init = function() {
            var n, r;
            return bi(this, void 0, void 0, function() {
                var A;
                return xi(this, function(i) {
                    switch (i.label) {
                        case 0:
                            return this.initLucky(), A = this.config, (n = A.beforeInit) === null || n === void 0 || n.call(this), this.draw(), this.draw(), [4, this.initImageCache()];
                        case 1:
                            return i.sent(), (r = A.afterInit) === null || r === void 0 || r.call(this), [2]
                    }
                })
            })
        }, t.prototype.initImageCache = function() {
            var n = this;
            return new Promise(function(r) {
                var A = {
                    blocks: n.blocks.map(function(i) {
                        return i.imgs
                    }),
                    prizes: n.prizes.map(function(i) {
                        return i.imgs
                    }),
                    buttons: n.buttons.map(function(i) {
                        return i.imgs
                    })
                };
                Object.keys(A).forEach(function(i) {
                    var s = A[i],
                        o = [];
                    s && s.forEach(function(a, l) {
                        a && a.forEach(function(u, f) {
                            o.push(n.loadAndCacheImg(i, l, f))
                        })
                    }), Promise.all(o).then(function() {
                        n.draw(), r()
                    })
                })
            })
        }, t.prototype.handleClick = function(n) {
            var r, A = this.ctx;
            A.beginPath(), A.arc(0, 0, this.maxBtnRadius, 0, 2 * Math.PI, !1), A.isPointInPath(n.offsetX, n.offsetY) && this.step === 0 && ((r = this.startCallback) === null || r === void 0 || r.call(this, n))
        }, t.prototype.loadAndCacheImg = function(n, r, A) {
            return bi(this, void 0, void 0, function() {
                var i = this;
                return xi(this, function(s) {
                    return [2, new Promise(function(o, a) {
                        var l = i[n][r];
                        if (l && l.imgs) {
                            var u = l.imgs[A];
                            u && i.loadImg(u.src, u).then(function(f) {
                                return bi(i, void 0, void 0, function() {
                                    return xi(this, function(d) {
                                        switch (d.label) {
                                            case 0:
                                                return typeof u.formatter != "function" ? [3, 2] : [4, Promise.resolve(u.formatter.call(this, f))];
                                            case 1:
                                                f = d.sent(), d.label = 2;
                                            case 2:
                                                return this.ImageCache.set(u.src, f), o(), [2]
                                        }
                                    })
                                })
                            }).catch(function(f) {
                                console.error(n + "[" + r + "].imgs[" + A + "] " + f), a()
                            })
                        }
                    })]
                })
            })
        }, t.prototype.drawBlock = function(n, r, A) {
            var i = this,
                s = this.ctx;
            vs(r.background) && (s.beginPath(), s.fillStyle = r.background, s.arc(0, 0, n, 0, 2 * Math.PI, !1), s.fill()), r.imgs && r.imgs.forEach(function(o, a) {
                var l = i.ImageCache.get(o.src);
                if (l) {
                    var u = i.computedWidthAndHeight(l, o, 2 * n, 2 * n),
                        f = u[0],
                        d = u[1],
                        p = [i.getOffsetX(f) + i.getLength(o.left, 2 * n), i.getLength(o.top, 2 * n) - n],
                        v = p[0],
                        B = p[1];
                    s.save(), o.rotate && s.rotate(io(i.rotateDeg)), i.drawImage(s, l, v, B, f, d), s.restore()
                }
            })
        }, t.prototype.draw = function() {
            var n, r, A = this,
                i = this,
                s = i.config,
                o = i.ctx,
                a = i._defaultConfig,
                l = i._defaultStyle;
            (n = s.beforeDraw) === null || n === void 0 || n.call(this, o), o.clearRect(-this.Radius, -this.Radius, 2 * this.Radius, 2 * this.Radius), this.prizeRadius = this.blocks.reduce(function(v, B, C) {
                return A.drawBlock(v, B, C), v - A.getLength(B.padding && B.padding.split(" ")[0])
            }, this.Radius), this.prizeDeg = 360 / this.prizes.length, this.prizeAng = io(this.prizeDeg);
            var u = this.prizeRadius * Math.sin(this.prizeAng / 2) * 2,
                f = io(this.rotateDeg - 90 + this.prizeDeg / 2 + a.offsetDegree),
                d = function(v, B) {
                    return A.getOffsetX(o.measureText(B).width) + A.getLength(v.left, u)
                },
                p = function(v, B, C) {
                    var w = v.lineHeight || l.lineHeight || v.fontSize || l.fontSize;
                    return A.getLength(v.top, B) + (C + 1) * A.getLength(w)
                };
            o.save(), this.prizes.forEach(function(v, B) {
                var C = f + B * A.prizeAng,
                    w = A.prizeRadius - A.maxBtnRadius,
                    m = v.background || l.background;
                vs(m) && (o.fillStyle = m, function(x, F, Q, P, L, I) {
                    x.beginPath();
                    var _, D, N = io(90 / Math.PI / Q * I),
                        X = P + N,
                        se = L - N;
                    x.arc(0, 0, Q, X, se, !1), x.lineTo.apply(x, (_ = (P + L) / 2, D = I / 2 / Math.abs(Math.sin((P - L) / 2)), [+(Math.cos(_) * D).toFixed(8), +(Math.sin(_) * D).toFixed(8)])), x.closePath()
                }(o, A.maxBtnRadius, A.prizeRadius, C - A.prizeAng / 2, C + A.prizeAng / 2, A.getLength(a.gutter)), o.fill());
                var E = Math.cos(C) * A.prizeRadius,
                    y = Math.sin(C) * A.prizeRadius;
                o.translate(E, y), o.rotate(C + io(90)), v.imgs && v.imgs.forEach(function(x, F) {
                    var Q = A.ImageCache.get(x.src);
                    if (Q) {
                        var P = A.computedWidthAndHeight(Q, x, A.prizeAng * A.prizeRadius, w),
                            L = P[0],
                            I = P[1],
                            _ = [A.getOffsetX(L) + A.getLength(x.left, u), A.getLength(x.top, w)],
                            D = _[0],
                            N = _[1];
                        A.drawImage(o, Q, D, N, L, I)
                    }
                }), v.fonts && v.fonts.forEach(function(x) {
                    var F = x.fontColor || l.fontColor,
                        Q = x.fontWeight || l.fontWeight,
                        P = A.getLength(x.fontSize || l.fontSize),
                        L = x.fontStyle || l.fontStyle,
                        I = Ja(x, "wordWrap") ? x.wordWrap : l.wordWrap,
                        _ = x.lengthLimit || l.lengthLimit,
                        D = x.lineClamp || l.lineClamp;
                    o.fillStyle = F, o.font = Q + " " + (P >> 0) + "px " + L;
                    var N = String(x.text);
                    (I ? L5(o, D5(N), function(X) {
                        var se = (A.prizeRadius - p(x, w, X.length)) * Math.tan(A.prizeAng / 2) * 2 - A.getLength(a.gutter);
                        return A.getLength(_, se)
                    }, D) : N.split(`
`)).filter(function(X) {
                        return !!X
                    }).forEach(function(X, se) {
                        o.fillText(X, d(x, X), p(x, w, se))
                    })
                }), o.rotate(io(360) - C - io(90)), o.translate(-E, -y)
            }), o.restore(), this.buttons.forEach(function(v, B) {
                var C = A.getLength(v.radius, A.prizeRadius);
                A.maxBtnRadius = Math.max(A.maxBtnRadius, C), vs(v.background) && (o.beginPath(), o.fillStyle = v.background, o.arc(0, 0, C, 0, 2 * Math.PI, !1), o.fill()), v.pointer && vs(v.background) && (o.beginPath(), o.fillStyle = v.background, o.moveTo(-C, 0), o.lineTo(C, 0), o.lineTo(0, 2 * -C), o.closePath(), o.fill()), v.imgs && v.imgs.forEach(function(w, m) {
                    var E = A.ImageCache.get(w.src);
                    if (E) {
                        var y = A.computedWidthAndHeight(E, w, 2 * C, 2 * C),
                            x = y[0],
                            F = y[1],
                            Q = [A.getOffsetX(x) + A.getLength(w.left, C), A.getLength(w.top, C)],
                            P = Q[0],
                            L = Q[1];
                        A.drawImage(o, E, P, L, x, F)
                    }
                }), v.fonts && v.fonts.forEach(function(w) {
                    var m = w.fontColor || l.fontColor,
                        E = w.fontWeight || l.fontWeight,
                        y = A.getLength(w.fontSize || l.fontSize),
                        x = w.fontStyle || l.fontStyle;
                    o.fillStyle = m, o.font = E + " " + (y >> 0) + "px " + x, String(w.text).split(`
`).forEach(function(F, Q) {
                        o.fillText(F, d(w, F), p(w, C, Q))
                    })
                })
            }), (r = s.afterDraw) === null || r === void 0 || r.call(this, o)
        }, t.prototype.carveOnGunwaleOfAMovingBoat = function() {
            var n = this,
                r = n._defaultConfig,
                A = n.prizeFlag,
                i = n.prizeDeg,
                s = n.rotateDeg;
            this.endTime = Date.now();
            for (var o = this.stopDeg = s, a = r.speed, l = (Math.random() * i - i / 2) * this.getLength(r.stopRange), u = 0, f = 0, d = 0; ++u;) {
                var p = 360 * u - A * i - s - r.offsetDegree + l - i / 2,
                    v = qa(this.FPS, o, p, r.decelerationTime) - o;
                if (v > a) {
                    this.endDeg = a - f > v - a ? p : d;
                    break
                }
                d = p, f = v
            }
        }, t.prototype.play = function() {
            var n, r;
            this.step === 0 && (this.startTime = Date.now(), this.prizeFlag = void 0, this.step = 1, (r = (n = this.config).afterStart) === null || r === void 0 || r.call(n), this.run())
        }, t.prototype.stop = function(n) {
            if (this.step !== 0 && this.step !== 3) {
                if (!n && n !== 0) {
                    var r = this.prizes.map(function(A) {
                        return A.range
                    });
                    n = Cb(r)
                }
                n < 0 ? (this.step = 0, this.prizeFlag = -1) : (this.step = 2, this.prizeFlag = n % this.prizes.length)
            }
        }, t.prototype.run = function(n) {
            var r;
            n === void 0 && (n = 0);
            var A = this,
                i = A.rAF,
                s = A.step,
                o = A.prizeFlag,
                a = A._defaultConfig,
                l = a.accelerationTime,
                u = a.decelerationTime,
                f = a.speed;
            if (s !== 0) {
                if (o !== -1) {
                    s !== 3 || this.endDeg || this.carveOnGunwaleOfAMovingBoat();
                    var d = Date.now() - this.startTime,
                        p = Date.now() - this.endTime,
                        v = this.rotateDeg;
                    if (s === 1 || d < l) {
                        this.FPS = d / n;
                        var B = H5(d, 0, f, l);
                        B === f && (this.step = 2), v += B % 360
                    } else s === 2 ? (v += f % 360, o !== void 0 && o >= 0 && (this.step = 3, this.stopDeg = 0, this.endDeg = 0)) : s === 3 ? (v = qa(p, this.stopDeg, this.endDeg, u), p >= u && (this.step = 0)) : this.stop(-1);
                    this.rotateDeg = v, this.draw(), i(this.run.bind(this, n + 1))
                }
            } else(r = this.endCallback) === null || r === void 0 || r.call(this, this.prizes.find(function(C, w) {
                return w === o
            }) || {})
        }, t.prototype.conversionAxis = function(n, r) {
            var A = this.config;
            return [n / A.dpr - this.Radius, r / A.dpr - this.Radius]
        }, t
    }(k5),
    UZ = function(e) {
        function t(n, r) {
            var A, i = e.call(this, n, {
                width: r.width,
                height: r.height
            }) || this;
            return i.rows = 3, i.cols = 3, i.blocks = [], i.prizes = [], i.buttons = [], i.defaultConfig = {}, i.defaultStyle = {}, i.activeStyle = {}, i._defaultConfig = {}, i._defaultStyle = {}, i._activeStyle = {}, i.cellWidth = 0, i.cellHeight = 0, i.startTime = 0, i.endTime = 0, i.currIndex = 0, i.stopIndex = 0, i.endIndex = 0, i.demo = !1, i.timer = 0, i.FPS = 16.6, i.step = 0, i.prizeFlag = -1, i.cells = [], i.ImageCache = new Map, i.initData(r), i.initWatch(), i.initComputed(), (A = n.beforeCreate) === null || A === void 0 || A.call(i), i.init(), i
        }
        return O5(t, e), t.prototype.resize = function() {
            var n, r;
            e.prototype.resize.call(this), this.draw(), (r = (n = this.config).afterResize) === null || r === void 0 || r.call(n)
        }, t.prototype.initLucky = function() {
            this.cellWidth = 0, this.cellHeight = 0, this.startTime = 0, this.endTime = 0, this.currIndex = 0, this.stopIndex = 0, this.endIndex = 0, this.demo = !1, this.timer = 0, this.FPS = 16.6, this.prizeFlag = -1, this.step = 0, e.prototype.initLucky.call(this)
        }, t.prototype.initData = function(n) {
            this.$set(this, "width", n.width || "300px"), this.$set(this, "height", n.height || "300px"), this.$set(this, "rows", Number(n.rows) || 3), this.$set(this, "cols", Number(n.cols) || 3), this.$set(this, "blocks", n.blocks || []), this.$set(this, "prizes", n.prizes || []), this.$set(this, "buttons", n.buttons || []), this.$set(this, "button", n.button), this.$set(this, "defaultConfig", n.defaultConfig || {}), this.$set(this, "defaultStyle", n.defaultStyle || {}), this.$set(this, "activeStyle", n.activeStyle || {}), this.$set(this, "startCallback", n.start), this.$set(this, "endCallback", n.end)
        }, t.prototype.initComputed = function() {
            var n = this;
            this.$computed(this, "_defaultConfig", function() {
                var r = Ei({
                    gutter: 5,
                    speed: 20,
                    accelerationTime: 2500,
                    decelerationTime: 2500
                }, n.defaultConfig);
                return r.gutter = n.getLength(r.gutter), r.speed = r.speed / 40, r
            }), this.$computed(this, "_defaultStyle", function() {
                return Ei({
                    borderRadius: 20,
                    fontColor: "#000",
                    fontSize: "18px",
                    fontStyle: "sans-serif",
                    fontWeight: "400",
                    background: "rgba(0,0,0,0)",
                    shadow: "",
                    wordWrap: !0,
                    lengthLimit: "90%"
                }, n.defaultStyle)
            }), this.$computed(this, "_activeStyle", function() {
                return Ei({
                    background: "#ffce98",
                    shadow: ""
                }, n.activeStyle)
            })
        }, t.prototype.initWatch = function() {
            var n = this;
            this.$watch("width", function(r) {
                n.data.width = r, n.resize()
            }), this.$watch("height", function(r) {
                n.data.height = r, n.resize()
            }), this.$watch("blocks", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("prizes", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("buttons", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("rows", function() {
                return n.init()
            }), this.$watch("cols", function() {
                return n.init()
            }), this.$watch("defaultConfig", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("defaultStyle", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("activeStyle", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("startCallback", function() {
                return n.init()
            }), this.$watch("endCallback", function() {
                return n.init()
            })
        }, t.prototype.init = function() {
            var n, r;
            return bi(this, void 0, void 0, function() {
                var A;
                return xi(this, function(i) {
                    switch (i.label) {
                        case 0:
                            return this.initLucky(), A = this.config, (n = A.beforeInit) === null || n === void 0 || n.call(this), this.draw(), [4, this.initImageCache()];
                        case 1:
                            return i.sent(), (r = A.afterInit) === null || r === void 0 || r.call(this), [2]
                    }
                })
            })
        }, t.prototype.initImageCache = function() {
            var n = this;
            return new Promise(function(r) {
                var A = n.buttons.map(function(s) {
                    return s.imgs
                });
                n.button && A.push(n.button.imgs);
                var i = {
                    blocks: n.blocks.map(function(s) {
                        return s.imgs
                    }),
                    prizes: n.prizes.map(function(s) {
                        return s.imgs
                    }),
                    buttons: A
                };
                Object.keys(i).forEach(function(s) {
                    var o = i[s],
                        a = [];
                    o && o.forEach(function(l, u) {
                        l && l.forEach(function(f, d) {
                            a.push(n.loadAndCacheImg(s, u, d))
                        })
                    }), Promise.all(a).then(function() {
                        n.draw(), r()
                    })
                })
            })
        }, t.prototype.handleClick = function(n) {
            var r = this,
                A = this.ctx;
            _a(_a([], this.buttons), [this.button]).forEach(function(i) {
                var s;
                if (i) {
                    var o = r.getGeometricProperty([i.x, i.y, i.col || 1, i.row || 1]),
                        a = o[0],
                        l = o[1],
                        u = o[2],
                        f = o[3];
                    A.beginPath(), A.rect(a, l, u, f), A.isPointInPath(n.offsetX, n.offsetY) && r.step === 0 && (typeof i.callback == "function" && i.callback.call(r, i), (s = r.startCallback) === null || s === void 0 || s.call(r, n, i))
                }
            })
        }, t.prototype.loadAndCacheImg = function(n, r, A) {
            return bi(this, void 0, void 0, function() {
                var i = this;
                return xi(this, function(s) {
                    return [2, new Promise(function(o, a) {
                        var l = i[n][r];
                        if (n === "buttons" && !i.buttons.length && i.button && (l = i.button), l && l.imgs) {
                            var u = l.imgs[A];
                            if (u) {
                                var f = [i.loadImg(u.src, u), u.activeSrc && i.loadImg(u.activeSrc, u, "$activeResolve")];
                                Promise.all(f).then(function(d) {
                                    var p = d[0],
                                        v = d[1];
                                    return bi(i, void 0, void 0, function() {
                                        var B;
                                        return xi(this, function(C) {
                                            switch (C.label) {
                                                case 0:
                                                    return typeof(B = u.formatter) != "function" ? [3, 3] : [4, Promise.resolve(B.call(this, p))];
                                                case 1:
                                                    return p = C.sent(), v ? [4, Promise.resolve(B.call(this, v))] : [3, 3];
                                                case 2:
                                                    v = C.sent(), C.label = 3;
                                                case 3:
                                                    return this.ImageCache.set(u.src, p), v && this.ImageCache.set(u.activeSrc, v), o(), [2]
                                            }
                                        })
                                    })
                                }).catch(function(d) {
                                    console.error(n + "[" + r + "].imgs[" + A + "] " + d), a()
                                })
                            }
                        }
                    })]
                })
            })
        }, t.prototype.draw = function() {
            var n, r, A = this,
                i = this,
                s = i.config,
                o = i.ctx,
                a = i._defaultConfig,
                l = i._defaultStyle,
                u = i._activeStyle;
            (n = s.beforeDraw) === null || n === void 0 || n.call(this, o), o.clearRect(0, 0, this.boxWidth, this.boxHeight), this.cells = _a(_a([], this.prizes), this.buttons), this.button && this.cells.push(this.button), this.cells.forEach(function(f) {
                f.col = f.col || 1, f.row = f.row || 1
            }), this.prizeArea = this.blocks.reduce(function(f, d, p) {
                var v = f.x,
                    B = f.y,
                    C = f.w,
                    w = f.h,
                    m = yb(d, A.getLength.bind(A)),
                    E = m[0],
                    y = m[1],
                    x = m[2],
                    F = m[3],
                    Q = d.borderRadius ? A.getLength(d.borderRadius) : 0,
                    P = d.background;
                return vs(P) && (o.fillStyle = A.handleBackground(v, B, C, w, P), Qf(o, v, B, C, w, Q), o.fill()), d.imgs && d.imgs.forEach(function(L, I) {
                    var _ = A.ImageCache.get(L.src);
                    if (_) {
                        var D = A.computedWidthAndHeight(_, L, C, w),
                            N = D[0],
                            X = D[1],
                            se = [A.getOffsetX(N, C) + A.getLength(L.left, C), A.getLength(L.top, w)],
                            Z = se[0],
                            ce = se[1];
                        A.drawImage(o, _, v + Z, B + ce, N, X)
                    }
                }), {
                    x: v + x,
                    y: B + E,
                    w: C - x - F,
                    h: w - E - y
                }
            }, {
                x: 0,
                y: 0,
                w: this.boxWidth,
                h: this.boxHeight
            }), this.cellWidth = (this.prizeArea.w - a.gutter * (this.cols - 1)) / this.cols, this.cellHeight = (this.prizeArea.h - a.gutter * (this.rows - 1)) / this.rows, this.cells.forEach(function(f, d) {
                var p = A.getGeometricProperty([f.x, f.y, f.col, f.row]),
                    v = p[0],
                    B = p[1],
                    C = p[2],
                    w = p[3],
                    m = !1;
                (A.prizeFlag === void 0 || A.prizeFlag > -1) && (m = d === A.currIndex % A.prizes.length >> 0);
                var E = m ? u.background : f.background || l.background;
                if (vs(E)) {
                    var y = (m ? u.shadow : f.shadow || l.shadow).replace(/px/g, "").split(",")[0].split(" ").map(function(F, Q) {
                        return Q < 3 ? Number(F) : F
                    });
                    y.length === 4 && (o.shadowColor = y[3], o.shadowOffsetX = y[0] * s.dpr, o.shadowOffsetY = y[1] * s.dpr, o.shadowBlur = y[2], y[0] > 0 ? C -= y[0] : (C += y[0], v -= y[0]), y[1] > 0 ? w -= y[1] : (w += y[1], B -= y[1])), o.fillStyle = A.handleBackground(v, B, C, w, E);
                    var x = A.getLength(f.borderRadius ? f.borderRadius : l.borderRadius);
                    Qf(o, v, B, C, w, x), o.fill(), o.shadowColor = "rgba(0, 0, 0, 0)", o.shadowOffsetX = 0, o.shadowOffsetY = 0, o.shadowBlur = 0
                }
                d >= A.prizes.length && (d -= A.prizes.length), f.imgs && f.imgs.forEach(function(F, Q) {
                    var P = A.ImageCache.get(F.src),
                        L = A.ImageCache.get(F.activeSrc);
                    if (P) {
                        var I = m && L || P;
                        if (I) {
                            var _ = A.computedWidthAndHeight(I, F, C, w),
                                D = _[0],
                                N = _[1],
                                X = [v + A.getOffsetX(D, C) + A.getLength(F.left, C), B + A.getLength(F.top, w)],
                                se = X[0],
                                Z = X[1];
                            A.drawImage(o, I, se, Z, D, N)
                        }
                    }
                }), f.fonts && f.fonts.forEach(function(F) {
                    var Q = m && u.fontStyle ? u.fontStyle : F.fontStyle || l.fontStyle,
                        P = m && u.fontWeight ? u.fontWeight : F.fontWeight || l.fontWeight,
                        L = m && u.fontSize ? A.getLength(u.fontSize) : A.getLength(F.fontSize || l.fontSize),
                        I = m && u.lineHeight ? u.lineHeight : F.lineHeight || l.lineHeight || F.fontSize || l.fontSize,
                        _ = Ja(F, "wordWrap") ? F.wordWrap : l.wordWrap,
                        D = F.lengthLimit || l.lengthLimit,
                        N = F.lineClamp || l.lineClamp;
                    o.font = P + " " + (L >> 0) + "px " + Q, o.fillStyle = m && u.fontColor ? u.fontColor : F.fontColor || l.fontColor;
                    var X = [],
                        se = String(F.text);
                    if (_) {
                        var Z = A.getLength(D, C);
                        X = L5(o, D5(se), function() {
                            return Z
                        }, N)
                    } else X = se.split(`
`);
                    X.forEach(function(ce, W) {
                        o.fillText(ce, v + A.getOffsetX(o.measureText(ce).width, C) + A.getLength(F.left, C), B + A.getLength(F.top, w) + (W + 1) * A.getLength(I))
                    })
                })
            }), (r = s.afterDraw) === null || r === void 0 || r.call(this, o)
        }, t.prototype.handleBackground = function(n, r, A, i, s) {
            var o = this.ctx;
            return s.includes("linear-gradient") && (s = function(a, l, u, f, d, p) {
                var v = /linear-gradient\((.+)\)/.exec(p)[1].split(",").map(function(E) {
                        return E.trim()
                    }),
                    B = v.shift(),
                    C = [0, 0, 0, 0];
                if (B.includes("deg")) {
                    var w = function(E) {
                        return Math.tan(E / 180 * Math.PI)
                    };
                    (B = B.slice(0, -3) % 360) >= 0 && B < 45 ? C = [l, u + d, l + f, u + d - f * w(B - 0)] : B >= 45 && B < 90 ? C = [l, u + d, l + f - d * w(B - 45), u] : B >= 90 && B < 135 ? C = [l + f, u + d, l + f - d * w(B - 90), u] : B >= 135 && B < 180 ? C = [l + f, u + d, l, u + f * w(B - 135)] : B >= 180 && B < 225 ? C = [l + f, u, l, u + f * w(B - 180)] : B >= 225 && B < 270 ? C = [l + f, u, l + d * w(B - 225), u + d] : B >= 270 && B < 315 ? C = [l, u, l + d * w(B - 270), u + d] : B >= 315 && B < 360 && (C = [l, u, l + f, u + d - f * w(B - 315)])
                } else B.includes("top") ? C = [l, u + d, l, u] : B.includes("bottom") ? C = [l, u, l, u + d] : B.includes("left") ? C = [l + f, u, l, u] : B.includes("right") && (C = [l, u, l + f, u]);
                var m = a.createLinearGradient.apply(a, C.map(function(E) {
                    return E >> 0
                }));
                return v.reduce(function(E, y, x) {
                    var F = y.split(" ");
                    return F.length === 1 ? E.addColorStop(x, F[0]) : F.length === 2 && E.addColorStop.apply(E, F), E
                }, m)
            }(o, n, r, A, i, s)), s
        }, t.prototype.carveOnGunwaleOfAMovingBoat = function() {
            var n = this,
                r = n._defaultConfig,
                A = n.prizeFlag,
                i = n.currIndex;
            this.endTime = Date.now();
            for (var s = this.stopIndex = i, o = r.speed, a = 0, l = 0, u = 0; ++a;) {
                var f = this.prizes.length * a + A - s,
                    d = qa(this.FPS, s, f, r.decelerationTime) - s;
                if (d > o) {
                    this.endIndex = o - l > d - o ? f : u;
                    break
                }
                u = f, l = d
            }
        }, t.prototype.play = function() {
            var n, r;
            this.step === 0 && (this.startTime = Date.now(), this.prizeFlag = void 0, this.step = 1, (r = (n = this.config).afterStart) === null || r === void 0 || r.call(n), this.run())
        }, t.prototype.stop = function(n) {
            if (this.step !== 0 && this.step !== 3) {
                if (!n && n !== 0) {
                    var r = this.prizes.map(function(A) {
                        return A.range
                    });
                    n = Cb(r)
                }
                n < 0 ? (this.step = 0, this.prizeFlag = -1) : (this.step = 2, this.prizeFlag = n % this.prizes.length)
            }
        }, t.prototype.run = function(n) {
            var r;
            n === void 0 && (n = 0);
            var A = this,
                i = A.rAF,
                s = A.step,
                o = A.prizes,
                a = A.prizeFlag,
                l = A._defaultConfig,
                u = l.accelerationTime,
                f = l.decelerationTime,
                d = l.speed;
            if (s !== 0) {
                if (a !== -1) {
                    s !== 3 || this.endIndex || this.carveOnGunwaleOfAMovingBoat();
                    var p = Date.now() - this.startTime,
                        v = Date.now() - this.endTime,
                        B = this.currIndex;
                    if (s === 1 || p < u) {
                        this.FPS = p / n;
                        var C = H5(p, .1, d - .1, u);
                        C === d && (this.step = 2), B += C % o.length
                    } else s === 2 ? (B += d % o.length, a !== void 0 && a >= 0 && (this.step = 3, this.stopIndex = 0, this.endIndex = 0)) : s === 3 ? (B = qa(v, this.stopIndex, this.endIndex, f), v >= f && (this.step = 0)) : this.stop(-1);
                    this.currIndex = B, this.draw(), i(this.run.bind(this, n + 1))
                }
            } else(r = this.endCallback) === null || r === void 0 || r.call(this, this.prizes.find(function(w, m) {
                return m === a
            }) || {})
        }, t.prototype.getGeometricProperty = function(n) {
            var r = n[0],
                A = n[1],
                i = n[2],
                s = i === void 0 ? 1 : i,
                o = n[3],
                a = o === void 0 ? 1 : o,
                l = this.cellWidth,
                u = this.cellHeight,
                f = this._defaultConfig.gutter,
                d = [this.prizeArea.x + (l + f) * r, this.prizeArea.y + (u + f) * A];
            return s && a && d.push(l * s + f * (s - 1), u * a + f * (a - 1)), d
        }, t.prototype.conversionAxis = function(n, r) {
            var A = this.config;
            return [n / A.dpr, r / A.dpr]
        }, t
    }(k5),
    PZ = function(e) {
        function t(n, r) {
            var A, i = e.call(this, n, {
                width: r.width,
                height: r.height
            }) || this;
            return i.blocks = [], i.prizes = [], i.slots = [], i.defaultConfig = {}, i._defaultConfig = {}, i.defaultStyle = {}, i._defaultStyle = {}, i.endCallback = function() {}, i.cellWidth = 0, i.cellHeight = 0, i.cellAndSpacing = 0, i.widthAndSpacing = 0, i.heightAndSpacing = 0, i.FPS = 16.6, i.scroll = [], i.stopScroll = [], i.endScroll = [], i.startTime = 0, i.endTime = 0, i.step = 0, i.prizeFlag = void 0, i.ImageCache = new Map, i.initData(r), i.initWatch(), i.initComputed(), (A = n.beforeCreate) === null || A === void 0 || A.call(i), i.init(), i
        }
        return O5(t, e), t.prototype.resize = function() {
            var n, r;
            e.prototype.resize.call(this), this.draw(), (r = (n = this.config).afterResize) === null || r === void 0 || r.call(n)
        }, t.prototype.initLucky = function() {
            this.cellWidth = 0, this.cellHeight = 0, this.cellAndSpacing = 0, this.widthAndSpacing = 0, this.heightAndSpacing = 0, this.FPS = 16.6, this.scroll = [], this.stopScroll = [], this.endScroll = [], this.startTime = 0, this.endTime = 0, this.prizeFlag = void 0, this.step = 0, e.prototype.initLucky.call(this)
        }, t.prototype.initData = function(n) {
            this.$set(this, "width", n.width || "300px"), this.$set(this, "height", n.height || "300px"), this.$set(this, "blocks", n.blocks || []), this.$set(this, "prizes", n.prizes || []), this.$set(this, "slots", n.slots || []), this.$set(this, "defaultConfig", n.defaultConfig || {}), this.$set(this, "defaultStyle", n.defaultStyle || {}), this.$set(this, "endCallback", n.end)
        }, t.prototype.initComputed = function() {
            var n = this;
            this.$computed(this, "_defaultConfig", function() {
                var r = Ei({
                    mode: "vertical",
                    rowSpacing: 0,
                    colSpacing: 5,
                    speed: 20,
                    direction: 1,
                    accelerationTime: 2500,
                    decelerationTime: 2500
                }, n.defaultConfig);
                return r.rowSpacing = n.getLength(r.rowSpacing), r.colSpacing = n.getLength(r.colSpacing), r
            }), this.$computed(this, "_defaultStyle", function() {
                return Ei({
                    borderRadius: 0,
                    fontColor: "#000",
                    fontSize: "18px",
                    fontStyle: "sans-serif",
                    fontWeight: "400",
                    background: "rgba(0,0,0,0)",
                    wordWrap: !0,
                    lengthLimit: "90%"
                }, n.defaultStyle)
            })
        }, t.prototype.initWatch = function() {
            var n = this;
            this.$watch("width", function(r) {
                n.data.width = r, n.resize()
            }), this.$watch("height", function(r) {
                n.data.height = r, n.resize()
            }), this.$watch("blocks", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("prizes", function(r) {
                n.initImageCache()
            }, {
                deep: !0
            }), this.$watch("slots", function(r) {
                n.drawOffscreenCanvas(), n.draw()
            }, {
                deep: !0
            }), this.$watch("defaultConfig", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("defaultStyle", function() {
                return n.draw()
            }, {
                deep: !0
            }), this.$watch("endCallback", function() {
                return n.init()
            })
        }, t.prototype.init = function() {
            var n, r;
            return bi(this, void 0, void 0, function() {
                var A;
                return xi(this, function(i) {
                    switch (i.label) {
                        case 0:
                            return this.initLucky(), A = this.config, (n = A.beforeInit) === null || n === void 0 || n.call(this), this.drawOffscreenCanvas(), this.draw(), [4, this.initImageCache()];
                        case 1:
                            return i.sent(), (r = A.afterInit) === null || r === void 0 || r.call(this), [2]
                    }
                })
            })
        }, t.prototype.initImageCache = function() {
            var n = this;
            return new Promise(function(r) {
                var A = {
                    blocks: n.blocks.map(function(i) {
                        return i.imgs
                    }),
                    prizes: n.prizes.map(function(i) {
                        return i.imgs
                    })
                };
                Object.keys(A).forEach(function(i) {
                    var s = A[i],
                        o = [];
                    s && s.forEach(function(a, l) {
                        a && a.forEach(function(u, f) {
                            o.push(n.loadAndCacheImg(i, l, f))
                        })
                    }), Promise.all(o).then(function() {
                        n.drawOffscreenCanvas(), n.draw(), r()
                    })
                })
            })
        }, t.prototype.loadAndCacheImg = function(n, r, A) {
            return bi(this, void 0, void 0, function() {
                var i = this;
                return xi(this, function(s) {
                    return [2, new Promise(function(o, a) {
                        var l = i[n][r];
                        if (l && l.imgs) {
                            var u = l.imgs[A];
                            u && i.loadImg(u.src, u).then(function(f) {
                                return bi(i, void 0, void 0, function() {
                                    return xi(this, function(d) {
                                        switch (d.label) {
                                            case 0:
                                                return typeof u.formatter != "function" ? [3, 2] : [4, Promise.resolve(u.formatter.call(this, f))];
                                            case 1:
                                                f = d.sent(), d.label = 2;
                                            case 2:
                                                return this.ImageCache.set(u.src, f), o(), [2]
                                        }
                                    })
                                })
                            }).catch(function(f) {
                                console.error(n + "[" + r + "].imgs[" + A + "] " + f), a()
                            })
                        }
                    })]
                })
            })
        }, t.prototype.drawOffscreenCanvas = function() {
            var n = this,
                r = this._defaultConfig,
                A = this._defaultStyle,
                i = this.drawBlocks(),
                s = i.w,
                o = i.h,
                a = this.prizes.length,
                l = this.displacementWidthOrHeight(),
                u = l.cellWidth,
                f = l.cellHeight,
                d = l.widthAndSpacing,
                p = l.heightAndSpacing,
                v = new Array(a).fill(void 0).map(function(y, x) {
                    return x
                }),
                B = 0,
                C = 0;
            this.slots.forEach(function(y, x) {
                n.scroll[x] === void 0 && (n.scroll[x] = 0), y.order = y.order || v;
                var F = y.order.length;
                B = Math.max(B, s + d * F), C = Math.max(C, o + p * F)
            });
            var w = this.getOffscreenCanvas(B, C),
                m = w._offscreenCanvas,
                E = w._ctx;
            this._offscreenCanvas = m, this.slots.forEach(function(y, x) {
                var F = u * x,
                    Q = f * x,
                    P = 0,
                    L = function(he, Se) {
                        for (var V = {}, ie = [], ue = 0; ue < he.length; ue++) V[ue] = he[ue];
                        for (ue = 0; ue < Se.length; ue++) {
                            var pe = V[Se[ue]];
                            pe && (ie[ue] = pe)
                        }
                        return ie
                    }(n.prizes, y.order);
                if (L.length) {
                    L.forEach(function(he, Se) {
                        if (he) {
                            y.order[Se];
                            var V = d * Se + r.colSpacing / 2,
                                ie = p * Se + r.rowSpacing / 2,
                                ue = n.displacement([F, ie, p], [V, Q, d]),
                                pe = ue[0],
                                ee = ue[1],
                                ye = ue[2];
                            P += ye;
                            var te = he.background || A.background;
                            if (vs(te)) {
                                var Be = n.getLength(Ja(he, "borderRadius") ? he.borderRadius : A.borderRadius);
                                Qf(E, pe, ee, u, u, Be), E.fillStyle = te, E.fill()
                            }
                            he.imgs && he.imgs.forEach(function(Qe, $e) {
                                var Ue = n.ImageCache.get(Qe.src);
                                if (Ue) {
                                    var Ve = n.computedWidthAndHeight(Ue, Qe, u, f),
                                        U = Ve[0],
                                        O = Ve[1],
                                        Y = [pe + n.getOffsetX(U, u) + n.getLength(Qe.left, u), ee + n.getLength(Qe.top, f)],
                                        we = Y[0],
                                        Te = Y[1];
                                    n.drawImage(E, Ue, we, Te, U, O)
                                }
                            }), he.fonts && he.fonts.forEach(function(Qe) {
                                var $e = Qe.fontStyle || A.fontStyle,
                                    Ue = Qe.fontWeight || A.fontWeight,
                                    Ve = n.getLength(Qe.fontSize || A.fontSize),
                                    U = Qe.lineHeight || A.lineHeight || Qe.fontSize || A.fontSize,
                                    O = Ja(Qe, "wordWrap") ? Qe.wordWrap : A.wordWrap,
                                    Y = Qe.lengthLimit || A.lengthLimit,
                                    we = Qe.lineClamp || A.lineClamp;
                                E.font = Ue + " " + (Ve >> 0) + "px " + $e, E.fillStyle = Qe.fontColor || A.fontColor;
                                var Te = [],
                                    Oe = String(Qe.text);
                                if (O) {
                                    var Ke = n.getLength(Y, u);
                                    Te = L5(E, D5(Oe), function() {
                                        return Ke
                                    }, we)
                                } else Te = Oe.split(`
`);
                                Te.forEach(function(He, Re) {
                                    E.fillText(He, pe + n.getOffsetX(E.measureText(He).width, u) + n.getLength(Qe.left, u), ee + n.getLength(Qe.top, f) + (Re + 1) * n.getLength(U))
                                })
                            })
                        }
                    });
                    for (var I = n.displacement([F, 0, u, P], [0, Q, P, f]), _ = I[0], D = I[1], N = I[2], X = I[3], se = P; se < C + P;) {
                        var Z = n.displacement([_, se], [se, D]),
                            ce = Z[0],
                            W = Z[1];
                        n.drawImage(E, m, _, D, N, X, ce, W, N, X), se += P
                    }
                }
            })
        }, t.prototype.drawBlocks = function() {
            var n = this,
                r = this;
            r.config;
            var A = r.ctx;
            r._defaultConfig;
            var i = r._defaultStyle;
            return this.prizeArea = this.blocks.reduce(function(s, o, a) {
                var l = s.x,
                    u = s.y,
                    f = s.w,
                    d = s.h,
                    p = yb(o, n.getLength.bind(n)),
                    v = p[0],
                    B = p[1],
                    C = p[2],
                    w = p[3],
                    m = o.borderRadius ? n.getLength(o.borderRadius) : 0,
                    E = o.background || i.background;
                return vs(E) && (Qf(A, l, u, f, d, m), A.fillStyle = E, A.fill()), o.imgs && o.imgs.forEach(function(y, x) {
                    var F = n.ImageCache.get(y.src);
                    if (F) {
                        var Q = n.computedWidthAndHeight(F, y, f, d),
                            P = Q[0],
                            L = Q[1],
                            I = [n.getOffsetX(P, f) + n.getLength(y.left, f), n.getLength(y.top, d)],
                            _ = I[0],
                            D = I[1];
                        n.drawImage(A, F, l + _, u + D, P, L)
                    }
                }), {
                    x: l + C,
                    y: u + v,
                    w: f - C - w,
                    h: d - v - B
                }
            }, {
                x: 0,
                y: 0,
                w: this.boxWidth,
                h: this.boxHeight
            })
        }, t.prototype.draw = function() {
            var n, r = this,
                A = this,
                i = A.config,
                s = A.ctx;
            A._defaultConfig, A._defaultStyle, (n = i.beforeDraw) === null || n === void 0 || n.call(this, s), s.clearRect(0, 0, this.boxWidth, this.boxHeight);
            var o = this.drawBlocks(),
                a = o.x,
                l = o.y,
                u = o.w,
                f = o.h;
            if (this._offscreenCanvas) {
                var d = this,
                    p = d.cellWidth,
                    v = d.cellHeight,
                    B = d.cellAndSpacing,
                    C = d.widthAndSpacing,
                    w = d.heightAndSpacing;
                this.slots.forEach(function(m, E) {
                    var y = B * m.order.length,
                        x = r.displacement(-(f - w) / 2, -(u - C) / 2),
                        F = r.scroll[E] + x;
                    F < 0 && (F = F % y + y), F > y && (F %= y);
                    var Q = r.displacement([p * E, F, p, f], [F, v * E, u, v]),
                        P = Q[0],
                        L = Q[1],
                        I = Q[2],
                        _ = Q[3],
                        D = r.displacement([a + C * E, l, p, f], [a, l + w * E, u, v]),
                        N = D[0],
                        X = D[1],
                        se = D[2],
                        Z = D[3];
                    r.drawImage(s, r._offscreenCanvas, P, L, I, _, N, X, se, Z)
                })
            }
        }, t.prototype.carveOnGunwaleOfAMovingBoat = function() {
            var n = this,
                r = this,
                A = r._defaultConfig,
                i = r.prizeFlag,
                s = r.cellAndSpacing;
            this.endTime = Date.now(), this.slots.forEach(function(o, a) {
                var l = o.order;
                if (l.length)
                    for (var u = o.speed || A.speed, f = o.direction || A.direction, d = l.findIndex(function(m) {
                            return m === i[a]
                        }), p = s * l.length, v = n.stopScroll[a] = n.scroll[a], B = 0; ++B;) {
                        var C = s * d + p * B * f - v,
                            w = qa(n.FPS, v, C, A.decelerationTime) - v;
                        if (Math.abs(w) > u) {
                            n.endScroll[a] = C;
                            break
                        }
                    }
            })
        }, t.prototype.play = function() {
            var n, r;
            this.step === 0 && (this.startTime = Date.now(), this.prizeFlag = void 0, this.step = 1, (r = (n = this.config).afterStart) === null || r === void 0 || r.call(n), this.run())
        }, t.prototype.stop = function(n) {
            var r;
            if (this.step !== 0 && this.step !== 3) {
                if (typeof n == "number") this.prizeFlag = new Array(this.slots.length).fill(n);
                else {
                    if (!qu(n, "array")) return this.stop(-1), console.error("stop() 无法识别的参数类型 " + typeof n);
                    if (n.length !== this.slots.length) return this.stop(-1), console.error("stop([" + n + "]) 参数长度的不正确");
                    this.prizeFlag = n
                }!((r = this.prizeFlag) === null || r === void 0) && r.includes(-1) ? (this.prizeFlag = [], this.step = 0) : this.step = 2
            }
        }, t.prototype.run = function(n) {
            var r, A, i = this;
            n === void 0 && (n = 0);
            var s = this,
                o = s.rAF,
                a = s.step,
                l = s.prizeFlag,
                u = s._defaultConfig,
                f = s.cellAndSpacing,
                d = s.slots,
                p = u.accelerationTime,
                v = u.decelerationTime;
            if (this.step !== 0 || (l == null ? void 0 : l.length) !== d.length) {
                if (l === void 0 || l.length) {
                    this.step !== 3 || this.endScroll.length || this.carveOnGunwaleOfAMovingBoat();
                    var B = Date.now() - this.startTime,
                        C = Date.now() - this.endTime;
                    d.forEach(function(x, F) {
                        var Q = x.order;
                        if (Q && Q.length) {
                            var P = f * Q.length,
                                L = Math.abs(x.speed || u.speed),
                                I = x.direction || u.direction,
                                _ = 0,
                                D = i.scroll[F];
                            if (a === 1 || B < p) {
                                i.FPS = B / n;
                                var N = H5(B, 0, L, p);
                                N === L && (i.step = 2), _ = (D + N * I) % P
                            } else if (a === 2) _ = (D + L * I) % P, (l == null ? void 0 : l.length) === d.length && (i.step = 3, i.stopScroll = [], i.endScroll = []);
                            else if (a === 3 && C) {
                                var X = i.stopScroll[F],
                                    se = i.endScroll[F];
                                _ = qa(C, X, se, v), C >= v && (i.step = 0)
                            }
                            i.scroll[F] = _
                        }
                    }), this.draw(), o(this.run.bind(this, n + 1))
                }
            } else {
                for (var w = l[0], m = 0; m < d.length; m++) {
                    var E = d[m],
                        y = l[m];
                    if (!(!((r = E.order) === null || r === void 0) && r.includes(y)) || w !== y) {
                        w = -1;
                        break
                    }
                }(A = this.endCallback) === null || A === void 0 || A.call(this, this.prizes.find(function(x, F) {
                    return F === w
                }) || void 0)
            }
        }, t.prototype.displacement = function(n, r) {
            return this._defaultConfig.mode === "horizontal" ? r : n
        }, t.prototype.displacementWidthOrHeight = function() {
            var n = this._defaultConfig.mode,
                r = this.slots.length,
                A = this._defaultConfig,
                i = A.colSpacing,
                s = A.rowSpacing,
                o = this.prizeArea || this.drawBlocks();
            o.x, o.y;
            var a, l, u = o.w,
                f = o.h,
                d = 0,
                p = 0;
            return n === "horizontal" ? (p = this.cellHeight = (f - s * (r - 1)) / r, d = this.cellWidth = p) : (d = this.cellWidth = (u - i * (r - 1)) / r, p = this.cellHeight = d), a = this.widthAndSpacing = this.cellWidth + i, l = this.heightAndSpacing = this.cellHeight + s, this.cellAndSpacing = n === "horizontal" ? a : l, {
                cellWidth: d,
                cellHeight: p,
                widthAndSpacing: a,
                heightAndSpacing: l
            }
        }, t
    }(k5),
    M5 = function(e, t, n) {
        t === void 0 && (t = {});
        var r = t.props,
            A = t.domProps,
            i = t.on,
            s = function(l, u) {
                var f = {};
                for (var d in l) Object.prototype.hasOwnProperty.call(l, d) && u.indexOf(d) < 0 && (f[d] = l[d]);
                if (l != null && typeof Object.getOwnPropertySymbols == "function") {
                    var p = 0;
                    for (d = Object.getOwnPropertySymbols(l); p < d.length; p++) u.indexOf(d[p]) < 0 && Object.prototype.propertyIsEnumerable.call(l, d[p]) && (f[d[p]] = l[d[p]])
                }
                return f
            }(t, ["props", "domProps", "on"]),
            o = function(l) {
                return l ? Object.entries(l).reduce(function(u, f) {
                    var d, p = f[0],
                        v = f[1];
                    return p = "on" + (p = p.charAt(0).toUpperCase() + p.slice(1)), Cr(Cr({}, u), ((d = {})[p] = v, d))
                }, {}) : null
            }(i),
            a = Cr(Cr(Cr(Cr({}, s), r), A), o);
        return Rn(e, a, n)
    },
    R5 = "@lucky-canvas/vue",
    OZ = nt({
        name: "LuckyWheel",
        props: {
            width: {
                type: [String, Number]
            },
            height: {
                type: [String, Number]
            },
            blocks: {
                type: Array,
                default: function() {
                    return []
                }
            },
            prizes: {
                type: Array,
                default: function() {
                    return []
                }
            },
            buttons: {
                type: Array,
                default: function() {
                    return []
                }
            },
            defaultStyle: {
                type: Object,
                default: function() {
                    return {}
                }
            },
            defaultConfig: {
                type: Object,
                default: function() {
                    return {}
                }
            }
        },
        emits: ["start", "end", "success", "error", "finally"],
        watch: {
            blocks: function(e, t) {
                this.lucky && (this.lucky.blocks = e)
            },
            prizes: function(e, t) {
                this.lucky && (this.lucky.prizes = e)
            },
            buttons: function(e, t) {
                this.lucky && (this.lucky.buttons = e)
            }
        },
        data: function() {
            return {
                lucky: null
            }
        },
        mounted: function() {
            this.$refs.myLucky && this.$refs.myLucky.setAttribute("package", R5 + "@0.1.11");
            try {
                this.initLucky(), this.$emit("success")
            } catch (e) {
                this.$emit("error", e)
            } finally {
                this.$emit("finally")
            }
        },
        methods: {
            initLucky: function() {
                var e = this;
                this.lucky = new QZ({
                    flag: "WEB",
                    width: String(this.width),
                    height: String(this.height),
                    divElement: this.$refs.myLucky,
                    rAF: window.requestAnimationFrame,
                    setTimeout: window.setTimeout,
                    setInterval: window.setInterval,
                    clearTimeout: window.clearTimeout,
                    clearInterval: window.clearInterval
                }, Cr(Cr({}, this.$props), {
                    start: function(t) {
                        e.$emit("start", t)
                    },
                    end: function(t) {
                        e.$emit("end", t)
                    }
                }))
            },
            init: function() {
                this.lucky && this.lucky.init()
            },
            play: function() {
                var e;
                (e = this.lucky) === null || e === void 0 || e.play()
            },
            stop: function(e) {
                var t;
                (t = this.lucky) === null || t === void 0 || t.stop(e)
            }
        },
        render: function() {
            return M5("div", {
                ref: "myLucky"
            })
        }
    }),
    DZ = nt({
        name: "LuckyGrid",
        props: {
            width: {
                type: [String, Number]
            },
            height: {
                type: [String, Number]
            },
            cols: {
                type: [String, Number],
                default: 3
            },
            rows: {
                type: [String, Number],
                default: 3
            },
            blocks: {
                type: Array,
                default: function() {
                    return []
                }
            },
            prizes: {
                type: Array,
                default: function() {
                    return []
                }
            },
            buttons: {
                type: Array,
                default: function() {
                    return []
                }
            },
            button: {
                type: Object
            },
            defaultStyle: {
                type: Object,
                default: function() {
                    return {}
                }
            },
            activeStyle: {
                type: Object,
                default: function() {
                    return {}
                }
            },
            defaultConfig: {
                type: Object,
                default: function() {
                    return {}
                }
            }
        },
        emits: ["start", "end", "success", "error", "finally"],
        watch: {
            cols: function(e, t) {
                this.lucky && (this.lucky.cols = e)
            },
            rows: function(e, t) {
                this.lucky && (this.lucky.rows = e)
            },
            blocks: function(e, t) {
                this.lucky && (this.lucky.blocks = e)
            },
            prizes: function(e, t) {
                this.lucky && (this.lucky.prizes = e)
            },
            buttons: function(e, t) {
                this.lucky && (this.lucky.buttons = e)
            },
            button: function(e, t) {
                this.lucky && (this.lucky.button = e)
            }
        },
        data: function() {
            return {
                lucky: null
            }
        },
        mounted: function() {
            this.$refs.myLucky && this.$refs.myLucky.setAttribute("package", R5 + "@0.1.11");
            try {
                this.initLucky(), this.$emit("success")
            } catch (e) {
                this.$emit("error", e)
            } finally {
                this.$emit("finally")
            }
        },
        methods: {
            initLucky: function() {
                var e = this;
                this.lucky = new UZ({
                    flag: "WEB",
                    width: String(this.width),
                    height: String(this.height),
                    divElement: this.$refs.myLucky,
                    rAF: window.requestAnimationFrame,
                    setTimeout: window.setTimeout,
                    setInterval: window.setInterval,
                    clearTimeout: window.clearTimeout,
                    clearInterval: window.clearInterval
                }, Cr(Cr({}, this.$props), {
                    start: function(t, n) {
                        e.$emit("start", t, n)
                    },
                    end: function(t) {
                        e.$emit("end", t)
                    }
                }))
            },
            init: function() {
                this.lucky && this.lucky.init()
            },
            play: function() {
                var e;
                (e = this.lucky) === null || e === void 0 || e.play()
            },
            stop: function(e) {
                var t;
                (t = this.lucky) === null || t === void 0 || t.stop(e)
            }
        },
        render: function() {
            return M5("div", {
                ref: "myLucky"
            })
        }
    }),
    LZ = nt({
        name: "SlotMachine",
        props: {
            width: {
                type: [String, Number]
            },
            height: {
                type: [String, Number]
            },
            blocks: {
                type: Array,
                default: function() {
                    return []
                }
            },
            prizes: {
                type: Array,
                default: function() {
                    return []
                }
            },
            slots: {
                type: Array,
                default: function() {
                    return []
                }
            },
            defaultStyle: {
                type: Object,
                default: function() {
                    return {}
                }
            },
            defaultConfig: {
                type: Object,
                default: function() {
                    return {}
                }
            }
        },
        watch: {
            blocks: function(e, t) {
                this.lucky && (this.lucky.blocks = e)
            },
            slots: function(e, t) {
                this.lucky && (this.lucky.slots = e)
            },
            prizes: function(e, t) {
                this.lucky && (this.lucky.prizes = e)
            }
        },
        data: function() {
            return {
                lucky: null
            }
        },
        mounted: function() {
            this.$refs.myLucky && this.$refs.myLucky.setAttribute("package", R5 + "@0.1.11");
            try {
                this.initLucky(), this.$emit("success")
            } catch (e) {
                this.$emit("error", e)
            } finally {
                this.$emit("finally")
            }
        },
        methods: {
            initLucky: function() {
                var e = this;
                this.lucky = new PZ({
                    flag: "WEB",
                    width: String(this.width),
                    height: String(this.height),
                    divElement: this.$refs.myLucky,
                    rAF: window.requestAnimationFrame,
                    setTimeout: window.setTimeout,
                    setInterval: window.setInterval,
                    clearTimeout: window.clearTimeout,
                    clearInterval: window.clearInterval
                }, Cr(Cr({}, this.$props), {
                    start: function(t) {
                        e.$emit("start", t)
                    },
                    end: function(t) {
                        e.$emit("end", t)
                    }
                }))
            },
            init: function() {
                this.lucky && this.lucky.init()
            },
            play: function() {
                var e;
                (e = this.lucky) === null || e === void 0 || e.play()
            },
            stop: function(e) {
                var t;
                (t = this.lucky) === null || t === void 0 || t.stop(e)
            }
        },
        render: function() {
            return M5("div", {
                ref: "myLucky"
            })
        }
    }),
    kZ = function(e) {
        e.component("LuckyWheel", OZ), e.component("LuckyGrid", DZ), e.component("SlotMachine", LZ)
    };
typeof window < "u" && window.Vue && wb && kZ(window.Vue);
const xb = new Set,
    Rr = new WeakMap,
    Da = new WeakMap,
    ko = new WeakMap,
    X6 = new WeakMap,
    HZ = new WeakMap,
    Za = new WeakMap,
    Uf = new WeakMap;
let ks;
const go = "__aa_tgt",
    J6 = "__aa_del",
    MZ = e => {
        const t = VZ(e);
        t && t.forEach(n => GZ(n))
    },
    RZ = e => {
        e.forEach(t => {
            t.target === ks && $Z(), Rr.has(t.target) && Go(t.target)
        })
    };

function NZ(e) {
    const t = X6.get(e);
    t == null || t.disconnect();
    let n = Rr.get(e),
        r = 0;
    const A = 5;
    n || (n = el(e), Rr.set(e, n));
    const {
        offsetWidth: i,
        offsetHeight: s
    } = ks, a = [n.top - A, i - (n.left + A + n.width), s - (n.top + A + n.height), n.left - A].map(u => `${-1*Math.floor(u)}px`).join(" "), l = new IntersectionObserver(() => {
        ++r > 1 && Go(e)
    }, {
        root: ks,
        threshold: 1,
        rootMargin: a
    });
    l.observe(e), X6.set(e, l)
}

function Go(e) {
    clearTimeout(Uf.get(e));
    const t = z1(e),
        n = typeof t == "function" ? 500 : t.duration;
    Uf.set(e, setTimeout(() => {
        const r = ko.get(e);
        (!r || r.finished) && (Rr.set(e, el(e)), NZ(e))
    }, n))
}

function $Z() {
    clearTimeout(Uf.get(ks)), Uf.set(ks, setTimeout(() => {
        xb.forEach(e => Sb(e, t => _b(() => Go(t))))
    }, 100))
}

function KZ(e) {
    setTimeout(() => {
        HZ.set(e, setInterval(() => _b(Go.bind(null, e)), 2e3))
    }, Math.round(2e3 * Math.random()))
}

function _b(e) {
    typeof requestIdleCallback == "function" ? requestIdleCallback(() => e()) : requestAnimationFrame(() => e())
}
let q6, Fa;
typeof window < "u" && (ks = document.documentElement, q6 = new MutationObserver(MZ), Fa = new ResizeObserver(RZ), Fa.observe(ks));

function VZ(e) {
    return e.reduce((t, n) => {
        if (t === !1) return !1;
        if (n.target instanceof Element) {
            if (t2(n.target), !t.has(n.target)) {
                t.add(n.target);
                for (let r = 0; r < n.target.children.length; r++) {
                    const A = n.target.children.item(r);
                    if (A) {
                        if (J6 in A) return !1;
                        t2(n.target, A), t.add(A)
                    }
                }
            }
            if (n.removedNodes.length)
                for (let r = 0; r < n.removedNodes.length; r++) {
                    const A = n.removedNodes[r];
                    if (J6 in A) return !1;
                    A instanceof Element && (t.add(A), t2(n.target, A), Da.set(A, [n.previousSibling, n.nextSibling]))
                }
        }
        return t
    }, new Set)
}

function t2(e, t) {
    !t && !(go in e) ? Object.defineProperty(e, go, {
        value: e
    }) : t && !(go in t) && Object.defineProperty(t, go, {
        value: e
    })
}

function GZ(e) {
    var t;
    const n = ks.contains(e),
        r = Rr.has(e);
    n && Da.has(e) && Da.delete(e), ko.has(e) && ((t = ko.get(e)) === null || t === void 0 || t.cancel()), r && n ? jZ(e) : r && !n ? zZ(e) : WZ(e)
}

function UA(e) {
    return Number(e.replace(/[^0-9.\-]/g, ""))
}

function el(e) {
    const t = e.getBoundingClientRect();
    return {
        top: t.top + window.scrollY,
        left: t.left + window.scrollX,
        width: t.width,
        height: t.height
    }
}

function Fb(e, t, n) {
    let r = t.width,
        A = t.height,
        i = n.width,
        s = n.height;
    const o = getComputedStyle(e);
    if (o.getPropertyValue("box-sizing") === "content-box") {
        const l = UA(o.paddingTop) + UA(o.paddingBottom) + UA(o.borderTopWidth) + UA(o.borderBottomWidth),
            u = UA(o.paddingLeft) + UA(o.paddingRight) + UA(o.borderRightWidth) + UA(o.borderLeftWidth);
        r -= u, i -= u, A -= l, s -= l
    }
    return [r, i, A, s].map(Math.round)
}

function z1(e) {
    return go in e && Za.has(e[go]) ? Za.get(e[go]) : {
        duration: 250,
        easing: "ease-in-out"
    }
}

function Sb(e, ...t) {
    t.forEach(n => n(e, Za.has(e)));
    for (let n = 0; n < e.children.length; n++) {
        const r = e.children.item(n);
        r && t.forEach(A => A(r, Za.has(r)))
    }
}

function jZ(e) {
    const t = Rr.get(e),
        n = el(e);
    let r;
    if (!t) return;
    const A = z1(e);
    if (typeof A != "function") {
        const i = t.left - n.left,
            s = t.top - n.top,
            [o, a, l, u] = Fb(e, t, n),
            f = {
                transform: `translate(${i}px, ${s}px)`
            },
            d = {
                transform: "translate(0, 0)"
            };
        o !== a && (f.width = `${o}px`, d.width = `${a}px`), l !== u && (f.height = `${l}px`, d.height = `${u}px`), r = e.animate([f, d], A)
    } else r = new Animation(A(e, "remain", t, n)), r.play();
    ko.set(e, r), Rr.set(e, n), r.addEventListener("finish", Go.bind(null, e))
}

function WZ(e) {
    const t = el(e);
    Rr.set(e, t);
    const n = z1(e);
    let r;
    typeof n != "function" ? r = e.animate([{
        transform: "scale(.98)",
        opacity: 0
    }, {
        transform: "scale(0.98)",
        opacity: 0,
        offset: .5
    }, {
        transform: "scale(1)",
        opacity: 1
    }], {
        duration: n.duration * 1.5,
        easing: "ease-in"
    }) : (r = new Animation(n(e, "add", t)), r.play()), ko.set(e, r), r.addEventListener("finish", Go.bind(null, e))
}

function zZ(e) {
    if (!Da.has(e) || !Rr.has(e)) return;
    const [t, n] = Da.get(e);
    Object.defineProperty(e, J6, {
        value: !0
    }), n && n.parentNode && n.parentNode instanceof Element ? n.parentNode.insertBefore(e, n) : t && t.parentNode && t.parentNode.appendChild(e);
    const [r, A, i, s] = YZ(e), o = z1(e), a = Rr.get(e);
    let l;
    Object.assign(e.style, {
        position: "absolute",
        top: `${r}px`,
        left: `${A}px`,
        width: `${i}px`,
        height: `${s}px`,
        margin: 0,
        pointerEvents: "none",
        transformOrigin: "center",
        zIndex: 100
    }), typeof o != "function" ? l = e.animate([{
        transform: "scale(1)",
        opacity: 1
    }, {
        transform: "scale(.98)",
        opacity: 0
    }], {
        duration: o.duration,
        easing: "ease-out"
    }) : (l = new Animation(o(e, "remove", a)), l.play()), ko.set(e, l), l.addEventListener("finish", () => {
        var u;
        e.remove(), Rr.delete(e), Da.delete(e), ko.delete(e), (u = X6.get(e)) === null || u === void 0 || u.disconnect()
    })
}

function YZ(e) {
    const t = Rr.get(e),
        [n, , r] = Fb(e, t, el(e));
    let A = e.parentElement;
    for (; A && (getComputedStyle(A).position === "static" || A instanceof HTMLBodyElement);) A = A.parentElement;
    A || (A = document.body);
    const i = getComputedStyle(A),
        s = Rr.get(A) || el(A),
        o = Math.round(t.top - s.top) - UA(i.borderTopWidth),
        a = Math.round(t.left - s.left) - UA(i.borderLeftWidth);
    return [o, a, n, r]
}

function Roe(e, t = {}) {
    q6 && Fa && (getComputedStyle(e).position === "static" && Object.assign(e.style, {
        position: "relative"
    }), Sb(e, Go, KZ, n => Fa == null ? void 0 : Fa.observe(n)), typeof t == "function" ? Za.set(e, t) : Za.set(e, {
        duration: 250,
        easing: "ease-in-out",
        ...t
    }), q6.observe(e, {
        childList: !0
    }), xb.add(e))
}
var Y1 = {},
    XZ = function() {
        return typeof Promise == "function" && Promise.prototype && Promise.prototype.then
    },
    Tb = {},
    Vr = {};
let N5;
const JZ = [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];
Vr.getSymbolSize = function(t) {
    if (!t) throw new Error('"version" cannot be null or undefined');
    if (t < 1 || t > 40) throw new Error('"version" should be in range from 1 to 40');
    return t * 4 + 17
};
Vr.getSymbolTotalCodewords = function(t) {
    return JZ[t]
};
Vr.getBCHDigit = function(e) {
    let t = 0;
    for (; e !== 0;) t++, e >>>= 1;
    return t
};
Vr.setToSJISFunction = function(t) {
    if (typeof t != "function") throw new Error('"toSJISFunc" is not a valid function.');
    N5 = t
};
Vr.isKanjiModeEnabled = function() {
    return typeof N5 < "u"
};
Vr.toSJIS = function(t) {
    return N5(t)
};
var X1 = {};
(function(e) {
    e.L = {
        bit: 1
    }, e.M = {
        bit: 0
    }, e.Q = {
        bit: 3
    }, e.H = {
        bit: 2
    };

    function t(n) {
        if (typeof n != "string") throw new Error("Param is not a string");
        switch (n.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: " + n)
        }
    }
    e.isValid = function(r) {
        return r && typeof r.bit < "u" && r.bit >= 0 && r.bit < 4
    }, e.from = function(r, A) {
        if (e.isValid(r)) return r;
        try {
            return t(r)
        } catch {
            return A
        }
    }
})(X1);

function Ib() {
    this.buffer = [], this.length = 0
}
Ib.prototype = {
    get: function(e) {
        const t = Math.floor(e / 8);
        return (this.buffer[t] >>> 7 - e % 8 & 1) === 1
    },
    put: function(e, t) {
        for (let n = 0; n < t; n++) this.putBit((e >>> t - n - 1 & 1) === 1)
    },
    getLengthInBits: function() {
        return this.length
    },
    putBit: function(e) {
        const t = Math.floor(this.length / 8);
        this.buffer.length <= t && this.buffer.push(0), e && (this.buffer[t] |= 128 >>> this.length % 8), this.length++
    }
};
var qZ = Ib;

function Ic(e) {
    if (!e || e < 1) throw new Error("BitMatrix size must be defined and greater than 0");
    this.size = e, this.data = new Uint8Array(e * e), this.reservedBit = new Uint8Array(e * e)
}
Ic.prototype.set = function(e, t, n, r) {
    const A = e * this.size + t;
    this.data[A] = n, r && (this.reservedBit[A] = !0)
};
Ic.prototype.get = function(e, t) {
    return this.data[e * this.size + t]
};
Ic.prototype.xor = function(e, t, n) {
    this.data[e * this.size + t] ^= n
};
Ic.prototype.isReserved = function(e, t) {
    return this.reservedBit[e * this.size + t]
};
var ZZ = Ic,
    Qb = {};
(function(e) {
    const t = Vr.getSymbolSize;
    e.getRowColCoords = function(r) {
        if (r === 1) return [];
        const A = Math.floor(r / 7) + 2,
            i = t(r),
            s = i === 145 ? 26 : Math.ceil((i - 13) / (2 * A - 2)) * 2,
            o = [i - 7];
        for (let a = 1; a < A - 1; a++) o[a] = o[a - 1] - s;
        return o.push(6), o.reverse()
    }, e.getPositions = function(r) {
        const A = [],
            i = e.getRowColCoords(r),
            s = i.length;
        for (let o = 0; o < s; o++)
            for (let a = 0; a < s; a++) o === 0 && a === 0 || o === 0 && a === s - 1 || o === s - 1 && a === 0 || A.push([i[o], i[a]]);
        return A
    }
})(Qb);
var Ub = {};
const eee = Vr.getSymbolSize,
    k7 = 7;
Ub.getPositions = function(t) {
    const n = eee(t);
    return [
        [0, 0],
        [n - k7, 0],
        [0, n - k7]
    ]
};
var Pb = {};
(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,
            o = 0,
            a = 0,
            l = null,
            u = null;
        for (let f = 0; f < i; f++) {
            o = a = 0, l = u = null;
            for (let d = 0; d < i; d++) {
                let p = A.get(f, d);
                p === l ? o++ : (o >= 5 && (s += t.N1 + (o - 5)), l = p, o = 1), p = A.get(d, f), p === u ? a++ : (a >= 5 && (s += t.N1 + (a - 5)), u = p, a = 1)
            }
            o >= 5 && (s += t.N1 + (o - 5)), a >= 5 && (s += t.N1 + (a - 5))
        }
        return s
    }, e.getPenaltyN2 = function(A) {
        const i = A.size;
        let s = 0;
        for (let o = 0; o < i - 1; o++)
            for (let a = 0; a < i - 1; a++) {
                const l = A.get(o, a) + A.get(o, a + 1) + A.get(o + 1, a) + A.get(o + 1, a + 1);
                (l === 4 || l === 0) && s++
            }
        return s * t.N2
    }, e.getPenaltyN3 = function(A) {
        const i = A.size;
        let s = 0,
            o = 0,
            a = 0;
        for (let l = 0; l < i; l++) {
            o = a = 0;
            for (let u = 0; u < i; u++) o = o << 1 & 2047 | A.get(l, u), u >= 10 && (o === 1488 || o === 93) && s++, a = a << 1 & 2047 | A.get(u, l), u >= 10 && (a === 1488 || a === 93) && s++
        }
        return s * t.N3
    }, e.getPenaltyN4 = function(A) {
        let i = 0;
        const s = A.data.length;
        for (let a = 0; a < s; a++) i += A.data[a];
        return Math.abs(Math.ceil(i * 100 / s / 5) - 10) * t.N4
    };

    function n(r, A, i) {
        switch (r) {
            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:" + r)
        }
    }
    e.applyMask = function(A, i) {
        const s = i.size;
        for (let o = 0; o < s; o++)
            for (let a = 0; a < s; a++) i.isReserved(a, o) || i.xor(a, o, n(A, a, o))
    }, e.getBestMask = function(A, i) {
        const s = Object.keys(e.Patterns).length;
        let o = 0,
            a = 1 / 0;
        for (let l = 0; l < s; l++) {
            i(l), e.applyMask(l, A);
            const u = e.getPenaltyN1(A) + e.getPenaltyN2(A) + e.getPenaltyN3(A) + e.getPenaltyN4(A);
            e.applyMask(l, A), u < a && (a = u, o = l)
        }
        return o
    }
})(Pb);
var J1 = {};
const ms = X1,
    v0 = [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],
    m0 = [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];
J1.getBlocksCount = function(t, n) {
    switch (n) {
        case ms.L:
            return v0[(t - 1) * 4 + 0];
        case ms.M:
            return v0[(t - 1) * 4 + 1];
        case ms.Q:
            return v0[(t - 1) * 4 + 2];
        case ms.H:
            return v0[(t - 1) * 4 + 3];
        default:
            return
    }
};
J1.getTotalCodewordsCount = function(t, n) {
    switch (n) {
        case ms.L:
            return m0[(t - 1) * 4 + 0];
        case ms.M:
            return m0[(t - 1) * 4 + 1];
        case ms.Q:
            return m0[(t - 1) * 4 + 2];
        case ms.H:
            return m0[(t - 1) * 4 + 3];
        default:
            return
    }
};
var Ob = {},
    q1 = {};
const bu = new Uint8Array(512),
    Pf = new Uint8Array(256);
(function() {
    let t = 1;
    for (let n = 0; n < 255; n++) bu[n] = t, Pf[t] = n, t <<= 1, t & 256 && (t ^= 285);
    for (let n = 255; n < 512; n++) bu[n] = bu[n - 255]
})();
q1.log = function(t) {
    if (t < 1) throw new Error("log(" + t + ")");
    return Pf[t]
};
q1.exp = function(t) {
    return bu[t]
};
q1.mul = function(t, n) {
    return t === 0 || n === 0 ? 0 : bu[Pf[t] + Pf[n]]
};
(function(e) {
    const t = q1;
    e.mul = function(r, A) {
        const i = new Uint8Array(r.length + A.length - 1);
        for (let s = 0; s < r.length; s++)
            for (let o = 0; o < A.length; o++) i[s + o] ^= t.mul(r[s], A[o]);
        return i
    }, e.mod = function(r, A) {
        let i = new Uint8Array(r);
        for (; i.length - A.length >= 0;) {
            const s = i[0];
            for (let a = 0; a < A.length; a++) i[a] ^= t.mul(A[a], s);
            let o = 0;
            for (; o < i.length && i[o] === 0;) o++;
            i = i.slice(o)
        }
        return i
    }, e.generateECPolynomial = function(r) {
        let A = new Uint8Array([1]);
        for (let i = 0; i < r; i++) A = e.mul(A, new Uint8Array([1, t.exp(i)]));
        return A
    }
})(Ob);
const Db = Ob;

function $5(e) {
    this.genPoly = void 0, this.degree = e, this.degree && this.initialize(this.degree)
}
$5.prototype.initialize = function(t) {
    this.degree = t, this.genPoly = Db.generateECPolynomial(this.degree)
};
$5.prototype.encode = function(t) {
    if (!this.genPoly) throw new Error("Encoder not initialized");
    const n = new Uint8Array(t.length + this.degree);
    n.set(t);
    const r = Db.mod(n, this.genPoly),
        A = this.degree - r.length;
    if (A > 0) {
        const i = new Uint8Array(this.degree);
        return i.set(r, A), i
    }
    return r
};
var tee = $5,
    Lb = {},
    Gs = {},
    K5 = {};
K5.isValid = function(t) {
    return !isNaN(t) && t >= 1 && t <= 40
};
var YA = {};
const kb = "[0-9]+",
    nee = "[A-Z $%*+\\-./:]+";
let Zu = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";
Zu = Zu.replace(/u/g, "\\u");
const ree = "(?:(?![A-Z0-9 $%*+\\-./:]|" + Zu + `)(?:.|[\r
]))+`;
YA.KANJI = new RegExp(Zu, "g");
YA.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g");
YA.BYTE = new RegExp(ree, "g");
YA.NUMERIC = new RegExp(kb, "g");
YA.ALPHANUMERIC = new RegExp(nee, "g");
const Aee = new RegExp("^" + Zu + "$"),
    iee = new RegExp("^" + kb + "$"),
    see = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
YA.testKanji = function(t) {
    return Aee.test(t)
};
YA.testNumeric = function(t) {
    return iee.test(t)
};
YA.testAlphanumeric = function(t) {
    return see.test(t)
};
(function(e) {
    const t = K5,
        n = YA;
    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 n.testNumeric(i) ? e.NUMERIC : n.testAlphanumeric(i) ? e.ALPHANUMERIC : n.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 r(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 r(i)
        } catch {
            return s
        }
    }
})(Gs);
(function(e) {
    const t = Vr,
        n = J1,
        r = X1,
        A = Gs,
        i = K5,
        s = 7973,
        o = t.getBCHDigit(s);

    function a(d, p, v) {
        for (let B = 1; B <= 40; B++)
            if (p <= e.getCapacity(B, v, d)) return B
    }

    function l(d, p) {
        return A.getCharCountIndicator(d, p) + 4
    }

    function u(d, p) {
        let v = 0;
        return d.forEach(function(B) {
            const C = l(B.mode, p);
            v += C + B.getBitsLength()
        }), v
    }

    function f(d, p) {
        for (let v = 1; v <= 40; v++)
            if (u(d, v) <= e.getCapacity(v, p, A.MIXED)) return v
    }
    e.from = function(p, v) {
        return i.isValid(p) ? parseInt(p, 10) : v
    }, e.getCapacity = function(p, v, B) {
        if (!i.isValid(p)) throw new Error("Invalid QR Code version");
        typeof B > "u" && (B = A.BYTE);
        const C = t.getSymbolTotalCodewords(p),
            w = n.getTotalCodewordsCount(p, v),
            m = (C - w) * 8;
        if (B === A.MIXED) return m;
        const E = m - l(B, p);
        switch (B) {
            case A.NUMERIC:
                return Math.floor(E / 10 * 3);
            case A.ALPHANUMERIC:
                return Math.floor(E / 11 * 2);
            case A.KANJI:
                return Math.floor(E / 13);
            case A.BYTE:
            default:
                return Math.floor(E / 8)
        }
    }, e.getBestVersionForData = function(p, v) {
        let B;
        const C = r.from(v, r.M);
        if (Array.isArray(p)) {
            if (p.length > 1) return f(p, C);
            if (p.length === 0) return 1;
            B = p[0]
        } else B = p;
        return a(B.mode, B.getLength(), C)
    }, e.getEncodedBits = function(p) {
        if (!i.isValid(p) || p < 7) throw new Error("Invalid QR Code version");
        let v = p << 12;
        for (; t.getBCHDigit(v) - o >= 0;) v ^= s << t.getBCHDigit(v) - o;
        return p << 12 | v
    }
})(Lb);
var Hb = {};
const Z6 = Vr,
    Mb = 1335,
    oee = 21522,
    H7 = Z6.getBCHDigit(Mb);
Hb.getEncodedBits = function(t, n) {
    const r = t.bit << 3 | n;
    let A = r << 10;
    for (; Z6.getBCHDigit(A) - H7 >= 0;) A ^= Mb << Z6.getBCHDigit(A) - H7;
    return (r << 10 | A) ^ oee
};
var Rb = {};
const aee = Gs;

function tl(e) {
    this.mode = aee.NUMERIC, this.data = e.toString()
}
tl.getBitsLength = function(t) {
    return 10 * Math.floor(t / 3) + (t % 3 ? t % 3 * 3 + 1 : 0)
};
tl.prototype.getLength = function() {
    return this.data.length
};
tl.prototype.getBitsLength = function() {
    return tl.getBitsLength(this.data.length)
};
tl.prototype.write = function(t) {
    let n, r, A;
    for (n = 0; n + 3 <= this.data.length; n += 3) r = this.data.substr(n, 3), A = parseInt(r, 10), t.put(A, 10);
    const i = this.data.length - n;
    i > 0 && (r = this.data.substr(n), A = parseInt(r, 10), t.put(A, i * 3 + 1))
};
var lee = tl;
const uee = Gs,
    n2 = ["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 nl(e) {
    this.mode = uee.ALPHANUMERIC, this.data = e
}
nl.getBitsLength = function(t) {
    return 11 * Math.floor(t / 2) + 6 * (t % 2)
};
nl.prototype.getLength = function() {
    return this.data.length
};
nl.prototype.getBitsLength = function() {
    return nl.getBitsLength(this.data.length)
};
nl.prototype.write = function(t) {
    let n;
    for (n = 0; n + 2 <= this.data.length; n += 2) {
        let r = n2.indexOf(this.data[n]) * 45;
        r += n2.indexOf(this.data[n + 1]), t.put(r, 11)
    }
    this.data.length % 2 && t.put(n2.indexOf(this.data[n]), 6)
};
var cee = nl,
    fee = function(t) {
        for (var n = [], r = t.length, A = 0; A < r; A++) {
            var i = t.charCodeAt(A);
            if (i >= 55296 && i <= 56319 && r > A + 1) {
                var s = t.charCodeAt(A + 1);
                s >= 56320 && s <= 57343 && (i = (i - 55296) * 1024 + s - 56320 + 65536, A += 1)
            }
            if (i < 128) {
                n.push(i);
                continue
            }
            if (i < 2048) {
                n.push(i >> 6 | 192), n.push(i & 63 | 128);
                continue
            }
            if (i < 55296 || i >= 57344 && i < 65536) {
                n.push(i >> 12 | 224), n.push(i >> 6 & 63 | 128), n.push(i & 63 | 128);
                continue
            }
            if (i >= 65536 && i <= 1114111) {
                n.push(i >> 18 | 240), n.push(i >> 12 & 63 | 128), n.push(i >> 6 & 63 | 128), n.push(i & 63 | 128);
                continue
            }
            n.push(239, 191, 189)
        }
        return new Uint8Array(n).buffer
    };
const dee = fee,
    hee = Gs;

function rl(e) {
    this.mode = hee.BYTE, typeof e == "string" && (e = dee(e)), this.data = new Uint8Array(e)
}
rl.getBitsLength = function(t) {
    return t * 8
};
rl.prototype.getLength = function() {
    return this.data.length
};
rl.prototype.getBitsLength = function() {
    return rl.getBitsLength(this.data.length)
};
rl.prototype.write = function(e) {
    for (let t = 0, n = this.data.length; t < n; t++) e.put(this.data[t], 8)
};
var pee = rl;
const gee = Gs,
    vee = Vr;

function Al(e) {
    this.mode = gee.KANJI, this.data = e
}
Al.getBitsLength = function(t) {
    return t * 13
};
Al.prototype.getLength = function() {
    return this.data.length
};
Al.prototype.getBitsLength = function() {
    return Al.getBitsLength(this.data.length)
};
Al.prototype.write = function(e) {
    let t;
    for (t = 0; t < this.data.length; t++) {
        let n = vee.toSJIS(this.data[t]);
        if (n >= 33088 && n <= 40956) n -= 33088;
        else if (n >= 57408 && n <= 60351) n -= 49472;
        else throw new Error("Invalid SJIS character: " + this.data[t] + `
Make sure your charset is UTF-8`);
        n = (n >>> 8 & 255) * 192 + (n & 255), e.put(n, 13)
    }
};
var mee = Al,
    Nb = {
        exports: {}
    };
(function(e) {
    var t = {
        single_source_shortest_paths: function(n, r, A) {
            var i = {},
                s = {};
            s[r] = 0;
            var o = t.PriorityQueue.make();
            o.push(r, 0);
            for (var a, l, u, f, d, p, v, B, C; !o.empty();) {
                a = o.pop(), l = a.value, f = a.cost, d = n[l] || {};
                for (u in d) d.hasOwnProperty(u) && (p = d[u], v = f + p, B = s[u], C = typeof s[u] > "u", (C || B > v) && (s[u] = v, o.push(u, v), i[u] = l))
            }
            if (typeof A < "u" && typeof s[A] > "u") {
                var w = ["Could not find a path from ", r, " to ", A, "."].join("");
                throw new Error(w)
            }
            return i
        },
        extract_shortest_path_from_predecessor_list: function(n, r) {
            for (var A = [], i = r; i;) A.push(i), n[i], i = n[i];
            return A.reverse(), A
        },
        find_path: function(n, r, A) {
            var i = t.single_source_shortest_paths(n, r, A);
            return t.extract_shortest_path_from_predecessor_list(i, A)
        },
        PriorityQueue: {
            make: function(n) {
                var r = t.PriorityQueue,
                    A = {},
                    i;
                n = n || {};
                for (i in r) r.hasOwnProperty(i) && (A[i] = r[i]);
                return A.queue = [], A.sorter = n.sorter || r.default_sorter, A
            },
            default_sorter: function(n, r) {
                return n.cost - r.cost
            },
            push: function(n, r) {
                var A = {
                    value: n,
                    cost: r
                };
                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
})(Nb);
var Bee = Nb.exports;
(function(e) {
    const t = Gs,
        n = lee,
        r = cee,
        A = pee,
        i = mee,
        s = YA,
        o = Vr,
        a = Bee;

    function l(w) {
        return unescape(encodeURIComponent(w)).length
    }

    function u(w, m, E) {
        const y = [];
        let x;
        for (;
            (x = w.exec(E)) !== null;) y.push({
            data: x[0],
            index: x.index,
            mode: m,
            length: x[0].length
        });
        return y
    }

    function f(w) {
        const m = u(s.NUMERIC, t.NUMERIC, w),
            E = u(s.ALPHANUMERIC, t.ALPHANUMERIC, w);
        let y, x;
        return o.isKanjiModeEnabled() ? (y = u(s.BYTE, t.BYTE, w), x = u(s.KANJI, t.KANJI, w)) : (y = u(s.BYTE_KANJI, t.BYTE, w), x = []), m.concat(E, y, x).sort(function(Q, P) {
            return Q.index - P.index
        }).map(function(Q) {
            return {
                data: Q.data,
                mode: Q.mode,
                length: Q.length
            }
        })
    }

    function d(w, m) {
        switch (m) {
            case t.NUMERIC:
                return n.getBitsLength(w);
            case t.ALPHANUMERIC:
                return r.getBitsLength(w);
            case t.KANJI:
                return i.getBitsLength(w);
            case t.BYTE:
                return A.getBitsLength(w)
        }
    }

    function p(w) {
        return w.reduce(function(m, E) {
            const y = m.length - 1 >= 0 ? m[m.length - 1] : null;
            return y && y.mode === E.mode ? (m[m.length - 1].data += E.data, m) : (m.push(E), m)
        }, [])
    }

    function v(w) {
        const m = [];
        for (let E = 0; E < w.length; E++) {
            const y = w[E];
            switch (y.mode) {
                case t.NUMERIC:
                    m.push([y, {
                        data: y.data,
                        mode: t.ALPHANUMERIC,
                        length: y.length
                    }, {
                        data: y.data,
                        mode: t.BYTE,
                        length: y.length
                    }]);
                    break;
                case t.ALPHANUMERIC:
                    m.push([y, {
                        data: y.data,
                        mode: t.BYTE,
                        length: y.length
                    }]);
                    break;
                case t.KANJI:
                    m.push([y, {
                        data: y.data,
                        mode: t.BYTE,
                        length: l(y.data)
                    }]);
                    break;
                case t.BYTE:
                    m.push([{
                        data: y.data,
                        mode: t.BYTE,
                        length: l(y.data)
                    }])
            }
        }
        return m
    }

    function B(w, m) {
        const E = {},
            y = {
                start: {}
            };
        let x = ["start"];
        for (let F = 0; F < w.length; F++) {
            const Q = w[F],
                P = [];
            for (let L = 0; L < Q.length; L++) {
                const I = Q[L],
                    _ = "" + F + L;
                P.push(_), E[_] = {
                    node: I,
                    lastCount: 0
                }, y[_] = {};
                for (let D = 0; D < x.length; D++) {
                    const N = x[D];
                    E[N] && E[N].node.mode === I.mode ? (y[N][_] = d(E[N].lastCount + I.length, I.mode) - d(E[N].lastCount, I.mode), E[N].lastCount += I.length) : (E[N] && (E[N].lastCount = I.length), y[N][_] = d(I.length, I.mode) + 4 + t.getCharCountIndicator(I.mode, m))
                }
            }
            x = P
        }
        for (let F = 0; F < x.length; F++) y[x[F]].end = 0;
        return {
            map: y,
            table: E
        }
    }

    function C(w, m) {
        let E;
        const y = t.getBestModeForData(w);
        if (E = t.from(m, y), E !== t.BYTE && E.bit < y.bit) throw new Error('"' + w + '" cannot be encoded with mode ' + t.toString(E) + `.
 Suggested mode is: ` + t.toString(y));
        switch (E === t.KANJI && !o.isKanjiModeEnabled() && (E = t.BYTE), E) {
            case t.NUMERIC:
                return new n(w);
            case t.ALPHANUMERIC:
                return new r(w);
            case t.KANJI:
                return new i(w);
            case t.BYTE:
                return new A(w)
        }
    }
    e.fromArray = function(m) {
        return m.reduce(function(E, y) {
            return typeof y == "string" ? E.push(C(y, null)) : y.data && E.push(C(y.data, y.mode)), E
        }, [])
    }, e.fromString = function(m, E) {
        const y = f(m, o.isKanjiModeEnabled()),
            x = v(y),
            F = B(x, E),
            Q = a.find_path(F.map, "start", "end"),
            P = [];
        for (let L = 1; L < Q.length - 1; L++) P.push(F.table[Q[L]].node);
        return e.fromArray(p(P))
    }, e.rawSplit = function(m) {
        return e.fromArray(f(m, o.isKanjiModeEnabled()))
    }
})(Rb);
const Z1 = Vr,
    r2 = X1,
    wee = qZ,
    yee = ZZ,
    Cee = Qb,
    Eee = Ub,
    ep = Pb,
    tp = J1,
    bee = tee,
    Of = Lb,
    xee = Hb,
    _ee = Gs,
    A2 = Rb;

function Fee(e, t) {
    const n = e.size,
        r = Eee.getPositions(t);
    for (let A = 0; A < r.length; A++) {
        const i = r[A][0],
            s = r[A][1];
        for (let o = -1; o <= 7; o++)
            if (!(i + o <= -1 || n <= i + o))
                for (let a = -1; a <= 7; a++) s + a <= -1 || n <= s + a || (o >= 0 && o <= 6 && (a === 0 || a === 6) || a >= 0 && a <= 6 && (o === 0 || o === 6) || o >= 2 && o <= 4 && a >= 2 && a <= 4 ? e.set(i + o, s + a, !0, !0) : e.set(i + o, s + a, !1, !0))
    }
}

function See(e) {
    const t = e.size;
    for (let n = 8; n < t - 8; n++) {
        const r = n % 2 === 0;
        e.set(n, 6, r, !0), e.set(6, n, r, !0)
    }
}

function Tee(e, t) {
    const n = Cee.getPositions(t);
    for (let r = 0; r < n.length; r++) {
        const A = n[r][0],
            i = n[r][1];
        for (let s = -2; s <= 2; s++)
            for (let o = -2; o <= 2; o++) s === -2 || s === 2 || o === -2 || o === 2 || s === 0 && o === 0 ? e.set(A + s, i + o, !0, !0) : e.set(A + s, i + o, !1, !0)
    }
}

function Iee(e, t) {
    const n = e.size,
        r = Of.getEncodedBits(t);
    let A, i, s;
    for (let o = 0; o < 18; o++) A = Math.floor(o / 3), i = o % 3 + n - 8 - 3, s = (r >> o & 1) === 1, e.set(A, i, s, !0), e.set(i, A, s, !0)
}

function i2(e, t, n) {
    const r = e.size,
        A = xee.getEncodedBits(t, n);
    let i, s;
    for (i = 0; i < 15; i++) s = (A >> i & 1) === 1, i < 6 ? e.set(i, 8, s, !0) : i < 8 ? e.set(i + 1, 8, s, !0) : e.set(r - 15 + i, 8, s, !0), i < 8 ? e.set(8, r - i - 1, s, !0) : i < 9 ? e.set(8, 15 - i - 1 + 1, s, !0) : e.set(8, 15 - i - 1, s, !0);
    e.set(r - 8, 8, 1, !0)
}

function Qee(e, t) {
    const n = e.size;
    let r = -1,
        A = n - 1,
        i = 7,
        s = 0;
    for (let o = n - 1; o > 0; o -= 2)
        for (o === 6 && o--;;) {
            for (let a = 0; a < 2; a++)
                if (!e.isReserved(A, o - a)) {
                    let l = !1;
                    s < t.length && (l = (t[s] >>> i & 1) === 1), e.set(A, o - a, l), i--, i === -1 && (s++, i = 7)
                }
            if (A += r, A < 0 || n <= A) {
                A -= r, r = -r;
                break
            }
        }
}

function Uee(e, t, n) {
    const r = new wee;
    n.forEach(function(a) {
        r.put(a.mode.bit, 4), r.put(a.getLength(), _ee.getCharCountIndicator(a.mode, e)), a.write(r)
    });
    const A = Z1.getSymbolTotalCodewords(e),
        i = tp.getTotalCodewordsCount(e, t),
        s = (A - i) * 8;
    for (r.getLengthInBits() + 4 <= s && r.put(0, 4); r.getLengthInBits() % 8 !== 0;) r.putBit(0);
    const o = (s - r.getLengthInBits()) / 8;
    for (let a = 0; a < o; a++) r.put(a % 2 ? 17 : 236, 8);
    return Pee(r, e, t)
}

function Pee(e, t, n) {
    const r = Z1.getSymbolTotalCodewords(t),
        A = tp.getTotalCodewordsCount(t, n),
        i = r - A,
        s = tp.getBlocksCount(t, n),
        o = r % s,
        a = s - o,
        l = Math.floor(r / s),
        u = Math.floor(i / s),
        f = u + 1,
        d = l - u,
        p = new bee(d);
    let v = 0;
    const B = new Array(s),
        C = new Array(s);
    let w = 0;
    const m = new Uint8Array(e.buffer);
    for (let Q = 0; Q < s; Q++) {
        const P = Q < a ? u : f;
        B[Q] = m.slice(v, v + P), C[Q] = p.encode(B[Q]), v += P, w = Math.max(w, P)
    }
    const E = new Uint8Array(r);
    let y = 0,
        x, F;
    for (x = 0; x < w; x++)
        for (F = 0; F < s; F++) x < B[F].length && (E[y++] = B[F][x]);
    for (x = 0; x < d; x++)
        for (F = 0; F < s; F++) E[y++] = C[F][x];
    return E
}

function Oee(e, t, n, r) {
    let A;
    if (Array.isArray(e)) A = A2.fromArray(e);
    else if (typeof e == "string") {
        let l = t;
        if (!l) {
            const u = A2.rawSplit(e);
            l = Of.getBestVersionForData(u, n)
        }
        A = A2.fromString(e, l || 40)
    } else throw new Error("Invalid data");
    const i = Of.getBestVersionForData(A, n);
    if (!i) throw new Error("The amount of data is too big to be stored in a QR Code");
    if (!t) t = i;
    else if (t < i) throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: ` + i + `.
`);
    const s = Uee(t, n, A),
        o = Z1.getSymbolSize(t),
        a = new yee(o);
    return Fee(a, t), See(a), Tee(a, t), i2(a, n, 0), t >= 7 && Iee(a, t), Qee(a, s), isNaN(r) && (r = ep.getBestMask(a, i2.bind(null, a, n))), ep.applyMask(r, a), i2(a, n, r), {
        modules: a,
        version: t,
        errorCorrectionLevel: n,
        maskPattern: r,
        segments: A
    }
}
Tb.create = function(t, n) {
    if (typeof t > "u" || t === "") throw new Error("No input text");
    let r = r2.M,
        A, i;
    return typeof n < "u" && (r = r2.from(n.errorCorrectionLevel, r2.M), A = Of.from(n.version), i = ep.from(n.maskPattern), n.toSJISFunc && Z1.setToSJISFunction(n.toSJISFunc)), Oee(t, A, r, i)
};
var $b = {},
    V5 = {};
(function(e) {
    function t(n) {
        if (typeof n == "number" && (n = n.toString()), typeof n != "string") throw new Error("Color should be defined as hex string");
        let r = n.slice().replace("#", "").split("");
        if (r.length < 3 || r.length === 5 || r.length > 8) throw new Error("Invalid hex color: " + n);
        (r.length === 3 || r.length === 4) && (r = Array.prototype.concat.apply([], r.map(function(i) {
            return [i, i]
        }))), r.length === 6 && r.push("F", "F");
        const A = parseInt(r.join(""), 16);
        return {
            r: A >> 24 & 255,
            g: A >> 16 & 255,
            b: A >> 8 & 255,
            a: A & 255,
            hex: "#" + r.slice(0, 6).join("")
        }
    }
    e.getOptions = function(r) {
        r || (r = {}), r.color || (r.color = {});
        const A = typeof r.margin > "u" || r.margin === null || r.margin < 0 ? 4 : r.margin,
            i = r.width && r.width >= 21 ? r.width : void 0,
            s = r.scale || 4;
        return {
            width: i,
            scale: i ? 4 : s,
            margin: A,
            color: {
                dark: t(r.color.dark || "#000000ff"),
                light: t(r.color.light || "#ffffffff")
            },
            type: r.type,
            rendererOpts: r.rendererOpts || {}
        }
    }, e.getScale = function(r, A) {
        return A.width && A.width >= r + A.margin * 2 ? A.width / (r + A.margin * 2) : A.scale
    }, e.getImageWidth = function(r, A) {
        const i = e.getScale(r, A);
        return Math.floor((r + A.margin * 2) * i)
    }, e.qrToImageData = function(r, A, i) {
        const s = A.modules.size,
            o = A.modules.data,
            a = e.getScale(s, i),
            l = Math.floor((s + i.margin * 2) * a),
            u = i.margin * a,
            f = [i.color.light, i.color.dark];
        for (let d = 0; d < l; d++)
            for (let p = 0; p < l; p++) {
                let v = (d * l + p) * 4,
                    B = i.color.light;
                if (d >= u && p >= u && d < l - u && p < l - u) {
                    const C = Math.floor((d - u) / a),
                        w = Math.floor((p - u) / a);
                    B = f[o[C * s + w] ? 1 : 0]
                }
                r[v++] = B.r, r[v++] = B.g, r[v++] = B.b, r[v] = B.a
            }
    }
})(V5);
(function(e) {
    const t = V5;

    function n(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 r() {
        try {
            return document.createElement("canvas")
        } catch {
            throw new Error("You need to specify a canvas element")
        }
    }
    e.render = function(i, s, o) {
        let a = o,
            l = s;
        typeof a > "u" && (!s || !s.getContext) && (a = s, s = void 0), s || (l = r()), a = t.getOptions(a);
        const u = t.getImageWidth(i.modules.size, a),
            f = l.getContext("2d"),
            d = f.createImageData(u, u);
        return t.qrToImageData(d.data, i, a), n(f, l, u), f.putImageData(d, 0, 0), l
    }, e.renderToDataURL = function(i, s, o) {
        let a = o;
        typeof a > "u" && (!s || !s.getContext) && (a = s, s = void 0), a || (a = {});
        const l = e.render(i, s, a),
            u = a.type || "image/png",
            f = a.rendererOpts || {};
        return l.toDataURL(u, f.quality)
    }
})($b);
var Kb = {};
const Dee = V5;

function M7(e, t) {
    const n = e.a / 255,
        r = t + '="' + e.hex + '"';
    return n < 1 ? r + " " + t + '-opacity="' + n.toFixed(2).slice(1) + '"' : r
}

function s2(e, t, n) {
    let r = e + t;
    return typeof n < "u" && (r += " " + n), r
}

function Lee(e, t, n) {
    let r = "",
        A = 0,
        i = !1,
        s = 0;
    for (let o = 0; o < e.length; o++) {
        const a = Math.floor(o % t),
            l = Math.floor(o / t);
        !a && !i && (i = !0), e[o] ? (s++, o > 0 && a > 0 && e[o - 1] || (r += i ? s2("M", a + n, .5 + l + n) : s2("m", A, 0), A = 0, i = !1), a + 1 < t && e[o + 1] || (r += s2("h", s), s = 0)) : A++
    }
    return r
}
Kb.render = function(t, n, r) {
    const A = Dee.getOptions(n),
        i = t.modules.size,
        s = t.modules.data,
        o = i + A.margin * 2,
        a = A.color.light.a ? "<path " + M7(A.color.light, "fill") + ' d="M0 0h' + o + "v" + o + 'H0z"/>' : "",
        l = "<path " + M7(A.color.dark, "stroke") + ' d="' + Lee(s, i, A.margin) + '"/>',
        u = 'viewBox="0 0 ' + o + " " + o + '"',
        d = '<svg xmlns="http://www.w3.org/2000/svg" ' + (A.width ? 'width="' + A.width + '" height="' + A.width + '" ' : "") + u + ' shape-rendering="crispEdges">' + a + l + `</svg>
`;
    return typeof r == "function" && r(null, d), d
};
const kee = XZ,
    np = Tb,
    Vb = $b,
    Hee = Kb;

function G5(e, t, n, r, A) {
    const i = [].slice.call(arguments, 1),
        s = i.length,
        o = typeof i[s - 1] == "function";
    if (!o && !kee()) throw new Error("Callback required as last argument");
    if (o) {
        if (s < 2) throw new Error("Too few arguments provided");
        s === 2 ? (A = n, n = t, t = r = void 0) : s === 3 && (t.getContext && typeof A > "u" ? (A = r, r = void 0) : (A = r, r = n, n = t, t = void 0))
    } else {
        if (s < 1) throw new Error("Too few arguments provided");
        return s === 1 ? (n = t, t = r = void 0) : s === 2 && !t.getContext && (r = n, n = t, t = void 0), new Promise(function(a, l) {
            try {
                const u = np.create(n, r);
                a(e(u, t, r))
            } catch (u) {
                l(u)
            }
        })
    }
    try {
        const a = np.create(n, r);
        A(null, e(a, t, r))
    } catch (a) {
        A(a)
    }
}
Y1.create = np.create;
Y1.toCanvas = G5.bind(null, Vb.render);
Y1.toDataURL = G5.bind(null, Vb.renderToDataURL);
Y1.toString = G5.bind(null, function(e, t, n) {
    return Hee.render(e, n)
});
/*!
 * html2canvas 1.4.1 <https://html2canvas.hertzen.com>
 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
 * Released under MIT License
 */
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var rp = function(e, t) {
    return rp = Object.setPrototypeOf || {
        __proto__: []
    }
    instanceof Array && function(n, r) {
        n.__proto__ = r
    } || function(n, r) {
        for (var A in r) Object.prototype.hasOwnProperty.call(r, A) && (n[A] = r[A])
    }, rp(e, t)
};

function bA(e, t) {
    if (typeof t != "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
    rp(e, t);

    function n() {
        this.constructor = e
    }
    e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n)
}
var Ap = function() {
    return Ap = Object.assign || function(t) {
        for (var n, r = 1, A = arguments.length; r < A; r++) {
            n = arguments[r];
            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
        }
        return t
    }, Ap.apply(this, arguments)
};

function or(e, t, n, r) {
    function A(i) {
        return i instanceof n ? i : new n(function(s) {
            s(i)
        })
    }
    return new(n || (n = Promise))(function(i, s) {
        function o(u) {
            try {
                l(r.next(u))
            } catch (f) {
                s(f)
            }
        }

        function a(u) {
            try {
                l(r.throw(u))
            } catch (f) {
                s(f)
            }
        }

        function l(u) {
            u.done ? i(u.value) : A(u.value).then(o, a)
        }
        l((r = r.apply(e, t || [])).next())
    })
}

function Jn(e, t) {
    var n = {
            label: 0,
            sent: function() {
                if (i[0] & 1) throw i[1];
                return i[1]
            },
            trys: [],
            ops: []
        },
        r, A, i, s;
    return s = {
        next: o(0),
        throw: o(1),
        return: o(2)
    }, typeof Symbol == "function" && (s[Symbol.iterator] = function() {
        return this
    }), s;

    function o(l) {
        return function(u) {
            return a([l, u])
        }
    }

    function a(l) {
        if (r) throw new TypeError("Generator is already executing.");
        for (; n;) try {
            if (r = 1, A && (i = l[0] & 2 ? A.return : l[0] ? A.throw || ((i = A.return) && i.call(A), 0) : A.next) && !(i = i.call(A, l[1])).done) return i;
            switch (A = 0, i && (l = [l[0] & 2, i.value]), l[0]) {
                case 0:
                case 1:
                    i = l;
                    break;
                case 4:
                    return n.label++, {
                        value: l[1],
                        done: !1
                    };
                case 5:
                    n.label++, A = l[1], l = [0];
                    continue;
                case 7:
                    l = n.ops.pop(), n.trys.pop();
                    continue;
                default:
                    if (i = n.trys, !(i = i.length > 0 && i[i.length - 1]) && (l[0] === 6 || l[0] === 2)) {
                        n = 0;
                        continue
                    }
                    if (l[0] === 3 && (!i || l[1] > i[0] && l[1] < i[3])) {
                        n.label = l[1];
                        break
                    }
                    if (l[0] === 6 && n.label < i[1]) {
                        n.label = i[1], i = l;
                        break
                    }
                    if (i && n.label < i[2]) {
                        n.label = i[2], n.ops.push(l);
                        break
                    }
                    i[2] && n.ops.pop(), n.trys.pop();
                    continue
            }
            l = t.call(e, n)
        } catch (u) {
            l = [6, u], A = 0
        } finally {
            r = i = 0
        }
        if (l[0] & 5) throw l[1];
        return {
            value: l[0] ? l[1] : void 0,
            done: !0
        }
    }
}

function B0(e, t, n) {
    if (n || arguments.length === 2)
        for (var r = 0, A = t.length, i; r < A; r++)(i || !(r in t)) && (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
    return e.concat(i || t)
}
var Pi = function() {
        function e(t, n, r, A) {
            this.left = t, this.top = n, this.width = r, this.height = A
        }
        return e.prototype.add = function(t, n, r, A) {
            return new e(this.left + t, this.top + n, this.width + r, this.height + A)
        }, e.fromClientRect = function(t, n) {
            return new e(n.left + t.windowBounds.left, n.top + t.windowBounds.top, n.width, n.height)
        }, e.fromDOMRectList = function(t, n) {
            var r = Array.from(n).find(function(A) {
                return A.width !== 0
            });
            return r ? new e(r.left + t.windowBounds.left, r.top + t.windowBounds.top, r.width, r.height) : e.EMPTY
        }, e.EMPTY = new e(0, 0, 0, 0), e
    }(),
    ed = function(e, t) {
        return Pi.fromClientRect(e, t.getBoundingClientRect())
    },
    Mee = function(e) {
        var t = e.body,
            n = e.documentElement;
        if (!t || !n) throw new Error("Unable to get document size");
        var r = Math.max(Math.max(t.scrollWidth, n.scrollWidth), Math.max(t.offsetWidth, n.offsetWidth), Math.max(t.clientWidth, n.clientWidth)),
            A = Math.max(Math.max(t.scrollHeight, n.scrollHeight), Math.max(t.offsetHeight, n.offsetHeight), Math.max(t.clientHeight, n.clientHeight));
        return new Pi(0, 0, r, A)
    },
    td = function(e) {
        for (var t = [], n = 0, r = e.length; n < r;) {
            var A = e.charCodeAt(n++);
            if (A >= 55296 && A <= 56319 && n < r) {
                var i = e.charCodeAt(n++);
                (i & 64512) === 56320 ? t.push(((A & 1023) << 10) + (i & 1023) + 65536) : (t.push(A), n--)
            } else t.push(A)
        }
        return t
    },
    pn = function() {
        for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
        if (String.fromCodePoint) return String.fromCodePoint.apply(String, e);
        var n = e.length;
        if (!n) return "";
        for (var r = [], A = -1, i = ""; ++A < n;) {
            var s = e[A];
            s <= 65535 ? r.push(s) : (s -= 65536, r.push((s >> 10) + 55296, s % 1024 + 56320)), (A + 1 === n || r.length > 16384) && (i += String.fromCharCode.apply(String, r), r.length = 0)
        }
        return i
    },
    R7 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    Ree = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
for (var w0 = 0; w0 < R7.length; w0++) Ree[R7.charCodeAt(w0)] = w0;
var N7 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    eu = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
for (var y0 = 0; y0 < N7.length; y0++) eu[N7.charCodeAt(y0)] = y0;
var Nee = function(e) {
        var t = e.length * .75,
            n = e.length,
            r, A = 0,
            i, s, o, a;
        e[e.length - 1] === "=" && (t--, e[e.length - 2] === "=" && t--);
        var l = typeof ArrayBuffer < "u" && typeof Uint8Array < "u" && typeof Uint8Array.prototype.slice < "u" ? new ArrayBuffer(t) : new Array(t),
            u = Array.isArray(l) ? l : new Uint8Array(l);
        for (r = 0; r < n; r += 4) i = eu[e.charCodeAt(r)], s = eu[e.charCodeAt(r + 1)], o = eu[e.charCodeAt(r + 2)], a = eu[e.charCodeAt(r + 3)], u[A++] = i << 2 | s >> 4, u[A++] = (s & 15) << 4 | o >> 2, u[A++] = (o & 3) << 6 | a & 63;
        return l
    },
    $ee = function(e) {
        for (var t = e.length, n = [], r = 0; r < t; r += 2) n.push(e[r + 1] << 8 | e[r]);
        return n
    },
    Kee = function(e) {
        for (var t = e.length, n = [], r = 0; r < t; r += 4) n.push(e[r + 3] << 24 | e[r + 2] << 16 | e[r + 1] << 8 | e[r]);
        return n
    },
    xo = 5,
    j5 = 6 + 5,
    o2 = 2,
    Vee = j5 - xo,
    Gb = 65536 >> xo,
    Gee = 1 << xo,
    a2 = Gee - 1,
    jee = 1024 >> xo,
    Wee = Gb + jee,
    zee = Wee,
    Yee = 32,
    Xee = zee + Yee,
    Jee = 65536 >> j5,
    qee = 1 << Vee,
    Zee = qee - 1,
    $7 = function(e, t, n) {
        return e.slice ? e.slice(t, n) : new Uint16Array(Array.prototype.slice.call(e, t, n))
    },
    ete = function(e, t, n) {
        return e.slice ? e.slice(t, n) : new Uint32Array(Array.prototype.slice.call(e, t, n))
    },
    tte = function(e, t) {
        var n = Nee(e),
            r = Array.isArray(n) ? Kee(n) : new Uint32Array(n),
            A = Array.isArray(n) ? $ee(n) : new Uint16Array(n),
            i = 24,
            s = $7(A, i / 2, r[4] / 2),
            o = r[5] === 2 ? $7(A, (i + r[4]) / 2) : ete(r, Math.ceil((i + r[4]) / 4));
        return new nte(r[0], r[1], r[2], r[3], s, o)
    },
    nte = function() {
        function e(t, n, r, A, i, s) {
            this.initialValue = t, this.errorValue = n, this.highStart = r, this.highValueIndex = A, this.index = i, this.data = s
        }
        return e.prototype.get = function(t) {
            var n;
            if (t >= 0) {
                if (t < 55296 || t > 56319 && t <= 65535) return n = this.index[t >> xo], n = (n << o2) + (t & a2), this.data[n];
                if (t <= 65535) return n = this.index[Gb + (t - 55296 >> xo)], n = (n << o2) + (t & a2), this.data[n];
                if (t < this.highStart) return n = Xee - Jee + (t >> j5), n = this.index[n], n += t >> xo & Zee, n = this.index[n], n = (n << o2) + (t & a2), this.data[n];
                if (t <= 1114111) return this.data[this.highValueIndex]
            }
            return this.errorValue
        }, e
    }(),
    K7 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    rte = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
for (var C0 = 0; C0 < K7.length; C0++) rte[K7.charCodeAt(C0)] = C0;
var Ate = " ",
    V7 = 50,
    ite = 1,
    jb = 2,
    Wb = 3,
    ste = 4,
    ote = 5,
    G7 = 7,
    zb = 8,
    j7 = 9,
    Bs = 10,
    ip = 11,
    W7 = 12,
    sp = 13,
    ate = 14,
    tu = 15,
    op = 16,
    E0 = 17,
    jl = 18,
    lte = 19,
    z7 = 20,
    ap = 21,
    Wl = 22,
    l2 = 23,
    ha = 24,
    Qr = 25,
    nu = 26,
    ru = 27,
    pa = 28,
    ute = 29,
    co = 30,
    cte = 31,
    b0 = 32,
    x0 = 33,
    lp = 34,
    up = 35,
    cp = 36,
    ec = 37,
    fp = 38,
    tf = 39,
    nf = 40,
    u2 = 41,
    Yb = 42,
    fte = 43,
    dte = [9001, 65288],
    Xb = "!",
    St = "×",
    _0 = "÷",
    dp = tte(Ate),
    li = [co, cp],
    hp = [ite, jb, Wb, ote],
    Jb = [Bs, zb],
    Y7 = [ru, nu],
    hte = hp.concat(Jb),
    X7 = [fp, tf, nf, lp, up],
    pte = [tu, sp],
    gte = function(e, t) {
        t === void 0 && (t = "strict");
        var n = [],
            r = [],
            A = [];
        return e.forEach(function(i, s) {
            var o = dp.get(i);
            if (o > V7 ? (A.push(!0), o -= V7) : A.push(!1), ["normal", "auto", "loose"].indexOf(t) !== -1 && [8208, 8211, 12316, 12448].indexOf(i) !== -1) return r.push(s), n.push(op);
            if (o === ste || o === ip) {
                if (s === 0) return r.push(s), n.push(co);
                var a = n[s - 1];
                return hte.indexOf(a) === -1 ? (r.push(r[s - 1]), n.push(a)) : (r.push(s), n.push(co))
            }
            if (r.push(s), o === cte) return n.push(t === "strict" ? ap : ec);
            if (o === Yb || o === ute) return n.push(co);
            if (o === fte) return i >= 131072 && i <= 196605 || i >= 196608 && i <= 262141 ? n.push(ec) : n.push(co);
            n.push(o)
        }), [r, n, A]
    },
    c2 = function(e, t, n, r) {
        var A = r[n];
        if (Array.isArray(e) ? e.indexOf(A) !== -1 : e === A)
            for (var i = n; i <= r.length;) {
                i++;
                var s = r[i];
                if (s === t) return !0;
                if (s !== Bs) break
            }
        if (A === Bs)
            for (var i = n; i > 0;) {
                i--;
                var o = r[i];
                if (Array.isArray(e) ? e.indexOf(o) !== -1 : e === o)
                    for (var a = n; a <= r.length;) {
                        a++;
                        var s = r[a];
                        if (s === t) return !0;
                        if (s !== Bs) break
                    }
                if (o !== Bs) break
            }
        return !1
    },
    J7 = function(e, t) {
        for (var n = e; n >= 0;) {
            var r = t[n];
            if (r === Bs) n--;
            else return r
        }
        return 0
    },
    vte = function(e, t, n, r, A) {
        if (n[r] === 0) return St;
        var i = r - 1;
        if (Array.isArray(A) && A[i] === !0) return St;
        var s = i - 1,
            o = i + 1,
            a = t[i],
            l = s >= 0 ? t[s] : 0,
            u = t[o];
        if (a === jb && u === Wb) return St;
        if (hp.indexOf(a) !== -1) return Xb;
        if (hp.indexOf(u) !== -1 || Jb.indexOf(u) !== -1) return St;
        if (J7(i, t) === zb) return _0;
        if (dp.get(e[i]) === ip || (a === b0 || a === x0) && dp.get(e[o]) === ip || a === G7 || u === G7 || a === j7 || [Bs, sp, tu].indexOf(a) === -1 && u === j7 || [E0, jl, lte, ha, pa].indexOf(u) !== -1 || J7(i, t) === Wl || c2(l2, Wl, i, t) || c2([E0, jl], ap, i, t) || c2(W7, W7, i, t)) return St;
        if (a === Bs) return _0;
        if (a === l2 || u === l2) return St;
        if (u === op || a === op) return _0;
        if ([sp, tu, ap].indexOf(u) !== -1 || a === ate || l === cp && pte.indexOf(a) !== -1 || a === pa && u === cp || u === z7 || li.indexOf(u) !== -1 && a === Qr || li.indexOf(a) !== -1 && u === Qr || a === ru && [ec, b0, x0].indexOf(u) !== -1 || [ec, b0, x0].indexOf(a) !== -1 && u === nu || li.indexOf(a) !== -1 && Y7.indexOf(u) !== -1 || Y7.indexOf(a) !== -1 && li.indexOf(u) !== -1 || [ru, nu].indexOf(a) !== -1 && (u === Qr || [Wl, tu].indexOf(u) !== -1 && t[o + 1] === Qr) || [Wl, tu].indexOf(a) !== -1 && u === Qr || a === Qr && [Qr, pa, ha].indexOf(u) !== -1) return St;
        if ([Qr, pa, ha, E0, jl].indexOf(u) !== -1)
            for (var f = i; f >= 0;) {
                var d = t[f];
                if (d === Qr) return St;
                if ([pa, ha].indexOf(d) !== -1) f--;
                else break
            }
        if ([ru, nu].indexOf(u) !== -1)
            for (var f = [E0, jl].indexOf(a) !== -1 ? s : i; f >= 0;) {
                var d = t[f];
                if (d === Qr) return St;
                if ([pa, ha].indexOf(d) !== -1) f--;
                else break
            }
        if (fp === a && [fp, tf, lp, up].indexOf(u) !== -1 || [tf, lp].indexOf(a) !== -1 && [tf, nf].indexOf(u) !== -1 || [nf, up].indexOf(a) !== -1 && u === nf || X7.indexOf(a) !== -1 && [z7, nu].indexOf(u) !== -1 || X7.indexOf(u) !== -1 && a === ru || li.indexOf(a) !== -1 && li.indexOf(u) !== -1 || a === ha && li.indexOf(u) !== -1 || li.concat(Qr).indexOf(a) !== -1 && u === Wl && dte.indexOf(e[o]) === -1 || li.concat(Qr).indexOf(u) !== -1 && a === jl) return St;
        if (a === u2 && u === u2) {
            for (var p = n[i], v = 1; p > 0 && (p--, t[p] === u2);) v++;
            if (v % 2 !== 0) return St
        }
        return a === b0 && u === x0 ? St : _0
    },
    mte = function(e, t) {
        t || (t = {
            lineBreak: "normal",
            wordBreak: "normal"
        });
        var n = gte(e, t.lineBreak),
            r = n[0],
            A = n[1],
            i = n[2];
        (t.wordBreak === "break-all" || t.wordBreak === "break-word") && (A = A.map(function(o) {
            return [Qr, co, Yb].indexOf(o) !== -1 ? ec : o
        }));
        var s = t.wordBreak === "keep-all" ? i.map(function(o, a) {
            return o && e[a] >= 19968 && e[a] <= 40959
        }) : void 0;
        return [r, A, s]
    },
    Bte = function() {
        function e(t, n, r, A) {
            this.codePoints = t, this.required = n === Xb, this.start = r, this.end = A
        }
        return e.prototype.slice = function() {
            return pn.apply(void 0, this.codePoints.slice(this.start, this.end))
        }, e
    }(),
    wte = function(e, t) {
        var n = td(e),
            r = mte(n, t),
            A = r[0],
            i = r[1],
            s = r[2],
            o = n.length,
            a = 0,
            l = 0;
        return {
            next: function() {
                if (l >= o) return {
                    done: !0,
                    value: null
                };
                for (var u = St; l < o && (u = vte(n, i, A, ++l, s)) === St;);
                if (u !== St || l === o) {
                    var f = new Bte(n, u, a, l);
                    return a = l, {
                        value: f,
                        done: !1
                    }
                }
                return {
                    done: !0,
                    value: null
                }
            }
        }
    },
    yte = 1,
    Cte = 2,
    Qc = 4,
    q7 = 8,
    Df = 10,
    Z7 = 47,
    xu = 92,
    Ete = 9,
    bte = 32,
    F0 = 34,
    zl = 61,
    xte = 35,
    _te = 36,
    Fte = 37,
    S0 = 39,
    T0 = 40,
    Yl = 41,
    Ste = 95,
    wr = 45,
    Tte = 33,
    Ite = 60,
    Qte = 62,
    Ute = 64,
    Pte = 91,
    Ote = 93,
    Dte = 61,
    Lte = 123,
    I0 = 63,
    kte = 125,
    e3 = 124,
    Hte = 126,
    Mte = 128,
    t3 = 65533,
    f2 = 42,
    vo = 43,
    Rte = 44,
    Nte = 58,
    $te = 59,
    tc = 46,
    Kte = 0,
    Vte = 8,
    Gte = 11,
    jte = 14,
    Wte = 31,
    zte = 127,
    IA = -1,
    qb = 48,
    Zb = 97,
    ex = 101,
    Yte = 102,
    Xte = 117,
    Jte = 122,
    tx = 65,
    nx = 69,
    rx = 70,
    qte = 85,
    Zte = 90,
    Zn = function(e) {
        return e >= qb && e <= 57
    },
    ene = function(e) {
        return e >= 55296 && e <= 57343
    },
    ga = function(e) {
        return Zn(e) || e >= tx && e <= rx || e >= Zb && e <= Yte
    },
    tne = function(e) {
        return e >= Zb && e <= Jte
    },
    nne = function(e) {
        return e >= tx && e <= Zte
    },
    rne = function(e) {
        return tne(e) || nne(e)
    },
    Ane = function(e) {
        return e >= Mte
    },
    Q0 = function(e) {
        return e === Df || e === Ete || e === bte
    },
    Lf = function(e) {
        return rne(e) || Ane(e) || e === Ste
    },
    n3 = function(e) {
        return Lf(e) || Zn(e) || e === wr
    },
    ine = function(e) {
        return e >= Kte && e <= Vte || e === Gte || e >= jte && e <= Wte || e === zte
    },
    ls = function(e, t) {
        return e !== xu ? !1 : t !== Df
    },
    U0 = function(e, t, n) {
        return e === wr ? Lf(t) || ls(t, n) : Lf(e) ? !0 : !!(e === xu && ls(e, t))
    },
    d2 = function(e, t, n) {
        return e === vo || e === wr ? Zn(t) ? !0 : t === tc && Zn(n) : Zn(e === tc ? t : e)
    },
    sne = function(e) {
        var t = 0,
            n = 1;
        (e[t] === vo || e[t] === wr) && (e[t] === wr && (n = -1), t++);
        for (var r = []; Zn(e[t]);) r.push(e[t++]);
        var A = r.length ? parseInt(pn.apply(void 0, r), 10) : 0;
        e[t] === tc && t++;
        for (var i = []; Zn(e[t]);) i.push(e[t++]);
        var s = i.length,
            o = s ? parseInt(pn.apply(void 0, i), 10) : 0;
        (e[t] === nx || e[t] === ex) && t++;
        var a = 1;
        (e[t] === vo || e[t] === wr) && (e[t] === wr && (a = -1), t++);
        for (var l = []; Zn(e[t]);) l.push(e[t++]);
        var u = l.length ? parseInt(pn.apply(void 0, l), 10) : 0;
        return n * (A + o * Math.pow(10, -s)) * Math.pow(10, a * u)
    },
    one = {
        type: 2
    },
    ane = {
        type: 3
    },
    lne = {
        type: 4
    },
    une = {
        type: 13
    },
    cne = {
        type: 8
    },
    fne = {
        type: 21
    },
    dne = {
        type: 9
    },
    hne = {
        type: 10
    },
    pne = {
        type: 11
    },
    gne = {
        type: 12
    },
    vne = {
        type: 14
    },
    P0 = {
        type: 23
    },
    mne = {
        type: 1
    },
    Bne = {
        type: 25
    },
    wne = {
        type: 24
    },
    yne = {
        type: 26
    },
    Cne = {
        type: 27
    },
    Ene = {
        type: 28
    },
    bne = {
        type: 29
    },
    xne = {
        type: 31
    },
    pp = {
        type: 32
    },
    Ax = function() {
        function e() {
            this._value = []
        }
        return e.prototype.write = function(t) {
            this._value = this._value.concat(td(t))
        }, e.prototype.read = function() {
            for (var t = [], n = this.consumeToken(); n !== pp;) t.push(n), n = this.consumeToken();
            return t
        }, e.prototype.consumeToken = function() {
            var t = this.consumeCodePoint();
            switch (t) {
                case F0:
                    return this.consumeStringToken(F0);
                case xte:
                    var n = this.peekCodePoint(0),
                        r = this.peekCodePoint(1),
                        A = this.peekCodePoint(2);
                    if (n3(n) || ls(r, A)) {
                        var i = U0(n, r, A) ? Cte : yte,
                            s = this.consumeName();
                        return {
                            type: 5,
                            value: s,
                            flags: i
                        }
                    }
                    break;
                case _te:
                    if (this.peekCodePoint(0) === zl) return this.consumeCodePoint(), une;
                    break;
                case S0:
                    return this.consumeStringToken(S0);
                case T0:
                    return one;
                case Yl:
                    return ane;
                case f2:
                    if (this.peekCodePoint(0) === zl) return this.consumeCodePoint(), vne;
                    break;
                case vo:
                    if (d2(t, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(t), this.consumeNumericToken();
                    break;
                case Rte:
                    return lne;
                case wr:
                    var o = t,
                        a = this.peekCodePoint(0),
                        l = this.peekCodePoint(1);
                    if (d2(o, a, l)) return this.reconsumeCodePoint(t), this.consumeNumericToken();
                    if (U0(o, a, l)) return this.reconsumeCodePoint(t), this.consumeIdentLikeToken();
                    if (a === wr && l === Qte) return this.consumeCodePoint(), this.consumeCodePoint(), wne;
                    break;
                case tc:
                    if (d2(t, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(t), this.consumeNumericToken();
                    break;
                case Z7:
                    if (this.peekCodePoint(0) === f2)
                        for (this.consumeCodePoint();;) {
                            var u = this.consumeCodePoint();
                            if (u === f2 && (u = this.consumeCodePoint(), u === Z7)) return this.consumeToken();
                            if (u === IA) return this.consumeToken()
                        }
                    break;
                case Nte:
                    return yne;
                case $te:
                    return Cne;
                case Ite:
                    if (this.peekCodePoint(0) === Tte && this.peekCodePoint(1) === wr && this.peekCodePoint(2) === wr) return this.consumeCodePoint(), this.consumeCodePoint(), Bne;
                    break;
                case Ute:
                    var f = this.peekCodePoint(0),
                        d = this.peekCodePoint(1),
                        p = this.peekCodePoint(2);
                    if (U0(f, d, p)) {
                        var s = this.consumeName();
                        return {
                            type: 7,
                            value: s
                        }
                    }
                    break;
                case Pte:
                    return Ene;
                case xu:
                    if (ls(t, this.peekCodePoint(0))) return this.reconsumeCodePoint(t), this.consumeIdentLikeToken();
                    break;
                case Ote:
                    return bne;
                case Dte:
                    if (this.peekCodePoint(0) === zl) return this.consumeCodePoint(), cne;
                    break;
                case Lte:
                    return pne;
                case kte:
                    return gne;
                case Xte:
                case qte:
                    var v = this.peekCodePoint(0),
                        B = this.peekCodePoint(1);
                    return v === vo && (ga(B) || B === I0) && (this.consumeCodePoint(), this.consumeUnicodeRangeToken()), this.reconsumeCodePoint(t), this.consumeIdentLikeToken();
                case e3:
                    if (this.peekCodePoint(0) === zl) return this.consumeCodePoint(), dne;
                    if (this.peekCodePoint(0) === e3) return this.consumeCodePoint(), fne;
                    break;
                case Hte:
                    if (this.peekCodePoint(0) === zl) return this.consumeCodePoint(), hne;
                    break;
                case IA:
                    return pp
            }
            return Q0(t) ? (this.consumeWhiteSpace(), xne) : Zn(t) ? (this.reconsumeCodePoint(t), this.consumeNumericToken()) : Lf(t) ? (this.reconsumeCodePoint(t), this.consumeIdentLikeToken()) : {
                type: 6,
                value: pn(t)
            }
        }, e.prototype.consumeCodePoint = function() {
            var t = this._value.shift();
            return typeof t > "u" ? -1 : t
        }, e.prototype.reconsumeCodePoint = function(t) {
            this._value.unshift(t)
        }, e.prototype.peekCodePoint = function(t) {
            return t >= this._value.length ? -1 : this._value[t]
        }, e.prototype.consumeUnicodeRangeToken = function() {
            for (var t = [], n = this.consumeCodePoint(); ga(n) && t.length < 6;) t.push(n), n = this.consumeCodePoint();
            for (var r = !1; n === I0 && t.length < 6;) t.push(n), n = this.consumeCodePoint(), r = !0;
            if (r) {
                var A = parseInt(pn.apply(void 0, t.map(function(a) {
                        return a === I0 ? qb : a
                    })), 16),
                    i = parseInt(pn.apply(void 0, t.map(function(a) {
                        return a === I0 ? rx : a
                    })), 16);
                return {
                    type: 30,
                    start: A,
                    end: i
                }
            }
            var s = parseInt(pn.apply(void 0, t), 16);
            if (this.peekCodePoint(0) === wr && ga(this.peekCodePoint(1))) {
                this.consumeCodePoint(), n = this.consumeCodePoint();
                for (var o = []; ga(n) && o.length < 6;) o.push(n), n = this.consumeCodePoint();
                var i = parseInt(pn.apply(void 0, o), 16);
                return {
                    type: 30,
                    start: s,
                    end: i
                }
            } else return {
                type: 30,
                start: s,
                end: s
            }
        }, e.prototype.consumeIdentLikeToken = function() {
            var t = this.consumeName();
            return t.toLowerCase() === "url" && this.peekCodePoint(0) === T0 ? (this.consumeCodePoint(), this.consumeUrlToken()) : this.peekCodePoint(0) === T0 ? (this.consumeCodePoint(), {
                type: 19,
                value: t
            }) : {
                type: 20,
                value: t
            }
        }, e.prototype.consumeUrlToken = function() {
            var t = [];
            if (this.consumeWhiteSpace(), this.peekCodePoint(0) === IA) return {
                type: 22,
                value: ""
            };
            var n = this.peekCodePoint(0);
            if (n === S0 || n === F0) {
                var r = this.consumeStringToken(this.consumeCodePoint());
                return r.type === 0 && (this.consumeWhiteSpace(), this.peekCodePoint(0) === IA || this.peekCodePoint(0) === Yl) ? (this.consumeCodePoint(), {
                    type: 22,
                    value: r.value
                }) : (this.consumeBadUrlRemnants(), P0)
            }
            for (;;) {
                var A = this.consumeCodePoint();
                if (A === IA || A === Yl) return {
                    type: 22,
                    value: pn.apply(void 0, t)
                };
                if (Q0(A)) return this.consumeWhiteSpace(), this.peekCodePoint(0) === IA || this.peekCodePoint(0) === Yl ? (this.consumeCodePoint(), {
                    type: 22,
                    value: pn.apply(void 0, t)
                }) : (this.consumeBadUrlRemnants(), P0);
                if (A === F0 || A === S0 || A === T0 || ine(A)) return this.consumeBadUrlRemnants(), P0;
                if (A === xu)
                    if (ls(A, this.peekCodePoint(0))) t.push(this.consumeEscapedCodePoint());
                    else return this.consumeBadUrlRemnants(), P0;
                else t.push(A)
            }
        }, e.prototype.consumeWhiteSpace = function() {
            for (; Q0(this.peekCodePoint(0));) this.consumeCodePoint()
        }, e.prototype.consumeBadUrlRemnants = function() {
            for (;;) {
                var t = this.consumeCodePoint();
                if (t === Yl || t === IA) return;
                ls(t, this.peekCodePoint(0)) && this.consumeEscapedCodePoint()
            }
        }, e.prototype.consumeStringSlice = function(t) {
            for (var n = 5e4, r = ""; t > 0;) {
                var A = Math.min(n, t);
                r += pn.apply(void 0, this._value.splice(0, A)), t -= A
            }
            return this._value.shift(), r
        }, e.prototype.consumeStringToken = function(t) {
            var n = "",
                r = 0;
            do {
                var A = this._value[r];
                if (A === IA || A === void 0 || A === t) return n += this.consumeStringSlice(r), {
                    type: 0,
                    value: n
                };
                if (A === Df) return this._value.splice(0, r), mne;
                if (A === xu) {
                    var i = this._value[r + 1];
                    i !== IA && i !== void 0 && (i === Df ? (n += this.consumeStringSlice(r), r = -1, this._value.shift()) : ls(A, i) && (n += this.consumeStringSlice(r), n += pn(this.consumeEscapedCodePoint()), r = -1))
                }
                r++
            } while (!0)
        }, e.prototype.consumeNumber = function() {
            var t = [],
                n = Qc,
                r = this.peekCodePoint(0);
            for ((r === vo || r === wr) && t.push(this.consumeCodePoint()); Zn(this.peekCodePoint(0));) t.push(this.consumeCodePoint());
            r = this.peekCodePoint(0);
            var A = this.peekCodePoint(1);
            if (r === tc && Zn(A))
                for (t.push(this.consumeCodePoint(), this.consumeCodePoint()), n = q7; Zn(this.peekCodePoint(0));) t.push(this.consumeCodePoint());
            r = this.peekCodePoint(0), A = this.peekCodePoint(1);
            var i = this.peekCodePoint(2);
            if ((r === nx || r === ex) && ((A === vo || A === wr) && Zn(i) || Zn(A)))
                for (t.push(this.consumeCodePoint(), this.consumeCodePoint()), n = q7; Zn(this.peekCodePoint(0));) t.push(this.consumeCodePoint());
            return [sne(t), n]
        }, e.prototype.consumeNumericToken = function() {
            var t = this.consumeNumber(),
                n = t[0],
                r = t[1],
                A = this.peekCodePoint(0),
                i = this.peekCodePoint(1),
                s = this.peekCodePoint(2);
            if (U0(A, i, s)) {
                var o = this.consumeName();
                return {
                    type: 15,
                    number: n,
                    flags: r,
                    unit: o
                }
            }
            return A === Fte ? (this.consumeCodePoint(), {
                type: 16,
                number: n,
                flags: r
            }) : {
                type: 17,
                number: n,
                flags: r
            }
        }, e.prototype.consumeEscapedCodePoint = function() {
            var t = this.consumeCodePoint();
            if (ga(t)) {
                for (var n = pn(t); ga(this.peekCodePoint(0)) && n.length < 6;) n += pn(this.consumeCodePoint());
                Q0(this.peekCodePoint(0)) && this.consumeCodePoint();
                var r = parseInt(n, 16);
                return r === 0 || ene(r) || r > 1114111 ? t3 : r
            }
            return t === IA ? t3 : t
        }, e.prototype.consumeName = function() {
            for (var t = "";;) {
                var n = this.consumeCodePoint();
                if (n3(n)) t += pn(n);
                else if (ls(n, this.peekCodePoint(0))) t += pn(this.consumeEscapedCodePoint());
                else return this.reconsumeCodePoint(n), t
            }
        }, e
    }(),
    ix = function() {
        function e(t) {
            this._tokens = t
        }
        return e.create = function(t) {
            var n = new Ax;
            return n.write(t), new e(n.read())
        }, e.parseValue = function(t) {
            return e.create(t).parseComponentValue()
        }, e.parseValues = function(t) {
            return e.create(t).parseComponentValues()
        }, e.prototype.parseComponentValue = function() {
            for (var t = this.consumeToken(); t.type === 31;) t = this.consumeToken();
            if (t.type === 32) throw new SyntaxError("Error parsing CSS component value, unexpected EOF");
            this.reconsumeToken(t);
            var n = this.consumeComponentValue();
            do t = this.consumeToken(); while (t.type === 31);
            if (t.type === 32) return n;
            throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")
        }, e.prototype.parseComponentValues = function() {
            for (var t = [];;) {
                var n = this.consumeComponentValue();
                if (n.type === 32) return t;
                t.push(n), t.push()
            }
        }, e.prototype.consumeComponentValue = function() {
            var t = this.consumeToken();
            switch (t.type) {
                case 11:
                case 28:
                case 2:
                    return this.consumeSimpleBlock(t.type);
                case 19:
                    return this.consumeFunction(t)
            }
            return t
        }, e.prototype.consumeSimpleBlock = function(t) {
            for (var n = {
                    type: t,
                    values: []
                }, r = this.consumeToken();;) {
                if (r.type === 32 || Fne(r, t)) return n;
                this.reconsumeToken(r), n.values.push(this.consumeComponentValue()), r = this.consumeToken()
            }
        }, e.prototype.consumeFunction = function(t) {
            for (var n = {
                    name: t.value,
                    values: [],
                    type: 18
                };;) {
                var r = this.consumeToken();
                if (r.type === 32 || r.type === 3) return n;
                this.reconsumeToken(r), n.values.push(this.consumeComponentValue())
            }
        }, e.prototype.consumeToken = function() {
            var t = this._tokens.shift();
            return typeof t > "u" ? pp : t
        }, e.prototype.reconsumeToken = function(t) {
            this._tokens.unshift(t)
        }, e
    }(),
    Uc = function(e) {
        return e.type === 15
    },
    vl = function(e) {
        return e.type === 17
    },
    Wt = function(e) {
        return e.type === 20
    },
    _ne = function(e) {
        return e.type === 0
    },
    gp = function(e, t) {
        return Wt(e) && e.value === t
    },
    sx = function(e) {
        return e.type !== 31
    },
    il = function(e) {
        return e.type !== 31 && e.type !== 4
    },
    XA = function(e) {
        var t = [],
            n = [];
        return e.forEach(function(r) {
            if (r.type === 4) {
                if (n.length === 0) throw new Error("Error parsing function args, zero tokens for arg");
                t.push(n), n = [];
                return
            }
            r.type !== 31 && n.push(r)
        }), n.length && t.push(n), t
    },
    Fne = function(e, t) {
        return t === 11 && e.type === 12 || t === 28 && e.type === 29 ? !0 : t === 2 && e.type === 3
    },
    Hs = function(e) {
        return e.type === 17 || e.type === 15
    },
    Cn = function(e) {
        return e.type === 16 || Hs(e)
    },
    ox = function(e) {
        return e.length > 1 ? [e[0], e[1]] : [e[0]]
    },
    zn = {
        type: 17,
        number: 0,
        flags: Qc
    },
    W5 = {
        type: 16,
        number: 50,
        flags: Qc
    },
    ws = {
        type: 16,
        number: 100,
        flags: Qc
    },
    Au = function(e, t, n) {
        var r = e[0],
            A = e[1];
        return [qt(r, t), qt(typeof A < "u" ? A : r, n)]
    },
    qt = function(e, t) {
        if (e.type === 16) return e.number / 100 * t;
        if (Uc(e)) switch (e.unit) {
            case "rem":
            case "em":
                return 16 * e.number;
            case "px":
            default:
                return e.number
        }
        return e.number
    },
    ax = "deg",
    lx = "grad",
    ux = "rad",
    cx = "turn",
    nd = {
        name: "angle",
        parse: function(e, t) {
            if (t.type === 15) switch (t.unit) {
                case ax:
                    return Math.PI * t.number / 180;
                case lx:
                    return Math.PI / 200 * t.number;
                case ux:
                    return t.number;
                case cx:
                    return Math.PI * 2 * t.number
            }
            throw new Error("Unsupported angle type")
        }
    },
    fx = function(e) {
        return e.type === 15 && (e.unit === ax || e.unit === lx || e.unit === ux || e.unit === cx)
    },
    dx = function(e) {
        var t = e.filter(Wt).map(function(n) {
            return n.value
        }).join(" ");
        switch (t) {
            case "to bottom right":
            case "to right bottom":
            case "left top":
            case "top left":
                return [zn, zn];
            case "to top":
            case "bottom":
                return nA(0);
            case "to bottom left":
            case "to left bottom":
            case "right top":
            case "top right":
                return [zn, ws];
            case "to right":
            case "left":
                return nA(90);
            case "to top left":
            case "to left top":
            case "right bottom":
            case "bottom right":
                return [ws, ws];
            case "to bottom":
            case "top":
                return nA(180);
            case "to top right":
            case "to right top":
            case "left bottom":
            case "bottom left":
                return [ws, zn];
            case "to left":
            case "right":
                return nA(270)
        }
        return 0
    },
    nA = function(e) {
        return Math.PI * e / 180
    },
    Fs = {
        name: "color",
        parse: function(e, t) {
            if (t.type === 18) {
                var n = Sne[t.name];
                if (typeof n > "u") throw new Error('Attempting to parse an unsupported color function "' + t.name + '"');
                return n(e, t.values)
            }
            if (t.type === 5) {
                if (t.value.length === 3) {
                    var r = t.value.substring(0, 1),
                        A = t.value.substring(1, 2),
                        i = t.value.substring(2, 3);
                    return ys(parseInt(r + r, 16), parseInt(A + A, 16), parseInt(i + i, 16), 1)
                }
                if (t.value.length === 4) {
                    var r = t.value.substring(0, 1),
                        A = t.value.substring(1, 2),
                        i = t.value.substring(2, 3),
                        s = t.value.substring(3, 4);
                    return ys(parseInt(r + r, 16), parseInt(A + A, 16), parseInt(i + i, 16), parseInt(s + s, 16) / 255)
                }
                if (t.value.length === 6) {
                    var r = t.value.substring(0, 2),
                        A = t.value.substring(2, 4),
                        i = t.value.substring(4, 6);
                    return ys(parseInt(r, 16), parseInt(A, 16), parseInt(i, 16), 1)
                }
                if (t.value.length === 8) {
                    var r = t.value.substring(0, 2),
                        A = t.value.substring(2, 4),
                        i = t.value.substring(4, 6),
                        s = t.value.substring(6, 8);
                    return ys(parseInt(r, 16), parseInt(A, 16), parseInt(i, 16), parseInt(s, 16) / 255)
                }
            }
            if (t.type === 20) {
                var o = _i[t.value.toUpperCase()];
                if (typeof o < "u") return o
            }
            return _i.TRANSPARENT
        }
    },
    Ss = function(e) {
        return (255 & e) === 0
    },
    kn = function(e) {
        var t = 255 & e,
            n = 255 & e >> 8,
            r = 255 & e >> 16,
            A = 255 & e >> 24;
        return t < 255 ? "rgba(" + A + "," + r + "," + n + "," + t / 255 + ")" : "rgb(" + A + "," + r + "," + n + ")"
    },
    ys = function(e, t, n, r) {
        return (e << 24 | t << 16 | n << 8 | Math.round(r * 255) << 0) >>> 0
    },
    r3 = function(e, t) {
        if (e.type === 17) return e.number;
        if (e.type === 16) {
            var n = t === 3 ? 1 : 255;
            return t === 3 ? e.number / 100 * n : Math.round(e.number / 100 * n)
        }
        return 0
    },
    A3 = function(e, t) {
        var n = t.filter(il);
        if (n.length === 3) {
            var r = n.map(r3),
                A = r[0],
                i = r[1],
                s = r[2];
            return ys(A, i, s, 1)
        }
        if (n.length === 4) {
            var o = n.map(r3),
                A = o[0],
                i = o[1],
                s = o[2],
                a = o[3];
            return ys(A, i, s, a)
        }
        return 0
    };

function h2(e, t, n) {
    return n < 0 && (n += 1), n >= 1 && (n -= 1), n < 1 / 6 ? (t - e) * n * 6 + e : n < 1 / 2 ? t : n < 2 / 3 ? (t - e) * 6 * (2 / 3 - n) + e : e
}
var i3 = function(e, t) {
        var n = t.filter(il),
            r = n[0],
            A = n[1],
            i = n[2],
            s = n[3],
            o = (r.type === 17 ? nA(r.number) : nd.parse(e, r)) / (Math.PI * 2),
            a = Cn(A) ? A.number / 100 : 0,
            l = Cn(i) ? i.number / 100 : 0,
            u = typeof s < "u" && Cn(s) ? qt(s, 1) : 1;
        if (a === 0) return ys(l * 255, l * 255, l * 255, 1);
        var f = l <= .5 ? l * (a + 1) : l + a - l * a,
            d = l * 2 - f,
            p = h2(d, f, o + 1 / 3),
            v = h2(d, f, o),
            B = h2(d, f, o - 1 / 3);
        return ys(p * 255, v * 255, B * 255, u)
    },
    Sne = {
        hsl: i3,
        hsla: i3,
        rgb: A3,
        rgba: A3
    },
    _u = function(e, t) {
        return Fs.parse(e, ix.create(t).parseComponentValue())
    },
    _i = {
        ALICEBLUE: 4042850303,
        ANTIQUEWHITE: 4209760255,
        AQUA: 16777215,
        AQUAMARINE: 2147472639,
        AZURE: 4043309055,
        BEIGE: 4126530815,
        BISQUE: 4293182719,
        BLACK: 255,
        BLANCHEDALMOND: 4293643775,
        BLUE: 65535,
        BLUEVIOLET: 2318131967,
        BROWN: 2771004159,
        BURLYWOOD: 3736635391,
        CADETBLUE: 1604231423,
        CHARTREUSE: 2147418367,
        CHOCOLATE: 3530104575,
        CORAL: 4286533887,
        CORNFLOWERBLUE: 1687547391,
        CORNSILK: 4294499583,
        CRIMSON: 3692313855,
        CYAN: 16777215,
        DARKBLUE: 35839,
        DARKCYAN: 9145343,
        DARKGOLDENROD: 3095837695,
        DARKGRAY: 2846468607,
        DARKGREEN: 6553855,
        DARKGREY: 2846468607,
        DARKKHAKI: 3182914559,
        DARKMAGENTA: 2332068863,
        DARKOLIVEGREEN: 1433087999,
        DARKORANGE: 4287365375,
        DARKORCHID: 2570243327,
        DARKRED: 2332033279,
        DARKSALMON: 3918953215,
        DARKSEAGREEN: 2411499519,
        DARKSLATEBLUE: 1211993087,
        DARKSLATEGRAY: 793726975,
        DARKSLATEGREY: 793726975,
        DARKTURQUOISE: 13554175,
        DARKVIOLET: 2483082239,
        DEEPPINK: 4279538687,
        DEEPSKYBLUE: 12582911,
        DIMGRAY: 1768516095,
        DIMGREY: 1768516095,
        DODGERBLUE: 512819199,
        FIREBRICK: 2988581631,
        FLORALWHITE: 4294635775,
        FORESTGREEN: 579543807,
        FUCHSIA: 4278255615,
        GAINSBORO: 3705462015,
        GHOSTWHITE: 4177068031,
        GOLD: 4292280575,
        GOLDENROD: 3668254975,
        GRAY: 2155905279,
        GREEN: 8388863,
        GREENYELLOW: 2919182335,
        GREY: 2155905279,
        HONEYDEW: 4043305215,
        HOTPINK: 4285117695,
        INDIANRED: 3445382399,
        INDIGO: 1258324735,
        IVORY: 4294963455,
        KHAKI: 4041641215,
        LAVENDER: 3873897215,
        LAVENDERBLUSH: 4293981695,
        LAWNGREEN: 2096890111,
        LEMONCHIFFON: 4294626815,
        LIGHTBLUE: 2916673279,
        LIGHTCORAL: 4034953471,
        LIGHTCYAN: 3774873599,
        LIGHTGOLDENRODYELLOW: 4210742015,
        LIGHTGRAY: 3553874943,
        LIGHTGREEN: 2431553791,
        LIGHTGREY: 3553874943,
        LIGHTPINK: 4290167295,
        LIGHTSALMON: 4288707327,
        LIGHTSEAGREEN: 548580095,
        LIGHTSKYBLUE: 2278488831,
        LIGHTSLATEGRAY: 2005441023,
        LIGHTSLATEGREY: 2005441023,
        LIGHTSTEELBLUE: 2965692159,
        LIGHTYELLOW: 4294959359,
        LIME: 16711935,
        LIMEGREEN: 852308735,
        LINEN: 4210091775,
        MAGENTA: 4278255615,
        MAROON: 2147483903,
        MEDIUMAQUAMARINE: 1724754687,
        MEDIUMBLUE: 52735,
        MEDIUMORCHID: 3126187007,
        MEDIUMPURPLE: 2473647103,
        MEDIUMSEAGREEN: 1018393087,
        MEDIUMSLATEBLUE: 2070474495,
        MEDIUMSPRINGGREEN: 16423679,
        MEDIUMTURQUOISE: 1221709055,
        MEDIUMVIOLETRED: 3340076543,
        MIDNIGHTBLUE: 421097727,
        MINTCREAM: 4127193855,
        MISTYROSE: 4293190143,
        MOCCASIN: 4293178879,
        NAVAJOWHITE: 4292783615,
        NAVY: 33023,
        OLDLACE: 4260751103,
        OLIVE: 2155872511,
        OLIVEDRAB: 1804477439,
        ORANGE: 4289003775,
        ORANGERED: 4282712319,
        ORCHID: 3664828159,
        PALEGOLDENROD: 4008225535,
        PALEGREEN: 2566625535,
        PALETURQUOISE: 2951671551,
        PALEVIOLETRED: 3681588223,
        PAPAYAWHIP: 4293907967,
        PEACHPUFF: 4292524543,
        PERU: 3448061951,
        PINK: 4290825215,
        PLUM: 3718307327,
        POWDERBLUE: 2967529215,
        PURPLE: 2147516671,
        REBECCAPURPLE: 1714657791,
        RED: 4278190335,
        ROSYBROWN: 3163525119,
        ROYALBLUE: 1097458175,
        SADDLEBROWN: 2336560127,
        SALMON: 4202722047,
        SANDYBROWN: 4104413439,
        SEAGREEN: 780883967,
        SEASHELL: 4294307583,
        SIENNA: 2689740287,
        SILVER: 3233857791,
        SKYBLUE: 2278484991,
        SLATEBLUE: 1784335871,
        SLATEGRAY: 1887473919,
        SLATEGREY: 1887473919,
        SNOW: 4294638335,
        SPRINGGREEN: 16744447,
        STEELBLUE: 1182971135,
        TAN: 3535047935,
        TEAL: 8421631,
        THISTLE: 3636451583,
        TOMATO: 4284696575,
        TRANSPARENT: 0,
        TURQUOISE: 1088475391,
        VIOLET: 4001558271,
        WHEAT: 4125012991,
        WHITE: 4294967295,
        WHITESMOKE: 4126537215,
        YELLOW: 4294902015,
        YELLOWGREEN: 2597139199
    },
    Tne = {
        name: "background-clip",
        initialValue: "border-box",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.map(function(n) {
                if (Wt(n)) switch (n.value) {
                    case "padding-box":
                        return 1;
                    case "content-box":
                        return 2
                }
                return 0
            })
        }
    },
    Ine = {
        name: "background-color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    },
    rd = function(e, t) {
        var n = Fs.parse(e, t[0]),
            r = t[1];
        return r && Cn(r) ? {
            color: n,
            stop: r
        } : {
            color: n,
            stop: null
        }
    },
    s3 = function(e, t) {
        var n = e[0],
            r = e[e.length - 1];
        n.stop === null && (n.stop = zn), r.stop === null && (r.stop = ws);
        for (var A = [], i = 0, s = 0; s < e.length; s++) {
            var o = e[s].stop;
            if (o !== null) {
                var a = qt(o, t);
                a > i ? A.push(a) : A.push(i), i = a
            } else A.push(null)
        }
        for (var l = null, s = 0; s < A.length; s++) {
            var u = A[s];
            if (u === null) l === null && (l = s);
            else if (l !== null) {
                for (var f = s - l, d = A[l - 1], p = (u - d) / (f + 1), v = 1; v <= f; v++) A[l + v - 1] = p * v;
                l = null
            }
        }
        return e.map(function(B, C) {
            var w = B.color;
            return {
                color: w,
                stop: Math.max(Math.min(1, A[C] / t), 0)
            }
        })
    },
    Qne = function(e, t, n) {
        var r = t / 2,
            A = n / 2,
            i = qt(e[0], t) - r,
            s = A - qt(e[1], n);
        return (Math.atan2(s, i) + Math.PI * 2) % (Math.PI * 2)
    },
    Une = function(e, t, n) {
        var r = typeof e == "number" ? e : Qne(e, t, n),
            A = Math.abs(t * Math.sin(r)) + Math.abs(n * Math.cos(r)),
            i = t / 2,
            s = n / 2,
            o = A / 2,
            a = Math.sin(r - Math.PI / 2) * o,
            l = Math.cos(r - Math.PI / 2) * o;
        return [A, i - l, i + l, s - a, s + a]
    },
    fA = function(e, t) {
        return Math.sqrt(e * e + t * t)
    },
    o3 = function(e, t, n, r, A) {
        var i = [
            [0, 0],
            [0, t],
            [e, 0],
            [e, t]
        ];
        return i.reduce(function(s, o) {
            var a = o[0],
                l = o[1],
                u = fA(n - a, r - l);
            return (A ? u < s.optimumDistance : u > s.optimumDistance) ? {
                optimumCorner: o,
                optimumDistance: u
            } : s
        }, {
            optimumDistance: A ? 1 / 0 : -1 / 0,
            optimumCorner: null
        }).optimumCorner
    },
    Pne = function(e, t, n, r, A) {
        var i = 0,
            s = 0;
        switch (e.size) {
            case 0:
                e.shape === 0 ? i = s = Math.min(Math.abs(t), Math.abs(t - r), Math.abs(n), Math.abs(n - A)) : e.shape === 1 && (i = Math.min(Math.abs(t), Math.abs(t - r)), s = Math.min(Math.abs(n), Math.abs(n - A)));
                break;
            case 2:
                if (e.shape === 0) i = s = Math.min(fA(t, n), fA(t, n - A), fA(t - r, n), fA(t - r, n - A));
                else if (e.shape === 1) {
                    var o = Math.min(Math.abs(n), Math.abs(n - A)) / Math.min(Math.abs(t), Math.abs(t - r)),
                        a = o3(r, A, t, n, !0),
                        l = a[0],
                        u = a[1];
                    i = fA(l - t, (u - n) / o), s = o * i
                }
                break;
            case 1:
                e.shape === 0 ? i = s = Math.max(Math.abs(t), Math.abs(t - r), Math.abs(n), Math.abs(n - A)) : e.shape === 1 && (i = Math.max(Math.abs(t), Math.abs(t - r)), s = Math.max(Math.abs(n), Math.abs(n - A)));
                break;
            case 3:
                if (e.shape === 0) i = s = Math.max(fA(t, n), fA(t, n - A), fA(t - r, n), fA(t - r, n - A));
                else if (e.shape === 1) {
                    var o = Math.max(Math.abs(n), Math.abs(n - A)) / Math.max(Math.abs(t), Math.abs(t - r)),
                        f = o3(r, A, t, n, !1),
                        l = f[0],
                        u = f[1];
                    i = fA(l - t, (u - n) / o), s = o * i
                }
                break
        }
        return Array.isArray(e.size) && (i = qt(e.size[0], r), s = e.size.length === 2 ? qt(e.size[1], A) : i), [i, s]
    },
    One = function(e, t) {
        var n = nA(180),
            r = [];
        return XA(t).forEach(function(A, i) {
            if (i === 0) {
                var s = A[0];
                if (s.type === 20 && s.value === "to") {
                    n = dx(A);
                    return
                } else if (fx(s)) {
                    n = nd.parse(e, s);
                    return
                }
            }
            var o = rd(e, A);
            r.push(o)
        }), {
            angle: n,
            stops: r,
            type: 1
        }
    },
    O0 = function(e, t) {
        var n = nA(180),
            r = [];
        return XA(t).forEach(function(A, i) {
            if (i === 0) {
                var s = A[0];
                if (s.type === 20 && ["top", "left", "right", "bottom"].indexOf(s.value) !== -1) {
                    n = dx(A);
                    return
                } else if (fx(s)) {
                    n = (nd.parse(e, s) + nA(270)) % nA(360);
                    return
                }
            }
            var o = rd(e, A);
            r.push(o)
        }), {
            angle: n,
            stops: r,
            type: 1
        }
    },
    Dne = function(e, t) {
        var n = nA(180),
            r = [],
            A = 1,
            i = 0,
            s = 3,
            o = [];
        return XA(t).forEach(function(a, l) {
            var u = a[0];
            if (l === 0) {
                if (Wt(u) && u.value === "linear") {
                    A = 1;
                    return
                } else if (Wt(u) && u.value === "radial") {
                    A = 2;
                    return
                }
            }
            if (u.type === 18) {
                if (u.name === "from") {
                    var f = Fs.parse(e, u.values[0]);
                    r.push({
                        stop: zn,
                        color: f
                    })
                } else if (u.name === "to") {
                    var f = Fs.parse(e, u.values[0]);
                    r.push({
                        stop: ws,
                        color: f
                    })
                } else if (u.name === "color-stop") {
                    var d = u.values.filter(il);
                    if (d.length === 2) {
                        var f = Fs.parse(e, d[1]),
                            p = d[0];
                        vl(p) && r.push({
                            stop: {
                                type: 16,
                                number: p.number * 100,
                                flags: p.flags
                            },
                            color: f
                        })
                    }
                }
            }
        }), A === 1 ? {
            angle: (n + nA(180)) % nA(360),
            stops: r,
            type: A
        } : {
            size: s,
            shape: i,
            stops: r,
            position: o,
            type: A
        }
    },
    hx = "closest-side",
    px = "farthest-side",
    gx = "closest-corner",
    vx = "farthest-corner",
    mx = "circle",
    Bx = "ellipse",
    wx = "cover",
    yx = "contain",
    Lne = function(e, t) {
        var n = 0,
            r = 3,
            A = [],
            i = [];
        return XA(t).forEach(function(s, o) {
            var a = !0;
            if (o === 0) {
                var l = !1;
                a = s.reduce(function(f, d) {
                    if (l)
                        if (Wt(d)) switch (d.value) {
                            case "center":
                                return i.push(W5), f;
                            case "top":
                            case "left":
                                return i.push(zn), f;
                            case "right":
                            case "bottom":
                                return i.push(ws), f
                        } else(Cn(d) || Hs(d)) && i.push(d);
                        else if (Wt(d)) switch (d.value) {
                        case mx:
                            return n = 0, !1;
                        case Bx:
                            return n = 1, !1;
                        case "at":
                            return l = !0, !1;
                        case hx:
                            return r = 0, !1;
                        case wx:
                        case px:
                            return r = 1, !1;
                        case yx:
                        case gx:
                            return r = 2, !1;
                        case vx:
                            return r = 3, !1
                    } else if (Hs(d) || Cn(d)) return Array.isArray(r) || (r = []), r.push(d), !1;
                    return f
                }, a)
            }
            if (a) {
                var u = rd(e, s);
                A.push(u)
            }
        }), {
            size: r,
            shape: n,
            stops: A,
            position: i,
            type: 2
        }
    },
    D0 = function(e, t) {
        var n = 0,
            r = 3,
            A = [],
            i = [];
        return XA(t).forEach(function(s, o) {
            var a = !0;
            if (o === 0 ? a = s.reduce(function(u, f) {
                    if (Wt(f)) switch (f.value) {
                        case "center":
                            return i.push(W5), !1;
                        case "top":
                        case "left":
                            return i.push(zn), !1;
                        case "right":
                        case "bottom":
                            return i.push(ws), !1
                    } else if (Cn(f) || Hs(f)) return i.push(f), !1;
                    return u
                }, a) : o === 1 && (a = s.reduce(function(u, f) {
                    if (Wt(f)) switch (f.value) {
                        case mx:
                            return n = 0, !1;
                        case Bx:
                            return n = 1, !1;
                        case yx:
                        case hx:
                            return r = 0, !1;
                        case px:
                            return r = 1, !1;
                        case gx:
                            return r = 2, !1;
                        case wx:
                        case vx:
                            return r = 3, !1
                    } else if (Hs(f) || Cn(f)) return Array.isArray(r) || (r = []), r.push(f), !1;
                    return u
                }, a)), a) {
                var l = rd(e, s);
                A.push(l)
            }
        }), {
            size: r,
            shape: n,
            stops: A,
            position: i,
            type: 2
        }
    },
    kne = function(e) {
        return e.type === 1
    },
    Hne = function(e) {
        return e.type === 2
    },
    z5 = {
        name: "image",
        parse: function(e, t) {
            if (t.type === 22) {
                var n = {
                    url: t.value,
                    type: 0
                };
                return e.cache.addImage(t.value), n
            }
            if (t.type === 18) {
                var r = Cx[t.name];
                if (typeof r > "u") throw new Error('Attempting to parse an unsupported image function "' + t.name + '"');
                return r(e, t.values)
            }
            throw new Error("Unsupported image type " + t.type)
        }
    };

function Mne(e) {
    return !(e.type === 20 && e.value === "none") && (e.type !== 18 || !!Cx[e.name])
}
var Cx = {
        "linear-gradient": One,
        "-moz-linear-gradient": O0,
        "-ms-linear-gradient": O0,
        "-o-linear-gradient": O0,
        "-webkit-linear-gradient": O0,
        "radial-gradient": Lne,
        "-moz-radial-gradient": D0,
        "-ms-radial-gradient": D0,
        "-o-radial-gradient": D0,
        "-webkit-radial-gradient": D0,
        "-webkit-gradient": Dne
    },
    Rne = {
        name: "background-image",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            if (t.length === 0) return [];
            var n = t[0];
            return n.type === 20 && n.value === "none" ? [] : t.filter(function(r) {
                return il(r) && Mne(r)
            }).map(function(r) {
                return z5.parse(e, r)
            })
        }
    },
    Nne = {
        name: "background-origin",
        initialValue: "border-box",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.map(function(n) {
                if (Wt(n)) switch (n.value) {
                    case "padding-box":
                        return 1;
                    case "content-box":
                        return 2
                }
                return 0
            })
        }
    },
    $ne = {
        name: "background-position",
        initialValue: "0% 0%",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            return XA(t).map(function(n) {
                return n.filter(Cn)
            }).map(ox)
        }
    },
    Kne = {
        name: "background-repeat",
        initialValue: "repeat",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return XA(t).map(function(n) {
                return n.filter(Wt).map(function(r) {
                    return r.value
                }).join(" ")
            }).map(Vne)
        }
    },
    Vne = function(e) {
        switch (e) {
            case "no-repeat":
                return 1;
            case "repeat-x":
            case "repeat no-repeat":
                return 2;
            case "repeat-y":
            case "no-repeat repeat":
                return 3;
            case "repeat":
            default:
                return 0
        }
    },
    La;
(function(e) {
    e.AUTO = "auto", e.CONTAIN = "contain", e.COVER = "cover"
})(La || (La = {}));
var Gne = {
        name: "background-size",
        initialValue: "0",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return XA(t).map(function(n) {
                return n.filter(jne)
            })
        }
    },
    jne = function(e) {
        return Wt(e) || Cn(e)
    },
    Ad = function(e) {
        return {
            name: "border-" + e + "-color",
            initialValue: "transparent",
            prefix: !1,
            type: 3,
            format: "color"
        }
    },
    Wne = Ad("top"),
    zne = Ad("right"),
    Yne = Ad("bottom"),
    Xne = Ad("left"),
    id = function(e) {
        return {
            name: "border-radius-" + e,
            initialValue: "0 0",
            prefix: !1,
            type: 1,
            parse: function(t, n) {
                return ox(n.filter(Cn))
            }
        }
    },
    Jne = id("top-left"),
    qne = id("top-right"),
    Zne = id("bottom-right"),
    ere = id("bottom-left"),
    sd = function(e) {
        return {
            name: "border-" + e + "-style",
            initialValue: "solid",
            prefix: !1,
            type: 2,
            parse: function(t, n) {
                switch (n) {
                    case "none":
                        return 0;
                    case "dashed":
                        return 2;
                    case "dotted":
                        return 3;
                    case "double":
                        return 4
                }
                return 1
            }
        }
    },
    tre = sd("top"),
    nre = sd("right"),
    rre = sd("bottom"),
    Are = sd("left"),
    od = function(e) {
        return {
            name: "border-" + e + "-width",
            initialValue: "0",
            type: 0,
            prefix: !1,
            parse: function(t, n) {
                return Uc(n) ? n.number : 0
            }
        }
    },
    ire = od("top"),
    sre = od("right"),
    ore = od("bottom"),
    are = od("left"),
    lre = {
        name: "color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    },
    ure = {
        name: "direction",
        initialValue: "ltr",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "rtl":
                    return 1;
                case "ltr":
                default:
                    return 0
            }
        }
    },
    cre = {
        name: "display",
        initialValue: "inline-block",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.filter(Wt).reduce(function(n, r) {
                return n | fre(r.value)
            }, 0)
        }
    },
    fre = function(e) {
        switch (e) {
            case "block":
            case "-webkit-box":
                return 2;
            case "inline":
                return 4;
            case "run-in":
                return 8;
            case "flow":
                return 16;
            case "flow-root":
                return 32;
            case "table":
                return 64;
            case "flex":
            case "-webkit-flex":
                return 128;
            case "grid":
            case "-ms-grid":
                return 256;
            case "ruby":
                return 512;
            case "subgrid":
                return 1024;
            case "list-item":
                return 2048;
            case "table-row-group":
                return 4096;
            case "table-header-group":
                return 8192;
            case "table-footer-group":
                return 16384;
            case "table-row":
                return 32768;
            case "table-cell":
                return 65536;
            case "table-column-group":
                return 131072;
            case "table-column":
                return 262144;
            case "table-caption":
                return 524288;
            case "ruby-base":
                return 1048576;
            case "ruby-text":
                return 2097152;
            case "ruby-base-container":
                return 4194304;
            case "ruby-text-container":
                return 8388608;
            case "contents":
                return 16777216;
            case "inline-block":
                return 33554432;
            case "inline-list-item":
                return 67108864;
            case "inline-table":
                return 134217728;
            case "inline-flex":
                return 268435456;
            case "inline-grid":
                return 536870912
        }
        return 0
    },
    dre = {
        name: "float",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "left":
                    return 1;
                case "right":
                    return 2;
                case "inline-start":
                    return 3;
                case "inline-end":
                    return 4
            }
            return 0
        }
    },
    hre = {
        name: "letter-spacing",
        initialValue: "0",
        prefix: !1,
        type: 0,
        parse: function(e, t) {
            return t.type === 20 && t.value === "normal" ? 0 : t.type === 17 || t.type === 15 ? t.number : 0
        }
    },
    kf;
(function(e) {
    e.NORMAL = "normal", e.STRICT = "strict"
})(kf || (kf = {}));
var pre = {
        name: "line-break",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "strict":
                    return kf.STRICT;
                case "normal":
                default:
                    return kf.NORMAL
            }
        }
    },
    gre = {
        name: "line-height",
        initialValue: "normal",
        prefix: !1,
        type: 4
    },
    a3 = function(e, t) {
        return Wt(e) && e.value === "normal" ? 1.2 * t : e.type === 17 ? t * e.number : Cn(e) ? qt(e, t) : t
    },
    vre = {
        name: "list-style-image",
        initialValue: "none",
        type: 0,
        prefix: !1,
        parse: function(e, t) {
            return t.type === 20 && t.value === "none" ? null : z5.parse(e, t)
        }
    },
    mre = {
        name: "list-style-position",
        initialValue: "outside",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "inside":
                    return 0;
                case "outside":
                default:
                    return 1
            }
        }
    },
    vp = {
        name: "list-style-type",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "disc":
                    return 0;
                case "circle":
                    return 1;
                case "square":
                    return 2;
                case "decimal":
                    return 3;
                case "cjk-decimal":
                    return 4;
                case "decimal-leading-zero":
                    return 5;
                case "lower-roman":
                    return 6;
                case "upper-roman":
                    return 7;
                case "lower-greek":
                    return 8;
                case "lower-alpha":
                    return 9;
                case "upper-alpha":
                    return 10;
                case "arabic-indic":
                    return 11;
                case "armenian":
                    return 12;
                case "bengali":
                    return 13;
                case "cambodian":
                    return 14;
                case "cjk-earthly-branch":
                    return 15;
                case "cjk-heavenly-stem":
                    return 16;
                case "cjk-ideographic":
                    return 17;
                case "devanagari":
                    return 18;
                case "ethiopic-numeric":
                    return 19;
                case "georgian":
                    return 20;
                case "gujarati":
                    return 21;
                case "gurmukhi":
                    return 22;
                case "hebrew":
                    return 22;
                case "hiragana":
                    return 23;
                case "hiragana-iroha":
                    return 24;
                case "japanese-formal":
                    return 25;
                case "japanese-informal":
                    return 26;
                case "kannada":
                    return 27;
                case "katakana":
                    return 28;
                case "katakana-iroha":
                    return 29;
                case "khmer":
                    return 30;
                case "korean-hangul-formal":
                    return 31;
                case "korean-hanja-formal":
                    return 32;
                case "korean-hanja-informal":
                    return 33;
                case "lao":
                    return 34;
                case "lower-armenian":
                    return 35;
                case "malayalam":
                    return 36;
                case "mongolian":
                    return 37;
                case "myanmar":
                    return 38;
                case "oriya":
                    return 39;
                case "persian":
                    return 40;
                case "simp-chinese-formal":
                    return 41;
                case "simp-chinese-informal":
                    return 42;
                case "tamil":
                    return 43;
                case "telugu":
                    return 44;
                case "thai":
                    return 45;
                case "tibetan":
                    return 46;
                case "trad-chinese-formal":
                    return 47;
                case "trad-chinese-informal":
                    return 48;
                case "upper-armenian":
                    return 49;
                case "disclosure-open":
                    return 50;
                case "disclosure-closed":
                    return 51;
                case "none":
                default:
                    return -1
            }
        }
    },
    ad = function(e) {
        return {
            name: "margin-" + e,
            initialValue: "0",
            prefix: !1,
            type: 4
        }
    },
    Bre = ad("top"),
    wre = ad("right"),
    yre = ad("bottom"),
    Cre = ad("left"),
    Ere = {
        name: "overflow",
        initialValue: "visible",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.filter(Wt).map(function(n) {
                switch (n.value) {
                    case "hidden":
                        return 1;
                    case "scroll":
                        return 2;
                    case "clip":
                        return 3;
                    case "auto":
                        return 4;
                    case "visible":
                    default:
                        return 0
                }
            })
        }
    },
    bre = {
        name: "overflow-wrap",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "break-word":
                    return "break-word";
                case "normal":
                default:
                    return "normal"
            }
        }
    },
    ld = function(e) {
        return {
            name: "padding-" + e,
            initialValue: "0",
            prefix: !1,
            type: 3,
            format: "length-percentage"
        }
    },
    xre = ld("top"),
    _re = ld("right"),
    Fre = ld("bottom"),
    Sre = ld("left"),
    Tre = {
        name: "text-align",
        initialValue: "left",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "right":
                    return 2;
                case "center":
                case "justify":
                    return 1;
                case "left":
                default:
                    return 0
            }
        }
    },
    Ire = {
        name: "position",
        initialValue: "static",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "relative":
                    return 1;
                case "absolute":
                    return 2;
                case "fixed":
                    return 3;
                case "sticky":
                    return 4
            }
            return 0
        }
    },
    Qre = {
        name: "text-shadow",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            return t.length === 1 && gp(t[0], "none") ? [] : XA(t).map(function(n) {
                for (var r = {
                        color: _i.TRANSPARENT,
                        offsetX: zn,
                        offsetY: zn,
                        blur: zn
                    }, A = 0, i = 0; i < n.length; i++) {
                    var s = n[i];
                    Hs(s) ? (A === 0 ? r.offsetX = s : A === 1 ? r.offsetY = s : r.blur = s, A++) : r.color = Fs.parse(e, s)
                }
                return r
            })
        }
    },
    Ure = {
        name: "text-transform",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "uppercase":
                    return 2;
                case "lowercase":
                    return 1;
                case "capitalize":
                    return 3
            }
            return 0
        }
    },
    Pre = {
        name: "transform",
        initialValue: "none",
        prefix: !0,
        type: 0,
        parse: function(e, t) {
            if (t.type === 20 && t.value === "none") return null;
            if (t.type === 18) {
                var n = Lre[t.name];
                if (typeof n > "u") throw new Error('Attempting to parse an unsupported transform function "' + t.name + '"');
                return n(t.values)
            }
            return null
        }
    },
    Ore = function(e) {
        var t = e.filter(function(n) {
            return n.type === 17
        }).map(function(n) {
            return n.number
        });
        return t.length === 6 ? t : null
    },
    Dre = function(e) {
        var t = e.filter(function(a) {
                return a.type === 17
            }).map(function(a) {
                return a.number
            }),
            n = t[0],
            r = t[1];
        t[2], t[3];
        var A = t[4],
            i = t[5];
        t[6], t[7], t[8], t[9], t[10], t[11];
        var s = t[12],
            o = t[13];
        return t[14], t[15], t.length === 16 ? [n, r, A, i, s, o] : null
    },
    Lre = {
        matrix: Ore,
        matrix3d: Dre
    },
    l3 = {
        type: 16,
        number: 50,
        flags: Qc
    },
    kre = [l3, l3],
    Hre = {
        name: "transform-origin",
        initialValue: "50% 50%",
        prefix: !0,
        type: 1,
        parse: function(e, t) {
            var n = t.filter(Cn);
            return n.length !== 2 ? kre : [n[0], n[1]]
        }
    },
    Mre = {
        name: "visible",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "hidden":
                    return 1;
                case "collapse":
                    return 2;
                case "visible":
                default:
                    return 0
            }
        }
    },
    Fu;
(function(e) {
    e.NORMAL = "normal", e.BREAK_ALL = "break-all", e.KEEP_ALL = "keep-all"
})(Fu || (Fu = {}));
var Rre = {
        name: "word-break",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "break-all":
                    return Fu.BREAK_ALL;
                case "keep-all":
                    return Fu.KEEP_ALL;
                case "normal":
                default:
                    return Fu.NORMAL
            }
        }
    },
    Nre = {
        name: "z-index",
        initialValue: "auto",
        prefix: !1,
        type: 0,
        parse: function(e, t) {
            if (t.type === 20) return {
                auto: !0,
                order: 0
            };
            if (vl(t)) return {
                auto: !1,
                order: t.number
            };
            throw new Error("Invalid z-index number parsed")
        }
    },
    Ex = {
        name: "time",
        parse: function(e, t) {
            if (t.type === 15) switch (t.unit.toLowerCase()) {
                case "s":
                    return 1e3 * t.number;
                case "ms":
                    return t.number
            }
            throw new Error("Unsupported time type")
        }
    },
    $re = {
        name: "opacity",
        initialValue: "1",
        type: 0,
        prefix: !1,
        parse: function(e, t) {
            return vl(t) ? t.number : 1
        }
    },
    Kre = {
        name: "text-decoration-color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    },
    Vre = {
        name: "text-decoration-line",
        initialValue: "none",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.filter(Wt).map(function(n) {
                switch (n.value) {
                    case "underline":
                        return 1;
                    case "overline":
                        return 2;
                    case "line-through":
                        return 3;
                    case "none":
                        return 4
                }
                return 0
            }).filter(function(n) {
                return n !== 0
            })
        }
    },
    Gre = {
        name: "font-family",
        initialValue: "",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            var n = [],
                r = [];
            return t.forEach(function(A) {
                switch (A.type) {
                    case 20:
                    case 0:
                        n.push(A.value);
                        break;
                    case 17:
                        n.push(A.number.toString());
                        break;
                    case 4:
                        r.push(n.join(" ")), n.length = 0;
                        break
                }
            }), n.length && r.push(n.join(" ")), r.map(function(A) {
                return A.indexOf(" ") === -1 ? A : "'" + A + "'"
            })
        }
    },
    jre = {
        name: "font-size",
        initialValue: "0",
        prefix: !1,
        type: 3,
        format: "length"
    },
    Wre = {
        name: "font-weight",
        initialValue: "normal",
        type: 0,
        prefix: !1,
        parse: function(e, t) {
            if (vl(t)) return t.number;
            if (Wt(t)) switch (t.value) {
                case "bold":
                    return 700;
                case "normal":
                default:
                    return 400
            }
            return 400
        }
    },
    zre = {
        name: "font-variant",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            return t.filter(Wt).map(function(n) {
                return n.value
            })
        }
    },
    Yre = {
        name: "font-style",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(e, t) {
            switch (t) {
                case "oblique":
                    return "oblique";
                case "italic":
                    return "italic";
                case "normal":
                default:
                    return "normal"
            }
        }
    },
    Qn = function(e, t) {
        return (e & t) !== 0
    },
    Xre = {
        name: "content",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            if (t.length === 0) return [];
            var n = t[0];
            return n.type === 20 && n.value === "none" ? [] : t
        }
    },
    Jre = {
        name: "counter-increment",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(e, t) {
            if (t.length === 0) return null;
            var n = t[0];
            if (n.type === 20 && n.value === "none") return null;
            for (var r = [], A = t.filter(sx), i = 0; i < A.length; i++) {
                var s = A[i],
                    o = A[i + 1];
                if (s.type === 20) {
                    var a = o && vl(o) ? o.number : 1;
                    r.push({
                        counter: s.value,
                        increment: a
                    })
                }
            }
            return r
        }
    },
    qre = {
        name: "counter-reset",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(e, t) {
            if (t.length === 0) return [];
            for (var n = [], r = t.filter(sx), A = 0; A < r.length; A++) {
                var i = r[A],
                    s = r[A + 1];
                if (Wt(i) && i.value !== "none") {
                    var o = s && vl(s) ? s.number : 0;
                    n.push({
                        counter: i.value,
                        reset: o
                    })
                }
            }
            return n
        }
    },
    Zre = {
        name: "duration",
        initialValue: "0s",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            return t.filter(Uc).map(function(n) {
                return Ex.parse(e, n)
            })
        }
    },
    eAe = {
        name: "quotes",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(e, t) {
            if (t.length === 0) return null;
            var n = t[0];
            if (n.type === 20 && n.value === "none") return null;
            var r = [],
                A = t.filter(_ne);
            if (A.length % 2 !== 0) return null;
            for (var i = 0; i < A.length; i += 2) {
                var s = A[i].value,
                    o = A[i + 1].value;
                r.push({
                    open: s,
                    close: o
                })
            }
            return r
        }
    },
    u3 = function(e, t, n) {
        if (!e) return "";
        var r = e[Math.min(t, e.length - 1)];
        return r ? n ? r.open : r.close : ""
    },
    tAe = {
        name: "box-shadow",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(e, t) {
            return t.length === 1 && gp(t[0], "none") ? [] : XA(t).map(function(n) {
                for (var r = {
                        color: 255,
                        offsetX: zn,
                        offsetY: zn,
                        blur: zn,
                        spread: zn,
                        inset: !1
                    }, A = 0, i = 0; i < n.length; i++) {
                    var s = n[i];
                    gp(s, "inset") ? r.inset = !0 : Hs(s) ? (A === 0 ? r.offsetX = s : A === 1 ? r.offsetY = s : A === 2 ? r.blur = s : r.spread = s, A++) : r.color = Fs.parse(e, s)
                }
                return r
            })
        }
    },
    nAe = {
        name: "paint-order",
        initialValue: "normal",
        prefix: !1,
        type: 1,
        parse: function(e, t) {
            var n = [0, 1, 2],
                r = [];
            return t.filter(Wt).forEach(function(A) {
                switch (A.value) {
                    case "stroke":
                        r.push(1);
                        break;
                    case "fill":
                        r.push(0);
                        break;
                    case "markers":
                        r.push(2);
                        break
                }
            }), n.forEach(function(A) {
                r.indexOf(A) === -1 && r.push(A)
            }), r
        }
    },
    rAe = {
        name: "-webkit-text-stroke-color",
        initialValue: "currentcolor",
        prefix: !1,
        type: 3,
        format: "color"
    },
    AAe = {
        name: "-webkit-text-stroke-width",
        initialValue: "0",
        type: 0,
        prefix: !1,
        parse: function(e, t) {
            return Uc(t) ? t.number : 0
        }
    },
    iAe = function() {
        function e(t, n) {
            var r, A;
            this.animationDuration = et(t, Zre, n.animationDuration), this.backgroundClip = et(t, Tne, n.backgroundClip), this.backgroundColor = et(t, Ine, n.backgroundColor), this.backgroundImage = et(t, Rne, n.backgroundImage), this.backgroundOrigin = et(t, Nne, n.backgroundOrigin), this.backgroundPosition = et(t, $ne, n.backgroundPosition), this.backgroundRepeat = et(t, Kne, n.backgroundRepeat), this.backgroundSize = et(t, Gne, n.backgroundSize), this.borderTopColor = et(t, Wne, n.borderTopColor), this.borderRightColor = et(t, zne, n.borderRightColor), this.borderBottomColor = et(t, Yne, n.borderBottomColor), this.borderLeftColor = et(t, Xne, n.borderLeftColor), this.borderTopLeftRadius = et(t, Jne, n.borderTopLeftRadius), this.borderTopRightRadius = et(t, qne, n.borderTopRightRadius), this.borderBottomRightRadius = et(t, Zne, n.borderBottomRightRadius), this.borderBottomLeftRadius = et(t, ere, n.borderBottomLeftRadius), this.borderTopStyle = et(t, tre, n.borderTopStyle), this.borderRightStyle = et(t, nre, n.borderRightStyle), this.borderBottomStyle = et(t, rre, n.borderBottomStyle), this.borderLeftStyle = et(t, Are, n.borderLeftStyle), this.borderTopWidth = et(t, ire, n.borderTopWidth), this.borderRightWidth = et(t, sre, n.borderRightWidth), this.borderBottomWidth = et(t, ore, n.borderBottomWidth), this.borderLeftWidth = et(t, are, n.borderLeftWidth), this.boxShadow = et(t, tAe, n.boxShadow), this.color = et(t, lre, n.color), this.direction = et(t, ure, n.direction), this.display = et(t, cre, n.display), this.float = et(t, dre, n.cssFloat), this.fontFamily = et(t, Gre, n.fontFamily), this.fontSize = et(t, jre, n.fontSize), this.fontStyle = et(t, Yre, n.fontStyle), this.fontVariant = et(t, zre, n.fontVariant), this.fontWeight = et(t, Wre, n.fontWeight), this.letterSpacing = et(t, hre, n.letterSpacing), this.lineBreak = et(t, pre, n.lineBreak), this.lineHeight = et(t, gre, n.lineHeight), this.listStyleImage = et(t, vre, n.listStyleImage), this.listStylePosition = et(t, mre, n.listStylePosition), this.listStyleType = et(t, vp, n.listStyleType), this.marginTop = et(t, Bre, n.marginTop), this.marginRight = et(t, wre, n.marginRight), this.marginBottom = et(t, yre, n.marginBottom), this.marginLeft = et(t, Cre, n.marginLeft), this.opacity = et(t, $re, n.opacity);
            var i = et(t, Ere, n.overflow);
            this.overflowX = i[0], this.overflowY = i[i.length > 1 ? 1 : 0], this.overflowWrap = et(t, bre, n.overflowWrap), this.paddingTop = et(t, xre, n.paddingTop), this.paddingRight = et(t, _re, n.paddingRight), this.paddingBottom = et(t, Fre, n.paddingBottom), this.paddingLeft = et(t, Sre, n.paddingLeft), this.paintOrder = et(t, nAe, n.paintOrder), this.position = et(t, Ire, n.position), this.textAlign = et(t, Tre, n.textAlign), this.textDecorationColor = et(t, Kre, (r = n.textDecorationColor) !== null && r !== void 0 ? r : n.color), this.textDecorationLine = et(t, Vre, (A = n.textDecorationLine) !== null && A !== void 0 ? A : n.textDecoration), this.textShadow = et(t, Qre, n.textShadow), this.textTransform = et(t, Ure, n.textTransform), this.transform = et(t, Pre, n.transform), this.transformOrigin = et(t, Hre, n.transformOrigin), this.visibility = et(t, Mre, n.visibility), this.webkitTextStrokeColor = et(t, rAe, n.webkitTextStrokeColor), this.webkitTextStrokeWidth = et(t, AAe, n.webkitTextStrokeWidth), this.wordBreak = et(t, Rre, n.wordBreak), this.zIndex = et(t, Nre, n.zIndex)
        }
        return e.prototype.isVisible = function() {
            return this.display > 0 && this.opacity > 0 && this.visibility === 0
        }, e.prototype.isTransparent = function() {
            return Ss(this.backgroundColor)
        }, e.prototype.isTransformed = function() {
            return this.transform !== null
        }, e.prototype.isPositioned = function() {
            return this.position !== 0
        }, e.prototype.isPositionedWithZIndex = function() {
            return this.isPositioned() && !this.zIndex.auto
        }, e.prototype.isFloating = function() {
            return this.float !== 0
        }, e.prototype.isInlineLevel = function() {
            return Qn(this.display, 4) || Qn(this.display, 33554432) || Qn(this.display, 268435456) || Qn(this.display, 536870912) || Qn(this.display, 67108864) || Qn(this.display, 134217728)
        }, e
    }(),
    sAe = function() {
        function e(t, n) {
            this.content = et(t, Xre, n.content), this.quotes = et(t, eAe, n.quotes)
        }
        return e
    }(),
    c3 = function() {
        function e(t, n) {
            this.counterIncrement = et(t, Jre, n.counterIncrement), this.counterReset = et(t, qre, n.counterReset)
        }
        return e
    }(),
    et = function(e, t, n) {
        var r = new Ax,
            A = n !== null && typeof n < "u" ? n.toString() : t.initialValue;
        r.write(A);
        var i = new ix(r.read());
        switch (t.type) {
            case 2:
                var s = i.parseComponentValue();
                return t.parse(e, Wt(s) ? s.value : t.initialValue);
            case 0:
                return t.parse(e, i.parseComponentValue());
            case 1:
                return t.parse(e, i.parseComponentValues());
            case 4:
                return i.parseComponentValue();
            case 3:
                switch (t.format) {
                    case "angle":
                        return nd.parse(e, i.parseComponentValue());
                    case "color":
                        return Fs.parse(e, i.parseComponentValue());
                    case "image":
                        return z5.parse(e, i.parseComponentValue());
                    case "length":
                        var o = i.parseComponentValue();
                        return Hs(o) ? o : zn;
                    case "length-percentage":
                        var a = i.parseComponentValue();
                        return Cn(a) ? a : zn;
                    case "time":
                        return Ex.parse(e, i.parseComponentValue())
                }
                break
        }
    },
    oAe = "data-html2canvas-debug",
    aAe = function(e) {
        var t = e.getAttribute(oAe);
        switch (t) {
            case "all":
                return 1;
            case "clone":
                return 2;
            case "parse":
                return 3;
            case "render":
                return 4;
            default:
                return 0
        }
    },
    mp = function(e, t) {
        var n = aAe(e);
        return n === 1 || t === n
    },
    JA = function() {
        function e(t, n) {
            if (this.context = t, this.textNodes = [], this.elements = [], this.flags = 0, mp(n, 3)) debugger;
            this.styles = new iAe(t, window.getComputedStyle(n, null)), yp(n) && (this.styles.animationDuration.some(function(r) {
                return r > 0
            }) && (n.style.animationDuration = "0s"), this.styles.transform !== null && (n.style.transform = "none")), this.bounds = ed(this.context, n), mp(n, 4) && (this.flags |= 16)
        }
        return e
    }(),
    lAe = " ",
    f3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    iu = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
for (var L0 = 0; L0 < f3.length; L0++) iu[f3.charCodeAt(L0)] = L0;
var uAe = function(e) {
        var t = e.length * .75,
            n = e.length,
            r, A = 0,
            i, s, o, a;
        e[e.length - 1] === "=" && (t--, e[e.length - 2] === "=" && t--);
        var l = typeof ArrayBuffer < "u" && typeof Uint8Array < "u" && typeof Uint8Array.prototype.slice < "u" ? new ArrayBuffer(t) : new Array(t),
            u = Array.isArray(l) ? l : new Uint8Array(l);
        for (r = 0; r < n; r += 4) i = iu[e.charCodeAt(r)], s = iu[e.charCodeAt(r + 1)], o = iu[e.charCodeAt(r + 2)], a = iu[e.charCodeAt(r + 3)], u[A++] = i << 2 | s >> 4, u[A++] = (s & 15) << 4 | o >> 2, u[A++] = (o & 3) << 6 | a & 63;
        return l
    },
    cAe = function(e) {
        for (var t = e.length, n = [], r = 0; r < t; r += 2) n.push(e[r + 1] << 8 | e[r]);
        return n
    },
    fAe = function(e) {
        for (var t = e.length, n = [], r = 0; r < t; r += 4) n.push(e[r + 3] << 24 | e[r + 2] << 16 | e[r + 1] << 8 | e[r]);
        return n
    },
    _o = 5,
    Y5 = 6 + 5,
    p2 = 2,
    dAe = Y5 - _o,
    bx = 65536 >> _o,
    hAe = 1 << _o,
    g2 = hAe - 1,
    pAe = 1024 >> _o,
    gAe = bx + pAe,
    vAe = gAe,
    mAe = 32,
    BAe = vAe + mAe,
    wAe = 65536 >> Y5,
    yAe = 1 << dAe,
    CAe = yAe - 1,
    d3 = function(e, t, n) {
        return e.slice ? e.slice(t, n) : new Uint16Array(Array.prototype.slice.call(e, t, n))
    },
    EAe = function(e, t, n) {
        return e.slice ? e.slice(t, n) : new Uint32Array(Array.prototype.slice.call(e, t, n))
    },
    bAe = function(e, t) {
        var n = uAe(e),
            r = Array.isArray(n) ? fAe(n) : new Uint32Array(n),
            A = Array.isArray(n) ? cAe(n) : new Uint16Array(n),
            i = 24,
            s = d3(A, i / 2, r[4] / 2),
            o = r[5] === 2 ? d3(A, (i + r[4]) / 2) : EAe(r, Math.ceil((i + r[4]) / 4));
        return new xAe(r[0], r[1], r[2], r[3], s, o)
    },
    xAe = function() {
        function e(t, n, r, A, i, s) {
            this.initialValue = t, this.errorValue = n, this.highStart = r, this.highValueIndex = A, this.index = i, this.data = s
        }
        return e.prototype.get = function(t) {
            var n;
            if (t >= 0) {
                if (t < 55296 || t > 56319 && t <= 65535) return n = this.index[t >> _o], n = (n << p2) + (t & g2), this.data[n];
                if (t <= 65535) return n = this.index[bx + (t - 55296 >> _o)], n = (n << p2) + (t & g2), this.data[n];
                if (t < this.highStart) return n = BAe - wAe + (t >> Y5), n = this.index[n], n += t >> _o & CAe, n = this.index[n], n = (n << p2) + (t & g2), this.data[n];
                if (t <= 1114111) return this.data[this.highValueIndex]
            }
            return this.errorValue
        }, e
    }(),
    h3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    _Ae = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
for (var k0 = 0; k0 < h3.length; k0++) _Ae[h3.charCodeAt(k0)] = k0;
var FAe = 1,
    v2 = 2,
    m2 = 3,
    p3 = 4,
    g3 = 5,
    SAe = 7,
    v3 = 8,
    B2 = 9,
    w2 = 10,
    m3 = 11,
    B3 = 12,
    w3 = 13,
    y3 = 14,
    y2 = 15,
    TAe = function(e) {
        for (var t = [], n = 0, r = e.length; n < r;) {
            var A = e.charCodeAt(n++);
            if (A >= 55296 && A <= 56319 && n < r) {
                var i = e.charCodeAt(n++);
                (i & 64512) === 56320 ? t.push(((A & 1023) << 10) + (i & 1023) + 65536) : (t.push(A), n--)
            } else t.push(A)
        }
        return t
    },
    IAe = function() {
        for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
        if (String.fromCodePoint) return String.fromCodePoint.apply(String, e);
        var n = e.length;
        if (!n) return "";
        for (var r = [], A = -1, i = ""; ++A < n;) {
            var s = e[A];
            s <= 65535 ? r.push(s) : (s -= 65536, r.push((s >> 10) + 55296, s % 1024 + 56320)), (A + 1 === n || r.length > 16384) && (i += String.fromCharCode.apply(String, r), r.length = 0)
        }
        return i
    },
    QAe = bAe(lAe),
    eA = "×",
    C2 = "÷",
    UAe = function(e) {
        return QAe.get(e)
    },
    PAe = function(e, t, n) {
        var r = n - 2,
            A = t[r],
            i = t[n - 1],
            s = t[n];
        if (i === v2 && s === m2) return eA;
        if (i === v2 || i === m2 || i === p3 || s === v2 || s === m2 || s === p3) return C2;
        if (i === v3 && [v3, B2, m3, B3].indexOf(s) !== -1 || (i === m3 || i === B2) && (s === B2 || s === w2) || (i === B3 || i === w2) && s === w2 || s === w3 || s === g3 || s === SAe || i === FAe) return eA;
        if (i === w3 && s === y3) {
            for (; A === g3;) A = t[--r];
            if (A === y3) return eA
        }
        if (i === y2 && s === y2) {
            for (var o = 0; A === y2;) o++, A = t[--r];
            if (o % 2 === 0) return eA
        }
        return C2
    },
    OAe = function(e) {
        var t = TAe(e),
            n = t.length,
            r = 0,
            A = 0,
            i = t.map(UAe);
        return {
            next: function() {
                if (r >= n) return {
                    done: !0,
                    value: null
                };
                for (var s = eA; r < n && (s = PAe(t, i, ++r)) === eA;);
                if (s !== eA || r === n) {
                    var o = IAe.apply(null, t.slice(A, r));
                    return A = r, {
                        value: o,
                        done: !1
                    }
                }
                return {
                    done: !0,
                    value: null
                }
            }
        }
    },
    DAe = function(e) {
        for (var t = OAe(e), n = [], r; !(r = t.next()).done;) r.value && n.push(r.value.slice());
        return n
    },
    LAe = function(e) {
        var t = 123;
        if (e.createRange) {
            var n = e.createRange();
            if (n.getBoundingClientRect) {
                var r = e.createElement("boundtest");
                r.style.height = t + "px", r.style.display = "block", e.body.appendChild(r), n.selectNode(r);
                var A = n.getBoundingClientRect(),
                    i = Math.round(A.height);
                if (e.body.removeChild(r), i === t) return !0
            }
        }
        return !1
    },
    kAe = function(e) {
        var t = e.createElement("boundtest");
        t.style.width = "50px", t.style.display = "block", t.style.fontSize = "12px", t.style.letterSpacing = "0px", t.style.wordSpacing = "0px", e.body.appendChild(t);
        var n = e.createRange();
        t.innerHTML = typeof "".repeat == "function" ? "&#128104;".repeat(10) : "";
        var r = t.firstChild,
            A = td(r.data).map(function(a) {
                return pn(a)
            }),
            i = 0,
            s = {},
            o = A.every(function(a, l) {
                n.setStart(r, i), n.setEnd(r, i + a.length);
                var u = n.getBoundingClientRect();
                i += a.length;
                var f = u.x > s.x || u.y > s.y;
                return s = u, l === 0 ? !0 : f
            });
        return e.body.removeChild(t), o
    },
    HAe = function() {
        return typeof new Image().crossOrigin < "u"
    },
    MAe = function() {
        return typeof new XMLHttpRequest().responseType == "string"
    },
    RAe = function(e) {
        var t = new Image,
            n = e.createElement("canvas"),
            r = n.getContext("2d");
        if (!r) return !1;
        t.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";
        try {
            r.drawImage(t, 0, 0), n.toDataURL()
        } catch {
            return !1
        }
        return !0
    },
    C3 = function(e) {
        return e[0] === 0 && e[1] === 255 && e[2] === 0 && e[3] === 255
    },
    NAe = function(e) {
        var t = e.createElement("canvas"),
            n = 100;
        t.width = n, t.height = n;
        var r = t.getContext("2d");
        if (!r) return Promise.reject(!1);
        r.fillStyle = "rgb(0, 255, 0)", r.fillRect(0, 0, n, n);
        var A = new Image,
            i = t.toDataURL();
        A.src = i;
        var s = Bp(n, n, 0, 0, A);
        return r.fillStyle = "red", r.fillRect(0, 0, n, n), E3(s).then(function(o) {
            r.drawImage(o, 0, 0);
            var a = r.getImageData(0, 0, n, n).data;
            r.fillStyle = "red", r.fillRect(0, 0, n, n);
            var l = e.createElement("div");
            return l.style.backgroundImage = "url(" + i + ")", l.style.height = n + "px", C3(a) ? E3(Bp(n, n, 0, 0, l)) : Promise.reject(!1)
        }).then(function(o) {
            return r.drawImage(o, 0, 0), C3(r.getImageData(0, 0, n, n).data)
        }).catch(function() {
            return !1
        })
    },
    Bp = function(e, t, n, r, A) {
        var i = "http://www.w3.org/2000/svg",
            s = document.createElementNS(i, "svg"),
            o = document.createElementNS(i, "foreignObject");
        return s.setAttributeNS(null, "width", e.toString()), s.setAttributeNS(null, "height", t.toString()), o.setAttributeNS(null, "width", "100%"), o.setAttributeNS(null, "height", "100%"), o.setAttributeNS(null, "x", n.toString()), o.setAttributeNS(null, "y", r.toString()), o.setAttributeNS(null, "externalResourcesRequired", "true"), s.appendChild(o), o.appendChild(A), s
    },
    E3 = function(e) {
        return new Promise(function(t, n) {
            var r = new Image;
            r.onload = function() {
                return t(r)
            }, r.onerror = n, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(e))
        })
    },
    Wn = {
        get SUPPORT_RANGE_BOUNDS() {
            var e = LAe(document);
            return Object.defineProperty(Wn, "SUPPORT_RANGE_BOUNDS", {
                value: e
            }), e
        },
        get SUPPORT_WORD_BREAKING() {
            var e = Wn.SUPPORT_RANGE_BOUNDS && kAe(document);
            return Object.defineProperty(Wn, "SUPPORT_WORD_BREAKING", {
                value: e
            }), e
        },
        get SUPPORT_SVG_DRAWING() {
            var e = RAe(document);
            return Object.defineProperty(Wn, "SUPPORT_SVG_DRAWING", {
                value: e
            }), e
        },
        get SUPPORT_FOREIGNOBJECT_DRAWING() {
            var e = typeof Array.from == "function" && typeof window.fetch == "function" ? NAe(document) : Promise.resolve(!1);
            return Object.defineProperty(Wn, "SUPPORT_FOREIGNOBJECT_DRAWING", {
                value: e
            }), e
        },
        get SUPPORT_CORS_IMAGES() {
            var e = HAe();
            return Object.defineProperty(Wn, "SUPPORT_CORS_IMAGES", {
                value: e
            }), e
        },
        get SUPPORT_RESPONSE_TYPE() {
            var e = MAe();
            return Object.defineProperty(Wn, "SUPPORT_RESPONSE_TYPE", {
                value: e
            }), e
        },
        get SUPPORT_CORS_XHR() {
            var e = "withCredentials" in new XMLHttpRequest;
            return Object.defineProperty(Wn, "SUPPORT_CORS_XHR", {
                value: e
            }), e
        },
        get SUPPORT_NATIVE_TEXT_SEGMENTATION() {
            var e = !!(typeof Intl < "u" && Intl.Segmenter);
            return Object.defineProperty(Wn, "SUPPORT_NATIVE_TEXT_SEGMENTATION", {
                value: e
            }), e
        }
    },
    Su = function() {
        function e(t, n) {
            this.text = t, this.bounds = n
        }
        return e
    }(),
    $Ae = function(e, t, n, r) {
        var A = GAe(t, n),
            i = [],
            s = 0;
        return A.forEach(function(o) {
            if (n.textDecorationLine.length || o.trim().length > 0)
                if (Wn.SUPPORT_RANGE_BOUNDS) {
                    var a = b3(r, s, o.length).getClientRects();
                    if (a.length > 1) {
                        var l = X5(o),
                            u = 0;
                        l.forEach(function(d) {
                            i.push(new Su(d, Pi.fromDOMRectList(e, b3(r, u + s, d.length).getClientRects()))), u += d.length
                        })
                    } else i.push(new Su(o, Pi.fromDOMRectList(e, a)))
                } else {
                    var f = r.splitText(o.length);
                    i.push(new Su(o, KAe(e, r))), r = f
                }
            else Wn.SUPPORT_RANGE_BOUNDS || (r = r.splitText(o.length));
            s += o.length
        }), i
    },
    KAe = function(e, t) {
        var n = t.ownerDocument;
        if (n) {
            var r = n.createElement("html2canvaswrapper");
            r.appendChild(t.cloneNode(!0));
            var A = t.parentNode;
            if (A) {
                A.replaceChild(r, t);
                var i = ed(e, r);
                return r.firstChild && A.replaceChild(r.firstChild, r), i
            }
        }
        return Pi.EMPTY
    },
    b3 = function(e, t, n) {
        var r = e.ownerDocument;
        if (!r) throw new Error("Node has no owner document");
        var A = r.createRange();
        return A.setStart(e, t), A.setEnd(e, t + n), A
    },
    X5 = function(e) {
        if (Wn.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
            var t = new Intl.Segmenter(void 0, {
                granularity: "grapheme"
            });
            return Array.from(t.segment(e)).map(function(n) {
                return n.segment
            })
        }
        return DAe(e)
    },
    VAe = function(e, t) {
        if (Wn.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
            var n = new Intl.Segmenter(void 0, {
                granularity: "word"
            });
            return Array.from(n.segment(e)).map(function(r) {
                return r.segment
            })
        }
        return WAe(e, t)
    },
    GAe = function(e, t) {
        return t.letterSpacing !== 0 ? X5(e) : VAe(e, t)
    },
    jAe = [32, 160, 4961, 65792, 65793, 4153, 4241],
    WAe = function(e, t) {
        for (var n = wte(e, {
                lineBreak: t.lineBreak,
                wordBreak: t.overflowWrap === "break-word" ? "break-word" : t.wordBreak
            }), r = [], A, i = function() {
                if (A.value) {
                    var s = A.value.slice(),
                        o = td(s),
                        a = "";
                    o.forEach(function(l) {
                        jAe.indexOf(l) === -1 ? a += pn(l) : (a.length && r.push(a), r.push(pn(l)), a = "")
                    }), a.length && r.push(a)
                }
            }; !(A = n.next()).done;) i();
        return r
    },
    zAe = function() {
        function e(t, n, r) {
            this.text = YAe(n.data, r.textTransform), this.textBounds = $Ae(t, this.text, r, n)
        }
        return e
    }(),
    YAe = function(e, t) {
        switch (t) {
            case 1:
                return e.toLowerCase();
            case 3:
                return e.replace(XAe, JAe);
            case 2:
                return e.toUpperCase();
            default:
                return e
        }
    },
    XAe = /(^|\s|:|-|\(|\))([a-z])/g,
    JAe = function(e, t, n) {
        return e.length > 0 ? t + n.toUpperCase() : e
    },
    xx = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.src = r.currentSrc || r.src, A.intrinsicWidth = r.naturalWidth, A.intrinsicHeight = r.naturalHeight, A.context.cache.addImage(A.src), A
        }
        return t
    }(JA),
    _x = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.canvas = r, A.intrinsicWidth = r.width, A.intrinsicHeight = r.height, A
        }
        return t
    }(JA),
    Fx = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this,
                i = new XMLSerializer,
                s = ed(n, r);
            return r.setAttribute("width", s.width + "px"), r.setAttribute("height", s.height + "px"), A.svg = "data:image/svg+xml," + encodeURIComponent(i.serializeToString(r)), A.intrinsicWidth = r.width.baseVal.value, A.intrinsicHeight = r.height.baseVal.value, A.context.cache.addImage(A.svg), A
        }
        return t
    }(JA),
    Sx = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.value = r.value, A
        }
        return t
    }(JA),
    wp = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.start = r.start, A.reversed = typeof r.reversed == "boolean" && r.reversed === !0, A
        }
        return t
    }(JA),
    qAe = [{
        type: 15,
        flags: 0,
        unit: "px",
        number: 3
    }],
    ZAe = [{
        type: 16,
        flags: 0,
        number: 50
    }],
    eie = function(e) {
        return e.width > e.height ? new Pi(e.left + (e.width - e.height) / 2, e.top, e.height, e.height) : e.width < e.height ? new Pi(e.left, e.top + (e.height - e.width) / 2, e.width, e.width) : e
    },
    tie = function(e) {
        var t = e.type === nie ? new Array(e.value.length + 1).join("•") : e.value;
        return t.length === 0 ? e.placeholder || "" : t
    },
    Hf = "checkbox",
    Mf = "radio",
    nie = "password",
    x3 = 707406591,
    J5 = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            switch (A.type = r.type.toLowerCase(), A.checked = r.checked, A.value = tie(r), (A.type === Hf || A.type === Mf) && (A.styles.backgroundColor = 3739148031, A.styles.borderTopColor = A.styles.borderRightColor = A.styles.borderBottomColor = A.styles.borderLeftColor = 2779096575, A.styles.borderTopWidth = A.styles.borderRightWidth = A.styles.borderBottomWidth = A.styles.borderLeftWidth = 1, A.styles.borderTopStyle = A.styles.borderRightStyle = A.styles.borderBottomStyle = A.styles.borderLeftStyle = 1, A.styles.backgroundClip = [0], A.styles.backgroundOrigin = [0], A.bounds = eie(A.bounds)), A.type) {
                case Hf:
                    A.styles.borderTopRightRadius = A.styles.borderTopLeftRadius = A.styles.borderBottomRightRadius = A.styles.borderBottomLeftRadius = qAe;
                    break;
                case Mf:
                    A.styles.borderTopRightRadius = A.styles.borderTopLeftRadius = A.styles.borderBottomRightRadius = A.styles.borderBottomLeftRadius = ZAe;
                    break
            }
            return A
        }
        return t
    }(JA),
    Tx = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this,
                i = r.options[r.selectedIndex || 0];
            return A.value = i && i.text || "", A
        }
        return t
    }(JA),
    Ix = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.value = r.value, A
        }
        return t
    }(JA),
    Qx = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            A.src = r.src, A.width = parseInt(r.width, 10) || 0, A.height = parseInt(r.height, 10) || 0, A.backgroundColor = A.styles.backgroundColor;
            try {
                if (r.contentWindow && r.contentWindow.document && r.contentWindow.document.documentElement) {
                    A.tree = Px(n, r.contentWindow.document.documentElement);
                    var i = r.contentWindow.document.documentElement ? _u(n, getComputedStyle(r.contentWindow.document.documentElement).backgroundColor) : _i.TRANSPARENT,
                        s = r.contentWindow.document.body ? _u(n, getComputedStyle(r.contentWindow.document.body).backgroundColor) : _i.TRANSPARENT;
                    A.backgroundColor = Ss(i) ? Ss(s) ? A.styles.backgroundColor : s : i
                }
            } catch {}
            return A
        }
        return t
    }(JA),
    rie = ["OL", "UL", "MENU"],
    rf = function(e, t, n, r) {
        for (var A = t.firstChild, i = void 0; A; A = i)
            if (i = A.nextSibling, Ox(A) && A.data.trim().length > 0) n.textNodes.push(new zAe(e, A, n.styles));
            else if (Sa(A))
            if (Hx(A) && A.assignedNodes) A.assignedNodes().forEach(function(o) {
                return rf(e, o, n, r)
            });
            else {
                var s = Ux(e, A);
                s.styles.isVisible() && (Aie(A, s, r) ? s.flags |= 4 : iie(s.styles) && (s.flags |= 2), rie.indexOf(A.tagName) !== -1 && (s.flags |= 8), n.elements.push(s), A.slot, A.shadowRoot ? rf(e, A.shadowRoot, s, r) : !Rf(A) && !Dx(A) && !Nf(A) && rf(e, A, s, r))
            }
    },
    Ux = function(e, t) {
        return Cp(t) ? new xx(e, t) : Lx(t) ? new _x(e, t) : Dx(t) ? new Fx(e, t) : sie(t) ? new Sx(e, t) : oie(t) ? new wp(e, t) : aie(t) ? new J5(e, t) : Nf(t) ? new Tx(e, t) : Rf(t) ? new Ix(e, t) : kx(t) ? new Qx(e, t) : new JA(e, t)
    },
    Px = function(e, t) {
        var n = Ux(e, t);
        return n.flags |= 4, rf(e, t, n, n), n
    },
    Aie = function(e, t, n) {
        return t.styles.isPositionedWithZIndex() || t.styles.opacity < 1 || t.styles.isTransformed() || q5(e) && n.styles.isTransparent()
    },
    iie = function(e) {
        return e.isPositioned() || e.isFloating()
    },
    Ox = function(e) {
        return e.nodeType === Node.TEXT_NODE
    },
    Sa = function(e) {
        return e.nodeType === Node.ELEMENT_NODE
    },
    yp = function(e) {
        return Sa(e) && typeof e.style < "u" && !Af(e)
    },
    Af = function(e) {
        return typeof e.className == "object"
    },
    sie = function(e) {
        return e.tagName === "LI"
    },
    oie = function(e) {
        return e.tagName === "OL"
    },
    aie = function(e) {
        return e.tagName === "INPUT"
    },
    lie = function(e) {
        return e.tagName === "HTML"
    },
    Dx = function(e) {
        return e.tagName === "svg"
    },
    q5 = function(e) {
        return e.tagName === "BODY"
    },
    Lx = function(e) {
        return e.tagName === "CANVAS"
    },
    _3 = function(e) {
        return e.tagName === "VIDEO"
    },
    Cp = function(e) {
        return e.tagName === "IMG"
    },
    kx = function(e) {
        return e.tagName === "IFRAME"
    },
    F3 = function(e) {
        return e.tagName === "STYLE"
    },
    uie = function(e) {
        return e.tagName === "SCRIPT"
    },
    Rf = function(e) {
        return e.tagName === "TEXTAREA"
    },
    Nf = function(e) {
        return e.tagName === "SELECT"
    },
    Hx = function(e) {
        return e.tagName === "SLOT"
    },
    S3 = function(e) {
        return e.tagName.indexOf("-") > 0
    },
    cie = function() {
        function e() {
            this.counters = {}
        }
        return e.prototype.getCounterValue = function(t) {
            var n = this.counters[t];
            return n && n.length ? n[n.length - 1] : 1
        }, e.prototype.getCounterValues = function(t) {
            var n = this.counters[t];
            return n || []
        }, e.prototype.pop = function(t) {
            var n = this;
            t.forEach(function(r) {
                return n.counters[r].pop()
            })
        }, e.prototype.parse = function(t) {
            var n = this,
                r = t.counterIncrement,
                A = t.counterReset,
                i = !0;
            r !== null && r.forEach(function(o) {
                var a = n.counters[o.counter];
                a && o.increment !== 0 && (i = !1, a.length || a.push(1), a[Math.max(0, a.length - 1)] += o.increment)
            });
            var s = [];
            return i && A.forEach(function(o) {
                var a = n.counters[o.counter];
                s.push(o.counter), a || (a = n.counters[o.counter] = []), a.push(o.reset)
            }), s
        }, e
    }(),
    T3 = {
        integers: [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],
        values: ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
    },
    I3 = {
        integers: [9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
        values: ["Ք", "Փ", "Ւ", "Ց", "Ր", "Տ", "Վ", "Ս", "Ռ", "Ջ", "Պ", "Չ", "Ո", "Շ", "Ն", "Յ", "Մ", "Ճ", "Ղ", "Ձ", "Հ", "Կ", "Ծ", "Խ", "Լ", "Ի", "Ժ", "Թ", "Ը", "Է", "Զ", "Ե", "Դ", "Գ", "Բ", "Ա"]
    },
    fie = {
        integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
        values: ["י׳", "ט׳", "ח׳", "ז׳", "ו׳", "ה׳", "ד׳", "ג׳", "ב׳", "א׳", "ת", "ש", "ר", "ק", "צ", "פ", "ע", "ס", "נ", "מ", "ל", "כ", "יט", "יח", "יז", "טז", "טו", "י", "ט", "ח", "ז", "ו", "ה", "ד", "ג", "ב", "א"]
    },
    die = {
        integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
        values: ["ჵ", "ჰ", "ჯ", "ჴ", "ხ", "ჭ", "წ", "ძ", "ც", "ჩ", "შ", "ყ", "ღ", "ქ", "ფ", "ჳ", "ტ", "ს", "რ", "ჟ", "პ", "ო", "ჲ", "ნ", "მ", "ლ", "კ", "ი", "თ", "ჱ", "ზ", "ვ", "ე", "დ", "გ", "ბ", "ა"]
    },
    va = function(e, t, n, r, A, i) {
        return e < t || e > n ? nc(e, A, i.length > 0) : r.integers.reduce(function(s, o, a) {
            for (; e >= o;) e -= o, s += r.values[a];
            return s
        }, "") + i
    },
    Mx = function(e, t, n, r) {
        var A = "";
        do n || e--, A = r(e) + A, e /= t; while (e * t >= t);
        return A
    },
    hn = function(e, t, n, r, A) {
        var i = n - t + 1;
        return (e < 0 ? "-" : "") + (Mx(Math.abs(e), i, r, function(s) {
            return pn(Math.floor(s % i) + t)
        }) + A)
    },
    so = function(e, t, n) {
        n === void 0 && (n = ". ");
        var r = t.length;
        return Mx(Math.abs(e), r, !1, function(A) {
            return t[Math.floor(A % r)]
        }) + n
    },
    ya = 1,
    As = 2,
    is = 4,
    su = 8,
    ui = function(e, t, n, r, A, i) {
        if (e < -9999 || e > 9999) return nc(e, 4, A.length > 0);
        var s = Math.abs(e),
            o = A;
        if (s === 0) return t[0] + o;
        for (var a = 0; s > 0 && a <= 4; a++) {
            var l = s % 10;
            l === 0 && Qn(i, ya) && o !== "" ? o = t[l] + o : l > 1 || l === 1 && a === 0 || l === 1 && a === 1 && Qn(i, As) || l === 1 && a === 1 && Qn(i, is) && e > 100 || l === 1 && a > 1 && Qn(i, su) ? o = t[l] + (a > 0 ? n[a - 1] : "") + o : l === 1 && a > 0 && (o = n[a - 1] + o), s = Math.floor(s / 10)
        }
        return (e < 0 ? r : "") + o
    },
    Q3 = "十百千萬",
    U3 = "拾佰仟萬",
    P3 = "マイナス",
    E2 = "마이너스",
    nc = function(e, t, n) {
        var r = n ? ". " : "",
            A = n ? "、" : "",
            i = n ? ", " : "",
            s = n ? " " : "";
        switch (t) {
            case 0:
                return "•" + s;
            case 1:
                return "◦" + s;
            case 2:
                return "◾" + s;
            case 5:
                var o = hn(e, 48, 57, !0, r);
                return o.length < 4 ? "0" + o : o;
            case 4:
                return so(e, "〇一二三四五六七八九", A);
            case 6:
                return va(e, 1, 3999, T3, 3, r).toLowerCase();
            case 7:
                return va(e, 1, 3999, T3, 3, r);
            case 8:
                return hn(e, 945, 969, !1, r);
            case 9:
                return hn(e, 97, 122, !1, r);
            case 10:
                return hn(e, 65, 90, !1, r);
            case 11:
                return hn(e, 1632, 1641, !0, r);
            case 12:
            case 49:
                return va(e, 1, 9999, I3, 3, r);
            case 35:
                return va(e, 1, 9999, I3, 3, r).toLowerCase();
            case 13:
                return hn(e, 2534, 2543, !0, r);
            case 14:
            case 30:
                return hn(e, 6112, 6121, !0, r);
            case 15:
                return so(e, "子丑寅卯辰巳午未申酉戌亥", A);
            case 16:
                return so(e, "甲乙丙丁戊己庚辛壬癸", A);
            case 17:
            case 48:
                return ui(e, "零一二三四五六七八九", Q3, "負", A, As | is | su);
            case 47:
                return ui(e, "零壹貳參肆伍陸柒捌玖", U3, "負", A, ya | As | is | su);
            case 42:
                return ui(e, "零一二三四五六七八九", Q3, "负", A, As | is | su);
            case 41:
                return ui(e, "零壹贰叁肆伍陆柒捌玖", U3, "负", A, ya | As | is | su);
            case 26:
                return ui(e, "〇一二三四五六七八九", "十百千万", P3, A, 0);
            case 25:
                return ui(e, "零壱弐参四伍六七八九", "拾百千万", P3, A, ya | As | is);
            case 31:
                return ui(e, "영일이삼사오육칠팔구", "십백천만", E2, i, ya | As | is);
            case 33:
                return ui(e, "零一二三四五六七八九", "十百千萬", E2, i, 0);
            case 32:
                return ui(e, "零壹貳參四五六七八九", "拾百千", E2, i, ya | As | is);
            case 18:
                return hn(e, 2406, 2415, !0, r);
            case 20:
                return va(e, 1, 19999, die, 3, r);
            case 21:
                return hn(e, 2790, 2799, !0, r);
            case 22:
                return hn(e, 2662, 2671, !0, r);
            case 22:
                return va(e, 1, 10999, fie, 3, r);
            case 23:
                return so(e, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");
            case 24:
                return so(e, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");
            case 27:
                return hn(e, 3302, 3311, !0, r);
            case 28:
                return so(e, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", A);
            case 29:
                return so(e, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", A);
            case 34:
                return hn(e, 3792, 3801, !0, r);
            case 37:
                return hn(e, 6160, 6169, !0, r);
            case 38:
                return hn(e, 4160, 4169, !0, r);
            case 39:
                return hn(e, 2918, 2927, !0, r);
            case 40:
                return hn(e, 1776, 1785, !0, r);
            case 43:
                return hn(e, 3046, 3055, !0, r);
            case 44:
                return hn(e, 3174, 3183, !0, r);
            case 45:
                return hn(e, 3664, 3673, !0, r);
            case 46:
                return hn(e, 3872, 3881, !0, r);
            case 3:
            default:
                return hn(e, 48, 57, !0, r)
        }
    },
    Rx = "data-html2canvas-ignore",
    O3 = function() {
        function e(t, n, r) {
            if (this.context = t, this.options = r, this.scrolledElements = [], this.referenceElement = n, this.counters = new cie, this.quoteDepth = 0, !n.ownerDocument) throw new Error("Cloned element does not have an owner document");
            this.documentElement = this.cloneNode(n.ownerDocument.documentElement, !1)
        }
        return e.prototype.toIFrame = function(t, n) {
            var r = this,
                A = hie(t, n);
            if (!A.contentWindow) return Promise.reject("Unable to find iframe window");
            var i = t.defaultView.pageXOffset,
                s = t.defaultView.pageYOffset,
                o = A.contentWindow,
                a = o.document,
                l = vie(A).then(function() {
                    return or(r, void 0, void 0, function() {
                        var u, f;
                        return Jn(this, function(d) {
                            switch (d.label) {
                                case 0:
                                    return this.scrolledElements.forEach(yie), o && (o.scrollTo(n.left, n.top), /(iPad|iPhone|iPod)/g.test(navigator.userAgent) && (o.scrollY !== n.top || o.scrollX !== n.left) && (this.context.logger.warn("Unable to restore scroll position for cloned document"), this.context.windowBounds = this.context.windowBounds.add(o.scrollX - n.left, o.scrollY - n.top, 0, 0))), u = this.options.onclone, f = this.clonedReferenceElement, typeof f > "u" ? [2, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")] : a.fonts && a.fonts.ready ? [4, a.fonts.ready] : [3, 2];
                                case 1:
                                    d.sent(), d.label = 2;
                                case 2:
                                    return /(AppleWebKit)/g.test(navigator.userAgent) ? [4, gie(a)] : [3, 4];
                                case 3:
                                    d.sent(), d.label = 4;
                                case 4:
                                    return typeof u == "function" ? [2, Promise.resolve().then(function() {
                                        return u(a, f)
                                    }).then(function() {
                                        return A
                                    })] : [2, A]
                            }
                        })
                    })
                });
            return a.open(), a.write(Bie(document.doctype) + "<html></html>"), wie(this.referenceElement.ownerDocument, i, s), a.replaceChild(a.adoptNode(this.documentElement), a.documentElement), a.close(), l
        }, e.prototype.createElementClone = function(t) {
            if (mp(t, 2)) debugger;
            if (Lx(t)) return this.createCanvasClone(t);
            if (_3(t)) return this.createVideoClone(t);
            if (F3(t)) return this.createStyleClone(t);
            var n = t.cloneNode(!1);
            return Cp(n) && (Cp(t) && t.currentSrc && t.currentSrc !== t.src && (n.src = t.currentSrc, n.srcset = ""), n.loading === "lazy" && (n.loading = "eager")), S3(n) ? this.createCustomElementClone(n) : n
        }, e.prototype.createCustomElementClone = function(t) {
            var n = document.createElement("html2canvascustomelement");
            return b2(t.style, n), n
        }, e.prototype.createStyleClone = function(t) {
            try {
                var n = t.sheet;
                if (n && n.cssRules) {
                    var r = [].slice.call(n.cssRules, 0).reduce(function(i, s) {
                            return s && typeof s.cssText == "string" ? i + s.cssText : i
                        }, ""),
                        A = t.cloneNode(!1);
                    return A.textContent = r, A
                }
            } catch (i) {
                if (this.context.logger.error("Unable to access cssRules property", i), i.name !== "SecurityError") throw i
            }
            return t.cloneNode(!1)
        }, e.prototype.createCanvasClone = function(t) {
            var n;
            if (this.options.inlineImages && t.ownerDocument) {
                var r = t.ownerDocument.createElement("img");
                try {
                    return r.src = t.toDataURL(), r
                } catch {
                    this.context.logger.info("Unable to inline canvas contents, canvas is tainted", t)
                }
            }
            var A = t.cloneNode(!1);
            try {
                A.width = t.width, A.height = t.height;
                var i = t.getContext("2d"),
                    s = A.getContext("2d");
                if (s)
                    if (!this.options.allowTaint && i) s.putImageData(i.getImageData(0, 0, t.width, t.height), 0, 0);
                    else {
                        var o = (n = t.getContext("webgl2")) !== null && n !== void 0 ? n : t.getContext("webgl");
                        if (o) {
                            var a = o.getContextAttributes();
                            (a == null ? void 0 : a.preserveDrawingBuffer) === !1 && this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false", t)
                        }
                        s.drawImage(t, 0, 0)
                    }
                return A
            } catch {
                this.context.logger.info("Unable to clone canvas as it is tainted", t)
            }
            return A
        }, e.prototype.createVideoClone = function(t) {
            var n = t.ownerDocument.createElement("canvas");
            n.width = t.offsetWidth, n.height = t.offsetHeight;
            var r = n.getContext("2d");
            try {
                return r && (r.drawImage(t, 0, 0, n.width, n.height), this.options.allowTaint || r.getImageData(0, 0, n.width, n.height)), n
            } catch {
                this.context.logger.info("Unable to clone video as it is tainted", t)
            }
            var A = t.ownerDocument.createElement("canvas");
            return A.width = t.offsetWidth, A.height = t.offsetHeight, A
        }, e.prototype.appendChildNode = function(t, n, r) {
            (!Sa(n) || !uie(n) && !n.hasAttribute(Rx) && (typeof this.options.ignoreElements != "function" || !this.options.ignoreElements(n))) && (!this.options.copyStyles || !Sa(n) || !F3(n)) && t.appendChild(this.cloneNode(n, r))
        }, e.prototype.cloneChildNodes = function(t, n, r) {
            for (var A = this, i = t.shadowRoot ? t.shadowRoot.firstChild : t.firstChild; i; i = i.nextSibling)
                if (Sa(i) && Hx(i) && typeof i.assignedNodes == "function") {
                    var s = i.assignedNodes();
                    s.length && s.forEach(function(o) {
                        return A.appendChildNode(n, o, r)
                    })
                } else this.appendChildNode(n, i, r)
        }, e.prototype.cloneNode = function(t, n) {
            if (Ox(t)) return document.createTextNode(t.data);
            if (!t.ownerDocument) return t.cloneNode(!1);
            var r = t.ownerDocument.defaultView;
            if (r && Sa(t) && (yp(t) || Af(t))) {
                var A = this.createElementClone(t);
                A.style.transitionProperty = "none";
                var i = r.getComputedStyle(t),
                    s = r.getComputedStyle(t, ":before"),
                    o = r.getComputedStyle(t, ":after");
                this.referenceElement === t && yp(A) && (this.clonedReferenceElement = A), q5(A) && bie(A);
                var a = this.counters.parse(new c3(this.context, i)),
                    l = this.resolvePseudoContent(t, A, s, Tu.BEFORE);
                S3(t) && (n = !0), _3(t) || this.cloneChildNodes(t, A, n), l && A.insertBefore(l, A.firstChild);
                var u = this.resolvePseudoContent(t, A, o, Tu.AFTER);
                return u && A.appendChild(u), this.counters.pop(a), (i && (this.options.copyStyles || Af(t)) && !kx(t) || n) && b2(i, A), (t.scrollTop !== 0 || t.scrollLeft !== 0) && this.scrolledElements.push([A, t.scrollLeft, t.scrollTop]), (Rf(t) || Nf(t)) && (Rf(A) || Nf(A)) && (A.value = t.value), A
            }
            return t.cloneNode(!1)
        }, e.prototype.resolvePseudoContent = function(t, n, r, A) {
            var i = this;
            if (r) {
                var s = r.content,
                    o = n.ownerDocument;
                if (!(!o || !s || s === "none" || s === "-moz-alt-content" || r.display === "none")) {
                    this.counters.parse(new c3(this.context, r));
                    var a = new sAe(this.context, r),
                        l = o.createElement("html2canvaspseudoelement");
                    b2(r, l), a.content.forEach(function(f) {
                        if (f.type === 0) l.appendChild(o.createTextNode(f.value));
                        else if (f.type === 22) {
                            var d = o.createElement("img");
                            d.src = f.value, d.style.opacity = "1", l.appendChild(d)
                        } else if (f.type === 18) {
                            if (f.name === "attr") {
                                var p = f.values.filter(Wt);
                                p.length && l.appendChild(o.createTextNode(t.getAttribute(p[0].value) || ""))
                            } else if (f.name === "counter") {
                                var v = f.values.filter(il),
                                    B = v[0],
                                    C = v[1];
                                if (B && Wt(B)) {
                                    var w = i.counters.getCounterValue(B.value),
                                        m = C && Wt(C) ? vp.parse(i.context, C.value) : 3;
                                    l.appendChild(o.createTextNode(nc(w, m, !1)))
                                }
                            } else if (f.name === "counters") {
                                var E = f.values.filter(il),
                                    B = E[0],
                                    y = E[1],
                                    C = E[2];
                                if (B && Wt(B)) {
                                    var x = i.counters.getCounterValues(B.value),
                                        F = C && Wt(C) ? vp.parse(i.context, C.value) : 3,
                                        Q = y && y.type === 0 ? y.value : "",
                                        P = x.map(function(_) {
                                            return nc(_, F, !1)
                                        }).join(Q);
                                    l.appendChild(o.createTextNode(P))
                                }
                            }
                        } else if (f.type === 20) switch (f.value) {
                            case "open-quote":
                                l.appendChild(o.createTextNode(u3(a.quotes, i.quoteDepth++, !0)));
                                break;
                            case "close-quote":
                                l.appendChild(o.createTextNode(u3(a.quotes, --i.quoteDepth, !1)));
                                break;
                            default:
                                l.appendChild(o.createTextNode(f.value))
                        }
                    }), l.className = Ep + " " + bp;
                    var u = A === Tu.BEFORE ? " " + Ep : " " + bp;
                    return Af(n) ? n.className.baseValue += u : n.className += u, l
                }
            }
        }, e.destroy = function(t) {
            return t.parentNode ? (t.parentNode.removeChild(t), !0) : !1
        }, e
    }(),
    Tu;
(function(e) {
    e[e.BEFORE = 0] = "BEFORE", e[e.AFTER = 1] = "AFTER"
})(Tu || (Tu = {}));
var hie = function(e, t) {
        var n = e.createElement("iframe");
        return n.className = "html2canvas-container", n.style.visibility = "hidden", n.style.position = "fixed", n.style.left = "-10000px", n.style.top = "0px", n.style.border = "0", n.width = t.width.toString(), n.height = t.height.toString(), n.scrolling = "no", n.setAttribute(Rx, "true"), e.body.appendChild(n), n
    },
    pie = function(e) {
        return new Promise(function(t) {
            if (e.complete) {
                t();
                return
            }
            if (!e.src) {
                t();
                return
            }
            e.onload = t, e.onerror = t
        })
    },
    gie = function(e) {
        return Promise.all([].slice.call(e.images, 0).map(pie))
    },
    vie = function(e) {
        return new Promise(function(t, n) {
            var r = e.contentWindow;
            if (!r) return n("No window assigned for iframe");
            var A = r.document;
            r.onload = e.onload = function() {
                r.onload = e.onload = null;
                var i = setInterval(function() {
                    A.body.childNodes.length > 0 && A.readyState === "complete" && (clearInterval(i), t(e))
                }, 50)
            }
        })
    },
    mie = ["all", "d", "content"],
    b2 = function(e, t) {
        for (var n = e.length - 1; n >= 0; n--) {
            var r = e.item(n);
            mie.indexOf(r) === -1 && t.style.setProperty(r, e.getPropertyValue(r))
        }
        return t
    },
    Bie = function(e) {
        var t = "";
        return e && (t += "<!DOCTYPE ", e.name && (t += e.name), e.internalSubset && (t += e.internalSubset), e.publicId && (t += '"' + e.publicId + '"'), e.systemId && (t += '"' + e.systemId + '"'), t += ">"), t
    },
    wie = function(e, t, n) {
        e && e.defaultView && (t !== e.defaultView.pageXOffset || n !== e.defaultView.pageYOffset) && e.defaultView.scrollTo(t, n)
    },
    yie = function(e) {
        var t = e[0],
            n = e[1],
            r = e[2];
        t.scrollLeft = n, t.scrollTop = r
    },
    Cie = ":before",
    Eie = ":after",
    Ep = "___html2canvas___pseudoelement_before",
    bp = "___html2canvas___pseudoelement_after",
    D3 = `{
    content: "" !important;
    display: none !important;
}`,
    bie = function(e) {
        xie(e, "." + Ep + Cie + D3 + `
         .` + bp + Eie + D3)
    },
    xie = function(e, t) {
        var n = e.ownerDocument;
        if (n) {
            var r = n.createElement("style");
            r.textContent = t, e.appendChild(r)
        }
    },
    Nx = function() {
        function e() {}
        return e.getOrigin = function(t) {
            var n = e._link;
            return n ? (n.href = t, n.href = n.href, n.protocol + n.hostname + n.port) : "about:blank"
        }, e.isSameOrigin = function(t) {
            return e.getOrigin(t) === e._origin
        }, e.setContext = function(t) {
            e._link = t.document.createElement("a"), e._origin = e.getOrigin(t.location.href)
        }, e._origin = "about:blank", e
    }(),
    _ie = function() {
        function e(t, n) {
            this.context = t, this._options = n, this._cache = {}
        }
        return e.prototype.addImage = function(t) {
            var n = Promise.resolve();
            return this.has(t) || (_2(t) || Iie(t)) && (this._cache[t] = this.loadImage(t)).catch(function() {}), n
        }, e.prototype.match = function(t) {
            return this._cache[t]
        }, e.prototype.loadImage = function(t) {
            return or(this, void 0, void 0, function() {
                var n, r, A, i, s = this;
                return Jn(this, function(o) {
                    switch (o.label) {
                        case 0:
                            return n = Nx.isSameOrigin(t), r = !x2(t) && this._options.useCORS === !0 && Wn.SUPPORT_CORS_IMAGES && !n, A = !x2(t) && !n && !_2(t) && typeof this._options.proxy == "string" && Wn.SUPPORT_CORS_XHR && !r, !n && this._options.allowTaint === !1 && !x2(t) && !_2(t) && !A && !r ? [2] : (i = t, A ? [4, this.proxy(i)] : [3, 2]);
                        case 1:
                            i = o.sent(), o.label = 2;
                        case 2:
                            return this.context.logger.debug("Added image " + t.substring(0, 256)), [4, new Promise(function(a, l) {
                                var u = new Image;
                                u.onload = function() {
                                    return a(u)
                                }, u.onerror = l, (Qie(i) || r) && (u.crossOrigin = "anonymous"), u.src = i, u.complete === !0 && setTimeout(function() {
                                    return a(u)
                                }, 500), s._options.imageTimeout > 0 && setTimeout(function() {
                                    return l("Timed out (" + s._options.imageTimeout + "ms) loading image")
                                }, s._options.imageTimeout)
                            })];
                        case 3:
                            return [2, o.sent()]
                    }
                })
            })
        }, e.prototype.has = function(t) {
            return typeof this._cache[t] < "u"
        }, e.prototype.keys = function() {
            return Promise.resolve(Object.keys(this._cache))
        }, e.prototype.proxy = function(t) {
            var n = this,
                r = this._options.proxy;
            if (!r) throw new Error("No proxy defined");
            var A = t.substring(0, 256);
            return new Promise(function(i, s) {
                var o = Wn.SUPPORT_RESPONSE_TYPE ? "blob" : "text",
                    a = new XMLHttpRequest;
                a.onload = function() {
                    if (a.status === 200)
                        if (o === "text") i(a.response);
                        else {
                            var f = new FileReader;
                            f.addEventListener("load", function() {
                                return i(f.result)
                            }, !1), f.addEventListener("error", function(d) {
                                return s(d)
                            }, !1), f.readAsDataURL(a.response)
                        }
                    else s("Failed to proxy resource " + A + " with status code " + a.status)
                }, a.onerror = s;
                var l = r.indexOf("?") > -1 ? "&" : "?";
                if (a.open("GET", "" + r + l + "url=" + encodeURIComponent(t) + "&responseType=" + o), o !== "text" && a instanceof XMLHttpRequest && (a.responseType = o), n._options.imageTimeout) {
                    var u = n._options.imageTimeout;
                    a.timeout = u, a.ontimeout = function() {
                        return s("Timed out (" + u + "ms) proxying " + A)
                    }
                }
                a.send()
            })
        }, e
    }(),
    Fie = /^data:image\/svg\+xml/i,
    Sie = /^data:image\/.*;base64,/i,
    Tie = /^data:image\/.*/i,
    Iie = function(e) {
        return Wn.SUPPORT_SVG_DRAWING || !Uie(e)
    },
    x2 = function(e) {
        return Tie.test(e)
    },
    Qie = function(e) {
        return Sie.test(e)
    },
    _2 = function(e) {
        return e.substr(0, 4) === "blob"
    },
    Uie = function(e) {
        return e.substr(-3).toLowerCase() === "svg" || Fie.test(e)
    },
    Je = function() {
        function e(t, n) {
            this.type = 0, this.x = t, this.y = n
        }
        return e.prototype.add = function(t, n) {
            return new e(this.x + t, this.y + n)
        }, e
    }(),
    ma = function(e, t, n) {
        return new Je(e.x + (t.x - e.x) * n, e.y + (t.y - e.y) * n)
    },
    H0 = function() {
        function e(t, n, r, A) {
            this.type = 1, this.start = t, this.startControl = n, this.endControl = r, this.end = A
        }
        return e.prototype.subdivide = function(t, n) {
            var r = ma(this.start, this.startControl, t),
                A = ma(this.startControl, this.endControl, t),
                i = ma(this.endControl, this.end, t),
                s = ma(r, A, t),
                o = ma(A, i, t),
                a = ma(s, o, t);
            return n ? new e(this.start, r, s, a) : new e(a, o, i, this.end)
        }, e.prototype.add = function(t, n) {
            return new e(this.start.add(t, n), this.startControl.add(t, n), this.endControl.add(t, n), this.end.add(t, n))
        }, e.prototype.reverse = function() {
            return new e(this.end, this.endControl, this.startControl, this.start)
        }, e
    }(),
    tA = function(e) {
        return e.type === 1
    },
    Pie = function() {
        function e(t) {
            var n = t.styles,
                r = t.bounds,
                A = Au(n.borderTopLeftRadius, r.width, r.height),
                i = A[0],
                s = A[1],
                o = Au(n.borderTopRightRadius, r.width, r.height),
                a = o[0],
                l = o[1],
                u = Au(n.borderBottomRightRadius, r.width, r.height),
                f = u[0],
                d = u[1],
                p = Au(n.borderBottomLeftRadius, r.width, r.height),
                v = p[0],
                B = p[1],
                C = [];
            C.push((i + a) / r.width), C.push((v + f) / r.width), C.push((s + B) / r.height), C.push((l + d) / r.height);
            var w = Math.max.apply(Math, C);
            w > 1 && (i /= w, s /= w, a /= w, l /= w, f /= w, d /= w, v /= w, B /= w);
            var m = r.width - a,
                E = r.height - d,
                y = r.width - f,
                x = r.height - B,
                F = n.borderTopWidth,
                Q = n.borderRightWidth,
                P = n.borderBottomWidth,
                L = n.borderLeftWidth,
                I = qt(n.paddingTop, t.bounds.width),
                _ = qt(n.paddingRight, t.bounds.width),
                D = qt(n.paddingBottom, t.bounds.width),
                N = qt(n.paddingLeft, t.bounds.width);
            this.topLeftBorderDoubleOuterBox = i > 0 || s > 0 ? tn(r.left + L / 3, r.top + F / 3, i - L / 3, s - F / 3, Rt.TOP_LEFT) : new Je(r.left + L / 3, r.top + F / 3), this.topRightBorderDoubleOuterBox = i > 0 || s > 0 ? tn(r.left + m, r.top + F / 3, a - Q / 3, l - F / 3, Rt.TOP_RIGHT) : new Je(r.left + r.width - Q / 3, r.top + F / 3), this.bottomRightBorderDoubleOuterBox = f > 0 || d > 0 ? tn(r.left + y, r.top + E, f - Q / 3, d - P / 3, Rt.BOTTOM_RIGHT) : new Je(r.left + r.width - Q / 3, r.top + r.height - P / 3), this.bottomLeftBorderDoubleOuterBox = v > 0 || B > 0 ? tn(r.left + L / 3, r.top + x, v - L / 3, B - P / 3, Rt.BOTTOM_LEFT) : new Je(r.left + L / 3, r.top + r.height - P / 3), this.topLeftBorderDoubleInnerBox = i > 0 || s > 0 ? tn(r.left + L * 2 / 3, r.top + F * 2 / 3, i - L * 2 / 3, s - F * 2 / 3, Rt.TOP_LEFT) : new Je(r.left + L * 2 / 3, r.top + F * 2 / 3), this.topRightBorderDoubleInnerBox = i > 0 || s > 0 ? tn(r.left + m, r.top + F * 2 / 3, a - Q * 2 / 3, l - F * 2 / 3, Rt.TOP_RIGHT) : new Je(r.left + r.width - Q * 2 / 3, r.top + F * 2 / 3), this.bottomRightBorderDoubleInnerBox = f > 0 || d > 0 ? tn(r.left + y, r.top + E, f - Q * 2 / 3, d - P * 2 / 3, Rt.BOTTOM_RIGHT) : new Je(r.left + r.width - Q * 2 / 3, r.top + r.height - P * 2 / 3), this.bottomLeftBorderDoubleInnerBox = v > 0 || B > 0 ? tn(r.left + L * 2 / 3, r.top + x, v - L * 2 / 3, B - P * 2 / 3, Rt.BOTTOM_LEFT) : new Je(r.left + L * 2 / 3, r.top + r.height - P * 2 / 3), this.topLeftBorderStroke = i > 0 || s > 0 ? tn(r.left + L / 2, r.top + F / 2, i - L / 2, s - F / 2, Rt.TOP_LEFT) : new Je(r.left + L / 2, r.top + F / 2), this.topRightBorderStroke = i > 0 || s > 0 ? tn(r.left + m, r.top + F / 2, a - Q / 2, l - F / 2, Rt.TOP_RIGHT) : new Je(r.left + r.width - Q / 2, r.top + F / 2), this.bottomRightBorderStroke = f > 0 || d > 0 ? tn(r.left + y, r.top + E, f - Q / 2, d - P / 2, Rt.BOTTOM_RIGHT) : new Je(r.left + r.width - Q / 2, r.top + r.height - P / 2), this.bottomLeftBorderStroke = v > 0 || B > 0 ? tn(r.left + L / 2, r.top + x, v - L / 2, B - P / 2, Rt.BOTTOM_LEFT) : new Je(r.left + L / 2, r.top + r.height - P / 2), this.topLeftBorderBox = i > 0 || s > 0 ? tn(r.left, r.top, i, s, Rt.TOP_LEFT) : new Je(r.left, r.top), this.topRightBorderBox = a > 0 || l > 0 ? tn(r.left + m, r.top, a, l, Rt.TOP_RIGHT) : new Je(r.left + r.width, r.top), this.bottomRightBorderBox = f > 0 || d > 0 ? tn(r.left + y, r.top + E, f, d, Rt.BOTTOM_RIGHT) : new Je(r.left + r.width, r.top + r.height), this.bottomLeftBorderBox = v > 0 || B > 0 ? tn(r.left, r.top + x, v, B, Rt.BOTTOM_LEFT) : new Je(r.left, r.top + r.height), this.topLeftPaddingBox = i > 0 || s > 0 ? tn(r.left + L, r.top + F, Math.max(0, i - L), Math.max(0, s - F), Rt.TOP_LEFT) : new Je(r.left + L, r.top + F), this.topRightPaddingBox = a > 0 || l > 0 ? tn(r.left + Math.min(m, r.width - Q), r.top + F, m > r.width + Q ? 0 : Math.max(0, a - Q), Math.max(0, l - F), Rt.TOP_RIGHT) : new Je(r.left + r.width - Q, r.top + F), this.bottomRightPaddingBox = f > 0 || d > 0 ? tn(r.left + Math.min(y, r.width - L), r.top + Math.min(E, r.height - P), Math.max(0, f - Q), Math.max(0, d - P), Rt.BOTTOM_RIGHT) : new Je(r.left + r.width - Q, r.top + r.height - P), this.bottomLeftPaddingBox = v > 0 || B > 0 ? tn(r.left + L, r.top + Math.min(x, r.height - P), Math.max(0, v - L), Math.max(0, B - P), Rt.BOTTOM_LEFT) : new Je(r.left + L, r.top + r.height - P), this.topLeftContentBox = i > 0 || s > 0 ? tn(r.left + L + N, r.top + F + I, Math.max(0, i - (L + N)), Math.max(0, s - (F + I)), Rt.TOP_LEFT) : new Je(r.left + L + N, r.top + F + I), this.topRightContentBox = a > 0 || l > 0 ? tn(r.left + Math.min(m, r.width + L + N), r.top + F + I, m > r.width + L + N ? 0 : a - L + N, l - (F + I), Rt.TOP_RIGHT) : new Je(r.left + r.width - (Q + _), r.top + F + I), this.bottomRightContentBox = f > 0 || d > 0 ? tn(r.left + Math.min(y, r.width - (L + N)), r.top + Math.min(E, r.height + F + I), Math.max(0, f - (Q + _)), d - (P + D), Rt.BOTTOM_RIGHT) : new Je(r.left + r.width - (Q + _), r.top + r.height - (P + D)), this.bottomLeftContentBox = v > 0 || B > 0 ? tn(r.left + L + N, r.top + x, Math.max(0, v - (L + N)), B - (P + D), Rt.BOTTOM_LEFT) : new Je(r.left + L + N, r.top + r.height - (P + D))
        }
        return e
    }(),
    Rt;
(function(e) {
    e[e.TOP_LEFT = 0] = "TOP_LEFT", e[e.TOP_RIGHT = 1] = "TOP_RIGHT", e[e.BOTTOM_RIGHT = 2] = "BOTTOM_RIGHT", e[e.BOTTOM_LEFT = 3] = "BOTTOM_LEFT"
})(Rt || (Rt = {}));
var tn = function(e, t, n, r, A) {
        var i = 4 * ((Math.sqrt(2) - 1) / 3),
            s = n * i,
            o = r * i,
            a = e + n,
            l = t + r;
        switch (A) {
            case Rt.TOP_LEFT:
                return new H0(new Je(e, l), new Je(e, l - o), new Je(a - s, t), new Je(a, t));
            case Rt.TOP_RIGHT:
                return new H0(new Je(e, t), new Je(e + s, t), new Je(a, l - o), new Je(a, l));
            case Rt.BOTTOM_RIGHT:
                return new H0(new Je(a, t), new Je(a, t + o), new Je(e + s, l), new Je(e, l));
            case Rt.BOTTOM_LEFT:
            default:
                return new H0(new Je(a, l), new Je(a - s, l), new Je(e, t + o), new Je(e, t))
        }
    },
    $f = function(e) {
        return [e.topLeftBorderBox, e.topRightBorderBox, e.bottomRightBorderBox, e.bottomLeftBorderBox]
    },
    Oie = function(e) {
        return [e.topLeftContentBox, e.topRightContentBox, e.bottomRightContentBox, e.bottomLeftContentBox]
    },
    Kf = function(e) {
        return [e.topLeftPaddingBox, e.topRightPaddingBox, e.bottomRightPaddingBox, e.bottomLeftPaddingBox]
    },
    Die = function() {
        function e(t, n, r) {
            this.offsetX = t, this.offsetY = n, this.matrix = r, this.type = 0, this.target = 6
        }
        return e
    }(),
    M0 = function() {
        function e(t, n) {
            this.path = t, this.target = n, this.type = 1
        }
        return e
    }(),
    Lie = function() {
        function e(t) {
            this.opacity = t, this.type = 2, this.target = 6
        }
        return e
    }(),
    kie = function(e) {
        return e.type === 0
    },
    $x = function(e) {
        return e.type === 1
    },
    Hie = function(e) {
        return e.type === 2
    },
    L3 = function(e, t) {
        return e.length === t.length ? e.some(function(n, r) {
            return n === t[r]
        }) : !1
    },
    Mie = function(e, t, n, r, A) {
        return e.map(function(i, s) {
            switch (s) {
                case 0:
                    return i.add(t, n);
                case 1:
                    return i.add(t + r, n);
                case 2:
                    return i.add(t + r, n + A);
                case 3:
                    return i.add(t, n + A)
            }
            return i
        })
    },
    Kx = function() {
        function e(t) {
            this.element = t, this.inlineLevel = [], this.nonInlineLevel = [], this.negativeZIndex = [], this.zeroOrAutoZIndexOrTransformedOrOpacity = [], this.positiveZIndex = [], this.nonPositionedFloats = [], this.nonPositionedInlineLevel = []
        }
        return e
    }(),
    Vx = function() {
        function e(t, n) {
            if (this.container = t, this.parent = n, this.effects = [], this.curves = new Pie(this.container), this.container.styles.opacity < 1 && this.effects.push(new Lie(this.container.styles.opacity)), this.container.styles.transform !== null) {
                var r = this.container.bounds.left + this.container.styles.transformOrigin[0].number,
                    A = this.container.bounds.top + this.container.styles.transformOrigin[1].number,
                    i = this.container.styles.transform;
                this.effects.push(new Die(r, A, i))
            }
            if (this.container.styles.overflowX !== 0) {
                var s = $f(this.curves),
                    o = Kf(this.curves);
                L3(s, o) ? this.effects.push(new M0(s, 6)) : (this.effects.push(new M0(s, 2)), this.effects.push(new M0(o, 4)))
            }
        }
        return e.prototype.getEffects = function(t) {
            for (var n = [2, 3].indexOf(this.container.styles.position) === -1, r = this.parent, A = this.effects.slice(0); r;) {
                var i = r.effects.filter(function(a) {
                    return !$x(a)
                });
                if (n || r.container.styles.position !== 0 || !r.parent) {
                    if (A.unshift.apply(A, i), n = [2, 3].indexOf(r.container.styles.position) === -1, r.container.styles.overflowX !== 0) {
                        var s = $f(r.curves),
                            o = Kf(r.curves);
                        L3(s, o) || A.unshift(new M0(o, 6))
                    }
                } else A.unshift.apply(A, i);
                r = r.parent
            }
            return A.filter(function(a) {
                return Qn(a.target, t)
            })
        }, e
    }(),
    xp = function(e, t, n, r) {
        e.container.elements.forEach(function(A) {
            var i = Qn(A.flags, 4),
                s = Qn(A.flags, 2),
                o = new Vx(A, e);
            Qn(A.styles.display, 2048) && r.push(o);
            var a = Qn(A.flags, 8) ? [] : r;
            if (i || s) {
                var l = i || A.styles.isPositioned() ? n : t,
                    u = new Kx(o);
                if (A.styles.isPositioned() || A.styles.opacity < 1 || A.styles.isTransformed()) {
                    var f = A.styles.zIndex.order;
                    if (f < 0) {
                        var d = 0;
                        l.negativeZIndex.some(function(v, B) {
                            return f > v.element.container.styles.zIndex.order ? (d = B, !1) : d > 0
                        }), l.negativeZIndex.splice(d, 0, u)
                    } else if (f > 0) {
                        var p = 0;
                        l.positiveZIndex.some(function(v, B) {
                            return f >= v.element.container.styles.zIndex.order ? (p = B + 1, !1) : p > 0
                        }), l.positiveZIndex.splice(p, 0, u)
                    } else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(u)
                } else A.styles.isFloating() ? l.nonPositionedFloats.push(u) : l.nonPositionedInlineLevel.push(u);
                xp(o, u, i ? u : n, a)
            } else A.styles.isInlineLevel() ? t.inlineLevel.push(o) : t.nonInlineLevel.push(o), xp(o, t, n, a);
            Qn(A.flags, 8) && Gx(A, a)
        })
    },
    Gx = function(e, t) {
        for (var n = e instanceof wp ? e.start : 1, r = e instanceof wp ? e.reversed : !1, A = 0; A < t.length; A++) {
            var i = t[A];
            i.container instanceof Sx && typeof i.container.value == "number" && i.container.value !== 0 && (n = i.container.value), i.listValue = nc(n, i.container.styles.listStyleType, !0), n += r ? -1 : 1
        }
    },
    Rie = function(e) {
        var t = new Vx(e, null),
            n = new Kx(t),
            r = [];
        return xp(t, n, n, r), Gx(t.container, r), n
    },
    k3 = function(e, t) {
        switch (t) {
            case 0:
                return rA(e.topLeftBorderBox, e.topLeftPaddingBox, e.topRightBorderBox, e.topRightPaddingBox);
            case 1:
                return rA(e.topRightBorderBox, e.topRightPaddingBox, e.bottomRightBorderBox, e.bottomRightPaddingBox);
            case 2:
                return rA(e.bottomRightBorderBox, e.bottomRightPaddingBox, e.bottomLeftBorderBox, e.bottomLeftPaddingBox);
            case 3:
            default:
                return rA(e.bottomLeftBorderBox, e.bottomLeftPaddingBox, e.topLeftBorderBox, e.topLeftPaddingBox)
        }
    },
    Nie = function(e, t) {
        switch (t) {
            case 0:
                return rA(e.topLeftBorderBox, e.topLeftBorderDoubleOuterBox, e.topRightBorderBox, e.topRightBorderDoubleOuterBox);
            case 1:
                return rA(e.topRightBorderBox, e.topRightBorderDoubleOuterBox, e.bottomRightBorderBox, e.bottomRightBorderDoubleOuterBox);
            case 2:
                return rA(e.bottomRightBorderBox, e.bottomRightBorderDoubleOuterBox, e.bottomLeftBorderBox, e.bottomLeftBorderDoubleOuterBox);
            case 3:
            default:
                return rA(e.bottomLeftBorderBox, e.bottomLeftBorderDoubleOuterBox, e.topLeftBorderBox, e.topLeftBorderDoubleOuterBox)
        }
    },
    $ie = function(e, t) {
        switch (t) {
            case 0:
                return rA(e.topLeftBorderDoubleInnerBox, e.topLeftPaddingBox, e.topRightBorderDoubleInnerBox, e.topRightPaddingBox);
            case 1:
                return rA(e.topRightBorderDoubleInnerBox, e.topRightPaddingBox, e.bottomRightBorderDoubleInnerBox, e.bottomRightPaddingBox);
            case 2:
                return rA(e.bottomRightBorderDoubleInnerBox, e.bottomRightPaddingBox, e.bottomLeftBorderDoubleInnerBox, e.bottomLeftPaddingBox);
            case 3:
            default:
                return rA(e.bottomLeftBorderDoubleInnerBox, e.bottomLeftPaddingBox, e.topLeftBorderDoubleInnerBox, e.topLeftPaddingBox)
        }
    },
    Kie = function(e, t) {
        switch (t) {
            case 0:
                return R0(e.topLeftBorderStroke, e.topRightBorderStroke);
            case 1:
                return R0(e.topRightBorderStroke, e.bottomRightBorderStroke);
            case 2:
                return R0(e.bottomRightBorderStroke, e.bottomLeftBorderStroke);
            case 3:
            default:
                return R0(e.bottomLeftBorderStroke, e.topLeftBorderStroke)
        }
    },
    R0 = function(e, t) {
        var n = [];
        return tA(e) ? n.push(e.subdivide(.5, !1)) : n.push(e), tA(t) ? n.push(t.subdivide(.5, !0)) : n.push(t), n
    },
    rA = function(e, t, n, r) {
        var A = [];
        return tA(e) ? A.push(e.subdivide(.5, !1)) : A.push(e), tA(n) ? A.push(n.subdivide(.5, !0)) : A.push(n), tA(r) ? A.push(r.subdivide(.5, !0).reverse()) : A.push(r), tA(t) ? A.push(t.subdivide(.5, !1).reverse()) : A.push(t), A
    },
    jx = function(e) {
        var t = e.bounds,
            n = e.styles;
        return t.add(n.borderLeftWidth, n.borderTopWidth, -(n.borderRightWidth + n.borderLeftWidth), -(n.borderTopWidth + n.borderBottomWidth))
    },
    Vf = function(e) {
        var t = e.styles,
            n = e.bounds,
            r = qt(t.paddingLeft, n.width),
            A = qt(t.paddingRight, n.width),
            i = qt(t.paddingTop, n.width),
            s = qt(t.paddingBottom, n.width);
        return n.add(r + t.borderLeftWidth, i + t.borderTopWidth, -(t.borderRightWidth + t.borderLeftWidth + r + A), -(t.borderTopWidth + t.borderBottomWidth + i + s))
    },
    Vie = function(e, t) {
        return e === 0 ? t.bounds : e === 2 ? Vf(t) : jx(t)
    },
    Gie = function(e, t) {
        return e === 0 ? t.bounds : e === 2 ? Vf(t) : jx(t)
    },
    F2 = function(e, t, n) {
        var r = Vie(Ca(e.styles.backgroundOrigin, t), e),
            A = Gie(Ca(e.styles.backgroundClip, t), e),
            i = jie(Ca(e.styles.backgroundSize, t), n, r),
            s = i[0],
            o = i[1],
            a = Au(Ca(e.styles.backgroundPosition, t), r.width - s, r.height - o),
            l = Wie(Ca(e.styles.backgroundRepeat, t), a, i, r, A),
            u = Math.round(r.left + a[0]),
            f = Math.round(r.top + a[1]);
        return [l, u, f, s, o]
    },
    Ba = function(e) {
        return Wt(e) && e.value === La.AUTO
    },
    N0 = function(e) {
        return typeof e == "number"
    },
    jie = function(e, t, n) {
        var r = t[0],
            A = t[1],
            i = t[2],
            s = e[0],
            o = e[1];
        if (!s) return [0, 0];
        if (Cn(s) && o && Cn(o)) return [qt(s, n.width), qt(o, n.height)];
        var a = N0(i);
        if (Wt(s) && (s.value === La.CONTAIN || s.value === La.COVER)) {
            if (N0(i)) {
                var l = n.width / n.height;
                return l < i != (s.value === La.COVER) ? [n.width, n.width / i] : [n.height * i, n.height]
            }
            return [n.width, n.height]
        }
        var u = N0(r),
            f = N0(A),
            d = u || f;
        if (Ba(s) && (!o || Ba(o))) {
            if (u && f) return [r, A];
            if (!a && !d) return [n.width, n.height];
            if (d && a) {
                var p = u ? r : A * i,
                    v = f ? A : r / i;
                return [p, v]
            }
            var B = u ? r : n.width,
                C = f ? A : n.height;
            return [B, C]
        }
        if (a) {
            var w = 0,
                m = 0;
            return Cn(s) ? w = qt(s, n.width) : Cn(o) && (m = qt(o, n.height)), Ba(s) ? w = m * i : (!o || Ba(o)) && (m = w / i), [w, m]
        }
        var E = null,
            y = null;
        if (Cn(s) ? E = qt(s, n.width) : o && Cn(o) && (y = qt(o, n.height)), E !== null && (!o || Ba(o)) && (y = u && f ? E / r * A : n.height), y !== null && Ba(s) && (E = u && f ? y / A * r : n.width), E !== null && y !== null) return [E, y];
        throw new Error("Unable to calculate background-size for element")
    },
    Ca = function(e, t) {
        var n = e[t];
        return typeof n > "u" ? e[0] : n
    },
    Wie = function(e, t, n, r, A) {
        var i = t[0],
            s = t[1],
            o = n[0],
            a = n[1];
        switch (e) {
            case 2:
                return [new Je(Math.round(r.left), Math.round(r.top + s)), new Je(Math.round(r.left + r.width), Math.round(r.top + s)), new Je(Math.round(r.left + r.width), Math.round(a + r.top + s)), new Je(Math.round(r.left), Math.round(a + r.top + s))];
            case 3:
                return [new Je(Math.round(r.left + i), Math.round(r.top)), new Je(Math.round(r.left + i + o), Math.round(r.top)), new Je(Math.round(r.left + i + o), Math.round(r.height + r.top)), new Je(Math.round(r.left + i), Math.round(r.height + r.top))];
            case 1:
                return [new Je(Math.round(r.left + i), Math.round(r.top + s)), new Je(Math.round(r.left + i + o), Math.round(r.top + s)), new Je(Math.round(r.left + i + o), Math.round(r.top + s + a)), new Je(Math.round(r.left + i), Math.round(r.top + s + a))];
            default:
                return [new Je(Math.round(A.left), Math.round(A.top)), new Je(Math.round(A.left + A.width), Math.round(A.top)), new Je(Math.round(A.left + A.width), Math.round(A.height + A.top)), new Je(Math.round(A.left), Math.round(A.height + A.top))]
        }
    },
    zie = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
    H3 = "Hidden Text",
    Yie = function() {
        function e(t) {
            this._data = {}, this._document = t
        }
        return e.prototype.parseMetrics = function(t, n) {
            var r = this._document.createElement("div"),
                A = this._document.createElement("img"),
                i = this._document.createElement("span"),
                s = this._document.body;
            r.style.visibility = "hidden", r.style.fontFamily = t, r.style.fontSize = n, r.style.margin = "0", r.style.padding = "0", r.style.whiteSpace = "nowrap", s.appendChild(r), A.src = zie, A.width = 1, A.height = 1, A.style.margin = "0", A.style.padding = "0", A.style.verticalAlign = "baseline", i.style.fontFamily = t, i.style.fontSize = n, i.style.margin = "0", i.style.padding = "0", i.appendChild(this._document.createTextNode(H3)), r.appendChild(i), r.appendChild(A);
            var o = A.offsetTop - i.offsetTop + 2;
            r.removeChild(i), r.appendChild(this._document.createTextNode(H3)), r.style.lineHeight = "normal", A.style.verticalAlign = "super";
            var a = A.offsetTop - r.offsetTop + 2;
            return s.removeChild(r), {
                baseline: o,
                middle: a
            }
        }, e.prototype.getMetrics = function(t, n) {
            var r = t + " " + n;
            return typeof this._data[r] > "u" && (this._data[r] = this.parseMetrics(t, n)), this._data[r]
        }, e
    }(),
    Wx = function() {
        function e(t, n) {
            this.context = t, this.options = n
        }
        return e
    }(),
    Xie = 1e4,
    Jie = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A._activeEffects = [], A.canvas = r.canvas ? r.canvas : document.createElement("canvas"), A.ctx = A.canvas.getContext("2d"), r.canvas || (A.canvas.width = Math.floor(r.width * r.scale), A.canvas.height = Math.floor(r.height * r.scale), A.canvas.style.width = r.width + "px", A.canvas.style.height = r.height + "px"), A.fontMetrics = new Yie(document), A.ctx.scale(A.options.scale, A.options.scale), A.ctx.translate(-r.x, -r.y), A.ctx.textBaseline = "bottom", A._activeEffects = [], A.context.logger.debug("Canvas renderer initialized (" + r.width + "x" + r.height + ") with scale " + r.scale), A
        }
        return t.prototype.applyEffects = function(n) {
            for (var r = this; this._activeEffects.length;) this.popEffect();
            n.forEach(function(A) {
                return r.applyEffect(A)
            })
        }, t.prototype.applyEffect = function(n) {
            this.ctx.save(), Hie(n) && (this.ctx.globalAlpha = n.opacity), kie(n) && (this.ctx.translate(n.offsetX, n.offsetY), this.ctx.transform(n.matrix[0], n.matrix[1], n.matrix[2], n.matrix[3], n.matrix[4], n.matrix[5]), this.ctx.translate(-n.offsetX, -n.offsetY)), $x(n) && (this.path(n.path), this.ctx.clip()), this._activeEffects.push(n)
        }, t.prototype.popEffect = function() {
            this._activeEffects.pop(), this.ctx.restore()
        }, t.prototype.renderStack = function(n) {
            return or(this, void 0, void 0, function() {
                var r;
                return Jn(this, function(A) {
                    switch (A.label) {
                        case 0:
                            return r = n.element.container.styles, r.isVisible() ? [4, this.renderStackContent(n)] : [3, 2];
                        case 1:
                            A.sent(), A.label = 2;
                        case 2:
                            return [2]
                    }
                })
            })
        }, t.prototype.renderNode = function(n) {
            return or(this, void 0, void 0, function() {
                return Jn(this, function(r) {
                    switch (r.label) {
                        case 0:
                            if (Qn(n.container.flags, 16)) debugger;
                            return n.container.styles.isVisible() ? [4, this.renderNodeBackgroundAndBorders(n)] : [3, 3];
                        case 1:
                            return r.sent(), [4, this.renderNodeContent(n)];
                        case 2:
                            r.sent(), r.label = 3;
                        case 3:
                            return [2]
                    }
                })
            })
        }, t.prototype.renderTextWithLetterSpacing = function(n, r, A) {
            var i = this;
            if (r === 0) this.ctx.fillText(n.text, n.bounds.left, n.bounds.top + A);
            else {
                var s = X5(n.text);
                s.reduce(function(o, a) {
                    return i.ctx.fillText(a, o, n.bounds.top + A), o + i.ctx.measureText(a).width
                }, n.bounds.left)
            }
        }, t.prototype.createFontStyle = function(n) {
            var r = n.fontVariant.filter(function(s) {
                    return s === "normal" || s === "small-caps"
                }).join(""),
                A = nse(n.fontFamily).join(", "),
                i = Uc(n.fontSize) ? "" + n.fontSize.number + n.fontSize.unit : n.fontSize.number + "px";
            return [
                [n.fontStyle, r, n.fontWeight, i, A].join(" "), A, i
            ]
        }, t.prototype.renderTextNode = function(n, r) {
            return or(this, void 0, void 0, function() {
                var A, i, s, o, a, l, u, f, d = this;
                return Jn(this, function(p) {
                    return A = this.createFontStyle(r), i = A[0], s = A[1], o = A[2], this.ctx.font = i, this.ctx.direction = r.direction === 1 ? "rtl" : "ltr", this.ctx.textAlign = "left", this.ctx.textBaseline = "alphabetic", a = this.fontMetrics.getMetrics(s, o), l = a.baseline, u = a.middle, f = r.paintOrder, n.textBounds.forEach(function(v) {
                        f.forEach(function(B) {
                            switch (B) {
                                case 0:
                                    d.ctx.fillStyle = kn(r.color), d.renderTextWithLetterSpacing(v, r.letterSpacing, l);
                                    var C = r.textShadow;
                                    C.length && v.text.trim().length && (C.slice(0).reverse().forEach(function(w) {
                                        d.ctx.shadowColor = kn(w.color), d.ctx.shadowOffsetX = w.offsetX.number * d.options.scale, d.ctx.shadowOffsetY = w.offsetY.number * d.options.scale, d.ctx.shadowBlur = w.blur.number, d.renderTextWithLetterSpacing(v, r.letterSpacing, l)
                                    }), d.ctx.shadowColor = "", d.ctx.shadowOffsetX = 0, d.ctx.shadowOffsetY = 0, d.ctx.shadowBlur = 0), r.textDecorationLine.length && (d.ctx.fillStyle = kn(r.textDecorationColor || r.color), r.textDecorationLine.forEach(function(w) {
                                        switch (w) {
                                            case 1:
                                                d.ctx.fillRect(v.bounds.left, Math.round(v.bounds.top + l), v.bounds.width, 1);
                                                break;
                                            case 2:
                                                d.ctx.fillRect(v.bounds.left, Math.round(v.bounds.top), v.bounds.width, 1);
                                                break;
                                            case 3:
                                                d.ctx.fillRect(v.bounds.left, Math.ceil(v.bounds.top + u), v.bounds.width, 1);
                                                break
                                        }
                                    }));
                                    break;
                                case 1:
                                    r.webkitTextStrokeWidth && v.text.trim().length && (d.ctx.strokeStyle = kn(r.webkitTextStrokeColor), d.ctx.lineWidth = r.webkitTextStrokeWidth, d.ctx.lineJoin = window.chrome ? "miter" : "round", d.ctx.strokeText(v.text, v.bounds.left, v.bounds.top + l)), d.ctx.strokeStyle = "", d.ctx.lineWidth = 0, d.ctx.lineJoin = "miter";
                                    break
                            }
                        })
                    }), [2]
                })
            })
        }, t.prototype.renderReplacedElement = function(n, r, A) {
            if (A && n.intrinsicWidth > 0 && n.intrinsicHeight > 0) {
                var i = Vf(n),
                    s = Kf(r);
                this.path(s), this.ctx.save(), this.ctx.clip(), this.ctx.drawImage(A, 0, 0, n.intrinsicWidth, n.intrinsicHeight, i.left, i.top, i.width, i.height), this.ctx.restore()
            }
        }, t.prototype.renderNodeContent = function(n) {
            return or(this, void 0, void 0, function() {
                var r, A, i, s, o, a, m, m, l, u, f, d, y, p, v, x, B, C, w, m, E, y, x;
                return Jn(this, function(F) {
                    switch (F.label) {
                        case 0:
                            this.applyEffects(n.getEffects(4)), r = n.container, A = n.curves, i = r.styles, s = 0, o = r.textNodes, F.label = 1;
                        case 1:
                            return s < o.length ? (a = o[s], [4, this.renderTextNode(a, i)]) : [3, 4];
                        case 2:
                            F.sent(), F.label = 3;
                        case 3:
                            return s++, [3, 1];
                        case 4:
                            if (!(r instanceof xx)) return [3, 8];
                            F.label = 5;
                        case 5:
                            return F.trys.push([5, 7, , 8]), [4, this.context.cache.match(r.src)];
                        case 6:
                            return m = F.sent(), this.renderReplacedElement(r, A, m), [3, 8];
                        case 7:
                            return F.sent(), this.context.logger.error("Error loading image " + r.src), [3, 8];
                        case 8:
                            if (r instanceof _x && this.renderReplacedElement(r, A, r.canvas), !(r instanceof Fx)) return [3, 12];
                            F.label = 9;
                        case 9:
                            return F.trys.push([9, 11, , 12]), [4, this.context.cache.match(r.svg)];
                        case 10:
                            return m = F.sent(), this.renderReplacedElement(r, A, m), [3, 12];
                        case 11:
                            return F.sent(), this.context.logger.error("Error loading svg " + r.svg.substring(0, 255)), [3, 12];
                        case 12:
                            return r instanceof Qx && r.tree ? (l = new t(this.context, {
                                scale: this.options.scale,
                                backgroundColor: r.backgroundColor,
                                x: 0,
                                y: 0,
                                width: r.width,
                                height: r.height
                            }), [4, l.render(r.tree)]) : [3, 14];
                        case 13:
                            u = F.sent(), r.width && r.height && this.ctx.drawImage(u, 0, 0, r.width, r.height, r.bounds.left, r.bounds.top, r.bounds.width, r.bounds.height), F.label = 14;
                        case 14:
                            if (r instanceof J5 && (f = Math.min(r.bounds.width, r.bounds.height), r.type === Hf ? r.checked && (this.ctx.save(), this.path([new Je(r.bounds.left + f * .39363, r.bounds.top + f * .79), new Je(r.bounds.left + f * .16, r.bounds.top + f * .5549), new Je(r.bounds.left + f * .27347, r.bounds.top + f * .44071), new Je(r.bounds.left + f * .39694, r.bounds.top + f * .5649), new Je(r.bounds.left + f * .72983, r.bounds.top + f * .23), new Je(r.bounds.left + f * .84, r.bounds.top + f * .34085), new Je(r.bounds.left + f * .39363, r.bounds.top + f * .79)]), this.ctx.fillStyle = kn(x3), this.ctx.fill(), this.ctx.restore()) : r.type === Mf && r.checked && (this.ctx.save(), this.ctx.beginPath(), this.ctx.arc(r.bounds.left + f / 2, r.bounds.top + f / 2, f / 4, 0, Math.PI * 2, !0), this.ctx.fillStyle = kn(x3), this.ctx.fill(), this.ctx.restore())), qie(r) && r.value.length) {
                                switch (d = this.createFontStyle(i), y = d[0], p = d[1], v = this.fontMetrics.getMetrics(y, p).baseline, this.ctx.font = y, this.ctx.fillStyle = kn(i.color), this.ctx.textBaseline = "alphabetic", this.ctx.textAlign = ese(r.styles.textAlign), x = Vf(r), B = 0, r.styles.textAlign) {
                                    case 1:
                                        B += x.width / 2;
                                        break;
                                    case 2:
                                        B += x.width;
                                        break
                                }
                                C = x.add(B, 0, 0, -x.height / 2 + 1), this.ctx.save(), this.path([new Je(x.left, x.top), new Je(x.left + x.width, x.top), new Je(x.left + x.width, x.top + x.height), new Je(x.left, x.top + x.height)]), this.ctx.clip(), this.renderTextWithLetterSpacing(new Su(r.value, C), i.letterSpacing, v), this.ctx.restore(), this.ctx.textBaseline = "alphabetic", this.ctx.textAlign = "left"
                            }
                            if (!Qn(r.styles.display, 2048)) return [3, 20];
                            if (r.styles.listStyleImage === null) return [3, 19];
                            if (w = r.styles.listStyleImage, w.type !== 0) return [3, 18];
                            m = void 0, E = w.url, F.label = 15;
                        case 15:
                            return F.trys.push([15, 17, , 18]), [4, this.context.cache.match(E)];
                        case 16:
                            return m = F.sent(), this.ctx.drawImage(m, r.bounds.left - (m.width + 10), r.bounds.top), [3, 18];
                        case 17:
                            return F.sent(), this.context.logger.error("Error loading list-style-image " + E), [3, 18];
                        case 18:
                            return [3, 20];
                        case 19:
                            n.listValue && r.styles.listStyleType !== -1 && (y = this.createFontStyle(i)[0], this.ctx.font = y, this.ctx.fillStyle = kn(i.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = "right", x = new Pi(r.bounds.left, r.bounds.top + qt(r.styles.paddingTop, r.bounds.width), r.bounds.width, a3(i.lineHeight, i.fontSize.number) / 2 + 1), this.renderTextWithLetterSpacing(new Su(n.listValue, x), i.letterSpacing, a3(i.lineHeight, i.fontSize.number) / 2 + 2), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left"), F.label = 20;
                        case 20:
                            return [2]
                    }
                })
            })
        }, t.prototype.renderStackContent = function(n) {
            return or(this, void 0, void 0, function() {
                var r, A, w, i, s, w, o, a, w, l, u, w, f, d, w, p, v, w, B, C, w;
                return Jn(this, function(m) {
                    switch (m.label) {
                        case 0:
                            if (Qn(n.element.container.flags, 16)) debugger;
                            return [4, this.renderNodeBackgroundAndBorders(n.element)];
                        case 1:
                            m.sent(), r = 0, A = n.negativeZIndex, m.label = 2;
                        case 2:
                            return r < A.length ? (w = A[r], [4, this.renderStack(w)]) : [3, 5];
                        case 3:
                            m.sent(), m.label = 4;
                        case 4:
                            return r++, [3, 2];
                        case 5:
                            return [4, this.renderNodeContent(n.element)];
                        case 6:
                            m.sent(), i = 0, s = n.nonInlineLevel, m.label = 7;
                        case 7:
                            return i < s.length ? (w = s[i], [4, this.renderNode(w)]) : [3, 10];
                        case 8:
                            m.sent(), m.label = 9;
                        case 9:
                            return i++, [3, 7];
                        case 10:
                            o = 0, a = n.nonPositionedFloats, m.label = 11;
                        case 11:
                            return o < a.length ? (w = a[o], [4, this.renderStack(w)]) : [3, 14];
                        case 12:
                            m.sent(), m.label = 13;
                        case 13:
                            return o++, [3, 11];
                        case 14:
                            l = 0, u = n.nonPositionedInlineLevel, m.label = 15;
                        case 15:
                            return l < u.length ? (w = u[l], [4, this.renderStack(w)]) : [3, 18];
                        case 16:
                            m.sent(), m.label = 17;
                        case 17:
                            return l++, [3, 15];
                        case 18:
                            f = 0, d = n.inlineLevel, m.label = 19;
                        case 19:
                            return f < d.length ? (w = d[f], [4, this.renderNode(w)]) : [3, 22];
                        case 20:
                            m.sent(), m.label = 21;
                        case 21:
                            return f++, [3, 19];
                        case 22:
                            p = 0, v = n.zeroOrAutoZIndexOrTransformedOrOpacity, m.label = 23;
                        case 23:
                            return p < v.length ? (w = v[p], [4, this.renderStack(w)]) : [3, 26];
                        case 24:
                            m.sent(), m.label = 25;
                        case 25:
                            return p++, [3, 23];
                        case 26:
                            B = 0, C = n.positiveZIndex, m.label = 27;
                        case 27:
                            return B < C.length ? (w = C[B], [4, this.renderStack(w)]) : [3, 30];
                        case 28:
                            m.sent(), m.label = 29;
                        case 29:
                            return B++, [3, 27];
                        case 30:
                            return [2]
                    }
                })
            })
        }, t.prototype.mask = function(n) {
            this.ctx.beginPath(), this.ctx.moveTo(0, 0), this.ctx.lineTo(this.canvas.width, 0), this.ctx.lineTo(this.canvas.width, this.canvas.height), this.ctx.lineTo(0, this.canvas.height), this.ctx.lineTo(0, 0), this.formatPath(n.slice(0).reverse()), this.ctx.closePath()
        }, t.prototype.path = function(n) {
            this.ctx.beginPath(), this.formatPath(n), this.ctx.closePath()
        }, t.prototype.formatPath = function(n) {
            var r = this;
            n.forEach(function(A, i) {
                var s = tA(A) ? A.start : A;
                i === 0 ? r.ctx.moveTo(s.x, s.y) : r.ctx.lineTo(s.x, s.y), tA(A) && r.ctx.bezierCurveTo(A.startControl.x, A.startControl.y, A.endControl.x, A.endControl.y, A.end.x, A.end.y)
            })
        }, t.prototype.renderRepeat = function(n, r, A, i) {
            this.path(n), this.ctx.fillStyle = r, this.ctx.translate(A, i), this.ctx.fill(), this.ctx.translate(-A, -i)
        }, t.prototype.resizeImage = function(n, r, A) {
            var i;
            if (n.width === r && n.height === A) return n;
            var s = (i = this.canvas.ownerDocument) !== null && i !== void 0 ? i : document,
                o = s.createElement("canvas");
            o.width = Math.max(1, r), o.height = Math.max(1, A);
            var a = o.getContext("2d");
            return a.drawImage(n, 0, 0, n.width, n.height, 0, 0, r, A), o
        }, t.prototype.renderBackgroundImage = function(n) {
            return or(this, void 0, void 0, function() {
                var r, A, i, s, o, a;
                return Jn(this, function(l) {
                    switch (l.label) {
                        case 0:
                            r = n.styles.backgroundImage.length - 1, A = function(u) {
                                var f, d, p, I, Z, ce, N, X, P, v, I, Z, ce, N, X, B, C, w, m, E, y, x, F, Q, P, L, I, _, D, N, X, se, Z, ce, W, he, Se, V, ie, ue, pe, ee;
                                return Jn(this, function(ye) {
                                    switch (ye.label) {
                                        case 0:
                                            if (u.type !== 0) return [3, 5];
                                            f = void 0, d = u.url, ye.label = 1;
                                        case 1:
                                            return ye.trys.push([1, 3, , 4]), [4, i.context.cache.match(d)];
                                        case 2:
                                            return f = ye.sent(), [3, 4];
                                        case 3:
                                            return ye.sent(), i.context.logger.error("Error loading background-image " + d), [3, 4];
                                        case 4:
                                            return f && (p = F2(n, r, [f.width, f.height, f.width / f.height]), I = p[0], Z = p[1], ce = p[2], N = p[3], X = p[4], P = i.ctx.createPattern(i.resizeImage(f, N, X), "repeat"), i.renderRepeat(I, P, Z, ce)), [3, 6];
                                        case 5:
                                            kne(u) ? (v = F2(n, r, [null, null, null]), I = v[0], Z = v[1], ce = v[2], N = v[3], X = v[4], B = Une(u.angle, N, X), C = B[0], w = B[1], m = B[2], E = B[3], y = B[4], x = document.createElement("canvas"), x.width = N, x.height = X, F = x.getContext("2d"), Q = F.createLinearGradient(w, E, m, y), s3(u.stops, C).forEach(function(te) {
                                                return Q.addColorStop(te.stop, kn(te.color))
                                            }), F.fillStyle = Q, F.fillRect(0, 0, N, X), N > 0 && X > 0 && (P = i.ctx.createPattern(x, "repeat"), i.renderRepeat(I, P, Z, ce))) : Hne(u) && (L = F2(n, r, [null, null, null]), I = L[0], _ = L[1], D = L[2], N = L[3], X = L[4], se = u.position.length === 0 ? [W5] : u.position, Z = qt(se[0], N), ce = qt(se[se.length - 1], X), W = Pne(u, Z, ce, N, X), he = W[0], Se = W[1], he > 0 && Se > 0 && (V = i.ctx.createRadialGradient(_ + Z, D + ce, 0, _ + Z, D + ce, he), s3(u.stops, he * 2).forEach(function(te) {
                                                return V.addColorStop(te.stop, kn(te.color))
                                            }), i.path(I), i.ctx.fillStyle = V, he !== Se ? (ie = n.bounds.left + .5 * n.bounds.width, ue = n.bounds.top + .5 * n.bounds.height, pe = Se / he, ee = 1 / pe, i.ctx.save(), i.ctx.translate(ie, ue), i.ctx.transform(1, 0, 0, pe, 0, 0), i.ctx.translate(-ie, -ue), i.ctx.fillRect(_, ee * (D - ue) + ue, N, X * ee), i.ctx.restore()) : i.ctx.fill())), ye.label = 6;
                                        case 6:
                                            return r--, [2]
                                    }
                                })
                            }, i = this, s = 0, o = n.styles.backgroundImage.slice(0).reverse(), l.label = 1;
                        case 1:
                            return s < o.length ? (a = o[s], [5, A(a)]) : [3, 4];
                        case 2:
                            l.sent(), l.label = 3;
                        case 3:
                            return s++, [3, 1];
                        case 4:
                            return [2]
                    }
                })
            })
        }, t.prototype.renderSolidBorder = function(n, r, A) {
            return or(this, void 0, void 0, function() {
                return Jn(this, function(i) {
                    return this.path(k3(A, r)), this.ctx.fillStyle = kn(n), this.ctx.fill(), [2]
                })
            })
        }, t.prototype.renderDoubleBorder = function(n, r, A, i) {
            return or(this, void 0, void 0, function() {
                var s, o;
                return Jn(this, function(a) {
                    switch (a.label) {
                        case 0:
                            return r < 3 ? [4, this.renderSolidBorder(n, A, i)] : [3, 2];
                        case 1:
                            return a.sent(), [2];
                        case 2:
                            return s = Nie(i, A), this.path(s), this.ctx.fillStyle = kn(n), this.ctx.fill(), o = $ie(i, A), this.path(o), this.ctx.fill(), [2]
                    }
                })
            })
        }, t.prototype.renderNodeBackgroundAndBorders = function(n) {
            return or(this, void 0, void 0, function() {
                var r, A, i, s, o, a, l, u, f = this;
                return Jn(this, function(d) {
                    switch (d.label) {
                        case 0:
                            return this.applyEffects(n.getEffects(2)), r = n.container.styles, A = !Ss(r.backgroundColor) || r.backgroundImage.length, i = [{
                                style: r.borderTopStyle,
                                color: r.borderTopColor,
                                width: r.borderTopWidth
                            }, {
                                style: r.borderRightStyle,
                                color: r.borderRightColor,
                                width: r.borderRightWidth
                            }, {
                                style: r.borderBottomStyle,
                                color: r.borderBottomColor,
                                width: r.borderBottomWidth
                            }, {
                                style: r.borderLeftStyle,
                                color: r.borderLeftColor,
                                width: r.borderLeftWidth
                            }], s = Zie(Ca(r.backgroundClip, 0), n.curves), A || r.boxShadow.length ? (this.ctx.save(), this.path(s), this.ctx.clip(), Ss(r.backgroundColor) || (this.ctx.fillStyle = kn(r.backgroundColor), this.ctx.fill()), [4, this.renderBackgroundImage(n.container)]) : [3, 2];
                        case 1:
                            d.sent(), this.ctx.restore(), r.boxShadow.slice(0).reverse().forEach(function(p) {
                                f.ctx.save();
                                var v = $f(n.curves),
                                    B = p.inset ? 0 : Xie,
                                    C = Mie(v, -B + (p.inset ? 1 : -1) * p.spread.number, (p.inset ? 1 : -1) * p.spread.number, p.spread.number * (p.inset ? -2 : 2), p.spread.number * (p.inset ? -2 : 2));
                                p.inset ? (f.path(v), f.ctx.clip(), f.mask(C)) : (f.mask(v), f.ctx.clip(), f.path(C)), f.ctx.shadowOffsetX = p.offsetX.number + B, f.ctx.shadowOffsetY = p.offsetY.number, f.ctx.shadowColor = kn(p.color), f.ctx.shadowBlur = p.blur.number, f.ctx.fillStyle = p.inset ? kn(p.color) : "rgba(0,0,0,1)", f.ctx.fill(), f.ctx.restore()
                            }), d.label = 2;
                        case 2:
                            o = 0, a = 0, l = i, d.label = 3;
                        case 3:
                            return a < l.length ? (u = l[a], u.style !== 0 && !Ss(u.color) && u.width > 0 ? u.style !== 2 ? [3, 5] : [4, this.renderDashedDottedBorder(u.color, u.width, o, n.curves, 2)] : [3, 11]) : [3, 13];
                        case 4:
                            return d.sent(), [3, 11];
                        case 5:
                            return u.style !== 3 ? [3, 7] : [4, this.renderDashedDottedBorder(u.color, u.width, o, n.curves, 3)];
                        case 6:
                            return d.sent(), [3, 11];
                        case 7:
                            return u.style !== 4 ? [3, 9] : [4, this.renderDoubleBorder(u.color, u.width, o, n.curves)];
                        case 8:
                            return d.sent(), [3, 11];
                        case 9:
                            return [4, this.renderSolidBorder(u.color, o, n.curves)];
                        case 10:
                            d.sent(), d.label = 11;
                        case 11:
                            o++, d.label = 12;
                        case 12:
                            return a++, [3, 3];
                        case 13:
                            return [2]
                    }
                })
            })
        }, t.prototype.renderDashedDottedBorder = function(n, r, A, i, s) {
            return or(this, void 0, void 0, function() {
                var o, a, l, u, f, d, p, v, B, C, w, m, E, y, x, F, x, F;
                return Jn(this, function(Q) {
                    return this.ctx.save(), o = Kie(i, A), a = k3(i, A), s === 2 && (this.path(a), this.ctx.clip()), tA(a[0]) ? (l = a[0].start.x, u = a[0].start.y) : (l = a[0].x, u = a[0].y), tA(a[1]) ? (f = a[1].end.x, d = a[1].end.y) : (f = a[1].x, d = a[1].y), A === 0 || A === 2 ? p = Math.abs(l - f) : p = Math.abs(u - d), this.ctx.beginPath(), s === 3 ? this.formatPath(o) : this.formatPath(a.slice(0, 2)), v = r < 3 ? r * 3 : r * 2, B = r < 3 ? r * 2 : r, s === 3 && (v = r, B = r), C = !0, p <= v * 2 ? C = !1 : p <= v * 2 + B ? (w = p / (2 * v + B), v *= w, B *= w) : (m = Math.floor((p + B) / (v + B)), E = (p - m * v) / (m - 1), y = (p - (m + 1) * v) / m, B = y <= 0 || Math.abs(B - E) < Math.abs(B - y) ? E : y), C && (s === 3 ? this.ctx.setLineDash([0, v + B]) : this.ctx.setLineDash([v, B])), s === 3 ? (this.ctx.lineCap = "round", this.ctx.lineWidth = r) : this.ctx.lineWidth = r * 2 + 1.1, this.ctx.strokeStyle = kn(n), this.ctx.stroke(), this.ctx.setLineDash([]), s === 2 && (tA(a[0]) && (x = a[3], F = a[0], this.ctx.beginPath(), this.formatPath([new Je(x.end.x, x.end.y), new Je(F.start.x, F.start.y)]), this.ctx.stroke()), tA(a[1]) && (x = a[1], F = a[2], this.ctx.beginPath(), this.formatPath([new Je(x.end.x, x.end.y), new Je(F.start.x, F.start.y)]), this.ctx.stroke())), this.ctx.restore(), [2]
                })
            })
        }, t.prototype.render = function(n) {
            return or(this, void 0, void 0, function() {
                var r;
                return Jn(this, function(A) {
                    switch (A.label) {
                        case 0:
                            return this.options.backgroundColor && (this.ctx.fillStyle = kn(this.options.backgroundColor), this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height)), r = Rie(n), [4, this.renderStack(r)];
                        case 1:
                            return A.sent(), this.applyEffects([]), [2, this.canvas]
                    }
                })
            })
        }, t
    }(Wx),
    qie = function(e) {
        return e instanceof Ix || e instanceof Tx ? !0 : e instanceof J5 && e.type !== Mf && e.type !== Hf
    },
    Zie = function(e, t) {
        switch (e) {
            case 0:
                return $f(t);
            case 2:
                return Oie(t);
            case 1:
            default:
                return Kf(t)
        }
    },
    ese = function(e) {
        switch (e) {
            case 1:
                return "center";
            case 2:
                return "right";
            case 0:
            default:
                return "left"
        }
    },
    tse = ["-apple-system", "system-ui"],
    nse = function(e) {
        return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent) ? e.filter(function(t) {
            return tse.indexOf(t) === -1
        }) : e
    },
    rse = function(e) {
        bA(t, e);

        function t(n, r) {
            var A = e.call(this, n, r) || this;
            return A.canvas = r.canvas ? r.canvas : document.createElement("canvas"), A.ctx = A.canvas.getContext("2d"), A.options = r, A.canvas.width = Math.floor(r.width * r.scale), A.canvas.height = Math.floor(r.height * r.scale), A.canvas.style.width = r.width + "px", A.canvas.style.height = r.height + "px", A.ctx.scale(A.options.scale, A.options.scale), A.ctx.translate(-r.x, -r.y), A.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized (" + r.width + "x" + r.height + " at " + r.x + "," + r.y + ") with scale " + r.scale), A
        }
        return t.prototype.render = function(n) {
            return or(this, void 0, void 0, function() {
                var r, A;
                return Jn(this, function(i) {
                    switch (i.label) {
                        case 0:
                            return r = Bp(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, n), [4, Ase(r)];
                        case 1:
                            return A = i.sent(), this.options.backgroundColor && (this.ctx.fillStyle = kn(this.options.backgroundColor), this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale)), this.ctx.drawImage(A, -this.options.x * this.options.scale, -this.options.y * this.options.scale), [2, this.canvas]
                    }
                })
            })
        }, t
    }(Wx),
    Ase = function(e) {
        return new Promise(function(t, n) {
            var r = new Image;
            r.onload = function() {
                t(r)
            }, r.onerror = n, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(e))
        })
    },
    ise = function() {
        function e(t) {
            var n = t.id,
                r = t.enabled;
            this.id = n, this.enabled = r, this.start = Date.now()
        }
        return e.prototype.debug = function() {
            for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
            this.enabled && (typeof window < "u" && window.console && typeof console.debug == "function" ? console.debug.apply(console, B0([this.id, this.getTime() + "ms"], t)) : this.info.apply(this, t))
        }, e.prototype.getTime = function() {
            return Date.now() - this.start
        }, e.prototype.info = function() {
            for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
            this.enabled && typeof window < "u" && window.console && typeof console.info == "function" && console.info.apply(console, B0([this.id, this.getTime() + "ms"], t))
        }, e.prototype.warn = function() {
            for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
            this.enabled && (typeof window < "u" && window.console && typeof console.warn == "function" ? console.warn.apply(console, B0([this.id, this.getTime() + "ms"], t)) : this.info.apply(this, t))
        }, e.prototype.error = function() {
            for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
            this.enabled && (typeof window < "u" && window.console && typeof console.error == "function" ? console.error.apply(console, B0([this.id, this.getTime() + "ms"], t)) : this.info.apply(this, t))
        }, e.instances = {}, e
    }(),
    sse = function() {
        function e(t, n) {
            var r;
            this.windowBounds = n, this.instanceName = "#" + e.instanceCount++, this.logger = new ise({
                id: this.instanceName,
                enabled: t.logging
            }), this.cache = (r = t.cache) !== null && r !== void 0 ? r : new _ie(this, t)
        }
        return e.instanceCount = 1, e
    }(),
    Noe = function(e, t) {
        return t === void 0 && (t = {}), ose(e, t)
    };
typeof window < "u" && Nx.setContext(window);
var ose = function(e, t) {
        return or(void 0, void 0, void 0, function() {
            var n, r, A, i, s, o, a, l, u, f, d, p, v, B, C, w, m, E, y, x, Q, F, Q, P, L, I, _, D, N, X, se, Z, ce, W, he, Se, V, ie, ue, pe;
            return Jn(this, function(ee) {
                switch (ee.label) {
                    case 0:
                        if (!e || typeof e != "object") return [2, Promise.reject("Invalid element provided as first argument")];
                        if (n = e.ownerDocument, !n) throw new Error("Element is not attached to a Document");
                        if (r = n.defaultView, !r) throw new Error("Document is not attached to a Window");
                        return A = {
                            allowTaint: (P = t.allowTaint) !== null && P !== void 0 ? P : !1,
                            imageTimeout: (L = t.imageTimeout) !== null && L !== void 0 ? L : 15e3,
                            proxy: t.proxy,
                            useCORS: (I = t.useCORS) !== null && I !== void 0 ? I : !1
                        }, i = Ap({
                            logging: (_ = t.logging) !== null && _ !== void 0 ? _ : !0,
                            cache: t.cache
                        }, A), s = {
                            windowWidth: (D = t.windowWidth) !== null && D !== void 0 ? D : r.innerWidth,
                            windowHeight: (N = t.windowHeight) !== null && N !== void 0 ? N : r.innerHeight,
                            scrollX: (X = t.scrollX) !== null && X !== void 0 ? X : r.pageXOffset,
                            scrollY: (se = t.scrollY) !== null && se !== void 0 ? se : r.pageYOffset
                        }, o = new Pi(s.scrollX, s.scrollY, s.windowWidth, s.windowHeight), a = new sse(i, o), l = (Z = t.foreignObjectRendering) !== null && Z !== void 0 ? Z : !1, u = {
                            allowTaint: (ce = t.allowTaint) !== null && ce !== void 0 ? ce : !1,
                            onclone: t.onclone,
                            ignoreElements: t.ignoreElements,
                            inlineImages: l,
                            copyStyles: l
                        }, a.logger.debug("Starting document clone with size " + o.width + "x" + o.height + " scrolled to " + -o.left + "," + -o.top), f = new O3(a, e, u), d = f.clonedReferenceElement, d ? [4, f.toIFrame(n, o)] : [2, Promise.reject("Unable to find element in cloned iframe")];
                    case 1:
                        return p = ee.sent(), v = q5(d) || lie(d) ? Mee(d.ownerDocument) : ed(a, d), B = v.width, C = v.height, w = v.left, m = v.top, E = ase(a, d, t.backgroundColor), y = {
                            canvas: t.canvas,
                            backgroundColor: E,
                            scale: (he = (W = t.scale) !== null && W !== void 0 ? W : r.devicePixelRatio) !== null && he !== void 0 ? he : 1,
                            x: ((Se = t.x) !== null && Se !== void 0 ? Se : 0) + w,
                            y: ((V = t.y) !== null && V !== void 0 ? V : 0) + m,
                            width: (ie = t.width) !== null && ie !== void 0 ? ie : Math.ceil(B),
                            height: (ue = t.height) !== null && ue !== void 0 ? ue : Math.ceil(C)
                        }, l ? (a.logger.debug("Document cloned, using foreign object rendering"), Q = new rse(a, y), [4, Q.render(d)]) : [3, 3];
                    case 2:
                        return x = ee.sent(), [3, 5];
                    case 3:
                        return a.logger.debug("Document cloned, element located at " + w + "," + m + " with size " + B + "x" + C + " using computed rendering"), a.logger.debug("Starting DOM parsing"), F = Px(a, d), E === F.styles.backgroundColor && (F.styles.backgroundColor = _i.TRANSPARENT), a.logger.debug("Starting renderer for element at " + y.x + "," + y.y + " with size " + y.width + "x" + y.height), Q = new Jie(a, y), [4, Q.render(F)];
                    case 4:
                        x = ee.sent(), ee.label = 5;
                    case 5:
                        return (!((pe = t.removeContainer) !== null && pe !== void 0) || pe) && (O3.destroy(p) || a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")), a.logger.debug("Finished rendering"), [2, x]
                }
            })
        })
    },
    ase = function(e, t, n) {
        var r = t.ownerDocument,
            A = r.documentElement ? _u(e, getComputedStyle(r.documentElement).backgroundColor) : _i.TRANSPARENT,
            i = r.body ? _u(e, getComputedStyle(r.body).backgroundColor) : _i.TRANSPARENT,
            s = typeof n == "string" ? _u(e, n) : n === null ? _i.TRANSPARENT : 4294967295;
        return t === r.documentElement ? Ss(A) ? Ss(i) ? s : i : A : s
    };
export {
    uc as $, sn as A, bt as B, Ms as C, Li as D, Oi as E, Mt as F, Xe as G, fr as H, Zt as I, De as J, E5 as K, ZM as L, q9 as M, $r as N, Cse as O, doe as P, hoe as Q, goe as R, Coe as S, FK as T, voe as U, Foe as V, bse as W, Ioe as X, BA as Y, Soe as Z, nt as _, eoe as a, jK as a$, kF as a0, FT as a1, FS as a2, QB as a3, an as a4, TS as a5, q as a6, Gp as a7, l1 as a8, cc as a9, yoe as aA, kI as aB, SS as aC, bS as aD, qf as aE, dF as aF, sl as aG, boe as aH, Uoe as aI, Hoe as aJ, koe as aK, Loe as aL, On as aM, moe as aN, Y1 as aO, Noe as aP, Eoe as aQ, b9 as aR, ib as aS, mc as aT, Rn as aU, n6 as aV, $t as aW, Toe as aX, jB as aY, Jt as aZ, IS as a_, Is as aa, Poe as ab, QS as ac, coe as ad, ng as ae, iS as af, sS as ag, Moe as ah, _oe as ai, CS as aj, Os as ak, OZ as al, vf as am, lC as an, iC as ao, EI as ap, w6 as aq, En as ar, au as as, Qoe as at, woe as au, Boe as av, Roe as aw, Hse as ax, xoe as ay, qX as az, toe as b, Jz as b0, Ooe as b1, Doe as b2, gse as b3, Sse as b4, Fse as b5, zse as b6, Yse as b7, Nse as b8, $se as b9, Tse as bA, jse as bB, S1 as bC, Vse as bD, BC as bE, T9 as bF, lse as bG, cse as bH, Qse as ba, bf as bb, bN as bc, Bn as bd, vse as be, mse as bf, Gse as bg, Mse as bh, Rse as bi, Ose as bj, Dse as bk, _se as bl, ki as bm, Use as bn, kse as bo, Pse as bp, Wse as bq, Jse as br, Kse as bs, wse as bt, xse as bu, hl as bv, VN as bw, Lse as bx, Xse as by, qse as bz, noe as c, roe as d, Aoe as e, ioe as f, soe as g, ooe as h, aoe as i, CT as j, _T as k, rg as l, Zse as m, Ese as n, o1 as o, dse as p, hse as q, Ie as r, qM as s, fse as t, loe as u, use as v, foe as w, uoe as x, poe as y, yse as z
};