UNPKG

@pixelation/aseprite

Version:
1,177 lines (1,176 loc) 91.9 kB
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ function dt(t) { let n = t.length; for (; --n >= 0; ) t[n] = 0; } const Xn = 0, fn = 1, Yn = 2, jn = 3, Vn = 258, we = 29, Rt = 256, kt = Rt + 1 + we, st = 30, be = 19, hn = 2 * kt + 1, Q = 15, Yt = 16, Wn = 7, xe = 256, dn = 16, cn = 17, _n = 18, le = ( /* extra bits for each length code */ new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]) ), Ft = ( /* extra bits for each distance code */ new Uint8Array([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]) ), Kn = ( /* extra bits for each bit length code */ new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]) ), un = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Jn = 512, G = new Array((kt + 2) * 2); dt(G); const bt = new Array(st * 2); dt(bt); const vt = new Array(Jn); dt(vt); const St = new Array(Vn - jn + 1); dt(St); const pe = new Array(we); dt(pe); const Pt = new Array(st); dt(Pt); function jt(t, n, e, a, r) { this.static_tree = t, this.extra_bits = n, this.extra_base = e, this.elems = a, this.max_length = r, this.has_stree = t && t.length; } let gn, wn, bn; function Vt(t, n) { this.dyn_tree = t, this.max_code = 0, this.stat_desc = n; } const xn = (t) => t < 256 ? vt[t] : vt[256 + (t >>> 7)], mt = (t, n) => { t.pending_buf[t.pending++] = n & 255, t.pending_buf[t.pending++] = n >>> 8 & 255; }, T = (t, n, e) => { t.bi_valid > Yt - e ? (t.bi_buf |= n << t.bi_valid & 65535, mt(t, t.bi_buf), t.bi_buf = n >> Yt - t.bi_valid, t.bi_valid += e - Yt) : (t.bi_buf |= n << t.bi_valid & 65535, t.bi_valid += e); }, P = (t, n, e) => { T( t, e[n * 2], e[n * 2 + 1] /*.Len*/ ); }, pn = (t, n) => { let e = 0; do e |= t & 1, t >>>= 1, e <<= 1; while (--n > 0); return e >>> 1; }, Qn = (t) => { t.bi_valid === 16 ? (mt(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : t.bi_valid >= 8 && (t.pending_buf[t.pending++] = t.bi_buf & 255, t.bi_buf >>= 8, t.bi_valid -= 8); }, qn = (t, n) => { const e = n.dyn_tree, a = n.max_code, r = n.stat_desc.static_tree, i = n.stat_desc.has_stree, s = n.stat_desc.extra_bits, o = n.stat_desc.extra_base, d = n.stat_desc.max_length; let l, f, g, c, h, u, z = 0; for (c = 0; c <= Q; c++) t.bl_count[c] = 0; for (e[t.heap[t.heap_max] * 2 + 1] = 0, l = t.heap_max + 1; l < hn; l++) f = t.heap[l], c = e[e[f * 2 + 1] * 2 + 1] + 1, c > d && (c = d, z++), e[f * 2 + 1] = c, !(f > a) && (t.bl_count[c]++, h = 0, f >= o && (h = s[f - o]), u = e[f * 2], t.opt_len += u * (c + h), i && (t.static_len += u * (r[f * 2 + 1] + h))); if (z !== 0) { do { for (c = d - 1; t.bl_count[c] === 0; ) c--; t.bl_count[c]--, t.bl_count[c + 1] += 2, t.bl_count[d]--, z -= 2; } while (z > 0); for (c = d; c !== 0; c--) for (f = t.bl_count[c]; f !== 0; ) g = t.heap[--l], !(g > a) && (e[g * 2 + 1] !== c && (t.opt_len += (c - e[g * 2 + 1]) * e[g * 2], e[g * 2 + 1] = c), f--); } }, kn = (t, n, e) => { const a = new Array(Q + 1); let r = 0, i, s; for (i = 1; i <= Q; i++) r = r + e[i - 1] << 1, a[i] = r; for (s = 0; s <= n; s++) { let o = t[s * 2 + 1]; o !== 0 && (t[s * 2] = pn(a[o]++, o)); } }, ta = () => { let t, n, e, a, r; const i = new Array(Q + 1); for (e = 0, a = 0; a < we - 1; a++) for (pe[a] = e, t = 0; t < 1 << le[a]; t++) St[e++] = a; for (St[e - 1] = a, r = 0, a = 0; a < 16; a++) for (Pt[a] = r, t = 0; t < 1 << Ft[a]; t++) vt[r++] = a; for (r >>= 7; a < st; a++) for (Pt[a] = r << 7, t = 0; t < 1 << Ft[a] - 7; t++) vt[256 + r++] = a; for (n = 0; n <= Q; n++) i[n] = 0; for (t = 0; t <= 143; ) G[t * 2 + 1] = 8, t++, i[8]++; for (; t <= 255; ) G[t * 2 + 1] = 9, t++, i[9]++; for (; t <= 279; ) G[t * 2 + 1] = 7, t++, i[7]++; for (; t <= 287; ) G[t * 2 + 1] = 8, t++, i[8]++; for (kn(G, kt + 1, i), t = 0; t < st; t++) bt[t * 2 + 1] = 5, bt[t * 2] = pn(t, 5); gn = new jt(G, le, Rt + 1, kt, Q), wn = new jt(bt, Ft, 0, st, Q), bn = new jt(new Array(0), Kn, 0, be, Wn); }, vn = (t) => { let n; for (n = 0; n < kt; n++) t.dyn_ltree[n * 2] = 0; for (n = 0; n < st; n++) t.dyn_dtree[n * 2] = 0; for (n = 0; n < be; n++) t.bl_tree[n * 2] = 0; t.dyn_ltree[xe * 2] = 1, t.opt_len = t.static_len = 0, t.sym_next = t.matches = 0; }, Sn = (t) => { t.bi_valid > 8 ? mt(t, t.bi_buf) : t.bi_valid > 0 && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0; }, Ee = (t, n, e, a) => { const r = n * 2, i = e * 2; return t[r] < t[i] || t[r] === t[i] && a[n] <= a[e]; }, Wt = (t, n, e) => { const a = t.heap[e]; let r = e << 1; for (; r <= t.heap_len && (r < t.heap_len && Ee(n, t.heap[r + 1], t.heap[r], t.depth) && r++, !Ee(n, a, t.heap[r], t.depth)); ) t.heap[e] = t.heap[r], e = r, r <<= 1; t.heap[e] = a; }, Ie = (t, n, e) => { let a, r, i = 0, s, o; if (t.sym_next !== 0) do a = t.pending_buf[t.sym_buf + i++] & 255, a += (t.pending_buf[t.sym_buf + i++] & 255) << 8, r = t.pending_buf[t.sym_buf + i++], a === 0 ? P(t, r, n) : (s = St[r], P(t, s + Rt + 1, n), o = le[s], o !== 0 && (r -= pe[s], T(t, r, o)), a--, s = xn(a), P(t, s, e), o = Ft[s], o !== 0 && (a -= Pt[s], T(t, a, o))); while (i < t.sym_next); P(t, xe, n); }, oe = (t, n) => { const e = n.dyn_tree, a = n.stat_desc.static_tree, r = n.stat_desc.has_stree, i = n.stat_desc.elems; let s, o, d = -1, l; for (t.heap_len = 0, t.heap_max = hn, s = 0; s < i; s++) e[s * 2] !== 0 ? (t.heap[++t.heap_len] = d = s, t.depth[s] = 0) : e[s * 2 + 1] = 0; for (; t.heap_len < 2; ) l = t.heap[++t.heap_len] = d < 2 ? ++d : 0, e[l * 2] = 1, t.depth[l] = 0, t.opt_len--, r && (t.static_len -= a[l * 2 + 1]); for (n.max_code = d, s = t.heap_len >> 1; s >= 1; s--) Wt(t, e, s); l = i; do s = t.heap[ 1 /*SMALLEST*/ ], t.heap[ 1 /*SMALLEST*/ ] = t.heap[t.heap_len--], Wt( t, e, 1 /*SMALLEST*/ ), o = t.heap[ 1 /*SMALLEST*/ ], t.heap[--t.heap_max] = s, t.heap[--t.heap_max] = o, e[l * 2] = e[s * 2] + e[o * 2], t.depth[l] = (t.depth[s] >= t.depth[o] ? t.depth[s] : t.depth[o]) + 1, e[s * 2 + 1] = e[o * 2 + 1] = l, t.heap[ 1 /*SMALLEST*/ ] = l++, Wt( t, e, 1 /*SMALLEST*/ ); while (t.heap_len >= 2); t.heap[--t.heap_max] = t.heap[ 1 /*SMALLEST*/ ], qn(t, n), kn(e, d, t.bl_count); }, ye = (t, n, e) => { let a, r = -1, i, s = n[0 * 2 + 1], o = 0, d = 7, l = 4; for (s === 0 && (d = 138, l = 3), n[(e + 1) * 2 + 1] = 65535, a = 0; a <= e; a++) i = s, s = n[(a + 1) * 2 + 1], !(++o < d && i === s) && (o < l ? t.bl_tree[i * 2] += o : i !== 0 ? (i !== r && t.bl_tree[i * 2]++, t.bl_tree[dn * 2]++) : o <= 10 ? t.bl_tree[cn * 2]++ : t.bl_tree[_n * 2]++, o = 0, r = i, s === 0 ? (d = 138, l = 3) : i === s ? (d = 6, l = 3) : (d = 7, l = 4)); }, ze = (t, n, e) => { let a, r = -1, i, s = n[0 * 2 + 1], o = 0, d = 7, l = 4; for (s === 0 && (d = 138, l = 3), a = 0; a <= e; a++) if (i = s, s = n[(a + 1) * 2 + 1], !(++o < d && i === s)) { if (o < l) do P(t, i, t.bl_tree); while (--o !== 0); else i !== 0 ? (i !== r && (P(t, i, t.bl_tree), o--), P(t, dn, t.bl_tree), T(t, o - 3, 2)) : o <= 10 ? (P(t, cn, t.bl_tree), T(t, o - 3, 3)) : (P(t, _n, t.bl_tree), T(t, o - 11, 7)); o = 0, r = i, s === 0 ? (d = 138, l = 3) : i === s ? (d = 6, l = 3) : (d = 7, l = 4); } }, ea = (t) => { let n; for (ye(t, t.dyn_ltree, t.l_desc.max_code), ye(t, t.dyn_dtree, t.d_desc.max_code), oe(t, t.bl_desc), n = be - 1; n >= 3 && t.bl_tree[un[n] * 2 + 1] === 0; n--) ; return t.opt_len += 3 * (n + 1) + 5 + 5 + 4, n; }, na = (t, n, e, a) => { let r; for (T(t, n - 257, 5), T(t, e - 1, 5), T(t, a - 4, 4), r = 0; r < a; r++) T(t, t.bl_tree[un[r] * 2 + 1], 3); ze(t, t.dyn_ltree, n - 1), ze(t, t.dyn_dtree, e - 1); }, aa = (t) => { let n = 4093624447, e; for (e = 0; e <= 31; e++, n >>>= 1) if (n & 1 && t.dyn_ltree[e * 2] !== 0) return 0; if (t.dyn_ltree[9 * 2] !== 0 || t.dyn_ltree[10 * 2] !== 0 || t.dyn_ltree[13 * 2] !== 0) return 1; for (e = 32; e < Rt; e++) if (t.dyn_ltree[e * 2] !== 0) return 1; return 0; }; let Re = !1; const ia = (t) => { Re || (ta(), Re = !0), t.l_desc = new Vt(t.dyn_ltree, gn), t.d_desc = new Vt(t.dyn_dtree, wn), t.bl_desc = new Vt(t.bl_tree, bn), t.bi_buf = 0, t.bi_valid = 0, vn(t); }, mn = (t, n, e, a) => { T(t, (Xn << 1) + (a ? 1 : 0), 3), Sn(t), mt(t, e), mt(t, ~e), e && t.pending_buf.set(t.window.subarray(n, n + e), t.pending), t.pending += e; }, ra = (t) => { T(t, fn << 1, 3), P(t, xe, G), Qn(t); }, la = (t, n, e, a) => { let r, i, s = 0; t.level > 0 ? (t.strm.data_type === 2 && (t.strm.data_type = aa(t)), oe(t, t.l_desc), oe(t, t.d_desc), s = ea(t), r = t.opt_len + 3 + 7 >>> 3, i = t.static_len + 3 + 7 >>> 3, i <= r && (r = i)) : r = i = e + 5, e + 4 <= r && n !== -1 ? mn(t, n, e, a) : t.strategy === 4 || i === r ? (T(t, (fn << 1) + (a ? 1 : 0), 3), Ie(t, G, bt)) : (T(t, (Yn << 1) + (a ? 1 : 0), 3), na(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, s + 1), Ie(t, t.dyn_ltree, t.dyn_dtree)), vn(t), a && Sn(t); }, oa = (t, n, e) => (t.pending_buf[t.sym_buf + t.sym_next++] = n, t.pending_buf[t.sym_buf + t.sym_next++] = n >> 8, t.pending_buf[t.sym_buf + t.sym_next++] = e, n === 0 ? t.dyn_ltree[e * 2]++ : (t.matches++, n--, t.dyn_ltree[(St[e] + Rt + 1) * 2]++, t.dyn_dtree[xn(n) * 2]++), t.sym_next === t.sym_end); var sa = ia, fa = mn, ha = la, da = oa, ca = ra, _a = { _tr_init: sa, _tr_stored_block: fa, _tr_flush_block: ha, _tr_tally: da, _tr_align: ca }; const ua = (t, n, e, a) => { let r = t & 65535 | 0, i = t >>> 16 & 65535 | 0, s = 0; for (; e !== 0; ) { s = e > 2e3 ? 2e3 : e, e -= s; do r = r + n[a++] | 0, i = i + r | 0; while (--s); r %= 65521, i %= 65521; } return r | i << 16 | 0; }; var Et = ua; const ga = () => { let t, n = []; for (var e = 0; e < 256; e++) { t = e; for (var a = 0; a < 8; a++) t = t & 1 ? 3988292384 ^ t >>> 1 : t >>> 1; n[e] = t; } return n; }, wa = new Uint32Array(ga()), ba = (t, n, e, a) => { const r = wa, i = a + e; t ^= -1; for (let s = a; s < i; s++) t = t >>> 8 ^ r[(t ^ n[s]) & 255]; return t ^ -1; }; var U = ba, et = { 2: "need dictionary", /* Z_NEED_DICT 2 */ 1: "stream end", /* Z_STREAM_END 1 */ 0: "", /* Z_OK 0 */ "-1": "file error", /* Z_ERRNO (-1) */ "-2": "stream error", /* Z_STREAM_ERROR (-2) */ "-3": "data error", /* Z_DATA_ERROR (-3) */ "-4": "insufficient memory", /* Z_MEM_ERROR (-4) */ "-5": "buffer error", /* Z_BUF_ERROR (-5) */ "-6": "incompatible version" /* Z_VERSION_ERROR (-6) */ }, it = { /* Allowed flush values; see deflate() and inflate() below for details */ Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, /* Return codes for the compression/decompression functions. Negative values * are errors, positive values are used for special but normal events. */ Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_MEM_ERROR: -4, Z_BUF_ERROR: -5, //Z_VERSION_ERROR: -6, /* compression levels */ Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, /* Possible values of the data_type field (though see inflate()) */ Z_BINARY: 0, Z_TEXT: 1, //Z_ASCII: 1, // = Z_TEXT (deprecated) Z_UNKNOWN: 2, /* The deflate compression method */ Z_DEFLATED: 8 //Z_NULL: null // Use -1 or null inline, depending on var type }; const { _tr_init: xa, _tr_stored_block: se, _tr_flush_block: pa, _tr_tally: V, _tr_align: ka } = _a, { Z_NO_FLUSH: W, Z_PARTIAL_FLUSH: va, Z_FULL_FLUSH: Sa, Z_FINISH: H, Z_BLOCK: Ze, Z_OK: N, Z_STREAM_END: Oe, Z_STREAM_ERROR: L, Z_DATA_ERROR: ma, Z_BUF_ERROR: Kt, Z_DEFAULT_COMPRESSION: Ea, Z_FILTERED: Ia, Z_HUFFMAN_ONLY: Tt, Z_RLE: ya, Z_FIXED: za, Z_DEFAULT_STRATEGY: Ra, Z_UNKNOWN: Za, Z_DEFLATED: At } = it, Oa = 9, Ua = 15, Na = 8, Da = 29, Ta = 256, fe = Ta + 1 + Da, $a = 30, Ba = 19, Ha = 2 * fe + 1, Ca = 15, S = 3, j = 258, M = j + S + 1, Fa = 32, ft = 42, ke = 57, he = 69, de = 73, ce = 91, _e = 103, q = 113, gt = 666, D = 1, ct = 2, nt = 3, _t = 4, Pa = 3, tt = (t, n) => (t.msg = et[n], n), Ue = (t) => t * 2 - (t > 4 ? 9 : 0), Y = (t) => { let n = t.length; for (; --n >= 0; ) t[n] = 0; }, La = (t) => { let n, e, a, r = t.w_size; n = t.hash_size, a = n; do e = t.head[--a], t.head[a] = e >= r ? e - r : 0; while (--n); n = r, a = n; do e = t.prev[--a], t.prev[a] = e >= r ? e - r : 0; while (--n); }; let Ma = (t, n, e) => (n << t.hash_shift ^ e) & t.hash_mask, K = Ma; const $ = (t) => { const n = t.state; let e = n.pending; e > t.avail_out && (e = t.avail_out), e !== 0 && (t.output.set(n.pending_buf.subarray(n.pending_out, n.pending_out + e), t.next_out), t.next_out += e, n.pending_out += e, t.total_out += e, t.avail_out -= e, n.pending -= e, n.pending === 0 && (n.pending_out = 0)); }, B = (t, n) => { pa(t, t.block_start >= 0 ? t.block_start : -1, t.strstart - t.block_start, n), t.block_start = t.strstart, $(t.strm); }, I = (t, n) => { t.pending_buf[t.pending++] = n; }, ut = (t, n) => { t.pending_buf[t.pending++] = n >>> 8 & 255, t.pending_buf[t.pending++] = n & 255; }, ue = (t, n, e, a) => { let r = t.avail_in; return r > a && (r = a), r === 0 ? 0 : (t.avail_in -= r, n.set(t.input.subarray(t.next_in, t.next_in + r), e), t.state.wrap === 1 ? t.adler = Et(t.adler, n, r, e) : t.state.wrap === 2 && (t.adler = U(t.adler, n, r, e)), t.next_in += r, t.total_in += r, r); }, En = (t, n) => { let e = t.max_chain_length, a = t.strstart, r, i, s = t.prev_length, o = t.nice_match; const d = t.strstart > t.w_size - M ? t.strstart - (t.w_size - M) : 0, l = t.window, f = t.w_mask, g = t.prev, c = t.strstart + j; let h = l[a + s - 1], u = l[a + s]; t.prev_length >= t.good_match && (e >>= 2), o > t.lookahead && (o = t.lookahead); do if (r = n, !(l[r + s] !== u || l[r + s - 1] !== h || l[r] !== l[a] || l[++r] !== l[a + 1])) { a += 2, r++; do ; while (l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && l[++a] === l[++r] && a < c); if (i = j - (c - a), a = c - j, i > s) { if (t.match_start = n, s = i, i >= o) break; h = l[a + s - 1], u = l[a + s]; } } while ((n = g[n & f]) > d && --e !== 0); return s <= t.lookahead ? s : t.lookahead; }, ht = (t) => { const n = t.w_size; let e, a, r; do { if (a = t.window_size - t.lookahead - t.strstart, t.strstart >= n + (n - M) && (t.window.set(t.window.subarray(n, n + n - a), 0), t.match_start -= n, t.strstart -= n, t.block_start -= n, t.insert > t.strstart && (t.insert = t.strstart), La(t), a += n), t.strm.avail_in === 0) break; if (e = ue(t.strm, t.window, t.strstart + t.lookahead, a), t.lookahead += e, t.lookahead + t.insert >= S) for (r = t.strstart - t.insert, t.ins_h = t.window[r], t.ins_h = K(t, t.ins_h, t.window[r + 1]); t.insert && (t.ins_h = K(t, t.ins_h, t.window[r + S - 1]), t.prev[r & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = r, r++, t.insert--, !(t.lookahead + t.insert < S)); ) ; } while (t.lookahead < M && t.strm.avail_in !== 0); }, In = (t, n) => { let e = t.pending_buf_size - 5 > t.w_size ? t.w_size : t.pending_buf_size - 5, a, r, i, s = 0, o = t.strm.avail_in; do { if (a = 65535, i = t.bi_valid + 42 >> 3, t.strm.avail_out < i || (i = t.strm.avail_out - i, r = t.strstart - t.block_start, a > r + t.strm.avail_in && (a = r + t.strm.avail_in), a > i && (a = i), a < e && (a === 0 && n !== H || n === W || a !== r + t.strm.avail_in))) break; s = n === H && a === r + t.strm.avail_in ? 1 : 0, se(t, 0, 0, s), t.pending_buf[t.pending - 4] = a, t.pending_buf[t.pending - 3] = a >> 8, t.pending_buf[t.pending - 2] = ~a, t.pending_buf[t.pending - 1] = ~a >> 8, $(t.strm), r && (r > a && (r = a), t.strm.output.set(t.window.subarray(t.block_start, t.block_start + r), t.strm.next_out), t.strm.next_out += r, t.strm.avail_out -= r, t.strm.total_out += r, t.block_start += r, a -= r), a && (ue(t.strm, t.strm.output, t.strm.next_out, a), t.strm.next_out += a, t.strm.avail_out -= a, t.strm.total_out += a); } while (s === 0); return o -= t.strm.avail_in, o && (o >= t.w_size ? (t.matches = 2, t.window.set(t.strm.input.subarray(t.strm.next_in - t.w_size, t.strm.next_in), 0), t.strstart = t.w_size, t.insert = t.strstart) : (t.window_size - t.strstart <= o && (t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, t.insert > t.strstart && (t.insert = t.strstart)), t.window.set(t.strm.input.subarray(t.strm.next_in - o, t.strm.next_in), t.strstart), t.strstart += o, t.insert += o > t.w_size - t.insert ? t.w_size - t.insert : o), t.block_start = t.strstart), t.high_water < t.strstart && (t.high_water = t.strstart), s ? _t : n !== W && n !== H && t.strm.avail_in === 0 && t.strstart === t.block_start ? ct : (i = t.window_size - t.strstart, t.strm.avail_in > i && t.block_start >= t.w_size && (t.block_start -= t.w_size, t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, i += t.w_size, t.insert > t.strstart && (t.insert = t.strstart)), i > t.strm.avail_in && (i = t.strm.avail_in), i && (ue(t.strm, t.window, t.strstart, i), t.strstart += i, t.insert += i > t.w_size - t.insert ? t.w_size - t.insert : i), t.high_water < t.strstart && (t.high_water = t.strstart), i = t.bi_valid + 42 >> 3, i = t.pending_buf_size - i > 65535 ? 65535 : t.pending_buf_size - i, e = i > t.w_size ? t.w_size : i, r = t.strstart - t.block_start, (r >= e || (r || n === H) && n !== W && t.strm.avail_in === 0 && r <= i) && (a = r > i ? i : r, s = n === H && t.strm.avail_in === 0 && a === r ? 1 : 0, se(t, t.block_start, a, s), t.block_start += a, $(t.strm)), s ? nt : D); }, Jt = (t, n) => { let e, a; for (; ; ) { if (t.lookahead < M) { if (ht(t), t.lookahead < M && n === W) return D; if (t.lookahead === 0) break; } if (e = 0, t.lookahead >= S && (t.ins_h = K(t, t.ins_h, t.window[t.strstart + S - 1]), e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), e !== 0 && t.strstart - e <= t.w_size - M && (t.match_length = En(t, e)), t.match_length >= S) if (a = V(t, t.strstart - t.match_start, t.match_length - S), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= S) { t.match_length--; do t.strstart++, t.ins_h = K(t, t.ins_h, t.window[t.strstart + S - 1]), e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart; while (--t.match_length !== 0); t.strstart++; } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = K(t, t.ins_h, t.window[t.strstart + 1]); else a = V(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++; if (a && (B(t, !1), t.strm.avail_out === 0)) return D; } return t.insert = t.strstart < S - 1 ? t.strstart : S - 1, n === H ? (B(t, !0), t.strm.avail_out === 0 ? nt : _t) : t.sym_next && (B(t, !1), t.strm.avail_out === 0) ? D : ct; }, lt = (t, n) => { let e, a, r; for (; ; ) { if (t.lookahead < M) { if (ht(t), t.lookahead < M && n === W) return D; if (t.lookahead === 0) break; } if (e = 0, t.lookahead >= S && (t.ins_h = K(t, t.ins_h, t.window[t.strstart + S - 1]), e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = S - 1, e !== 0 && t.prev_length < t.max_lazy_match && t.strstart - e <= t.w_size - M && (t.match_length = En(t, e), t.match_length <= 5 && (t.strategy === Ia || t.match_length === S && t.strstart - t.match_start > 4096) && (t.match_length = S - 1)), t.prev_length >= S && t.match_length <= t.prev_length) { r = t.strstart + t.lookahead - S, a = V(t, t.strstart - 1 - t.prev_match, t.prev_length - S), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; do ++t.strstart <= r && (t.ins_h = K(t, t.ins_h, t.window[t.strstart + S - 1]), e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart); while (--t.prev_length !== 0); if (t.match_available = 0, t.match_length = S - 1, t.strstart++, a && (B(t, !1), t.strm.avail_out === 0)) return D; } else if (t.match_available) { if (a = V(t, 0, t.window[t.strstart - 1]), a && B(t, !1), t.strstart++, t.lookahead--, t.strm.avail_out === 0) return D; } else t.match_available = 1, t.strstart++, t.lookahead--; } return t.match_available && (a = V(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < S - 1 ? t.strstart : S - 1, n === H ? (B(t, !0), t.strm.avail_out === 0 ? nt : _t) : t.sym_next && (B(t, !1), t.strm.avail_out === 0) ? D : ct; }, Aa = (t, n) => { let e, a, r, i; const s = t.window; for (; ; ) { if (t.lookahead <= j) { if (ht(t), t.lookahead <= j && n === W) return D; if (t.lookahead === 0) break; } if (t.match_length = 0, t.lookahead >= S && t.strstart > 0 && (r = t.strstart - 1, a = s[r], a === s[++r] && a === s[++r] && a === s[++r])) { i = t.strstart + j; do ; while (a === s[++r] && a === s[++r] && a === s[++r] && a === s[++r] && a === s[++r] && a === s[++r] && a === s[++r] && a === s[++r] && r < i); t.match_length = j - (i - r), t.match_length > t.lookahead && (t.match_length = t.lookahead); } if (t.match_length >= S ? (e = V(t, 1, t.match_length - S), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (e = V(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++), e && (B(t, !1), t.strm.avail_out === 0)) return D; } return t.insert = 0, n === H ? (B(t, !0), t.strm.avail_out === 0 ? nt : _t) : t.sym_next && (B(t, !1), t.strm.avail_out === 0) ? D : ct; }, Ga = (t, n) => { let e; for (; ; ) { if (t.lookahead === 0 && (ht(t), t.lookahead === 0)) { if (n === W) return D; break; } if (t.match_length = 0, e = V(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, e && (B(t, !1), t.strm.avail_out === 0)) return D; } return t.insert = 0, n === H ? (B(t, !0), t.strm.avail_out === 0 ? nt : _t) : t.sym_next && (B(t, !1), t.strm.avail_out === 0) ? D : ct; }; function F(t, n, e, a, r) { this.good_length = t, this.max_lazy = n, this.nice_length = e, this.max_chain = a, this.func = r; } const wt = [ /* good lazy nice chain */ new F(0, 0, 0, 0, In), /* 0 store only */ new F(4, 4, 8, 4, Jt), /* 1 max speed, no lazy matches */ new F(4, 5, 16, 8, Jt), /* 2 */ new F(4, 6, 32, 32, Jt), /* 3 */ new F(4, 4, 16, 16, lt), /* 4 lazy matches */ new F(8, 16, 32, 32, lt), /* 5 */ new F(8, 16, 128, 128, lt), /* 6 */ new F(8, 32, 128, 256, lt), /* 7 */ new F(32, 128, 258, 1024, lt), /* 8 */ new F(32, 258, 258, 4096, lt) /* 9 max compression */ ], Xa = (t) => { t.window_size = 2 * t.w_size, Y(t.head), t.max_lazy_match = wt[t.level].max_lazy, t.good_match = wt[t.level].good_length, t.nice_match = wt[t.level].nice_length, t.max_chain_length = wt[t.level].max_chain, t.strstart = 0, t.block_start = 0, t.lookahead = 0, t.insert = 0, t.match_length = t.prev_length = S - 1, t.match_available = 0, t.ins_h = 0; }; function Ya() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = At, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(Ha * 2), this.dyn_dtree = new Uint16Array((2 * $a + 1) * 2), this.bl_tree = new Uint16Array((2 * Ba + 1) * 2), Y(this.dyn_ltree), Y(this.dyn_dtree), Y(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(Ca + 1), this.heap = new Uint16Array(2 * fe + 1), Y(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(2 * fe + 1), Y(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; } const Zt = (t) => { if (!t) return 1; const n = t.state; return !n || n.strm !== t || n.status !== ft && //#ifdef GZIP n.status !== ke && //#endif n.status !== he && n.status !== de && n.status !== ce && n.status !== _e && n.status !== q && n.status !== gt ? 1 : 0; }, yn = (t) => { if (Zt(t)) return tt(t, L); t.total_in = t.total_out = 0, t.data_type = Za; const n = t.state; return n.pending = 0, n.pending_out = 0, n.wrap < 0 && (n.wrap = -n.wrap), n.status = //#ifdef GZIP n.wrap === 2 ? ke : ( //#endif n.wrap ? ft : q ), t.adler = n.wrap === 2 ? 0 : 1, n.last_flush = -2, xa(n), N; }, zn = (t) => { const n = yn(t); return n === N && Xa(t.state), n; }, ja = (t, n) => Zt(t) || t.state.wrap !== 2 ? L : (t.state.gzhead = n, N), Rn = (t, n, e, a, r, i) => { if (!t) return L; let s = 1; if (n === Ea && (n = 6), a < 0 ? (s = 0, a = -a) : a > 15 && (s = 2, a -= 16), r < 1 || r > Oa || e !== At || a < 8 || a > 15 || n < 0 || n > 9 || i < 0 || i > za || a === 8 && s !== 1) return tt(t, L); a === 8 && (a = 9); const o = new Ya(); return t.state = o, o.strm = t, o.status = ft, o.wrap = s, o.gzhead = null, o.w_bits = a, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = r + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + S - 1) / S), o.window = new Uint8Array(o.w_size * 2), o.head = new Uint16Array(o.hash_size), o.prev = new Uint16Array(o.w_size), o.lit_bufsize = 1 << r + 6, o.pending_buf_size = o.lit_bufsize * 4, o.pending_buf = new Uint8Array(o.pending_buf_size), o.sym_buf = o.lit_bufsize, o.sym_end = (o.lit_bufsize - 1) * 3, o.level = n, o.strategy = i, o.method = e, zn(t); }, Va = (t, n) => Rn(t, n, At, Ua, Na, Ra), Wa = (t, n) => { if (Zt(t) || n > Ze || n < 0) return t ? tt(t, L) : L; const e = t.state; if (!t.output || t.avail_in !== 0 && !t.input || e.status === gt && n !== H) return tt(t, t.avail_out === 0 ? Kt : L); const a = e.last_flush; if (e.last_flush = n, e.pending !== 0) { if ($(t), t.avail_out === 0) return e.last_flush = -1, N; } else if (t.avail_in === 0 && Ue(n) <= Ue(a) && n !== H) return tt(t, Kt); if (e.status === gt && t.avail_in !== 0) return tt(t, Kt); if (e.status === ft && e.wrap === 0 && (e.status = q), e.status === ft) { let r = At + (e.w_bits - 8 << 4) << 8, i = -1; if (e.strategy >= Tt || e.level < 2 ? i = 0 : e.level < 6 ? i = 1 : e.level === 6 ? i = 2 : i = 3, r |= i << 6, e.strstart !== 0 && (r |= Fa), r += 31 - r % 31, ut(e, r), e.strstart !== 0 && (ut(e, t.adler >>> 16), ut(e, t.adler & 65535)), t.adler = 1, e.status = q, $(t), e.pending !== 0) return e.last_flush = -1, N; } if (e.status === ke) { if (t.adler = 0, I(e, 31), I(e, 139), I(e, 8), e.gzhead) I( e, (e.gzhead.text ? 1 : 0) + (e.gzhead.hcrc ? 2 : 0) + (e.gzhead.extra ? 4 : 0) + (e.gzhead.name ? 8 : 0) + (e.gzhead.comment ? 16 : 0) ), I(e, e.gzhead.time & 255), I(e, e.gzhead.time >> 8 & 255), I(e, e.gzhead.time >> 16 & 255), I(e, e.gzhead.time >> 24 & 255), I(e, e.level === 9 ? 2 : e.strategy >= Tt || e.level < 2 ? 4 : 0), I(e, e.gzhead.os & 255), e.gzhead.extra && e.gzhead.extra.length && (I(e, e.gzhead.extra.length & 255), I(e, e.gzhead.extra.length >> 8 & 255)), e.gzhead.hcrc && (t.adler = U(t.adler, e.pending_buf, e.pending, 0)), e.gzindex = 0, e.status = he; else if (I(e, 0), I(e, 0), I(e, 0), I(e, 0), I(e, 0), I(e, e.level === 9 ? 2 : e.strategy >= Tt || e.level < 2 ? 4 : 0), I(e, Pa), e.status = q, $(t), e.pending !== 0) return e.last_flush = -1, N; } if (e.status === he) { if (e.gzhead.extra) { let r = e.pending, i = (e.gzhead.extra.length & 65535) - e.gzindex; for (; e.pending + i > e.pending_buf_size; ) { let o = e.pending_buf_size - e.pending; if (e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex, e.gzindex + o), e.pending), e.pending = e.pending_buf_size, e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)), e.gzindex += o, $(t), e.pending !== 0) return e.last_flush = -1, N; r = 0, i -= o; } let s = new Uint8Array(e.gzhead.extra); e.pending_buf.set(s.subarray(e.gzindex, e.gzindex + i), e.pending), e.pending += i, e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)), e.gzindex = 0; } e.status = de; } if (e.status === de) { if (e.gzhead.name) { let r = e.pending, i; do { if (e.pending === e.pending_buf_size) { if (e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)), $(t), e.pending !== 0) return e.last_flush = -1, N; r = 0; } e.gzindex < e.gzhead.name.length ? i = e.gzhead.name.charCodeAt(e.gzindex++) & 255 : i = 0, I(e, i); } while (i !== 0); e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)), e.gzindex = 0; } e.status = ce; } if (e.status === ce) { if (e.gzhead.comment) { let r = e.pending, i; do { if (e.pending === e.pending_buf_size) { if (e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)), $(t), e.pending !== 0) return e.last_flush = -1, N; r = 0; } e.gzindex < e.gzhead.comment.length ? i = e.gzhead.comment.charCodeAt(e.gzindex++) & 255 : i = 0, I(e, i); } while (i !== 0); e.gzhead.hcrc && e.pending > r && (t.adler = U(t.adler, e.pending_buf, e.pending - r, r)); } e.status = _e; } if (e.status === _e) { if (e.gzhead.hcrc) { if (e.pending + 2 > e.pending_buf_size && ($(t), e.pending !== 0)) return e.last_flush = -1, N; I(e, t.adler & 255), I(e, t.adler >> 8 & 255), t.adler = 0; } if (e.status = q, $(t), e.pending !== 0) return e.last_flush = -1, N; } if (t.avail_in !== 0 || e.lookahead !== 0 || n !== W && e.status !== gt) { let r = e.level === 0 ? In(e, n) : e.strategy === Tt ? Ga(e, n) : e.strategy === ya ? Aa(e, n) : wt[e.level].func(e, n); if ((r === nt || r === _t) && (e.status = gt), r === D || r === nt) return t.avail_out === 0 && (e.last_flush = -1), N; if (r === ct && (n === va ? ka(e) : n !== Ze && (se(e, 0, 0, !1), n === Sa && (Y(e.head), e.lookahead === 0 && (e.strstart = 0, e.block_start = 0, e.insert = 0))), $(t), t.avail_out === 0)) return e.last_flush = -1, N; } return n !== H ? N : e.wrap <= 0 ? Oe : (e.wrap === 2 ? (I(e, t.adler & 255), I(e, t.adler >> 8 & 255), I(e, t.adler >> 16 & 255), I(e, t.adler >> 24 & 255), I(e, t.total_in & 255), I(e, t.total_in >> 8 & 255), I(e, t.total_in >> 16 & 255), I(e, t.total_in >> 24 & 255)) : (ut(e, t.adler >>> 16), ut(e, t.adler & 65535)), $(t), e.wrap > 0 && (e.wrap = -e.wrap), e.pending !== 0 ? N : Oe); }, Ka = (t) => { if (Zt(t)) return L; const n = t.state.status; return t.state = null, n === q ? tt(t, ma) : N; }, Ja = (t, n) => { let e = n.length; if (Zt(t)) return L; const a = t.state, r = a.wrap; if (r === 2 || r === 1 && a.status !== ft || a.lookahead) return L; if (r === 1 && (t.adler = Et(t.adler, n, e, 0)), a.wrap = 0, e >= a.w_size) { r === 0 && (Y(a.head), a.strstart = 0, a.block_start = 0, a.insert = 0); let d = new Uint8Array(a.w_size); d.set(n.subarray(e - a.w_size, e), 0), n = d, e = a.w_size; } const i = t.avail_in, s = t.next_in, o = t.input; for (t.avail_in = e, t.next_in = 0, t.input = n, ht(a); a.lookahead >= S; ) { let d = a.strstart, l = a.lookahead - (S - 1); do a.ins_h = K(a, a.ins_h, a.window[d + S - 1]), a.prev[d & a.w_mask] = a.head[a.ins_h], a.head[a.ins_h] = d, d++; while (--l); a.strstart = d, a.lookahead = S - 1, ht(a); } return a.strstart += a.lookahead, a.block_start = a.strstart, a.insert = a.lookahead, a.lookahead = 0, a.match_length = a.prev_length = S - 1, a.match_available = 0, t.next_in = s, t.input = o, t.avail_in = i, a.wrap = r, N; }; var Qa = Va, qa = Rn, ti = zn, ei = yn, ni = ja, ai = Wa, ii = Ka, ri = Ja, li = "pako deflate (from Nodeca project)", xt = { deflateInit: Qa, deflateInit2: qa, deflateReset: ti, deflateResetKeep: ei, deflateSetHeader: ni, deflate: ai, deflateEnd: ii, deflateSetDictionary: ri, deflateInfo: li }; const oi = (t, n) => Object.prototype.hasOwnProperty.call(t, n); var si = function(t) { const n = Array.prototype.slice.call(arguments, 1); for (; n.length; ) { const e = n.shift(); if (e) { if (typeof e != "object") throw new TypeError(e + "must be non-object"); for (const a in e) oi(e, a) && (t[a] = e[a]); } } return t; }, fi = (t) => { let n = 0; for (let a = 0, r = t.length; a < r; a++) n += t[a].length; const e = new Uint8Array(n); for (let a = 0, r = 0, i = t.length; a < i; a++) { let s = t[a]; e.set(s, r), r += s.length; } return e; }, Gt = { assign: si, flattenChunks: fi }; let Zn = !0; try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch { Zn = !1; } const It = new Uint8Array(256); for (let t = 0; t < 256; t++) It[t] = t >= 252 ? 6 : t >= 248 ? 5 : t >= 240 ? 4 : t >= 224 ? 3 : t >= 192 ? 2 : 1; It[254] = It[254] = 1; var hi = (t) => { if (typeof TextEncoder == "function" && TextEncoder.prototype.encode) return new TextEncoder().encode(t); let n, e, a, r, i, s = t.length, o = 0; for (r = 0; r < s; r++) e = t.charCodeAt(r), (e & 64512) === 55296 && r + 1 < s && (a = t.charCodeAt(r + 1), (a & 64512) === 56320 && (e = 65536 + (e - 55296 << 10) + (a - 56320), r++)), o += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4; for (n = new Uint8Array(o), i = 0, r = 0; i < o; r++) e = t.charCodeAt(r), (e & 64512) === 55296 && r + 1 < s && (a = t.charCodeAt(r + 1), (a & 64512) === 56320 && (e = 65536 + (e - 55296 << 10) + (a - 56320), r++)), e < 128 ? n[i++] = e : e < 2048 ? (n[i++] = 192 | e >>> 6, n[i++] = 128 | e & 63) : e < 65536 ? (n[i++] = 224 | e >>> 12, n[i++] = 128 | e >>> 6 & 63, n[i++] = 128 | e & 63) : (n[i++] = 240 | e >>> 18, n[i++] = 128 | e >>> 12 & 63, n[i++] = 128 | e >>> 6 & 63, n[i++] = 128 | e & 63); return n; }; const di = (t, n) => { if (n < 65534 && t.subarray && Zn) return String.fromCharCode.apply(null, t.length === n ? t : t.subarray(0, n)); let e = ""; for (let a = 0; a < n; a++) e += String.fromCharCode(t[a]); return e; }; var ci = (t, n) => { const e = n || t.length; if (typeof TextDecoder == "function" && TextDecoder.prototype.decode) return new TextDecoder().decode(t.subarray(0, n)); let a, r; const i = new Array(e * 2); for (r = 0, a = 0; a < e; ) { let s = t[a++]; if (s < 128) { i[r++] = s; continue; } let o = It[s]; if (o > 4) { i[r++] = 65533, a += o - 1; continue; } for (s &= o === 2 ? 31 : o === 3 ? 15 : 7; o > 1 && a < e; ) s = s << 6 | t[a++] & 63, o--; if (o > 1) { i[r++] = 65533; continue; } s < 65536 ? i[r++] = s : (s -= 65536, i[r++] = 55296 | s >> 10 & 1023, i[r++] = 56320 | s & 1023); } return di(i, r); }, _i = (t, n) => { n = n || t.length, n > t.length && (n = t.length); let e = n - 1; for (; e >= 0 && (t[e] & 192) === 128; ) e--; return e < 0 || e === 0 ? n : e + It[t[e]] > n ? e : n; }, yt = { string2buf: hi, buf2string: ci, utf8border: _i }; function ui() { this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; } var On = ui; const Un = Object.prototype.toString, { Z_NO_FLUSH: gi, Z_SYNC_FLUSH: wi, Z_FULL_FLUSH: bi, Z_FINISH: xi, Z_OK: Lt, Z_STREAM_END: pi, Z_DEFAULT_COMPRESSION: ki, Z_DEFAULT_STRATEGY: vi, Z_DEFLATED: Si } = it; function Ot(t) { this.options = Gt.assign({ level: ki, method: Si, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: vi }, t || {}); let n = this.options; n.raw && n.windowBits > 0 ? n.windowBits = -n.windowBits : n.gzip && n.windowBits > 0 && n.windowBits < 16 && (n.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new On(), this.strm.avail_out = 0; let e = xt.deflateInit2( this.strm, n.level, n.method, n.windowBits, n.memLevel, n.strategy ); if (e !== Lt) throw new Error(et[e]); if (n.header && xt.deflateSetHeader(this.strm, n.header), n.dictionary) { let a; if (typeof n.dictionary == "string" ? a = yt.string2buf(n.dictionary) : Un.call(n.dictionary) === "[object ArrayBuffer]" ? a = new Uint8Array(n.dictionary) : a = n.dictionary, e = xt.deflateSetDictionary(this.strm, a), e !== Lt) throw new Error(et[e]); this._dict_set = !0; } } Ot.prototype.push = function(t, n) { const e = this.strm, a = this.options.chunkSize; let r, i; if (this.ended) return !1; for (n === ~~n ? i = n : i = n === !0 ? xi : gi, typeof t == "string" ? e.input = yt.string2buf(t) : Un.call(t) === "[object ArrayBuffer]" ? e.input = new Uint8Array(t) : e.input = t, e.next_in = 0, e.avail_in = e.input.length; ; ) { if (e.avail_out === 0 && (e.output = new Uint8Array(a), e.next_out = 0, e.avail_out = a), (i === wi || i === bi) && e.avail_out <= 6) { this.onData(e.output.subarray(0, e.next_out)), e.avail_out = 0; continue; } if (r = xt.deflate(e, i), r === pi) return e.next_out > 0 && this.onData(e.output.subarray(0, e.next_out)), r = xt.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === Lt; if (e.avail_out === 0) { this.onData(e.output); continue; } if (i > 0 && e.next_out > 0) { this.onData(e.output.subarray(0, e.next_out)), e.avail_out = 0; continue; } if (e.avail_in === 0) break; } return !0; }; Ot.prototype.onData = function(t) { this.chunks.push(t); }; Ot.prototype.onEnd = function(t) { t === Lt && (this.result = Gt.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg; }; function ve(t, n) { const e = new Ot(n); if (e.push(t, !0), e.err) throw e.msg || et[e.err]; return e.result; } function mi(t, n) { return n = n || {}, n.raw = !0, ve(t, n); } function Ei(t, n) { return n = n || {}, n.gzip = !0, ve(t, n); } var Ii = Ot, yi = ve, zi = mi, Ri = Ei, Zi = it, Oi = { Deflate: Ii, deflate: yi, deflateRaw: zi, gzip: Ri, constants: Zi }; const $t = 16209, Ui = 16191; var Ni = function(n, e) { let a, r, i, s, o, d, l, f, g, c, h, u, z, p, x, y, k, _, E, O, w, R, m, b; const v = n.state; a = n.next_in, m = n.input, r = a + (n.avail_in - 5), i = n.next_out, b = n.output, s = i - (e - n.avail_out), o = i + (n.avail_out - 257), d = v.dmax, l = v.wsize, f = v.whave, g = v.wnext, c = v.window, h = v.hold, u = v.bits, z = v.lencode, p = v.distcode, x = (1 << v.lenbits) - 1, y = (1 << v.distbits) - 1; t: do { u < 15 && (h += m[a++] << u, u += 8, h += m[a++] << u, u += 8), k = z[h & x]; e: for (; ; ) { if (_ = k >>> 24, h >>>= _, u -= _, _ = k >>> 16 & 255, _ === 0) b[i++] = k & 65535; else if (_ & 16) { E = k & 65535, _ &= 15, _ && (u < _ && (h += m[a++] << u, u += 8), E += h & (1 << _) - 1, h >>>= _, u -= _), u < 15 && (h += m[a++] << u, u += 8, h += m[a++] << u, u += 8), k = p[h & y]; n: for (; ; ) { if (_ = k >>> 24, h >>>= _, u -= _, _ = k >>> 16 & 255, _ & 16) { if (O = k & 65535, _ &= 15, u < _ && (h += m[a++] << u, u += 8, u < _ && (h += m[a++] << u, u += 8)), O += h & (1 << _) - 1, O > d) { n.msg = "invalid distance too far back", v.mode = $t; break t; } if (h >>>= _, u -= _, _ = i - s, O > _) { if (_ = O - _, _ > f && v.sane) { n.msg = "invalid distance too far back", v.mode = $t; break t; } if (w = 0, R = c, g === 0) { if (w += l - _, _ < E) { E -= _; do b[i++] = c[w++]; while (--_); w = i - O, R = b; } } else if (g < _) { if (w += l + g - _, _ -= g, _ < E) { E -= _; do b[i++] = c[w++]; while (--_); if (w = 0, g < E) { _ = g, E -= _; do b[i++] = c[w++]; while (--_); w = i - O, R = b; } } } else if (w += g - _, _ < E) { E -= _; do b[i++] = c[w++]; while (--_); w = i - O, R = b; } for (; E > 2; ) b[i++] = R[w++], b[i++] = R[w++], b[i++] = R[w++], E -= 3; E && (b[i++] = R[w++], E > 1 && (b[i++] = R[w++])); } else { w = i - O; do b[i++] = b[w++], b[i++] = b[w++], b[i++] = b[w++], E -= 3; while (E > 2); E && (b[i++] = b[w++], E > 1 && (b[i++] = b[w++])); } } else if (_ & 64) { n.msg = "invalid distance code", v.mode = $t; break t; } else { k = p[(k & 65535) + (h & (1 << _) - 1)]; continue n; } break; } } else if (_ & 64) if (_ & 32) { v.mode = Ui; break t; } else { n.msg = "invalid literal/length code", v.mode = $t; break t; } else { k = z[(k & 65535) + (h & (1 << _) - 1)]; continue e; } break; } } while (a < r && i < o); E = u >> 3, a -= E, u -= E << 3, h &= (1 << u) - 1, n.next_in = a, n.next_out = i, n.avail_in = a < r ? 5 + (r - a) : 5 - (a - r), n.avail_out = i < o ? 257 + (o - i) : 257 - (i - o), v.hold = h, v.bits = u; }; const ot = 15, Ne = 852, De = 592, Te = 0, Qt = 1, $e = 2, Di = new Uint16Array([ /* Length codes 257..285 base */ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ]), Ti = new Uint8Array([ /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ]), $i = new Uint16Array([ /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ]), Bi = new Uint8Array([ /* Distance codes 0..29 extra */ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]), Hi = (t, n, e, a, r, i, s, o) => { const d = o.bits; let l = 0, f = 0, g = 0, c = 0, h = 0, u = 0, z = 0, p = 0, x = 0, y = 0, k, _, E, O, w, R = null, m; const b = new Uint16Array(ot + 1), v = new Uint16Array(ot + 1); let J = null, me, Nt, Dt; for (l = 0; l <= ot; l++) b[l] = 0; for (f = 0; f < a; f++) b[n[e + f]]++; for (h = d, c = ot; c >= 1 && b[c] === 0; c--) ; if (h > c && (h = c), c === 0) return r[i++] = 1 << 24 | 64 << 16 | 0, r[i++] = 1 << 24 | 64 << 16 | 0, o.bits = 1, 0; for (g = 1; g < c && b[g] === 0; g++) ; for (h < g && (h = g), p = 1, l = 1; l <= ot; l++) if (p <<= 1, p -= b[l], p < 0) return -1; if (p > 0 && (t === Te || c !== 1)) return -1; for (v[1] = 0, l = 1; l < ot; l++) v[l + 1] = v[l] + b[l]; for (f = 0; f < a; f++) n[e + f] !== 0 && (s[v[n[e + f]]++] = f); if (t === Te ? (R = J = s, m = 20) : t === Qt ? (R = Di, J = Ti, m = 257) : (R = $i, J = Bi, m = 0), y = 0, f = 0, l = g, w = i, u = h, z = 0, E = -1, x = 1 << h, O = x - 1, t === Qt && x > Ne || t === $e && x > De) return 1; for (; ; ) { me = l - z, s[f] + 1 < m ? (Nt = 0, Dt = s[f]) : s[f] >= m ? (Nt = J[s[f] - m], Dt = R[s[f] - m]) : (Nt = 96, Dt = 0), k = 1 << l - z, _ = 1 << u, g = _; do _ -= k, r[w + (y >> z) + _] = me << 24 | Nt << 16 | Dt | 0; while (_ !== 0); for (k = 1 << l - 1; y & k; ) k >>= 1; if (k !== 0 ? (y &= k - 1, y += k) : y = 0, f++, --b[l] === 0) { if (l === c) break; l = n[e + s[f]]; } if (l > h && (y & O) !== E) { for (z === 0 && (z = h), w += g, u = l - z, p = 1 << u; u + z < c && (p -= b[u + z], !(p <= 0)); ) u++, p <<= 1; if (x += 1 << u, t === Qt && x > Ne || t === $e && x > De) return 1; E = y & O, r[E] = h << 24 | u << 16 | w - i | 0; } } return y !== 0 && (r[w + y] = l - z << 24 | 64 << 16 | 0), o.bits = h, 0; }; var pt = Hi; const Ci = 0, Nn = 1, Dn = 2, { Z_FINISH: Be, Z_BLOCK: Fi, Z_TREES: Bt, Z_OK: at, Z_STREAM_END: Pi, Z_NEED_DICT: Li, Z_STREAM_ERROR: C, Z_DATA_ERROR: Tn, Z_MEM_ERROR: $n, Z_BUF_ERROR: Mi, Z_DEFLATED: He } = it, Xt = 16180, Ce = 16181, Fe = 16182, Pe = 16183, Le = 16184, Me = 16185, Ae = 16186, Ge = 16187, Xe = 16188, Ye = 16189, Mt = 16190, A = 16191, qt = 16192, je = 16193, te = 16194, Ve = 16195, We = 16196, Ke = 16197, Je = 16198, Ht = 16199, Ct = 16200, Qe = 16201, qe = 16202, tn = 16203, en = 16204, nn = 16205, ee = 16206, an = 16207, rn = 16208, Z = 16209, Bn = 16210, Hn = 16211, Ai = 852, Gi = 592, Xi = 15, Yi = Xi, ln = (t) => (t >>> 24 & 255) + (t >>> 8 & 65280) + ((t & 65280) << 8) + ((t & 255) << 24); function ji() { this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; } const rt = (t) => { if (!t) return 1; const n = t.state; return !n || n.strm !== t || n.mode < Xt || n.mode > Hn ? 1 : 0; }, Cn = (t) => { if (rt(t)) return C; const n = t.state; return t.total_in = t.total_out = n.total = 0, t.msg = "", n.wrap && (t.adler = n.wrap & 1), n.mode = Xt, n.last = 0, n.havedict = 0, n.flags = -1, n.dmax = 32768, n.head = null, n.hold = 0, n.bits = 0, n.lencode = n.lendyn = new Int32Array(Ai), n.distcode = n.distdyn = new Int32Array(Gi), n.sane = 1, n.back = -1, at; }, Fn = (t) => { if (rt(t)) return C; const n = t.state; return n.wsize = 0, n.whave = 0, n.wnext = 0, Cn(t); }, Pn = (t, n) => { let e; if (rt(t)) return C; const a = t.state; return n < 0 ? (e = 0, n = -n) : (e = (n >> 4) + 5, n < 48 && (n &= 15)), n && (n < 8 || n > 15) ? C : (a.window !== null && a.wbits !== n && (a.window = null), a.wrap = e, a.wbits = n, Fn(t)); }, Ln = (t, n) => { if (!t) return C; const e = new ji(); t.state = e, e.strm = t, e.window = null, e.mode = Xt; const a = Pn(t, n); return a !== at && (t.state = null), a; }, Vi = (t) => Ln(t, Yi); let on = !0, ne, ae; const Wi = (t) => { if (on) { ne = new Int32Array(512), ae = new Int32Array(32); let n = 0; for (; n < 144; ) t.lens[n++] = 8; for (; n < 256; )