@zip.js/zip.js 2.8.29 → 2.8.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,6 +58,11 @@ const OPTION_ENCODE_TEXT = "encodeText";
58
58
  const OPTION_OFFSET = "offset";
59
59
  const OPTION_USDZ = "usdz";
60
60
  const OPTION_UNIX_EXTRA_FIELD_TYPE = "unixExtraFieldType";
61
+ const OPTION_STRICTNESS = "strictness";
62
+ const OPTION_MAX_APPENDED_DATA_SIZE = "maxAppendedDataSize";
63
+ const STRICTNESS_STRICT = "strict";
64
+ const STRICTNESS_BALANCED = "balanced";
65
+ const STRICTNESS_TOLERANT = "tolerant";
61
66
 
62
67
  export {
63
68
  OPTION_FILENAME_ENCODING,
@@ -91,5 +96,10 @@ export {
91
96
  OPTION_ENCODE_TEXT,
92
97
  OPTION_OFFSET,
93
98
  OPTION_USDZ,
94
- OPTION_UNIX_EXTRA_FIELD_TYPE
99
+ OPTION_UNIX_EXTRA_FIELD_TYPE,
100
+ OPTION_STRICTNESS,
101
+ OPTION_MAX_APPENDED_DATA_SIZE,
102
+ STRICTNESS_STRICT,
103
+ STRICTNESS_BALANCED,
104
+ STRICTNESS_TOLERANT
95
105
  };
@@ -26,18 +26,30 @@
26
26
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
27
  */
28
28
 
29
- const table = [];
30
- for (let i = 0; i < 256; i++) {
31
- let t = i;
29
+ // Slicing-by-8 CRC-32 (Intel / zlib). The eight 256-entry tables let the inner loop
30
+ // consume 8 bytes per iteration with a shorter dependency chain, ~4x the byte-at-a-time
31
+ // rate (measured ~320 -> ~1400 MB/s on 64KB chunks).
32
+ //
33
+ // Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
34
+ // which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
35
+ // table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
36
+ // slower). Signedness is irrelevant to the result — the reads mask/shift it and the final
37
+ // `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
38
+ const T = [[], [], [], [], [], [], [], []];
39
+ for (let n = 0; n < 256; n++) {
40
+ let t = n;
32
41
  for (let j = 0; j < 8; j++) {
33
- if (t & 1) {
34
- t = (t >>> 1) ^ 0xEDB88320;
35
- } else {
36
- t = t >>> 1;
37
- }
42
+ t = (t & 1) ? (t >>> 1) ^ 0xEDB88320 : t >>> 1;
43
+ }
44
+ T[0][n] = t;
45
+ }
46
+ for (let n = 0; n < 256; n++) {
47
+ for (let k = 1; k < 8; k++) {
48
+ const previous = T[k - 1][n];
49
+ T[k][n] = (previous >>> 8) ^ T[0][previous & 0xFF];
38
50
  }
39
- table[i] = t;
40
51
  }
52
+ const [T0, T1, T2, T3, T4, T5, T6, T7] = T;
41
53
 
42
54
  class Crc32 {
43
55
 
@@ -47,8 +59,24 @@ class Crc32 {
47
59
 
48
60
  append(data) {
49
61
  let crc = this.crc | 0;
50
- for (let offset = 0, length = data.length | 0; offset < length; offset++) {
51
- crc = (crc >>> 8) ^ table[(crc ^ data[offset]) & 0xFF];
62
+ const length = data.length | 0;
63
+ let offset = 0;
64
+ // Process 8 bytes per iteration over the typed-array body. DataView.getInt32(le)
65
+ // reads an unaligned little-endian word as a signed int32 (no double boxing), so no
66
+ // alignment or endianness handling is needed; data.buffer guards non-typed inputs.
67
+ if (length >= 8 && data.buffer) {
68
+ const view = new DataView(data.buffer, data.byteOffset, length);
69
+ const end = length - 8;
70
+ for (; offset <= end; offset += 8) {
71
+ const a = crc ^ view.getInt32(offset, true);
72
+ const b = view.getInt32(offset + 4, true);
73
+ crc = T7[a & 0xFF] ^ T6[(a >>> 8) & 0xFF] ^ T5[(a >>> 16) & 0xFF] ^ T4[(a >>> 24) & 0xFF] ^
74
+ T3[b & 0xFF] ^ T2[(b >>> 8) & 0xFF] ^ T1[(b >>> 16) & 0xFF] ^ T0[(b >>> 24) & 0xFF];
75
+ }
76
+ }
77
+ // Remaining tail (and non-typed inputs) byte-at-a-time with the base table.
78
+ for (; offset < length; offset++) {
79
+ crc = (crc >>> 8) ^ T0[(crc ^ data[offset]) & 0xFF];
52
80
  }
53
81
  this.crc = crc;
54
82
  }
@@ -48,21 +48,40 @@ const ERR_INVALID_UNCOMPRESSED_SIZE = "Invalid uncompressed size";
48
48
  const ERR_INVALID_COMPRESSED_DATA = "Invalid compressed data";
49
49
  const FORMAT_DEFLATE_RAW = "deflate-raw";
50
50
  const FORMAT_DEFLATE64_RAW = "deflate64-raw";
51
+ const FORMAT_GZIP = "gzip";
52
+ const GZIP_HEADER_LENGTH = 10;
53
+ const GZIP_TRAILER_LENGTH = 8;
51
54
 
52
55
  class DeflateStream extends TransformStream {
53
56
 
54
57
  constructor(options, { chunkSize, CompressionStreamZlib, CompressionStream }) {
55
58
  super({});
56
- const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level } = options;
59
+ const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level, deflate64 } = options;
57
60
  const stream = this;
58
- let crc32Stream, encryptionStream;
61
+ let crc32Stream, encryptionStream, gzipCrc32Stream;
59
62
  let readable = super.readable;
60
- if ((!encrypted || zipCrypto) && signed) {
63
+ // The gzip trailer carries a CRC-32 of the uncompressed data (same polynomial as zip),
64
+ // computed in native code for free during compression. On the native CompressionStream,
65
+ // harvest it instead of running a separate CRC pass: compress as gzip, then strip the
66
+ // fixed 10-byte header and 8-byte trailer to recover the exact raw-deflate payload
67
+ // (byte-identical to a deflate-raw compression) while capturing the CRC. The CRC becomes
68
+ // available at end-of-stream, exactly like Crc32Stream, so nothing downstream (data
69
+ // descriptor, central directory, ZipCrypto) needs it any earlier. Not applied for the
70
+ // pure-JS/WASM ports (a separate slice-by-8 CRC pass is as fast or faster there).
71
+ const useGzipCrc32 = signed && compressed && !deflate64 && (!encrypted || zipCrypto) &&
72
+ Boolean(useCompressionStream && CompressionStream);
73
+ if ((!encrypted || zipCrypto) && signed && !useGzipCrc32) {
61
74
  crc32Stream = new Crc32Stream();
62
75
  readable = pipeThrough(readable, crc32Stream);
63
76
  }
64
77
  if (compressed) {
65
- readable = pipeThroughCommpressionStream(readable, useCompressionStream, { level, chunkSize }, CompressionStream, CompressionStreamZlib, CompressionStream);
78
+ if (useGzipCrc32) {
79
+ gzipCrc32Stream = new GzipToRawDeflateStream();
80
+ readable = pipeThroughBackpressured(readable, new CompressionStream(FORMAT_GZIP));
81
+ readable = pipeThrough(readable, gzipCrc32Stream);
82
+ } else {
83
+ readable = pipeThroughCommpressionStream(readable, useCompressionStream, { level, chunkSize }, CompressionStream, CompressionStreamZlib, CompressionStream);
84
+ }
66
85
  }
67
86
  if (encrypted) {
68
87
  if (zipCrypto) {
@@ -78,13 +97,74 @@ class DeflateStream extends TransformStream {
78
97
  signature = encryptionStream.signature;
79
98
  }
80
99
  if ((!encrypted || zipCrypto) && signed) {
81
- signature = new DataView(crc32Stream.value.buffer).getUint32(0);
100
+ signature = useGzipCrc32 ? gzipCrc32Stream.signature : new DataView(crc32Stream.value.buffer).getUint32(0);
82
101
  }
83
102
  stream.signature = signature;
84
103
  });
85
104
  }
86
105
  }
87
106
 
107
+ // Converts a gzip stream into its raw-deflate payload while capturing the CRC-32 from the gzip
108
+ // trailer. The CompressionStream gzip header is always the fixed 10-byte form (FLG=0, no optional
109
+ // fields) per the Compression Streams spec, so it is stripped by length; the trailer is the last
110
+ // 8 bytes (CRC-32 LE, then ISIZE LE). Bounded memory: at most GZIP_TRAILER_LENGTH bytes are held
111
+ // back across chunks. The signature is read big-endian-agnostically as a number, matching the
112
+ // value Crc32Stream produces, so the writer path is unchanged.
113
+ class GzipToRawDeflateStream extends TransformStream {
114
+
115
+ constructor() {
116
+ // deno-lint-ignore prefer-const
117
+ let stream;
118
+ let headerLeft = GZIP_HEADER_LENGTH;
119
+ let tail = new Uint8Array(0);
120
+ super({
121
+ transform(chunk, controller) {
122
+ if (headerLeft) {
123
+ const dropped = Math.min(headerLeft, chunk.length);
124
+ headerLeft -= dropped;
125
+ chunk = chunk.subarray(dropped);
126
+ if (!chunk.length) {
127
+ return;
128
+ }
129
+ }
130
+ const available = tail.length + chunk.length;
131
+ if (available <= GZIP_TRAILER_LENGTH) {
132
+ const pending = new Uint8Array(available);
133
+ pending.set(tail);
134
+ pending.set(chunk, tail.length);
135
+ tail = pending;
136
+ return;
137
+ }
138
+ // Emit everything except the trailing GZIP_TRAILER_LENGTH bytes as a standalone,
139
+ // right-sized Uint8Array. Consumers may read chunk.buffer directly (e.g. custom
140
+ // writers), so an aliased subarray of a larger buffer would leak the held-back
141
+ // trailer bytes. Bytes are copied exactly once, into `output` or `tail`.
142
+ const emitLength = available - GZIP_TRAILER_LENGTH;
143
+ const output = new Uint8Array(emitLength);
144
+ const fromTail = Math.min(emitLength, tail.length);
145
+ output.set(tail.subarray(0, fromTail), 0);
146
+ if (emitLength > fromTail) {
147
+ output.set(chunk.subarray(0, emitLength - fromTail), fromTail);
148
+ }
149
+ controller.enqueue(output);
150
+ const nextTail = new Uint8Array(GZIP_TRAILER_LENGTH);
151
+ const tailRemaining = tail.length - fromTail;
152
+ if (tailRemaining) {
153
+ nextTail.set(tail.subarray(fromTail), 0);
154
+ }
155
+ nextTail.set(chunk.subarray(emitLength - fromTail), tailRemaining);
156
+ tail = nextTail;
157
+ },
158
+ flush() {
159
+ const dataView = new DataView(tail.buffer, tail.byteOffset, tail.byteLength);
160
+ stream.signature = dataView.getUint32(0, true);
161
+ stream.uncompressedSize = dataView.getUint32(4, true);
162
+ }
163
+ });
164
+ stream = this;
165
+ }
166
+ }
167
+
88
168
  class InflateStream extends TransformStream {
89
169
 
90
170
  constructor(options, { chunkSize, DecompressionStreamZlib, DecompressionStream }) {
@@ -1 +1 @@
1
- var{Uint8Array:x,Uint16Array:E,Int32Array:H,TransformStream:U,Math:N,Error:z,Array:y}=globalThis,Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),qe=new E(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Ee=[];for(let e=0;e<14;e++)Ee.push(e,0==e?4:2);var ge=new E([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Te=new E([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t)}function je(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n)}function Ve(){return{next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return{o:e,u:new x(n),h:n,k:t,m:0,v:0,p:0,M:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r)}return new E(t)}var ne=class{constructor(e,t){this.L=e,this.Z=t,this.q=0}},re=class{constructor(e,t,n,r,i){this.N=e,this.V=t,this.W=n,this.S=r,this.$=i}};function g_(e){return V_[e<-6||e>2?9:2-e]||""}function Ae(e,t){try{e.msg=g_(t)}catch(n){e.msg="zlib error "+String(t)+" ("+n+")"}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function g(e,t){e.I[e.D++]=t}function De(e,t){g(e,255&t),g(e,t>>>8&255)}function e_(e,t,n){let r=255&n,i=65535&t,f=e.A+e.U;return e.I[f]=255&i,e.I[f+1]=i>>>8&255,e.I[f+2]=r,e.U+=3,i=i-1&65535,e.R[__[r]+ie+1].P++,e.X[T_(i)].P++,e.U==e.C}function ye(e,t){let n=255&t,r=e.A+e.U;return e.I[r]=0,e.I[r+1]=0,e.I[r+2]=n,e.U+=3,e.R[n].P++,e.U==e.C}function ve(e){return e.h-ae}function T_(e){return e<256?E_[e]:E_[256+(e>>7)]}function w_(e){let t=He+7,n=1<<t,r=(1<<t)-1,i=N.floor((t+k-1)/k),f=1<<8+He;return{...Je(e,15),o:e,H:42,O:0,T:void 0,Y:32767,B:t,F:n,j:r,G:i,J:new E(32768),K:new E(n),ee:f,I:new x(32768),te:0,ne:32768,D:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,me:0,ve:0,xe:0,ye:0,pe:new H(2*we+1),ze:new x(2*we+1),Me:new E(be+1),U:0,C:0,Le:Z,A:0,Ee:0,Ze:0,qe:8,Ne:32768,Ve:0,We:0,Se:0,R:new y(le).fill(0).map(()=>Q()),X:new y(2*me+1).fill(0).map(()=>Q()),$e:new y(2*oe+1).fill(0).map(()=>Q()),Ie:S_(),De:S_(),Ae:S_()}}function A_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.Ue=i,t.push(f)}return t}function Q(){return{P:0,Qe:0,Pe:0,Ue:0}}function S_(){return new ne([],ln(null,Z,0,0,0))}function ln(e,t,n,r,i){return new re(e,t,n,r,i)}function J_(){let e=new y(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function D_(e){let{code:t,length:n}=fn(e),r=new E(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e}return new E(r)}function Q_(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f)}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}return i}function $_(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f)}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function et(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r]}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function fn(e){let t=N.max(...e),n=new y(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new y(e.length).fill(0),i=new y(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++)}return{code:r,length:e}}var He=8,k=3,_e=258,ae=_e+k+1,Ue=16,Be=_e,un=29,ie=256,we=ie+1+un,me=30,oe=19,le=2*we+1,be=15,_t=9,tt=255,nt=32,rt=4,Ie=256,t_=16,n_=17,r_=18,at=0,y_=1,it=2,$=-1,V_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Ee),Fe=new E(19);Fe[16]=2,Fe[17]=3,Fe[18]=7;var cn=D_(J_()),dn=D_(new y(30).fill(5)),Ze=A_(cn),v_=A_(dn),__=Q_(Te,a_,_e),E_=et($_(ge,i_));function Pe(e){return e%65521>>>0}function se(e,t,n){if(void 0===t||void 0===n)return 1;let r=e>>>16&65535;if(e&=65535,1==n)return(e+=t[0])>=65521&&(e-=65521),r+=e,r>=65521&&(r-=65521),(r<<16|e)>>>0;if(n<16){for(let i=0;i<n;i++)r+=e+=t[i];return e>=65521&&(e-=65521),r=Pe(r),(r<<16|e)>>>0}for(;n>=5552;){n-=5552;let i=N.floor(347);do{for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}while(--i);e=Pe(e),r=Pe(r)}if(n){for(;n>=16;){n-=16;for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}for(let i=0;i<n;i++)r+=e+=t[i];e=Pe(e),r=Pe(r)}return(r<<16|e)>>>0}var mn=(()=>{let e=new y(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=1&n?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length),n=N.min(n,t.length),e=~e>>>0;for(let r=0;r<n;r++)e=e>>>8^mn[255&(e^t[r])];return(4294967295^e)>>>0}function mt(e){16==e.M?(De(e,e.p),e.p=0,e.M=0):e.M>=8&&(g(e,e.p),e.p>>=8,e.M-=8)}function bt(e){e.M>8?De(e,e.p):e.M>0&&g(e,e.p),e.Ee=1+(e.M-1&7),e.p=0,e.M=0}function bn(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].Ue;0!=t&&(e[i].Qe=$e(f[t]++,t))}}function L(e,t,n){e.M>Ue-n?(e.p=65535&(e.p|t<<e.M),De(e,e.p),e.p=t>>Ue-e.M&65535,e.M+=n-Ue):(e.p=65535&(e.p|t<<e.M),e.M+=n)}function st(e){for(let t=0;t<e.R.length;t++)e.R[t].P=0;for(let t=0;t<e.X.length;t++)e.X[t].P=0;for(let t=0;t<e.$e.length;t++)e.$e[t].P=0;e.R[Ie].P=1,e.ie=e.fe=0,e.U=e._e=0}function ht(e){if(e.R&&e.R.length>=le)for(let t=0;t<le;t++)e.R[t]=Q();else{e.R=[];for(let t=0;t<le;t++)e.R.push(Q())}if(e.X&&e.X.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.X[t]=Q();else{e.X=[];for(let t=0;t<2*me+1;t++)e.X.push(Q())}if(e.$e&&e.$e.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.$e[t]=Q();else{e.$e=[];for(let t=0;t<2*oe+1;t++)e.$e.push(Q())}e.Ie=new ne(e.R,new re(Ze,a_,ie+1,we,be)),e.De=new ne(e.X,new re(v_,i_,0,me,be)),e.Ae=new ne(e.$e,new re(null,Fe,0,oe,7)),e.p=0,e.M=0,e.Ee=0,st(e)}var he=1;function sn(e,t,n){return n=e.pe[he],e.pe[he]=e.pe[e.We--],I_(e,t,he),n}function ft(e,t,n,r){return e[t].P<e[n].P||e[t].P==e[n].P&&r[t]<=r[n]}function I_(e,t,n){let r=e.pe[n],i=n<<1;for(;i<=e.We&&(i<e.We&&ft(t,e.pe[i+1],e.pe[i],e.ze)&&i++,!ft(t,r,e.pe[i],e.ze));)e.pe[n]=e.pe[i],n=i,i<<=1;e.pe[n]=r}function hn(e,t){let n,r,i,f,_,l,o=t.L,u=t.q,a=t.Z.N,c=t.Z.V,s=t.Z.W,d=t.Z.$,h=0;for(f=0;f<=be;f++)e.Me[f]=0;for(o[e.pe[e.Se]].Ue=0,n=e.Se+1;n<le;n++)r=e.pe[n],f=o[o[r].Pe].Ue+1,f>d&&(f=d,h++),o[r].Ue=f,!(r>u)&&(e.Me[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].P,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].Ue+_)));if(0!=h){do{for(f=d-1;0==e.Me[f];)f--;e.Me[f]--,e.Me[f+1]+=2,e.Me[d]--,h-=2}while(h>0);for(f=d;0!=f;f--)for(r=e.Me[f];0!=r;)i=e.pe[--n],!(i>u)&&(o[i].Ue!=f&&(e.ie+=(f-o[i].Ue)*o[i].P,o[i].Ue=f),r--)}}function k_(e,t){let n,r,i,f=t.L,_=t.Z.N,l=t.Z.S,o=-1;for(e.We=0,e.Se=le,n=0;n<l;n++)0!=f[n].P?(e.pe[++e.We]=o=n,e.ze[n]=0):f[n].Ue=0;for(;e.We<2;)i=e.pe[++e.We]=o<2?++o:0,f[i].P=1,e.ze[i]=0,e.ie--,_&&(e.fe-=_[i].Ue);for(t.q=o,n=N.floor(e.We/2);n>=1;n--)I_(e,f,n);i=l;do{n=sn(e,f,n),r=e.pe[he],e.pe[--e.Se]=n,e.pe[--e.Se]=r,f[i].P=f[n].P+f[r].P,e.ze[i]=(e.ze[n]>=e.ze[r]?e.ze[n]:e.ze[r])+1,f[n].Pe=f[r].Pe=i,e.pe[he]=i++,I_(e,f,he)}while(e.We>=2);e.pe[--e.Se]=e.pe[he],hn(e,t),bn(f,t.q,e.Me)}function ut(e,t,n){let r,i,f=-1,_=t[0].Ue,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].Ue=65535,r=0;r<=n;r++)i=_,_=t[r+1].Ue,!(++l<o&&i==_)&&(l<u?e.$e[i].P+=l:0!=i?(i!=f&&e.$e[i].P++,e.$e[t_].P++):l<=10?e.$e[n_].P++:e.$e[r_].P++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4))}function ct(e,t,n){let r,i=-1,f=t[0].Ue,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].Ue,!(++_<l&&r==f)){if(_<o)do{L(e,e.$e[r].Qe,e.$e[r].Ue)}while(0!=--_);else 0!=r?(r!=i&&(L(e,e.$e[r].Qe,e.$e[r].Ue),_--),L(e,e.$e[t_].Qe,e.$e[t_].Ue),L(e,_-3,2)):_<=10?(L(e,e.$e[n_].Qe,e.$e[n_].Ue),L(e,_-3,3)):(L(e,e.$e[r_].Qe,e.$e[r_].Ue),L(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4)}}function xn(e){let t;for(ut(e,e.R,e.Ie.q),ut(e,e.X,e.De.q),k_(e,e.Ae),t=oe-1;t>=3&&0==e.$e[Se[t]].Ue;t--);return e.ie+=3*(t+1)+5+5+4,t}function pn(e,t,n,r){let i;for(L(e,t-257,5),L(e,n-1,5),L(e,r-4,4),i=0;i<r;i++)L(e,e.$e[Se[i]].Ue,3);ct(e,e.R,t-1),ct(e,e.X,n-1)}function Me(e,t,n,r,i=0){L(e,(at<<1)+r,3),bt(e),De(e,n),De(e,~n),n&&t&&M(e.I,e.D,t,i,n),e.D+=n}function xt(e){mt(e)}function pt(e){L(e,y_<<1,3),L(e,Ze[Ie].Qe,Ze[Ie].Ue),mt(e)}function dt(e,t,n){let r,i,f,_,l=0;if(0!=e.U)do{r=255&e.Le[l],r+=(255&e.Le[l+1])<<8,i=e.Le[l+2],l+=3,0==r?L(e,t[i].Qe,t[i].Ue):(f=__[i],L(e,t[f+ie+1].Qe,t[f+ie+1].Ue),_=a_[f],0!=_&&(i-=Te[f],L(e,i,_)),r--,f=T_(r),L(e,n[f].Qe,n[f].Ue),_=i_[f],0!=_&&(r-=ge[f],L(e,r,_)))}while(l<e.U);L(e,t[Ie].Qe,t[Ie].Ue)}function Sn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.R[t].P)return 0;if(0!=e.R[9].P||0!=e.R[10].P||0!=e.R[13].P)return 1;for(t=32;t<ie;t++)if(0!=e.R[t].P)return 1;return 0}function St(e,t,n,r,i=0){let f,_,l=0;e.be>0?(2==e.o.t&&(e.o.t=Sn(e)),k_(e,e.Ie),k_(e,e.De),l=xn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ge)&&(f=_)):f=_=n+5,n+4<=f&&t?Me(e,t,n,r,i):_==f?(L(e,(y_<<1)+r,3),dt(e,Ze,v_)):(L(e,(it<<1)+r,3),pn(e,e.Ie.q+1,e.De.q+1,l+1),dt(e,e.R,e.X)),st(e),r&&bt(e)}function wt(){let e=Ve();return e.l=w_(e),e}var Ye=[{Re:kt,Xe:0,Ce:0,He:0,Oe:0},{Re:z_,Xe:4,Ce:4,He:8,Oe:4},{Re:z_,Xe:5,Ce:5,He:16,Oe:8},{Re:z_,Xe:6,Ce:16,He:32,Oe:32},{Re:Re,Xe:4,Ce:4,He:16,Oe:16},{Re:Re,Xe:16,Ce:8,He:16,Oe:32},{Re:Re,Xe:16,Ce:16,He:32,Oe:128},{Re:Re,Xe:32,Ce:32,He:128,Oe:256},{Re:Re,Xe:128,Ce:128,He:256,Oe:1024},{Re:Re,Xe:258,Ce:258,He:258,Oe:4096}];function Et(e){return 2*e-(e>4?9:0)}function f_(e,t,n){return((t<<e.G^n)&e.j)>>>0}function u_(e,t){e.ke=f_(e,e.ke,e.u[t+(k-1)]);let n=e.J[t&e.Y]=e.K[e.ke];return e.K[e.ke]=t,n}function At(e){e.K[e.F-1]=0,je(e.K,0,(e.F-1)*e.K.BYTES_PER_ELEMENT)}function Dn(e){let t,n,r=e.h;for(t=e.F;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0}function C_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.O?e.i=se(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.O&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.Ne-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ve(e)&&(M(e.u,0,e.u,r,r-n),e.Ve-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Dn(e),n+=r),0==e.o.avail_in)break;if(t=C_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=k){let t=e.ae-e.le;for(e.ke=e.u[t],e.ke=f_(e,e.ke,e.u[t+1]);e.le&&(e.ke=f_(e,e.ke,e.u[t+k-1]),e.J[t&e.Y]=e.K[e.ke],e.K[e.ke]=t,t++,e.le--,!(e.ce+e.le<k)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.m<e.Ne){let t,n=e.ae+e.ce;e.m<n?(t=e.Ne-n,t>Be&&(t=Be),je(e.u,n,t),e.m=n+t):e.m<n+Be&&(t=n+Be-e.m,t>e.Ne-e.m&&(t=e.Ne-e.m),je(e.u,e.m,t),e.m+=t)}}function Dt(e,t,n=8,r=15,i=He,f=0){let _=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return-2;r=-r}else r>15&&(_=2,r-=16);if(i<1||i>_t||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return-2;8==r&&(r=9);let l=w_(e);return l?(e.l=l,l.o=e,l.H=42,l.O=_,l.T=void 0,l.k=r,l.h=1<<l.k,l.Y=l.h-1,l.B=i+7,l.F=1<<l.B,l.j=l.F-1,l.G=(l.B+k-1)/k,l.u=new x(2*l.h),l.J=new E(l.h),l.K=new E(l.F),l.m=0,l.ee=1<<i+6,l.I=new x(l.ee*rt),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.I?(l.Le=l.I.subarray(l.ee),l.A=l.te+l.ee,l.C=3*(l.ee-1),l.be=t,l.ge=f,l.qe=n,In(e)):(l.H=666,e.msg=g_(-4),B_(e),-4)):-4}function U_(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.H&&57!=t.H&&69!=t.H&&73!=t.H&&91!=t.H&&103!=t.H&&113!=t.H&&666!=t.H}function yn(e){let t;return U_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.D=0,t.re=t.te,t.O<0&&(t.O=-t.O),t.H=2==t.O?57:42,e.i=2==t.O?W(0):se(0),t.oe=-2,ht(t),0)}function vn(e){e.Ne=2*e.h,At(e),e.ye=Ye[e.be].Xe,e.me=Ye[e.be].Ce,e.ve=Ye[e.be].He,e.xe=Ye[e.be].Oe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=k-1,e.we=0,e.ke=0}function In(e){let t=yn(e);return 0==t&&vn(e.l),t}function Xe(e,t){g(e,t>>8),g(e,255&t)}function q(e){let t,n=e.l;xt(n),t=n.D,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.I,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.D-=t,0==n.D&&(n.re=n.te))}function ke(e,t){let n=e.l;n.T&&n.T.Te&&(e.i=W(e.i,new x(n.I.buffer,n.te+t,n.D-t),n.D-t))}function yt(e,t){let n,r=e.l;if(U_(e)||t>5||t<0)return Ae(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.H&&4!=t)return Ae(e,-2);if(0==e.avail_out)return Ae(e,-5);if(n=r.oe,r.oe=t,0!=r.D){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&Et(t)<=Et(n)&&4!=t)return Ae(e,-5);if(666==r.H&&0!=e.avail_in)return Ae(e,-5);if(42==r.H&&0==r.O&&(r.H=113),42==r.H){let t,n=8+(r.k-8<<4)<<8;if(t=r.ge>=2||r.be<2?0:r.be<6?1:6==r.be?2:3,n|=t<<6,0!=r.ae&&(n|=nt),n+=31-n%31,Xe(r,n),0!=r.ae&&(Xe(r,e.i>>16),Xe(r,65535&e.i)),e.i=1,r.H=113,q(e),0!=r.D)return r.oe=$,0}if(57==r.H)if(e.i=W(0),g(r,31),g(r,139),g(r,8),r.T)g(r,(r.T.Ye?1:0)+(r.T.Te?2:0)+(null==r.T.Be?0:4)+(null==r.T.Fe?0:8)+(null==r.T.je?0:16)),g(r,255&r.T.Ge),g(r,r.T.Ge>>>8&255),g(r,r.T.Ge>>>16&255),g(r,r.T.Ge>>>24&255),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,255&r.T.Je),null!=r.T.Be&&(g(r,255&r.T.Ke),g(r,r.T.Ke>>>8&255)),r.T.Te&&(e.i=W(e.i,r.I,r.D)),r.Ze=0,r.H=69;else if(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,tt),r.H=113,q(e),0!=r.D)return r.oe=$,0;if(69==r.H){if(r.T&&null!=r.T.Be){let t=r.D,n=(65535&r.T.Ke)-r.Ze;for(;r.D+n>r.ne;){let i=r.ne-r.D;if(M(r.I,r.D,r.T.Be,r.Ze,i),r.D=r.ne,ke(e,t),r.Ze+=i,q(e),0!=r.D)return r.oe=$,0;t=0,n-=i}M(r.I,r.D,r.T.Be,r.Ze,n),r.D+=n,ke(e,t),r.Ze=0}r.H=73}if(73==r.H){if(r.T&&r.T.Fe&&r.T.Fe.length){let t,n=r.D;do{if(r.D==r.ne){if(ke(e,n),q(e),0!=r.D)return r.oe=$,0;n=0}t=r.T.Fe[r.Ze++],g(r,t)}while(0!=t);ke(e,n),r.Ze=0}r.H=91}if(91==r.H){if(r.T&&r.T.je&&r.T.je.length){let t,n=r.D;do{if(r.D==r.ne){if(ke(e,n),q(e),0!=r.D)return r.oe=$,0;n=0}t=r.T.je[r.Ze++],g(r,t)}while(0!=t);ke(e,n)}r.H=103}if(103==r.H){if(r.T&&r.T.Te){if(r.D+2>r.ne&&(q(e),0!=r.D))return r.oe=$,0;g(r,255&e.i),g(r,e.i>>>8&255),e.i=W(0)}if(r.H=113,q(e),0!=r.D)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.H){let n=0==r.be?kt(r,t):2==r.ge?Nn(r,t):3==r.ge?kn(r,t):Ye[r.be].Re(r,t);if((2==n||3==n)&&(r.H=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?pt(r):5!=t&&(Me(r,null,0,0),3==t&&(At(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.O<=0?1:(2==r.O?(g(r,255&e.i),g(r,e.i>>>8&255),g(r,e.i>>>16&255),g(r,e.i>>>24&255),g(r,255&e.total_in),g(r,e.total_in>>>8&255),g(r,e.total_in>>>16&255),g(r,e.total_in>>>24&255)):(Xe(r,e.i>>>16&65535),Xe(r,65535&e.i)),q(e),r.O>0&&(r.O=-r.O),0!=r.D?0:1)}function B_(e){if(U_(e))return-2;let t=e.l,n=t.H;return t.u=Z,t.J=qe,t.K=qe,t.I=Z,t.Le=Z,t.pe=new H(0),t.ze=Z,t.Me=qe,t.R.length=0,t.X.length=0,t.$e.length=0,t.T=void 0,t.te=0,t.re=0,t.A=0,113==n?-3:0}function vt(e,t){let n,r,i=e.xe,f=e.ae,_=e.de,l=e.ve,o=e.ae>ve(e)?e.ae-ve(e):0,u=e.J,a=e.Y,c=e.u[f],s=e.u[f+1],d=e.u[f+_-1],h=e.u[f+_];e.de>=e.me&&(i>>=2),l>e.ce&&(l=e.ce);do{if(n=t,e.u[n+_]!=h||e.u[n+_-1]!=d||e.u[n]!=c||e.u[n+1]!=s)continue;let i=N.min(_e,e.ce),o=2;for(;o<i&&e.u[f+o]==e.u[n+o];)o++;if(r=o,r>_){if(e.Ve=t,_=r,r>=l)break;d=e.u[f+_-1],h=e.u[f+_]}}while((t=u[t&a])>o&&0!=--i);return _<=e.ce?_:e.ce}function It(e,t){St(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o)}function V(e,t){return It(e,t?1:0),0==e.o.avail_out?t?2:0:null}var gt=65535;function Ne(e,t){return e<t?e:t}function kt(e,t){let n,r,i,f=Ne(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=gt,i=e.M+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Me(e,null,0,_),e.I[e.D-4]=n,e.I[e.D-3]=n>>8,e.I[e.D-2]=~n,e.I[e.D-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(C_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n)}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae}else e.Ne-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=Ne(l,e.h-e.le);e.ue=e.ae}return e.m<e.ae&&(e.m=e.ae),_?(e.Ee=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.Ne-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(C_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=Ne(i,e.h-e.le)),e.m<e.ae&&(e.m=e.ae),i=e.M+42>>3,i=Ne(e.ne-i,gt),f=Ne(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=Ne(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Me(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Ee=8),_?2:0)}function z_(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ve(e)&&(e.se=vt(e,n)),e.se>=k)if(e.ae,e.Ve,e.se,r=e_(e,e.ae-e.Ve,e.se-k),e.ce-=e.se,e.se<=e.ye&&e.ce>=k){e.se--;do{e.ae++,n=u_(e,e.ae)}while(0!=--e.se);e.ae++}else e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=f_(e,e.ke,e.u[e.ae+1]);else r=ye(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=V(e,!1);if(null!=t)return t}}if(e.le=e.ae<k-1?e.ae:k-1,4==t){return V(e,!0)??3}if(e.U){let t=V(e,!1);if(null!=t)return t}return 1}function Re(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=u_(e,e.ae)),e.de=e.se,e.he=e.Ve,e.se=k-1,0!=n&&e.de<e.ye&&e.ae-n<=ve(e)&&(e.se=vt(e,n),e.se<=5&&1==e.ge&&(e.se=k-1)),e.de>=k&&e.se<=e.de){let t=e.ae+e.ce-k;e.ae,e.he,e.de,r=e_(e,e.ae-1-e.he,e.de-k),e.ce-=e.de-1,e.de-=2;do{++e.ae<=t&&(n=u_(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=k-1,e.ae++,r){let t=V(e,!1);if(null!=t)return t}}else if(e.we){if(r=ye(e,e.u[e.ae-1]),r&&It(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--}if(e.we&&(r=ye(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<k-1?e.ae:k-1,4==t){return V(e,!0)??3}if(e.U){let t=V(e,!1);if(null!=t)return t}return 1}function kn(e,t){let n,r,i,f;for(;;){if(e.ce<=_e){if(c_(e),e.ce<=_e&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=k&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+_e;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=_e-(f-i),e.se>e.ce&&(e.se=e.ce)}if(e.se>=k?(e.ae,e.ae,e.se,n=e_(e,1,e.se-k),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=ye(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=V(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return V(e,!0)??3}if(e.U){let t=V(e,!1);if(null!=t)return t}return 1}function Nn(e,t){let n=!1;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=ye(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=V(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return V(e,!0)??3}if(e.U){let t=V(e,!1);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Nt=ge.map(e=>e+1),Rt=Te.subarray(0,-1).map(e=>e+3),Rn=[16,1,73,1,200,1],zn=[144,1,72,1,78,1],zt=Ee.map(Yt),Ct=Ee.map(Wt);zt.push(64,2),Ct.push(142,2);var Lt=de.slice(0,-2).map(Yt),Ot=de.slice(0,-2).map(Wt);Lt.push(...Rn),Ot.push(...zn);var Ht=new E([...Rt,258,0,0]),Ut=new E([...Rt,3,0,0]),Bt=te(Lt),Ft=te(Ot),Zt=new E([...Nt,0,0]),Pt=new E([...Nt,32769,49153]),Mt=te(zt),Xt=te(Ct);function Yt(e,t){return t%2?e:e+16}function Wt(e,t){return t%2?e:e+128}function Kt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.M>>>0,c=r.et,s=r.tt,d=(1<<r.nt)-1,h=(1<<r.rt)-1,w=r.h>>>0,k=r.m>>>0,b=r.v>>>0,g=r.it,m=f-(t-e.avail_out),v=f+(e.avail_out-257),x=i+(e.avail_in-5),y=0,p=0,z=0,M=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8}n=c[u&d];t:for(;;){if(z=n.ft,u>>>=z,a-=z,z=n._t,0==z){l[f++]=n.lt;break}if(16&z){if(y=n.lt,z&=15,z){for(;a<z;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}y+=u&(1<<z)-1,u>>>=z,a-=z}for(;a<15;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}n=s[u&h];n:for(;;){if(z=n.ft,u>>>=z,a-=z,z=n._t,16&z){if(p=n.lt,z&=15,z){for(;a<z;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}p+=u&(1<<z)-1,u>>>=z,a-=z}let t=y,c=f-m;if(p>c){let n=p-c;if(n>k&&g){e.msg="invalid distance too far back",r.ot=16209;break e}if(0==b){if(M=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}else if(b<n){M=w+b-n;let e=n-b;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let t=0;t<e;++t)l[f++]=o[M++];if(t-=e,M=0,b<t){for(let e=0;e<b;++e)l[f++]=o[M++];t-=b,M=f-p}}else{if(M=b-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}for(;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}else{for(M=f-p;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}break}if(64&z){e.msg="invalid distance code",r.ot=16209;break e}n=s[n.lt+(u&(1<<z)-1)];continue n}break}if(64&z){if(32&z){r.ot=16191;break e}e.msg="invalid literal/length code",r.ot=16209;break e}n=c[n.lt+(u&(1<<z)-1)];continue t}}while(i<x&&f<v);let L=a>>3;i-=L,a-=L<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<v?v-f+257:257-(f-v),r.p=u>>>0,r.M=a>>>0}function F_(e,t){let n=[],r=t?ue+m_:ue+d_;return{...Je(e,0),o:e,ot:16180,ut:!1,O:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Z,kt:0,bt:0,Be:0,et:n,tt:n,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,zt:n,Mt:new E(320),Lt:new E(288),Et:new y(r).fill(null).map(()=>pe()),Zt:0,it:!0,qt:0,Nt:0,Vt:t}}function pe(e=0,t=0,n=0){return{_t:e,ft:t,lt:n}}function Z_(e=1){return{_t:64,ft:e,lt:0}}function qt(e=0){return{_t:96,ft:e,lt:0}}function P_(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Ln={Vt:!1,Wt:Ht,St:Bt,$t:Zt,It:Mt,Dt:20,At:257,Qt:0,Ut:d_,Pt:!1,Rt:!0},On={Vt:!0,Wt:Ut,St:Ft,$t:Pt,It:Xt,Dt:19,At:256,Qt:-1,Ut:m_,Pt:!0,Rt:!1};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,d,h,w,k,b,g,m,v,x,y,p,z,M,L,Z=new E(Le+1),q=new E(Le+1),N=l?On:Ln;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.Xt,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return N.Rt?(y=Z_(1),r.Xt[0]=y,r.Xt[1]=y,i.Xt=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return-1;if(w>0&&(0==e||1!=c))return-1;for(q[1]=0,o=1;o<Le;o++)q[o+1]=q[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[q[t[u]]++]=u);switch(e){case 0:z=M=f,L=N.Dt;break;case 1:z=N.Wt,M=N.St,L=N.At;break;default:z=N.$t,M=N.It,L=N.Qt}if(b=0,u=0,o=a,p=_.Xt,d=s,h=0,v=-1,k=1<<s,x=k-1,1==e&&(N.Pt?k>=ue:k>ue)||2==e&&(N.Pt?k>=N.Ut:k>N.Ut))return 1;for(;;){y=Hn(f,u,o,h,e,z,M,L,N.Vt),g=1<<o-h,m=1<<d,a=m;do{m-=g;let e=(b>>h)+m;r.Xt[p+e]={...y}}while(0!=m);for(g=1<<o-1;b&g;)g>>=1;if(0!=g?(b&=g-1,b+=g):b=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]]}if(o>s&&(b&x)!=v){for(0==h&&(h=s),p+=1<<d,d=o-h,w=1<<d;d+h<c&&(w-=Z[d+h],!(w<=0));)d++,w<<=1;if(k+=1<<d,1==e&&(N.Pt?k>=ue:k>ue)||2==e&&(N.Pt?k>=N.Ut:k>N.Ut))return 1;v=b&x,r.Xt[_.Xt+v]={_t:d,ft:s,lt:p-_.Xt}}}if(0!=b)for(y=Z_(o-h);0!=b;){for(0!=h&&(b&x)!=v&&(h=0,o=s,p=_.Xt,d=s,y.ft=o),r.Xt[p+(b>>h)]={...y},g=1<<o-1;b&g;)g>>=1;0!=g?(b&=g-1,b+=g):b=0}return _.Xt+=k,i.Xt=s,0}function Hn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=pe(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=pe(_[i],n-r,f[i])}else{let i=o?e[t]:e[t]-l;u=pe(_[i],n-r,f[i])}else u=qt(n-r);return u}var Pn={Ct:!0,Ht:new y(544),Ot:[],Tt:[]},Mn={Ct:!0,Ht:new y(544),Ot:[],Tt:[]};function jt(e){let t=Ve();return t.l=F_(t,!!e),t}function Ge(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.Vt&&(t.ot<16191||t.ot>16209)||!t.Vt&&(t.ot<16180||t.ot>16211))))}function Xn(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.O&&(e.i=1&t.O),t.ot=t.Vt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.Vt?65536:32768,delete t.T,t.p=0,t.M=0,t.et=t.Et,t.tt=t.Et,t.zt=t.Et,t.it=!0,t.qt=-1,0)}function Yn(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.m=0,t.v=0,Xn(e))}function Wn(e,t){let n,r,i;if(Ge(e))return-2;if(r=e.l,r.Vt?(t=-16,i=16):i=15,t<0){if(t<-i)return-2;n=0,t=-t}else n=5+(t>>4),!r.Vt&&t<48&&(t&=15);return t&&(t<8||t>i)?-2:(r.u.length>0&&r.k!=t&&(r.u=Z),r.O=n,r.k=t,Yn(e))}function Vt(e,t){let n,r;if(!e)return-2;e.msg="";let i=!!e.l.Vt;return r=F_(e,i),i&&(t=-16),e.l=r,r.o=e,r.ot=r.Vt?16191:16180,n=Wn(e,t),n}function Gn(e){let t=e.Vt?Mn:Pn,n={Xt:0};if(t.Ct){let r,i,f;for(r=0;r<144;)e.Mt[r++]=8;for(;r<256;)e.Mt[r++]=9;for(;r<280;)e.Mt[r++]=7;for(;r<288;)e.Mt[r++]=8;for(let e=0;e<544;e++)t.Ht[e]=pe();f=t.Ht,t.Ot=f,i=9;let _={Xt:f},l={Xt:i},o={Xt:0};for(Oe(1,e.Mt,288,_,l,e.Lt,o,e.Vt),f=_.Xt,i=l.Xt,e.Zt=o.Xt,r=0;r<32;)e.Mt[r++]=5;i=5;let u=o.Xt,a={Xt:f},c={Xt:i};n.Xt=u,Oe(2,e.Mt,32,a,c,e.Lt,n,e.Vt),t.Tt=f.slice(u),t.Ct=!1}e.et=t.Ot,e.nt=9,e.tt=t.Tt,e.rt=5,e.Zt=n.Xt}function Kn(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.k),r.u)))return 1;if(0==r.h&&(r.h=1<<r.k,r.v=0,r.m=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.v=0,r.m=r.h;else{let e=r.h-r.v;e>n&&(e=n),M(r.u,r.v,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.v=n,r.m=r.h):(r.v+=e,r.v==r.h&&(r.v=0),r.m<r.h&&(r.m+=e))}return 0}var s_=class extends z{constructor(){super("Need more input")}};function Jt(e,t){let n,r,i,f,_,l,o,u,a,c,s,d,h,w,k,b,g,m=new x(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ot&&(n.ot=16192),L(),c=l,s=o,g=0;try{for(;;)switch(n.ot){case 16180:if(0==n.O){n.ot=16192;break}if(V(16),2&n.O&&35615==u){0==n.k&&(n.k=15),n.ht=W(0),n.ht=p(n.ht,u),q(),n.ot=16181;break}if(n.T&&(n.T.Yt=-1),!(1&n.O)||((S(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ot=16209;break}if(8!=S(4)){e.msg="unknown compression method",n.ot=16209;break}if($(4),b=S(4)+8,0==n.k&&(n.k=b),b>15||b>n.k){e.msg="invalid window size",n.ot=16209;break}n.dt=1<<b,n.st=0,e.i=n.ht=se(0),n.ot=512&u?16189:16191,q();break;case 16181:if(V(16),n.st=u,8!=(255&n.st)){e.msg="unknown compression method",n.ot=16209;break}if(57344&n.st){e.msg="unknown header flags set",n.ot=16209;break}n.T&&(n.T.Ye=u>>8&1),512&n.st&&4&n.O&&(n.ht=p(n.ht,u)),q(),n.ot=16182;case 16182:V(32),n.T&&(n.T.Ge=u),512&n.st&&4&n.O&&(n.ht=z(n.ht,u)),q(),n.ot=16183;case 16183:V(16),n.T&&(n.T.Bt=255&u,n.T.Je=u>>8),512&n.st&&4&n.O&&(n.ht=p(n.ht,u)),q(),n.ot=16184;case 16184:1024&n.st?(V(16),n.kt=u,n.T&&(n.T.Ke=u),512&n.st&&4&n.O&&(n.ht=p(n.ht,u)),q()):n.T&&(n.T.Be=Z),n.ot=16185;case 16185:if(1024&n.st&&(d=n.kt,d>l&&(d=l),d&&(n.T&&n.T.Be&&n.T.Ft&&(b=n.T.Ke-n.kt)<n.T.Ft&&M(n.T.Be,b,r,i,d),512&n.st&&4&n.O&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,n.kt-=d),n.kt))return v();n.kt=0,n.ot=16186;case 16186:if(2048&n.st){if(0==l)return v();d=0;do{b=r[i+d++],n.T&&n.T.jt&&n.kt<n.T.jt&&(n.T.Fe[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.O&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return v()}else n.T&&(n.T.Fe=Z);n.kt=0,n.ot=16187;case 16187:if(4096&n.st){if(0==l)return v();d=0;do{b=r[i+d++],n.T&&n.T.Gt&&n.kt<n.T.Gt&&(n.T.je[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.O&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return v()}else n.T&&(n.T.je=Z);n.ot=16188;case 16188:if(512&n.st){if(V(16),4&n.O&&u!=(65535&n.ht)){e.msg="header crc mismatch",n.ot=16209;break}q()}n.T&&(n.T.Te=n.st>>9&1,n.T.Yt=1),e.i=n.ht=W(0),n.ot=16191;break;case 16189:V(32),e.i=n.ht=P_(u),q(),n.ot=16190;case 16190:if(!n.ct)return E(),2;e.i=n.ht=se(0),n.ot=16191;case 16191:if(5==t||6==t)return v();case 16192:if(n.ut){I(),n.ot=16206;break}switch(V(3),n.ut=!!S(1),$(1),S(2)){case 0:n.ot=16193;break;case 1:if(Gn(n),n.ot=16199,6==t)return $(2),v();break;case 2:n.ot=16196;break;case 3:e.msg="invalid block type",n.ot=16209}$(2);break;case 16193:if(I(),V(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ot=16209;break}if(n.kt=65535&u,q(),n.ot=16194,6==t)return v();case 16194:n.ot=16195;case 16195:if(d=n.kt,d){if(d>l&&(d=l),d>o&&(d=o),0==d)return v();M(f,_,r,i,d),l-=d,i+=d,o-=d,_+=d,n.kt-=d;break}n.ot=16191;break;case 16196:if(V(14),n.vt=S(5)+257,$(5),n.xt=S(5)+1,$(5),n.gt=S(4)+4,$(4),n.vt>286||!n.Vt&&n.xt>30){e.msg=n.Vt?"too many length":"too many length or distance symbols",n.ot=16209;break}n.yt=0,n.ot=16197;case 16197:for(;n.yt<n.gt;)V(3),n.Mt[Se[n.yt++]]=S(3),$(3);for(;n.yt<19;)n.Mt[Se[n.yt++]]=0;n.zt=n.Et,n.et=n.tt=n.zt,n.nt=7;let c={Xt:n.zt},m={Xt:n.nt},x={Xt:0};if(g=Oe(0,n.Mt,19,c,m,n.Lt,x,n.Vt),n.zt=c.Xt,n.nt=m.Xt,g){e.msg="invalid code lengths set",n.ot=16209;break}n.yt=0,n.ot=16198;case 16198:for(;n.yt<n.vt+n.xt;){for(;w=n.et[S(n.nt)],!(w.ft<=a);)N();if(w.lt<16)$(w.ft),n.Mt[n.yt++]=w.lt;else{if(16==w.lt){if(V(w.ft+2),$(w.ft),0==n.yt){e.msg="invalid bit length repeat",n.ot=16209;break}b=n.Mt[n.yt-1],d=3+S(2),$(2)}else 17==w.lt?(V(w.ft+3),$(w.ft),b=0,d=3+S(3),$(3)):(V(w.ft+7),$(w.ft),b=0,d=11+S(7),$(7));if(n.yt+d>n.vt+n.xt){e.msg="invalid bit length repeat",n.ot=16209;break}for(;d--;)n.Mt[n.yt++]=b}}if(16209==n.ot)break;if(0==n.Mt[256]){e.msg="invalid code -- missing end-of-block",n.ot=16209;break}n.zt=n.Et,n.nt=9;let D={Xt:n.zt},A={Xt:n.nt},Q={Xt:0};g=Oe(1,n.Mt,n.vt,D,A,n.Lt,Q,n.Vt),n.zt=D.Xt,n.nt=A.Xt;let U=Q.Xt;if(n.et=n.zt.slice(0,U),g){e.msg="invalid literal/lengths set",n.ot=16209;break}n.rt=6;let P=n.Mt.subarray(n.vt,n.vt+n.xt),R={Xt:n.zt},X={Xt:n.rt},C={Xt:U};if(g=Oe(2,P,n.xt,R,X,n.Lt,C,n.Vt),n.zt=R.Xt,n.rt=X.Xt,n.tt=n.zt.slice(U),g){e.msg="invalid distances set",n.ot=16209;break}if(n.ot=16199,6==t)return v();case 16199:n.ot=16200;case 16200:if(!n.Vt&&l>=6&&o>=258){E(),Kt(e,s),L(),16191==n.ot&&(n.qt=-1);break}for(n.qt=0;w=n.et[S(n.nt)],!(w.ft<=a);)N();if(w._t&&!(240&w._t)){for(k=w;w=n.et[k.lt+(S(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)N();$(k.ft),n.qt+=k.ft}if($(w.ft),n.qt+=w.ft,n.kt=w.lt,0==w._t){n.ot=16205;break}if(32&w._t){n.qt=-1,n.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",n.ot=16209;break}n.Be=w._t&(n.Vt?31:15),n.ot=16201;case 16201:n.Be&&(V(n.Be),n.kt+=S(n.Be),$(n.Be),n.qt+=n.Be),n.Nt=n.kt,n.ot=16202;case 16202:for(;w=n.tt[S(n.rt)],!(w.ft<=a);)N();if(!(240&w._t)){for(k=w;w=n.tt[k.lt+(S(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)N();$(k.ft),n.qt+=k.ft}if($(w.ft),n.qt+=w.ft,64&w._t){e.msg="invalid distance code",n.ot=16209;break}n.bt=w.lt,n.Be=15&w._t,n.ot=16203;case 16203:n.Be&&(V(n.Be),n.bt+=S(n.Be),$(n.Be),n.qt+=n.Be),n.ot=16204;case 16204:if(0==o)return v();if(d=s-o,n.bt>d){if(d=n.bt-d,d>n.m&&n.it){e.msg="invalid distance too far back",n.ot=16209;break}d>n.v?(d-=n.v,h=n.h-d):h=n.v-d,d>n.kt&&(d=n.kt),d>o&&(d=o);for(let e=0;e<d;++e)f[_]=255&n.u[h],++_,++h}else{h=_-n.bt,d=n.kt,d>o&&(d=o);for(let e=0;e<d;++e)f[_]=f[h],++_,++h}d>o&&(d=o),o-=d,n.kt-=d,0==n.kt&&(n.ot=16200);break;case 16205:if(0==o)return v();f[_++]=n.kt,o--,n.ot=16200;break;case 16206:if(n.O){if(V(32),s-=o,e.total_out+=s,n.wt+=s,4&n.O&&s){let t=f.subarray(_-s,_);e.i=n.ht=y(n.ht,t,s)}if(s=o,4&n.O&&(n.st?u:P_(u)>>>0)!=n.ht){e.msg="incorrect data check",n.ot=16209;break}q()}n.ot=16207;case 16207:if(n.O&&n.st){if(V(32),4&n.O&&u!=(4294967295&n.wt)){e.msg="incorrect length check",n.ot=16209;break}q()}n.ot=16208;case 16208:return g=1,v();case 16209:return g=-3,v();case 16210:return-4;default:return-2}}catch(e){if(e instanceof s_)return v();throw e}function v(){if(E(),n.h||s!=e.avail_out&&n.ot<16209&&(n.Vt?n.ot<16208:n.ot<16206)||4!=t){let t=s-e.avail_out;if(Kn(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ot=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.wt+=s,4&n.O&&s&&(e.i=n.ht=y(n.ht,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.M+(n.ut?64:0)+(16191==n.ot?128:0)+(16199==n.ot||16194==n.ot?256:0),(0==c&&0==s&&0==g||4==t&&0==g)&&(g=-5),g}function y(e,t,r){return n.st?W(e,t,r):se(e,t,r)}function p(e,t){return m[0]=255&t,m[1]=t>>>8&255,W(e,m,2)>>>0}function z(e,t){return m[0]=255&t,m[1]=t>>>8&255,m[2]=t>>>16&255,m[3]=t>>>24&255,W(e,m,4)>>>0}function L(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.M}function E(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.M=a}function q(){u=0,a=0}function N(){if(0==l)throw new s_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8}function V(e){for(;a<e;)N()}function S(e){return u&(1<<e)-1}function $(e){u>>>=e,a-=e}function I(){u>>>=7&a,a-=7&a}}function Qt(e){return Ge(e)?-2:0}var M_=65536,qn=32768,X_=class{constructor(e=16,t=M_){this.Jt=[],this.Kt=e;for(let n=0;n<N.min(e,4);n++)this.Jt.push(new x(t))}acquire(e=M_){for(let t=this.Jt.length-1;t>=0;t--){let n=this.Jt[t];if(n.length>=e)return this.Jt.splice(t,1),n}return new x(e)}release(e){this.Jt.length<this.Kt&&this.Jt.push(e)}};function $t(e){let t=new X_(32,M_),n=null;function r(e){try{t.release(e)}catch{}}return new U({start(){},transform(i,f){if(!n){let t=e.en(),r=e.tn(t);if(0!=r&&0!=r)throw new z("init failed: "+r);n={o:t}}let _=n.o,l=0;for(;l<i.length;){let n=N.min(i.length-l,qn),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=!1;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.nn(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};i=!0,f.enqueue(r)}if(0!=r&&1!=r)throw new z("process error: "+r)}finally{i||r(n)}}l+=n}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=!1;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.nn(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};_=!0,i.enqueue(r)}if(1==r)break;if(0!=r)throw new z("finalization error: "+r)}finally{_||r(n)}}let _=e.fn(f);if(0!=_&&0!=_)throw new z("end failed: "+_)}})}function en(){return new U({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}function jn(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return $t({en:()=>wt(),tn:e=>Dt(e,r,8,n,8,0),nn:yt,fn:B_})}function Vn(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:15;return $t({en:()=>jt("deflate64-raw"==e),tn:e=>Vt(e,t),nn:Jt,fn:Qt})}var h_=class{constructor(e="deflate",t){let n=jn(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(en())}},x_=class{constructor(e="deflate"){let t=Vn(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(en())}};export{h_ as CompressionStream,h_ as CompressionStreamZlib,x_ as DecompressionStream,x_ as DecompressionStreamZlib};
1
+ var{Uint8Array:x,Uint16Array:E,Int32Array:H,TransformStream:U,Math:N,Error:z,Array:v}=globalThis,Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),Ve=new E(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Ee=[];for(let e=0;e<14;e++)Ee.push(e,0==e?4:2);var ge=new E([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Te=new E([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t)}function je(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n)}function Je(){return{next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Qe(e,t){let n=1<<t;return{o:e,u:new x(n),h:n,k:t,v:0,m:0,p:0,L:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r)}return new E(t)}var ne=class{constructor(e,t){this.M=e,this.Z=t,this.N=0}},re=class{constructor(e,t,n,r,i){this.W=e,this.j=t,this.D=n,this.S=r,this.$=i}};function T_(e){return J_[e<-6||e>2?9:2-e]||""}function Ae(e,t){try{e.msg=T_(t)}catch(n){e.msg="zlib error "+String(t)+" ("+n+")"}return t}function e_(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function g(e,t){e.q[e.T++]=t}function De(e,t){g(e,255&t),g(e,t>>>8&255)}function __(e,t,n){let r=255&n,i=65535&t,f=e.A+e.I;return e.q[f]=255&i,e.q[f+1]=i>>>8&255,e.q[f+2]=r,e.I+=3,i=i-1&65535,e.B[t_[r]+ie+1].U++,e.C[w_(i)].U++,e.I==e.X}function ye(e,t){let n=255&t,r=e.A+e.I;return e.q[r]=0,e.q[r+1]=0,e.q[r+2]=n,e.I+=3,e.B[n].U++,e.I==e.X}function ve(e){return e.h-ae}function w_(e){return e<256?g_[e]:g_[256+(e>>7)]}function A_(e){let t=He+7,n=1<<t,r=(1<<t)-1,i=N.floor((t+k-1)/k),f=1<<8+He;return{...Qe(e,15),o:e,F:42,H:0,Y:void 0,O:32767,P:t,R:n,J:r,K:i,V:new E(32768),G:new E(n),ee:f,q:new x(32768),te:0,ne:32768,T:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,ve:0,me:0,xe:0,ye:0,pe:new H(2*we+1),Le:new x(2*we+1),Me:new E(be+1),I:0,X:0,Ee:Z,A:0,ze:0,Ze:0,Ne:8,We:32768,je:0,Qe:0,De:0,B:new v(le).fill(0).map(()=>Q()),C:new v(2*me+1).fill(0).map(()=>Q()),Se:new v(2*oe+1).fill(0).map(()=>Q()),$e:E_(),qe:E_(),Te:E_()}}function D_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Ae=r,f.Ie=i,t.push(f)}return t}function Q(){return{U:0,Ae:0,Ue:0,Ie:0}}function E_(){return new ne([],un(null,Z,0,0,0))}function un(e,t,n,r,i){return new re(e,t,n,r,i)}function Q_(){let e=new v(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function y_(e){let{code:t,length:n}=cn(e),r=new E(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?e_(_,e):0,r[i++]=e}return new E(r)}function $_(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f)}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}return i}function et(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f)}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function _t(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r]}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function cn(e){let t=N.max(...e),n=new v(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new v(e.length).fill(0),i=new v(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++)}return{code:r,length:e}}var He=8,k=3,_e=258,ae=_e+k+1,Ue=16,Be=_e,dn=29,ie=256,we=ie+1+dn,me=30,oe=19,le=2*we+1,be=15,tt=9,nt=255,rt=32,at=4,Ie=256,n_=16,r_=17,a_=18,it=0,v_=1,ot=2,$=-1,J_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],i_=te(de),o_=te(Ee),Fe=new E(19);Fe[16]=2,Fe[17]=3,Fe[18]=7;var mn=y_(Q_()),bn=y_(new v(30).fill(5)),Ze=D_(mn),I_=D_(bn),t_=$_(Te,i_,_e),g_=_t(et(ge,o_));function Pe(e){return e%65521>>>0}function se(e,t,n){if(void 0===t||void 0===n)return 1;let r=e>>>16&65535;if(e&=65535,1==n)return(e+=t[0])>=65521&&(e-=65521),r+=e,r>=65521&&(r-=65521),(r<<16|e)>>>0;if(n<16){for(let i=0;i<n;i++)r+=e+=t[i];return e>=65521&&(e-=65521),r=Pe(r),(r<<16|e)>>>0}for(;n>=5552;){n-=5552;let i=N.floor(347);do{for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}while(--i);e=Pe(e),r=Pe(r)}if(n){for(;n>=16;){n-=16;for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}for(let i=0;i<n;i++)r+=e+=t[i];e=Pe(e),r=Pe(r)}return(r<<16|e)>>>0}var Me=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Me[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Me[t-1][e];Me[t][e]=n>>>8^Me[0][255&n]}var[lt,sn,hn,xn,pn,Sn,En,gn]=Me;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=N.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,!0),n=e.getInt32(i+4,!0);r=gn[255&t]^En[t>>>8&255]^Sn[t>>>16&255]^pn[t>>>24&255]^xn[255&n]^hn[n>>>8&255]^sn[n>>>16&255]^lt[n>>>24&255]}}for(;i<n;i++)r=r>>>8^lt[255&(r^t[i])];return(4294967295^r)>>>0}function st(e){16==e.L?(De(e,e.p),e.p=0,e.L=0):e.L>=8&&(g(e,e.p),e.p>>=8,e.L-=8)}function ht(e){e.L>8?De(e,e.p):e.L>0&&g(e,e.p),e.ze=1+(e.L-1&7),e.p=0,e.L=0}function Tn(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].Ie;0!=t&&(e[i].Ae=e_(f[t]++,t))}}function L(e,t,n){e.L>Ue-n?(e.p=65535&(e.p|t<<e.L),De(e,e.p),e.p=t>>Ue-e.L&65535,e.L+=n-Ue):(e.p=65535&(e.p|t<<e.L),e.L+=n)}function xt(e){for(let t=0;t<e.B.length;t++)e.B[t].U=0;for(let t=0;t<e.C.length;t++)e.C[t].U=0;for(let t=0;t<e.Se.length;t++)e.Se[t].U=0;e.B[Ie].U=1,e.ie=e.fe=0,e.I=e._e=0}function pt(e){if(e.B&&e.B.length>=le)for(let t=0;t<le;t++)e.B[t]=Q();else{e.B=[];for(let t=0;t<le;t++)e.B.push(Q())}if(e.C&&e.C.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.C[t]=Q();else{e.C=[];for(let t=0;t<2*me+1;t++)e.C.push(Q())}if(e.Se&&e.Se.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.Se[t]=Q();else{e.Se=[];for(let t=0;t<2*oe+1;t++)e.Se.push(Q())}e.$e=new ne(e.B,new re(Ze,i_,ie+1,we,be)),e.qe=new ne(e.C,new re(I_,o_,0,me,be)),e.Te=new ne(e.Se,new re(null,Fe,0,oe,7)),e.p=0,e.L=0,e.ze=0,xt(e)}var he=1;function wn(e,t,n){return n=e.pe[he],e.pe[he]=e.pe[e.Qe--],k_(e,t,he),n}function ct(e,t,n,r){return e[t].U<e[n].U||e[t].U==e[n].U&&r[t]<=r[n]}function k_(e,t,n){let r=e.pe[n],i=n<<1;for(;i<=e.Qe&&(i<e.Qe&&ct(t,e.pe[i+1],e.pe[i],e.Le)&&i++,!ct(t,r,e.pe[i],e.Le));)e.pe[n]=e.pe[i],n=i,i<<=1;e.pe[n]=r}function An(e,t){let n,r,i,f,_,l,o=t.M,u=t.N,a=t.Z.W,c=t.Z.j,s=t.Z.D,d=t.Z.$,h=0;for(f=0;f<=be;f++)e.Me[f]=0;for(o[e.pe[e.De]].Ie=0,n=e.De+1;n<le;n++)r=e.pe[n],f=o[o[r].Ue].Ie+1,f>d&&(f=d,h++),o[r].Ie=f,!(r>u)&&(e.Me[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].U,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].Ie+_)));if(0!=h){do{for(f=d-1;0==e.Me[f];)f--;e.Me[f]--,e.Me[f+1]+=2,e.Me[d]--,h-=2}while(h>0);for(f=d;0!=f;f--)for(r=e.Me[f];0!=r;)i=e.pe[--n],!(i>u)&&(o[i].Ie!=f&&(e.ie+=(f-o[i].Ie)*o[i].U,o[i].Ie=f),r--)}}function N_(e,t){let n,r,i,f=t.M,_=t.Z.W,l=t.Z.S,o=-1;for(e.Qe=0,e.De=le,n=0;n<l;n++)0!=f[n].U?(e.pe[++e.Qe]=o=n,e.Le[n]=0):f[n].Ie=0;for(;e.Qe<2;)i=e.pe[++e.Qe]=o<2?++o:0,f[i].U=1,e.Le[i]=0,e.ie--,_&&(e.fe-=_[i].Ie);for(t.N=o,n=N.floor(e.Qe/2);n>=1;n--)k_(e,f,n);i=l;do{n=wn(e,f,n),r=e.pe[he],e.pe[--e.De]=n,e.pe[--e.De]=r,f[i].U=f[n].U+f[r].U,e.Le[i]=(e.Le[n]>=e.Le[r]?e.Le[n]:e.Le[r])+1,f[n].Ue=f[r].Ue=i,e.pe[he]=i++,k_(e,f,he)}while(e.Qe>=2);e.pe[--e.De]=e.pe[he],An(e,t),Tn(f,t.N,e.Me)}function dt(e,t,n){let r,i,f=-1,_=t[0].Ie,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].Ie=65535,r=0;r<=n;r++)i=_,_=t[r+1].Ie,!(++l<o&&i==_)&&(l<u?e.Se[i].U+=l:0!=i?(i!=f&&e.Se[i].U++,e.Se[n_].U++):l<=10?e.Se[r_].U++:e.Se[a_].U++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4))}function mt(e,t,n){let r,i=-1,f=t[0].Ie,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].Ie,!(++_<l&&r==f)){if(_<o)do{L(e,e.Se[r].Ae,e.Se[r].Ie)}while(0!=--_);else 0!=r?(r!=i&&(L(e,e.Se[r].Ae,e.Se[r].Ie),_--),L(e,e.Se[n_].Ae,e.Se[n_].Ie),L(e,_-3,2)):_<=10?(L(e,e.Se[r_].Ae,e.Se[r_].Ie),L(e,_-3,3)):(L(e,e.Se[a_].Ae,e.Se[a_].Ie),L(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4)}}function Dn(e){let t;for(dt(e,e.B,e.$e.N),dt(e,e.C,e.qe.N),N_(e,e.Te),t=oe-1;t>=3&&0==e.Se[Se[t]].Ie;t--);return e.ie+=3*(t+1)+5+5+4,t}function yn(e,t,n,r){let i;for(L(e,t-257,5),L(e,n-1,5),L(e,r-4,4),i=0;i<r;i++)L(e,e.Se[Se[i]].Ie,3);mt(e,e.B,t-1),mt(e,e.C,n-1)}function Xe(e,t,n,r,i=0){L(e,(it<<1)+r,3),ht(e),De(e,n),De(e,~n),n&&t&&M(e.q,e.T,t,i,n),e.T+=n}function St(e){st(e)}function Et(e){L(e,v_<<1,3),L(e,Ze[Ie].Ae,Ze[Ie].Ie),st(e)}function bt(e,t,n){let r,i,f,_,l=0;if(0!=e.I)do{r=255&e.Ee[l],r+=(255&e.Ee[l+1])<<8,i=e.Ee[l+2],l+=3,0==r?L(e,t[i].Ae,t[i].Ie):(f=t_[i],L(e,t[f+ie+1].Ae,t[f+ie+1].Ie),_=i_[f],0!=_&&(i-=Te[f],L(e,i,_)),r--,f=w_(r),L(e,n[f].Ae,n[f].Ie),_=o_[f],0!=_&&(r-=ge[f],L(e,r,_)))}while(l<e.I);L(e,t[Ie].Ae,t[Ie].Ie)}function vn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.B[t].U)return 0;if(0!=e.B[9].U||0!=e.B[10].U||0!=e.B[13].U)return 1;for(t=32;t<ie;t++)if(0!=e.B[t].U)return 1;return 0}function gt(e,t,n,r,i=0){let f,_,l=0;e.be>0?(2==e.o.t&&(e.o.t=vn(e)),N_(e,e.$e),N_(e,e.qe),l=Dn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ge)&&(f=_)):f=_=n+5,n+4<=f&&t?Xe(e,t,n,r,i):_==f?(L(e,(v_<<1)+r,3),bt(e,Ze,I_)):(L(e,(ot<<1)+r,3),yn(e,e.$e.N+1,e.qe.N+1,l+1),bt(e,e.B,e.C)),xt(e),r&&ht(e)}function Dt(){let e=Je();return e.l=A_(e),e}var We=[{Be:Rt,Ce:0,Xe:0,Fe:0,He:0},{Be:C_,Ce:4,Xe:4,Fe:8,He:4},{Be:C_,Ce:5,Xe:5,Fe:16,He:8},{Be:C_,Ce:6,Xe:16,Fe:32,He:32},{Be:Re,Ce:4,Xe:4,Fe:16,He:16},{Be:Re,Ce:16,Xe:8,Fe:16,He:32},{Be:Re,Ce:16,Xe:16,Fe:32,He:128},{Be:Re,Ce:32,Xe:32,Fe:128,He:256},{Be:Re,Ce:128,Xe:128,Fe:256,He:1024},{Be:Re,Ce:258,Xe:258,Fe:258,He:4096}];function Tt(e){return 2*e-(e>4?9:0)}function u_(e,t,n){return((t<<e.K^n)&e.J)>>>0}function c_(e,t){e.ke=u_(e,e.ke,e.u[t+(k-1)]);let n=e.V[t&e.O]=e.G[e.ke];return e.G[e.ke]=t,n}function yt(e){e.G[e.R-1]=0,je(e.G,0,(e.R-1)*e.G.BYTES_PER_ELEMENT)}function Cn(e){let t,n,r=e.h;for(t=e.R;t>0;)t--,n=e.G[t],e.G[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.V[t],e.V[t]=n>=r?n-r:0}function L_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.H?e.i=se(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.H&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function d_(e){let t,n,r=e.h;do{if(n=e.We-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ve(e)&&(M(e.u,0,e.u,r,r-n),e.je-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Cn(e),n+=r),0==e.o.avail_in)break;if(t=L_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=k){let t=e.ae-e.le;for(e.ke=e.u[t],e.ke=u_(e,e.ke,e.u[t+1]);e.le&&(e.ke=u_(e,e.ke,e.u[t+k-1]),e.V[t&e.O]=e.G[e.ke],e.G[e.ke]=t,t++,e.le--,!(e.ce+e.le<k)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.v<e.We){let t,n=e.ae+e.ce;e.v<n?(t=e.We-n,t>Be&&(t=Be),je(e.u,n,t),e.v=n+t):e.v<n+Be&&(t=n+Be-e.v,t>e.We-e.v&&(t=e.We-e.v),je(e.u,e.v,t),e.v+=t)}}function vt(e,t,n=8,r=15,i=He,f=0){let _=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return-2;r=-r}else r>15&&(_=2,r-=16);if(i<1||i>tt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return-2;8==r&&(r=9);let l=A_(e);return l?(e.l=l,l.o=e,l.F=42,l.H=_,l.Y=void 0,l.k=r,l.h=1<<l.k,l.O=l.h-1,l.P=i+7,l.R=1<<l.P,l.J=l.R-1,l.K=(l.P+k-1)/k,l.u=new x(2*l.h),l.V=new E(l.h),l.G=new E(l.R),l.v=0,l.ee=1<<i+6,l.q=new x(l.ee*at),l.ne=4*l.ee,l.u&&l.V&&l.G&&l.q?(l.Ee=l.q.subarray(l.ee),l.A=l.te+l.ee,l.X=3*(l.ee-1),l.be=t,l.ge=f,l.Ne=n,Hn(e)):(l.F=666,e.msg=T_(-4),F_(e),-4)):-4}function B_(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.F&&57!=t.F&&69!=t.F&&73!=t.F&&91!=t.F&&103!=t.F&&113!=t.F&&666!=t.F}function Ln(e){let t;return B_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.T=0,t.re=t.te,t.H<0&&(t.H=-t.H),t.F=2==t.H?57:42,e.i=2==t.H?W(0):se(0),t.oe=-2,pt(t),0)}function On(e){e.We=2*e.h,yt(e),e.ye=We[e.be].Ce,e.ve=We[e.be].Xe,e.me=We[e.be].Fe,e.xe=We[e.be].He,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=k-1,e.we=0,e.ke=0}function Hn(e){let t=Ln(e);return 0==t&&On(e.l),t}function Ye(e,t){g(e,t>>8),g(e,255&t)}function q(e){let t,n=e.l;St(n),t=n.T,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.q,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.T-=t,0==n.T&&(n.re=n.te))}function ke(e,t){let n=e.l;n.Y&&n.Y.Ye&&(e.i=W(e.i,new x(n.q.buffer,n.te+t,n.T-t),n.T-t))}function It(e,t){let n,r=e.l;if(B_(e)||t>5||t<0)return Ae(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.F&&4!=t)return Ae(e,-2);if(0==e.avail_out)return Ae(e,-5);if(n=r.oe,r.oe=t,0!=r.T){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&Tt(t)<=Tt(n)&&4!=t)return Ae(e,-5);if(666==r.F&&0!=e.avail_in)return Ae(e,-5);if(42==r.F&&0==r.H&&(r.F=113),42==r.F){let t,n=8+(r.k-8<<4)<<8;if(t=r.ge>=2||r.be<2?0:r.be<6?1:6==r.be?2:3,n|=t<<6,0!=r.ae&&(n|=rt),n+=31-n%31,Ye(r,n),0!=r.ae&&(Ye(r,e.i>>16),Ye(r,65535&e.i)),e.i=1,r.F=113,q(e),0!=r.T)return r.oe=$,0}if(57==r.F)if(e.i=W(0),g(r,31),g(r,139),g(r,8),r.Y)g(r,(r.Y.Oe?1:0)+(r.Y.Ye?2:0)+(null==r.Y.Pe?0:4)+(null==r.Y.Re?0:8)+(null==r.Y.Je?0:16)),g(r,255&r.Y.Ke),g(r,r.Y.Ke>>>8&255),g(r,r.Y.Ke>>>16&255),g(r,r.Y.Ke>>>24&255),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,255&r.Y.Ve),null!=r.Y.Pe&&(g(r,255&r.Y.Ge),g(r,r.Y.Ge>>>8&255)),r.Y.Ye&&(e.i=W(e.i,r.q,r.T)),r.Ze=0,r.F=69;else if(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,nt),r.F=113,q(e),0!=r.T)return r.oe=$,0;if(69==r.F){if(r.Y&&null!=r.Y.Pe){let t=r.T,n=(65535&r.Y.Ge)-r.Ze;for(;r.T+n>r.ne;){let i=r.ne-r.T;if(M(r.q,r.T,r.Y.Pe,r.Ze,i),r.T=r.ne,ke(e,t),r.Ze+=i,q(e),0!=r.T)return r.oe=$,0;t=0,n-=i}M(r.q,r.T,r.Y.Pe,r.Ze,n),r.T+=n,ke(e,t),r.Ze=0}r.F=73}if(73==r.F){if(r.Y&&r.Y.Re&&r.Y.Re.length){let t,n=r.T;do{if(r.T==r.ne){if(ke(e,n),q(e),0!=r.T)return r.oe=$,0;n=0}t=r.Y.Re[r.Ze++],g(r,t)}while(0!=t);ke(e,n),r.Ze=0}r.F=91}if(91==r.F){if(r.Y&&r.Y.Je&&r.Y.Je.length){let t,n=r.T;do{if(r.T==r.ne){if(ke(e,n),q(e),0!=r.T)return r.oe=$,0;n=0}t=r.Y.Je[r.Ze++],g(r,t)}while(0!=t);ke(e,n)}r.F=103}if(103==r.F){if(r.Y&&r.Y.Ye){if(r.T+2>r.ne&&(q(e),0!=r.T))return r.oe=$,0;g(r,255&e.i),g(r,e.i>>>8&255),e.i=W(0)}if(r.F=113,q(e),0!=r.T)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.F){let n=0==r.be?Rt(r,t):2==r.ge?Bn(r,t):3==r.ge?Un(r,t):We[r.be].Be(r,t);if((2==n||3==n)&&(r.F=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Et(r):5!=t&&(Xe(r,null,0,0),3==t&&(yt(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.H<=0?1:(2==r.H?(g(r,255&e.i),g(r,e.i>>>8&255),g(r,e.i>>>16&255),g(r,e.i>>>24&255),g(r,255&e.total_in),g(r,e.total_in>>>8&255),g(r,e.total_in>>>16&255),g(r,e.total_in>>>24&255)):(Ye(r,e.i>>>16&65535),Ye(r,65535&e.i)),q(e),r.H>0&&(r.H=-r.H),0!=r.T?0:1)}function F_(e){if(B_(e))return-2;let t=e.l,n=t.F;return t.u=Z,t.V=Ve,t.G=Ve,t.q=Z,t.Ee=Z,t.pe=new H(0),t.Le=Z,t.Me=Ve,t.B.length=0,t.C.length=0,t.Se.length=0,t.Y=void 0,t.te=0,t.re=0,t.A=0,113==n?-3:0}function kt(e,t){let n,r,i=e.xe,f=e.ae,_=e.de,l=e.me,o=e.ae>ve(e)?e.ae-ve(e):0,u=e.V,a=e.O,c=e.u[f],s=e.u[f+1],d=e.u[f+_-1],h=e.u[f+_];e.de>=e.ve&&(i>>=2),l>e.ce&&(l=e.ce);do{if(n=t,e.u[n+_]!=h||e.u[n+_-1]!=d||e.u[n]!=c||e.u[n+1]!=s)continue;let i=N.min(_e,e.ce),o=2;for(;o<i&&e.u[f+o]==e.u[n+o];)o++;if(r=o,r>_){if(e.je=t,_=r,r>=l)break;d=e.u[f+_-1],h=e.u[f+_]}}while((t=u[t&a])>o&&0!=--i);return _<=e.ce?_:e.ce}function Nt(e,t){gt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o)}function j(e,t){return Nt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var wt=65535;function Ne(e,t){return e<t?e:t}function Rt(e,t){let n,r,i,f=Ne(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=wt,i=e.L+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Xe(e,null,0,_),e.q[e.T-4]=n,e.q[e.T-3]=n>>8,e.q[e.T-2]=~n,e.q[e.T-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(L_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n)}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae}else e.We-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=Ne(l,e.h-e.le);e.ue=e.ae}return e.v<e.ae&&(e.v=e.ae),_?(e.ze=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.We-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(L_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=Ne(i,e.h-e.le)),e.v<e.ae&&(e.v=e.ae),i=e.L+42>>3,i=Ne(e.ne-i,wt),f=Ne(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=Ne(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Xe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.ze=8),_?2:0)}function C_(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=c_(e,e.ae)),0!=n&&e.ae-n<=ve(e)&&(e.se=kt(e,n)),e.se>=k)if(e.ae,e.je,e.se,r=__(e,e.ae-e.je,e.se-k),e.ce-=e.se,e.se<=e.ye&&e.ce>=k){e.se--;do{e.ae++,n=c_(e,e.ae)}while(0!=--e.se);e.ae++}else e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=u_(e,e.ke,e.u[e.ae+1]);else r=ye(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,!1);if(null!=t)return t}}if(e.le=e.ae<k-1?e.ae:k-1,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Re(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=c_(e,e.ae)),e.de=e.se,e.he=e.je,e.se=k-1,0!=n&&e.de<e.ye&&e.ae-n<=ve(e)&&(e.se=kt(e,n),e.se<=5&&1==e.ge&&(e.se=k-1)),e.de>=k&&e.se<=e.de){let t=e.ae+e.ce-k;e.ae,e.he,e.de,r=__(e,e.ae-1-e.he,e.de-k),e.ce-=e.de-1,e.de-=2;do{++e.ae<=t&&(n=c_(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=k-1,e.ae++,r){let t=j(e,!1);if(null!=t)return t}}else if(e.we){if(r=ye(e,e.u[e.ae-1]),r&&Nt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--}if(e.we&&(r=ye(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<k-1?e.ae:k-1,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Un(e,t){let n,r,i,f;for(;;){if(e.ce<=_e){if(d_(e),e.ce<=_e&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=k&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+_e;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=_e-(f-i),e.se>e.ce&&(e.se=e.ce)}if(e.se>=k?(e.ae,e.ae,e.se,n=__(e,1,e.se-k),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=ye(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Bn(e,t){let n=!1;for(;;){if(0==e.ce&&(d_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=ye(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}var ue=852,m_=592,b_=594,zt=ge.map(e=>e+1),Ct=Te.subarray(0,-1).map(e=>e+3),Fn=[16,1,73,1,200,1],Zn=[144,1,72,1,78,1],Lt=Ee.map(Gt),Ot=Ee.map(Kt);Lt.push(64,2),Ot.push(142,2);var Ht=de.slice(0,-2).map(Gt),Ut=de.slice(0,-2).map(Kt);Ht.push(...Fn),Ut.push(...Zn);var Bt=new E([...Ct,258,0,0]),Ft=new E([...Ct,3,0,0]),Zt=te(Ht),Pt=te(Ut),Mt=new E([...zt,0,0]),Xt=new E([...zt,32769,49153]),Yt=te(Lt),Wt=te(Ot);function Gt(e,t){return t%2?e:e+16}function Kt(e,t){return t%2?e:e+128}function Vt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.L>>>0,c=r.et,s=r.tt,d=(1<<r.nt)-1,h=(1<<r.rt)-1,w=r.h>>>0,k=r.v>>>0,b=r.m>>>0,g=r.it,v=f-(t-e.avail_out),m=f+(e.avail_out-257),x=i+(e.avail_in-5),y=0,p=0,L=0,M=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8}n=c[u&d];t:for(;;){if(L=n.ft,u>>>=L,a-=L,L=n._t,0==L){l[f++]=n.lt;break}if(16&L){if(y=n.lt,L&=15,L){for(;a<L;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}y+=u&(1<<L)-1,u>>>=L,a-=L}for(;a<15;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}n=s[u&h];n:for(;;){if(L=n.ft,u>>>=L,a-=L,L=n._t,16&L){if(p=n.lt,L&=15,L){for(;a<L;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}p+=u&(1<<L)-1,u>>>=L,a-=L}let t=y,c=f-v;if(p>c){let n=p-c;if(n>k&&g){e.msg="invalid distance too far back",r.ot=16209;break e}if(0==b){if(M=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}else if(b<n){M=w+b-n;let e=n-b;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let t=0;t<e;++t)l[f++]=o[M++];if(t-=e,M=0,b<t){for(let e=0;e<b;++e)l[f++]=o[M++];t-=b,M=f-p}}else{if(M=b-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}for(;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}else{for(M=f-p;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}break}if(64&L){e.msg="invalid distance code",r.ot=16209;break e}n=s[n.lt+(u&(1<<L)-1)];continue n}break}if(64&L){if(32&L){r.ot=16191;break e}e.msg="invalid literal/length code",r.ot=16209;break e}n=c[n.lt+(u&(1<<L)-1)];continue t}}while(i<x&&f<m);let E=a>>3;i-=E,a-=E<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<m?m-f+257:257-(f-m),r.p=u>>>0,r.L=a>>>0}function Z_(e,t){let n=[],r=t?ue+b_:ue+m_;return{...Qe(e,0),o:e,ot:16180,ut:!1,H:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Z,kt:0,bt:0,Pe:0,et:n,tt:n,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,Lt:n,Mt:new E(320),Et:new E(288),zt:new v(r).fill(null).map(()=>pe()),Zt:0,it:!0,Nt:0,Wt:0,jt:t}}function pe(e=0,t=0,n=0){return{_t:e,ft:t,lt:n}}function P_(e=1){return{_t:64,ft:e,lt:0}}function jt(e=0){return{_t:96,ft:e,lt:0}}function M_(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Mn={jt:!1,Qt:Bt,Dt:Zt,St:Mt,$t:Yt,qt:20,Tt:257,At:0,It:m_,Ut:!1,Bt:!0},Xn={jt:!0,Qt:Ft,Dt:Pt,St:Xt,$t:Wt,qt:19,Tt:256,At:-1,It:b_,Ut:!0,Bt:!1};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,d,h,w,k,b,g,v,m,x,y,p,L,M,z,Z=new E(Le+1),N=new E(Le+1),W=l?Xn:Mn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.Ct,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return W.Bt?(y=P_(1),r.Ct[0]=y,r.Ct[1]=y,i.Ct=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return-1;if(w>0&&(0==e||1!=c))return-1;for(N[1]=0,o=1;o<Le;o++)N[o+1]=N[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[N[t[u]]++]=u);switch(e){case 0:L=M=f,z=W.qt;break;case 1:L=W.Qt,M=W.Dt,z=W.Tt;break;default:L=W.St,M=W.$t,z=W.At}if(b=0,u=0,o=a,p=_.Ct,d=s,h=0,m=-1,k=1<<s,x=k-1,1==e&&(W.Ut?k>=ue:k>ue)||2==e&&(W.Ut?k>=W.It:k>W.It))return 1;for(;;){y=Yn(f,u,o,h,e,L,M,z,W.jt),g=1<<o-h,v=1<<d,a=v;do{v-=g;let e=(b>>h)+v;r.Ct[p+e]={...y}}while(0!=v);for(g=1<<o-1;b&g;)g>>=1;if(0!=g?(b&=g-1,b+=g):b=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]]}if(o>s&&(b&x)!=m){for(0==h&&(h=s),p+=1<<d,d=o-h,w=1<<d;d+h<c&&(w-=Z[d+h],!(w<=0));)d++,w<<=1;if(k+=1<<d,1==e&&(W.Ut?k>=ue:k>ue)||2==e&&(W.Ut?k>=W.It:k>W.It))return 1;m=b&x,r.Ct[_.Ct+m]={_t:d,ft:s,lt:p-_.Ct}}}if(0!=b)for(y=P_(o-h);0!=b;){for(0!=h&&(b&x)!=m&&(h=0,o=s,p=_.Ct,d=s,y.ft=o),r.Ct[p+(b>>h)]={...y},g=1<<o-1;b&g;)g>>=1;0!=g?(b&=g-1,b+=g):b=0}return _.Ct+=k,i.Ct=s,0}function Yn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=pe(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=pe(_[i],n-r,f[i])}else{let i=o?e[t]:e[t]-l;u=pe(_[i],n-r,f[i])}else u=jt(n-r);return u}var Vn={Xt:!0,Ft:new v(544),Ht:[],Yt:[]},jn={Xt:!0,Ft:new v(544),Ht:[],Yt:[]};function Jt(e){let t=Je();return t.l=Z_(t,!!e),t}function Ke(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.jt&&(t.ot<16191||t.ot>16209)||!t.jt&&(t.ot<16180||t.ot>16211))))}function Jn(e){let t;return Ke(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.H&&(e.i=1&t.H),t.ot=t.jt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.jt?65536:32768,delete t.Y,t.p=0,t.L=0,t.et=t.zt,t.tt=t.zt,t.Lt=t.zt,t.it=!0,t.Nt=-1,0)}function Qn(e){let t;return Ke(e)?-2:(t=e.l,t.h=0,t.v=0,t.m=0,Jn(e))}function $n(e,t){let n,r,i;if(Ke(e))return-2;if(r=e.l,r.jt?(t=-16,i=16):i=15,t<0){if(t<-i)return-2;n=0,t=-t}else n=5+(t>>4),!r.jt&&t<48&&(t&=15);return t&&(t<8||t>i)?-2:(r.u.length>0&&r.k!=t&&(r.u=Z),r.H=n,r.k=t,Qn(e))}function Qt(e,t){let n,r;if(!e)return-2;e.msg="";let i=!!e.l.jt;return r=Z_(e,i),i&&(t=-16),e.l=r,r.o=e,r.ot=r.jt?16191:16180,n=$n(e,t),n}function er(e){let t=e.jt?jn:Vn,n={Ct:0};if(t.Xt){let r,i,f;for(r=0;r<144;)e.Mt[r++]=8;for(;r<256;)e.Mt[r++]=9;for(;r<280;)e.Mt[r++]=7;for(;r<288;)e.Mt[r++]=8;for(let e=0;e<544;e++)t.Ft[e]=pe();f=t.Ft,t.Ht=f,i=9;let _={Ct:f},l={Ct:i},o={Ct:0};for(Oe(1,e.Mt,288,_,l,e.Et,o,e.jt),f=_.Ct,i=l.Ct,e.Zt=o.Ct,r=0;r<32;)e.Mt[r++]=5;i=5;let u=o.Ct,a={Ct:f},c={Ct:i};n.Ct=u,Oe(2,e.Mt,32,a,c,e.Et,n,e.jt),t.Yt=f.slice(u),t.Xt=!1}e.et=t.Ht,e.nt=9,e.tt=t.Yt,e.rt=5,e.Zt=n.Ct}function _r(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.k),r.u)))return 1;if(0==r.h&&(r.h=1<<r.k,r.m=0,r.v=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.v=r.h;else{let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.v=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.v<r.h&&(r.v+=e))}return 0}var h_=class extends z{constructor(){super("Need more input")}};function $t(e,t){let n,r,i,f,_,l,o,u,a,c,s,d,h,w,k,b,g,v=new x(4);if(Ke(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ot&&(n.ot=16192),E(),c=l,s=o,g=0;try{for(;;)switch(n.ot){case 16180:if(0==n.H){n.ot=16192;break}if(Q(16),2&n.H&&35615==u){0==n.k&&(n.k=15),n.ht=W(0),n.ht=p(n.ht,u),N(),n.ot=16181;break}if(n.Y&&(n.Y.Ot=-1),!(1&n.H)||((D(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ot=16209;break}if(8!=D(4)){e.msg="unknown compression method",n.ot=16209;break}if(S(4),b=D(4)+8,0==n.k&&(n.k=b),b>15||b>n.k){e.msg="invalid window size",n.ot=16209;break}n.dt=1<<b,n.st=0,e.i=n.ht=se(0),n.ot=512&u?16189:16191,N();break;case 16181:if(Q(16),n.st=u,8!=(255&n.st)){e.msg="unknown compression method",n.ot=16209;break}if(57344&n.st){e.msg="unknown header flags set",n.ot=16209;break}n.Y&&(n.Y.Oe=u>>8&1),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N(),n.ot=16182;case 16182:Q(32),n.Y&&(n.Y.Ke=u),512&n.st&&4&n.H&&(n.ht=L(n.ht,u)),N(),n.ot=16183;case 16183:Q(16),n.Y&&(n.Y.Pt=255&u,n.Y.Ve=u>>8),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N(),n.ot=16184;case 16184:1024&n.st?(Q(16),n.kt=u,n.Y&&(n.Y.Ge=u),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N()):n.Y&&(n.Y.Pe=Z),n.ot=16185;case 16185:if(1024&n.st&&(d=n.kt,d>l&&(d=l),d&&(n.Y&&n.Y.Pe&&n.Y.Rt&&(b=n.Y.Ge-n.kt)<n.Y.Rt&&M(n.Y.Pe,b,r,i,d),512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,n.kt-=d),n.kt))return m();n.kt=0,n.ot=16186;case 16186:if(2048&n.st){if(0==l)return m();d=0;do{b=r[i+d++],n.Y&&n.Y.Jt&&n.kt<n.Y.Jt&&(n.Y.Re[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return m()}else n.Y&&(n.Y.Re=Z);n.kt=0,n.ot=16187;case 16187:if(4096&n.st){if(0==l)return m();d=0;do{b=r[i+d++],n.Y&&n.Y.Kt&&n.kt<n.Y.Kt&&(n.Y.Je[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return m()}else n.Y&&(n.Y.Je=Z);n.ot=16188;case 16188:if(512&n.st){if(Q(16),4&n.H&&u!=(65535&n.ht)){e.msg="header crc mismatch",n.ot=16209;break}N()}n.Y&&(n.Y.Ye=n.st>>9&1,n.Y.Ot=1),e.i=n.ht=W(0),n.ot=16191;break;case 16189:Q(32),e.i=n.ht=M_(u),N(),n.ot=16190;case 16190:if(!n.ct)return z(),2;e.i=n.ht=se(0),n.ot=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n.ut){$(),n.ot=16206;break}switch(Q(3),n.ut=!!D(1),S(1),D(2)){case 0:n.ot=16193;break;case 1:if(er(n),n.ot=16199,6==t)return S(2),m();break;case 2:n.ot=16196;break;case 3:e.msg="invalid block type",n.ot=16209}S(2);break;case 16193:if($(),Q(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ot=16209;break}if(n.kt=65535&u,N(),n.ot=16194,6==t)return m();case 16194:n.ot=16195;case 16195:if(d=n.kt,d){if(d>l&&(d=l),d>o&&(d=o),0==d)return m();M(f,_,r,i,d),l-=d,i+=d,o-=d,_+=d,n.kt-=d;break}n.ot=16191;break;case 16196:if(Q(14),n.vt=D(5)+257,S(5),n.xt=D(5)+1,S(5),n.gt=D(4)+4,S(4),n.vt>286||!n.jt&&n.xt>30){e.msg=n.jt?"too many length":"too many length or distance symbols",n.ot=16209;break}n.yt=0,n.ot=16197;case 16197:for(;n.yt<n.gt;)Q(3),n.Mt[Se[n.yt++]]=D(3),S(3);for(;n.yt<19;)n.Mt[Se[n.yt++]]=0;n.Lt=n.zt,n.et=n.tt=n.Lt,n.nt=7;let c={Ct:n.Lt},v={Ct:n.nt},x={Ct:0};if(g=Oe(0,n.Mt,19,c,v,n.Et,x,n.jt),n.Lt=c.Ct,n.nt=v.Ct,g){e.msg="invalid code lengths set",n.ot=16209;break}n.yt=0,n.ot=16198;case 16198:for(;n.yt<n.vt+n.xt;){for(;w=n.et[D(n.nt)],!(w.ft<=a);)j();if(w.lt<16)S(w.ft),n.Mt[n.yt++]=w.lt;else{if(16==w.lt){if(Q(w.ft+2),S(w.ft),0==n.yt){e.msg="invalid bit length repeat",n.ot=16209;break}b=n.Mt[n.yt-1],d=3+D(2),S(2)}else 17==w.lt?(Q(w.ft+3),S(w.ft),b=0,d=3+D(3),S(3)):(Q(w.ft+7),S(w.ft),b=0,d=11+D(7),S(7));if(n.yt+d>n.vt+n.xt){e.msg="invalid bit length repeat",n.ot=16209;break}for(;d--;)n.Mt[n.yt++]=b}}if(16209==n.ot)break;if(0==n.Mt[256]){e.msg="invalid code -- missing end-of-block",n.ot=16209;break}n.Lt=n.zt,n.nt=9;let q={Ct:n.Lt},T={Ct:n.nt},A={Ct:0};g=Oe(1,n.Mt,n.vt,q,T,n.Et,A,n.jt),n.Lt=q.Ct,n.nt=T.Ct;let I=A.Ct;if(n.et=n.Lt.slice(0,I),g){e.msg="invalid literal/lengths set",n.ot=16209;break}n.rt=6;let U=n.Mt.subarray(n.vt,n.vt+n.xt),B={Ct:n.Lt},C={Ct:n.rt},X={Ct:I};if(g=Oe(2,U,n.xt,B,C,n.Et,X,n.jt),n.Lt=B.Ct,n.rt=C.Ct,n.tt=n.Lt.slice(I),g){e.msg="invalid distances set",n.ot=16209;break}if(n.ot=16199,6==t)return m();case 16199:n.ot=16200;case 16200:if(!n.jt&&l>=6&&o>=258){z(),Vt(e,s),E(),16191==n.ot&&(n.Nt=-1);break}for(n.Nt=0;w=n.et[D(n.nt)],!(w.ft<=a);)j();if(w._t&&!(240&w._t)){for(k=w;w=n.et[k.lt+(D(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)j();S(k.ft),n.Nt+=k.ft}if(S(w.ft),n.Nt+=w.ft,n.kt=w.lt,0==w._t){n.ot=16205;break}if(32&w._t){n.Nt=-1,n.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",n.ot=16209;break}n.Pe=w._t&(n.jt?31:15),n.ot=16201;case 16201:n.Pe&&(Q(n.Pe),n.kt+=D(n.Pe),S(n.Pe),n.Nt+=n.Pe),n.Wt=n.kt,n.ot=16202;case 16202:for(;w=n.tt[D(n.rt)],!(w.ft<=a);)j();if(!(240&w._t)){for(k=w;w=n.tt[k.lt+(D(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)j();S(k.ft),n.Nt+=k.ft}if(S(w.ft),n.Nt+=w.ft,64&w._t){e.msg="invalid distance code",n.ot=16209;break}n.bt=w.lt,n.Pe=15&w._t,n.ot=16203;case 16203:n.Pe&&(Q(n.Pe),n.bt+=D(n.Pe),S(n.Pe),n.Nt+=n.Pe),n.ot=16204;case 16204:if(0==o)return m();if(d=s-o,n.bt>d){if(d=n.bt-d,d>n.v&&n.it){e.msg="invalid distance too far back",n.ot=16209;break}d>n.m?(d-=n.m,h=n.h-d):h=n.m-d,d>n.kt&&(d=n.kt),d>o&&(d=o);for(let e=0;e<d;++e)f[_]=255&n.u[h],++_,++h}else{h=_-n.bt,d=n.kt,d>o&&(d=o);for(let e=0;e<d;++e)f[_]=f[h],++_,++h}d>o&&(d=o),o-=d,n.kt-=d,0==n.kt&&(n.ot=16200);break;case 16205:if(0==o)return m();f[_++]=n.kt,o--,n.ot=16200;break;case 16206:if(n.H){if(Q(32),s-=o,e.total_out+=s,n.wt+=s,4&n.H&&s){let t=f.subarray(_-s,_);e.i=n.ht=y(n.ht,t,s)}if(s=o,4&n.H&&(n.st?u:M_(u)>>>0)!=n.ht){e.msg="incorrect data check",n.ot=16209;break}N()}n.ot=16207;case 16207:if(n.H&&n.st){if(Q(32),4&n.H&&u!=(4294967295&n.wt)){e.msg="incorrect length check",n.ot=16209;break}N()}n.ot=16208;case 16208:return g=1,m();case 16209:return g=-3,m();case 16210:return-4;default:return-2}}catch(e){if(e instanceof h_)return m();throw e}function m(){if(z(),n.h||s!=e.avail_out&&n.ot<16209&&(n.jt?n.ot<16208:n.ot<16206)||4!=t){let t=s-e.avail_out;if(_r(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ot=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.wt+=s,4&n.H&&s&&(e.i=n.ht=y(n.ht,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.L+(n.ut?64:0)+(16191==n.ot?128:0)+(16199==n.ot||16194==n.ot?256:0),(0==c&&0==s&&0==g||4==t&&0==g)&&(g=-5),g}function y(e,t,r){return n.st?W(e,t,r):se(e,t,r)}function p(e,t){return v[0]=255&t,v[1]=t>>>8&255,W(e,v,2)>>>0}function L(e,t){return v[0]=255&t,v[1]=t>>>8&255,v[2]=t>>>16&255,v[3]=t>>>24&255,W(e,v,4)>>>0}function E(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.L}function z(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.L=a}function N(){u=0,a=0}function j(){if(0==l)throw new h_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8}function Q(e){for(;a<e;)j()}function D(e){return u&(1<<e)-1}function S(e){u>>>=e,a-=e}function $(){u>>>=7&a,a-=7&a}}function en(e){return Ke(e)?-2:0}var X_=65536,tr=32768,Y_=class{constructor(e=16,t=X_){this.Vt=[],this.Gt=e;for(let n=0;n<N.min(e,4);n++)this.Vt.push(new x(t))}acquire(e=X_){for(let t=this.Vt.length-1;t>=0;t--){let n=this.Vt[t];if(n.length>=e)return this.Vt.splice(t,1),n}return new x(e)}release(e){this.Vt.length<this.Gt&&this.Vt.push(e)}};function _n(e){let t=new Y_(32,X_),n=null;function r(e){try{t.release(e)}catch{}}return new U({start(){},transform(i,f){if(!n){let t=e.en(),r=e.tn(t);if(0!=r&&0!=r)throw new z("init failed: "+r);n={o:t}}let _=n.o,l=0;for(;l<i.length;){let n=N.min(i.length-l,tr),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=!1;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.nn(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};i=!0,f.enqueue(r)}if(0!=r&&1!=r)throw new z("process error: "+r)}finally{i||r(n)}}l+=n}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=!1;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.nn(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};_=!0,i.enqueue(r)}if(1==r)break;if(0!=r)throw new z("finalization error: "+r)}finally{_||r(n)}}let _=e.fn(f);if(0!=_&&0!=_)throw new z("end failed: "+_)}})}function tn(){return new U({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}function nr(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return _n({en:()=>Dt(),tn:e=>vt(e,r,8,n,8,0),nn:It,fn:F_})}function rr(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:15;return _n({en:()=>Jt("deflate64-raw"==e),tn:e=>Qt(e,t),nn:$t,fn:en})}var x_=class{constructor(e="deflate",t){let n=nr(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(tn())}},p_=class{constructor(e="deflate"){let t=rr(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(tn())}};export{x_ as CompressionStream,x_ as CompressionStreamZlib,p_ as DecompressionStream,p_ as DecompressionStreamZlib};
@@ -0,0 +1,175 @@
1
+ /*
2
+ Copyright (c) 2025 Gildas Lormeau. All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in
12
+ the documentation and/or other materials provided with the distribution.
13
+
14
+ 3. The names of the authors may not be used to endorse or promote products
15
+ derived from this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
18
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
19
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
20
+ INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+ /* global navigator, crypto, ReadableStream, WritableStream */
30
+
31
+ export {
32
+ createOPFSTempStream
33
+ };
34
+
35
+ const DEFAULT_THRESHOLD = 1024 * 1024;
36
+ const DEFAULT_DIRECTORY_NAME = ".zip.js-temp";
37
+
38
+ // Builds a `createTempStream` factory (see `ZipWriter`'s option of the same name) that spills the
39
+ // data of a buffered entry to the Origin Private File System (OPFS) instead of keeping it in memory.
40
+ //
41
+ // It is meant for the buffered-write path (keep-order concurrent `add()`, non-seekable output, ...),
42
+ // where the compressed data of an entry has to be held until the writer is free. In memory that data
43
+ // grows with the entry size; here it is written to an OPFS file and streamed back, so peak memory
44
+ // stays bounded.
45
+ //
46
+ // It is hybrid on purpose: an entry stays fully in memory until it exceeds `thresholdBytes`, and only
47
+ // then spills to a file. Small entries never touch the disk, so a workload made of many tiny entries
48
+ // keeps the speed of the in-memory default; only genuinely large entries pay for (and benefit from)
49
+ // the file round-trip.
50
+ //
51
+ // OPFS is a browser/worker feature; there is no fallback here. Feature-detect
52
+ // `navigator.storage.getDirectory` (or inject `getDirectory`) before using it, and let the writer use
53
+ // its in-memory default elsewhere.
54
+ //
55
+ // Options:
56
+ // thresholdBytes spill to a file once a buffered entry exceeds this size (default 1 MiB).
57
+ // directoryName name of the OPFS sub-directory holding the temp files (default ".zip.js-temp").
58
+ // getDirectory returns (or resolves to) the root `FileSystemDirectoryHandle`. Defaults to
59
+ // `navigator.storage.getDirectory()`. Inject it to run inside a worker with a
60
+ // pre-obtained handle, or to test against a mock.
61
+ function createOPFSTempStream(options = {}) {
62
+ const {
63
+ thresholdBytes = DEFAULT_THRESHOLD,
64
+ directoryName = DEFAULT_DIRECTORY_NAME,
65
+ getDirectory = () => navigator.storage.getDirectory()
66
+ } = options;
67
+ // The temp directory is resolved once and shared by every entry of this factory.
68
+ let directoryHandlePromise;
69
+ function getTempDirectory() {
70
+ if (!directoryHandlePromise) {
71
+ directoryHandlePromise = Promise.resolve(getDirectory())
72
+ .then(root => root.getDirectoryHandle(directoryName, { create: true }));
73
+ }
74
+ return directoryHandlePromise;
75
+ }
76
+ return async function () {
77
+ const memoryChunks = [];
78
+ let bufferedSize = 0;
79
+ let spilled = false;
80
+ let fileName, fileHandle, fileWriter, fileReader;
81
+
82
+ // Move whatever is buffered in memory to a fresh OPFS file, then keep writing to that file.
83
+ // `FileSystemWritableFileStream` is a `WritableStream`, so it is driven through the standard
84
+ // writer API rather than its non-standard `write()`/`seek()` convenience methods.
85
+ async function spillToFile() {
86
+ const directoryHandle = await getTempDirectory();
87
+ fileName = crypto.randomUUID();
88
+ fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
89
+ fileWriter = (await fileHandle.createWritable()).getWriter();
90
+ spilled = true;
91
+ for (const chunk of memoryChunks) {
92
+ await fileWriter.write(chunk);
93
+ }
94
+ // Release the in-memory copy; from now on data lives in the file.
95
+ memoryChunks.length = 0;
96
+ }
97
+
98
+ const writable = new WritableStream({
99
+ async write(chunk) {
100
+ if (spilled) {
101
+ await fileWriter.write(chunk);
102
+ } else {
103
+ memoryChunks.push(chunk);
104
+ bufferedSize += chunk.length;
105
+ if (bufferedSize > thresholdBytes) {
106
+ await spillToFile();
107
+ }
108
+ }
109
+ },
110
+ async close() {
111
+ if (fileWriter) {
112
+ await fileWriter.close();
113
+ fileWriter = null;
114
+ }
115
+ }
116
+ });
117
+
118
+ // The writer always closes `writable` before reading `readable`, so `spilled` is final by the
119
+ // time `pull` runs. It is read lazily here (not in `start`, which runs at construction time,
120
+ // before anything is written and before `spilled` is known).
121
+ let memoryIndex = 0;
122
+ const readable = new ReadableStream({
123
+ async pull(controller) {
124
+ if (spilled) {
125
+ if (!fileReader) {
126
+ const file = await fileHandle.getFile();
127
+ fileReader = file.stream().getReader();
128
+ }
129
+ const { value, done } = await fileReader.read();
130
+ if (done) {
131
+ controller.close();
132
+ } else {
133
+ controller.enqueue(value);
134
+ }
135
+ } else if (memoryIndex < memoryChunks.length) {
136
+ controller.enqueue(memoryChunks[memoryIndex++]);
137
+ } else {
138
+ controller.close();
139
+ }
140
+ },
141
+ async cancel(reason) {
142
+ if (fileReader) {
143
+ await fileReader.cancel(reason);
144
+ }
145
+ }
146
+ }, { highWaterMark: 0 });
147
+ // highWaterMark 0: do not pull (and possibly close on an empty buffer) until the consumer
148
+ // actually reads, which the writer only does once the data has been fully written.
149
+
150
+ // Called by the writer on every exit path (success, error, abort). Best-effort: it must never
151
+ // throw. Closes any still-open file writer, then deletes the temp file.
152
+ async function dispose() {
153
+ if (fileWriter) {
154
+ try {
155
+ await fileWriter.close();
156
+ } catch {
157
+ // ignored
158
+ }
159
+ fileWriter = null;
160
+ }
161
+ if (fileName) {
162
+ try {
163
+ const directoryHandle = await getTempDirectory();
164
+ await directoryHandle.removeEntry(fileName);
165
+ } catch {
166
+ // ignored
167
+ }
168
+ fileHandle = fileName = null;
169
+ }
170
+ memoryChunks.length = 0;
171
+ }
172
+
173
+ return { writable, readable, dispose };
174
+ };
175
+ }