@zip.js/zip.js 2.8.47 → 2.8.48

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.
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.8.47",
3
+ "version": "2.8.48",
4
4
  "exports": {
5
5
  ".": "./index.js",
6
6
  "./external": "./lib/zip-fs-external.js",
@@ -1901,6 +1901,8 @@ function getInt32(number) {
1901
1901
  */
1902
1902
 
1903
1903
 
1904
+ const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
1905
+
1904
1906
  function toCompatibleReadable(readable) {
1905
1907
  if (readable instanceof ReadableStream) {
1906
1908
  return readable;
@@ -1921,6 +1923,29 @@ function toCompatibleReadable(readable) {
1921
1923
  });
1922
1924
  }
1923
1925
 
1926
+ function streamToBlob(readable, contentType) {
1927
+ readable = toCompatibleReadable(readable);
1928
+ if (responseSupportsGlobalReadable()) {
1929
+ const options = {};
1930
+ if (contentType) {
1931
+ options.headers = [[HTTP_HEADER_CONTENT_TYPE, contentType]];
1932
+ }
1933
+ return new Response(readable, options).blob();
1934
+ }
1935
+ const chunks = [];
1936
+ return readable
1937
+ .pipeTo(new WritableStream({
1938
+ write(chunk) {
1939
+ chunks.push(chunk);
1940
+ }
1941
+ }))
1942
+ .then(() => new Blob(chunks, contentType ? { type: contentType } : {}));
1943
+ }
1944
+
1945
+ function responseSupportsGlobalReadable() {
1946
+ return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
1947
+ }
1948
+
1924
1949
  function toCompatibleWritable(writable) {
1925
1950
  if (writable instanceof WritableStream) {
1926
1951
  return writable;
@@ -3264,7 +3289,6 @@ const HTTP_HEADER_CONTENT_ENCODING = "Content-Encoding";
3264
3289
  const HTTP_HEADER_CONTENT_RANGE = "Content-Range";
3265
3290
  const HTTP_HEADER_ACCEPT_RANGES = "Accept-Ranges";
3266
3291
  const HTTP_HEADER_RANGE = "Range";
3267
- const HTTP_HEADER_CONTENT_TYPE = "Content-Type";
3268
3292
  const HTTP_HEADER_ETAG = "Etag";
3269
3293
  const HTTP_HEADER_LAST_MODIFIED = "Last-Modified";
3270
3294
  const HTTP_METHOD_HEAD = "HEAD";
@@ -3469,10 +3493,6 @@ class BlobReader extends Reader {
3469
3493
  }
3470
3494
  }
3471
3495
 
3472
- function responseSupportsGlobalReadable() {
3473
- return typeof Blob.prototype.stream != FUNCTION_TYPE || new Blob([]).stream() instanceof ReadableStream;
3474
- }
3475
-
3476
3496
  class BlobWriter extends Stream {
3477
3497
 
3478
3498
  constructor(contentType) {
@@ -3484,22 +3504,7 @@ class BlobWriter extends Stream {
3484
3504
  return transformStream.writable;
3485
3505
  }
3486
3506
  });
3487
- if (responseSupportsGlobalReadable()) {
3488
- const headers = [];
3489
- if (contentType) {
3490
- headers.push([HTTP_HEADER_CONTENT_TYPE, contentType]);
3491
- }
3492
- writer.blob = new Response(transformStream.readable, { headers }).blob();
3493
- } else {
3494
- const chunks = [];
3495
- writer.blob = transformStream.readable
3496
- .pipeTo(new WritableStream({
3497
- write(chunk) {
3498
- chunks.push(chunk);
3499
- }
3500
- }))
3501
- .then(() => new Blob(chunks, { type: contentType }));
3502
- }
3507
+ writer.blob = streamToBlob(transformStream.readable, contentType);
3503
3508
  writer.blob.catch(() => { });
3504
3509
  }
3505
3510
 
@@ -4573,7 +4578,7 @@ class ZipReader {
4573
4578
  const { config } = zipReader;
4574
4579
  await initStream(reader);
4575
4580
  if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
4576
- reader = new BlobReader(await new Response(reader.readable).blob());
4581
+ reader = new BlobReader(await streamToBlob(reader.readable));
4577
4582
  await initStream(reader);
4578
4583
  }
4579
4584
  if (reader.size < END_OF_CENTRAL_DIR_LENGTH) {
@@ -4842,7 +4847,7 @@ class ZipReader {
4842
4847
  entry.arrayBuffer = async options => {
4843
4848
  const writer = new TransformStream();
4844
4849
  const [arrayBuffer] = await Promise.all([
4845
- new Response(writer.readable).arrayBuffer(),
4850
+ streamToBlob(writer.readable).then(blob => blob.arrayBuffer()),
4846
4851
  fileEntry.getData(writer, entry, zipReader.readRanges, options)]);
4847
4852
  return arrayBuffer;
4848
4853
  };
@@ -7650,7 +7655,7 @@ function createOPFSTempStream(options = {}) {
7650
7655
 
7651
7656
  async function spillToFile() {
7652
7657
  const directoryHandle = await getTempDirectory();
7653
- fileName = crypto.randomUUID();
7658
+ fileName = getRandomFileName$1();
7654
7659
  fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7655
7660
  fileWriter = (await fileHandle.createWritable()).getWriter();
7656
7661
  spilled = true;
@@ -7731,6 +7736,13 @@ function createOPFSTempStream(options = {}) {
7731
7736
  };
7732
7737
  }
7733
7738
 
7739
+ function getRandomFileName$1() {
7740
+ if (crypto.randomUUID) {
7741
+ return crypto.randomUUID();
7742
+ }
7743
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
7744
+ }
7745
+
7734
7746
  /*
7735
7747
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7736
7748
 
@@ -7774,7 +7786,7 @@ function createBlobTempStream(options = {}) {
7774
7786
 
7775
7787
  async function spillToBlob() {
7776
7788
  const transformStream = new TransformStream();
7777
- blobPromise = new Response(transformStream.readable).blob();
7789
+ blobPromise = streamToBlob(transformStream.readable);
7778
7790
  blobWriter = transformStream.writable.getWriter();
7779
7791
  spilled = true;
7780
7792
  for (const chunk of memoryChunks) {
@@ -7914,7 +7926,7 @@ function createSyncAccessHandleTempStream(options = {}) {
7914
7926
 
7915
7927
  async function spillToFile() {
7916
7928
  const directoryHandle = await getTempDirectory();
7917
- fileName = crypto.randomUUID();
7929
+ fileName = getRandomFileName();
7918
7930
  const fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
7919
7931
  accessHandle = await fileHandle.createSyncAccessHandle();
7920
7932
  spilled = true;
@@ -7994,6 +8006,13 @@ function createSyncAccessHandleTempStream(options = {}) {
7994
8006
  };
7995
8007
  }
7996
8008
 
8009
+ function getRandomFileName() {
8010
+ if (crypto.randomUUID) {
8011
+ return crypto.randomUUID();
8012
+ }
8013
+ return Array.from(crypto.getRandomValues(new Uint8Array(16)), byteValue => byteValue.toString(16).padStart(2, "0")).join("");
8014
+ }
8015
+
7997
8016
  /*
7998
8017
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
7999
8018
 
@@ -1 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,d=117853008,u=22,f=20,w=56,p=21589,m=2048,h=16384,y=2048,b=1024,S="/",E=30,g=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,A=1/0,F="undefined",R="function",D=new Uint8Array;let U=2;try{typeof navigator!=F&&navigator.hardwareConcurrency&&(U=navigator.hardwareConcurrency)}catch{}const k={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:U,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=F&&CompressionStream,DecompressionStream:typeof DecompressionStream!=F&&DecompressionStream},T=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],O={...k};function C(){return O}function v(t){return Math.max(t.chunkSize,64)}function M(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(O[e]=r)}}function I(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function N(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(k[e]=r)}M(t)}function j(){for(const t of T)delete O[t];Object.assign(O,k)}const _="Invalid codec definition",P="Reserved compression method",W="Invalid codec module",L="string",B=[0,8,9,99],V=new Map,Z=new Map;function H(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=L||!n.length)throw Error(_);if(B.includes(r))throw Error(P);const c=typeof s==R||typeof o==R;if(!(c||typeof a==L&&a.length))throw Error(_);V.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&G(n,{CompressionStream:s,DecompressionStream:o})}function q(t){const e=V.get(t);if(e){let r;V.delete(t),V.forEach(t=>r=r||t.format==e.format),r||Z.delete(e.format)}}function K(t){return V.get(t)}function Y(t){return Z.get(t)}function G(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=R&&typeof n!=R)throw Error(W);Z.set(t,{CompressionStream:r,DecompressionStream:n})}const X=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;X[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=X[e-1][t];X[e][t]=r>>>8^X[0][255&r]}const[J,Q,$,tt,et,rt,nt,at]=X;class st{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=at[255&t]^nt[t>>>8&255]^rt[t>>>16&255]^et[t>>>24&255]^tt[255&r]^$[r>>>8&255]^Q[r>>>16&255]^J[r>>>24&255]}}for(;r>n;n++)e=e>>>8^J[255&(e^t[n])];this.o=e}get(){return~this.o}}class ot extends TransformStream{constructor(){let t;const e=new st;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function it(t){if(typeof TextEncoder==F){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}function ct(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function dt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ut={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ut.l(r);return 32===n?t.concat(e):ut.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ut.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=ut.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=ut.l(a);return n.push(ut.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ft={bytes:{A(t){const e=ut.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(ut.S(8*(3&r),n)),e}}},wt=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=ft.C.F(t));const r=e.T=ut.concat(e.T,t),n=e.O,a=e.O=n+ut.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.v(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}M(){const t=this;let e=t.T;const r=t.U;e=ut.concat(e,[ut.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.v(e.splice(0,16));return t.reset(),r}I(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}v(t){const e=this,r=e.U,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.I(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},pt={importKey:t=>new pt.j(ft.bytes.F(t)),_(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ut;for(e=ft.bytes.F(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.P=wt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).M());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t.P(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.M(),r=new t.P(t.W[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mt=typeof crypto!=F&&typeof crypto.getRandomValues==R,ht="Invalid password",yt="Invalid signature",bt=yt,St="zipjs-abort-check-password",Et="Crypto API not supported";function gt(t){if(mt)return crypto.getRandomValues(t);throw Error(Et)}const xt=16,zt={name:"PBKDF2"},At=Object.assign({hash:{name:"HMAC"}},zt),Ft=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),Rt=["deriveBits"],Dt=[8,12,16],Ut=[16,24,32],kt=10,Tt=[0,0,0,0],Ot=typeof crypto!=F,Ct=Ot&&crypto.subtle,vt=Ot&&typeof Ct!=F,Mt=ft.bytes,It=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},Nt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=ut.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return ut.h(e,a)}},jt=pt.j;let _t=Ot&&vt&&typeof Ct.importKey==R,Pt=Ot&&vt&&typeof Ct.deriveBits==R;class Wt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Zt(t,e,r,qt(n,0,Dt[e])),s=qt(n,Dt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ht)})(r,s,a,qt(t,0,Dt[s]+2)),t=qt(t,Dt[s]+2),n?e.error(Error(St)):o()):await i;const c=new Uint8Array(t.length-kt-(t.length-kt)%xt);e.enqueue(Vt(r,t,c,0,kt,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=qt(n,0,n.length-kt),i=qt(n,n.length-kt);let c=D;if(o.length){const t=Yt(Mt,o);r.update(t);const n=e.update(t);c=Kt(Mt,n)}const l=qt(Kt(Mt,r.digest()),0,kt);let d=n.length<kt?1:0;for(let t=0;kt>t;t++)d|=l[t]^i[t];if(d&&a)throw Error(bt);t.enqueue(c)}}})}}class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=D;n?(i=await(async(t,e,r)=>{const n=gt(new Uint8Array(Dt[e]));return ct(n,await Zt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%xt);c.set(i,0),e.enqueue(Vt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=D;if(n.length){const t=e.update(Yt(Mt,n));r.update(t),s=Kt(Mt,t)}const o=Kt(Mt,r.digest()).slice(0,kt);t.enqueue(ct(s,o))}}})}}function Bt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Ht(e,r),strength:n-1,pending:D})}function Vt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=ct(c,e));const l=e.length-a;let d;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%xt)),d=0;l-xt>=d;d+=xt){const t=Yt(Mt,qt(e,d,d+xt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Kt(Mt,a),d+n)}return t.pending=qt(e,d),r}async function Zt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!_t)return pt.importKey(e);try{return await Ct.importKey("raw",e,r,!1,a)}catch{return _t=!1,pt.importKey(e)}})(0,r,At,0,Rt),s=await(async(t,e,r)=>{if(!Pt)return pt._(e,t.salt,Ft.iterations,r);try{return await Ct.deriveBits(t,e,r)}catch{return Pt=!1,pt._(e,t.salt,Ft.iterations,r)}})(Object.assign({salt:n},Ft),a,8*(2*Ut[e]+2)),o=new Uint8Array(s),i=Yt(Mt,qt(o,0,Ut[e])),c=Yt(Mt,qt(o,Ut[e],2*Ut[e])),l=qt(o,2*Ut[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Nt(new It(i),Array.from(Tt)),st:new jt(c)}),l}function Ht(t,e){return e===z?it(t):e}function qt(t,e,r){return t.subarray(e,r)}function Kt(t,e){return t.A(e)}function Yt(t,e){return t.F(e)}class Gt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ht);t=t.subarray(12)}n?e.error(Error(St)):e.enqueue(Qt(r,t))}})}}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set($t(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set($t(r,t),a),e.enqueue(n)}})}}function Jt(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new st(n[0]),ct:new st(n[2])}),r)for(let e=0;e<r.length;e++)te(t,r[e]);else for(let r=0;r<e.length;r++)te(t,e.charCodeAt(r))})(t,e,r)}function Qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,r[n]);return r}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,e[n]);return r}function te(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=ne(Math.imul(ne(r+re(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function ee(t){const e=2|t.keys[2];return re(Math.imul(e,1^e)>>>8)}function re(t){return 255&t}function ne(t){return 4294967295&t}function ae(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function se(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const oe="Invalid uncompressed size",ie="Invalid compressed data",ce=yt,le="deflate-raw",de="gzip",ue=[31,139,8];class fe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&Y(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new ot,y=ge(y,p)),a)if(b)y=xe(y,Se(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new we,y=xe(y,new n(de)),y=ge(y,h);else try{y=Ee(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(de)}catch{throw t}y=xe(y,e),y=ge(y,new we)}s&&(i?y=ge(y,new Xt(t)):(m=new Lt(t),y=ge(y,m))),be(w,y,()=>{s&&!i||!c||(w.crc32=S?h.crc32:new DataView(p.value.buffer).getUint32(0))})}}class we extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(8>=a)return void(r=ct(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(ct(r.subarray(0,o),t.subarray(0,s-o))),r=ct(r.subarray(o),t.subarray(s-o))},flush(){const e=dt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class pe extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=ge(y,new Gt(t)):(h=new Wt(t),y=ge(y,h))),c){const t=u&&Y(u);if(t)y=xe(y,Se(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=Ee(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===z)throw t;let e;try{e=new n(de)}catch{throw t}y=((t,e,r)=>{const n=new st;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(ue),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=dt(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=ge(t,d),ge(t=xe(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(oe)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(ie);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(m=new ot,y=ge(y,m)),be(this,y,()=>{if(o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(ce)}})}}const me=new Map;function he(t,e){if(!t)return!1;let r=me.get(t);r||(r=new Map,me.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function ye(t){return he(t,le)}function be(t,e,r){e=ge(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Se(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function Ee(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":le;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return xe(t,i)}function ge(t,e){return ae(t).pipeThrough(e)}function xe(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const ze="data",Ae="deflate",Fe="inflate";class Re extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Ae)?a=fe:n.startsWith(Fe)&&(a=pe),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(oe)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class De extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const Ue={type:"module"},ke="error",Te="Worker startup timeout";let Oe,Ce,ve,Me,Ie,Ne=!0;try{Ne=typeof structuredClone==R&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}let je=()=>{};class _e{constructor(t,{readable:e,writable:r},{options:n,config:a,lt:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},d){const{signal:u}=s;return Ie&&(l=z),Object.assign(t,{ut:!0,ft:(t.ft||0)+1,readable:e.pipeThrough(new De(v(a))).pipeThrough(new Pe(s),{signal:u}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{wt:r,ut:n}=t;r?(n?t.ht=e:(r.terminate(),e()),t.yt=null):e()}),bt(){if(t.ut){const{ht:e}=t;e&&(t.ht=null,t.St=!0,t.wt.terminate(),e()),t.ut=!1,d(t)}}}),Oe===z&&(Oe=typeof Worker!=F),(o&&(Oe&&c||l)?Be:Le)(t,a)}}class Pe extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await We(t,r)},async transform(t,n){a+=t.length,e&&await We(e,a,r),n.enqueue(t)},async flush(){n&&await We(n,a)}})}}async function We(t,...e){try{await t(...e)}catch{}}function Le(t,e){return{run:()=>Ve(t,e)}}function Be(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.yt){let o;typeof s==R&&(s=s());try{o=He(t.workerURI,r,t)}catch{return t.createWorker?Ie=!0:Oe=!1,Le(t,e)}Object.assign(t,{wt:o,Et:!1,St:!1,yt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,gt:r,xt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,zt:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,zt:()=>e.abort()}})(t.writable);let d;try{d=Ye({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.Et||!Number.isFinite(u)||0>u||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.Et)return;const{xt:e,writer:r}=t;if(Ze(t),t.wt=null,e){const t=Error(Te);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft){t.createWorker?Ie=!0:Oe=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Ve(t,e)}throw r}}}})}return t.yt}async function Ve({options:t,readable:e,writable:r,bt:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Ae),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Rt&&!ye(n))try{await je(a)}catch{}}else try{await je(a)}catch{r&&!r.Rt||(t.useCompressionStream=!0)}}s=new Re(t,a),await e.pipeThrough(s).pipeThrough(new De(v(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function Ze(t){const{wt:e}=t;if(e)try{e.terminate()}catch{}t.yt=null}function He(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(ve===z||Ce!==t){const s=typeof t==R;i=s?t(a):t;const l=i.startsWith("data:"),d=i.startsWith("blob:");if(l||d){n===z&&(n=!1),n&&(c=Ue);try{o=new Worker(i,c)}catch(a){if(d)try{URL.revokeObjectURL(i)}catch{}if(s&&d)return He(t,e,r,n,!1);if(n)throw a;return He(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=Ue);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)throw s;return He(t,e,r,!1,a)}}Ce=t,ve=i,Me=c}else o=new Worker(ve,Me);return o.addEventListener("message",t=>{r.Et=!0,qe(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,gt:l,xt:d,bt:u,ft:f}=e,w=()=>e.ft!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=o,i=Error(t);Object.assign(i,{stack:e,code:r,name:n,outputSize:a}),s&&(i.cause=Object.assign(Error(s.message),{name:s.name})),p(i)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Ye({type:ze,value:t,done:r,messageId:a},e)}r==ze&&(await c.ready,await c.write(new Uint8Array(n)),w()||Ye({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(Ze(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),o.addEventListener(ke,t=>Ke(t,r)),o.addEventListener("messageerror",t=>Ke(t,r)),o}function qe(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function Ke(t,e){t.preventDefault&&t.preventDefault(),qe(e);const{Et:r,xt:n,writer:a,bt:s}=e;if(Ze(e),r||(e.wt=null),n){let e=t.error||Error(t.message||ke);r||(e=Object.assign(Error(e.message||ke),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Ye(t,{wt:e,writer:r,transferStreams:n,Et:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=lt(r),i.push(t.value.buffer)),n&&Ne&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Ne=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Ge=[];const Xe=[];let Je,Qe,$e=0;async function tr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Z.has(t)&&e&&G(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===z&&n.transferStreams;const h=!(i||c||l||d),y=u===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&p?p:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Ge.find(t=>!t.ut);if(r)return sr(r),new _e(r,t,e,b);if(Ge.length<m){const r={Dt:$e};return $e++,Ge.push(r),new _e(r,t,e,b)}return new Promise(r=>{Xe.push({resolve:r,stream:t,Ut:e}),Qe=n.workerStarvationTimeout,er()})})()).run();function b(t){if(rr(),Xe.length){const[{resolve:e,stream:r,Ut:n}]=Xe.splice(0,1);e(new _e(t,r,n,b)),er()}else t.wt?(sr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{Ge=Ge.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Ge=Ge.filter(e=>e!=t)}}function er(){!Je&&Xe.length&&Number.isFinite(Qe)&&Qe>=0&&(Je=setTimeout(nr,Qe))}function rr(){Je&&(clearTimeout(Je),Je=null)}function nr(){if(Je=null,Xe.length){const[{resolve:t,stream:e,Ut:r}]=Xe.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new _e({},e,n,ar)),er()}}function ar(){rr(),er()}function sr(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const or="HTTP error ",ir="HTTP Range not supported",cr="HTTP resource changed",lr="Writer iterator completed too soon",dr="Writer not initialized",ur="Content-Range",fr="Range",wr="GET",pr="bytes",mr=16777216,hr="writable",yr=Symbol();class br{constructor(){this.size=0}init(){this.initialized=!0}}class Sr extends br{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=v(C())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await en(n,t+a,o);s.enqueue(i),a+r>e||e===z&&!i.length&&o?s.close():a+=r}})}}class Er extends br{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(dr);return t.writeUint8Array(lt(e))}});Object.defineProperty(t,hr,{get:()=>e})}writeUint8Array(){}}class gr extends Sr{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class xr extends Er{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let zr,Ar;class Fr extends Sr{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Ar||(Ar=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();zr=1==e}catch{zr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?zr?ae(e.slice(n,n+a).stream()):super.createReadable(t):ae(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Rr extends br{constructor(t){super();const e=this,r=new TransformStream;if(Object.defineProperty(e,hr,{get:()=>r.writable}),typeof Blob.prototype.stream!=R||new Blob([]).stream()instanceof ReadableStream){const n=[];t&&n.push(["Content-Type",t]),e.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];e.blob=r.readable.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,{type:t}))}e.blob.catch(()=>{})}getData(){return this.blob}}class Dr extends Fr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Ur extends Rr{constructor(t){super(t),Object.assign(this,{encoding:t,Ot:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Ot:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class kr extends Sr{constructor(t,e){super(),Or(this,t,e)}async init(){await Cr(this,Zr,Wr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(ir);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Zr(wr,t,_r(t,a,e));if(206!=r.status)throw Error(ir);const i=r.headers.get(ur);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(ir)}jr(t,r),Nr(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return vr(this,t,e,Zr,Wr)}}class Tr extends Sr{constructor(t,e){super(),Or(this,t,e)}async init(){await Cr(this,Hr,Lr),super.init()}readUint8Array(t,e){return vr(this,t,e,Hr,Lr)}}function Or(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=mr,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Cr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=C(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(wr,t,_r(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==pr))throw Error(ir);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==u&&(t.Ct=e)}Nr(t,n);const a=Mr(n);a===z?await Vr(t,e,r):t.size=a}}else await Vr(t,e,r)}async function vr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Ct:i,size:c,options:l}=t;if(s||o){if(i&&e==c-u&&r==u)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(wr,t,_r(t,e,r));if(206!=a.status)throw Error(ir);const s=a.headers.get(ur);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(ir)}jr(t,a),Nr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(ir);return o}return D}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Mr(t){const e=t.headers.get(ur);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Ir({headers:t}){return{vt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function Nr(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=Ir(e))}function jr(t,e){const{checkResourceChanges:r,Mt:n,size:a}=t;if(r){const t=Mr(e);if(t!==z&&a!==z&&t!=a)throw Error(cr);if(n){const t=Ir(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(cr)}}}function _r(t,e=0,r=1){return Object.assign({},Pr(t),{[fr]:pr+"="+(0>e?e:e+"-"+(e+r-1))})}function Pr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Wr(t){await Br(t,Zr)}async function Lr(t){await Br(t,Hr)}async function Br(t,e){const r=await e(wr,t,Pr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Vr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Pr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Zr(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(ir):Error(or+(s.statusText||s.status))}function Hr(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(ir):Error(or+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class qr extends Sr{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Tr(t,e):new kr(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Kr extends qr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Yr extends Sr{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class Gr extends Er{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Xr extends Sr{constructor(t){super(),this.It=t}async init(){const t=this,{It:e}=t;t.Nt=0,await Promise.all(e.map(t=>tn(t))),t.jt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{jt:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{It:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=ct(await en(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await en(i,o,e)}else a=D;return r.Nt=Math.max(s,r.Nt),a}}class Jr extends br{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===yr)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(lr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await tn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,hr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(yr)}finally{t.releaseLock()}}}class Qr{constructor(t){return Array.isArray(t)&&(t=new Xr(t)),(t instanceof ReadableStream||typeof t.getReader==R)&&(t={readable:ae(t)}),t}}class $r{constructor(t){return t.writable===z&&typeof t.next==R&&(t=new Jr(t)),(t instanceof WritableStream||typeof t.getWriter==R)&&(t={writable:se(t)}),t.size===z&&(t.size=0),t}}async function tn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function en(t,e,r){return t.readUint8Array(e,r)}const rn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function nn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=rn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const an="filename",sn="rawFilename",on="comment",cn="rawComment",ln="uncompressedSize",dn="compressedSize",un="offset",fn="diskNumberStart",wn="lastModDate",pn="rawLastModDate",mn="lastAccessDate",hn="rawLastAccessDate",yn="creationDate",bn="rawCreationDate",Sn="internalFileAttributes",En="externalFileAttributes",gn="msdosAttributesRaw",xn="msdosAttributes",zn="msDosCompatible",An="zip64",Fn="encrypted",Rn="version",Dn="versionMadeBy",Un="zipCrypto",kn="directory",Tn="executable",On="compressionMethod",Cn="signature",vn="extraField",Mn="unixMode",In="setuid",Nn="setgid",jn="sticky",_n=[an,sn,ln,dn,wn,pn,on,cn,mn,hn,yn,bn,un,fn,Sn,En,gn,xn,zn,An,Fn,Rn,Dn,Un,kn,Tn,On,Cn,"crc32",vn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Mn,In,Nn,jn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Pn{constructor(t){_n.forEach(e=>this[e]=t[e])}}const Wn="password",Ln="rawPassword",Bn="passThrough",Vn="signal",Zn="checkAmbiguity",Hn="useWebWorkers",qn="useCompressionStream",Kn="transferStreams",Yn="preventClose",Gn="offset",Xn="usdz",Jn="strictness",Qn="strict",$n="tolerant",ta="File format is not recognized",ea="End of central directory not found",ra="End of Zip64 central directory locator not found",na="Central directory header not found",aa="Local file header not found",sa="Zip64 extra field not found",oa="File contains encrypted entry",ia="Encryption method not supported",ca="Compression method not supported",la="Split zip file",da="Overlapping entry found",ua="Ambiguous archive",fa="Encrypted central directory is not supported",wa="utf-8",pa="cp437",ma=[[ln,t],[dn,t],[un,t],[fn,e]],ha={[e]:{Pt:Va,bytes:4},[t]:{Pt:Za,bytes:8}};class ya{constructor(t,e={}){Object.assign(this,{reader:new Qr(t),options:e,config:C(),Wt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:p}=s;if(await tn(c),c.size!==z&&c.readUint8Array||(c=new Fr(await new Response(c.readable).blob()),await tn(c)),c.size<u)throw Error(ta);const m=Ua(_a(s,n,Jn),_a(s,n,Zn)),E=m==Qn,g=m!=$n,x=((t,r)=>t!==z?t:r==Qn?0:r==$n?1/0:e)(_a(s,n,"maxAppendedDataSize"),m),{Lt:A,Bt:F}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:ka};let o,i,c=0;for await(const[r,l,d,f,w]of va(t,a)){const a=Ba(r,f+20);if(w+u+a==n){const a=await Ia(t,r,l,f,w,n,s);if(a==Ca){if(o||(o=Ma(d,f,w)),c++,!e||c>1)break}else a!=Oa||i||(i=Ma(d,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,d]of va(t,a)){const a=Ma(c,l,d);s||(s=a);const u=await Ia(t,e,i,l,d,n,r);if(u==Ca)return a;u!=Oa||o||(o=a)}return o||s})(t,r,s)),{Lt:o,Bt:c}})(c,g,x);if(!A)throw Va(dt(await en(c,0,4)))==a?Error(la):Error(ea);g&&F>1&&ja("multiple end of central directory records");const R=dt(A);let U=Va(R,12),k=Va(R,16);const T=A.offset,O=Ba(R,20),C=T+u+O;c.size-C>x&&ja("appended data");let v=Ba(R,4);const M=c.Nt||0;let I,N,j,_,P=Ba(R,6),W=Ba(R,10),L=0;const B=k==t||U==t||W==e||P==e;if(k!=t&&P!=e&&(k+=Da(c,P)),B){const r=A.offset<f?D:await en(c,A.offset-f,f),n=dt(r);if(r.length==f&&Va(n,0)==d){k=Da(c,Va(n,4))+Za(n,8);let r=await en(c,k,w),a=dt(r);const s=A.offset-f-w;if((r.length<w||Va(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(L=k-t),r=await en(c,k,w),a=dt(r)}if(r.length<w||Va(a,0)!=l)throw Error(ra);if(N=!0,j=Za(a,4)>44,j){const t=Math.min(Number(Za(a,4))-44,c.size-k-w);t>0&&(_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=dt(t),n=Ba(r,26);Object.assign(e,{compressionMethod:Ba(r,0),compressedSize:Number(Za(r,2)),uncompressedSize:Number(Za(r,10)),encryptionAlgorithm:Ba(r,18),bitLength:Ba(r,20),flags:Ba(r,22),hashAlgorithm:Ba(r,24),hashData:t.subarray(28,28+n)})}return e})(await en(c,k+w,t)))}v==e?v=Va(a,16):E&&v!=Va(a,16)&&ja("mismatched zip64 end of central directory record"),P==e?P=Va(a,20):E&&P!=Va(a,20)&&ja("mismatched zip64 end of central directory record"),W==e?W=Za(a,32):E&&W!=Za(a,32)&&ja("mismatched zip64 end of central directory record"),U==t?U=Za(a,40):E&&U!=Za(a,40)&&ja("mismatched zip64 end of central directory record"),k=Da(c,P)+Za(a,48)+L}}let V=U;const Z=A.offset-(N?76:0);if(k<c.size||(L=c.size-k-U-u,k=c.size-U-u),M!=v)throw Error(la);if(0>k)throw Error(ta);let H=0,q=await en(c,k,U),K=dt(q);if(U){if(4>q.length)throw Error(ta);const t=Z-U;if(k!=t&&P==v){let e=!(Va(K,H)==i);if(e||0>t||t+4>c.size||(e=Va(dt(await en(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(L+=k-e),q=await en(c,k,U),K=dt(q)}}}const Y=Z-k;if(U==Y||0>Y||P!=v||(U=Y,q=await en(c,k,U),K=dt(q)),0>k||k>=c.size)throw Error(ta);s.directoryOffset=k,s.directoryLength=V;const G=_a(s,n,"decryptCentralDirectory");let X;G&&W&&q.length>=4&&Va(K,0)!=i&&(j||Ea(K))&&(q=await G(q,_),K=dt(q),V=q.length,X=!0),I=k;const J=_a(s,n,"filenameEncoding"),Q=_a(s,n,"commentEncoding"),$=E?new Set:z;let tt;for(let t=0;W>t;t++){const a=new Sa(c,p,s.options);if(H+46>q.length||Va(K,H)!=i){if(0==t&&!X&&(j||Ea(K)))throw Error(fa);throw Error(na)}ga(a,K,H+6);const o=!!a.bitFlag.languageEncodingFlag,l=H+46,d=l+a.filenameLength,u=d+a.extraFieldLength,f=Ba(K,H+4),w=!(f>>8),m=f>>8==3,g=q.subarray(l,d),x=Ba(K,H+32),A=u+x,F=q.subarray(u,A),R=o,D=o,U=Va(K,H+38),k=U&r,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},O=Va(K,H+42),C=_a(s,n,"decodeText")||nn,v=R?wa:J||pa,M=D?wa:Q||pa;let N=C(g,v);N===z&&(N=nn(g,v));let _=C(F,M);_===z&&(_=nn(F,M)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,compressedSize:0,uncompressedSize:0,Vt:x,offset:O,diskNumberStart:Ba(K,H+34),internalFileAttributes:Ba(K,H+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:g,filenameUTF8:R,commentUTF8:D,rawExtraField:q.subarray(d,u),rawComment:F,filename:N,comment:_}),xa(a,a,K,H+6),a.offset+=L,I=Math.min(Da(c,a.diskNumberStart)+a.offset,I),E&&($.has(a.filename)&&(tt=!0),$.add(a.filename));const P=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&P&&(a.unixMode=P);const B=!!(a.unixMode&y),V=!!(a.unixMode&b),Z=!!(512&a.unixMode),Y=a.unixMode!==z?!!(73&a.unixMode):m&&!!(73&P),G=a.unixMode!==z&&(61440&a.unixMode)==h,et=(61440&P)==h;Object.assign(a,{setuid:B,setgid:V,sticky:Z,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Y,directory:G||et||w&&T.directory||a.filename.endsWith(S)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Pn(a);rt.getData=(t,e)=>a.getData(t,rt,s.Wt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([new Response(e.readable).arrayBuffer(),a.getData(e,rt,s.Wt,t)]);return r},H=A;const{onprogress:nt}=n;if(nt)try{await nt(t+1,W,new Pn(a))}catch{}yield rt}let et=H;if(H+6<=q.length&&Va(K,H)==o){const t=Ba(K,H+4);H+6+t>q.length||(s.digitalSignature=q.subarray(H+6,H+6+t),et=H+6+t)}E&&H!=V&&et!=V&&ja("trailing central directory data"),tt&&ja("duplicate filename"),E&&(L||W&&I>0)&&ja("prepended data");const rt=_a(s,n,"extractPrependedData"),nt=_a(s,n,"extractAppendedData");return rt&&(s.prependedData=I>0?await en(c,0,I):D),s.comment=O?await en(c,T+u,O):D,nt&&(s.appendedData=C<c.size?await en(c,C,c.size-C):D),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class ba{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ya(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class Sa{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:g,compressedSize:x}=i,{dataDescriptor:A}=h,F=e.localDirectory={},R=Da(c,u)+d,U=await en(c,R,E),k=dt(U);let T=_a(i,o,Wn),O=_a(i,o,Ln);const C=_a(i,o,Bn);if(T=T&&T.length&&T,O=O&&O.length&&O,f&&99!=f.originalCompressionMethod)throw Error(ca);if(U.length<E||Va(k,0)!=n)throw Error(aa);ga(F,k,4);const{extraFieldLength:v,filenameLength:M}=F,I=Ua(_a(i,o,Jn),_a(i,o,Zn))==Qn;let N=D;if(I&&(M||v)){const t=await en(c,R+E,M+v);N=t.subarray(0,M),F.rawExtraField=t.subarray(M)}else F.rawExtraField=v?await en(c,R+E+M,v):D;xa(i,F,k,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&ja("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&ja("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&ja("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||ja("mismatched local file header (crc32 or sizes)")})(i,F,N);const{lastAccessDate:j,creationDate:_}=F;j&&(e.lastAccessDate=j),_&&(e.creationDate=_);const P=i.encrypted&&F.encrypted&&!C,W=P&&!f;if(C||(e.zipCrypto=W),P&&!(64&~F.rawBitFlag))throw Error(ia);const L=C?z:K(p);if(0!=p&&8!=p&&9!=p&&!L&&!C)throw Error(ca);if(P){if(!W&&(1>f.strength||f.strength>3))throw Error(ia);if(!T&&!O)throw Error(oa)}const B=R+E+M+v,V=x,Z=ae(c.createReadable({offset:B,size:V})),H=_a(i,o,Vn),q=_a(i,o,"checkPasswordOnly");let Y=_a(i,o,"checkOverlappingEntry");const G=_a(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=_a(i,o,qn);$&&(tt=!1);const et=_a(i,o,"checkCrc32"),rt=(et===z?_a(i,o,"checkSignature"):et)&&!C&&(!P||W||f&&1==f.vendorVersion),nt={options:{codecType:Fe,password:T,rawPassword:O,zipCrypto:W,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:_a(i,o,"checkAuthenticationCode"),passwordVerification:W&&(A?S>>>8&r:b>>>24&r),outputSize:C?x:g,crc32:b,compressed:0!=p&&!C,encrypted:P,useWebWorkers:_a(i,o,Hn),useCompressionStream:tt,transferStreams:_a(i,o,Kn),deflate64:$,format:L?L.format:z,codecURI:L?L.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:q},config:m,lt:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at;Y&&await(async({reader:t,Zt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,Ht:c,dataDescriptor:l,extraFieldZip64:d,Wt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await en(t,c+o,f+4);if(r.length==f+4&&Va(dt(r),0)==s){const t=Va(dt(r),4);let n,s;d?(n=Za(dt(r),8),s=Za(dt(r),16)):(n=Va(dt(r),8),s=Va(dt(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Zt:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(da);throw t.qt=e.Zt,t}u.set(r,w)})({reader:c,Zt:e,index:l,offset:R,crc32:b,compressedSize:x,uncompressedSize:g,Ht:B,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:w||F.extraFieldZip64,Wt:a});try{if(!G){q&&(t=new WritableStream),t=new $r(t),await tn(t,C?x:g),({writable:at}=t);const{outputSize:e}=await tr({readable:Z,writable:at},nt);if(t.size+=e,e!=(C?x:g))throw Error(oe)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!q||e.message!=St)throw e}finally{_a(i,o,Yn)||!at||at.locked||await at.getWriter().close()}return q||G?z:t.getData?t.getData():at}}function Ea(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Va(t,r))return!0;return!1}function ga(t,e,r){const n=t.rawBitFlag=Ba(e,r+2),a=!(1&~n),s=Va(e,r+6);Object.assign(t,{encrypted:a,version:Ba(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&m)==m},rawLastModDate:s,lastModDate:Pa(s),filenameLength:Ba(e,r+22),extraFieldLength:Ba(e,r+24)})}function xa(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=dt(s);let c=0;try{for(;c<s.length;){const t=Ba(i,c),e=Ba(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Ba(r,n+4);Object.assign(e,{signature:Va(r,n+10),crc32:Va(r,n+10),compressedSize:Va(r,n+14),uncompressedSize:Va(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=dt(t.data),n=ma.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ha[e].bytes,0);if(t.data.length<a)throw Error(sa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=ha[i];e[o]=t[o]=c.Pt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(za(u,an,sn,e,t),e.extraFieldUnicodePath=u);const f=o.get(25461);f&&(za(f,on,cn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=dt(t.data),a=La(n,4);Object.assign(t,{vendorVersion:La(n,0),vendorId:La(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Ba(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const m=o.get(13);m&&(Aa(m,e),e.extraFieldPkwareUnix=m);const h=o.get(22613);h&&(Aa(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=dt(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Ba(r,a),s=Ba(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=dt(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Wa(a),lastAccessDate:Wa(s),creationDate:Wa(o)};Object.assign(t,i),Object.assign(e,i)}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);if(b)Fa(b,e,!1),e.extraFieldUnix=b;else{const t=o.get(30837);t&&(Fa(t,e,!0),e.extraFieldInfoZip=t)}const S=o.get(p);S&&(((t,e,r)=>{if(!t.data.length)return;const n=dt(t.data),a=La(n,0),s=[],o=[];r?(1&~a||(s.push(wn),o.push(pn)),2&~a||(s.push(mn),o.push(hn)),4&~a||(s.push(yn),o.push(bn))):5>t.data.length||(s.push(wn),o.push(pn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Va(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(S,e,a),e.extraFieldExtendedTimestamp=S);const E=o.get(6534);E&&(e.extraFieldUSDZ=E)}function za(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=dt(t.data),o=new st;o.append(a[r]);const i=dt(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Va(s,1);Object.assign(t,{version:La(s,0),[e]:nn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Va(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Aa(t,e){if(8>t.data.length)return;const r=dt(t.data),n={lastAccessDate:new Date(1e3*Va(r,0)),lastModDate:new Date(1e3*Va(r,4))};12>t.data.length||(n.uid=Ba(r,8),n.gid=Ba(r,10)),Object.assign(t,n),Object.assign(e,n)}function Fa(t,e,r){try{const n=dt(t.data);let a,s;if(r){let e=0;const r=La(n,e++),o=La(n,e++);a=Ra(t.data.subarray(e,e+o)),e+=o;const i=La(n,e++);s=Ra(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Ba(n,0),s=Ba(n,2),Object.assign(t,{uid:a,gid:s}));a!==z&&(e.uid=a),s!==z&&(e.gid=s)}catch{}}function Ra(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Da(t,e){return t._t?t._t(e):0}function Ua(t,e){return t===z?e?Qn:"balanced":t}const ka=64,Ta=0,Oa=1,Ca=2;async function*va(t,e){const r=t.size-e,n=await en(t,r,e),a=dt(n);for(let t=n.length-u;t>=0;t--)Va(a,t)==c&&(yield[a,r,n,t,r+t])}function Ma(t,e,r){return{offset:r,buffer:t.slice(e,e+u).buffer}}async function Ia(r,n,a,s,o,c,l){const u=Ba(n,s+10),w=Va(n,s+12),p=Va(n,s+16);if(u==e||w==t||p==t)return await Na(r,n,a,o-f,c,l)==d?Ca:Ta;if(!u&&!w)return Oa;const m=Ba(n,s+6);for(const t of[o-w,Da(r,m)+p])if(await Na(r,n,a,t,c,l)==i)return Ca;return Ta}async function Na(t,e,r,n,a,s){return 0>n||n+4>a?z:r>n?s.count>0?(s.count--,Va(dt(await en(t,n,4)),0)):z:Va(e,n-r)}function ja(t){const e=Error(ua);throw e.reason=t,e}function _a(t,e,r){return e[r]===z?t.options[r]:e[r]}function Pa(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Wa(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function La(t,e){return t.getUint8(e)}function Ba(t,e){return t.getUint16(e,!0)}function Va(t,e){return t.getUint32(e,!0)}function Za(t,e){return Number(t.getBigUint64(e,!0))}var Ha=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ua,ERR_BAD_FORMAT:ta,ERR_CENTRAL_DIRECTORY_NOT_FOUND:na,ERR_ENCRYPTED:oa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:fa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ra,ERR_EOCDR_NOT_FOUND:ea,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:ie,ERR_INVALID_CRC32:ce,ERR_INVALID_PASSWORD:ht,ERR_INVALID_SIGNATURE:yt,ERR_INVALID_UNCOMPRESSED_SIZE:oe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:aa,ERR_OVERLAPPING_ENTRY:da,ERR_SPLIT_ZIP_FILE:la,ERR_UNSUPPORTED_COMPRESSION:ca,ERR_UNSUPPORTED_ENCRYPTION:ia,ERR_WORKER_STARTUP_TIMEOUT:Te,ZipReader:ya,ZipReaderStream:ba});const qa="File already exists",Ka="Zip file comment exceeds 64KB",Ya="File entry comment exceeds 64KB",Ga="File entry name exceeds 64KB",Xa="Version exceeds 65535",Ja="The strength must equal 1, 2, or 3",Qa="Encryption is not supported in USDZ files",$a="Extra field type exceeds 65535",ts="Extra field data exceeds 64KB",es=-2147483648,rs=2147483647,ns=BigInt(0),as=BigInt("0x7fffffffffffffff"),ss="Zip64 is not supported (set the 'zip64' option to 'true')",os="Undefined uncompressed size",is="Undefined reader",cs="Zip file not empty",ls="Invalid uid (must be integer 0..2^32-1)",ds="Invalid gid (must be integer 0..2^32-1)",us="Invalid UNIX mode (must be integer 0..65535)",fs="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ws="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ps="Invalid msdosAttributesRaw (must be integer 0..255)",ms="Invalid msdosAttributes (must be an object with boolean flags)",hs="Signature data exceeds 64KB",ys=new Uint8Array([7,0,2,0,65,69,3,0,0]),bs="infozip",Ss="unix";let Es=0;const gs=[];class xs{constructor(t,e={}){t=new $r(t);const{availableSize:r=A,maxSize:n=A}=t;Object.assign(this,{writer:t,Kt:r>0&&r!==A&&n>0&&n!==A,options:e,config:C(),files:new Map,Yt:new Set,offset:e[Gn]===z?t.size||t.writable.size||0:e[Gn],Gt:e[Gn]===z?0:e[Gn]-(t.size||t.writable.size||0),Xt:new Set,Jt:0,Qt:z})}async prependZip(e){if(this.Yt.size)throw Error(cs);e=new Qr(e),await tn(e);const{ZipReader:r}=await Promise.resolve().then(()=>Ha),n=new r(e.readable),a=await n.getEntries();await n.close(),await tn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Yt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||D,p=p||D,m=m||D,h=h||D,y=y||D,b=b||D,e.extraFieldAES&&(f=99);const x=Zs(w,p,m,h,y,b),A=u&&l>=t,F=u&&d>=t,R=-7&qs(S,E,g,c,f)|S<<1,{ae:U,se:k}=Hs({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,oe:F,ie:A,extraFieldLength:x}),{crc32:T}=e;return T!==z&&Ls(k,10,T),Object.assign(e,{ie:A,oe:F,ce:u&&e.offset>=t,diskNumberStart:0,le:!1,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,de:1+(a?2:0)+(s?4:0),ae:U,se:k}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Xt:d,config:u}=l;let f,w;Es<u.maxWorkers?Es++:await new Promise(t=>gs.push(t));try{if(o=o.trim(),_s(l,c,kn)&&!o.endsWith(S)&&(o+=S),l.Yt.has(o))throw Error(qa);return l.Yt.add(o),w=!0,f=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=_s(n,s,zn),i=_s(n,s,Dn,o?20:768);const c=_s(n,s,Tn),l=_s(n,s,"uid"),d=_s(n,s,"gid");let u=_s(n,s,Mn),f=_s(n,s,"unixExtraFieldType"),w=_s(n,s,In),p=_s(n,s,Nn),m=_s(n,s,jn);if(l!==z&&(0>l||l>t))throw Error(ls);if(d!==z&&(0>d||d>t))throw Error(ds);if(u!==z&&(0>u||u>e))throw Error(us);if(f!==z&&f!==bs&&f!==Ss)throw Error(fs);if(f===Ss&&(l!==z&&l>e||d!==z&&d>e))throw Error(ws);f!==z||l===z&&d===z||(f=bs);let E=_s(n,s,gn),g=_s(n,s,xn);const x=E!==z||g!==z;if(l!==z||d!==z||u!==z||f?(o=!1,i=i&e|768):x&&(o=!0,i&=r),E!==z&&(0>E||E>r))throw Error(ps);if(g&&"object"!=typeof g)throw Error(ms);if(i>e)throw Error(Xa);let A=_s(n,s,En);const F=A!==z;F||(A=0),!s[kn]&&a.endsWith(S)&&(s[kn]=!0);const R=_s(n,s,kn);let D;if(R?(a.endsWith(S)||(a+=S),F||(A=16,o||(A|=16877<<16))):o||F||(A=c?493<<16:27525120),!o){const t=u!==z||!!(w||p||m);D=A>>16&e,u=u===z?D:u&e,w?u|=y:w=!!(u&y),p?u|=b:p=!!(u&b),m?u|=512:m=!!(512&u),F&&!t||(R&&(u|=h),A=(u&e)<<16|A&e)}return({msdosAttributesRaw:E,msdosAttributes:g}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,g)),x&&(A=A&t|E&r),{name:a,ue:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:A,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:E,msdosAttributes:g}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=_s(t,n,"encodeText",it);let s=a(r);if(s===z&&(s=it(r)),Zs(s)>e)throw Error(Ga);const o=n[on]||"";let i=a(o);if(i===z&&(i=it(o)),Zs(i)>e)throw Error(Ya);const c=_s(t,n,Rn,20);if(c>e)throw Error(Xa);const l=_s(t,n,wn,new Date),d=_s(t,n,mn),u=_s(t,n,yn),f=_s(t,n,Sn,0),w=_s(t,n,Bn);let p,m;w||(p=_s(t,n,Wn),m=_s(t,n,Ln));const h=_s(t,n,"encryptionStrength",3),y=_s(t,n,Un),b=_s(t,n,"extendedTimestamp",!0),S=_s(t,n,"ntfsTimestamp"),E=_s(t,n,"keepOrder",!0),g=_s(t,n,Hn),x=_s(t,n,Kn),A=_s(t,n,"bufferedWrite"),F=_s(t,n,"createTempStream"),R=_s(t,n,"dataDescriptorSignature",!0),D=_s(t,n,Vn),U=_s(t,n,"useUnicodeFileNames",!0),k=_s(t,n,On),T=w||k===z?z:K(k);if(!w&&k!==z&&0!==k&&8!==k&&!T)throw Error("Compression method not supported");let O=_s(t,n,"level");if(t.options[Xn]){if(p!==z||m!==z)throw Error(Qa);O===z&&k===z&&(O=0)}let C=_s(t,n,qn),v=_s(t,n,"dataDescriptor");A&&v===z&&(v=!1),(v===z||y)&&(v=!0),O!==z&&6!=O&&(C=!1);const M=_s(t,n,An);if(!y&&(p!==z||m!==z)&&(1>h||h>3))throw Error(Ja);const I=Fs(n[vn]),N=Fs(n.localExtraField);return{comment:o,ue:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:U,compressionMethod:k,format:T?T.format:z,codecURI:T?T.codecURI:z,fe:T?T.versionNeeded:z,level:O,useCompressionStream:C,dataDescriptor:v,zip64:M,rawExtraField:I,we:N}}})(o,i,l),{comment:f}=u,w=l[vn];let m;o.files.set(i,z);try{const{ue:f}=u;0==f.level||f.compressionMethod!==z||f.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.Rt)return!0;if(ye(e)||he(e,de))return!0;if(r)try{return await je(t),!0}catch{return!1}return!1})(o.config)||(f.level=0);const w=await(async(e,r,{ue:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error(is);if(m=a[ln],m===z)throw Error(os)}const h=!0===u,y=_s(e,a,Fn),b=!!r&&(!!(i&&Zs(i)||c&&Zs(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new Qr(r),await tn(r),s?(a.uncompressedSize=m,p=Ps(m)+S):r.size===z?(d=!0,(u||u===z)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=Ps(m)+S));const E=h||m>=t,g=h||p>=t;if(E||g){if(!1===u)throw Error(ss);u=!0}return u=u||!1,{reader:r,ue:{dataDescriptor:d,zip64:u,ie:E,oe:g,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=w);const h=Ts(o.writer),y=ks(o.writer),b=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,we:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:A,ie:F,oe:R,uncompressedSize:U,crc32:k}=t;let{version:T,compressionMethod:O}=t;const C=!f&&(O===z?i===z||i>0:0!==O);let v;const M=S||!C,I=c&&(t.bufferedWrite||!u||!F&&!R||M),N=I||c&&u&&(F||R);if(c&&(F||R)){const t=20,e=Us(t);if(e.uint16(1),e.uint16(t-4),v=e.array,I&&(e.pe(U),M)){const t=A?l?12:16+4*h:0;e.pe(S?0:U+t)}}else v=D;let j,_,P,W,L;if(A&&!l){const t=Us(Zs(ys)+2);t.uint16(39169),t.bytes(ys),j=t.array,j[8]=h}else j=D;if(y){const t=Is(a),e=Ns(t);if(e){const e=9+(s?4:0)+(o?4:0),r=Us(e);W=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(W),r.uint32(t),s&&r.uint32(js(Is(s))),o&&r.uint32(js(Is(o))),P=r.array}else P=D;if(b===z?!e||s||o:b)try{const t=Ms(a),e=Us(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?Ms(s):t),e.pe(o?Ms(o):t),_=e.array}catch{_=D}else _=D}else _=P=D;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=bs||r===z&&n===z)if(a!=Ss||r===z&&n===z)L=D;else{const t=Us(8);t.uint16(30805),t.uint16(4),t.uint16((r===z?0:r)&e),t.uint16((n===z?0:n)&e),L=t.array}else{const t=Ds(r),e=Ds(n),a=3+t.length+e.length,s=Us(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),L=s.array}}catch{L=D}O===z&&(O=C?8:0);const{fe:B}=t;C&&B!==z&&(T=T>B?T:B),c&&(T=T>45?T:45),A&&!l&&(T=T>51?T:51,S&&k!==z&&(j[4]=1),j[9]=O,O=99);const V=N?Zs(v):0,Z=V+Zs(j,P,_,L,w,m);if(Z>e)throw Error(ts);const H=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{ae:q,se:K,rawLastModDate:Y}=Hs({version:T,bitFlag:qs(i,d,u,A,O),compressionMethod:O,uncompressedSize:U,lastModDate:x>H?x:H>g?g:H,rawFilename:r,oe:R,ie:F,extraFieldLength:Z}),G=Us(E+Zs(r)+Z),X=G.array,J=dt(X);return G.uint32(n),G.bytes(q),G.bytes(r),N&&G.bytes(v),G.bytes(j),G.bytes(P),G.bytes(_),G.bytes(L),G.bytes(w),G.bytes(m),u&&(R||Ls(J,18,0),F||Ls(J,22,0)),{he:X,ye:J,ae:q,se:K,lastModDate:a,rawLastModDate:Y,encrypted:A,compressed:C,version:T,compressionMethod:O,de:W,$t:D,be:V,ee:P,re:_,ne:L,te:j,extraFieldLength:Z}})(l=Object.assign({},l,d.ue,u.ue,w.ue,{internalFileAttribute:u.ue.internalFileAttributes,externalFileAttribute:d.ue.externalFileAttributes,signature:l[Cn],crc32:l.crc32===z?l[Cn]:l.crc32,offset:o.offset-h,diskNumberStart:y})),S=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=D,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=dt(a),r&&(o=4,Ls(n,0,s))),{Se:a,Ee:n,ge:o}})(l),F=Zs(b.he,S.Se);m=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{xe:w}=o,p=e.options[Xn],m=e.Qt;let h,y,b,S,g,x,F,R={},D=0;c.set(n,R),e.Qt=R;try{let y;d&&(y=m&&m.lock,R.lock=new Promise(t=>b=t)),i.bufferedWrite||!d||e.ze||e.Jt||!u?(h=!0,e.Jt++,F=i.createTempStream?await i.createTempStream():new TransformStream(z,z,{highWaterMark:A}),F.size=0,await tn(l)):(F=l,await U()),await tn(F);const T=Ts(l);if(e.Kt){delete e.Kt;const t=new Uint8Array(4);Ls(dt(t),0,a),await vs(l,t),e.offset+=4}p&&!h&&Rs(o,e.offset-T);const{he:O}=w;h||(await y,await k());const C=ks(l),v=Cs(e,l);if(R.diskNumberStart=C,h||(g=!0,x=l.size,await vs(F,O)),R=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{xe:l,Ae:d,Fe:u}=o,{ae:f,se:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,$t:E,be:g,ee:x,de:A,re:F,ne:R,te:D}=l,{Se:U}=d,{rawFilename:k,lastAccessDate:T,creationDate:O,password:C,rawPassword:v,level:M,zip64:I,ie:N,oe:j,zipCrypto:_,dataDescriptor:P,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,$t:E,be:g,ee:x,re:F,ne:R,te:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:ht,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=ae(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Ae,level:M,rawPassword:v,password:C,encryptionStrength:J,zipCrypto:h&&_,passwordVerification:h&&_&&m>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,lt:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await tr({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,h&&!_||(ht=e.crc32)),!j&&bt>=t||!N&&yt>=t)throw Error(ss)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Ae:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{se:l,encrypted:d}=n,{Ee:u,ge:f}=a;d&&!o&&!i||t===z||(Ls(l,10,t),c&&Ls(u,f,t)),s?c&&(Bs(u,f+4,BigInt(e)),Bs(u,f+12,BigInt(r))):(Ls(l,14,e),Ls(l,18,r),c&&(Ls(u,f+4,e),Ls(u,f+8,r)))})({crc32:ht,compressedSize:bt,uncompressedSize:yt,xe:l,Ae:d},c),P&&await vs(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:O,lastAccessDate:T,encrypted:h,zipCrypto:_,size:u+bt,compressionMethod:S,version:b,ae:f,se:w,signature:ht,crc32:!h||_||ft?ht:z,de:A,ie:N,oe:j}),mt})(s,F,R,o,e.config,i),h||(g=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([F.writable.getWriter().close(),y]),await U(),S=!0,x=l.size,await k(),R.diskNumberStart=ks(l),R.offset=Cs(e,l),p){const t=o.Fe;Rs(o,e.offset-Ts(l)),R.size+=o.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:a,compressedSize:s,uncompressedSize:o,ie:i,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==z)&&Ls(l,14,a),c||Ls(l,18,s),i||Ls(l,22,o)),r&&n){const e=E+Zs(t)+4;Bs(l,e,BigInt(o)),Bs(l,e+8,BigInt(s))}})(R,w.ye,i),await vs(l,w.he),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Zs(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,l,f),l.size+=F.size,S=!1}else R.diskNumberStart=C,R.offset=v;return e.offset+=R.size,R}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-x,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.Jt--,b&&b(),y&&y(),h&&F&&F.dispose)try{await F.dispose()}catch{}}async function U(){e.ze=!0;const{Re:t}=e;e.Re=new Promise(t=>y=()=>{e.ze=!1,t()}),await t}async function k(){Os(l,Zs(w.he))&&await l.closeDisk()}})(o,i,c,{xe:b,Ae:S,Fe:F},l)}catch(t){throw o.files.delete(i),t}return Object.assign(m,{name:i,comment:f,extraField:w}),new Pn(m)})(l,o,i,c),d.add(f),await f}catch(t){throw w&&l.Yt.delete(o),t}finally{d.delete(f);const t=gs.shift();t?t():Es--}}remove(t){const{Yt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=D,n={}){const{Xt:a,writer:s}=this,{writable:f}=s;if(Zs(r)>e)throw Error(Ka);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,te:s,rawComment:o,re:i,ne:c,rawExtraField:l,extendedTimestamp:d,de:u,lastModDate:f,ie:w,oe:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||m){const t=4+(w?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=Us(t);e.uint16(1),e.uint16(t-4),w&&e.pe(h),m&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=D;a.$t=E,a.ce=b,a.le=S;const x=Is(f);if(d&&Ns(x)){const t=Us(9);t.uint16(p),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=D;a.ee=g;const z=Zs(E,s,i,c,g,l);if(z>e)throw Error(ts);n+=46+Zs(r,o)+z}return n})(r.files),{De:f,Ue:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await tn(o);let l=0,d=0,u=ks(o),f=Ts(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,$t:m,te:h,ee:y,re:b,ne:S,rawExtraField:E,rawComment:g,versionMadeBy:x,ae:z,se:A,ie:F,oe:R,le:D,ce:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:C,compressedSize:v}=n,M=Zs(m,h,y,b,S,E),I=46+Zs(p,g)+M;Os(o,l+I-d)&&(await vs(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=ks(o),f=Ts(o)),F||Ls(A,18,C),R||Ls(A,14,v),(U||D)&&45>n.version&&Ws(A,0,45);const N=Us(I);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(M),N.uint16(Zs(g)),N.uint16(D?e:O),N.uint16(k),N.uint32(T),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Vs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Pn(n))}catch{}}return await vs(o,d?c.slice(d):c),{De:{diskNumber:u,diskOffset:f},Ue:c}})(r,s,a),m=await(async(t,r,n)=>{const a=_s(t,n,"signCentralDirectory");if(a){const n=await a(r),s=Zs(n);if(s>e)throw Error(hs);const i=Us(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await vs(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{De:i,ke:f}=s;let{Te:w}=s,p=r.files.size,m=i.diskNumber,h=Cs(r,i),y=ks(o);Os(o,u)&&y++;let b=_s(r,a,An);if(!(t>h&&t>w&&e>p&&e>y)){if(!1===b)throw Error(ss);b=!0}const S=Zs(n);if(S>e)throw Error(Ka);const E=Us(b?98:u);Os(o,Zs(E.array)+S)&&await o.closeDisk(),y=ks(o),b&&(E.uint32(l),E.pe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(m),E.pe(p),E.pe(p),E.pe(w),E.pe(h),E.uint32(d),E.uint32(y),E.pe(BigInt(Cs(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),_s(r,a,"supportZip64SplitFile",!0)&&(y=e,m=e),p=e,h=t,w=t),E.uint32(c),E.uint16(y),E.uint16(m),E.uint16(p),E.uint16(p),E.uint32(w),E.uint32(h),E.uint16(S),await vs(o,E.array),S&&await vs(o,n)})(r,n,a,{De:f,Te:s,ke:m})})(this,r,n),_s(this,n,Yn)||await f.getWriter().close(),s.getData?s.getData():f}}class zs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new xs(r,t),this.Xt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return As(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return As(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Xt)),this.zipWriter.close(t,e)}}function As(t,e,r){t.Xt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Fs(t){if(!t)return D;let r=0,n=0;t.forEach(t=>r+=4+Zs(t));const a=new Uint8Array(r),s=dt(a);return t.forEach((t,r)=>{if(r>e)throw Error($a);if(Zs(t)>e)throw Error(ts);Ws(s,n,r),Ws(s,n+2,Zs(t)),Vs(a,t,n+4),n+=4+Zs(t)}),a}function Rs(t,e){const{xe:r}=t;let{he:n,extraFieldLength:a}=r,s=64-(e+Zs(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=dt(o);Ws(i,0,6534),Ws(i,2,s-4);const c=n;r.he=n=new Uint8Array(Zs(c)+s),Vs(n,c),Vs(n,o,Zs(c));const l=dt(n);Ws(l,28,a+s),r.ye=l,t.Fe+=s}function Ds(t){if(t===z)return D;{const e=new Uint8Array(4);dt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Us(t){const e=new Uint8Array(t),r=dt(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ws(r,n,t),n+=2},uint32:t=>{Ls(r,n,t),n+=4},pe:t=>{Bs(r,n,BigInt(t)),n+=8},bytes:t=>{Vs(e,t,n),n+=Zs(t)},me:t=>n+=t}}function ks(t){const{diskNumber:e=0}=t;return e}function Ts(t){const{diskOffset:e=0}=t;return e}function Os(t,e){const{availableSize:r=A}=t;return e>r}function Cs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Gt:0)}async function vs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Zs(e),await n.write(e)}finally{n.releaseLock()}}function Ms(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return ns>e?ns:e>as?as:e}}function Is(t){return Math.floor(t.getTime()/1e3)}function Ns(t){return t>=es&&rs>=t}function js(t){return Math.min(rs,Math.max(es,t))}function _s(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function Ps(t){return t+5*(Math.floor(t/16383)+1)}function Ws(t,e,r){t.setUint16(e,r,!0)}function Ls(t,e,r){t.setUint32(e,r,!0)}function Bs(t,e,r){t.setBigUint64(e,r,!0)}function Vs(t,e,r){t.set(e,r)}function Zs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Hs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,oe:l,ie:d,extraFieldLength:u}){const f=Us(26),w=f.array,p=dt(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===z){const t=new Uint32Array(1),e=dt(t);Ws(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ws(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.me(4),l||s!==z?f.uint32(l?t:s):f.me(4),d||a!==z?f.uint32(d?t:a):f.me(4),f.uint16(Zs(c)),f.uint16(u),{ae:w,se:p,rawLastModDate:i}}function qs(t,e,r,n,a){let s=0;return e&&(s|=m),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Ks(){return"application/octet-stream"}const Ys=1048576,Gs=".zip.js-temp";function Xs(t={}){const{thresholdBytes:e=Ys,directoryName:r=Gs,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID(),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Js=1048576;function Qs(t={}){const{thresholdBytes:e=Js}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=new Response(e.readable).blob(),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const $s=1048576,to=".zip.js-temp",eo="createSyncAccessHandle is only available in dedicated workers";function ro(t={}){const{thresholdBytes:e=$s,directoryName:r=to,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(eo);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID();const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{N({baseURI:import.meta.url})}catch{}let no,ao,so,oo,io;function co(t,e,r={}){if(!no){const t=Error("WASM module not loaded");throw t.cause=io,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Oe=ao(a),this.in=ao(s),this.inBufferSize=s,!this.Oe||!this.in)throw Error("allocation failed");if(this.Ce=new Uint8Array(a),t?(this.ve=no.deflate_process,this.Me=no.deflate_last_consumed,this.Ie=no.deflate_end,this.Ne=no.deflate_new(),r="gzip"===e?no.deflate_init_gzip(this.Ne,n):"deflate-raw"===e?no.deflate_init_raw(this.Ne,n):no.deflate_init(this.Ne,n)):"deflate64-raw"===e?(this.ve=no.inflate9_process,this.Me=no.inflate9_last_consumed,this.Ie=no.inflate9_end,this.Ne=no.inflate9_new(),r=no.inflate9_init_raw(this.Ne)):(this.ve=no.inflate_process,this.Me=no.inflate_last_consumed,this.Ie=no.inflate_end,this.Ne=no.inflate_new(),r="deflate-raw"===e?no.inflate_init_raw(this.Ne):"gzip"===e?no.inflate_init_gzip(this.Ne):no.inflate_init(this.Ne)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(oo.buffer),o=this.ve,i=this.Me,c=this.Oe,l=this.Ce;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&so&&(so(this.in),this.in=0),this.in=ao(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Ne,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Ne);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(oo.buffer),n=this.ve,s=this.Oe,o=this.Ce;for(;;){const i=n(this.Ne,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Ne&&t.Ie&&(e=t.Ie(t.Ne)),t.Ne=0,t.in&&so&&so(t.in),t.in=0,t.Oe&&so&&so(t.Oe),t.Oe=0,e}}class lo{constructor(t="deflate",e){return co(!0,t,e)}}class uo{constructor(t="deflate",e){return co(!1,t,e)}}lo.Rt=!0,uo.Rt=!0;let fo,wo=!1;function po(){fo=null,(async()=>{await Promise.allSettled(Ge.map(t=>(sr(t),t.terminate()))),Oe=z,Ie=!1})(),wo=!1,no=ao=so=oo=io=null}(({je:t})=>{je=t})({je:t=>{if(!fo){let{wasmURI:e}=t;typeof e==R&&(e=e()),fo=(async(t,{baseURI:e})=>{if(!wo)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(no=t,({malloc:ao,free:so,memory:oo}=no),"function"!=typeof ao||"function"!=typeof so||!oo)throw no=ao=so=oo=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),wo=!0}catch(t){throw(t=>{io=t})(t),t}})(e,t).catch(t=>{throw fo=null,t})}return fo}}),N({CompressionStreamFallback:lo,DecompressionStreamFallback:uo}),N({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Fr as BlobReader,Rr as BlobWriter,gr as Data64URIReader,xr as Data64URIWriter,ua as ERR_AMBIGUOUS_ARCHIVE,ta as ERR_BAD_FORMAT,na as ERR_CENTRAL_DIRECTORY_NOT_FOUND,qa as ERR_DUPLICATED_NAME,oa as ERR_ENCRYPTED,fa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,ra as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ea as ERR_EOCDR_NOT_FOUND,sa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,ir as ERR_HTTP_RANGE,cr as ERR_HTTP_RESOURCE_CHANGED,bt as ERR_INVALID_AUTHENTICATION_CODE,_ as ERR_INVALID_CODEC_DEFINITION,W as ERR_INVALID_CODEC_MODULE,Ka as ERR_INVALID_COMMENT,ie as ERR_INVALID_COMPRESSED_DATA,ce as ERR_INVALID_CRC32,Ja as ERR_INVALID_ENCRYPTION_STRENGTH,Ya as ERR_INVALID_ENTRY_COMMENT,Ga as ERR_INVALID_ENTRY_NAME,ts as ERR_INVALID_EXTRAFIELD_DATA,$a as ERR_INVALID_EXTRAFIELD_TYPE,ds as ERR_INVALID_GID,ps as ERR_INVALID_MSDOS_ATTRIBUTES,ms as ERR_INVALID_MSDOS_DATA,ht as ERR_INVALID_PASSWORD,yt as ERR_INVALID_SIGNATURE,hs as ERR_INVALID_SIGNATURE_DATA,ls as ERR_INVALID_UID,oe as ERR_INVALID_UNCOMPRESSED_SIZE,fs as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ws as ERR_INVALID_UNIX_ID_SIZE,us as ERR_INVALID_UNIX_MODE,Xa as ERR_INVALID_VERSION,lr as ERR_ITERATOR_COMPLETED_TOO_SOON,aa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,da as ERR_OVERLAPPING_ENTRY,P as ERR_RESERVED_COMPRESSION_METHOD,la as ERR_SPLIT_ZIP_FILE,is as ERR_UNDEFINED_READER,os as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ca as ERR_UNSUPPORTED_COMPRESSION,eo as ERR_UNSUPPORTED_CONTEXT,Et as ERR_UNSUPPORTED_CRYPTO_API,ia as ERR_UNSUPPORTED_ENCRYPTION,Qa as ERR_UNSUPPORTED_ENCRYPTION_USDZ,ss as ERR_UNSUPPORTED_FORMAT,Te as ERR_WORKER_STARTUP_TIMEOUT,dr as ERR_WRITER_NOT_INITIALIZED,cs as ERR_ZIP_NOT_EMPTY,Kr as HttpRangeReader,qr as HttpReader,Sr as Reader,Xr as SplitDataReader,Jr as SplitDataWriter,Dr as TextReader,Ur as TextWriter,Yr as Uint8ArrayReader,Gr as Uint8ArrayWriter,Er as Writer,ya as ZipReader,ba as ZipReaderStream,xs as ZipWriter,zs as ZipWriterStream,M as configure,Qs as createBlobTempStream,Xs as createOPFSTempStream,ro as createSyncAccessHandleTempStream,Ks as getMimeType,H as registerCodec,j as resetConfiguration,po as terminateWorkers,q as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,d=117853008,u=22,f=20,w=56,p=21589,m=2048,h=16384,y=2048,b=1024,S="/",E=30,g=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,A=1/0,F="undefined",R="function",D=new Uint8Array;let U=2;try{typeof navigator!=F&&navigator.hardwareConcurrency&&(U=navigator.hardwareConcurrency)}catch{}const k={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:U,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=F&&CompressionStream,DecompressionStream:typeof DecompressionStream!=F&&DecompressionStream},T=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],O={...k};function C(){return O}function v(t){return Math.max(t.chunkSize,64)}function M(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(O[e]=r)}}function I(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function N(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(k[e]=r)}M(t)}function j(){for(const t of T)delete O[t];Object.assign(O,k)}const _="Invalid codec definition",P="Reserved compression method",W="Invalid codec module",L="string",B=[0,8,9,99],V=new Map,Z=new Map;function H(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=L||!n.length)throw Error(_);if(B.includes(r))throw Error(P);const c=typeof s==R||typeof o==R;if(!(c||typeof a==L&&a.length))throw Error(_);V.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&G(n,{CompressionStream:s,DecompressionStream:o})}function q(t){const e=V.get(t);if(e){let r;V.delete(t),V.forEach(t=>r=r||t.format==e.format),r||Z.delete(e.format)}}function K(t){return V.get(t)}function Y(t){return Z.get(t)}function G(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=R&&typeof n!=R)throw Error(W);Z.set(t,{CompressionStream:r,DecompressionStream:n})}const X=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;X[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=X[e-1][t];X[e][t]=r>>>8^X[0][255&r]}const[J,Q,$,tt,et,rt,nt,at]=X;class st{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=at[255&t]^nt[t>>>8&255]^rt[t>>>16&255]^et[t>>>24&255]^tt[255&r]^$[r>>>8&255]^Q[r>>>16&255]^J[r>>>24&255]}}for(;r>n;n++)e=e>>>8^J[255&(e^t[n])];this.o=e}get(){return~this.o}}class ot extends TransformStream{constructor(){let t;const e=new st;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function it(t){if(typeof TextEncoder==F){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}function ct(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function dt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ut={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ut.l(r);return 32===n?t.concat(e):ut.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ut.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=ut.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=ut.l(a);return n.push(ut.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ft={bytes:{A(t){const e=ut.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(ut.S(8*(3&r),n)),e}}},wt=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=ft.C.F(t));const r=e.T=ut.concat(e.T,t),n=e.O,a=e.O=n+ut.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.v(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}M(){const t=this;let e=t.T;const r=t.U;e=ut.concat(e,[ut.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.v(e.splice(0,16));return t.reset(),r}I(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}v(t){const e=this,r=e.U,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.I(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},pt={importKey:t=>new pt.j(ft.bytes.F(t)),_(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ut;for(e=ft.bytes.F(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.P=wt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).M());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t.P(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.M(),r=new t.P(t.W[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mt=typeof crypto!=F&&typeof crypto.getRandomValues==R,ht="Invalid password",yt="Invalid signature",bt=yt,St="zipjs-abort-check-password",Et="Crypto API not supported";function gt(t){if(mt)return crypto.getRandomValues(t);throw Error(Et)}const xt=16,zt={name:"PBKDF2"},At=Object.assign({hash:{name:"HMAC"}},zt),Ft=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),Rt=["deriveBits"],Dt=[8,12,16],Ut=[16,24,32],kt=10,Tt=[0,0,0,0],Ot=typeof crypto!=F,Ct=Ot&&crypto.subtle,vt=Ot&&typeof Ct!=F,Mt=ft.bytes,It=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},Nt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=ut.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return ut.h(e,a)}},jt=pt.j;let _t=Ot&&vt&&typeof Ct.importKey==R,Pt=Ot&&vt&&typeof Ct.deriveBits==R;class Wt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Zt(t,e,r,qt(n,0,Dt[e])),s=qt(n,Dt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ht)})(r,s,a,qt(t,0,Dt[s]+2)),t=qt(t,Dt[s]+2),n?e.error(Error(St)):o()):await i;const c=new Uint8Array(t.length-kt-(t.length-kt)%xt);e.enqueue(Vt(r,t,c,0,kt,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=qt(n,0,n.length-kt),i=qt(n,n.length-kt);let c=D;if(o.length){const t=Yt(Mt,o);r.update(t);const n=e.update(t);c=Kt(Mt,n)}const l=qt(Kt(Mt,r.digest()),0,kt);let d=n.length<kt?1:0;for(let t=0;kt>t;t++)d|=l[t]^i[t];if(d&&a)throw Error(bt);t.enqueue(c)}}})}}class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=D;n?(i=await(async(t,e,r)=>{const n=gt(new Uint8Array(Dt[e]));return ct(n,await Zt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%xt);c.set(i,0),e.enqueue(Vt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=D;if(n.length){const t=e.update(Yt(Mt,n));r.update(t),s=Kt(Mt,t)}const o=Kt(Mt,r.digest()).slice(0,kt);t.enqueue(ct(s,o))}}})}}function Bt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Ht(e,r),strength:n-1,pending:D})}function Vt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=ct(c,e));const l=e.length-a;let d;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%xt)),d=0;l-xt>=d;d+=xt){const t=Yt(Mt,qt(e,d,d+xt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Kt(Mt,a),d+n)}return t.pending=qt(e,d),r}async function Zt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!_t)return pt.importKey(e);try{return await Ct.importKey("raw",e,r,!1,a)}catch{return _t=!1,pt.importKey(e)}})(0,r,At,0,Rt),s=await(async(t,e,r)=>{if(!Pt)return pt._(e,t.salt,Ft.iterations,r);try{return await Ct.deriveBits(t,e,r)}catch{return Pt=!1,pt._(e,t.salt,Ft.iterations,r)}})(Object.assign({salt:n},Ft),a,8*(2*Ut[e]+2)),o=new Uint8Array(s),i=Yt(Mt,qt(o,0,Ut[e])),c=Yt(Mt,qt(o,Ut[e],2*Ut[e])),l=qt(o,2*Ut[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Nt(new It(i),Array.from(Tt)),st:new jt(c)}),l}function Ht(t,e){return e===z?it(t):e}function qt(t,e,r){return t.subarray(e,r)}function Kt(t,e){return t.A(e)}function Yt(t,e){return t.F(e)}class Gt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ht);t=t.subarray(12)}n?e.error(Error(St)):e.enqueue(Qt(r,t))}})}}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set($t(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set($t(r,t),a),e.enqueue(n)}})}}function Jt(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new st(n[0]),ct:new st(n[2])}),r)for(let e=0;e<r.length;e++)te(t,r[e]);else for(let r=0;r<e.length;r++)te(t,e.charCodeAt(r))})(t,e,r)}function Qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,r[n]);return r}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,e[n]);return r}function te(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=ne(Math.imul(ne(r+re(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function ee(t){const e=2|t.keys[2];return re(Math.imul(e,1^e)>>>8)}function re(t){return 255&t}function ne(t){return 4294967295&t}function ae(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function se(t,e){if(t=ae(t),typeof Blob.prototype.stream!=R||new Blob([]).stream()instanceof ReadableStream){const r={};return e&&(r.headers=[["Content-Type",e]]),new Response(t,r).blob()}const r=[];return t.pipeTo(new WritableStream({write(t){r.push(t)}})).then(()=>new Blob(r,e?{type:e}:{}))}function oe(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ie="Invalid uncompressed size",ce="Invalid compressed data",le=yt,de="deflate-raw",ue="gzip",fe=[31,139,8];class we extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&Y(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new ot,y=xe(y,p)),a)if(b)y=ze(y,Ee(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new pe,y=ze(y,new n(ue)),y=xe(y,h);else try{y=ge(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(ue)}catch{throw t}y=ze(y,e),y=xe(y,new pe)}s&&(i?y=xe(y,new Xt(t)):(m=new Lt(t),y=xe(y,m))),Se(w,y,()=>{s&&!i||!c||(w.crc32=S?h.crc32:new DataView(p.value.buffer).getUint32(0))})}}class pe extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(8>=a)return void(r=ct(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(ct(r.subarray(0,o),t.subarray(0,s-o))),r=ct(r.subarray(o),t.subarray(s-o))},flush(){const e=dt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class me extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=xe(y,new Gt(t)):(h=new Wt(t),y=xe(y,h))),c){const t=u&&Y(u);if(t)y=ze(y,Ee(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=ge(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===z)throw t;let e;try{e=new n(ue)}catch{throw t}y=((t,e,r)=>{const n=new st;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(fe),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=dt(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=xe(t,d),xe(t=ze(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(ie)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(ce);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(m=new ot,y=xe(y,m)),Se(this,y,()=>{if(o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(le)}})}}const he=new Map;function ye(t,e){if(!t)return!1;let r=he.get(t);r||(r=new Map,he.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function be(t){return ye(t,de)}function Se(t,e,r){e=xe(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Ee(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function ge(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":de;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return ze(t,i)}function xe(t,e){return ae(t).pipeThrough(e)}function ze(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const Ae="data",Fe="deflate",Re="inflate";class De extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Fe)?a=we:n.startsWith(Re)&&(a=me),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(ie)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class Ue extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const ke={type:"module"},Te="error",Oe="Worker startup timeout";let Ce,ve,Me,Ie,Ne,je=!0;try{je=typeof structuredClone==R&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}let _e=()=>{};class Pe{constructor(t,{readable:e,writable:r},{options:n,config:a,lt:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},d){const{signal:u}=s;return Ne&&(l=z),Object.assign(t,{ut:!0,ft:(t.ft||0)+1,readable:e.pipeThrough(new Ue(v(a))).pipeThrough(new We(s),{signal:u}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{wt:r,ut:n}=t;r?(n?t.ht=e:(r.terminate(),e()),t.yt=null):e()}),bt(){if(t.ut){const{ht:e}=t;e&&(t.ht=null,t.St=!0,t.wt.terminate(),e()),t.ut=!1,d(t)}}}),Ce===z&&(Ce=typeof Worker!=F),(o&&(Ce&&c||l)?Ve:Be)(t,a)}}class We extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Le(t,r)},async transform(t,n){a+=t.length,e&&await Le(e,a,r),n.enqueue(t)},async flush(){n&&await Le(n,a)}})}}async function Le(t,...e){try{await t(...e)}catch{}}function Be(t,e){return{run:()=>Ze(t,e)}}function Ve(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.yt){let o;typeof s==R&&(s=s());try{o=qe(t.workerURI,r,t)}catch{return t.createWorker?Ne=!0:Ce=!1,Be(t,e)}Object.assign(t,{wt:o,Et:!1,St:!1,yt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,gt:r,xt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,zt:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,zt:()=>e.abort()}})(t.writable);let d;try{d=Ge({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.Et||!Number.isFinite(u)||0>u||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.Et)return;const{xt:e,writer:r}=t;if(He(t),t.wt=null,e){const t=Error(Oe);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft){t.createWorker?Ne=!0:Ce=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Ze(t,e)}throw r}}}})}return t.yt}async function Ze({options:t,readable:e,writable:r,bt:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Fe),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Rt&&!be(n))try{await _e(a)}catch{}}else try{await _e(a)}catch{r&&!r.Rt||(t.useCompressionStream=!0)}}s=new De(t,a),await e.pipeThrough(s).pipeThrough(new Ue(v(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function He(t){const{wt:e}=t;if(e)try{e.terminate()}catch{}t.yt=null}function qe(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Me===z||ve!==t){const s=typeof t==R;i=s?t(a):t;const l=i.startsWith("data:"),d=i.startsWith("blob:");if(l||d){n===z&&(n=!1),n&&(c=ke);try{o=new Worker(i,c)}catch(a){if(d)try{URL.revokeObjectURL(i)}catch{}if(s&&d)return qe(t,e,r,n,!1);if(n)throw a;return qe(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=ke);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)throw s;return qe(t,e,r,!1,a)}}ve=t,Me=i,Ie=c}else o=new Worker(Me,Ie);return o.addEventListener("message",t=>{r.Et=!0,Ke(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,gt:l,xt:d,bt:u,ft:f}=e,w=()=>e.ft!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=o,i=Error(t);Object.assign(i,{stack:e,code:r,name:n,outputSize:a}),s&&(i.cause=Object.assign(Error(s.message),{name:s.name})),p(i)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Ge({type:Ae,value:t,done:r,messageId:a},e)}r==Ae&&(await c.ready,await c.write(new Uint8Array(n)),w()||Ge({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(He(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),o.addEventListener(Te,t=>Ye(t,r)),o.addEventListener("messageerror",t=>Ye(t,r)),o}function Ke(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function Ye(t,e){t.preventDefault&&t.preventDefault(),Ke(e);const{Et:r,xt:n,writer:a,bt:s}=e;if(He(e),r||(e.wt=null),n){let e=t.error||Error(t.message||Te);r||(e=Object.assign(Error(e.message||Te),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Ge(t,{wt:e,writer:r,transferStreams:n,Et:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=lt(r),i.push(t.value.buffer)),n&&je&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Xe=[];const Je=[];let Qe,$e,tr=0;async function er(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Z.has(t)&&e&&G(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===z&&n.transferStreams;const h=!(i||c||l||d),y=u===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&p?p:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Xe.find(t=>!t.ut);if(r)return or(r),new Pe(r,t,e,b);if(Xe.length<m){const r={Dt:tr};return tr++,Xe.push(r),new Pe(r,t,e,b)}return new Promise(r=>{Je.push({resolve:r,stream:t,Ut:e}),$e=n.workerStarvationTimeout,rr()})})()).run();function b(t){if(nr(),Je.length){const[{resolve:e,stream:r,Ut:n}]=Je.splice(0,1);e(new Pe(t,r,n,b)),rr()}else t.wt?(or(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{Xe=Xe.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Xe=Xe.filter(e=>e!=t)}}function rr(){!Qe&&Je.length&&Number.isFinite($e)&&$e>=0&&(Qe=setTimeout(ar,$e))}function nr(){Qe&&(clearTimeout(Qe),Qe=null)}function ar(){if(Qe=null,Je.length){const[{resolve:t,stream:e,Ut:r}]=Je.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new Pe({},e,n,sr)),rr()}}function sr(){nr(),rr()}function or(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const ir="HTTP error ",cr="HTTP Range not supported",lr="HTTP resource changed",dr="Writer iterator completed too soon",ur="Writer not initialized",fr="Content-Range",wr="Range",pr="GET",mr="bytes",hr=16777216,yr="writable",br=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class Er extends Sr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=v(C())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await rn(n,t+a,o);s.enqueue(i),a+r>e||e===z&&!i.length&&o?s.close():a+=r}})}}class gr extends Sr{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(ur);return t.writeUint8Array(lt(e))}});Object.defineProperty(t,yr,{get:()=>e})}writeUint8Array(){}}class xr extends Er{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class zr extends gr{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let Ar,Fr;class Rr extends Er{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Fr||(Fr=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Ar=1==e}catch{Ar=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?Ar?ae(e.slice(n,n+a).stream()):super.createReadable(t):ae(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Dr extends Sr{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,yr,{get:()=>r.writable}),e.blob=se(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class Ur extends Rr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class kr extends Dr{constructor(t){super(t),Object.assign(this,{encoding:t,Ot:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Ot:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class Tr extends Er{constructor(t,e){super(),Cr(this,t,e)}async init(){await vr(this,Hr,Lr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(cr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Hr(pr,t,Pr(t,a,e));if(206!=r.status)throw Error(cr);const i=r.headers.get(fr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(cr)}_r(t,r),jr(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Mr(this,t,e,Hr,Lr)}}class Or extends Er{constructor(t,e){super(),Cr(this,t,e)}async init(){await vr(this,qr,Br),super.init()}readUint8Array(t,e){return Mr(this,t,e,qr,Br)}}function Cr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=hr,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function vr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=C(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(pr,t,Pr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==mr))throw Error(cr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==u&&(t.Ct=e)}jr(t,n);const a=Ir(n);a===z?await Zr(t,e,r):t.size=a}}else await Zr(t,e,r)}async function Mr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Ct:i,size:c,options:l}=t;if(s||o){if(i&&e==c-u&&r==u)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(pr,t,Pr(t,e,r));if(206!=a.status)throw Error(cr);const s=a.headers.get(fr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(cr)}_r(t,a),jr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(cr);return o}return D}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Ir(t){const e=t.headers.get(fr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Nr({headers:t}){return{vt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function jr(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=Nr(e))}function _r(t,e){const{checkResourceChanges:r,Mt:n,size:a}=t;if(r){const t=Ir(e);if(t!==z&&a!==z&&t!=a)throw Error(lr);if(n){const t=Nr(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(lr)}}}function Pr(t,e=0,r=1){return Object.assign({},Wr(t),{[wr]:mr+"="+(0>e?e:e+"-"+(e+r-1))})}function Wr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Lr(t){await Vr(t,Hr)}async function Br(t){await Vr(t,qr)}async function Vr(t,e){const r=await e(pr,t,Wr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Zr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Wr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Hr(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(cr):Error(ir+(s.statusText||s.status))}function qr(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(cr):Error(ir+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Kr extends Er{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Or(t,e):new Tr(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Yr extends Kr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Gr extends Er{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class Xr extends gr{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Jr extends Er{constructor(t){super(),this.It=t}async init(){const t=this,{It:e}=t;t.Nt=0,await Promise.all(e.map(t=>en(t))),t.jt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{jt:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{It:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=ct(await rn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await rn(i,o,e)}else a=D;return r.Nt=Math.max(s,r.Nt),a}}class Qr extends Sr{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===br)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(dr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await en(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,yr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(br)}finally{t.releaseLock()}}}class $r{constructor(t){return Array.isArray(t)&&(t=new Jr(t)),(t instanceof ReadableStream||typeof t.getReader==R)&&(t={readable:ae(t)}),t}}class tn{constructor(t){return t.writable===z&&typeof t.next==R&&(t=new Qr(t)),(t instanceof WritableStream||typeof t.getWriter==R)&&(t={writable:oe(t)}),t.size===z&&(t.size=0),t}}async function en(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function rn(t,e,r){return t.readUint8Array(e,r)}const nn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function an(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=nn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const sn="filename",on="rawFilename",cn="comment",ln="rawComment",dn="uncompressedSize",un="compressedSize",fn="offset",wn="diskNumberStart",pn="lastModDate",mn="rawLastModDate",hn="lastAccessDate",yn="rawLastAccessDate",bn="creationDate",Sn="rawCreationDate",En="internalFileAttributes",gn="externalFileAttributes",xn="msdosAttributesRaw",zn="msdosAttributes",An="msDosCompatible",Fn="zip64",Rn="encrypted",Dn="version",Un="versionMadeBy",kn="zipCrypto",Tn="directory",On="executable",Cn="compressionMethod",vn="signature",Mn="extraField",In="unixMode",Nn="setuid",jn="setgid",_n="sticky",Pn=[sn,on,dn,un,pn,mn,cn,ln,hn,yn,bn,Sn,fn,wn,En,gn,xn,zn,An,Fn,Rn,Dn,Un,kn,Tn,On,Cn,vn,"crc32",Mn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",In,Nn,jn,_n,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Wn{constructor(t){Pn.forEach(e=>this[e]=t[e])}}const Ln="password",Bn="rawPassword",Vn="passThrough",Zn="signal",Hn="checkAmbiguity",qn="useWebWorkers",Kn="useCompressionStream",Yn="transferStreams",Gn="preventClose",Xn="offset",Jn="usdz",Qn="strictness",$n="strict",ta="tolerant",ea="File format is not recognized",ra="End of central directory not found",na="End of Zip64 central directory locator not found",aa="Central directory header not found",sa="Local file header not found",oa="Zip64 extra field not found",ia="File contains encrypted entry",ca="Encryption method not supported",la="Compression method not supported",da="Split zip file",ua="Overlapping entry found",fa="Ambiguous archive",wa="Encrypted central directory is not supported",pa="utf-8",ma="cp437",ha=[[dn,t],[un,t],[fn,t],[wn,e]],ya={[e]:{Pt:Za,bytes:4},[t]:{Pt:Ha,bytes:8}};class ba{constructor(t,e={}){Object.assign(this,{reader:new $r(t),options:e,config:C(),Wt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:p}=s;if(await en(c),c.size!==z&&c.readUint8Array||(c=new Rr(await se(c.readable)),await en(c)),c.size<u)throw Error(ea);const m=ka(Pa(s,n,Qn),Pa(s,n,Hn)),E=m==$n,g=m!=ta,x=((t,r)=>t!==z?t:r==$n?0:r==ta?1/0:e)(Pa(s,n,"maxAppendedDataSize"),m),{Lt:A,Bt:F}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Ta};let o,i,c=0;for await(const[r,l,d,f,w]of Ma(t,a)){const a=Va(r,f+20);if(w+u+a==n){const a=await Na(t,r,l,f,w,n,s);if(a==va){if(o||(o=Ia(d,f,w)),c++,!e||c>1)break}else a!=Ca||i||(i=Ia(d,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,d]of Ma(t,a)){const a=Ia(c,l,d);s||(s=a);const u=await Na(t,e,i,l,d,n,r);if(u==va)return a;u!=Ca||o||(o=a)}return o||s})(t,r,s)),{Lt:o,Bt:c}})(c,g,x);if(!A)throw Za(dt(await rn(c,0,4)))==a?Error(da):Error(ra);g&&F>1&&_a("multiple end of central directory records");const R=dt(A);let U=Za(R,12),k=Za(R,16);const T=A.offset,O=Va(R,20),C=T+u+O;c.size-C>x&&_a("appended data");let v=Va(R,4);const M=c.Nt||0;let I,N,j,_,P=Va(R,6),W=Va(R,10),L=0;const B=k==t||U==t||W==e||P==e;if(k!=t&&P!=e&&(k+=Ua(c,P)),B){const r=A.offset<f?D:await rn(c,A.offset-f,f),n=dt(r);if(r.length==f&&Za(n,0)==d){k=Ua(c,Za(n,4))+Ha(n,8);let r=await rn(c,k,w),a=dt(r);const s=A.offset-f-w;if((r.length<w||Za(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(L=k-t),r=await rn(c,k,w),a=dt(r)}if(r.length<w||Za(a,0)!=l)throw Error(na);if(N=!0,j=Ha(a,4)>44,j){const t=Math.min(Number(Ha(a,4))-44,c.size-k-w);t>0&&(_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=dt(t),n=Va(r,26);Object.assign(e,{compressionMethod:Va(r,0),compressedSize:Number(Ha(r,2)),uncompressedSize:Number(Ha(r,10)),encryptionAlgorithm:Va(r,18),bitLength:Va(r,20),flags:Va(r,22),hashAlgorithm:Va(r,24),hashData:t.subarray(28,28+n)})}return e})(await rn(c,k+w,t)))}v==e?v=Za(a,16):E&&v!=Za(a,16)&&_a("mismatched zip64 end of central directory record"),P==e?P=Za(a,20):E&&P!=Za(a,20)&&_a("mismatched zip64 end of central directory record"),W==e?W=Ha(a,32):E&&W!=Ha(a,32)&&_a("mismatched zip64 end of central directory record"),U==t?U=Ha(a,40):E&&U!=Ha(a,40)&&_a("mismatched zip64 end of central directory record"),k=Ua(c,P)+Ha(a,48)+L}}let V=U;const Z=A.offset-(N?76:0);if(k<c.size||(L=c.size-k-U-u,k=c.size-U-u),M!=v)throw Error(da);if(0>k)throw Error(ea);let H=0,q=await rn(c,k,U),K=dt(q);if(U){if(4>q.length)throw Error(ea);const t=Z-U;if(k!=t&&P==v){let e=!(Za(K,H)==i);if(e||0>t||t+4>c.size||(e=Za(dt(await rn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(L+=k-e),q=await rn(c,k,U),K=dt(q)}}}const Y=Z-k;if(U==Y||0>Y||P!=v||(U=Y,q=await rn(c,k,U),K=dt(q)),0>k||k>=c.size)throw Error(ea);s.directoryOffset=k,s.directoryLength=V;const G=Pa(s,n,"decryptCentralDirectory");let X;G&&W&&q.length>=4&&Za(K,0)!=i&&(j||ga(K))&&(q=await G(q,_),K=dt(q),V=q.length,X=!0),I=k;const J=Pa(s,n,"filenameEncoding"),Q=Pa(s,n,"commentEncoding"),$=E?new Set:z;let tt;for(let t=0;W>t;t++){const a=new Ea(c,p,s.options);if(H+46>q.length||Za(K,H)!=i){if(0==t&&!X&&(j||ga(K)))throw Error(wa);throw Error(aa)}xa(a,K,H+6);const o=!!a.bitFlag.languageEncodingFlag,l=H+46,d=l+a.filenameLength,u=d+a.extraFieldLength,f=Va(K,H+4),w=!(f>>8),m=f>>8==3,g=q.subarray(l,d),x=Va(K,H+32),A=u+x,F=q.subarray(u,A),R=o,D=o,U=Za(K,H+38),k=U&r,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},O=Za(K,H+42),C=Pa(s,n,"decodeText")||an,v=R?pa:J||ma,M=D?pa:Q||ma;let N=C(g,v);N===z&&(N=an(g,v));let _=C(F,M);_===z&&(_=an(F,M)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,compressedSize:0,uncompressedSize:0,Vt:x,offset:O,diskNumberStart:Va(K,H+34),internalFileAttributes:Va(K,H+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:g,filenameUTF8:R,commentUTF8:D,rawExtraField:q.subarray(d,u),rawComment:F,filename:N,comment:_}),za(a,a,K,H+6),a.offset+=L,I=Math.min(Ua(c,a.diskNumberStart)+a.offset,I),E&&($.has(a.filename)&&(tt=!0),$.add(a.filename));const P=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&P&&(a.unixMode=P);const B=!!(a.unixMode&y),V=!!(a.unixMode&b),Z=!!(512&a.unixMode),Y=a.unixMode!==z?!!(73&a.unixMode):m&&!!(73&P),G=a.unixMode!==z&&(61440&a.unixMode)==h,et=(61440&P)==h;Object.assign(a,{setuid:B,setgid:V,sticky:Z,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Y,directory:G||et||w&&T.directory||a.filename.endsWith(S)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Wn(a);rt.getData=(t,e)=>a.getData(t,rt,s.Wt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([se(e.readable).then(t=>t.arrayBuffer()),a.getData(e,rt,s.Wt,t)]);return r},H=A;const{onprogress:nt}=n;if(nt)try{await nt(t+1,W,new Wn(a))}catch{}yield rt}let et=H;if(H+6<=q.length&&Za(K,H)==o){const t=Va(K,H+4);H+6+t>q.length||(s.digitalSignature=q.subarray(H+6,H+6+t),et=H+6+t)}E&&H!=V&&et!=V&&_a("trailing central directory data"),tt&&_a("duplicate filename"),E&&(L||W&&I>0)&&_a("prepended data");const rt=Pa(s,n,"extractPrependedData"),nt=Pa(s,n,"extractAppendedData");return rt&&(s.prependedData=I>0?await rn(c,0,I):D),s.comment=O?await rn(c,T+u,O):D,nt&&(s.appendedData=C<c.size?await rn(c,C,c.size-C):D),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class Sa{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ba(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class Ea{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:g,compressedSize:x}=i,{dataDescriptor:A}=h,F=e.localDirectory={},R=Ua(c,u)+d,U=await rn(c,R,E),k=dt(U);let T=Pa(i,o,Ln),O=Pa(i,o,Bn);const C=Pa(i,o,Vn);if(T=T&&T.length&&T,O=O&&O.length&&O,f&&99!=f.originalCompressionMethod)throw Error(la);if(U.length<E||Za(k,0)!=n)throw Error(sa);xa(F,k,4);const{extraFieldLength:v,filenameLength:M}=F,I=ka(Pa(i,o,Qn),Pa(i,o,Hn))==$n;let N=D;if(I&&(M||v)){const t=await rn(c,R+E,M+v);N=t.subarray(0,M),F.rawExtraField=t.subarray(M)}else F.rawExtraField=v?await rn(c,R+E+M,v):D;za(i,F,k,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&_a("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&_a("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&_a("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||_a("mismatched local file header (crc32 or sizes)")})(i,F,N);const{lastAccessDate:j,creationDate:_}=F;j&&(e.lastAccessDate=j),_&&(e.creationDate=_);const P=i.encrypted&&F.encrypted&&!C,W=P&&!f;if(C||(e.zipCrypto=W),P&&!(64&~F.rawBitFlag))throw Error(ca);const L=C?z:K(p);if(0!=p&&8!=p&&9!=p&&!L&&!C)throw Error(la);if(P){if(!W&&(1>f.strength||f.strength>3))throw Error(ca);if(!T&&!O)throw Error(ia)}const B=R+E+M+v,V=x,Z=ae(c.createReadable({offset:B,size:V})),H=Pa(i,o,Zn),q=Pa(i,o,"checkPasswordOnly");let Y=Pa(i,o,"checkOverlappingEntry");const G=Pa(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=Pa(i,o,Kn);$&&(tt=!1);const et=Pa(i,o,"checkCrc32"),rt=(et===z?Pa(i,o,"checkSignature"):et)&&!C&&(!P||W||f&&1==f.vendorVersion),nt={options:{codecType:Re,password:T,rawPassword:O,zipCrypto:W,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:Pa(i,o,"checkAuthenticationCode"),passwordVerification:W&&(A?S>>>8&r:b>>>24&r),outputSize:C?x:g,crc32:b,compressed:0!=p&&!C,encrypted:P,useWebWorkers:Pa(i,o,qn),useCompressionStream:tt,transferStreams:Pa(i,o,Yn),deflate64:$,format:L?L.format:z,codecURI:L?L.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:q},config:m,lt:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at;Y&&await(async({reader:t,Zt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,Ht:c,dataDescriptor:l,extraFieldZip64:d,Wt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await rn(t,c+o,f+4);if(r.length==f+4&&Za(dt(r),0)==s){const t=Za(dt(r),4);let n,s;d?(n=Ha(dt(r),8),s=Ha(dt(r),16)):(n=Za(dt(r),8),s=Za(dt(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Zt:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(ua);throw t.qt=e.Zt,t}u.set(r,w)})({reader:c,Zt:e,index:l,offset:R,crc32:b,compressedSize:x,uncompressedSize:g,Ht:B,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:w||F.extraFieldZip64,Wt:a});try{if(!G){q&&(t=new WritableStream),t=new tn(t),await en(t,C?x:g),({writable:at}=t);const{outputSize:e}=await er({readable:Z,writable:at},nt);if(t.size+=e,e!=(C?x:g))throw Error(ie)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!q||e.message!=St)throw e}finally{Pa(i,o,Gn)||!at||at.locked||await at.getWriter().close()}return q||G?z:t.getData?t.getData():at}}function ga(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Za(t,r))return!0;return!1}function xa(t,e,r){const n=t.rawBitFlag=Va(e,r+2),a=!(1&~n),s=Za(e,r+6);Object.assign(t,{encrypted:a,version:Va(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&m)==m},rawLastModDate:s,lastModDate:Wa(s),filenameLength:Va(e,r+22),extraFieldLength:Va(e,r+24)})}function za(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=dt(s);let c=0;try{for(;c<s.length;){const t=Va(i,c),e=Va(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Va(r,n+4);Object.assign(e,{signature:Za(r,n+10),crc32:Za(r,n+10),compressedSize:Za(r,n+14),uncompressedSize:Za(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=dt(t.data),n=ha.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ya[e].bytes,0);if(t.data.length<a)throw Error(oa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=ya[i];e[o]=t[o]=c.Pt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(Aa(u,sn,on,e,t),e.extraFieldUnicodePath=u);const f=o.get(25461);f&&(Aa(f,cn,ln,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=dt(t.data),a=Ba(n,4);Object.assign(t,{vendorVersion:Ba(n,0),vendorId:Ba(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Va(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const m=o.get(13);m&&(Fa(m,e),e.extraFieldPkwareUnix=m);const h=o.get(22613);h&&(Fa(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=dt(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Va(r,a),s=Va(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=dt(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:La(a),lastAccessDate:La(s),creationDate:La(o)};Object.assign(t,i),Object.assign(e,i)}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);if(b)Ra(b,e,!1),e.extraFieldUnix=b;else{const t=o.get(30837);t&&(Ra(t,e,!0),e.extraFieldInfoZip=t)}const S=o.get(p);S&&(((t,e,r)=>{if(!t.data.length)return;const n=dt(t.data),a=Ba(n,0),s=[],o=[];r?(1&~a||(s.push(pn),o.push(mn)),2&~a||(s.push(hn),o.push(yn)),4&~a||(s.push(bn),o.push(Sn))):5>t.data.length||(s.push(pn),o.push(mn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Za(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(S,e,a),e.extraFieldExtendedTimestamp=S);const E=o.get(6534);E&&(e.extraFieldUSDZ=E)}function Aa(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=dt(t.data),o=new st;o.append(a[r]);const i=dt(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Za(s,1);Object.assign(t,{version:Ba(s,0),[e]:an(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Za(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Fa(t,e){if(8>t.data.length)return;const r=dt(t.data),n={lastAccessDate:new Date(1e3*Za(r,0)),lastModDate:new Date(1e3*Za(r,4))};12>t.data.length||(n.uid=Va(r,8),n.gid=Va(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ra(t,e,r){try{const n=dt(t.data);let a,s;if(r){let e=0;const r=Ba(n,e++),o=Ba(n,e++);a=Da(t.data.subarray(e,e+o)),e+=o;const i=Ba(n,e++);s=Da(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Va(n,0),s=Va(n,2),Object.assign(t,{uid:a,gid:s}));a!==z&&(e.uid=a),s!==z&&(e.gid=s)}catch{}}function Da(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ua(t,e){return t._t?t._t(e):0}function ka(t,e){return t===z?e?$n:"balanced":t}const Ta=64,Oa=0,Ca=1,va=2;async function*Ma(t,e){const r=t.size-e,n=await rn(t,r,e),a=dt(n);for(let t=n.length-u;t>=0;t--)Za(a,t)==c&&(yield[a,r,n,t,r+t])}function Ia(t,e,r){return{offset:r,buffer:t.slice(e,e+u).buffer}}async function Na(r,n,a,s,o,c,l){const u=Va(n,s+10),w=Za(n,s+12),p=Za(n,s+16);if(u==e||w==t||p==t)return await ja(r,n,a,o-f,c,l)==d?va:Oa;if(!u&&!w)return Ca;const m=Va(n,s+6);for(const t of[o-w,Ua(r,m)+p])if(await ja(r,n,a,t,c,l)==i)return va;return Oa}async function ja(t,e,r,n,a,s){return 0>n||n+4>a?z:r>n?s.count>0?(s.count--,Za(dt(await rn(t,n,4)),0)):z:Za(e,n-r)}function _a(t){const e=Error(fa);throw e.reason=t,e}function Pa(t,e,r){return e[r]===z?t.options[r]:e[r]}function Wa(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function La(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ba(t,e){return t.getUint8(e)}function Va(t,e){return t.getUint16(e,!0)}function Za(t,e){return t.getUint32(e,!0)}function Ha(t,e){return Number(t.getBigUint64(e,!0))}var qa=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:fa,ERR_BAD_FORMAT:ea,ERR_CENTRAL_DIRECTORY_NOT_FOUND:aa,ERR_ENCRYPTED:ia,ERR_ENCRYPTED_CENTRAL_DIRECTORY:wa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:na,ERR_EOCDR_NOT_FOUND:ra,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:oa,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:ce,ERR_INVALID_CRC32:le,ERR_INVALID_PASSWORD:ht,ERR_INVALID_SIGNATURE:yt,ERR_INVALID_UNCOMPRESSED_SIZE:ie,ERR_LOCAL_FILE_HEADER_NOT_FOUND:sa,ERR_OVERLAPPING_ENTRY:ua,ERR_SPLIT_ZIP_FILE:da,ERR_UNSUPPORTED_COMPRESSION:la,ERR_UNSUPPORTED_ENCRYPTION:ca,ERR_WORKER_STARTUP_TIMEOUT:Oe,ZipReader:ba,ZipReaderStream:Sa});const Ka="File already exists",Ya="Zip file comment exceeds 64KB",Ga="File entry comment exceeds 64KB",Xa="File entry name exceeds 64KB",Ja="Version exceeds 65535",Qa="The strength must equal 1, 2, or 3",$a="Encryption is not supported in USDZ files",ts="Extra field type exceeds 65535",es="Extra field data exceeds 64KB",rs=-2147483648,ns=2147483647,as=BigInt(0),ss=BigInt("0x7fffffffffffffff"),os="Zip64 is not supported (set the 'zip64' option to 'true')",is="Undefined uncompressed size",cs="Undefined reader",ls="Zip file not empty",ds="Invalid uid (must be integer 0..2^32-1)",us="Invalid gid (must be integer 0..2^32-1)",fs="Invalid UNIX mode (must be integer 0..65535)",ws="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ps="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ms="Invalid msdosAttributesRaw (must be integer 0..255)",hs="Invalid msdosAttributes (must be an object with boolean flags)",ys="Signature data exceeds 64KB",bs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Ss="infozip",Es="unix";let gs=0;const xs=[];class zs{constructor(t,e={}){t=new tn(t);const{availableSize:r=A,maxSize:n=A}=t;Object.assign(this,{writer:t,Kt:r>0&&r!==A&&n>0&&n!==A,options:e,config:C(),files:new Map,Yt:new Set,offset:e[Xn]===z?t.size||t.writable.size||0:e[Xn],Gt:e[Xn]===z?0:e[Xn]-(t.size||t.writable.size||0),Xt:new Set,Jt:0,Qt:z})}async prependZip(e){if(this.Yt.size)throw Error(ls);e=new $r(e),await en(e);const{ZipReader:r}=await Promise.resolve().then(()=>qa),n=new r(e.readable),a=await n.getEntries();await n.close(),await en(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Yt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||D,p=p||D,m=m||D,h=h||D,y=y||D,b=b||D,e.extraFieldAES&&(f=99);const x=Hs(w,p,m,h,y,b),A=u&&l>=t,F=u&&d>=t,R=-7&Ks(S,E,g,c,f)|S<<1,{ae:U,se:k}=qs({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,oe:F,ie:A,extraFieldLength:x}),{crc32:T}=e;return T!==z&&Bs(k,10,T),Object.assign(e,{ie:A,oe:F,ce:u&&e.offset>=t,diskNumberStart:0,le:!1,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,de:1+(a?2:0)+(s?4:0),ae:U,se:k}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Xt:d,config:u}=l;let f,w;gs<u.maxWorkers?gs++:await new Promise(t=>xs.push(t));try{if(o=o.trim(),Ps(l,c,Tn)&&!o.endsWith(S)&&(o+=S),l.Yt.has(o))throw Error(Ka);return l.Yt.add(o),w=!0,f=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=Ps(n,s,An),i=Ps(n,s,Un,o?20:768);const c=Ps(n,s,On),l=Ps(n,s,"uid"),d=Ps(n,s,"gid");let u=Ps(n,s,In),f=Ps(n,s,"unixExtraFieldType"),w=Ps(n,s,Nn),p=Ps(n,s,jn),m=Ps(n,s,_n);if(l!==z&&(0>l||l>t))throw Error(ds);if(d!==z&&(0>d||d>t))throw Error(us);if(u!==z&&(0>u||u>e))throw Error(fs);if(f!==z&&f!==Ss&&f!==Es)throw Error(ws);if(f===Es&&(l!==z&&l>e||d!==z&&d>e))throw Error(ps);f!==z||l===z&&d===z||(f=Ss);let E=Ps(n,s,xn),g=Ps(n,s,zn);const x=E!==z||g!==z;if(l!==z||d!==z||u!==z||f?(o=!1,i=i&e|768):x&&(o=!0,i&=r),E!==z&&(0>E||E>r))throw Error(ms);if(g&&"object"!=typeof g)throw Error(hs);if(i>e)throw Error(Ja);let A=Ps(n,s,gn);const F=A!==z;F||(A=0),!s[Tn]&&a.endsWith(S)&&(s[Tn]=!0);const R=Ps(n,s,Tn);let D;if(R?(a.endsWith(S)||(a+=S),F||(A=16,o||(A|=16877<<16))):o||F||(A=c?493<<16:27525120),!o){const t=u!==z||!!(w||p||m);D=A>>16&e,u=u===z?D:u&e,w?u|=y:w=!!(u&y),p?u|=b:p=!!(u&b),m?u|=512:m=!!(512&u),F&&!t||(R&&(u|=h),A=(u&e)<<16|A&e)}return({msdosAttributesRaw:E,msdosAttributes:g}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,g)),x&&(A=A&t|E&r),{name:a,ue:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:A,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:E,msdosAttributes:g}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=Ps(t,n,"encodeText",it);let s=a(r);if(s===z&&(s=it(r)),Hs(s)>e)throw Error(Xa);const o=n[cn]||"";let i=a(o);if(i===z&&(i=it(o)),Hs(i)>e)throw Error(Ga);const c=Ps(t,n,Dn,20);if(c>e)throw Error(Ja);const l=Ps(t,n,pn,new Date),d=Ps(t,n,hn),u=Ps(t,n,bn),f=Ps(t,n,En,0),w=Ps(t,n,Vn);let p,m;w||(p=Ps(t,n,Ln),m=Ps(t,n,Bn));const h=Ps(t,n,"encryptionStrength",3),y=Ps(t,n,kn),b=Ps(t,n,"extendedTimestamp",!0),S=Ps(t,n,"ntfsTimestamp"),E=Ps(t,n,"keepOrder",!0),g=Ps(t,n,qn),x=Ps(t,n,Yn),A=Ps(t,n,"bufferedWrite"),F=Ps(t,n,"createTempStream"),R=Ps(t,n,"dataDescriptorSignature",!0),D=Ps(t,n,Zn),U=Ps(t,n,"useUnicodeFileNames",!0),k=Ps(t,n,Cn),T=w||k===z?z:K(k);if(!w&&k!==z&&0!==k&&8!==k&&!T)throw Error("Compression method not supported");let O=Ps(t,n,"level");if(t.options[Jn]){if(p!==z||m!==z)throw Error($a);O===z&&k===z&&(O=0)}let C=Ps(t,n,Kn),v=Ps(t,n,"dataDescriptor");A&&v===z&&(v=!1),(v===z||y)&&(v=!0),O!==z&&6!=O&&(C=!1);const M=Ps(t,n,Fn);if(!y&&(p!==z||m!==z)&&(1>h||h>3))throw Error(Qa);const I=Rs(n[Mn]),N=Rs(n.localExtraField);return{comment:o,ue:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:U,compressionMethod:k,format:T?T.format:z,codecURI:T?T.codecURI:z,fe:T?T.versionNeeded:z,level:O,useCompressionStream:C,dataDescriptor:v,zip64:M,rawExtraField:I,we:N}}})(o,i,l),{comment:f}=u,w=l[Mn];let m;o.files.set(i,z);try{const{ue:f}=u;0==f.level||f.compressionMethod!==z||f.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.Rt)return!0;if(be(e)||ye(e,ue))return!0;if(r)try{return await _e(t),!0}catch{return!1}return!1})(o.config)||(f.level=0);const w=await(async(e,r,{ue:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error(cs);if(m=a[dn],m===z)throw Error(is)}const h=!0===u,y=Ps(e,a,Rn),b=!!r&&(!!(i&&Hs(i)||c&&Hs(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new $r(r),await en(r),s?(a.uncompressedSize=m,p=Ws(m)+S):r.size===z?(d=!0,(u||u===z)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=Ws(m)+S));const E=h||m>=t,g=h||p>=t;if(E||g){if(!1===u)throw Error(os);u=!0}return u=u||!1,{reader:r,ue:{dataDescriptor:d,zip64:u,ie:E,oe:g,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=w);const h=Os(o.writer),y=Ts(o.writer),b=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,we:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:A,ie:F,oe:R,uncompressedSize:U,crc32:k}=t;let{version:T,compressionMethod:O}=t;const C=!f&&(O===z?i===z||i>0:0!==O);let v;const M=S||!C,I=c&&(t.bufferedWrite||!u||!F&&!R||M),N=I||c&&u&&(F||R);if(c&&(F||R)){const t=20,e=ks(t);if(e.uint16(1),e.uint16(t-4),v=e.array,I&&(e.pe(U),M)){const t=A?l?12:16+4*h:0;e.pe(S?0:U+t)}}else v=D;let j,_,P,W,L;if(A&&!l){const t=ks(Hs(bs)+2);t.uint16(39169),t.bytes(bs),j=t.array,j[8]=h}else j=D;if(y){const t=Ns(a),e=js(t);if(e){const e=9+(s?4:0)+(o?4:0),r=ks(e);W=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(W),r.uint32(t),s&&r.uint32(_s(Ns(s))),o&&r.uint32(_s(Ns(o))),P=r.array}else P=D;if(b===z?!e||s||o:b)try{const t=Is(a),e=ks(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?Is(s):t),e.pe(o?Is(o):t),_=e.array}catch{_=D}else _=D}else _=P=D;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Ss||r===z&&n===z)if(a!=Es||r===z&&n===z)L=D;else{const t=ks(8);t.uint16(30805),t.uint16(4),t.uint16((r===z?0:r)&e),t.uint16((n===z?0:n)&e),L=t.array}else{const t=Us(r),e=Us(n),a=3+t.length+e.length,s=ks(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),L=s.array}}catch{L=D}O===z&&(O=C?8:0);const{fe:B}=t;C&&B!==z&&(T=T>B?T:B),c&&(T=T>45?T:45),A&&!l&&(T=T>51?T:51,S&&k!==z&&(j[4]=1),j[9]=O,O=99);const V=N?Hs(v):0,Z=V+Hs(j,P,_,L,w,m);if(Z>e)throw Error(es);const H=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{ae:q,se:K,rawLastModDate:Y}=qs({version:T,bitFlag:Ks(i,d,u,A,O),compressionMethod:O,uncompressedSize:U,lastModDate:x>H?x:H>g?g:H,rawFilename:r,oe:R,ie:F,extraFieldLength:Z}),G=ks(E+Hs(r)+Z),X=G.array,J=dt(X);return G.uint32(n),G.bytes(q),G.bytes(r),N&&G.bytes(v),G.bytes(j),G.bytes(P),G.bytes(_),G.bytes(L),G.bytes(w),G.bytes(m),u&&(R||Bs(J,18,0),F||Bs(J,22,0)),{he:X,ye:J,ae:q,se:K,lastModDate:a,rawLastModDate:Y,encrypted:A,compressed:C,version:T,compressionMethod:O,de:W,$t:D,be:V,ee:P,re:_,ne:L,te:j,extraFieldLength:Z}})(l=Object.assign({},l,d.ue,u.ue,w.ue,{internalFileAttribute:u.ue.internalFileAttributes,externalFileAttribute:d.ue.externalFileAttributes,signature:l[vn],crc32:l.crc32===z?l[vn]:l.crc32,offset:o.offset-h,diskNumberStart:y})),S=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=D,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=dt(a),r&&(o=4,Bs(n,0,s))),{Se:a,Ee:n,ge:o}})(l),F=Hs(b.he,S.Se);m=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{xe:w}=o,p=e.options[Jn],m=e.Qt;let h,y,b,S,g,x,F,R={},D=0;c.set(n,R),e.Qt=R;try{let y;d&&(y=m&&m.lock,R.lock=new Promise(t=>b=t)),i.bufferedWrite||!d||e.ze||e.Jt||!u?(h=!0,e.Jt++,F=i.createTempStream?await i.createTempStream():new TransformStream(z,z,{highWaterMark:A}),F.size=0,await en(l)):(F=l,await U()),await en(F);const T=Os(l);if(e.Kt){delete e.Kt;const t=new Uint8Array(4);Bs(dt(t),0,a),await Ms(l,t),e.offset+=4}p&&!h&&Ds(o,e.offset-T);const{he:O}=w;h||(await y,await k());const C=Ts(l),v=vs(e,l);if(R.diskNumberStart=C,h||(g=!0,x=l.size,await Ms(F,O)),R=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{xe:l,Ae:d,Fe:u}=o,{ae:f,se:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,$t:E,be:g,ee:x,de:A,re:F,ne:R,te:D}=l,{Se:U}=d,{rawFilename:k,lastAccessDate:T,creationDate:O,password:C,rawPassword:v,level:M,zip64:I,ie:N,oe:j,zipCrypto:_,dataDescriptor:P,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,$t:E,be:g,ee:x,re:F,ne:R,te:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:ht,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=ae(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Fe,level:M,rawPassword:v,password:C,encryptionStrength:J,zipCrypto:h&&_,passwordVerification:h&&_&&m>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,lt:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await er({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,h&&!_||(ht=e.crc32)),!j&&bt>=t||!N&&yt>=t)throw Error(os)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Ae:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{se:l,encrypted:d}=n,{Ee:u,ge:f}=a;d&&!o&&!i||t===z||(Bs(l,10,t),c&&Bs(u,f,t)),s?c&&(Vs(u,f+4,BigInt(e)),Vs(u,f+12,BigInt(r))):(Bs(l,14,e),Bs(l,18,r),c&&(Bs(u,f+4,e),Bs(u,f+8,r)))})({crc32:ht,compressedSize:bt,uncompressedSize:yt,xe:l,Ae:d},c),P&&await Ms(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:O,lastAccessDate:T,encrypted:h,zipCrypto:_,size:u+bt,compressionMethod:S,version:b,ae:f,se:w,signature:ht,crc32:!h||_||ft?ht:z,de:A,ie:N,oe:j}),mt})(s,F,R,o,e.config,i),h||(g=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([F.writable.getWriter().close(),y]),await U(),S=!0,x=l.size,await k(),R.diskNumberStart=Ts(l),R.offset=vs(e,l),p){const t=o.Fe;Ds(o,e.offset-Os(l)),R.size+=o.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:a,compressedSize:s,uncompressedSize:o,ie:i,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==z)&&Bs(l,14,a),c||Bs(l,18,s),i||Bs(l,22,o)),r&&n){const e=E+Hs(t)+4;Vs(l,e,BigInt(o)),Vs(l,e+8,BigInt(s))}})(R,w.ye,i),await Ms(l,w.he),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Hs(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,l,f),l.size+=F.size,S=!1}else R.diskNumberStart=C,R.offset=v;return e.offset+=R.size,R}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-x,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.Jt--,b&&b(),y&&y(),h&&F&&F.dispose)try{await F.dispose()}catch{}}async function U(){e.ze=!0;const{Re:t}=e;e.Re=new Promise(t=>y=()=>{e.ze=!1,t()}),await t}async function k(){Cs(l,Hs(w.he))&&await l.closeDisk()}})(o,i,c,{xe:b,Ae:S,Fe:F},l)}catch(t){throw o.files.delete(i),t}return Object.assign(m,{name:i,comment:f,extraField:w}),new Wn(m)})(l,o,i,c),d.add(f),await f}catch(t){throw w&&l.Yt.delete(o),t}finally{d.delete(f);const t=xs.shift();t?t():gs--}}remove(t){const{Yt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=D,n={}){const{Xt:a,writer:s}=this,{writable:f}=s;if(Hs(r)>e)throw Error(Ya);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,te:s,rawComment:o,re:i,ne:c,rawExtraField:l,extendedTimestamp:d,de:u,lastModDate:f,ie:w,oe:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||m){const t=4+(w?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=ks(t);e.uint16(1),e.uint16(t-4),w&&e.pe(h),m&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=D;a.$t=E,a.ce=b,a.le=S;const x=Ns(f);if(d&&js(x)){const t=ks(9);t.uint16(p),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=D;a.ee=g;const z=Hs(E,s,i,c,g,l);if(z>e)throw Error(es);n+=46+Hs(r,o)+z}return n})(r.files),{De:f,Ue:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await en(o);let l=0,d=0,u=Ts(o),f=Os(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,$t:m,te:h,ee:y,re:b,ne:S,rawExtraField:E,rawComment:g,versionMadeBy:x,ae:z,se:A,ie:F,oe:R,le:D,ce:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:C,compressedSize:v}=n,M=Hs(m,h,y,b,S,E),I=46+Hs(p,g)+M;Cs(o,l+I-d)&&(await Ms(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=Ts(o),f=Os(o)),F||Bs(A,18,C),R||Bs(A,14,v),(U||D)&&45>n.version&&Ls(A,0,45);const N=ks(I);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(M),N.uint16(Hs(g)),N.uint16(D?e:O),N.uint16(k),N.uint32(T),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Zs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Wn(n))}catch{}}return await Ms(o,d?c.slice(d):c),{De:{diskNumber:u,diskOffset:f},Ue:c}})(r,s,a),m=await(async(t,r,n)=>{const a=Ps(t,n,"signCentralDirectory");if(a){const n=await a(r),s=Hs(n);if(s>e)throw Error(ys);const i=ks(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await Ms(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{De:i,ke:f}=s;let{Te:w}=s,p=r.files.size,m=i.diskNumber,h=vs(r,i),y=Ts(o);Cs(o,u)&&y++;let b=Ps(r,a,Fn);if(!(t>h&&t>w&&e>p&&e>y)){if(!1===b)throw Error(os);b=!0}const S=Hs(n);if(S>e)throw Error(Ya);const E=ks(b?98:u);Cs(o,Hs(E.array)+S)&&await o.closeDisk(),y=Ts(o),b&&(E.uint32(l),E.pe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(m),E.pe(p),E.pe(p),E.pe(w),E.pe(h),E.uint32(d),E.uint32(y),E.pe(BigInt(vs(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),Ps(r,a,"supportZip64SplitFile",!0)&&(y=e,m=e),p=e,h=t,w=t),E.uint32(c),E.uint16(y),E.uint16(m),E.uint16(p),E.uint16(p),E.uint32(w),E.uint32(h),E.uint16(S),await Ms(o,E.array),S&&await Ms(o,n)})(r,n,a,{De:f,Te:s,ke:m})})(this,r,n),Ps(this,n,Gn)||await f.getWriter().close(),s.getData?s.getData():f}}class As{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new zs(r,t),this.Xt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Fs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Fs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Xt)),this.zipWriter.close(t,e)}}function Fs(t,e,r){t.Xt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Rs(t){if(!t)return D;let r=0,n=0;t.forEach(t=>r+=4+Hs(t));const a=new Uint8Array(r),s=dt(a);return t.forEach((t,r)=>{if(r>e)throw Error(ts);if(Hs(t)>e)throw Error(es);Ls(s,n,r),Ls(s,n+2,Hs(t)),Zs(a,t,n+4),n+=4+Hs(t)}),a}function Ds(t,e){const{xe:r}=t;let{he:n,extraFieldLength:a}=r,s=64-(e+Hs(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=dt(o);Ls(i,0,6534),Ls(i,2,s-4);const c=n;r.he=n=new Uint8Array(Hs(c)+s),Zs(n,c),Zs(n,o,Hs(c));const l=dt(n);Ls(l,28,a+s),r.ye=l,t.Fe+=s}function Us(t){if(t===z)return D;{const e=new Uint8Array(4);dt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function ks(t){const e=new Uint8Array(t),r=dt(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ls(r,n,t),n+=2},uint32:t=>{Bs(r,n,t),n+=4},pe:t=>{Vs(r,n,BigInt(t)),n+=8},bytes:t=>{Zs(e,t,n),n+=Hs(t)},me:t=>n+=t}}function Ts(t){const{diskNumber:e=0}=t;return e}function Os(t){const{diskOffset:e=0}=t;return e}function Cs(t,e){const{availableSize:r=A}=t;return e>r}function vs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Gt:0)}async function Ms(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Hs(e),await n.write(e)}finally{n.releaseLock()}}function Is(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return as>e?as:e>ss?ss:e}}function Ns(t){return Math.floor(t.getTime()/1e3)}function js(t){return t>=rs&&ns>=t}function _s(t){return Math.min(ns,Math.max(rs,t))}function Ps(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function Ws(t){return t+5*(Math.floor(t/16383)+1)}function Ls(t,e,r){t.setUint16(e,r,!0)}function Bs(t,e,r){t.setUint32(e,r,!0)}function Vs(t,e,r){t.setBigUint64(e,r,!0)}function Zs(t,e,r){t.set(e,r)}function Hs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function qs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,oe:l,ie:d,extraFieldLength:u}){const f=ks(26),w=f.array,p=dt(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===z){const t=new Uint32Array(1),e=dt(t);Ls(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ls(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.me(4),l||s!==z?f.uint32(l?t:s):f.me(4),d||a!==z?f.uint32(d?t:a):f.me(4),f.uint16(Hs(c)),f.uint16(u),{ae:w,se:p,rawLastModDate:i}}function Ks(t,e,r,n,a){let s=0;return e&&(s|=m),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Ys(){return"application/octet-stream"}const Gs=1048576,Xs=".zip.js-temp";function Js(t={}){const{thresholdBytes:e=Gs,directoryName:r=Xs,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Qs=1048576;function $s(t={}){const{thresholdBytes:e=Qs}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=se(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const to=1048576,eo=".zip.js-temp",ro="createSyncAccessHandle is only available in dedicated workers";function no(t={}){const{thresholdBytes:e=to,directoryName:r=eo,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(ro);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{N({baseURI:import.meta.url})}catch{}let ao,so,oo,io,co;function lo(t,e,r={}){if(!ao){const t=Error("WASM module not loaded");throw t.cause=co,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Oe=so(a),this.in=so(s),this.inBufferSize=s,!this.Oe||!this.in)throw Error("allocation failed");if(this.Ce=new Uint8Array(a),t?(this.ve=ao.deflate_process,this.Me=ao.deflate_last_consumed,this.Ie=ao.deflate_end,this.Ne=ao.deflate_new(),r="gzip"===e?ao.deflate_init_gzip(this.Ne,n):"deflate-raw"===e?ao.deflate_init_raw(this.Ne,n):ao.deflate_init(this.Ne,n)):"deflate64-raw"===e?(this.ve=ao.inflate9_process,this.Me=ao.inflate9_last_consumed,this.Ie=ao.inflate9_end,this.Ne=ao.inflate9_new(),r=ao.inflate9_init_raw(this.Ne)):(this.ve=ao.inflate_process,this.Me=ao.inflate_last_consumed,this.Ie=ao.inflate_end,this.Ne=ao.inflate_new(),r="deflate-raw"===e?ao.inflate_init_raw(this.Ne):"gzip"===e?ao.inflate_init_gzip(this.Ne):ao.inflate_init(this.Ne)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(io.buffer),o=this.ve,i=this.Me,c=this.Oe,l=this.Ce;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&oo&&(oo(this.in),this.in=0),this.in=so(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Ne,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Ne);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(io.buffer),n=this.ve,s=this.Oe,o=this.Ce;for(;;){const i=n(this.Ne,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Ne&&t.Ie&&(e=t.Ie(t.Ne)),t.Ne=0,t.in&&oo&&oo(t.in),t.in=0,t.Oe&&oo&&oo(t.Oe),t.Oe=0,e}}class uo{constructor(t="deflate",e){return lo(!0,t,e)}}class fo{constructor(t="deflate",e){return lo(!1,t,e)}}uo.Rt=!0,fo.Rt=!0;let wo,po=!1;function mo(){wo=null,(async()=>{await Promise.allSettled(Xe.map(t=>(or(t),t.terminate()))),Ce=z,Ne=!1})(),po=!1,ao=so=oo=io=co=null}(({je:t})=>{_e=t})({je:t=>{if(!wo){let{wasmURI:e}=t;typeof e==R&&(e=e()),wo=(async(t,{baseURI:e})=>{if(!po)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(ao=t,({malloc:so,free:oo,memory:io}=ao),"function"!=typeof so||"function"!=typeof oo||!io)throw ao=so=oo=io=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),po=!0}catch(t){throw(t=>{co=t})(t),t}})(e,t).catch(t=>{throw wo=null,t})}return wo}}),N({CompressionStreamFallback:uo,DecompressionStreamFallback:fo}),N({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Rr as BlobReader,Dr as BlobWriter,xr as Data64URIReader,zr as Data64URIWriter,fa as ERR_AMBIGUOUS_ARCHIVE,ea as ERR_BAD_FORMAT,aa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Ka as ERR_DUPLICATED_NAME,ia as ERR_ENCRYPTED,wa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,na as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ra as ERR_EOCDR_NOT_FOUND,oa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,cr as ERR_HTTP_RANGE,lr as ERR_HTTP_RESOURCE_CHANGED,bt as ERR_INVALID_AUTHENTICATION_CODE,_ as ERR_INVALID_CODEC_DEFINITION,W as ERR_INVALID_CODEC_MODULE,Ya as ERR_INVALID_COMMENT,ce as ERR_INVALID_COMPRESSED_DATA,le as ERR_INVALID_CRC32,Qa as ERR_INVALID_ENCRYPTION_STRENGTH,Ga as ERR_INVALID_ENTRY_COMMENT,Xa as ERR_INVALID_ENTRY_NAME,es as ERR_INVALID_EXTRAFIELD_DATA,ts as ERR_INVALID_EXTRAFIELD_TYPE,us as ERR_INVALID_GID,ms as ERR_INVALID_MSDOS_ATTRIBUTES,hs as ERR_INVALID_MSDOS_DATA,ht as ERR_INVALID_PASSWORD,yt as ERR_INVALID_SIGNATURE,ys as ERR_INVALID_SIGNATURE_DATA,ds as ERR_INVALID_UID,ie as ERR_INVALID_UNCOMPRESSED_SIZE,ws as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ps as ERR_INVALID_UNIX_ID_SIZE,fs as ERR_INVALID_UNIX_MODE,Ja as ERR_INVALID_VERSION,dr as ERR_ITERATOR_COMPLETED_TOO_SOON,sa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ua as ERR_OVERLAPPING_ENTRY,P as ERR_RESERVED_COMPRESSION_METHOD,da as ERR_SPLIT_ZIP_FILE,cs as ERR_UNDEFINED_READER,is as ERR_UNDEFINED_UNCOMPRESSED_SIZE,la as ERR_UNSUPPORTED_COMPRESSION,ro as ERR_UNSUPPORTED_CONTEXT,Et as ERR_UNSUPPORTED_CRYPTO_API,ca as ERR_UNSUPPORTED_ENCRYPTION,$a as ERR_UNSUPPORTED_ENCRYPTION_USDZ,os as ERR_UNSUPPORTED_FORMAT,Oe as ERR_WORKER_STARTUP_TIMEOUT,ur as ERR_WRITER_NOT_INITIALIZED,ls as ERR_ZIP_NOT_EMPTY,Yr as HttpRangeReader,Kr as HttpReader,Er as Reader,Jr as SplitDataReader,Qr as SplitDataWriter,Ur as TextReader,kr as TextWriter,Gr as Uint8ArrayReader,Xr as Uint8ArrayWriter,gr as Writer,ba as ZipReader,Sa as ZipReaderStream,zs as ZipWriter,As as ZipWriterStream,M as configure,$s as createBlobTempStream,Js as createOPFSTempStream,no as createSyncAccessHandleTempStream,Ys as getMimeType,H as registerCodec,j as resetConfiguration,mo as terminateWorkers,q as unregisterCodec};