const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es-DLelGW7y.js","assets/index-9PRMimni.js","assets/index-CZ_CrH4_.css","assets/Table-0PViRYCf.js","assets/Table.vue_vue_type_style_index_0_scoped_7b9e6ece_lang-BoW2DV_e.js","assets/vuedraggable.umd-Co2xEC3p.js","assets/Render.vue_vue_type_script_lang-DKUYY0Zw.js","assets/componentMap-CElCaWis.js","assets/propTypes-CebMRUpe.js","assets/format-DgF6KtHk.js","assets/omit-B2_8Y6O_.js","assets/_flatRest-DBrd2CHT.js","assets/flatten-DeoUZLdb.js","assets/Table-Dcnz4X4a.css","assets/print-CT_2hrjP.js","assets/basicModal.vue_vue_type_script_setup_true_lang-CsJydKhW.js","assets/basicModal.vue_vue_type_style_index_0_lang-8QZP7ApW.js","assets/basicModal-DbyYhys_.css","assets/useModal-CO65vga3.js","assets/componentSetting-DVhNDBTO.js","assets/useTimeout-BxFilWvD.js","assets/usePageCache-DluHn7Yy.js","assets/tabsView-BXskTdVh.js","assets/Flex-CTSf12gq.js","assets/TableAction.vue_vue_type_script_setup_true_lang-Bj_Y4LtN.js","assets/Modal.vue_vue_type_script_setup_true_lang-BMLqGWt1.js","assets/BasicForm-dL_oCSPM.js","assets/SingleImageUpload-CNx4b9eC.js","assets/ImageUpload.vue_vue_type_style_index_0_scoped_cb086928_lang-D-28kXvw.js","assets/ImageUpload-2O79x_Q-.css","assets/ImageUpload-DUsnro3W.js","assets/BasicUpload.vue_vue_type_style_index_0_scoped_a4d0e930_lang-DxRbtP01.js","assets/BasicUpload-q2aOClOy.css","assets/BasicForm.vue_vue_type_style_index_0_scoped_b9e995ec_lang-CEvcLwxD.js","assets/BasicForm-foIylFd_.css","assets/BasicSelect-C_uwzMkE.js","assets/BasicSelect.vue_vue_type_style_index_0_scoped_772d51cc_lang-Brp6PjEU.js","assets/BasicSelect-DteQK1Vf.css","assets/dictionary-BRse4lkf.js","assets/index-DkvzUEqh.js","assets/index-kKnqLkWM.js","assets/AutoComplete-Dv1Bqed4.js","assets/TreeSelect-BZh2DeCh.js","assets/template-rpthWlT9.js","assets/useForm-CKmgcynv.js"])))=>i.map(i=>d[i]);
import { V as Wf, br as iu, ac as t0, d as r0, r as Fl, a as n0, Z as Ss, cZ as i0, c as a0, o as s0, w as Qr, j as sn, W as o0, l as da, H as c0, aI as u0, p as Ul, A as yl, B as l0, i as bl, X as f0, __tla as __tla_0 } from "./index-9PRMimni.js";
import { B as h0 } from "./Table-0PViRYCf.js";
import { _ as B0 } from "./TableAction.vue_vue_type_script_setup_true_lang-Bj_Y4LtN.js";
import { _ as g0, __tla as __tla_1 } from "./Modal.vue_vue_type_script_setup_true_lang-BMLqGWt1.js";
import { aY as d0, aZ as p0 } from "./template-rpthWlT9.js";
let de, J5;
let __tla = Promise.all([
    (()=>{
        try {
            return __tla_0;
        } catch  {}
    })(),
    (()=>{
        try {
            return __tla_1;
        } catch  {}
    })()
]).then(async ()=>{
    const { t: Ns } = Wf(), w0 = [
        {
            title: "id",
            key: "id"
        },
        {
            title: Ns("mdm.smsInspectionTypeConfig.inspectionType"),
            key: "content"
        },
        {
            title: Ns("mdm.inspection.code"),
            key: "auditCode"
        },
        {
            title: Ns("mdm.inspection.group"),
            key: "auditGroup"
        },
        {
            title: Ns("mdm.inspection.parent"),
            key: "parentId"
        }
    ];
    var au = function(t, A) {
        return au = Object.setPrototypeOf || {
            __proto__: []
        } instanceof Array && function(e, r) {
            e.__proto__ = r;
        } || function(e, r) {
            for(var n in r)Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
        }, au(t, A);
    };
    function cr(t, A) {
        if (typeof A != "function" && A !== null) throw new TypeError("Class extends value " + String(A) + " is not a constructor or null");
        au(t, A);
        function e() {
            this.constructor = t;
        }
        t.prototype = A === null ? Object.create(A) : (e.prototype = A.prototype, new e);
    }
    var su = function() {
        return su = Object.assign || function(A) {
            for(var e, r = 1, n = arguments.length; r < n; r++){
                e = arguments[r];
                for(var i in e)Object.prototype.hasOwnProperty.call(e, i) && (A[i] = e[i]);
            }
            return A;
        }, su.apply(this, arguments);
    };
    function mt(t, A, e, r) {
        function n(i) {
            return i instanceof e ? i : new e(function(s) {
                s(i);
            });
        }
        return new (e || (e = Promise))(function(i, s) {
            function c(g) {
                try {
                    h(r.next(g));
                } catch (d) {
                    s(d);
                }
            }
            function u(g) {
                try {
                    h(r.throw(g));
                } catch (d) {
                    s(d);
                }
            }
            function h(g) {
                g.done ? i(g.value) : n(g.value).then(c, u);
            }
            h((r = r.apply(t, [])).next());
        });
    }
    function Bt(t, A) {
        var e = {
            label: 0,
            sent: function() {
                if (i[0] & 1) throw i[1];
                return i[1];
            },
            trys: [],
            ops: []
        }, r, n, i, s;
        return s = {
            next: c(0),
            throw: c(1),
            return: c(2)
        }, typeof Symbol == "function" && (s[Symbol.iterator] = function() {
            return this;
        }), s;
        function c(h) {
            return function(g) {
                return u([
                    h,
                    g
                ]);
            };
        }
        function u(h) {
            if (r) throw new TypeError("Generator is already executing.");
            for(; e;)try {
                if (r = 1, n && (i = h[0] & 2 ? n.return : h[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, h[1])).done) return i;
                switch(n = 0, i && (h = [
                    h[0] & 2,
                    i.value
                ]), h[0]){
                    case 0:
                    case 1:
                        i = h;
                        break;
                    case 4:
                        return e.label++, {
                            value: h[1],
                            done: !1
                        };
                    case 5:
                        e.label++, n = h[1], h = [
                            0
                        ];
                        continue;
                    case 7:
                        h = e.ops.pop(), e.trys.pop();
                        continue;
                    default:
                        if (i = e.trys, !(i = i.length > 0 && i[i.length - 1]) && (h[0] === 6 || h[0] === 2)) {
                            e = 0;
                            continue;
                        }
                        if (h[0] === 3 && (!i || h[1] > i[0] && h[1] < i[3])) {
                            e.label = h[1];
                            break;
                        }
                        if (h[0] === 6 && e.label < i[1]) {
                            e.label = i[1], i = h;
                            break;
                        }
                        if (i && e.label < i[2]) {
                            e.label = i[2], e.ops.push(h);
                            break;
                        }
                        i[2] && e.ops.pop(), e.trys.pop();
                        continue;
                }
                h = A.call(t, e);
            } catch (g) {
                h = [
                    6,
                    g
                ], n = 0;
            } finally{
                r = i = 0;
            }
            if (h[0] & 5) throw h[1];
            return {
                value: h[0] ? h[1] : void 0,
                done: !0
            };
        }
    }
    function _s(t, A, e) {
        if (arguments.length === 2) for(var r = 0, n = A.length, i; r < n; r++)(i || !(r in A)) && (i || (i = Array.prototype.slice.call(A, 0, r)), i[r] = A[r]);
        return t.concat(i || A);
    }
    var Vr = function() {
        function t(A, e, r, n) {
            this.left = A, this.top = e, this.width = r, this.height = n;
        }
        return t.prototype.add = function(A, e, r, n) {
            return new t(this.left + A, this.top + e, this.width + r, this.height + n);
        }, t.fromClientRect = function(A, e) {
            return new t(e.left + A.windowBounds.left, e.top + A.windowBounds.top, e.width, e.height);
        }, t.fromDOMRectList = function(A, e) {
            var r = Array.from(e).find(function(n) {
                return n.width !== 0;
            });
            return r ? new t(r.left + A.windowBounds.left, r.top + A.windowBounds.top, r.width, r.height) : t.EMPTY;
        }, t.EMPTY = new t(0, 0, 0, 0), t;
    }(), Eo = function(t, A) {
        return Vr.fromClientRect(t, A.getBoundingClientRect());
    }, v0 = function(t) {
        var A = t.body, e = t.documentElement;
        if (!A || !e) throw new Error("Unable to get document size");
        var r = Math.max(Math.max(A.scrollWidth, e.scrollWidth), Math.max(A.offsetWidth, e.offsetWidth), Math.max(A.clientWidth, e.clientWidth)), n = Math.max(Math.max(A.scrollHeight, e.scrollHeight), Math.max(A.offsetHeight, e.offsetHeight), Math.max(A.clientHeight, e.clientHeight));
        return new Vr(0, 0, r, n);
    }, Io = function(t) {
        for(var A = [], e = 0, r = t.length; e < r;){
            var n = t.charCodeAt(e++);
            if (n >= 55296 && n <= 56319 && e < r) {
                var i = t.charCodeAt(e++);
                (i & 64512) === 56320 ? A.push(((n & 1023) << 10) + (i & 1023) + 65536) : (A.push(n), e--);
            } else A.push(n);
        }
        return A;
    }, Me = function() {
        for(var t = [], A = 0; A < arguments.length; A++)t[A] = arguments[A];
        if (String.fromCodePoint) return String.fromCodePoint.apply(String, t);
        var e = t.length;
        if (!e) return "";
        for(var r = [], n = -1, i = ""; ++n < e;){
            var s = t[n];
            s <= 65535 ? r.push(s) : (s -= 65536, r.push((s >> 10) + 55296, s % 1024 + 56320)), (n + 1 === e || r.length > 16384) && (i += String.fromCharCode.apply(String, r), r.length = 0);
        }
        return i;
    }, Ll = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", m0 = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
    for(var Ds = 0; Ds < Ll.length; Ds++)m0[Ll.charCodeAt(Ds)] = Ds;
    var El = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Fa = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
    for(var Ts = 0; Ts < El.length; Ts++)Fa[El.charCodeAt(Ts)] = Ts;
    var C0 = function(t) {
        var A = t.length * .75, e = t.length, r, n = 0, i, s, c, u;
        t[t.length - 1] === "=" && (A--, t[t.length - 2] === "=" && A--);
        var h = typeof ArrayBuffer < "u" && typeof Uint8Array < "u" && typeof Uint8Array.prototype.slice < "u" ? new ArrayBuffer(A) : new Array(A), g = Array.isArray(h) ? h : new Uint8Array(h);
        for(r = 0; r < e; r += 4)i = Fa[t.charCodeAt(r)], s = Fa[t.charCodeAt(r + 1)], c = Fa[t.charCodeAt(r + 2)], u = Fa[t.charCodeAt(r + 3)], g[n++] = i << 2 | s >> 4, g[n++] = (s & 15) << 4 | c >> 2, g[n++] = (c & 3) << 6 | u & 63;
        return h;
    }, Q0 = function(t) {
        for(var A = t.length, e = [], r = 0; r < A; r += 2)e.push(t[r + 1] << 8 | t[r]);
        return e;
    }, F0 = function(t) {
        for(var A = t.length, e = [], r = 0; r < A; r += 4)e.push(t[r + 3] << 24 | t[r + 2] << 16 | t[r + 1] << 8 | t[r]);
        return e;
    }, Kn = 5, Ku = 11, Ic = 2, U0 = Ku - Kn, Xf = 65536 >> Kn, y0 = 1 << Kn, xc = y0 - 1, b0 = 1024 >> Kn, L0 = Xf + b0, E0 = L0, I0 = 32, x0 = E0 + I0, H0 = 65536 >> Ku, S0 = 1 << U0, N0 = S0 - 1, Il = function(t, A, e) {
        return t.slice ? t.slice(A, e) : new Uint16Array(Array.prototype.slice.call(t, A, e));
    }, _0 = function(t, A, e) {
        return t.slice ? t.slice(A, e) : new Uint32Array(Array.prototype.slice.call(t, A, e));
    }, D0 = function(t, A) {
        var e = C0(t), r = Array.isArray(e) ? F0(e) : new Uint32Array(e), n = Array.isArray(e) ? Q0(e) : new Uint16Array(e), i = 24, s = Il(n, i / 2, r[4] / 2), c = r[5] === 2 ? Il(n, (i + r[4]) / 2) : _0(r, Math.ceil((i + r[4]) / 4));
        return new T0(r[0], r[1], r[2], r[3], s, c);
    }, T0 = function() {
        function t(A, e, r, n, i, s) {
            this.initialValue = A, this.errorValue = e, this.highStart = r, this.highValueIndex = n, this.index = i, this.data = s;
        }
        return t.prototype.get = function(A) {
            var e;
            if (A >= 0) {
                if (A < 55296 || A > 56319 && A <= 65535) return e = this.index[A >> Kn], e = (e << Ic) + (A & xc), this.data[e];
                if (A <= 65535) return e = this.index[Xf + (A - 55296 >> Kn)], e = (e << Ic) + (A & xc), this.data[e];
                if (A < this.highStart) return e = x0 - H0 + (A >> Ku), e = this.index[e], e += A >> Kn & N0, e = this.index[e], e = (e << Ic) + (A & xc), this.data[e];
                if (A <= 1114111) return this.data[this.highValueIndex];
            }
            return this.errorValue;
        }, t;
    }(), xl = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", O0 = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
    for(var Os = 0; Os < xl.length; Os++)O0[xl.charCodeAt(Os)] = Os;
    var P0 = "[encoded data, 52888 characters]", Hl = 50, M0 = 1, Jf = 2, zf = 3, K0 = 4, k0 = 5, Sl = 7, Yf = 8, Nl = 9, hn = 10, ou = 11, _l = 12, cu = 13, R0 = 14, Ua = 15, uu = 16, Ps = 17, pa = 18, G0 = 19, Dl = 20, lu = 21, wa = 22, Hc = 23, vi = 24, _t = 25, ya = 26, ba = 27, mi = 28, j0 = 29, On = 30, V0 = 31, Ms = 32, Ks = 33, fu = 34, hu = 35, Bu = 36, Ta = 37, gu = 38, so = 39, oo = 40, Sc = 41, Zf = 42, q0 = 43, W0 = [
        9001,
        65288
    ], $f = "!", ie = "×", ks = "÷", du = D0(P0), kr = [
        On,
        Bu
    ], pu = [
        M0,
        Jf,
        zf,
        k0
    ], Ah = [
        hn,
        Yf
    ], Tl = [
        ba,
        ya
    ], X0 = pu.concat(Ah), Ol = [
        gu,
        so,
        oo,
        fu,
        hu
    ], J0 = [
        Ua,
        cu
    ], z0 = function(t, A) {
        A === void 0 && (A = "strict");
        var e = [], r = [], n = [];
        return t.forEach(function(i, s) {
            var c = du.get(i);
            if (c > Hl ? (n.push(!0), c -= Hl) : n.push(!1), [
                "normal",
                "auto",
                "loose"
            ].indexOf(A) !== -1 && [
                8208,
                8211,
                12316,
                12448
            ].indexOf(i) !== -1) return r.push(s), e.push(uu);
            if (c === K0 || c === ou) {
                if (s === 0) return r.push(s), e.push(On);
                var u = e[s - 1];
                return X0.indexOf(u) === -1 ? (r.push(r[s - 1]), e.push(u)) : (r.push(s), e.push(On));
            }
            if (r.push(s), c === V0) return e.push(A === "strict" ? lu : Ta);
            if (c === Zf || c === j0) return e.push(On);
            if (c === q0) return i >= 131072 && i <= 196605 || i >= 196608 && i <= 262141 ? e.push(Ta) : e.push(On);
            e.push(c);
        }), [
            r,
            e,
            n
        ];
    }, Nc = function(t, A, e, r) {
        var n = r[e];
        if (Array.isArray(t) ? t.indexOf(n) !== -1 : t === n) for(var i = e; i <= r.length;){
            i++;
            var s = r[i];
            if (s === A) return !0;
            if (s !== hn) break;
        }
        if (n === hn) for(var i = e; i > 0;){
            i--;
            var c = r[i];
            if (Array.isArray(t) ? t.indexOf(c) !== -1 : t === c) for(var u = e; u <= r.length;){
                u++;
                var s = r[u];
                if (s === A) return !0;
                if (s !== hn) break;
            }
            if (c !== hn) break;
        }
        return !1;
    }, Pl = function(t, A) {
        for(var e = t; e >= 0;){
            var r = A[e];
            if (r === hn) e--;
            else return r;
        }
        return 0;
    }, Y0 = function(t, A, e, r, n) {
        if (e[r] === 0) return ie;
        var i = r - 1;
        if (Array.isArray(n) && n[i] === !0) return ie;
        var s = i - 1, c = i + 1, u = A[i], h = s >= 0 ? A[s] : 0, g = A[c];
        if (u === Jf && g === zf) return ie;
        if (pu.indexOf(u) !== -1) return $f;
        if (pu.indexOf(g) !== -1 || Ah.indexOf(g) !== -1) return ie;
        if (Pl(i, A) === Yf) return ks;
        if (du.get(t[i]) === ou || (u === Ms || u === Ks) && du.get(t[c]) === ou || u === Sl || g === Sl || u === Nl || [
            hn,
            cu,
            Ua
        ].indexOf(u) === -1 && g === Nl || [
            Ps,
            pa,
            G0,
            vi,
            mi
        ].indexOf(g) !== -1 || Pl(i, A) === wa || Nc(Hc, wa, i, A) || Nc([
            Ps,
            pa
        ], lu, i, A) || Nc(_l, _l, i, A)) return ie;
        if (u === hn) return ks;
        if (u === Hc || g === Hc) return ie;
        if (g === uu || u === uu) return ks;
        if ([
            cu,
            Ua,
            lu
        ].indexOf(g) !== -1 || u === R0 || h === Bu && J0.indexOf(u) !== -1 || u === mi && g === Bu || g === Dl || kr.indexOf(g) !== -1 && u === _t || kr.indexOf(u) !== -1 && g === _t || u === ba && [
            Ta,
            Ms,
            Ks
        ].indexOf(g) !== -1 || [
            Ta,
            Ms,
            Ks
        ].indexOf(u) !== -1 && g === ya || kr.indexOf(u) !== -1 && Tl.indexOf(g) !== -1 || Tl.indexOf(u) !== -1 && kr.indexOf(g) !== -1 || [
            ba,
            ya
        ].indexOf(u) !== -1 && (g === _t || [
            wa,
            Ua
        ].indexOf(g) !== -1 && A[c + 1] === _t) || [
            wa,
            Ua
        ].indexOf(u) !== -1 && g === _t || u === _t && [
            _t,
            mi,
            vi
        ].indexOf(g) !== -1) return ie;
        if ([
            _t,
            mi,
            vi,
            Ps,
            pa
        ].indexOf(g) !== -1) for(var d = i; d >= 0;){
            var w = A[d];
            if (w === _t) return ie;
            if ([
                mi,
                vi
            ].indexOf(w) !== -1) d--;
            else break;
        }
        if ([
            ba,
            ya
        ].indexOf(g) !== -1) for(var d = [
            Ps,
            pa
        ].indexOf(u) !== -1 ? s : i; d >= 0;){
            var w = A[d];
            if (w === _t) return ie;
            if ([
                mi,
                vi
            ].indexOf(w) !== -1) d--;
            else break;
        }
        if (gu === u && [
            gu,
            so,
            fu,
            hu
        ].indexOf(g) !== -1 || [
            so,
            fu
        ].indexOf(u) !== -1 && [
            so,
            oo
        ].indexOf(g) !== -1 || [
            oo,
            hu
        ].indexOf(u) !== -1 && g === oo || Ol.indexOf(u) !== -1 && [
            Dl,
            ya
        ].indexOf(g) !== -1 || Ol.indexOf(g) !== -1 && u === ba || kr.indexOf(u) !== -1 && kr.indexOf(g) !== -1 || u === vi && kr.indexOf(g) !== -1 || kr.concat(_t).indexOf(u) !== -1 && g === wa && W0.indexOf(t[c]) === -1 || kr.concat(_t).indexOf(g) !== -1 && u === pa) return ie;
        if (u === Sc && g === Sc) {
            for(var B = e[i], L = 1; B > 0 && (B--, A[B] === Sc);)L++;
            if (L % 2 !== 0) return ie;
        }
        return u === Ms && g === Ks ? ie : ks;
    }, Z0 = function(t, A) {
        A || (A = {
            lineBreak: "normal",
            wordBreak: "normal"
        });
        var e = z0(t, A.lineBreak), r = e[0], n = e[1], i = e[2];
        (A.wordBreak === "break-all" || A.wordBreak === "break-word") && (n = n.map(function(c) {
            return [
                _t,
                On,
                Zf
            ].indexOf(c) !== -1 ? Ta : c;
        }));
        var s = A.wordBreak === "keep-all" ? i.map(function(c, u) {
            return c && t[u] >= 19968 && t[u] <= 40959;
        }) : void 0;
        return [
            r,
            n,
            s
        ];
    }, $0 = function() {
        function t(A, e, r, n) {
            this.codePoints = A, this.required = e === $f, this.start = r, this.end = n;
        }
        return t.prototype.slice = function() {
            return Me.apply(void 0, this.codePoints.slice(this.start, this.end));
        }, t;
    }(), A1 = function(t, A) {
        var e = Io(t), r = Z0(e, A), n = r[0], i = r[1], s = r[2], c = e.length, u = 0, h = 0;
        return {
            next: function() {
                if (h >= c) return {
                    done: !0,
                    value: null
                };
                for(var g = ie; h < c && (g = Y0(e, i, n, ++h, s)) === ie;);
                if (g !== ie || h === c) {
                    var d = new $0(e, g, u, h);
                    return u = h, {
                        value: d,
                        done: !1
                    };
                }
                return {
                    done: !0,
                    value: null
                };
            }
        };
    }, e1 = 1, t1 = 2, Ka = 4, Ml = 8, go = 10, Kl = 47, xa = 92, r1 = 9, n1 = 32, Rs = 34, va = 61, i1 = 35, a1 = 36, s1 = 37, Gs = 39, js = 40, ma = 41, o1 = 95, Lt = 45, c1 = 33, u1 = 60, l1 = 62, f1 = 64, h1 = 91, B1 = 93, g1 = 61, d1 = 123, Vs = 63, p1 = 125, kl = 124, w1 = 126, v1 = 128, Rl = 65533, _c = 42, Mn = 43, m1 = 44, C1 = 58, Q1 = 59, Oa = 46, F1 = 0, U1 = 8, y1 = 11, b1 = 14, L1 = 31, E1 = 127, Fr = -1, eh = 48, th = 97, rh = 101, I1 = 102, x1 = 117, H1 = 122, nh = 65, ih = 69, ah = 70, S1 = 85, N1 = 90, gt = function(t) {
        return t >= eh && t <= 57;
    }, _1 = function(t) {
        return t >= 55296 && t <= 57343;
    }, Ci = function(t) {
        return gt(t) || t >= nh && t <= ah || t >= th && t <= I1;
    }, D1 = function(t) {
        return t >= th && t <= H1;
    }, T1 = function(t) {
        return t >= nh && t <= N1;
    }, O1 = function(t) {
        return D1(t) || T1(t);
    }, P1 = function(t) {
        return t >= v1;
    }, qs = function(t) {
        return t === go || t === r1 || t === n1;
    }, po = function(t) {
        return O1(t) || P1(t) || t === o1;
    }, Gl = function(t) {
        return po(t) || gt(t) || t === Lt;
    }, M1 = function(t) {
        return t >= F1 && t <= U1 || t === y1 || t >= b1 && t <= L1 || t === E1;
    }, fn = function(t, A) {
        return t !== xa ? !1 : A !== go;
    }, Ws = function(t, A, e) {
        return t === Lt ? po(A) || fn(A, e) : po(t) ? !0 : !!(t === xa && fn(t, A));
    }, Dc = function(t, A, e) {
        return t === Mn || t === Lt ? gt(A) ? !0 : A === Oa && gt(e) : gt(t === Oa ? A : t);
    }, K1 = function(t) {
        var A = 0, e = 1;
        (t[A] === Mn || t[A] === Lt) && (t[A] === Lt && (e = -1), A++);
        for(var r = []; gt(t[A]);)r.push(t[A++]);
        var n = r.length ? parseInt(Me.apply(void 0, r), 10) : 0;
        t[A] === Oa && A++;
        for(var i = []; gt(t[A]);)i.push(t[A++]);
        var s = i.length, c = s ? parseInt(Me.apply(void 0, i), 10) : 0;
        (t[A] === ih || t[A] === rh) && A++;
        var u = 1;
        (t[A] === Mn || t[A] === Lt) && (t[A] === Lt && (u = -1), A++);
        for(var h = []; gt(t[A]);)h.push(t[A++]);
        var g = h.length ? parseInt(Me.apply(void 0, h), 10) : 0;
        return e * (n + c * Math.pow(10, -s)) * Math.pow(10, u * g);
    }, k1 = {
        type: 2
    }, R1 = {
        type: 3
    }, G1 = {
        type: 4
    }, j1 = {
        type: 13
    }, V1 = {
        type: 8
    }, q1 = {
        type: 21
    }, W1 = {
        type: 9
    }, X1 = {
        type: 10
    }, J1 = {
        type: 11
    }, z1 = {
        type: 12
    }, Y1 = {
        type: 14
    }, Xs = {
        type: 23
    }, Z1 = {
        type: 1
    }, $1 = {
        type: 25
    }, Ag = {
        type: 24
    }, eg = {
        type: 26
    }, tg = {
        type: 27
    }, rg = {
        type: 28
    }, ng = {
        type: 29
    }, ig = {
        type: 31
    }, wu = {
        type: 32
    }, sh = function() {
        function t() {
            this._value = [];
        }
        return t.prototype.write = function(A) {
            this._value = this._value.concat(Io(A));
        }, t.prototype.read = function() {
            for(var A = [], e = this.consumeToken(); e !== wu;)A.push(e), e = this.consumeToken();
            return A;
        }, t.prototype.consumeToken = function() {
            var A = this.consumeCodePoint();
            switch(A){
                case Rs:
                    return this.consumeStringToken(Rs);
                case i1:
                    var e = this.peekCodePoint(0), r = this.peekCodePoint(1), n = this.peekCodePoint(2);
                    if (Gl(e) || fn(r, n)) {
                        var i = Ws(e, r, n) ? t1 : e1, s = this.consumeName();
                        return {
                            type: 5,
                            value: s,
                            flags: i
                        };
                    }
                    break;
                case a1:
                    if (this.peekCodePoint(0) === va) return this.consumeCodePoint(), j1;
                    break;
                case Gs:
                    return this.consumeStringToken(Gs);
                case js:
                    return k1;
                case ma:
                    return R1;
                case _c:
                    if (this.peekCodePoint(0) === va) return this.consumeCodePoint(), Y1;
                    break;
                case Mn:
                    if (Dc(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken();
                    break;
                case m1:
                    return G1;
                case Lt:
                    var c = A, u = this.peekCodePoint(0), h = this.peekCodePoint(1);
                    if (Dc(c, u, h)) return this.reconsumeCodePoint(A), this.consumeNumericToken();
                    if (Ws(c, u, h)) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken();
                    if (u === Lt && h === l1) return this.consumeCodePoint(), this.consumeCodePoint(), Ag;
                    break;
                case Oa:
                    if (Dc(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken();
                    break;
                case Kl:
                    if (this.peekCodePoint(0) === _c) for(this.consumeCodePoint();;){
                        var g = this.consumeCodePoint();
                        if (g === _c && (g = this.consumeCodePoint(), g === Kl)) return this.consumeToken();
                        if (g === Fr) return this.consumeToken();
                    }
                    break;
                case C1:
                    return eg;
                case Q1:
                    return tg;
                case u1:
                    if (this.peekCodePoint(0) === c1 && this.peekCodePoint(1) === Lt && this.peekCodePoint(2) === Lt) return this.consumeCodePoint(), this.consumeCodePoint(), $1;
                    break;
                case f1:
                    var d = this.peekCodePoint(0), w = this.peekCodePoint(1), B = this.peekCodePoint(2);
                    if (Ws(d, w, B)) {
                        var s = this.consumeName();
                        return {
                            type: 7,
                            value: s
                        };
                    }
                    break;
                case h1:
                    return rg;
                case xa:
                    if (fn(A, this.peekCodePoint(0))) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken();
                    break;
                case B1:
                    return ng;
                case g1:
                    if (this.peekCodePoint(0) === va) return this.consumeCodePoint(), V1;
                    break;
                case d1:
                    return J1;
                case p1:
                    return z1;
                case x1:
                case S1:
                    var L = this.peekCodePoint(0), U = this.peekCodePoint(1);
                    return L === Mn && (Ci(U) || U === Vs) && (this.consumeCodePoint(), this.consumeUnicodeRangeToken()), this.reconsumeCodePoint(A), this.consumeIdentLikeToken();
                case kl:
                    if (this.peekCodePoint(0) === va) return this.consumeCodePoint(), W1;
                    if (this.peekCodePoint(0) === kl) return this.consumeCodePoint(), q1;
                    break;
                case w1:
                    if (this.peekCodePoint(0) === va) return this.consumeCodePoint(), X1;
                    break;
                case Fr:
                    return wu;
            }
            return qs(A) ? (this.consumeWhiteSpace(), ig) : gt(A) ? (this.reconsumeCodePoint(A), this.consumeNumericToken()) : po(A) ? (this.reconsumeCodePoint(A), this.consumeIdentLikeToken()) : {
                type: 6,
                value: Me(A)
            };
        }, t.prototype.consumeCodePoint = function() {
            var A = this._value.shift();
            return typeof A > "u" ? -1 : A;
        }, t.prototype.reconsumeCodePoint = function(A) {
            this._value.unshift(A);
        }, t.prototype.peekCodePoint = function(A) {
            return A >= this._value.length ? -1 : this._value[A];
        }, t.prototype.consumeUnicodeRangeToken = function() {
            for(var A = [], e = this.consumeCodePoint(); Ci(e) && A.length < 6;)A.push(e), e = this.consumeCodePoint();
            for(var r = !1; e === Vs && A.length < 6;)A.push(e), e = this.consumeCodePoint(), r = !0;
            if (r) {
                var n = parseInt(Me.apply(void 0, A.map(function(u) {
                    return u === Vs ? eh : u;
                })), 16), i = parseInt(Me.apply(void 0, A.map(function(u) {
                    return u === Vs ? ah : u;
                })), 16);
                return {
                    type: 30,
                    start: n,
                    end: i
                };
            }
            var s = parseInt(Me.apply(void 0, A), 16);
            if (this.peekCodePoint(0) === Lt && Ci(this.peekCodePoint(1))) {
                this.consumeCodePoint(), e = this.consumeCodePoint();
                for(var c = []; Ci(e) && c.length < 6;)c.push(e), e = this.consumeCodePoint();
                var i = parseInt(Me.apply(void 0, c), 16);
                return {
                    type: 30,
                    start: s,
                    end: i
                };
            } else return {
                type: 30,
                start: s,
                end: s
            };
        }, t.prototype.consumeIdentLikeToken = function() {
            var A = this.consumeName();
            return A.toLowerCase() === "url" && this.peekCodePoint(0) === js ? (this.consumeCodePoint(), this.consumeUrlToken()) : this.peekCodePoint(0) === js ? (this.consumeCodePoint(), {
                type: 19,
                value: A
            }) : {
                type: 20,
                value: A
            };
        }, t.prototype.consumeUrlToken = function() {
            var A = [];
            if (this.consumeWhiteSpace(), this.peekCodePoint(0) === Fr) return {
                type: 22,
                value: ""
            };
            var e = this.peekCodePoint(0);
            if (e === Gs || e === Rs) {
                var r = this.consumeStringToken(this.consumeCodePoint());
                return r.type === 0 && (this.consumeWhiteSpace(), this.peekCodePoint(0) === Fr || this.peekCodePoint(0) === ma) ? (this.consumeCodePoint(), {
                    type: 22,
                    value: r.value
                }) : (this.consumeBadUrlRemnants(), Xs);
            }
            for(;;){
                var n = this.consumeCodePoint();
                if (n === Fr || n === ma) return {
                    type: 22,
                    value: Me.apply(void 0, A)
                };
                if (qs(n)) return this.consumeWhiteSpace(), this.peekCodePoint(0) === Fr || this.peekCodePoint(0) === ma ? (this.consumeCodePoint(), {
                    type: 22,
                    value: Me.apply(void 0, A)
                }) : (this.consumeBadUrlRemnants(), Xs);
                if (n === Rs || n === Gs || n === js || M1(n)) return this.consumeBadUrlRemnants(), Xs;
                if (n === xa) if (fn(n, this.peekCodePoint(0))) A.push(this.consumeEscapedCodePoint());
                else return this.consumeBadUrlRemnants(), Xs;
                else A.push(n);
            }
        }, t.prototype.consumeWhiteSpace = function() {
            for(; qs(this.peekCodePoint(0));)this.consumeCodePoint();
        }, t.prototype.consumeBadUrlRemnants = function() {
            for(;;){
                var A = this.consumeCodePoint();
                if (A === ma || A === Fr) return;
                fn(A, this.peekCodePoint(0)) && this.consumeEscapedCodePoint();
            }
        }, t.prototype.consumeStringSlice = function(A) {
            for(var e = 5e4, r = ""; A > 0;){
                var n = Math.min(e, A);
                r += Me.apply(void 0, this._value.splice(0, n)), A -= n;
            }
            return this._value.shift(), r;
        }, t.prototype.consumeStringToken = function(A) {
            var e = "", r = 0;
            do {
                var n = this._value[r];
                if (n === Fr || n === void 0 || n === A) return e += this.consumeStringSlice(r), {
                    type: 0,
                    value: e
                };
                if (n === go) return this._value.splice(0, r), Z1;
                if (n === xa) {
                    var i = this._value[r + 1];
                    i !== Fr && i !== void 0 && (i === go ? (e += this.consumeStringSlice(r), r = -1, this._value.shift()) : fn(n, i) && (e += this.consumeStringSlice(r), e += Me(this.consumeEscapedCodePoint()), r = -1));
                }
                r++;
            }while (!0);
        }, t.prototype.consumeNumber = function() {
            var A = [], e = Ka, r = this.peekCodePoint(0);
            for((r === Mn || r === Lt) && A.push(this.consumeCodePoint()); gt(this.peekCodePoint(0));)A.push(this.consumeCodePoint());
            r = this.peekCodePoint(0);
            var n = this.peekCodePoint(1);
            if (r === Oa && gt(n)) for(A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = Ml; gt(this.peekCodePoint(0));)A.push(this.consumeCodePoint());
            r = this.peekCodePoint(0), n = this.peekCodePoint(1);
            var i = this.peekCodePoint(2);
            if ((r === ih || r === rh) && ((n === Mn || n === Lt) && gt(i) || gt(n))) for(A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = Ml; gt(this.peekCodePoint(0));)A.push(this.consumeCodePoint());
            return [
                K1(A),
                e
            ];
        }, t.prototype.consumeNumericToken = function() {
            var A = this.consumeNumber(), e = A[0], r = A[1], n = this.peekCodePoint(0), i = this.peekCodePoint(1), s = this.peekCodePoint(2);
            if (Ws(n, i, s)) {
                var c = this.consumeName();
                return {
                    type: 15,
                    number: e,
                    flags: r,
                    unit: c
                };
            }
            return n === s1 ? (this.consumeCodePoint(), {
                type: 16,
                number: e,
                flags: r
            }) : {
                type: 17,
                number: e,
                flags: r
            };
        }, t.prototype.consumeEscapedCodePoint = function() {
            var A = this.consumeCodePoint();
            if (Ci(A)) {
                for(var e = Me(A); Ci(this.peekCodePoint(0)) && e.length < 6;)e += Me(this.consumeCodePoint());
                qs(this.peekCodePoint(0)) && this.consumeCodePoint();
                var r = parseInt(e, 16);
                return r === 0 || _1(r) || r > 1114111 ? Rl : r;
            }
            return A === Fr ? Rl : A;
        }, t.prototype.consumeName = function() {
            for(var A = "";;){
                var e = this.consumeCodePoint();
                if (Gl(e)) A += Me(e);
                else if (fn(e, this.peekCodePoint(0))) A += Me(this.consumeEscapedCodePoint());
                else return this.reconsumeCodePoint(e), A;
            }
        }, t;
    }(), oh = function() {
        function t(A) {
            this._tokens = A;
        }
        return t.create = function(A) {
            var e = new sh;
            return e.write(A), new t(e.read());
        }, t.parseValue = function(A) {
            return t.create(A).parseComponentValue();
        }, t.parseValues = function(A) {
            return t.create(A).parseComponentValues();
        }, t.prototype.parseComponentValue = function() {
            for(var A = this.consumeToken(); A.type === 31;)A = this.consumeToken();
            if (A.type === 32) throw new SyntaxError("Error parsing CSS component value, unexpected EOF");
            this.reconsumeToken(A);
            var e = this.consumeComponentValue();
            do A = this.consumeToken();
            while (A.type === 31);
            if (A.type === 32) return e;
            throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one");
        }, t.prototype.parseComponentValues = function() {
            for(var A = [];;){
                var e = this.consumeComponentValue();
                if (e.type === 32) return A;
                A.push(e), A.push();
            }
        }, t.prototype.consumeComponentValue = function() {
            var A = this.consumeToken();
            switch(A.type){
                case 11:
                case 28:
                case 2:
                    return this.consumeSimpleBlock(A.type);
                case 19:
                    return this.consumeFunction(A);
            }
            return A;
        }, t.prototype.consumeSimpleBlock = function(A) {
            for(var e = {
                type: A,
                values: []
            }, r = this.consumeToken();;){
                if (r.type === 32 || sg(r, A)) return e;
                this.reconsumeToken(r), e.values.push(this.consumeComponentValue()), r = this.consumeToken();
            }
        }, t.prototype.consumeFunction = function(A) {
            for(var e = {
                name: A.value,
                values: [],
                type: 18
            };;){
                var r = this.consumeToken();
                if (r.type === 32 || r.type === 3) return e;
                this.reconsumeToken(r), e.values.push(this.consumeComponentValue());
            }
        }, t.prototype.consumeToken = function() {
            var A = this._tokens.shift();
            return typeof A > "u" ? wu : A;
        }, t.prototype.reconsumeToken = function(A) {
            this._tokens.unshift(A);
        }, t;
    }(), ka = function(t) {
        return t.type === 15;
    }, Mi = function(t) {
        return t.type === 17;
    }, ve = function(t) {
        return t.type === 20;
    }, ag = function(t) {
        return t.type === 0;
    }, vu = function(t, A) {
        return ve(t) && t.value === A;
    }, ch = function(t) {
        return t.type !== 31;
    }, Pi = function(t) {
        return t.type !== 31 && t.type !== 4;
    }, Lr = function(t) {
        var A = [], e = [];
        return t.forEach(function(r) {
            if (r.type === 4) {
                if (e.length === 0) throw new Error("Error parsing function args, zero tokens for arg");
                A.push(e), e = [];
                return;
            }
            r.type !== 31 && e.push(r);
        }), e.length && A.push(e), A;
    }, sg = function(t, A) {
        return A === 11 && t.type === 12 || A === 28 && t.type === 29 ? !0 : A === 2 && t.type === 3;
    }, vn = function(t) {
        return t.type === 17 || t.type === 15;
    }, We = function(t) {
        return t.type === 16 || vn(t);
    }, uh = function(t) {
        return t.length > 1 ? [
            t[0],
            t[1]
        ] : [
            t[0]
        ];
    }, at = {
        type: 17,
        number: 0,
        flags: Ka
    }, ku = {
        type: 16,
        number: 50,
        flags: Ka
    }, Bn = {
        type: 16,
        number: 100,
        flags: Ka
    }, La = function(t, A, e) {
        var r = t[0], n = t[1];
        return [
            ye(r, A),
            ye(typeof n < "u" ? n : r, e)
        ];
    }, ye = function(t, A) {
        if (t.type === 16) return t.number / 100 * A;
        if (ka(t)) switch(t.unit){
            case "rem":
            case "em":
                return 16 * t.number;
            case "px":
            default:
                return t.number;
        }
        return t.number;
    }, lh = "deg", fh = "grad", hh = "rad", Bh = "turn", xo = {
        name: "angle",
        parse: function(t, A) {
            if (A.type === 15) switch(A.unit){
                case lh:
                    return Math.PI * A.number / 180;
                case fh:
                    return Math.PI / 200 * A.number;
                case hh:
                    return A.number;
                case Bh:
                    return Math.PI * 2 * A.number;
            }
            throw new Error("Unsupported angle type");
        }
    }, gh = function(t) {
        return t.type === 15 && (t.unit === lh || t.unit === fh || t.unit === hh || t.unit === Bh);
    }, dh = function(t) {
        var A = t.filter(ve).map(function(e) {
            return e.value;
        }).join(" ");
        switch(A){
            case "to bottom right":
            case "to right bottom":
            case "left top":
            case "top left":
                return [
                    at,
                    at
                ];
            case "to top":
            case "bottom":
                return qt(0);
            case "to bottom left":
            case "to left bottom":
            case "right top":
            case "top right":
                return [
                    at,
                    Bn
                ];
            case "to right":
            case "left":
                return qt(90);
            case "to top left":
            case "to left top":
            case "right bottom":
            case "bottom right":
                return [
                    Bn,
                    Bn
                ];
            case "to bottom":
            case "top":
                return qt(180);
            case "to top right":
            case "to right top":
            case "left bottom":
            case "bottom left":
                return [
                    Bn,
                    at
                ];
            case "to left":
            case "right":
                return qt(270);
        }
        return 0;
    }, qt = function(t) {
        return Math.PI * t / 180;
    }, pn = {
        name: "color",
        parse: function(t, A) {
            if (A.type === 18) {
                var e = og[A.name];
                if (typeof e > "u") throw new Error('Attempting to parse an unsupported color function "' + A.name + '"');
                return e(t, A.values);
            }
            if (A.type === 5) {
                if (A.value.length === 3) {
                    var r = A.value.substring(0, 1), n = A.value.substring(1, 2), i = A.value.substring(2, 3);
                    return gn(parseInt(r + r, 16), parseInt(n + n, 16), parseInt(i + i, 16), 1);
                }
                if (A.value.length === 4) {
                    var r = A.value.substring(0, 1), n = A.value.substring(1, 2), i = A.value.substring(2, 3), s = A.value.substring(3, 4);
                    return gn(parseInt(r + r, 16), parseInt(n + n, 16), parseInt(i + i, 16), parseInt(s + s, 16) / 255);
                }
                if (A.value.length === 6) {
                    var r = A.value.substring(0, 2), n = A.value.substring(2, 4), i = A.value.substring(4, 6);
                    return gn(parseInt(r, 16), parseInt(n, 16), parseInt(i, 16), 1);
                }
                if (A.value.length === 8) {
                    var r = A.value.substring(0, 2), n = A.value.substring(2, 4), i = A.value.substring(4, 6), s = A.value.substring(6, 8);
                    return gn(parseInt(r, 16), parseInt(n, 16), parseInt(i, 16), parseInt(s, 16) / 255);
                }
            }
            if (A.type === 20) {
                var c = jr[A.value.toUpperCase()];
                if (typeof c < "u") return c;
            }
            return jr.TRANSPARENT;
        }
    }, wn = function(t) {
        return (255 & t) === 0;
    }, At = function(t) {
        var A = 255 & t, e = 255 & t >> 8, r = 255 & t >> 16, n = 255 & t >> 24;
        return A < 255 ? "rgba(" + n + "," + r + "," + e + "," + A / 255 + ")" : "rgb(" + n + "," + r + "," + e + ")";
    }, gn = function(t, A, e, r) {
        return (t << 24 | A << 16 | e << 8 | Math.round(r * 255) << 0) >>> 0;
    }, jl = function(t, A) {
        if (t.type === 17) return t.number;
        if (t.type === 16) {
            var e = A === 3 ? 1 : 255;
            return A === 3 ? t.number / 100 * e : Math.round(t.number / 100 * e);
        }
        return 0;
    }, Vl = function(t, A) {
        var e = A.filter(Pi);
        if (e.length === 3) {
            var r = e.map(jl), n = r[0], i = r[1], s = r[2];
            return gn(n, i, s, 1);
        }
        if (e.length === 4) {
            var c = e.map(jl), n = c[0], i = c[1], s = c[2], u = c[3];
            return gn(n, i, s, u);
        }
        return 0;
    };
    function Tc(t, A, e) {
        return e < 0 && (e += 1), e >= 1 && (e -= 1), e < 1 / 6 ? (A - t) * e * 6 + t : e < 1 / 2 ? A : e < 2 / 3 ? (A - t) * 6 * (2 / 3 - e) + t : t;
    }
    var ql = function(t, A) {
        var e = A.filter(Pi), r = e[0], n = e[1], i = e[2], s = e[3], c = (r.type === 17 ? qt(r.number) : xo.parse(t, r)) / (Math.PI * 2), u = We(n) ? n.number / 100 : 0, h = We(i) ? i.number / 100 : 0, g = typeof s < "u" && We(s) ? ye(s, 1) : 1;
        if (u === 0) return gn(h * 255, h * 255, h * 255, 1);
        var d = h <= .5 ? h * (u + 1) : h + u - h * u, w = h * 2 - d, B = Tc(w, d, c + 1 / 3), L = Tc(w, d, c), U = Tc(w, d, c - 1 / 3);
        return gn(B * 255, L * 255, U * 255, g);
    }, og = {
        hsl: ql,
        hsla: ql,
        rgb: Vl,
        rgba: Vl
    }, Ha = function(t, A) {
        return pn.parse(t, oh.create(A).parseComponentValue());
    }, jr = {
        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
    }, cg = {
        name: "background-clip",
        initialValue: "border-box",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.map(function(e) {
                if (ve(e)) switch(e.value){
                    case "padding-box":
                        return 1;
                    case "content-box":
                        return 2;
                }
                return 0;
            });
        }
    }, ug = {
        name: "background-color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    }, Ho = function(t, A) {
        var e = pn.parse(t, A[0]), r = A[1];
        return r && We(r) ? {
            color: e,
            stop: r
        } : {
            color: e,
            stop: null
        };
    }, Wl = function(t, A) {
        var e = t[0], r = t[t.length - 1];
        e.stop === null && (e.stop = at), r.stop === null && (r.stop = Bn);
        for(var n = [], i = 0, s = 0; s < t.length; s++){
            var c = t[s].stop;
            if (c !== null) {
                var u = ye(c, A);
                u > i ? n.push(u) : n.push(i), i = u;
            } else n.push(null);
        }
        for(var h = null, s = 0; s < n.length; s++){
            var g = n[s];
            if (g === null) h === null && (h = s);
            else if (h !== null) {
                for(var d = s - h, w = n[h - 1], B = (g - w) / (d + 1), L = 1; L <= d; L++)n[h + L - 1] = B * L;
                h = null;
            }
        }
        return t.map(function(U, N) {
            var Q = U.color;
            return {
                color: Q,
                stop: Math.max(Math.min(1, n[N] / A), 0)
            };
        });
    }, lg = function(t, A, e) {
        var r = A / 2, n = e / 2, i = ye(t[0], A) - r, s = n - ye(t[1], e);
        return (Math.atan2(s, i) + Math.PI * 2) % (Math.PI * 2);
    }, fg = function(t, A, e) {
        var r = typeof t == "number" ? t : lg(t, A, e), n = Math.abs(A * Math.sin(r)) + Math.abs(e * Math.cos(r)), i = A / 2, s = e / 2, c = n / 2, u = Math.sin(r - Math.PI / 2) * c, h = Math.cos(r - Math.PI / 2) * c;
        return [
            n,
            i - h,
            i + h,
            s - u,
            s + u
        ];
    }, sr = function(t, A) {
        return Math.sqrt(t * t + A * A);
    }, Xl = function(t, A, e, r, n) {
        var i = [
            [
                0,
                0
            ],
            [
                0,
                A
            ],
            [
                t,
                0
            ],
            [
                t,
                A
            ]
        ];
        return i.reduce(function(s, c) {
            var u = c[0], h = c[1], g = sr(e - u, r - h);
            return (n ? g < s.optimumDistance : g > s.optimumDistance) ? {
                optimumCorner: c,
                optimumDistance: g
            } : s;
        }, {
            optimumDistance: n ? 1 / 0 : -1 / 0,
            optimumCorner: null
        }).optimumCorner;
    }, hg = function(t, A, e, r, n) {
        var i = 0, s = 0;
        switch(t.size){
            case 0:
                t.shape === 0 ? i = s = Math.min(Math.abs(A), Math.abs(A - r), Math.abs(e), Math.abs(e - n)) : t.shape === 1 && (i = Math.min(Math.abs(A), Math.abs(A - r)), s = Math.min(Math.abs(e), Math.abs(e - n)));
                break;
            case 2:
                if (t.shape === 0) i = s = Math.min(sr(A, e), sr(A, e - n), sr(A - r, e), sr(A - r, e - n));
                else if (t.shape === 1) {
                    var c = Math.min(Math.abs(e), Math.abs(e - n)) / Math.min(Math.abs(A), Math.abs(A - r)), u = Xl(r, n, A, e, !0), h = u[0], g = u[1];
                    i = sr(h - A, (g - e) / c), s = c * i;
                }
                break;
            case 1:
                t.shape === 0 ? i = s = Math.max(Math.abs(A), Math.abs(A - r), Math.abs(e), Math.abs(e - n)) : t.shape === 1 && (i = Math.max(Math.abs(A), Math.abs(A - r)), s = Math.max(Math.abs(e), Math.abs(e - n)));
                break;
            case 3:
                if (t.shape === 0) i = s = Math.max(sr(A, e), sr(A, e - n), sr(A - r, e), sr(A - r, e - n));
                else if (t.shape === 1) {
                    var c = Math.max(Math.abs(e), Math.abs(e - n)) / Math.max(Math.abs(A), Math.abs(A - r)), d = Xl(r, n, A, e, !1), h = d[0], g = d[1];
                    i = sr(h - A, (g - e) / c), s = c * i;
                }
                break;
        }
        return Array.isArray(t.size) && (i = ye(t.size[0], r), s = t.size.length === 2 ? ye(t.size[1], n) : i), [
            i,
            s
        ];
    }, Bg = function(t, A) {
        var e = qt(180), r = [];
        return Lr(A).forEach(function(n, i) {
            if (i === 0) {
                var s = n[0];
                if (s.type === 20 && s.value === "to") {
                    e = dh(n);
                    return;
                } else if (gh(s)) {
                    e = xo.parse(t, s);
                    return;
                }
            }
            var c = Ho(t, n);
            r.push(c);
        }), {
            angle: e,
            stops: r,
            type: 1
        };
    }, Js = function(t, A) {
        var e = qt(180), r = [];
        return Lr(A).forEach(function(n, i) {
            if (i === 0) {
                var s = n[0];
                if (s.type === 20 && [
                    "top",
                    "left",
                    "right",
                    "bottom"
                ].indexOf(s.value) !== -1) {
                    e = dh(n);
                    return;
                } else if (gh(s)) {
                    e = (xo.parse(t, s) + qt(270)) % qt(360);
                    return;
                }
            }
            var c = Ho(t, n);
            r.push(c);
        }), {
            angle: e,
            stops: r,
            type: 1
        };
    }, gg = function(t, A) {
        var e = qt(180), r = [], n = 1, i = 0, s = 3, c = [];
        return Lr(A).forEach(function(u, h) {
            var g = u[0];
            if (h === 0) {
                if (ve(g) && g.value === "linear") {
                    n = 1;
                    return;
                } else if (ve(g) && g.value === "radial") {
                    n = 2;
                    return;
                }
            }
            if (g.type === 18) {
                if (g.name === "from") {
                    var d = pn.parse(t, g.values[0]);
                    r.push({
                        stop: at,
                        color: d
                    });
                } else if (g.name === "to") {
                    var d = pn.parse(t, g.values[0]);
                    r.push({
                        stop: Bn,
                        color: d
                    });
                } else if (g.name === "color-stop") {
                    var w = g.values.filter(Pi);
                    if (w.length === 2) {
                        var d = pn.parse(t, w[1]), B = w[0];
                        Mi(B) && r.push({
                            stop: {
                                type: 16,
                                number: B.number * 100,
                                flags: B.flags
                            },
                            color: d
                        });
                    }
                }
            }
        }), n === 1 ? {
            angle: (e + qt(180)) % qt(360),
            stops: r,
            type: n
        } : {
            size: s,
            shape: i,
            stops: r,
            position: c,
            type: n
        };
    }, ph = "closest-side", wh = "farthest-side", vh = "closest-corner", mh = "farthest-corner", Ch = "circle", Qh = "ellipse", Fh = "cover", Uh = "contain", dg = function(t, A) {
        var e = 0, r = 3, n = [], i = [];
        return Lr(A).forEach(function(s, c) {
            var u = !0;
            if (c === 0) {
                var h = !1;
                u = s.reduce(function(d, w) {
                    if (h) if (ve(w)) switch(w.value){
                        case "center":
                            return i.push(ku), d;
                        case "top":
                        case "left":
                            return i.push(at), d;
                        case "right":
                        case "bottom":
                            return i.push(Bn), d;
                    }
                    else (We(w) || vn(w)) && i.push(w);
                    else if (ve(w)) switch(w.value){
                        case Ch:
                            return e = 0, !1;
                        case Qh:
                            return e = 1, !1;
                        case "at":
                            return h = !0, !1;
                        case ph:
                            return r = 0, !1;
                        case Fh:
                        case wh:
                            return r = 1, !1;
                        case Uh:
                        case vh:
                            return r = 2, !1;
                        case mh:
                            return r = 3, !1;
                    }
                    else if (vn(w) || We(w)) return Array.isArray(r) || (r = []), r.push(w), !1;
                    return d;
                }, u);
            }
            if (u) {
                var g = Ho(t, s);
                n.push(g);
            }
        }), {
            size: r,
            shape: e,
            stops: n,
            position: i,
            type: 2
        };
    }, zs = function(t, A) {
        var e = 0, r = 3, n = [], i = [];
        return Lr(A).forEach(function(s, c) {
            var u = !0;
            if (c === 0 ? u = s.reduce(function(g, d) {
                if (ve(d)) switch(d.value){
                    case "center":
                        return i.push(ku), !1;
                    case "top":
                    case "left":
                        return i.push(at), !1;
                    case "right":
                    case "bottom":
                        return i.push(Bn), !1;
                }
                else if (We(d) || vn(d)) return i.push(d), !1;
                return g;
            }, u) : c === 1 && (u = s.reduce(function(g, d) {
                if (ve(d)) switch(d.value){
                    case Ch:
                        return e = 0, !1;
                    case Qh:
                        return e = 1, !1;
                    case Uh:
                    case ph:
                        return r = 0, !1;
                    case wh:
                        return r = 1, !1;
                    case vh:
                        return r = 2, !1;
                    case Fh:
                    case mh:
                        return r = 3, !1;
                }
                else if (vn(d) || We(d)) return Array.isArray(r) || (r = []), r.push(d), !1;
                return g;
            }, u)), u) {
                var h = Ho(t, s);
                n.push(h);
            }
        }), {
            size: r,
            shape: e,
            stops: n,
            position: i,
            type: 2
        };
    }, pg = function(t) {
        return t.type === 1;
    }, wg = function(t) {
        return t.type === 2;
    }, Ru = {
        name: "image",
        parse: function(t, A) {
            if (A.type === 22) {
                var e = {
                    url: A.value,
                    type: 0
                };
                return t.cache.addImage(A.value), e;
            }
            if (A.type === 18) {
                var r = yh[A.name];
                if (typeof r > "u") throw new Error('Attempting to parse an unsupported image function "' + A.name + '"');
                return r(t, A.values);
            }
            throw new Error("Unsupported image type " + A.type);
        }
    };
    function vg(t) {
        return !(t.type === 20 && t.value === "none") && (t.type !== 18 || !!yh[t.name]);
    }
    var yh = {
        "linear-gradient": Bg,
        "-moz-linear-gradient": Js,
        "-ms-linear-gradient": Js,
        "-o-linear-gradient": Js,
        "-webkit-linear-gradient": Js,
        "radial-gradient": dg,
        "-moz-radial-gradient": zs,
        "-ms-radial-gradient": zs,
        "-o-radial-gradient": zs,
        "-webkit-radial-gradient": zs,
        "-webkit-gradient": gg
    }, mg = {
        name: "background-image",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            if (A.length === 0) return [];
            var e = A[0];
            return e.type === 20 && e.value === "none" ? [] : A.filter(function(r) {
                return Pi(r) && vg(r);
            }).map(function(r) {
                return Ru.parse(t, r);
            });
        }
    }, Cg = {
        name: "background-origin",
        initialValue: "border-box",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.map(function(e) {
                if (ve(e)) switch(e.value){
                    case "padding-box":
                        return 1;
                    case "content-box":
                        return 2;
                }
                return 0;
            });
        }
    }, Qg = {
        name: "background-position",
        initialValue: "0% 0%",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            return Lr(A).map(function(e) {
                return e.filter(We);
            }).map(uh);
        }
    }, Fg = {
        name: "background-repeat",
        initialValue: "repeat",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return Lr(A).map(function(e) {
                return e.filter(ve).map(function(r) {
                    return r.value;
                }).join(" ");
            }).map(Ug);
        }
    }, Ug = function(t) {
        switch(t){
            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;
        }
    }, Ni;
    (function(t) {
        t.AUTO = "auto", t.CONTAIN = "contain", t.COVER = "cover";
    })(Ni || (Ni = {}));
    var yg = {
        name: "background-size",
        initialValue: "0",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return Lr(A).map(function(e) {
                return e.filter(bg);
            });
        }
    }, bg = function(t) {
        return ve(t) || We(t);
    }, So = function(t) {
        return {
            name: "border-" + t + "-color",
            initialValue: "transparent",
            prefix: !1,
            type: 3,
            format: "color"
        };
    }, Lg = So("top"), Eg = So("right"), Ig = So("bottom"), xg = So("left"), No = function(t) {
        return {
            name: "border-radius-" + t,
            initialValue: "0 0",
            prefix: !1,
            type: 1,
            parse: function(A, e) {
                return uh(e.filter(We));
            }
        };
    }, Hg = No("top-left"), Sg = No("top-right"), Ng = No("bottom-right"), _g = No("bottom-left"), _o = function(t) {
        return {
            name: "border-" + t + "-style",
            initialValue: "solid",
            prefix: !1,
            type: 2,
            parse: function(A, e) {
                switch(e){
                    case "none":
                        return 0;
                    case "dashed":
                        return 2;
                    case "dotted":
                        return 3;
                    case "double":
                        return 4;
                }
                return 1;
            }
        };
    }, Dg = _o("top"), Tg = _o("right"), Og = _o("bottom"), Pg = _o("left"), Do = function(t) {
        return {
            name: "border-" + t + "-width",
            initialValue: "0",
            type: 0,
            prefix: !1,
            parse: function(A, e) {
                return ka(e) ? e.number : 0;
            }
        };
    }, Mg = Do("top"), Kg = Do("right"), kg = Do("bottom"), Rg = Do("left"), Gg = {
        name: "color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    }, jg = {
        name: "direction",
        initialValue: "ltr",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "rtl":
                    return 1;
                case "ltr":
                default:
                    return 0;
            }
        }
    }, Vg = {
        name: "display",
        initialValue: "inline-block",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.filter(ve).reduce(function(e, r) {
                return e | qg(r.value);
            }, 0);
        }
    }, qg = function(t) {
        switch(t){
            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;
    }, Wg = {
        name: "float",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "left":
                    return 1;
                case "right":
                    return 2;
                case "inline-start":
                    return 3;
                case "inline-end":
                    return 4;
            }
            return 0;
        }
    }, Xg = {
        name: "letter-spacing",
        initialValue: "0",
        prefix: !1,
        type: 0,
        parse: function(t, A) {
            return A.type === 20 && A.value === "normal" ? 0 : A.type === 17 || A.type === 15 ? A.number : 0;
        }
    }, wo;
    (function(t) {
        t.NORMAL = "normal", t.STRICT = "strict";
    })(wo || (wo = {}));
    var Jg = {
        name: "line-break",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "strict":
                    return wo.STRICT;
                case "normal":
                default:
                    return wo.NORMAL;
            }
        }
    }, zg = {
        name: "line-height",
        initialValue: "normal",
        prefix: !1,
        type: 4
    }, Jl = function(t, A) {
        return ve(t) && t.value === "normal" ? 1.2 * A : t.type === 17 ? A * t.number : We(t) ? ye(t, A) : A;
    }, Yg = {
        name: "list-style-image",
        initialValue: "none",
        type: 0,
        prefix: !1,
        parse: function(t, A) {
            return A.type === 20 && A.value === "none" ? null : Ru.parse(t, A);
        }
    }, Zg = {
        name: "list-style-position",
        initialValue: "outside",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "inside":
                    return 0;
                case "outside":
                default:
                    return 1;
            }
        }
    }, mu = {
        name: "list-style-type",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                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;
            }
        }
    }, To = function(t) {
        return {
            name: "margin-" + t,
            initialValue: "0",
            prefix: !1,
            type: 4
        };
    }, $g = To("top"), A2 = To("right"), e2 = To("bottom"), t2 = To("left"), r2 = {
        name: "overflow",
        initialValue: "visible",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.filter(ve).map(function(e) {
                switch(e.value){
                    case "hidden":
                        return 1;
                    case "scroll":
                        return 2;
                    case "clip":
                        return 3;
                    case "auto":
                        return 4;
                    case "visible":
                    default:
                        return 0;
                }
            });
        }
    }, n2 = {
        name: "overflow-wrap",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "break-word":
                    return "break-word";
                case "normal":
                default:
                    return "normal";
            }
        }
    }, Oo = function(t) {
        return {
            name: "padding-" + t,
            initialValue: "0",
            prefix: !1,
            type: 3,
            format: "length-percentage"
        };
    }, i2 = Oo("top"), a2 = Oo("right"), s2 = Oo("bottom"), o2 = Oo("left"), c2 = {
        name: "text-align",
        initialValue: "left",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "right":
                    return 2;
                case "center":
                case "justify":
                    return 1;
                case "left":
                default:
                    return 0;
            }
        }
    }, u2 = {
        name: "position",
        initialValue: "static",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "relative":
                    return 1;
                case "absolute":
                    return 2;
                case "fixed":
                    return 3;
                case "sticky":
                    return 4;
            }
            return 0;
        }
    }, l2 = {
        name: "text-shadow",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            return A.length === 1 && vu(A[0], "none") ? [] : Lr(A).map(function(e) {
                for(var r = {
                    color: jr.TRANSPARENT,
                    offsetX: at,
                    offsetY: at,
                    blur: at
                }, n = 0, i = 0; i < e.length; i++){
                    var s = e[i];
                    vn(s) ? (n === 0 ? r.offsetX = s : n === 1 ? r.offsetY = s : r.blur = s, n++) : r.color = pn.parse(t, s);
                }
                return r;
            });
        }
    }, f2 = {
        name: "text-transform",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "uppercase":
                    return 2;
                case "lowercase":
                    return 1;
                case "capitalize":
                    return 3;
            }
            return 0;
        }
    }, h2 = {
        name: "transform",
        initialValue: "none",
        prefix: !0,
        type: 0,
        parse: function(t, A) {
            if (A.type === 20 && A.value === "none") return null;
            if (A.type === 18) {
                var e = d2[A.name];
                if (typeof e > "u") throw new Error('Attempting to parse an unsupported transform function "' + A.name + '"');
                return e(A.values);
            }
            return null;
        }
    }, B2 = function(t) {
        var A = t.filter(function(e) {
            return e.type === 17;
        }).map(function(e) {
            return e.number;
        });
        return A.length === 6 ? A : null;
    }, g2 = function(t) {
        var A = t.filter(function(u) {
            return u.type === 17;
        }).map(function(u) {
            return u.number;
        }), e = A[0], r = A[1];
        A[2], A[3];
        var n = A[4], i = A[5];
        A[6], A[7], A[8], A[9], A[10], A[11];
        var s = A[12], c = A[13];
        return A[14], A[15], A.length === 16 ? [
            e,
            r,
            n,
            i,
            s,
            c
        ] : null;
    }, d2 = {
        matrix: B2,
        matrix3d: g2
    }, zl = {
        type: 16,
        number: 50,
        flags: Ka
    }, p2 = [
        zl,
        zl
    ], w2 = {
        name: "transform-origin",
        initialValue: "50% 50%",
        prefix: !0,
        type: 1,
        parse: function(t, A) {
            var e = A.filter(We);
            return e.length !== 2 ? p2 : [
                e[0],
                e[1]
            ];
        }
    }, v2 = {
        name: "visible",
        initialValue: "none",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "hidden":
                    return 1;
                case "collapse":
                    return 2;
                case "visible":
                default:
                    return 0;
            }
        }
    }, Sa;
    (function(t) {
        t.NORMAL = "normal", t.BREAK_ALL = "break-all", t.KEEP_ALL = "keep-all";
    })(Sa || (Sa = {}));
    var m2 = {
        name: "word-break",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "break-all":
                    return Sa.BREAK_ALL;
                case "keep-all":
                    return Sa.KEEP_ALL;
                case "normal":
                default:
                    return Sa.NORMAL;
            }
        }
    }, C2 = {
        name: "z-index",
        initialValue: "auto",
        prefix: !1,
        type: 0,
        parse: function(t, A) {
            if (A.type === 20) return {
                auto: !0,
                order: 0
            };
            if (Mi(A)) return {
                auto: !1,
                order: A.number
            };
            throw new Error("Invalid z-index number parsed");
        }
    }, bh = {
        name: "time",
        parse: function(t, A) {
            if (A.type === 15) switch(A.unit.toLowerCase()){
                case "s":
                    return 1e3 * A.number;
                case "ms":
                    return A.number;
            }
            throw new Error("Unsupported time type");
        }
    }, Q2 = {
        name: "opacity",
        initialValue: "1",
        type: 0,
        prefix: !1,
        parse: function(t, A) {
            return Mi(A) ? A.number : 1;
        }
    }, F2 = {
        name: "text-decoration-color",
        initialValue: "transparent",
        prefix: !1,
        type: 3,
        format: "color"
    }, U2 = {
        name: "text-decoration-line",
        initialValue: "none",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.filter(ve).map(function(e) {
                switch(e.value){
                    case "underline":
                        return 1;
                    case "overline":
                        return 2;
                    case "line-through":
                        return 3;
                    case "none":
                        return 4;
                }
                return 0;
            }).filter(function(e) {
                return e !== 0;
            });
        }
    }, y2 = {
        name: "font-family",
        initialValue: "",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            var e = [], r = [];
            return A.forEach(function(n) {
                switch(n.type){
                    case 20:
                    case 0:
                        e.push(n.value);
                        break;
                    case 17:
                        e.push(n.number.toString());
                        break;
                    case 4:
                        r.push(e.join(" ")), e.length = 0;
                        break;
                }
            }), e.length && r.push(e.join(" ")), r.map(function(n) {
                return n.indexOf(" ") === -1 ? n : "'" + n + "'";
            });
        }
    }, b2 = {
        name: "font-size",
        initialValue: "0",
        prefix: !1,
        type: 3,
        format: "length"
    }, L2 = {
        name: "font-weight",
        initialValue: "normal",
        type: 0,
        prefix: !1,
        parse: function(t, A) {
            if (Mi(A)) return A.number;
            if (ve(A)) switch(A.value){
                case "bold":
                    return 700;
                case "normal":
                default:
                    return 400;
            }
            return 400;
        }
    }, E2 = {
        name: "font-variant",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            return A.filter(ve).map(function(e) {
                return e.value;
            });
        }
    }, I2 = {
        name: "font-style",
        initialValue: "normal",
        prefix: !1,
        type: 2,
        parse: function(t, A) {
            switch(A){
                case "oblique":
                    return "oblique";
                case "italic":
                    return "italic";
                case "normal":
                default:
                    return "normal";
            }
        }
    }, ze = function(t, A) {
        return (t & A) !== 0;
    }, x2 = {
        name: "content",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            if (A.length === 0) return [];
            var e = A[0];
            return e.type === 20 && e.value === "none" ? [] : A;
        }
    }, H2 = {
        name: "counter-increment",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(t, A) {
            if (A.length === 0) return null;
            var e = A[0];
            if (e.type === 20 && e.value === "none") return null;
            for(var r = [], n = A.filter(ch), i = 0; i < n.length; i++){
                var s = n[i], c = n[i + 1];
                if (s.type === 20) {
                    var u = c && Mi(c) ? c.number : 1;
                    r.push({
                        counter: s.value,
                        increment: u
                    });
                }
            }
            return r;
        }
    }, S2 = {
        name: "counter-reset",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(t, A) {
            if (A.length === 0) return [];
            for(var e = [], r = A.filter(ch), n = 0; n < r.length; n++){
                var i = r[n], s = r[n + 1];
                if (ve(i) && i.value !== "none") {
                    var c = s && Mi(s) ? s.number : 0;
                    e.push({
                        counter: i.value,
                        reset: c
                    });
                }
            }
            return e;
        }
    }, N2 = {
        name: "duration",
        initialValue: "0s",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            return A.filter(ka).map(function(e) {
                return bh.parse(t, e);
            });
        }
    }, _2 = {
        name: "quotes",
        initialValue: "none",
        prefix: !0,
        type: 1,
        parse: function(t, A) {
            if (A.length === 0) return null;
            var e = A[0];
            if (e.type === 20 && e.value === "none") return null;
            var r = [], n = A.filter(ag);
            if (n.length % 2 !== 0) return null;
            for(var i = 0; i < n.length; i += 2){
                var s = n[i].value, c = n[i + 1].value;
                r.push({
                    open: s,
                    close: c
                });
            }
            return r;
        }
    }, Yl = function(t, A, e) {
        if (!t) return "";
        var r = t[Math.min(A, t.length - 1)];
        return r ? e ? r.open : r.close : "";
    }, D2 = {
        name: "box-shadow",
        initialValue: "none",
        type: 1,
        prefix: !1,
        parse: function(t, A) {
            return A.length === 1 && vu(A[0], "none") ? [] : Lr(A).map(function(e) {
                for(var r = {
                    color: 255,
                    offsetX: at,
                    offsetY: at,
                    blur: at,
                    spread: at,
                    inset: !1
                }, n = 0, i = 0; i < e.length; i++){
                    var s = e[i];
                    vu(s, "inset") ? r.inset = !0 : vn(s) ? (n === 0 ? r.offsetX = s : n === 1 ? r.offsetY = s : n === 2 ? r.blur = s : r.spread = s, n++) : r.color = pn.parse(t, s);
                }
                return r;
            });
        }
    }, T2 = {
        name: "paint-order",
        initialValue: "normal",
        prefix: !1,
        type: 1,
        parse: function(t, A) {
            var e = [
                0,
                1,
                2
            ], r = [];
            return A.filter(ve).forEach(function(n) {
                switch(n.value){
                    case "stroke":
                        r.push(1);
                        break;
                    case "fill":
                        r.push(0);
                        break;
                    case "markers":
                        r.push(2);
                        break;
                }
            }), e.forEach(function(n) {
                r.indexOf(n) === -1 && r.push(n);
            }), r;
        }
    }, O2 = {
        name: "-webkit-text-stroke-color",
        initialValue: "currentcolor",
        prefix: !1,
        type: 3,
        format: "color"
    }, P2 = {
        name: "-webkit-text-stroke-width",
        initialValue: "0",
        type: 0,
        prefix: !1,
        parse: function(t, A) {
            return ka(A) ? A.number : 0;
        }
    }, M2 = function() {
        function t(A, e) {
            var r, n;
            this.animationDuration = TA(A, N2, e.animationDuration), this.backgroundClip = TA(A, cg, e.backgroundClip), this.backgroundColor = TA(A, ug, e.backgroundColor), this.backgroundImage = TA(A, mg, e.backgroundImage), this.backgroundOrigin = TA(A, Cg, e.backgroundOrigin), this.backgroundPosition = TA(A, Qg, e.backgroundPosition), this.backgroundRepeat = TA(A, Fg, e.backgroundRepeat), this.backgroundSize = TA(A, yg, e.backgroundSize), this.borderTopColor = TA(A, Lg, e.borderTopColor), this.borderRightColor = TA(A, Eg, e.borderRightColor), this.borderBottomColor = TA(A, Ig, e.borderBottomColor), this.borderLeftColor = TA(A, xg, e.borderLeftColor), this.borderTopLeftRadius = TA(A, Hg, e.borderTopLeftRadius), this.borderTopRightRadius = TA(A, Sg, e.borderTopRightRadius), this.borderBottomRightRadius = TA(A, Ng, e.borderBottomRightRadius), this.borderBottomLeftRadius = TA(A, _g, e.borderBottomLeftRadius), this.borderTopStyle = TA(A, Dg, e.borderTopStyle), this.borderRightStyle = TA(A, Tg, e.borderRightStyle), this.borderBottomStyle = TA(A, Og, e.borderBottomStyle), this.borderLeftStyle = TA(A, Pg, e.borderLeftStyle), this.borderTopWidth = TA(A, Mg, e.borderTopWidth), this.borderRightWidth = TA(A, Kg, e.borderRightWidth), this.borderBottomWidth = TA(A, kg, e.borderBottomWidth), this.borderLeftWidth = TA(A, Rg, e.borderLeftWidth), this.boxShadow = TA(A, D2, e.boxShadow), this.color = TA(A, Gg, e.color), this.direction = TA(A, jg, e.direction), this.display = TA(A, Vg, e.display), this.float = TA(A, Wg, e.cssFloat), this.fontFamily = TA(A, y2, e.fontFamily), this.fontSize = TA(A, b2, e.fontSize), this.fontStyle = TA(A, I2, e.fontStyle), this.fontVariant = TA(A, E2, e.fontVariant), this.fontWeight = TA(A, L2, e.fontWeight), this.letterSpacing = TA(A, Xg, e.letterSpacing), this.lineBreak = TA(A, Jg, e.lineBreak), this.lineHeight = TA(A, zg, e.lineHeight), this.listStyleImage = TA(A, Yg, e.listStyleImage), this.listStylePosition = TA(A, Zg, e.listStylePosition), this.listStyleType = TA(A, mu, e.listStyleType), this.marginTop = TA(A, $g, e.marginTop), this.marginRight = TA(A, A2, e.marginRight), this.marginBottom = TA(A, e2, e.marginBottom), this.marginLeft = TA(A, t2, e.marginLeft), this.opacity = TA(A, Q2, e.opacity);
            var i = TA(A, r2, e.overflow);
            this.overflowX = i[0], this.overflowY = i[i.length > 1 ? 1 : 0], this.overflowWrap = TA(A, n2, e.overflowWrap), this.paddingTop = TA(A, i2, e.paddingTop), this.paddingRight = TA(A, a2, e.paddingRight), this.paddingBottom = TA(A, s2, e.paddingBottom), this.paddingLeft = TA(A, o2, e.paddingLeft), this.paintOrder = TA(A, T2, e.paintOrder), this.position = TA(A, u2, e.position), this.textAlign = TA(A, c2, e.textAlign), this.textDecorationColor = TA(A, F2, (r = e.textDecorationColor) !== null && r !== void 0 ? r : e.color), this.textDecorationLine = TA(A, U2, (n = e.textDecorationLine) !== null && n !== void 0 ? n : e.textDecoration), this.textShadow = TA(A, l2, e.textShadow), this.textTransform = TA(A, f2, e.textTransform), this.transform = TA(A, h2, e.transform), this.transformOrigin = TA(A, w2, e.transformOrigin), this.visibility = TA(A, v2, e.visibility), this.webkitTextStrokeColor = TA(A, O2, e.webkitTextStrokeColor), this.webkitTextStrokeWidth = TA(A, P2, e.webkitTextStrokeWidth), this.wordBreak = TA(A, m2, e.wordBreak), this.zIndex = TA(A, C2, e.zIndex);
        }
        return t.prototype.isVisible = function() {
            return this.display > 0 && this.opacity > 0 && this.visibility === 0;
        }, t.prototype.isTransparent = function() {
            return wn(this.backgroundColor);
        }, t.prototype.isTransformed = function() {
            return this.transform !== null;
        }, t.prototype.isPositioned = function() {
            return this.position !== 0;
        }, t.prototype.isPositionedWithZIndex = function() {
            return this.isPositioned() && !this.zIndex.auto;
        }, t.prototype.isFloating = function() {
            return this.float !== 0;
        }, t.prototype.isInlineLevel = function() {
            return ze(this.display, 4) || ze(this.display, 33554432) || ze(this.display, 268435456) || ze(this.display, 536870912) || ze(this.display, 67108864) || ze(this.display, 134217728);
        }, t;
    }(), K2 = function() {
        function t(A, e) {
            this.content = TA(A, x2, e.content), this.quotes = TA(A, _2, e.quotes);
        }
        return t;
    }(), Zl = function() {
        function t(A, e) {
            this.counterIncrement = TA(A, H2, e.counterIncrement), this.counterReset = TA(A, S2, e.counterReset);
        }
        return t;
    }(), TA = function(t, A, e) {
        var r = new sh, n = e !== null && typeof e < "u" ? e.toString() : A.initialValue;
        r.write(n);
        var i = new oh(r.read());
        switch(A.type){
            case 2:
                var s = i.parseComponentValue();
                return A.parse(t, ve(s) ? s.value : A.initialValue);
            case 0:
                return A.parse(t, i.parseComponentValue());
            case 1:
                return A.parse(t, i.parseComponentValues());
            case 4:
                return i.parseComponentValue();
            case 3:
                switch(A.format){
                    case "angle":
                        return xo.parse(t, i.parseComponentValue());
                    case "color":
                        return pn.parse(t, i.parseComponentValue());
                    case "image":
                        return Ru.parse(t, i.parseComponentValue());
                    case "length":
                        var c = i.parseComponentValue();
                        return vn(c) ? c : at;
                    case "length-percentage":
                        var u = i.parseComponentValue();
                        return We(u) ? u : at;
                    case "time":
                        return bh.parse(t, i.parseComponentValue());
                }
                break;
        }
    }, k2 = "data-html2canvas-debug", R2 = function(t) {
        var A = t.getAttribute(k2);
        switch(A){
            case "all":
                return 1;
            case "clone":
                return 2;
            case "parse":
                return 3;
            case "render":
                return 4;
            default:
                return 0;
        }
    }, Cu = function(t, A) {
        var e = R2(t);
        return e === 1 || A === e;
    }, Er = function() {
        function t(A, e) {
            if (this.context = A, this.textNodes = [], this.elements = [], this.flags = 0, Cu(e, 3)) debugger;
            this.styles = new M2(A, window.getComputedStyle(e, null)), Uu(e) && (this.styles.animationDuration.some(function(r) {
                return r > 0;
            }) && (e.style.animationDuration = "0s"), this.styles.transform !== null && (e.style.transform = "none")), this.bounds = Eo(this.context, e), Cu(e, 4) && (this.flags |= 16);
        }
        return t;
    }(), G2 = "[encoded data, 26156 characters]", $l = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ea = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
    for(var Ys = 0; Ys < $l.length; Ys++)Ea[$l.charCodeAt(Ys)] = Ys;
    var j2 = function(t) {
        var A = t.length * .75, e = t.length, r, n = 0, i, s, c, u;
        t[t.length - 1] === "=" && (A--, t[t.length - 2] === "=" && A--);
        var h = typeof ArrayBuffer < "u" && typeof Uint8Array < "u" && typeof Uint8Array.prototype.slice < "u" ? new ArrayBuffer(A) : new Array(A), g = Array.isArray(h) ? h : new Uint8Array(h);
        for(r = 0; r < e; r += 4)i = Ea[t.charCodeAt(r)], s = Ea[t.charCodeAt(r + 1)], c = Ea[t.charCodeAt(r + 2)], u = Ea[t.charCodeAt(r + 3)], g[n++] = i << 2 | s >> 4, g[n++] = (s & 15) << 4 | c >> 2, g[n++] = (c & 3) << 6 | u & 63;
        return h;
    }, V2 = function(t) {
        for(var A = t.length, e = [], r = 0; r < A; r += 2)e.push(t[r + 1] << 8 | t[r]);
        return e;
    }, q2 = function(t) {
        for(var A = t.length, e = [], r = 0; r < A; r += 4)e.push(t[r + 3] << 24 | t[r + 2] << 16 | t[r + 1] << 8 | t[r]);
        return e;
    }, kn = 5, Gu = 11, Oc = 2, W2 = Gu - kn, Lh = 65536 >> kn, X2 = 1 << kn, Pc = X2 - 1, J2 = 1024 >> kn, z2 = Lh + J2, Y2 = z2, Z2 = 32, $2 = Y2 + Z2, Ad = 65536 >> Gu, ed = 1 << W2, td = ed - 1, Af = function(t, A, e) {
        return t.slice ? t.slice(A, e) : new Uint16Array(Array.prototype.slice.call(t, A, e));
    }, rd = function(t, A, e) {
        return t.slice ? t.slice(A, e) : new Uint32Array(Array.prototype.slice.call(t, A, e));
    }, nd = function(t, A) {
        var e = j2(t), r = Array.isArray(e) ? q2(e) : new Uint32Array(e), n = Array.isArray(e) ? V2(e) : new Uint16Array(e), i = 24, s = Af(n, i / 2, r[4] / 2), c = r[5] === 2 ? Af(n, (i + r[4]) / 2) : rd(r, Math.ceil((i + r[4]) / 4));
        return new id(r[0], r[1], r[2], r[3], s, c);
    }, id = function() {
        function t(A, e, r, n, i, s) {
            this.initialValue = A, this.errorValue = e, this.highStart = r, this.highValueIndex = n, this.index = i, this.data = s;
        }
        return t.prototype.get = function(A) {
            var e;
            if (A >= 0) {
                if (A < 55296 || A > 56319 && A <= 65535) return e = this.index[A >> kn], e = (e << Oc) + (A & Pc), this.data[e];
                if (A <= 65535) return e = this.index[Lh + (A - 55296 >> kn)], e = (e << Oc) + (A & Pc), this.data[e];
                if (A < this.highStart) return e = $2 - Ad + (A >> Gu), e = this.index[e], e += A >> kn & td, e = this.index[e], e = (e << Oc) + (A & Pc), this.data[e];
                if (A <= 1114111) return this.data[this.highValueIndex];
            }
            return this.errorValue;
        }, t;
    }(), ef = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ad = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
    for(var Zs = 0; Zs < ef.length; Zs++)ad[ef.charCodeAt(Zs)] = Zs;
    var sd = 1, Mc = 2, Kc = 3, tf = 4, rf = 5, od = 7, nf = 8, kc = 9, Rc = 10, af = 11, sf = 12, of = 13, cf = 14, Gc = 15, cd = function(t) {
        for(var A = [], e = 0, r = t.length; e < r;){
            var n = t.charCodeAt(e++);
            if (n >= 55296 && n <= 56319 && e < r) {
                var i = t.charCodeAt(e++);
                (i & 64512) === 56320 ? A.push(((n & 1023) << 10) + (i & 1023) + 65536) : (A.push(n), e--);
            } else A.push(n);
        }
        return A;
    }, ud = function() {
        for(var t = [], A = 0; A < arguments.length; A++)t[A] = arguments[A];
        if (String.fromCodePoint) return String.fromCodePoint.apply(String, t);
        var e = t.length;
        if (!e) return "";
        for(var r = [], n = -1, i = ""; ++n < e;){
            var s = t[n];
            s <= 65535 ? r.push(s) : (s -= 65536, r.push((s >> 10) + 55296, s % 1024 + 56320)), (n + 1 === e || r.length > 16384) && (i += String.fromCharCode.apply(String, r), r.length = 0);
        }
        return i;
    }, ld = nd(G2), jt = "×", jc = "÷", fd = function(t) {
        return ld.get(t);
    }, hd = function(t, A, e) {
        var r = e - 2, n = A[r], i = A[e - 1], s = A[e];
        if (i === Mc && s === Kc) return jt;
        if (i === Mc || i === Kc || i === tf || s === Mc || s === Kc || s === tf) return jc;
        if (i === nf && [
            nf,
            kc,
            af,
            sf
        ].indexOf(s) !== -1 || (i === af || i === kc) && (s === kc || s === Rc) || (i === sf || i === Rc) && s === Rc || s === of || s === rf || s === od || i === sd) return jt;
        if (i === of && s === cf) {
            for(; n === rf;)n = A[--r];
            if (n === cf) return jt;
        }
        if (i === Gc && s === Gc) {
            for(var c = 0; n === Gc;)c++, n = A[--r];
            if (c % 2 === 0) return jt;
        }
        return jc;
    }, Bd = function(t) {
        var A = cd(t), e = A.length, r = 0, n = 0, i = A.map(fd);
        return {
            next: function() {
                if (r >= e) return {
                    done: !0,
                    value: null
                };
                for(var s = jt; r < e && (s = hd(A, i, ++r)) === jt;);
                if (s !== jt || r === e) {
                    var c = ud.apply(null, A.slice(n, r));
                    return n = r, {
                        value: c,
                        done: !1
                    };
                }
                return {
                    done: !0,
                    value: null
                };
            }
        };
    }, gd = function(t) {
        for(var A = Bd(t), e = [], r; !(r = A.next()).done;)r.value && e.push(r.value.slice());
        return e;
    }, dd = function(t) {
        var A = 123;
        if (t.createRange) {
            var e = t.createRange();
            if (e.getBoundingClientRect) {
                var r = t.createElement("boundtest");
                r.style.height = A + "px", r.style.display = "block", t.body.appendChild(r), e.selectNode(r);
                var n = e.getBoundingClientRect(), i = Math.round(n.height);
                if (t.body.removeChild(r), i === A) return !0;
            }
        }
        return !1;
    }, pd = function(t) {
        var A = t.createElement("boundtest");
        A.style.width = "50px", A.style.display = "block", A.style.fontSize = "12px", A.style.letterSpacing = "0px", A.style.wordSpacing = "0px", t.body.appendChild(A);
        var e = t.createRange();
        A.innerHTML = typeof "".repeat == "function" ? "&#128104;".repeat(10) : "";
        var r = A.firstChild, n = Io(r.data).map(function(u) {
            return Me(u);
        }), i = 0, s = {}, c = n.every(function(u, h) {
            e.setStart(r, i), e.setEnd(r, i + u.length);
            var g = e.getBoundingClientRect();
            i += u.length;
            var d = g.x > s.x || g.y > s.y;
            return s = g, h === 0 ? !0 : d;
        });
        return t.body.removeChild(A), c;
    }, wd = function() {
        return typeof new Image().crossOrigin < "u";
    }, vd = function() {
        return typeof new XMLHttpRequest().responseType == "string";
    }, md = function(t) {
        var A = new Image, e = t.createElement("canvas"), r = e.getContext("2d");
        if (!r) return !1;
        A.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";
        try {
            r.drawImage(A, 0, 0), e.toDataURL();
        } catch  {
            return !1;
        }
        return !0;
    }, uf = function(t) {
        return t[0] === 0 && t[1] === 255 && t[2] === 0 && t[3] === 255;
    }, Cd = function(t) {
        var A = t.createElement("canvas"), e = 100;
        A.width = e, A.height = e;
        var r = A.getContext("2d");
        if (!r) return Promise.reject(!1);
        r.fillStyle = "rgb(0, 255, 0)", r.fillRect(0, 0, e, e);
        var n = new Image, i = A.toDataURL();
        n.src = i;
        var s = Qu(e, e, 0, 0, n);
        return r.fillStyle = "red", r.fillRect(0, 0, e, e), lf(s).then(function(c) {
            r.drawImage(c, 0, 0);
            var u = r.getImageData(0, 0, e, e).data;
            r.fillStyle = "red", r.fillRect(0, 0, e, e);
            var h = t.createElement("div");
            return h.style.backgroundImage = "url(" + i + ")", h.style.height = e + "px", uf(u) ? lf(Qu(e, e, 0, 0, h)) : Promise.reject(!1);
        }).then(function(c) {
            return r.drawImage(c, 0, 0), uf(r.getImageData(0, 0, e, e).data);
        }).catch(function() {
            return !1;
        });
    }, Qu = function(t, A, e, r, n) {
        var i = "http://www.w3.org/2000/svg", s = document.createElementNS(i, "svg"), c = document.createElementNS(i, "foreignObject");
        return s.setAttributeNS(null, "width", t.toString()), s.setAttributeNS(null, "height", A.toString()), c.setAttributeNS(null, "width", "100%"), c.setAttributeNS(null, "height", "100%"), c.setAttributeNS(null, "x", e.toString()), c.setAttributeNS(null, "y", r.toString()), c.setAttributeNS(null, "externalResourcesRequired", "true"), s.appendChild(c), c.appendChild(n), s;
    }, lf = function(t) {
        return new Promise(function(A, e) {
            var r = new Image;
            r.onload = function() {
                return A(r);
            }, r.onerror = e, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(t));
        });
    }, it = {
        get SUPPORT_RANGE_BOUNDS () {
            var t = dd(document);
            return Object.defineProperty(it, "SUPPORT_RANGE_BOUNDS", {
                value: t
            }), t;
        },
        get SUPPORT_WORD_BREAKING () {
            var t = it.SUPPORT_RANGE_BOUNDS && pd(document);
            return Object.defineProperty(it, "SUPPORT_WORD_BREAKING", {
                value: t
            }), t;
        },
        get SUPPORT_SVG_DRAWING () {
            var t = md(document);
            return Object.defineProperty(it, "SUPPORT_SVG_DRAWING", {
                value: t
            }), t;
        },
        get SUPPORT_FOREIGNOBJECT_DRAWING () {
            var t = typeof Array.from == "function" && typeof window.fetch == "function" ? Cd(document) : Promise.resolve(!1);
            return Object.defineProperty(it, "SUPPORT_FOREIGNOBJECT_DRAWING", {
                value: t
            }), t;
        },
        get SUPPORT_CORS_IMAGES () {
            var t = wd();
            return Object.defineProperty(it, "SUPPORT_CORS_IMAGES", {
                value: t
            }), t;
        },
        get SUPPORT_RESPONSE_TYPE () {
            var t = vd();
            return Object.defineProperty(it, "SUPPORT_RESPONSE_TYPE", {
                value: t
            }), t;
        },
        get SUPPORT_CORS_XHR () {
            var t = "withCredentials" in new XMLHttpRequest;
            return Object.defineProperty(it, "SUPPORT_CORS_XHR", {
                value: t
            }), t;
        },
        get SUPPORT_NATIVE_TEXT_SEGMENTATION () {
            var t = !!(typeof Intl < "u" && Intl.Segmenter);
            return Object.defineProperty(it, "SUPPORT_NATIVE_TEXT_SEGMENTATION", {
                value: t
            }), t;
        }
    }, Na = function() {
        function t(A, e) {
            this.text = A, this.bounds = e;
        }
        return t;
    }(), Qd = function(t, A, e, r) {
        var n = yd(A, e), i = [], s = 0;
        return n.forEach(function(c) {
            if (e.textDecorationLine.length || c.trim().length > 0) if (it.SUPPORT_RANGE_BOUNDS) {
                var u = ff(r, s, c.length).getClientRects();
                if (u.length > 1) {
                    var h = ju(c), g = 0;
                    h.forEach(function(w) {
                        i.push(new Na(w, Vr.fromDOMRectList(t, ff(r, g + s, w.length).getClientRects()))), g += w.length;
                    });
                } else i.push(new Na(c, Vr.fromDOMRectList(t, u)));
            } else {
                var d = r.splitText(c.length);
                i.push(new Na(c, Fd(t, r))), r = d;
            }
            else it.SUPPORT_RANGE_BOUNDS || (r = r.splitText(c.length));
            s += c.length;
        }), i;
    }, Fd = function(t, A) {
        var e = A.ownerDocument;
        if (e) {
            var r = e.createElement("html2canvaswrapper");
            r.appendChild(A.cloneNode(!0));
            var n = A.parentNode;
            if (n) {
                n.replaceChild(r, A);
                var i = Eo(t, r);
                return r.firstChild && n.replaceChild(r.firstChild, r), i;
            }
        }
        return Vr.EMPTY;
    }, ff = function(t, A, e) {
        var r = t.ownerDocument;
        if (!r) throw new Error("Node has no owner document");
        var n = r.createRange();
        return n.setStart(t, A), n.setEnd(t, A + e), n;
    }, ju = function(t) {
        if (it.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
            var A = new Intl.Segmenter(void 0, {
                granularity: "grapheme"
            });
            return Array.from(A.segment(t)).map(function(e) {
                return e.segment;
            });
        }
        return gd(t);
    }, Ud = function(t, A) {
        if (it.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
            var e = new Intl.Segmenter(void 0, {
                granularity: "word"
            });
            return Array.from(e.segment(t)).map(function(r) {
                return r.segment;
            });
        }
        return Ld(t, A);
    }, yd = function(t, A) {
        return A.letterSpacing !== 0 ? ju(t) : Ud(t, A);
    }, bd = [
        32,
        160,
        4961,
        65792,
        65793,
        4153,
        4241
    ], Ld = function(t, A) {
        for(var e = A1(t, {
            lineBreak: A.lineBreak,
            wordBreak: A.overflowWrap === "break-word" ? "break-word" : A.wordBreak
        }), r = [], n, i = function() {
            if (n.value) {
                var s = n.value.slice(), c = Io(s), u = "";
                c.forEach(function(h) {
                    bd.indexOf(h) === -1 ? u += Me(h) : (u.length && r.push(u), r.push(Me(h)), u = "");
                }), u.length && r.push(u);
            }
        }; !(n = e.next()).done;)i();
        return r;
    }, Ed = function() {
        function t(A, e, r) {
            this.text = Id(e.data, r.textTransform), this.textBounds = Qd(A, this.text, r, e);
        }
        return t;
    }(), Id = function(t, A) {
        switch(A){
            case 1:
                return t.toLowerCase();
            case 3:
                return t.replace(xd, Hd);
            case 2:
                return t.toUpperCase();
            default:
                return t;
        }
    }, xd = /(^|\s|:|-|\(|\))([a-z])/g, Hd = function(t, A, e) {
        return t.length > 0 ? A + e.toUpperCase() : t;
    }, Eh = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.src = r.currentSrc || r.src, n.intrinsicWidth = r.naturalWidth, n.intrinsicHeight = r.naturalHeight, n.context.cache.addImage(n.src), n;
        }
        return A;
    }(Er), Ih = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.canvas = r, n.intrinsicWidth = r.width, n.intrinsicHeight = r.height, n;
        }
        return A;
    }(Er), xh = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this, i = new XMLSerializer, s = Eo(e, r);
            return r.setAttribute("width", s.width + "px"), r.setAttribute("height", s.height + "px"), n.svg = "data:image/svg+xml," + encodeURIComponent(i.serializeToString(r)), n.intrinsicWidth = r.width.baseVal.value, n.intrinsicHeight = r.height.baseVal.value, n.context.cache.addImage(n.svg), n;
        }
        return A;
    }(Er), Hh = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.value = r.value, n;
        }
        return A;
    }(Er), Fu = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.start = r.start, n.reversed = typeof r.reversed == "boolean" && r.reversed === !0, n;
        }
        return A;
    }(Er), Sd = [
        {
            type: 15,
            flags: 0,
            unit: "px",
            number: 3
        }
    ], Nd = [
        {
            type: 16,
            flags: 0,
            number: 50
        }
    ], _d = function(t) {
        return t.width > t.height ? new Vr(t.left + (t.width - t.height) / 2, t.top, t.height, t.height) : t.width < t.height ? new Vr(t.left, t.top + (t.height - t.width) / 2, t.width, t.width) : t;
    }, Dd = function(t) {
        var A = t.type === Td ? new Array(t.value.length + 1).join("•") : t.value;
        return A.length === 0 ? t.placeholder || "" : A;
    }, vo = "checkbox", mo = "radio", Td = "password", hf = 707406591, Vu = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            switch(n.type = r.type.toLowerCase(), n.checked = r.checked, n.value = Dd(r), (n.type === vo || n.type === mo) && (n.styles.backgroundColor = 3739148031, n.styles.borderTopColor = n.styles.borderRightColor = n.styles.borderBottomColor = n.styles.borderLeftColor = 2779096575, n.styles.borderTopWidth = n.styles.borderRightWidth = n.styles.borderBottomWidth = n.styles.borderLeftWidth = 1, n.styles.borderTopStyle = n.styles.borderRightStyle = n.styles.borderBottomStyle = n.styles.borderLeftStyle = 1, n.styles.backgroundClip = [
                0
            ], n.styles.backgroundOrigin = [
                0
            ], n.bounds = _d(n.bounds)), n.type){
                case vo:
                    n.styles.borderTopRightRadius = n.styles.borderTopLeftRadius = n.styles.borderBottomRightRadius = n.styles.borderBottomLeftRadius = Sd;
                    break;
                case mo:
                    n.styles.borderTopRightRadius = n.styles.borderTopLeftRadius = n.styles.borderBottomRightRadius = n.styles.borderBottomLeftRadius = Nd;
                    break;
            }
            return n;
        }
        return A;
    }(Er), Sh = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this, i = r.options[r.selectedIndex || 0];
            return n.value = i && i.text || "", n;
        }
        return A;
    }(Er), Nh = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.value = r.value, n;
        }
        return A;
    }(Er), _h = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            n.src = r.src, n.width = parseInt(r.width, 10) || 0, n.height = parseInt(r.height, 10) || 0, n.backgroundColor = n.styles.backgroundColor;
            try {
                if (r.contentWindow && r.contentWindow.document && r.contentWindow.document.documentElement) {
                    n.tree = Th(e, r.contentWindow.document.documentElement);
                    var i = r.contentWindow.document.documentElement ? Ha(e, getComputedStyle(r.contentWindow.document.documentElement).backgroundColor) : jr.TRANSPARENT, s = r.contentWindow.document.body ? Ha(e, getComputedStyle(r.contentWindow.document.body).backgroundColor) : jr.TRANSPARENT;
                    n.backgroundColor = wn(i) ? wn(s) ? n.styles.backgroundColor : s : i;
                }
            } catch  {}
            return n;
        }
        return A;
    }(Er), Od = [
        "OL",
        "UL",
        "MENU"
    ], co = function(t, A, e, r) {
        for(var n = A.firstChild, i = void 0; n; n = i)if (i = n.nextSibling, Oh(n) && n.data.trim().length > 0) e.textNodes.push(new Ed(t, n, e.styles));
        else if (Hi(n)) if (kh(n) && n.assignedNodes) n.assignedNodes().forEach(function(c) {
            return co(t, c, e, r);
        });
        else {
            var s = Dh(t, n);
            s.styles.isVisible() && (Pd(n, s, r) ? s.flags |= 4 : Md(s.styles) && (s.flags |= 2), Od.indexOf(n.tagName) !== -1 && (s.flags |= 8), e.elements.push(s), n.slot, n.shadowRoot ? co(t, n.shadowRoot, s, r) : !Co(n) && !Ph(n) && !Qo(n) && co(t, n, s, r));
        }
    }, Dh = function(t, A) {
        return yu(A) ? new Eh(t, A) : Mh(A) ? new Ih(t, A) : Ph(A) ? new xh(t, A) : Kd(A) ? new Hh(t, A) : kd(A) ? new Fu(t, A) : Rd(A) ? new Vu(t, A) : Qo(A) ? new Sh(t, A) : Co(A) ? new Nh(t, A) : Kh(A) ? new _h(t, A) : new Er(t, A);
    }, Th = function(t, A) {
        var e = Dh(t, A);
        return e.flags |= 4, co(t, A, e, e), e;
    }, Pd = function(t, A, e) {
        return A.styles.isPositionedWithZIndex() || A.styles.opacity < 1 || A.styles.isTransformed() || qu(t) && e.styles.isTransparent();
    }, Md = function(t) {
        return t.isPositioned() || t.isFloating();
    }, Oh = function(t) {
        return t.nodeType === Node.TEXT_NODE;
    }, Hi = function(t) {
        return t.nodeType === Node.ELEMENT_NODE;
    }, Uu = function(t) {
        return Hi(t) && typeof t.style < "u" && !uo(t);
    }, uo = function(t) {
        return typeof t.className == "object";
    }, Kd = function(t) {
        return t.tagName === "LI";
    }, kd = function(t) {
        return t.tagName === "OL";
    }, Rd = function(t) {
        return t.tagName === "INPUT";
    }, Gd = function(t) {
        return t.tagName === "HTML";
    }, Ph = function(t) {
        return t.tagName === "svg";
    }, qu = function(t) {
        return t.tagName === "BODY";
    }, Mh = function(t) {
        return t.tagName === "CANVAS";
    }, Bf = function(t) {
        return t.tagName === "VIDEO";
    }, yu = function(t) {
        return t.tagName === "IMG";
    }, Kh = function(t) {
        return t.tagName === "IFRAME";
    }, gf = function(t) {
        return t.tagName === "STYLE";
    }, jd = function(t) {
        return t.tagName === "SCRIPT";
    }, Co = function(t) {
        return t.tagName === "TEXTAREA";
    }, Qo = function(t) {
        return t.tagName === "SELECT";
    }, kh = function(t) {
        return t.tagName === "SLOT";
    }, df = function(t) {
        return t.tagName.indexOf("-") > 0;
    }, Vd = function() {
        function t() {
            this.counters = {};
        }
        return t.prototype.getCounterValue = function(A) {
            var e = this.counters[A];
            return e && e.length ? e[e.length - 1] : 1;
        }, t.prototype.getCounterValues = function(A) {
            var e = this.counters[A];
            return e || [];
        }, t.prototype.pop = function(A) {
            var e = this;
            A.forEach(function(r) {
                return e.counters[r].pop();
            });
        }, t.prototype.parse = function(A) {
            var e = this, r = A.counterIncrement, n = A.counterReset, i = !0;
            r !== null && r.forEach(function(c) {
                var u = e.counters[c.counter];
                u && c.increment !== 0 && (i = !1, u.length || u.push(1), u[Math.max(0, u.length - 1)] += c.increment);
            });
            var s = [];
            return i && n.forEach(function(c) {
                var u = e.counters[c.counter];
                s.push(c.counter), u || (u = e.counters[c.counter] = []), u.push(c.reset);
            }), s;
        }, t;
    }(), pf = {
        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"
        ]
    }, wf = {
        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: [
            "Ք",
            "Փ",
            "Ւ",
            "Ց",
            "Ր",
            "Տ",
            "Վ",
            "Ս",
            "Ռ",
            "Ջ",
            "Պ",
            "Չ",
            "Ո",
            "Շ",
            "Ն",
            "Յ",
            "Մ",
            "Ճ",
            "Ղ",
            "Ձ",
            "Հ",
            "Կ",
            "Ծ",
            "Խ",
            "Լ",
            "Ի",
            "Ժ",
            "Թ",
            "Ը",
            "Է",
            "Զ",
            "Ե",
            "Դ",
            "Գ",
            "Բ",
            "Ա"
        ]
    }, qd = {
        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: [
            "י׳",
            "ט׳",
            "ח׳",
            "ז׳",
            "ו׳",
            "ה׳",
            "ד׳",
            "ג׳",
            "ב׳",
            "א׳",
            "ת",
            "ש",
            "ר",
            "ק",
            "צ",
            "פ",
            "ע",
            "ס",
            "נ",
            "מ",
            "ל",
            "כ",
            "יט",
            "יח",
            "יז",
            "טז",
            "טו",
            "י",
            "ט",
            "ח",
            "ז",
            "ו",
            "ה",
            "ד",
            "ג",
            "ב",
            "א"
        ]
    }, Wd = {
        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: [
            "ჵ",
            "ჰ",
            "ჯ",
            "ჴ",
            "ხ",
            "ჭ",
            "წ",
            "ძ",
            "ც",
            "ჩ",
            "შ",
            "ყ",
            "ღ",
            "ქ",
            "ფ",
            "ჳ",
            "ტ",
            "ს",
            "რ",
            "ჟ",
            "პ",
            "ო",
            "ჲ",
            "ნ",
            "მ",
            "ლ",
            "კ",
            "ი",
            "თ",
            "ჱ",
            "ზ",
            "ვ",
            "ე",
            "დ",
            "გ",
            "ბ",
            "ა"
        ]
    }, Qi = function(t, A, e, r, n, i) {
        return t < A || t > e ? Pa(t, n, i.length > 0) : r.integers.reduce(function(s, c, u) {
            for(; t >= c;)t -= c, s += r.values[u];
            return s;
        }, "") + i;
    }, Rh = function(t, A, e, r) {
        var n = "";
        do e || t--, n = r(t) + n, t /= A;
        while (t * A >= A);
        return n;
    }, Pe = function(t, A, e, r, n) {
        var i = e - A + 1;
        return (t < 0 ? "-" : "") + (Rh(Math.abs(t), i, r, function(s) {
            return Me(Math.floor(s % i) + A);
        }) + n);
    }, Dn = function(t, A, e) {
        e === void 0 && (e = ". ");
        var r = A.length;
        return Rh(Math.abs(t), r, !1, function(n) {
            return A[Math.floor(n % r)];
        }) + e;
    }, Li = 1, un = 2, ln = 4, Ia = 8, Rr = function(t, A, e, r, n, i) {
        if (t < -9999 || t > 9999) return Pa(t, 4, n.length > 0);
        var s = Math.abs(t), c = n;
        if (s === 0) return A[0] + c;
        for(var u = 0; s > 0 && u <= 4; u++){
            var h = s % 10;
            h === 0 && ze(i, Li) && c !== "" ? c = A[h] + c : h > 1 || h === 1 && u === 0 || h === 1 && u === 1 && ze(i, un) || h === 1 && u === 1 && ze(i, ln) && t > 100 || h === 1 && u > 1 && ze(i, Ia) ? c = A[h] + (u > 0 ? e[u - 1] : "") + c : h === 1 && u > 0 && (c = e[u - 1] + c), s = Math.floor(s / 10);
        }
        return (t < 0 ? r : "") + c;
    }, vf = "十百千萬", mf = "拾佰仟萬", Cf = "マイナス", Vc = "마이너스", Pa = function(t, A, e) {
        var r = e ? ". " : "", n = e ? "、" : "", i = e ? ", " : "", s = e ? " " : "";
        switch(A){
            case 0:
                return "•" + s;
            case 1:
                return "◦" + s;
            case 2:
                return "◾" + s;
            case 5:
                var c = Pe(t, 48, 57, !0, r);
                return c.length < 4 ? "0" + c : c;
            case 4:
                return Dn(t, "〇一二三四五六七八九", n);
            case 6:
                return Qi(t, 1, 3999, pf, 3, r).toLowerCase();
            case 7:
                return Qi(t, 1, 3999, pf, 3, r);
            case 8:
                return Pe(t, 945, 969, !1, r);
            case 9:
                return Pe(t, 97, 122, !1, r);
            case 10:
                return Pe(t, 65, 90, !1, r);
            case 11:
                return Pe(t, 1632, 1641, !0, r);
            case 12:
            case 49:
                return Qi(t, 1, 9999, wf, 3, r);
            case 35:
                return Qi(t, 1, 9999, wf, 3, r).toLowerCase();
            case 13:
                return Pe(t, 2534, 2543, !0, r);
            case 14:
            case 30:
                return Pe(t, 6112, 6121, !0, r);
            case 15:
                return Dn(t, "子丑寅卯辰巳午未申酉戌亥", n);
            case 16:
                return Dn(t, "甲乙丙丁戊己庚辛壬癸", n);
            case 17:
            case 48:
                return Rr(t, "零一二三四五六七八九", vf, "負", n, un | ln | Ia);
            case 47:
                return Rr(t, "零壹貳參肆伍陸柒捌玖", mf, "負", n, Li | un | ln | Ia);
            case 42:
                return Rr(t, "零一二三四五六七八九", vf, "负", n, un | ln | Ia);
            case 41:
                return Rr(t, "零壹贰叁肆伍陆柒捌玖", mf, "负", n, Li | un | ln | Ia);
            case 26:
                return Rr(t, "〇一二三四五六七八九", "十百千万", Cf, n, 0);
            case 25:
                return Rr(t, "零壱弐参四伍六七八九", "拾百千万", Cf, n, Li | un | ln);
            case 31:
                return Rr(t, "영일이삼사오육칠팔구", "십백천만", Vc, i, Li | un | ln);
            case 33:
                return Rr(t, "零一二三四五六七八九", "十百千萬", Vc, i, 0);
            case 32:
                return Rr(t, "零壹貳參四五六七八九", "拾百千", Vc, i, Li | un | ln);
            case 18:
                return Pe(t, 2406, 2415, !0, r);
            case 20:
                return Qi(t, 1, 19999, Wd, 3, r);
            case 21:
                return Pe(t, 2790, 2799, !0, r);
            case 22:
                return Pe(t, 2662, 2671, !0, r);
            case 22:
                return Qi(t, 1, 10999, qd, 3, r);
            case 23:
                return Dn(t, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");
            case 24:
                return Dn(t, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");
            case 27:
                return Pe(t, 3302, 3311, !0, r);
            case 28:
                return Dn(t, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", n);
            case 29:
                return Dn(t, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", n);
            case 34:
                return Pe(t, 3792, 3801, !0, r);
            case 37:
                return Pe(t, 6160, 6169, !0, r);
            case 38:
                return Pe(t, 4160, 4169, !0, r);
            case 39:
                return Pe(t, 2918, 2927, !0, r);
            case 40:
                return Pe(t, 1776, 1785, !0, r);
            case 43:
                return Pe(t, 3046, 3055, !0, r);
            case 44:
                return Pe(t, 3174, 3183, !0, r);
            case 45:
                return Pe(t, 3664, 3673, !0, r);
            case 46:
                return Pe(t, 3872, 3881, !0, r);
            case 3:
            default:
                return Pe(t, 48, 57, !0, r);
        }
    }, Gh = "data-html2canvas-ignore", Qf = function() {
        function t(A, e, r) {
            if (this.context = A, this.options = r, this.scrolledElements = [], this.referenceElement = e, this.counters = new Vd, this.quoteDepth = 0, !e.ownerDocument) throw new Error("Cloned element does not have an owner document");
            this.documentElement = this.cloneNode(e.ownerDocument.documentElement, !1);
        }
        return t.prototype.toIFrame = function(A, e) {
            var r = this, n = Xd(A, e);
            if (!n.contentWindow) return Promise.reject("Unable to find iframe window");
            var i = A.defaultView.pageXOffset, s = A.defaultView.pageYOffset, c = n.contentWindow, u = c.document, h = Yd(n).then(function() {
                return mt(r, void 0, void 0, function() {
                    var g, d;
                    return Bt(this, function(w) {
                        switch(w.label){
                            case 0:
                                return this.scrolledElements.forEach(ep), c && (c.scrollTo(e.left, e.top), /(iPad|iPhone|iPod)/g.test(navigator.userAgent) && (c.scrollY !== e.top || c.scrollX !== e.left) && (this.context.logger.warn("Unable to restore scroll position for cloned document"), this.context.windowBounds = this.context.windowBounds.add(c.scrollX - e.left, c.scrollY - e.top, 0, 0))), g = this.options.onclone, d = this.clonedReferenceElement, typeof d > "u" ? [
                                    2,
                                    Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")
                                ] : u.fonts && u.fonts.ready ? [
                                    4,
                                    u.fonts.ready
                                ] : [
                                    3,
                                    2
                                ];
                            case 1:
                                w.sent(), w.label = 2;
                            case 2:
                                return /(AppleWebKit)/g.test(navigator.userAgent) ? [
                                    4,
                                    zd(u)
                                ] : [
                                    3,
                                    4
                                ];
                            case 3:
                                w.sent(), w.label = 4;
                            case 4:
                                return typeof g == "function" ? [
                                    2,
                                    Promise.resolve().then(function() {
                                        return g(u, d);
                                    }).then(function() {
                                        return n;
                                    })
                                ] : [
                                    2,
                                    n
                                ];
                        }
                    });
                });
            });
            return u.open(), u.write($d(document.doctype) + "<html></html>"), Ap(this.referenceElement.ownerDocument, i, s), u.replaceChild(u.adoptNode(this.documentElement), u.documentElement), u.close(), h;
        }, t.prototype.createElementClone = function(A) {
            if (Cu(A, 2)) debugger;
            if (Mh(A)) return this.createCanvasClone(A);
            if (Bf(A)) return this.createVideoClone(A);
            if (gf(A)) return this.createStyleClone(A);
            var e = A.cloneNode(!1);
            return yu(e) && (yu(A) && A.currentSrc && A.currentSrc !== A.src && (e.src = A.currentSrc, e.srcset = ""), e.loading === "lazy" && (e.loading = "eager")), df(e) ? this.createCustomElementClone(e) : e;
        }, t.prototype.createCustomElementClone = function(A) {
            var e = document.createElement("html2canvascustomelement");
            return qc(A.style, e), e;
        }, t.prototype.createStyleClone = function(A) {
            try {
                var e = A.sheet;
                if (e && e.cssRules) {
                    var r = [].slice.call(e.cssRules, 0).reduce(function(i, s) {
                        return s && typeof s.cssText == "string" ? i + s.cssText : i;
                    }, ""), n = A.cloneNode(!1);
                    return n.textContent = r, n;
                }
            } catch (i) {
                if (this.context.logger.error("Unable to access cssRules property", i), i.name !== "SecurityError") throw i;
            }
            return A.cloneNode(!1);
        }, t.prototype.createCanvasClone = function(A) {
            var e;
            if (this.options.inlineImages && A.ownerDocument) {
                var r = A.ownerDocument.createElement("img");
                try {
                    return r.src = A.toDataURL(), r;
                } catch  {
                    this.context.logger.info("Unable to inline canvas contents, canvas is tainted", A);
                }
            }
            var n = A.cloneNode(!1);
            try {
                n.width = A.width, n.height = A.height;
                var i = A.getContext("2d"), s = n.getContext("2d");
                if (s) if (!this.options.allowTaint && i) s.putImageData(i.getImageData(0, 0, A.width, A.height), 0, 0);
                else {
                    var c = (e = A.getContext("webgl2")) !== null && e !== void 0 ? e : A.getContext("webgl");
                    if (c) {
                        var u = c.getContextAttributes();
                        u?.preserveDrawingBuffer === !1 && this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false", A);
                    }
                    s.drawImage(A, 0, 0);
                }
                return n;
            } catch  {
                this.context.logger.info("Unable to clone canvas as it is tainted", A);
            }
            return n;
        }, t.prototype.createVideoClone = function(A) {
            var e = A.ownerDocument.createElement("canvas");
            e.width = A.offsetWidth, e.height = A.offsetHeight;
            var r = e.getContext("2d");
            try {
                return r && (r.drawImage(A, 0, 0, e.width, e.height), this.options.allowTaint || r.getImageData(0, 0, e.width, e.height)), e;
            } catch  {
                this.context.logger.info("Unable to clone video as it is tainted", A);
            }
            var n = A.ownerDocument.createElement("canvas");
            return n.width = A.offsetWidth, n.height = A.offsetHeight, n;
        }, t.prototype.appendChildNode = function(A, e, r) {
            (!Hi(e) || !jd(e) && !e.hasAttribute(Gh) && (typeof this.options.ignoreElements != "function" || !this.options.ignoreElements(e))) && (!this.options.copyStyles || !Hi(e) || !gf(e)) && A.appendChild(this.cloneNode(e, r));
        }, t.prototype.cloneChildNodes = function(A, e, r) {
            for(var n = this, i = A.shadowRoot ? A.shadowRoot.firstChild : A.firstChild; i; i = i.nextSibling)if (Hi(i) && kh(i) && typeof i.assignedNodes == "function") {
                var s = i.assignedNodes();
                s.length && s.forEach(function(c) {
                    return n.appendChildNode(e, c, r);
                });
            } else this.appendChildNode(e, i, r);
        }, t.prototype.cloneNode = function(A, e) {
            if (Oh(A)) return document.createTextNode(A.data);
            if (!A.ownerDocument) return A.cloneNode(!1);
            var r = A.ownerDocument.defaultView;
            if (r && Hi(A) && (Uu(A) || uo(A))) {
                var n = this.createElementClone(A);
                n.style.transitionProperty = "none";
                var i = r.getComputedStyle(A), s = r.getComputedStyle(A, ":before"), c = r.getComputedStyle(A, ":after");
                this.referenceElement === A && Uu(n) && (this.clonedReferenceElement = n), qu(n) && np(n);
                var u = this.counters.parse(new Zl(this.context, i)), h = this.resolvePseudoContent(A, n, s, _a.BEFORE);
                df(A) && (e = !0), Bf(A) || this.cloneChildNodes(A, n, e), h && n.insertBefore(h, n.firstChild);
                var g = this.resolvePseudoContent(A, n, c, _a.AFTER);
                return g && n.appendChild(g), this.counters.pop(u), (i && (this.options.copyStyles || uo(A)) && !Kh(A) || e) && qc(i, n), (A.scrollTop !== 0 || A.scrollLeft !== 0) && this.scrolledElements.push([
                    n,
                    A.scrollLeft,
                    A.scrollTop
                ]), (Co(A) || Qo(A)) && (Co(n) || Qo(n)) && (n.value = A.value), n;
            }
            return A.cloneNode(!1);
        }, t.prototype.resolvePseudoContent = function(A, e, r, n) {
            var i = this;
            if (r) {
                var s = r.content, c = e.ownerDocument;
                if (!(!c || !s || s === "none" || s === "-moz-alt-content" || r.display === "none")) {
                    this.counters.parse(new Zl(this.context, r));
                    var u = new K2(this.context, r), h = c.createElement("html2canvaspseudoelement");
                    qc(r, h), u.content.forEach(function(d) {
                        if (d.type === 0) h.appendChild(c.createTextNode(d.value));
                        else if (d.type === 22) {
                            var w = c.createElement("img");
                            w.src = d.value, w.style.opacity = "1", h.appendChild(w);
                        } else if (d.type === 18) {
                            if (d.name === "attr") {
                                var B = d.values.filter(ve);
                                B.length && h.appendChild(c.createTextNode(A.getAttribute(B[0].value) || ""));
                            } else if (d.name === "counter") {
                                var L = d.values.filter(Pi), U = L[0], N = L[1];
                                if (U && ve(U)) {
                                    var Q = i.counters.getCounterValue(U.value), x = N && ve(N) ? mu.parse(i.context, N.value) : 3;
                                    h.appendChild(c.createTextNode(Pa(Q, x, !1)));
                                }
                            } else if (d.name === "counters") {
                                var R = d.values.filter(Pi), U = R[0], Y = R[1], N = R[2];
                                if (U && ve(U)) {
                                    var Z = i.counters.getCounterValues(U.value), $ = N && ve(N) ? mu.parse(i.context, N.value) : 3, J = Y && Y.type === 0 ? Y.value : "", O = Z.map(function(I) {
                                        return Pa(I, $, !1);
                                    }).join(J);
                                    h.appendChild(c.createTextNode(O));
                                }
                            }
                        } else if (d.type === 20) switch(d.value){
                            case "open-quote":
                                h.appendChild(c.createTextNode(Yl(u.quotes, i.quoteDepth++, !0)));
                                break;
                            case "close-quote":
                                h.appendChild(c.createTextNode(Yl(u.quotes, --i.quoteDepth, !1)));
                                break;
                            default:
                                h.appendChild(c.createTextNode(d.value));
                        }
                    }), h.className = bu + " " + Lu;
                    var g = n === _a.BEFORE ? " " + bu : " " + Lu;
                    return uo(e) ? e.className.baseValue += g : e.className += g, h;
                }
            }
        }, t.destroy = function(A) {
            return A.parentNode ? (A.parentNode.removeChild(A), !0) : !1;
        }, t;
    }(), _a;
    (function(t) {
        t[t.BEFORE = 0] = "BEFORE", t[t.AFTER = 1] = "AFTER";
    })(_a || (_a = {}));
    var Xd = function(t, A) {
        var e = t.createElement("iframe");
        return e.className = "html2canvas-container", e.style.visibility = "hidden", e.style.position = "fixed", e.style.left = "-10000px", e.style.top = "0px", e.style.border = "0", e.width = A.width.toString(), e.height = A.height.toString(), e.scrolling = "no", e.setAttribute(Gh, "true"), t.body.appendChild(e), e;
    }, Jd = function(t) {
        return new Promise(function(A) {
            if (t.complete) {
                A();
                return;
            }
            if (!t.src) {
                A();
                return;
            }
            t.onload = A, t.onerror = A;
        });
    }, zd = function(t) {
        return Promise.all([].slice.call(t.images, 0).map(Jd));
    }, Yd = function(t) {
        return new Promise(function(A, e) {
            var r = t.contentWindow;
            if (!r) return e("No window assigned for iframe");
            var n = r.document;
            r.onload = t.onload = function() {
                r.onload = t.onload = null;
                var i = setInterval(function() {
                    n.body.childNodes.length > 0 && n.readyState === "complete" && (clearInterval(i), A(t));
                }, 50);
            };
        });
    }, Zd = [
        "all",
        "d",
        "content"
    ], qc = function(t, A) {
        for(var e = t.length - 1; e >= 0; e--){
            var r = t.item(e);
            Zd.indexOf(r) === -1 && A.style.setProperty(r, t.getPropertyValue(r));
        }
        return A;
    }, $d = function(t) {
        var A = "";
        return t && (A += "<!DOCTYPE ", t.name && (A += t.name), t.internalSubset && (A += t.internalSubset), t.publicId && (A += '"' + t.publicId + '"'), t.systemId && (A += '"' + t.systemId + '"'), A += ">"), A;
    }, Ap = function(t, A, e) {
        t && t.defaultView && (A !== t.defaultView.pageXOffset || e !== t.defaultView.pageYOffset) && t.defaultView.scrollTo(A, e);
    }, ep = function(t) {
        var A = t[0], e = t[1], r = t[2];
        A.scrollLeft = e, A.scrollTop = r;
    }, tp = ":before", rp = ":after", bu = "___html2canvas___pseudoelement_before", Lu = "___html2canvas___pseudoelement_after", Ff = `{
    content: "" !important;
    display: none !important;
}`, np = function(t) {
        ip(t, "." + bu + tp + Ff + `
         .` + Lu + rp + Ff);
    }, ip = function(t, A) {
        var e = t.ownerDocument;
        if (e) {
            var r = e.createElement("style");
            r.textContent = A, t.appendChild(r);
        }
    }, jh = function() {
        function t() {}
        return t.getOrigin = function(A) {
            var e = t._link;
            return e ? (e.href = A, e.href = e.href, e.protocol + e.hostname + e.port) : "about:blank";
        }, t.isSameOrigin = function(A) {
            return t.getOrigin(A) === t._origin;
        }, t.setContext = function(A) {
            t._link = A.document.createElement("a"), t._origin = t.getOrigin(A.location.href);
        }, t._origin = "about:blank", t;
    }(), ap = function() {
        function t(A, e) {
            this.context = A, this._options = e, this._cache = {};
        }
        return t.prototype.addImage = function(A) {
            var e = Promise.resolve();
            return this.has(A) || (Xc(A) || up(A)) && (this._cache[A] = this.loadImage(A)).catch(function() {}), e;
        }, t.prototype.match = function(A) {
            return this._cache[A];
        }, t.prototype.loadImage = function(A) {
            return mt(this, void 0, void 0, function() {
                var e, r, n, i, s = this;
                return Bt(this, function(c) {
                    switch(c.label){
                        case 0:
                            return e = jh.isSameOrigin(A), r = !Wc(A) && this._options.useCORS === !0 && it.SUPPORT_CORS_IMAGES && !e, n = !Wc(A) && !e && !Xc(A) && typeof this._options.proxy == "string" && it.SUPPORT_CORS_XHR && !r, !e && this._options.allowTaint === !1 && !Wc(A) && !Xc(A) && !n && !r ? [
                                2
                            ] : (i = A, n ? [
                                4,
                                this.proxy(i)
                            ] : [
                                3,
                                2
                            ]);
                        case 1:
                            i = c.sent(), c.label = 2;
                        case 2:
                            return this.context.logger.debug("Added image " + A.substring(0, 256)), [
                                4,
                                new Promise(function(u, h) {
                                    var g = new Image;
                                    g.onload = function() {
                                        return u(g);
                                    }, g.onerror = h, (lp(i) || r) && (g.crossOrigin = "anonymous"), g.src = i, g.complete === !0 && setTimeout(function() {
                                        return u(g);
                                    }, 500), s._options.imageTimeout > 0 && setTimeout(function() {
                                        return h("Timed out (" + s._options.imageTimeout + "ms) loading image");
                                    }, s._options.imageTimeout);
                                })
                            ];
                        case 3:
                            return [
                                2,
                                c.sent()
                            ];
                    }
                });
            });
        }, t.prototype.has = function(A) {
            return typeof this._cache[A] < "u";
        }, t.prototype.keys = function() {
            return Promise.resolve(Object.keys(this._cache));
        }, t.prototype.proxy = function(A) {
            var e = this, r = this._options.proxy;
            if (!r) throw new Error("No proxy defined");
            var n = A.substring(0, 256);
            return new Promise(function(i, s) {
                var c = it.SUPPORT_RESPONSE_TYPE ? "blob" : "text", u = new XMLHttpRequest;
                u.onload = function() {
                    if (u.status === 200) if (c === "text") i(u.response);
                    else {
                        var d = new FileReader;
                        d.addEventListener("load", function() {
                            return i(d.result);
                        }, !1), d.addEventListener("error", function(w) {
                            return s(w);
                        }, !1), d.readAsDataURL(u.response);
                    }
                    else s("Failed to proxy resource " + n + " with status code " + u.status);
                }, u.onerror = s;
                var h = r.indexOf("?") > -1 ? "&" : "?";
                if (u.open("GET", "" + r + h + "url=" + encodeURIComponent(A) + "&responseType=" + c), c !== "text" && u instanceof XMLHttpRequest && (u.responseType = c), e._options.imageTimeout) {
                    var g = e._options.imageTimeout;
                    u.timeout = g, u.ontimeout = function() {
                        return s("Timed out (" + g + "ms) proxying " + n);
                    };
                }
                u.send();
            });
        }, t;
    }(), sp = /^data:image\/svg\+xml/i, op = /^data:image\/.*;base64,/i, cp = /^data:image\/.*/i, up = function(t) {
        return it.SUPPORT_SVG_DRAWING || !fp(t);
    }, Wc = function(t) {
        return cp.test(t);
    }, lp = function(t) {
        return op.test(t);
    }, Xc = function(t) {
        return t.substr(0, 4) === "blob";
    }, fp = function(t) {
        return t.substr(-3).toLowerCase() === "svg" || sp.test(t);
    }, NA = function() {
        function t(A, e) {
            this.type = 0, this.x = A, this.y = e;
        }
        return t.prototype.add = function(A, e) {
            return new t(this.x + A, this.y + e);
        }, t;
    }(), Fi = function(t, A, e) {
        return new NA(t.x + (A.x - t.x) * e, t.y + (A.y - t.y) * e);
    }, $s = function() {
        function t(A, e, r, n) {
            this.type = 1, this.start = A, this.startControl = e, this.endControl = r, this.end = n;
        }
        return t.prototype.subdivide = function(A, e) {
            var r = Fi(this.start, this.startControl, A), n = Fi(this.startControl, this.endControl, A), i = Fi(this.endControl, this.end, A), s = Fi(r, n, A), c = Fi(n, i, A), u = Fi(s, c, A);
            return e ? new t(this.start, r, s, u) : new t(u, c, i, this.end);
        }, t.prototype.add = function(A, e) {
            return new t(this.start.add(A, e), this.startControl.add(A, e), this.endControl.add(A, e), this.end.add(A, e));
        }, t.prototype.reverse = function() {
            return new t(this.end, this.endControl, this.startControl, this.start);
        }, t;
    }(), Vt = function(t) {
        return t.type === 1;
    }, hp = function() {
        function t(A) {
            var e = A.styles, r = A.bounds, n = La(e.borderTopLeftRadius, r.width, r.height), i = n[0], s = n[1], c = La(e.borderTopRightRadius, r.width, r.height), u = c[0], h = c[1], g = La(e.borderBottomRightRadius, r.width, r.height), d = g[0], w = g[1], B = La(e.borderBottomLeftRadius, r.width, r.height), L = B[0], U = B[1], N = [];
            N.push((i + u) / r.width), N.push((L + d) / r.width), N.push((s + U) / r.height), N.push((h + w) / r.height);
            var Q = Math.max.apply(Math, N);
            Q > 1 && (i /= Q, s /= Q, u /= Q, h /= Q, d /= Q, w /= Q, L /= Q, U /= Q);
            var x = r.width - u, R = r.height - w, Y = r.width - d, Z = r.height - U, $ = e.borderTopWidth, J = e.borderRightWidth, O = e.borderBottomWidth, W = e.borderLeftWidth, uA = ye(e.paddingTop, A.bounds.width), I = ye(e.paddingRight, A.bounds.width), H = ye(e.paddingBottom, A.bounds.width), K = ye(e.paddingLeft, A.bounds.width);
            this.topLeftBorderDoubleOuterBox = i > 0 || s > 0 ? Ee(r.left + W / 3, r.top + $ / 3, i - W / 3, s - $ / 3, he.TOP_LEFT) : new NA(r.left + W / 3, r.top + $ / 3), this.topRightBorderDoubleOuterBox = i > 0 || s > 0 ? Ee(r.left + x, r.top + $ / 3, u - J / 3, h - $ / 3, he.TOP_RIGHT) : new NA(r.left + r.width - J / 3, r.top + $ / 3), this.bottomRightBorderDoubleOuterBox = d > 0 || w > 0 ? Ee(r.left + Y, r.top + R, d - J / 3, w - O / 3, he.BOTTOM_RIGHT) : new NA(r.left + r.width - J / 3, r.top + r.height - O / 3), this.bottomLeftBorderDoubleOuterBox = L > 0 || U > 0 ? Ee(r.left + W / 3, r.top + Z, L - W / 3, U - O / 3, he.BOTTOM_LEFT) : new NA(r.left + W / 3, r.top + r.height - O / 3), this.topLeftBorderDoubleInnerBox = i > 0 || s > 0 ? Ee(r.left + W * 2 / 3, r.top + $ * 2 / 3, i - W * 2 / 3, s - $ * 2 / 3, he.TOP_LEFT) : new NA(r.left + W * 2 / 3, r.top + $ * 2 / 3), this.topRightBorderDoubleInnerBox = i > 0 || s > 0 ? Ee(r.left + x, r.top + $ * 2 / 3, u - J * 2 / 3, h - $ * 2 / 3, he.TOP_RIGHT) : new NA(r.left + r.width - J * 2 / 3, r.top + $ * 2 / 3), this.bottomRightBorderDoubleInnerBox = d > 0 || w > 0 ? Ee(r.left + Y, r.top + R, d - J * 2 / 3, w - O * 2 / 3, he.BOTTOM_RIGHT) : new NA(r.left + r.width - J * 2 / 3, r.top + r.height - O * 2 / 3), this.bottomLeftBorderDoubleInnerBox = L > 0 || U > 0 ? Ee(r.left + W * 2 / 3, r.top + Z, L - W * 2 / 3, U - O * 2 / 3, he.BOTTOM_LEFT) : new NA(r.left + W * 2 / 3, r.top + r.height - O * 2 / 3), this.topLeftBorderStroke = i > 0 || s > 0 ? Ee(r.left + W / 2, r.top + $ / 2, i - W / 2, s - $ / 2, he.TOP_LEFT) : new NA(r.left + W / 2, r.top + $ / 2), this.topRightBorderStroke = i > 0 || s > 0 ? Ee(r.left + x, r.top + $ / 2, u - J / 2, h - $ / 2, he.TOP_RIGHT) : new NA(r.left + r.width - J / 2, r.top + $ / 2), this.bottomRightBorderStroke = d > 0 || w > 0 ? Ee(r.left + Y, r.top + R, d - J / 2, w - O / 2, he.BOTTOM_RIGHT) : new NA(r.left + r.width - J / 2, r.top + r.height - O / 2), this.bottomLeftBorderStroke = L > 0 || U > 0 ? Ee(r.left + W / 2, r.top + Z, L - W / 2, U - O / 2, he.BOTTOM_LEFT) : new NA(r.left + W / 2, r.top + r.height - O / 2), this.topLeftBorderBox = i > 0 || s > 0 ? Ee(r.left, r.top, i, s, he.TOP_LEFT) : new NA(r.left, r.top), this.topRightBorderBox = u > 0 || h > 0 ? Ee(r.left + x, r.top, u, h, he.TOP_RIGHT) : new NA(r.left + r.width, r.top), this.bottomRightBorderBox = d > 0 || w > 0 ? Ee(r.left + Y, r.top + R, d, w, he.BOTTOM_RIGHT) : new NA(r.left + r.width, r.top + r.height), this.bottomLeftBorderBox = L > 0 || U > 0 ? Ee(r.left, r.top + Z, L, U, he.BOTTOM_LEFT) : new NA(r.left, r.top + r.height), this.topLeftPaddingBox = i > 0 || s > 0 ? Ee(r.left + W, r.top + $, Math.max(0, i - W), Math.max(0, s - $), he.TOP_LEFT) : new NA(r.left + W, r.top + $), this.topRightPaddingBox = u > 0 || h > 0 ? Ee(r.left + Math.min(x, r.width - J), r.top + $, x > r.width + J ? 0 : Math.max(0, u - J), Math.max(0, h - $), he.TOP_RIGHT) : new NA(r.left + r.width - J, r.top + $), this.bottomRightPaddingBox = d > 0 || w > 0 ? Ee(r.left + Math.min(Y, r.width - W), r.top + Math.min(R, r.height - O), Math.max(0, d - J), Math.max(0, w - O), he.BOTTOM_RIGHT) : new NA(r.left + r.width - J, r.top + r.height - O), this.bottomLeftPaddingBox = L > 0 || U > 0 ? Ee(r.left + W, r.top + Math.min(Z, r.height - O), Math.max(0, L - W), Math.max(0, U - O), he.BOTTOM_LEFT) : new NA(r.left + W, r.top + r.height - O), this.topLeftContentBox = i > 0 || s > 0 ? Ee(r.left + W + K, r.top + $ + uA, Math.max(0, i - (W + K)), Math.max(0, s - ($ + uA)), he.TOP_LEFT) : new NA(r.left + W + K, r.top + $ + uA), this.topRightContentBox = u > 0 || h > 0 ? Ee(r.left + Math.min(x, r.width + W + K), r.top + $ + uA, x > r.width + W + K ? 0 : u - W + K, h - ($ + uA), he.TOP_RIGHT) : new NA(r.left + r.width - (J + I), r.top + $ + uA), this.bottomRightContentBox = d > 0 || w > 0 ? Ee(r.left + Math.min(Y, r.width - (W + K)), r.top + Math.min(R, r.height + $ + uA), Math.max(0, d - (J + I)), w - (O + H), he.BOTTOM_RIGHT) : new NA(r.left + r.width - (J + I), r.top + r.height - (O + H)), this.bottomLeftContentBox = L > 0 || U > 0 ? Ee(r.left + W + K, r.top + Z, Math.max(0, L - (W + K)), U - (O + H), he.BOTTOM_LEFT) : new NA(r.left + W + K, r.top + r.height - (O + H));
        }
        return t;
    }(), he;
    (function(t) {
        t[t.TOP_LEFT = 0] = "TOP_LEFT", t[t.TOP_RIGHT = 1] = "TOP_RIGHT", t[t.BOTTOM_RIGHT = 2] = "BOTTOM_RIGHT", t[t.BOTTOM_LEFT = 3] = "BOTTOM_LEFT";
    })(he || (he = {}));
    var Ee = function(t, A, e, r, n) {
        var i = 4 * ((Math.sqrt(2) - 1) / 3), s = e * i, c = r * i, u = t + e, h = A + r;
        switch(n){
            case he.TOP_LEFT:
                return new $s(new NA(t, h), new NA(t, h - c), new NA(u - s, A), new NA(u, A));
            case he.TOP_RIGHT:
                return new $s(new NA(t, A), new NA(t + s, A), new NA(u, h - c), new NA(u, h));
            case he.BOTTOM_RIGHT:
                return new $s(new NA(u, A), new NA(u, A + c), new NA(t + s, h), new NA(t, h));
            case he.BOTTOM_LEFT:
            default:
                return new $s(new NA(u, h), new NA(u - s, h), new NA(t, A + c), new NA(t, A));
        }
    }, Fo = function(t) {
        return [
            t.topLeftBorderBox,
            t.topRightBorderBox,
            t.bottomRightBorderBox,
            t.bottomLeftBorderBox
        ];
    }, Bp = function(t) {
        return [
            t.topLeftContentBox,
            t.topRightContentBox,
            t.bottomRightContentBox,
            t.bottomLeftContentBox
        ];
    }, Uo = function(t) {
        return [
            t.topLeftPaddingBox,
            t.topRightPaddingBox,
            t.bottomRightPaddingBox,
            t.bottomLeftPaddingBox
        ];
    }, gp = function() {
        function t(A, e, r) {
            this.offsetX = A, this.offsetY = e, this.matrix = r, this.type = 0, this.target = 6;
        }
        return t;
    }(), Ao = function() {
        function t(A, e) {
            this.path = A, this.target = e, this.type = 1;
        }
        return t;
    }(), dp = function() {
        function t(A) {
            this.opacity = A, this.type = 2, this.target = 6;
        }
        return t;
    }(), pp = function(t) {
        return t.type === 0;
    }, Vh = function(t) {
        return t.type === 1;
    }, wp = function(t) {
        return t.type === 2;
    }, Uf = function(t, A) {
        return t.length === A.length ? t.some(function(e, r) {
            return e === A[r];
        }) : !1;
    }, vp = function(t, A, e, r, n) {
        return t.map(function(i, s) {
            switch(s){
                case 0:
                    return i.add(A, e);
                case 1:
                    return i.add(A + r, e);
                case 2:
                    return i.add(A + r, e + n);
                case 3:
                    return i.add(A, e + n);
            }
            return i;
        });
    }, qh = function() {
        function t(A) {
            this.element = A, this.inlineLevel = [], this.nonInlineLevel = [], this.negativeZIndex = [], this.zeroOrAutoZIndexOrTransformedOrOpacity = [], this.positiveZIndex = [], this.nonPositionedFloats = [], this.nonPositionedInlineLevel = [];
        }
        return t;
    }(), Wh = function() {
        function t(A, e) {
            if (this.container = A, this.parent = e, this.effects = [], this.curves = new hp(this.container), this.container.styles.opacity < 1 && this.effects.push(new dp(this.container.styles.opacity)), this.container.styles.transform !== null) {
                var r = this.container.bounds.left + this.container.styles.transformOrigin[0].number, n = this.container.bounds.top + this.container.styles.transformOrigin[1].number, i = this.container.styles.transform;
                this.effects.push(new gp(r, n, i));
            }
            if (this.container.styles.overflowX !== 0) {
                var s = Fo(this.curves), c = Uo(this.curves);
                Uf(s, c) ? this.effects.push(new Ao(s, 6)) : (this.effects.push(new Ao(s, 2)), this.effects.push(new Ao(c, 4)));
            }
        }
        return t.prototype.getEffects = function(A) {
            for(var e = [
                2,
                3
            ].indexOf(this.container.styles.position) === -1, r = this.parent, n = this.effects.slice(0); r;){
                var i = r.effects.filter(function(u) {
                    return !Vh(u);
                });
                if (e || r.container.styles.position !== 0 || !r.parent) {
                    if (n.unshift.apply(n, i), e = [
                        2,
                        3
                    ].indexOf(r.container.styles.position) === -1, r.container.styles.overflowX !== 0) {
                        var s = Fo(r.curves), c = Uo(r.curves);
                        Uf(s, c) || n.unshift(new Ao(c, 6));
                    }
                } else n.unshift.apply(n, i);
                r = r.parent;
            }
            return n.filter(function(u) {
                return ze(u.target, A);
            });
        }, t;
    }(), Eu = function(t, A, e, r) {
        t.container.elements.forEach(function(n) {
            var i = ze(n.flags, 4), s = ze(n.flags, 2), c = new Wh(n, t);
            ze(n.styles.display, 2048) && r.push(c);
            var u = ze(n.flags, 8) ? [] : r;
            if (i || s) {
                var h = i || n.styles.isPositioned() ? e : A, g = new qh(c);
                if (n.styles.isPositioned() || n.styles.opacity < 1 || n.styles.isTransformed()) {
                    var d = n.styles.zIndex.order;
                    if (d < 0) {
                        var w = 0;
                        h.negativeZIndex.some(function(L, U) {
                            return d > L.element.container.styles.zIndex.order ? (w = U, !1) : w > 0;
                        }), h.negativeZIndex.splice(w, 0, g);
                    } else if (d > 0) {
                        var B = 0;
                        h.positiveZIndex.some(function(L, U) {
                            return d >= L.element.container.styles.zIndex.order ? (B = U + 1, !1) : B > 0;
                        }), h.positiveZIndex.splice(B, 0, g);
                    } else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(g);
                } else n.styles.isFloating() ? h.nonPositionedFloats.push(g) : h.nonPositionedInlineLevel.push(g);
                Eu(c, g, i ? g : e, u);
            } else n.styles.isInlineLevel() ? A.inlineLevel.push(c) : A.nonInlineLevel.push(c), Eu(c, A, e, u);
            ze(n.flags, 8) && Xh(n, u);
        });
    }, Xh = function(t, A) {
        for(var e = t instanceof Fu ? t.start : 1, r = t instanceof Fu ? t.reversed : !1, n = 0; n < A.length; n++){
            var i = A[n];
            i.container instanceof Hh && typeof i.container.value == "number" && i.container.value !== 0 && (e = i.container.value), i.listValue = Pa(e, i.container.styles.listStyleType, !0), e += r ? -1 : 1;
        }
    }, mp = function(t) {
        var A = new Wh(t, null), e = new qh(A), r = [];
        return Eu(A, e, e, r), Xh(A.container, r), e;
    }, yf = function(t, A) {
        switch(A){
            case 0:
                return Wt(t.topLeftBorderBox, t.topLeftPaddingBox, t.topRightBorderBox, t.topRightPaddingBox);
            case 1:
                return Wt(t.topRightBorderBox, t.topRightPaddingBox, t.bottomRightBorderBox, t.bottomRightPaddingBox);
            case 2:
                return Wt(t.bottomRightBorderBox, t.bottomRightPaddingBox, t.bottomLeftBorderBox, t.bottomLeftPaddingBox);
            case 3:
            default:
                return Wt(t.bottomLeftBorderBox, t.bottomLeftPaddingBox, t.topLeftBorderBox, t.topLeftPaddingBox);
        }
    }, Cp = function(t, A) {
        switch(A){
            case 0:
                return Wt(t.topLeftBorderBox, t.topLeftBorderDoubleOuterBox, t.topRightBorderBox, t.topRightBorderDoubleOuterBox);
            case 1:
                return Wt(t.topRightBorderBox, t.topRightBorderDoubleOuterBox, t.bottomRightBorderBox, t.bottomRightBorderDoubleOuterBox);
            case 2:
                return Wt(t.bottomRightBorderBox, t.bottomRightBorderDoubleOuterBox, t.bottomLeftBorderBox, t.bottomLeftBorderDoubleOuterBox);
            case 3:
            default:
                return Wt(t.bottomLeftBorderBox, t.bottomLeftBorderDoubleOuterBox, t.topLeftBorderBox, t.topLeftBorderDoubleOuterBox);
        }
    }, Qp = function(t, A) {
        switch(A){
            case 0:
                return Wt(t.topLeftBorderDoubleInnerBox, t.topLeftPaddingBox, t.topRightBorderDoubleInnerBox, t.topRightPaddingBox);
            case 1:
                return Wt(t.topRightBorderDoubleInnerBox, t.topRightPaddingBox, t.bottomRightBorderDoubleInnerBox, t.bottomRightPaddingBox);
            case 2:
                return Wt(t.bottomRightBorderDoubleInnerBox, t.bottomRightPaddingBox, t.bottomLeftBorderDoubleInnerBox, t.bottomLeftPaddingBox);
            case 3:
            default:
                return Wt(t.bottomLeftBorderDoubleInnerBox, t.bottomLeftPaddingBox, t.topLeftBorderDoubleInnerBox, t.topLeftPaddingBox);
        }
    }, Fp = function(t, A) {
        switch(A){
            case 0:
                return eo(t.topLeftBorderStroke, t.topRightBorderStroke);
            case 1:
                return eo(t.topRightBorderStroke, t.bottomRightBorderStroke);
            case 2:
                return eo(t.bottomRightBorderStroke, t.bottomLeftBorderStroke);
            case 3:
            default:
                return eo(t.bottomLeftBorderStroke, t.topLeftBorderStroke);
        }
    }, eo = function(t, A) {
        var e = [];
        return Vt(t) ? e.push(t.subdivide(.5, !1)) : e.push(t), Vt(A) ? e.push(A.subdivide(.5, !0)) : e.push(A), e;
    }, Wt = function(t, A, e, r) {
        var n = [];
        return Vt(t) ? n.push(t.subdivide(.5, !1)) : n.push(t), Vt(e) ? n.push(e.subdivide(.5, !0)) : n.push(e), Vt(r) ? n.push(r.subdivide(.5, !0).reverse()) : n.push(r), Vt(A) ? n.push(A.subdivide(.5, !1).reverse()) : n.push(A), n;
    }, Jh = function(t) {
        var A = t.bounds, e = t.styles;
        return A.add(e.borderLeftWidth, e.borderTopWidth, -(e.borderRightWidth + e.borderLeftWidth), -(e.borderTopWidth + e.borderBottomWidth));
    }, yo = function(t) {
        var A = t.styles, e = t.bounds, r = ye(A.paddingLeft, e.width), n = ye(A.paddingRight, e.width), i = ye(A.paddingTop, e.width), s = ye(A.paddingBottom, e.width);
        return e.add(r + A.borderLeftWidth, i + A.borderTopWidth, -(A.borderRightWidth + A.borderLeftWidth + r + n), -(A.borderTopWidth + A.borderBottomWidth + i + s));
    }, Up = function(t, A) {
        return t === 0 ? A.bounds : t === 2 ? yo(A) : Jh(A);
    }, yp = function(t, A) {
        return t === 0 ? A.bounds : t === 2 ? yo(A) : Jh(A);
    }, Jc = function(t, A, e) {
        var r = Up(Ei(t.styles.backgroundOrigin, A), t), n = yp(Ei(t.styles.backgroundClip, A), t), i = bp(Ei(t.styles.backgroundSize, A), e, r), s = i[0], c = i[1], u = La(Ei(t.styles.backgroundPosition, A), r.width - s, r.height - c), h = Lp(Ei(t.styles.backgroundRepeat, A), u, i, r, n), g = Math.round(r.left + u[0]), d = Math.round(r.top + u[1]);
        return [
            h,
            g,
            d,
            s,
            c
        ];
    }, Ui = function(t) {
        return ve(t) && t.value === Ni.AUTO;
    }, to = function(t) {
        return typeof t == "number";
    }, bp = function(t, A, e) {
        var r = A[0], n = A[1], i = A[2], s = t[0], c = t[1];
        if (!s) return [
            0,
            0
        ];
        if (We(s) && c && We(c)) return [
            ye(s, e.width),
            ye(c, e.height)
        ];
        var u = to(i);
        if (ve(s) && (s.value === Ni.CONTAIN || s.value === Ni.COVER)) {
            if (to(i)) {
                var h = e.width / e.height;
                return h < i != (s.value === Ni.COVER) ? [
                    e.width,
                    e.width / i
                ] : [
                    e.height * i,
                    e.height
                ];
            }
            return [
                e.width,
                e.height
            ];
        }
        var g = to(r), d = to(n), w = g || d;
        if (Ui(s) && (!c || Ui(c))) {
            if (g && d) return [
                r,
                n
            ];
            if (!u && !w) return [
                e.width,
                e.height
            ];
            if (w && u) {
                var B = g ? r : n * i, L = d ? n : r / i;
                return [
                    B,
                    L
                ];
            }
            var U = g ? r : e.width, N = d ? n : e.height;
            return [
                U,
                N
            ];
        }
        if (u) {
            var Q = 0, x = 0;
            return We(s) ? Q = ye(s, e.width) : We(c) && (x = ye(c, e.height)), Ui(s) ? Q = x * i : (!c || Ui(c)) && (x = Q / i), [
                Q,
                x
            ];
        }
        var R = null, Y = null;
        if (We(s) ? R = ye(s, e.width) : c && We(c) && (Y = ye(c, e.height)), R !== null && (!c || Ui(c)) && (Y = g && d ? R / r * n : e.height), Y !== null && Ui(s) && (R = g && d ? Y / n * r : e.width), R !== null && Y !== null) return [
            R,
            Y
        ];
        throw new Error("Unable to calculate background-size for element");
    }, Ei = function(t, A) {
        var e = t[A];
        return typeof e > "u" ? t[0] : e;
    }, Lp = function(t, A, e, r, n) {
        var i = A[0], s = A[1], c = e[0], u = e[1];
        switch(t){
            case 2:
                return [
                    new NA(Math.round(r.left), Math.round(r.top + s)),
                    new NA(Math.round(r.left + r.width), Math.round(r.top + s)),
                    new NA(Math.round(r.left + r.width), Math.round(u + r.top + s)),
                    new NA(Math.round(r.left), Math.round(u + r.top + s))
                ];
            case 3:
                return [
                    new NA(Math.round(r.left + i), Math.round(r.top)),
                    new NA(Math.round(r.left + i + c), Math.round(r.top)),
                    new NA(Math.round(r.left + i + c), Math.round(r.height + r.top)),
                    new NA(Math.round(r.left + i), Math.round(r.height + r.top))
                ];
            case 1:
                return [
                    new NA(Math.round(r.left + i), Math.round(r.top + s)),
                    new NA(Math.round(r.left + i + c), Math.round(r.top + s)),
                    new NA(Math.round(r.left + i + c), Math.round(r.top + s + u)),
                    new NA(Math.round(r.left + i), Math.round(r.top + s + u))
                ];
            default:
                return [
                    new NA(Math.round(n.left), Math.round(n.top)),
                    new NA(Math.round(n.left + n.width), Math.round(n.top)),
                    new NA(Math.round(n.left + n.width), Math.round(n.height + n.top)),
                    new NA(Math.round(n.left), Math.round(n.height + n.top))
                ];
        }
    }, Ep = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", bf = "Hidden Text", Ip = function() {
        function t(A) {
            this._data = {}, this._document = A;
        }
        return t.prototype.parseMetrics = function(A, e) {
            var r = this._document.createElement("div"), n = this._document.createElement("img"), i = this._document.createElement("span"), s = this._document.body;
            r.style.visibility = "hidden", r.style.fontFamily = A, r.style.fontSize = e, r.style.margin = "0", r.style.padding = "0", r.style.whiteSpace = "nowrap", s.appendChild(r), n.src = Ep, n.width = 1, n.height = 1, n.style.margin = "0", n.style.padding = "0", n.style.verticalAlign = "baseline", i.style.fontFamily = A, i.style.fontSize = e, i.style.margin = "0", i.style.padding = "0", i.appendChild(this._document.createTextNode(bf)), r.appendChild(i), r.appendChild(n);
            var c = n.offsetTop - i.offsetTop + 2;
            r.removeChild(i), r.appendChild(this._document.createTextNode(bf)), r.style.lineHeight = "normal", n.style.verticalAlign = "super";
            var u = n.offsetTop - r.offsetTop + 2;
            return s.removeChild(r), {
                baseline: c,
                middle: u
            };
        }, t.prototype.getMetrics = function(A, e) {
            var r = A + " " + e;
            return typeof this._data[r] > "u" && (this._data[r] = this.parseMetrics(A, e)), this._data[r];
        }, t;
    }(), zh = function() {
        function t(A, e) {
            this.context = A, this.options = e;
        }
        return t;
    }(), xp = 1e4, Hp = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n._activeEffects = [], n.canvas = r.canvas ? r.canvas : document.createElement("canvas"), n.ctx = n.canvas.getContext("2d"), r.canvas || (n.canvas.width = Math.floor(r.width * r.scale), n.canvas.height = Math.floor(r.height * r.scale), n.canvas.style.width = r.width + "px", n.canvas.style.height = r.height + "px"), n.fontMetrics = new Ip(document), n.ctx.scale(n.options.scale, n.options.scale), n.ctx.translate(-r.x, -r.y), n.ctx.textBaseline = "bottom", n._activeEffects = [], n.context.logger.debug("Canvas renderer initialized (" + r.width + "x" + r.height + ") with scale " + r.scale), n;
        }
        return A.prototype.applyEffects = function(e) {
            for(var r = this; this._activeEffects.length;)this.popEffect();
            e.forEach(function(n) {
                return r.applyEffect(n);
            });
        }, A.prototype.applyEffect = function(e) {
            this.ctx.save(), wp(e) && (this.ctx.globalAlpha = e.opacity), pp(e) && (this.ctx.translate(e.offsetX, e.offsetY), this.ctx.transform(e.matrix[0], e.matrix[1], e.matrix[2], e.matrix[3], e.matrix[4], e.matrix[5]), this.ctx.translate(-e.offsetX, -e.offsetY)), Vh(e) && (this.path(e.path), this.ctx.clip()), this._activeEffects.push(e);
        }, A.prototype.popEffect = function() {
            this._activeEffects.pop(), this.ctx.restore();
        }, A.prototype.renderStack = function(e) {
            return mt(this, void 0, void 0, function() {
                var r;
                return Bt(this, function(n) {
                    switch(n.label){
                        case 0:
                            return r = e.element.container.styles, r.isVisible() ? [
                                4,
                                this.renderStackContent(e)
                            ] : [
                                3,
                                2
                            ];
                        case 1:
                            n.sent(), n.label = 2;
                        case 2:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderNode = function(e) {
            return mt(this, void 0, void 0, function() {
                return Bt(this, function(r) {
                    switch(r.label){
                        case 0:
                            if (ze(e.container.flags, 16)) debugger;
                            return e.container.styles.isVisible() ? [
                                4,
                                this.renderNodeBackgroundAndBorders(e)
                            ] : [
                                3,
                                3
                            ];
                        case 1:
                            return r.sent(), [
                                4,
                                this.renderNodeContent(e)
                            ];
                        case 2:
                            r.sent(), r.label = 3;
                        case 3:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderTextWithLetterSpacing = function(e, r, n) {
            var i = this;
            if (r === 0) this.ctx.fillText(e.text, e.bounds.left, e.bounds.top + n);
            else {
                var s = ju(e.text);
                s.reduce(function(c, u) {
                    return i.ctx.fillText(u, c, e.bounds.top + n), c + i.ctx.measureText(u).width;
                }, e.bounds.left);
            }
        }, A.prototype.createFontStyle = function(e) {
            var r = e.fontVariant.filter(function(s) {
                return s === "normal" || s === "small-caps";
            }).join(""), n = Tp(e.fontFamily).join(", "), i = ka(e.fontSize) ? "" + e.fontSize.number + e.fontSize.unit : e.fontSize.number + "px";
            return [
                [
                    e.fontStyle,
                    r,
                    e.fontWeight,
                    i,
                    n
                ].join(" "),
                n,
                i
            ];
        }, A.prototype.renderTextNode = function(e, r) {
            return mt(this, void 0, void 0, function() {
                var n, i, s, c, u, h, g, d, w = this;
                return Bt(this, function(B) {
                    return n = this.createFontStyle(r), i = n[0], s = n[1], c = n[2], this.ctx.font = i, this.ctx.direction = r.direction === 1 ? "rtl" : "ltr", this.ctx.textAlign = "left", this.ctx.textBaseline = "alphabetic", u = this.fontMetrics.getMetrics(s, c), h = u.baseline, g = u.middle, d = r.paintOrder, e.textBounds.forEach(function(L) {
                        d.forEach(function(U) {
                            switch(U){
                                case 0:
                                    w.ctx.fillStyle = At(r.color), w.renderTextWithLetterSpacing(L, r.letterSpacing, h);
                                    var N = r.textShadow;
                                    N.length && L.text.trim().length && (N.slice(0).reverse().forEach(function(Q) {
                                        w.ctx.shadowColor = At(Q.color), w.ctx.shadowOffsetX = Q.offsetX.number * w.options.scale, w.ctx.shadowOffsetY = Q.offsetY.number * w.options.scale, w.ctx.shadowBlur = Q.blur.number, w.renderTextWithLetterSpacing(L, r.letterSpacing, h);
                                    }), w.ctx.shadowColor = "", w.ctx.shadowOffsetX = 0, w.ctx.shadowOffsetY = 0, w.ctx.shadowBlur = 0), r.textDecorationLine.length && (w.ctx.fillStyle = At(r.textDecorationColor || r.color), r.textDecorationLine.forEach(function(Q) {
                                        switch(Q){
                                            case 1:
                                                w.ctx.fillRect(L.bounds.left, Math.round(L.bounds.top + h), L.bounds.width, 1);
                                                break;
                                            case 2:
                                                w.ctx.fillRect(L.bounds.left, Math.round(L.bounds.top), L.bounds.width, 1);
                                                break;
                                            case 3:
                                                w.ctx.fillRect(L.bounds.left, Math.ceil(L.bounds.top + g), L.bounds.width, 1);
                                                break;
                                        }
                                    }));
                                    break;
                                case 1:
                                    r.webkitTextStrokeWidth && L.text.trim().length && (w.ctx.strokeStyle = At(r.webkitTextStrokeColor), w.ctx.lineWidth = r.webkitTextStrokeWidth, w.ctx.lineJoin = window.chrome ? "miter" : "round", w.ctx.strokeText(L.text, L.bounds.left, L.bounds.top + h)), w.ctx.strokeStyle = "", w.ctx.lineWidth = 0, w.ctx.lineJoin = "miter";
                                    break;
                            }
                        });
                    }), [
                        2
                    ];
                });
            });
        }, A.prototype.renderReplacedElement = function(e, r, n) {
            if (n && e.intrinsicWidth > 0 && e.intrinsicHeight > 0) {
                var i = yo(e), s = Uo(r);
                this.path(s), this.ctx.save(), this.ctx.clip(), this.ctx.drawImage(n, 0, 0, e.intrinsicWidth, e.intrinsicHeight, i.left, i.top, i.width, i.height), this.ctx.restore();
            }
        }, A.prototype.renderNodeContent = function(e) {
            return mt(this, void 0, void 0, function() {
                var r, n, i, s, c, u, x, x, h, g, d, w, Y, B, L, Z, U, N, Q, x, R, Y, Z;
                return Bt(this, function($) {
                    switch($.label){
                        case 0:
                            this.applyEffects(e.getEffects(4)), r = e.container, n = e.curves, i = r.styles, s = 0, c = r.textNodes, $.label = 1;
                        case 1:
                            return s < c.length ? (u = c[s], [
                                4,
                                this.renderTextNode(u, i)
                            ]) : [
                                3,
                                4
                            ];
                        case 2:
                            $.sent(), $.label = 3;
                        case 3:
                            return s++, [
                                3,
                                1
                            ];
                        case 4:
                            if (!(r instanceof Eh)) return [
                                3,
                                8
                            ];
                            $.label = 5;
                        case 5:
                            return $.trys.push([
                                5,
                                7,
                                ,
                                8
                            ]), [
                                4,
                                this.context.cache.match(r.src)
                            ];
                        case 6:
                            return x = $.sent(), this.renderReplacedElement(r, n, x), [
                                3,
                                8
                            ];
                        case 7:
                            return $.sent(), this.context.logger.error("Error loading image " + r.src), [
                                3,
                                8
                            ];
                        case 8:
                            if (r instanceof Ih && this.renderReplacedElement(r, n, r.canvas), !(r instanceof xh)) return [
                                3,
                                12
                            ];
                            $.label = 9;
                        case 9:
                            return $.trys.push([
                                9,
                                11,
                                ,
                                12
                            ]), [
                                4,
                                this.context.cache.match(r.svg)
                            ];
                        case 10:
                            return x = $.sent(), this.renderReplacedElement(r, n, x), [
                                3,
                                12
                            ];
                        case 11:
                            return $.sent(), this.context.logger.error("Error loading svg " + r.svg.substring(0, 255)), [
                                3,
                                12
                            ];
                        case 12:
                            return r instanceof _h && r.tree ? (h = new A(this.context, {
                                scale: this.options.scale,
                                backgroundColor: r.backgroundColor,
                                x: 0,
                                y: 0,
                                width: r.width,
                                height: r.height
                            }), [
                                4,
                                h.render(r.tree)
                            ]) : [
                                3,
                                14
                            ];
                        case 13:
                            g = $.sent(), r.width && r.height && this.ctx.drawImage(g, 0, 0, r.width, r.height, r.bounds.left, r.bounds.top, r.bounds.width, r.bounds.height), $.label = 14;
                        case 14:
                            if (r instanceof Vu && (d = Math.min(r.bounds.width, r.bounds.height), r.type === vo ? r.checked && (this.ctx.save(), this.path([
                                new NA(r.bounds.left + d * .39363, r.bounds.top + d * .79),
                                new NA(r.bounds.left + d * .16, r.bounds.top + d * .5549),
                                new NA(r.bounds.left + d * .27347, r.bounds.top + d * .44071),
                                new NA(r.bounds.left + d * .39694, r.bounds.top + d * .5649),
                                new NA(r.bounds.left + d * .72983, r.bounds.top + d * .23),
                                new NA(r.bounds.left + d * .84, r.bounds.top + d * .34085),
                                new NA(r.bounds.left + d * .39363, r.bounds.top + d * .79)
                            ]), this.ctx.fillStyle = At(hf), this.ctx.fill(), this.ctx.restore()) : r.type === mo && r.checked && (this.ctx.save(), this.ctx.beginPath(), this.ctx.arc(r.bounds.left + d / 2, r.bounds.top + d / 2, d / 4, 0, Math.PI * 2, !0), this.ctx.fillStyle = At(hf), this.ctx.fill(), this.ctx.restore())), Sp(r) && r.value.length) {
                                switch(w = this.createFontStyle(i), Y = w[0], B = w[1], L = this.fontMetrics.getMetrics(Y, B).baseline, this.ctx.font = Y, this.ctx.fillStyle = At(i.color), this.ctx.textBaseline = "alphabetic", this.ctx.textAlign = _p(r.styles.textAlign), Z = yo(r), U = 0, r.styles.textAlign){
                                    case 1:
                                        U += Z.width / 2;
                                        break;
                                    case 2:
                                        U += Z.width;
                                        break;
                                }
                                N = Z.add(U, 0, 0, -Z.height / 2 + 1), this.ctx.save(), this.path([
                                    new NA(Z.left, Z.top),
                                    new NA(Z.left + Z.width, Z.top),
                                    new NA(Z.left + Z.width, Z.top + Z.height),
                                    new NA(Z.left, Z.top + Z.height)
                                ]), this.ctx.clip(), this.renderTextWithLetterSpacing(new Na(r.value, N), i.letterSpacing, L), this.ctx.restore(), this.ctx.textBaseline = "alphabetic", this.ctx.textAlign = "left";
                            }
                            if (!ze(r.styles.display, 2048)) return [
                                3,
                                20
                            ];
                            if (r.styles.listStyleImage === null) return [
                                3,
                                19
                            ];
                            if (Q = r.styles.listStyleImage, Q.type !== 0) return [
                                3,
                                18
                            ];
                            x = void 0, R = Q.url, $.label = 15;
                        case 15:
                            return $.trys.push([
                                15,
                                17,
                                ,
                                18
                            ]), [
                                4,
                                this.context.cache.match(R)
                            ];
                        case 16:
                            return x = $.sent(), this.ctx.drawImage(x, r.bounds.left - (x.width + 10), r.bounds.top), [
                                3,
                                18
                            ];
                        case 17:
                            return $.sent(), this.context.logger.error("Error loading list-style-image " + R), [
                                3,
                                18
                            ];
                        case 18:
                            return [
                                3,
                                20
                            ];
                        case 19:
                            e.listValue && r.styles.listStyleType !== -1 && (Y = this.createFontStyle(i)[0], this.ctx.font = Y, this.ctx.fillStyle = At(i.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = "right", Z = new Vr(r.bounds.left, r.bounds.top + ye(r.styles.paddingTop, r.bounds.width), r.bounds.width, Jl(i.lineHeight, i.fontSize.number) / 2 + 1), this.renderTextWithLetterSpacing(new Na(e.listValue, Z), i.letterSpacing, Jl(i.lineHeight, i.fontSize.number) / 2 + 2), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left"), $.label = 20;
                        case 20:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderStackContent = function(e) {
            return mt(this, void 0, void 0, function() {
                var r, n, Q, i, s, Q, c, u, Q, h, g, Q, d, w, Q, B, L, Q, U, N, Q;
                return Bt(this, function(x) {
                    switch(x.label){
                        case 0:
                            if (ze(e.element.container.flags, 16)) debugger;
                            return [
                                4,
                                this.renderNodeBackgroundAndBorders(e.element)
                            ];
                        case 1:
                            x.sent(), r = 0, n = e.negativeZIndex, x.label = 2;
                        case 2:
                            return r < n.length ? (Q = n[r], [
                                4,
                                this.renderStack(Q)
                            ]) : [
                                3,
                                5
                            ];
                        case 3:
                            x.sent(), x.label = 4;
                        case 4:
                            return r++, [
                                3,
                                2
                            ];
                        case 5:
                            return [
                                4,
                                this.renderNodeContent(e.element)
                            ];
                        case 6:
                            x.sent(), i = 0, s = e.nonInlineLevel, x.label = 7;
                        case 7:
                            return i < s.length ? (Q = s[i], [
                                4,
                                this.renderNode(Q)
                            ]) : [
                                3,
                                10
                            ];
                        case 8:
                            x.sent(), x.label = 9;
                        case 9:
                            return i++, [
                                3,
                                7
                            ];
                        case 10:
                            c = 0, u = e.nonPositionedFloats, x.label = 11;
                        case 11:
                            return c < u.length ? (Q = u[c], [
                                4,
                                this.renderStack(Q)
                            ]) : [
                                3,
                                14
                            ];
                        case 12:
                            x.sent(), x.label = 13;
                        case 13:
                            return c++, [
                                3,
                                11
                            ];
                        case 14:
                            h = 0, g = e.nonPositionedInlineLevel, x.label = 15;
                        case 15:
                            return h < g.length ? (Q = g[h], [
                                4,
                                this.renderStack(Q)
                            ]) : [
                                3,
                                18
                            ];
                        case 16:
                            x.sent(), x.label = 17;
                        case 17:
                            return h++, [
                                3,
                                15
                            ];
                        case 18:
                            d = 0, w = e.inlineLevel, x.label = 19;
                        case 19:
                            return d < w.length ? (Q = w[d], [
                                4,
                                this.renderNode(Q)
                            ]) : [
                                3,
                                22
                            ];
                        case 20:
                            x.sent(), x.label = 21;
                        case 21:
                            return d++, [
                                3,
                                19
                            ];
                        case 22:
                            B = 0, L = e.zeroOrAutoZIndexOrTransformedOrOpacity, x.label = 23;
                        case 23:
                            return B < L.length ? (Q = L[B], [
                                4,
                                this.renderStack(Q)
                            ]) : [
                                3,
                                26
                            ];
                        case 24:
                            x.sent(), x.label = 25;
                        case 25:
                            return B++, [
                                3,
                                23
                            ];
                        case 26:
                            U = 0, N = e.positiveZIndex, x.label = 27;
                        case 27:
                            return U < N.length ? (Q = N[U], [
                                4,
                                this.renderStack(Q)
                            ]) : [
                                3,
                                30
                            ];
                        case 28:
                            x.sent(), x.label = 29;
                        case 29:
                            return U++, [
                                3,
                                27
                            ];
                        case 30:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.mask = function(e) {
            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(e.slice(0).reverse()), this.ctx.closePath();
        }, A.prototype.path = function(e) {
            this.ctx.beginPath(), this.formatPath(e), this.ctx.closePath();
        }, A.prototype.formatPath = function(e) {
            var r = this;
            e.forEach(function(n, i) {
                var s = Vt(n) ? n.start : n;
                i === 0 ? r.ctx.moveTo(s.x, s.y) : r.ctx.lineTo(s.x, s.y), Vt(n) && r.ctx.bezierCurveTo(n.startControl.x, n.startControl.y, n.endControl.x, n.endControl.y, n.end.x, n.end.y);
            });
        }, A.prototype.renderRepeat = function(e, r, n, i) {
            this.path(e), this.ctx.fillStyle = r, this.ctx.translate(n, i), this.ctx.fill(), this.ctx.translate(-n, -i);
        }, A.prototype.resizeImage = function(e, r, n) {
            var i;
            if (e.width === r && e.height === n) return e;
            var s = (i = this.canvas.ownerDocument) !== null && i !== void 0 ? i : document, c = s.createElement("canvas");
            c.width = Math.max(1, r), c.height = Math.max(1, n);
            var u = c.getContext("2d");
            return u.drawImage(e, 0, 0, e.width, e.height, 0, 0, r, n), c;
        }, A.prototype.renderBackgroundImage = function(e) {
            return mt(this, void 0, void 0, function() {
                var r, n, i, s, c, u;
                return Bt(this, function(h) {
                    switch(h.label){
                        case 0:
                            r = e.styles.backgroundImage.length - 1, n = function(g) {
                                var d, w, B, uA, iA, cA, K, M, O, L, uA, iA, cA, K, M, U, N, Q, x, R, Y, Z, $, J, O, W, uA, I, H, K, M, oA, iA, cA, eA, lA, hA, UA, y, _, T, k;
                                return Bt(this, function(X) {
                                    switch(X.label){
                                        case 0:
                                            if (g.type !== 0) return [
                                                3,
                                                5
                                            ];
                                            d = void 0, w = g.url, X.label = 1;
                                        case 1:
                                            return X.trys.push([
                                                1,
                                                3,
                                                ,
                                                4
                                            ]), [
                                                4,
                                                i.context.cache.match(w)
                                            ];
                                        case 2:
                                            return d = X.sent(), [
                                                3,
                                                4
                                            ];
                                        case 3:
                                            return X.sent(), i.context.logger.error("Error loading background-image " + w), [
                                                3,
                                                4
                                            ];
                                        case 4:
                                            return d && (B = Jc(e, r, [
                                                d.width,
                                                d.height,
                                                d.width / d.height
                                            ]), uA = B[0], iA = B[1], cA = B[2], K = B[3], M = B[4], O = i.ctx.createPattern(i.resizeImage(d, K, M), "repeat"), i.renderRepeat(uA, O, iA, cA)), [
                                                3,
                                                6
                                            ];
                                        case 5:
                                            pg(g) ? (L = Jc(e, r, [
                                                null,
                                                null,
                                                null
                                            ]), uA = L[0], iA = L[1], cA = L[2], K = L[3], M = L[4], U = fg(g.angle, K, M), N = U[0], Q = U[1], x = U[2], R = U[3], Y = U[4], Z = document.createElement("canvas"), Z.width = K, Z.height = M, $ = Z.getContext("2d"), J = $.createLinearGradient(Q, R, x, Y), Wl(g.stops, N).forEach(function(nA) {
                                                return J.addColorStop(nA.stop, At(nA.color));
                                            }), $.fillStyle = J, $.fillRect(0, 0, K, M), K > 0 && M > 0 && (O = i.ctx.createPattern(Z, "repeat"), i.renderRepeat(uA, O, iA, cA))) : wg(g) && (W = Jc(e, r, [
                                                null,
                                                null,
                                                null
                                            ]), uA = W[0], I = W[1], H = W[2], K = W[3], M = W[4], oA = g.position.length === 0 ? [
                                                ku
                                            ] : g.position, iA = ye(oA[0], K), cA = ye(oA[oA.length - 1], M), eA = hg(g, iA, cA, K, M), lA = eA[0], hA = eA[1], lA > 0 && hA > 0 && (UA = i.ctx.createRadialGradient(I + iA, H + cA, 0, I + iA, H + cA, lA), Wl(g.stops, lA * 2).forEach(function(nA) {
                                                return UA.addColorStop(nA.stop, At(nA.color));
                                            }), i.path(uA), i.ctx.fillStyle = UA, lA !== hA ? (y = e.bounds.left + .5 * e.bounds.width, _ = e.bounds.top + .5 * e.bounds.height, T = hA / lA, k = 1 / T, i.ctx.save(), i.ctx.translate(y, _), i.ctx.transform(1, 0, 0, T, 0, 0), i.ctx.translate(-y, -_), i.ctx.fillRect(I, k * (H - _) + _, K, M * k), i.ctx.restore()) : i.ctx.fill())), X.label = 6;
                                        case 6:
                                            return r--, [
                                                2
                                            ];
                                    }
                                });
                            }, i = this, s = 0, c = e.styles.backgroundImage.slice(0).reverse(), h.label = 1;
                        case 1:
                            return s < c.length ? (u = c[s], [
                                5,
                                n(u)
                            ]) : [
                                3,
                                4
                            ];
                        case 2:
                            h.sent(), h.label = 3;
                        case 3:
                            return s++, [
                                3,
                                1
                            ];
                        case 4:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderSolidBorder = function(e, r, n) {
            return mt(this, void 0, void 0, function() {
                return Bt(this, function(i) {
                    return this.path(yf(n, r)), this.ctx.fillStyle = At(e), this.ctx.fill(), [
                        2
                    ];
                });
            });
        }, A.prototype.renderDoubleBorder = function(e, r, n, i) {
            return mt(this, void 0, void 0, function() {
                var s, c;
                return Bt(this, function(u) {
                    switch(u.label){
                        case 0:
                            return r < 3 ? [
                                4,
                                this.renderSolidBorder(e, n, i)
                            ] : [
                                3,
                                2
                            ];
                        case 1:
                            return u.sent(), [
                                2
                            ];
                        case 2:
                            return s = Cp(i, n), this.path(s), this.ctx.fillStyle = At(e), this.ctx.fill(), c = Qp(i, n), this.path(c), this.ctx.fill(), [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderNodeBackgroundAndBorders = function(e) {
            return mt(this, void 0, void 0, function() {
                var r, n, i, s, c, u, h, g, d = this;
                return Bt(this, function(w) {
                    switch(w.label){
                        case 0:
                            return this.applyEffects(e.getEffects(2)), r = e.container.styles, n = !wn(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 = Np(Ei(r.backgroundClip, 0), e.curves), n || r.boxShadow.length ? (this.ctx.save(), this.path(s), this.ctx.clip(), wn(r.backgroundColor) || (this.ctx.fillStyle = At(r.backgroundColor), this.ctx.fill()), [
                                4,
                                this.renderBackgroundImage(e.container)
                            ]) : [
                                3,
                                2
                            ];
                        case 1:
                            w.sent(), this.ctx.restore(), r.boxShadow.slice(0).reverse().forEach(function(B) {
                                d.ctx.save();
                                var L = Fo(e.curves), U = B.inset ? 0 : xp, N = vp(L, -U + (B.inset ? 1 : -1) * B.spread.number, (B.inset ? 1 : -1) * B.spread.number, B.spread.number * (B.inset ? -2 : 2), B.spread.number * (B.inset ? -2 : 2));
                                B.inset ? (d.path(L), d.ctx.clip(), d.mask(N)) : (d.mask(L), d.ctx.clip(), d.path(N)), d.ctx.shadowOffsetX = B.offsetX.number + U, d.ctx.shadowOffsetY = B.offsetY.number, d.ctx.shadowColor = At(B.color), d.ctx.shadowBlur = B.blur.number, d.ctx.fillStyle = B.inset ? At(B.color) : "rgba(0,0,0,1)", d.ctx.fill(), d.ctx.restore();
                            }), w.label = 2;
                        case 2:
                            c = 0, u = 0, h = i, w.label = 3;
                        case 3:
                            return u < h.length ? (g = h[u], g.style !== 0 && !wn(g.color) && g.width > 0 ? g.style !== 2 ? [
                                3,
                                5
                            ] : [
                                4,
                                this.renderDashedDottedBorder(g.color, g.width, c, e.curves, 2)
                            ] : [
                                3,
                                11
                            ]) : [
                                3,
                                13
                            ];
                        case 4:
                            return w.sent(), [
                                3,
                                11
                            ];
                        case 5:
                            return g.style !== 3 ? [
                                3,
                                7
                            ] : [
                                4,
                                this.renderDashedDottedBorder(g.color, g.width, c, e.curves, 3)
                            ];
                        case 6:
                            return w.sent(), [
                                3,
                                11
                            ];
                        case 7:
                            return g.style !== 4 ? [
                                3,
                                9
                            ] : [
                                4,
                                this.renderDoubleBorder(g.color, g.width, c, e.curves)
                            ];
                        case 8:
                            return w.sent(), [
                                3,
                                11
                            ];
                        case 9:
                            return [
                                4,
                                this.renderSolidBorder(g.color, c, e.curves)
                            ];
                        case 10:
                            w.sent(), w.label = 11;
                        case 11:
                            c++, w.label = 12;
                        case 12:
                            return u++, [
                                3,
                                3
                            ];
                        case 13:
                            return [
                                2
                            ];
                    }
                });
            });
        }, A.prototype.renderDashedDottedBorder = function(e, r, n, i, s) {
            return mt(this, void 0, void 0, function() {
                var c, u, h, g, d, w, B, L, U, N, Q, x, R, Y, Z, $, Z, $;
                return Bt(this, function(J) {
                    return this.ctx.save(), c = Fp(i, n), u = yf(i, n), s === 2 && (this.path(u), this.ctx.clip()), Vt(u[0]) ? (h = u[0].start.x, g = u[0].start.y) : (h = u[0].x, g = u[0].y), Vt(u[1]) ? (d = u[1].end.x, w = u[1].end.y) : (d = u[1].x, w = u[1].y), n === 0 || n === 2 ? B = Math.abs(h - d) : B = Math.abs(g - w), this.ctx.beginPath(), s === 3 ? this.formatPath(c) : this.formatPath(u.slice(0, 2)), L = r < 3 ? r * 3 : r * 2, U = r < 3 ? r * 2 : r, s === 3 && (L = r, U = r), N = !0, B <= L * 2 ? N = !1 : B <= L * 2 + U ? (Q = B / (2 * L + U), L *= Q, U *= Q) : (x = Math.floor((B + U) / (L + U)), R = (B - x * L) / (x - 1), Y = (B - (x + 1) * L) / x, U = Y <= 0 || Math.abs(U - R) < Math.abs(U - Y) ? R : Y), N && (s === 3 ? this.ctx.setLineDash([
                        0,
                        L + U
                    ]) : this.ctx.setLineDash([
                        L,
                        U
                    ])), s === 3 ? (this.ctx.lineCap = "round", this.ctx.lineWidth = r) : this.ctx.lineWidth = r * 2 + 1.1, this.ctx.strokeStyle = At(e), this.ctx.stroke(), this.ctx.setLineDash([]), s === 2 && (Vt(u[0]) && (Z = u[3], $ = u[0], this.ctx.beginPath(), this.formatPath([
                        new NA(Z.end.x, Z.end.y),
                        new NA($.start.x, $.start.y)
                    ]), this.ctx.stroke()), Vt(u[1]) && (Z = u[1], $ = u[2], this.ctx.beginPath(), this.formatPath([
                        new NA(Z.end.x, Z.end.y),
                        new NA($.start.x, $.start.y)
                    ]), this.ctx.stroke())), this.ctx.restore(), [
                        2
                    ];
                });
            });
        }, A.prototype.render = function(e) {
            return mt(this, void 0, void 0, function() {
                var r;
                return Bt(this, function(n) {
                    switch(n.label){
                        case 0:
                            return this.options.backgroundColor && (this.ctx.fillStyle = At(this.options.backgroundColor), this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height)), r = mp(e), [
                                4,
                                this.renderStack(r)
                            ];
                        case 1:
                            return n.sent(), this.applyEffects([]), [
                                2,
                                this.canvas
                            ];
                    }
                });
            });
        }, A;
    }(zh), Sp = function(t) {
        return t instanceof Nh || t instanceof Sh ? !0 : t instanceof Vu && t.type !== mo && t.type !== vo;
    }, Np = function(t, A) {
        switch(t){
            case 0:
                return Fo(A);
            case 2:
                return Bp(A);
            case 1:
            default:
                return Uo(A);
        }
    }, _p = function(t) {
        switch(t){
            case 1:
                return "center";
            case 2:
                return "right";
            case 0:
            default:
                return "left";
        }
    }, Dp = [
        "-apple-system",
        "system-ui"
    ], Tp = function(t) {
        return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent) ? t.filter(function(A) {
            return Dp.indexOf(A) === -1;
        }) : t;
    }, Op = function(t) {
        cr(A, t);
        function A(e, r) {
            var n = t.call(this, e, r) || this;
            return n.canvas = r.canvas ? r.canvas : document.createElement("canvas"), n.ctx = n.canvas.getContext("2d"), n.options = r, n.canvas.width = Math.floor(r.width * r.scale), n.canvas.height = Math.floor(r.height * r.scale), n.canvas.style.width = r.width + "px", n.canvas.style.height = r.height + "px", n.ctx.scale(n.options.scale, n.options.scale), n.ctx.translate(-r.x, -r.y), n.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized (" + r.width + "x" + r.height + " at " + r.x + "," + r.y + ") with scale " + r.scale), n;
        }
        return A.prototype.render = function(e) {
            return mt(this, void 0, void 0, function() {
                var r, n;
                return Bt(this, function(i) {
                    switch(i.label){
                        case 0:
                            return r = Qu(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, e), [
                                4,
                                Pp(r)
                            ];
                        case 1:
                            return n = i.sent(), this.options.backgroundColor && (this.ctx.fillStyle = At(this.options.backgroundColor), this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale)), this.ctx.drawImage(n, -this.options.x * this.options.scale, -this.options.y * this.options.scale), [
                                2,
                                this.canvas
                            ];
                    }
                });
            });
        }, A;
    }(zh), Pp = function(t) {
        return new Promise(function(A, e) {
            var r = new Image;
            r.onload = function() {
                A(r);
            }, r.onerror = e, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(t));
        });
    }, Mp = function() {
        function t(A) {
            var e = A.id, r = A.enabled;
            this.id = e, this.enabled = r, this.start = Date.now();
        }
        return t.prototype.debug = function() {
            for(var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e];
            this.enabled && (typeof window < "u" && window.console && typeof console.debug == "function" ? console.debug.apply(console, _s([
                this.id,
                this.getTime() + "ms"
            ], A)) : this.info.apply(this, A));
        }, t.prototype.getTime = function() {
            return Date.now() - this.start;
        }, t.prototype.info = function() {
            for(var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e];
            this.enabled && typeof window < "u" && window.console && typeof console.info == "function" && console.info.apply(console, _s([
                this.id,
                this.getTime() + "ms"
            ], A));
        }, t.prototype.warn = function() {
            for(var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e];
            this.enabled && (typeof window < "u" && window.console && typeof console.warn == "function" ? console.warn.apply(console, _s([
                this.id,
                this.getTime() + "ms"
            ], A)) : this.info.apply(this, A));
        }, t.prototype.error = function() {
            for(var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e];
            this.enabled && (typeof window < "u" && window.console && typeof console.error == "function" ? console.error.apply(console, _s([
                this.id,
                this.getTime() + "ms"
            ], A)) : this.info.apply(this, A));
        }, t.instances = {}, t;
    }(), Kp = function() {
        function t(A, e) {
            var r;
            this.windowBounds = e, this.instanceName = "#" + t.instanceCount++, this.logger = new Mp({
                id: this.instanceName,
                enabled: A.logging
            }), this.cache = (r = A.cache) !== null && r !== void 0 ? r : new ap(this, A);
        }
        return t.instanceCount = 1, t;
    }(), Yh = function(t, A) {
        return A === void 0 && (A = {}), kp(t, A);
    };
    typeof window < "u" && jh.setContext(window);
    var kp = function(t, A) {
        return mt(void 0, void 0, void 0, function() {
            var e, r, n, i, s, c, u, h, g, d, w, B, L, U, N, Q, x, R, Y, Z, J, $, J, O, W, uA, I, H, K, M, oA, iA, cA, eA, lA, hA, UA, y, _, T;
            return Bt(this, function(k) {
                switch(k.label){
                    case 0:
                        if (!t || typeof t != "object") return [
                            2,
                            Promise.reject("Invalid element provided as first argument")
                        ];
                        if (e = t.ownerDocument, !e) throw new Error("Element is not attached to a Document");
                        if (r = e.defaultView, !r) throw new Error("Document is not attached to a Window");
                        return n = {
                            allowTaint: (O = A.allowTaint) !== null && O !== void 0 ? O : !1,
                            imageTimeout: (W = A.imageTimeout) !== null && W !== void 0 ? W : 15e3,
                            proxy: A.proxy,
                            useCORS: (uA = A.useCORS) !== null && uA !== void 0 ? uA : !1
                        }, i = su({
                            logging: (I = A.logging) !== null && I !== void 0 ? I : !0,
                            cache: A.cache
                        }, n), s = {
                            windowWidth: (H = A.windowWidth) !== null && H !== void 0 ? H : r.innerWidth,
                            windowHeight: (K = A.windowHeight) !== null && K !== void 0 ? K : r.innerHeight,
                            scrollX: (M = A.scrollX) !== null && M !== void 0 ? M : r.pageXOffset,
                            scrollY: (oA = A.scrollY) !== null && oA !== void 0 ? oA : r.pageYOffset
                        }, c = new Vr(s.scrollX, s.scrollY, s.windowWidth, s.windowHeight), u = new Kp(i, c), h = (iA = A.foreignObjectRendering) !== null && iA !== void 0 ? iA : !1, g = {
                            allowTaint: (cA = A.allowTaint) !== null && cA !== void 0 ? cA : !1,
                            onclone: A.onclone,
                            ignoreElements: A.ignoreElements,
                            inlineImages: h,
                            copyStyles: h
                        }, u.logger.debug("Starting document clone with size " + c.width + "x" + c.height + " scrolled to " + -c.left + "," + -c.top), d = new Qf(u, t, g), w = d.clonedReferenceElement, w ? [
                            4,
                            d.toIFrame(e, c)
                        ] : [
                            2,
                            Promise.reject("Unable to find element in cloned iframe")
                        ];
                    case 1:
                        return B = k.sent(), L = qu(w) || Gd(w) ? v0(w.ownerDocument) : Eo(u, w), U = L.width, N = L.height, Q = L.left, x = L.top, R = Rp(u, w, A.backgroundColor), Y = {
                            canvas: A.canvas,
                            backgroundColor: R,
                            scale: (lA = (eA = A.scale) !== null && eA !== void 0 ? eA : r.devicePixelRatio) !== null && lA !== void 0 ? lA : 1,
                            x: ((hA = A.x) !== null && hA !== void 0 ? hA : 0) + Q,
                            y: ((UA = A.y) !== null && UA !== void 0 ? UA : 0) + x,
                            width: (y = A.width) !== null && y !== void 0 ? y : Math.ceil(U),
                            height: (_ = A.height) !== null && _ !== void 0 ? _ : Math.ceil(N)
                        }, h ? (u.logger.debug("Document cloned, using foreign object rendering"), J = new Op(u, Y), [
                            4,
                            J.render(w)
                        ]) : [
                            3,
                            3
                        ];
                    case 2:
                        return Z = k.sent(), [
                            3,
                            5
                        ];
                    case 3:
                        return u.logger.debug("Document cloned, element located at " + Q + "," + x + " with size " + U + "x" + N + " using computed rendering"), u.logger.debug("Starting DOM parsing"), $ = Th(u, w), R === $.styles.backgroundColor && ($.styles.backgroundColor = jr.TRANSPARENT), u.logger.debug("Starting renderer for element at " + Y.x + "," + Y.y + " with size " + Y.width + "x" + Y.height), J = new Hp(u, Y), [
                            4,
                            J.render($)
                        ];
                    case 4:
                        Z = k.sent(), k.label = 5;
                    case 5:
                        return (!((T = A.removeContainer) !== null && T !== void 0) || T) && (Qf.destroy(B) || u.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")), u.logger.debug("Finished rendering"), [
                            2,
                            Z
                        ];
                }
            });
        });
    }, Rp = function(t, A, e) {
        var r = A.ownerDocument, n = r.documentElement ? Ha(t, getComputedStyle(r.documentElement).backgroundColor) : jr.TRANSPARENT, i = r.body ? Ha(t, getComputedStyle(r.body).backgroundColor) : jr.TRANSPARENT, s = typeof e == "string" ? Ha(t, e) : e === null ? jr.TRANSPARENT : 4294967295;
        return A === r.documentElement ? wn(n) ? wn(i) ? s : i : n : s;
    };
    const Gp = Object.freeze(Object.defineProperty({
        __proto__: null,
        default: Yh
    }, Symbol.toStringTag, {
        value: "Module"
    }));
    de = function(t) {
        "@babel/helpers - typeof";
        return de = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(A) {
            return typeof A;
        } : function(A) {
            return A && typeof Symbol == "function" && A.constructor === Symbol && A !== Symbol.prototype ? "symbol" : typeof A;
        }, de(t);
    };
    var dt = Uint8Array, Dt = Uint16Array, Wu = Int32Array, Po = new dt([
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        2,
        2,
        2,
        2,
        3,
        3,
        3,
        3,
        4,
        4,
        4,
        4,
        5,
        5,
        5,
        5,
        0,
        0,
        0,
        0
    ]), Mo = new dt([
        0,
        0,
        0,
        0,
        1,
        1,
        2,
        2,
        3,
        3,
        4,
        4,
        5,
        5,
        6,
        6,
        7,
        7,
        8,
        8,
        9,
        9,
        10,
        10,
        11,
        11,
        12,
        12,
        13,
        13,
        0,
        0
    ]), Iu = new dt([
        16,
        17,
        18,
        0,
        8,
        7,
        9,
        6,
        10,
        5,
        11,
        4,
        12,
        3,
        13,
        2,
        14,
        1,
        15
    ]), Zh = function(t, A) {
        for(var e = new Dt(31), r = 0; r < 31; ++r)e[r] = A += 1 << t[r - 1];
        for(var n = new Wu(e[30]), r = 1; r < 30; ++r)for(var i = e[r]; i < e[r + 1]; ++i)n[i] = i - e[r] << 5 | r;
        return {
            b: e,
            r: n
        };
    }, $h = Zh(Po, 2), AB = $h.b, xu = $h.r;
    AB[28] = 258, xu[258] = 28;
    var eB = Zh(Mo, 0), jp = eB.b, Lf = eB.r, Hu = new Dt(32768);
    for(var be = 0; be < 32768; ++be){
        var on = (be & 43690) >> 1 | (be & 21845) << 1;
        on = (on & 52428) >> 2 | (on & 13107) << 2, on = (on & 61680) >> 4 | (on & 3855) << 4, Hu[be] = ((on & 65280) >> 8 | (on & 255) << 8) >> 1;
    }
    var br = function(t, A, e) {
        for(var r = t.length, n = 0, i = new Dt(A); n < r; ++n)t[n] && ++i[t[n] - 1];
        var s = new Dt(A);
        for(n = 1; n < A; ++n)s[n] = s[n - 1] + i[n - 1] << 1;
        var c;
        if (e) {
            c = new Dt(1 << A);
            var u = 15 - A;
            for(n = 0; n < r; ++n)if (t[n]) for(var h = n << 4 | t[n], g = A - t[n], d = s[t[n] - 1]++ << g, w = d | (1 << g) - 1; d <= w; ++d)c[Hu[d] >> u] = h;
        } else for(c = new Dt(r), n = 0; n < r; ++n)t[n] && (c[n] = Hu[s[t[n] - 1]++] >> 15 - t[n]);
        return c;
    }, mn = new dt(288);
    for(var be = 0; be < 144; ++be)mn[be] = 8;
    for(var be = 144; be < 256; ++be)mn[be] = 9;
    for(var be = 256; be < 280; ++be)mn[be] = 7;
    for(var be = 280; be < 288; ++be)mn[be] = 8;
    var Ma = new dt(32);
    for(var be = 0; be < 32; ++be)Ma[be] = 5;
    var Vp = br(mn, 9, 0), qp = br(mn, 9, 1), Wp = br(Ma, 5, 0), Xp = br(Ma, 5, 1), zc = function(t) {
        for(var A = t[0], e = 1; e < t.length; ++e)t[e] > A && (A = t[e]);
        return A;
    }, ir = function(t, A, e) {
        var r = A / 8 | 0;
        return (t[r] | t[r + 1] << 8) >> (A & 7) & e;
    }, Yc = function(t, A) {
        var e = A / 8 | 0;
        return (t[e] | t[e + 1] << 8 | t[e + 2] << 16) >> (A & 7);
    }, Xu = function(t) {
        return (t + 7) / 8 | 0;
    }, tB = function(t, A, e) {
        return (e == null || e > t.length) && (e = t.length), new dt(t.subarray(A, e));
    }, Jp = [
        "unexpected EOF",
        "invalid block type",
        "invalid length/literal",
        "invalid distance",
        "stream finished",
        "no stream handler",
        ,
        "no callback",
        "invalid UTF-8 data",
        "extra field too long",
        "date not in range 1980-2099",
        "filename too long",
        "stream finishing",
        "invalid zip data"
    ], or = function(t, A, e) {
        var r = new Error(A || Jp[t]);
        if (r.code = t, Error.captureStackTrace && Error.captureStackTrace(r, or), !e) throw r;
        return r;
    }, zp = function(t, A, e, r) {
        var n = t.length, i = 0;
        if (!n || A.f && !A.l) return e || new dt(0);
        var s = !e, c = s || A.i != 2, u = A.i;
        s && (e = new dt(n * 3));
        var h = function(QA) {
            var xA = e.length;
            if (QA > xA) {
                var LA = new dt(Math.max(xA * 2, QA));
                LA.set(e), e = LA;
            }
        }, g = A.f || 0, d = A.p || 0, w = A.b || 0, B = A.l, L = A.d, U = A.m, N = A.n, Q = n * 8;
        do {
            if (!B) {
                g = ir(t, d, 1);
                var x = ir(t, d + 1, 3);
                if (d += 3, x) if (x == 1) B = qp, L = Xp, U = 9, N = 5;
                else if (x == 2) {
                    var $ = ir(t, d, 31) + 257, J = ir(t, d + 10, 15) + 4, O = $ + ir(t, d + 5, 31) + 1;
                    d += 14;
                    for(var W = new dt(O), uA = new dt(19), I = 0; I < J; ++I)uA[Iu[I]] = ir(t, d + I * 3, 7);
                    d += J * 3;
                    for(var H = zc(uA), K = (1 << H) - 1, M = br(uA, H, 1), I = 0; I < O;){
                        var oA = M[ir(t, d, K)];
                        d += oA & 15;
                        var R = oA >> 4;
                        if (R < 16) W[I++] = R;
                        else {
                            var iA = 0, cA = 0;
                            for(R == 16 ? (cA = 3 + ir(t, d, 3), d += 2, iA = W[I - 1]) : R == 17 ? (cA = 3 + ir(t, d, 7), d += 3) : R == 18 && (cA = 11 + ir(t, d, 127), d += 7); cA--;)W[I++] = iA;
                        }
                    }
                    var eA = W.subarray(0, $), lA = W.subarray($);
                    U = zc(eA), N = zc(lA), B = br(eA, U, 1), L = br(lA, N, 1);
                } else or(1);
                else {
                    var R = Xu(d) + 4, Y = t[R - 4] | t[R - 3] << 8, Z = R + Y;
                    if (Z > n) {
                        u && or(0);
                        break;
                    }
                    c && h(w + Y), e.set(t.subarray(R, Z), w), A.b = w += Y, A.p = d = Z * 8, A.f = g;
                    continue;
                }
                if (d > Q) {
                    u && or(0);
                    break;
                }
            }
            c && h(w + 131072);
            for(var hA = (1 << U) - 1, UA = (1 << N) - 1, y = d;; y = d){
                var iA = B[Yc(t, d) & hA], _ = iA >> 4;
                if (d += iA & 15, d > Q) {
                    u && or(0);
                    break;
                }
                if (iA || or(2), _ < 256) e[w++] = _;
                else if (_ == 256) {
                    y = d, B = null;
                    break;
                } else {
                    var T = _ - 254;
                    if (_ > 264) {
                        var I = _ - 257, k = Po[I];
                        T = ir(t, d, (1 << k) - 1) + AB[I], d += k;
                    }
                    var X = L[Yc(t, d) & UA], nA = X >> 4;
                    X || or(3), d += X & 15;
                    var lA = jp[nA];
                    if (nA > 3) {
                        var k = Mo[nA];
                        lA += Yc(t, d) & (1 << k) - 1, d += k;
                    }
                    if (d > Q) {
                        u && or(0);
                        break;
                    }
                    c && h(w + 131072);
                    var aA = w + T;
                    if (w < lA) {
                        var sA = i - lA, FA = Math.min(lA, aA);
                        for(sA + w < 0 && or(3); w < FA; ++w)e[w] = r[sA + w];
                    }
                    for(; w < aA; ++w)e[w] = e[w - lA];
                }
            }
            A.l = B, A.p = y, A.b = w, A.f = g, B && (g = 1, A.m = U, A.d = L, A.n = N);
        }while (!g);
        return w != e.length && s ? tB(e, 0, w) : e.subarray(0, w);
    }, Gr = function(t, A, e) {
        e <<= A & 7;
        var r = A / 8 | 0;
        t[r] |= e, t[r + 1] |= e >> 8;
    }, Ca = function(t, A, e) {
        e <<= A & 7;
        var r = A / 8 | 0;
        t[r] |= e, t[r + 1] |= e >> 8, t[r + 2] |= e >> 16;
    }, Zc = function(t, A) {
        for(var e = [], r = 0; r < t.length; ++r)t[r] && e.push({
            s: r,
            f: t[r]
        });
        var n = e.length, i = e.slice();
        if (!n) return {
            t: nB,
            l: 0
        };
        if (n == 1) {
            var s = new dt(e[0].s + 1);
            return s[e[0].s] = 1, {
                t: s,
                l: 1
            };
        }
        e.sort(function(Z, $) {
            return Z.f - $.f;
        }), e.push({
            s: -1,
            f: 25001
        });
        var c = e[0], u = e[1], h = 0, g = 1, d = 2;
        for(e[0] = {
            s: -1,
            f: c.f + u.f,
            l: c,
            r: u
        }; g != n - 1;)c = e[e[h].f < e[d].f ? h++ : d++], u = e[h != g && e[h].f < e[d].f ? h++ : d++], e[g++] = {
            s: -1,
            f: c.f + u.f,
            l: c,
            r: u
        };
        for(var w = i[0].s, r = 1; r < n; ++r)i[r].s > w && (w = i[r].s);
        var B = new Dt(w + 1), L = Su(e[g - 1], B, 0);
        if (L > A) {
            var r = 0, U = 0, N = L - A, Q = 1 << N;
            for(i.sort(function($, J) {
                return B[J.s] - B[$.s] || $.f - J.f;
            }); r < n; ++r){
                var x = i[r].s;
                if (B[x] > A) U += Q - (1 << L - B[x]), B[x] = A;
                else break;
            }
            for(U >>= N; U > 0;){
                var R = i[r].s;
                B[R] < A ? U -= 1 << A - B[R]++ - 1 : ++r;
            }
            for(; r >= 0 && U; --r){
                var Y = i[r].s;
                B[Y] == A && (--B[Y], ++U);
            }
            L = A;
        }
        return {
            t: new dt(B),
            l: L
        };
    }, Su = function(t, A, e) {
        return t.s == -1 ? Math.max(Su(t.l, A, e + 1), Su(t.r, A, e + 1)) : A[t.s] = e;
    }, Ef = function(t) {
        for(var A = t.length; A && !t[--A];);
        for(var e = new Dt(++A), r = 0, n = t[0], i = 1, s = function(u) {
            e[r++] = u;
        }, c = 1; c <= A; ++c)if (t[c] == n && c != A) ++i;
        else {
            if (!n && i > 2) {
                for(; i > 138; i -= 138)s(32754);
                i > 2 && (s(i > 10 ? i - 11 << 5 | 28690 : i - 3 << 5 | 12305), i = 0);
            } else if (i > 3) {
                for(s(n), --i; i > 6; i -= 6)s(8304);
                i > 2 && (s(i - 3 << 5 | 8208), i = 0);
            }
            for(; i--;)s(n);
            i = 1, n = t[c];
        }
        return {
            c: e.subarray(0, r),
            n: A
        };
    }, Qa = function(t, A) {
        for(var e = 0, r = 0; r < A.length; ++r)e += t[r] * A[r];
        return e;
    }, rB = function(t, A, e) {
        var r = e.length, n = Xu(A + 2);
        t[n] = r & 255, t[n + 1] = r >> 8, t[n + 2] = t[n] ^ 255, t[n + 3] = t[n + 1] ^ 255;
        for(var i = 0; i < r; ++i)t[n + i + 4] = e[i];
        return (n + 4 + r) * 8;
    }, If = function(t, A, e, r, n, i, s, c, u, h, g) {
        Gr(A, g++, e), ++n[256];
        for(var d = Zc(n, 15), w = d.t, B = d.l, L = Zc(i, 15), U = L.t, N = L.l, Q = Ef(w), x = Q.c, R = Q.n, Y = Ef(U), Z = Y.c, $ = Y.n, J = new Dt(19), O = 0; O < x.length; ++O)++J[x[O] & 31];
        for(var O = 0; O < Z.length; ++O)++J[Z[O] & 31];
        for(var W = Zc(J, 7), uA = W.t, I = W.l, H = 19; H > 4 && !uA[Iu[H - 1]]; --H);
        var K = h + 5 << 3, M = Qa(n, mn) + Qa(i, Ma) + s, oA = Qa(n, w) + Qa(i, U) + s + 14 + 3 * H + Qa(J, uA) + 2 * J[16] + 3 * J[17] + 7 * J[18];
        if (u >= 0 && K <= M && K <= oA) return rB(A, g, t.subarray(u, u + h));
        var iA, cA, eA, lA;
        if (Gr(A, g, 1 + (oA < M)), g += 2, oA < M) {
            iA = br(w, B, 0), cA = w, eA = br(U, N, 0), lA = U;
            var hA = br(uA, I, 0);
            Gr(A, g, R - 257), Gr(A, g + 5, $ - 1), Gr(A, g + 10, H - 4), g += 14;
            for(var O = 0; O < H; ++O)Gr(A, g + 3 * O, uA[Iu[O]]);
            g += 3 * H;
            for(var UA = [
                x,
                Z
            ], y = 0; y < 2; ++y)for(var _ = UA[y], O = 0; O < _.length; ++O){
                var T = _[O] & 31;
                Gr(A, g, hA[T]), g += uA[T], T > 15 && (Gr(A, g, _[O] >> 5 & 127), g += _[O] >> 12);
            }
        } else iA = Vp, cA = mn, eA = Wp, lA = Ma;
        for(var O = 0; O < c; ++O){
            var k = r[O];
            if (k > 255) {
                var T = k >> 18 & 31;
                Ca(A, g, iA[T + 257]), g += cA[T + 257], T > 7 && (Gr(A, g, k >> 23 & 31), g += Po[T]);
                var X = k & 31;
                Ca(A, g, eA[X]), g += lA[X], X > 3 && (Ca(A, g, k >> 5 & 8191), g += Mo[X]);
            } else Ca(A, g, iA[k]), g += cA[k];
        }
        return Ca(A, g, iA[256]), g + cA[256];
    }, Yp = new Wu([
        65540,
        131080,
        131088,
        131104,
        262176,
        1048704,
        1048832,
        2114560,
        2117632
    ]), nB = new dt(0), Zp = function(t, A, e, r, n, i) {
        var s = i.z || t.length, c = new dt(r + s + 5 * (1 + Math.ceil(s / 7e3)) + n), u = c.subarray(r, c.length - n), h = i.l, g = (i.r || 0) & 7;
        if (A) {
            g && (u[0] = i.r >> 3);
            for(var d = Yp[A - 1], w = d >> 13, B = d & 8191, L = (1 << e) - 1, U = i.p || new Dt(32768), N = i.h || new Dt(L + 1), Q = Math.ceil(e / 3), x = 2 * Q, R = function(jA) {
                return (t[jA] ^ t[jA + 1] << Q ^ t[jA + 2] << x) & L;
            }, Y = new Wu(25e3), Z = new Dt(288), $ = new Dt(32), J = 0, O = 0, W = i.i || 0, uA = 0, I = i.w || 0, H = 0; W + 2 < s; ++W){
                var K = R(W), M = W & 32767, oA = N[K];
                if (U[M] = oA, N[K] = M, I <= W) {
                    var iA = s - W;
                    if ((J > 7e3 || uA > 24576) && (iA > 423 || !h)) {
                        g = If(t, u, 0, Y, Z, $, O, uA, H, W - H, g), uA = J = O = 0, H = W;
                        for(var cA = 0; cA < 286; ++cA)Z[cA] = 0;
                        for(var cA = 0; cA < 30; ++cA)$[cA] = 0;
                    }
                    var eA = 2, lA = 0, hA = B, UA = M - oA & 32767;
                    if (iA > 2 && K == R(W - UA)) for(var y = Math.min(w, iA) - 1, _ = Math.min(32767, W), T = Math.min(258, iA); UA <= _ && --hA && M != oA;){
                        if (t[W + eA] == t[W + eA - UA]) {
                            for(var k = 0; k < T && t[W + k] == t[W + k - UA]; ++k);
                            if (k > eA) {
                                if (eA = k, lA = UA, k > y) break;
                                for(var X = Math.min(UA, k - 2), nA = 0, cA = 0; cA < X; ++cA){
                                    var aA = W - UA + cA & 32767, sA = U[aA], FA = aA - sA & 32767;
                                    FA > nA && (nA = FA, oA = aA);
                                }
                            }
                        }
                        M = oA, oA = U[M], UA += M - oA & 32767;
                    }
                    if (lA) {
                        Y[uA++] = 268435456 | xu[eA] << 18 | Lf[lA];
                        var QA = xu[eA] & 31, xA = Lf[lA] & 31;
                        O += Po[QA] + Mo[xA], ++Z[257 + QA], ++$[xA], I = W + eA, ++J;
                    } else Y[uA++] = t[W], ++Z[t[W]];
                }
            }
            for(W = Math.max(W, I); W < s; ++W)Y[uA++] = t[W], ++Z[t[W]];
            g = If(t, u, h, Y, Z, $, O, uA, H, W - H, g), h || (i.r = g & 7 | u[g / 8 | 0] << 3, g -= 7, i.h = N, i.p = U, i.i = W, i.w = I);
        } else {
            for(var W = i.w || 0; W < s + h; W += 65535){
                var LA = W + 65535;
                LA >= s && (u[g / 8 | 0] = h, LA = s), g = rB(u, g + 1, t.subarray(W, LA));
            }
            i.i = s;
        }
        return tB(c, 0, r + Xu(g) + n);
    }, iB = function() {
        var t = 1, A = 0;
        return {
            p: function(e) {
                for(var r = t, n = A, i = e.length | 0, s = 0; s != i;){
                    for(var c = Math.min(s + 2655, i); s < c; ++s)n += r += e[s];
                    r = (r & 65535) + 15 * (r >> 16), n = (n & 65535) + 15 * (n >> 16);
                }
                t = r, A = n;
            },
            d: function() {
                return t %= 65521, A %= 65521, (t & 255) << 24 | (t & 65280) << 8 | (A & 255) << 8 | A >> 8;
            }
        };
    }, $p = function(t, A, e, r, n) {
        if (!n && (n = {
            l: 1
        }, A.dictionary)) {
            var i = A.dictionary.subarray(-32768), s = new dt(i.length + t.length);
            s.set(i), s.set(t, i.length), t = s, n.w = i.length;
        }
        return Zp(t, A.level == null ? 6 : A.level, A.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(t.length))) * 1.5) : 20 : 12 + A.mem, e, r, n);
    }, aB = function(t, A, e) {
        for(; e; ++A)t[A] = e, e >>>= 8;
    }, A5 = function(t, A) {
        var e = A.level, r = e == 0 ? 0 : e < 6 ? 1 : e == 9 ? 3 : 2;
        if (t[0] = 120, t[1] = r << 6 | (A.dictionary && 32), t[1] |= 31 - (t[0] << 8 | t[1]) % 31, A.dictionary) {
            var n = iB();
            n.p(A.dictionary), aB(t, 2, n.d());
        }
    }, e5 = function(t, A) {
        return ((t[0] & 15) != 8 || t[0] >> 4 > 7 || (t[0] << 8 | t[1]) % 31) && or(6, "invalid zlib data"), (t[1] >> 5 & 1) == 1 && or(6, "invalid zlib data: " + (t[1] & 32 ? "need" : "unexpected") + " dictionary"), (t[1] >> 3 & 4) + 2;
    };
    function Nu(t, A) {
        A || (A = {});
        var e = iB();
        e.p(t);
        var r = $p(t, A, A.dictionary ? 6 : 2, 4);
        return A5(r, A), aB(r, r.length - 4, e.d()), r;
    }
    function t5(t, A) {
        return zp(t.subarray(e5(t), -4), {
            i: 2
        }, A, A);
    }
    var r5 = typeof TextDecoder < "u" && new TextDecoder, n5 = 0;
    try {
        r5.decode(nB, {
            stream: !0
        }), n5 = 1;
    } catch  {}
    var VA = function() {
        return typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : this;
    }();
    function $c() {
        VA.console && typeof VA.console.log == "function" && VA.console.log.apply(VA.console, arguments);
    }
    var Qe = {
        log: $c,
        warn: function(t) {
            VA.console && (typeof VA.console.warn == "function" ? VA.console.warn.apply(VA.console, arguments) : $c.call(null, arguments));
        },
        error: function(t) {
            VA.console && (typeof VA.console.error == "function" ? VA.console.error.apply(VA.console, arguments) : $c(t));
        }
    };
    function Au(t, A, e) {
        var r = new XMLHttpRequest;
        r.open("GET", t), r.responseType = "blob", r.onload = function() {
            Tn(r.response, A, e);
        }, r.onerror = function() {
            Qe.error("could not download file");
        }, r.send();
    }
    function xf(t) {
        var A = new XMLHttpRequest;
        A.open("HEAD", t, !1);
        try {
            A.send();
        } catch  {}
        return A.status >= 200 && A.status <= 299;
    }
    function ro(t) {
        try {
            t.dispatchEvent(new MouseEvent("click"));
        } catch  {
            var A = document.createEvent("MouseEvents");
            A.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), t.dispatchEvent(A);
        }
    }
    var Da, _u, Tn = VA.saveAs || ((typeof window > "u" ? "undefined" : de(window)) !== "object" || window !== VA ? function() {} : typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype ? function(t, A, e) {
        var r = VA.URL || VA.webkitURL, n = document.createElement("a");
        A = A || t.name || "download", n.download = A, n.rel = "noopener", typeof t == "string" ? (n.href = t, n.origin !== location.origin ? xf(n.href) ? Au(t, A, e) : ro(n, n.target = "_blank") : ro(n)) : (n.href = r.createObjectURL(t), setTimeout(function() {
            r.revokeObjectURL(n.href);
        }, 4e4), setTimeout(function() {
            ro(n);
        }, 0));
    } : "msSaveOrOpenBlob" in navigator ? function(t, A, e) {
        if (A = A || t.name || "download", typeof t == "string") if (xf(t)) Au(t, A, e);
        else {
            var r = document.createElement("a");
            r.href = t, r.target = "_blank", setTimeout(function() {
                ro(r);
            });
        }
        else navigator.msSaveOrOpenBlob(function(n, i) {
            return i === void 0 ? i = {
                autoBom: !1
            } : de(i) !== "object" && (Qe.warn("Deprecated: Expected third argument to be a object"), i = {
                autoBom: !i
            }), i.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type) ? new Blob([
                "\uFEFF",
                n
            ], {
                type: n.type
            }) : n;
        }(t, e), A);
    } : function(t, A, e, r) {
        if ((r = r || open("", "_blank")) && (r.document.title = r.document.body.innerText = "downloading..."), typeof t == "string") return Au(t, A, e);
        var n = t.type === "application/octet-stream", i = /constructor/i.test(VA.HTMLElement) || VA.safari, s = /CriOS\/[\d]+/.test(navigator.userAgent);
        if ((s || n && i) && (typeof FileReader > "u" ? "undefined" : de(FileReader)) === "object") {
            var c = new FileReader;
            c.onloadend = function() {
                var g = c.result;
                g = s ? g : g.replace(/^data:[^;]*;/, "data:attachment/file;"), r ? r.location.href = g : location = g, r = null;
            }, c.readAsDataURL(t);
        } else {
            var u = VA.URL || VA.webkitURL, h = u.createObjectURL(t);
            r ? r.location = h : location.href = h, r = null, setTimeout(function() {
                u.revokeObjectURL(h);
            }, 4e4);
        }
    });
    function sB(t) {
        var A;
        t = t || "", this.ok = !1, t.charAt(0) == "#" && (t = t.substr(1, 6)), t = {
            aliceblue: "f0f8ff",
            antiquewhite: "faebd7",
            aqua: "00ffff",
            aquamarine: "7fffd4",
            azure: "f0ffff",
            beige: "f5f5dc",
            bisque: "ffe4c4",
            black: "000000",
            blanchedalmond: "ffebcd",
            blue: "0000ff",
            blueviolet: "8a2be2",
            brown: "a52a2a",
            burlywood: "deb887",
            cadetblue: "5f9ea0",
            chartreuse: "7fff00",
            chocolate: "d2691e",
            coral: "ff7f50",
            cornflowerblue: "6495ed",
            cornsilk: "fff8dc",
            crimson: "dc143c",
            cyan: "00ffff",
            darkblue: "00008b",
            darkcyan: "008b8b",
            darkgoldenrod: "b8860b",
            darkgray: "a9a9a9",
            darkgreen: "006400",
            darkkhaki: "bdb76b",
            darkmagenta: "8b008b",
            darkolivegreen: "556b2f",
            darkorange: "ff8c00",
            darkorchid: "9932cc",
            darkred: "8b0000",
            darksalmon: "e9967a",
            darkseagreen: "8fbc8f",
            darkslateblue: "483d8b",
            darkslategray: "2f4f4f",
            darkturquoise: "00ced1",
            darkviolet: "9400d3",
            deeppink: "ff1493",
            deepskyblue: "00bfff",
            dimgray: "696969",
            dodgerblue: "1e90ff",
            feldspar: "d19275",
            firebrick: "b22222",
            floralwhite: "fffaf0",
            forestgreen: "228b22",
            fuchsia: "ff00ff",
            gainsboro: "dcdcdc",
            ghostwhite: "f8f8ff",
            gold: "ffd700",
            goldenrod: "daa520",
            gray: "808080",
            green: "008000",
            greenyellow: "adff2f",
            honeydew: "f0fff0",
            hotpink: "ff69b4",
            indianred: "cd5c5c",
            indigo: "4b0082",
            ivory: "fffff0",
            khaki: "f0e68c",
            lavender: "e6e6fa",
            lavenderblush: "fff0f5",
            lawngreen: "7cfc00",
            lemonchiffon: "fffacd",
            lightblue: "add8e6",
            lightcoral: "f08080",
            lightcyan: "e0ffff",
            lightgoldenrodyellow: "fafad2",
            lightgrey: "d3d3d3",
            lightgreen: "90ee90",
            lightpink: "ffb6c1",
            lightsalmon: "ffa07a",
            lightseagreen: "20b2aa",
            lightskyblue: "87cefa",
            lightslateblue: "8470ff",
            lightslategray: "778899",
            lightsteelblue: "b0c4de",
            lightyellow: "ffffe0",
            lime: "00ff00",
            limegreen: "32cd32",
            linen: "faf0e6",
            magenta: "ff00ff",
            maroon: "800000",
            mediumaquamarine: "66cdaa",
            mediumblue: "0000cd",
            mediumorchid: "ba55d3",
            mediumpurple: "9370d8",
            mediumseagreen: "3cb371",
            mediumslateblue: "7b68ee",
            mediumspringgreen: "00fa9a",
            mediumturquoise: "48d1cc",
            mediumvioletred: "c71585",
            midnightblue: "191970",
            mintcream: "f5fffa",
            mistyrose: "ffe4e1",
            moccasin: "ffe4b5",
            navajowhite: "ffdead",
            navy: "000080",
            oldlace: "fdf5e6",
            olive: "808000",
            olivedrab: "6b8e23",
            orange: "ffa500",
            orangered: "ff4500",
            orchid: "da70d6",
            palegoldenrod: "eee8aa",
            palegreen: "98fb98",
            paleturquoise: "afeeee",
            palevioletred: "d87093",
            papayawhip: "ffefd5",
            peachpuff: "ffdab9",
            peru: "cd853f",
            pink: "ffc0cb",
            plum: "dda0dd",
            powderblue: "b0e0e6",
            purple: "800080",
            red: "ff0000",
            rosybrown: "bc8f8f",
            royalblue: "4169e1",
            saddlebrown: "8b4513",
            salmon: "fa8072",
            sandybrown: "f4a460",
            seagreen: "2e8b57",
            seashell: "fff5ee",
            sienna: "a0522d",
            silver: "c0c0c0",
            skyblue: "87ceeb",
            slateblue: "6a5acd",
            slategray: "708090",
            snow: "fffafa",
            springgreen: "00ff7f",
            steelblue: "4682b4",
            tan: "d2b48c",
            teal: "008080",
            thistle: "d8bfd8",
            tomato: "ff6347",
            turquoise: "40e0d0",
            violet: "ee82ee",
            violetred: "d02090",
            wheat: "f5deb3",
            white: "ffffff",
            whitesmoke: "f5f5f5",
            yellow: "ffff00",
            yellowgreen: "9acd32"
        }[t = (t = t.replace(/ /g, "")).toLowerCase()] || t;
        for(var e = [
            {
                re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
                example: [
                    "rgb(123, 234, 45)",
                    "rgb(255,234,245)"
                ],
                process: function(c) {
                    return [
                        parseInt(c[1]),
                        parseInt(c[2]),
                        parseInt(c[3])
                    ];
                }
            },
            {
                re: /^(\w{2})(\w{2})(\w{2})$/,
                example: [
                    "#00ff00",
                    "336699"
                ],
                process: function(c) {
                    return [
                        parseInt(c[1], 16),
                        parseInt(c[2], 16),
                        parseInt(c[3], 16)
                    ];
                }
            },
            {
                re: /^(\w{1})(\w{1})(\w{1})$/,
                example: [
                    "#fb0",
                    "f0f"
                ],
                process: function(c) {
                    return [
                        parseInt(c[1] + c[1], 16),
                        parseInt(c[2] + c[2], 16),
                        parseInt(c[3] + c[3], 16)
                    ];
                }
            }
        ], r = 0; r < e.length; r++){
            var n = e[r].re, i = e[r].process, s = n.exec(t);
            s && (A = i(s), this.r = A[0], this.g = A[1], this.b = A[2], this.ok = !0);
        }
        this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.toRGB = function() {
            return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
        }, this.toHex = function() {
            var c = this.r.toString(16), u = this.g.toString(16), h = this.b.toString(16);
            return c.length == 1 && (c = "0" + c), u.length == 1 && (u = "0" + u), h.length == 1 && (h = "0" + h), "#" + c + u + h;
        };
    }
    function eu(t, A) {
        var e = t[0], r = t[1], n = t[2], i = t[3];
        e = ut(e, r, n, i, A[0], 7, -680876936), i = ut(i, e, r, n, A[1], 12, -389564586), n = ut(n, i, e, r, A[2], 17, 606105819), r = ut(r, n, i, e, A[3], 22, -1044525330), e = ut(e, r, n, i, A[4], 7, -176418897), i = ut(i, e, r, n, A[5], 12, 1200080426), n = ut(n, i, e, r, A[6], 17, -1473231341), r = ut(r, n, i, e, A[7], 22, -45705983), e = ut(e, r, n, i, A[8], 7, 1770035416), i = ut(i, e, r, n, A[9], 12, -1958414417), n = ut(n, i, e, r, A[10], 17, -42063), r = ut(r, n, i, e, A[11], 22, -1990404162), e = ut(e, r, n, i, A[12], 7, 1804603682), i = ut(i, e, r, n, A[13], 12, -40341101), n = ut(n, i, e, r, A[14], 17, -1502002290), e = lt(e, r = ut(r, n, i, e, A[15], 22, 1236535329), n, i, A[1], 5, -165796510), i = lt(i, e, r, n, A[6], 9, -1069501632), n = lt(n, i, e, r, A[11], 14, 643717713), r = lt(r, n, i, e, A[0], 20, -373897302), e = lt(e, r, n, i, A[5], 5, -701558691), i = lt(i, e, r, n, A[10], 9, 38016083), n = lt(n, i, e, r, A[15], 14, -660478335), r = lt(r, n, i, e, A[4], 20, -405537848), e = lt(e, r, n, i, A[9], 5, 568446438), i = lt(i, e, r, n, A[14], 9, -1019803690), n = lt(n, i, e, r, A[3], 14, -187363961), r = lt(r, n, i, e, A[8], 20, 1163531501), e = lt(e, r, n, i, A[13], 5, -1444681467), i = lt(i, e, r, n, A[2], 9, -51403784), n = lt(n, i, e, r, A[7], 14, 1735328473), e = ft(e, r = lt(r, n, i, e, A[12], 20, -1926607734), n, i, A[5], 4, -378558), i = ft(i, e, r, n, A[8], 11, -2022574463), n = ft(n, i, e, r, A[11], 16, 1839030562), r = ft(r, n, i, e, A[14], 23, -35309556), e = ft(e, r, n, i, A[1], 4, -1530992060), i = ft(i, e, r, n, A[4], 11, 1272893353), n = ft(n, i, e, r, A[7], 16, -155497632), r = ft(r, n, i, e, A[10], 23, -1094730640), e = ft(e, r, n, i, A[13], 4, 681279174), i = ft(i, e, r, n, A[0], 11, -358537222), n = ft(n, i, e, r, A[3], 16, -722521979), r = ft(r, n, i, e, A[6], 23, 76029189), e = ft(e, r, n, i, A[9], 4, -640364487), i = ft(i, e, r, n, A[12], 11, -421815835), n = ft(n, i, e, r, A[15], 16, 530742520), e = ht(e, r = ft(r, n, i, e, A[2], 23, -995338651), n, i, A[0], 6, -198630844), i = ht(i, e, r, n, A[7], 10, 1126891415), n = ht(n, i, e, r, A[14], 15, -1416354905), r = ht(r, n, i, e, A[5], 21, -57434055), e = ht(e, r, n, i, A[12], 6, 1700485571), i = ht(i, e, r, n, A[3], 10, -1894986606), n = ht(n, i, e, r, A[10], 15, -1051523), r = ht(r, n, i, e, A[1], 21, -2054922799), e = ht(e, r, n, i, A[8], 6, 1873313359), i = ht(i, e, r, n, A[15], 10, -30611744), n = ht(n, i, e, r, A[6], 15, -1560198380), r = ht(r, n, i, e, A[13], 21, 1309151649), e = ht(e, r, n, i, A[4], 6, -145523070), i = ht(i, e, r, n, A[11], 10, -1120210379), n = ht(n, i, e, r, A[2], 15, 718787259), r = ht(r, n, i, e, A[9], 21, -343485551), t[0] = dn(e, t[0]), t[1] = dn(r, t[1]), t[2] = dn(n, t[2]), t[3] = dn(i, t[3]);
    }
    function Ko(t, A, e, r, n, i) {
        return A = dn(dn(A, t), dn(r, i)), dn(A << n | A >>> 32 - n, e);
    }
    function ut(t, A, e, r, n, i, s) {
        return Ko(A & e | ~A & r, t, A, n, i, s);
    }
    function lt(t, A, e, r, n, i, s) {
        return Ko(A & r | e & ~r, t, A, n, i, s);
    }
    function ft(t, A, e, r, n, i, s) {
        return Ko(A ^ e ^ r, t, A, n, i, s);
    }
    function ht(t, A, e, r, n, i, s) {
        return Ko(e ^ (A | ~r), t, A, n, i, s);
    }
    function oB(t) {
        var A, e = t.length, r = [
            1732584193,
            -271733879,
            -1732584194,
            271733878
        ];
        for(A = 64; A <= t.length; A += 64)eu(r, i5(t.substring(A - 64, A)));
        t = t.substring(A - 64);
        var n = [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ];
        for(A = 0; A < t.length; A++)n[A >> 2] |= t.charCodeAt(A) << (A % 4 << 3);
        if (n[A >> 2] |= 128 << (A % 4 << 3), A > 55) for(eu(r, n), A = 0; A < 16; A++)n[A] = 0;
        return n[14] = 8 * e, eu(r, n), r;
    }
    function i5(t) {
        var A, e = [];
        for(A = 0; A < 64; A += 4)e[A >> 2] = t.charCodeAt(A) + (t.charCodeAt(A + 1) << 8) + (t.charCodeAt(A + 2) << 16) + (t.charCodeAt(A + 3) << 24);
        return e;
    }
    Da = VA.atob.bind(VA), _u = VA.btoa.bind(VA);
    var Hf = "0123456789abcdef".split("");
    function a5(t) {
        for(var A = "", e = 0; e < 4; e++)A += Hf[t >> 8 * e + 4 & 15] + Hf[t >> 8 * e & 15];
        return A;
    }
    function s5(t) {
        return String.fromCharCode((255 & t) >> 0, (65280 & t) >> 8, (16711680 & t) >> 16, (4278190080 & t) >> 24);
    }
    function Du(t) {
        return oB(t).map(s5).join("");
    }
    var o5 = function(t) {
        for(var A = 0; A < t.length; A++)t[A] = a5(t[A]);
        return t.join("");
    }(oB("hello")) != "5d41402abc4b2a76b9719d911017c592";
    function dn(t, A) {
        if (o5) {
            var e = (65535 & t) + (65535 & A);
            return (t >> 16) + (A >> 16) + (e >> 16) << 16 | 65535 & e;
        }
        return t + A & 4294967295;
    }
    function Tu(t, A) {
        var e, r, n, i;
        if (t !== e) {
            for(var s = (n = t, i = 1 + (256 / t.length >> 0), new Array(i + 1).join(n)), c = [], u = 0; u < 256; u++)c[u] = u;
            var h = 0;
            for(u = 0; u < 256; u++){
                var g = c[u];
                h = (h + g + s.charCodeAt(u)) % 256, c[u] = c[h], c[h] = g;
            }
            e = t, r = c;
        } else c = r;
        var d = A.length, w = 0, B = 0, L = "";
        for(u = 0; u < d; u++)B = (B + (g = c[w = (w + 1) % 256])) % 256, c[w] = c[B], c[B] = g, s = c[(c[w] + c[B]) % 256], L += String.fromCharCode(A.charCodeAt(u) ^ s);
        return L;
    }
    var Sf = {
        print: 4,
        modify: 8,
        copy: 16,
        "annot-forms": 32
    };
    function Ii(t, A, e, r) {
        this.v = 1, this.r = 2;
        var n = 192;
        t.forEach(function(c) {
            if (Sf.perm !== void 0) throw new Error("Invalid permission: " + c);
            n += Sf[c];
        }), this.padding = "(¿N^NuAd\0NVÿú\b..\0¶Ðh>/\f©þdSiz";
        var i = (A + this.padding).substr(0, 32), s = (e + this.padding).substr(0, 32);
        this.O = this.processOwnerPassword(i, s), this.P = -(1 + (255 ^ n)), this.encryptionKey = Du(i + this.O + this.lsbFirstWord(this.P) + this.hexToBytes(r)).substr(0, 5), this.U = Tu(this.encryptionKey, this.padding);
    }
    function xi(t) {
        if (/[^\u0000-\u00ff]/.test(t)) throw new Error("Invalid PDF Name Object: " + t + ", Only accept ASCII characters.");
        for(var A = "", e = t.length, r = 0; r < e; r++){
            var n = t.charCodeAt(r);
            n < 33 || n === 35 || n === 37 || n === 40 || n === 41 || n === 47 || n === 60 || n === 62 || n === 91 || n === 93 || n === 123 || n === 125 || n > 126 ? A += "#" + ("0" + n.toString(16)).slice(-2) : A += t[r];
        }
        return A;
    }
    function Nf(t) {
        if (de(t) !== "object") throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)");
        var A = {};
        this.subscribe = function(e, r, n) {
            if (n = n || !1, typeof e != "string" || typeof r != "function" || typeof n != "boolean") throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)");
            A.hasOwnProperty(e) || (A[e] = {});
            var i = Math.random().toString(35);
            return A[e][i] = [
                r,
                !!n
            ], i;
        }, this.unsubscribe = function(e) {
            for(var r in A)if (A[r][e]) return delete A[r][e], Object.keys(A[r]).length === 0 && delete A[r], !0;
            return !1;
        }, this.publish = function(e) {
            if (A.hasOwnProperty(e)) {
                var r = Array.prototype.slice.call(arguments, 1), n = [];
                for(var i in A[e]){
                    var s = A[e][i];
                    try {
                        s[0].apply(t, r);
                    } catch (c) {
                        VA.console && Qe.error("jsPDF PubSub Error", c.message, c);
                    }
                    s[1] && n.push(i);
                }
                n.length && n.forEach(this.unsubscribe);
            }
        }, this.getTopics = function() {
            return A;
        };
    }
    function bo(t) {
        if (!(this instanceof bo)) return new bo(t);
        var A = "opacity,stroke-opacity".split(",");
        for(var e in t)t.hasOwnProperty(e) && A.indexOf(e) >= 0 && (this[e] = t[e]);
        this.id = "", this.objectNumber = -1;
    }
    function cB(t, A) {
        this.gState = t, this.matrix = A, this.id = "", this.objectNumber = -1;
    }
    function Pn(t, A, e, r, n) {
        if (!(this instanceof Pn)) return new Pn(t, A, e, r, n);
        this.type = t === "axial" ? 2 : 3, this.coords = A, this.colors = e, cB.call(this, r, n);
    }
    function Si(t, A, e, r, n) {
        if (!(this instanceof Si)) return new Si(t, A, e, r, n);
        this.boundingBox = t, this.xStep = A, this.yStep = e, this.stream = "", this.cloneIndex = 0, cB.call(this, r, n);
    }
    function GA(t) {
        var A, e = typeof arguments[0] == "string" ? arguments[0] : "p", r = arguments[1], n = arguments[2], i = arguments[3], s = [], c = 1, u = 16, h = "S", g = null;
        de(t = t || {}) === "object" && (e = t.orientation, r = t.unit || r, n = t.format || n, i = t.compress || t.compressPdf || i, (g = t.encryption || null) !== null && (g.userPassword = g.userPassword || "", g.ownerPassword = g.ownerPassword || "", g.userPermissions = g.userPermissions || []), c = typeof t.userUnit == "number" ? Math.abs(t.userUnit) : 1, t.precision !== void 0 && (A = t.precision), t.floatPrecision !== void 0 && (u = t.floatPrecision), h = t.defaultPathOperation || "S"), s = t.filters || (i === !0 ? [
            "FlateEncode"
        ] : s), r = r || "mm", e = ("" + (e || "P")).toLowerCase();
        var d = t.putOnlyUsedFonts || !1, w = {}, B = {
            internal: {},
            __private__: {}
        };
        B.__private__.PubSub = Nf;
        var L = "1.3", U = B.__private__.getPdfVersion = function() {
            return L;
        };
        B.__private__.setPdfVersion = function(l) {
            L = l;
        };
        var N = {
            a0: [
                2383.94,
                3370.39
            ],
            a1: [
                1683.78,
                2383.94
            ],
            a2: [
                1190.55,
                1683.78
            ],
            a3: [
                841.89,
                1190.55
            ],
            a4: [
                595.28,
                841.89
            ],
            a5: [
                419.53,
                595.28
            ],
            a6: [
                297.64,
                419.53
            ],
            a7: [
                209.76,
                297.64
            ],
            a8: [
                147.4,
                209.76
            ],
            a9: [
                104.88,
                147.4
            ],
            a10: [
                73.7,
                104.88
            ],
            b0: [
                2834.65,
                4008.19
            ],
            b1: [
                2004.09,
                2834.65
            ],
            b2: [
                1417.32,
                2004.09
            ],
            b3: [
                1000.63,
                1417.32
            ],
            b4: [
                708.66,
                1000.63
            ],
            b5: [
                498.9,
                708.66
            ],
            b6: [
                354.33,
                498.9
            ],
            b7: [
                249.45,
                354.33
            ],
            b8: [
                175.75,
                249.45
            ],
            b9: [
                124.72,
                175.75
            ],
            b10: [
                87.87,
                124.72
            ],
            c0: [
                2599.37,
                3676.54
            ],
            c1: [
                1836.85,
                2599.37
            ],
            c2: [
                1298.27,
                1836.85
            ],
            c3: [
                918.43,
                1298.27
            ],
            c4: [
                649.13,
                918.43
            ],
            c5: [
                459.21,
                649.13
            ],
            c6: [
                323.15,
                459.21
            ],
            c7: [
                229.61,
                323.15
            ],
            c8: [
                161.57,
                229.61
            ],
            c9: [
                113.39,
                161.57
            ],
            c10: [
                79.37,
                113.39
            ],
            dl: [
                311.81,
                623.62
            ],
            letter: [
                612,
                792
            ],
            "government-letter": [
                576,
                756
            ],
            legal: [
                612,
                1008
            ],
            "junior-legal": [
                576,
                360
            ],
            ledger: [
                1224,
                792
            ],
            tabloid: [
                792,
                1224
            ],
            "credit-card": [
                153,
                243
            ]
        };
        B.__private__.getPageFormats = function() {
            return N;
        };
        var Q = B.__private__.getPageFormat = function(l) {
            return N[l];
        };
        n = n || "a4";
        var x = {
            COMPAT: "compat",
            ADVANCED: "advanced"
        }, R = x.COMPAT;
        function Y() {
            this.saveGraphicsState(), P(new RA(SA, 0, 0, -SA, 0, Xr() * SA).toString() + " cm"), this.setFontSize(this.getFontSize() / SA), h = "n", R = x.ADVANCED;
        }
        function Z() {
            this.restoreGraphicsState(), h = "S", R = x.COMPAT;
        }
        var $ = B.__private__.combineFontStyleAndFontWeight = function(l, m) {
            if (l == "bold" && m == "normal" || l == "bold" && m == 400 || l == "normal" && m == "italic" || l == "bold" && m == "italic") throw new Error("Invalid Combination of fontweight and fontstyle");
            return m && (l = m == 400 || m === "normal" ? l === "italic" ? "italic" : "normal" : m != 700 && m !== "bold" || l !== "normal" ? (m == 700 ? "bold" : m) + "" + l : "bold"), l;
        };
        B.advancedAPI = function(l) {
            var m = R === x.COMPAT;
            return m && Y.call(this), typeof l != "function" || (l(this), m && Z.call(this)), this;
        }, B.compatAPI = function(l) {
            var m = R === x.ADVANCED;
            return m && Z.call(this), typeof l != "function" || (l(this), m && Y.call(this)), this;
        }, B.isAdvancedAPI = function() {
            return R === x.ADVANCED;
        };
        var J, O = function(l) {
            if (R !== x.ADVANCED) throw new Error(l + " is only available in 'advanced' API mode. You need to call advancedAPI() first.");
        }, W = B.roundToPrecision = B.__private__.roundToPrecision = function(l, m) {
            var D = A || m;
            if (isNaN(l) || isNaN(D)) throw new Error("Invalid argument passed to jsPDF.roundToPrecision");
            return l.toFixed(D).replace(/0+$/, "");
        };
        J = B.hpf = B.__private__.hpf = typeof u == "number" ? function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.hpf");
            return W(l, u);
        } : u === "smart" ? function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.hpf");
            return W(l, l > -1 && l < 1 ? 16 : 5);
        } : function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.hpf");
            return W(l, 16);
        };
        var uA = B.f2 = B.__private__.f2 = function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.f2");
            return W(l, 2);
        }, I = B.__private__.f3 = function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.f3");
            return W(l, 3);
        }, H = B.scale = B.__private__.scale = function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.scale");
            return R === x.COMPAT ? l * SA : R === x.ADVANCED ? l : void 0;
        }, K = function(l) {
            return R === x.COMPAT ? Xr() - l : R === x.ADVANCED ? l : void 0;
        }, M = function(l) {
            return H(K(l));
        };
        B.__private__.setPrecision = B.setPrecision = function(l) {
            typeof parseInt(l, 10) == "number" && (A = parseInt(l, 10));
        };
        var oA, iA = "00000000000000000000000000000000", cA = B.__private__.getFileId = function() {
            return iA;
        }, eA = B.__private__.setFileId = function(l) {
            return iA = l !== void 0 && /^[a-fA-F0-9]{32}$/.test(l) ? l.toUpperCase() : iA.split("").map(function() {
                return "ABCDEF0123456789".charAt(Math.floor(16 * Math.random()));
            }).join(""), g !== null && (ot = new Ii(g.userPermissions, g.userPassword, g.ownerPassword, iA)), iA;
        };
        B.setFileId = function(l) {
            return eA(l), this;
        }, B.getFileId = function() {
            return cA();
        };
        var lA = B.__private__.convertDateToPDFDate = function(l) {
            var m = l.getTimezoneOffset(), D = m < 0 ? "+" : "-", G = Math.floor(Math.abs(m / 60)), AA = Math.abs(m % 60), BA = [
                D,
                T(G),
                "'",
                T(AA),
                "'"
            ].join("");
            return [
                "D:",
                l.getFullYear(),
                T(l.getMonth() + 1),
                T(l.getDate()),
                T(l.getHours()),
                T(l.getMinutes()),
                T(l.getSeconds()),
                BA
            ].join("");
        }, hA = B.__private__.convertPDFDateToDate = function(l) {
            var m = parseInt(l.substr(2, 4), 10), D = parseInt(l.substr(6, 2), 10) - 1, G = parseInt(l.substr(8, 2), 10), AA = parseInt(l.substr(10, 2), 10), BA = parseInt(l.substr(12, 2), 10), mA = parseInt(l.substr(14, 2), 10);
            return new Date(m, D, G, AA, BA, mA, 0);
        }, UA = B.__private__.setCreationDate = function(l) {
            var m;
            if (l === void 0 && (l = new Date), l instanceof Date) m = lA(l);
            else {
                if (!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(l)) throw new Error("Invalid argument passed to jsPDF.setCreationDate");
                m = l;
            }
            return oA = m;
        }, y = B.__private__.getCreationDate = function(l) {
            var m = oA;
            return l === "jsDate" && (m = hA(oA)), m;
        };
        B.setCreationDate = function(l) {
            return UA(l), this;
        }, B.getCreationDate = function(l) {
            return y(l);
        };
        var _, T = B.__private__.padd2 = function(l) {
            return ("0" + parseInt(l)).slice(-2);
        }, k = B.__private__.padd2Hex = function(l) {
            return ("00" + (l = l.toString())).substr(l.length);
        }, X = 0, nA = [], aA = [], sA = 0, FA = [], QA = [], xA = !1, LA = aA, jA = function() {
            X = 0, sA = 0, aA = [], nA = [], FA = [], Hr = Ge(), Yt = Ge();
        };
        B.__private__.setCustomOutputDestination = function(l) {
            xA = !0, LA = l;
        };
        var gA = function(l) {
            xA || (LA = l);
        };
        B.__private__.resetCustomOutputDestination = function() {
            xA = !1, LA = aA;
        };
        var P = B.__private__.out = function(l) {
            return l = l.toString(), sA += l.length + 1, LA.push(l), LA;
        }, ZA = B.__private__.write = function(l) {
            return P(arguments.length === 1 ? l.toString() : Array.prototype.join.call(arguments, " "));
        }, PA = B.__private__.getArrayBuffer = function(l) {
            for(var m = l.length, D = new ArrayBuffer(m), G = new Uint8Array(D); m--;)G[m] = l.charCodeAt(m);
            return D;
        }, CA = [
            [
                "Helvetica",
                "helvetica",
                "normal",
                "WinAnsiEncoding"
            ],
            [
                "Helvetica-Bold",
                "helvetica",
                "bold",
                "WinAnsiEncoding"
            ],
            [
                "Helvetica-Oblique",
                "helvetica",
                "italic",
                "WinAnsiEncoding"
            ],
            [
                "Helvetica-BoldOblique",
                "helvetica",
                "bolditalic",
                "WinAnsiEncoding"
            ],
            [
                "Courier",
                "courier",
                "normal",
                "WinAnsiEncoding"
            ],
            [
                "Courier-Bold",
                "courier",
                "bold",
                "WinAnsiEncoding"
            ],
            [
                "Courier-Oblique",
                "courier",
                "italic",
                "WinAnsiEncoding"
            ],
            [
                "Courier-BoldOblique",
                "courier",
                "bolditalic",
                "WinAnsiEncoding"
            ],
            [
                "Times-Roman",
                "times",
                "normal",
                "WinAnsiEncoding"
            ],
            [
                "Times-Bold",
                "times",
                "bold",
                "WinAnsiEncoding"
            ],
            [
                "Times-Italic",
                "times",
                "italic",
                "WinAnsiEncoding"
            ],
            [
                "Times-BoldItalic",
                "times",
                "bolditalic",
                "WinAnsiEncoding"
            ],
            [
                "ZapfDingbats",
                "zapfdingbats",
                "normal",
                null
            ],
            [
                "Symbol",
                "symbol",
                "normal",
                null
            ]
        ];
        B.__private__.getStandardFonts = function() {
            return CA;
        };
        var yA = t.fontSize || 16;
        B.__private__.setFontSize = B.setFontSize = function(l) {
            return yA = R === x.ADVANCED ? l / SA : l, this;
        };
        var HA, IA = B.__private__.getFontSize = B.getFontSize = function() {
            return R === x.COMPAT ? yA : yA * SA;
        }, MA = t.R2L || !1;
        B.__private__.setR2L = B.setR2L = function(l) {
            return MA = l, this;
        }, B.__private__.getR2L = B.getR2L = function() {
            return MA;
        };
        var XA, ee = B.__private__.setZoomMode = function(l) {
            var m = [
                void 0,
                null,
                "fullwidth",
                "fullheight",
                "fullpage",
                "original"
            ];
            if (/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(l)) HA = l;
            else if (isNaN(l)) {
                if (m.indexOf(l) === -1) throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. "' + l + '" is not recognized.');
                HA = l;
            } else HA = parseInt(l, 10);
        };
        B.__private__.getZoomMode = function() {
            return HA;
        };
        var te, se = B.__private__.setPageMode = function(l) {
            if ([
                void 0,
                null,
                "UseNone",
                "UseOutlines",
                "UseThumbs",
                "FullScreen"
            ].indexOf(l) == -1) throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "' + l + '" is not recognized.');
            XA = l;
        };
        B.__private__.getPageMode = function() {
            return XA;
        };
        var pe = B.__private__.setLayoutMode = function(l) {
            if ([
                void 0,
                null,
                "continuous",
                "single",
                "twoleft",
                "tworight",
                "two"
            ].indexOf(l) == -1) throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. "' + l + '" is not recognized.');
            te = l;
        };
        B.__private__.getLayoutMode = function() {
            return te;
        }, B.__private__.setDisplayMode = B.setDisplayMode = function(l, m, D) {
            return ee(l), pe(m), se(D), this;
        };
        var qA = {
            title: "",
            subject: "",
            author: "",
            keywords: "",
            creator: ""
        };
        B.__private__.getDocumentProperty = function(l) {
            if (Object.keys(qA).indexOf(l) === -1) throw new Error("Invalid argument passed to jsPDF.getDocumentProperty");
            return qA[l];
        }, B.__private__.getDocumentProperties = function() {
            return qA;
        }, B.__private__.setDocumentProperties = B.setProperties = B.setDocumentProperties = function(l) {
            for(var m in qA)qA.hasOwnProperty(m) && l[m] && (qA[m] = l[m]);
            return this;
        }, B.__private__.setDocumentProperty = function(l, m) {
            if (Object.keys(qA).indexOf(l) === -1) throw new Error("Invalid arguments passed to jsPDF.setDocumentProperty");
            return qA[l] = m;
        };
        var re, SA, st, ce, Xt, me = {}, Le = {}, fr = [], le = {}, Qn = {}, xe = {}, Jt = {}, xr = null, He = 0, JA = [], fe = new Nf(B), Fn = t.hotfixes || [], tt = {}, hr = {}, Br = [], RA = function l(m, D, G, AA, BA, mA) {
            if (!(this instanceof l)) return new l(m, D, G, AA, BA, mA);
            isNaN(m) && (m = 1), isNaN(D) && (D = 0), isNaN(G) && (G = 0), isNaN(AA) && (AA = 1), isNaN(BA) && (BA = 0), isNaN(mA) && (mA = 0), this._matrix = [
                m,
                D,
                G,
                AA,
                BA,
                mA
            ];
        };
        Object.defineProperty(RA.prototype, "sx", {
            get: function() {
                return this._matrix[0];
            },
            set: function(l) {
                this._matrix[0] = l;
            }
        }), Object.defineProperty(RA.prototype, "shy", {
            get: function() {
                return this._matrix[1];
            },
            set: function(l) {
                this._matrix[1] = l;
            }
        }), Object.defineProperty(RA.prototype, "shx", {
            get: function() {
                return this._matrix[2];
            },
            set: function(l) {
                this._matrix[2] = l;
            }
        }), Object.defineProperty(RA.prototype, "sy", {
            get: function() {
                return this._matrix[3];
            },
            set: function(l) {
                this._matrix[3] = l;
            }
        }), Object.defineProperty(RA.prototype, "tx", {
            get: function() {
                return this._matrix[4];
            },
            set: function(l) {
                this._matrix[4] = l;
            }
        }), Object.defineProperty(RA.prototype, "ty", {
            get: function() {
                return this._matrix[5];
            },
            set: function(l) {
                this._matrix[5] = l;
            }
        }), Object.defineProperty(RA.prototype, "a", {
            get: function() {
                return this._matrix[0];
            },
            set: function(l) {
                this._matrix[0] = l;
            }
        }), Object.defineProperty(RA.prototype, "b", {
            get: function() {
                return this._matrix[1];
            },
            set: function(l) {
                this._matrix[1] = l;
            }
        }), Object.defineProperty(RA.prototype, "c", {
            get: function() {
                return this._matrix[2];
            },
            set: function(l) {
                this._matrix[2] = l;
            }
        }), Object.defineProperty(RA.prototype, "d", {
            get: function() {
                return this._matrix[3];
            },
            set: function(l) {
                this._matrix[3] = l;
            }
        }), Object.defineProperty(RA.prototype, "e", {
            get: function() {
                return this._matrix[4];
            },
            set: function(l) {
                this._matrix[4] = l;
            }
        }), Object.defineProperty(RA.prototype, "f", {
            get: function() {
                return this._matrix[5];
            },
            set: function(l) {
                this._matrix[5] = l;
            }
        }), Object.defineProperty(RA.prototype, "rotation", {
            get: function() {
                return Math.atan2(this.shx, this.sx);
            }
        }), Object.defineProperty(RA.prototype, "scaleX", {
            get: function() {
                return this.decompose().scale.sx;
            }
        }), Object.defineProperty(RA.prototype, "scaleY", {
            get: function() {
                return this.decompose().scale.sy;
            }
        }), Object.defineProperty(RA.prototype, "isIdentity", {
            get: function() {
                return this.sx === 1 && this.shy === 0 && this.shx === 0 && this.sy === 1 && this.tx === 0 && this.ty === 0;
            }
        }), RA.prototype.join = function(l) {
            return [
                this.sx,
                this.shy,
                this.shx,
                this.sy,
                this.tx,
                this.ty
            ].map(J).join(l);
        }, RA.prototype.multiply = function(l) {
            var m = l.sx * this.sx + l.shy * this.shx, D = l.sx * this.shy + l.shy * this.sy, G = l.shx * this.sx + l.sy * this.shx, AA = l.shx * this.shy + l.sy * this.sy, BA = l.tx * this.sx + l.ty * this.shx + this.tx, mA = l.tx * this.shy + l.ty * this.sy + this.ty;
            return new RA(m, D, G, AA, BA, mA);
        }, RA.prototype.decompose = function() {
            var l = this.sx, m = this.shy, D = this.shx, G = this.sy, AA = this.tx, BA = this.ty, mA = Math.sqrt(l * l + m * m), _A = (l /= mA) * D + (m /= mA) * G;
            D -= l * _A, G -= m * _A;
            var KA = Math.sqrt(D * D + G * G);
            return _A /= KA, l * (G /= KA) < m * (D /= KA) && (l = -l, m = -m, _A = -_A, mA = -mA), {
                scale: new RA(mA, 0, 0, KA, 0, 0),
                translate: new RA(1, 0, 0, 1, AA, BA),
                rotate: new RA(l, m, -m, l, 0, 0),
                skew: new RA(1, 0, _A, 1, 0, 0)
            };
        }, RA.prototype.toString = function(l) {
            return this.join(" ");
        }, RA.prototype.inversed = function() {
            var l = this.sx, m = this.shy, D = this.shx, G = this.sy, AA = this.tx, BA = this.ty, mA = 1 / (l * G - m * D), _A = G * mA, KA = -m * mA, $A = -D * mA, zA = l * mA;
            return new RA(_A, KA, $A, zA, -_A * AA - $A * BA, -KA * AA - zA * BA);
        }, RA.prototype.applyToPoint = function(l) {
            var m = l.x * this.sx + l.y * this.shx + this.tx, D = l.x * this.shy + l.y * this.sy + this.ty;
            return new ri(m, D);
        }, RA.prototype.applyToRectangle = function(l) {
            var m = this.applyToPoint(l), D = this.applyToPoint(new ri(l.x + l.w, l.y + l.h));
            return new zi(m.x, m.y, D.x - m.x, D.y - m.y);
        }, RA.prototype.clone = function() {
            var l = this.sx, m = this.shy, D = this.shx, G = this.sy, AA = this.tx, BA = this.ty;
            return new RA(l, m, D, G, AA, BA);
        }, B.Matrix = RA;
        var zt = B.matrixMult = function(l, m) {
            return m.multiply(l);
        }, gr = new RA(1, 0, 0, 1, 0, 0);
        B.unitMatrix = B.identityMatrix = gr;
        var Ct = function(l, m) {
            if (!Qn[l]) {
                var D = (m instanceof Pn ? "Sh" : "P") + (Object.keys(le).length + 1).toString(10);
                m.id = D, Qn[l] = D, le[D] = m, fe.publish("addPattern", m);
            }
        };
        B.ShadingPattern = Pn, B.TilingPattern = Si, B.addShadingPattern = function(l, m) {
            return O("addShadingPattern()"), Ct(l, m), this;
        }, B.beginTilingPattern = function(l) {
            O("beginTilingPattern()"), as(l.boundingBox[0], l.boundingBox[1], l.boundingBox[2] - l.boundingBox[0], l.boundingBox[3] - l.boundingBox[1], l.matrix);
        }, B.endTilingPattern = function(l, m) {
            O("endTilingPattern()"), m.stream = QA[_].join(`
`), Ct(l, m), fe.publish("endTilingPattern", m), Br.pop().restore();
        };
        var Xe = B.__private__.newObject = function() {
            var l = Ge();
            return It(l, !0), l;
        }, Ge = B.__private__.newObjectDeferred = function() {
            return X++, nA[X] = function() {
                return sA;
            }, X;
        }, It = function(l, m) {
            return m = typeof m == "boolean" && m, nA[l] = sA, m && P(l + " 0 obj"), l;
        }, jn = B.__private__.newAdditionalObject = function() {
            var l = {
                objId: Ge(),
                content: ""
            };
            return FA.push(l), l;
        }, Hr = Ge(), Yt = Ge(), Zt = B.__private__.decodeColorString = function(l) {
            var m = l.split(" ");
            if (m.length !== 2 || m[1] !== "g" && m[1] !== "G") m.length === 5 && (m[4] === "k" || m[4] === "K") && (m = [
                (1 - m[0]) * (1 - m[3]),
                (1 - m[1]) * (1 - m[3]),
                (1 - m[2]) * (1 - m[3]),
                "r"
            ]);
            else {
                var D = parseFloat(m[0]);
                m = [
                    D,
                    D,
                    D,
                    "r"
                ];
            }
            for(var G = "#", AA = 0; AA < 3; AA++)G += ("0" + Math.floor(255 * parseFloat(m[AA])).toString(16)).slice(-2);
            return G;
        }, $t = B.__private__.encodeColorString = function(l) {
            var m;
            typeof l == "string" && (l = {
                ch1: l
            });
            var D = l.ch1, G = l.ch2, AA = l.ch3, BA = l.ch4, mA = l.pdfColorType === "draw" ? [
                "G",
                "RG",
                "K"
            ] : [
                "g",
                "rg",
                "k"
            ];
            if (typeof D == "string" && D.charAt(0) !== "#") {
                var _A = new sB(D);
                if (_A.ok) D = _A.toHex();
                else if (!/^\d*\.?\d*$/.test(D)) throw new Error('Invalid color "' + D + '" passed to jsPDF.encodeColorString.');
            }
            if (typeof D == "string" && /^#[0-9A-Fa-f]{3}$/.test(D) && (D = "#" + D[1] + D[1] + D[2] + D[2] + D[3] + D[3]), typeof D == "string" && /^#[0-9A-Fa-f]{6}$/.test(D)) {
                var KA = parseInt(D.substr(1), 16);
                D = KA >> 16 & 255, G = KA >> 8 & 255, AA = 255 & KA;
            }
            if (G === void 0 || BA === void 0 && D === G && G === AA) if (typeof D == "string") m = D + " " + mA[0];
            else switch(l.precision){
                case 2:
                    m = uA(D / 255) + " " + mA[0];
                    break;
                case 3:
                default:
                    m = I(D / 255) + " " + mA[0];
            }
            else if (BA === void 0 || de(BA) === "object") {
                if (BA && !isNaN(BA.a) && BA.a === 0) return m = [
                    "1.",
                    "1.",
                    "1.",
                    mA[1]
                ].join(" ");
                if (typeof D == "string") m = [
                    D,
                    G,
                    AA,
                    mA[1]
                ].join(" ");
                else switch(l.precision){
                    case 2:
                        m = [
                            uA(D / 255),
                            uA(G / 255),
                            uA(AA / 255),
                            mA[1]
                        ].join(" ");
                        break;
                    default:
                    case 3:
                        m = [
                            I(D / 255),
                            I(G / 255),
                            I(AA / 255),
                            mA[1]
                        ].join(" ");
                }
            } else if (typeof D == "string") m = [
                D,
                G,
                AA,
                BA,
                mA[2]
            ].join(" ");
            else switch(l.precision){
                case 2:
                    m = [
                        uA(D),
                        uA(G),
                        uA(AA),
                        uA(BA),
                        mA[2]
                    ].join(" ");
                    break;
                case 3:
                default:
                    m = [
                        I(D),
                        I(G),
                        I(AA),
                        I(BA),
                        mA[2]
                    ].join(" ");
            }
            return m;
        }, dr = B.__private__.getFilters = function() {
            return s;
        }, Tt = B.__private__.putStream = function(l) {
            var m = (l = l || {}).data || "", D = l.filters || dr(), G = l.alreadyAppliedFilters || [], AA = l.addLength1 || !1, BA = m.length, mA = l.objectId, _A = function(ct) {
                return ct;
            };
            if (g !== null && mA === void 0) throw new Error("ObjectId must be passed to putStream for file encryption");
            g !== null && (_A = ot.encryptor(mA, 0));
            var KA = {};
            D === !0 && (D = [
                "FlateEncode"
            ]);
            var $A = l.additionalKeyValues || [], zA = (KA = GA.API.processDataByFilters !== void 0 ? GA.API.processDataByFilters(m, D) : {
                data: m,
                reverseChain: []
            }).reverseChain + (Array.isArray(G) ? G.join(" ") : G.toString());
            if (KA.data.length !== 0 && ($A.push({
                key: "Length",
                value: KA.data.length
            }), AA === !0 && $A.push({
                key: "Length1",
                value: BA
            })), zA.length != 0) if (zA.split("/").length - 1 == 1) $A.push({
                key: "Filter",
                value: zA
            });
            else {
                $A.push({
                    key: "Filter",
                    value: "[" + zA + "]"
                });
                for(var ae = 0; ae < $A.length; ae += 1)if ($A[ae].key === "DecodeParms") {
                    for(var Ie = [], Se = 0; Se < KA.reverseChain.split("/").length - 1; Se += 1)Ie.push("null");
                    Ie.push($A[ae].value), $A[ae].value = "[" + Ie.join(" ") + "]";
                }
            }
            P("<<");
            for(var je = 0; je < $A.length; je++)P("/" + $A[je].key + " " + $A[je].value);
            P(">>"), KA.data.length !== 0 && (P("stream"), P(_A(KA.data)), P("endstream"));
        }, pr = B.__private__.putPage = function(l) {
            var m = l.number, D = l.data, G = l.objId, AA = l.contentsObjId;
            It(G, !0), P("<</Type /Page"), P("/Parent " + l.rootDictionaryObjId + " 0 R"), P("/Resources " + l.resourceDictionaryObjId + " 0 R"), P("/MediaBox [" + parseFloat(J(l.mediaBox.bottomLeftX)) + " " + parseFloat(J(l.mediaBox.bottomLeftY)) + " " + J(l.mediaBox.topRightX) + " " + J(l.mediaBox.topRightY) + "]"), l.cropBox !== null && P("/CropBox [" + J(l.cropBox.bottomLeftX) + " " + J(l.cropBox.bottomLeftY) + " " + J(l.cropBox.topRightX) + " " + J(l.cropBox.topRightY) + "]"), l.bleedBox !== null && P("/BleedBox [" + J(l.bleedBox.bottomLeftX) + " " + J(l.bleedBox.bottomLeftY) + " " + J(l.bleedBox.topRightX) + " " + J(l.bleedBox.topRightY) + "]"), l.trimBox !== null && P("/TrimBox [" + J(l.trimBox.bottomLeftX) + " " + J(l.trimBox.bottomLeftY) + " " + J(l.trimBox.topRightX) + " " + J(l.trimBox.topRightY) + "]"), l.artBox !== null && P("/ArtBox [" + J(l.artBox.bottomLeftX) + " " + J(l.artBox.bottomLeftY) + " " + J(l.artBox.topRightX) + " " + J(l.artBox.topRightY) + "]"), typeof l.userUnit == "number" && l.userUnit !== 1 && P("/UserUnit " + l.userUnit), fe.publish("putPage", {
                objId: G,
                pageContext: JA[m],
                pageNumber: m,
                page: D
            }), P("/Contents " + AA + " 0 R"), P(">>"), P("endobj");
            var BA = D.join(`
`);
            return R === x.ADVANCED && (BA += `
Q`), It(AA, !0), Tt({
                data: BA,
                filters: dr(),
                objectId: AA
            }), P("endobj"), G;
        }, Un = B.__private__.putPages = function() {
            var l, m, D = [];
            for(l = 1; l <= He; l++)JA[l].objId = Ge(), JA[l].contentsObjId = Ge();
            for(l = 1; l <= He; l++)D.push(pr({
                number: l,
                data: QA[l],
                objId: JA[l].objId,
                contentsObjId: JA[l].contentsObjId,
                mediaBox: JA[l].mediaBox,
                cropBox: JA[l].cropBox,
                bleedBox: JA[l].bleedBox,
                trimBox: JA[l].trimBox,
                artBox: JA[l].artBox,
                userUnit: JA[l].userUnit,
                rootDictionaryObjId: Hr,
                resourceDictionaryObjId: Yt
            }));
            It(Hr, !0), P("<</Type /Pages");
            var G = "/Kids [";
            for(m = 0; m < He; m++)G += D[m] + " 0 R ";
            P(G + "]"), P("/Count " + He), P(">>"), P("endobj"), fe.publish("postPutPages");
        }, Vn = function(l) {
            fe.publish("putFont", {
                font: l,
                out: P,
                newObject: Xe,
                putStream: Tt
            }), l.isAlreadyPutted !== !0 && (l.objectNumber = Xe(), P("<<"), P("/Type /Font"), P("/BaseFont /" + xi(l.postScriptName)), P("/Subtype /Type1"), typeof l.encoding == "string" && P("/Encoding /" + l.encoding), P("/FirstChar 32"), P("/LastChar 255"), P(">>"), P("endobj"));
        }, qn = function() {
            for(var l in me)me.hasOwnProperty(l) && (d === !1 || d === !0 && w.hasOwnProperty(l)) && Vn(me[l]);
        }, Wn = function(l) {
            l.objectNumber = Xe();
            var m = [];
            m.push({
                key: "Type",
                value: "/XObject"
            }), m.push({
                key: "Subtype",
                value: "/Form"
            }), m.push({
                key: "BBox",
                value: "[" + [
                    J(l.x),
                    J(l.y),
                    J(l.x + l.width),
                    J(l.y + l.height)
                ].join(" ") + "]"
            }), m.push({
                key: "Matrix",
                value: "[" + l.matrix.toString() + "]"
            });
            var D = l.pages[1].join(`
`);
            Tt({
                data: D,
                additionalKeyValues: m,
                objectId: l.objectNumber
            }), P("endobj");
        }, Xn = function() {
            for(var l in tt)tt.hasOwnProperty(l) && Wn(tt[l]);
        }, Ra = function(l, m) {
            var D, G = [], AA = 1 / (m - 1);
            for(D = 0; D < 1; D += AA)G.push(D);
            if (G.push(1), l[0].offset != 0) {
                var BA = {
                    offset: 0,
                    color: l[0].color
                };
                l.unshift(BA);
            }
            if (l[l.length - 1].offset != 1) {
                var mA = {
                    offset: 1,
                    color: l[l.length - 1].color
                };
                l.push(mA);
            }
            for(var _A = "", KA = 0, $A = 0; $A < G.length; $A++){
                for(D = G[$A]; D > l[KA + 1].offset;)KA++;
                var zA = l[KA].offset, ae = (D - zA) / (l[KA + 1].offset - zA), Ie = l[KA].color, Se = l[KA + 1].color;
                _A += k(Math.round((1 - ae) * Ie[0] + ae * Se[0]).toString(16)) + k(Math.round((1 - ae) * Ie[1] + ae * Se[1]).toString(16)) + k(Math.round((1 - ae) * Ie[2] + ae * Se[2]).toString(16));
            }
            return _A.trim();
        }, ko = function(l, m) {
            m || (m = 21);
            var D = Xe(), G = Ra(l.colors, m), AA = [];
            AA.push({
                key: "FunctionType",
                value: "0"
            }), AA.push({
                key: "Domain",
                value: "[0.0 1.0]"
            }), AA.push({
                key: "Size",
                value: "[" + m + "]"
            }), AA.push({
                key: "BitsPerSample",
                value: "8"
            }), AA.push({
                key: "Range",
                value: "[0.0 1.0 0.0 1.0 0.0 1.0]"
            }), AA.push({
                key: "Decode",
                value: "[0.0 1.0 0.0 1.0 0.0 1.0]"
            }), Tt({
                data: G,
                additionalKeyValues: AA,
                alreadyAppliedFilters: [
                    "/ASCIIHexDecode"
                ],
                objectId: D
            }), P("endobj"), l.objectNumber = Xe(), P("<< /ShadingType " + l.type), P("/ColorSpace /DeviceRGB");
            var BA = "/Coords [" + J(parseFloat(l.coords[0])) + " " + J(parseFloat(l.coords[1])) + " ";
            l.type === 2 ? BA += J(parseFloat(l.coords[2])) + " " + J(parseFloat(l.coords[3])) : BA += J(parseFloat(l.coords[2])) + " " + J(parseFloat(l.coords[3])) + " " + J(parseFloat(l.coords[4])) + " " + J(parseFloat(l.coords[5])), P(BA += "]"), l.matrix && P("/Matrix [" + l.matrix.toString() + "]"), P("/Function " + D + " 0 R"), P("/Extend [true true]"), P(">>"), P("endobj");
        }, Ro = function(l, m) {
            var D = Ge(), G = Xe();
            m.push({
                resourcesOid: D,
                objectOid: G
            }), l.objectNumber = G;
            var AA = [];
            AA.push({
                key: "Type",
                value: "/Pattern"
            }), AA.push({
                key: "PatternType",
                value: "1"
            }), AA.push({
                key: "PaintType",
                value: "1"
            }), AA.push({
                key: "TilingType",
                value: "1"
            }), AA.push({
                key: "BBox",
                value: "[" + l.boundingBox.map(J).join(" ") + "]"
            }), AA.push({
                key: "XStep",
                value: J(l.xStep)
            }), AA.push({
                key: "YStep",
                value: J(l.yStep)
            }), AA.push({
                key: "Resources",
                value: D + " 0 R"
            }), l.matrix && AA.push({
                key: "Matrix",
                value: "[" + l.matrix.toString() + "]"
            }), Tt({
                data: l.stream,
                additionalKeyValues: AA,
                objectId: l.objectNumber
            }), P("endobj");
        }, Jn = function(l) {
            var m;
            for(m in le)le.hasOwnProperty(m) && (le[m] instanceof Pn ? ko(le[m]) : le[m] instanceof Si && Ro(le[m], l));
        }, Ga = function(l) {
            for(var m in l.objectNumber = Xe(), P("<<"), l)switch(m){
                case "opacity":
                    P("/ca " + uA(l[m]));
                    break;
                case "stroke-opacity":
                    P("/CA " + uA(l[m]));
            }
            P(">>"), P("endobj");
        }, Go = function() {
            var l;
            for(l in xe)xe.hasOwnProperty(l) && Ga(xe[l]);
        }, Ki = function() {
            for(var l in P("/XObject <<"), tt)tt.hasOwnProperty(l) && tt[l].objectNumber >= 0 && P("/" + l + " " + tt[l].objectNumber + " 0 R");
            fe.publish("putXobjectDict"), P(">>");
        }, jo = function() {
            ot.oid = Xe(), P("<<"), P("/Filter /Standard"), P("/V " + ot.v), P("/R " + ot.r), P("/U <" + ot.toHexString(ot.U) + ">"), P("/O <" + ot.toHexString(ot.O) + ">"), P("/P " + ot.P), P(">>"), P("endobj");
        }, ja = function() {
            for(var l in P("/Font <<"), me)me.hasOwnProperty(l) && (d === !1 || d === !0 && w.hasOwnProperty(l)) && P("/" + l + " " + me[l].objectNumber + " 0 R");
            P(">>");
        }, Vo = function() {
            if (Object.keys(le).length > 0) {
                for(var l in P("/Shading <<"), le)le.hasOwnProperty(l) && le[l] instanceof Pn && le[l].objectNumber >= 0 && P("/" + l + " " + le[l].objectNumber + " 0 R");
                fe.publish("putShadingPatternDict"), P(">>");
            }
        }, zn = function(l) {
            if (Object.keys(le).length > 0) {
                for(var m in P("/Pattern <<"), le)le.hasOwnProperty(m) && le[m] instanceof B.TilingPattern && le[m].objectNumber >= 0 && le[m].objectNumber < l && P("/" + m + " " + le[m].objectNumber + " 0 R");
                fe.publish("putTilingPatternDict"), P(">>");
            }
        }, qo = function() {
            if (Object.keys(xe).length > 0) {
                var l;
                for(l in P("/ExtGState <<"), xe)xe.hasOwnProperty(l) && xe[l].objectNumber >= 0 && P("/" + l + " " + xe[l].objectNumber + " 0 R");
                fe.publish("putGStateDict"), P(">>");
            }
        }, De = function(l) {
            It(l.resourcesOid, !0), P("<<"), P("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"), ja(), Vo(), zn(l.objectOid), qo(), Ki(), P(">>"), P("endobj");
        }, Va = function() {
            var l = [];
            qn(), Go(), Xn(), Jn(l), fe.publish("putResources"), l.forEach(De), De({
                resourcesOid: Yt,
                objectOid: Number.MAX_SAFE_INTEGER
            }), fe.publish("postPutResources");
        }, qa = function() {
            fe.publish("putAdditionalObjects");
            for(var l = 0; l < FA.length; l++){
                var m = FA[l];
                It(m.objId, !0), P(m.content), P("endobj");
            }
            fe.publish("postPutAdditionalObjects");
        }, Wa = function(l) {
            Le[l.fontName] = Le[l.fontName] || {}, Le[l.fontName][l.fontStyle] = l.id;
        }, ki = function(l, m, D, G, AA) {
            var BA = {
                id: "F" + (Object.keys(me).length + 1).toString(10),
                postScriptName: l,
                fontName: m,
                fontStyle: D,
                encoding: G,
                isStandardFont: AA || !1,
                metadata: {}
            };
            return fe.publish("addFont", {
                font: BA,
                instance: this
            }), me[BA.id] = BA, Wa(BA), BA.id;
        }, Wo = function(l) {
            for(var m = 0, D = CA.length; m < D; m++){
                var G = ki.call(this, l[m][0], l[m][1], l[m][2], CA[m][3], !0);
                d === !1 && (w[G] = !0);
                var AA = l[m][0].split("-");
                Wa({
                    id: G,
                    fontName: AA[0],
                    fontStyle: AA[1] || ""
                });
            }
            fe.publish("addFonts", {
                fonts: me,
                dictionary: Le
            });
        }, Ar = function(l) {
            return l.foo = function() {
                try {
                    return l.apply(this, arguments);
                } catch (G) {
                    var m = G.stack || "";
                    ~m.indexOf(" at ") && (m = m.split(" at ")[1]);
                    var D = "Error in function " + m.split(`
`)[0].split("<")[0] + ": " + G.message;
                    if (!VA.console) throw new Error(D);
                    VA.console.error(D, G), VA.alert && alert(D);
                }
            }, l.foo.bar = l, l.foo;
        }, Yn = function(l, m) {
            var D, G, AA, BA, mA, _A, KA, $A, zA;
            if (AA = (m = m || {}).sourceEncoding || "Unicode", mA = m.outputEncoding, (m.autoencode || mA) && me[re].metadata && me[re].metadata[AA] && me[re].metadata[AA].encoding && (BA = me[re].metadata[AA].encoding, !mA && me[re].encoding && (mA = me[re].encoding), !mA && BA.codePages && (mA = BA.codePages[0]), typeof mA == "string" && (mA = BA[mA]), mA)) {
                for(KA = !1, _A = [], D = 0, G = l.length; D < G; D++)($A = mA[l.charCodeAt(D)]) ? _A.push(String.fromCharCode($A)) : _A.push(l[D]), _A[D].charCodeAt(0) >> 8 && (KA = !0);
                l = _A.join("");
            }
            for(D = l.length; KA === void 0 && D !== 0;)l.charCodeAt(D - 1) >> 8 && (KA = !0), D--;
            if (!KA) return l;
            for(_A = m.noBOM ? [] : [
                254,
                255
            ], D = 0, G = l.length; D < G; D++){
                if ((zA = ($A = l.charCodeAt(D)) >> 8) >> 8) throw new Error("Character at position " + D + " of string '" + l + "' exceeds 16bits. Cannot be encoded into UCS-2 BE");
                _A.push(zA), _A.push($A - (zA << 8));
            }
            return String.fromCharCode.apply(void 0, _A);
        }, Qt = B.__private__.pdfEscape = B.pdfEscape = function(l, m) {
            return Yn(l, m).replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)");
        }, Ri = B.__private__.beginPage = function(l) {
            QA[++He] = [], JA[He] = {
                objId: 0,
                contentsObjId: 0,
                userUnit: Number(c),
                artBox: null,
                bleedBox: null,
                cropBox: null,
                trimBox: null,
                mediaBox: {
                    bottomLeftX: 0,
                    bottomLeftY: 0,
                    topRightX: Number(l[0]),
                    topRightY: Number(l[1])
                }
            }, Ja(He), gA(QA[_]);
        }, Xa = function(l, m) {
            var D, G, AA;
            switch(e = m || e, typeof l == "string" && (D = Q(l.toLowerCase()), Array.isArray(D) && (G = D[0], AA = D[1])), Array.isArray(l) && (G = l[0] * SA, AA = l[1] * SA), isNaN(G) && (G = n[0], AA = n[1]), (G > 14400 || AA > 14400) && (Qe.warn("A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400"), G = Math.min(14400, G), AA = Math.min(14400, AA)), n = [
                G,
                AA
            ], e.substr(0, 1)){
                case "l":
                    AA > G && (n = [
                        AA,
                        G
                    ]);
                    break;
                case "p":
                    G > AA && (n = [
                        AA,
                        G
                    ]);
            }
            Ri(n), es(qi), P(er), Xi !== 0 && P(Xi + " J"), Ji !== 0 && P(Ji + " j"), fe.publish("addPage", {
                pageNumber: He
            });
        }, Xo = function(l) {
            l > 0 && l <= He && (QA.splice(l, 1), JA.splice(l, 1), He--, _ > He && (_ = He), this.setPage(_));
        }, Ja = function(l) {
            l > 0 && l <= He && (_ = l);
        }, Jo = B.__private__.getNumberOfPages = B.getNumberOfPages = function() {
            return QA.length - 1;
        }, za = function(l, m, D) {
            var G, AA = void 0;
            return D = D || {}, l = l !== void 0 ? l : me[re].fontName, m = m !== void 0 ? m : me[re].fontStyle, G = l.toLowerCase(), Le[G] !== void 0 && Le[G][m] !== void 0 ? AA = Le[G][m] : Le[l] !== void 0 && Le[l][m] !== void 0 ? AA = Le[l][m] : D.disableWarning === !1 && Qe.warn("Unable to look up font label for font '" + l + "', '" + m + "'. Refer to getFontList() for available fonts."), AA || D.noFallback || (AA = Le.times[m]) == null && (AA = Le.times.normal), AA;
        }, zo = B.__private__.putInfo = function() {
            var l = Xe(), m = function(G) {
                return G;
            };
            for(var D in g !== null && (m = ot.encryptor(l, 0)), P("<<"), P("/Producer (" + Qt(m("jsPDF " + GA.version)) + ")"), qA)qA.hasOwnProperty(D) && qA[D] && P("/" + D.substr(0, 1).toUpperCase() + D.substr(1) + " (" + Qt(m(qA[D])) + ")");
            P("/CreationDate (" + Qt(m(oA)) + ")"), P(">>"), P("endobj");
        }, Gi = B.__private__.putCatalog = function(l) {
            var m = (l = l || {}).rootDictionaryObjId || Hr;
            switch(Xe(), P("<<"), P("/Type /Catalog"), P("/Pages " + m + " 0 R"), HA || (HA = "fullwidth"), HA){
                case "fullwidth":
                    P("/OpenAction [3 0 R /FitH null]");
                    break;
                case "fullheight":
                    P("/OpenAction [3 0 R /FitV null]");
                    break;
                case "fullpage":
                    P("/OpenAction [3 0 R /Fit]");
                    break;
                case "original":
                    P("/OpenAction [3 0 R /XYZ null null 1]");
                    break;
                default:
                    var D = "" + HA;
                    D.substr(D.length - 1) === "%" && (HA = parseInt(HA) / 100), typeof HA == "number" && P("/OpenAction [3 0 R /XYZ null null " + uA(HA) + "]");
            }
            switch(te || (te = "continuous"), te){
                case "continuous":
                    P("/PageLayout /OneColumn");
                    break;
                case "single":
                    P("/PageLayout /SinglePage");
                    break;
                case "two":
                case "twoleft":
                    P("/PageLayout /TwoColumnLeft");
                    break;
                case "tworight":
                    P("/PageLayout /TwoColumnRight");
            }
            XA && P("/PageMode /" + XA), fe.publish("putCatalog"), P(">>"), P("endobj");
        }, Yo = B.__private__.putTrailer = function() {
            P("trailer"), P("<<"), P("/Size " + (X + 1)), P("/Root " + X + " 0 R"), P("/Info " + (X - 1) + " 0 R"), g !== null && P("/Encrypt " + ot.oid + " 0 R"), P("/ID [ <" + iA + "> <" + iA + "> ]"), P(">>");
        }, Zo = B.__private__.putHeader = function() {
            P("%PDF-" + L), P("%ºß¬à");
        }, $o = B.__private__.putXRef = function() {
            var l = "0000000000";
            P("xref"), P("0 " + (X + 1)), P("0000000000 65535 f ");
            for(var m = 1; m <= X; m++)typeof nA[m] == "function" ? P((l + nA[m]()).slice(-10) + " 00000 n ") : nA[m] !== void 0 ? P((l + nA[m]).slice(-10) + " 00000 n ") : P("0000000000 00000 n ");
        }, Sr = B.__private__.buildDocument = function() {
            jA(), gA(aA), fe.publish("buildDocument"), Zo(), Un(), qa(), Va(), g !== null && jo(), zo(), Gi();
            var l = sA;
            return $o(), Yo(), P("startxref"), P("" + l), P("%%EOF"), gA(QA[_]), aA.join(`
`);
        }, Zn = B.__private__.getBlob = function(l) {
            return new Blob([
                PA(l)
            ], {
                type: "application/pdf"
            });
        }, $n = B.output = B.__private__.output = Ar(function(l, m) {
            switch(typeof (m = m || {}) == "string" ? m = {
                filename: m
            } : m.filename = m.filename || "generated.pdf", l){
                case void 0:
                    return Sr();
                case "save":
                    B.save(m.filename);
                    break;
                case "arraybuffer":
                    return PA(Sr());
                case "blob":
                    return Zn(Sr());
                case "bloburi":
                case "bloburl":
                    if (VA.URL !== void 0 && typeof VA.URL.createObjectURL == "function") return VA.URL && VA.URL.createObjectURL(Zn(Sr())) || void 0;
                    Qe.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");
                    break;
                case "datauristring":
                case "dataurlstring":
                    var D = "", G = Sr();
                    try {
                        D = _u(G);
                    } catch  {
                        D = _u(unescape(encodeURIComponent(G)));
                    }
                    return "data:application/pdf;filename=" + m.filename + ";base64," + D;
                case "pdfobjectnewwindow":
                    if (Object.prototype.toString.call(VA) === "[object Window]") {
                        var AA = "https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js", BA = ' integrity="sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==" crossorigin="anonymous"';
                        m.pdfObjectUrl && (AA = m.pdfObjectUrl, BA = "");
                        var mA = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><script src="' + AA + '"' + BA + '><\/script><script >PDFObject.embed("' + this.output("dataurlstring") + '", ' + JSON.stringify(m) + ");<\/script></body></html>", _A = VA.open();
                        return _A !== null && _A.document.write(mA), _A;
                    }
                    throw new Error("The option pdfobjectnewwindow just works in a browser-environment.");
                case "pdfjsnewwindow":
                    if (Object.prototype.toString.call(VA) === "[object Window]") {
                        var KA = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe id="pdfViewer" src="' + (m.pdfJsUrl || "examples/PDF.js/web/viewer.html") + "?file=&downloadName=" + m.filename + '" width="500px" height="400px" /></body></html>', $A = VA.open();
                        if ($A !== null) {
                            $A.document.write(KA);
                            var zA = this;
                            $A.document.documentElement.querySelector("#pdfViewer").onload = function() {
                                $A.document.title = m.filename, $A.document.documentElement.querySelector("#pdfViewer").contentWindow.PDFViewerApplication.open(zA.output("bloburl"));
                            };
                        }
                        return $A;
                    }
                    throw new Error("The option pdfjsnewwindow just works in a browser-environment.");
                case "dataurlnewwindow":
                    if (Object.prototype.toString.call(VA) !== "[object Window]") throw new Error("The option dataurlnewwindow just works in a browser-environment.");
                    var ae = '<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src="' + this.output("datauristring", m) + '"></iframe></body></html>', Ie = VA.open();
                    if (Ie !== null && (Ie.document.write(ae), Ie.document.title = m.filename), Ie || typeof safari > "u") return Ie;
                    break;
                case "datauri":
                case "dataurl":
                    return VA.document.location.href = this.output("datauristring", m);
                default:
                    return null;
            }
        }), Ya = function(l) {
            return Array.isArray(Fn) === !0 && Fn.indexOf(l) > -1;
        };
        switch(r){
            case "pt":
                SA = 1;
                break;
            case "mm":
                SA = 72 / 25.4;
                break;
            case "cm":
                SA = 72 / 2.54;
                break;
            case "in":
                SA = 72;
                break;
            case "px":
                SA = Ya("px_scaling") == 1 ? .75 : 96 / 72;
                break;
            case "pc":
            case "em":
                SA = 12;
                break;
            case "ex":
                SA = 6;
                break;
            default:
                if (typeof r != "number") throw new Error("Invalid unit: " + r);
                SA = r;
        }
        var ot = null;
        UA(), eA();
        var Ac = function(l) {
            return g !== null ? ot.encryptor(l, 0) : function(m) {
                return m;
            };
        }, Za = B.__private__.getPageInfo = B.getPageInfo = function(l) {
            if (isNaN(l) || l % 1 != 0) throw new Error("Invalid argument passed to jsPDF.getPageInfo");
            return {
                objId: JA[l].objId,
                pageNumber: l,
                pageContext: JA[l]
            };
        }, WA = B.__private__.getPageInfoByObjId = function(l) {
            if (isNaN(l) || l % 1 != 0) throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");
            for(var m in JA)if (JA[m].objId === l) break;
            return Za(m);
        }, ec = B.__private__.getCurrentPageInfo = B.getCurrentPageInfo = function() {
            return {
                objId: JA[_].objId,
                pageNumber: _,
                pageContext: JA[_]
            };
        };
        B.addPage = function() {
            return Xa.apply(this, arguments), this;
        }, B.setPage = function() {
            return Ja.apply(this, arguments), gA.call(this, QA[_]), this;
        }, B.insertPage = function(l) {
            return this.addPage(), this.movePage(_, l), this;
        }, B.movePage = function(l, m) {
            var D, G;
            if (l > m) {
                D = QA[l], G = JA[l];
                for(var AA = l; AA > m; AA--)QA[AA] = QA[AA - 1], JA[AA] = JA[AA - 1];
                QA[m] = D, JA[m] = G, this.setPage(m);
            } else if (l < m) {
                D = QA[l], G = JA[l];
                for(var BA = l; BA < m; BA++)QA[BA] = QA[BA + 1], JA[BA] = JA[BA + 1];
                QA[m] = D, JA[m] = G, this.setPage(m);
            }
            return this;
        }, B.deletePage = function() {
            return Xo.apply(this, arguments), this;
        }, B.__private__.text = B.text = function(l, m, D, G, AA) {
            var BA, mA, _A, KA, $A, zA, ae, Ie, Se, je = (G = G || {}).scope || this;
            if (typeof l == "number" && typeof m == "number" && (typeof D == "string" || Array.isArray(D))) {
                var ct = D;
                D = m, m = l, l = ct;
            }
            if (arguments[3] instanceof RA ? (O("The transform parameter of text() with a Matrix value"), Se = AA) : (_A = arguments[4], KA = arguments[5], de(ae = arguments[3]) === "object" && ae !== null || (typeof _A == "string" && (KA = _A, _A = null), typeof ae == "string" && (KA = ae, ae = null), typeof ae == "number" && (_A = ae, ae = null), G = {
                flags: ae,
                angle: _A,
                align: KA
            })), isNaN(m) || isNaN(D) || l == null) throw new Error("Invalid arguments passed to jsPDF.text");
            if (l.length === 0) return je;
            var Ye = "", tr = !1, xt = typeof G.lineHeightFactor == "number" ? G.lineHeightFactor : bn, mr = je.internal.scaleFactor;
            function ss(Fe) {
                return Fe = Fe.split("	").join(Array(G.TabLen || 9).join(" ")), Qt(Fe, ae);
            }
            function Aa(Fe) {
                for(var Ue, Oe = Fe.concat(), Je = [], Or = Oe.length; Or--;)typeof (Ue = Oe.shift()) == "string" ? Je.push(Ue) : Array.isArray(Fe) && (Ue.length === 1 || Ue[1] === void 0 && Ue[2] === void 0) ? Je.push(Ue[0]) : Je.push([
                    Ue[0],
                    Ue[1],
                    Ue[2]
                ]);
                return Je;
            }
            function ea(Fe, Ue) {
                var Oe;
                if (typeof Fe == "string") Oe = Ue(Fe)[0];
                else if (Array.isArray(Fe)) {
                    for(var Je, Or, ca = Fe.concat(), Bi = [], fs = ca.length; fs--;)typeof (Je = ca.shift()) == "string" ? Bi.push(Ue(Je)[0]) : Array.isArray(Je) && typeof Je[0] == "string" && (Or = Ue(Je[0], Je[1], Je[2]), Bi.push([
                        Or[0],
                        Or[1],
                        Or[2]
                    ]));
                    Oe = Bi;
                }
                return Oe;
            }
            var ii = !1, ta = !0;
            if (typeof l == "string") ii = !0;
            else if (Array.isArray(l)) {
                var ra = l.concat();
                mA = [];
                for(var ai, rt = ra.length; rt--;)(typeof (ai = ra.shift()) != "string" || Array.isArray(ai) && typeof ai[0] != "string") && (ta = !1);
                ii = ta;
            }
            if (ii === !1) throw new Error('Type of text must be string or Array. "' + l + '" is not recognized.');
            typeof l == "string" && (l = l.match(/[\r?\n]/) ? l.split(/\r\n|\r|\n/g) : [
                l
            ]);
            var si = yA / je.internal.scaleFactor, oi = si * (xt - 1);
            switch(G.baseline){
                case "bottom":
                    D -= oi;
                    break;
                case "top":
                    D += si - oi;
                    break;
                case "hanging":
                    D += si - 2 * oi;
                    break;
                case "middle":
                    D += si / 2 - oi;
            }
            if ((zA = G.maxWidth || 0) > 0 && (typeof l == "string" ? l = je.splitTextToSize(l, zA) : Object.prototype.toString.call(l) === "[object Array]" && (l = l.reduce(function(Fe, Ue) {
                return Fe.concat(je.splitTextToSize(Ue, zA));
            }, []))), BA = {
                text: l,
                x: m,
                y: D,
                options: G,
                mutex: {
                    pdfEscape: Qt,
                    activeFontKey: re,
                    fonts: me,
                    activeFontSize: yA
                }
            }, fe.publish("preProcessText", BA), l = BA.text, _A = (G = BA.options).angle, !(Se instanceof RA) && _A && typeof _A == "number") {
                _A *= Math.PI / 180, G.rotationDirection === 0 && (_A = -_A), R === x.ADVANCED && (_A = -_A);
                var ci = Math.cos(_A), na = Math.sin(_A);
                Se = new RA(ci, na, -na, ci, 0, 0);
            } else _A && _A instanceof RA && (Se = _A);
            R !== x.ADVANCED || Se || (Se = gr), ($A = G.charSpace || ti) !== void 0 && (Ye += J(H($A)) + ` Tc
`, this.setCharSpace(this.getCharSpace() || 0)), (Ie = G.horizontalScale) !== void 0 && (Ye += J(100 * Ie) + ` Tz
`), G.lang;
            var Ft = -1, lc = G.renderingMode !== void 0 ? G.renderingMode : G.stroke, ia = je.internal.getCurrentPageInfo().pageContext;
            switch(lc){
                case 0:
                case !1:
                case "fill":
                    Ft = 0;
                    break;
                case 1:
                case !0:
                case "stroke":
                    Ft = 1;
                    break;
                case 2:
                case "fillThenStroke":
                    Ft = 2;
                    break;
                case 3:
                case "invisible":
                    Ft = 3;
                    break;
                case 4:
                case "fillAndAddForClipping":
                    Ft = 4;
                    break;
                case 5:
                case "strokeAndAddPathForClipping":
                    Ft = 5;
                    break;
                case 6:
                case "fillThenStrokeAndAddToPathForClipping":
                    Ft = 6;
                    break;
                case 7:
                case "addToPathForClipping":
                    Ft = 7;
            }
            var os = ia.usedRenderingMode !== void 0 ? ia.usedRenderingMode : -1;
            Ft !== -1 ? Ye += Ft + ` Tr
` : os !== -1 && (Ye += `0 Tr
`), Ft !== -1 && (ia.usedRenderingMode = Ft), KA = G.align || "left";
            var Ot, ui = yA * xt, cs = je.internal.pageSize.getWidth(), us = me[re];
            $A = G.charSpace || ti, zA = G.maxWidth || 0, ae = Object.assign({
                autoencode: !0,
                noBOM: !0
            }, G.flags);
            var Jr = [], In = function(Fe) {
                return je.getStringUnitWidth(Fe, {
                    font: us,
                    charSpace: $A,
                    fontSize: yA,
                    doKerning: !1
                }) * yA / mr;
            };
            if (Object.prototype.toString.call(l) === "[object Array]") {
                var Ut;
                mA = Aa(l), KA !== "left" && (Ot = mA.map(In));
                var pt, zr = 0;
                if (KA === "right") {
                    m -= Ot[0], l = [], rt = mA.length;
                    for(var _r = 0; _r < rt; _r++)_r === 0 ? (pt = vr(m), Ut = Nr(D)) : (pt = H(zr - Ot[_r]), Ut = -ui), l.push([
                        mA[_r],
                        pt,
                        Ut
                    ]), zr = Ot[_r];
                } else if (KA === "center") {
                    m -= Ot[0] / 2, l = [], rt = mA.length;
                    for(var Dr = 0; Dr < rt; Dr++)Dr === 0 ? (pt = vr(m), Ut = Nr(D)) : (pt = H((zr - Ot[Dr]) / 2), Ut = -ui), l.push([
                        mA[Dr],
                        pt,
                        Ut
                    ]), zr = Ot[Dr];
                } else if (KA === "left") {
                    l = [], rt = mA.length;
                    for(var li = 0; li < rt; li++)l.push(mA[li]);
                } else if (KA === "justify" && us.encoding === "Identity-H") {
                    l = [], rt = mA.length, zA = zA !== 0 ? zA : cs;
                    for(var Tr = 0, Te = 0; Te < rt; Te++)if (Ut = Te === 0 ? Nr(D) : -ui, pt = Te === 0 ? vr(m) : Tr, Te < rt - 1) {
                        var aa = H((zA - Ot[Te]) / (mA[Te].split(" ").length - 1)), wt = mA[Te].split(" ");
                        l.push([
                            wt[0] + " ",
                            pt,
                            Ut
                        ]), Tr = 0;
                        for(var Pt = 1; Pt < wt.length; Pt++){
                            var fi = (In(wt[Pt - 1] + " " + wt[Pt]) - In(wt[Pt])) * mr + aa;
                            Pt == wt.length - 1 ? l.push([
                                wt[Pt],
                                fi,
                                0
                            ]) : l.push([
                                wt[Pt] + " ",
                                fi,
                                0
                            ]), Tr -= fi;
                        }
                    } else l.push([
                        mA[Te],
                        pt,
                        Ut
                    ]);
                    l.push([
                        "",
                        Tr,
                        0
                    ]);
                } else {
                    if (KA !== "justify") throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".');
                    for(l = [], rt = mA.length, zA = zA !== 0 ? zA : cs, Te = 0; Te < rt; Te++)Ut = Te === 0 ? Nr(D) : -ui, pt = Te === 0 ? vr(m) : 0, Te < rt - 1 ? Jr.push(J(H((zA - Ot[Te]) / (mA[Te].split(" ").length - 1)))) : Jr.push(0), l.push([
                        mA[Te],
                        pt,
                        Ut
                    ]);
                }
            }
            var ls = typeof G.R2L == "boolean" ? G.R2L : MA;
            ls === !0 && (l = ea(l, function(Fe, Ue, Oe) {
                return [
                    Fe.split("").reverse().join(""),
                    Ue,
                    Oe
                ];
            })), BA = {
                text: l,
                x: m,
                y: D,
                options: G,
                mutex: {
                    pdfEscape: Qt,
                    activeFontKey: re,
                    fonts: me,
                    activeFontSize: yA
                }
            }, fe.publish("postProcessText", BA), l = BA.text, tr = BA.mutex.isHex || !1;
            var sa = me[re].encoding;
            sa !== "WinAnsiEncoding" && sa !== "StandardEncoding" || (l = ea(l, function(Fe, Ue, Oe) {
                return [
                    ss(Fe),
                    Ue,
                    Oe
                ];
            })), mA = Aa(l), l = [];
            for(var xn, Hn, Yr, Sn = 0, hi = 1, Nn = Array.isArray(mA[0]) ? hi : Sn, Zr = "", oa = function(Fe, Ue, Oe) {
                var Je = "";
                return Oe instanceof RA ? (Oe = typeof G.angle == "number" ? zt(Oe, new RA(1, 0, 0, 1, Fe, Ue)) : zt(new RA(1, 0, 0, 1, Fe, Ue), Oe), R === x.ADVANCED && (Oe = zt(new RA(1, 0, 0, -1, 0, 0), Oe)), Je = Oe.join(" ") + ` Tm
`) : Je = J(Fe) + " " + J(Ue) + ` Td
`, Je;
            }, Mt = 0; Mt < mA.length; Mt++){
                switch(Zr = "", Nn){
                    case hi:
                        Yr = (tr ? "<" : "(") + mA[Mt][0] + (tr ? ">" : ")"), xn = parseFloat(mA[Mt][1]), Hn = parseFloat(mA[Mt][2]);
                        break;
                    case Sn:
                        Yr = (tr ? "<" : "(") + mA[Mt] + (tr ? ">" : ")"), xn = vr(m), Hn = Nr(D);
                }
                Jr !== void 0 && Jr[Mt] !== void 0 && (Zr = Jr[Mt] + ` Tw
`), Mt === 0 ? l.push(Zr + oa(xn, Hn, Se) + Yr) : Nn === Sn ? l.push(Zr + Yr) : Nn === hi && l.push(Zr + oa(xn, Hn, Se) + Yr);
            }
            l = Nn === Sn ? l.join(` Tj
T* `) : l.join(` Tj
`), l += ` Tj
`;
            var Kt = `BT
/`;
            return Kt += re + " " + yA + ` Tf
`, Kt += J(yA * xt) + ` TL
`, Kt += Ln + `
`, Kt += Ye, Kt += l, P(Kt += "ET"), w[re] = !0, je;
        };
        var tc = B.__private__.clip = B.clip = function(l) {
            return P(l === "evenodd" ? "W*" : "W"), this;
        };
        B.clipEvenOdd = function() {
            return tc("evenodd");
        }, B.__private__.discardPath = B.discardPath = function() {
            return P("n"), this;
        };
        var wr = B.__private__.isValidStyle = function(l) {
            var m = !1;
            return [
                void 0,
                null,
                "S",
                "D",
                "F",
                "DF",
                "FD",
                "f",
                "f*",
                "B",
                "B*",
                "n"
            ].indexOf(l) !== -1 && (m = !0), m;
        };
        B.__private__.setDefaultPathOperation = B.setDefaultPathOperation = function(l) {
            return wr(l) && (h = l), this;
        };
        var $a = B.__private__.getStyle = B.getStyle = function(l) {
            var m = h;
            switch(l){
                case "D":
                case "S":
                    m = "S";
                    break;
                case "F":
                    m = "f";
                    break;
                case "FD":
                case "DF":
                    m = "B";
                    break;
                case "f":
                case "f*":
                case "B":
                case "B*":
                    m = l;
            }
            return m;
        }, As = B.close = function() {
            return P("h"), this;
        };
        B.stroke = function() {
            return P("S"), this;
        }, B.fill = function(l) {
            return Ai("f", l), this;
        }, B.fillEvenOdd = function(l) {
            return Ai("f*", l), this;
        }, B.fillStroke = function(l) {
            return Ai("B", l), this;
        }, B.fillStrokeEvenOdd = function(l) {
            return Ai("B*", l), this;
        };
        var Ai = function(l, m) {
            de(m) === "object" ? nc(m, l) : P(l);
        }, ji = function(l) {
            l === null || R === x.ADVANCED && l === void 0 || (l = $a(l), P(l));
        };
        function rc(l, m, D, G, AA) {
            var BA = new Si(m || this.boundingBox, D || this.xStep, G || this.yStep, this.gState, AA || this.matrix);
            BA.stream = this.stream;
            var mA = l + "$$" + this.cloneIndex++ + "$$";
            return Ct(mA, BA), BA;
        }
        var nc = function(l, m) {
            var D = Qn[l.key], G = le[D];
            if (G instanceof Pn) P("q"), P(ic(m)), G.gState && B.setGState(G.gState), P(l.matrix.toString() + " cm"), P("/" + D + " sh"), P("Q");
            else if (G instanceof Si) {
                var AA = new RA(1, 0, 0, -1, 0, Xr());
                l.matrix && (AA = AA.multiply(l.matrix || gr), D = rc.call(G, l.key, l.boundingBox, l.xStep, l.yStep, AA).id), P("q"), P("/Pattern cs"), P("/" + D + " scn"), G.gState && B.setGState(G.gState), P(m), P("Q");
            }
        }, ic = function(l) {
            switch(l){
                case "f":
                case "F":
                    return "W n";
                case "f*":
                    return "W* n";
                case "B":
                    return "W S";
                case "B*":
                    return "W* S";
                case "S":
                    return "W S";
                case "n":
                    return "W n";
            }
        }, Vi = B.moveTo = function(l, m) {
            return P(J(H(l)) + " " + J(M(m)) + " m"), this;
        }, yn = B.lineTo = function(l, m) {
            return P(J(H(l)) + " " + J(M(m)) + " l"), this;
        }, qr = B.curveTo = function(l, m, D, G, AA, BA) {
            return P([
                J(H(l)),
                J(M(m)),
                J(H(D)),
                J(M(G)),
                J(H(AA)),
                J(M(BA)),
                "c"
            ].join(" ")), this;
        };
        B.__private__.line = B.line = function(l, m, D, G, AA) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || isNaN(G) || !wr(AA)) throw new Error("Invalid arguments passed to jsPDF.line");
            return R === x.COMPAT ? this.lines([
                [
                    D - l,
                    G - m
                ]
            ], l, m, [
                1,
                1
            ], AA || "S") : this.lines([
                [
                    D - l,
                    G - m
                ]
            ], l, m, [
                1,
                1
            ]).stroke();
        }, B.__private__.lines = B.lines = function(l, m, D, G, AA, BA) {
            var mA, _A, KA, $A, zA, ae, Ie, Se, je, ct, Ye, tr;
            if (typeof l == "number" && (tr = D, D = m, m = l, l = tr), G = G || [
                1,
                1
            ], BA = BA || !1, isNaN(m) || isNaN(D) || !Array.isArray(l) || !Array.isArray(G) || !wr(AA) || typeof BA != "boolean") throw new Error("Invalid arguments passed to jsPDF.lines");
            for(Vi(m, D), mA = G[0], _A = G[1], $A = l.length, ct = m, Ye = D, KA = 0; KA < $A; KA++)(zA = l[KA]).length === 2 ? (ct = zA[0] * mA + ct, Ye = zA[1] * _A + Ye, yn(ct, Ye)) : (ae = zA[0] * mA + ct, Ie = zA[1] * _A + Ye, Se = zA[2] * mA + ct, je = zA[3] * _A + Ye, ct = zA[4] * mA + ct, Ye = zA[5] * _A + Ye, qr(ae, Ie, Se, je, ct, Ye));
            return BA && As(), ji(AA), this;
        }, B.path = function(l) {
            for(var m = 0; m < l.length; m++){
                var D = l[m], G = D.c;
                switch(D.op){
                    case "m":
                        Vi(G[0], G[1]);
                        break;
                    case "l":
                        yn(G[0], G[1]);
                        break;
                    case "c":
                        qr.apply(this, G);
                        break;
                    case "h":
                        As();
                }
            }
            return this;
        }, B.__private__.rect = B.rect = function(l, m, D, G, AA) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || isNaN(G) || !wr(AA)) throw new Error("Invalid arguments passed to jsPDF.rect");
            return R === x.COMPAT && (G = -G), P([
                J(H(l)),
                J(M(m)),
                J(H(D)),
                J(H(G)),
                "re"
            ].join(" ")), ji(AA), this;
        }, B.__private__.triangle = B.triangle = function(l, m, D, G, AA, BA, mA) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || isNaN(G) || isNaN(AA) || isNaN(BA) || !wr(mA)) throw new Error("Invalid arguments passed to jsPDF.triangle");
            return this.lines([
                [
                    D - l,
                    G - m
                ],
                [
                    AA - D,
                    BA - G
                ],
                [
                    l - AA,
                    m - BA
                ]
            ], l, m, [
                1,
                1
            ], mA, !0), this;
        }, B.__private__.roundedRect = B.roundedRect = function(l, m, D, G, AA, BA, mA) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || isNaN(G) || isNaN(AA) || isNaN(BA) || !wr(mA)) throw new Error("Invalid arguments passed to jsPDF.roundedRect");
            var _A = 4 / 3 * (Math.SQRT2 - 1);
            return AA = Math.min(AA, .5 * D), BA = Math.min(BA, .5 * G), this.lines([
                [
                    D - 2 * AA,
                    0
                ],
                [
                    AA * _A,
                    0,
                    AA,
                    BA - BA * _A,
                    AA,
                    BA
                ],
                [
                    0,
                    G - 2 * BA
                ],
                [
                    0,
                    BA * _A,
                    -AA * _A,
                    BA,
                    -AA,
                    BA
                ],
                [
                    2 * AA - D,
                    0
                ],
                [
                    -AA * _A,
                    0,
                    -AA,
                    -BA * _A,
                    -AA,
                    -BA
                ],
                [
                    0,
                    2 * BA - G
                ],
                [
                    0,
                    -BA * _A,
                    AA * _A,
                    -BA,
                    AA,
                    -BA
                ]
            ], l + AA, m, [
                1,
                1
            ], mA, !0), this;
        }, B.__private__.ellipse = B.ellipse = function(l, m, D, G, AA) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || isNaN(G) || !wr(AA)) throw new Error("Invalid arguments passed to jsPDF.ellipse");
            var BA = 4 / 3 * (Math.SQRT2 - 1) * D, mA = 4 / 3 * (Math.SQRT2 - 1) * G;
            return Vi(l + D, m), qr(l + D, m - mA, l + BA, m - G, l, m - G), qr(l - BA, m - G, l - D, m - mA, l - D, m), qr(l - D, m + mA, l - BA, m + G, l, m + G), qr(l + BA, m + G, l + D, m + mA, l + D, m), ji(AA), this;
        }, B.__private__.circle = B.circle = function(l, m, D, G) {
            if (isNaN(l) || isNaN(m) || isNaN(D) || !wr(G)) throw new Error("Invalid arguments passed to jsPDF.circle");
            return this.ellipse(l, m, D, D, G);
        }, B.setFont = function(l, m, D) {
            return D && (m = $(m, D)), re = za(l, m, {
                disableWarning: !1
            }), this;
        };
        var ac = B.__private__.getFont = B.getFont = function() {
            return me[za.apply(B, arguments)];
        };
        B.__private__.getFontList = B.getFontList = function() {
            var l, m, D = {};
            for(l in Le)if (Le.hasOwnProperty(l)) for(m in D[l] = [], Le[l])Le[l].hasOwnProperty(m) && D[l].push(m);
            return D;
        }, B.addFont = function(l, m, D, G, AA) {
            var BA = [
                "StandardEncoding",
                "MacRomanEncoding",
                "Identity-H",
                "WinAnsiEncoding"
            ];
            return arguments[3] && BA.indexOf(arguments[3]) !== -1 ? AA = arguments[3] : arguments[3] && BA.indexOf(arguments[3]) == -1 && (D = $(D, G)), AA = AA || "Identity-H", ki.call(this, l, m, D, AA);
        };
        var bn, qi = t.lineWidth || .200025, ei = B.__private__.getLineWidth = B.getLineWidth = function() {
            return qi;
        }, es = B.__private__.setLineWidth = B.setLineWidth = function(l) {
            return qi = l, P(J(H(l)) + " w"), this;
        };
        B.__private__.setLineDash = GA.API.setLineDash = GA.API.setLineDashPattern = function(l, m) {
            if (l = l || [], m = m || 0, isNaN(m) || !Array.isArray(l)) throw new Error("Invalid arguments passed to jsPDF.setLineDash");
            return l = l.map(function(D) {
                return J(H(D));
            }).join(" "), m = J(H(m)), P("[" + l + "] " + m + " d"), this;
        };
        var ts = B.__private__.getLineHeight = B.getLineHeight = function() {
            return yA * bn;
        };
        B.__private__.getLineHeight = B.getLineHeight = function() {
            return yA * bn;
        };
        var rs = B.__private__.setLineHeightFactor = B.setLineHeightFactor = function(l) {
            return typeof (l = l || 1.15) == "number" && (bn = l), this;
        }, ns = B.__private__.getLineHeightFactor = B.getLineHeightFactor = function() {
            return bn;
        };
        rs(t.lineHeight);
        var vr = B.__private__.getHorizontalCoordinate = function(l) {
            return H(l);
        }, Nr = B.__private__.getVerticalCoordinate = function(l) {
            return R === x.ADVANCED ? l : JA[_].mediaBox.topRightY - JA[_].mediaBox.bottomLeftY - H(l);
        }, sc = B.__private__.getHorizontalCoordinateString = B.getHorizontalCoordinateString = function(l) {
            return J(vr(l));
        }, Wr = B.__private__.getVerticalCoordinateString = B.getVerticalCoordinateString = function(l) {
            return J(Nr(l));
        }, er = t.strokeColor || "0 G";
        B.__private__.getStrokeColor = B.getDrawColor = function() {
            return Zt(er);
        }, B.__private__.setStrokeColor = B.setDrawColor = function(l, m, D, G) {
            return er = $t({
                ch1: l,
                ch2: m,
                ch3: D,
                ch4: G,
                pdfColorType: "draw",
                precision: 2
            }), P(er), this;
        };
        var Wi = t.fillColor || "0 g";
        B.__private__.getFillColor = B.getFillColor = function() {
            return Zt(Wi);
        }, B.__private__.setFillColor = B.setFillColor = function(l, m, D, G) {
            return Wi = $t({
                ch1: l,
                ch2: m,
                ch3: D,
                ch4: G,
                pdfColorType: "fill",
                precision: 2
            }), P(Wi), this;
        };
        var Ln = t.textColor || "0 g", oc = B.__private__.getTextColor = B.getTextColor = function() {
            return Zt(Ln);
        };
        B.__private__.setTextColor = B.setTextColor = function(l, m, D, G) {
            return Ln = $t({
                ch1: l,
                ch2: m,
                ch3: D,
                ch4: G,
                pdfColorType: "text",
                precision: 3
            }), this;
        };
        var ti = t.charSpace, cc = B.__private__.getCharSpace = B.getCharSpace = function() {
            return parseFloat(ti || 0);
        };
        B.__private__.setCharSpace = B.setCharSpace = function(l) {
            if (isNaN(l)) throw new Error("Invalid argument passed to jsPDF.setCharSpace");
            return ti = l, this;
        };
        var Xi = 0;
        B.CapJoinStyles = {
            0: 0,
            butt: 0,
            but: 0,
            miter: 0,
            1: 1,
            round: 1,
            rounded: 1,
            circle: 1,
            2: 2,
            projecting: 2,
            project: 2,
            square: 2,
            bevel: 2
        }, B.__private__.setLineCap = B.setLineCap = function(l) {
            var m = B.CapJoinStyles[l];
            if (m === void 0) throw new Error("Line cap style of '" + l + "' is not recognized. See or extend .CapJoinStyles property for valid styles");
            return Xi = m, P(m + " J"), this;
        };
        var Ji = 0;
        B.__private__.setLineJoin = B.setLineJoin = function(l) {
            var m = B.CapJoinStyles[l];
            if (m === void 0) throw new Error("Line join style of '" + l + "' is not recognized. See or extend .CapJoinStyles property for valid styles");
            return Ji = m, P(m + " j"), this;
        }, B.__private__.setLineMiterLimit = B.__private__.setMiterLimit = B.setLineMiterLimit = B.setMiterLimit = function(l) {
            if (l = l || 0, isNaN(l)) throw new Error("Invalid argument passed to jsPDF.setLineMiterLimit");
            return P(J(H(l)) + " M"), this;
        }, B.GState = bo, B.setGState = function(l) {
            (l = typeof l == "string" ? xe[Jt[l]] : is(null, l)).equals(xr) || (P("/" + l.id + " gs"), xr = l);
        };
        var is = function(l, m) {
            if (!l || !Jt[l]) {
                var D = !1;
                for(var G in xe)if (xe.hasOwnProperty(G) && xe[G].equals(m)) {
                    D = !0;
                    break;
                }
                if (D) m = xe[G];
                else {
                    var AA = "GS" + (Object.keys(xe).length + 1).toString(10);
                    xe[AA] = m, m.id = AA;
                }
                return l && (Jt[l] = m.id), fe.publish("addGState", m), m;
            }
        };
        B.addGState = function(l, m) {
            return is(l, m), this;
        }, B.saveGraphicsState = function() {
            return P("q"), fr.push({
                key: re,
                size: yA,
                color: Ln
            }), this;
        }, B.restoreGraphicsState = function() {
            P("Q");
            var l = fr.pop();
            return re = l.key, yA = l.size, Ln = l.color, xr = null, this;
        }, B.setCurrentTransformationMatrix = function(l) {
            return P(l.toString() + " cm"), this;
        }, B.comment = function(l) {
            return P("#" + l), this;
        };
        var ri = function(l, m) {
            var D = l || 0;
            Object.defineProperty(this, "x", {
                enumerable: !0,
                get: function() {
                    return D;
                },
                set: function(BA) {
                    isNaN(BA) || (D = parseFloat(BA));
                }
            });
            var G = m || 0;
            Object.defineProperty(this, "y", {
                enumerable: !0,
                get: function() {
                    return G;
                },
                set: function(BA) {
                    isNaN(BA) || (G = parseFloat(BA));
                }
            });
            var AA = "pt";
            return Object.defineProperty(this, "type", {
                enumerable: !0,
                get: function() {
                    return AA;
                },
                set: function(BA) {
                    AA = BA.toString();
                }
            }), this;
        }, zi = function(l, m, D, G) {
            ri.call(this, l, m), this.type = "rect";
            var AA = D || 0;
            Object.defineProperty(this, "w", {
                enumerable: !0,
                get: function() {
                    return AA;
                },
                set: function(mA) {
                    isNaN(mA) || (AA = parseFloat(mA));
                }
            });
            var BA = G || 0;
            return Object.defineProperty(this, "h", {
                enumerable: !0,
                get: function() {
                    return BA;
                },
                set: function(mA) {
                    isNaN(mA) || (BA = parseFloat(mA));
                }
            }), this;
        }, Yi = function() {
            this.page = He, this.currentPage = _, this.pages = QA.slice(0), this.pagesContext = JA.slice(0), this.x = st, this.y = ce, this.matrix = Xt, this.width = En(_), this.height = Xr(_), this.outputDestination = LA, this.id = "", this.objectNumber = -1;
        };
        Yi.prototype.restore = function() {
            He = this.page, _ = this.currentPage, JA = this.pagesContext, QA = this.pages, st = this.x, ce = this.y, Xt = this.matrix, Zi(_, this.width), $i(_, this.height), LA = this.outputDestination;
        };
        var as = function(l, m, D, G, AA) {
            Br.push(new Yi), He = _ = 0, QA = [], st = l, ce = m, Xt = AA, Ri([
                D,
                G
            ]);
        }, uc = function(l) {
            if (hr[l]) Br.pop().restore();
            else {
                var m = new Yi, D = "Xo" + (Object.keys(tt).length + 1).toString(10);
                m.id = D, hr[l] = D, tt[D] = m, fe.publish("addFormObject", m), Br.pop().restore();
            }
        };
        for(var ni in B.beginFormObject = function(l, m, D, G, AA) {
            return as(l, m, D, G, AA), this;
        }, B.endFormObject = function(l) {
            return uc(l), this;
        }, B.doFormObject = function(l, m) {
            var D = tt[hr[l]];
            return P("q"), P(m.toString() + " cm"), P("/" + D.id + " Do"), P("Q"), this;
        }, B.getFormObject = function(l) {
            var m = tt[hr[l]];
            return {
                x: m.x,
                y: m.y,
                width: m.width,
                height: m.height,
                matrix: m.matrix
            };
        }, B.save = function(l, m) {
            return l = l || "generated.pdf", (m = m || {}).returnPromise = m.returnPromise || !1, m.returnPromise === !1 ? (Tn(Zn(Sr()), l), typeof Tn.unload == "function" && VA.setTimeout && setTimeout(Tn.unload, 911), this) : new Promise(function(D, G) {
                try {
                    var AA = Tn(Zn(Sr()), l);
                    typeof Tn.unload == "function" && VA.setTimeout && setTimeout(Tn.unload, 911), D(AA);
                } catch (BA) {
                    G(BA.message);
                }
            });
        }, GA.API)GA.API.hasOwnProperty(ni) && (ni === "events" && GA.API.events.length ? function(l, m) {
            var D, G, AA;
            for(AA = m.length - 1; AA !== -1; AA--)D = m[AA][0], G = m[AA][1], l.subscribe.apply(l, [
                D
            ].concat(typeof G == "function" ? [
                G
            ] : G));
        }(fe, GA.API.events) : B[ni] = GA.API[ni]);
        var En = B.getPageWidth = function(l) {
            return (JA[l = l || _].mediaBox.topRightX - JA[l].mediaBox.bottomLeftX) / SA;
        }, Zi = B.setPageWidth = function(l, m) {
            JA[l].mediaBox.topRightX = m * SA + JA[l].mediaBox.bottomLeftX;
        }, Xr = B.getPageHeight = function(l) {
            return (JA[l = l || _].mediaBox.topRightY - JA[l].mediaBox.bottomLeftY) / SA;
        }, $i = B.setPageHeight = function(l, m) {
            JA[l].mediaBox.topRightY = m * SA + JA[l].mediaBox.bottomLeftY;
        };
        return B.internal = {
            pdfEscape: Qt,
            getStyle: $a,
            getFont: ac,
            getFontSize: IA,
            getCharSpace: cc,
            getTextColor: oc,
            getLineHeight: ts,
            getLineHeightFactor: ns,
            getLineWidth: ei,
            write: ZA,
            getHorizontalCoordinate: vr,
            getVerticalCoordinate: Nr,
            getCoordinateString: sc,
            getVerticalCoordinateString: Wr,
            collections: {},
            newObject: Xe,
            newAdditionalObject: jn,
            newObjectDeferred: Ge,
            newObjectDeferredBegin: It,
            getFilters: dr,
            putStream: Tt,
            events: fe,
            scaleFactor: SA,
            pageSize: {
                getWidth: function() {
                    return En(_);
                },
                setWidth: function(l) {
                    Zi(_, l);
                },
                getHeight: function() {
                    return Xr(_);
                },
                setHeight: function(l) {
                    $i(_, l);
                }
            },
            encryptionOptions: g,
            encryption: ot,
            getEncryptor: Ac,
            output: $n,
            getNumberOfPages: Jo,
            pages: QA,
            out: P,
            f2: uA,
            f3: I,
            getPageInfo: Za,
            getPageInfoByObjId: WA,
            getCurrentPageInfo: ec,
            getPDFVersion: U,
            Point: ri,
            Rectangle: zi,
            Matrix: RA,
            hasHotfix: Ya
        }, Object.defineProperty(B.internal.pageSize, "width", {
            get: function() {
                return En(_);
            },
            set: function(l) {
                Zi(_, l);
            },
            enumerable: !0,
            configurable: !0
        }), Object.defineProperty(B.internal.pageSize, "height", {
            get: function() {
                return Xr(_);
            },
            set: function(l) {
                $i(_, l);
            },
            enumerable: !0,
            configurable: !0
        }), Wo.call(B, CA), re = "F1", Xa(n, e), fe.publish("initialized"), B;
    }
    Ii.prototype.lsbFirstWord = function(t) {
        return String.fromCharCode(t >> 0 & 255, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255);
    }, Ii.prototype.toHexString = function(t) {
        return t.split("").map(function(A) {
            return ("0" + (255 & A.charCodeAt(0)).toString(16)).slice(-2);
        }).join("");
    }, Ii.prototype.hexToBytes = function(t) {
        for(var A = [], e = 0; e < t.length; e += 2)A.push(String.fromCharCode(parseInt(t.substr(e, 2), 16)));
        return A.join("");
    }, Ii.prototype.processOwnerPassword = function(t, A) {
        return Tu(Du(A).substr(0, 5), t);
    }, Ii.prototype.encryptor = function(t, A) {
        var e = Du(this.encryptionKey + String.fromCharCode(255 & t, t >> 8 & 255, t >> 16 & 255, 255 & A, A >> 8 & 255)).substr(0, 10);
        return function(r) {
            return Tu(e, r);
        };
    }, bo.prototype.equals = function(t) {
        var A, e = "id,objectNumber,equals";
        if (!t || de(t) !== de(this)) return !1;
        var r = 0;
        for(A in this)if (!(e.indexOf(A) >= 0)) {
            if (this.hasOwnProperty(A) && !t.hasOwnProperty(A) || this[A] !== t[A]) return !1;
            r++;
        }
        for(A in t)t.hasOwnProperty(A) && e.indexOf(A) < 0 && r--;
        return r === 0;
    }, GA.API = {
        events: []
    }, GA.version = "3.0.1";
    var _e = GA.API, Ju = 1, Gn = function(t) {
        return t.replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)");
    }, yi = function(t) {
        return t.replace(/\\\\/g, "\\").replace(/\\\(/g, "(").replace(/\\\)/g, ")");
    }, YA = function(t) {
        return t.toFixed(2);
    }, cn = function(t) {
        return t.toFixed(5);
    };
    _e.__acroform__ = {};
    var Et = function(t, A) {
        t.prototype = Object.create(A.prototype), t.prototype.constructor = t;
    }, _f = function(t) {
        return t * Ju;
    }, Ur = function(t) {
        var A = new lB, e = OA.internal.getHeight(t) || 0, r = OA.internal.getWidth(t) || 0;
        return A.BBox = [
            0,
            0,
            Number(YA(r)),
            Number(YA(e))
        ], A;
    }, c5 = _e.__acroform__.setBit = function(t, A) {
        if (t = t || 0, A = A || 0, isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBit");
        return t |= 1 << A;
    }, u5 = _e.__acroform__.clearBit = function(t, A) {
        if (t = t || 0, A = A || 0, isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBit");
        return t &= ~(1 << A);
    }, l5 = _e.__acroform__.getBit = function(t, A) {
        if (isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBit");
        return t & 1 << A ? 1 : 0;
    }, Ke = _e.__acroform__.getBitForPdf = function(t, A) {
        if (isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf");
        return l5(t, A - 1);
    }, ke = _e.__acroform__.setBitForPdf = function(t, A) {
        if (isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf");
        return c5(t, A - 1);
    }, Re = _e.__acroform__.clearBitForPdf = function(t, A) {
        if (isNaN(t) || isNaN(A)) throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf");
        return u5(t, A - 1);
    }, f5 = _e.__acroform__.calculateCoordinates = function(t, A) {
        var e = A.internal.getHorizontalCoordinate, r = A.internal.getVerticalCoordinate, n = t[0], i = t[1], s = t[2], c = t[3], u = {};
        return u.lowerLeft_X = e(n) || 0, u.lowerLeft_Y = r(i + c) || 0, u.upperRight_X = e(n + s) || 0, u.upperRight_Y = r(i) || 0, [
            Number(YA(u.lowerLeft_X)),
            Number(YA(u.lowerLeft_Y)),
            Number(YA(u.upperRight_X)),
            Number(YA(u.upperRight_Y))
        ];
    }, h5 = function(t) {
        if (t.appearanceStreamContent) return t.appearanceStreamContent;
        if (t.V || t.DV) {
            var A = [], e = t._V || t.DV, r = Ou(t, e), n = t.scope.internal.getFont(t.fontName, t.fontStyle).id;
            A.push("/Tx BMC"), A.push("q"), A.push("BT"), A.push(t.scope.__private__.encodeColorString(t.color)), A.push("/" + n + " " + YA(r.fontSize) + " Tf"), A.push("1 0 0 1 0 0 Tm"), A.push(r.text), A.push("ET"), A.push("Q"), A.push("EMC");
            var i = Ur(t);
            return i.scope = t.scope, i.stream = A.join(`
`), i;
        }
    }, Ou = function(t, A) {
        var e = t.fontSize === 0 ? t.maxFontSize : t.fontSize, r = {
            text: "",
            fontSize: ""
        }, n = (A = (A = A.substr(0, 1) == "(" ? A.substr(1) : A).substr(A.length - 1) == ")" ? A.substr(0, A.length - 1) : A).split(" ");
        n = t.multiline ? n.map(function(I) {
            return I.split(`
`);
        }) : n.map(function(I) {
            return [
                I
            ];
        });
        var i = e, s = OA.internal.getHeight(t) || 0;
        s = s < 0 ? -s : s;
        var c = OA.internal.getWidth(t) || 0;
        c = c < 0 ? -c : c;
        var u = function(I, H, K) {
            if (I + 1 < n.length) {
                var M = H + " " + n[I + 1][0];
                return no(M, t, K).width <= c - 4;
            }
            return !1;
        };
        i++;
        A: for(; i > 0;){
            A = "", i--;
            var h, g, d = no("3", t, i).height, w = t.multiline ? s - i : (s - d) / 2, B = w += 2, L = 0, U = 0, N = 0;
            if (i <= 0) {
                A = `(...) Tj
`, A += "% Width of Text: " + no(A, t, i = 12).width + ", FieldWidth:" + c + `
`;
                break;
            }
            for(var Q = "", x = 0, R = 0; R < n.length; R++)if (n.hasOwnProperty(R)) {
                var Y = !1;
                if (n[R].length !== 1 && N !== n[R].length - 1) {
                    if ((d + 2) * (x + 2) + 2 > s) continue A;
                    Q += n[R][N], Y = !0, U = R, R--;
                } else {
                    Q = (Q += n[R][N] + " ").substr(Q.length - 1) == " " ? Q.substr(0, Q.length - 1) : Q;
                    var Z = parseInt(R), $ = u(Z, Q, i), J = R >= n.length - 1;
                    if ($ && !J) {
                        Q += " ", N = 0;
                        continue;
                    }
                    if ($ || J) {
                        if (J) U = Z;
                        else if (t.multiline && (d + 2) * (x + 2) + 2 > s) continue A;
                    } else {
                        if (!t.multiline || (d + 2) * (x + 2) + 2 > s) continue A;
                        U = Z;
                    }
                }
                for(var O = "", W = L; W <= U; W++){
                    var uA = n[W];
                    if (t.multiline) {
                        if (W === U) {
                            O += uA[N] + " ", N = (N + 1) % uA.length;
                            continue;
                        }
                        if (W === L) {
                            O += uA[uA.length - 1] + " ";
                            continue;
                        }
                    }
                    O += uA[0] + " ";
                }
                switch(O = O.substr(O.length - 1) == " " ? O.substr(0, O.length - 1) : O, g = no(O, t, i).width, t.textAlign){
                    case "right":
                        h = c - g - 2;
                        break;
                    case "center":
                        h = (c - g) / 2;
                        break;
                    case "left":
                    default:
                        h = 2;
                }
                A += YA(h) + " " + YA(B) + ` Td
`, A += "(" + Gn(O) + `) Tj
`, A += -YA(h) + ` 0 Td
`, B = -(i + 2), g = 0, L = Y ? U : U + 1, x++, Q = "";
            }
            break;
        }
        return r.text = A, r.fontSize = i, r;
    }, no = function(t, A, e) {
        var r = A.scope.internal.getFont(A.fontName, A.fontStyle), n = A.scope.getStringUnitWidth(t, {
            font: r,
            fontSize: parseFloat(e),
            charSpace: 0
        }) * parseFloat(e);
        return {
            height: A.scope.getStringUnitWidth("3", {
                font: r,
                fontSize: parseFloat(e),
                charSpace: 0
            }) * parseFloat(e) * 1.5,
            width: n
        };
    }, B5 = {
        fields: [],
        xForms: [],
        acroFormDictionaryRoot: null,
        printedOut: !1,
        internal: null,
        isInitialized: !1
    }, g5 = function(t, A) {
        var e = {
            type: "reference",
            object: t
        };
        A.internal.getPageInfo(t.page).pageContext.annotations.find(function(r) {
            return r.type === e.type && r.object === e.object;
        }) === void 0 && A.internal.getPageInfo(t.page).pageContext.annotations.push(e);
    }, d5 = function(t, A) {
        for(var e in t)if (t.hasOwnProperty(e)) {
            var r = e, n = t[e];
            A.internal.newObjectDeferredBegin(n.objId, !0), de(n) === "object" && typeof n.putStream == "function" && n.putStream(), delete t[r];
        }
    }, p5 = function(t, A) {
        if (A.scope = t, t.internal !== void 0 && (t.internal.acroformPlugin === void 0 || t.internal.acroformPlugin.isInitialized === !1)) {
            if (ur.FieldNum = 0, t.internal.acroformPlugin = JSON.parse(JSON.stringify(B5)), t.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error("Exception while creating AcroformDictionary");
            Ju = t.internal.scaleFactor, t.internal.acroformPlugin.acroFormDictionaryRoot = new fB, t.internal.acroformPlugin.acroFormDictionaryRoot.scope = t, t.internal.acroformPlugin.acroFormDictionaryRoot._eventID = t.internal.events.subscribe("postPutResources", function() {
                (function(e) {
                    e.internal.events.unsubscribe(e.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete e.internal.acroformPlugin.acroFormDictionaryRoot._eventID, e.internal.acroformPlugin.printedOut = !0;
                })(t);
            }), t.internal.events.subscribe("buildDocument", function() {
                (function(e) {
                    e.internal.acroformPlugin.acroFormDictionaryRoot.objId = void 0;
                    var r = e.internal.acroformPlugin.acroFormDictionaryRoot.Fields;
                    for(var n in r)if (r.hasOwnProperty(n)) {
                        var i = r[n];
                        i.objId = void 0, i.hasAnnotation && g5(i, e);
                    }
                })(t);
            }), t.internal.events.subscribe("putCatalog", function() {
                (function(e) {
                    if (e.internal.acroformPlugin.acroFormDictionaryRoot === void 0) throw new Error("putCatalogCallback: Root missing.");
                    e.internal.write("/AcroForm " + e.internal.acroformPlugin.acroFormDictionaryRoot.objId + " 0 R");
                })(t);
            }), t.internal.events.subscribe("postPutPages", function(e) {
                (function(r, n) {
                    var i = !r;
                    for(var s in r || (n.internal.newObjectDeferredBegin(n.internal.acroformPlugin.acroFormDictionaryRoot.objId, !0), n.internal.acroformPlugin.acroFormDictionaryRoot.putStream()), r = r || n.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if (r.hasOwnProperty(s)) {
                        var c = r[s], u = [], h = c.Rect;
                        if (c.Rect && (c.Rect = f5(c.Rect, n)), n.internal.newObjectDeferredBegin(c.objId, !0), c.DA = OA.createDefaultAppearanceStream(c), de(c) === "object" && typeof c.getKeyValueListForStream == "function" && (u = c.getKeyValueListForStream()), c.Rect = h, c.hasAppearanceStream && !c.appearanceStreamContent) {
                            var g = h5(c);
                            u.push({
                                key: "AP",
                                value: "<</N " + g + ">>"
                            }), n.internal.acroformPlugin.xForms.push(g);
                        }
                        if (c.appearanceStreamContent) {
                            var d = "";
                            for(var w in c.appearanceStreamContent)if (c.appearanceStreamContent.hasOwnProperty(w)) {
                                var B = c.appearanceStreamContent[w];
                                if (d += "/" + w + " ", d += "<<", Object.keys(B).length >= 1 || Array.isArray(B)) {
                                    for(var s in B)if (B.hasOwnProperty(s)) {
                                        var L = B[s];
                                        typeof L == "function" && (L = L.call(n, c)), d += "/" + s + " " + L + " ", n.internal.acroformPlugin.xForms.indexOf(L) >= 0 || n.internal.acroformPlugin.xForms.push(L);
                                    }
                                } else typeof (L = B) == "function" && (L = L.call(n, c)), d += "/" + s + " " + L, n.internal.acroformPlugin.xForms.indexOf(L) >= 0 || n.internal.acroformPlugin.xForms.push(L);
                                d += ">>";
                            }
                            u.push({
                                key: "AP",
                                value: `<<
` + d + ">>"
                            });
                        }
                        n.internal.putStream({
                            additionalKeyValues: u,
                            objectId: c.objId
                        }), n.internal.out("endobj");
                    }
                    i && d5(n.internal.acroformPlugin.xForms, n);
                })(e, t);
            }), t.internal.acroformPlugin.isInitialized = !0;
        }
    }, uB = _e.__acroform__.arrayToPdfArray = function(t, A, e) {
        var r = function(s) {
            return s;
        };
        if (Array.isArray(t)) {
            for(var n = "[", i = 0; i < t.length; i++)switch(i !== 0 && (n += " "), de(t[i])){
                case "boolean":
                case "number":
                case "object":
                    n += t[i].toString();
                    break;
                case "string":
                    t[i].substr(0, 1) !== "/" ? (A !== void 0 && e && (r = e.internal.getEncryptor(A)), n += "(" + Gn(r(t[i].toString())) + ")") : n += t[i].toString();
            }
            return n += "]";
        }
        throw new Error("Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray");
    }, tu = function(t, A, e) {
        var r = function(n) {
            return n;
        };
        return A !== void 0 && e && (r = e.internal.getEncryptor(A)), (t = t || "").toString(), t = "(" + Gn(r(t)) + ")";
    }, yr = function() {
        this._objId = void 0, this._scope = void 0, Object.defineProperty(this, "objId", {
            get: function() {
                if (this._objId === void 0) {
                    if (this.scope === void 0) return;
                    this._objId = this.scope.internal.newObjectDeferred();
                }
                return this._objId;
            },
            set: function(t) {
                this._objId = t;
            }
        }), Object.defineProperty(this, "scope", {
            value: this._scope,
            writable: !0
        });
    };
    yr.prototype.toString = function() {
        return this.objId + " 0 R";
    }, yr.prototype.putStream = function() {
        var t = this.getKeyValueListForStream();
        this.scope.internal.putStream({
            data: this.stream,
            additionalKeyValues: t,
            objectId: this.objId
        }), this.scope.internal.out("endobj");
    }, yr.prototype.getKeyValueListForStream = function() {
        var t = [], A = Object.getOwnPropertyNames(this).filter(function(i) {
            return i != "content" && i != "appearanceStreamContent" && i != "scope" && i != "objId" && i.substring(0, 1) != "_";
        });
        for(var e in A)if (Object.getOwnPropertyDescriptor(this, A[e]).configurable === !1) {
            var r = A[e], n = this[r];
            n && (Array.isArray(n) ? t.push({
                key: r,
                value: uB(n, this.objId, this.scope)
            }) : n instanceof yr ? (n.scope = this.scope, t.push({
                key: r,
                value: n.objId + " 0 R"
            })) : typeof n != "function" && t.push({
                key: r,
                value: n
            }));
        }
        return t;
    };
    var lB = function() {
        yr.call(this), Object.defineProperty(this, "Type", {
            value: "/XObject",
            configurable: !1,
            writable: !0
        }), Object.defineProperty(this, "Subtype", {
            value: "/Form",
            configurable: !1,
            writable: !0
        }), Object.defineProperty(this, "FormType", {
            value: 1,
            configurable: !1,
            writable: !0
        });
        var t, A = [];
        Object.defineProperty(this, "BBox", {
            configurable: !1,
            get: function() {
                return A;
            },
            set: function(e) {
                A = e;
            }
        }), Object.defineProperty(this, "Resources", {
            value: "2 0 R",
            configurable: !1,
            writable: !0
        }), Object.defineProperty(this, "stream", {
            enumerable: !1,
            configurable: !0,
            set: function(e) {
                t = e.trim();
            },
            get: function() {
                return t || null;
            }
        });
    };
    Et(lB, yr);
    var fB = function() {
        yr.call(this);
        var t, A = [];
        Object.defineProperty(this, "Kids", {
            enumerable: !1,
            configurable: !0,
            get: function() {
                return A.length > 0 ? A : void 0;
            }
        }), Object.defineProperty(this, "Fields", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return A;
            }
        }), Object.defineProperty(this, "DA", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                if (t) {
                    var e = function(r) {
                        return r;
                    };
                    return this.scope && (e = this.scope.internal.getEncryptor(this.objId)), "(" + Gn(e(t)) + ")";
                }
            },
            set: function(e) {
                t = e;
            }
        });
    };
    Et(fB, yr);
    var ur = function t() {
        yr.call(this);
        var A = 4;
        Object.defineProperty(this, "F", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return A;
            },
            set: function(Q) {
                if (isNaN(Q)) throw new Error('Invalid value "' + Q + '" for attribute F supplied.');
                A = Q;
            }
        }), Object.defineProperty(this, "showWhenPrinted", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(A, 3);
            },
            set: function(Q) {
                Q ? this.F = ke(A, 3) : this.F = Re(A, 3);
            }
        });
        var e = 0;
        Object.defineProperty(this, "Ff", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return e;
            },
            set: function(Q) {
                if (isNaN(Q)) throw new Error('Invalid value "' + Q + '" for attribute Ff supplied.');
                e = Q;
            }
        });
        var r = [];
        Object.defineProperty(this, "Rect", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                if (r.length !== 0) return r;
            },
            set: function(Q) {
                r = Q !== void 0 ? Q : [];
            }
        }), Object.defineProperty(this, "x", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !r || isNaN(r[0]) ? 0 : r[0];
            },
            set: function(Q) {
                r[0] = Q;
            }
        }), Object.defineProperty(this, "y", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !r || isNaN(r[1]) ? 0 : r[1];
            },
            set: function(Q) {
                r[1] = Q;
            }
        }), Object.defineProperty(this, "width", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !r || isNaN(r[2]) ? 0 : r[2];
            },
            set: function(Q) {
                r[2] = Q;
            }
        }), Object.defineProperty(this, "height", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !r || isNaN(r[3]) ? 0 : r[3];
            },
            set: function(Q) {
                r[3] = Q;
            }
        });
        var n = "";
        Object.defineProperty(this, "FT", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return n;
            },
            set: function(Q) {
                switch(Q){
                    case "/Btn":
                    case "/Tx":
                    case "/Ch":
                    case "/Sig":
                        n = Q;
                        break;
                    default:
                        throw new Error('Invalid value "' + Q + '" for attribute FT supplied.');
                }
            }
        });
        var i = null;
        Object.defineProperty(this, "T", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                if (!i || i.length < 1) {
                    if (this instanceof Lo) return;
                    i = "FieldObject" + t.FieldNum++;
                }
                var Q = function(x) {
                    return x;
                };
                return this.scope && (Q = this.scope.internal.getEncryptor(this.objId)), "(" + Gn(Q(i)) + ")";
            },
            set: function(Q) {
                i = Q.toString();
            }
        }), Object.defineProperty(this, "fieldName", {
            configurable: !0,
            enumerable: !0,
            get: function() {
                return i;
            },
            set: function(Q) {
                i = Q;
            }
        });
        var s = "helvetica";
        Object.defineProperty(this, "fontName", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return s;
            },
            set: function(Q) {
                s = Q;
            }
        });
        var c = "normal";
        Object.defineProperty(this, "fontStyle", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return c;
            },
            set: function(Q) {
                c = Q;
            }
        });
        var u = 0;
        Object.defineProperty(this, "fontSize", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return u;
            },
            set: function(Q) {
                u = Q;
            }
        });
        var h = void 0;
        Object.defineProperty(this, "maxFontSize", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return h === void 0 ? 50 / Ju : h;
            },
            set: function(Q) {
                h = Q;
            }
        });
        var g = "black";
        Object.defineProperty(this, "color", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return g;
            },
            set: function(Q) {
                g = Q;
            }
        });
        var d = "/F1 0 Tf 0 g";
        Object.defineProperty(this, "DA", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                if (!(!d || this instanceof Lo || this instanceof Rn)) return tu(d, this.objId, this.scope);
            },
            set: function(Q) {
                Q = Q.toString(), d = Q;
            }
        });
        var w = null;
        Object.defineProperty(this, "DV", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                if (w) return this instanceof et ? w : tu(w, this.objId, this.scope);
            },
            set: function(Q) {
                Q = Q.toString(), w = this instanceof et ? Q : Q.substr(0, 1) === "(" ? yi(Q.substr(1, Q.length - 2)) : yi(Q);
            }
        }), Object.defineProperty(this, "defaultValue", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return this instanceof et ? yi(w.substr(1, w.length - 1)) : w;
            },
            set: function(Q) {
                Q = Q.toString(), w = this instanceof et ? "/" + Q : Q;
            }
        });
        var B = null;
        Object.defineProperty(this, "_V", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                if (B) return B;
            },
            set: function(Q) {
                this.V = Q;
            }
        }), Object.defineProperty(this, "V", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                if (B) return this instanceof et ? B : tu(B, this.objId, this.scope);
            },
            set: function(Q) {
                Q = Q.toString(), B = this instanceof et ? Q : Q.substr(0, 1) === "(" ? yi(Q.substr(1, Q.length - 2)) : yi(Q);
            }
        }), Object.defineProperty(this, "value", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return this instanceof et ? yi(B.substr(1, B.length - 1)) : B;
            },
            set: function(Q) {
                Q = Q.toString(), B = this instanceof et ? "/" + Q : Q;
            }
        }), Object.defineProperty(this, "hasAnnotation", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return this.Rect;
            }
        }), Object.defineProperty(this, "Type", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return this.hasAnnotation ? "/Annot" : null;
            }
        }), Object.defineProperty(this, "Subtype", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return this.hasAnnotation ? "/Widget" : null;
            }
        });
        var L, U = !1;
        Object.defineProperty(this, "hasAppearanceStream", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return U;
            },
            set: function(Q) {
                Q = !!Q, U = Q;
            }
        }), Object.defineProperty(this, "page", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                if (L) return L;
            },
            set: function(Q) {
                L = Q;
            }
        }), Object.defineProperty(this, "readOnly", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 1);
            },
            set: function(Q) {
                Q ? this.Ff = ke(this.Ff, 1) : this.Ff = Re(this.Ff, 1);
            }
        }), Object.defineProperty(this, "required", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 2);
            },
            set: function(Q) {
                Q ? this.Ff = ke(this.Ff, 2) : this.Ff = Re(this.Ff, 2);
            }
        }), Object.defineProperty(this, "noExport", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 3);
            },
            set: function(Q) {
                Q ? this.Ff = ke(this.Ff, 3) : this.Ff = Re(this.Ff, 3);
            }
        });
        var N = null;
        Object.defineProperty(this, "Q", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                if (N !== null) return N;
            },
            set: function(Q) {
                if ([
                    0,
                    1,
                    2
                ].indexOf(Q) === -1) throw new Error('Invalid value "' + Q + '" for attribute Q supplied.');
                N = Q;
            }
        }), Object.defineProperty(this, "textAlign", {
            get: function() {
                var Q;
                switch(N){
                    case 0:
                    default:
                        Q = "left";
                        break;
                    case 1:
                        Q = "center";
                        break;
                    case 2:
                        Q = "right";
                }
                return Q;
            },
            configurable: !0,
            enumerable: !0,
            set: function(Q) {
                switch(Q){
                    case "right":
                    case 2:
                        N = 2;
                        break;
                    case "center":
                    case 1:
                        N = 1;
                        break;
                    case "left":
                    case 0:
                    default:
                        N = 0;
                }
            }
        });
    };
    Et(ur, yr);
    var _i = function() {
        ur.call(this), this.FT = "/Ch", this.V = "()", this.fontName = "zapfdingbats";
        var t = 0;
        Object.defineProperty(this, "TI", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return t;
            },
            set: function(e) {
                t = e;
            }
        }), Object.defineProperty(this, "topIndex", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return t;
            },
            set: function(e) {
                t = e;
            }
        });
        var A = [];
        Object.defineProperty(this, "Opt", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return uB(A, this.objId, this.scope);
            },
            set: function(e) {
                var r, n;
                n = [], typeof (r = e) == "string" && (n = function(i, s, c) {
                    c || (c = 1);
                    for(var u, h = []; u = s.exec(i);)h.push(u[c]);
                    return h;
                }(r, /\((.*?)\)/g)), A = n;
            }
        }), this.getOptions = function() {
            return A;
        }, this.setOptions = function(e) {
            A = e, this.sort && A.sort();
        }, this.addOption = function(e) {
            e = (e = e || "").toString(), A.push(e), this.sort && A.sort();
        }, this.removeOption = function(e, r) {
            for(r = r || !1, e = (e = e || "").toString(); A.indexOf(e) !== -1 && (A.splice(A.indexOf(e), 1), r !== !1););
        }, Object.defineProperty(this, "combo", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 18);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 18) : this.Ff = Re(this.Ff, 18);
            }
        }), Object.defineProperty(this, "edit", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 19);
            },
            set: function(e) {
                this.combo === !0 && (e ? this.Ff = ke(this.Ff, 19) : this.Ff = Re(this.Ff, 19));
            }
        }), Object.defineProperty(this, "sort", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 20);
            },
            set: function(e) {
                e ? (this.Ff = ke(this.Ff, 20), A.sort()) : this.Ff = Re(this.Ff, 20);
            }
        }), Object.defineProperty(this, "multiSelect", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 22);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 22) : this.Ff = Re(this.Ff, 22);
            }
        }), Object.defineProperty(this, "doNotSpellCheck", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 23);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 23) : this.Ff = Re(this.Ff, 23);
            }
        }), Object.defineProperty(this, "commitOnSelChange", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 27);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 27) : this.Ff = Re(this.Ff, 27);
            }
        }), this.hasAppearanceStream = !1;
    };
    Et(_i, ur);
    var Di = function() {
        _i.call(this), this.fontName = "helvetica", this.combo = !1;
    };
    Et(Di, _i);
    var Ti = function() {
        Di.call(this), this.combo = !0;
    };
    Et(Ti, Di);
    var lo = function() {
        Ti.call(this), this.edit = !0;
    };
    Et(lo, Ti);
    var et = function() {
        ur.call(this), this.FT = "/Btn", Object.defineProperty(this, "noToggleToOff", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 15);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 15) : this.Ff = Re(this.Ff, 15);
            }
        }), Object.defineProperty(this, "radio", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 16);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 16) : this.Ff = Re(this.Ff, 16);
            }
        }), Object.defineProperty(this, "pushButton", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 17);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 17) : this.Ff = Re(this.Ff, 17);
            }
        }), Object.defineProperty(this, "radioIsUnison", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 26);
            },
            set: function(e) {
                e ? this.Ff = ke(this.Ff, 26) : this.Ff = Re(this.Ff, 26);
            }
        });
        var t, A = {};
        Object.defineProperty(this, "MK", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                var e = function(i) {
                    return i;
                };
                if (this.scope && (e = this.scope.internal.getEncryptor(this.objId)), Object.keys(A).length !== 0) {
                    var r, n = [];
                    for(r in n.push("<<"), A)n.push("/" + r + " (" + Gn(e(A[r])) + ")");
                    return n.push(">>"), n.join(`
`);
                }
            },
            set: function(e) {
                de(e) === "object" && (A = e);
            }
        }), Object.defineProperty(this, "caption", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return A.CA || "";
            },
            set: function(e) {
                typeof e == "string" && (A.CA = e);
            }
        }), Object.defineProperty(this, "AS", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return t;
            },
            set: function(e) {
                t = e;
            }
        }), Object.defineProperty(this, "appearanceState", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return t.substr(1, t.length - 1);
            },
            set: function(e) {
                t = "/" + e;
            }
        });
    };
    Et(et, ur);
    var fo = function() {
        et.call(this), this.pushButton = !0;
    };
    Et(fo, et);
    var Oi = function() {
        et.call(this), this.radio = !0, this.pushButton = !1;
        var t = [];
        Object.defineProperty(this, "Kids", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return t;
            },
            set: function(A) {
                t = A !== void 0 ? A : [];
            }
        });
    };
    Et(Oi, et);
    var Lo = function() {
        var t, A;
        ur.call(this), Object.defineProperty(this, "Parent", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return t;
            },
            set: function(n) {
                t = n;
            }
        }), Object.defineProperty(this, "optionName", {
            enumerable: !1,
            configurable: !0,
            get: function() {
                return A;
            },
            set: function(n) {
                A = n;
            }
        });
        var e, r = {};
        Object.defineProperty(this, "MK", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                var n = function(c) {
                    return c;
                };
                this.scope && (n = this.scope.internal.getEncryptor(this.objId));
                var i, s = [];
                for(i in s.push("<<"), r)s.push("/" + i + " (" + Gn(n(r[i])) + ")");
                return s.push(">>"), s.join(`
`);
            },
            set: function(n) {
                de(n) === "object" && (r = n);
            }
        }), Object.defineProperty(this, "caption", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return r.CA || "";
            },
            set: function(n) {
                typeof n == "string" && (r.CA = n);
            }
        }), Object.defineProperty(this, "AS", {
            enumerable: !1,
            configurable: !1,
            get: function() {
                return e;
            },
            set: function(n) {
                e = n;
            }
        }), Object.defineProperty(this, "appearanceState", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return e.substr(1, e.length - 1);
            },
            set: function(n) {
                e = "/" + n;
            }
        }), this.caption = "l", this.appearanceState = "Off", this._AppearanceType = OA.RadioButton.Circle, this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(this.optionName);
    };
    Et(Lo, ur), Oi.prototype.setAppearance = function(t) {
        if (!("createAppearanceStream" in t) || !("getCA" in t)) throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");
        for(var A in this.Kids)if (this.Kids.hasOwnProperty(A)) {
            var e = this.Kids[A];
            e.appearanceStreamContent = t.createAppearanceStream(e.optionName), e.caption = t.getCA();
        }
    }, Oi.prototype.createOption = function(t) {
        var A = new Lo;
        return A.Parent = this, A.optionName = t, this.Kids.push(A), w5.call(this.scope, A), A;
    };
    var ho = function() {
        et.call(this), this.fontName = "zapfdingbats", this.caption = "3", this.appearanceState = "On", this.value = "On", this.textAlign = "center", this.appearanceStreamContent = OA.CheckBox.createAppearanceStream();
    };
    Et(ho, et);
    var Rn = function() {
        ur.call(this), this.FT = "/Tx", Object.defineProperty(this, "multiline", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 13);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 13) : this.Ff = Re(this.Ff, 13);
            }
        }), Object.defineProperty(this, "fileSelect", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 21);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 21) : this.Ff = Re(this.Ff, 21);
            }
        }), Object.defineProperty(this, "doNotSpellCheck", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 23);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 23) : this.Ff = Re(this.Ff, 23);
            }
        }), Object.defineProperty(this, "doNotScroll", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 24);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 24) : this.Ff = Re(this.Ff, 24);
            }
        }), Object.defineProperty(this, "comb", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 25);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 25) : this.Ff = Re(this.Ff, 25);
            }
        }), Object.defineProperty(this, "richText", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 26);
            },
            set: function(A) {
                A ? this.Ff = ke(this.Ff, 26) : this.Ff = Re(this.Ff, 26);
            }
        });
        var t = null;
        Object.defineProperty(this, "MaxLen", {
            enumerable: !0,
            configurable: !1,
            get: function() {
                return t;
            },
            set: function(A) {
                t = A;
            }
        }), Object.defineProperty(this, "maxLength", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return t;
            },
            set: function(A) {
                Number.isInteger(A) && (t = A);
            }
        }), Object.defineProperty(this, "hasAppearanceStream", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return this.V || this.DV;
            }
        });
    };
    Et(Rn, ur);
    var Bo = function() {
        Rn.call(this), Object.defineProperty(this, "password", {
            enumerable: !0,
            configurable: !0,
            get: function() {
                return !!Ke(this.Ff, 14);
            },
            set: function(t) {
                t ? this.Ff = ke(this.Ff, 14) : this.Ff = Re(this.Ff, 14);
            }
        }), this.password = !0;
    };
    Et(Bo, Rn);
    var OA = {
        CheckBox: {
            createAppearanceStream: function() {
                return {
                    N: {
                        On: OA.CheckBox.YesNormal
                    },
                    D: {
                        On: OA.CheckBox.YesPushDown,
                        Off: OA.CheckBox.OffPushDown
                    }
                };
            },
            YesPushDown: function(t) {
                var A = Ur(t);
                A.scope = t.scope;
                var e = [], r = t.scope.internal.getFont(t.fontName, t.fontStyle).id, n = t.scope.__private__.encodeColorString(t.color), i = Ou(t, t.caption);
                return e.push("0.749023 g"), e.push("0 0 " + YA(OA.internal.getWidth(t)) + " " + YA(OA.internal.getHeight(t)) + " re"), e.push("f"), e.push("BMC"), e.push("q"), e.push("0 0 1 rg"), e.push("/" + r + " " + YA(i.fontSize) + " Tf " + n), e.push("BT"), e.push(i.text), e.push("ET"), e.push("Q"), e.push("EMC"), A.stream = e.join(`
`), A;
            },
            YesNormal: function(t) {
                var A = Ur(t);
                A.scope = t.scope;
                var e = t.scope.internal.getFont(t.fontName, t.fontStyle).id, r = t.scope.__private__.encodeColorString(t.color), n = [], i = OA.internal.getHeight(t), s = OA.internal.getWidth(t), c = Ou(t, t.caption);
                return n.push("1 g"), n.push("0 0 " + YA(s) + " " + YA(i) + " re"), n.push("f"), n.push("q"), n.push("0 0 1 rg"), n.push("0 0 " + YA(s - 1) + " " + YA(i - 1) + " re"), n.push("W"), n.push("n"), n.push("0 g"), n.push("BT"), n.push("/" + e + " " + YA(c.fontSize) + " Tf " + r), n.push(c.text), n.push("ET"), n.push("Q"), A.stream = n.join(`
`), A;
            },
            OffPushDown: function(t) {
                var A = Ur(t);
                A.scope = t.scope;
                var e = [];
                return e.push("0.749023 g"), e.push("0 0 " + YA(OA.internal.getWidth(t)) + " " + YA(OA.internal.getHeight(t)) + " re"), e.push("f"), A.stream = e.join(`
`), A;
            }
        },
        RadioButton: {
            Circle: {
                createAppearanceStream: function(t) {
                    var A = {
                        D: {
                            Off: OA.RadioButton.Circle.OffPushDown
                        },
                        N: {}
                    };
                    return A.N[t] = OA.RadioButton.Circle.YesNormal, A.D[t] = OA.RadioButton.Circle.YesPushDown, A;
                },
                getCA: function() {
                    return "l";
                },
                YesNormal: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = [], r = OA.internal.getWidth(t) <= OA.internal.getHeight(t) ? OA.internal.getWidth(t) / 4 : OA.internal.getHeight(t) / 4;
                    r = Number((.9 * r).toFixed(5));
                    var n = OA.internal.Bezier_C, i = Number((r * n).toFixed(5));
                    return e.push("q"), e.push("1 0 0 1 " + cn(OA.internal.getWidth(t) / 2) + " " + cn(OA.internal.getHeight(t) / 2) + " cm"), e.push(r + " 0 m"), e.push(r + " " + i + " " + i + " " + r + " 0 " + r + " c"), e.push("-" + i + " " + r + " -" + r + " " + i + " -" + r + " 0 c"), e.push("-" + r + " -" + i + " -" + i + " -" + r + " 0 -" + r + " c"), e.push(i + " -" + r + " " + r + " -" + i + " " + r + " 0 c"), e.push("f"), e.push("Q"), A.stream = e.join(`
`), A;
                },
                YesPushDown: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = [], r = OA.internal.getWidth(t) <= OA.internal.getHeight(t) ? OA.internal.getWidth(t) / 4 : OA.internal.getHeight(t) / 4;
                    r = Number((.9 * r).toFixed(5));
                    var n = Number((2 * r).toFixed(5)), i = Number((n * OA.internal.Bezier_C).toFixed(5)), s = Number((r * OA.internal.Bezier_C).toFixed(5));
                    return e.push("0.749023 g"), e.push("q"), e.push("1 0 0 1 " + cn(OA.internal.getWidth(t) / 2) + " " + cn(OA.internal.getHeight(t) / 2) + " cm"), e.push(n + " 0 m"), e.push(n + " " + i + " " + i + " " + n + " 0 " + n + " c"), e.push("-" + i + " " + n + " -" + n + " " + i + " -" + n + " 0 c"), e.push("-" + n + " -" + i + " -" + i + " -" + n + " 0 -" + n + " c"), e.push(i + " -" + n + " " + n + " -" + i + " " + n + " 0 c"), e.push("f"), e.push("Q"), e.push("0 g"), e.push("q"), e.push("1 0 0 1 " + cn(OA.internal.getWidth(t) / 2) + " " + cn(OA.internal.getHeight(t) / 2) + " cm"), e.push(r + " 0 m"), e.push(r + " " + s + " " + s + " " + r + " 0 " + r + " c"), e.push("-" + s + " " + r + " -" + r + " " + s + " -" + r + " 0 c"), e.push("-" + r + " -" + s + " -" + s + " -" + r + " 0 -" + r + " c"), e.push(s + " -" + r + " " + r + " -" + s + " " + r + " 0 c"), e.push("f"), e.push("Q"), A.stream = e.join(`
`), A;
                },
                OffPushDown: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = [], r = OA.internal.getWidth(t) <= OA.internal.getHeight(t) ? OA.internal.getWidth(t) / 4 : OA.internal.getHeight(t) / 4;
                    r = Number((.9 * r).toFixed(5));
                    var n = Number((2 * r).toFixed(5)), i = Number((n * OA.internal.Bezier_C).toFixed(5));
                    return e.push("0.749023 g"), e.push("q"), e.push("1 0 0 1 " + cn(OA.internal.getWidth(t) / 2) + " " + cn(OA.internal.getHeight(t) / 2) + " cm"), e.push(n + " 0 m"), e.push(n + " " + i + " " + i + " " + n + " 0 " + n + " c"), e.push("-" + i + " " + n + " -" + n + " " + i + " -" + n + " 0 c"), e.push("-" + n + " -" + i + " -" + i + " -" + n + " 0 -" + n + " c"), e.push(i + " -" + n + " " + n + " -" + i + " " + n + " 0 c"), e.push("f"), e.push("Q"), A.stream = e.join(`
`), A;
                }
            },
            Cross: {
                createAppearanceStream: function(t) {
                    var A = {
                        D: {
                            Off: OA.RadioButton.Cross.OffPushDown
                        },
                        N: {}
                    };
                    return A.N[t] = OA.RadioButton.Cross.YesNormal, A.D[t] = OA.RadioButton.Cross.YesPushDown, A;
                },
                getCA: function() {
                    return "8";
                },
                YesNormal: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = [], r = OA.internal.calculateCross(t);
                    return e.push("q"), e.push("1 1 " + YA(OA.internal.getWidth(t) - 2) + " " + YA(OA.internal.getHeight(t) - 2) + " re"), e.push("W"), e.push("n"), e.push(YA(r.x1.x) + " " + YA(r.x1.y) + " m"), e.push(YA(r.x2.x) + " " + YA(r.x2.y) + " l"), e.push(YA(r.x4.x) + " " + YA(r.x4.y) + " m"), e.push(YA(r.x3.x) + " " + YA(r.x3.y) + " l"), e.push("s"), e.push("Q"), A.stream = e.join(`
`), A;
                },
                YesPushDown: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = OA.internal.calculateCross(t), r = [];
                    return r.push("0.749023 g"), r.push("0 0 " + YA(OA.internal.getWidth(t)) + " " + YA(OA.internal.getHeight(t)) + " re"), r.push("f"), r.push("q"), r.push("1 1 " + YA(OA.internal.getWidth(t) - 2) + " " + YA(OA.internal.getHeight(t) - 2) + " re"), r.push("W"), r.push("n"), r.push(YA(e.x1.x) + " " + YA(e.x1.y) + " m"), r.push(YA(e.x2.x) + " " + YA(e.x2.y) + " l"), r.push(YA(e.x4.x) + " " + YA(e.x4.y) + " m"), r.push(YA(e.x3.x) + " " + YA(e.x3.y) + " l"), r.push("s"), r.push("Q"), A.stream = r.join(`
`), A;
                },
                OffPushDown: function(t) {
                    var A = Ur(t);
                    A.scope = t.scope;
                    var e = [];
                    return e.push("0.749023 g"), e.push("0 0 " + YA(OA.internal.getWidth(t)) + " " + YA(OA.internal.getHeight(t)) + " re"), e.push("f"), A.stream = e.join(`
`), A;
                }
            }
        },
        createDefaultAppearanceStream: function(t) {
            var A = t.scope.internal.getFont(t.fontName, t.fontStyle).id, e = t.scope.__private__.encodeColorString(t.color);
            return "/" + A + " " + t.fontSize + " Tf " + e;
        }
    };
    OA.internal = {
        Bezier_C: .551915024494,
        calculateCross: function(t) {
            var A = OA.internal.getWidth(t), e = OA.internal.getHeight(t), r = Math.min(A, e);
            return {
                x1: {
                    x: (A - r) / 2,
                    y: (e - r) / 2 + r
                },
                x2: {
                    x: (A - r) / 2 + r,
                    y: (e - r) / 2
                },
                x3: {
                    x: (A - r) / 2,
                    y: (e - r) / 2
                },
                x4: {
                    x: (A - r) / 2 + r,
                    y: (e - r) / 2 + r
                }
            };
        }
    }, OA.internal.getWidth = function(t) {
        var A = 0;
        return de(t) === "object" && (A = _f(t.Rect[2])), A;
    }, OA.internal.getHeight = function(t) {
        var A = 0;
        return de(t) === "object" && (A = _f(t.Rect[3])), A;
    };
    var w5 = _e.addField = function(t) {
        if (p5(this, t), !(t instanceof ur)) throw new Error("Invalid argument passed to jsPDF.addField.");
        var A;
        return (A = t).scope.internal.acroformPlugin.printedOut && (A.scope.internal.acroformPlugin.printedOut = !1, A.scope.internal.acroformPlugin.acroFormDictionaryRoot = null), A.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(A), t.page = t.scope.internal.getCurrentPageInfo().pageNumber, this;
    };
    _e.AcroFormChoiceField = _i, _e.AcroFormListBox = Di, _e.AcroFormComboBox = Ti, _e.AcroFormEditBox = lo, _e.AcroFormButton = et, _e.AcroFormPushButton = fo, _e.AcroFormRadioButton = Oi, _e.AcroFormCheckBox = ho, _e.AcroFormTextField = Rn, _e.AcroFormPasswordField = Bo, _e.AcroFormAppearance = OA, _e.AcroForm = {
        ChoiceField: _i,
        ListBox: Di,
        ComboBox: Ti,
        EditBox: lo,
        Button: et,
        PushButton: fo,
        RadioButton: Oi,
        CheckBox: ho,
        TextField: Rn,
        PasswordField: Bo,
        Appearance: OA
    }, GA.AcroForm = {
        ChoiceField: _i,
        ListBox: Di,
        ComboBox: Ti,
        EditBox: lo,
        Button: et,
        PushButton: fo,
        RadioButton: Oi,
        CheckBox: ho,
        TextField: Rn,
        PasswordField: Bo,
        Appearance: OA
    };
    GA.AcroForm;
    function hB(t) {
        return t.reduce(function(A, e, r) {
            return A[e] = r, A;
        }, {});
    }
    (function(t) {
        t.__addimage__ = {};
        var A = "UNKNOWN", e = {
            PNG: [
                [
                    137,
                    80,
                    78,
                    71
                ]
            ],
            TIFF: [
                [
                    77,
                    77,
                    0,
                    42
                ],
                [
                    73,
                    73,
                    42,
                    0
                ]
            ],
            JPEG: [
                [
                    255,
                    216,
                    255,
                    224,
                    void 0,
                    void 0,
                    74,
                    70,
                    73,
                    70,
                    0
                ],
                [
                    255,
                    216,
                    255,
                    225,
                    void 0,
                    void 0,
                    69,
                    120,
                    105,
                    102,
                    0,
                    0
                ],
                [
                    255,
                    216,
                    255,
                    219
                ],
                [
                    255,
                    216,
                    255,
                    238
                ]
            ],
            JPEG2000: [
                [
                    0,
                    0,
                    0,
                    12,
                    106,
                    80,
                    32,
                    32
                ]
            ],
            GIF87a: [
                [
                    71,
                    73,
                    70,
                    56,
                    55,
                    97
                ]
            ],
            GIF89a: [
                [
                    71,
                    73,
                    70,
                    56,
                    57,
                    97
                ]
            ],
            WEBP: [
                [
                    82,
                    73,
                    70,
                    70,
                    void 0,
                    void 0,
                    void 0,
                    void 0,
                    87,
                    69,
                    66,
                    80
                ]
            ],
            BMP: [
                [
                    66,
                    77
                ],
                [
                    66,
                    65
                ],
                [
                    67,
                    73
                ],
                [
                    67,
                    80
                ],
                [
                    73,
                    67
                ],
                [
                    80,
                    84
                ]
            ]
        }, r = t.__addimage__.getImageFileTypeByImageData = function(I, H) {
            var K, M, oA, iA, cA, eA = A;
            if ((H = H || A) === "RGBA" || I.data !== void 0 && I.data instanceof Uint8ClampedArray && "height" in I && "width" in I) return "RGBA";
            if ($(I)) for(cA in e)for(oA = e[cA], K = 0; K < oA.length; K += 1){
                for(iA = !0, M = 0; M < oA[K].length; M += 1)if (oA[K][M] !== void 0 && oA[K][M] !== I[M]) {
                    iA = !1;
                    break;
                }
                if (iA === !0) {
                    eA = cA;
                    break;
                }
            }
            else for(cA in e)for(oA = e[cA], K = 0; K < oA.length; K += 1){
                for(iA = !0, M = 0; M < oA[K].length; M += 1)if (oA[K][M] !== void 0 && oA[K][M] !== I.charCodeAt(M)) {
                    iA = !1;
                    break;
                }
                if (iA === !0) {
                    eA = cA;
                    break;
                }
            }
            return eA === A && H !== A && (eA = H), eA;
        }, n = function I(H) {
            for(var K = this.internal.write, M = this.internal.putStream, oA = (0, this.internal.getFilters)(); oA.indexOf("FlateEncode") !== -1;)oA.splice(oA.indexOf("FlateEncode"), 1);
            H.objectId = this.internal.newObject();
            var iA = [];
            if (iA.push({
                key: "Type",
                value: "/XObject"
            }), iA.push({
                key: "Subtype",
                value: "/Image"
            }), iA.push({
                key: "Width",
                value: H.width
            }), iA.push({
                key: "Height",
                value: H.height
            }), H.colorSpace === N.INDEXED ? iA.push({
                key: "ColorSpace",
                value: "[/Indexed /DeviceRGB " + (H.palette.length / 3 - 1) + " " + ("sMask" in H && H.sMask !== void 0 ? H.objectId + 2 : H.objectId + 1) + " 0 R]"
            }) : (iA.push({
                key: "ColorSpace",
                value: "/" + H.colorSpace
            }), H.colorSpace === N.DEVICE_CMYK && iA.push({
                key: "Decode",
                value: "[1 0 1 0 1 0 1 0]"
            })), iA.push({
                key: "BitsPerComponent",
                value: H.bitsPerComponent
            }), "decodeParameters" in H && H.decodeParameters !== void 0 && iA.push({
                key: "DecodeParms",
                value: "<<" + H.decodeParameters + ">>"
            }), "transparency" in H && Array.isArray(H.transparency)) {
                for(var cA = "", eA = 0, lA = H.transparency.length; eA < lA; eA++)cA += H.transparency[eA] + " " + H.transparency[eA] + " ";
                iA.push({
                    key: "Mask",
                    value: "[" + cA + "]"
                });
            }
            H.sMask !== void 0 && iA.push({
                key: "SMask",
                value: H.objectId + 1 + " 0 R"
            });
            var hA = H.filter !== void 0 ? [
                "/" + H.filter
            ] : void 0;
            if (M({
                data: H.data,
                additionalKeyValues: iA,
                alreadyAppliedFilters: hA,
                objectId: H.objectId
            }), K("endobj"), "sMask" in H && H.sMask !== void 0) {
                var UA = "/Predictor " + H.predictor + " /Colors 1 /BitsPerComponent " + H.bitsPerComponent + " /Columns " + H.width, y = {
                    width: H.width,
                    height: H.height,
                    colorSpace: "DeviceGray",
                    bitsPerComponent: H.bitsPerComponent,
                    decodeParameters: UA,
                    data: H.sMask
                };
                "filter" in H && (y.filter = H.filter), I.call(this, y);
            }
            if (H.colorSpace === N.INDEXED) {
                var _ = this.internal.newObject();
                M({
                    data: O(new Uint8Array(H.palette)),
                    objectId: _
                }), K("endobj");
            }
        }, i = function() {
            var I = this.internal.collections.addImage_images;
            for(var H in I)n.call(this, I[H]);
        }, s = function() {
            var I, H = this.internal.collections.addImage_images, K = this.internal.write;
            for(var M in H)K("/I" + (I = H[M]).index, I.objectId, "0", "R");
        }, c = function() {
            this.internal.collections.addImage_images || (this.internal.collections.addImage_images = {}, this.internal.events.subscribe("putResources", i), this.internal.events.subscribe("putXobjectDict", s));
        }, u = function() {
            var I = this.internal.collections.addImage_images;
            return c.call(this), I;
        }, h = function() {
            return Object.keys(this.internal.collections.addImage_images).length;
        }, g = function(I) {
            return typeof t["process" + I.toUpperCase()] == "function";
        }, d = function(I) {
            return de(I) === "object" && I.nodeType === 1;
        }, w = function(I, H) {
            if (I.nodeName === "IMG" && I.hasAttribute("src")) {
                var K = "" + I.getAttribute("src");
                if (K.indexOf("data:image/") === 0) return Da(unescape(K).split("base64,").pop());
                var M = t.loadFile(K, !0);
                if (M !== void 0) return M;
            }
            if (I.nodeName === "CANVAS") {
                if (I.width === 0 || I.height === 0) throw new Error("Given canvas must have data. Canvas width: " + I.width + ", height: " + I.height);
                var oA;
                switch(H){
                    case "PNG":
                        oA = "image/png";
                        break;
                    case "WEBP":
                        oA = "image/webp";
                        break;
                    case "JPEG":
                    case "JPG":
                    default:
                        oA = "image/jpeg";
                }
                return Da(I.toDataURL(oA, 1).split("base64,").pop());
            }
        }, B = function(I) {
            var H = this.internal.collections.addImage_images;
            if (H) {
                for(var K in H)if (I === H[K].alias) return H[K];
            }
        }, L = function(I, H, K) {
            return I || H || (I = -96, H = -96), I < 0 && (I = -1 * K.width * 72 / I / this.internal.scaleFactor), H < 0 && (H = -1 * K.height * 72 / H / this.internal.scaleFactor), I === 0 && (I = H * K.width / K.height), H === 0 && (H = I * K.height / K.width), [
                I,
                H
            ];
        }, U = function(I, H, K, M, oA, iA) {
            var cA = L.call(this, K, M, oA), eA = this.internal.getCoordinateString, lA = this.internal.getVerticalCoordinateString, hA = u.call(this);
            if (K = cA[0], M = cA[1], hA[oA.index] = oA, iA) {
                iA *= Math.PI / 180;
                var UA = Math.cos(iA), y = Math.sin(iA), _ = function(k) {
                    return k.toFixed(4);
                }, T = [
                    _(UA),
                    _(y),
                    _(-1 * y),
                    _(UA),
                    0,
                    0,
                    "cm"
                ];
            }
            this.internal.write("q"), iA ? (this.internal.write([
                1,
                "0",
                "0",
                1,
                eA(I),
                lA(H + M),
                "cm"
            ].join(" ")), this.internal.write(T.join(" ")), this.internal.write([
                eA(K),
                "0",
                "0",
                eA(M),
                "0",
                "0",
                "cm"
            ].join(" "))) : this.internal.write([
                eA(K),
                "0",
                "0",
                eA(M),
                eA(I),
                lA(H + M),
                "cm"
            ].join(" ")), this.isAdvancedAPI() && this.internal.write([
                1,
                0,
                0,
                -1,
                0,
                0,
                "cm"
            ].join(" ")), this.internal.write("/I" + oA.index + " Do"), this.internal.write("Q");
        }, N = t.color_spaces = {
            DEVICE_RGB: "DeviceRGB",
            DEVICE_GRAY: "DeviceGray",
            DEVICE_CMYK: "DeviceCMYK",
            CAL_GREY: "CalGray",
            CAL_RGB: "CalRGB",
            LAB: "Lab",
            ICC_BASED: "ICCBased",
            INDEXED: "Indexed",
            PATTERN: "Pattern",
            SEPARATION: "Separation",
            DEVICE_N: "DeviceN"
        };
        t.decode = {
            DCT_DECODE: "DCTDecode",
            FLATE_DECODE: "FlateDecode",
            LZW_DECODE: "LZWDecode",
            JPX_DECODE: "JPXDecode",
            JBIG2_DECODE: "JBIG2Decode",
            ASCII85_DECODE: "ASCII85Decode",
            ASCII_HEX_DECODE: "ASCIIHexDecode",
            RUN_LENGTH_DECODE: "RunLengthDecode",
            CCITT_FAX_DECODE: "CCITTFaxDecode"
        };
        var Q = t.image_compression = {
            NONE: "NONE",
            FAST: "FAST",
            MEDIUM: "MEDIUM",
            SLOW: "SLOW"
        }, x = t.__addimage__.sHashCode = function(I) {
            var H, K, M = 0;
            if (typeof I == "string") for(K = I.length, H = 0; H < K; H++)M = (M << 5) - M + I.charCodeAt(H), M |= 0;
            else if ($(I)) for(K = I.byteLength / 2, H = 0; H < K; H++)M = (M << 5) - M + I[H], M |= 0;
            return M;
        }, R = t.__addimage__.validateStringAsBase64 = function(I) {
            (I = I || "").toString().trim();
            var H = !0;
            return I.length === 0 && (H = !1), I.length % 4 != 0 && (H = !1), /^[A-Za-z0-9+/]+$/.test(I.substr(0, I.length - 2)) === !1 && (H = !1), /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(I.substr(-2)) === !1 && (H = !1), H;
        }, Y = t.__addimage__.extractImageFromDataUrl = function(I) {
            if (I == null || !(I = I.trim()).startsWith("data:")) return null;
            var H = I.indexOf(",");
            return H < 0 ? null : I.substring(0, H).trim().endsWith("base64") ? I.substring(H + 1) : null;
        }, Z = t.__addimage__.supportsArrayBuffer = function() {
            return typeof ArrayBuffer < "u" && typeof Uint8Array < "u";
        };
        t.__addimage__.isArrayBuffer = function(I) {
            return Z() && I instanceof ArrayBuffer;
        };
        var $ = t.__addimage__.isArrayBufferView = function(I) {
            return Z() && typeof Uint32Array < "u" && (I instanceof Int8Array || I instanceof Uint8Array || typeof Uint8ClampedArray < "u" && I instanceof Uint8ClampedArray || I instanceof Int16Array || I instanceof Uint16Array || I instanceof Int32Array || I instanceof Uint32Array || I instanceof Float32Array || I instanceof Float64Array);
        }, J = t.__addimage__.binaryStringToUint8Array = function(I) {
            for(var H = I.length, K = new Uint8Array(H), M = 0; M < H; M++)K[M] = I.charCodeAt(M);
            return K;
        }, O = t.__addimage__.arrayBufferToBinaryString = function(I) {
            for(var H = "", K = $(I) ? I : new Uint8Array(I), M = 0; M < K.length; M += 8192)H += String.fromCharCode.apply(null, K.subarray(M, M + 8192));
            return H;
        };
        t.addImage = function() {
            var I, H, K, M, oA, iA, cA, eA, lA;
            if (typeof arguments[1] == "number" ? (H = A, K = arguments[1], M = arguments[2], oA = arguments[3], iA = arguments[4], cA = arguments[5], eA = arguments[6], lA = arguments[7]) : (H = arguments[1], K = arguments[2], M = arguments[3], oA = arguments[4], iA = arguments[5], cA = arguments[6], eA = arguments[7], lA = arguments[8]), de(I = arguments[0]) === "object" && !d(I) && "imageData" in I) {
                var hA = I;
                I = hA.imageData, H = hA.format || H || A, K = hA.x || K || 0, M = hA.y || M || 0, oA = hA.w || hA.width || oA, iA = hA.h || hA.height || iA, cA = hA.alias || cA, eA = hA.compression || eA, lA = hA.rotation || hA.angle || lA;
            }
            var UA = this.internal.getFilters();
            if (eA === void 0 && UA.indexOf("FlateEncode") !== -1 && (eA = "SLOW"), isNaN(K) || isNaN(M)) throw new Error("Invalid coordinates passed to jsPDF.addImage");
            c.call(this);
            var y = W.call(this, I, H, cA, eA);
            return U.call(this, K, M, oA, iA, y, lA), this;
        };
        var W = function(I, H, K, M) {
            var oA, iA, cA;
            if (typeof I == "string" && r(I) === A) {
                I = unescape(I);
                var eA = uA(I, !1);
                (eA !== "" || (eA = t.loadFile(I, !0)) !== void 0) && (I = eA);
            }
            if (d(I) && (I = w(I, H)), H = r(I, H), !g(H)) throw new Error("addImage does not support files of type '" + H + "', please ensure that a plugin for '" + H + "' support is added.");
            if (((cA = K) == null || cA.length === 0) && (K = function(lA) {
                return typeof lA == "string" || $(lA) ? x(lA) : $(lA.data) ? x(lA.data) : null;
            }(I)), (oA = B.call(this, K)) || (Z() && (I instanceof Uint8Array || H === "RGBA" || (iA = I, I = J(I))), oA = this["process" + H.toUpperCase()](I, h.call(this), K, function(lA) {
                return lA && typeof lA == "string" && (lA = lA.toUpperCase()), lA in t.image_compression ? lA : Q.NONE;
            }(M), iA)), !oA) throw new Error("An unknown error occurred whilst processing the image.");
            return oA;
        }, uA = t.__addimage__.convertBase64ToBinaryString = function(I, H) {
            H = typeof H != "boolean" || H;
            var K, M = "";
            if (typeof I == "string") {
                var oA;
                K = (oA = Y(I)) !== null && oA !== void 0 ? oA : I;
                try {
                    M = Da(K);
                } catch (iA) {
                    if (H) throw R(K) ? new Error("atob-Error in jsPDF.convertBase64ToBinaryString " + iA.message) : new Error("Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString ");
                }
            }
            return M;
        };
        t.getImageProperties = function(I) {
            var H, K, M = "";
            if (d(I) && (I = w(I)), typeof I == "string" && r(I) === A && ((M = uA(I, !1)) === "" && (M = t.loadFile(I) || ""), I = M), K = r(I), !g(K)) throw new Error("addImage does not support files of type '" + K + "', please ensure that a plugin for '" + K + "' support is added.");
            if (!Z() || I instanceof Uint8Array || (I = J(I)), !(H = this["process" + K.toUpperCase()](I))) throw new Error("An unknown error occurred whilst processing the image");
            return H.fileType = K, H;
        };
    })(GA.API), function(t) {
        var A = function(e) {
            if (e !== void 0 && e != "") return !0;
        };
        GA.API.events.push([
            "addPage",
            function(e) {
                this.internal.getPageInfo(e.pageNumber).pageContext.annotations = [];
            }
        ]), t.events.push([
            "putPage",
            function(e) {
                for(var r, n, i, s = this.internal.getCoordinateString, c = this.internal.getVerticalCoordinateString, u = this.internal.getPageInfoByObjId(e.objId), h = e.pageContext.annotations, g = !1, d = 0; d < h.length && !g; d++)switch((r = h[d]).type){
                    case "link":
                        (A(r.options.url) || A(r.options.pageNumber)) && (g = !0);
                        break;
                    case "reference":
                    case "text":
                    case "freetext":
                        g = !0;
                }
                if (g != 0) {
                    this.internal.write("/Annots [");
                    for(var w = 0; w < h.length; w++){
                        r = h[w];
                        var B = this.internal.pdfEscape, L = this.internal.getEncryptor(e.objId);
                        switch(r.type){
                            case "reference":
                                this.internal.write(" " + r.object.objId + " 0 R ");
                                break;
                            case "text":
                                var U = this.internal.newAdditionalObject(), N = this.internal.newAdditionalObject(), Q = this.internal.getEncryptor(U.objId), x = r.title || "Note";
                                i = "<</Type /Annot /Subtype /Text " + (n = "/Rect [" + s(r.bounds.x) + " " + c(r.bounds.y + r.bounds.h) + " " + s(r.bounds.x + r.bounds.w) + " " + c(r.bounds.y) + "] ") + "/Contents (" + B(Q(r.contents)) + ")", i += " /Popup " + N.objId + " 0 R", i += " /P " + u.objId + " 0 R", i += " /T (" + B(Q(x)) + ") >>", U.content = i;
                                var R = U.objId + " 0 R";
                                i = "<</Type /Annot /Subtype /Popup " + (n = "/Rect [" + s(r.bounds.x + 30) + " " + c(r.bounds.y + r.bounds.h) + " " + s(r.bounds.x + r.bounds.w + 30) + " " + c(r.bounds.y) + "] ") + " /Parent " + R, r.open && (i += " /Open true"), i += " >>", N.content = i, this.internal.write(U.objId, "0 R", N.objId, "0 R");
                                break;
                            case "freetext":
                                n = "/Rect [" + s(r.bounds.x) + " " + c(r.bounds.y) + " " + s(r.bounds.x + r.bounds.w) + " " + c(r.bounds.y + r.bounds.h) + "] ";
                                var Y = r.color || "#000000";
                                i = "<</Type /Annot /Subtype /FreeText " + n + "/Contents (" + B(L(r.contents)) + ")", i += " /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#" + Y + ")", i += " /Border [0 0 0]", i += " >>", this.internal.write(i);
                                break;
                            case "link":
                                if (r.options.name) {
                                    var Z = this.annotations._nameMap[r.options.name];
                                    r.options.pageNumber = Z.page, r.options.top = Z.y;
                                } else r.options.top || (r.options.top = 0);
                                if (n = "/Rect [" + r.finalBounds.x + " " + r.finalBounds.y + " " + r.finalBounds.w + " " + r.finalBounds.h + "] ", i = "", r.options.url) i = "<</Type /Annot /Subtype /Link " + n + "/Border [0 0 0] /A <</S /URI /URI (" + B(L(r.options.url)) + ") >>";
                                else if (r.options.pageNumber) switch(i = "<</Type /Annot /Subtype /Link " + n + "/Border [0 0 0] /Dest [" + this.internal.getPageInfo(r.options.pageNumber).objId + " 0 R", r.options.magFactor = r.options.magFactor || "XYZ", r.options.magFactor){
                                    case "Fit":
                                        i += " /Fit]";
                                        break;
                                    case "FitH":
                                        i += " /FitH " + r.options.top + "]";
                                        break;
                                    case "FitV":
                                        r.options.left = r.options.left || 0, i += " /FitV " + r.options.left + "]";
                                        break;
                                    case "XYZ":
                                    default:
                                        var $ = c(r.options.top);
                                        r.options.left = r.options.left || 0, r.options.zoom === void 0 && (r.options.zoom = 0), i += " /XYZ " + r.options.left + " " + $ + " " + r.options.zoom + "]";
                                }
                                i != "" && (i += " >>", this.internal.write(i));
                        }
                    }
                    this.internal.write("]");
                }
            }
        ]), t.createAnnotation = function(e) {
            var r = this.internal.getCurrentPageInfo();
            switch(e.type){
                case "link":
                    this.link(e.bounds.x, e.bounds.y, e.bounds.w, e.bounds.h, e);
                    break;
                case "text":
                case "freetext":
                    r.pageContext.annotations.push(e);
            }
        }, t.link = function(e, r, n, i, s) {
            var c = this.internal.getCurrentPageInfo(), u = this.internal.getCoordinateString, h = this.internal.getVerticalCoordinateString;
            c.pageContext.annotations.push({
                finalBounds: {
                    x: u(e),
                    y: h(r),
                    w: u(e + n),
                    h: h(r + i)
                },
                options: s,
                type: "link"
            });
        }, t.textWithLink = function(e, r, n, i) {
            var s, c, u = this.getTextWidth(e), h = this.internal.getLineHeight() / this.internal.scaleFactor;
            if (i.maxWidth !== void 0) {
                c = i.maxWidth;
                var g = this.splitTextToSize(e, c).length;
                s = Math.ceil(h * g);
            } else c = u, s = h;
            return this.text(e, r, n, i), n += .2 * h, i.align === "center" && (r -= u / 2), i.align === "right" && (r -= u), this.link(r, n - h, c, s, i), u;
        }, t.getTextWidth = function(e) {
            var r = this.internal.getFontSize();
            return this.getStringUnitWidth(e) * r / this.internal.scaleFactor;
        };
    }(GA.API), function(t) {
        var A = {
            1569: [
                65152
            ],
            1570: [
                65153,
                65154
            ],
            1571: [
                65155,
                65156
            ],
            1572: [
                65157,
                65158
            ],
            1573: [
                65159,
                65160
            ],
            1574: [
                65161,
                65162,
                65163,
                65164
            ],
            1575: [
                65165,
                65166
            ],
            1576: [
                65167,
                65168,
                65169,
                65170
            ],
            1577: [
                65171,
                65172
            ],
            1578: [
                65173,
                65174,
                65175,
                65176
            ],
            1579: [
                65177,
                65178,
                65179,
                65180
            ],
            1580: [
                65181,
                65182,
                65183,
                65184
            ],
            1581: [
                65185,
                65186,
                65187,
                65188
            ],
            1582: [
                65189,
                65190,
                65191,
                65192
            ],
            1583: [
                65193,
                65194
            ],
            1584: [
                65195,
                65196
            ],
            1585: [
                65197,
                65198
            ],
            1586: [
                65199,
                65200
            ],
            1587: [
                65201,
                65202,
                65203,
                65204
            ],
            1588: [
                65205,
                65206,
                65207,
                65208
            ],
            1589: [
                65209,
                65210,
                65211,
                65212
            ],
            1590: [
                65213,
                65214,
                65215,
                65216
            ],
            1591: [
                65217,
                65218,
                65219,
                65220
            ],
            1592: [
                65221,
                65222,
                65223,
                65224
            ],
            1593: [
                65225,
                65226,
                65227,
                65228
            ],
            1594: [
                65229,
                65230,
                65231,
                65232
            ],
            1601: [
                65233,
                65234,
                65235,
                65236
            ],
            1602: [
                65237,
                65238,
                65239,
                65240
            ],
            1603: [
                65241,
                65242,
                65243,
                65244
            ],
            1604: [
                65245,
                65246,
                65247,
                65248
            ],
            1605: [
                65249,
                65250,
                65251,
                65252
            ],
            1606: [
                65253,
                65254,
                65255,
                65256
            ],
            1607: [
                65257,
                65258,
                65259,
                65260
            ],
            1608: [
                65261,
                65262
            ],
            1609: [
                65263,
                65264,
                64488,
                64489
            ],
            1610: [
                65265,
                65266,
                65267,
                65268
            ],
            1649: [
                64336,
                64337
            ],
            1655: [
                64477
            ],
            1657: [
                64358,
                64359,
                64360,
                64361
            ],
            1658: [
                64350,
                64351,
                64352,
                64353
            ],
            1659: [
                64338,
                64339,
                64340,
                64341
            ],
            1662: [
                64342,
                64343,
                64344,
                64345
            ],
            1663: [
                64354,
                64355,
                64356,
                64357
            ],
            1664: [
                64346,
                64347,
                64348,
                64349
            ],
            1667: [
                64374,
                64375,
                64376,
                64377
            ],
            1668: [
                64370,
                64371,
                64372,
                64373
            ],
            1670: [
                64378,
                64379,
                64380,
                64381
            ],
            1671: [
                64382,
                64383,
                64384,
                64385
            ],
            1672: [
                64392,
                64393
            ],
            1676: [
                64388,
                64389
            ],
            1677: [
                64386,
                64387
            ],
            1678: [
                64390,
                64391
            ],
            1681: [
                64396,
                64397
            ],
            1688: [
                64394,
                64395
            ],
            1700: [
                64362,
                64363,
                64364,
                64365
            ],
            1702: [
                64366,
                64367,
                64368,
                64369
            ],
            1705: [
                64398,
                64399,
                64400,
                64401
            ],
            1709: [
                64467,
                64468,
                64469,
                64470
            ],
            1711: [
                64402,
                64403,
                64404,
                64405
            ],
            1713: [
                64410,
                64411,
                64412,
                64413
            ],
            1715: [
                64406,
                64407,
                64408,
                64409
            ],
            1722: [
                64414,
                64415
            ],
            1723: [
                64416,
                64417,
                64418,
                64419
            ],
            1726: [
                64426,
                64427,
                64428,
                64429
            ],
            1728: [
                64420,
                64421
            ],
            1729: [
                64422,
                64423,
                64424,
                64425
            ],
            1733: [
                64480,
                64481
            ],
            1734: [
                64473,
                64474
            ],
            1735: [
                64471,
                64472
            ],
            1736: [
                64475,
                64476
            ],
            1737: [
                64482,
                64483
            ],
            1739: [
                64478,
                64479
            ],
            1740: [
                64508,
                64509,
                64510,
                64511
            ],
            1744: [
                64484,
                64485,
                64486,
                64487
            ],
            1746: [
                64430,
                64431
            ],
            1747: [
                64432,
                64433
            ]
        }, e = {
            65247: {
                65154: 65269,
                65156: 65271,
                65160: 65273,
                65166: 65275
            },
            65248: {
                65154: 65270,
                65156: 65272,
                65160: 65274,
                65166: 65276
            },
            65165: {
                65247: {
                    65248: {
                        65258: 65010
                    }
                }
            },
            1617: {
                1612: 64606,
                1613: 64607,
                1614: 64608,
                1615: 64609,
                1616: 64610
            }
        }, r = {
            1612: 64606,
            1613: 64607,
            1614: 64608,
            1615: 64609,
            1616: 64610
        }, n = [
            1570,
            1571,
            1573,
            1575
        ];
        t.__arabicParser__ = {};
        var i = t.__arabicParser__.isInArabicSubstitutionA = function(U) {
            return A[U.charCodeAt(0)] !== void 0;
        }, s = t.__arabicParser__.isArabicLetter = function(U) {
            return typeof U == "string" && /^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(U);
        }, c = t.__arabicParser__.isArabicEndLetter = function(U) {
            return s(U) && i(U) && A[U.charCodeAt(0)].length <= 2;
        }, u = t.__arabicParser__.isArabicAlfLetter = function(U) {
            return s(U) && n.indexOf(U.charCodeAt(0)) >= 0;
        };
        t.__arabicParser__.arabicLetterHasIsolatedForm = function(U) {
            return s(U) && i(U) && A[U.charCodeAt(0)].length >= 1;
        };
        var h = t.__arabicParser__.arabicLetterHasFinalForm = function(U) {
            return s(U) && i(U) && A[U.charCodeAt(0)].length >= 2;
        };
        t.__arabicParser__.arabicLetterHasInitialForm = function(U) {
            return s(U) && i(U) && A[U.charCodeAt(0)].length >= 3;
        };
        var g = t.__arabicParser__.arabicLetterHasMedialForm = function(U) {
            return s(U) && i(U) && A[U.charCodeAt(0)].length == 4;
        }, d = t.__arabicParser__.resolveLigatures = function(U) {
            var N = 0, Q = e, x = "", R = 0;
            for(N = 0; N < U.length; N += 1)Q[U.charCodeAt(N)] !== void 0 ? (R++, typeof (Q = Q[U.charCodeAt(N)]) == "number" && (x += String.fromCharCode(Q), Q = e, R = 0), N === U.length - 1 && (Q = e, x += U.charAt(N - (R - 1)), N -= R - 1, R = 0)) : (Q = e, x += U.charAt(N - R), N -= R, R = 0);
            return x;
        };
        t.__arabicParser__.isArabicDiacritic = function(U) {
            return U !== void 0 && r[U.charCodeAt(0)] !== void 0;
        };
        var w = t.__arabicParser__.getCorrectForm = function(U, N, Q) {
            return s(U) ? i(U) === !1 ? -1 : !h(U) || !s(N) && !s(Q) || !s(Q) && c(N) || c(U) && !s(N) || c(U) && u(N) || c(U) && c(N) ? 0 : g(U) && s(N) && !c(N) && s(Q) && h(Q) ? 3 : c(U) || !s(Q) ? 1 : 2 : -1;
        }, B = function(U) {
            var N = 0, Q = 0, x = 0, R = "", Y = "", Z = "", $ = (U = U || "").split("\\s+"), J = [];
            for(N = 0; N < $.length; N += 1){
                for(J.push(""), Q = 0; Q < $[N].length; Q += 1)R = $[N][Q], Y = $[N][Q - 1], Z = $[N][Q + 1], s(R) ? (x = w(R, Y, Z), J[N] += x !== -1 ? String.fromCharCode(A[R.charCodeAt(0)][x]) : R) : J[N] += R;
                J[N] = d(J[N]);
            }
            return J.join(" ");
        }, L = t.__arabicParser__.processArabic = t.processArabic = function() {
            var U, N = typeof arguments[0] == "string" ? arguments[0] : arguments[0].text, Q = [];
            if (Array.isArray(N)) {
                var x = 0;
                for(Q = [], x = 0; x < N.length; x += 1)Array.isArray(N[x]) ? Q.push([
                    B(N[x][0]),
                    N[x][1],
                    N[x][2]
                ]) : Q.push([
                    B(N[x])
                ]);
                U = Q;
            } else U = B(N);
            return typeof arguments[0] == "string" ? U : (arguments[0].text = U, arguments[0]);
        };
        t.events.push([
            "preProcessText",
            L
        ]);
    }(GA.API), GA.API.autoPrint = function(t) {
        var A;
        switch((t = t || {}).variant = t.variant || "non-conform", t.variant){
            case "javascript":
                this.addJS("print({});");
                break;
            case "non-conform":
            default:
                this.internal.events.subscribe("postPutResources", function() {
                    A = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /Named"), this.internal.out("/Type /Action"), this.internal.out("/N /Print"), this.internal.out(">>"), this.internal.out("endobj");
                }), this.internal.events.subscribe("putCatalog", function() {
                    this.internal.out("/OpenAction " + A + " 0 R");
                });
        }
        return this;
    }, function(t) {
        var A = function() {
            var e = void 0;
            Object.defineProperty(this, "pdf", {
                get: function() {
                    return e;
                },
                set: function(c) {
                    e = c;
                }
            });
            var r = 150;
            Object.defineProperty(this, "width", {
                get: function() {
                    return r;
                },
                set: function(c) {
                    r = isNaN(c) || Number.isInteger(c) === !1 || c < 0 ? 150 : c, this.getContext("2d").pageWrapXEnabled && (this.getContext("2d").pageWrapX = r + 1);
                }
            });
            var n = 300;
            Object.defineProperty(this, "height", {
                get: function() {
                    return n;
                },
                set: function(c) {
                    n = isNaN(c) || Number.isInteger(c) === !1 || c < 0 ? 300 : c, this.getContext("2d").pageWrapYEnabled && (this.getContext("2d").pageWrapY = n + 1);
                }
            });
            var i = [];
            Object.defineProperty(this, "childNodes", {
                get: function() {
                    return i;
                },
                set: function(c) {
                    i = c;
                }
            });
            var s = {};
            Object.defineProperty(this, "style", {
                get: function() {
                    return s;
                },
                set: function(c) {
                    s = c;
                }
            }), Object.defineProperty(this, "parentNode", {});
        };
        A.prototype.getContext = function(e, r) {
            var n;
            if ((e = e || "2d") !== "2d") return null;
            for(n in r)this.pdf.context2d.hasOwnProperty(n) && (this.pdf.context2d[n] = r[n]);
            return this.pdf.context2d._canvas = this, this.pdf.context2d;
        }, A.prototype.toDataURL = function() {
            throw new Error("toDataURL is not implemented.");
        }, t.events.push([
            "initialized",
            function() {
                this.canvas = new A, this.canvas.pdf = this;
            }
        ]);
    }(GA.API), function(t) {
        var A = {
            left: 0,
            top: 0,
            bottom: 0,
            right: 0
        }, e = !1, r = function() {
            this.internal.__cell__ === void 0 && (this.internal.__cell__ = {}, this.internal.__cell__.padding = 3, this.internal.__cell__.headerFunction = void 0, this.internal.__cell__.margins = Object.assign({}, A), this.internal.__cell__.margins.width = this.getPageWidth(), n.call(this));
        }, n = function() {
            this.internal.__cell__.lastCell = new i, this.internal.__cell__.pages = 1;
        }, i = function() {
            var u = arguments[0];
            Object.defineProperty(this, "x", {
                enumerable: !0,
                get: function() {
                    return u;
                },
                set: function(U) {
                    u = U;
                }
            });
            var h = arguments[1];
            Object.defineProperty(this, "y", {
                enumerable: !0,
                get: function() {
                    return h;
                },
                set: function(U) {
                    h = U;
                }
            });
            var g = arguments[2];
            Object.defineProperty(this, "width", {
                enumerable: !0,
                get: function() {
                    return g;
                },
                set: function(U) {
                    g = U;
                }
            });
            var d = arguments[3];
            Object.defineProperty(this, "height", {
                enumerable: !0,
                get: function() {
                    return d;
                },
                set: function(U) {
                    d = U;
                }
            });
            var w = arguments[4];
            Object.defineProperty(this, "text", {
                enumerable: !0,
                get: function() {
                    return w;
                },
                set: function(U) {
                    w = U;
                }
            });
            var B = arguments[5];
            Object.defineProperty(this, "lineNumber", {
                enumerable: !0,
                get: function() {
                    return B;
                },
                set: function(U) {
                    B = U;
                }
            });
            var L = arguments[6];
            return Object.defineProperty(this, "align", {
                enumerable: !0,
                get: function() {
                    return L;
                },
                set: function(U) {
                    L = U;
                }
            }), this;
        };
        i.prototype.clone = function() {
            return new i(this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align);
        }, i.prototype.toArray = function() {
            return [
                this.x,
                this.y,
                this.width,
                this.height,
                this.text,
                this.lineNumber,
                this.align
            ];
        }, t.setHeaderFunction = function(u) {
            return r.call(this), this.internal.__cell__.headerFunction = typeof u == "function" ? u : void 0, this;
        }, t.getTextDimensions = function(u, h) {
            r.call(this);
            var g = (h = h || {}).fontSize || this.getFontSize(), d = h.font || this.getFont(), w = h.scaleFactor || this.internal.scaleFactor, B = 0, L = 0, U = 0, N = this;
            if (!Array.isArray(u) && typeof u != "string") {
                if (typeof u != "number") throw new Error("getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.");
                u = String(u);
            }
            var Q = h.maxWidth;
            Q > 0 ? typeof u == "string" ? u = this.splitTextToSize(u, Q) : Object.prototype.toString.call(u) === "[object Array]" && (u = u.reduce(function(R, Y) {
                return R.concat(N.splitTextToSize(Y, Q));
            }, [])) : u = Array.isArray(u) ? u : [
                u
            ];
            for(var x = 0; x < u.length; x++)B < (U = this.getStringUnitWidth(u[x], {
                font: d
            }) * g) && (B = U);
            return B !== 0 && (L = u.length), {
                w: B /= w,
                h: Math.max((L * g * this.getLineHeightFactor() - g * (this.getLineHeightFactor() - 1)) / w, 0)
            };
        }, t.cellAddPage = function() {
            r.call(this), this.addPage();
            var u = this.internal.__cell__.margins || A;
            return this.internal.__cell__.lastCell = new i(u.left, u.top, void 0, void 0), this.internal.__cell__.pages += 1, this;
        };
        var s = t.cell = function() {
            var u;
            u = arguments[0] instanceof i ? arguments[0] : new i(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]), r.call(this);
            var h = this.internal.__cell__.lastCell, g = this.internal.__cell__.padding, d = this.internal.__cell__.margins || A, w = this.internal.__cell__.tableHeaderRow, B = this.internal.__cell__.printHeaders;
            return h.lineNumber !== void 0 && (h.lineNumber === u.lineNumber ? (u.x = (h.x || 0) + (h.width || 0), u.y = h.y || 0) : h.y + h.height + u.height + d.bottom > this.getPageHeight() ? (this.cellAddPage(), u.y = d.top, B && w && (this.printHeaderRow(u.lineNumber, !0), u.y += w[0].height)) : u.y = h.y + h.height || u.y), u.text[0] !== void 0 && (this.rect(u.x, u.y, u.width, u.height, e === !0 ? "FD" : void 0), u.align === "right" ? this.text(u.text, u.x + u.width - g, u.y + g, {
                align: "right",
                baseline: "top"
            }) : u.align === "center" ? this.text(u.text, u.x + u.width / 2, u.y + g, {
                align: "center",
                baseline: "top",
                maxWidth: u.width - g - g
            }) : this.text(u.text, u.x + g, u.y + g, {
                align: "left",
                baseline: "top",
                maxWidth: u.width - g - g
            })), this.internal.__cell__.lastCell = u, this;
        };
        t.table = function(u, h, g, d, w) {
            if (r.call(this), !g) throw new Error("No data for PDF table.");
            var B, L, U, N, Q = [], x = [], R = [], Y = {}, Z = {}, $ = [], J = [], O = (w = w || {}).autoSize || !1, W = w.printHeaders !== !1, uA = w.css && w.css["font-size"] !== void 0 ? 16 * w.css["font-size"] : w.fontSize || 12, I = w.margins || Object.assign({
                width: this.getPageWidth()
            }, A), H = typeof w.padding == "number" ? w.padding : 3, K = w.headerBackgroundColor || "#c8c8c8", M = w.headerTextColor || "#000";
            if (n.call(this), this.internal.__cell__.printHeaders = W, this.internal.__cell__.margins = I, this.internal.__cell__.table_font_size = uA, this.internal.__cell__.padding = H, this.internal.__cell__.headerBackgroundColor = K, this.internal.__cell__.headerTextColor = M, this.setFontSize(uA), d == null) x = Q = Object.keys(g[0]), R = Q.map(function() {
                return "left";
            });
            else if (Array.isArray(d) && de(d[0]) === "object") for(Q = d.map(function(hA) {
                return hA.name;
            }), x = d.map(function(hA) {
                return hA.prompt || hA.name || "";
            }), R = d.map(function(hA) {
                return hA.align || "left";
            }), B = 0; B < d.length; B += 1)Z[d[B].name] = d[B].width * (19.049976 / 25.4);
            else Array.isArray(d) && typeof d[0] == "string" && (x = Q = d, R = Q.map(function() {
                return "left";
            }));
            if (O || Array.isArray(d) && typeof d[0] == "string") for(B = 0; B < Q.length; B += 1){
                for(Y[N = Q[B]] = g.map(function(hA) {
                    return hA[N];
                }), this.setFont(void 0, "bold"), $.push(this.getTextDimensions(x[B], {
                    fontSize: this.internal.__cell__.table_font_size,
                    scaleFactor: this.internal.scaleFactor
                }).w), L = Y[N], this.setFont(void 0, "normal"), U = 0; U < L.length; U += 1)$.push(this.getTextDimensions(L[U], {
                    fontSize: this.internal.__cell__.table_font_size,
                    scaleFactor: this.internal.scaleFactor
                }).w);
                Z[N] = Math.max.apply(null, $) + H + H, $ = [];
            }
            if (W) {
                var oA = {};
                for(B = 0; B < Q.length; B += 1)oA[Q[B]] = {}, oA[Q[B]].text = x[B], oA[Q[B]].align = R[B];
                var iA = c.call(this, oA, Z);
                J = Q.map(function(hA) {
                    return new i(u, h, Z[hA], iA, oA[hA].text, void 0, oA[hA].align);
                }), this.setTableHeaderRow(J), this.printHeaderRow(1, !1);
            }
            var cA = d.reduce(function(hA, UA) {
                return hA[UA.name] = UA.align, hA;
            }, {});
            for(B = 0; B < g.length; B += 1){
                "rowStart" in w && w.rowStart instanceof Function && w.rowStart({
                    row: B,
                    data: g[B]
                }, this);
                var eA = c.call(this, g[B], Z);
                for(U = 0; U < Q.length; U += 1){
                    var lA = g[B][Q[U]];
                    "cellStart" in w && w.cellStart instanceof Function && w.cellStart({
                        row: B,
                        col: U,
                        data: lA
                    }, this), s.call(this, new i(u, h, Z[Q[U]], eA, lA, B + 2, cA[Q[U]]));
                }
            }
            return this.internal.__cell__.table_x = u, this.internal.__cell__.table_y = h, this;
        };
        var c = function(u, h) {
            var g = this.internal.__cell__.padding, d = this.internal.__cell__.table_font_size, w = this.internal.scaleFactor;
            return Object.keys(u).map(function(B) {
                var L = u[B];
                return this.splitTextToSize(L.hasOwnProperty("text") ? L.text : L, h[B] - g - g);
            }, this).map(function(B) {
                return this.getLineHeightFactor() * B.length * d / w + g + g;
            }, this).reduce(function(B, L) {
                return Math.max(B, L);
            }, 0);
        };
        t.setTableHeaderRow = function(u) {
            r.call(this), this.internal.__cell__.tableHeaderRow = u;
        }, t.printHeaderRow = function(u, h) {
            if (r.call(this), !this.internal.__cell__.tableHeaderRow) throw new Error("Property tableHeaderRow does not exist.");
            var g;
            if (e = !0, typeof this.internal.__cell__.headerFunction == "function") {
                var d = this.internal.__cell__.headerFunction(this, this.internal.__cell__.pages);
                this.internal.__cell__.lastCell = new i(d[0], d[1], d[2], d[3], void 0, -1);
            }
            this.setFont(void 0, "bold");
            for(var w = [], B = 0; B < this.internal.__cell__.tableHeaderRow.length; B += 1){
                g = this.internal.__cell__.tableHeaderRow[B].clone(), h && (g.y = this.internal.__cell__.margins.top || 0, w.push(g)), g.lineNumber = u;
                var L = this.getTextColor();
                this.setTextColor(this.internal.__cell__.headerTextColor), this.setFillColor(this.internal.__cell__.headerBackgroundColor), s.call(this, g), this.setTextColor(L);
            }
            w.length > 0 && this.setTableHeaderRow(w), this.setFont(void 0, "normal"), e = !1;
        };
    }(GA.API);
    var BB = {
        italic: [
            "italic",
            "oblique",
            "normal"
        ],
        oblique: [
            "oblique",
            "italic",
            "normal"
        ],
        normal: [
            "normal",
            "oblique",
            "italic"
        ]
    }, gB = [
        "ultra-condensed",
        "extra-condensed",
        "condensed",
        "semi-condensed",
        "normal",
        "semi-expanded",
        "expanded",
        "extra-expanded",
        "ultra-expanded"
    ], Pu = hB(gB), dB = [
        100,
        200,
        300,
        400,
        500,
        600,
        700,
        800,
        900
    ], v5 = hB(dB);
    function Mu(t) {
        var A = t.family.replace(/"|'/g, "").toLowerCase(), e = function(i) {
            return BB[i = i || "normal"] ? i : "normal";
        }(t.style), r = function(i) {
            if (!i) return 400;
            if (typeof i == "number") return i >= 100 && i <= 900 && i % 100 == 0 ? i : 400;
            if (/^\d00$/.test(i)) return parseInt(i);
            switch(i){
                case "bold":
                    return 700;
                case "normal":
                default:
                    return 400;
            }
        }(t.weight), n = function(i) {
            return typeof Pu[i = i || "normal"] == "number" ? i : "normal";
        }(t.stretch);
        return {
            family: A,
            style: e,
            weight: r,
            stretch: n,
            src: t.src || [],
            ref: t.ref || {
                name: A,
                style: [
                    n,
                    e,
                    r
                ].join(" ")
            }
        };
    }
    function Df(t, A, e, r) {
        var n;
        for(n = e; n >= 0 && n < A.length; n += r)if (t[A[n]]) return t[A[n]];
        for(n = e; n >= 0 && n < A.length; n -= r)if (t[A[n]]) return t[A[n]];
    }
    var m5 = {
        "sans-serif": "helvetica",
        fixed: "courier",
        monospace: "courier",
        terminal: "courier",
        cursive: "times",
        fantasy: "times",
        serif: "times"
    }, Tf = {
        caption: "times",
        icon: "times",
        menu: "times",
        "message-box": "times",
        "small-caption": "times",
        "status-bar": "times"
    };
    function Of(t) {
        return [
            t.stretch,
            t.style,
            t.weight,
            t.family
        ].join(" ");
    }
    function C5(t, A, e) {
        for(var r = (e = e || {}).defaultFontFamily || "times", n = Object.assign({}, m5, e.genericFontFamilies || {}), i = null, s = null, c = 0; c < A.length; ++c)if (n[(i = Mu(A[c])).family] && (i.family = n[i.family]), t.hasOwnProperty(i.family)) {
            s = t[i.family];
            break;
        }
        if (!(s = s || t[r])) throw new Error("Could not find a font-family for the rule '" + Of(i) + "' and default family '" + r + "'.");
        if (s = function(u, h) {
            if (h[u]) return h[u];
            var g = Pu[u], d = g <= Pu.normal ? -1 : 1, w = Df(h, gB, g, d);
            if (!w) throw new Error("Could not find a matching font-stretch value for " + u);
            return w;
        }(i.stretch, s), s = function(u, h) {
            if (h[u]) return h[u];
            for(var g = BB[u], d = 0; d < g.length; ++d)if (h[g[d]]) return h[g[d]];
            throw new Error("Could not find a matching font-style for " + u);
        }(i.style, s), !(s = function(u, h) {
            if (h[u]) return h[u];
            if (u === 400 && h[500]) return h[500];
            if (u === 500 && h[400]) return h[400];
            var g = v5[u], d = Df(h, dB, g, u < 400 ? -1 : 1);
            if (!d) throw new Error("Could not find a matching font-weight for value " + u);
            return d;
        }(i.weight, s))) throw new Error("Failed to resolve a font for the rule '" + Of(i) + "'.");
        return s;
    }
    function Pf(t) {
        return t.trimLeft();
    }
    function Q5(t, A) {
        for(var e = 0; e < t.length;){
            if (t.charAt(e) === A) return [
                t.substring(0, e),
                t.substring(e + 1)
            ];
            e += 1;
        }
        return null;
    }
    function F5(t) {
        var A = t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);
        return A === null ? null : [
            A[0],
            t.substring(A[0].length)
        ];
    }
    var io, Mf, Kf, ru = [
        "times"
    ];
    (function(t) {
        var A, e, r, n, i, s, c, u, h, g = function(y) {
            return y = y || {}, this.isStrokeTransparent = y.isStrokeTransparent || !1, this.strokeOpacity = y.strokeOpacity || 1, this.strokeStyle = y.strokeStyle || "#000000", this.fillStyle = y.fillStyle || "#000000", this.isFillTransparent = y.isFillTransparent || !1, this.fillOpacity = y.fillOpacity || 1, this.font = y.font || "10px sans-serif", this.textBaseline = y.textBaseline || "alphabetic", this.textAlign = y.textAlign || "left", this.lineWidth = y.lineWidth || 1, this.lineJoin = y.lineJoin || "miter", this.lineCap = y.lineCap || "butt", this.path = y.path || [], this.transform = y.transform !== void 0 ? y.transform.clone() : new u, this.globalCompositeOperation = y.globalCompositeOperation || "normal", this.globalAlpha = y.globalAlpha || 1, this.clip_path = y.clip_path || [], this.currentPoint = y.currentPoint || new s, this.miterLimit = y.miterLimit || 10, this.lastPoint = y.lastPoint || new s, this.lineDashOffset = y.lineDashOffset || 0, this.lineDash = y.lineDash || [], this.margin = y.margin || [
                0,
                0,
                0,
                0
            ], this.prevPageLastElemOffset = y.prevPageLastElemOffset || 0, this.ignoreClearRect = typeof y.ignoreClearRect != "boolean" || y.ignoreClearRect, this;
        };
        t.events.push([
            "initialized",
            function() {
                this.context2d = new d(this), A = this.internal.f2, e = this.internal.getCoordinateString, r = this.internal.getVerticalCoordinateString, n = this.internal.getHorizontalCoordinate, i = this.internal.getVerticalCoordinate, s = this.internal.Point, c = this.internal.Rectangle, u = this.internal.Matrix, h = new g;
            }
        ]);
        var d = function(y) {
            Object.defineProperty(this, "canvas", {
                get: function() {
                    return {
                        parentNode: !1,
                        style: !1
                    };
                }
            });
            var _ = y;
            Object.defineProperty(this, "pdf", {
                get: function() {
                    return _;
                }
            });
            var T = !1;
            Object.defineProperty(this, "pageWrapXEnabled", {
                get: function() {
                    return T;
                },
                set: function(gA) {
                    T = !!gA;
                }
            });
            var k = !1;
            Object.defineProperty(this, "pageWrapYEnabled", {
                get: function() {
                    return k;
                },
                set: function(gA) {
                    k = !!gA;
                }
            });
            var X = 0;
            Object.defineProperty(this, "posX", {
                get: function() {
                    return X;
                },
                set: function(gA) {
                    isNaN(gA) || (X = gA);
                }
            });
            var nA = 0;
            Object.defineProperty(this, "posY", {
                get: function() {
                    return nA;
                },
                set: function(gA) {
                    isNaN(gA) || (nA = gA);
                }
            }), Object.defineProperty(this, "margin", {
                get: function() {
                    return h.margin;
                },
                set: function(gA) {
                    var P;
                    typeof gA == "number" ? P = [
                        gA,
                        gA,
                        gA,
                        gA
                    ] : ((P = new Array(4))[0] = gA[0], P[1] = gA.length >= 2 ? gA[1] : P[0], P[2] = gA.length >= 3 ? gA[2] : P[0], P[3] = gA.length >= 4 ? gA[3] : P[1]), h.margin = P;
                }
            });
            var aA = !1;
            Object.defineProperty(this, "autoPaging", {
                get: function() {
                    return aA;
                },
                set: function(gA) {
                    aA = gA;
                }
            });
            var sA = 0;
            Object.defineProperty(this, "lastBreak", {
                get: function() {
                    return sA;
                },
                set: function(gA) {
                    sA = gA;
                }
            });
            var FA = [];
            Object.defineProperty(this, "pageBreaks", {
                get: function() {
                    return FA;
                },
                set: function(gA) {
                    FA = gA;
                }
            }), Object.defineProperty(this, "ctx", {
                get: function() {
                    return h;
                },
                set: function(gA) {
                    gA instanceof g && (h = gA);
                }
            }), Object.defineProperty(this, "path", {
                get: function() {
                    return h.path;
                },
                set: function(gA) {
                    h.path = gA;
                }
            });
            var QA = [];
            Object.defineProperty(this, "ctxStack", {
                get: function() {
                    return QA;
                },
                set: function(gA) {
                    QA = gA;
                }
            }), Object.defineProperty(this, "fillStyle", {
                get: function() {
                    return this.ctx.fillStyle;
                },
                set: function(gA) {
                    var P;
                    P = w(gA), this.ctx.fillStyle = P.style, this.ctx.isFillTransparent = P.a === 0, this.ctx.fillOpacity = P.a, this.pdf.setFillColor(P.r, P.g, P.b, {
                        a: P.a
                    }), this.pdf.setTextColor(P.r, P.g, P.b, {
                        a: P.a
                    });
                }
            }), Object.defineProperty(this, "strokeStyle", {
                get: function() {
                    return this.ctx.strokeStyle;
                },
                set: function(gA) {
                    var P = w(gA);
                    this.ctx.strokeStyle = P.style, this.ctx.isStrokeTransparent = P.a === 0, this.ctx.strokeOpacity = P.a, P.a === 0 ? this.pdf.setDrawColor(255, 255, 255) : (P.a, this.pdf.setDrawColor(P.r, P.g, P.b));
                }
            }), Object.defineProperty(this, "lineCap", {
                get: function() {
                    return this.ctx.lineCap;
                },
                set: function(gA) {
                    [
                        "butt",
                        "round",
                        "square"
                    ].indexOf(gA) !== -1 && (this.ctx.lineCap = gA, this.pdf.setLineCap(gA));
                }
            }), Object.defineProperty(this, "lineWidth", {
                get: function() {
                    return this.ctx.lineWidth;
                },
                set: function(gA) {
                    isNaN(gA) || (this.ctx.lineWidth = gA, this.pdf.setLineWidth(gA));
                }
            }), Object.defineProperty(this, "lineJoin", {
                get: function() {
                    return this.ctx.lineJoin;
                },
                set: function(gA) {
                    [
                        "bevel",
                        "round",
                        "miter"
                    ].indexOf(gA) !== -1 && (this.ctx.lineJoin = gA, this.pdf.setLineJoin(gA));
                }
            }), Object.defineProperty(this, "miterLimit", {
                get: function() {
                    return this.ctx.miterLimit;
                },
                set: function(gA) {
                    isNaN(gA) || (this.ctx.miterLimit = gA, this.pdf.setMiterLimit(gA));
                }
            }), Object.defineProperty(this, "textBaseline", {
                get: function() {
                    return this.ctx.textBaseline;
                },
                set: function(gA) {
                    this.ctx.textBaseline = gA;
                }
            }), Object.defineProperty(this, "textAlign", {
                get: function() {
                    return this.ctx.textAlign;
                },
                set: function(gA) {
                    [
                        "right",
                        "end",
                        "center",
                        "left",
                        "start"
                    ].indexOf(gA) !== -1 && (this.ctx.textAlign = gA);
                }
            });
            var xA = null;
            function LA(gA, P) {
                if (xA === null) {
                    var ZA = function(PA) {
                        var CA = [];
                        return Object.keys(PA).forEach(function(yA) {
                            PA[yA].forEach(function(HA) {
                                var IA = null;
                                switch(HA){
                                    case "bold":
                                        IA = {
                                            family: yA,
                                            weight: "bold"
                                        };
                                        break;
                                    case "italic":
                                        IA = {
                                            family: yA,
                                            style: "italic"
                                        };
                                        break;
                                    case "bolditalic":
                                        IA = {
                                            family: yA,
                                            weight: "bold",
                                            style: "italic"
                                        };
                                        break;
                                    case "":
                                    case "normal":
                                        IA = {
                                            family: yA
                                        };
                                }
                                IA !== null && (IA.ref = {
                                    name: yA,
                                    style: HA
                                }, CA.push(IA));
                            });
                        }), CA;
                    }(gA.getFontList());
                    xA = function(PA) {
                        for(var CA = {}, yA = 0; yA < PA.length; ++yA){
                            var HA = Mu(PA[yA]), IA = HA.family, MA = HA.stretch, XA = HA.style, ee = HA.weight;
                            CA[IA] = CA[IA] || {}, CA[IA][MA] = CA[IA][MA] || {}, CA[IA][MA][XA] = CA[IA][MA][XA] || {}, CA[IA][MA][XA][ee] = HA;
                        }
                        return CA;
                    }(ZA.concat(P));
                }
                return xA;
            }
            var jA = null;
            Object.defineProperty(this, "fontFaces", {
                get: function() {
                    return jA;
                },
                set: function(gA) {
                    xA = null, jA = gA;
                }
            }), Object.defineProperty(this, "font", {
                get: function() {
                    return this.ctx.font;
                },
                set: function(gA) {
                    var P;
                    if (this.ctx.font = gA, (P = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z]+?)\s*$/i.exec(gA)) !== null) {
                        var ZA = P[1];
                        P[2];
                        var PA = P[3], CA = P[4];
                        P[5];
                        var yA = P[6], HA = /^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(CA)[2];
                        CA = Math.floor(HA === "px" ? parseFloat(CA) * this.pdf.internal.scaleFactor : HA === "em" ? parseFloat(CA) * this.pdf.getFontSize() : parseFloat(CA) * this.pdf.internal.scaleFactor), this.pdf.setFontSize(CA);
                        var IA = function(qA) {
                            var re, SA, st = [], ce = qA.trim();
                            if (ce === "") return ru;
                            if (ce in Tf) return [
                                Tf[ce]
                            ];
                            for(; ce !== "";){
                                switch(SA = null, re = (ce = Pf(ce)).charAt(0)){
                                    case '"':
                                    case "'":
                                        SA = Q5(ce.substring(1), re);
                                        break;
                                    default:
                                        SA = F5(ce);
                                }
                                if (SA === null || (st.push(SA[0]), (ce = Pf(SA[1])) !== "" && ce.charAt(0) !== ",")) return ru;
                                ce = ce.replace(/^,/, "");
                            }
                            return st;
                        }(yA);
                        if (this.fontFaces) {
                            var MA = C5(LA(this.pdf, this.fontFaces), IA.map(function(qA) {
                                return {
                                    family: qA,
                                    stretch: "normal",
                                    weight: PA,
                                    style: ZA
                                };
                            }));
                            this.pdf.setFont(MA.ref.name, MA.ref.style);
                        } else {
                            var XA = "";
                            (PA === "bold" || parseInt(PA, 10) >= 700 || ZA === "bold") && (XA = "bold"), ZA === "italic" && (XA += "italic"), XA.length === 0 && (XA = "normal");
                            for(var ee = "", te = {
                                arial: "Helvetica",
                                Arial: "Helvetica",
                                verdana: "Helvetica",
                                Verdana: "Helvetica",
                                helvetica: "Helvetica",
                                Helvetica: "Helvetica",
                                "sans-serif": "Helvetica",
                                fixed: "Courier",
                                monospace: "Courier",
                                terminal: "Courier",
                                cursive: "Times",
                                fantasy: "Times",
                                serif: "Times"
                            }, se = 0; se < IA.length; se++){
                                if (this.pdf.internal.getFont(IA[se], XA, {
                                    noFallback: !0,
                                    disableWarning: !0
                                }) !== void 0) {
                                    ee = IA[se];
                                    break;
                                }
                                if (XA === "bolditalic" && this.pdf.internal.getFont(IA[se], "bold", {
                                    noFallback: !0,
                                    disableWarning: !0
                                }) !== void 0) ee = IA[se], XA = "bold";
                                else if (this.pdf.internal.getFont(IA[se], "normal", {
                                    noFallback: !0,
                                    disableWarning: !0
                                }) !== void 0) {
                                    ee = IA[se], XA = "normal";
                                    break;
                                }
                            }
                            if (ee === "") {
                                for(var pe = 0; pe < IA.length; pe++)if (te[IA[pe]]) {
                                    ee = te[IA[pe]];
                                    break;
                                }
                            }
                            ee = ee === "" ? "Times" : ee, this.pdf.setFont(ee, XA);
                        }
                    }
                }
            }), Object.defineProperty(this, "globalCompositeOperation", {
                get: function() {
                    return this.ctx.globalCompositeOperation;
                },
                set: function(gA) {
                    this.ctx.globalCompositeOperation = gA;
                }
            }), Object.defineProperty(this, "globalAlpha", {
                get: function() {
                    return this.ctx.globalAlpha;
                },
                set: function(gA) {
                    this.ctx.globalAlpha = gA;
                }
            }), Object.defineProperty(this, "lineDashOffset", {
                get: function() {
                    return this.ctx.lineDashOffset;
                },
                set: function(gA) {
                    this.ctx.lineDashOffset = gA, UA.call(this);
                }
            }), Object.defineProperty(this, "lineDash", {
                get: function() {
                    return this.ctx.lineDash;
                },
                set: function(gA) {
                    this.ctx.lineDash = gA, UA.call(this);
                }
            }), Object.defineProperty(this, "ignoreClearRect", {
                get: function() {
                    return this.ctx.ignoreClearRect;
                },
                set: function(gA) {
                    this.ctx.ignoreClearRect = !!gA;
                }
            });
        };
        d.prototype.setLineDash = function(y) {
            this.lineDash = y;
        }, d.prototype.getLineDash = function() {
            return this.lineDash.length % 2 ? this.lineDash.concat(this.lineDash) : this.lineDash.slice();
        }, d.prototype.fill = function() {
            Y.call(this, "fill", !1);
        }, d.prototype.stroke = function() {
            Y.call(this, "stroke", !1);
        }, d.prototype.beginPath = function() {
            this.path = [
                {
                    type: "begin"
                }
            ];
        }, d.prototype.moveTo = function(y, _) {
            if (isNaN(y) || isNaN(_)) throw Qe.error("jsPDF.context2d.moveTo: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.moveTo");
            var T = this.ctx.transform.applyToPoint(new s(y, _));
            this.path.push({
                type: "mt",
                x: T.x,
                y: T.y
            }), this.ctx.lastPoint = new s(y, _);
        }, d.prototype.closePath = function() {
            var y = new s(0, 0), _ = 0;
            for(_ = this.path.length - 1; _ !== -1; _--)if (this.path[_].type === "begin" && de(this.path[_ + 1]) === "object" && typeof this.path[_ + 1].x == "number") {
                y = new s(this.path[_ + 1].x, this.path[_ + 1].y);
                break;
            }
            this.path.push({
                type: "close"
            }), this.ctx.lastPoint = new s(y.x, y.y);
        }, d.prototype.lineTo = function(y, _) {
            if (isNaN(y) || isNaN(_)) throw Qe.error("jsPDF.context2d.lineTo: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.lineTo");
            var T = this.ctx.transform.applyToPoint(new s(y, _));
            this.path.push({
                type: "lt",
                x: T.x,
                y: T.y
            }), this.ctx.lastPoint = new s(T.x, T.y);
        }, d.prototype.clip = function() {
            this.ctx.clip_path = JSON.parse(JSON.stringify(this.path)), Y.call(this, null, !0);
        }, d.prototype.quadraticCurveTo = function(y, _, T, k) {
            if (isNaN(T) || isNaN(k) || isNaN(y) || isNaN(_)) throw Qe.error("jsPDF.context2d.quadraticCurveTo: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.quadraticCurveTo");
            var X = this.ctx.transform.applyToPoint(new s(T, k)), nA = this.ctx.transform.applyToPoint(new s(y, _));
            this.path.push({
                type: "qct",
                x1: nA.x,
                y1: nA.y,
                x: X.x,
                y: X.y
            }), this.ctx.lastPoint = new s(X.x, X.y);
        }, d.prototype.bezierCurveTo = function(y, _, T, k, X, nA) {
            if (isNaN(X) || isNaN(nA) || isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k)) throw Qe.error("jsPDF.context2d.bezierCurveTo: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.bezierCurveTo");
            var aA = this.ctx.transform.applyToPoint(new s(X, nA)), sA = this.ctx.transform.applyToPoint(new s(y, _)), FA = this.ctx.transform.applyToPoint(new s(T, k));
            this.path.push({
                type: "bct",
                x1: sA.x,
                y1: sA.y,
                x2: FA.x,
                y2: FA.y,
                x: aA.x,
                y: aA.y
            }), this.ctx.lastPoint = new s(aA.x, aA.y);
        }, d.prototype.arc = function(y, _, T, k, X, nA) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k) || isNaN(X)) throw Qe.error("jsPDF.context2d.arc: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.arc");
            if (nA = !!nA, !this.ctx.transform.isIdentity) {
                var aA = this.ctx.transform.applyToPoint(new s(y, _));
                y = aA.x, _ = aA.y;
                var sA = this.ctx.transform.applyToPoint(new s(0, T)), FA = this.ctx.transform.applyToPoint(new s(0, 0));
                T = Math.sqrt(Math.pow(sA.x - FA.x, 2) + Math.pow(sA.y - FA.y, 2));
            }
            Math.abs(X - k) >= 2 * Math.PI && (k = 0, X = 2 * Math.PI), this.path.push({
                type: "arc",
                x: y,
                y: _,
                radius: T,
                startAngle: k,
                endAngle: X,
                counterclockwise: nA
            });
        }, d.prototype.arcTo = function(y, _, T, k, X) {
            throw new Error("arcTo not implemented.");
        }, d.prototype.rect = function(y, _, T, k) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k)) throw Qe.error("jsPDF.context2d.rect: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.rect");
            this.moveTo(y, _), this.lineTo(y + T, _), this.lineTo(y + T, _ + k), this.lineTo(y, _ + k), this.lineTo(y, _), this.lineTo(y + T, _), this.lineTo(y, _);
        }, d.prototype.fillRect = function(y, _, T, k) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k)) throw Qe.error("jsPDF.context2d.fillRect: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.fillRect");
            if (!B.call(this)) {
                var X = {};
                this.lineCap !== "butt" && (X.lineCap = this.lineCap, this.lineCap = "butt"), this.lineJoin !== "miter" && (X.lineJoin = this.lineJoin, this.lineJoin = "miter"), this.beginPath(), this.rect(y, _, T, k), this.fill(), X.hasOwnProperty("lineCap") && (this.lineCap = X.lineCap), X.hasOwnProperty("lineJoin") && (this.lineJoin = X.lineJoin);
            }
        }, d.prototype.strokeRect = function(y, _, T, k) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k)) throw Qe.error("jsPDF.context2d.strokeRect: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");
            L.call(this) || (this.beginPath(), this.rect(y, _, T, k), this.stroke());
        }, d.prototype.clearRect = function(y, _, T, k) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k)) throw Qe.error("jsPDF.context2d.clearRect: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.clearRect");
            this.ignoreClearRect || (this.fillStyle = "#ffffff", this.fillRect(y, _, T, k));
        }, d.prototype.save = function(y) {
            y = typeof y != "boolean" || y;
            for(var _ = this.pdf.internal.getCurrentPageInfo().pageNumber, T = 0; T < this.pdf.internal.getNumberOfPages(); T++)this.pdf.setPage(T + 1), this.pdf.internal.out("q");
            if (this.pdf.setPage(_), y) {
                this.ctx.fontSize = this.pdf.internal.getFontSize();
                var k = new g(this.ctx);
                this.ctxStack.push(this.ctx), this.ctx = k;
            }
        }, d.prototype.restore = function(y) {
            y = typeof y != "boolean" || y;
            for(var _ = this.pdf.internal.getCurrentPageInfo().pageNumber, T = 0; T < this.pdf.internal.getNumberOfPages(); T++)this.pdf.setPage(T + 1), this.pdf.internal.out("Q");
            this.pdf.setPage(_), y && this.ctxStack.length !== 0 && (this.ctx = this.ctxStack.pop(), this.fillStyle = this.ctx.fillStyle, this.strokeStyle = this.ctx.strokeStyle, this.font = this.ctx.font, this.lineCap = this.ctx.lineCap, this.lineWidth = this.ctx.lineWidth, this.lineJoin = this.ctx.lineJoin, this.lineDash = this.ctx.lineDash, this.lineDashOffset = this.ctx.lineDashOffset);
        }, d.prototype.toDataURL = function() {
            throw new Error("toDataUrl not implemented.");
        };
        var w = function(y) {
            var _, T, k, X;
            if (y.isCanvasGradient === !0 && (y = y.getColor()), !y) return {
                r: 0,
                g: 0,
                b: 0,
                a: 0,
                style: y
            };
            if (/transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/.test(y)) _ = 0, T = 0, k = 0, X = 0;
            else {
                var nA = /rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(y);
                if (nA !== null) _ = parseInt(nA[1]), T = parseInt(nA[2]), k = parseInt(nA[3]), X = 1;
                else if ((nA = /rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)/.exec(y)) !== null) _ = parseInt(nA[1]), T = parseInt(nA[2]), k = parseInt(nA[3]), X = parseFloat(nA[4]);
                else {
                    if (X = 1, typeof y == "string" && y.charAt(0) !== "#") {
                        var aA = new sB(y);
                        y = aA.ok ? aA.toHex() : "#000000";
                    }
                    y.length === 4 ? (_ = y.substring(1, 2), _ += _, T = y.substring(2, 3), T += T, k = y.substring(3, 4), k += k) : (_ = y.substring(1, 3), T = y.substring(3, 5), k = y.substring(5, 7)), _ = parseInt(_, 16), T = parseInt(T, 16), k = parseInt(k, 16);
                }
            }
            return {
                r: _,
                g: T,
                b: k,
                a: X,
                style: y
            };
        }, B = function() {
            return this.ctx.isFillTransparent || this.globalAlpha == 0;
        }, L = function() {
            return !!(this.ctx.isStrokeTransparent || this.globalAlpha == 0);
        };
        d.prototype.fillText = function(y, _, T, k) {
            if (isNaN(_) || isNaN(T) || typeof y != "string") throw Qe.error("jsPDF.context2d.fillText: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.fillText");
            if (k = isNaN(k) ? void 0 : k, !B.call(this)) {
                var X = eA(this.ctx.transform.rotation), nA = this.ctx.transform.scaleX;
                H.call(this, {
                    text: y,
                    x: _,
                    y: T,
                    scale: nA,
                    angle: X,
                    align: this.textAlign,
                    maxWidth: k
                });
            }
        }, d.prototype.strokeText = function(y, _, T, k) {
            if (isNaN(_) || isNaN(T) || typeof y != "string") throw Qe.error("jsPDF.context2d.strokeText: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.strokeText");
            if (!L.call(this)) {
                k = isNaN(k) ? void 0 : k;
                var X = eA(this.ctx.transform.rotation), nA = this.ctx.transform.scaleX;
                H.call(this, {
                    text: y,
                    x: _,
                    y: T,
                    scale: nA,
                    renderingMode: "stroke",
                    angle: X,
                    align: this.textAlign,
                    maxWidth: k
                });
            }
        }, d.prototype.measureText = function(y) {
            if (typeof y != "string") throw Qe.error("jsPDF.context2d.measureText: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.measureText");
            var _ = this.pdf, T = this.pdf.internal.scaleFactor, k = _.internal.getFontSize(), X = _.getStringUnitWidth(y) * k / _.internal.scaleFactor, nA = function(aA) {
                var sA = (aA = aA || {}).width || 0;
                return Object.defineProperty(this, "width", {
                    get: function() {
                        return sA;
                    }
                }), this;
            };
            return new nA({
                width: X *= Math.round(96 * T / 72 * 1e4) / 1e4
            });
        }, d.prototype.scale = function(y, _) {
            if (isNaN(y) || isNaN(_)) throw Qe.error("jsPDF.context2d.scale: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.scale");
            var T = new u(y, 0, 0, _, 0, 0);
            this.ctx.transform = this.ctx.transform.multiply(T);
        }, d.prototype.rotate = function(y) {
            if (isNaN(y)) throw Qe.error("jsPDF.context2d.rotate: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.rotate");
            var _ = new u(Math.cos(y), Math.sin(y), -Math.sin(y), Math.cos(y), 0, 0);
            this.ctx.transform = this.ctx.transform.multiply(_);
        }, d.prototype.translate = function(y, _) {
            if (isNaN(y) || isNaN(_)) throw Qe.error("jsPDF.context2d.translate: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.translate");
            var T = new u(1, 0, 0, 1, y, _);
            this.ctx.transform = this.ctx.transform.multiply(T);
        }, d.prototype.transform = function(y, _, T, k, X, nA) {
            if (isNaN(y) || isNaN(_) || isNaN(T) || isNaN(k) || isNaN(X) || isNaN(nA)) throw Qe.error("jsPDF.context2d.transform: Invalid arguments", arguments), new Error("Invalid arguments passed to jsPDF.context2d.transform");
            var aA = new u(y, _, T, k, X, nA);
            this.ctx.transform = this.ctx.transform.multiply(aA);
        }, d.prototype.setTransform = function(y, _, T, k, X, nA) {
            y = isNaN(y) ? 1 : y, _ = isNaN(_) ? 0 : _, T = isNaN(T) ? 0 : T, k = isNaN(k) ? 1 : k, X = isNaN(X) ? 0 : X, nA = isNaN(nA) ? 0 : nA, this.ctx.transform = new u(y, _, T, k, X, nA);
        };
        var U = function() {
            return this.margin[0] > 0 || this.margin[1] > 0 || this.margin[2] > 0 || this.margin[3] > 0;
        };
        d.prototype.drawImage = function(y, _, T, k, X, nA, aA, sA, FA) {
            var QA = this.pdf.getImageProperties(y), xA = 1, LA = 1, jA = 1, gA = 1;
            k !== void 0 && sA !== void 0 && (jA = sA / k, gA = FA / X, xA = QA.width / k * sA / k, LA = QA.height / X * FA / X), nA === void 0 && (nA = _, aA = T, _ = 0, T = 0), k !== void 0 && sA === void 0 && (sA = k, FA = X), k === void 0 && sA === void 0 && (sA = QA.width, FA = QA.height);
            for(var P, ZA = this.ctx.transform.decompose(), PA = eA(ZA.rotate.shx), CA = new u, yA = (CA = (CA = (CA = CA.multiply(ZA.translate)).multiply(ZA.skew)).multiply(ZA.scale)).applyToRectangle(new c(nA - _ * jA, aA - T * gA, k * xA, X * LA)), HA = N.call(this, yA), IA = [], MA = 0; MA < HA.length; MA += 1)IA.indexOf(HA[MA]) === -1 && IA.push(HA[MA]);
            if (R(IA), this.autoPaging) for(var XA = IA[0], ee = IA[IA.length - 1], te = XA; te < ee + 1; te++){
                this.pdf.setPage(te);
                var se = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1], pe = te === 1 ? this.posY + this.margin[0] : this.margin[0], qA = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], re = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2], SA = te === 1 ? 0 : qA + (te - 2) * re;
                if (this.ctx.clip_path.length !== 0) {
                    var st = this.path;
                    P = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = x(P, this.posX + this.margin[3], -SA + pe + this.ctx.prevPageLastElemOffset), Z.call(this, "fill", !0), this.path = st;
                }
                var ce = JSON.parse(JSON.stringify(yA));
                ce = x([
                    ce
                ], this.posX + this.margin[3], -SA + pe + this.ctx.prevPageLastElemOffset)[0];
                var Xt = (te > XA || te < ee) && U.call(this);
                Xt && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], se, re, null).clip().discardPath()), this.pdf.addImage(y, "JPEG", ce.x, ce.y, ce.w, ce.h, null, null, PA), Xt && this.pdf.restoreGraphicsState();
            }
            else this.pdf.addImage(y, "JPEG", yA.x, yA.y, yA.w, yA.h, null, null, PA);
        };
        var N = function(y, _, T) {
            var k = [];
            _ = _ || this.pdf.internal.pageSize.width, T = T || this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];
            var X = this.posY + this.ctx.prevPageLastElemOffset;
            switch(y.type){
                default:
                case "mt":
                case "lt":
                    k.push(Math.floor((y.y + X) / T) + 1);
                    break;
                case "arc":
                    k.push(Math.floor((y.y + X - y.radius) / T) + 1), k.push(Math.floor((y.y + X + y.radius) / T) + 1);
                    break;
                case "qct":
                    var nA = lA(this.ctx.lastPoint.x, this.ctx.lastPoint.y, y.x1, y.y1, y.x, y.y);
                    k.push(Math.floor((nA.y + X) / T) + 1), k.push(Math.floor((nA.y + nA.h + X) / T) + 1);
                    break;
                case "bct":
                    var aA = hA(this.ctx.lastPoint.x, this.ctx.lastPoint.y, y.x1, y.y1, y.x2, y.y2, y.x, y.y);
                    k.push(Math.floor((aA.y + X) / T) + 1), k.push(Math.floor((aA.y + aA.h + X) / T) + 1);
                    break;
                case "rect":
                    k.push(Math.floor((y.y + X) / T) + 1), k.push(Math.floor((y.y + y.h + X) / T) + 1);
            }
            for(var sA = 0; sA < k.length; sA += 1)for(; this.pdf.internal.getNumberOfPages() < k[sA];)Q.call(this);
            return k;
        }, Q = function() {
            var y = this.fillStyle, _ = this.strokeStyle, T = this.font, k = this.lineCap, X = this.lineWidth, nA = this.lineJoin;
            this.pdf.addPage(), this.fillStyle = y, this.strokeStyle = _, this.font = T, this.lineCap = k, this.lineWidth = X, this.lineJoin = nA;
        }, x = function(y, _, T) {
            for(var k = 0; k < y.length; k++)switch(y[k].type){
                case "bct":
                    y[k].x2 += _, y[k].y2 += T;
                case "qct":
                    y[k].x1 += _, y[k].y1 += T;
                case "mt":
                case "lt":
                case "arc":
                default:
                    y[k].x += _, y[k].y += T;
            }
            return y;
        }, R = function(y) {
            return y.sort(function(_, T) {
                return _ - T;
            });
        }, Y = function(y, _) {
            for(var T, k, X = this.fillStyle, nA = this.strokeStyle, aA = this.lineCap, sA = this.lineWidth, FA = Math.abs(sA * this.ctx.transform.scaleX), QA = this.lineJoin, xA = JSON.parse(JSON.stringify(this.path)), LA = JSON.parse(JSON.stringify(this.path)), jA = [], gA = 0; gA < LA.length; gA++)if (LA[gA].x !== void 0) for(var P = N.call(this, LA[gA]), ZA = 0; ZA < P.length; ZA += 1)jA.indexOf(P[ZA]) === -1 && jA.push(P[ZA]);
            for(var PA = 0; PA < jA.length; PA++)for(; this.pdf.internal.getNumberOfPages() < jA[PA];)Q.call(this);
            if (R(jA), this.autoPaging) for(var CA = jA[0], yA = jA[jA.length - 1], HA = CA; HA < yA + 1; HA++){
                this.pdf.setPage(HA), this.fillStyle = X, this.strokeStyle = nA, this.lineCap = aA, this.lineWidth = FA, this.lineJoin = QA;
                var IA = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1], MA = HA === 1 ? this.posY + this.margin[0] : this.margin[0], XA = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], ee = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2], te = HA === 1 ? 0 : XA + (HA - 2) * ee;
                if (this.ctx.clip_path.length !== 0) {
                    var se = this.path;
                    T = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = x(T, this.posX + this.margin[3], -te + MA + this.ctx.prevPageLastElemOffset), Z.call(this, y, !0), this.path = se;
                }
                if (k = JSON.parse(JSON.stringify(xA)), this.path = x(k, this.posX + this.margin[3], -te + MA + this.ctx.prevPageLastElemOffset), _ === !1 || HA === 0) {
                    var pe = (HA > CA || HA < yA) && U.call(this);
                    pe && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], IA, ee, null).clip().discardPath()), Z.call(this, y, _), pe && this.pdf.restoreGraphicsState();
                }
                this.lineWidth = sA;
            }
            else this.lineWidth = FA, Z.call(this, y, _), this.lineWidth = sA;
            this.path = xA;
        }, Z = function(y, _) {
            if ((y !== "stroke" || _ || !L.call(this)) && (y === "stroke" || _ || !B.call(this))) {
                for(var T, k, X = [], nA = this.path, aA = 0; aA < nA.length; aA++){
                    var sA = nA[aA];
                    switch(sA.type){
                        case "begin":
                            X.push({
                                begin: !0
                            });
                            break;
                        case "close":
                            X.push({
                                close: !0
                            });
                            break;
                        case "mt":
                            X.push({
                                start: sA,
                                deltas: [],
                                abs: []
                            });
                            break;
                        case "lt":
                            var FA = X.length;
                            if (nA[aA - 1] && !isNaN(nA[aA - 1].x) && (T = [
                                sA.x - nA[aA - 1].x,
                                sA.y - nA[aA - 1].y
                            ], FA > 0)) {
                                for(; FA >= 0; FA--)if (X[FA - 1].close !== !0 && X[FA - 1].begin !== !0) {
                                    X[FA - 1].deltas.push(T), X[FA - 1].abs.push(sA);
                                    break;
                                }
                            }
                            break;
                        case "bct":
                            T = [
                                sA.x1 - nA[aA - 1].x,
                                sA.y1 - nA[aA - 1].y,
                                sA.x2 - nA[aA - 1].x,
                                sA.y2 - nA[aA - 1].y,
                                sA.x - nA[aA - 1].x,
                                sA.y - nA[aA - 1].y
                            ], X[X.length - 1].deltas.push(T);
                            break;
                        case "qct":
                            var QA = nA[aA - 1].x + 2 / 3 * (sA.x1 - nA[aA - 1].x), xA = nA[aA - 1].y + 2 / 3 * (sA.y1 - nA[aA - 1].y), LA = sA.x + 2 / 3 * (sA.x1 - sA.x), jA = sA.y + 2 / 3 * (sA.y1 - sA.y), gA = sA.x, P = sA.y;
                            T = [
                                QA - nA[aA - 1].x,
                                xA - nA[aA - 1].y,
                                LA - nA[aA - 1].x,
                                jA - nA[aA - 1].y,
                                gA - nA[aA - 1].x,
                                P - nA[aA - 1].y
                            ], X[X.length - 1].deltas.push(T);
                            break;
                        case "arc":
                            X.push({
                                deltas: [],
                                abs: [],
                                arc: !0
                            }), Array.isArray(X[X.length - 1].abs) && X[X.length - 1].abs.push(sA);
                    }
                }
                k = _ ? null : y === "stroke" ? "stroke" : "fill";
                for(var ZA = !1, PA = 0; PA < X.length; PA++)if (X[PA].arc) for(var CA = X[PA].abs, yA = 0; yA < CA.length; yA++){
                    var HA = CA[yA];
                    HA.type === "arc" ? O.call(this, HA.x, HA.y, HA.radius, HA.startAngle, HA.endAngle, HA.counterclockwise, void 0, _, !ZA) : K.call(this, HA.x, HA.y), ZA = !0;
                }
                else if (X[PA].close === !0) this.pdf.internal.out("h"), ZA = !1;
                else if (X[PA].begin !== !0) {
                    var IA = X[PA].start.x, MA = X[PA].start.y;
                    M.call(this, X[PA].deltas, IA, MA), ZA = !0;
                }
                k && W.call(this, k), _ && uA.call(this);
            }
        }, $ = function(y) {
            var _ = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor, T = _ * (this.pdf.internal.getLineHeightFactor() - 1);
            switch(this.ctx.textBaseline){
                case "bottom":
                    return y - T;
                case "top":
                    return y + _ - T;
                case "hanging":
                    return y + _ - 2 * T;
                case "middle":
                    return y + _ / 2 - T;
                case "ideographic":
                    return y;
                case "alphabetic":
                default:
                    return y;
            }
        }, J = function(y) {
            return y + this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor * (this.pdf.internal.getLineHeightFactor() - 1);
        };
        d.prototype.createLinearGradient = function() {
            var y = function() {};
            return y.colorStops = [], y.addColorStop = function(_, T) {
                this.colorStops.push([
                    _,
                    T
                ]);
            }, y.getColor = function() {
                return this.colorStops.length === 0 ? "#000000" : this.colorStops[0][1];
            }, y.isCanvasGradient = !0, y;
        }, d.prototype.createPattern = function() {
            return this.createLinearGradient();
        }, d.prototype.createRadialGradient = function() {
            return this.createLinearGradient();
        };
        var O = function(y, _, T, k, X, nA, aA, sA, FA) {
            for(var QA = iA.call(this, T, k, X, nA), xA = 0; xA < QA.length; xA++){
                var LA = QA[xA];
                xA === 0 && (FA ? I.call(this, LA.x1 + y, LA.y1 + _) : K.call(this, LA.x1 + y, LA.y1 + _)), oA.call(this, y, _, LA.x2, LA.y2, LA.x3, LA.y3, LA.x4, LA.y4);
            }
            sA ? uA.call(this) : W.call(this, aA);
        }, W = function(y) {
            switch(y){
                case "stroke":
                    this.pdf.internal.out("S");
                    break;
                case "fill":
                    this.pdf.internal.out("f");
            }
        }, uA = function() {
            this.pdf.clip(), this.pdf.discardPath();
        }, I = function(y, _) {
            this.pdf.internal.out(e(y) + " " + r(_) + " m");
        }, H = function(y) {
            var _;
            switch(y.align){
                case "right":
                case "end":
                    _ = "right";
                    break;
                case "center":
                    _ = "center";
                    break;
                case "left":
                case "start":
                default:
                    _ = "left";
            }
            var T = this.pdf.getTextDimensions(y.text), k = $.call(this, y.y), X = J.call(this, k) - T.h, nA = this.ctx.transform.applyToPoint(new s(y.x, k)), aA = this.ctx.transform.decompose(), sA = new u;
            sA = (sA = (sA = sA.multiply(aA.translate)).multiply(aA.skew)).multiply(aA.scale);
            for(var FA, QA, xA, LA = this.ctx.transform.applyToRectangle(new c(y.x, k, T.w, T.h)), jA = sA.applyToRectangle(new c(y.x, X, T.w, T.h)), gA = N.call(this, jA), P = [], ZA = 0; ZA < gA.length; ZA += 1)P.indexOf(gA[ZA]) === -1 && P.push(gA[ZA]);
            if (R(P), this.autoPaging) for(var PA = P[0], CA = P[P.length - 1], yA = PA; yA < CA + 1; yA++){
                this.pdf.setPage(yA);
                var HA = yA === 1 ? this.posY + this.margin[0] : this.margin[0], IA = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2], MA = this.pdf.internal.pageSize.height - this.margin[2], XA = MA - this.margin[0], ee = this.pdf.internal.pageSize.width - this.margin[1], te = ee - this.margin[3], se = yA === 1 ? 0 : IA + (yA - 2) * XA;
                if (this.ctx.clip_path.length !== 0) {
                    var pe = this.path;
                    FA = JSON.parse(JSON.stringify(this.ctx.clip_path)), this.path = x(FA, this.posX + this.margin[3], -1 * se + HA), Z.call(this, "fill", !0), this.path = pe;
                }
                var qA = x([
                    JSON.parse(JSON.stringify(jA))
                ], this.posX + this.margin[3], -se + HA + this.ctx.prevPageLastElemOffset)[0];
                y.scale >= .01 && (QA = this.pdf.internal.getFontSize(), this.pdf.setFontSize(QA * y.scale), xA = this.lineWidth, this.lineWidth = xA * y.scale);
                var re = this.autoPaging !== "text";
                if (re || qA.y + qA.h <= MA) {
                    if (re || qA.y >= HA && qA.x <= ee) {
                        var SA = re ? y.text : this.pdf.splitTextToSize(y.text, y.maxWidth || ee - qA.x)[0], st = x([
                            JSON.parse(JSON.stringify(LA))
                        ], this.posX + this.margin[3], -se + HA + this.ctx.prevPageLastElemOffset)[0], ce = re && (yA > PA || yA < CA) && U.call(this);
                        ce && (this.pdf.saveGraphicsState(), this.pdf.rect(this.margin[3], this.margin[0], te, XA, null).clip().discardPath()), this.pdf.text(SA, st.x, st.y, {
                            angle: y.angle,
                            align: _,
                            renderingMode: y.renderingMode
                        }), ce && this.pdf.restoreGraphicsState();
                    }
                } else qA.y < MA && (this.ctx.prevPageLastElemOffset += MA - qA.y);
                y.scale >= .01 && (this.pdf.setFontSize(QA), this.lineWidth = xA);
            }
            else y.scale >= .01 && (QA = this.pdf.internal.getFontSize(), this.pdf.setFontSize(QA * y.scale), xA = this.lineWidth, this.lineWidth = xA * y.scale), this.pdf.text(y.text, nA.x + this.posX, nA.y + this.posY, {
                angle: y.angle,
                align: _,
                renderingMode: y.renderingMode,
                maxWidth: y.maxWidth
            }), y.scale >= .01 && (this.pdf.setFontSize(QA), this.lineWidth = xA);
        }, K = function(y, _, T, k) {
            T = T || 0, k = k || 0, this.pdf.internal.out(e(y + T) + " " + r(_ + k) + " l");
        }, M = function(y, _, T) {
            return this.pdf.lines(y, _, T, null, null);
        }, oA = function(y, _, T, k, X, nA, aA, sA) {
            this.pdf.internal.out([
                A(n(T + y)),
                A(i(k + _)),
                A(n(X + y)),
                A(i(nA + _)),
                A(n(aA + y)),
                A(i(sA + _)),
                "c"
            ].join(" "));
        }, iA = function(y, _, T, k) {
            for(var X = 2 * Math.PI, nA = Math.PI / 2; _ > T;)_ -= X;
            var aA = Math.abs(T - _);
            aA < X && k && (aA = X - aA);
            for(var sA = [], FA = k ? -1 : 1, QA = _; aA > 1e-5;){
                var xA = QA + FA * Math.min(aA, nA);
                sA.push(cA.call(this, y, QA, xA)), aA -= Math.abs(xA - QA), QA = xA;
            }
            return sA;
        }, cA = function(y, _, T) {
            var k = (T - _) / 2, X = y * Math.cos(k), nA = y * Math.sin(k), aA = X, sA = -nA, FA = aA * aA + sA * sA, QA = FA + aA * X + sA * nA, xA = 4 / 3 * (Math.sqrt(2 * FA * QA) - QA) / (aA * nA - sA * X), LA = aA - xA * sA, jA = sA + xA * aA, gA = LA, P = -jA, ZA = k + _, PA = Math.cos(ZA), CA = Math.sin(ZA);
            return {
                x1: y * Math.cos(_),
                y1: y * Math.sin(_),
                x2: LA * PA - jA * CA,
                y2: LA * CA + jA * PA,
                x3: gA * PA - P * CA,
                y3: gA * CA + P * PA,
                x4: y * Math.cos(T),
                y4: y * Math.sin(T)
            };
        }, eA = function(y) {
            return 180 * y / Math.PI;
        }, lA = function(y, _, T, k, X, nA) {
            var aA = y + .5 * (T - y), sA = _ + .5 * (k - _), FA = X + .5 * (T - X), QA = nA + .5 * (k - nA), xA = Math.min(y, X, aA, FA), LA = Math.max(y, X, aA, FA), jA = Math.min(_, nA, sA, QA), gA = Math.max(_, nA, sA, QA);
            return new c(xA, jA, LA - xA, gA - jA);
        }, hA = function(y, _, T, k, X, nA, aA, sA) {
            var FA, QA, xA, LA, jA, gA, P, ZA, PA, CA, yA, HA, IA, MA, XA = T - y, ee = k - _, te = X - T, se = nA - k, pe = aA - X, qA = sA - nA;
            for(QA = 0; QA < 41; QA++)PA = (P = (xA = y + (FA = QA / 40) * XA) + FA * ((jA = T + FA * te) - xA)) + FA * (jA + FA * (X + FA * pe - jA) - P), CA = (ZA = (LA = _ + FA * ee) + FA * ((gA = k + FA * se) - LA)) + FA * (gA + FA * (nA + FA * qA - gA) - ZA), QA == 0 ? (yA = PA, HA = CA, IA = PA, MA = CA) : (yA = Math.min(yA, PA), HA = Math.min(HA, CA), IA = Math.max(IA, PA), MA = Math.max(MA, CA));
            return new c(Math.round(yA), Math.round(HA), Math.round(IA - yA), Math.round(MA - HA));
        }, UA = function() {
            if (this.prevLineDash || this.ctx.lineDash.length || this.ctx.lineDashOffset) {
                var y, _, T = (y = this.ctx.lineDash, _ = this.ctx.lineDashOffset, JSON.stringify({
                    lineDash: y,
                    lineDashOffset: _
                }));
                this.prevLineDash !== T && (this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset), this.prevLineDash = T);
            }
        };
    })(GA.API), function(t) {
        var A = function(i) {
            var s, c, u, h, g, d, w, B, L, U;
            for(c = [], u = 0, h = (i += s = "\0\0\0\0".slice(i.length % 4 || 4)).length; h > u; u += 4)(g = (i.charCodeAt(u) << 24) + (i.charCodeAt(u + 1) << 16) + (i.charCodeAt(u + 2) << 8) + i.charCodeAt(u + 3)) !== 0 ? (d = (g = ((g = ((g = ((g = (g - (U = g % 85)) / 85) - (L = g % 85)) / 85) - (B = g % 85)) / 85) - (w = g % 85)) / 85) % 85, c.push(d + 33, w + 33, B + 33, L + 33, U + 33)) : c.push(122);
            return function(N, Q) {
                for(var x = Q; x > 0; x--)N.pop();
            }(c, s.length), String.fromCharCode.apply(String, c) + "~>";
        }, e = function(i) {
            var s, c, u, h, g, d = String, w = "length", B = 255, L = "charCodeAt", U = "slice", N = "replace";
            for(i[U](-2), i = i[U](0, -2)[N](/\s/g, "")[N]("z", "!!!!!"), u = [], h = 0, g = (i += s = "uuuuu"[U](i[w] % 5 || 5))[w]; g > h; h += 5)c = 52200625 * (i[L](h) - 33) + 614125 * (i[L](h + 1) - 33) + 7225 * (i[L](h + 2) - 33) + 85 * (i[L](h + 3) - 33) + (i[L](h + 4) - 33), u.push(B & c >> 24, B & c >> 16, B & c >> 8, B & c);
            return function(Q, x) {
                for(var R = x; R > 0; R--)Q.pop();
            }(u, s[w]), d.fromCharCode.apply(d, u);
        }, r = function(i) {
            var s = new RegExp(/^([0-9A-Fa-f]{2})+$/);
            if ((i = i.replace(/\s/g, "")).indexOf(">") !== -1 && (i = i.substr(0, i.indexOf(">"))), i.length % 2 && (i += "0"), s.test(i) === !1) return "";
            for(var c = "", u = 0; u < i.length; u += 2)c += String.fromCharCode("0x" + (i[u] + i[u + 1]));
            return c;
        }, n = function(i) {
            for(var s = new Uint8Array(i.length), c = i.length; c--;)s[c] = i.charCodeAt(c);
            return i = (s = Nu(s)).reduce(function(u, h) {
                return u + String.fromCharCode(h);
            }, "");
        };
        t.processDataByFilters = function(i, s) {
            var c = 0, u = i || "", h = [];
            for(typeof (s = s || []) == "string" && (s = [
                s
            ]), c = 0; c < s.length; c += 1)switch(s[c]){
                case "ASCII85Decode":
                case "/ASCII85Decode":
                    u = e(u), h.push("/ASCII85Encode");
                    break;
                case "ASCII85Encode":
                case "/ASCII85Encode":
                    u = A(u), h.push("/ASCII85Decode");
                    break;
                case "ASCIIHexDecode":
                case "/ASCIIHexDecode":
                    u = r(u), h.push("/ASCIIHexEncode");
                    break;
                case "ASCIIHexEncode":
                case "/ASCIIHexEncode":
                    u = u.split("").map(function(g) {
                        return ("0" + g.charCodeAt().toString(16)).slice(-2);
                    }).join("") + ">", h.push("/ASCIIHexDecode");
                    break;
                case "FlateEncode":
                case "/FlateEncode":
                    u = n(u), h.push("/FlateDecode");
                    break;
                default:
                    throw new Error('The filter: "' + s[c] + '" is not implemented');
            }
            return {
                data: u,
                reverseChain: h.reverse().join(" ")
            };
        };
    }(GA.API), function(t) {
        t.loadFile = function(A, e, r) {
            return function(n, i, s) {
                i = i !== !1, s = typeof s == "function" ? s : function() {};
                var c = void 0;
                try {
                    c = function(u, h, g) {
                        var d = new XMLHttpRequest, w = 0, B = function(L) {
                            var U = L.length, N = [], Q = String.fromCharCode;
                            for(w = 0; w < U; w += 1)N.push(Q(255 & L.charCodeAt(w)));
                            return N.join("");
                        };
                        if (d.open("GET", u, !h), d.overrideMimeType("text/plain; charset=x-user-defined"), h === !1 && (d.onload = function() {
                            d.status === 200 ? g(B(this.responseText)) : g(void 0);
                        }), d.send(null), h && d.status === 200) return B(d.responseText);
                    }(n, i, s);
                } catch  {}
                return c;
            }(A, e, r);
        }, t.loadImageFile = t.loadFile;
    }(GA.API), function(t) {
        function A() {
            return (VA.html2canvas ? Promise.resolve(VA.html2canvas) : iu(()=>Promise.resolve().then(()=>Gp), void 0)).catch(function(s) {
                return Promise.reject(new Error("Could not load html2canvas: " + s));
            }).then(function(s) {
                return s.default ? s.default : s;
            });
        }
        function e() {
            return (VA.DOMPurify ? Promise.resolve(VA.DOMPurify) : iu(()=>import("./purify.es-CQJ0hv7W.js"), [])).catch(function(s) {
                return Promise.reject(new Error("Could not load dompurify: " + s));
            }).then(function(s) {
                return s.default ? s.default : s;
            });
        }
        var r = function(s) {
            var c = de(s);
            return c === "undefined" ? "undefined" : c === "string" || s instanceof String ? "string" : c === "number" || s instanceof Number ? "number" : c === "function" || s instanceof Function ? "function" : s && s.constructor === Array ? "array" : s && s.nodeType === 1 ? "element" : c === "object" ? "object" : "unknown";
        }, n = function(s, c) {
            var u = document.createElement(s);
            for(var h in c.className && (u.className = c.className), c.innerHTML && c.dompurify && (u.innerHTML = c.dompurify.sanitize(c.innerHTML)), c.style)u.style[h] = c.style[h];
            return u;
        }, i = function s(c) {
            var u = Object.assign(s.convert(Promise.resolve()), JSON.parse(JSON.stringify(s.template))), h = s.convert(Promise.resolve(), u);
            return h = (h = h.setProgress(1, s, 1, [
                s
            ])).set(c);
        };
        (i.prototype = Object.create(Promise.prototype)).constructor = i, i.convert = function(s, c) {
            return s.__proto__ = c || i.prototype, s;
        }, i.template = {
            prop: {
                src: null,
                container: null,
                overlay: null,
                canvas: null,
                img: null,
                pdf: null,
                pageSize: null,
                callback: function() {}
            },
            progress: {
                val: 0,
                state: null,
                n: 0,
                stack: []
            },
            opt: {
                filename: "file.pdf",
                margin: [
                    0,
                    0,
                    0,
                    0
                ],
                enableLinks: !0,
                x: 0,
                y: 0,
                html2canvas: {},
                jsPDF: {},
                backgroundColor: "transparent"
            }
        }, i.prototype.from = function(s, c) {
            return this.then(function() {
                switch(c = c || function(u) {
                    switch(r(u)){
                        case "string":
                            return "string";
                        case "element":
                            return u.nodeName.toLowerCase() === "canvas" ? "canvas" : "element";
                        default:
                            return "unknown";
                    }
                }(s)){
                    case "string":
                        return this.then(e).then(function(u) {
                            return this.set({
                                src: n("div", {
                                    innerHTML: s,
                                    dompurify: u
                                })
                            });
                        });
                    case "element":
                        return this.set({
                            src: s
                        });
                    case "canvas":
                        return this.set({
                            canvas: s
                        });
                    case "img":
                        return this.set({
                            img: s
                        });
                    default:
                        return this.error("Unknown source type.");
                }
            });
        }, i.prototype.to = function(s) {
            switch(s){
                case "container":
                    return this.toContainer();
                case "canvas":
                    return this.toCanvas();
                case "img":
                    return this.toImg();
                case "pdf":
                    return this.toPdf();
                default:
                    return this.error("Invalid target.");
            }
        }, i.prototype.toContainer = function() {
            return this.thenList([
                function() {
                    return this.prop.src || this.error("Cannot duplicate - no source HTML.");
                },
                function() {
                    return this.prop.pageSize || this.setPageSize();
                }
            ]).then(function() {
                var s = {
                    position: "relative",
                    display: "inline-block",
                    width: (typeof this.opt.width != "number" || isNaN(this.opt.width) || typeof this.opt.windowWidth != "number" || isNaN(this.opt.windowWidth) ? Math.max(this.prop.src.clientWidth, this.prop.src.scrollWidth, this.prop.src.offsetWidth) : this.opt.windowWidth) + "px",
                    left: 0,
                    right: 0,
                    top: 0,
                    margin: "auto",
                    backgroundColor: this.opt.backgroundColor
                }, c = function u(h, g) {
                    for(var d = h.nodeType === 3 ? document.createTextNode(h.nodeValue) : h.cloneNode(!1), w = h.firstChild; w; w = w.nextSibling)g !== !0 && w.nodeType === 1 && w.nodeName === "SCRIPT" || d.appendChild(u(w, g));
                    return h.nodeType === 1 && (h.nodeName === "CANVAS" ? (d.width = h.width, d.height = h.height, d.getContext("2d").drawImage(h, 0, 0)) : h.nodeName !== "TEXTAREA" && h.nodeName !== "SELECT" || (d.value = h.value), d.addEventListener("load", function() {
                        d.scrollTop = h.scrollTop, d.scrollLeft = h.scrollLeft;
                    }, !0)), d;
                }(this.prop.src, this.opt.html2canvas.javascriptEnabled);
                c.tagName === "BODY" && (s.height = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight) + "px"), this.prop.overlay = n("div", {
                    className: "html2pdf__overlay",
                    style: {
                        position: "fixed",
                        overflow: "hidden",
                        zIndex: 1e3,
                        left: "-100000px",
                        right: 0,
                        bottom: 0,
                        top: 0
                    }
                }), this.prop.container = n("div", {
                    className: "html2pdf__container",
                    style: s
                }), this.prop.container.appendChild(c), this.prop.container.firstChild.appendChild(n("div", {
                    style: {
                        clear: "both",
                        border: "0 none transparent",
                        margin: 0,
                        padding: 0,
                        height: 0
                    }
                })), this.prop.container.style.float = "none", this.prop.overlay.appendChild(this.prop.container), document.body.appendChild(this.prop.overlay), this.prop.container.firstChild.style.position = "relative", this.prop.container.height = Math.max(this.prop.container.firstChild.clientHeight, this.prop.container.firstChild.scrollHeight, this.prop.container.firstChild.offsetHeight) + "px";
            });
        }, i.prototype.toCanvas = function() {
            var s = [
                function() {
                    return document.body.contains(this.prop.container) || this.toContainer();
                }
            ];
            return this.thenList(s).then(A).then(function(c) {
                var u = Object.assign({}, this.opt.html2canvas);
                return delete u.onrendered, c(this.prop.container, u);
            }).then(function(c) {
                (this.opt.html2canvas.onrendered || function() {})(c), this.prop.canvas = c, document.body.removeChild(this.prop.overlay);
            });
        }, i.prototype.toContext2d = function() {
            var s = [
                function() {
                    return document.body.contains(this.prop.container) || this.toContainer();
                }
            ];
            return this.thenList(s).then(A).then(function(c) {
                var u = this.opt.jsPDF, h = this.opt.fontFaces, g = typeof this.opt.width != "number" || isNaN(this.opt.width) || typeof this.opt.windowWidth != "number" || isNaN(this.opt.windowWidth) ? 1 : this.opt.width / this.opt.windowWidth, d = Object.assign({
                    async: !0,
                    allowTaint: !0,
                    scale: g,
                    scrollX: this.opt.scrollX || 0,
                    scrollY: this.opt.scrollY || 0,
                    backgroundColor: "#ffffff",
                    imageTimeout: 15e3,
                    logging: !0,
                    proxy: null,
                    removeContainer: !0,
                    foreignObjectRendering: !1,
                    useCORS: !1
                }, this.opt.html2canvas);
                if (delete d.onrendered, u.context2d.autoPaging = this.opt.autoPaging === void 0 || this.opt.autoPaging, u.context2d.posX = this.opt.x, u.context2d.posY = this.opt.y, u.context2d.margin = this.opt.margin, u.context2d.fontFaces = h, h) for(var w = 0; w < h.length; ++w){
                    var B = h[w], L = B.src.find(function(U) {
                        return U.format === "truetype";
                    });
                    L && u.addFont(L.url, B.ref.name, B.ref.style);
                }
                return d.windowHeight = d.windowHeight || 0, d.windowHeight = d.windowHeight == 0 ? Math.max(this.prop.container.clientHeight, this.prop.container.scrollHeight, this.prop.container.offsetHeight) : d.windowHeight, u.context2d.save(!0), c(this.prop.container, d);
            }).then(function(c) {
                this.opt.jsPDF.context2d.restore(!0), (this.opt.html2canvas.onrendered || function() {})(c), this.prop.canvas = c, document.body.removeChild(this.prop.overlay);
            });
        }, i.prototype.toImg = function() {
            return this.thenList([
                function() {
                    return this.prop.canvas || this.toCanvas();
                }
            ]).then(function() {
                var s = this.prop.canvas.toDataURL("image/" + this.opt.image.type, this.opt.image.quality);
                this.prop.img = document.createElement("img"), this.prop.img.src = s;
            });
        }, i.prototype.toPdf = function() {
            return this.thenList([
                function() {
                    return this.toContext2d();
                }
            ]).then(function() {
                this.prop.pdf = this.prop.pdf || this.opt.jsPDF;
            });
        }, i.prototype.output = function(s, c, u) {
            return (u = u || "pdf").toLowerCase() === "img" || u.toLowerCase() === "image" ? this.outputImg(s, c) : this.outputPdf(s, c);
        }, i.prototype.outputPdf = function(s, c) {
            return this.thenList([
                function() {
                    return this.prop.pdf || this.toPdf();
                }
            ]).then(function() {
                return this.prop.pdf.output(s, c);
            });
        }, i.prototype.outputImg = function(s) {
            return this.thenList([
                function() {
                    return this.prop.img || this.toImg();
                }
            ]).then(function() {
                switch(s){
                    case void 0:
                    case "img":
                        return this.prop.img;
                    case "datauristring":
                    case "dataurlstring":
                        return this.prop.img.src;
                    case "datauri":
                    case "dataurl":
                        return document.location.href = this.prop.img.src;
                    default:
                        throw 'Image output type "' + s + '" is not supported.';
                }
            });
        }, i.prototype.save = function(s) {
            return this.thenList([
                function() {
                    return this.prop.pdf || this.toPdf();
                }
            ]).set(s ? {
                filename: s
            } : null).then(function() {
                this.prop.pdf.save(this.opt.filename);
            });
        }, i.prototype.doCallback = function() {
            return this.thenList([
                function() {
                    return this.prop.pdf || this.toPdf();
                }
            ]).then(function() {
                this.prop.callback(this.prop.pdf);
            });
        }, i.prototype.set = function(s) {
            if (r(s) !== "object") return this;
            var c = Object.keys(s || {}).map(function(u) {
                if (u in i.template.prop) return function() {
                    this.prop[u] = s[u];
                };
                switch(u){
                    case "margin":
                        return this.setMargin.bind(this, s.margin);
                    case "jsPDF":
                        return function() {
                            return this.opt.jsPDF = s.jsPDF, this.setPageSize();
                        };
                    case "pageSize":
                        return this.setPageSize.bind(this, s.pageSize);
                    default:
                        return function() {
                            this.opt[u] = s[u];
                        };
                }
            }, this);
            return this.then(function() {
                return this.thenList(c);
            });
        }, i.prototype.get = function(s, c) {
            return this.then(function() {
                var u = s in i.template.prop ? this.prop[s] : this.opt[s];
                return c ? c(u) : u;
            });
        }, i.prototype.setMargin = function(s) {
            return this.then(function() {
                switch(r(s)){
                    case "number":
                        s = [
                            s,
                            s,
                            s,
                            s
                        ];
                    case "array":
                        if (s.length === 2 && (s = [
                            s[0],
                            s[1],
                            s[0],
                            s[1]
                        ]), s.length === 4) break;
                    default:
                        return this.error("Invalid margin array.");
                }
                this.opt.margin = s;
            }).then(this.setPageSize);
        }, i.prototype.setPageSize = function(s) {
            function c(u, h) {
                return Math.floor(u * h / 72 * 96);
            }
            return this.then(function() {
                (s = s || GA.getPageSize(this.opt.jsPDF)).hasOwnProperty("inner") || (s.inner = {
                    width: s.width - this.opt.margin[1] - this.opt.margin[3],
                    height: s.height - this.opt.margin[0] - this.opt.margin[2]
                }, s.inner.px = {
                    width: c(s.inner.width, s.k),
                    height: c(s.inner.height, s.k)
                }, s.inner.ratio = s.inner.height / s.inner.width), this.prop.pageSize = s;
            });
        }, i.prototype.setProgress = function(s, c, u, h) {
            return s != null && (this.progress.val = s), c != null && (this.progress.state = c), u != null && (this.progress.n = u), h != null && (this.progress.stack = h), this.progress.ratio = this.progress.val / this.progress.state, this;
        }, i.prototype.updateProgress = function(s, c, u, h) {
            return this.setProgress(s ? this.progress.val + s : null, c || null, u ? this.progress.n + u : null, h ? this.progress.stack.concat(h) : null);
        }, i.prototype.then = function(s, c) {
            var u = this;
            return this.thenCore(s, c, function(h, g) {
                return u.updateProgress(null, null, 1, [
                    h
                ]), Promise.prototype.then.call(this, function(d) {
                    return u.updateProgress(null, h), d;
                }).then(h, g).then(function(d) {
                    return u.updateProgress(1), d;
                });
            });
        }, i.prototype.thenCore = function(s, c, u) {
            u = u || Promise.prototype.then, s && (s = s.bind(this)), c && (c = c.bind(this));
            var h = Promise.toString().indexOf("[native code]") !== -1 && Promise.name === "Promise" ? this : i.convert(Object.assign({}, this), Promise.prototype), g = u.call(h, s, c);
            return i.convert(g, this.__proto__);
        }, i.prototype.thenExternal = function(s, c) {
            return Promise.prototype.then.call(this, s, c);
        }, i.prototype.thenList = function(s) {
            var c = this;
            return s.forEach(function(u) {
                c = c.thenCore(u);
            }), c;
        }, i.prototype.catch = function(s) {
            s && (s = s.bind(this));
            var c = Promise.prototype.catch.call(this, s);
            return i.convert(c, this);
        }, i.prototype.catchExternal = function(s) {
            return Promise.prototype.catch.call(this, s);
        }, i.prototype.error = function(s) {
            return this.then(function() {
                throw new Error(s);
            });
        }, i.prototype.using = i.prototype.set, i.prototype.saveAs = i.prototype.save, i.prototype.export = i.prototype.output, i.prototype.run = i.prototype.then, GA.getPageSize = function(s, c, u) {
            if (de(s) === "object") {
                var h = s;
                s = h.orientation, c = h.unit || c, u = h.format || u;
            }
            c = c || "mm", u = u || "a4", s = ("" + (s || "P")).toLowerCase();
            var g, d = ("" + u).toLowerCase(), w = {
                a0: [
                    2383.94,
                    3370.39
                ],
                a1: [
                    1683.78,
                    2383.94
                ],
                a2: [
                    1190.55,
                    1683.78
                ],
                a3: [
                    841.89,
                    1190.55
                ],
                a4: [
                    595.28,
                    841.89
                ],
                a5: [
                    419.53,
                    595.28
                ],
                a6: [
                    297.64,
                    419.53
                ],
                a7: [
                    209.76,
                    297.64
                ],
                a8: [
                    147.4,
                    209.76
                ],
                a9: [
                    104.88,
                    147.4
                ],
                a10: [
                    73.7,
                    104.88
                ],
                b0: [
                    2834.65,
                    4008.19
                ],
                b1: [
                    2004.09,
                    2834.65
                ],
                b2: [
                    1417.32,
                    2004.09
                ],
                b3: [
                    1000.63,
                    1417.32
                ],
                b4: [
                    708.66,
                    1000.63
                ],
                b5: [
                    498.9,
                    708.66
                ],
                b6: [
                    354.33,
                    498.9
                ],
                b7: [
                    249.45,
                    354.33
                ],
                b8: [
                    175.75,
                    249.45
                ],
                b9: [
                    124.72,
                    175.75
                ],
                b10: [
                    87.87,
                    124.72
                ],
                c0: [
                    2599.37,
                    3676.54
                ],
                c1: [
                    1836.85,
                    2599.37
                ],
                c2: [
                    1298.27,
                    1836.85
                ],
                c3: [
                    918.43,
                    1298.27
                ],
                c4: [
                    649.13,
                    918.43
                ],
                c5: [
                    459.21,
                    649.13
                ],
                c6: [
                    323.15,
                    459.21
                ],
                c7: [
                    229.61,
                    323.15
                ],
                c8: [
                    161.57,
                    229.61
                ],
                c9: [
                    113.39,
                    161.57
                ],
                c10: [
                    79.37,
                    113.39
                ],
                dl: [
                    311.81,
                    623.62
                ],
                letter: [
                    612,
                    792
                ],
                "government-letter": [
                    576,
                    756
                ],
                legal: [
                    612,
                    1008
                ],
                "junior-legal": [
                    576,
                    360
                ],
                ledger: [
                    1224,
                    792
                ],
                tabloid: [
                    792,
                    1224
                ],
                "credit-card": [
                    153,
                    243
                ]
            };
            switch(c){
                case "pt":
                    g = 1;
                    break;
                case "mm":
                    g = 72 / 25.4;
                    break;
                case "cm":
                    g = 72 / 2.54;
                    break;
                case "in":
                    g = 72;
                    break;
                case "px":
                    g = .75;
                    break;
                case "pc":
                case "em":
                    g = 12;
                    break;
                case "ex":
                    g = 6;
                    break;
                default:
                    throw "Invalid unit: " + c;
            }
            var B, L = 0, U = 0;
            if (w.hasOwnProperty(d)) L = w[d][1] / g, U = w[d][0] / g;
            else try {
                L = u[1], U = u[0];
            } catch  {
                throw new Error("Invalid format: " + u);
            }
            if (s === "p" || s === "portrait") s = "p", U > L && (B = U, U = L, L = B);
            else {
                if (s !== "l" && s !== "landscape") throw "Invalid orientation: " + s;
                s = "l", L > U && (B = U, U = L, L = B);
            }
            return {
                width: U,
                height: L,
                unit: c,
                k: g,
                orientation: s
            };
        }, t.html = function(s, c) {
            (c = c || {}).callback = c.callback || function() {}, c.html2canvas = c.html2canvas || {}, c.html2canvas.canvas = c.html2canvas.canvas || this.canvas, c.jsPDF = c.jsPDF || this, c.fontFaces = c.fontFaces ? c.fontFaces.map(Mu) : null;
            var u = new i(c);
            return c.worker ? u : u.from(s).doCallback();
        };
    }(GA.API), GA.API.addJS = function(t) {
        return Kf = t, this.internal.events.subscribe("postPutResources", function() {
            io = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/Names [(EmbeddedJS) " + (io + 1) + " 0 R]"), this.internal.out(">>"), this.internal.out("endobj"), Mf = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /JavaScript"), this.internal.out("/JS (" + Kf + ")"), this.internal.out(">>"), this.internal.out("endobj");
        }), this.internal.events.subscribe("putCatalog", function() {
            io !== void 0 && Mf !== void 0 && this.internal.out("/Names <</JavaScript " + io + " 0 R>>");
        }), this;
    }, function(t) {
        var A;
        t.events.push([
            "postPutResources",
            function() {
                var e = this, r = /^(\d+) 0 obj$/;
                if (this.outline.root.children.length > 0) for(var n = e.outline.render().split(/\r\n/), i = 0; i < n.length; i++){
                    var s = n[i], c = r.exec(s);
                    if (c != null) {
                        var u = c[1];
                        e.internal.newObjectDeferredBegin(u, !1);
                    }
                    e.internal.write(s);
                }
                if (this.outline.createNamedDestinations) {
                    var h = this.internal.pages.length, g = [];
                    for(i = 0; i < h; i++){
                        var d = e.internal.newObject();
                        g.push(d);
                        var w = e.internal.getPageInfo(i + 1);
                        e.internal.write("<< /D[" + w.objId + " 0 R /XYZ null null null]>> endobj");
                    }
                    var B = e.internal.newObject();
                    for(e.internal.write("<< /Names [ "), i = 0; i < g.length; i++)e.internal.write("(page_" + (i + 1) + ")" + g[i] + " 0 R");
                    e.internal.write(" ] >>", "endobj"), A = e.internal.newObject(), e.internal.write("<< /Dests " + B + " 0 R"), e.internal.write(">>", "endobj");
                }
            }
        ]), t.events.push([
            "putCatalog",
            function() {
                this.outline.root.children.length > 0 && (this.internal.write("/Outlines", this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations && this.internal.write("/Names " + A + " 0 R"));
            }
        ]), t.events.push([
            "initialized",
            function() {
                var e = this;
                e.outline = {
                    createNamedDestinations: !1,
                    root: {
                        children: []
                    }
                }, e.outline.add = function(r, n, i) {
                    var s = {
                        title: n,
                        options: i,
                        children: []
                    };
                    return r == null && (r = this.root), r.children.push(s), s;
                }, e.outline.render = function() {
                    return this.ctx = {}, this.ctx.val = "", this.ctx.pdf = e, this.genIds_r(this.root), this.renderRoot(this.root), this.renderItems(this.root), this.ctx.val;
                }, e.outline.genIds_r = function(r) {
                    r.id = e.internal.newObjectDeferred();
                    for(var n = 0; n < r.children.length; n++)this.genIds_r(r.children[n]);
                }, e.outline.renderRoot = function(r) {
                    this.objStart(r), this.line("/Type /Outlines"), r.children.length > 0 && (this.line("/First " + this.makeRef(r.children[0])), this.line("/Last " + this.makeRef(r.children[r.children.length - 1]))), this.line("/Count " + this.count_r({
                        count: 0
                    }, r)), this.objEnd();
                }, e.outline.renderItems = function(r) {
                    for(var n = this.ctx.pdf.internal.getVerticalCoordinateString, i = 0; i < r.children.length; i++){
                        var s = r.children[i];
                        this.objStart(s), this.line("/Title " + this.makeString(s.title)), this.line("/Parent " + this.makeRef(r)), i > 0 && this.line("/Prev " + this.makeRef(r.children[i - 1])), i < r.children.length - 1 && this.line("/Next " + this.makeRef(r.children[i + 1])), s.children.length > 0 && (this.line("/First " + this.makeRef(s.children[0])), this.line("/Last " + this.makeRef(s.children[s.children.length - 1])));
                        var c = this.count = this.count_r({
                            count: 0
                        }, s);
                        if (c > 0 && this.line("/Count " + c), s.options && s.options.pageNumber) {
                            var u = e.internal.getPageInfo(s.options.pageNumber);
                            this.line("/Dest [" + u.objId + " 0 R /XYZ 0 " + n(0) + " 0]");
                        }
                        this.objEnd();
                    }
                    for(var h = 0; h < r.children.length; h++)this.renderItems(r.children[h]);
                }, e.outline.line = function(r) {
                    this.ctx.val += r + `\r
`;
                }, e.outline.makeRef = function(r) {
                    return r.id + " 0 R";
                }, e.outline.makeString = function(r) {
                    return "(" + e.internal.pdfEscape(r) + ")";
                }, e.outline.objStart = function(r) {
                    this.ctx.val += `\r
` + r.id + ` 0 obj\r
<<\r
`;
                }, e.outline.objEnd = function() {
                    this.ctx.val += `>> \r
endobj\r
`;
                }, e.outline.count_r = function(r, n) {
                    for(var i = 0; i < n.children.length; i++)r.count++, this.count_r(r, n.children[i]);
                    return r.count;
                };
            }
        ]);
    }(GA.API), function(t) {
        var A = [
            192,
            193,
            194,
            195,
            196,
            197,
            198,
            199
        ];
        t.processJPEG = function(e, r, n, i, s, c) {
            var u, h = this.decode.DCT_DECODE, g = null;
            if (typeof e == "string" || this.__addimage__.isArrayBuffer(e) || this.__addimage__.isArrayBufferView(e)) {
                switch(e = s || e, e = this.__addimage__.isArrayBuffer(e) ? new Uint8Array(e) : e, (u = function(d) {
                    for(var w, B = 256 * d.charCodeAt(4) + d.charCodeAt(5), L = d.length, U = {
                        width: 0,
                        height: 0,
                        numcomponents: 1
                    }, N = 4; N < L; N += 2){
                        if (N += B, A.indexOf(d.charCodeAt(N + 1)) !== -1) {
                            w = 256 * d.charCodeAt(N + 5) + d.charCodeAt(N + 6), U = {
                                width: 256 * d.charCodeAt(N + 7) + d.charCodeAt(N + 8),
                                height: w,
                                numcomponents: d.charCodeAt(N + 9)
                            };
                            break;
                        }
                        B = 256 * d.charCodeAt(N + 2) + d.charCodeAt(N + 3);
                    }
                    return U;
                }(e = this.__addimage__.isArrayBufferView(e) ? this.__addimage__.arrayBufferToBinaryString(e) : e)).numcomponents){
                    case 1:
                        c = this.color_spaces.DEVICE_GRAY;
                        break;
                    case 4:
                        c = this.color_spaces.DEVICE_CMYK;
                        break;
                    case 3:
                        c = this.color_spaces.DEVICE_RGB;
                }
                g = {
                    data: e,
                    width: u.width,
                    height: u.height,
                    colorSpace: c,
                    bitsPerComponent: 8,
                    filter: h,
                    index: r,
                    alias: n
                };
            }
            return g;
        };
    }(GA.API);
    var bi, ao, kf, Rf, Gf, U5 = function() {
        var t, A, e;
        function r(i) {
            var s, c, u, h, g, d, w, B, L, U, N, Q, x, R;
            for(this.data = i, this.pos = 8, this.palette = [], this.imgData = [], this.transparency = {}, this.animation = null, this.text = {}, d = null;;){
                switch(s = this.readUInt32(), L = function() {
                    var Y, Z;
                    for(Z = [], Y = 0; Y < 4; ++Y)Z.push(String.fromCharCode(this.data[this.pos++]));
                    return Z;
                }.call(this).join("")){
                    case "IHDR":
                        this.width = this.readUInt32(), this.height = this.readUInt32(), this.bits = this.data[this.pos++], this.colorType = this.data[this.pos++], this.compressionMethod = this.data[this.pos++], this.filterMethod = this.data[this.pos++], this.interlaceMethod = this.data[this.pos++];
                        break;
                    case "acTL":
                        this.animation = {
                            numFrames: this.readUInt32(),
                            numPlays: this.readUInt32() || 1 / 0,
                            frames: []
                        };
                        break;
                    case "PLTE":
                        this.palette = this.read(s);
                        break;
                    case "fcTL":
                        d && this.animation.frames.push(d), this.pos += 4, d = {
                            width: this.readUInt32(),
                            height: this.readUInt32(),
                            xOffset: this.readUInt32(),
                            yOffset: this.readUInt32()
                        }, g = this.readUInt16(), h = this.readUInt16() || 100, d.delay = 1e3 * g / h, d.disposeOp = this.data[this.pos++], d.blendOp = this.data[this.pos++], d.data = [];
                        break;
                    case "IDAT":
                    case "fdAT":
                        for(L === "fdAT" && (this.pos += 4, s -= 4), i = d?.data || this.imgData, Q = 0; 0 <= s ? Q < s : Q > s; 0 <= s ? ++Q : --Q)i.push(this.data[this.pos++]);
                        break;
                    case "tRNS":
                        switch(this.transparency = {}, this.colorType){
                            case 3:
                                if (u = this.palette.length / 3, this.transparency.indexed = this.read(s), this.transparency.indexed.length > u) throw new Error("More transparent colors than palette size");
                                if ((U = u - this.transparency.indexed.length) > 0) for(x = 0; 0 <= U ? x < U : x > U; 0 <= U ? ++x : --x)this.transparency.indexed.push(255);
                                break;
                            case 0:
                                this.transparency.grayscale = this.read(s)[0];
                                break;
                            case 2:
                                this.transparency.rgb = this.read(s);
                        }
                        break;
                    case "tEXt":
                        w = (N = this.read(s)).indexOf(0), B = String.fromCharCode.apply(String, N.slice(0, w)), this.text[B] = String.fromCharCode.apply(String, N.slice(w + 1));
                        break;
                    case "IEND":
                        return d && this.animation.frames.push(d), this.colors = function() {
                            switch(this.colorType){
                                case 0:
                                case 3:
                                case 4:
                                    return 1;
                                case 2:
                                case 6:
                                    return 3;
                            }
                        }.call(this), this.hasAlphaChannel = (R = this.colorType) === 4 || R === 6, c = this.colors + (this.hasAlphaChannel ? 1 : 0), this.pixelBitlength = this.bits * c, this.colorSpace = function() {
                            switch(this.colors){
                                case 1:
                                    return "DeviceGray";
                                case 3:
                                    return "DeviceRGB";
                            }
                        }.call(this), void (this.imgData = new Uint8Array(this.imgData));
                    default:
                        this.pos += s;
                }
                if (this.pos += 4, this.pos > this.data.length) throw new Error("Incomplete or corrupt PNG file");
            }
        }
        r.prototype.read = function(i) {
            var s, c;
            for(c = [], s = 0; 0 <= i ? s < i : s > i; 0 <= i ? ++s : --s)c.push(this.data[this.pos++]);
            return c;
        }, r.prototype.readUInt32 = function() {
            return this.data[this.pos++] << 24 | this.data[this.pos++] << 16 | this.data[this.pos++] << 8 | this.data[this.pos++];
        }, r.prototype.readUInt16 = function() {
            return this.data[this.pos++] << 8 | this.data[this.pos++];
        }, r.prototype.decodePixels = function(i) {
            var s = this.pixelBitlength / 8, c = new Uint8Array(this.width * this.height * s), u = 0, h = this;
            if (i == null && (i = this.imgData), i.length === 0) return new Uint8Array(0);
            function g(d, w, B, L) {
                var U, N, Q, x, R, Y, Z, $, J, O, W, uA, I, H, K, M, oA, iA, cA, eA, lA, hA = Math.ceil((h.width - d) / B), UA = Math.ceil((h.height - w) / L), y = h.width == hA && h.height == UA;
                for(H = s * hA, uA = y ? c : new Uint8Array(H * UA), Y = i.length, I = 0, N = 0; I < UA && u < Y;){
                    switch(i[u++]){
                        case 0:
                            for(x = oA = 0; oA < H; x = oA += 1)uA[N++] = i[u++];
                            break;
                        case 1:
                            for(x = iA = 0; iA < H; x = iA += 1)U = i[u++], R = x < s ? 0 : uA[N - s], uA[N++] = (U + R) % 256;
                            break;
                        case 2:
                            for(x = cA = 0; cA < H; x = cA += 1)U = i[u++], Q = (x - x % s) / s, K = I && uA[(I - 1) * H + Q * s + x % s], uA[N++] = (K + U) % 256;
                            break;
                        case 3:
                            for(x = eA = 0; eA < H; x = eA += 1)U = i[u++], Q = (x - x % s) / s, R = x < s ? 0 : uA[N - s], K = I && uA[(I - 1) * H + Q * s + x % s], uA[N++] = (U + Math.floor((R + K) / 2)) % 256;
                            break;
                        case 4:
                            for(x = lA = 0; lA < H; x = lA += 1)U = i[u++], Q = (x - x % s) / s, R = x < s ? 0 : uA[N - s], I === 0 ? K = M = 0 : (K = uA[(I - 1) * H + Q * s + x % s], M = Q && uA[(I - 1) * H + (Q - 1) * s + x % s]), Z = R + K - M, $ = Math.abs(Z - R), O = Math.abs(Z - K), W = Math.abs(Z - M), J = $ <= O && $ <= W ? R : O <= W ? K : M, uA[N++] = (U + J) % 256;
                            break;
                        default:
                            throw new Error("Invalid filter algorithm: " + i[u - 1]);
                    }
                    if (!y) {
                        var _ = ((w + I * L) * h.width + d) * s, T = I * H;
                        for(x = 0; x < hA; x += 1){
                            for(var k = 0; k < s; k += 1)c[_++] = uA[T++];
                            _ += (B - 1) * s;
                        }
                    }
                    I++;
                }
            }
            return i = t5(i), h.interlaceMethod == 1 ? (g(0, 0, 8, 8), g(4, 0, 8, 8), g(0, 4, 4, 8), g(2, 0, 4, 4), g(0, 2, 2, 4), g(1, 0, 2, 2), g(0, 1, 1, 2)) : g(0, 0, 1, 1), c;
        }, r.prototype.decodePalette = function() {
            var i, s, c, u, h, g, d, w, B;
            for(c = this.palette, g = this.transparency.indexed || [], h = new Uint8Array((g.length || 0) + c.length), u = 0, i = 0, s = d = 0, w = c.length; d < w; s = d += 3)h[u++] = c[s], h[u++] = c[s + 1], h[u++] = c[s + 2], h[u++] = (B = g[i++]) != null ? B : 255;
            return h;
        }, r.prototype.copyToImageData = function(i, s) {
            var c, u, h, g, d, w, B, L, U, N, Q;
            if (u = this.colors, U = null, c = this.hasAlphaChannel, this.palette.length && (U = (Q = this._decodedPalette) != null ? Q : this._decodedPalette = this.decodePalette(), u = 4, c = !0), L = (h = i.data || i).length, d = U || s, g = w = 0, u === 1) for(; g < L;)B = U ? 4 * s[g / 4] : w, N = d[B++], h[g++] = N, h[g++] = N, h[g++] = N, h[g++] = c ? d[B++] : 255, w = B;
            else for(; g < L;)B = U ? 4 * s[g / 4] : w, h[g++] = d[B++], h[g++] = d[B++], h[g++] = d[B++], h[g++] = c ? d[B++] : 255, w = B;
        }, r.prototype.decode = function() {
            var i;
            return i = new Uint8Array(this.width * this.height * 4), this.copyToImageData(i, this.decodePixels()), i;
        };
        var n = function() {
            if (Object.prototype.toString.call(VA) === "[object Window]") {
                try {
                    A = VA.document.createElement("canvas"), e = A.getContext("2d");
                } catch  {
                    return !1;
                }
                return !0;
            }
            return !1;
        };
        return n(), t = function(i) {
            var s;
            if (n() === !0) return e.width = i.width, e.height = i.height, e.clearRect(0, 0, i.width, i.height), e.putImageData(i, 0, 0), (s = new Image).src = A.toDataURL(), s;
            throw new Error("This method requires a Browser with Canvas-capability.");
        }, r.prototype.decodeFrames = function(i) {
            var s, c, u, h, g, d, w, B;
            if (this.animation) {
                for(B = [], c = g = 0, d = (w = this.animation.frames).length; g < d; c = ++g)s = w[c], u = i.createImageData(s.width, s.height), h = this.decodePixels(new Uint8Array(s.data)), this.copyToImageData(u, h), s.imageData = u, B.push(s.image = t(u));
                return B;
            }
        }, r.prototype.renderFrame = function(i, s) {
            var c, u, h;
            return c = (u = this.animation.frames)[s], h = u[s - 1], s === 0 && i.clearRect(0, 0, this.width, this.height), h?.disposeOp === 1 ? i.clearRect(h.xOffset, h.yOffset, h.width, h.height) : h?.disposeOp === 2 && i.putImageData(h.imageData, h.xOffset, h.yOffset), c.blendOp === 0 && i.clearRect(c.xOffset, c.yOffset, c.width, c.height), i.drawImage(c.image, c.xOffset, c.yOffset);
        }, r.prototype.animate = function(i) {
            var s, c, u, h, g, d, w = this;
            return c = 0, d = this.animation, h = d.numFrames, u = d.frames, g = d.numPlays, (s = function() {
                var B, L;
                if (B = c++ % h, L = u[B], w.renderFrame(i, B), h > 1 && c / h < g) return w.animation._timeout = setTimeout(s, L.delay);
            })();
        }, r.prototype.stopAnimation = function() {
            var i;
            return clearTimeout((i = this.animation) != null ? i._timeout : void 0);
        }, r.prototype.render = function(i) {
            var s, c;
            return i._png && i._png.stopAnimation(), i._png = this, i.width = this.width, i.height = this.height, s = i.getContext("2d"), this.animation ? (this.decodeFrames(s), this.animate(s)) : (c = s.createImageData(this.width, this.height), this.copyToImageData(c, this.decodePixels()), s.putImageData(c, 0, 0));
        }, r;
    }();
    function y5(t) {
        var A = 0;
        if (t[A++] !== 71 || t[A++] !== 73 || t[A++] !== 70 || t[A++] !== 56 || (t[A++] + 1 & 253) != 56 || t[A++] !== 97) throw new Error("Invalid GIF 87a/89a header.");
        var e = t[A++] | t[A++] << 8, r = t[A++] | t[A++] << 8, n = t[A++], i = n >> 7, s = 1 << (7 & n) + 1;
        t[A++], t[A++];
        var c = null, u = null;
        i && (c = A, u = s, A += 3 * s);
        var h = !0, g = [], d = 0, w = null, B = 0, L = null;
        for(this.width = e, this.height = r; h && A < t.length;)switch(t[A++]){
            case 33:
                switch(t[A++]){
                    case 255:
                        if (t[A] !== 11 || t[A + 1] == 78 && t[A + 2] == 69 && t[A + 3] == 84 && t[A + 4] == 83 && t[A + 5] == 67 && t[A + 6] == 65 && t[A + 7] == 80 && t[A + 8] == 69 && t[A + 9] == 50 && t[A + 10] == 46 && t[A + 11] == 48 && t[A + 12] == 3 && t[A + 13] == 1 && t[A + 16] == 0) A += 14, L = t[A++] | t[A++] << 8, A++;
                        else for(A += 12;;){
                            if (!((I = t[A++]) >= 0)) throw Error("Invalid block size");
                            if (I === 0) break;
                            A += I;
                        }
                        break;
                    case 249:
                        if (t[A++] !== 4 || t[A + 4] !== 0) throw new Error("Invalid graphics extension block.");
                        var U = t[A++];
                        d = t[A++] | t[A++] << 8, w = t[A++], !(1 & U) && (w = null), B = U >> 2 & 7, A++;
                        break;
                    case 254:
                        for(;;){
                            if (!((I = t[A++]) >= 0)) throw Error("Invalid block size");
                            if (I === 0) break;
                            A += I;
                        }
                        break;
                    default:
                        throw new Error("Unknown graphic control label: 0x" + t[A - 1].toString(16));
                }
                break;
            case 44:
                var N = t[A++] | t[A++] << 8, Q = t[A++] | t[A++] << 8, x = t[A++] | t[A++] << 8, R = t[A++] | t[A++] << 8, Y = t[A++], Z = Y >> 6 & 1, $ = 1 << (7 & Y) + 1, J = c, O = u, W = !1;
                Y >> 7 && (W = !0, J = A, O = $, A += 3 * $);
                var uA = A;
                for(A++;;){
                    var I;
                    if (!((I = t[A++]) >= 0)) throw Error("Invalid block size");
                    if (I === 0) break;
                    A += I;
                }
                g.push({
                    x: N,
                    y: Q,
                    width: x,
                    height: R,
                    has_local_palette: W,
                    palette_offset: J,
                    palette_size: O,
                    data_offset: uA,
                    data_length: A - uA,
                    transparent_index: w,
                    interlaced: !!Z,
                    delay: d,
                    disposal: B
                });
                break;
            case 59:
                h = !1;
                break;
            default:
                throw new Error("Unknown gif block: 0x" + t[A - 1].toString(16));
        }
        this.numFrames = function() {
            return g.length;
        }, this.loopCount = function() {
            return L;
        }, this.frameInfo = function(H) {
            if (H < 0 || H >= g.length) throw new Error("Frame index out of range.");
            return g[H];
        }, this.decodeAndBlitFrameBGRA = function(H, K) {
            var M = this.frameInfo(H), oA = M.width * M.height, iA = new Uint8Array(oA);
            jf(t, M.data_offset, iA, oA);
            var cA = M.palette_offset, eA = M.transparent_index;
            eA === null && (eA = 256);
            var lA = M.width, hA = e - lA, UA = lA, y = 4 * (M.y * e + M.x), _ = 4 * ((M.y + M.height) * e + M.x), T = y, k = 4 * hA;
            M.interlaced === !0 && (k += 4 * e * 7);
            for(var X = 8, nA = 0, aA = iA.length; nA < aA; ++nA){
                var sA = iA[nA];
                if (UA === 0 && (UA = lA, (T += k) >= _ && (k = 4 * hA + 4 * e * (X - 1), T = y + (lA + hA) * (X << 1), X >>= 1)), sA === eA) T += 4;
                else {
                    var FA = t[cA + 3 * sA], QA = t[cA + 3 * sA + 1], xA = t[cA + 3 * sA + 2];
                    K[T++] = xA, K[T++] = QA, K[T++] = FA, K[T++] = 255;
                }
                --UA;
            }
        }, this.decodeAndBlitFrameRGBA = function(H, K) {
            var M = this.frameInfo(H), oA = M.width * M.height, iA = new Uint8Array(oA);
            jf(t, M.data_offset, iA, oA);
            var cA = M.palette_offset, eA = M.transparent_index;
            eA === null && (eA = 256);
            var lA = M.width, hA = e - lA, UA = lA, y = 4 * (M.y * e + M.x), _ = 4 * ((M.y + M.height) * e + M.x), T = y, k = 4 * hA;
            M.interlaced === !0 && (k += 4 * e * 7);
            for(var X = 8, nA = 0, aA = iA.length; nA < aA; ++nA){
                var sA = iA[nA];
                if (UA === 0 && (UA = lA, (T += k) >= _ && (k = 4 * hA + 4 * e * (X - 1), T = y + (lA + hA) * (X << 1), X >>= 1)), sA === eA) T += 4;
                else {
                    var FA = t[cA + 3 * sA], QA = t[cA + 3 * sA + 1], xA = t[cA + 3 * sA + 2];
                    K[T++] = FA, K[T++] = QA, K[T++] = xA, K[T++] = 255;
                }
                --UA;
            }
        };
    }
    function jf(t, A, e, r) {
        for(var n = t[A++], i = 1 << n, s = i + 1, c = s + 1, u = n + 1, h = (1 << u) - 1, g = 0, d = 0, w = 0, B = t[A++], L = new Int32Array(4096), U = null;;){
            for(; g < 16 && B !== 0;)d |= t[A++] << g, g += 8, B === 1 ? B = t[A++] : --B;
            if (g < u) break;
            var N = d & h;
            if (d >>= u, g -= u, N !== i) {
                if (N === s) break;
                for(var Q = N < c ? N : U, x = 0, R = Q; R > i;)R = L[R] >> 8, ++x;
                var Y = R;
                if (w + x + (Q !== N ? 1 : 0) > r) return void Qe.log("Warning, gif stream longer than expected.");
                e[w++] = Y;
                var Z = w += x;
                for(Q !== N && (e[w++] = Y), R = Q; x--;)R = L[R], e[--Z] = 255 & R, R >>= 8;
                U !== null && c < 4096 && (L[c++] = U << 8 | Y, c >= h + 1 && u < 12 && (++u, h = h << 1 | 1)), U = N;
            } else c = s + 1, h = (1 << (u = n + 1)) - 1, U = null;
        }
        return w !== r && Qe.log("Warning, gif stream shorter than expected."), e;
    }
    function nu(t) {
        var A, e, r, n, i, s = Math.floor, c = new Array(64), u = new Array(64), h = new Array(64), g = new Array(64), d = new Array(65535), w = new Array(65535), B = new Array(64), L = new Array(64), U = [], N = 0, Q = 7, x = new Array(64), R = new Array(64), Y = new Array(64), Z = new Array(256), $ = new Array(2048), J = [
            0,
            1,
            5,
            6,
            14,
            15,
            27,
            28,
            2,
            4,
            7,
            13,
            16,
            26,
            29,
            42,
            3,
            8,
            12,
            17,
            25,
            30,
            41,
            43,
            9,
            11,
            18,
            24,
            31,
            40,
            44,
            53,
            10,
            19,
            23,
            32,
            39,
            45,
            52,
            54,
            20,
            22,
            33,
            38,
            46,
            51,
            55,
            60,
            21,
            34,
            37,
            47,
            50,
            56,
            59,
            61,
            35,
            36,
            48,
            49,
            57,
            58,
            62,
            63
        ], O = [
            0,
            0,
            1,
            5,
            1,
            1,
            1,
            1,
            1,
            1,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ], W = [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11
        ], uA = [
            0,
            0,
            2,
            1,
            3,
            3,
            2,
            4,
            3,
            5,
            5,
            4,
            4,
            0,
            0,
            1,
            125
        ], I = [
            1,
            2,
            3,
            0,
            4,
            17,
            5,
            18,
            33,
            49,
            65,
            6,
            19,
            81,
            97,
            7,
            34,
            113,
            20,
            50,
            129,
            145,
            161,
            8,
            35,
            66,
            177,
            193,
            21,
            82,
            209,
            240,
            36,
            51,
            98,
            114,
            130,
            9,
            10,
            22,
            23,
            24,
            25,
            26,
            37,
            38,
            39,
            40,
            41,
            42,
            52,
            53,
            54,
            55,
            56,
            57,
            58,
            67,
            68,
            69,
            70,
            71,
            72,
            73,
            74,
            83,
            84,
            85,
            86,
            87,
            88,
            89,
            90,
            99,
            100,
            101,
            102,
            103,
            104,
            105,
            106,
            115,
            116,
            117,
            118,
            119,
            120,
            121,
            122,
            131,
            132,
            133,
            134,
            135,
            136,
            137,
            138,
            146,
            147,
            148,
            149,
            150,
            151,
            152,
            153,
            154,
            162,
            163,
            164,
            165,
            166,
            167,
            168,
            169,
            170,
            178,
            179,
            180,
            181,
            182,
            183,
            184,
            185,
            186,
            194,
            195,
            196,
            197,
            198,
            199,
            200,
            201,
            202,
            210,
            211,
            212,
            213,
            214,
            215,
            216,
            217,
            218,
            225,
            226,
            227,
            228,
            229,
            230,
            231,
            232,
            233,
            234,
            241,
            242,
            243,
            244,
            245,
            246,
            247,
            248,
            249,
            250
        ], H = [
            0,
            0,
            3,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            0,
            0,
            0,
            0,
            0
        ], K = [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11
        ], M = [
            0,
            0,
            2,
            1,
            2,
            4,
            4,
            3,
            4,
            7,
            5,
            4,
            4,
            0,
            1,
            2,
            119
        ], oA = [
            0,
            1,
            2,
            3,
            17,
            4,
            5,
            33,
            49,
            6,
            18,
            65,
            81,
            7,
            97,
            113,
            19,
            34,
            50,
            129,
            8,
            20,
            66,
            145,
            161,
            177,
            193,
            9,
            35,
            51,
            82,
            240,
            21,
            98,
            114,
            209,
            10,
            22,
            36,
            52,
            225,
            37,
            241,
            23,
            24,
            25,
            26,
            38,
            39,
            40,
            41,
            42,
            53,
            54,
            55,
            56,
            57,
            58,
            67,
            68,
            69,
            70,
            71,
            72,
            73,
            74,
            83,
            84,
            85,
            86,
            87,
            88,
            89,
            90,
            99,
            100,
            101,
            102,
            103,
            104,
            105,
            106,
            115,
            116,
            117,
            118,
            119,
            120,
            121,
            122,
            130,
            131,
            132,
            133,
            134,
            135,
            136,
            137,
            138,
            146,
            147,
            148,
            149,
            150,
            151,
            152,
            153,
            154,
            162,
            163,
            164,
            165,
            166,
            167,
            168,
            169,
            170,
            178,
            179,
            180,
            181,
            182,
            183,
            184,
            185,
            186,
            194,
            195,
            196,
            197,
            198,
            199,
            200,
            201,
            202,
            210,
            211,
            212,
            213,
            214,
            215,
            216,
            217,
            218,
            226,
            227,
            228,
            229,
            230,
            231,
            232,
            233,
            234,
            242,
            243,
            244,
            245,
            246,
            247,
            248,
            249,
            250
        ];
        function iA(y, _) {
            for(var T = 0, k = 0, X = new Array, nA = 1; nA <= 16; nA++){
                for(var aA = 1; aA <= y[nA]; aA++)X[_[k]] = [], X[_[k]][0] = T, X[_[k]][1] = nA, k++, T++;
                T *= 2;
            }
            return X;
        }
        function cA(y) {
            for(var _ = y[0], T = y[1] - 1; T >= 0;)_ & 1 << T && (N |= 1 << Q), T--, --Q < 0 && (N == 255 ? (eA(255), eA(0)) : eA(N), Q = 7, N = 0);
        }
        function eA(y) {
            U.push(y);
        }
        function lA(y) {
            eA(y >> 8 & 255), eA(255 & y);
        }
        function hA(y, _, T, k, X) {
            for(var nA, aA = X[0], sA = X[240], FA = function(CA, yA) {
                var HA, IA, MA, XA, ee, te, se, pe, qA, re, SA = 0;
                for(qA = 0; qA < 8; ++qA){
                    HA = CA[SA], IA = CA[SA + 1], MA = CA[SA + 2], XA = CA[SA + 3], ee = CA[SA + 4], te = CA[SA + 5], se = CA[SA + 6];
                    var st = HA + (pe = CA[SA + 7]), ce = HA - pe, Xt = IA + se, me = IA - se, Le = MA + te, fr = MA - te, le = XA + ee, Qn = XA - ee, xe = st + le, Jt = st - le, xr = Xt + Le, He = Xt - Le;
                    CA[SA] = xe + xr, CA[SA + 4] = xe - xr;
                    var JA = .707106781 * (He + Jt);
                    CA[SA + 2] = Jt + JA, CA[SA + 6] = Jt - JA;
                    var fe = .382683433 * ((xe = Qn + fr) - (He = me + ce)), Fn = .5411961 * xe + fe, tt = 1.306562965 * He + fe, hr = .707106781 * (xr = fr + me), Br = ce + hr, RA = ce - hr;
                    CA[SA + 5] = RA + Fn, CA[SA + 3] = RA - Fn, CA[SA + 1] = Br + tt, CA[SA + 7] = Br - tt, SA += 8;
                }
                for(SA = 0, qA = 0; qA < 8; ++qA){
                    HA = CA[SA], IA = CA[SA + 8], MA = CA[SA + 16], XA = CA[SA + 24], ee = CA[SA + 32], te = CA[SA + 40], se = CA[SA + 48];
                    var zt = HA + (pe = CA[SA + 56]), gr = HA - pe, Ct = IA + se, Xe = IA - se, Ge = MA + te, It = MA - te, jn = XA + ee, Hr = XA - ee, Yt = zt + jn, Zt = zt - jn, $t = Ct + Ge, dr = Ct - Ge;
                    CA[SA] = Yt + $t, CA[SA + 32] = Yt - $t;
                    var Tt = .707106781 * (dr + Zt);
                    CA[SA + 16] = Zt + Tt, CA[SA + 48] = Zt - Tt;
                    var pr = .382683433 * ((Yt = Hr + It) - (dr = Xe + gr)), Un = .5411961 * Yt + pr, Vn = 1.306562965 * dr + pr, qn = .707106781 * ($t = It + Xe), Wn = gr + qn, Xn = gr - qn;
                    CA[SA + 40] = Xn + Un, CA[SA + 24] = Xn - Un, CA[SA + 8] = Wn + Vn, CA[SA + 56] = Wn - Vn, SA++;
                }
                for(qA = 0; qA < 64; ++qA)re = CA[qA] * yA[qA], B[qA] = re > 0 ? re + .5 | 0 : re - .5 | 0;
                return B;
            }(y, _), QA = 0; QA < 64; ++QA)L[J[QA]] = FA[QA];
            var xA = L[0] - T;
            T = L[0], xA == 0 ? cA(k[0]) : (cA(k[w[nA = 32767 + xA]]), cA(d[nA]));
            for(var LA = 63; LA > 0 && L[LA] == 0;)LA--;
            if (LA == 0) return cA(aA), T;
            for(var jA, gA = 1; gA <= LA;){
                for(var P = gA; L[gA] == 0 && gA <= LA;)++gA;
                var ZA = gA - P;
                if (ZA >= 16) {
                    jA = ZA >> 4;
                    for(var PA = 1; PA <= jA; ++PA)cA(sA);
                    ZA &= 15;
                }
                nA = 32767 + L[gA], cA(X[(ZA << 4) + w[nA]]), cA(d[nA]), gA++;
            }
            return LA != 63 && cA(aA), T;
        }
        function UA(y) {
            y = Math.min(Math.max(y, 1), 100), i != y && (function(_) {
                for(var T = [
                    16,
                    11,
                    10,
                    16,
                    24,
                    40,
                    51,
                    61,
                    12,
                    12,
                    14,
                    19,
                    26,
                    58,
                    60,
                    55,
                    14,
                    13,
                    16,
                    24,
                    40,
                    57,
                    69,
                    56,
                    14,
                    17,
                    22,
                    29,
                    51,
                    87,
                    80,
                    62,
                    18,
                    22,
                    37,
                    56,
                    68,
                    109,
                    103,
                    77,
                    24,
                    35,
                    55,
                    64,
                    81,
                    104,
                    113,
                    92,
                    49,
                    64,
                    78,
                    87,
                    103,
                    121,
                    120,
                    101,
                    72,
                    92,
                    95,
                    98,
                    112,
                    100,
                    103,
                    99
                ], k = 0; k < 64; k++){
                    var X = s((T[k] * _ + 50) / 100);
                    X = Math.min(Math.max(X, 1), 255), c[J[k]] = X;
                }
                for(var nA = [
                    17,
                    18,
                    24,
                    47,
                    99,
                    99,
                    99,
                    99,
                    18,
                    21,
                    26,
                    66,
                    99,
                    99,
                    99,
                    99,
                    24,
                    26,
                    56,
                    99,
                    99,
                    99,
                    99,
                    99,
                    47,
                    66,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99,
                    99
                ], aA = 0; aA < 64; aA++){
                    var sA = s((nA[aA] * _ + 50) / 100);
                    sA = Math.min(Math.max(sA, 1), 255), u[J[aA]] = sA;
                }
                for(var FA = [
                    1,
                    1.387039845,
                    1.306562965,
                    1.175875602,
                    1,
                    .785694958,
                    .5411961,
                    .275899379
                ], QA = 0, xA = 0; xA < 8; xA++)for(var LA = 0; LA < 8; LA++)h[QA] = 1 / (c[J[QA]] * FA[xA] * FA[LA] * 8), g[QA] = 1 / (u[J[QA]] * FA[xA] * FA[LA] * 8), QA++;
            }(y < 50 ? Math.floor(5e3 / y) : Math.floor(200 - 2 * y)), i = y);
        }
        this.encode = function(y, _) {
            _ && UA(_), U = new Array, N = 0, Q = 7, lA(65496), lA(65504), lA(16), eA(74), eA(70), eA(73), eA(70), eA(0), eA(1), eA(1), eA(0), lA(1), lA(1), eA(0), eA(0), function() {
                lA(65499), lA(132), eA(0);
                for(var IA = 0; IA < 64; IA++)eA(c[IA]);
                eA(1);
                for(var MA = 0; MA < 64; MA++)eA(u[MA]);
            }(), function(IA, MA) {
                lA(65472), lA(17), eA(8), lA(MA), lA(IA), eA(3), eA(1), eA(17), eA(0), eA(2), eA(17), eA(1), eA(3), eA(17), eA(1);
            }(y.width, y.height), function() {
                lA(65476), lA(418), eA(0);
                for(var IA = 0; IA < 16; IA++)eA(O[IA + 1]);
                for(var MA = 0; MA <= 11; MA++)eA(W[MA]);
                eA(16);
                for(var XA = 0; XA < 16; XA++)eA(uA[XA + 1]);
                for(var ee = 0; ee <= 161; ee++)eA(I[ee]);
                eA(1);
                for(var te = 0; te < 16; te++)eA(H[te + 1]);
                for(var se = 0; se <= 11; se++)eA(K[se]);
                eA(17);
                for(var pe = 0; pe < 16; pe++)eA(M[pe + 1]);
                for(var qA = 0; qA <= 161; qA++)eA(oA[qA]);
            }(), lA(65498), lA(12), eA(3), eA(1), eA(0), eA(2), eA(17), eA(3), eA(17), eA(0), eA(63), eA(0);
            var T = 0, k = 0, X = 0;
            N = 0, Q = 7, this.encode.displayName = "_encode_";
            for(var nA, aA, sA, FA, QA, xA, LA, jA, gA, P = y.data, ZA = y.width, PA = y.height, CA = 4 * ZA, yA = 0; yA < PA;){
                for(nA = 0; nA < CA;){
                    for(QA = CA * yA + nA, LA = -1, jA = 0, gA = 0; gA < 64; gA++)xA = QA + (jA = gA >> 3) * CA + (LA = 4 * (7 & gA)), yA + jA >= PA && (xA -= CA * (yA + 1 + jA - PA)), nA + LA >= CA && (xA -= nA + LA - CA + 4), aA = P[xA++], sA = P[xA++], FA = P[xA++], x[gA] = ($[aA] + $[sA + 256 >> 0] + $[FA + 512 >> 0] >> 16) - 128, R[gA] = ($[aA + 768 >> 0] + $[sA + 1024 >> 0] + $[FA + 1280 >> 0] >> 16) - 128, Y[gA] = ($[aA + 1280 >> 0] + $[sA + 1536 >> 0] + $[FA + 1792 >> 0] >> 16) - 128;
                    T = hA(x, h, T, A, r), k = hA(R, g, k, e, n), X = hA(Y, g, X, e, n), nA += 32;
                }
                yA += 8;
            }
            if (Q >= 0) {
                var HA = [];
                HA[1] = Q + 1, HA[0] = (1 << Q + 1) - 1, cA(HA);
            }
            return lA(65497), new Uint8Array(U);
        }, t = t || 50, function() {
            for(var y = String.fromCharCode, _ = 0; _ < 256; _++)Z[_] = y(_);
        }(), A = iA(O, W), e = iA(H, K), r = iA(uA, I), n = iA(M, oA), function() {
            for(var y = 1, _ = 2, T = 1; T <= 15; T++){
                for(var k = y; k < _; k++)w[32767 + k] = T, d[32767 + k] = [], d[32767 + k][1] = T, d[32767 + k][0] = k;
                for(var X = -(_ - 1); X <= -y; X++)w[32767 + X] = T, d[32767 + X] = [], d[32767 + X][1] = T, d[32767 + X][0] = _ - 1 + X;
                y <<= 1, _ <<= 1;
            }
        }(), function() {
            for(var y = 0; y < 256; y++)$[y] = 19595 * y, $[y + 256 >> 0] = 38470 * y, $[y + 512 >> 0] = 7471 * y + 32768, $[y + 768 >> 0] = -11059 * y, $[y + 1024 >> 0] = -21709 * y, $[y + 1280 >> 0] = 32768 * y + 8421375, $[y + 1536 >> 0] = -27439 * y, $[y + 1792 >> 0] = -5329 * y;
        }(), UA(t);
    }
    function ar(t, A) {
        if (this.pos = 0, this.buffer = t, this.datav = new DataView(t.buffer), this.is_with_alpha = !!A, this.bottom_up = !0, this.flag = String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]), this.pos += 2, [
            "BM",
            "BA",
            "CI",
            "CP",
            "IC",
            "PT"
        ].indexOf(this.flag) === -1) throw new Error("Invalid BMP File");
        this.parseHeader(), this.parseBGR();
    }
    function Vf(t) {
        function A(O) {
            if (!O) throw Error("assert :P");
        }
        function e(O, W, uA) {
            for(var I = 0; 4 > I; I++)if (O[W + I] != uA.charCodeAt(I)) return !0;
            return !1;
        }
        function r(O, W, uA, I, H) {
            for(var K = 0; K < H; K++)O[W + K] = uA[I + K];
        }
        function n(O, W, uA, I) {
            for(var H = 0; H < I; H++)O[W + H] = uA;
        }
        function i(O) {
            return new Int32Array(O);
        }
        function s(O, W) {
            for(var uA = [], I = 0; I < O; I++)uA.push(new W);
            return uA;
        }
        function c(O, W) {
            var uA = [];
            return function I(H, K, M) {
                for(var oA = M[K], iA = 0; iA < oA && (H.push(M.length > K + 1 ? [] : new W), !(M.length < K + 1)); iA++)I(H[iA], K + 1, M);
            }(uA, 0, O), uA;
        }
        var u = function() {
            var O = this;
            function W(a, o) {
                for(var f = 1 << o - 1 >>> 0; a & f;)f >>>= 1;
                return f ? (a & f - 1) + f : a;
            }
            function uA(a, o, f, p, v) {
                A(!(p % f));
                do a[o + (p -= f)] = v;
                while (0 < p);
            }
            function I(a, o, f, p, v) {
                if (A(2328 >= v), 512 >= v) var C = i(512);
                else if ((C = i(v)) == null) return 0;
                return function(F, b, E, S, j, tA) {
                    var rA, z, wA = b, fA = 1 << E, V = i(16), q = i(16);
                    for(A(j != 0), A(S != null), A(F != null), A(0 < E), z = 0; z < j; ++z){
                        if (15 < S[z]) return 0;
                        ++V[S[z]];
                    }
                    if (V[0] == j) return 0;
                    for(q[1] = 0, rA = 1; 15 > rA; ++rA){
                        if (V[rA] > 1 << rA) return 0;
                        q[rA + 1] = q[rA] + V[rA];
                    }
                    for(z = 0; z < j; ++z)rA = S[z], 0 < S[z] && (tA[q[rA]++] = z);
                    if (q[15] == 1) return (S = new H).g = 0, S.value = tA[0], uA(F, wA, 1, fA, S), fA;
                    var dA, vA = -1, pA = fA - 1, DA = 0, bA = 1, kA = 1, EA = 1 << E;
                    for(z = 0, rA = 1, j = 2; rA <= E; ++rA, j <<= 1){
                        if (bA += kA <<= 1, 0 > (kA -= V[rA])) return 0;
                        for(; 0 < V[rA]; --V[rA])(S = new H).g = rA, S.value = tA[z++], uA(F, wA + DA, j, EA, S), DA = W(DA, rA);
                    }
                    for(rA = E + 1, j = 2; 15 >= rA; ++rA, j <<= 1){
                        if (bA += kA <<= 1, 0 > (kA -= V[rA])) return 0;
                        for(; 0 < V[rA]; --V[rA]){
                            if (S = new H, (DA & pA) != vA) {
                                for(wA += EA, dA = 1 << (vA = rA) - E; 15 > vA && !(0 >= (dA -= V[vA]));)++vA, dA <<= 1;
                                fA += EA = 1 << (dA = vA - E), F[b + (vA = DA & pA)].g = dA + E, F[b + vA].value = wA - b - vA;
                            }
                            S.g = rA - E, S.value = tA[z++], uA(F, wA + (DA >> E), j, EA, S), DA = W(DA, rA);
                        }
                    }
                    return bA != 2 * q[15] - 1 ? 0 : fA;
                }(a, o, f, p, v, C);
            }
            function H() {
                this.value = this.g = 0;
            }
            function K() {
                this.value = this.g = 0;
            }
            function M() {
                this.G = s(5, H), this.H = i(5), this.jc = this.Qb = this.qb = this.nd = 0, this.pd = s(rt, K);
            }
            function oA(a, o, f, p) {
                A(a != null), A(o != null), A(2147483648 > p), a.Ca = 254, a.I = 0, a.b = -8, a.Ka = 0, a.oa = o, a.pa = f, a.Jd = o, a.Yc = f + p, a.Zc = 4 <= p ? f + p - 4 + 1 : f, nA(a);
            }
            function iA(a, o) {
                for(var f = 0; 0 < o--;)f |= sA(a, 128) << o;
                return f;
            }
            function cA(a, o) {
                var f = iA(a, o);
                return aA(a) ? -f : f;
            }
            function eA(a, o, f, p) {
                var v, C = 0;
                for(A(a != null), A(o != null), A(4294967288 > p), a.Sb = p, a.Ra = 0, a.u = 0, a.h = 0, 4 < p && (p = 4), v = 0; v < p; ++v)C += o[f + v] << 8 * v;
                a.Ra = C, a.bb = p, a.oa = o, a.pa = f;
            }
            function lA(a) {
                for(; 8 <= a.u && a.bb < a.Sb;)a.Ra >>>= 8, a.Ra += a.oa[a.pa + a.bb] << ci - 8 >>> 0, ++a.bb, a.u -= 8;
                T(a) && (a.h = 1, a.u = 0);
            }
            function hA(a, o) {
                if (A(0 <= o), !a.h && o <= oi) {
                    var f = _(a) & si[o];
                    return a.u += o, lA(a), f;
                }
                return a.h = 1, a.u = 0;
            }
            function UA() {
                this.b = this.Ca = this.I = 0, this.oa = [], this.pa = 0, this.Jd = [], this.Yc = 0, this.Zc = [], this.Ka = 0;
            }
            function y() {
                this.Ra = 0, this.oa = [], this.h = this.u = this.bb = this.Sb = this.pa = 0;
            }
            function _(a) {
                return a.Ra >>> (a.u & ci - 1) >>> 0;
            }
            function T(a) {
                return A(a.bb <= a.Sb), a.h || a.bb == a.Sb && a.u > ci;
            }
            function k(a, o) {
                a.u = o, a.h = T(a);
            }
            function X(a) {
                a.u >= na && (A(a.u >= na), lA(a));
            }
            function nA(a) {
                A(a != null && a.oa != null), a.pa < a.Zc ? (a.I = (a.oa[a.pa++] | a.I << 8) >>> 0, a.b += 8) : (A(a != null && a.oa != null), a.pa < a.Yc ? (a.b += 8, a.I = a.oa[a.pa++] | a.I << 8) : a.Ka ? a.b = 0 : (a.I <<= 8, a.b += 8, a.Ka = 1));
            }
            function aA(a) {
                return iA(a, 1);
            }
            function sA(a, o) {
                var f = a.Ca;
                0 > a.b && nA(a);
                var p = a.b, v = f * o >>> 8, C = (a.I >>> p > v) + 0;
                for(C ? (f -= v, a.I -= v + 1 << p >>> 0) : f = v + 1, p = f, v = 0; 256 <= p;)v += 8, p >>= 8;
                return p = 7 ^ v + Ft[p], a.b -= p, a.Ca = (f << p) - 1, C;
            }
            function FA(a, o, f) {
                a[o + 0] = f >> 24 & 255, a[o + 1] = f >> 16 & 255, a[o + 2] = f >> 8 & 255, a[o + 3] = f >> 0 & 255;
            }
            function QA(a, o) {
                return a[o + 0] << 0 | a[o + 1] << 8;
            }
            function xA(a, o) {
                return QA(a, o) | a[o + 2] << 16;
            }
            function LA(a, o) {
                return QA(a, o) | QA(a, o + 2) << 16;
            }
            function jA(a, o) {
                var f = 1 << o;
                return A(a != null), A(0 < o), a.X = i(f), a.X == null ? 0 : (a.Mb = 32 - o, a.Xa = o, 1);
            }
            function gA(a, o) {
                A(a != null), A(o != null), A(a.Xa == o.Xa), r(o.X, 0, a.X, 0, 1 << o.Xa);
            }
            function P() {
                this.X = [], this.Xa = this.Mb = 0;
            }
            function ZA(a, o, f, p) {
                A(f != null), A(p != null);
                var v = f[0], C = p[0];
                return v == 0 && (v = (a * C + o / 2) / o), C == 0 && (C = (o * v + a / 2) / a), 0 >= v || 0 >= C ? 0 : (f[0] = v, p[0] = C, 1);
            }
            function PA(a, o) {
                return a + (1 << o) - 1 >>> o;
            }
            function CA(a, o) {
                return ((4278255360 & a) + (4278255360 & o) >>> 0 & 4278255360) + ((16711935 & a) + (16711935 & o) >>> 0 & 16711935) >>> 0;
            }
            function yA(a, o) {
                O[o] = function(f, p, v, C, F, b, E) {
                    var S;
                    for(S = 0; S < F; ++S){
                        var j = O[a](b[E + S - 1], v, C + S);
                        b[E + S] = CA(f[p + S], j);
                    }
                };
            }
            function HA() {
                this.ud = this.hd = this.jd = 0;
            }
            function IA(a, o) {
                return ((4278124286 & (a ^ o)) >>> 1) + (a & o) >>> 0;
            }
            function MA(a) {
                return 0 <= a && 256 > a ? a : 0 > a ? 0 : 255 < a ? 255 : void 0;
            }
            function XA(a, o) {
                return MA(a + (a - o + .5 >> 1));
            }
            function ee(a, o, f) {
                return Math.abs(o - f) - Math.abs(a - f);
            }
            function te(a, o, f, p, v, C, F) {
                for(p = C[F - 1], f = 0; f < v; ++f)C[F + f] = p = CA(a[o + f], p);
            }
            function se(a, o, f, p, v) {
                var C;
                for(C = 0; C < f; ++C){
                    var F = a[o + C], b = F >> 8 & 255, E = 16711935 & (E = (E = 16711935 & F) + ((b << 16) + b));
                    p[v + C] = (4278255360 & F) + E >>> 0;
                }
            }
            function pe(a, o) {
                o.jd = a >> 0 & 255, o.hd = a >> 8 & 255, o.ud = a >> 16 & 255;
            }
            function qA(a, o, f, p, v, C) {
                var F;
                for(F = 0; F < p; ++F){
                    var b = o[f + F], E = b >>> 8, S = b, j = 255 & (j = (j = b >>> 16) + ((a.jd << 24 >> 24) * (E << 24 >> 24) >>> 5));
                    S = 255 & (S = (S = S + ((a.hd << 24 >> 24) * (E << 24 >> 24) >>> 5)) + ((a.ud << 24 >> 24) * (j << 24 >> 24) >>> 5)), v[C + F] = (4278255360 & b) + (j << 16) + S;
                }
            }
            function re(a, o, f, p, v) {
                O[o] = function(C, F, b, E, S, j, tA, rA, z) {
                    for(E = tA; E < rA; ++E)for(tA = 0; tA < z; ++tA)S[j++] = v(b[p(C[F++])]);
                }, O[a] = function(C, F, b, E, S, j, tA) {
                    var rA = 8 >> C.b, z = C.Ea, wA = C.K[0], fA = C.w;
                    if (8 > rA) for(C = (1 << C.b) - 1, fA = (1 << rA) - 1; F < b; ++F){
                        var V, q = 0;
                        for(V = 0; V < z; ++V)V & C || (q = p(E[S++])), j[tA++] = v(wA[q & fA]), q >>= rA;
                    }
                    else O["VP8LMapColor" + f](E, S, wA, fA, j, tA, F, b, z);
                };
            }
            function SA(a, o, f, p, v) {
                for(f = o + f; o < f;){
                    var C = a[o++];
                    p[v++] = C >> 16 & 255, p[v++] = C >> 8 & 255, p[v++] = C >> 0 & 255;
                }
            }
            function st(a, o, f, p, v) {
                for(f = o + f; o < f;){
                    var C = a[o++];
                    p[v++] = C >> 16 & 255, p[v++] = C >> 8 & 255, p[v++] = C >> 0 & 255, p[v++] = C >> 24 & 255;
                }
            }
            function ce(a, o, f, p, v) {
                for(f = o + f; o < f;){
                    var C = (F = a[o++]) >> 16 & 240 | F >> 12 & 15, F = F >> 0 & 240 | F >> 28 & 15;
                    p[v++] = C, p[v++] = F;
                }
            }
            function Xt(a, o, f, p, v) {
                for(f = o + f; o < f;){
                    var C = (F = a[o++]) >> 16 & 248 | F >> 13 & 7, F = F >> 5 & 224 | F >> 3 & 31;
                    p[v++] = C, p[v++] = F;
                }
            }
            function me(a, o, f, p, v) {
                for(f = o + f; o < f;){
                    var C = a[o++];
                    p[v++] = C >> 0 & 255, p[v++] = C >> 8 & 255, p[v++] = C >> 16 & 255;
                }
            }
            function Le(a, o, f, p, v, C) {
                if (C == 0) for(f = o + f; o < f;)FA(p, ((C = a[o++])[0] >> 24 | C[1] >> 8 & 65280 | C[2] << 8 & 16711680 | C[3] << 24) >>> 0), v += 32;
                else r(p, v, a, o, f);
            }
            function fr(a, o) {
                O[o][0] = O[a + "0"], O[o][1] = O[a + "1"], O[o][2] = O[a + "2"], O[o][3] = O[a + "3"], O[o][4] = O[a + "4"], O[o][5] = O[a + "5"], O[o][6] = O[a + "6"], O[o][7] = O[a + "7"], O[o][8] = O[a + "8"], O[o][9] = O[a + "9"], O[o][10] = O[a + "10"], O[o][11] = O[a + "11"], O[o][12] = O[a + "12"], O[o][13] = O[a + "13"], O[o][14] = O[a + "0"], O[o][15] = O[a + "0"];
            }
            function le(a) {
                return a == Bc || a == gc || a == ws || a == dc;
            }
            function Qn() {
                this.eb = [], this.size = this.A = this.fb = 0;
            }
            function xe() {
                this.y = [], this.f = [], this.ea = [], this.F = [], this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;
            }
            function Jt() {
                this.Rd = this.height = this.width = this.S = 0, this.f = {}, this.f.RGBA = new Qn, this.f.kb = new xe, this.sd = null;
            }
            function xr() {
                this.width = [
                    0
                ], this.height = [
                    0
                ], this.Pd = [
                    0
                ], this.Qd = [
                    0
                ], this.format = [
                    0
                ];
            }
            function He() {
                this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;
            }
            function JA(a) {
                return alert("todo:WebPSamplerProcessPlane"), a.T;
            }
            function fe(a, o) {
                var f = a.T, p = o.ba.f.RGBA, v = p.eb, C = p.fb + a.ka * p.A, F = Rt[o.ba.S], b = a.y, E = a.O, S = a.f, j = a.N, tA = a.ea, rA = a.W, z = o.cc, wA = o.dc, fA = o.Mc, V = o.Nc, q = a.ka, dA = a.ka + a.T, vA = a.U, pA = vA + 1 >> 1;
                for(q == 0 ? F(b, E, null, null, S, j, tA, rA, S, j, tA, rA, v, C, null, null, vA) : (F(o.ec, o.fc, b, E, z, wA, fA, V, S, j, tA, rA, v, C - p.A, v, C, vA), ++f); q + 2 < dA; q += 2)z = S, wA = j, fA = tA, V = rA, j += a.Rc, rA += a.Rc, C += 2 * p.A, F(b, (E += 2 * a.fa) - a.fa, b, E, z, wA, fA, V, S, j, tA, rA, v, C - p.A, v, C, vA);
                return E += a.fa, a.j + dA < a.o ? (r(o.ec, o.fc, b, E, vA), r(o.cc, o.dc, S, j, pA), r(o.Mc, o.Nc, tA, rA, pA), f--) : 1 & dA || F(b, E, null, null, S, j, tA, rA, S, j, tA, rA, v, C + p.A, null, null, vA), f;
            }
            function Fn(a, o, f) {
                var p = a.F, v = [
                    a.J
                ];
                if (p != null) {
                    var C = a.U, F = o.ba.S, b = F == ps || F == ws;
                    o = o.ba.f.RGBA;
                    var E = [
                        0
                    ], S = a.ka;
                    E[0] = a.T, a.Kb && (S == 0 ? --E[0] : (--S, v[0] -= a.width), a.j + a.ka + a.T == a.o && (E[0] = a.o - a.j - S));
                    var j = o.eb;
                    S = o.fb + S * o.A, a = Ue(p, v[0], a.width, C, E, j, S + (b ? 0 : 3), o.A), A(f == E), a && le(F) && Kt(j, S, b, C, E, o.A);
                }
                return 0;
            }
            function tt(a) {
                var o = a.ma, f = o.ba.S, p = 11 > f, v = f == gs || f == ds || f == ps || f == hc || f == 12 || le(f);
                if (o.memory = null, o.Ib = null, o.Jb = null, o.Nd = null, !ta(o.Oa, a, v ? 11 : 12)) return 0;
                if (v && le(f) && mA(), a.da) alert("todo:use_scaling");
                else {
                    if (p) {
                        if (o.Ib = JA, a.Kb) {
                            if (f = a.U + 1 >> 1, o.memory = i(a.U + 2 * f), o.memory == null) return 0;
                            o.ec = o.memory, o.fc = 0, o.cc = o.ec, o.dc = o.fc + a.U, o.Mc = o.cc, o.Nc = o.dc + f, o.Ib = fe, mA();
                        }
                    } else alert("todo:EmitYUV");
                    v && (o.Jb = Fn, p && AA());
                }
                if (p && !il) {
                    for(a = 0; 256 > a; ++a)OB[a] = 89858 * (a - 128) + ms >> vs, KB[a] = -22014 * (a - 128) + ms, MB[a] = -45773 * (a - 128), PB[a] = 113618 * (a - 128) + ms >> vs;
                    for(a = la; a < vc; ++a)o = 76283 * (a - 16) + ms >> vs, kB[a - la] = xt(o, 255), RB[a - la] = xt(o + 8 >> 4, 15);
                    il = 1;
                }
                return 1;
            }
            function hr(a) {
                var o = a.ma, f = a.U, p = a.T;
                return A(!(1 & a.ka)), 0 >= f || 0 >= p ? 0 : (f = o.Ib(a, o), o.Jb != null && o.Jb(a, o, f), o.Dc += f, 1);
            }
            function Br(a) {
                a.ma.memory = null;
            }
            function RA(a, o, f, p) {
                return hA(a, 8) != 47 ? 0 : (o[0] = hA(a, 14) + 1, f[0] = hA(a, 14) + 1, p[0] = hA(a, 1), hA(a, 3) != 0 ? 0 : !a.h);
            }
            function zt(a, o) {
                if (4 > a) return a + 1;
                var f = a - 2 >> 1;
                return (2 + (1 & a) << f) + hA(o, f) + 1;
            }
            function gr(a, o) {
                return 120 < o ? o - 120 : 1 <= (f = ((f = FB[o - 1]) >> 4) * a + (8 - (15 & f))) ? f : 1;
                var f;
            }
            function Ct(a, o, f) {
                var p = _(f), v = a[o += 255 & p].g - 8;
                return 0 < v && (k(f, f.u + 8), p = _(f), o += a[o].value, o += p & (1 << v) - 1), k(f, f.u + a[o].g), a[o].value;
            }
            function Xe(a, o, f) {
                return f.g += a.g, f.value += a.value << o >>> 0, A(8 >= f.g), a.g;
            }
            function Ge(a, o, f) {
                var p = a.xc;
                return A((o = p == 0 ? 0 : a.vc[a.md * (f >> p) + (o >> p)]) < a.Wb), a.Ya[o];
            }
            function It(a, o, f, p) {
                var v = a.ab, C = a.c * o, F = a.C;
                o = F + o;
                var b = f, E = p;
                for(p = a.Ta, f = a.Ua; 0 < v--;){
                    var S = a.gc[v], j = F, tA = o, rA = b, z = E, wA = (E = p, b = f, S.Ea);
                    switch(A(j < tA), A(tA <= S.nc), S.hc){
                        case 2:
                            os(rA, z, (tA - j) * wA, E, b);
                            break;
                        case 0:
                            var fA = j, V = tA, q = E, dA = b, vA = (EA = S).Ea;
                            fA == 0 && (lc(rA, z, null, null, 1, q, dA), te(rA, z + 1, 0, 0, vA - 1, q, dA + 1), z += vA, dA += vA, ++fA);
                            for(var pA = 1 << EA.b, DA = pA - 1, bA = PA(vA, EA.b), kA = EA.K, EA = EA.w + (fA >> EA.b) * bA; fA < V;){
                                var ue = kA, Be = EA, oe = 1;
                                for(ia(rA, z, q, dA - vA, 1, q, dA); oe < vA;){
                                    var ne = (oe & ~DA) + pA;
                                    ne > vA && (ne = vA), (0, Jr[ue[Be++] >> 8 & 15])(rA, z + +oe, q, dA + oe - vA, ne - oe, q, dA + oe), oe = ne;
                                }
                                z += vA, dA += vA, ++fA & DA || (EA += bA);
                            }
                            tA != S.nc && r(E, b - wA, E, b + (tA - j - 1) * wA, wA);
                            break;
                        case 1:
                            for(wA = rA, V = z, vA = (rA = S.Ea) - (dA = rA & ~(q = (z = 1 << S.b) - 1)), fA = PA(rA, S.b), pA = S.K, S = S.w + (j >> S.b) * fA; j < tA;){
                                for(DA = pA, bA = S, kA = new HA, EA = V + dA, ue = V + rA; V < EA;)pe(DA[bA++], kA), In(kA, wA, V, z, E, b), V += z, b += z;
                                V < ue && (pe(DA[bA++], kA), In(kA, wA, V, vA, E, b), V += vA, b += vA), ++j & q || (S += fA);
                            }
                            break;
                        case 3:
                            if (rA == E && z == b && 0 < S.b) {
                                for(V = E, rA = wA = b + (tA - j) * wA - (dA = (tA - j) * PA(S.Ea, S.b)), z = E, q = b, fA = [], dA = (vA = dA) - 1; 0 <= dA; --dA)fA[dA] = z[q + dA];
                                for(dA = vA - 1; 0 <= dA; --dA)V[rA + dA] = fA[dA];
                                Ot(S, j, tA, E, wA, E, b);
                            } else Ot(S, j, tA, rA, z, E, b);
                    }
                    b = p, E = f;
                }
                E != f && r(p, f, b, E, C);
            }
            function jn(a, o) {
                var f = a.V, p = a.Ba + a.c * a.C, v = o - a.C;
                if (A(o <= a.l.o), A(16 >= v), 0 < v) {
                    var C = a.l, F = a.Ta, b = a.Ua, E = C.width;
                    if (It(a, v, f, p), v = b = [
                        b
                    ], A((f = a.C) < (p = o)), A(C.v < C.va), p > C.o && (p = C.o), f < C.j) {
                        var S = C.j - f;
                        f = C.j, v[0] += S * E;
                    }
                    if (f >= p ? f = 0 : (v[0] += 4 * C.v, C.ka = f - C.j, C.U = C.va - C.v, C.T = p - f, f = 1), f) {
                        if (b = b[0], 11 > (f = a.ca).S) {
                            var j = f.f.RGBA, tA = (p = f.S, v = C.U, C = C.T, S = j.eb, j.A), rA = C;
                            for(j = j.fb + a.Ma * j.A; 0 < rA--;){
                                var z = F, wA = b, fA = v, V = S, q = j;
                                switch(p){
                                    case Bs:
                                        Ut(z, wA, fA, V, q);
                                        break;
                                    case gs:
                                        pt(z, wA, fA, V, q);
                                        break;
                                    case Bc:
                                        pt(z, wA, fA, V, q), Kt(V, q, 0, fA, 1, 0);
                                        break;
                                    case zu:
                                        Dr(z, wA, fA, V, q);
                                        break;
                                    case ds:
                                        Le(z, wA, fA, V, q, 1);
                                        break;
                                    case gc:
                                        Le(z, wA, fA, V, q, 1), Kt(V, q, 0, fA, 1, 0);
                                        break;
                                    case ps:
                                        Le(z, wA, fA, V, q, 0);
                                        break;
                                    case ws:
                                        Le(z, wA, fA, V, q, 0), Kt(V, q, 1, fA, 1, 0);
                                        break;
                                    case hc:
                                        zr(z, wA, fA, V, q);
                                        break;
                                    case dc:
                                        zr(z, wA, fA, V, q), Fe(V, q, fA, 1, 0);
                                        break;
                                    case Yu:
                                        _r(z, wA, fA, V, q);
                                        break;
                                    default:
                                        A(0);
                                }
                                b += E, j += tA;
                            }
                            a.Ma += C;
                        } else alert("todo:EmitRescaledRowsYUVA");
                        A(a.Ma <= f.height);
                    }
                }
                a.C = o, A(a.C <= a.i);
            }
            function Hr(a) {
                var o;
                if (0 < a.ua) return 0;
                for(o = 0; o < a.Wb; ++o){
                    var f = a.Ya[o].G, p = a.Ya[o].H;
                    if (0 < f[1][p[1] + 0].g || 0 < f[2][p[2] + 0].g || 0 < f[3][p[3] + 0].g) return 0;
                }
                return 1;
            }
            function Yt(a, o, f, p, v, C) {
                if (a.Z != 0) {
                    var F = a.qd, b = a.rd;
                    for(A(An[a.Z] != null); o < f; ++o)An[a.Z](F, b, p, v, p, v, C), F = p, b = v, v += C;
                    a.qd = F, a.rd = b;
                }
            }
            function Zt(a, o) {
                var f = a.l.ma, p = f.Z == 0 || f.Z == 1 ? a.l.j : a.C;
                if (p = a.C < p ? p : a.C, A(o <= a.l.o), o > p) {
                    var v = a.l.width, C = f.ca, F = f.tb + v * p, b = a.V, E = a.Ba + a.c * p, S = a.gc;
                    A(a.ab == 1), A(S[0].hc == 3), cs(S[0], p, o, b, E, C, F), Yt(f, p, o, C, F, v);
                }
                a.C = a.Ma = o;
            }
            function $t(a, o, f, p, v, C, F) {
                var b = a.$ / p, E = a.$ % p, S = a.m, j = a.s, tA = f + a.$, rA = tA;
                v = f + p * v;
                var z = f + p * C, wA = 280 + j.ua, fA = a.Pb ? b : 16777216, V = 0 < j.ua ? j.Wa : null, q = j.wc, dA = tA < z ? Ge(j, E, b) : null;
                A(a.C < C), A(z <= v);
                var vA = !1;
                A: for(;;){
                    for(; vA || tA < z;){
                        var pA = 0;
                        if (b >= fA) {
                            var DA = tA - f;
                            A((fA = a).Pb), fA.wd = fA.m, fA.xd = DA, 0 < fA.s.ua && gA(fA.s.Wa, fA.s.vb), fA = b + yB;
                        }
                        if (E & q || (dA = Ge(j, E, b)), A(dA != null), dA.Qb && (o[tA] = dA.qb, vA = !0), !vA) if (X(S), dA.jc) {
                            pA = S, DA = o;
                            var bA = tA, kA = dA.pd[_(pA) & rt - 1];
                            A(dA.jc), 256 > kA.g ? (k(pA, pA.u + kA.g), DA[bA] = kA.value, pA = 0) : (k(pA, pA.u + kA.g - 256), A(256 <= kA.value), pA = kA.value), pA == 0 && (vA = !0);
                        } else pA = Ct(dA.G[0], dA.H[0], S);
                        if (S.h) break;
                        if (vA || 256 > pA) {
                            if (!vA) if (dA.nd) o[tA] = (dA.qb | pA << 8) >>> 0;
                            else {
                                if (X(S), vA = Ct(dA.G[1], dA.H[1], S), X(S), DA = Ct(dA.G[2], dA.H[2], S), bA = Ct(dA.G[3], dA.H[3], S), S.h) break;
                                o[tA] = (bA << 24 | vA << 16 | pA << 8 | DA) >>> 0;
                            }
                            if (vA = !1, ++tA, ++E >= p && (E = 0, ++b, F != null && b <= C && !(b % 16) && F(a, b), V != null)) for(; rA < tA;)pA = o[rA++], V.X[(506832829 * pA & 4294967295) >>> V.Mb] = pA;
                        } else if (280 > pA) {
                            if (pA = zt(pA - 256, S), DA = Ct(dA.G[4], dA.H[4], S), X(S), DA = gr(p, DA = zt(DA, S)), S.h) break;
                            if (tA - f < DA || v - tA < pA) break A;
                            for(bA = 0; bA < pA; ++bA)o[tA + bA] = o[tA + bA - DA];
                            for(tA += pA, E += pA; E >= p;)E -= p, ++b, F != null && b <= C && !(b % 16) && F(a, b);
                            if (A(tA <= v), E & q && (dA = Ge(j, E, b)), V != null) for(; rA < tA;)pA = o[rA++], V.X[(506832829 * pA & 4294967295) >>> V.Mb] = pA;
                        } else {
                            if (!(pA < wA)) break A;
                            for(vA = pA - 280, A(V != null); rA < tA;)pA = o[rA++], V.X[(506832829 * pA & 4294967295) >>> V.Mb] = pA;
                            pA = tA, A(!(vA >>> (DA = V).Xa)), o[pA] = DA.X[vA], vA = !0;
                        }
                        vA || A(S.h == T(S));
                    }
                    if (a.Pb && S.h && tA < v) A(a.m.h), a.a = 5, a.m = a.wd, a.$ = a.xd, 0 < a.s.ua && gA(a.s.vb, a.s.Wa);
                    else {
                        if (S.h) break A;
                        F?.(a, b > C ? C : b), a.a = 0, a.$ = tA - f;
                    }
                    return 1;
                }
                return a.a = 3, 0;
            }
            function dr(a) {
                A(a != null), a.vc = null, a.yc = null, a.Ya = null;
                var o = a.Wa;
                o != null && (o.X = null), a.vb = null, A(a != null);
            }
            function Tt() {
                var a = new uc;
                return a == null ? null : (a.a = 0, a.xb = Al, fr("Predictor", "VP8LPredictors"), fr("Predictor", "VP8LPredictors_C"), fr("PredictorAdd", "VP8LPredictorsAdd"), fr("PredictorAdd", "VP8LPredictorsAdd_C"), os = se, In = qA, Ut = SA, pt = st, zr = ce, _r = Xt, Dr = me, O.VP8LMapColor32b = ui, O.VP8LMapColor8b = us, a);
            }
            function pr(a, o, f, p, v) {
                var C = 1, F = [
                    a
                ], b = [
                    o
                ], E = p.m, S = p.s, j = null, tA = 0;
                A: for(;;){
                    if (f) for(; C && hA(E, 1);){
                        var rA = F, z = b, wA = p, fA = 1, V = wA.m, q = wA.gc[wA.ab], dA = hA(V, 2);
                        if (wA.Oc & 1 << dA) C = 0;
                        else {
                            switch(wA.Oc |= 1 << dA, q.hc = dA, q.Ea = rA[0], q.nc = z[0], q.K = [
                                null
                            ], ++wA.ab, A(4 >= wA.ab), dA){
                                case 0:
                                case 1:
                                    q.b = hA(V, 3) + 2, fA = pr(PA(q.Ea, q.b), PA(q.nc, q.b), 0, wA, q.K), q.K = q.K[0];
                                    break;
                                case 3:
                                    var vA, pA = hA(V, 8) + 1, DA = 16 < pA ? 0 : 4 < pA ? 1 : 2 < pA ? 2 : 3;
                                    if (rA[0] = PA(q.Ea, DA), q.b = DA, vA = fA = pr(pA, 1, 0, wA, q.K)) {
                                        var bA, kA = pA, EA = q, ue = 1 << (8 >> EA.b), Be = i(ue);
                                        if (Be == null) vA = 0;
                                        else {
                                            var oe = EA.K[0], ne = EA.w;
                                            for(Be[0] = EA.K[0][0], bA = 1; bA < 1 * kA; ++bA)Be[bA] = CA(oe[ne + bA], Be[bA - 1]);
                                            for(; bA < 4 * ue; ++bA)Be[bA] = 0;
                                            EA.K[0] = null, EA.K[0] = Be, vA = 1;
                                        }
                                    }
                                    fA = vA;
                                    break;
                                case 2:
                                    break;
                                default:
                                    A(0);
                            }
                            C = fA;
                        }
                    }
                    if (F = F[0], b = b[0], C && hA(E, 1) && !(C = 1 <= (tA = hA(E, 4)) && 11 >= tA)) {
                        p.a = 3;
                        break A;
                    }
                    var Ce;
                    if (Ce = C) e: {
                        var we, Ae, Ve, yt = p, qe = F, bt = b, ge = tA, St = f, Nt = yt.m, Ze = yt.s, nt = [
                            null
                        ], vt = 1, Gt = 0, Cr = UB[ge];
                        t: for(;;){
                            if (St && hA(Nt, 1)) {
                                var $e = hA(Nt, 3) + 2, Mr = PA(qe, $e), _n = PA(bt, $e), gi = Mr * _n;
                                if (!pr(Mr, _n, 0, yt, nt)) break t;
                                for(nt = nt[0], Ze.xc = $e, we = 0; we < gi; ++we){
                                    var en = nt[we] >> 8 & 65535;
                                    nt[we] = en, en >= vt && (vt = en + 1);
                                }
                            }
                            if (Nt.h) break t;
                            for(Ae = 0; 5 > Ae; ++Ae){
                                var Ne = Zu[Ae];
                                !Ae && 0 < ge && (Ne += 1 << ge), Gt < Ne && (Gt = Ne);
                            }
                            var mc = s(vt * Cr, H), ol = vt, cl = s(ol, M);
                            if (cl == null) var Qs = null;
                            else A(65536 >= ol), Qs = cl;
                            var fa = i(Gt);
                            if (Qs == null || fa == null || mc == null) {
                                yt.a = 1;
                                break t;
                            }
                            var Fs = mc;
                            for(we = Ve = 0; we < vt; ++we){
                                var nr = Qs[we], di = nr.G, pi = nr.H, ul = 0, Us = 1, ll = 0;
                                for(Ae = 0; 5 > Ae; ++Ae){
                                    Ne = Zu[Ae], di[Ae] = Fs, pi[Ae] = Ve, !Ae && 0 < ge && (Ne += 1 << ge);
                                    n: {
                                        var ys, Cc = Ne, bs = yt, ha = fa, VB = Fs, qB = Ve, Qc = 0, tn = bs.m, WB = hA(tn, 1);
                                        if (n(ha, 0, 0, Cc), WB) {
                                            var XB = hA(tn, 1) + 1, JB = hA(tn, 1), fl = hA(tn, JB == 0 ? 1 : 8);
                                            ha[fl] = 1, XB == 2 && (ha[fl = hA(tn, 8)] = 1);
                                            var Ls = 1;
                                        } else {
                                            var hl = i(19), Bl = hA(tn, 4) + 4;
                                            if (19 < Bl) {
                                                bs.a = 3;
                                                var Es = 0;
                                                break n;
                                            }
                                            for(ys = 0; ys < Bl; ++ys)hl[QB[ys]] = hA(tn, 3);
                                            var Fc = void 0, Ba = void 0, gl = bs, zB = hl, Is = Cc, dl = ha, Uc = 0, rn = gl.m, pl = 8, wl = s(128, H);
                                            r: for(; I(wl, 0, 7, zB, 19);){
                                                if (hA(rn, 1)) {
                                                    var YB = 2 + 2 * hA(rn, 3);
                                                    if ((Fc = 2 + hA(rn, YB)) > Is) break r;
                                                } else Fc = Is;
                                                for(Ba = 0; Ba < Is && Fc--;){
                                                    X(rn);
                                                    var vl = wl[0 + (127 & _(rn))];
                                                    k(rn, rn.u + vl.g);
                                                    var wi = vl.value;
                                                    if (16 > wi) dl[Ba++] = wi, wi != 0 && (pl = wi);
                                                    else {
                                                        var ZB = wi == 16, ml = wi - 16, $B = mB[ml], Cl = hA(rn, vB[ml]) + $B;
                                                        if (Ba + Cl > Is) break r;
                                                        for(var A0 = ZB ? pl : 0; 0 < Cl--;)dl[Ba++] = A0;
                                                    }
                                                }
                                                Uc = 1;
                                                break r;
                                            }
                                            Uc || (gl.a = 3), Ls = Uc;
                                        }
                                        (Ls = Ls && !tn.h) && (Qc = I(VB, qB, 8, ha, Cc)), Ls && Qc != 0 ? Es = Qc : (bs.a = 3, Es = 0);
                                    }
                                    if (Es == 0) break t;
                                    if (Us && CB[Ae] == 1 && (Us = Fs[Ve].g == 0), ul += Fs[Ve].g, Ve += Es, 3 >= Ae) {
                                        var ga, yc = fa[0];
                                        for(ga = 1; ga < Ne; ++ga)fa[ga] > yc && (yc = fa[ga]);
                                        ll += yc;
                                    }
                                }
                                if (nr.nd = Us, nr.Qb = 0, Us && (nr.qb = (di[3][pi[3] + 0].value << 24 | di[1][pi[1] + 0].value << 16 | di[2][pi[2] + 0].value) >>> 0, ul == 0 && 256 > di[0][pi[0] + 0].value && (nr.Qb = 1, nr.qb += di[0][pi[0] + 0].value << 8)), nr.jc = !nr.Qb && 6 > ll, nr.jc) {
                                    var xs, Kr = nr;
                                    for(xs = 0; xs < rt; ++xs){
                                        var nn = xs, an = Kr.pd[nn], Hs = Kr.G[0][Kr.H[0] + nn];
                                        256 <= Hs.value ? (an.g = Hs.g + 256, an.value = Hs.value) : (an.g = 0, an.value = 0, nn >>= Xe(Hs, 8, an), nn >>= Xe(Kr.G[1][Kr.H[1] + nn], 16, an), nn >>= Xe(Kr.G[2][Kr.H[2] + nn], 0, an), Xe(Kr.G[3][Kr.H[3] + nn], 24, an));
                                    }
                                }
                            }
                            Ze.vc = nt, Ze.Wb = vt, Ze.Ya = Qs, Ze.yc = mc, Ce = 1;
                            break e;
                        }
                        Ce = 0;
                    }
                    if (!(C = Ce)) {
                        p.a = 3;
                        break A;
                    }
                    if (0 < tA) {
                        if (S.ua = 1 << tA, !jA(S.Wa, tA)) {
                            p.a = 1, C = 0;
                            break A;
                        }
                    } else S.ua = 0;
                    var bc = p, Ql = F, e0 = b, Lc = bc.s, Ec = Lc.xc;
                    if (bc.c = Ql, bc.i = e0, Lc.md = PA(Ql, Ec), Lc.wc = Ec == 0 ? -1 : (1 << Ec) - 1, f) {
                        p.xb = SB;
                        break A;
                    }
                    if ((j = i(F * b)) == null) {
                        p.a = 1, C = 0;
                        break A;
                    }
                    C = (C = $t(p, j, 0, F, b, b, null)) && !E.h;
                    break A;
                }
                return C ? (v != null ? v[0] = j : (A(j == null), A(f)), p.$ = 0, f || dr(S)) : dr(S), C;
            }
            function Un(a, o) {
                var f = a.c * a.i, p = f + o + 16 * o;
                return A(a.c <= o), a.V = i(p), a.V == null ? (a.Ta = null, a.Ua = 0, a.a = 1, 0) : (a.Ta = a.V, a.Ua = a.Ba + f + o, 1);
            }
            function Vn(a, o) {
                var f = a.C, p = o - f, v = a.V, C = a.Ba + a.c * f;
                for(A(o <= a.l.o); 0 < p;){
                    var F = 16 < p ? 16 : p, b = a.l.ma, E = a.l.width, S = E * F, j = b.ca, tA = b.tb + E * f, rA = a.Ta, z = a.Ua;
                    It(a, F, v, C), Oe(rA, z, j, tA, S), Yt(b, f, f + F, j, tA, E), p -= F, v += F * a.c, f += F;
                }
                A(f == o), a.C = a.Ma = o;
            }
            function qn() {
                this.ub = this.yd = this.td = this.Rb = 0;
            }
            function Wn() {
                this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;
            }
            function Xn() {
                this.Fb = this.Bb = this.Cb = 0, this.Zb = i(4), this.Lb = i(4);
            }
            function Ra() {
                this.Yb = function() {
                    var a = [];
                    return function o(f, p, v) {
                        for(var C = v[p], F = 0; F < C && (f.push(v.length > p + 1 ? [] : 0), !(v.length < p + 1)); F++)o(f[F], p + 1, v);
                    }(a, 0, [
                        3,
                        11
                    ]), a;
                }();
            }
            function ko() {
                this.jb = i(3), this.Wc = c([
                    4,
                    8
                ], Ra), this.Xc = c([
                    4,
                    17
                ], Ra);
            }
            function Ro() {
                this.Pc = this.wb = this.Tb = this.zd = 0, this.vd = new i(4), this.od = new i(4);
            }
            function Jn() {
                this.ld = this.La = this.dd = this.tc = 0;
            }
            function Ga() {
                this.Na = this.la = 0;
            }
            function Go() {
                this.Sc = [
                    0,
                    0
                ], this.Eb = [
                    0,
                    0
                ], this.Qc = [
                    0,
                    0
                ], this.ia = this.lc = 0;
            }
            function Ki() {
                this.ad = i(384), this.Za = 0, this.Ob = i(16), this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;
            }
            function jo() {
                this.uc = this.M = this.Nb = 0, this.wa = Array(new Jn), this.Y = 0, this.ya = Array(new Ki), this.aa = 0, this.l = new zn;
            }
            function ja() {
                this.y = i(16), this.f = i(8), this.ea = i(8);
            }
            function Vo() {
                this.cb = this.a = 0, this.sc = "", this.m = new UA, this.Od = new qn, this.Kc = new Wn, this.ed = new Ro, this.Qa = new Xn, this.Ic = this.$c = this.Aa = 0, this.D = new jo, this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0, this.Jc = s(8, UA), this.ia = 0, this.pb = s(4, Go), this.Pa = new ko, this.Bd = this.kc = 0, this.Ac = [], this.Bc = 0, this.zc = [
                    0,
                    0,
                    0,
                    0
                ], this.Gd = Array(new ja), this.Hd = 0, this.rb = Array(new Ga), this.sb = 0, this.wa = Array(new Jn), this.Y = 0, this.oc = [], this.pc = 0, this.sa = [], this.ta = 0, this.qa = [], this.ra = 0, this.Ha = [], this.B = this.R = this.Ia = 0, this.Ec = [], this.M = this.ja = this.Vb = this.Fc = 0, this.ya = Array(new Ki), this.L = this.aa = 0, this.gd = c([
                    4,
                    2
                ], Jn), this.ga = null, this.Fa = [], this.Cc = this.qc = this.P = 0, this.Gb = [], this.Uc = 0, this.mb = [], this.nb = 0, this.rc = [], this.Ga = this.Vc = 0;
            }
            function zn() {
                this.T = this.U = this.ka = this.height = this.width = 0, this.y = [], this.f = [], this.ea = [], this.Rc = this.fa = this.W = this.N = this.O = 0, this.ma = "void", this.put = "VP8IoPutHook", this.ac = "VP8IoSetupHook", this.bc = "VP8IoTeardownHook", this.ha = this.Kb = 0, this.data = [], this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0, this.F = [], this.J = 0;
            }
            function qo() {
                var a = new Vo;
                return a != null && (a.a = 0, a.sc = "OK", a.cb = 0, a.Xb = 0, ua || (ua = Wa)), a;
            }
            function De(a, o, f) {
                return a.a == 0 && (a.a = o, a.sc = f, a.cb = 0), 0;
            }
            function Va(a, o, f) {
                return 3 <= f && a[o + 0] == 157 && a[o + 1] == 1 && a[o + 2] == 42;
            }
            function qa(a, o) {
                if (a == null) return 0;
                if (a.a = 0, a.sc = "OK", o == null) return De(a, 2, "null VP8Io passed to VP8GetHeaders()");
                var f = o.data, p = o.w, v = o.ha;
                if (4 > v) return De(a, 7, "Truncated header.");
                var C = f[p + 0] | f[p + 1] << 8 | f[p + 2] << 16, F = a.Od;
                if (F.Rb = !(1 & C), F.td = C >> 1 & 7, F.yd = C >> 4 & 1, F.ub = C >> 5, 3 < F.td) return De(a, 3, "Incorrect keyframe parameters.");
                if (!F.yd) return De(a, 4, "Frame not displayable.");
                p += 3, v -= 3;
                var b = a.Kc;
                if (F.Rb) {
                    if (7 > v) return De(a, 7, "cannot parse picture header");
                    if (!Va(f, p, v)) return De(a, 3, "Bad code word");
                    b.c = 16383 & (f[p + 4] << 8 | f[p + 3]), b.Td = f[p + 4] >> 6, b.i = 16383 & (f[p + 6] << 8 | f[p + 5]), b.Ud = f[p + 6] >> 6, p += 7, v -= 7, a.za = b.c + 15 >> 4, a.Ub = b.i + 15 >> 4, o.width = b.c, o.height = b.i, o.Da = 0, o.j = 0, o.v = 0, o.va = o.width, o.o = o.height, o.da = 0, o.ib = o.width, o.hb = o.height, o.U = o.width, o.T = o.height, n((C = a.Pa).jb, 0, 255, C.jb.length), A((C = a.Qa) != null), C.Cb = 0, C.Bb = 0, C.Fb = 1, n(C.Zb, 0, 0, C.Zb.length), n(C.Lb, 0, 0, C.Lb);
                }
                if (F.ub > v) return De(a, 7, "bad partition length");
                oA(C = a.m, f, p, F.ub), p += F.ub, v -= F.ub, F.Rb && (b.Ld = aA(C), b.Kd = aA(C)), b = a.Qa;
                var E, S = a.Pa;
                if (A(C != null), A(b != null), b.Cb = aA(C), b.Cb) {
                    if (b.Bb = aA(C), aA(C)) {
                        for(b.Fb = aA(C), E = 0; 4 > E; ++E)b.Zb[E] = aA(C) ? cA(C, 7) : 0;
                        for(E = 0; 4 > E; ++E)b.Lb[E] = aA(C) ? cA(C, 6) : 0;
                    }
                    if (b.Bb) for(E = 0; 3 > E; ++E)S.jb[E] = aA(C) ? iA(C, 8) : 255;
                } else b.Bb = 0;
                if (C.Ka) return De(a, 3, "cannot parse segment header");
                if ((b = a.ed).zd = aA(C), b.Tb = iA(C, 6), b.wb = iA(C, 3), b.Pc = aA(C), b.Pc && aA(C)) {
                    for(S = 0; 4 > S; ++S)aA(C) && (b.vd[S] = cA(C, 6));
                    for(S = 0; 4 > S; ++S)aA(C) && (b.od[S] = cA(C, 6));
                }
                if (a.L = b.Tb == 0 ? 0 : b.zd ? 1 : 2, C.Ka) return De(a, 3, "cannot parse filter header");
                var j = v;
                if (v = E = p, p = E + j, b = j, a.Xb = (1 << iA(a.m, 2)) - 1, j < 3 * (S = a.Xb)) f = 7;
                else {
                    for(E += 3 * S, b -= 3 * S, j = 0; j < S; ++j){
                        var tA = f[v + 0] | f[v + 1] << 8 | f[v + 2] << 16;
                        tA > b && (tA = b), oA(a.Jc[+j], f, E, tA), E += tA, b -= tA, v += 3;
                    }
                    oA(a.Jc[+S], f, E, b), f = E < p ? 0 : 5;
                }
                if (f != 0) return De(a, f, "cannot parse partitions");
                for(f = iA(E = a.m, 7), v = aA(E) ? cA(E, 4) : 0, p = aA(E) ? cA(E, 4) : 0, b = aA(E) ? cA(E, 4) : 0, S = aA(E) ? cA(E, 4) : 0, E = aA(E) ? cA(E, 4) : 0, j = a.Qa, tA = 0; 4 > tA; ++tA){
                    if (j.Cb) {
                        var rA = j.Zb[tA];
                        j.Fb || (rA += f);
                    } else {
                        if (0 < tA) {
                            a.pb[tA] = a.pb[0];
                            continue;
                        }
                        rA = f;
                    }
                    var z = a.pb[tA];
                    z.Sc[0] = pc[xt(rA + v, 127)], z.Sc[1] = wc[xt(rA + 0, 127)], z.Eb[0] = 2 * pc[xt(rA + p, 127)], z.Eb[1] = 101581 * wc[xt(rA + b, 127)] >> 16, 8 > z.Eb[1] && (z.Eb[1] = 8), z.Qc[0] = pc[xt(rA + S, 117)], z.Qc[1] = wc[xt(rA + E, 127)], z.lc = rA + E;
                }
                if (!F.Rb) return De(a, 4, "Not a key frame.");
                for(aA(C), F = a.Pa, f = 0; 4 > f; ++f){
                    for(v = 0; 8 > v; ++v)for(p = 0; 3 > p; ++p)for(b = 0; 11 > b; ++b)S = sA(C, xB[f][v][p][b]) ? iA(C, 8) : EB[f][v][p][b], F.Wc[f][v].Yb[p][b] = S;
                    for(v = 0; 17 > v; ++v)F.Xc[f][v] = F.Wc[f][HB[v]];
                }
                return a.kc = aA(C), a.kc && (a.Bd = iA(C, 8)), a.cb = 1;
            }
            function Wa(a, o, f, p, v, C, F) {
                var b = o[v].Yb[f];
                for(f = 0; 16 > v; ++v){
                    if (!sA(a, b[f + 0])) return v;
                    for(; !sA(a, b[f + 1]);)if (b = o[++v].Yb[0], f = 0, v == 16) return 16;
                    var E = o[v + 1].Yb;
                    if (sA(a, b[f + 2])) {
                        var S = a, j = 0;
                        if (sA(S, (rA = b)[(tA = f) + 3])) if (sA(S, rA[tA + 6])) {
                            for(b = 0, tA = 2 * (j = sA(S, rA[tA + 8])) + (rA = sA(S, rA[tA + 9 + j])), j = 0, rA = bB[tA]; rA[b]; ++b)j += j + sA(S, rA[b]);
                            j += 3 + (8 << tA);
                        } else sA(S, rA[tA + 7]) ? (j = 7 + 2 * sA(S, 165), j += sA(S, 145)) : j = 5 + sA(S, 159);
                        else j = sA(S, rA[tA + 4]) ? 3 + sA(S, rA[tA + 5]) : 2;
                        b = E[2];
                    } else j = 1, b = E[1];
                    E = F + LB[v], 0 > (S = a).b && nA(S);
                    var tA, rA = S.b, z = (tA = S.Ca >> 1) - (S.I >> rA) >> 31;
                    --S.b, S.Ca += z, S.Ca |= 1, S.I -= (tA + 1 & z) << rA, C[E] = ((j ^ z) - z) * p[(0 < v) + 0];
                }
                return 16;
            }
            function ki(a) {
                var o = a.rb[a.sb - 1];
                o.la = 0, o.Na = 0, n(a.zc, 0, 0, a.zc.length), a.ja = 0;
            }
            function Wo(a, o) {
                if (a == null) return 0;
                if (o == null) return De(a, 2, "NULL VP8Io parameter in VP8Decode().");
                if (!a.cb && !qa(a, o)) return 0;
                if (A(a.cb), o.ac == null || o.ac(o)) {
                    o.ob && (a.L = 0);
                    var f = Cs[a.L];
                    if (a.L == 2 ? (a.yb = 0, a.zb = 0) : (a.yb = o.v - f >> 4, a.zb = o.j - f >> 4, 0 > a.yb && (a.yb = 0), 0 > a.zb && (a.zb = 0)), a.Va = o.o + 15 + f >> 4, a.Hb = o.va + 15 + f >> 4, a.Hb > a.za && (a.Hb = a.za), a.Va > a.Ub && (a.Va = a.Ub), 0 < a.L) {
                        var p = a.ed;
                        for(f = 0; 4 > f; ++f){
                            var v;
                            if (a.Qa.Cb) {
                                var C = a.Qa.Lb[f];
                                a.Qa.Fb || (C += p.Tb);
                            } else C = p.Tb;
                            for(v = 0; 1 >= v; ++v){
                                var F = a.gd[f][v], b = C;
                                if (p.Pc && (b += p.vd[0], v && (b += p.od[0])), 0 < (b = 0 > b ? 0 : 63 < b ? 63 : b)) {
                                    var E = b;
                                    0 < p.wb && (E = 4 < p.wb ? E >> 2 : E >> 1) > 9 - p.wb && (E = 9 - p.wb), 1 > E && (E = 1), F.dd = E, F.tc = 2 * b + E, F.ld = 40 <= b ? 2 : 15 <= b ? 1 : 0;
                                } else F.tc = 0;
                                F.La = v;
                            }
                        }
                    }
                    f = 0;
                } else De(a, 6, "Frame setup failed"), f = a.a;
                if (f = f == 0) {
                    if (f) {
                        a.$c = 0, 0 < a.Aa || (a.Ic = jB);
                        A: {
                            f = a.Ic, p = 4 * (E = a.za);
                            var S = 32 * E, j = E + 1, tA = 0 < a.L ? E * (0 < a.Aa ? 2 : 1) : 0, rA = (a.Aa == 2 ? 2 : 1) * E;
                            if ((F = p + 832 + (v = 3 * (16 * f + Cs[a.L]) / 2 * S) + (C = a.Fa != null && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0)) != F) f = 0;
                            else {
                                if (F > a.Vb) {
                                    if (a.Vb = 0, a.Ec = i(F), a.Fc = 0, a.Ec == null) {
                                        f = De(a, 1, "no memory during frame initialization.");
                                        break A;
                                    }
                                    a.Vb = F;
                                }
                                F = a.Ec, b = a.Fc, a.Ac = F, a.Bc = b, b += p, a.Gd = s(S, ja), a.Hd = 0, a.rb = s(j + 1, Ga), a.sb = 1, a.wa = tA ? s(tA, Jn) : null, a.Y = 0, a.D.Nb = 0, a.D.wa = a.wa, a.D.Y = a.Y, 0 < a.Aa && (a.D.Y += E), A(!0), a.oc = F, a.pc = b, b += 832, a.ya = s(rA, Ki), a.aa = 0, a.D.ya = a.ya, a.D.aa = a.aa, a.Aa == 2 && (a.D.aa += E), a.R = 16 * E, a.B = 8 * E, E = (S = Cs[a.L]) * a.R, S = S / 2 * a.B, a.sa = F, a.ta = b + E, a.qa = a.sa, a.ra = a.ta + 16 * f * a.R + S, a.Ha = a.qa, a.Ia = a.ra + 8 * f * a.B + S, a.$c = 0, b += v, a.mb = C ? F : null, a.nb = C ? b : null, A(b + C <= a.Fc + a.Vb), ki(a), n(a.Ac, a.Bc, 0, p), f = 1;
                            }
                        }
                        if (f) {
                            if (o.ka = 0, o.y = a.sa, o.O = a.ta, o.f = a.qa, o.N = a.ra, o.ea = a.Ha, o.Vd = a.Ia, o.fa = a.R, o.Rc = a.B, o.F = null, o.J = 0, !fs) {
                                for(f = -255; 255 >= f; ++f)Je[255 + f] = 0 > f ? -f : f;
                                for(f = -1020; 1020 >= f; ++f)Or[1020 + f] = -128 > f ? -128 : 127 < f ? 127 : f;
                                for(f = -112; 112 >= f; ++f)ca[112 + f] = -16 > f ? -16 : 15 < f ? 15 : f;
                                for(f = -255; 510 >= f; ++f)Bi[255 + f] = 0 > f ? 0 : 255 < f ? 255 : f;
                                fs = 1;
                            }
                            li = zo, Tr = Xo, aa = Ja, wt = Jo, Pt = za, Te = Xa, fi = Wi, ls = Ln, sa = cc, xn = Xi, Hn = oc, Yr = ti, Sn = Ji, hi = is, Nn = ns, Zr = vr, oa = Nr, Mt = sc, rr[0] = wr, rr[1] = Yo, rr[2] = ec, rr[3] = tc, rr[4] = $a, rr[5] = Ai, rr[6] = As, rr[7] = ji, rr[8] = nc, rr[9] = rc, $r[0] = Ya, $r[1] = $o, $r[2] = Sr, $r[3] = Zn, $r[4] = ot, $r[5] = Ac, $r[6] = Za, Pr[0] = qr, Pr[1] = Zo, Pr[2] = ic, Pr[3] = Vi, Pr[4] = bn, Pr[5] = ac, Pr[6] = qi, f = 1;
                        } else f = 0;
                    }
                    f && (f = function(z, wA) {
                        for(z.M = 0; z.M < z.Va; ++z.M){
                            var fA, V = z.Jc[z.M & z.Xb], q = z.m, dA = z;
                            for(fA = 0; fA < dA.za; ++fA){
                                var vA = q, pA = dA, DA = pA.Ac, bA = pA.Bc + 4 * fA, kA = pA.zc, EA = pA.ya[pA.aa + fA];
                                if (pA.Qa.Bb ? EA.$b = sA(vA, pA.Pa.jb[0]) ? 2 + sA(vA, pA.Pa.jb[2]) : sA(vA, pA.Pa.jb[1]) : EA.$b = 0, pA.kc && (EA.Ad = sA(vA, pA.Bd)), EA.Za = !sA(vA, 145) + 0, EA.Za) {
                                    var ue = EA.Ob, Be = 0;
                                    for(pA = 0; 4 > pA; ++pA){
                                        var oe, ne = kA[0 + pA];
                                        for(oe = 0; 4 > oe; ++oe){
                                            ne = IB[DA[bA + oe]][ne];
                                            for(var Ce = $u[sA(vA, ne[0])]; 0 < Ce;)Ce = $u[2 * Ce + sA(vA, ne[Ce])];
                                            ne = -Ce, DA[bA + oe] = ne;
                                        }
                                        r(ue, Be, DA, bA, 4), Be += 4, kA[0 + pA] = ne;
                                    }
                                } else ne = sA(vA, 156) ? sA(vA, 128) ? 1 : 3 : sA(vA, 163) ? 2 : 0, EA.Ob[0] = ne, n(DA, bA, ne, 4), n(kA, 0, ne, 4);
                                EA.Dd = sA(vA, 142) ? sA(vA, 114) ? sA(vA, 183) ? 1 : 3 : 2 : 0;
                            }
                            if (dA.m.Ka) return De(z, 7, "Premature end-of-partition0 encountered.");
                            for(; z.ja < z.za; ++z.ja){
                                if (dA = V, vA = (q = z).rb[q.sb - 1], DA = q.rb[q.sb + q.ja], fA = q.ya[q.aa + q.ja], bA = q.kc ? fA.Ad : 0) vA.la = DA.la = 0, fA.Za || (vA.Na = DA.Na = 0), fA.Hc = 0, fA.Gc = 0, fA.ia = 0;
                                else {
                                    var we, Ae;
                                    if (vA = DA, DA = dA, bA = q.Pa.Xc, kA = q.ya[q.aa + q.ja], EA = q.pb[kA.$b], pA = kA.ad, ue = 0, Be = q.rb[q.sb - 1], ne = oe = 0, n(pA, ue, 0, 384), kA.Za) var Ve = 0, yt = bA[3];
                                    else {
                                        Ce = i(16);
                                        var qe = vA.Na + Be.Na;
                                        if (qe = ua(DA, bA[1], qe, EA.Eb, 0, Ce, 0), vA.Na = Be.Na = (0 < qe) + 0, 1 < qe) li(Ce, 0, pA, ue);
                                        else {
                                            var bt = Ce[0] + 3 >> 3;
                                            for(Ce = 0; 256 > Ce; Ce += 16)pA[ue + Ce] = bt;
                                        }
                                        Ve = 1, yt = bA[0];
                                    }
                                    var ge = 15 & vA.la, St = 15 & Be.la;
                                    for(Ce = 0; 4 > Ce; ++Ce){
                                        var Nt = 1 & St;
                                        for(bt = Ae = 0; 4 > bt; ++bt)ge = ge >> 1 | (Nt = (qe = ua(DA, yt, qe = Nt + (1 & ge), EA.Sc, Ve, pA, ue)) > Ve) << 7, Ae = Ae << 2 | (3 < qe ? 3 : 1 < qe ? 2 : pA[ue + 0] != 0), ue += 16;
                                        ge >>= 4, St = St >> 1 | Nt << 7, oe = (oe << 8 | Ae) >>> 0;
                                    }
                                    for(yt = ge, Ve = St >> 4, we = 0; 4 > we; we += 2){
                                        for(Ae = 0, ge = vA.la >> 4 + we, St = Be.la >> 4 + we, Ce = 0; 2 > Ce; ++Ce){
                                            for(Nt = 1 & St, bt = 0; 2 > bt; ++bt)qe = Nt + (1 & ge), ge = ge >> 1 | (Nt = 0 < (qe = ua(DA, bA[2], qe, EA.Qc, 0, pA, ue))) << 3, Ae = Ae << 2 | (3 < qe ? 3 : 1 < qe ? 2 : pA[ue + 0] != 0), ue += 16;
                                            ge >>= 2, St = St >> 1 | Nt << 5;
                                        }
                                        ne |= Ae << 4 * we, yt |= ge << 4 << we, Ve |= (240 & St) << we;
                                    }
                                    vA.la = yt, Be.la = Ve, kA.Hc = oe, kA.Gc = ne, kA.ia = 43690 & ne ? 0 : EA.ia, bA = !(oe | ne);
                                }
                                if (0 < q.L && (q.wa[q.Y + q.ja] = q.gd[fA.$b][fA.Za], q.wa[q.Y + q.ja].La |= !bA), dA.Ka) return De(z, 7, "Premature end-of-file encountered.");
                            }
                            if (ki(z), q = wA, dA = 1, fA = (V = z).D, vA = 0 < V.L && V.M >= V.zb && V.M <= V.Va, V.Aa == 0) A: {
                                if (fA.M = V.M, fA.uc = vA, ea(V, fA), dA = 1, fA = (Ae = V.D).Nb, vA = (ne = Cs[V.L]) * V.R, DA = ne / 2 * V.B, Ce = 16 * fA * V.R, bt = 8 * fA * V.B, bA = V.sa, kA = V.ta - vA + Ce, EA = V.qa, pA = V.ra - DA + bt, ue = V.Ha, Be = V.Ia - DA + bt, St = (ge = Ae.M) == 0, oe = ge >= V.Va - 1, V.Aa == 2 && ea(V, Ae), Ae.uc) for(Nt = (qe = V).D.M, A(qe.D.uc), Ae = qe.yb; Ae < qe.Hb; ++Ae){
                                    Ve = Ae, yt = Nt;
                                    var Ze = (nt = (Ne = qe).D).Nb;
                                    we = Ne.R;
                                    var nt = nt.wa[nt.Y + Ve], vt = Ne.sa, Gt = Ne.ta + 16 * Ze * we + 16 * Ve, Cr = nt.dd, $e = nt.tc;
                                    if ($e != 0) if (A(3 <= $e), Ne.L == 1) 0 < Ve && Zr(vt, Gt, we, $e + 4), nt.La && Mt(vt, Gt, we, $e), 0 < yt && Nn(vt, Gt, we, $e + 4), nt.La && oa(vt, Gt, we, $e);
                                    else {
                                        var Mr = Ne.B, _n = Ne.qa, gi = Ne.ra + 8 * Ze * Mr + 8 * Ve, en = Ne.Ha, Ne = Ne.Ia + 8 * Ze * Mr + 8 * Ve;
                                        Ze = nt.ld, 0 < Ve && (ls(vt, Gt, we, $e + 4, Cr, Ze), xn(_n, gi, en, Ne, Mr, $e + 4, Cr, Ze)), nt.La && (Yr(vt, Gt, we, $e, Cr, Ze), hi(_n, gi, en, Ne, Mr, $e, Cr, Ze)), 0 < yt && (fi(vt, Gt, we, $e + 4, Cr, Ze), sa(_n, gi, en, Ne, Mr, $e + 4, Cr, Ze)), nt.La && (Hn(vt, Gt, we, $e, Cr, Ze), Sn(_n, gi, en, Ne, Mr, $e, Cr, Ze));
                                    }
                                }
                                if (V.ia && alert("todo:DitherRow"), q.put != null) {
                                    if (Ae = 16 * ge, ge = 16 * (ge + 1), St ? (q.y = V.sa, q.O = V.ta + Ce, q.f = V.qa, q.N = V.ra + bt, q.ea = V.Ha, q.W = V.Ia + bt) : (Ae -= ne, q.y = bA, q.O = kA, q.f = EA, q.N = pA, q.ea = ue, q.W = Be), oe || (ge -= ne), ge > q.o && (ge = q.o), q.F = null, q.J = null, V.Fa != null && 0 < V.Fa.length && Ae < ge && (q.J = $i(V, q, Ae, ge - Ae), q.F = V.mb, q.F == null && q.F.length == 0)) {
                                        dA = De(V, 3, "Could not decode alpha data.");
                                        break A;
                                    }
                                    Ae < q.j && (ne = q.j - Ae, Ae = q.j, A(!(1 & ne)), q.O += V.R * ne, q.N += V.B * (ne >> 1), q.W += V.B * (ne >> 1), q.F != null && (q.J += q.width * ne)), Ae < ge && (q.O += q.v, q.N += q.v >> 1, q.W += q.v >> 1, q.F != null && (q.J += q.v), q.ka = Ae - q.j, q.U = q.va - q.v, q.T = ge - Ae, dA = q.put(q));
                                }
                                fA + 1 != V.Ic || oe || (r(V.sa, V.ta - vA, bA, kA + 16 * V.R, vA), r(V.qa, V.ra - DA, EA, pA + 8 * V.B, DA), r(V.Ha, V.Ia - DA, ue, Be + 8 * V.B, DA));
                            }
                            if (!dA) return De(z, 6, "Output aborted.");
                        }
                        return 1;
                    }(a, o)), o.bc != null && o.bc(o), f &= 1;
                }
                return f ? (a.cb = 0, f) : 0;
            }
            function Ar(a, o, f, p, v) {
                v = a[o + f + 32 * p] + (v >> 3), a[o + f + 32 * p] = -256 & v ? 0 > v ? 0 : 255 : v;
            }
            function Yn(a, o, f, p, v, C) {
                Ar(a, o, 0, f, p + v), Ar(a, o, 1, f, p + C), Ar(a, o, 2, f, p - C), Ar(a, o, 3, f, p - v);
            }
            function Qt(a) {
                return (20091 * a >> 16) + a;
            }
            function Ri(a, o, f, p) {
                var v, C = 0, F = i(16);
                for(v = 0; 4 > v; ++v){
                    var b = a[o + 0] + a[o + 8], E = a[o + 0] - a[o + 8], S = (35468 * a[o + 4] >> 16) - Qt(a[o + 12]), j = Qt(a[o + 4]) + (35468 * a[o + 12] >> 16);
                    F[C + 0] = b + j, F[C + 1] = E + S, F[C + 2] = E - S, F[C + 3] = b - j, C += 4, o++;
                }
                for(v = C = 0; 4 > v; ++v)b = (a = F[C + 0] + 4) + F[C + 8], E = a - F[C + 8], S = (35468 * F[C + 4] >> 16) - Qt(F[C + 12]), Ar(f, p, 0, 0, b + (j = Qt(F[C + 4]) + (35468 * F[C + 12] >> 16))), Ar(f, p, 1, 0, E + S), Ar(f, p, 2, 0, E - S), Ar(f, p, 3, 0, b - j), C++, p += 32;
            }
            function Xa(a, o, f, p) {
                var v = a[o + 0] + 4, C = 35468 * a[o + 4] >> 16, F = Qt(a[o + 4]), b = 35468 * a[o + 1] >> 16;
                Yn(f, p, 0, v + F, a = Qt(a[o + 1]), b), Yn(f, p, 1, v + C, a, b), Yn(f, p, 2, v - C, a, b), Yn(f, p, 3, v - F, a, b);
            }
            function Xo(a, o, f, p, v) {
                Ri(a, o, f, p), v && Ri(a, o + 16, f, p + 4);
            }
            function Ja(a, o, f, p) {
                Tr(a, o + 0, f, p, 1), Tr(a, o + 32, f, p + 128, 1);
            }
            function Jo(a, o, f, p) {
                var v;
                for(a = a[o + 0] + 4, v = 0; 4 > v; ++v)for(o = 0; 4 > o; ++o)Ar(f, p, o, v, a);
            }
            function za(a, o, f, p) {
                a[o + 0] && wt(a, o + 0, f, p), a[o + 16] && wt(a, o + 16, f, p + 4), a[o + 32] && wt(a, o + 32, f, p + 128), a[o + 48] && wt(a, o + 48, f, p + 128 + 4);
            }
            function zo(a, o, f, p) {
                var v, C = i(16);
                for(v = 0; 4 > v; ++v){
                    var F = a[o + 0 + v] + a[o + 12 + v], b = a[o + 4 + v] + a[o + 8 + v], E = a[o + 4 + v] - a[o + 8 + v], S = a[o + 0 + v] - a[o + 12 + v];
                    C[0 + v] = F + b, C[8 + v] = F - b, C[4 + v] = S + E, C[12 + v] = S - E;
                }
                for(v = 0; 4 > v; ++v)F = (a = C[0 + 4 * v] + 3) + C[3 + 4 * v], b = C[1 + 4 * v] + C[2 + 4 * v], E = C[1 + 4 * v] - C[2 + 4 * v], S = a - C[3 + 4 * v], f[p + 0] = F + b >> 3, f[p + 16] = S + E >> 3, f[p + 32] = F - b >> 3, f[p + 48] = S - E >> 3, p += 64;
            }
            function Gi(a, o, f) {
                var p, v = o - 32, C = Ht, F = 255 - a[v - 1];
                for(p = 0; p < f; ++p){
                    var b, E = C, S = F + a[o - 1];
                    for(b = 0; b < f; ++b)a[o + b] = E[S + a[v + b]];
                    o += 32;
                }
            }
            function Yo(a, o) {
                Gi(a, o, 4);
            }
            function Zo(a, o) {
                Gi(a, o, 8);
            }
            function $o(a, o) {
                Gi(a, o, 16);
            }
            function Sr(a, o) {
                var f;
                for(f = 0; 16 > f; ++f)r(a, o + 32 * f, a, o - 32, 16);
            }
            function Zn(a, o) {
                var f;
                for(f = 16; 0 < f; --f)n(a, o, a[o - 1], 16), o += 32;
            }
            function $n(a, o, f) {
                var p;
                for(p = 0; 16 > p; ++p)n(o, f + 32 * p, a, 16);
            }
            function Ya(a, o) {
                var f, p = 16;
                for(f = 0; 16 > f; ++f)p += a[o - 1 + 32 * f] + a[o + f - 32];
                $n(p >> 5, a, o);
            }
            function ot(a, o) {
                var f, p = 8;
                for(f = 0; 16 > f; ++f)p += a[o - 1 + 32 * f];
                $n(p >> 4, a, o);
            }
            function Ac(a, o) {
                var f, p = 8;
                for(f = 0; 16 > f; ++f)p += a[o + f - 32];
                $n(p >> 4, a, o);
            }
            function Za(a, o) {
                $n(128, a, o);
            }
            function WA(a, o, f) {
                return a + 2 * o + f + 2 >> 2;
            }
            function ec(a, o) {
                var f, p = o - 32;
                for(p = new Uint8Array([
                    WA(a[p - 1], a[p + 0], a[p + 1]),
                    WA(a[p + 0], a[p + 1], a[p + 2]),
                    WA(a[p + 1], a[p + 2], a[p + 3]),
                    WA(a[p + 2], a[p + 3], a[p + 4])
                ]), f = 0; 4 > f; ++f)r(a, o + 32 * f, p, 0, p.length);
            }
            function tc(a, o) {
                var f = a[o - 1], p = a[o - 1 + 32], v = a[o - 1 + 64], C = a[o - 1 + 96];
                FA(a, o + 0, 16843009 * WA(a[o - 1 - 32], f, p)), FA(a, o + 32, 16843009 * WA(f, p, v)), FA(a, o + 64, 16843009 * WA(p, v, C)), FA(a, o + 96, 16843009 * WA(v, C, C));
            }
            function wr(a, o) {
                var f, p = 4;
                for(f = 0; 4 > f; ++f)p += a[o + f - 32] + a[o - 1 + 32 * f];
                for(p >>= 3, f = 0; 4 > f; ++f)n(a, o + 32 * f, p, 4);
            }
            function $a(a, o) {
                var f = a[o - 1 + 0], p = a[o - 1 + 32], v = a[o - 1 + 64], C = a[o - 1 - 32], F = a[o + 0 - 32], b = a[o + 1 - 32], E = a[o + 2 - 32], S = a[o + 3 - 32];
                a[o + 0 + 96] = WA(p, v, a[o - 1 + 96]), a[o + 1 + 96] = a[o + 0 + 64] = WA(f, p, v), a[o + 2 + 96] = a[o + 1 + 64] = a[o + 0 + 32] = WA(C, f, p), a[o + 3 + 96] = a[o + 2 + 64] = a[o + 1 + 32] = a[o + 0 + 0] = WA(F, C, f), a[o + 3 + 64] = a[o + 2 + 32] = a[o + 1 + 0] = WA(b, F, C), a[o + 3 + 32] = a[o + 2 + 0] = WA(E, b, F), a[o + 3 + 0] = WA(S, E, b);
            }
            function As(a, o) {
                var f = a[o + 1 - 32], p = a[o + 2 - 32], v = a[o + 3 - 32], C = a[o + 4 - 32], F = a[o + 5 - 32], b = a[o + 6 - 32], E = a[o + 7 - 32];
                a[o + 0 + 0] = WA(a[o + 0 - 32], f, p), a[o + 1 + 0] = a[o + 0 + 32] = WA(f, p, v), a[o + 2 + 0] = a[o + 1 + 32] = a[o + 0 + 64] = WA(p, v, C), a[o + 3 + 0] = a[o + 2 + 32] = a[o + 1 + 64] = a[o + 0 + 96] = WA(v, C, F), a[o + 3 + 32] = a[o + 2 + 64] = a[o + 1 + 96] = WA(C, F, b), a[o + 3 + 64] = a[o + 2 + 96] = WA(F, b, E), a[o + 3 + 96] = WA(b, E, E);
            }
            function Ai(a, o) {
                var f = a[o - 1 + 0], p = a[o - 1 + 32], v = a[o - 1 + 64], C = a[o - 1 - 32], F = a[o + 0 - 32], b = a[o + 1 - 32], E = a[o + 2 - 32], S = a[o + 3 - 32];
                a[o + 0 + 0] = a[o + 1 + 64] = C + F + 1 >> 1, a[o + 1 + 0] = a[o + 2 + 64] = F + b + 1 >> 1, a[o + 2 + 0] = a[o + 3 + 64] = b + E + 1 >> 1, a[o + 3 + 0] = E + S + 1 >> 1, a[o + 0 + 96] = WA(v, p, f), a[o + 0 + 64] = WA(p, f, C), a[o + 0 + 32] = a[o + 1 + 96] = WA(f, C, F), a[o + 1 + 32] = a[o + 2 + 96] = WA(C, F, b), a[o + 2 + 32] = a[o + 3 + 96] = WA(F, b, E), a[o + 3 + 32] = WA(b, E, S);
            }
            function ji(a, o) {
                var f = a[o + 0 - 32], p = a[o + 1 - 32], v = a[o + 2 - 32], C = a[o + 3 - 32], F = a[o + 4 - 32], b = a[o + 5 - 32], E = a[o + 6 - 32], S = a[o + 7 - 32];
                a[o + 0 + 0] = f + p + 1 >> 1, a[o + 1 + 0] = a[o + 0 + 64] = p + v + 1 >> 1, a[o + 2 + 0] = a[o + 1 + 64] = v + C + 1 >> 1, a[o + 3 + 0] = a[o + 2 + 64] = C + F + 1 >> 1, a[o + 0 + 32] = WA(f, p, v), a[o + 1 + 32] = a[o + 0 + 96] = WA(p, v, C), a[o + 2 + 32] = a[o + 1 + 96] = WA(v, C, F), a[o + 3 + 32] = a[o + 2 + 96] = WA(C, F, b), a[o + 3 + 64] = WA(F, b, E), a[o + 3 + 96] = WA(b, E, S);
            }
            function rc(a, o) {
                var f = a[o - 1 + 0], p = a[o - 1 + 32], v = a[o - 1 + 64], C = a[o - 1 + 96];
                a[o + 0 + 0] = f + p + 1 >> 1, a[o + 2 + 0] = a[o + 0 + 32] = p + v + 1 >> 1, a[o + 2 + 32] = a[o + 0 + 64] = v + C + 1 >> 1, a[o + 1 + 0] = WA(f, p, v), a[o + 3 + 0] = a[o + 1 + 32] = WA(p, v, C), a[o + 3 + 32] = a[o + 1 + 64] = WA(v, C, C), a[o + 3 + 64] = a[o + 2 + 64] = a[o + 0 + 96] = a[o + 1 + 96] = a[o + 2 + 96] = a[o + 3 + 96] = C;
            }
            function nc(a, o) {
                var f = a[o - 1 + 0], p = a[o - 1 + 32], v = a[o - 1 + 64], C = a[o - 1 + 96], F = a[o - 1 - 32], b = a[o + 0 - 32], E = a[o + 1 - 32], S = a[o + 2 - 32];
                a[o + 0 + 0] = a[o + 2 + 32] = f + F + 1 >> 1, a[o + 0 + 32] = a[o + 2 + 64] = p + f + 1 >> 1, a[o + 0 + 64] = a[o + 2 + 96] = v + p + 1 >> 1, a[o + 0 + 96] = C + v + 1 >> 1, a[o + 3 + 0] = WA(b, E, S), a[o + 2 + 0] = WA(F, b, E), a[o + 1 + 0] = a[o + 3 + 32] = WA(f, F, b), a[o + 1 + 32] = a[o + 3 + 64] = WA(p, f, F), a[o + 1 + 64] = a[o + 3 + 96] = WA(v, p, f), a[o + 1 + 96] = WA(C, v, p);
            }
            function ic(a, o) {
                var f;
                for(f = 0; 8 > f; ++f)r(a, o + 32 * f, a, o - 32, 8);
            }
            function Vi(a, o) {
                var f;
                for(f = 0; 8 > f; ++f)n(a, o, a[o - 1], 8), o += 32;
            }
            function yn(a, o, f) {
                var p;
                for(p = 0; 8 > p; ++p)n(o, f + 32 * p, a, 8);
            }
            function qr(a, o) {
                var f, p = 8;
                for(f = 0; 8 > f; ++f)p += a[o + f - 32] + a[o - 1 + 32 * f];
                yn(p >> 4, a, o);
            }
            function ac(a, o) {
                var f, p = 4;
                for(f = 0; 8 > f; ++f)p += a[o + f - 32];
                yn(p >> 3, a, o);
            }
            function bn(a, o) {
                var f, p = 4;
                for(f = 0; 8 > f; ++f)p += a[o - 1 + 32 * f];
                yn(p >> 3, a, o);
            }
            function qi(a, o) {
                yn(128, a, o);
            }
            function ei(a, o, f) {
                var p = a[o - f], v = a[o + 0], C = 3 * (v - p) + fc[1020 + a[o - 2 * f] - a[o + f]], F = hs[112 + (C + 4 >> 3)];
                a[o - f] = Ht[255 + p + hs[112 + (C + 3 >> 3)]], a[o + 0] = Ht[255 + v - F];
            }
            function es(a, o, f, p) {
                var v = a[o + 0], C = a[o + f];
                return kt[255 + a[o - 2 * f] - a[o - f]] > p || kt[255 + C - v] > p;
            }
            function ts(a, o, f, p) {
                return 4 * kt[255 + a[o - f] - a[o + 0]] + kt[255 + a[o - 2 * f] - a[o + f]] <= p;
            }
            function rs(a, o, f, p, v) {
                var C = a[o - 3 * f], F = a[o - 2 * f], b = a[o - f], E = a[o + 0], S = a[o + f], j = a[o + 2 * f], tA = a[o + 3 * f];
                return 4 * kt[255 + b - E] + kt[255 + F - S] > p ? 0 : kt[255 + a[o - 4 * f] - C] <= v && kt[255 + C - F] <= v && kt[255 + F - b] <= v && kt[255 + tA - j] <= v && kt[255 + j - S] <= v && kt[255 + S - E] <= v;
            }
            function ns(a, o, f, p) {
                var v = 2 * p + 1;
                for(p = 0; 16 > p; ++p)ts(a, o + p, f, v) && ei(a, o + p, f);
            }
            function vr(a, o, f, p) {
                var v = 2 * p + 1;
                for(p = 0; 16 > p; ++p)ts(a, o + p * f, 1, v) && ei(a, o + p * f, 1);
            }
            function Nr(a, o, f, p) {
                var v;
                for(v = 3; 0 < v; --v)ns(a, o += 4 * f, f, p);
            }
            function sc(a, o, f, p) {
                var v;
                for(v = 3; 0 < v; --v)vr(a, o += 4, f, p);
            }
            function Wr(a, o, f, p, v, C, F, b) {
                for(C = 2 * C + 1; 0 < v--;){
                    if (rs(a, o, f, C, F)) if (es(a, o, f, b)) ei(a, o, f);
                    else {
                        var E = a, S = o, j = f, tA = E[S - 2 * j], rA = E[S - j], z = E[S + 0], wA = E[S + j], fA = E[S + 2 * j], V = 27 * (dA = fc[1020 + 3 * (z - rA) + fc[1020 + tA - wA]]) + 63 >> 7, q = 18 * dA + 63 >> 7, dA = 9 * dA + 63 >> 7;
                        E[S - 3 * j] = Ht[255 + E[S - 3 * j] + dA], E[S - 2 * j] = Ht[255 + tA + q], E[S - j] = Ht[255 + rA + V], E[S + 0] = Ht[255 + z - V], E[S + j] = Ht[255 + wA - q], E[S + 2 * j] = Ht[255 + fA - dA];
                    }
                    o += p;
                }
            }
            function er(a, o, f, p, v, C, F, b) {
                for(C = 2 * C + 1; 0 < v--;){
                    if (rs(a, o, f, C, F)) if (es(a, o, f, b)) ei(a, o, f);
                    else {
                        var E = a, S = o, j = f, tA = E[S - j], rA = E[S + 0], z = E[S + j], wA = hs[112 + ((fA = 3 * (rA - tA)) + 4 >> 3)], fA = hs[112 + (fA + 3 >> 3)], V = wA + 1 >> 1;
                        E[S - 2 * j] = Ht[255 + E[S - 2 * j] + V], E[S - j] = Ht[255 + tA + fA], E[S + 0] = Ht[255 + rA - wA], E[S + j] = Ht[255 + z - V];
                    }
                    o += p;
                }
            }
            function Wi(a, o, f, p, v, C) {
                Wr(a, o, f, 1, 16, p, v, C);
            }
            function Ln(a, o, f, p, v, C) {
                Wr(a, o, 1, f, 16, p, v, C);
            }
            function oc(a, o, f, p, v, C) {
                var F;
                for(F = 3; 0 < F; --F)er(a, o += 4 * f, f, 1, 16, p, v, C);
            }
            function ti(a, o, f, p, v, C) {
                var F;
                for(F = 3; 0 < F; --F)er(a, o += 4, 1, f, 16, p, v, C);
            }
            function cc(a, o, f, p, v, C, F, b) {
                Wr(a, o, v, 1, 8, C, F, b), Wr(f, p, v, 1, 8, C, F, b);
            }
            function Xi(a, o, f, p, v, C, F, b) {
                Wr(a, o, 1, v, 8, C, F, b), Wr(f, p, 1, v, 8, C, F, b);
            }
            function Ji(a, o, f, p, v, C, F, b) {
                er(a, o + 4 * v, v, 1, 8, C, F, b), er(f, p + 4 * v, v, 1, 8, C, F, b);
            }
            function is(a, o, f, p, v, C, F, b) {
                er(a, o + 4, 1, v, 8, C, F, b), er(f, p + 4, 1, v, 8, C, F, b);
            }
            function ri() {
                this.ba = new Jt, this.ec = [], this.cc = [], this.Mc = [], this.Dc = this.Nc = this.dc = this.fc = 0, this.Oa = new He, this.memory = 0, this.Ib = "OutputFunc", this.Jb = "OutputAlphaFunc", this.Nd = "OutputRowFunc";
            }
            function zi() {
                this.data = [], this.offset = this.kd = this.ha = this.w = 0, this.na = [], this.xa = this.gb = this.Ja = this.Sa = this.P = 0;
            }
            function Yi() {
                this.nc = this.Ea = this.b = this.hc = 0, this.K = [], this.w = 0;
            }
            function as() {
                this.ua = 0, this.Wa = new P, this.vb = new P, this.md = this.xc = this.wc = 0, this.vc = [], this.Wb = 0, this.Ya = new M, this.yc = new H;
            }
            function uc() {
                this.xb = this.a = 0, this.l = new zn, this.ca = new Jt, this.V = [], this.Ba = 0, this.Ta = [], this.Ua = 0, this.m = new y, this.Pb = 0, this.wd = new y, this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0, this.s = new as, this.ab = 0, this.gc = s(4, Yi), this.Oc = 0;
            }
            function ni() {
                this.Lc = this.Z = this.$a = this.i = this.c = 0, this.l = new zn, this.ic = 0, this.ca = [], this.tb = 0, this.qd = null, this.rd = 0;
            }
            function En(a, o, f, p, v, C, F) {
                for(a = a == null ? 0 : a[o + 0], o = 0; o < F; ++o)v[C + o] = a + f[p + o] & 255, a = v[C + o];
            }
            function Zi(a, o, f, p, v, C, F) {
                var b;
                if (a == null) En(null, null, f, p, v, C, F);
                else for(b = 0; b < F; ++b)v[C + b] = a[o + b] + f[p + b] & 255;
            }
            function Xr(a, o, f, p, v, C, F) {
                if (a == null) En(null, null, f, p, v, C, F);
                else {
                    var b, E = a[o + 0], S = E, j = E;
                    for(b = 0; b < F; ++b)S = j + (E = a[o + b]) - S, j = f[p + b] + (-256 & S ? 0 > S ? 0 : 255 : S) & 255, S = E, v[C + b] = j;
                }
            }
            function $i(a, o, f, p) {
                var v = o.width, C = o.o;
                if (A(a != null && o != null), 0 > f || 0 >= p || f + p > C) return null;
                if (!a.Cc) {
                    if (a.ga == null) {
                        var F;
                        if (a.ga = new ni, (F = a.ga == null) || (F = o.width * o.o, A(a.Gb.length == 0), a.Gb = i(F), a.Uc = 0, a.Gb == null ? F = 0 : (a.mb = a.Gb, a.nb = a.Uc, a.rc = null, F = 1), F = !F), !F) {
                            F = a.ga;
                            var b = a.Fa, E = a.P, S = a.qc, j = a.mb, tA = a.nb, rA = E + 1, z = S - 1, wA = F.l;
                            if (A(b != null && j != null && o != null), An[0] = null, An[1] = En, An[2] = Zi, An[3] = Xr, F.ca = j, F.tb = tA, F.c = o.width, F.i = o.height, A(0 < F.c && 0 < F.i), 1 >= S) o = 0;
                            else if (F.$a = b[E + 0] >> 0 & 3, F.Z = b[E + 0] >> 2 & 3, F.Lc = b[E + 0] >> 4 & 3, E = b[E + 0] >> 6 & 3, 0 > F.$a || 1 < F.$a || 4 <= F.Z || 1 < F.Lc || E) o = 0;
                            else if (wA.put = hr, wA.ac = tt, wA.bc = Br, wA.ma = F, wA.width = o.width, wA.height = o.height, wA.Da = o.Da, wA.v = o.v, wA.va = o.va, wA.j = o.j, wA.o = o.o, F.$a) A: {
                                A(F.$a == 1), o = Tt();
                                e: for(;;){
                                    if (o == null) {
                                        o = 0;
                                        break A;
                                    }
                                    if (A(F != null), F.mc = o, o.c = F.c, o.i = F.i, o.l = F.l, o.l.ma = F, o.l.width = F.c, o.l.height = F.i, o.a = 0, eA(o.m, b, rA, z), !pr(F.c, F.i, 1, o, null) || (o.ab == 1 && o.gc[0].hc == 3 && Hr(o.s) ? (F.ic = 1, b = o.c * o.i, o.Ta = null, o.Ua = 0, o.V = i(b), o.Ba = 0, o.V == null ? (o.a = 1, o = 0) : o = 1) : (F.ic = 0, o = Un(o, F.c)), !o)) break e;
                                    o = 1;
                                    break A;
                                }
                                F.mc = null, o = 0;
                            }
                            else o = z >= F.c * F.i;
                            F = !o;
                        }
                        if (F) return null;
                        a.ga.Lc != 1 ? a.Ga = 0 : p = C - f;
                    }
                    A(a.ga != null), A(f + p <= C);
                    A: {
                        if (o = (b = a.ga).c, C = b.l.o, b.$a == 0) {
                            if (rA = a.rc, z = a.Vc, wA = a.Fa, E = a.P + 1 + f * o, S = a.mb, j = a.nb + f * o, A(E <= a.P + a.qc), b.Z != 0) for(A(An[b.Z] != null), F = 0; F < p; ++F)An[b.Z](rA, z, wA, E, S, j, o), rA = S, z = j, j += o, E += o;
                            else for(F = 0; F < p; ++F)r(S, j, wA, E, o), rA = S, z = j, j += o, E += o;
                            a.rc = rA, a.Vc = z;
                        } else {
                            if (A(b.mc != null), o = f + p, A((F = b.mc) != null), A(o <= F.i), F.C >= o) o = 1;
                            else if (b.ic || AA(), b.ic) {
                                b = F.V, rA = F.Ba, z = F.c;
                                var fA = F.i, V = (wA = 1, E = F.$ / z, S = F.$ % z, j = F.m, tA = F.s, F.$), q = z * fA, dA = z * o, vA = tA.wc, pA = V < dA ? Ge(tA, S, E) : null;
                                A(V <= q), A(o <= fA), A(Hr(tA));
                                e: for(;;){
                                    for(; !j.h && V < dA;){
                                        if (S & vA || (pA = Ge(tA, S, E)), A(pA != null), X(j), 256 > (fA = Ct(pA.G[0], pA.H[0], j))) b[rA + V] = fA, ++V, ++S >= z && (S = 0, ++E <= o && !(E % 16) && Zt(F, E));
                                        else {
                                            if (!(280 > fA)) {
                                                wA = 0;
                                                break e;
                                            }
                                            fA = zt(fA - 256, j);
                                            var DA, bA = Ct(pA.G[4], pA.H[4], j);
                                            if (X(j), !(V >= (bA = gr(z, bA = zt(bA, j))) && q - V >= fA)) {
                                                wA = 0;
                                                break e;
                                            }
                                            for(DA = 0; DA < fA; ++DA)b[rA + V + DA] = b[rA + V + DA - bA];
                                            for(V += fA, S += fA; S >= z;)S -= z, ++E <= o && !(E % 16) && Zt(F, E);
                                            V < dA && S & vA && (pA = Ge(tA, S, E));
                                        }
                                        A(j.h == T(j));
                                    }
                                    Zt(F, E > o ? o : E);
                                    break e;
                                }
                                !wA || j.h && V < q ? (wA = 0, F.a = j.h ? 5 : 3) : F.$ = V, o = wA;
                            } else o = $t(F, F.V, F.Ba, F.c, F.i, o, Vn);
                            if (!o) {
                                p = 0;
                                break A;
                            }
                        }
                        f + p >= C && (a.Cc = 1), p = 1;
                    }
                    if (!p) return null;
                    if (a.Cc && ((p = a.ga) != null && (p.mc = null), a.ga = null, 0 < a.Ga)) return alert("todo:WebPDequantizeLevels"), null;
                }
                return a.nb + f * v;
            }
            function l(a, o, f, p, v, C) {
                for(; 0 < v--;){
                    var F, b = a, E = o + (f ? 1 : 0), S = a, j = o + (f ? 0 : 3);
                    for(F = 0; F < p; ++F){
                        var tA = S[j + 4 * F];
                        tA != 255 && (tA *= 32897, b[E + 4 * F + 0] = b[E + 4 * F + 0] * tA >> 23, b[E + 4 * F + 1] = b[E + 4 * F + 1] * tA >> 23, b[E + 4 * F + 2] = b[E + 4 * F + 2] * tA >> 23);
                    }
                    o += C;
                }
            }
            function m(a, o, f, p, v) {
                for(; 0 < p--;){
                    var C;
                    for(C = 0; C < f; ++C){
                        var F = a[o + 2 * C + 0], b = 15 & (S = a[o + 2 * C + 1]), E = 4369 * b, S = (240 & S | S >> 4) * E >> 16;
                        a[o + 2 * C + 0] = (240 & F | F >> 4) * E >> 16 & 240 | (15 & F | F << 4) * E >> 16 >> 4 & 15, a[o + 2 * C + 1] = 240 & S | b;
                    }
                    o += v;
                }
            }
            function D(a, o, f, p, v, C, F, b) {
                var E, S, j = 255;
                for(S = 0; S < v; ++S){
                    for(E = 0; E < p; ++E){
                        var tA = a[o + E];
                        C[F + 4 * E] = tA, j &= tA;
                    }
                    o += f, F += b;
                }
                return j != 255;
            }
            function G(a, o, f, p, v) {
                var C;
                for(C = 0; C < v; ++C)f[p + C] = a[o + C] >> 8;
            }
            function AA() {
                Kt = l, Fe = m, Ue = D, Oe = G;
            }
            function BA(a, o, f) {
                O[a] = function(p, v, C, F, b, E, S, j, tA, rA, z, wA, fA, V, q, dA, vA) {
                    var pA, DA = vA - 1 >> 1, bA = b[E + 0] | S[j + 0] << 16, kA = tA[rA + 0] | z[wA + 0] << 16;
                    A(p != null);
                    var EA = 3 * bA + kA + 131074 >> 2;
                    for(o(p[v + 0], 255 & EA, EA >> 16, fA, V), C != null && (EA = 3 * kA + bA + 131074 >> 2, o(C[F + 0], 255 & EA, EA >> 16, q, dA)), pA = 1; pA <= DA; ++pA){
                        var ue = b[E + pA] | S[j + pA] << 16, Be = tA[rA + pA] | z[wA + pA] << 16, oe = bA + ue + kA + Be + 524296, ne = oe + 2 * (ue + kA) >> 3;
                        EA = ne + bA >> 1, bA = (oe = oe + 2 * (bA + Be) >> 3) + ue >> 1, o(p[v + 2 * pA - 1], 255 & EA, EA >> 16, fA, V + (2 * pA - 1) * f), o(p[v + 2 * pA - 0], 255 & bA, bA >> 16, fA, V + (2 * pA - 0) * f), C != null && (EA = oe + kA >> 1, bA = ne + Be >> 1, o(C[F + 2 * pA - 1], 255 & EA, EA >> 16, q, dA + (2 * pA - 1) * f), o(C[F + 2 * pA + 0], 255 & bA, bA >> 16, q, dA + (2 * pA + 0) * f)), bA = ue, kA = Be;
                    }
                    1 & vA || (EA = 3 * bA + kA + 131074 >> 2, o(p[v + vA - 1], 255 & EA, EA >> 16, fA, V + (vA - 1) * f), C != null && (EA = 3 * kA + bA + 131074 >> 2, o(C[F + vA - 1], 255 & EA, EA >> 16, q, dA + (vA - 1) * f)));
                };
            }
            function mA() {
                Rt[Bs] = NB, Rt[gs] = el, Rt[zu] = _B, Rt[ds] = tl, Rt[ps] = rl, Rt[hc] = nl, Rt[Yu] = DB, Rt[Bc] = el, Rt[gc] = tl, Rt[ws] = rl, Rt[dc] = nl;
            }
            function _A(a) {
                return a & -16384 ? 0 > a ? 0 : 255 : a >> TB;
            }
            function KA(a, o) {
                return _A((19077 * a >> 8) + (26149 * o >> 8) - 14234);
            }
            function $A(a, o, f) {
                return _A((19077 * a >> 8) - (6419 * o >> 8) - (13320 * f >> 8) + 8708);
            }
            function zA(a, o) {
                return _A((19077 * a >> 8) + (33050 * o >> 8) - 17685);
            }
            function ae(a, o, f, p, v) {
                p[v + 0] = KA(a, f), p[v + 1] = $A(a, o, f), p[v + 2] = zA(a, o);
            }
            function Ie(a, o, f, p, v) {
                p[v + 0] = zA(a, o), p[v + 1] = $A(a, o, f), p[v + 2] = KA(a, f);
            }
            function Se(a, o, f, p, v) {
                var C = $A(a, o, f);
                o = C << 3 & 224 | zA(a, o) >> 3, p[v + 0] = 248 & KA(a, f) | C >> 5, p[v + 1] = o;
            }
            function je(a, o, f, p, v) {
                var C = 240 & zA(a, o) | 15;
                p[v + 0] = 240 & KA(a, f) | $A(a, o, f) >> 4, p[v + 1] = C;
            }
            function ct(a, o, f, p, v) {
                p[v + 0] = 255, ae(a, o, f, p, v + 1);
            }
            function Ye(a, o, f, p, v) {
                Ie(a, o, f, p, v), p[v + 3] = 255;
            }
            function tr(a, o, f, p, v) {
                ae(a, o, f, p, v), p[v + 3] = 255;
            }
            function xt(a, o) {
                return 0 > a ? 0 : a > o ? o : a;
            }
            function mr(a, o, f) {
                O[a] = function(p, v, C, F, b, E, S, j, tA) {
                    for(var rA = j + (-2 & tA) * f; j != rA;)o(p[v + 0], C[F + 0], b[E + 0], S, j), o(p[v + 1], C[F + 0], b[E + 0], S, j + f), v += 2, ++F, ++E, j += 2 * f;
                    1 & tA && o(p[v + 0], C[F + 0], b[E + 0], S, j);
                };
            }
            function ss(a, o, f) {
                return f == 0 ? a == 0 ? o == 0 ? 6 : 5 : o == 0 ? 4 : 0 : f;
            }
            function Aa(a, o, f, p, v) {
                switch(a >>> 30){
                    case 3:
                        Tr(o, f, p, v, 0);
                        break;
                    case 2:
                        Te(o, f, p, v);
                        break;
                    case 1:
                        wt(o, f, p, v);
                }
            }
            function ea(a, o) {
                var f, p, v = o.M, C = o.Nb, F = a.oc, b = a.pc + 40, E = a.oc, S = a.pc + 584, j = a.oc, tA = a.pc + 600;
                for(f = 0; 16 > f; ++f)F[b + 32 * f - 1] = 129;
                for(f = 0; 8 > f; ++f)E[S + 32 * f - 1] = 129, j[tA + 32 * f - 1] = 129;
                for(0 < v ? F[b - 1 - 32] = E[S - 1 - 32] = j[tA - 1 - 32] = 129 : (n(F, b - 32 - 1, 127, 21), n(E, S - 32 - 1, 127, 9), n(j, tA - 32 - 1, 127, 9)), p = 0; p < a.za; ++p){
                    var rA = o.ya[o.aa + p];
                    if (0 < p) {
                        for(f = -1; 16 > f; ++f)r(F, b + 32 * f - 4, F, b + 32 * f + 12, 4);
                        for(f = -1; 8 > f; ++f)r(E, S + 32 * f - 4, E, S + 32 * f + 4, 4), r(j, tA + 32 * f - 4, j, tA + 32 * f + 4, 4);
                    }
                    var z = a.Gd, wA = a.Hd + p, fA = rA.ad, V = rA.Hc;
                    if (0 < v && (r(F, b - 32, z[wA].y, 0, 16), r(E, S - 32, z[wA].f, 0, 8), r(j, tA - 32, z[wA].ea, 0, 8)), rA.Za) {
                        var q = F, dA = b - 32 + 16;
                        for(0 < v && (p >= a.za - 1 ? n(q, dA, z[wA].y[15], 4) : r(q, dA, z[wA + 1].y, 0, 4)), f = 0; 4 > f; f++)q[dA + 128 + f] = q[dA + 256 + f] = q[dA + 384 + f] = q[dA + 0 + f];
                        for(f = 0; 16 > f; ++f, V <<= 2)q = F, dA = b + al[f], rr[rA.Ob[f]](q, dA), Aa(V, fA, 16 * +f, q, dA);
                    } else if (q = ss(p, v, rA.Ob[0]), $r[q](F, b), V != 0) for(f = 0; 16 > f; ++f, V <<= 2)Aa(V, fA, 16 * +f, F, b + al[f]);
                    for(f = rA.Gc, q = ss(p, v, rA.Dd), Pr[q](E, S), Pr[q](j, tA), V = fA, q = E, dA = S, 255 & (rA = f >> 0) && (170 & rA ? aa(V, 256, q, dA) : Pt(V, 256, q, dA)), rA = j, V = tA, 255 & (f >>= 8) && (170 & f ? aa(fA, 320, rA, V) : Pt(fA, 320, rA, V)), v < a.Ub - 1 && (r(z[wA].y, 0, F, b + 480, 16), r(z[wA].f, 0, E, S + 224, 8), r(z[wA].ea, 0, j, tA + 224, 8)), f = 8 * C * a.B, z = a.sa, wA = a.ta + 16 * p + 16 * C * a.R, fA = a.qa, rA = a.ra + 8 * p + f, V = a.Ha, q = a.Ia + 8 * p + f, f = 0; 16 > f; ++f)r(z, wA + f * a.R, F, b + 32 * f, 16);
                    for(f = 0; 8 > f; ++f)r(fA, rA + f * a.B, E, S + 32 * f, 8), r(V, q + f * a.B, j, tA + 32 * f, 8);
                }
            }
            function ii(a, o, f, p, v, C, F, b, E) {
                var S = [
                    0
                ], j = [
                    0
                ], tA = 0, rA = E != null ? E.kd : 0, z = E ?? new zi;
                if (a == null || 12 > f) return 7;
                z.data = a, z.w = o, z.ha = f, o = [
                    o
                ], f = [
                    f
                ], z.gb = [
                    z.gb
                ];
                A: {
                    var wA = o, fA = f, V = z.gb;
                    if (A(a != null), A(fA != null), A(V != null), V[0] = 0, 12 <= fA[0] && !e(a, wA[0], "RIFF")) {
                        if (e(a, wA[0] + 8, "WEBP")) {
                            V = 3;
                            break A;
                        }
                        var q = LA(a, wA[0] + 4);
                        if (12 > q || 4294967286 < q) {
                            V = 3;
                            break A;
                        }
                        if (rA && q > fA[0] - 8) {
                            V = 7;
                            break A;
                        }
                        V[0] = q, wA[0] += 12, fA[0] -= 12;
                    }
                    V = 0;
                }
                if (V != 0) return V;
                for(q = 0 < z.gb[0], f = f[0];;){
                    A: {
                        var dA = a;
                        fA = o, V = f;
                        var vA = S, pA = j, DA = wA = [
                            0
                        ];
                        if ((EA = tA = [
                            tA
                        ])[0] = 0, 8 > V[0]) V = 7;
                        else {
                            if (!e(dA, fA[0], "VP8X")) {
                                if (LA(dA, fA[0] + 4) != 10) {
                                    V = 3;
                                    break A;
                                }
                                if (18 > V[0]) {
                                    V = 7;
                                    break A;
                                }
                                var bA = LA(dA, fA[0] + 8), kA = 1 + xA(dA, fA[0] + 12);
                                if (2147483648 <= kA * (dA = 1 + xA(dA, fA[0] + 15))) {
                                    V = 3;
                                    break A;
                                }
                                DA != null && (DA[0] = bA), vA != null && (vA[0] = kA), pA != null && (pA[0] = dA), fA[0] += 18, V[0] -= 18, EA[0] = 1;
                            }
                            V = 0;
                        }
                    }
                    if (tA = tA[0], wA = wA[0], V != 0) return V;
                    if (fA = !!(2 & wA), !q && tA) return 3;
                    if (C != null && (C[0] = !!(16 & wA)), F != null && (F[0] = fA), b != null && (b[0] = 0), F = S[0], wA = j[0], tA && fA && E == null) {
                        V = 0;
                        break;
                    }
                    if (4 > f) {
                        V = 7;
                        break;
                    }
                    if (q && tA || !q && !tA && !e(a, o[0], "ALPH")) {
                        f = [
                            f
                        ], z.na = [
                            z.na
                        ], z.P = [
                            z.P
                        ], z.Sa = [
                            z.Sa
                        ];
                        A: {
                            bA = a, V = o, q = f;
                            var EA = z.gb;
                            vA = z.na, pA = z.P, DA = z.Sa, kA = 22, A(bA != null), A(q != null), dA = V[0];
                            var ue = q[0];
                            for(A(vA != null), A(DA != null), vA[0] = null, pA[0] = null, DA[0] = 0;;){
                                if (V[0] = dA, q[0] = ue, 8 > ue) {
                                    V = 7;
                                    break A;
                                }
                                var Be = LA(bA, dA + 4);
                                if (4294967286 < Be) {
                                    V = 3;
                                    break A;
                                }
                                var oe = 8 + Be + 1 & -2;
                                if (kA += oe, 0 < EA && kA > EA) {
                                    V = 3;
                                    break A;
                                }
                                if (!e(bA, dA, "VP8 ") || !e(bA, dA, "VP8L")) {
                                    V = 0;
                                    break A;
                                }
                                if (ue[0] < oe) {
                                    V = 7;
                                    break A;
                                }
                                e(bA, dA, "ALPH") || (vA[0] = bA, pA[0] = dA + 8, DA[0] = Be), dA += oe, ue -= oe;
                            }
                        }
                        if (f = f[0], z.na = z.na[0], z.P = z.P[0], z.Sa = z.Sa[0], V != 0) break;
                    }
                    f = [
                        f
                    ], z.Ja = [
                        z.Ja
                    ], z.xa = [
                        z.xa
                    ];
                    A: if (EA = a, V = o, q = f, vA = z.gb[0], pA = z.Ja, DA = z.xa, bA = V[0], dA = !e(EA, bA, "VP8 "), kA = !e(EA, bA, "VP8L"), A(EA != null), A(q != null), A(pA != null), A(DA != null), 8 > q[0]) V = 7;
                    else {
                        if (dA || kA) {
                            if (EA = LA(EA, bA + 4), 12 <= vA && EA > vA - 12) {
                                V = 3;
                                break A;
                            }
                            if (rA && EA > q[0] - 8) {
                                V = 7;
                                break A;
                            }
                            pA[0] = EA, V[0] += 8, q[0] -= 8, DA[0] = kA;
                        } else DA[0] = 5 <= q[0] && EA[bA + 0] == 47 && !(EA[bA + 4] >> 5), pA[0] = q[0];
                        V = 0;
                    }
                    if (f = f[0], z.Ja = z.Ja[0], z.xa = z.xa[0], o = o[0], V != 0) break;
                    if (4294967286 < z.Ja) return 3;
                    if (b == null || fA || (b[0] = z.xa ? 2 : 1), F = [
                        F
                    ], wA = [
                        wA
                    ], z.xa) {
                        if (5 > f) {
                            V = 7;
                            break;
                        }
                        b = F, rA = wA, fA = C, a == null || 5 > f ? a = 0 : 5 <= f && a[o + 0] == 47 && !(a[o + 4] >> 5) ? (q = [
                            0
                        ], EA = [
                            0
                        ], vA = [
                            0
                        ], eA(pA = new y, a, o, f), RA(pA, q, EA, vA) ? (b != null && (b[0] = q[0]), rA != null && (rA[0] = EA[0]), fA != null && (fA[0] = vA[0]), a = 1) : a = 0) : a = 0;
                    } else {
                        if (10 > f) {
                            V = 7;
                            break;
                        }
                        b = wA, a == null || 10 > f || !Va(a, o + 3, f - 3) ? a = 0 : (rA = a[o + 0] | a[o + 1] << 8 | a[o + 2] << 16, fA = 16383 & (a[o + 7] << 8 | a[o + 6]), a = 16383 & (a[o + 9] << 8 | a[o + 8]), 1 & rA || 3 < (rA >> 1 & 7) || !(rA >> 4 & 1) || rA >> 5 >= z.Ja || !fA || !a ? a = 0 : (F && (F[0] = fA), b && (b[0] = a), a = 1));
                    }
                    if (!a || (F = F[0], wA = wA[0], tA && (S[0] != F || j[0] != wA))) return 3;
                    E != null && (E[0] = z, E.offset = o - E.w, A(4294967286 > o - E.w), A(E.offset == E.ha - f));
                    break;
                }
                return V == 0 || V == 7 && tA && E == null ? (C != null && (C[0] |= z.na != null && 0 < z.na.length), p != null && (p[0] = F), v != null && (v[0] = wA), 0) : V;
            }
            function ta(a, o, f) {
                var p = o.width, v = o.height, C = 0, F = 0, b = p, E = v;
                if (o.Da = a != null && 0 < a.Da, o.Da && (b = a.cd, E = a.bd, C = a.v, F = a.j, 11 > f || (C &= -2, F &= -2), 0 > C || 0 > F || 0 >= b || 0 >= E || C + b > p || F + E > v)) return 0;
                if (o.v = C, o.j = F, o.va = C + b, o.o = F + E, o.U = b, o.T = E, o.da = a != null && 0 < a.da, o.da) {
                    if (!ZA(b, E, f = [
                        a.ib
                    ], C = [
                        a.hb
                    ])) return 0;
                    o.ib = f[0], o.hb = C[0];
                }
                return o.ob = a != null && a.ob, o.Kb = a == null || !a.Sd, o.da && (o.ob = o.ib < 3 * p / 4 && o.hb < 3 * v / 4, o.Kb = 0), 1;
            }
            function ra(a) {
                if (a == null) return 2;
                if (11 > a.S) {
                    var o = a.f.RGBA;
                    o.fb += (a.height - 1) * o.A, o.A = -o.A;
                } else o = a.f.kb, a = a.height, o.O += (a - 1) * o.fa, o.fa = -o.fa, o.N += (a - 1 >> 1) * o.Ab, o.Ab = -o.Ab, o.W += (a - 1 >> 1) * o.Db, o.Db = -o.Db, o.F != null && (o.J += (a - 1) * o.lb, o.lb = -o.lb);
                return 0;
            }
            function ai(a, o, f, p) {
                if (p == null || 0 >= a || 0 >= o) return 2;
                if (f != null) {
                    if (f.Da) {
                        var v = f.cd, C = f.bd, F = -2 & f.v, b = -2 & f.j;
                        if (0 > F || 0 > b || 0 >= v || 0 >= C || F + v > a || b + C > o) return 2;
                        a = v, o = C;
                    }
                    if (f.da) {
                        if (!ZA(a, o, v = [
                            f.ib
                        ], C = [
                            f.hb
                        ])) return 2;
                        a = v[0], o = C[0];
                    }
                }
                p.width = a, p.height = o;
                A: {
                    var E = p.width, S = p.height;
                    if (a = p.S, 0 >= E || 0 >= S || !(a >= Bs && 13 > a)) a = 2;
                    else {
                        if (0 >= p.Rd && p.sd == null) {
                            F = C = v = o = 0;
                            var j = (b = E * sl[a]) * S;
                            if (11 > a || (C = (S + 1) / 2 * (o = (E + 1) / 2), a == 12 && (F = (v = E) * S)), (S = i(j + 2 * C + F)) == null) {
                                a = 1;
                                break A;
                            }
                            p.sd = S, 11 > a ? ((E = p.f.RGBA).eb = S, E.fb = 0, E.A = b, E.size = j) : ((E = p.f.kb).y = S, E.O = 0, E.fa = b, E.Fd = j, E.f = S, E.N = 0 + j, E.Ab = o, E.Cd = C, E.ea = S, E.W = 0 + j + C, E.Db = o, E.Ed = C, a == 12 && (E.F = S, E.J = 0 + j + 2 * C), E.Tc = F, E.lb = v);
                        }
                        if (o = 1, v = p.S, C = p.width, F = p.height, v >= Bs && 13 > v) if (11 > v) a = p.f.RGBA, o &= (b = Math.abs(a.A)) * (F - 1) + C <= a.size, o &= b >= C * sl[v], o &= a.eb != null;
                        else {
                            a = p.f.kb, b = (C + 1) / 2, j = (F + 1) / 2, E = Math.abs(a.fa), S = Math.abs(a.Ab);
                            var tA = Math.abs(a.Db), rA = Math.abs(a.lb), z = rA * (F - 1) + C;
                            o &= E * (F - 1) + C <= a.Fd, o &= S * (j - 1) + b <= a.Cd, o = (o &= tA * (j - 1) + b <= a.Ed) & E >= C & S >= b & tA >= b, o &= a.y != null, o &= a.f != null, o &= a.ea != null, v == 12 && (o &= rA >= C, o &= z <= a.Tc, o &= a.F != null);
                        }
                        else o = 0;
                        a = o ? 0 : 2;
                    }
                }
                return a != 0 || f != null && f.fd && (a = ra(p)), a;
            }
            var rt = 64, si = [
                0,
                1,
                3,
                7,
                15,
                31,
                63,
                127,
                255,
                511,
                1023,
                2047,
                4095,
                8191,
                16383,
                32767,
                65535,
                131071,
                262143,
                524287,
                1048575,
                2097151,
                4194303,
                8388607,
                16777215
            ], oi = 24, ci = 32, na = 8, Ft = [
                0,
                0,
                1,
                1,
                2,
                2,
                2,
                2,
                3,
                3,
                3,
                3,
                3,
                3,
                3,
                3,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                4,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                5,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7,
                7
            ];
            yA("Predictor0", "PredictorAdd0"), O.Predictor0 = function() {
                return 4278190080;
            }, O.Predictor1 = function(a) {
                return a;
            }, O.Predictor2 = function(a, o, f) {
                return o[f + 0];
            }, O.Predictor3 = function(a, o, f) {
                return o[f + 1];
            }, O.Predictor4 = function(a, o, f) {
                return o[f - 1];
            }, O.Predictor5 = function(a, o, f) {
                return IA(IA(a, o[f + 1]), o[f + 0]);
            }, O.Predictor6 = function(a, o, f) {
                return IA(a, o[f - 1]);
            }, O.Predictor7 = function(a, o, f) {
                return IA(a, o[f + 0]);
            }, O.Predictor8 = function(a, o, f) {
                return IA(o[f - 1], o[f + 0]);
            }, O.Predictor9 = function(a, o, f) {
                return IA(o[f + 0], o[f + 1]);
            }, O.Predictor10 = function(a, o, f) {
                return IA(IA(a, o[f - 1]), IA(o[f + 0], o[f + 1]));
            }, O.Predictor11 = function(a, o, f) {
                var p = o[f + 0];
                return 0 >= ee(p >> 24 & 255, a >> 24 & 255, (o = o[f - 1]) >> 24 & 255) + ee(p >> 16 & 255, a >> 16 & 255, o >> 16 & 255) + ee(p >> 8 & 255, a >> 8 & 255, o >> 8 & 255) + ee(255 & p, 255 & a, 255 & o) ? p : a;
            }, O.Predictor12 = function(a, o, f) {
                var p = o[f + 0];
                return (MA((a >> 24 & 255) + (p >> 24 & 255) - ((o = o[f - 1]) >> 24 & 255)) << 24 | MA((a >> 16 & 255) + (p >> 16 & 255) - (o >> 16 & 255)) << 16 | MA((a >> 8 & 255) + (p >> 8 & 255) - (o >> 8 & 255)) << 8 | MA((255 & a) + (255 & p) - (255 & o))) >>> 0;
            }, O.Predictor13 = function(a, o, f) {
                var p = o[f - 1];
                return (XA((a = IA(a, o[f + 0])) >> 24 & 255, p >> 24 & 255) << 24 | XA(a >> 16 & 255, p >> 16 & 255) << 16 | XA(a >> 8 & 255, p >> 8 & 255) << 8 | XA(a >> 0 & 255, p >> 0 & 255)) >>> 0;
            };
            var lc = O.PredictorAdd0;
            O.PredictorAdd1 = te, yA("Predictor2", "PredictorAdd2"), yA("Predictor3", "PredictorAdd3"), yA("Predictor4", "PredictorAdd4"), yA("Predictor5", "PredictorAdd5"), yA("Predictor6", "PredictorAdd6"), yA("Predictor7", "PredictorAdd7"), yA("Predictor8", "PredictorAdd8"), yA("Predictor9", "PredictorAdd9"), yA("Predictor10", "PredictorAdd10"), yA("Predictor11", "PredictorAdd11"), yA("Predictor12", "PredictorAdd12"), yA("Predictor13", "PredictorAdd13");
            var ia = O.PredictorAdd2;
            re("ColorIndexInverseTransform", "MapARGB", "32b", function(a) {
                return a >> 8 & 255;
            }, function(a) {
                return a;
            }), re("VP8LColorIndexInverseTransformAlpha", "MapAlpha", "8b", function(a) {
                return a;
            }, function(a) {
                return a >> 8 & 255;
            });
            var os, Ot = O.ColorIndexInverseTransform, ui = O.MapARGB, cs = O.VP8LColorIndexInverseTransformAlpha, us = O.MapAlpha, Jr = O.VP8LPredictorsAdd = [];
            Jr.length = 16, (O.VP8LPredictors = []).length = 16, (O.VP8LPredictorsAdd_C = []).length = 16, (O.VP8LPredictors_C = []).length = 16;
            var In, Ut, pt, zr, _r, Dr, li, Tr, Te, aa, wt, Pt, fi, ls, sa, xn, Hn, Yr, Sn, hi, Nn, Zr, oa, Mt, Kt, Fe, Ue, Oe, Je = i(511), Or = i(2041), ca = i(225), Bi = i(767), fs = 0, fc = Or, hs = ca, Ht = Bi, kt = Je, Bs = 0, gs = 1, zu = 2, ds = 3, ps = 4, hc = 5, Yu = 6, Bc = 7, gc = 8, ws = 9, dc = 10, vB = [
                2,
                3,
                7
            ], mB = [
                3,
                3,
                11
            ], Zu = [
                280,
                256,
                256,
                256,
                40
            ], CB = [
                0,
                1,
                1,
                1,
                0
            ], QB = [
                17,
                18,
                0,
                1,
                2,
                3,
                4,
                5,
                16,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15
            ], FB = [
                24,
                7,
                23,
                25,
                40,
                6,
                39,
                41,
                22,
                26,
                38,
                42,
                56,
                5,
                55,
                57,
                21,
                27,
                54,
                58,
                37,
                43,
                72,
                4,
                71,
                73,
                20,
                28,
                53,
                59,
                70,
                74,
                36,
                44,
                88,
                69,
                75,
                52,
                60,
                3,
                87,
                89,
                19,
                29,
                86,
                90,
                35,
                45,
                68,
                76,
                85,
                91,
                51,
                61,
                104,
                2,
                103,
                105,
                18,
                30,
                102,
                106,
                34,
                46,
                84,
                92,
                67,
                77,
                101,
                107,
                50,
                62,
                120,
                1,
                119,
                121,
                83,
                93,
                17,
                31,
                100,
                108,
                66,
                78,
                118,
                122,
                33,
                47,
                117,
                123,
                49,
                63,
                99,
                109,
                82,
                94,
                0,
                116,
                124,
                65,
                79,
                16,
                32,
                98,
                110,
                48,
                115,
                125,
                81,
                95,
                64,
                114,
                126,
                97,
                111,
                80,
                113,
                127,
                96,
                112
            ], UB = [
                2954,
                2956,
                2958,
                2962,
                2970,
                2986,
                3018,
                3082,
                3212,
                3468,
                3980,
                5004
            ], yB = 8, pc = [
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                17,
                18,
                19,
                20,
                20,
                21,
                21,
                22,
                22,
                23,
                23,
                24,
                25,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                76,
                77,
                78,
                79,
                80,
                81,
                82,
                83,
                84,
                85,
                86,
                87,
                88,
                89,
                91,
                93,
                95,
                96,
                98,
                100,
                101,
                102,
                104,
                106,
                108,
                110,
                112,
                114,
                116,
                118,
                122,
                124,
                126,
                128,
                130,
                132,
                134,
                136,
                138,
                140,
                143,
                145,
                148,
                151,
                154,
                157
            ], wc = [
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                60,
                62,
                64,
                66,
                68,
                70,
                72,
                74,
                76,
                78,
                80,
                82,
                84,
                86,
                88,
                90,
                92,
                94,
                96,
                98,
                100,
                102,
                104,
                106,
                108,
                110,
                112,
                114,
                116,
                119,
                122,
                125,
                128,
                131,
                134,
                137,
                140,
                143,
                146,
                149,
                152,
                155,
                158,
                161,
                164,
                167,
                170,
                173,
                177,
                181,
                185,
                189,
                193,
                197,
                201,
                205,
                209,
                213,
                217,
                221,
                225,
                229,
                234,
                239,
                245,
                249,
                254,
                259,
                264,
                269,
                274,
                279,
                284
            ], ua = null, bB = [
                [
                    173,
                    148,
                    140,
                    0
                ],
                [
                    176,
                    155,
                    140,
                    135,
                    0
                ],
                [
                    180,
                    157,
                    141,
                    134,
                    130,
                    0
                ],
                [
                    254,
                    254,
                    243,
                    230,
                    196,
                    177,
                    153,
                    140,
                    133,
                    130,
                    129,
                    0
                ]
            ], LB = [
                0,
                1,
                4,
                8,
                5,
                2,
                3,
                6,
                9,
                12,
                13,
                10,
                7,
                11,
                14,
                15
            ], $u = [
                -0,
                1,
                -1,
                2,
                -2,
                3,
                4,
                6,
                -3,
                5,
                -4,
                -5,
                -6,
                7,
                -7,
                8,
                -8,
                -9
            ], EB = [
                [
                    [
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            253,
                            136,
                            254,
                            255,
                            228,
                            219,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            189,
                            129,
                            242,
                            255,
                            227,
                            213,
                            255,
                            219,
                            128,
                            128,
                            128
                        ],
                        [
                            106,
                            126,
                            227,
                            252,
                            214,
                            209,
                            255,
                            255,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            98,
                            248,
                            255,
                            236,
                            226,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            181,
                            133,
                            238,
                            254,
                            221,
                            234,
                            255,
                            154,
                            128,
                            128,
                            128
                        ],
                        [
                            78,
                            134,
                            202,
                            247,
                            198,
                            180,
                            255,
                            219,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            185,
                            249,
                            255,
                            243,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            184,
                            150,
                            247,
                            255,
                            236,
                            224,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            77,
                            110,
                            216,
                            255,
                            236,
                            230,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            101,
                            251,
                            255,
                            241,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            170,
                            139,
                            241,
                            252,
                            236,
                            209,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            37,
                            116,
                            196,
                            243,
                            228,
                            255,
                            255,
                            255,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            204,
                            254,
                            255,
                            245,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            207,
                            160,
                            250,
                            255,
                            238,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            102,
                            103,
                            231,
                            255,
                            211,
                            171,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            152,
                            252,
                            255,
                            240,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            177,
                            135,
                            243,
                            255,
                            234,
                            225,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            80,
                            129,
                            211,
                            255,
                            194,
                            224,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            246,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ]
                ],
                [
                    [
                        [
                            198,
                            35,
                            237,
                            223,
                            193,
                            187,
                            162,
                            160,
                            145,
                            155,
                            62
                        ],
                        [
                            131,
                            45,
                            198,
                            221,
                            172,
                            176,
                            220,
                            157,
                            252,
                            221,
                            1
                        ],
                        [
                            68,
                            47,
                            146,
                            208,
                            149,
                            167,
                            221,
                            162,
                            255,
                            223,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            149,
                            241,
                            255,
                            221,
                            224,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            184,
                            141,
                            234,
                            253,
                            222,
                            220,
                            255,
                            199,
                            128,
                            128,
                            128
                        ],
                        [
                            81,
                            99,
                            181,
                            242,
                            176,
                            190,
                            249,
                            202,
                            255,
                            255,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            129,
                            232,
                            253,
                            214,
                            197,
                            242,
                            196,
                            255,
                            255,
                            128
                        ],
                        [
                            99,
                            121,
                            210,
                            250,
                            201,
                            198,
                            255,
                            202,
                            128,
                            128,
                            128
                        ],
                        [
                            23,
                            91,
                            163,
                            242,
                            170,
                            187,
                            247,
                            210,
                            255,
                            255,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            200,
                            246,
                            255,
                            234,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            109,
                            178,
                            241,
                            255,
                            231,
                            245,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            44,
                            130,
                            201,
                            253,
                            205,
                            192,
                            255,
                            255,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            132,
                            239,
                            251,
                            219,
                            209,
                            255,
                            165,
                            128,
                            128,
                            128
                        ],
                        [
                            94,
                            136,
                            225,
                            251,
                            218,
                            190,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            22,
                            100,
                            174,
                            245,
                            186,
                            161,
                            255,
                            199,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            182,
                            249,
                            255,
                            232,
                            235,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            124,
                            143,
                            241,
                            255,
                            227,
                            234,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            35,
                            77,
                            181,
                            251,
                            193,
                            211,
                            255,
                            205,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            157,
                            247,
                            255,
                            236,
                            231,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            121,
                            141,
                            235,
                            255,
                            225,
                            227,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            45,
                            99,
                            188,
                            251,
                            195,
                            217,
                            255,
                            224,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            1,
                            251,
                            255,
                            213,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            203,
                            1,
                            248,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            137,
                            1,
                            177,
                            255,
                            224,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ]
                ],
                [
                    [
                        [
                            253,
                            9,
                            248,
                            251,
                            207,
                            208,
                            255,
                            192,
                            128,
                            128,
                            128
                        ],
                        [
                            175,
                            13,
                            224,
                            243,
                            193,
                            185,
                            249,
                            198,
                            255,
                            255,
                            128
                        ],
                        [
                            73,
                            17,
                            171,
                            221,
                            161,
                            179,
                            236,
                            167,
                            255,
                            234,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            95,
                            247,
                            253,
                            212,
                            183,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            239,
                            90,
                            244,
                            250,
                            211,
                            209,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            155,
                            77,
                            195,
                            248,
                            188,
                            195,
                            255,
                            255,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            24,
                            239,
                            251,
                            218,
                            219,
                            255,
                            205,
                            128,
                            128,
                            128
                        ],
                        [
                            201,
                            51,
                            219,
                            255,
                            196,
                            186,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            69,
                            46,
                            190,
                            239,
                            201,
                            218,
                            255,
                            228,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            191,
                            251,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            223,
                            165,
                            249,
                            255,
                            213,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            141,
                            124,
                            248,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            16,
                            248,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            190,
                            36,
                            230,
                            255,
                            236,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            149,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            226,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            247,
                            192,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            240,
                            128,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            134,
                            252,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            213,
                            62,
                            250,
                            255,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            55,
                            93,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ]
                ],
                [
                    [
                        [
                            202,
                            24,
                            213,
                            235,
                            186,
                            191,
                            220,
                            160,
                            240,
                            175,
                            255
                        ],
                        [
                            126,
                            38,
                            182,
                            232,
                            169,
                            184,
                            228,
                            174,
                            255,
                            187,
                            128
                        ],
                        [
                            61,
                            46,
                            138,
                            219,
                            151,
                            178,
                            240,
                            170,
                            255,
                            216,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            112,
                            230,
                            250,
                            199,
                            191,
                            247,
                            159,
                            255,
                            255,
                            128
                        ],
                        [
                            166,
                            109,
                            228,
                            252,
                            211,
                            215,
                            255,
                            174,
                            128,
                            128,
                            128
                        ],
                        [
                            39,
                            77,
                            162,
                            232,
                            172,
                            180,
                            245,
                            178,
                            255,
                            255,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            52,
                            220,
                            246,
                            198,
                            199,
                            249,
                            220,
                            255,
                            255,
                            128
                        ],
                        [
                            124,
                            74,
                            191,
                            243,
                            183,
                            193,
                            250,
                            221,
                            255,
                            255,
                            128
                        ],
                        [
                            24,
                            71,
                            130,
                            219,
                            154,
                            170,
                            243,
                            182,
                            255,
                            255,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            182,
                            225,
                            249,
                            219,
                            240,
                            255,
                            224,
                            128,
                            128,
                            128
                        ],
                        [
                            149,
                            150,
                            226,
                            252,
                            216,
                            205,
                            255,
                            171,
                            128,
                            128,
                            128
                        ],
                        [
                            28,
                            108,
                            170,
                            242,
                            183,
                            194,
                            254,
                            223,
                            255,
                            255,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            81,
                            230,
                            252,
                            204,
                            203,
                            255,
                            192,
                            128,
                            128,
                            128
                        ],
                        [
                            123,
                            102,
                            209,
                            247,
                            188,
                            196,
                            255,
                            233,
                            128,
                            128,
                            128
                        ],
                        [
                            20,
                            95,
                            153,
                            243,
                            164,
                            173,
                            255,
                            203,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            222,
                            248,
                            255,
                            216,
                            213,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            168,
                            175,
                            246,
                            252,
                            235,
                            205,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            47,
                            116,
                            215,
                            255,
                            211,
                            212,
                            255,
                            255,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            121,
                            236,
                            253,
                            212,
                            214,
                            255,
                            255,
                            128,
                            128,
                            128
                        ],
                        [
                            141,
                            84,
                            213,
                            252,
                            201,
                            202,
                            255,
                            219,
                            128,
                            128,
                            128
                        ],
                        [
                            42,
                            80,
                            160,
                            240,
                            162,
                            185,
                            255,
                            205,
                            128,
                            128,
                            128
                        ]
                    ],
                    [
                        [
                            1,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            244,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ],
                        [
                            238,
                            1,
                            255,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128,
                            128
                        ]
                    ]
                ]
            ], IB = [
                [
                    [
                        231,
                        120,
                        48,
                        89,
                        115,
                        113,
                        120,
                        152,
                        112
                    ],
                    [
                        152,
                        179,
                        64,
                        126,
                        170,
                        118,
                        46,
                        70,
                        95
                    ],
                    [
                        175,
                        69,
                        143,
                        80,
                        85,
                        82,
                        72,
                        155,
                        103
                    ],
                    [
                        56,
                        58,
                        10,
                        171,
                        218,
                        189,
                        17,
                        13,
                        152
                    ],
                    [
                        114,
                        26,
                        17,
                        163,
                        44,
                        195,
                        21,
                        10,
                        173
                    ],
                    [
                        121,
                        24,
                        80,
                        195,
                        26,
                        62,
                        44,
                        64,
                        85
                    ],
                    [
                        144,
                        71,
                        10,
                        38,
                        171,
                        213,
                        144,
                        34,
                        26
                    ],
                    [
                        170,
                        46,
                        55,
                        19,
                        136,
                        160,
                        33,
                        206,
                        71
                    ],
                    [
                        63,
                        20,
                        8,
                        114,
                        114,
                        208,
                        12,
                        9,
                        226
                    ],
                    [
                        81,
                        40,
                        11,
                        96,
                        182,
                        84,
                        29,
                        16,
                        36
                    ]
                ],
                [
                    [
                        134,
                        183,
                        89,
                        137,
                        98,
                        101,
                        106,
                        165,
                        148
                    ],
                    [
                        72,
                        187,
                        100,
                        130,
                        157,
                        111,
                        32,
                        75,
                        80
                    ],
                    [
                        66,
                        102,
                        167,
                        99,
                        74,
                        62,
                        40,
                        234,
                        128
                    ],
                    [
                        41,
                        53,
                        9,
                        178,
                        241,
                        141,
                        26,
                        8,
                        107
                    ],
                    [
                        74,
                        43,
                        26,
                        146,
                        73,
                        166,
                        49,
                        23,
                        157
                    ],
                    [
                        65,
                        38,
                        105,
                        160,
                        51,
                        52,
                        31,
                        115,
                        128
                    ],
                    [
                        104,
                        79,
                        12,
                        27,
                        217,
                        255,
                        87,
                        17,
                        7
                    ],
                    [
                        87,
                        68,
                        71,
                        44,
                        114,
                        51,
                        15,
                        186,
                        23
                    ],
                    [
                        47,
                        41,
                        14,
                        110,
                        182,
                        183,
                        21,
                        17,
                        194
                    ],
                    [
                        66,
                        45,
                        25,
                        102,
                        197,
                        189,
                        23,
                        18,
                        22
                    ]
                ],
                [
                    [
                        88,
                        88,
                        147,
                        150,
                        42,
                        46,
                        45,
                        196,
                        205
                    ],
                    [
                        43,
                        97,
                        183,
                        117,
                        85,
                        38,
                        35,
                        179,
                        61
                    ],
                    [
                        39,
                        53,
                        200,
                        87,
                        26,
                        21,
                        43,
                        232,
                        171
                    ],
                    [
                        56,
                        34,
                        51,
                        104,
                        114,
                        102,
                        29,
                        93,
                        77
                    ],
                    [
                        39,
                        28,
                        85,
                        171,
                        58,
                        165,
                        90,
                        98,
                        64
                    ],
                    [
                        34,
                        22,
                        116,
                        206,
                        23,
                        34,
                        43,
                        166,
                        73
                    ],
                    [
                        107,
                        54,
                        32,
                        26,
                        51,
                        1,
                        81,
                        43,
                        31
                    ],
                    [
                        68,
                        25,
                        106,
                        22,
                        64,
                        171,
                        36,
                        225,
                        114
                    ],
                    [
                        34,
                        19,
                        21,
                        102,
                        132,
                        188,
                        16,
                        76,
                        124
                    ],
                    [
                        62,
                        18,
                        78,
                        95,
                        85,
                        57,
                        50,
                        48,
                        51
                    ]
                ],
                [
                    [
                        193,
                        101,
                        35,
                        159,
                        215,
                        111,
                        89,
                        46,
                        111
                    ],
                    [
                        60,
                        148,
                        31,
                        172,
                        219,
                        228,
                        21,
                        18,
                        111
                    ],
                    [
                        112,
                        113,
                        77,
                        85,
                        179,
                        255,
                        38,
                        120,
                        114
                    ],
                    [
                        40,
                        42,
                        1,
                        196,
                        245,
                        209,
                        10,
                        25,
                        109
                    ],
                    [
                        88,
                        43,
                        29,
                        140,
                        166,
                        213,
                        37,
                        43,
                        154
                    ],
                    [
                        61,
                        63,
                        30,
                        155,
                        67,
                        45,
                        68,
                        1,
                        209
                    ],
                    [
                        100,
                        80,
                        8,
                        43,
                        154,
                        1,
                        51,
                        26,
                        71
                    ],
                    [
                        142,
                        78,
                        78,
                        16,
                        255,
                        128,
                        34,
                        197,
                        171
                    ],
                    [
                        41,
                        40,
                        5,
                        102,
                        211,
                        183,
                        4,
                        1,
                        221
                    ],
                    [
                        51,
                        50,
                        17,
                        168,
                        209,
                        192,
                        23,
                        25,
                        82
                    ]
                ],
                [
                    [
                        138,
                        31,
                        36,
                        171,
                        27,
                        166,
                        38,
                        44,
                        229
                    ],
                    [
                        67,
                        87,
                        58,
                        169,
                        82,
                        115,
                        26,
                        59,
                        179
                    ],
                    [
                        63,
                        59,
                        90,
                        180,
                        59,
                        166,
                        93,
                        73,
                        154
                    ],
                    [
                        40,
                        40,
                        21,
                        116,
                        143,
                        209,
                        34,
                        39,
                        175
                    ],
                    [
                        47,
                        15,
                        16,
                        183,
                        34,
                        223,
                        49,
                        45,
                        183
                    ],
                    [
                        46,
                        17,
                        33,
                        183,
                        6,
                        98,
                        15,
                        32,
                        183
                    ],
                    [
                        57,
                        46,
                        22,
                        24,
                        128,
                        1,
                        54,
                        17,
                        37
                    ],
                    [
                        65,
                        32,
                        73,
                        115,
                        28,
                        128,
                        23,
                        128,
                        205
                    ],
                    [
                        40,
                        3,
                        9,
                        115,
                        51,
                        192,
                        18,
                        6,
                        223
                    ],
                    [
                        87,
                        37,
                        9,
                        115,
                        59,
                        77,
                        64,
                        21,
                        47
                    ]
                ],
                [
                    [
                        104,
                        55,
                        44,
                        218,
                        9,
                        54,
                        53,
                        130,
                        226
                    ],
                    [
                        64,
                        90,
                        70,
                        205,
                        40,
                        41,
                        23,
                        26,
                        57
                    ],
                    [
                        54,
                        57,
                        112,
                        184,
                        5,
                        41,
                        38,
                        166,
                        213
                    ],
                    [
                        30,
                        34,
                        26,
                        133,
                        152,
                        116,
                        10,
                        32,
                        134
                    ],
                    [
                        39,
                        19,
                        53,
                        221,
                        26,
                        114,
                        32,
                        73,
                        255
                    ],
                    [
                        31,
                        9,
                        65,
                        234,
                        2,
                        15,
                        1,
                        118,
                        73
                    ],
                    [
                        75,
                        32,
                        12,
                        51,
                        192,
                        255,
                        160,
                        43,
                        51
                    ],
                    [
                        88,
                        31,
                        35,
                        67,
                        102,
                        85,
                        55,
                        186,
                        85
                    ],
                    [
                        56,
                        21,
                        23,
                        111,
                        59,
                        205,
                        45,
                        37,
                        192
                    ],
                    [
                        55,
                        38,
                        70,
                        124,
                        73,
                        102,
                        1,
                        34,
                        98
                    ]
                ],
                [
                    [
                        125,
                        98,
                        42,
                        88,
                        104,
                        85,
                        117,
                        175,
                        82
                    ],
                    [
                        95,
                        84,
                        53,
                        89,
                        128,
                        100,
                        113,
                        101,
                        45
                    ],
                    [
                        75,
                        79,
                        123,
                        47,
                        51,
                        128,
                        81,
                        171,
                        1
                    ],
                    [
                        57,
                        17,
                        5,
                        71,
                        102,
                        57,
                        53,
                        41,
                        49
                    ],
                    [
                        38,
                        33,
                        13,
                        121,
                        57,
                        73,
                        26,
                        1,
                        85
                    ],
                    [
                        41,
                        10,
                        67,
                        138,
                        77,
                        110,
                        90,
                        47,
                        114
                    ],
                    [
                        115,
                        21,
                        2,
                        10,
                        102,
                        255,
                        166,
                        23,
                        6
                    ],
                    [
                        101,
                        29,
                        16,
                        10,
                        85,
                        128,
                        101,
                        196,
                        26
                    ],
                    [
                        57,
                        18,
                        10,
                        102,
                        102,
                        213,
                        34,
                        20,
                        43
                    ],
                    [
                        117,
                        20,
                        15,
                        36,
                        163,
                        128,
                        68,
                        1,
                        26
                    ]
                ],
                [
                    [
                        102,
                        61,
                        71,
                        37,
                        34,
                        53,
                        31,
                        243,
                        192
                    ],
                    [
                        69,
                        60,
                        71,
                        38,
                        73,
                        119,
                        28,
                        222,
                        37
                    ],
                    [
                        68,
                        45,
                        128,
                        34,
                        1,
                        47,
                        11,
                        245,
                        171
                    ],
                    [
                        62,
                        17,
                        19,
                        70,
                        146,
                        85,
                        55,
                        62,
                        70
                    ],
                    [
                        37,
                        43,
                        37,
                        154,
                        100,
                        163,
                        85,
                        160,
                        1
                    ],
                    [
                        63,
                        9,
                        92,
                        136,
                        28,
                        64,
                        32,
                        201,
                        85
                    ],
                    [
                        75,
                        15,
                        9,
                        9,
                        64,
                        255,
                        184,
                        119,
                        16
                    ],
                    [
                        86,
                        6,
                        28,
                        5,
                        64,
                        255,
                        25,
                        248,
                        1
                    ],
                    [
                        56,
                        8,
                        17,
                        132,
                        137,
                        255,
                        55,
                        116,
                        128
                    ],
                    [
                        58,
                        15,
                        20,
                        82,
                        135,
                        57,
                        26,
                        121,
                        40
                    ]
                ],
                [
                    [
                        164,
                        50,
                        31,
                        137,
                        154,
                        133,
                        25,
                        35,
                        218
                    ],
                    [
                        51,
                        103,
                        44,
                        131,
                        131,
                        123,
                        31,
                        6,
                        158
                    ],
                    [
                        86,
                        40,
                        64,
                        135,
                        148,
                        224,
                        45,
                        183,
                        128
                    ],
                    [
                        22,
                        26,
                        17,
                        131,
                        240,
                        154,
                        14,
                        1,
                        209
                    ],
                    [
                        45,
                        16,
                        21,
                        91,
                        64,
                        222,
                        7,
                        1,
                        197
                    ],
                    [
                        56,
                        21,
                        39,
                        155,
                        60,
                        138,
                        23,
                        102,
                        213
                    ],
                    [
                        83,
                        12,
                        13,
                        54,
                        192,
                        255,
                        68,
                        47,
                        28
                    ],
                    [
                        85,
                        26,
                        85,
                        85,
                        128,
                        128,
                        32,
                        146,
                        171
                    ],
                    [
                        18,
                        11,
                        7,
                        63,
                        144,
                        171,
                        4,
                        4,
                        246
                    ],
                    [
                        35,
                        27,
                        10,
                        146,
                        174,
                        171,
                        12,
                        26,
                        128
                    ]
                ],
                [
                    [
                        190,
                        80,
                        35,
                        99,
                        180,
                        80,
                        126,
                        54,
                        45
                    ],
                    [
                        85,
                        126,
                        47,
                        87,
                        176,
                        51,
                        41,
                        20,
                        32
                    ],
                    [
                        101,
                        75,
                        128,
                        139,
                        118,
                        146,
                        116,
                        128,
                        85
                    ],
                    [
                        56,
                        41,
                        15,
                        176,
                        236,
                        85,
                        37,
                        9,
                        62
                    ],
                    [
                        71,
                        30,
                        17,
                        119,
                        118,
                        255,
                        17,
                        18,
                        138
                    ],
                    [
                        101,
                        38,
                        60,
                        138,
                        55,
                        70,
                        43,
                        26,
                        142
                    ],
                    [
                        146,
                        36,
                        19,
                        30,
                        171,
                        255,
                        97,
                        27,
                        20
                    ],
                    [
                        138,
                        45,
                        61,
                        62,
                        219,
                        1,
                        81,
                        188,
                        64
                    ],
                    [
                        32,
                        41,
                        20,
                        117,
                        151,
                        142,
                        20,
                        21,
                        163
                    ],
                    [
                        112,
                        19,
                        12,
                        61,
                        195,
                        128,
                        48,
                        4,
                        24
                    ]
                ]
            ], xB = [
                [
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            176,
                            246,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            223,
                            241,
                            252,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            249,
                            253,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            244,
                            252,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            234,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            246,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            239,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            248,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            251,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            251,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            253,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            250,
                            255,
                            254,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ]
                ],
                [
                    [
                        [
                            217,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            225,
                            252,
                            241,
                            253,
                            255,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            234,
                            250,
                            241,
                            250,
                            253,
                            255,
                            253,
                            254,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            223,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            238,
                            253,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            248,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            249,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            247,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            252,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            250,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ]
                ],
                [
                    [
                        [
                            186,
                            251,
                            250,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            234,
                            251,
                            244,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            251,
                            251,
                            243,
                            253,
                            254,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            236,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            251,
                            253,
                            253,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ]
                ],
                [
                    [
                        [
                            248,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            250,
                            254,
                            252,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            248,
                            254,
                            249,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            253,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            246,
                            253,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            252,
                            254,
                            251,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            254,
                            252,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            248,
                            254,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            253,
                            255,
                            254,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            251,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            245,
                            251,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            253,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            251,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            252,
                            253,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            252,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            249,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            253,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            250,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ],
                    [
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            254,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ],
                        [
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255,
                            255
                        ]
                    ]
                ]
            ], HB = [
                0,
                1,
                2,
                3,
                6,
                4,
                5,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                6,
                7,
                0
            ], $r = [], rr = [], Pr = [], SB = 1, Al = 2, An = [], Rt = [];
            BA("UpsampleRgbLinePair", ae, 3), BA("UpsampleBgrLinePair", Ie, 3), BA("UpsampleRgbaLinePair", tr, 4), BA("UpsampleBgraLinePair", Ye, 4), BA("UpsampleArgbLinePair", ct, 4), BA("UpsampleRgba4444LinePair", je, 2), BA("UpsampleRgb565LinePair", Se, 2);
            var NB = O.UpsampleRgbLinePair, _B = O.UpsampleBgrLinePair, el = O.UpsampleRgbaLinePair, tl = O.UpsampleBgraLinePair, rl = O.UpsampleArgbLinePair, nl = O.UpsampleRgba4444LinePair, DB = O.UpsampleRgb565LinePair, vs = 16, ms = 1 << vs - 1, la = -227, vc = 482, TB = 6, il = 0, OB = i(256), PB = i(256), MB = i(256), KB = i(256), kB = i(vc - la), RB = i(vc - la);
            mr("YuvToRgbRow", ae, 3), mr("YuvToBgrRow", Ie, 3), mr("YuvToRgbaRow", tr, 4), mr("YuvToBgraRow", Ye, 4), mr("YuvToArgbRow", ct, 4), mr("YuvToRgba4444Row", je, 2), mr("YuvToRgb565Row", Se, 2);
            var al = [
                0,
                4,
                8,
                12,
                128,
                132,
                136,
                140,
                256,
                260,
                264,
                268,
                384,
                388,
                392,
                396
            ], Cs = [
                0,
                2,
                8
            ], GB = [
                8,
                7,
                6,
                4,
                4,
                2,
                2,
                2,
                1,
                1,
                1,
                1
            ], jB = 1;
            this.WebPDecodeRGBA = function(a, o, f, p, v) {
                var C = gs, F = new ri, b = new Jt;
                F.ba = b, b.S = C, b.width = [
                    b.width
                ], b.height = [
                    b.height
                ];
                var E = b.width, S = b.height, j = new xr;
                if (j == null || a == null) var tA = 2;
                else A(j != null), tA = ii(a, o, f, j.width, j.height, j.Pd, j.Qd, j.format, null);
                if (tA != 0 ? E = 0 : (E != null && (E[0] = j.width[0]), S != null && (S[0] = j.height[0]), E = 1), E) {
                    b.width = b.width[0], b.height = b.height[0], p != null && (p[0] = b.width), v != null && (v[0] = b.height);
                    A: {
                        if (p = new zn, (v = new zi).data = a, v.w = o, v.ha = f, v.kd = 1, o = [
                            0
                        ], A(v != null), ((a = ii(v.data, v.w, v.ha, null, null, null, o, null, v)) == 0 || a == 7) && o[0] && (a = 4), (o = a) == 0) {
                            if (A(F != null), p.data = v.data, p.w = v.w + v.offset, p.ha = v.ha - v.offset, p.put = hr, p.ac = tt, p.bc = Br, p.ma = F, v.xa) {
                                if ((a = Tt()) == null) {
                                    F = 1;
                                    break A;
                                }
                                if (function(rA, z) {
                                    var wA = [
                                        0
                                    ], fA = [
                                        0
                                    ], V = [
                                        0
                                    ];
                                    e: for(;;){
                                        if (rA == null) return 0;
                                        if (z == null) return rA.a = 2, 0;
                                        if (rA.l = z, rA.a = 0, eA(rA.m, z.data, z.w, z.ha), !RA(rA.m, wA, fA, V)) {
                                            rA.a = 3;
                                            break e;
                                        }
                                        if (rA.xb = Al, z.width = wA[0], z.height = fA[0], !pr(wA[0], fA[0], 1, rA, null)) break e;
                                        return 1;
                                    }
                                    return A(rA.a != 0), 0;
                                }(a, p)) {
                                    if (p = (o = ai(p.width, p.height, F.Oa, F.ba)) == 0) {
                                        e: {
                                            p = a;
                                            t: for(;;){
                                                if (p == null) {
                                                    p = 0;
                                                    break e;
                                                }
                                                if (A(p.s.yc != null), A(p.s.Ya != null), A(0 < p.s.Wb), A((f = p.l) != null), A((v = f.ma) != null), p.xb != 0) {
                                                    if (p.ca = v.ba, p.tb = v.tb, A(p.ca != null), !ta(v.Oa, f, ds)) {
                                                        p.a = 2;
                                                        break t;
                                                    }
                                                    if (!Un(p, f.width) || f.da) break t;
                                                    if ((f.da || le(p.ca.S)) && AA(), 11 > p.ca.S || (alert("todo:WebPInitConvertARGBToYUV"), p.ca.f.kb.F != null && AA()), p.Pb && 0 < p.s.ua && p.s.vb.X == null && !jA(p.s.vb, p.s.Wa.Xa)) {
                                                        p.a = 1;
                                                        break t;
                                                    }
                                                    p.xb = 0;
                                                }
                                                if (!$t(p, p.V, p.Ba, p.c, p.i, f.o, jn)) break t;
                                                v.Dc = p.Ma, p = 1;
                                                break e;
                                            }
                                            A(p.a != 0), p = 0;
                                        }
                                        p = !p;
                                    }
                                    p && (o = a.a);
                                } else o = a.a;
                            } else {
                                if ((a = new qo) == null) {
                                    F = 1;
                                    break A;
                                }
                                if (a.Fa = v.na, a.P = v.P, a.qc = v.Sa, qa(a, p)) {
                                    if ((o = ai(p.width, p.height, F.Oa, F.ba)) == 0) {
                                        if (a.Aa = 0, f = F.Oa, A((v = a) != null), f != null) {
                                            if (0 < (E = 0 > (E = f.Md) ? 0 : 100 < E ? 255 : 255 * E / 100)) {
                                                for(S = j = 0; 4 > S; ++S)12 > (tA = v.pb[S]).lc && (tA.ia = E * GB[0 > tA.lc ? 0 : tA.lc] >> 3), j |= tA.ia;
                                                j && (alert("todo:VP8InitRandom"), v.ia = 1);
                                            }
                                            v.Ga = f.Id, 100 < v.Ga ? v.Ga = 100 : 0 > v.Ga && (v.Ga = 0);
                                        }
                                        Wo(a, p) || (o = a.a);
                                    }
                                } else o = a.a;
                            }
                            o == 0 && F.Oa != null && F.Oa.fd && (o = ra(F.ba));
                        }
                        F = o;
                    }
                    C = F != 0 ? null : 11 > C ? b.f.RGBA.eb : b.f.kb.y;
                } else C = null;
                return C;
            };
            var sl = [
                3,
                4,
                3,
                4,
                4,
                2,
                2,
                4,
                4,
                4,
                2,
                1,
                1
            ];
        };
        function h(O, W) {
            for(var uA = "", I = 0; I < 4; I++)uA += String.fromCharCode(O[W++]);
            return uA;
        }
        function g(O, W) {
            return (O[W + 0] << 0 | O[W + 1] << 8 | O[W + 2] << 16) >>> 0;
        }
        function d(O, W) {
            return (O[W + 0] << 0 | O[W + 1] << 8 | O[W + 2] << 16 | O[W + 3] << 24) >>> 0;
        }
        new u;
        var w = [
            0
        ], B = [
            0
        ], L = [], U = new u, N = t, Q = function(O, W) {
            var uA = {}, I = 0, H = !1, K = 0, M = 0;
            if (uA.frames = [], !function(_, T, k, X) {
                for(var nA = 0; nA < X; nA++)if (_[T + nA] != k.charCodeAt(nA)) return !0;
                return !1;
            }(O, W, "RIFF", 4)) {
                for(d(O, W += 4), W += 8; W < O.length;){
                    var oA = h(O, W), iA = d(O, W += 4);
                    W += 4;
                    var cA = iA + (1 & iA);
                    switch(oA){
                        case "VP8 ":
                        case "VP8L":
                            uA.frames[I] === void 0 && (uA.frames[I] = {}), (hA = uA.frames[I]).src_off = H ? M : W - 8, hA.src_size = K + iA + 8, I++, H && (H = !1, K = 0, M = 0);
                            break;
                        case "VP8X":
                            (hA = uA.header = {}).feature_flags = O[W];
                            var eA = W + 4;
                            hA.canvas_width = 1 + g(O, eA), eA += 3, hA.canvas_height = 1 + g(O, eA), eA += 3;
                            break;
                        case "ALPH":
                            H = !0, K = cA + 8, M = W - 8;
                            break;
                        case "ANIM":
                            (hA = uA.header).bgcolor = d(O, W), eA = W + 4, hA.loop_count = (UA = O)[(y = eA) + 0] << 0 | UA[y + 1] << 8, eA += 2;
                            break;
                        case "ANMF":
                            var lA, hA;
                            (hA = uA.frames[I] = {}).offset_x = 2 * g(O, W), W += 3, hA.offset_y = 2 * g(O, W), W += 3, hA.width = 1 + g(O, W), W += 3, hA.height = 1 + g(O, W), W += 3, hA.duration = g(O, W), W += 3, lA = O[W++], hA.dispose = 1 & lA, hA.blend = lA >> 1 & 1;
                    }
                    oA != "ANMF" && (W += cA);
                }
                var UA, y;
                return uA;
            }
        }(N, 0);
        Q.response = N, Q.rgbaoutput = !0, Q.dataurl = !1;
        var x = Q.header ? Q.header : null, R = Q.frames ? Q.frames : null;
        if (x) {
            x.loop_counter = x.loop_count, w = [
                x.canvas_height
            ], B = [
                x.canvas_width
            ];
            for(var Y = 0; Y < R.length && R[Y].blend != 0; Y++);
        }
        var Z = R[0], $ = U.WebPDecodeRGBA(N, Z.src_off, Z.src_size, B, w);
        Z.rgba = $, Z.imgwidth = B[0], Z.imgheight = w[0];
        for(var J = 0; J < B[0] * w[0] * 4; J++)L[J] = $[J];
        return this.width = B, this.height = w, this.data = L, this;
    }
    (function(t) {
        var A = function() {
            return typeof Nu == "function";
        }, e = function(w, B, L, U) {
            var N = 4, Q = s;
            switch(U){
                case t.image_compression.FAST:
                    N = 1, Q = i;
                    break;
                case t.image_compression.MEDIUM:
                    N = 6, Q = c;
                    break;
                case t.image_compression.SLOW:
                    N = 9, Q = u;
            }
            w = r(w, B, L, Q);
            var x = Nu(w, {
                level: N
            });
            return t.__addimage__.arrayBufferToBinaryString(x);
        }, r = function(w, B, L, U) {
            for(var N, Q, x, R = w.length / B, Y = new Uint8Array(w.length + R), Z = g(), $ = 0; $ < R; $ += 1){
                if (x = $ * B, N = w.subarray(x, x + B), U) Y.set(U(N, L, Q), x + $);
                else {
                    for(var J, O = Z.length, W = []; J < O; J += 1)W[J] = Z[J](N, L, Q);
                    var uA = d(W.concat());
                    Y.set(W[uA], x + $);
                }
                Q = N;
            }
            return Y;
        }, n = function(w) {
            var B = Array.apply([], w);
            return B.unshift(0), B;
        }, i = function(w, B) {
            var L, U = [], N = w.length;
            U[0] = 1;
            for(var Q = 0; Q < N; Q += 1)L = w[Q - B] || 0, U[Q + 1] = w[Q] - L + 256 & 255;
            return U;
        }, s = function(w, B, L) {
            var U, N = [], Q = w.length;
            N[0] = 2;
            for(var x = 0; x < Q; x += 1)U = L && L[x] || 0, N[x + 1] = w[x] - U + 256 & 255;
            return N;
        }, c = function(w, B, L) {
            var U, N, Q = [], x = w.length;
            Q[0] = 3;
            for(var R = 0; R < x; R += 1)U = w[R - B] || 0, N = L && L[R] || 0, Q[R + 1] = w[R] + 256 - (U + N >>> 1) & 255;
            return Q;
        }, u = function(w, B, L) {
            var U, N, Q, x, R = [], Y = w.length;
            R[0] = 4;
            for(var Z = 0; Z < Y; Z += 1)U = w[Z - B] || 0, N = L && L[Z] || 0, Q = L && L[Z - B] || 0, x = h(U, N, Q), R[Z + 1] = w[Z] - x + 256 & 255;
            return R;
        }, h = function(w, B, L) {
            if (w === B && B === L) return w;
            var U = Math.abs(B - L), N = Math.abs(w - L), Q = Math.abs(w + B - L - L);
            return U <= N && U <= Q ? w : N <= Q ? B : L;
        }, g = function() {
            return [
                n,
                i,
                s,
                c,
                u
            ];
        }, d = function(w) {
            var B = w.map(function(L) {
                return L.reduce(function(U, N) {
                    return U + Math.abs(N);
                }, 0);
            });
            return B.indexOf(Math.min.apply(null, B));
        };
        t.processPNG = function(w, B, L, U) {
            var N, Q, x, R, Y, Z, $, J, O, W, uA, I, H, K, M, oA = this.decode.FLATE_DECODE, iA = "";
            if (this.__addimage__.isArrayBuffer(w) && (w = new Uint8Array(w)), this.__addimage__.isArrayBufferView(w)) {
                if (w = (x = new U5(w)).imgData, Q = x.bits, N = x.colorSpace, Y = x.colors, [
                    4,
                    6
                ].indexOf(x.colorType) !== -1) {
                    if (x.bits === 8) {
                        O = (J = x.pixelBitlength == 32 ? new Uint32Array(x.decodePixels().buffer) : x.pixelBitlength == 16 ? new Uint16Array(x.decodePixels().buffer) : new Uint8Array(x.decodePixels().buffer)).length, uA = new Uint8Array(O * x.colors), W = new Uint8Array(O);
                        var cA, eA = x.pixelBitlength - x.bits;
                        for(K = 0, M = 0; K < O; K++){
                            for(H = J[K], cA = 0; cA < eA;)uA[M++] = H >>> cA & 255, cA += x.bits;
                            W[K] = H >>> cA & 255;
                        }
                    }
                    if (x.bits === 16) {
                        O = (J = new Uint32Array(x.decodePixels().buffer)).length, uA = new Uint8Array(O * (32 / x.pixelBitlength) * x.colors), W = new Uint8Array(O * (32 / x.pixelBitlength)), I = x.colors > 1, K = 0, M = 0;
                        for(var lA = 0; K < O;)H = J[K++], uA[M++] = H >>> 0 & 255, I && (uA[M++] = H >>> 16 & 255, H = J[K++], uA[M++] = H >>> 0 & 255), W[lA++] = H >>> 16 & 255;
                        Q = 8;
                    }
                    U !== t.image_compression.NONE && A() ? (w = e(uA, x.width * x.colors, x.colors, U), $ = e(W, x.width, 1, U)) : (w = uA, $ = W, oA = void 0);
                }
                if (x.colorType === 3 && (N = this.color_spaces.INDEXED, Z = x.palette, x.transparency.indexed)) {
                    var hA = x.transparency.indexed, UA = 0;
                    for(K = 0, O = hA.length; K < O; ++K)UA += hA[K];
                    if ((UA /= 255) === O - 1 && hA.indexOf(0) !== -1) R = [
                        hA.indexOf(0)
                    ];
                    else if (UA !== O) {
                        for(J = x.decodePixels(), W = new Uint8Array(J.length), K = 0, O = J.length; K < O; K++)W[K] = hA[J[K]];
                        $ = e(W, x.width, 1);
                    }
                }
                var y = function(_) {
                    var T;
                    switch(_){
                        case t.image_compression.FAST:
                            T = 11;
                            break;
                        case t.image_compression.MEDIUM:
                            T = 13;
                            break;
                        case t.image_compression.SLOW:
                            T = 14;
                            break;
                        default:
                            T = 12;
                    }
                    return T;
                }(U);
                return oA === this.decode.FLATE_DECODE && (iA = "/Predictor " + y + " "), iA += "/Colors " + Y + " /BitsPerComponent " + Q + " /Columns " + x.width, (this.__addimage__.isArrayBuffer(w) || this.__addimage__.isArrayBufferView(w)) && (w = this.__addimage__.arrayBufferToBinaryString(w)), ($ && this.__addimage__.isArrayBuffer($) || this.__addimage__.isArrayBufferView($)) && ($ = this.__addimage__.arrayBufferToBinaryString($)), {
                    alias: L,
                    data: w,
                    index: B,
                    filter: oA,
                    decodeParameters: iA,
                    transparency: R,
                    palette: Z,
                    sMask: $,
                    predictor: y,
                    width: x.width,
                    height: x.height,
                    bitsPerComponent: Q,
                    colorSpace: N
                };
            }
        };
    })(GA.API), function(t) {
        t.processGIF89A = function(A, e, r, n) {
            var i = new y5(A), s = i.width, c = i.height, u = [];
            i.decodeAndBlitFrameRGBA(0, u);
            var h = {
                data: u,
                width: s,
                height: c
            }, g = new nu(100).encode(h, 100);
            return t.processJPEG.call(this, g, e, r, n);
        }, t.processGIF87A = t.processGIF89A;
    }(GA.API), ar.prototype.parseHeader = function() {
        if (this.fileSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.reserved = this.datav.getUint32(this.pos, !0), this.pos += 4, this.offset = this.datav.getUint32(this.pos, !0), this.pos += 4, this.headerSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.width = this.datav.getUint32(this.pos, !0), this.pos += 4, this.height = this.datav.getInt32(this.pos, !0), this.pos += 4, this.planes = this.datav.getUint16(this.pos, !0), this.pos += 2, this.bitPP = this.datav.getUint16(this.pos, !0), this.pos += 2, this.compress = this.datav.getUint32(this.pos, !0), this.pos += 4, this.rawSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.hr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.vr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.colors = this.datav.getUint32(this.pos, !0), this.pos += 4, this.importantColors = this.datav.getUint32(this.pos, !0), this.pos += 4, this.bitPP === 16 && this.is_with_alpha && (this.bitPP = 15), this.bitPP < 15) {
            var t = this.colors === 0 ? 1 << this.bitPP : this.colors;
            this.palette = new Array(t);
            for(var A = 0; A < t; A++){
                var e = this.datav.getUint8(this.pos++, !0), r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0);
                this.palette[A] = {
                    red: n,
                    green: r,
                    blue: e,
                    quad: i
                };
            }
        }
        this.height < 0 && (this.height *= -1, this.bottom_up = !1);
    }, ar.prototype.parseBGR = function() {
        this.pos = this.offset;
        try {
            var t = "bit" + this.bitPP, A = this.width * this.height * 4;
            this.data = new Uint8Array(A), this[t]();
        } catch (e) {
            Qe.log("bit decode error:" + e);
        }
    }, ar.prototype.bit1 = function() {
        var t, A = Math.ceil(this.width / 8), e = A % 4;
        for(t = this.height - 1; t >= 0; t--){
            for(var r = this.bottom_up ? t : this.height - 1 - t, n = 0; n < A; n++)for(var i = this.datav.getUint8(this.pos++, !0), s = r * this.width * 4 + 8 * n * 4, c = 0; c < 8 && 8 * n + c < this.width; c++){
                var u = this.palette[i >> 7 - c & 1];
                this.data[s + 4 * c] = u.blue, this.data[s + 4 * c + 1] = u.green, this.data[s + 4 * c + 2] = u.red, this.data[s + 4 * c + 3] = 255;
            }
            e !== 0 && (this.pos += 4 - e);
        }
    }, ar.prototype.bit4 = function() {
        for(var t = Math.ceil(this.width / 2), A = t % 4, e = this.height - 1; e >= 0; e--){
            for(var r = this.bottom_up ? e : this.height - 1 - e, n = 0; n < t; n++){
                var i = this.datav.getUint8(this.pos++, !0), s = r * this.width * 4 + 2 * n * 4, c = i >> 4, u = 15 & i, h = this.palette[c];
                if (this.data[s] = h.blue, this.data[s + 1] = h.green, this.data[s + 2] = h.red, this.data[s + 3] = 255, 2 * n + 1 >= this.width) break;
                h = this.palette[u], this.data[s + 4] = h.blue, this.data[s + 4 + 1] = h.green, this.data[s + 4 + 2] = h.red, this.data[s + 4 + 3] = 255;
            }
            A !== 0 && (this.pos += 4 - A);
        }
    }, ar.prototype.bit8 = function() {
        for(var t = this.width % 4, A = this.height - 1; A >= 0; A--){
            for(var e = this.bottom_up ? A : this.height - 1 - A, r = 0; r < this.width; r++){
                var n = this.datav.getUint8(this.pos++, !0), i = e * this.width * 4 + 4 * r;
                if (n < this.palette.length) {
                    var s = this.palette[n];
                    this.data[i] = s.red, this.data[i + 1] = s.green, this.data[i + 2] = s.blue, this.data[i + 3] = 255;
                } else this.data[i] = 255, this.data[i + 1] = 255, this.data[i + 2] = 255, this.data[i + 3] = 255;
            }
            t !== 0 && (this.pos += 4 - t);
        }
    }, ar.prototype.bit15 = function() {
        for(var t = this.width % 3, A = parseInt("11111", 2), e = this.height - 1; e >= 0; e--){
            for(var r = this.bottom_up ? e : this.height - 1 - e, n = 0; n < this.width; n++){
                var i = this.datav.getUint16(this.pos, !0);
                this.pos += 2;
                var s = (i & A) / A * 255 | 0, c = (i >> 5 & A) / A * 255 | 0, u = (i >> 10 & A) / A * 255 | 0, h = i >> 15 ? 255 : 0, g = r * this.width * 4 + 4 * n;
                this.data[g] = u, this.data[g + 1] = c, this.data[g + 2] = s, this.data[g + 3] = h;
            }
            this.pos += t;
        }
    }, ar.prototype.bit16 = function() {
        for(var t = this.width % 3, A = parseInt("11111", 2), e = parseInt("111111", 2), r = this.height - 1; r >= 0; r--){
            for(var n = this.bottom_up ? r : this.height - 1 - r, i = 0; i < this.width; i++){
                var s = this.datav.getUint16(this.pos, !0);
                this.pos += 2;
                var c = (s & A) / A * 255 | 0, u = (s >> 5 & e) / e * 255 | 0, h = (s >> 11) / A * 255 | 0, g = n * this.width * 4 + 4 * i;
                this.data[g] = h, this.data[g + 1] = u, this.data[g + 2] = c, this.data[g + 3] = 255;
            }
            this.pos += t;
        }
    }, ar.prototype.bit24 = function() {
        for(var t = this.height - 1; t >= 0; t--){
            for(var A = this.bottom_up ? t : this.height - 1 - t, e = 0; e < this.width; e++){
                var r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0), s = A * this.width * 4 + 4 * e;
                this.data[s] = i, this.data[s + 1] = n, this.data[s + 2] = r, this.data[s + 3] = 255;
            }
            this.pos += this.width % 4;
        }
    }, ar.prototype.bit32 = function() {
        for(var t = this.height - 1; t >= 0; t--)for(var A = this.bottom_up ? t : this.height - 1 - t, e = 0; e < this.width; e++){
            var r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0), s = this.datav.getUint8(this.pos++, !0), c = A * this.width * 4 + 4 * e;
            this.data[c] = i, this.data[c + 1] = n, this.data[c + 2] = r, this.data[c + 3] = s;
        }
    }, ar.prototype.getData = function() {
        return this.data;
    }, function(t) {
        t.processBMP = function(A, e, r, n) {
            var i = new ar(A, !1), s = i.width, c = i.height, u = {
                data: i.getData(),
                width: s,
                height: c
            }, h = new nu(100).encode(u, 100);
            return t.processJPEG.call(this, h, e, r, n);
        };
    }(GA.API), Vf.prototype.getData = function() {
        return this.data;
    }, function(t) {
        t.processWEBP = function(A, e, r, n) {
            var i = new Vf(A), s = i.width, c = i.height, u = {
                data: i.getData(),
                width: s,
                height: c
            }, h = new nu(100).encode(u, 100);
            return t.processJPEG.call(this, h, e, r, n);
        };
    }(GA.API), GA.API.processRGBA = function(t, A, e) {
        for(var r = t.data, n = r.length, i = new Uint8Array(n / 4 * 3), s = new Uint8Array(n / 4), c = 0, u = 0, h = 0; h < n; h += 4){
            var g = r[h], d = r[h + 1], w = r[h + 2], B = r[h + 3];
            i[c++] = g, i[c++] = d, i[c++] = w, s[u++] = B;
        }
        var L = this.__addimage__.arrayBufferToBinaryString(i);
        return {
            alpha: this.__addimage__.arrayBufferToBinaryString(s),
            data: L,
            index: A,
            alias: e,
            colorSpace: "DeviceRGB",
            bitsPerComponent: 8,
            width: t.width,
            height: t.height
        };
    }, GA.API.setLanguage = function(t) {
        return this.internal.languageSettings === void 0 && (this.internal.languageSettings = {}, this.internal.languageSettings.isSubscribed = !1), {
            af: "Afrikaans",
            sq: "Albanian",
            ar: "Arabic (Standard)",
            "ar-DZ": "Arabic (Algeria)",
            "ar-BH": "Arabic (Bahrain)",
            "ar-EG": "Arabic (Egypt)",
            "ar-IQ": "Arabic (Iraq)",
            "ar-JO": "Arabic (Jordan)",
            "ar-KW": "Arabic (Kuwait)",
            "ar-LB": "Arabic (Lebanon)",
            "ar-LY": "Arabic (Libya)",
            "ar-MA": "Arabic (Morocco)",
            "ar-OM": "Arabic (Oman)",
            "ar-QA": "Arabic (Qatar)",
            "ar-SA": "Arabic (Saudi Arabia)",
            "ar-SY": "Arabic (Syria)",
            "ar-TN": "Arabic (Tunisia)",
            "ar-AE": "Arabic (U.A.E.)",
            "ar-YE": "Arabic (Yemen)",
            an: "Aragonese",
            hy: "Armenian",
            as: "Assamese",
            ast: "Asturian",
            az: "Azerbaijani",
            eu: "Basque",
            be: "Belarusian",
            bn: "Bengali",
            bs: "Bosnian",
            br: "Breton",
            bg: "Bulgarian",
            my: "Burmese",
            ca: "Catalan",
            ch: "Chamorro",
            ce: "Chechen",
            zh: "Chinese",
            "zh-HK": "Chinese (Hong Kong)",
            "zh-CN": "Chinese (PRC)",
            "zh-SG": "Chinese (Singapore)",
            "zh-TW": "Chinese (Taiwan)",
            cv: "Chuvash",
            co: "Corsican",
            cr: "Cree",
            hr: "Croatian",
            cs: "Czech",
            da: "Danish",
            nl: "Dutch (Standard)",
            "nl-BE": "Dutch (Belgian)",
            en: "English",
            "en-AU": "English (Australia)",
            "en-BZ": "English (Belize)",
            "en-CA": "English (Canada)",
            "en-IE": "English (Ireland)",
            "en-JM": "English (Jamaica)",
            "en-NZ": "English (New Zealand)",
            "en-PH": "English (Philippines)",
            "en-ZA": "English (South Africa)",
            "en-TT": "English (Trinidad & Tobago)",
            "en-GB": "English (United Kingdom)",
            "en-US": "English (United States)",
            "en-ZW": "English (Zimbabwe)",
            eo: "Esperanto",
            et: "Estonian",
            fo: "Faeroese",
            fj: "Fijian",
            fi: "Finnish",
            fr: "French (Standard)",
            "fr-BE": "French (Belgium)",
            "fr-CA": "French (Canada)",
            "fr-FR": "French (France)",
            "fr-LU": "French (Luxembourg)",
            "fr-MC": "French (Monaco)",
            "fr-CH": "French (Switzerland)",
            fy: "Frisian",
            fur: "Friulian",
            gd: "Gaelic (Scots)",
            "gd-IE": "Gaelic (Irish)",
            gl: "Galacian",
            ka: "Georgian",
            de: "German (Standard)",
            "de-AT": "German (Austria)",
            "de-DE": "German (Germany)",
            "de-LI": "German (Liechtenstein)",
            "de-LU": "German (Luxembourg)",
            "de-CH": "German (Switzerland)",
            el: "Greek",
            gu: "Gujurati",
            ht: "Haitian",
            he: "Hebrew",
            hi: "Hindi",
            hu: "Hungarian",
            is: "Icelandic",
            id: "Indonesian",
            iu: "Inuktitut",
            ga: "Irish",
            it: "Italian (Standard)",
            "it-CH": "Italian (Switzerland)",
            ja: "Japanese",
            kn: "Kannada",
            ks: "Kashmiri",
            kk: "Kazakh",
            km: "Khmer",
            ky: "Kirghiz",
            tlh: "Klingon",
            ko: "Korean",
            "ko-KP": "Korean (North Korea)",
            "ko-KR": "Korean (South Korea)",
            la: "Latin",
            lv: "Latvian",
            lt: "Lithuanian",
            lb: "Luxembourgish",
            mk: "North Macedonia",
            ms: "Malay",
            ml: "Malayalam",
            mt: "Maltese",
            mi: "Maori",
            mr: "Marathi",
            mo: "Moldavian",
            nv: "Navajo",
            ng: "Ndonga",
            ne: "Nepali",
            no: "Norwegian",
            nb: "Norwegian (Bokmal)",
            nn: "Norwegian (Nynorsk)",
            oc: "Occitan",
            or: "Oriya",
            om: "Oromo",
            fa: "Persian",
            "fa-IR": "Persian/Iran",
            pl: "Polish",
            pt: "Portuguese",
            "pt-BR": "Portuguese (Brazil)",
            pa: "Punjabi",
            "pa-IN": "Punjabi (India)",
            "pa-PK": "Punjabi (Pakistan)",
            qu: "Quechua",
            rm: "Rhaeto-Romanic",
            ro: "Romanian",
            "ro-MO": "Romanian (Moldavia)",
            ru: "Russian",
            "ru-MO": "Russian (Moldavia)",
            sz: "Sami (Lappish)",
            sg: "Sango",
            sa: "Sanskrit",
            sc: "Sardinian",
            sd: "Sindhi",
            si: "Singhalese",
            sr: "Serbian",
            sk: "Slovak",
            sl: "Slovenian",
            so: "Somani",
            sb: "Sorbian",
            es: "Spanish",
            "es-AR": "Spanish (Argentina)",
            "es-BO": "Spanish (Bolivia)",
            "es-CL": "Spanish (Chile)",
            "es-CO": "Spanish (Colombia)",
            "es-CR": "Spanish (Costa Rica)",
            "es-DO": "Spanish (Dominican Republic)",
            "es-EC": "Spanish (Ecuador)",
            "es-SV": "Spanish (El Salvador)",
            "es-GT": "Spanish (Guatemala)",
            "es-HN": "Spanish (Honduras)",
            "es-MX": "Spanish (Mexico)",
            "es-NI": "Spanish (Nicaragua)",
            "es-PA": "Spanish (Panama)",
            "es-PY": "Spanish (Paraguay)",
            "es-PE": "Spanish (Peru)",
            "es-PR": "Spanish (Puerto Rico)",
            "es-ES": "Spanish (Spain)",
            "es-UY": "Spanish (Uruguay)",
            "es-VE": "Spanish (Venezuela)",
            sx: "Sutu",
            sw: "Swahili",
            sv: "Swedish",
            "sv-FI": "Swedish (Finland)",
            "sv-SV": "Swedish (Sweden)",
            ta: "Tamil",
            tt: "Tatar",
            te: "Teluga",
            th: "Thai",
            tig: "Tigre",
            ts: "Tsonga",
            tn: "Tswana",
            tr: "Turkish",
            tk: "Turkmen",
            uk: "Ukrainian",
            hsb: "Upper Sorbian",
            ur: "Urdu",
            ve: "Venda",
            vi: "Vietnamese",
            vo: "Volapuk",
            wa: "Walloon",
            cy: "Welsh",
            xh: "Xhosa",
            ji: "Yiddish",
            zu: "Zulu"
        }[t] !== void 0 && (this.internal.languageSettings.languageCode = t, this.internal.languageSettings.isSubscribed === !1 && (this.internal.events.subscribe("putCatalog", function() {
            this.internal.write("/Lang (" + this.internal.languageSettings.languageCode + ")");
        }), this.internal.languageSettings.isSubscribed = !0)), this;
    }, bi = GA.API, ao = bi.getCharWidthsArray = function(t, A) {
        var e, r, n = (A = A || {}).font || this.internal.getFont(), i = A.fontSize || this.internal.getFontSize(), s = A.charSpace || this.internal.getCharSpace(), c = A.widths ? A.widths : n.metadata.Unicode.widths, u = c.fof ? c.fof : 1, h = A.kerning ? A.kerning : n.metadata.Unicode.kerning, g = h.fof ? h.fof : 1, d = A.doKerning !== !1, w = 0, B = t.length, L = 0, U = c[0] || u, N = [];
        for(e = 0; e < B; e++)r = t.charCodeAt(e), typeof n.metadata.widthOfString == "function" ? N.push((n.metadata.widthOfGlyph(n.metadata.characterToGlyph(r)) + s * (1e3 / i) || 0) / 1e3) : (w = d && de(h[r]) === "object" && !isNaN(parseInt(h[r][L], 10)) ? h[r][L] / g : 0, N.push((c[r] || U) / u + w)), L = r;
        return N;
    }, kf = bi.getStringUnitWidth = function(t, A) {
        var e = (A = A || {}).fontSize || this.internal.getFontSize(), r = A.font || this.internal.getFont(), n = A.charSpace || this.internal.getCharSpace();
        return bi.processArabic && (t = bi.processArabic(t)), typeof r.metadata.widthOfString == "function" ? r.metadata.widthOfString(t, e, n) / e : ao.apply(this, arguments).reduce(function(i, s) {
            return i + s;
        }, 0);
    }, Rf = function(t, A, e, r) {
        for(var n = [], i = 0, s = t.length, c = 0; i !== s && c + A[i] < e;)c += A[i], i++;
        n.push(t.slice(0, i));
        var u = i;
        for(c = 0; i !== s;)c + A[i] > r && (n.push(t.slice(u, i)), c = 0, u = i), c += A[i], i++;
        return u !== i && n.push(t.slice(u, i)), n;
    }, Gf = function(t, A, e) {
        e || (e = {});
        var r, n, i, s, c, u, h, g = [], d = [
            g
        ], w = e.textIndent || 0, B = 0, L = 0, U = t.split(" "), N = ao.apply(this, [
            " ",
            e
        ])[0];
        if (u = e.lineIndent === -1 ? U[0].length + 2 : e.lineIndent || 0) {
            var Q = Array(u).join(" "), x = [];
            U.map(function(Y) {
                (Y = Y.split(/\s*\n/)).length > 1 ? x = x.concat(Y.map(function(Z, $) {
                    return ($ && Z.length ? `
` : "") + Z;
                })) : x.push(Y[0]);
            }), U = x, u = kf.apply(this, [
                Q,
                e
            ]);
        }
        for(i = 0, s = U.length; i < s; i++){
            var R = 0;
            if (r = U[i], u && r[0] == `
` && (r = r.substr(1), R = 1), w + B + (L = (n = ao.apply(this, [
                r,
                e
            ])).reduce(function(Y, Z) {
                return Y + Z;
            }, 0)) > A || R) {
                if (L > A) {
                    for(c = Rf.apply(this, [
                        r,
                        n,
                        A - (w + B),
                        A
                    ]), g.push(c.shift()), g = [
                        c.pop()
                    ]; c.length;)d.push([
                        c.shift()
                    ]);
                    L = n.slice(r.length - (g[0] ? g[0].length : 0)).reduce(function(Y, Z) {
                        return Y + Z;
                    }, 0);
                } else g = [
                    r
                ];
                d.push(g), w = L + u, B = N;
            } else g.push(r), w += B + L, B = N;
        }
        return h = u ? function(Y, Z) {
            return (Z ? Q : "") + Y.join(" ");
        } : function(Y) {
            return Y.join(" ");
        }, d.map(h);
    }, bi.splitTextToSize = function(t, A, e) {
        var r, n = (e = e || {}).fontSize || this.internal.getFontSize(), i = function(g) {
            if (g.widths && g.kerning) return {
                widths: g.widths,
                kerning: g.kerning
            };
            var d = this.internal.getFont(g.fontName, g.fontStyle);
            return d.metadata.Unicode ? {
                widths: d.metadata.Unicode.widths || {
                    0: 1
                },
                kerning: d.metadata.Unicode.kerning || {}
            } : {
                font: d.metadata,
                fontSize: this.internal.getFontSize(),
                charSpace: this.internal.getCharSpace()
            };
        }.call(this, e);
        r = Array.isArray(t) ? t : String(t).split(/\r?\n/);
        var s = 1 * this.internal.scaleFactor * A / n;
        i.textIndent = e.textIndent ? 1 * e.textIndent * this.internal.scaleFactor / n : 0, i.lineIndent = e.lineIndent;
        var c, u, h = [];
        for(c = 0, u = r.length; c < u; c++)h = h.concat(Gf.apply(this, [
            r[c],
            s,
            i
        ]));
        return h;
    }, function(t) {
        t.__fontmetrics__ = t.__fontmetrics__ || {};
        for(var A = "klmnopqrstuvwxyz", e = {}, r = {}, n = 0; n < A.length; n++)e[A[n]] = "0123456789abcdef"[n], r["0123456789abcdef"[n]] = A[n];
        var i = function(d) {
            return "0x" + parseInt(d, 10).toString(16);
        }, s = t.__fontmetrics__.compress = function(d) {
            var w, B, L, U, N = [
                "{"
            ];
            for(var Q in d){
                if (w = d[Q], isNaN(parseInt(Q, 10)) ? B = "'" + Q + "'" : (Q = parseInt(Q, 10), B = (B = i(Q).slice(2)).slice(0, -1) + r[B.slice(-1)]), typeof w == "number") w < 0 ? (L = i(w).slice(3), U = "-") : (L = i(w).slice(2), U = ""), L = U + L.slice(0, -1) + r[L.slice(-1)];
                else {
                    if (de(w) !== "object") throw new Error("Don't know what to do with value type " + de(w) + ".");
                    L = s(w);
                }
                N.push(B + L);
            }
            return N.push("}"), N.join("");
        }, c = t.__fontmetrics__.uncompress = function(d) {
            if (typeof d != "string") throw new Error("Invalid argument passed to uncompress.");
            for(var w, B, L, U, N = {}, Q = 1, x = N, R = [], Y = "", Z = "", $ = d.length - 1, J = 1; J < $; J += 1)(U = d[J]) == "'" ? w ? (L = w.join(""), w = void 0) : w = [] : w ? w.push(U) : U == "{" ? (R.push([
                x,
                L
            ]), x = {}, L = void 0) : U == "}" ? ((B = R.pop())[0][B[1]] = x, L = void 0, x = B[0]) : U == "-" ? Q = -1 : L === void 0 ? e.hasOwnProperty(U) ? (Y += e[U], L = parseInt(Y, 16) * Q, Q = 1, Y = "") : Y += U : e.hasOwnProperty(U) ? (Z += e[U], x[L] = parseInt(Z, 16) * Q, Q = 1, L = void 0, Z = "") : Z += U;
            return N;
        }, u = {
            codePages: [
                "WinAnsiEncoding"
            ],
            WinAnsiEncoding: c("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")
        }, h = {
            Unicode: {
                Courier: u,
                "Courier-Bold": u,
                "Courier-BoldOblique": u,
                "Courier-Oblique": u,
                Helvetica: u,
                "Helvetica-Bold": u,
                "Helvetica-BoldOblique": u,
                "Helvetica-Oblique": u,
                "Times-Roman": u,
                "Times-Bold": u,
                "Times-BoldItalic": u,
                "Times-Italic": u
            }
        }, g = {
            Unicode: {
                "Courier-Oblique": c("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
                "Times-BoldItalic": c("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),
                "Helvetica-Bold": c("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),
                Courier: c("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
                "Courier-BoldOblique": c("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
                "Times-Bold": c("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),
                Symbol: c("{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}"),
                Helvetica: c("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),
                "Helvetica-BoldOblique": c("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),
                ZapfDingbats: c("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"),
                "Courier-Bold": c("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),
                "Times-Italic": c("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),
                "Times-Roman": c("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),
                "Helvetica-Oblique": c("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")
            }
        };
        t.events.push([
            "addFont",
            function(d) {
                var w = d.font, B = g.Unicode[w.postScriptName];
                B && (w.metadata.Unicode = {}, w.metadata.Unicode.widths = B.widths, w.metadata.Unicode.kerning = B.kerning);
                var L = h.Unicode[w.postScriptName];
                L && (w.metadata.Unicode.encoding = L, w.encoding = L.codePages[0]);
            }
        ]);
    }(GA.API), function(t) {
        var A = function(e) {
            for(var r = e.length, n = new Uint8Array(r), i = 0; i < r; i++)n[i] = e.charCodeAt(i);
            return n;
        };
        t.API.events.push([
            "addFont",
            function(e) {
                var r = void 0, n = e.font, i = e.instance;
                if (!n.isStandardFont) {
                    if (i === void 0) throw new Error("Font does not exist in vFS, import fonts or remove declaration doc.addFont('" + n.postScriptName + "').");
                    if (typeof (r = i.existsFileInVFS(n.postScriptName) === !1 ? i.loadFile(n.postScriptName) : i.getFileFromVFS(n.postScriptName)) != "string") throw new Error("Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('" + n.postScriptName + "').");
                    (function(s, c) {
                        c = /^\x00\x01\x00\x00/.test(c) ? A(c) : A(Da(c)), s.metadata = t.API.TTFFont.open(c), s.metadata.Unicode = s.metadata.Unicode || {
                            encoding: {},
                            kerning: {},
                            widths: []
                        }, s.metadata.glyIdsUsed = [
                            0
                        ];
                    })(n, r);
                }
            }
        ]);
    }(GA), function(t) {
        function A() {
            return (VA.canvg ? Promise.resolve(VA.canvg) : iu(()=>import("./index.es-DLelGW7y.js").then(async (m)=>{
                    await m.__tla;
                    return m;
                }), __vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]))).catch(function(e) {
                return Promise.reject(new Error("Could not load canvg: " + e));
            }).then(function(e) {
                return e.default ? e.default : e;
            });
        }
        GA.API.addSvgAsImage = function(e, r, n, i, s, c, u, h) {
            if (isNaN(r) || isNaN(n)) throw Qe.error("jsPDF.addSvgAsImage: Invalid coordinates", arguments), new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");
            if (isNaN(i) || isNaN(s)) throw Qe.error("jsPDF.addSvgAsImage: Invalid measurements", arguments), new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");
            var g = document.createElement("canvas");
            g.width = i, g.height = s;
            var d = g.getContext("2d");
            d.fillStyle = "#fff", d.fillRect(0, 0, g.width, g.height);
            var w = {
                ignoreMouse: !0,
                ignoreAnimation: !0,
                ignoreDimensions: !0
            }, B = this;
            return A().then(function(L) {
                return L.fromString(d, e, w);
            }, function() {
                return Promise.reject(new Error("Could not load canvg."));
            }).then(function(L) {
                return L.render(w);
            }).then(function() {
                B.addImage(g.toDataURL("image/jpeg", 1), r, n, i, s, u, h);
            });
        };
    }(), GA.API.putTotalPages = function(t) {
        var A, e = 0;
        parseInt(this.internal.getFont().id.substr(1), 10) < 15 ? (A = new RegExp(t, "g"), e = this.internal.getNumberOfPages()) : (A = new RegExp(this.pdfEscape16(t, this.internal.getFont()), "g"), e = this.pdfEscape16(this.internal.getNumberOfPages() + "", this.internal.getFont()));
        for(var r = 1; r <= this.internal.getNumberOfPages(); r++)for(var n = 0; n < this.internal.pages[r].length; n++)this.internal.pages[r][n] = this.internal.pages[r][n].replace(A, e);
        return this;
    }, GA.API.viewerPreferences = function(t, A) {
        var e;
        t = t || {}, A = A || !1;
        var r, n, i, s = {
            HideToolbar: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.3
            },
            HideMenubar: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.3
            },
            HideWindowUI: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.3
            },
            FitWindow: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.3
            },
            CenterWindow: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.3
            },
            DisplayDocTitle: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.4
            },
            NonFullScreenPageMode: {
                defaultValue: "UseNone",
                value: "UseNone",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "UseNone",
                    "UseOutlines",
                    "UseThumbs",
                    "UseOC"
                ],
                pdfVersion: 1.3
            },
            Direction: {
                defaultValue: "L2R",
                value: "L2R",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "L2R",
                    "R2L"
                ],
                pdfVersion: 1.3
            },
            ViewArea: {
                defaultValue: "CropBox",
                value: "CropBox",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "MediaBox",
                    "CropBox",
                    "TrimBox",
                    "BleedBox",
                    "ArtBox"
                ],
                pdfVersion: 1.4
            },
            ViewClip: {
                defaultValue: "CropBox",
                value: "CropBox",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "MediaBox",
                    "CropBox",
                    "TrimBox",
                    "BleedBox",
                    "ArtBox"
                ],
                pdfVersion: 1.4
            },
            PrintArea: {
                defaultValue: "CropBox",
                value: "CropBox",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "MediaBox",
                    "CropBox",
                    "TrimBox",
                    "BleedBox",
                    "ArtBox"
                ],
                pdfVersion: 1.4
            },
            PrintClip: {
                defaultValue: "CropBox",
                value: "CropBox",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "MediaBox",
                    "CropBox",
                    "TrimBox",
                    "BleedBox",
                    "ArtBox"
                ],
                pdfVersion: 1.4
            },
            PrintScaling: {
                defaultValue: "AppDefault",
                value: "AppDefault",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "AppDefault",
                    "None"
                ],
                pdfVersion: 1.6
            },
            Duplex: {
                defaultValue: "",
                value: "none",
                type: "name",
                explicitSet: !1,
                valueSet: [
                    "Simplex",
                    "DuplexFlipShortEdge",
                    "DuplexFlipLongEdge",
                    "none"
                ],
                pdfVersion: 1.7
            },
            PickTrayByPDFSize: {
                defaultValue: !1,
                value: !1,
                type: "boolean",
                explicitSet: !1,
                valueSet: [
                    !0,
                    !1
                ],
                pdfVersion: 1.7
            },
            PrintPageRange: {
                defaultValue: "",
                value: "",
                type: "array",
                explicitSet: !1,
                valueSet: null,
                pdfVersion: 1.7
            },
            NumCopies: {
                defaultValue: 1,
                value: 1,
                type: "integer",
                explicitSet: !1,
                valueSet: null,
                pdfVersion: 1.7
            }
        }, c = Object.keys(s), u = [], h = 0, g = 0, d = 0;
        function w(L, U) {
            var N, Q = !1;
            for(N = 0; N < L.length; N += 1)L[N] === U && (Q = !0);
            return Q;
        }
        if (this.internal.viewerpreferences === void 0 && (this.internal.viewerpreferences = {}, this.internal.viewerpreferences.configuration = JSON.parse(JSON.stringify(s)), this.internal.viewerpreferences.isSubscribed = !1), e = this.internal.viewerpreferences.configuration, t === "reset" || A === !0) {
            var B = c.length;
            for(d = 0; d < B; d += 1)e[c[d]].value = e[c[d]].defaultValue, e[c[d]].explicitSet = !1;
        }
        if (de(t) === "object") {
            for(n in t)if (i = t[n], w(c, n) && i !== void 0) {
                if (e[n].type === "boolean" && typeof i == "boolean") e[n].value = i;
                else if (e[n].type === "name" && w(e[n].valueSet, i)) e[n].value = i;
                else if (e[n].type === "integer" && Number.isInteger(i)) e[n].value = i;
                else if (e[n].type === "array") {
                    for(h = 0; h < i.length; h += 1)if (r = !0, i[h].length === 1 && typeof i[h][0] == "number") u.push(String(i[h] - 1));
                    else if (i[h].length > 1) {
                        for(g = 0; g < i[h].length; g += 1)typeof i[h][g] != "number" && (r = !1);
                        r === !0 && u.push([
                            i[h][0] - 1,
                            i[h][1] - 1
                        ].join(" "));
                    }
                    e[n].value = "[" + u.join(" ") + "]";
                } else e[n].value = e[n].defaultValue;
                e[n].explicitSet = !0;
            }
        }
        return this.internal.viewerpreferences.isSubscribed === !1 && (this.internal.events.subscribe("putCatalog", function() {
            var L, U = [];
            for(L in e)e[L].explicitSet === !0 && (e[L].type === "name" ? U.push("/" + L + " /" + e[L].value) : U.push("/" + L + " " + e[L].value));
            U.length !== 0 && this.internal.write(`/ViewerPreferences
<<
` + U.join(`
`) + `
>>`);
        }), this.internal.viewerpreferences.isSubscribed = !0), this.internal.viewerpreferences.configuration = e, this;
    }, function(t) {
        var A = function() {
            var r = '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="' + this.internal.__metadata__.namespaceuri + '"><jspdf:metadata>', n = unescape(encodeURIComponent('<x:xmpmeta xmlns:x="adobe:ns:meta/">')), i = unescape(encodeURIComponent(r)), s = unescape(encodeURIComponent(this.internal.__metadata__.metadata)), c = unescape(encodeURIComponent("</jspdf:metadata></rdf:Description></rdf:RDF>")), u = unescape(encodeURIComponent("</x:xmpmeta>")), h = i.length + s.length + c.length + n.length + u.length;
            this.internal.__metadata__.metadata_object_number = this.internal.newObject(), this.internal.write("<< /Type /Metadata /Subtype /XML /Length " + h + " >>"), this.internal.write("stream"), this.internal.write(n + i + s + c + u), this.internal.write("endstream"), this.internal.write("endobj");
        }, e = function() {
            this.internal.__metadata__.metadata_object_number && this.internal.write("/Metadata " + this.internal.__metadata__.metadata_object_number + " 0 R");
        };
        t.addMetadata = function(r, n) {
            return this.internal.__metadata__ === void 0 && (this.internal.__metadata__ = {
                metadata: r,
                namespaceuri: n || "http://jspdf.default.namespaceuri/"
            }, this.internal.events.subscribe("putCatalog", e), this.internal.events.subscribe("postPutResources", A)), this;
        };
    }(GA.API), function(t) {
        var A = t.API, e = A.pdfEscape16 = function(i, s) {
            for(var c, u = s.metadata.Unicode.widths, h = [
                "",
                "0",
                "00",
                "000",
                "0000"
            ], g = [
                ""
            ], d = 0, w = i.length; d < w; ++d){
                if (c = s.metadata.characterToGlyph(i.charCodeAt(d)), s.metadata.glyIdsUsed.push(c), s.metadata.toUnicode[c] = i.charCodeAt(d), u.indexOf(c) == -1 && (u.push(c), u.push([
                    parseInt(s.metadata.widthOfGlyph(c), 10)
                ])), c == "0") return g.join("");
                c = c.toString(16), g.push(h[4 - c.length], c);
            }
            return g.join("");
        }, r = function(i) {
            var s, c, u, h, g, d, w;
            for(g = `/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo <<
  /Registry (Adobe)
  /Ordering (UCS)
  /Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000><ffff>
endcodespacerange`, u = [], d = 0, w = (c = Object.keys(i).sort(function(B, L) {
                return B - L;
            })).length; d < w; d++)s = c[d], u.length >= 100 && (g += `
` + u.length + ` beginbfchar
` + u.join(`
`) + `
endbfchar`, u = []), i[s] !== void 0 && i[s] !== null && typeof i[s].toString == "function" && (h = ("0000" + i[s].toString(16)).slice(-4), s = ("0000" + (+s).toString(16)).slice(-4), u.push("<" + s + "><" + h + ">"));
            return u.length && (g += `
` + u.length + ` beginbfchar
` + u.join(`
`) + `
endbfchar
`), g += `endcmap
CMapName currentdict /CMap defineresource pop
end
end`;
        };
        A.events.push([
            "putFont",
            function(i) {
                (function(s) {
                    var c = s.font, u = s.out, h = s.newObject, g = s.putStream;
                    if (c.metadata instanceof t.API.TTFFont && c.encoding === "Identity-H") {
                        for(var d = c.metadata.Unicode.widths, w = c.metadata.subset.encode(c.metadata.glyIdsUsed, 1), B = "", L = 0; L < w.length; L++)B += String.fromCharCode(w[L]);
                        var U = h();
                        g({
                            data: B,
                            addLength1: !0,
                            objectId: U
                        }), u("endobj");
                        var N = h();
                        g({
                            data: r(c.metadata.toUnicode),
                            addLength1: !0,
                            objectId: N
                        }), u("endobj");
                        var Q = h();
                        u("<<"), u("/Type /FontDescriptor"), u("/FontName /" + xi(c.fontName)), u("/FontFile2 " + U + " 0 R"), u("/FontBBox " + t.API.PDFObject.convert(c.metadata.bbox)), u("/Flags " + c.metadata.flags), u("/StemV " + c.metadata.stemV), u("/ItalicAngle " + c.metadata.italicAngle), u("/Ascent " + c.metadata.ascender), u("/Descent " + c.metadata.decender), u("/CapHeight " + c.metadata.capHeight), u(">>"), u("endobj");
                        var x = h();
                        u("<<"), u("/Type /Font"), u("/BaseFont /" + xi(c.fontName)), u("/FontDescriptor " + Q + " 0 R"), u("/W " + t.API.PDFObject.convert(d)), u("/CIDToGIDMap /Identity"), u("/DW 1000"), u("/Subtype /CIDFontType2"), u("/CIDSystemInfo"), u("<<"), u("/Supplement 0"), u("/Registry (Adobe)"), u("/Ordering (" + c.encoding + ")"), u(">>"), u(">>"), u("endobj"), c.objectNumber = h(), u("<<"), u("/Type /Font"), u("/Subtype /Type0"), u("/ToUnicode " + N + " 0 R"), u("/BaseFont /" + xi(c.fontName)), u("/Encoding /" + c.encoding), u("/DescendantFonts [" + x + " 0 R]"), u(">>"), u("endobj"), c.isAlreadyPutted = !0;
                    }
                })(i);
            }
        ]), A.events.push([
            "putFont",
            function(i) {
                (function(s) {
                    var c = s.font, u = s.out, h = s.newObject, g = s.putStream;
                    if (c.metadata instanceof t.API.TTFFont && c.encoding === "WinAnsiEncoding") {
                        for(var d = c.metadata.rawData, w = "", B = 0; B < d.length; B++)w += String.fromCharCode(d[B]);
                        var L = h();
                        g({
                            data: w,
                            addLength1: !0,
                            objectId: L
                        }), u("endobj");
                        var U = h();
                        g({
                            data: r(c.metadata.toUnicode),
                            addLength1: !0,
                            objectId: U
                        }), u("endobj");
                        var N = h();
                        u("<<"), u("/Descent " + c.metadata.decender), u("/CapHeight " + c.metadata.capHeight), u("/StemV " + c.metadata.stemV), u("/Type /FontDescriptor"), u("/FontFile2 " + L + " 0 R"), u("/Flags 96"), u("/FontBBox " + t.API.PDFObject.convert(c.metadata.bbox)), u("/FontName /" + xi(c.fontName)), u("/ItalicAngle " + c.metadata.italicAngle), u("/Ascent " + c.metadata.ascender), u(">>"), u("endobj"), c.objectNumber = h();
                        for(var Q = 0; Q < c.metadata.hmtx.widths.length; Q++)c.metadata.hmtx.widths[Q] = parseInt(c.metadata.hmtx.widths[Q] * (1e3 / c.metadata.head.unitsPerEm));
                        u("<</Subtype/TrueType/Type/Font/ToUnicode " + U + " 0 R/BaseFont/" + xi(c.fontName) + "/FontDescriptor " + N + " 0 R/Encoding/" + c.encoding + " /FirstChar 29 /LastChar 255 /Widths " + t.API.PDFObject.convert(c.metadata.hmtx.widths) + ">>"), u("endobj"), c.isAlreadyPutted = !0;
                    }
                })(i);
            }
        ]);
        var n = function(i) {
            var s, c = i.text || "", u = i.x, h = i.y, g = i.options || {}, d = i.mutex || {}, w = d.pdfEscape, B = d.activeFontKey, L = d.fonts, U = B, N = "", Q = 0, x = "", R = L[U].encoding;
            if (L[U].encoding !== "Identity-H") return {
                text: c,
                x: u,
                y: h,
                options: g,
                mutex: d
            };
            for(x = c, U = B, Array.isArray(c) && (x = c[0]), Q = 0; Q < x.length; Q += 1)L[U].metadata.hasOwnProperty("cmap") && (s = L[U].metadata.cmap.unicode.codeMap[x[Q].charCodeAt(0)]), s || x[Q].charCodeAt(0) < 256 && L[U].metadata.hasOwnProperty("Unicode") ? N += x[Q] : N += "";
            var Y = "";
            return parseInt(U.slice(1)) < 14 || R === "WinAnsiEncoding" ? Y = w(N, U).split("").map(function(Z) {
                return Z.charCodeAt(0).toString(16);
            }).join("") : R === "Identity-H" && (Y = e(N, L[U])), d.isHex = !0, {
                text: Y,
                x: u,
                y: h,
                options: g,
                mutex: d
            };
        };
        A.events.push([
            "postProcessText",
            function(i) {
                var s = i.text || "", c = [], u = {
                    text: s,
                    x: i.x,
                    y: i.y,
                    options: i.options,
                    mutex: i.mutex
                };
                if (Array.isArray(s)) {
                    var h = 0;
                    for(h = 0; h < s.length; h += 1)Array.isArray(s[h]) && s[h].length === 3 ? c.push([
                        n(Object.assign({}, u, {
                            text: s[h][0]
                        })).text,
                        s[h][1],
                        s[h][2]
                    ]) : c.push(n(Object.assign({}, u, {
                        text: s[h]
                    })).text);
                    i.text = c;
                } else i.text = n(Object.assign({}, u, {
                    text: s
                })).text;
            }
        ]);
    }(GA), function(t) {
        var A = function() {
            return this.internal.vFS === void 0 && (this.internal.vFS = {}), !0;
        };
        t.existsFileInVFS = function(e) {
            return A.call(this), this.internal.vFS[e] !== void 0;
        }, t.addFileToVFS = function(e, r) {
            return A.call(this), this.internal.vFS[e] = r, this;
        }, t.getFileFromVFS = function(e) {
            return A.call(this), this.internal.vFS[e] !== void 0 ? this.internal.vFS[e] : null;
        };
    }(GA.API), function(t) {
        t.__bidiEngine__ = t.prototype.__bidiEngine__ = function(r) {
            var n, i, s, c, u, h, g, d = A, w = [
                [
                    0,
                    3,
                    0,
                    1,
                    0,
                    0,
                    0
                ],
                [
                    0,
                    3,
                    0,
                    1,
                    2,
                    2,
                    0
                ],
                [
                    0,
                    3,
                    0,
                    17,
                    2,
                    0,
                    1
                ],
                [
                    0,
                    3,
                    5,
                    5,
                    4,
                    1,
                    0
                ],
                [
                    0,
                    3,
                    21,
                    21,
                    4,
                    0,
                    1
                ],
                [
                    0,
                    3,
                    5,
                    5,
                    4,
                    2,
                    0
                ]
            ], B = [
                [
                    2,
                    0,
                    1,
                    1,
                    0,
                    1,
                    0
                ],
                [
                    2,
                    0,
                    1,
                    1,
                    0,
                    2,
                    0
                ],
                [
                    2,
                    0,
                    2,
                    1,
                    3,
                    2,
                    0
                ],
                [
                    2,
                    0,
                    2,
                    33,
                    3,
                    1,
                    1
                ]
            ], L = {
                L: 0,
                R: 1,
                EN: 2,
                AN: 3,
                N: 4,
                B: 5,
                S: 6
            }, U = {
                0: 0,
                5: 1,
                6: 2,
                7: 3,
                32: 4,
                251: 5,
                254: 6,
                255: 7
            }, N = [
                "(",
                ")",
                "(",
                "<",
                ">",
                "<",
                "[",
                "]",
                "[",
                "{",
                "}",
                "{",
                "«",
                "»",
                "«",
                "‹",
                "›",
                "‹",
                "⁅",
                "⁆",
                "⁅",
                "⁽",
                "⁾",
                "⁽",
                "₍",
                "₎",
                "₍",
                "≤",
                "≥",
                "≤",
                "〈",
                "〉",
                "〈",
                "﹙",
                "﹚",
                "﹙",
                "﹛",
                "﹜",
                "﹛",
                "﹝",
                "﹞",
                "﹝",
                "﹤",
                "﹥",
                "﹤"
            ], Q = new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/), x = !1, R = 0;
            this.__bidiEngine__ = {};
            var Y = function(I) {
                var H = I.charCodeAt(), K = H >> 8, M = U[K];
                return M !== void 0 ? d[256 * M + (255 & H)] : K === 252 || K === 253 ? "AL" : Q.test(K) ? "L" : K === 8 ? "R" : "N";
            }, Z = function(I) {
                for(var H, K = 0; K < I.length; K++){
                    if ((H = Y(I.charAt(K))) === "L") return !1;
                    if (H === "R") return !0;
                }
                return !1;
            }, $ = function(I, H, K, M) {
                var oA, iA, cA, eA, lA = H[M];
                switch(lA){
                    case "L":
                    case "R":
                        x = !1;
                        break;
                    case "N":
                    case "AN":
                        break;
                    case "EN":
                        x && (lA = "AN");
                        break;
                    case "AL":
                        x = !0, lA = "R";
                        break;
                    case "WS":
                        lA = "N";
                        break;
                    case "CS":
                        M < 1 || M + 1 >= H.length || (oA = K[M - 1]) !== "EN" && oA !== "AN" || (iA = H[M + 1]) !== "EN" && iA !== "AN" ? lA = "N" : x && (iA = "AN"), lA = iA === oA ? iA : "N";
                        break;
                    case "ES":
                        lA = (oA = M > 0 ? K[M - 1] : "B") === "EN" && M + 1 < H.length && H[M + 1] === "EN" ? "EN" : "N";
                        break;
                    case "ET":
                        if (M > 0 && K[M - 1] === "EN") {
                            lA = "EN";
                            break;
                        }
                        if (x) {
                            lA = "N";
                            break;
                        }
                        for(cA = M + 1, eA = H.length; cA < eA && H[cA] === "ET";)cA++;
                        lA = cA < eA && H[cA] === "EN" ? "EN" : "N";
                        break;
                    case "NSM":
                        if (s && !c) {
                            for(eA = H.length, cA = M + 1; cA < eA && H[cA] === "NSM";)cA++;
                            if (cA < eA) {
                                var hA = I[M], UA = hA >= 1425 && hA <= 2303 || hA === 64286;
                                if (oA = H[cA], UA && (oA === "R" || oA === "AL")) {
                                    lA = "R";
                                    break;
                                }
                            }
                        }
                        lA = M < 1 || (oA = H[M - 1]) === "B" ? "N" : K[M - 1];
                        break;
                    case "B":
                        x = !1, n = !0, lA = R;
                        break;
                    case "S":
                        i = !0, lA = "N";
                        break;
                    case "LRE":
                    case "RLE":
                    case "LRO":
                    case "RLO":
                    case "PDF":
                        x = !1;
                        break;
                    case "BN":
                        lA = "N";
                }
                return lA;
            }, J = function(I, H, K) {
                var M = I.split("");
                return K && O(M, K, {
                    hiLevel: R
                }), M.reverse(), H && H.reverse(), M.join("");
            }, O = function(I, H, K) {
                var M, oA, iA, cA, eA, lA = -1, hA = I.length, UA = 0, y = [], _ = R ? B : w, T = [];
                for(x = !1, n = !1, i = !1, oA = 0; oA < hA; oA++)T[oA] = Y(I[oA]);
                for(iA = 0; iA < hA; iA++){
                    if (eA = UA, y[iA] = $(I, T, y, iA), M = 240 & (UA = _[eA][L[y[iA]]]), UA &= 15, H[iA] = cA = _[UA][5], M > 0) if (M === 16) {
                        for(oA = lA; oA < iA; oA++)H[oA] = 1;
                        lA = -1;
                    } else lA = -1;
                    if (_[UA][6]) lA === -1 && (lA = iA);
                    else if (lA > -1) {
                        for(oA = lA; oA < iA; oA++)H[oA] = cA;
                        lA = -1;
                    }
                    T[iA] === "B" && (H[iA] = 0), K.hiLevel |= cA;
                }
                i && function(k, X, nA) {
                    for(var aA = 0; aA < nA; aA++)if (k[aA] === "S") {
                        X[aA] = R;
                        for(var sA = aA - 1; sA >= 0 && k[sA] === "WS"; sA--)X[sA] = R;
                    }
                }(T, H, hA);
            }, W = function(I, H, K, M, oA) {
                if (!(oA.hiLevel < I)) {
                    if (I === 1 && R === 1 && !n) return H.reverse(), void (K && K.reverse());
                    for(var iA, cA, eA, lA, hA = H.length, UA = 0; UA < hA;){
                        if (M[UA] >= I) {
                            for(eA = UA + 1; eA < hA && M[eA] >= I;)eA++;
                            for(lA = UA, cA = eA - 1; lA < cA; lA++, cA--)iA = H[lA], H[lA] = H[cA], H[cA] = iA, K && (iA = K[lA], K[lA] = K[cA], K[cA] = iA);
                            UA = eA;
                        }
                        UA++;
                    }
                }
            }, uA = function(I, H, K) {
                var M = I.split(""), oA = {
                    hiLevel: R
                };
                return K || (K = []), O(M, K, oA), function(iA, cA, eA) {
                    if (eA.hiLevel !== 0 && g) for(var lA, hA = 0; hA < iA.length; hA++)cA[hA] === 1 && (lA = N.indexOf(iA[hA])) >= 0 && (iA[hA] = N[lA + 1]);
                }(M, K, oA), W(2, M, H, K, oA), W(1, M, H, K, oA), M.join("");
            };
            return this.__bidiEngine__.doBidiReorder = function(I, H, K) {
                if (function(oA, iA) {
                    if (iA) for(var cA = 0; cA < oA.length; cA++)iA[cA] = cA;
                    c === void 0 && (c = Z(oA)), h === void 0 && (h = Z(oA));
                }(I, H), s || !u || h) if (s && u && c ^ h) R = c ? 1 : 0, I = J(I, H, K);
                else if (!s && u && h) R = c ? 1 : 0, I = uA(I, H, K), I = J(I, H);
                else if (!s || c || u || h) {
                    if (s && !u && c ^ h) I = J(I, H), c ? (R = 0, I = uA(I, H, K)) : (R = 1, I = uA(I, H, K), I = J(I, H));
                    else if (s && c && !u && h) R = 1, I = uA(I, H, K), I = J(I, H);
                    else if (!s && !u && c ^ h) {
                        var M = g;
                        c ? (R = 1, I = uA(I, H, K), R = 0, g = !1, I = uA(I, H, K), g = M) : (R = 0, I = uA(I, H, K), I = J(I, H), R = 1, g = !1, I = uA(I, H, K), g = M, I = J(I, H));
                    }
                } else R = 0, I = uA(I, H, K);
                else R = c ? 1 : 0, I = uA(I, H, K);
                return I;
            }, this.__bidiEngine__.setOptions = function(I) {
                I && (s = I.isInputVisual, u = I.isOutputVisual, c = I.isInputRtl, h = I.isOutputRtl, g = I.isSymmetricSwapping);
            }, this.__bidiEngine__.setOptions(r), this.__bidiEngine__;
        };
        var A = [
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "S",
            "B",
            "S",
            "WS",
            "B",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "B",
            "B",
            "B",
            "S",
            "WS",
            "N",
            "N",
            "ET",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "ES",
            "CS",
            "ES",
            "CS",
            "CS",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "CS",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "B",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "CS",
            "N",
            "ET",
            "ET",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "L",
            "N",
            "N",
            "BN",
            "N",
            "N",
            "ET",
            "ET",
            "EN",
            "EN",
            "N",
            "L",
            "N",
            "N",
            "N",
            "EN",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "ET",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "R",
            "NSM",
            "R",
            "NSM",
            "NSM",
            "R",
            "NSM",
            "NSM",
            "R",
            "NSM",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "N",
            "N",
            "N",
            "N",
            "N",
            "R",
            "R",
            "R",
            "R",
            "R",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "N",
            "N",
            "AL",
            "ET",
            "ET",
            "AL",
            "CS",
            "AL",
            "N",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AL",
            "AL",
            "N",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "AN",
            "ET",
            "AN",
            "AN",
            "AL",
            "AL",
            "AL",
            "NSM",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AN",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AL",
            "AL",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "N",
            "AL",
            "AL",
            "NSM",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "N",
            "N",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "AL",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "R",
            "R",
            "N",
            "N",
            "N",
            "N",
            "R",
            "N",
            "N",
            "N",
            "N",
            "N",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "WS",
            "BN",
            "BN",
            "BN",
            "L",
            "R",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "WS",
            "B",
            "LRE",
            "RLE",
            "PDF",
            "LRO",
            "RLO",
            "CS",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "CS",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "WS",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "N",
            "LRI",
            "RLI",
            "FSI",
            "PDI",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "BN",
            "EN",
            "L",
            "N",
            "N",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "ES",
            "ES",
            "N",
            "N",
            "N",
            "L",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "ES",
            "ES",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "R",
            "NSM",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "ES",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "N",
            "R",
            "R",
            "R",
            "R",
            "R",
            "N",
            "R",
            "N",
            "R",
            "R",
            "N",
            "R",
            "R",
            "N",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "R",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "NSM",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "CS",
            "N",
            "CS",
            "N",
            "N",
            "CS",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "ET",
            "N",
            "N",
            "ES",
            "ES",
            "N",
            "N",
            "N",
            "N",
            "N",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "N",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "AL",
            "N",
            "N",
            "BN",
            "N",
            "N",
            "N",
            "ET",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "ES",
            "CS",
            "ES",
            "CS",
            "CS",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "EN",
            "CS",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "L",
            "L",
            "L",
            "L",
            "L",
            "L",
            "N",
            "N",
            "L",
            "L",
            "L",
            "N",
            "N",
            "N",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "ET",
            "ET",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N",
            "N"
        ], e = new t.__bidiEngine__({
            isInputVisual: !0
        });
        t.API.events.push([
            "postProcessText",
            function(r) {
                var n = r.text;
                r.x, r.y;
                var i = r.options || {};
                r.mutex, i.lang;
                var s = [];
                if (i.isInputVisual = typeof i.isInputVisual != "boolean" || i.isInputVisual, e.setOptions(i), Object.prototype.toString.call(n) === "[object Array]") {
                    var c = 0;
                    for(s = [], c = 0; c < n.length; c += 1)Object.prototype.toString.call(n[c]) === "[object Array]" ? s.push([
                        e.doBidiReorder(n[c][0]),
                        n[c][1],
                        n[c][2]
                    ]) : s.push([
                        e.doBidiReorder(n[c])
                    ]);
                    r.text = s;
                } else r.text = e.doBidiReorder(n);
                e.setOptions({
                    isInputVisual: !0
                });
            }
        ]);
    }(GA), GA.API.TTFFont = function() {
        function t(A) {
            var e;
            if (this.rawData = A, e = this.contents = new Cn(A), this.contents.pos = 4, e.readString(4) === "ttcf") throw new Error("TTCF not supported.");
            e.pos = 0, this.parse(), this.subset = new K5(this), this.registerTTF();
        }
        return t.open = function(A) {
            return new t(A);
        }, t.prototype.parse = function() {
            return this.directory = new b5(this.contents), this.head = new E5(this), this.name = new N5(this), this.cmap = new pB(this), this.toUnicode = {}, this.hhea = new I5(this), this.maxp = new _5(this), this.hmtx = new D5(this), this.post = new H5(this), this.os2 = new x5(this), this.loca = new M5(this), this.glyf = new T5(this), this.ascender = this.os2.exists && this.os2.ascender || this.hhea.ascender, this.decender = this.os2.exists && this.os2.decender || this.hhea.decender, this.lineGap = this.os2.exists && this.os2.lineGap || this.hhea.lineGap, this.bbox = [
                this.head.xMin,
                this.head.yMin,
                this.head.xMax,
                this.head.yMax
            ];
        }, t.prototype.registerTTF = function() {
            var A, e, r, n, i;
            if (this.scaleFactor = 1e3 / this.head.unitsPerEm, this.bbox = function() {
                var s, c, u, h;
                for(h = [], s = 0, c = (u = this.bbox).length; s < c; s++)A = u[s], h.push(Math.round(A * this.scaleFactor));
                return h;
            }.call(this), this.stemV = 0, this.post.exists ? (r = 255 & (n = this.post.italic_angle), 32768 & (e = n >> 16) && (e = -(1 + (65535 ^ e))), this.italicAngle = +(e + "." + r)) : this.italicAngle = 0, this.ascender = Math.round(this.ascender * this.scaleFactor), this.decender = Math.round(this.decender * this.scaleFactor), this.lineGap = Math.round(this.lineGap * this.scaleFactor), this.capHeight = this.os2.exists && this.os2.capHeight || this.ascender, this.xHeight = this.os2.exists && this.os2.xHeight || 0, this.familyClass = (this.os2.exists && this.os2.familyClass || 0) >> 8, this.isSerif = (i = this.familyClass) === 1 || i === 2 || i === 3 || i === 4 || i === 5 || i === 7, this.isScript = this.familyClass === 10, this.flags = 0, this.post.isFixedPitch && (this.flags |= 1), this.isSerif && (this.flags |= 2), this.isScript && (this.flags |= 8), this.italicAngle !== 0 && (this.flags |= 64), this.flags |= 32, !this.cmap.unicode) throw new Error("No unicode cmap for font");
        }, t.prototype.characterToGlyph = function(A) {
            var e;
            return ((e = this.cmap.unicode) != null ? e.codeMap[A] : void 0) || 0;
        }, t.prototype.widthOfGlyph = function(A) {
            var e;
            return e = 1e3 / this.head.unitsPerEm, this.hmtx.forGlyph(A).advance * e;
        }, t.prototype.widthOfString = function(A, e, r) {
            var n, i, s, c;
            for(s = 0, i = 0, c = (A = "" + A).length; 0 <= c ? i < c : i > c; i = 0 <= c ? ++i : --i)n = A.charCodeAt(i), s += this.widthOfGlyph(this.characterToGlyph(n)) + r * (1e3 / e) || 0;
            return s * (e / 1e3);
        }, t.prototype.lineHeight = function(A, e) {
            var r;
            return e == null && (e = !1), r = e ? this.lineGap : 0, (this.ascender + r - this.decender) / 1e3 * A;
        }, t;
    }();
    var lr, Cn = function() {
        function t(A) {
            this.data = A ?? [], this.pos = 0, this.length = this.data.length;
        }
        return t.prototype.readByte = function() {
            return this.data[this.pos++];
        }, t.prototype.writeByte = function(A) {
            return this.data[this.pos++] = A;
        }, t.prototype.readUInt32 = function() {
            return 16777216 * this.readByte() + (this.readByte() << 16) + (this.readByte() << 8) + this.readByte();
        }, t.prototype.writeUInt32 = function(A) {
            return this.writeByte(A >>> 24 & 255), this.writeByte(A >> 16 & 255), this.writeByte(A >> 8 & 255), this.writeByte(255 & A);
        }, t.prototype.readInt32 = function() {
            var A;
            return (A = this.readUInt32()) >= 2147483648 ? A - 4294967296 : A;
        }, t.prototype.writeInt32 = function(A) {
            return A < 0 && (A += 4294967296), this.writeUInt32(A);
        }, t.prototype.readUInt16 = function() {
            return this.readByte() << 8 | this.readByte();
        }, t.prototype.writeUInt16 = function(A) {
            return this.writeByte(A >> 8 & 255), this.writeByte(255 & A);
        }, t.prototype.readInt16 = function() {
            var A;
            return (A = this.readUInt16()) >= 32768 ? A - 65536 : A;
        }, t.prototype.writeInt16 = function(A) {
            return A < 0 && (A += 65536), this.writeUInt16(A);
        }, t.prototype.readString = function(A) {
            var e, r;
            for(r = [], e = 0; 0 <= A ? e < A : e > A; e = 0 <= A ? ++e : --e)r[e] = String.fromCharCode(this.readByte());
            return r.join("");
        }, t.prototype.writeString = function(A) {
            var e, r, n;
            for(n = [], e = 0, r = A.length; 0 <= r ? e < r : e > r; e = 0 <= r ? ++e : --e)n.push(this.writeByte(A.charCodeAt(e)));
            return n;
        }, t.prototype.readShort = function() {
            return this.readInt16();
        }, t.prototype.writeShort = function(A) {
            return this.writeInt16(A);
        }, t.prototype.readLongLong = function() {
            var A, e, r, n, i, s, c, u;
            return A = this.readByte(), e = this.readByte(), r = this.readByte(), n = this.readByte(), i = this.readByte(), s = this.readByte(), c = this.readByte(), u = this.readByte(), 128 & A ? -1 * (72057594037927940 * (255 ^ A) + 281474976710656 * (255 ^ e) + 1099511627776 * (255 ^ r) + 4294967296 * (255 ^ n) + 16777216 * (255 ^ i) + 65536 * (255 ^ s) + 256 * (255 ^ c) + (255 ^ u) + 1) : 72057594037927940 * A + 281474976710656 * e + 1099511627776 * r + 4294967296 * n + 16777216 * i + 65536 * s + 256 * c + u;
        }, t.prototype.writeLongLong = function(A) {
            var e, r;
            return e = Math.floor(A / 4294967296), r = 4294967295 & A, this.writeByte(e >> 24 & 255), this.writeByte(e >> 16 & 255), this.writeByte(e >> 8 & 255), this.writeByte(255 & e), this.writeByte(r >> 24 & 255), this.writeByte(r >> 16 & 255), this.writeByte(r >> 8 & 255), this.writeByte(255 & r);
        }, t.prototype.readInt = function() {
            return this.readInt32();
        }, t.prototype.writeInt = function(A) {
            return this.writeInt32(A);
        }, t.prototype.read = function(A) {
            var e, r;
            for(e = [], r = 0; 0 <= A ? r < A : r > A; r = 0 <= A ? ++r : --r)e.push(this.readByte());
            return e;
        }, t.prototype.write = function(A) {
            var e, r, n, i;
            for(i = [], r = 0, n = A.length; r < n; r++)e = A[r], i.push(this.writeByte(e));
            return i;
        }, t;
    }(), b5 = function() {
        var t;
        function A(e) {
            var r, n, i;
            for(this.scalarType = e.readInt(), this.tableCount = e.readShort(), this.searchRange = e.readShort(), this.entrySelector = e.readShort(), this.rangeShift = e.readShort(), this.tables = {}, n = 0, i = this.tableCount; 0 <= i ? n < i : n > i; n = 0 <= i ? ++n : --n)r = {
                tag: e.readString(4),
                checksum: e.readInt(),
                offset: e.readInt(),
                length: e.readInt()
            }, this.tables[r.tag] = r;
        }
        return A.prototype.encode = function(e) {
            var r, n, i, s, c, u, h, g, d, w, B, L, U;
            for(U in B = Object.keys(e).length, u = Math.log(2), d = 16 * Math.floor(Math.log(B) / u), s = Math.floor(d / u), g = 16 * B - d, (n = new Cn).writeInt(this.scalarType), n.writeShort(B), n.writeShort(d), n.writeShort(s), n.writeShort(g), i = 16 * B, h = n.pos + i, c = null, L = [], e)for(w = e[U], n.writeString(U), n.writeInt(t(w)), n.writeInt(h), n.writeInt(w.length), L = L.concat(w), U === "head" && (c = h), h += w.length; h % 4;)L.push(0), h++;
            return n.write(L), r = 2981146554 - t(n.data), n.pos = c + 8, n.writeUInt32(r), n.data;
        }, t = function(e) {
            var r, n, i, s;
            for(e = wB.call(e); e.length % 4;)e.push(0);
            for(i = new Cn(e), n = 0, r = 0, s = e.length; r < s; r = r += 4)n += i.readUInt32();
            return 4294967295 & n;
        }, A;
    }(), L5 = {}.hasOwnProperty, Ir = function(t, A) {
        for(var e in A)L5.call(A, e) && (t[e] = A[e]);
        function r() {
            this.constructor = t;
        }
        return r.prototype = A.prototype, t.prototype = new r, t.__super__ = A.prototype, t;
    };
    lr = function() {
        function t(A) {
            var e;
            this.file = A, e = this.file.directory.tables[this.tag], this.exists = !!e, e && (this.offset = e.offset, this.length = e.length, this.parse(this.file.contents));
        }
        return t.prototype.parse = function() {}, t.prototype.encode = function() {}, t.prototype.raw = function() {
            return this.exists ? (this.file.contents.pos = this.offset, this.file.contents.read(this.length)) : null;
        }, t;
    }();
    var E5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "head", A.prototype.parse = function(e) {
            return e.pos = this.offset, this.version = e.readInt(), this.revision = e.readInt(), this.checkSumAdjustment = e.readInt(), this.magicNumber = e.readInt(), this.flags = e.readShort(), this.unitsPerEm = e.readShort(), this.created = e.readLongLong(), this.modified = e.readLongLong(), this.xMin = e.readShort(), this.yMin = e.readShort(), this.xMax = e.readShort(), this.yMax = e.readShort(), this.macStyle = e.readShort(), this.lowestRecPPEM = e.readShort(), this.fontDirectionHint = e.readShort(), this.indexToLocFormat = e.readShort(), this.glyphDataFormat = e.readShort();
        }, A.prototype.encode = function(e) {
            var r;
            return (r = new Cn).writeInt(this.version), r.writeInt(this.revision), r.writeInt(this.checkSumAdjustment), r.writeInt(this.magicNumber), r.writeShort(this.flags), r.writeShort(this.unitsPerEm), r.writeLongLong(this.created), r.writeLongLong(this.modified), r.writeShort(this.xMin), r.writeShort(this.yMin), r.writeShort(this.xMax), r.writeShort(this.yMax), r.writeShort(this.macStyle), r.writeShort(this.lowestRecPPEM), r.writeShort(this.fontDirectionHint), r.writeShort(e), r.writeShort(this.glyphDataFormat), r.data;
        }, A;
    }(), qf = function() {
        function t(A, e) {
            var r, n, i, s, c, u, h, g, d, w, B, L, U, N, Q, x, R;
            switch(this.platformID = A.readUInt16(), this.encodingID = A.readShort(), this.offset = e + A.readInt(), d = A.pos, A.pos = this.offset, this.format = A.readUInt16(), this.length = A.readUInt16(), this.language = A.readUInt16(), this.isUnicode = this.platformID === 3 && this.encodingID === 1 && this.format === 4 || this.platformID === 0 && this.format === 4, this.codeMap = {}, this.format){
                case 0:
                    for(u = 0; u < 256; ++u)this.codeMap[u] = A.readByte();
                    break;
                case 4:
                    for(B = A.readUInt16(), w = B / 2, A.pos += 6, i = function() {
                        var Y, Z;
                        for(Z = [], u = Y = 0; 0 <= w ? Y < w : Y > w; u = 0 <= w ? ++Y : --Y)Z.push(A.readUInt16());
                        return Z;
                    }(), A.pos += 2, U = function() {
                        var Y, Z;
                        for(Z = [], u = Y = 0; 0 <= w ? Y < w : Y > w; u = 0 <= w ? ++Y : --Y)Z.push(A.readUInt16());
                        return Z;
                    }(), h = function() {
                        var Y, Z;
                        for(Z = [], u = Y = 0; 0 <= w ? Y < w : Y > w; u = 0 <= w ? ++Y : --Y)Z.push(A.readUInt16());
                        return Z;
                    }(), g = function() {
                        var Y, Z;
                        for(Z = [], u = Y = 0; 0 <= w ? Y < w : Y > w; u = 0 <= w ? ++Y : --Y)Z.push(A.readUInt16());
                        return Z;
                    }(), n = (this.length - A.pos + this.offset) / 2, c = function() {
                        var Y, Z;
                        for(Z = [], u = Y = 0; 0 <= n ? Y < n : Y > n; u = 0 <= n ? ++Y : --Y)Z.push(A.readUInt16());
                        return Z;
                    }(), u = Q = 0, R = i.length; Q < R; u = ++Q)for(N = i[u], r = x = L = U[u]; L <= N ? x <= N : x >= N; r = L <= N ? ++x : --x)g[u] === 0 ? s = r + h[u] : (s = c[g[u] / 2 + (r - L) - (w - u)] || 0) !== 0 && (s += h[u]), this.codeMap[r] = 65535 & s;
            }
            A.pos = d;
        }
        return t.encode = function(A, e) {
            var r, n, i, s, c, u, h, g, d, w, B, L, U, N, Q, x, R, Y, Z, $, J, O, W, uA, I, H, K, M, oA, iA, cA, eA, lA, hA, UA, y, _, T, k, X, nA, aA, sA, FA, QA, xA;
            switch(M = new Cn, s = Object.keys(A).sort(function(LA, jA) {
                return LA - jA;
            }), e){
                case "macroman":
                    for(U = 0, N = function() {
                        var LA = [];
                        for(L = 0; L < 256; ++L)LA.push(0);
                        return LA;
                    }(), x = {
                        0: 0
                    }, i = {}, oA = 0, lA = s.length; oA < lA; oA++)x[sA = A[n = s[oA]]] == null && (x[sA] = ++U), i[n] = {
                        old: A[n],
                        new: x[A[n]]
                    }, N[n] = x[A[n]];
                    return M.writeUInt16(1), M.writeUInt16(0), M.writeUInt32(12), M.writeUInt16(0), M.writeUInt16(262), M.writeUInt16(0), M.write(N), {
                        charMap: i,
                        subtable: M.data,
                        maxGlyphID: U + 1
                    };
                case "unicode":
                    for(H = [], d = [], R = 0, x = {}, r = {}, Q = h = null, iA = 0, hA = s.length; iA < hA; iA++)x[Z = A[n = s[iA]]] == null && (x[Z] = ++R), r[n] = {
                        old: Z,
                        new: x[Z]
                    }, c = x[Z] - n, Q != null && c === h || (Q && d.push(Q), H.push(n), h = c), Q = n;
                    for(Q && d.push(Q), d.push(65535), H.push(65535), uA = 2 * (W = H.length), O = 2 * Math.pow(Math.log(W) / Math.LN2, 2), w = Math.log(O / 2) / Math.LN2, J = 2 * W - O, u = [], $ = [], B = [], L = cA = 0, UA = H.length; cA < UA; L = ++cA){
                        if (I = H[L], g = d[L], I === 65535) {
                            u.push(0), $.push(0);
                            break;
                        }
                        if (I - (K = r[I].new) >= 32768) for(u.push(0), $.push(2 * (B.length + W - L)), n = eA = I; I <= g ? eA <= g : eA >= g; n = I <= g ? ++eA : --eA)B.push(r[n].new);
                        else u.push(K - I), $.push(0);
                    }
                    for(M.writeUInt16(3), M.writeUInt16(1), M.writeUInt32(12), M.writeUInt16(4), M.writeUInt16(16 + 8 * W + 2 * B.length), M.writeUInt16(0), M.writeUInt16(uA), M.writeUInt16(O), M.writeUInt16(w), M.writeUInt16(J), nA = 0, y = d.length; nA < y; nA++)n = d[nA], M.writeUInt16(n);
                    for(M.writeUInt16(0), aA = 0, _ = H.length; aA < _; aA++)n = H[aA], M.writeUInt16(n);
                    for(FA = 0, T = u.length; FA < T; FA++)c = u[FA], M.writeUInt16(c);
                    for(QA = 0, k = $.length; QA < k; QA++)Y = $[QA], M.writeUInt16(Y);
                    for(xA = 0, X = B.length; xA < X; xA++)U = B[xA], M.writeUInt16(U);
                    return {
                        charMap: r,
                        subtable: M.data,
                        maxGlyphID: R + 1
                    };
            }
        }, t;
    }(), pB = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "cmap", A.prototype.parse = function(e) {
            var r, n, i;
            for(e.pos = this.offset, this.version = e.readUInt16(), i = e.readUInt16(), this.tables = [], this.unicode = null, n = 0; 0 <= i ? n < i : n > i; n = 0 <= i ? ++n : --n)r = new qf(e, this.offset), this.tables.push(r), r.isUnicode && this.unicode == null && (this.unicode = r);
            return !0;
        }, A.encode = function(e, r) {
            var n, i;
            return r == null && (r = "macroman"), n = qf.encode(e, r), (i = new Cn).writeUInt16(0), i.writeUInt16(1), n.table = i.data.concat(n.subtable), n;
        }, A;
    }(), I5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "hhea", A.prototype.parse = function(e) {
            return e.pos = this.offset, this.version = e.readInt(), this.ascender = e.readShort(), this.decender = e.readShort(), this.lineGap = e.readShort(), this.advanceWidthMax = e.readShort(), this.minLeftSideBearing = e.readShort(), this.minRightSideBearing = e.readShort(), this.xMaxExtent = e.readShort(), this.caretSlopeRise = e.readShort(), this.caretSlopeRun = e.readShort(), this.caretOffset = e.readShort(), e.pos += 8, this.metricDataFormat = e.readShort(), this.numberOfMetrics = e.readUInt16();
        }, A;
    }(), x5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "OS/2", A.prototype.parse = function(e) {
            if (e.pos = this.offset, this.version = e.readUInt16(), this.averageCharWidth = e.readShort(), this.weightClass = e.readUInt16(), this.widthClass = e.readUInt16(), this.type = e.readShort(), this.ySubscriptXSize = e.readShort(), this.ySubscriptYSize = e.readShort(), this.ySubscriptXOffset = e.readShort(), this.ySubscriptYOffset = e.readShort(), this.ySuperscriptXSize = e.readShort(), this.ySuperscriptYSize = e.readShort(), this.ySuperscriptXOffset = e.readShort(), this.ySuperscriptYOffset = e.readShort(), this.yStrikeoutSize = e.readShort(), this.yStrikeoutPosition = e.readShort(), this.familyClass = e.readShort(), this.panose = function() {
                var r, n;
                for(n = [], r = 0; r < 10; ++r)n.push(e.readByte());
                return n;
            }(), this.charRange = function() {
                var r, n;
                for(n = [], r = 0; r < 4; ++r)n.push(e.readInt());
                return n;
            }(), this.vendorID = e.readString(4), this.selection = e.readShort(), this.firstCharIndex = e.readShort(), this.lastCharIndex = e.readShort(), this.version > 0 && (this.ascent = e.readShort(), this.descent = e.readShort(), this.lineGap = e.readShort(), this.winAscent = e.readShort(), this.winDescent = e.readShort(), this.codePageRange = function() {
                var r, n;
                for(n = [], r = 0; r < 2; r = ++r)n.push(e.readInt());
                return n;
            }(), this.version > 1)) return this.xHeight = e.readShort(), this.capHeight = e.readShort(), this.defaultChar = e.readShort(), this.breakChar = e.readShort(), this.maxContext = e.readShort();
        }, A;
    }(), H5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "post", A.prototype.parse = function(e) {
            var r, n, i;
            switch(e.pos = this.offset, this.format = e.readInt(), this.italicAngle = e.readInt(), this.underlinePosition = e.readShort(), this.underlineThickness = e.readShort(), this.isFixedPitch = e.readInt(), this.minMemType42 = e.readInt(), this.maxMemType42 = e.readInt(), this.minMemType1 = e.readInt(), this.maxMemType1 = e.readInt(), this.format){
                case 65536:
                    break;
                case 131072:
                    var s;
                    for(n = e.readUInt16(), this.glyphNameIndex = [], s = 0; 0 <= n ? s < n : s > n; s = 0 <= n ? ++s : --s)this.glyphNameIndex.push(e.readUInt16());
                    for(this.names = [], i = []; e.pos < this.offset + this.length;)r = e.readByte(), i.push(this.names.push(e.readString(r)));
                    return i;
                case 151552:
                    return n = e.readUInt16(), this.offsets = e.read(n);
                case 196608:
                    break;
                case 262144:
                    return this.map = function() {
                        var c, u, h;
                        for(h = [], s = c = 0, u = this.file.maxp.numGlyphs; 0 <= u ? c < u : c > u; s = 0 <= u ? ++c : --c)h.push(e.readUInt32());
                        return h;
                    }.call(this);
            }
        }, A;
    }(), S5 = function(t, A) {
        this.raw = t, this.length = t.length, this.platformID = A.platformID, this.encodingID = A.encodingID, this.languageID = A.languageID;
    }, N5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "name", A.prototype.parse = function(e) {
            var r, n, i, s, c, u, h, g, d, w, B;
            for(e.pos = this.offset, e.readShort(), r = e.readShort(), u = e.readShort(), n = [], s = 0; 0 <= r ? s < r : s > r; s = 0 <= r ? ++s : --s)n.push({
                platformID: e.readShort(),
                encodingID: e.readShort(),
                languageID: e.readShort(),
                nameID: e.readShort(),
                length: e.readShort(),
                offset: this.offset + u + e.readShort()
            });
            for(h = {}, s = d = 0, w = n.length; d < w; s = ++d)i = n[s], e.pos = i.offset, g = e.readString(i.length), c = new S5(g, i), h[B = i.nameID] == null && (h[B] = []), h[i.nameID].push(c);
            this.strings = h, this.copyright = h[0], this.fontFamily = h[1], this.fontSubfamily = h[2], this.uniqueSubfamily = h[3], this.fontName = h[4], this.version = h[5];
            try {
                this.postscriptName = h[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g, "");
            } catch  {
                this.postscriptName = h[4][0].raw.replace(/[\x00-\x19\x80-\xff]/g, "");
            }
            return this.trademark = h[7], this.manufacturer = h[8], this.designer = h[9], this.description = h[10], this.vendorUrl = h[11], this.designerUrl = h[12], this.license = h[13], this.licenseUrl = h[14], this.preferredFamily = h[15], this.preferredSubfamily = h[17], this.compatibleFull = h[18], this.sampleText = h[19];
        }, A;
    }(), _5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "maxp", A.prototype.parse = function(e) {
            return e.pos = this.offset, this.version = e.readInt(), this.numGlyphs = e.readUInt16(), this.maxPoints = e.readUInt16(), this.maxContours = e.readUInt16(), this.maxCompositePoints = e.readUInt16(), this.maxComponentContours = e.readUInt16(), this.maxZones = e.readUInt16(), this.maxTwilightPoints = e.readUInt16(), this.maxStorage = e.readUInt16(), this.maxFunctionDefs = e.readUInt16(), this.maxInstructionDefs = e.readUInt16(), this.maxStackElements = e.readUInt16(), this.maxSizeOfInstructions = e.readUInt16(), this.maxComponentElements = e.readUInt16(), this.maxComponentDepth = e.readUInt16();
        }, A;
    }(), D5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "hmtx", A.prototype.parse = function(e) {
            var r, n, i, s, c, u, h;
            for(e.pos = this.offset, this.metrics = [], r = 0, u = this.file.hhea.numberOfMetrics; 0 <= u ? r < u : r > u; r = 0 <= u ? ++r : --r)this.metrics.push({
                advance: e.readUInt16(),
                lsb: e.readInt16()
            });
            for(i = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics, this.leftSideBearings = function() {
                var g, d;
                for(d = [], r = g = 0; 0 <= i ? g < i : g > i; r = 0 <= i ? ++g : --g)d.push(e.readInt16());
                return d;
            }(), this.widths = function() {
                var g, d, w, B;
                for(B = [], g = 0, d = (w = this.metrics).length; g < d; g++)s = w[g], B.push(s.advance);
                return B;
            }.call(this), n = this.widths[this.widths.length - 1], h = [], r = c = 0; 0 <= i ? c < i : c > i; r = 0 <= i ? ++c : --c)h.push(this.widths.push(n));
            return h;
        }, A.prototype.forGlyph = function(e) {
            return e in this.metrics ? this.metrics[e] : {
                advance: this.metrics[this.metrics.length - 1].advance,
                lsb: this.leftSideBearings[e - this.metrics.length]
            };
        }, A;
    }(), wB = [].slice, T5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "glyf", A.prototype.parse = function() {
            return this.cache = {};
        }, A.prototype.glyphFor = function(e) {
            var r, n, i, s, c, u, h, g, d, w;
            return e in this.cache ? this.cache[e] : (s = this.file.loca, r = this.file.contents, n = s.indexOf(e), (i = s.lengthOf(e)) === 0 ? this.cache[e] = null : (r.pos = this.offset + n, c = (u = new Cn(r.read(i))).readShort(), g = u.readShort(), w = u.readShort(), h = u.readShort(), d = u.readShort(), this.cache[e] = c === -1 ? new P5(u, g, w, h, d) : new O5(u, c, g, w, h, d), this.cache[e]));
        }, A.prototype.encode = function(e, r, n) {
            var i, s, c, u, h;
            for(c = [], s = [], u = 0, h = r.length; u < h; u++)i = e[r[u]], s.push(c.length), i && (c = c.concat(i.encode(n)));
            return s.push(c.length), {
                table: c,
                offsets: s
            };
        }, A;
    }(), O5 = function() {
        function t(A, e, r, n, i, s) {
            this.raw = A, this.numberOfContours = e, this.xMin = r, this.yMin = n, this.xMax = i, this.yMax = s, this.compound = !1;
        }
        return t.prototype.encode = function() {
            return this.raw.data;
        }, t;
    }(), P5 = function() {
        function t(A, e, r, n, i) {
            var s, c;
            for(this.raw = A, this.xMin = e, this.yMin = r, this.xMax = n, this.yMax = i, this.compound = !0, this.glyphIDs = [], this.glyphOffsets = [], s = this.raw; c = s.readShort(), this.glyphOffsets.push(s.pos), this.glyphIDs.push(s.readUInt16()), 32 & c;)s.pos += 1 & c ? 4 : 2, 128 & c ? s.pos += 8 : 64 & c ? s.pos += 4 : 8 & c && (s.pos += 2);
        }
        return t.prototype.encode = function() {
            var A, e, r;
            for(e = new Cn(wB.call(this.raw.data)), A = 0, r = this.glyphIDs.length; A < r; ++A)e.pos = this.glyphOffsets[A];
            return e.data;
        }, t;
    }(), M5 = function(t) {
        function A() {
            return A.__super__.constructor.apply(this, arguments);
        }
        return Ir(A, lr), A.prototype.tag = "loca", A.prototype.parse = function(e) {
            var r, n;
            return e.pos = this.offset, r = this.file.head.indexToLocFormat, this.offsets = r === 0 ? function() {
                var i, s;
                for(s = [], n = 0, i = this.length; n < i; n += 2)s.push(2 * e.readUInt16());
                return s;
            }.call(this) : function() {
                var i, s;
                for(s = [], n = 0, i = this.length; n < i; n += 4)s.push(e.readUInt32());
                return s;
            }.call(this);
        }, A.prototype.indexOf = function(e) {
            return this.offsets[e];
        }, A.prototype.lengthOf = function(e) {
            return this.offsets[e + 1] - this.offsets[e];
        }, A.prototype.encode = function(e, r) {
            for(var n = new Uint32Array(this.offsets.length), i = 0, s = 0, c = 0; c < n.length; ++c)if (n[c] = i, s < r.length && r[s] == c) {
                ++s, n[c] = i;
                var u = this.offsets[c], h = this.offsets[c + 1] - u;
                h > 0 && (i += h);
            }
            for(var g = new Array(4 * n.length), d = 0; d < n.length; ++d)g[4 * d + 3] = 255 & n[d], g[4 * d + 2] = (65280 & n[d]) >> 8, g[4 * d + 1] = (16711680 & n[d]) >> 16, g[4 * d] = (4278190080 & n[d]) >> 24;
            return g;
        }, A;
    }(), K5 = function() {
        function t(A) {
            this.font = A, this.subset = {}, this.unicodes = {}, this.next = 33;
        }
        return t.prototype.generateCmap = function() {
            var A, e, r, n, i;
            for(e in n = this.font.cmap.tables[0].codeMap, A = {}, i = this.subset)r = i[e], A[e] = n[r];
            return A;
        }, t.prototype.glyphsFor = function(A) {
            var e, r, n, i, s, c, u;
            for(n = {}, s = 0, c = A.length; s < c; s++)n[i = A[s]] = this.font.glyf.glyphFor(i);
            for(i in e = [], n)(r = n[i]) != null && r.compound && e.push.apply(e, r.glyphIDs);
            if (e.length > 0) for(i in u = this.glyphsFor(e))r = u[i], n[i] = r;
            return n;
        }, t.prototype.encode = function(A, e) {
            var r, n, i, s, c, u, h, g, d, w, B, L, U, N, Q;
            for(n in r = pB.encode(this.generateCmap(), "unicode"), s = this.glyphsFor(A), B = {
                0: 0
            }, Q = r.charMap)B[(u = Q[n]).old] = u.new;
            for(L in w = r.maxGlyphID, s)L in B || (B[L] = w++);
            return g = function(x) {
                var R, Y;
                for(R in Y = {}, x)Y[x[R]] = R;
                return Y;
            }(B), d = Object.keys(g).sort(function(x, R) {
                return x - R;
            }), U = function() {
                var x, R, Y;
                for(Y = [], x = 0, R = d.length; x < R; x++)c = d[x], Y.push(g[c]);
                return Y;
            }(), i = this.font.glyf.encode(s, U, B), h = this.font.loca.encode(i.offsets, U), N = {
                cmap: this.font.cmap.raw(),
                glyf: i.table,
                loca: h,
                hmtx: this.font.hmtx.raw(),
                hhea: this.font.hhea.raw(),
                maxp: this.font.maxp.raw(),
                post: this.font.post.raw(),
                name: this.font.name.raw(),
                head: this.font.head.encode(e)
            }, this.font.os2.exists && (N["OS/2"] = this.font.os2.raw()), this.font.directory.encode(N);
        }, t;
    }();
    GA.API.PDFObject = function() {
        var t;
        function A() {}
        return t = function(e, r) {
            return (Array(r + 1).join("0") + e).slice(-r);
        }, A.convert = function(e) {
            var r, n, i, s;
            if (Array.isArray(e)) return "[" + function() {
                var c, u, h;
                for(h = [], c = 0, u = e.length; c < u; c++)r = e[c], h.push(A.convert(r));
                return h;
            }().join(" ") + "]";
            if (typeof e == "string") return "/" + e;
            if (e?.isString) return "(" + e + ")";
            if (e instanceof Date) return "(D:" + t(e.getUTCFullYear(), 4) + t(e.getUTCMonth(), 2) + t(e.getUTCDate(), 2) + t(e.getUTCHours(), 2) + t(e.getUTCMinutes(), 2) + t(e.getUTCSeconds(), 2) + "Z)";
            if ({}.toString.call(e) === "[object Object]") {
                for(n in i = [
                    "<<"
                ], e)s = e[n], i.push("/" + n + " " + A.convert(s));
                return i.push(">>"), i.join(`
`);
            }
            return "" + e;
        }, A;
    }();
    async function k5(t, A = "表格导出.pdf", e = {}) {
        await t0();
        const { scale: r = 2, margin: n = 10, backgroundColor: i = "#ffffff", timeout: s = 1e4 } = e, c = t.$el.cloneNode(!0), u = document.createElement("div");
        u.style.width = "100%", u.style.padding = "20px", u.style.position = "fixed", u.style.top = "-9999px", u.appendChild(c), document.body.appendChild(u), R5(c);
        try {
            const h = await Yh(c, {
                scale: r,
                useCORS: !0,
                logging: !1,
                letterRendering: !0,
                allowTaint: !1,
                timeout: s,
                backgroundColor: i
            }), g = h.toDataURL("image/png"), d = 210 - 2 * n, w = h.height * d / h.width, B = new GA("p", "mm", "a4");
            B.addImage(g, "PNG", n, n, d, w), B.save(A);
        } catch (h) {
            throw console.error("导出 PDF 失败:", h), new Error("导出 PDF 失败，请重试");
        } finally{
            document.body.removeChild(u);
        }
    }
    function R5(t) {
        const A = t.querySelector(".n-data-table");
        A && (A.style.width = "auto", A.style.minWidth = "100%"), t.querySelectorAll(".n-data-table-cell").forEach((i)=>{
            i.style.overflow = "visible", i.style.whiteSpace = "normal", i.style.wordBreak = "break-all", i.style.transition = "none", i.style.padding = "8px 12px";
        }), t.querySelectorAll(".n-data-table-header-cell").forEach((i)=>{
            i.style.fontWeight = "bold", i.style.background = "#f5f7fa";
        }), t.querySelectorAll(".n-data-table-border").forEach((i)=>{
            i.style.borderColor = "#e4e7ed";
        });
    }
    let G5;
    G5 = r0({
        __name: "index",
        setup (t) {
            const { t: A } = Wf(), e = i0(), r = Fl(), n = Fl(), i = n0({
                width: 120,
                title: A("common.optionsText"),
                key: "action",
                fixed: "right",
                align: "center",
                render (B) {
                    return Ss(B0, {
                        style: "text",
                        actions: [
                            {
                                label: A("common.optionsViewText"),
                                labelShow: !1,
                                icon: Ss("i", {
                                    class: "iconfont icon-View text-[#3F7AE9] text-[20px]"
                                }),
                                onClick: u.bind(null, B)
                            },
                            {
                                label: A("common.optionsEditText"),
                                labelShow: !1,
                                icon: Ss("i", {
                                    class: "iconfont icon-a-Frame28"
                                }),
                                onClick: h.bind(null, B)
                            },
                            {
                                label: A("common.optionsDelText"),
                                labelShow: !1,
                                icon: Ss("i", {
                                    class: "iconfont icon-Delete red"
                                }),
                                isConfirm: !0,
                                confirmContent: A("common.dialogContentDeleteText"),
                                onPositiveClick: ()=>{
                                    g(B);
                                }
                            }
                        ]
                    });
                }
            }), s = async ()=>{
                k5(r.value, "testExcl.pdf");
            };
            function c() {
                n.value?.showModal(A("common.addText"), null);
            }
            function u(B) {
                n.value?.showModal(A("common.optionsViewText"), B, !0);
            }
            function h(B) {
                n.value?.showModal(A("common.optionsEditText"), B);
            }
            async function g(B) {
                await d0(B.id), e.success(A("common.optionsDelSuccessText")), w();
            }
            async function d() {
                return {
                    list: await p0()
                };
            }
            function w() {
                r.value?.reload();
            }
            return (B, L)=>{
                const U = l0, N = u0, Q = c0, x = o0, R = f0;
                return s0(), a0(R, null, {
                    default: Qr(()=>[
                            sn(x, {
                                bordered: !1,
                                class: "proCard"
                            }, {
                                default: Qr(()=>[
                                        sn(da(h0), {
                                            ref_key: "tableRef",
                                            ref: r,
                                            columns: da(w0),
                                            request: d,
                                            "row-key": (Y)=>Y.id,
                                            actionColumn: da(i),
                                            autoScrollX: !0,
                                            "virtual-scroll": "",
                                            pagination: !1
                                        }, {
                                            tableTitle: Qr(()=>[
                                                    sn(Q, null, {
                                                        default: Qr(()=>[
                                                                sn(N, {
                                                                    trigger: "hover"
                                                                }, {
                                                                    trigger: Qr(()=>[
                                                                            sn(U, {
                                                                                type: "primary",
                                                                                strong: "",
                                                                                bordered: "",
                                                                                secondary: "",
                                                                                class: "size-7",
                                                                                onClick: c
                                                                            }, {
                                                                                icon: Qr(()=>L[0] || (L[0] = [
                                                                                        bl("i", {
                                                                                            class: "iconfont icon-ADD"
                                                                                        }, null, -1)
                                                                                    ])),
                                                                                _: 1
                                                                            })
                                                                        ]),
                                                                    default: Qr(()=>[
                                                                            Ul(" " + yl(da(A)("common.addText")), 1)
                                                                        ]),
                                                                    _: 1
                                                                }),
                                                                sn(N, {
                                                                    trigger: "hover"
                                                                }, {
                                                                    trigger: Qr(()=>[
                                                                            sn(U, {
                                                                                type: "primary",
                                                                                strong: "",
                                                                                bordered: "",
                                                                                secondary: "",
                                                                                class: "size-7",
                                                                                onClick: s
                                                                            }, {
                                                                                icon: Qr(()=>L[1] || (L[1] = [
                                                                                        bl("i", {
                                                                                            class: "iconfont icon-Export"
                                                                                        }, null, -1)
                                                                                    ])),
                                                                                _: 1
                                                                            })
                                                                        ]),
                                                                    default: Qr(()=>[
                                                                            Ul(" " + yl(da(A)("common.exportText")), 1)
                                                                        ]),
                                                                    _: 1
                                                                })
                                                            ]),
                                                        _: 1
                                                    })
                                                ]),
                                            _: 1
                                        }, 8, [
                                            "columns",
                                            "row-key",
                                            "actionColumn"
                                        ])
                                    ]),
                                _: 1
                            }),
                            sn(g0, {
                                ref_key: "modalRef",
                                ref: n,
                                onSuccess: w
                            }, null, 512)
                        ]),
                    _: 1
                });
            };
        }
    });
    J5 = Object.freeze(Object.defineProperty({
        __proto__: null,
        default: G5
    }, Symbol.toStringTag, {
        value: "Module"
    }));
});
export { de as _, J5 as i, __tla };
