@zip.js/zip.js 2.8.45 → 2.8.47

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.
Files changed (56) hide show
  1. package/README.md +28 -2
  2. package/deno.json +13 -3
  3. package/dist/zip-core-external.js +146 -35
  4. package/dist/zip-core-external.min.js +1 -1
  5. package/dist/zip-core.js +154 -32
  6. package/dist/zip-core.min.js +1 -1
  7. package/dist/zip-fs-core-external.js +146 -35
  8. package/dist/zip-fs-core-external.min.js +1 -1
  9. package/dist/zip-fs-core.js +124 -30
  10. package/dist/zip-fs-core.min.js +1 -1
  11. package/dist/zip-fs-external.js +146 -35
  12. package/dist/zip-fs-external.min.js +1 -1
  13. package/dist/zip-fs-native.js +160 -36
  14. package/dist/zip-fs-native.min.js +1 -1
  15. package/dist/zip-fs.js +160 -36
  16. package/dist/zip-fs.min.js +1 -1
  17. package/dist/zip-legacy.js +156 -34
  18. package/dist/zip-legacy.min.js +1 -1
  19. package/dist/zip-native.js +158 -36
  20. package/dist/zip-native.min.js +1 -1
  21. package/dist/zip-web-worker-native.js +1 -1
  22. package/dist/zip-web-worker.js +1 -1
  23. package/dist/zip.js +158 -36
  24. package/dist/zip.min.js +1 -1
  25. package/index-native.cjs +160 -36
  26. package/index-native.min.js +1 -1
  27. package/index.cjs +160 -36
  28. package/index.d.cts +232 -1
  29. package/index.d.ts +232 -1
  30. package/index.min.js +1 -1
  31. package/lib/core/codec-pool.js +9 -5
  32. package/lib/core/codec-worker.js +30 -13
  33. package/lib/core/configuration.js +20 -2
  34. package/lib/core/constants.js +2 -0
  35. package/lib/core/options.js +4 -0
  36. package/lib/core/streams/codec-stream.js +2 -0
  37. package/lib/core/streams/common-crypto.js +2 -1
  38. package/lib/core/streams/zip-entry-stream.js +12 -10
  39. package/lib/core/util/sync-access-handle-temp-stream.js +2 -1
  40. package/lib/core/web-worker-base.js +27 -0
  41. package/lib/core/web-worker-inline-native.js +1 -1
  42. package/lib/core/web-worker-inline-wasm.js +1 -1
  43. package/lib/core/web-worker-native.js +7 -9
  44. package/lib/core/web-worker-wasm.js +9 -12
  45. package/lib/core/zip-fs.js +1 -1
  46. package/lib/core/zip-reader.js +58 -5
  47. package/lib/core/zip-writer.js +43 -8
  48. package/lib/zip-core-base.js +2 -1
  49. package/lib/{core/web-worker-inline-template.js → zip-core-custom.js} +13 -20
  50. package/lib/zip-core-reader.js +2 -1
  51. package/lib/zip-core-writer.js +10 -1
  52. package/lib/zip-module-native.js +3 -3
  53. package/lib/zip-module-wasm-base.js +3 -3
  54. package/package.json +20 -2
  55. package/lib/core/web-worker-inline-template-native.js +0 -48
  56. package/lib/core/zlib-streams-inline-template.js +0 -45
@@ -1 +1 @@
1
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:g,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:v,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,O=255,M=67324752,N=134695760,_=N,L=33639248,P=101010256,W=101075792,Z=117853008,V=22,B=20,H=21589,j=2048,q=16384,K=2048,Y=1024,G="/",X=30,J=new o(2107,11,31,23,59,58),Q=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function",ne=new f;let se=2;try{typeof v!=te&&v.hardwareConcurrency&&(se=v.hardwareConcurrency)}catch{}const ae={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:se,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=te&&k,DecompressionStream:typeof A!=te&&A},ie=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],oe={...ae};function ce(){return oe}function le(e){return i.max(e.chunkSize,64)}function de(e){for(const t of ie){const r=e[t];r!==$&&(oe[t]=r)}}const we="Invalid codec definition",ue="Reserved compression method",fe="Invalid codec module",pe="string",he=[0,8,9,99],me=new c,ye=new c;function Se(e){return me.get(e)}function ge(e){return ye.get(e)}function be(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=re&&typeof n!=re)throw new u(fe);ye.set(e,{CompressionStream:r,DecompressionStream:n})}const xe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;xe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=xe[t-1][e];xe[t][e]=r>>>8^xe[0][255&r]}const[ze,Fe,Ee,Re,De,ke,Ae,ve]=xe;class Te{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=ve[255&e]^Ae[e>>>8&255]^ke[e>>>16&255]^De[e>>>24&255]^Re[255&r]^Ee[r>>>8&255]^Fe[r>>>16&255]^ze[r>>>24&255]}}for(;r>n;n++)t=t>>>8^ze[255&(t^e[n])];this.o=t}get(){return~this.o}}class Ce extends E{constructor(){let e;const t=new Te;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Ue(e){if(typeof g==te){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new g).encode(e)}function Ie(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Oe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Me(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Ne.l(r);return 32===n?e.concat(t):Ne.h(t,n,0|r,e.slice(0,e.length-1))},m(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ne.l(r)},S(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Ne.F(t,e[r-1]&2147483648>>t-1,1)),e},F:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Ne.l(s);return n.push(Ne.F(t+a&31,t+a>32?r:n.pop(),1)),n}},_e={bytes:{R(e){const t=Ne.m(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},D(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Ne.F(8*(3&r),n)),t}}},Le=class{constructor(e){const t=this;t.blockSize=512,t.A=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.C=e.C.slice(0),t.U=e.U):t.reset()}reset(){const e=this;return e.T=e.A.slice(0),e.C=[],e.U=0,e}update(e){const t=this;"string"==typeof e&&(e=_e.I.D(e));const r=t.C=Ne.concat(t.C,e),n=t.U,s=t.U=n+Ne.m(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.O(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}M(){const e=this;let t=e.C;const r=e.T;t=Ne.concat(t,[Ne.F(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.U/4294967296)),t.push(0|e.U);t.length;)e.O(t.splice(0,16));return e.reset(),r}N(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_(e,t){return t<<e|t>>>32-e}O(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._(5,a)+r.N(e,o,c,l)+d+s[e]+r.v[i.floor(e/20)]|0;d=l,l=c,c=r._(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Pe={importKey:e=>new Pe.L(_e.bytes.D(e)),P(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new u("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=Ne;for(t=_e.bytes.D(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,n/8)},L:class{constructor(e){const t=this,r=t.W=Le,n=[[],[]];t.Z=[new r,new r];const s=t.Z[0].blockSize/32;e.length>s&&(e=(new r).update(e).M());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.Z[0].update(n[0]),t.Z[1].update(n[1]),t.V=new r(t.Z[0])}reset(){const e=this;e.V=new e.W(e.Z[0]),e.B=!1}update(e){this.B=!0,this.V.update(e)}digest(){const e=this,t=e.V.M(),r=new e.W(e.Z[1]).update(t).M();return e.reset(),r}encrypt(e){if(this.B)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},We=typeof z!=te&&typeof z.getRandomValues==re,Ze="Invalid password",Ve="Invalid signature",Be=Ve,He="zipjs-abort-check-password";function je(e){if(We)return z.getRandomValues(e);throw new u("Crypto API not supported")}const qe=16,Ke={name:"PBKDF2"},Ye=r.assign({hash:{name:"HMAC"}},Ke),Ge=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Ke),Xe=["deriveBits"],Je=[8,12,16],Qe=[16,24,32],$e=10,et=[0,0,0,0],tt=typeof z!=te,rt=tt&&z.subtle,nt=tt&&typeof rt!=te,st=_e.bytes,at=class{constructor(e){const t=this;t.H=[[[],[],[],[],[]],[[],[],[],[],[]]],t.H[0][0][0]||t.j();const r=t.H[0][4],n=t.H[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.v=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}j(){const e=this.H[0],t=this.H[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=u=u<<24^u>>>8,t[r][a]=w=w<<24^w>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}K(e,t){if(4!==e.length)throw new u("invalid aes block size");const r=this.v[t],n=r.length/4-2,s=[0,0,0,0],a=this.H[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],S=e[t?1:3]^r[3],g=4;for(let e=0;n>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&S]^r[g],f=i[m>>>24]^o[y>>16&255]^c[S>>8&255]^l[255&h]^r[g+1],p=i[y>>>24]^o[S>>16&255]^c[h>>8&255]^l[255&m]^r[g+2],S=i[S>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[g+3],g+=4,h=w,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^r[g++],w=h,h=m,m=y,y=S,S=w;return s}},it=class{constructor(e,t){this.Y=e,this.G=t,this.X=t}reset(){this.X=this.G}update(e){return this.J(this.Y,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}J(e,t,r){let n;if(!(n=t.length))return[];const s=Ne.m(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return Ne.S(t,s)}},ot=Pe.L;let ct=tt&&nt&&typeof rt.importKey==re,lt=tt&&nt&&typeof rt.deriveBits==re;class dt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){ut(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await pt(e,t,r,mt(n,0,Je[t])),a=mt(n,Je[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(Ze)})(r,a,s,mt(e,0,Je[a]+2)),e=mt(e,Je[a]+2),n?t.error(new u(He)):i()):await o;const c=new f(e.length-$e-(e.length-$e)%qe);t.enqueue(ft(r,e,c,0,$e,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:a}=this;if(r&&t){await a;const i=mt(n,0,n.length-$e),o=mt(n,n.length-$e);let c=ne;if(i.length){const e=St(st,i);r.update(e);const n=t.update(e);c=yt(st,n)}const l=mt(yt(st,r.digest()),0,$e);let d=n.length<$e?1:0;for(let e=0;$e>e;e++)d|=l[e]^o[e];if(d&&s)throw new u(Be);e.enqueue(c)}}})}}class wt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){ut(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:i}=r;let o=ne;n?(o=await(async(e,t,r)=>{const n=je(new f(Je[t]));return Ie(n,await pt(e,t,r,n))})(r,s,n),a()):await i;const c=new f(o.length+e.length-e.length%qe);c.set(o,0),t.enqueue(ft(r,e,c,o.length,0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;let a=ne;if(n.length){const e=t.update(St(st,n));r.update(e),a=yt(st,e)}const i=yt(st,r.digest()).slice(0,$e);e.enqueue(Ie(a,i))}}})}}function ut(e,t,n,s){r.assign(e,{ready:new S(t=>e.te=t),password:ht(t,n),strength:s-1,pending:ne})}function ft(e,t,r,n,s,a){const{re:i,ne:o,pending:c}=e;c.length&&(t=Ie(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(l-l%qe)),d=0;l-qe>=d;d+=qe){const e=St(st,mt(t,d,d+qe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(yt(st,s),d+n)}return e.pending=mt(t,d),r}async function pt(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!ct)return Pe.importKey(t);try{return await rt.importKey("raw",t,r,!1,s)}catch{return ct=!1,Pe.importKey(t)}})(0,s,Ye,0,Xe),o=await(async(e,t,r)=>{if(!lt)return Pe.P(t,e.salt,Ge.iterations,r);try{return await rt.deriveBits(e,t,r)}catch{return lt=!1,Pe.P(t,e.salt,Ge.iterations,r)}})(r.assign({salt:a},Ge),i,8*(2*Qe[n]+2)),c=new f(o),l=St(st,mt(c,0,Qe[n])),d=St(st,mt(c,Qe[n],2*Qe[n])),w=mt(c,2*Qe[n]);return r.assign(e,{keys:{key:l,se:d,passwordVerification:w},re:new it(new at(l),t.from(et)),ne:new ot(d)}),w}function ht(e,t){return t===$?Ue(e):t}function mt(e,t,r){return e.subarray(t,r)}function yt(e,t){return e.R(t)}function St(e,t){return e.D(t)}class gt extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){xt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=zt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new u(Ze);e=e.subarray(12)}n?t.error(new u(He)):t.enqueue(zt(r,e))}})}}class bt extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){xt(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=je(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(Ft(r,t),0),s=12}else n=new f(e.length),s=0;n.set(Ft(r,e),s),t.enqueue(n)}})}}function xt(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,ae:new Te(s[0]),ie:new Te(s[2])}),n)for(let t=0;t<n.length;t++)Et(e,n[t]);else for(let r=0;r<t.length;r++)Et(e,t.charCodeAt(r))})(e,t,n)}function zt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Rt(e)^t[n],Et(e,r[n]);return r}function Ft(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Rt(e)^t[n],Et(e,t[n]);return r}function Et(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=kt(i.imul(kt(r+Dt(n)),134775813)+1),e.ie.append([r>>>24]);const s=~e.ie.get();e.keys=[n,r,s]}function Rt(e){const t=2|e.keys[2];return Dt(i.imul(t,1^t)>>>8)}function Dt(e){return 255&e}function kt(e){return 4294967295&e}function At(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function vt(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Tt="Invalid uncompressed size",Ct="Invalid compressed data",Ut=Ve,It="deflate-raw",Ot="gzip",Mt=[31,139,8];class Nt extends E{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,S=super.readable;const g=w&&ge(w),b=c&&s&&!d&&!g&&(!a||o)&&!(!i||!n);if(a&&!o||!c||b||(p=new Ce,S=jt(S,p)),s)if(g)S=qt(S,Bt(g.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u}));else if(b)y=new _t,S=qt(S,new n(Ot)),S=jt(S,y);else try{S=Ht(S,i,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Ot)}catch{throw e}S=qt(S,t),S=jt(S,new _t)}a&&(o?S=jt(S,new bt(e)):(h=new wt(e),S=jt(S,h))),Vt(f,S,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class _t extends E{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=i.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=Ie(r,e));const a=s-8,o=i.min(a,r.length);n.enqueue(Ie(r.subarray(0,o),e.subarray(0,a-o))),r=Ie(r.subarray(o),e.subarray(a-o))},flush(){const t=Me(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Lt extends E{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let g,b,x=super.readable;if(a&&(s?x=jt(x,new gt(e)):(b=new dt(e),x=jt(x,b))),c){const e=w&&ge(w);if(e)x=qt(x,Bt(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=Ht(x,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===$)throw e;let t;try{t=new n(Ot)}catch{throw e}x=((e,t,r)=>{const n=new Te;let s,a,i,o=0,c=!1;const l=new S((e,t)=>{a=e,i=t});l.catch(()=>{}),r||a();const d=new E({start(e){const t=new f(10);t.set(Mt),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Me(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){i(e)}}),w=new E({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=jt(e,d),jt(e=qt(e,t),w);function p(){h(),s=setTimeout(()=>i(new u(Tt)),5e3)}function h(){clearTimeout(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(Ct);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}i&&(g=new Ce,x=jt(x,g)),Vt(this,x,()=>{if(i){const e=new m(g.value.buffer);if(o!=e.getUint32(0,!1))throw new u(Ut)}})}}const Pt=new c;function Wt(e,t){if(!e)return!1;let r=Pt.get(e);r||(r=new c,Pt.set(e,r));let n=r.get(t);if(n===$){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function Zt(e){return Wt(e,It)}function Vt(e,t,n){t=jt(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Bt(e,t,r){if(!e)throw new u("Compression method not supported");return new e(t,r)}function Ht(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":It;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return qt(e,o)}function jt(e,t){return At(e).pipeThrough(t)}function qt(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Kt="data",Yt="deflate",Gt="inflate";class Xt extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(Yt)?a=Nt:s.startsWith(Gt)&&(a=Lt),n.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:i})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==$&&n.outputSize>e.outputSize))throw new u(Tt)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:i})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Jt extends E{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Qt={type:"module"},$t="error";let er,tr,rr,nr,sr=!0;try{sr=typeof structuredClone==re&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class ar{constructor(e,{readable:t,writable:n},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:w}=i;return r.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Jt(le(a))).pipeThrough(new ir(i),{signal:w}),writable:n,options:r.assign({},s),workerURI:l,transferStreams:c,terminate:()=>new S(t=>{const{de:r,ce:n}=e;r?(n?e.we=t:(r.terminate(),t()),e.ue=null):t()}),fe(){if(e.ce){const{we:t}=e;t&&(e.we=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,d(e)}}}),er===$&&(er=typeof T!=te),(o&&er?lr:cr)(e,a)}}class ir extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await or(e,r)},async transform(e,n){s+=e.length,t&&await or(t,s,r),n.enqueue(e)},async flush(){n&&await or(n,s)}})}}async function or(e,...t){try{await e(...t)}catch{}}function cr(e,t){return{run:()=>dr(e,t)}}function lr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.ue){let c;typeof o==re&&(o=o());try{c=ur(e.workerURI,n,e)}catch{return er=!1,cr(e,t)}r.assign(e,{de:c,he:!1,pe:!1,ue:{run:async()=>{try{return await(async(e,t)=>{let n,a;const i=new S((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,me:n,ye:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,Se:w}=(e=>{const t=new AbortController,{writable:r,readable:n}=new E,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,Se:()=>t.abort()}})(e.writable);let f;try{f=hr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.fe(),t}f||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.he||!s.isFinite(p)||0>p||(e.ge=setTimeout(()=>(e=>{if(e.ge=null,e.he)return;const{ye:t,writer:r}=e;if(wr(e),e.de=null,t){const e=new u("Worker startup timeout");e.be=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:n,workerStartupTimeout:i})}catch(r){if(r&&r.be){er=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,dr(e,t)}throw r}}}})}return e.ue}async function dr({options:e,readable:t,writable:r,fe:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Yt),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.xe&&!Zt(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.xe||(e.useCompressionStream=!0)}}a=new Xt(e,s),await t.pipeThrough(a).pipeThrough(new Jt(le(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=a;return{crc32:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function wr(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.ue=null}function ur(e,t,n,s,a=!0){let i,o,c;if(rr===$||tr!==e){const r=typeof e==re;o=r?e(a):e;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){s===$&&(s=!1),s&&(c=Qt);try{i=new T(o,c)}catch(a){if(d)try{w.revokeObjectURL(o)}catch{}if(r&&d)return ur(e,t,n,s,!1);if(s)throw a;return ur(e,t,n,!0,!1)}}else{s===$&&(s=!0),s&&(c=Qt);try{o=new w(o,t)}catch{}try{i=new T(o,c)}catch(r){if(s)throw r;return ur(e,t,n,!1,a)}}tr=e,rr=o,nr=c}else i=new T(rr,nr);return i.addEventListener("message",e=>{n.he=!0,fr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,me:d,ye:w,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:i}=o,c=new u(e);r.assign(c,{stack:t,code:n,name:s,outputSize:a}),i&&(c.cause=r.assign(new u(i.message),{name:i.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||hr({type:Kt,value:e,done:r,messageId:a},t)}n==Kt&&(await l.ready,await l.write(new f(s)),m()||hr({type:"ack",messageId:a},t)),"close"==n&&y(null,i)}}catch(o){m()||(wr(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,n)}),i.addEventListener($t,e=>pr(e,n)),i.addEventListener("messageerror",e=>pr(e,n)),i}function fr(e){const{ge:t}=e;t&&(clearTimeout(t),e.ge=null)}function pr(e,t){e.preventDefault&&e.preventDefault(),fr(t);const{he:n,ye:s,writer:a,fe:i}=t;if(wr(t),n||(t.de=null),s){let t=e.error||new u(e.message||$t);n||(t=r.assign(new u(t.message||$t),{be:!0})),s(t),a&&a.releaseLock(),n&&i()}}function hr(e,{de:t,writer:r,transferStreams:n,he:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=Oe(r),o.push(e.value.buffer)),n&&sr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{sr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let mr=[];const yr=[];let Sr,gr,br=0;async function xr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:u,format:f,codecURI:p}=r,{workerURI:h,maxWorkers:m}=n;f&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!ye.has(e)&&t&&be(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,r.codecURI)),t.transferStreams=a||a===$&&n.transferStreams;const y=!(c||l||d||u),g=f===$||!!r.codecURI;return t.useWebWorkers=!y&&g&&(i||i===$&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:$,r.useCompressionStream=o||o===$&&n.useCompressionStream,(await(async()=>{const r=mr.find(e=>!e.ce);if(r)return Dr(r),new ar(r,e,t,b);if(mr.length<m){const r={ze:br};return br++,mr.push(r),new ar(r,e,t,b)}return new S(r=>{yr.push({resolve:r,stream:e,Fe:t}),gr=n.workerStarvationTimeout,zr()})})()).run();function b(e){if(Fr(),yr.length){const[{resolve:t,stream:r,Fe:n}]=yr.splice(0,1);t(new ar(e,r,n,b)),zr()}else e.de?(Dr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.pe?e.pe=!1:e.Ee=setTimeout(async()=>{mr=mr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):mr=mr.filter(t=>t!=e)}}function zr(){!Sr&&yr.length&&s.isFinite(gr)&&gr>=0&&(Sr=setTimeout(Er,gr))}function Fr(){Sr&&(clearTimeout(Sr),Sr=null)}function Er(){if(Sr=null,yr.length){const[{resolve:e,stream:t,Fe:n}]=yr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:$});e(new ar({},t,s,Rr)),zr()}}function Rr(){Fr(),zr()}function Dr(e){const{Ee:t}=e;t&&(clearTimeout(t),e.Ee=null)}const kr="HTTP error ",Ar="HTTP Range not supported",vr="HTTP resource changed",Tr="Writer iterator completed too soon",Cr="Writer not initialized",Ur="Content-Range",Ir="Range",Or="GET",Mr="bytes",Nr=16777216,_r="writable",Lr=Symbol();class Pr{constructor(){this.size=0}init(){this.initialized=!0}}class Wr extends Pr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=le(ce())}={}){const n=this;let s=0;return new R({async pull(a){const o=t===$?r:i.min(r,t-s),c=await mn(n,e+s,o);a.enqueue(c),s+r>t||t===$&&!c.length&&o?a.close():s+=r}})}}class Zr extends Pr{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Cr);return e.writeUint8Array(Oe(t))}});r.defineProperty(e,_r,{get:()=>t})}writeUint8Array(){}}let Vr,Br;class Hr extends Wr{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Br||(Br=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Vr=1==t}catch{Vr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Vr?At(t.slice(n,n+s).stream()):super.createReadable(e):At(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new f(a)}}class jr extends Pr{constructor(e){super();const t=this,n=new E;if(r.defineProperty(t,_r,{get:()=>n.writable}),typeof y.prototype.stream!=re||new y([]).stream()instanceof R){const r=[];e&&r.push(["Content-Type",e]),t.blob=new d(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class qr extends Wr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Gr(this,cn,nn),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=t;if((r||n)&&a!==$){const{offset:r=0,size:n=a-r}=e||{};if(n>0&&a>r)return((e,t,r)=>{let n,a=t,o=0,c=r;return new R({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new u(Ar);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=$,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),r=await cn(Or,e,tn(e,a,t));if(206!=r.status)throw new u(Ar);const l=r.headers.get(Ur);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(Ar)}en(e,r),$r(e,r),a+=t,o=t,n=r.body.getReader()}})(t,r,i.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return Xr(this,e,t,cn,nn)}}class Kr extends Wr{constructor(e,t){super(),Yr(this,e,t)}async init(){await Gr(this,ln,sn),super.init()}readUint8Array(e,t){return Xr(this,e,t,ln,sn)}}function Yr(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Nr,fetch:d}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Gr(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ce(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(Or,e,tn(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Mr))throw new u(Ar);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==V&&(e.Re=t)}$r(e,n);const s=Jr(n);s===$?await on(e,t,r):e.size=s}}else await on(e,t,r)}async function Xr(e,t,r,n,a){const{useRangeHeader:i,forceRangeRequests:o,Re:c,size:l,options:d}=e;if(i||o){if(c&&t==l-V&&r==V)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(Or,e,tn(e,t,r));if(206!=a.status)throw new u(Ar);const i=a.headers.get(Ur);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(Ar)}en(e,a),$r(e,a);const o=new f(await a.arrayBuffer());if(o.length!=r)throw new u(Ar);return o}return ne}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function Jr(e){const t=e.headers.get(Ur);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Qr({headers:e}){return{De:e.get("Etag")||$,lastModified:e.get("Last-Modified")||$}}function $r(e,t){const{checkResourceChanges:r,ke:n}=e;r&&!n&&206==t.status&&(e.ke=Qr(t))}function en(e,t){const{checkResourceChanges:n,ke:s,size:a}=e;if(n){const e=Jr(t);if(e!==$&&a!==$&&e!=a)throw new u(vr);if(s){const e=Qr(t);if(r.entries(s).some(([t,r])=>r!==$&&e[t]!==$&&r!=e[t]))throw new u(vr)}}}function tn(e,t=0,n=1){return r.assign({},rn(e),{[Ir]:Mr+"="+(0>t?t:t+"-"+(t+n-1))})}function rn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function nn(e){await an(e,cn)}async function sn(e){await an(e,ln)}async function an(e,t){const r=await t(Or,e,rn(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function on(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,rn(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function cn(e,{fetch:t=fetch,options:n,url:s},a){const i=await t(s,r.assign({},n,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(Ar):new u(kr+(i.statusText||i.status))}function ln(e,{url:t},n){return new S((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(Ar):new u(kr+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class dn extends Wr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Kr(e,t):new qr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class wn extends Wr{constructor(e){super(),this.Ae=e}async init(){const e=this,{Ae:t}=e;e.ve=0,await S.all(t.map(e=>hn(e))),e.Te=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}Ce(e){const{Te:t,size:r}=this,n=t[e];return n===$?r:n}async readUint8Array(e,t){const r=this,{Ae:n}=this;let s,a=0,o=e;for(;n[a]&&o>=n[a].size;)o-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(o+t>n){const a=n-o;s=Ie(await mn(c,o,a),await r.readUint8Array(e+a,t-a))}else s=await mn(c,o,t)}else s=ne;return r.ve=i.max(a,r.ve),s}}class un extends Pr{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Lr)return void(i&&await l());const{availableSize:r}=n;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new u(Tr);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await hn(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,i=null,n.availableSize=n.maxSize}async function d(){await i.close()}r.defineProperty(n,_r,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Lr)}finally{e.releaseLock()}}}class fn{constructor(e){return t.isArray(e)&&(e=new wn(e)),(e instanceof R||typeof e.getReader==re)&&(e={readable:At(e)}),e}}class pn{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new un(e)),(e instanceof D||typeof e.getWriter==re)&&(e={writable:vt(e)}),e.size===$&&(e.size=0),e}}async function hn(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}function mn(e,t,r){return e.readUint8Array(t,r)}const yn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=yn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const gn="filename",bn="rawFilename",xn="comment",zn="rawComment",Fn="uncompressedSize",En="compressedSize",Rn="offset",Dn="diskNumberStart",kn="lastModDate",An="rawLastModDate",vn="lastAccessDate",Tn="rawLastAccessDate",Cn="creationDate",Un="rawCreationDate",In="internalFileAttributes",On="externalFileAttributes",Mn="msdosAttributesRaw",Nn="msdosAttributes",_n="msDosCompatible",Ln="zip64",Pn="encrypted",Wn="version",Zn="versionMadeBy",Vn="zipCrypto",Bn="directory",Hn="executable",jn="compressionMethod",qn="signature",Kn="extraField",Yn="unixMode",Gn="setuid",Xn="setgid",Jn="sticky",Qn=[gn,bn,Fn,En,kn,An,xn,zn,vn,Tn,Cn,Un,Rn,Dn,In,On,Mn,Nn,_n,Ln,Pn,Wn,Zn,Vn,Bn,Hn,jn,qn,"crc32",Kn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yn,Gn,Xn,Jn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $n{constructor(e){Qn.forEach(t=>this[t]=e[t])}}const es="password",ts="rawPassword",rs="passThrough",ns="signal",ss="checkAmbiguity",as="useWebWorkers",is="useCompressionStream",os="transferStreams",cs="preventClose",ls="offset",ds="usdz",ws="strictness",us="strict",fs="tolerant",ps="File format is not recognized",hs="End of central directory not found",ms="End of Zip64 central directory locator not found",ys="Central directory header not found",Ss="Local file header not found",gs="Zip64 extra field not found",bs="File contains encrypted entry",xs="Encryption method not supported",zs="Compression method not supported",Fs="Split zip file",Es="Overlapping entry found",Rs="Ambiguous archive",Ds="Encrypted central directory is not supported",ks="utf-8",As="cp437",vs=[[Fn,U],[En,U],[Rn,U],[Dn,I]],Ts={[I]:{Ue:na,bytes:4},[U]:{Ue:sa,bytes:8}};class Cs{constructor(e,t={}){r.assign(this,{reader:new fn(e),options:t,config:ce(),Ie:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:s}=t;if(await hn(n),n.size!==$&&n.readUint8Array||(n=new Hr(await new d(n.readable).blob()),await hn(n)),n.size<V)throw new u(ps);const a=Vs(Qs(t,e,ws),Qs(t,e,ss)),o=a==us,c=a!=fs,w=((e,t)=>e!==$?e:t==us?0:t==fs?1/0:I)(Qs(t,e,"maxAppendedDataSize"),a),{Oe:f,Me:p}=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,65557),a={count:Bs};let o,c,l=0;for await(const[r,i,d,w,u]of Ks(e,s)){const s=ra(r,w+20);if(u+V+s==n){const s=await Gs(e,r,i,w,u,n,a);if(s==qs){if(o||(o=Ys(d,w,u)),l++,!t||l>1)break}else s!=js||c||(c=Ys(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,t==1/0?n:65557+t);let a,o;for await(const[t,i,c,l,d]of Ks(e,s)){const s=Ys(c,l,d);a||(a=s);const w=await Gs(e,t,i,l,d,n,r);if(w==qs)return s;w!=js||o||(o=s)}return o||a})(e,r,a)),{Oe:o,Me:l}})(n,c,w);if(!f)throw na(Me(await mn(n,0,4)))==N?new u(Fs):new u(hs);c&&p>1&&Js("multiple end of central directory records");const h=Me(f);let m=na(h,12),y=na(h,16);const g=f.offset,b=ra(h,20),x=g+V+b;n.size-x>w&&Js("appended data");let z=ra(h,4);const F=n.ve||0;let R,D,k,A=ra(h,6),v=ra(h,10),T=0;const C=y==U||m==U||v==I||A==I;if(y!=U&&A!=I&&(y+=Zs(n,A)),C){const e=f.offset<B?ne:await mn(n,f.offset-B,B),t=Me(e);if(e.length==B&&na(t,0)==Z){y=Zs(n,na(t,4))+sa(t,8);let e=await mn(n,y,56),r=Me(e);const s=f.offset-B-56;if((56>e.length||na(r,0)!=W)&&y!=s&&s>=0){const t=y;y=s,y>t&&(T=y-t),e=await mn(n,y,56),r=Me(e)}if(56>e.length||na(r,0)!=W)throw new u(ms);D=!0,k=sa(r,4)>44,z==I?z=na(r,16):o&&z!=na(r,16)&&Js("mismatched zip64 end of central directory record"),A==I?A=na(r,20):o&&A!=na(r,20)&&Js("mismatched zip64 end of central directory record"),v==I?v=sa(r,32):o&&v!=sa(r,32)&&Js("mismatched zip64 end of central directory record"),m==U?m=sa(r,40):o&&m!=sa(r,40)&&Js("mismatched zip64 end of central directory record"),y=Zs(n,A)+sa(r,48)+T}}const M=m,_=f.offset-(D?76:0);if(y<n.size||(T=n.size-y-m-V,y=n.size-m-V),F!=z)throw new u(Fs);if(0>y)throw new u(ps);let P=0,H=await mn(n,y,m),j=Me(H);if(m){if(4>H.length)throw new u(ps);const e=_-m;if(y!=e&&A==z){let t=!(na(j,P)==L);if(t||0>e||e+4>n.size||(t=na(Me(await mn(n,e,4)),0)==L),t){const t=y;y=e,y>t&&(T+=y-t),H=await mn(n,y,m),j=Me(H)}}}const X=_-y;if(m==X||0>X||A!=z||(m=X,H=await mn(n,y,m),j=Me(H)),0>y||y>=n.size)throw new u(ps);R=y;const J=Qs(t,e,"filenameEncoding"),Q=Qs(t,e,"commentEncoding"),ee=o?new l:$;let te;for(let a=0;v>a;a++){const c=new Is(n,s,t.options);if(P+46>H.length||na(j,P)!=L){if(0==a&&(k||Os(j)))throw new u(Ds);throw new u(ys)}Ms(c,j,P+6);const l=!!c.bitFlag.languageEncodingFlag,w=P+46,f=w+c.filenameLength,p=f+c.extraFieldLength,h=ra(j,P+4),m=!(h>>8),y=h>>8==3,g=H.subarray(w,f),b=ra(j,P+32),x=p+b,z=H.subarray(p,x),F=l,D=l,A=na(j,P+38),C=A&O,U={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},M=na(j,P+42),N=Qs(t,e,"decodeText")||Sn,_=F?ks:J||As,W=D?ks:Q||As;let Z=N(g,_);Z===$&&(Z=Sn(g,_));let V=N(z,W);V===$&&(V=Sn(z,W)),r.assign(c,{index:a,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ne:b,offset:M,diskNumberStart:ra(j,P+34),internalFileAttributes:ra(j,P+36),externalFileAttributes:A,msdosAttributesRaw:C,msdosAttributes:U,rawFilename:g,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:Z,comment:V}),Ns(c,c,j,P+6),c.offset+=T,R=i.min(Zs(n,c.diskNumberStart)+c.offset,R),o&&(ee.has(c.filename)&&(te=!0),ee.add(c.filename));const B=c.externalFileAttributes>>16&I;c.unixMode===$&&16877&B&&(c.unixMode=B);const X=!!(c.unixMode&K),re=!!(c.unixMode&Y),ne=!!(512&c.unixMode),se=c.unixMode!==$?!!(73&c.unixMode):y&&!!(73&B),ae=c.unixMode!==$&&(61440&c.unixMode)==q,ie=(61440&B)==q;r.assign(c,{setuid:X,setgid:re,sticky:ne,unixExternalUpper:B,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ae||ie||m&&U.directory||c.filename.endsWith(G)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new $n(c);oe.getData=(e,r)=>c.getData(e,oe,t.Ie,r),oe.arrayBuffer=async e=>{const r=new E,[n]=await S.all([new d(r.readable).arrayBuffer(),c.getData(r,oe,t.Ie,e)]);return n},P=x;const{onprogress:ce}=e;if(ce)try{await ce(a+1,v,new $n(c))}catch{}yield oe}o&&P!=M&&Js("trailing central directory data"),te&&Js("duplicate filename"),o&&(T||v&&R>0)&&Js("prepended data");const re=Qs(t,e,"extractPrependedData"),se=Qs(t,e,"extractAppendedData");return re&&(t.prependedData=R>0?await mn(n,0,R):ne),t.comment=b?await mn(n,g+V,b):ne,se&&(t.appendedData=x<n.size?await mn(n,x,n.size-x):ne),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Us{constructor(e={}){const{readable:t,writable:r}=new E,n=new Cs(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class Is{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:a,index:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=Zs(a,c)+o,F=await mn(a,z,X),E=Me(F);let R=Qs(s,n,es),k=Qs(s,n,ts);const A=Qs(s,n,rs);if(R=R&&R.length&&R,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new u(zs);if(F.length<X||na(E,0)!=M)throw new u(Ss);Ms(x,E,4);const{extraFieldLength:v,filenameLength:T}=x,C=Vs(Qs(s,n,ws),Qs(s,n,ss))==us;let U=ne;if(C&&(T||v)){const e=await mn(a,z+X,T+v);U=e.subarray(0,T),x.rawExtraField=e.subarray(T)}else x.rawExtraField=v?await mn(a,z+X+T,v):ne;Ns(s,x,E,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Js("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Js("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Js("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Js("mismatched local file header (crc32 or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:N}=x;I&&(t.lastAccessDate=I),N&&(t.creationDate=N);const L=s.encrypted&&x.encrypted&&!A,P=L&&!l;if(A||(t.zipCrypto=P),L&&!(64&~x.rawBitFlag))throw new u(xs);const W=A?$:Se(w);if(0!=w&&8!=w&&9!=w&&!W&&!A)throw new u(zs);if(L){if(!P&&(1>l.strength||l.strength>3))throw new u(xs);if(!R&&!k)throw new u(bs)}const Z=z+X+T+v,V=g,B=At(a.createReadable({offset:Z,size:V})),H=Qs(s,n,ns),j=Qs(s,n,"checkPasswordOnly");let q=Qs(s,n,"checkOverlappingEntry");const K=Qs(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:J}=n,Q=9==w;let ee=Qs(s,n,is);Q&&(ee=!1);const te=Qs(s,n,"checkCrc32"),re=(te===$?Qs(s,n,"checkSignature"):te)&&!A&&(!L||P||l&&1==l.vendorVersion),se={options:{codecType:Gt,password:R,rawPassword:k,zipCrypto:P,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:Qs(s,n,"checkAuthenticationCode"),passwordVerification:P&&(b?y>>>8&O:m>>>24&O),outputSize:A?g:S,crc32:m,compressed:0!=w&&!A,encrypted:L,useWebWorkers:Qs(s,n,as),useCompressionStream:ee,transferStreams:Qs(s,n,os),deflate64:Q,format:W?W.format:$,codecURI:W?W.codecURI:$,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,oe:{signal:H,size:V,onstart:Y,onprogress:G,onend:J}};let ae;q&&await(async({reader:e,_e:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:i,Le:o,dataDescriptor:c,extraFieldZip64:l,Ie:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await mn(e,o+a,w+4);if(r.length==w+4&&na(Me(r),0)==_){const e=na(Me(r),4);let n,o;l?(n=sa(Me(r),8),o=sa(Me(r),16)):(n=na(Me(r),8),o=na(Me(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&o==i&&(w+=4)}}const f={start:n,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new u(Es);throw e.Pe=t._e,e}d.set(r,f)})({reader:a,_e:t,index:i,offset:z,crc32:m,compressedSize:g,uncompressedSize:S,Le:Z,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ie:r});try{if(!K){j&&(e=new D),e=new pn(e),await hn(e,A?g:S),({writable:ae}=e);const{outputSize:t}=await xr({readable:B,writable:ae},se);if(e.size+=t,t!=(A?g:S))throw new u(Tt)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!j||t.message!=He)throw t}finally{Qs(s,n,cs)||!ae||ae.locked||await ae.getWriter().close()}return j||K?$:e.getData?e.getData():ae}}function Os(e){const t=i.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==na(e,r))return!0;return!1}function Ms(e,t,n){const s=e.rawBitFlag=ra(t,n+2),a=!(1&~s),i=na(t,n+6);r.assign(e,{encrypted:a,version:ra(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&j)==j},rawLastModDate:i,lastModDate:$s(i),filenameLength:ra(t,n+22),extraFieldLength:ra(t,n+24)})}function Ns(e,t,n,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Me(i);let w=0;try{for(;w<i.length;){const e=ra(d,w),t=ra(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=ra(n,s+4);r.assign(t,{signature:na(n,s+10),crc32:na(n,s+10),compressedSize:na(n,s+14),uncompressedSize:na(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Me(e.data),n=vs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Ts[t].bytes,0);if(e.data.length<s)throw new u(gs);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=Ts[o];t[i]=e[i]=c.Ue(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(_s(h,gn,bn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(_s(m,xn,zn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Me(e.data),a=ta(s,4);r.assign(e,{vendorVersion:ta(s,0),vendorId:ta(s,2),strength:a,originalCompressionMethod:n,compressionMethod:ra(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=$)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const S=l.get(13);S&&(Ls(S,t),t.extraFieldPkwareUnix=S);const g=l.get(22613);g&&(Ls(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(((e,t)=>{const n=Me(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=ra(n,a),r=ra(n,a+2);1==t&&(s=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}if(s&&24==s.length){const n=Me(s),a=n.getBigUint64(0,!0),i=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:ea(a),lastAccessDate:ea(i),creationDate:ea(o)};r.assign(e,c),r.assign(t,c)}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);if(x)Ps(x,t,!1),t.extraFieldUnix=x;else{const e=l.get(30837);e&&(Ps(e,t,!0),t.extraFieldInfoZip=e)}const z=l.get(H);z&&(((e,t,r)=>{if(!e.data.length)return;const n=Me(e.data),s=ta(n,0),a=[],i=[];r?(1&~s||(a.push(kn),i.push(An)),2&~s||(a.push(vn),i.push(Tn)),4&~s||(a.push(Cn),i.push(Un))):5>e.data.length||(a.push(kn),i.push(An));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=na(n,c);t[r]=e[r]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function _s(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Me(e.data),o=new Te;o.append(a[n]);const c=Me(new f(4));c.setUint32(0,o.get(),!0);const l=na(i,1);r.assign(e,{version:ta(i,0),[t]:Sn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==na(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ls(e,t){if(8>e.data.length)return;const n=Me(e.data),s={lastAccessDate:new o(1e3*na(n,0)),lastModDate:new o(1e3*na(n,4))};12>e.data.length||(s.uid=ra(n,8),s.gid=ra(n,10)),r.assign(e,s),r.assign(t,s)}function Ps(e,t,n){try{const s=Me(e.data);let a,i;if(n){let t=0;const n=ta(s,t++),o=ta(s,t++);a=Ws(e.data.subarray(t,t+o)),t+=o;const c=ta(s,t++);i=Ws(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:i})}else 4>e.data.length||(a=ra(s,0),i=ra(s,2),r.assign(e,{uid:a,gid:i}));a!==$&&(t.uid=a),i!==$&&(t.gid=i)}catch{}}function Ws(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Zs(e,t){return e.Ce?e.Ce(t):0}function Vs(e,t){return e===$?t?us:"balanced":e}const Bs=64,Hs=0,js=1,qs=2;async function*Ks(e,t){const r=e.size-t,n=await mn(e,r,t),s=Me(n);for(let e=n.length-V;e>=0;e--)na(s,e)==P&&(yield[s,r,n,e,r+e])}function Ys(e,t,r){return{offset:r,buffer:e.slice(t,t+V).buffer}}async function Gs(e,t,r,n,s,a,i){const o=ra(t,n+10),c=na(t,n+12),l=na(t,n+16);if(o==I||c==U||l==U)return await Xs(e,t,r,s-B,a,i)==Z?qs:Hs;if(!o&&!c)return js;const d=ra(t,n+6);for(const n of[s-c,Zs(e,d)+l])if(await Xs(e,t,r,n,a,i)==L)return qs;return Hs}async function Xs(e,t,r,n,s,a){return 0>n||n+4>s?$:r>n?a.count>0?(a.count--,na(Me(await mn(e,n,4)),0)):$:na(t,n-r)}function Js(e){const t=new u(Rs);throw t.reason=e,t}function Qs(e,t,r){return t[r]===$?e.options[r]:t[r]}function $s(e){const t=(4294901760&e)>>16,r=e&I;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ea(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ta(e,t){return e.getUint8(t)}function ra(e,t){return e.getUint16(t,!0)}function na(e,t){return e.getUint32(t,!0)}function sa(e,t){return s(e.getBigUint64(t,!0))}var aa=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Rs,ERR_BAD_FORMAT:ps,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ys,ERR_ENCRYPTED:bs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ds,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ms,ERR_EOCDR_NOT_FOUND:hs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:gs,ERR_INVALID_AUTHENTICATION_CODE:Be,ERR_INVALID_COMPRESSED_DATA:Ct,ERR_INVALID_CRC32:Ut,ERR_INVALID_PASSWORD:Ze,ERR_INVALID_SIGNATURE:Ve,ERR_INVALID_UNCOMPRESSED_SIZE:Tt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Ss,ERR_OVERLAPPING_ENTRY:Es,ERR_SPLIT_ZIP_FILE:Fs,ERR_UNSUPPORTED_COMPRESSION:zs,ERR_UNSUPPORTED_ENCRYPTION:xs,ZipReader:Cs,ZipReaderStream:Us});const ia="File already exists",oa="Zip file comment exceeds 64KB",ca="File entry comment exceeds 64KB",la="File entry name exceeds 64KB",da="Version exceeds 65535",wa="The strength must equal 1, 2, or 3",ua="Encryption is not supported in USDZ files",fa="Extra field type exceeds 65535",pa="Extra field data exceeds 64KB",ha=-2147483648,ma=2147483647,ya=a(0),Sa=a("0x7fffffffffffffff"),ga="Zip64 is not supported (set the 'zip64' option to 'true')",ba="Undefined uncompressed size",xa="Undefined reader",za="Zip file not empty",Fa=new f([7,0,2,0,65,69,3,0,0]),Ea="infozip",Ra="unix";let Da=0;const ka=[];class Aa{constructor(e,t={}){e=new pn(e);const{availableSize:n=ee,maxSize:s=ee}=e,a=n>0&&n!==ee&&s>0&&s!==ee;r.assign(this,{writer:e,We:a,options:t,config:ce(),files:new c,Ze:new l,offset:t[ls]===$?e.size||e.writable.size||0:t[ls],Ve:t[ls]===$?0:t[ls]-(e.size||e.writable.size||0),Be:new l,He:0,je:$})}async prependZip(e){if(this.Ze.size)throw new u(za);e=new fn(e),await hn(e);const{ZipReader:t}=await S.resolve().then(()=>aa),n=new t(e.readable),s=await n.getEntries();await n.close(),await hn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,qe:f,Ke:p,Ye:h,Ge:m,Xe:y,rawExtraField:S}=e;const{level:g,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||ne,p=p||ne,h=h||ne,m=m||ne,y=y||ne,S=S||ne,e.extraFieldAES&&(u=99);const z=Ga(f,p,h,m,y,S),F=w&&l>=U,E=w&&d>=U,R=-7&Ja(g,b,x,c,u)|g<<1,{Je:D,Qe:k}=Xa({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,$e:E,et:F,extraFieldLength:z}),{crc32:A}=e;return A!==$&&qa(k,10,A),r.assign(e,{et:F,$e:E,nt:w&&e.offset>=U,diskNumberStart:0,st:!1,qe:f,Ke:p,Ye:h,Ge:m,Xe:y,rawExtraField:S,extendedTimestamp:h.length>0||m.length>0,it:1+(s?2:0)+(a?4:0),Je:D,Qe:k}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Be:c,config:l}=s;let d,w;Da<l.maxWorkers?Da++:await new S(e=>ka.push(e));try{if(e=e.trim(),Ba(s,n,Bn)&&!e.endsWith(G)&&(e+=G),s.Ze.has(e))throw new u(ia);return s.Ze.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Ba(e,r,_n),s=Ba(e,r,Zn,n?20:768);const a=Ba(e,r,Hn),i=Ba(e,r,"uid"),o=Ba(e,r,"gid");let c=Ba(e,r,Yn),l=Ba(e,r,"unixExtraFieldType"),d=Ba(e,r,Gn),w=Ba(e,r,Xn),f=Ba(e,r,Jn);if(i!==$&&(0>i||i>U))throw new u("Invalid uid (must be integer 0..2^32-1)");if(o!==$&&(0>o||o>U))throw new u("Invalid gid (must be integer 0..2^32-1)");if(c!==$&&(0>c||c>I))throw new u("Invalid UNIX mode (must be integer 0..65535)");if(l!==$&&l!==Ea&&l!==Ra)throw new u("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(l===Ra&&(i!==$&&i>I||o!==$&&o>I))throw new u("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");l!==$||i===$&&o===$||(l=Ea);let p=Ba(e,r,Mn),h=Ba(e,r,Nn);const m=p!==$||h!==$;if(i!==$||o!==$||c!==$||l?(n=!1,s=s&I|768):m&&(n=!0,s&=O),p!==$&&(0>p||p>O))throw new u("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new u("Invalid msdosAttributes (must be an object with boolean flags)");if(s>I)throw new u(da);let y=Ba(e,r,On);const S=y!==$;S||(y=0),!r[Bn]&&t.endsWith(G)&&(r[Bn]=!0);const g=Ba(e,r,Bn);let b;if(g?(t.endsWith(G)||(t+=G),S||(y=16,n||(y|=16877<<16))):n||S||(y=a?493<<16:27525120),!n){const e=c!==$||!!(d||w||f);b=y>>16&I,c=c===$?b:c&I,d?c|=K:d=!!(c&K),w?c|=Y:w=!!(c&Y),f?c|=512:f=!!(512&c),S&&!e||(g&&(c|=q),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==$)e&=O;else if(t!==$){const{readOnly:r,hidden:n,system:s,directory:a,archive:i}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&O}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&U|p&O),{name:t,ot:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=Ba(e,r,"encodeText",Ue);let s=n(t);if(s===$&&(s=Ue(t)),Ga(s)>I)throw new u(la);const a=r[xn]||"";let i=n(a);if(i===$&&(i=Ue(a)),Ga(i)>I)throw new u(ca);const c=Ba(e,r,Wn,20);if(c>I)throw new u(da);const l=Ba(e,r,kn,new o),d=Ba(e,r,vn),w=Ba(e,r,Cn),f=Ba(e,r,In,0),p=Ba(e,r,rs);let h,m;p||(h=Ba(e,r,es),m=Ba(e,r,ts));const y=Ba(e,r,"encryptionStrength",3),S=Ba(e,r,Vn),g=Ba(e,r,"extendedTimestamp",!0),b=Ba(e,r,"ntfsTimestamp"),x=Ba(e,r,"keepOrder",!0),z=Ba(e,r,as),F=Ba(e,r,os),E=Ba(e,r,"bufferedWrite"),R=Ba(e,r,"createTempStream"),D=Ba(e,r,"dataDescriptorSignature",!0),k=Ba(e,r,ns),A=Ba(e,r,"useUnicodeFileNames",!0),v=Ba(e,r,jn),T=p||v===$?$:Se(v);if(!p&&v!==$&&0!==v&&8!==v&&!T)throw new u("Compression method not supported");let C=Ba(e,r,"level");if(e.options[ds]){if(h!==$||m!==$)throw new u(ua);C===$&&v===$&&(C=0)}let U=Ba(e,r,is),O=Ba(e,r,"dataDescriptor");E&&O===$&&(O=!1),(O===$||S)&&(O=!0),C!==$&&6!=C&&(U=!1);const M=Ba(e,r,Ln);if(!S&&(h!==$||m!==$)&&(1>y||y>3))throw new u(wa);const N=Ta(r[Kn]),_=Ta(r.localExtraField);return{comment:a,ot:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:b,keepOrder:x,useWebWorkers:z,transferStreams:F,bufferedWrite:E,createTempStream:R,dataDescriptorSignature:D,signal:k,useUnicodeFileNames:A,compressionMethod:v,format:T?T.format:$,codecURI:T?T.codecURI:$,ct:T?T.versionNeeded:$,level:C,useCompressionStream:U,dataDescriptor:O,zip64:M,rawExtraField:N,lt:_}}})(e,t,s),{comment:d}=l,w=s[Kn];let p;e.files.set(t,$);try{const{ot:d}=l;0==d.level||d.compressionMethod!==$||d.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamZlib:r}=e;if(r&&!r.xe)return!0;if(Zt(t)||Wt(t,Ot))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(d.level=0);const w=await(async(e,t,{ot:r},n)=>{const{passThrough:s,zipCrypto:a,password:i,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new u(xa);if(h=n[Fn],h===$)throw new u(ba)}const m=!0===d,y=Ba(e,n,Pn),S=!!t&&(!!(i&&Ga(i)||o&&Ga(o))||s&&y);t||(w=0,f=0);const g=S?a?12:16+4*c:0;t&&(t=new fn(t),await hn(t),s?(n.uncompressedSize=h,p=Ha(h)+g):t.size===$?(l=!0,(d||d===$)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Ha(h)+g));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(ga);d=!0}return d=d||!1,{reader:t,ot:{dataDescriptor:l,zip64:d,et:b,$e:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:S}}})(e,n,l,s);({reader:n}=w);const h=Ma(e.writer),m=Oa(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,lt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:g,encrypted:b,et:x,$e:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&(D===$?a===$||a>0:0!==D);let A;const v=g||!k,T=c&&(e.bufferedWrite||!w||!x&&!z||v),C=T||c&&w&&(x||z);if(c&&(x||z)){const e=20,t=Ia(e);if(t.uint16(1),t.uint16(e-4),A=t.array,T&&(t.wt(F),v)){const e=b?l?12:16+4*m:0;t.wt(g?0:F+e)}}else A=ne;let U,O,N,_,L;if(b&&!l){const e=Ia(Ga(Fa)+2);e.uint16(39169),e.bytes(Fa),U=e.array,U[8]=m}else U=ne;if(y){const e=Wa(r),t=Za(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ia(t);_=1+(n?2:0)+(s?4:0),r.uint16(H),r.uint16(t-4),r.uint8(_),r.uint32(e),n&&r.uint32(Va(Wa(n))),s&&r.uint32(Va(Wa(s))),N=r.array}else N=ne;if(S===$?!t||n||s:S)try{const e=Pa(r),t=Ia(36);t.uint16(10),t.uint16(32),t.ut(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?Pa(n):e),t.wt(s?Pa(s):e),O=t.array}catch{O=ne}else O=ne}else O=N=ne;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=Ea||t===$&&r===$)if(n!=Ra||t===$&&r===$)L=ne;else{const e=Ia(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&I),e.uint16((r===$?0:r)&I),L=e.array}else{const e=Ua(t),n=Ua(r),s=3+e.length+n.length,a=Ia(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(n.length),a.bytes(n),L=a.array}}catch{L=ne}D===$&&(D=k?8:0);const{ct:P}=e;k&&P!==$&&(R=R>P?R:P),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,g&&E!==$&&(U[4]=1),U[9]=D,D=99);const W=C?Ga(A):0,Z=W+Ga(U,N,O,L,p,h);if(Z>I)throw new u(pa);const V=new o(2e3*i.ceil(i.floor(r.getTime()/1e3)/2)),{Je:B,Qe:j,rawLastModDate:q}=Xa({version:R,bitFlag:Ja(a,d,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Q>V?Q:V>J?J:V,rawFilename:t,$e:z,et:x,extraFieldLength:Z}),K=Ia(X+Ga(t)+Z),Y=K.array,G=Me(Y);return K.uint32(M),K.bytes(B),K.bytes(t),C&&K.bytes(A),K.bytes(U),K.bytes(N),K.bytes(O),K.bytes(L),K.bytes(p),K.bytes(h),w&&(z||qa(G,18,0),x||qa(G,22,0)),{ft:Y,ht:G,Je:B,Qe:j,lastModDate:r,rawLastModDate:q,encrypted:b,compressed:k,version:R,compressionMethod:D,it:_,qe:ne,yt:W,Ye:N,Ge:O,Xe:L,Ke:U,extraFieldLength:Z}})(s=r.assign({},s,c.ot,l.ot,w.ot,{internalFileAttribute:l.ot.internalFileAttributes,externalFileAttribute:c.ot.externalFileAttributes,signature:s[qn],crc32:s.crc32===$?s[qn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),g=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ne,a=0,i=e?20:12;return r&&(i+=4),t&&(s=new f(i),n=Me(s),r&&(a=4,qa(n,0,_))),{St:s,gt:n,bt:a}})(s),b=Ga(y.ft,g.St);p=await(async(e,t,n,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{xt:p}=s,h=e.options[ds],m=e.je;let y,g,b,x,z,F,R,k={},A=0;o.set(t,k),e.je=k;try{let g;l&&(g=m&&m.lock,k.lock=new S(e=>b=e)),i.bufferedWrite||!l||e.zt||e.He||!d?(y=!0,e.He++,R=i.createTempStream?await i.createTempStream():new E($,$,{highWaterMark:ee}),R.size=0,await hn(c)):(R=c,await v()),await hn(R);const C=Ma(c);if(e.We){delete e.We;const t=new f(4);qa(Me(t),0,N),await La(c,t),e.offset+=4}h&&!y&&Ca(s,e.offset-C);const{ft:I}=p;y||(await g,await T());const M=Oa(c),_=_a(e,c);if(k.diskNumberStart=M,y||(z=!0,F=c.size,await La(R,I)),k=await(async(e,t,{diskNumberStart:n,lock:s},i,o,c)=>{const{xt:l,Ft:d,Et:w}=i,{Je:f,Qe:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:g,compressionMethod:b,qe:x,yt:z,Ye:F,it:E,Ge:R,Xe:D,Ke:k}=l,{St:A}=d,{rawFilename:v,lastAccessDate:T,creationDate:C,password:I,rawPassword:M,level:N,zip64:_,et:L,$e:P,zipCrypto:W,dataDescriptor:Z,directory:V,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,Se={lock:s,versionMadeBy:H,zip64:_,directory:!!V,executable:!!B,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,qe:x,yt:z,Ye:F,Ge:R,Xe:D,Ke:k,rawExtraField:q,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{crc32:ge,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const r=At(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Yt,level:N,rawPassword:M,password:I,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&O,computeCrc32:!he,compressed:S&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,oe:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await xr({readable:r,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,y&&!W||(ge=e.crc32)),!P&&xe>=U||!L&&be>=U)throw new u(ga)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,xt:n,Ft:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{Qe:d,encrypted:w}=n,{gt:u,bt:f}=s;w&&!o&&!c||e===$||(qa(d,10,e),l&&qa(u,f,e)),i?l&&(Ka(u,f+4,a(t)),Ka(u,f+12,a(r))):(qa(d,14,t),qa(d,18,r),l&&(qa(u,f+4,t),qa(u,f+8,r)))})({crc32:ge,compressedSize:xe,uncompressedSize:be,xt:l,Ft:d},c),Z&&await La(t,A),r.assign(Se,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:y,zipCrypto:W,size:w+xe,compressionMethod:b,version:g,Je:f,Qe:p,signature:ge,crc32:!y||W||he?ge:$,it:E,et:L,$e:P}),Se})(n,R,k,s,e.config,i),y||(z=!1),o.set(t,k),k.filename=t,y){if(await S.all([R.writable.getWriter().close(),g]),await v(),x=!0,F=c.size,await T(),k.diskNumberStart=Oa(c),k.offset=_a(e,c),h){const t=s.Et;Ca(s,e.offset-Ma(c)),k.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,yt:n,crc32:s,compressedSize:i,uncompressedSize:o,et:c,$e:l},d,{dataDescriptor:w,passThrough:u})=>{if(w||((!t||u&&s!==$)&&qa(d,14,s),l||qa(d,18,i),c||qa(d,22,o)),r&&n){const t=X+Ga(e)+4;Ka(d,t,a(o)),Ka(d,t+8,a(i))}})(k,p.ht,i),await La(c,p.ft),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Ga(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else k.diskNumberStart=M,k.offset=_;return e.offset+=k.size,k}catch(r){if(x||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=A)}throw o.delete(t),r}finally{if(y&&e.He--,b&&b(),g&&g(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function v(){e.zt=!0;const{Rt:t}=e;e.Rt=new S(t=>g=()=>{e.zt=!1,t()}),await t}async function T(){Na(c,Ga(p.ft))&&await c.closeDisk()}})(e,t,n,{xt:y,Ft:g,Et:b},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new $n(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Ze.delete(e),t}finally{c.delete(d);const e=ka.shift();e?e():Da--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ne,r={}){const{Be:n,writer:s}=this,{writable:i}=s;if(Ga(e)>I)throw new u(oa);for(;n.size;)await S.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ke:n,rawComment:s,Ge:a,Xe:i,rawExtraField:o,extendedTimestamp:c,it:l,lastModDate:d,et:w,$e:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=U,y=r.diskNumberStart>=I;let S,g;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ia(e);t.uint16(1),t.uint16(e-4),w&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),S=t.array}else S=ne;r.qe=S,r.nt=m,r.st=y;const b=Wa(d);if(c&&Za(b)){const e=Ia(9);e.uint16(H),e.uint16(5),e.uint8(l),e.uint32(b),g=e.array}else g=ne;r.Ye=g;const x=Ga(S,n,a,i,g,o);if(x>I)throw new u(pa);t+=46+Ga(e,s)+x}return t})(e.files),i=await(async(e,r,n)=>{const{files:s,writer:a}=e,i=new f(r);await hn(a);let o=0,c=0,l=Oa(a),d=Ma(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,qe:u,Ke:f,Ye:p,Ge:h,Xe:m,rawExtraField:y,rawComment:S,versionMadeBy:g,Je:b,Qe:x,et:z,$e:F,st:E,nt:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:v,compressedSize:T}=r,C=Ga(u,f,p,h,m,y),O=46+Ga(w,S)+C;Na(a,o+O-c)&&(await La(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Oa(a),d=Ma(a)),z||qa(x,18,v),F||qa(x,14,T),(R||E)&&45>r.version&&ja(x,0,45);const M=Ia(O);if(M.uint32(L),M.uint16(g),M.bytes(b.subarray(0,24)),M.uint16(C),M.uint16(Ga(S)),M.uint16(E?I:A),M.uint16(D),M.uint32(k),M.uint32(R?U:t),M.bytes(w),M.bytes(u),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(S),Ya(i,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new $n(r))}catch{}}return await La(a,c?i.slice(c):i),{diskNumber:l,diskOffset:d}})(e,s,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Dt:i}=n;let{kt:o}=n,c=e.files.size,l=i.diskNumber,d=_a(e,i),w=Oa(s);Na(s,V)&&w++;let f=Ba(e,r,Ln);if(!(U>d&&U>o&&I>c&&I>w)){if(!1===f)throw new u(ga);f=!0}const p=Ga(t);if(p>I)throw new u(oa);const h=Ia(f?98:V);Na(s,Ga(h.array)+p)&&await s.closeDisk(),w=Oa(s),f&&(h.uint32(W),h.wt(44),h.uint16(45),h.uint16(45),h.uint32(w),h.uint32(l),h.wt(c),h.wt(c),h.wt(o),h.wt(d),h.uint32(Z),h.uint32(w),h.wt(a(_a(e,s))+a(o)),h.uint32(w+1),Ba(e,r,"supportZip64SplitFile",!0)&&(w=I,l=I),c=I,d=U,o=U),h.uint32(P),h.uint16(w),h.uint16(l),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(d),h.uint16(p),await La(s,h.array),p&&await La(s,t)})(e,r,n,{Dt:i,kt:s})})(this,e,r),Ba(this,r,cs)||await i.getWriter().close(),s.getData?s.getData():i}}function va(e,t,r){e.Be.add(t),t.catch(e=>{try{r(e)}catch{}})}function Ta(e){if(!e)return ne;let t=0,r=0;e.forEach(e=>t+=4+Ga(e));const n=new f(t),s=Me(n);return e.forEach((e,t)=>{if(t>I)throw new u(fa);if(Ga(e)>I)throw new u(pa);ja(s,r,t),ja(s,r+2,Ga(e)),Ya(n,e,r+4),r+=4+Ga(e)}),n}function Ca(e,t){const{xt:r}=e;let{ft:n,extraFieldLength:s}=r,a=64-(t+Ga(n))%64;4>a&&(a+=64);const i=new f(a),o=Me(i);ja(o,0,6534),ja(o,2,a-4);const c=n;r.ft=n=new f(Ga(c)+a),Ya(n,c),Ya(n,i,Ga(c));const l=Me(n);ja(l,28,s+a),r.ht=l,e.Et+=a}function Ua(e){if(e===$)return ne;{const t=new f(4);Me(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ia(e){const t=new f(e),r=Me(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{ja(r,n,e),n+=2},uint32:e=>{qa(r,n,e),n+=4},wt:e=>{Ka(r,n,a(e)),n+=8},bytes:e=>{Ya(t,e,n),n+=Ga(e)},ut:e=>n+=e}}function Oa(e){const{diskNumber:t=0}=e;return t}function Ma(e){const{diskOffset:t=0}=e;return t}function Na(e,t){const{availableSize:r=ee}=e;return t>r}function _a(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function La(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Ga(t),await n.write(t)}finally{n.releaseLock()}}function Pa(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return ya>t?ya:t>Sa?Sa:t}}function Wa(e){return i.floor(e.getTime()/1e3)}function Za(e){return e>=ha&&ma>=e}function Va(e){return i.min(ma,i.max(ha,e))}function Ba(e,t,r,n){const s=t[r]===$?e.options[r]:t[r];return s===$?n:s}function Ha(e){return e+5*(i.floor(e/16383)+1)}function ja(e,t,r){e.setUint16(t,r,!0)}function qa(e,t,r){e.setUint32(t,r,!0)}function Ka(e,t,r){e.setBigUint64(t,r,!0)}function Ya(e,t,r){e.set(t,r)}function Ga(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Xa({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,$e:c,et:l,extraFieldLength:d}){const w=Ia(26),u=w.array,f=Me(u);if(w.uint16(e),w.uint16(t),w.uint16(r),i===$){const e=new h(1),t=Me(e);ja(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),ja(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.ut(4),c||s!==$?w.uint32(c?U:s):w.ut(4),l||n!==$?w.uint32(l?U:n):w.ut(4),w.uint16(Ga(o)),w.uint16(d),{Je:u,Qe:f,rawLastModDate:i}}function Ja(e,t,r,n,s){let a=0;return t&&(a|=j),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const Qa=1048576,$a=".zip.js-temp",ei=1048576,ti=1048576,ri=".zip.js-temp";try{(e=>{for(const t of ie){const r=e[t];r!==$&&(ae[t]=r)}de(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Hr,e.BlobWriter=jr,e.Data64URIReader=class extends Wr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,At:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{At:r,dataURI:n}=this,s=new f(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Zr{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Rs,e.ERR_BAD_FORMAT=ps,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ys,e.ERR_DUPLICATED_NAME=ia,e.ERR_ENCRYPTED=bs,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Ds,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ms,e.ERR_EOCDR_NOT_FOUND=hs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=gs,e.ERR_HTTP_RANGE=Ar,e.ERR_HTTP_RESOURCE_CHANGED=vr,e.ERR_INVALID_AUTHENTICATION_CODE=Be,e.ERR_INVALID_CODEC_DEFINITION=we,e.ERR_INVALID_CODEC_MODULE=fe,e.ERR_INVALID_COMMENT=oa,e.ERR_INVALID_COMPRESSED_DATA=Ct,e.ERR_INVALID_CRC32=Ut,e.ERR_INVALID_ENCRYPTION_STRENGTH=wa,e.ERR_INVALID_ENTRY_COMMENT=ca,e.ERR_INVALID_ENTRY_NAME=la,e.ERR_INVALID_EXTRAFIELD_DATA=pa,e.ERR_INVALID_EXTRAFIELD_TYPE=fa,e.ERR_INVALID_PASSWORD=Ze,e.ERR_INVALID_SIGNATURE=Ve,e.ERR_INVALID_UNCOMPRESSED_SIZE=Tt,e.ERR_INVALID_VERSION=da,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Tr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Ss,e.ERR_OVERLAPPING_ENTRY=Es,e.ERR_RESERVED_COMPRESSION_METHOD=ue,e.ERR_SPLIT_ZIP_FILE=Fs,e.ERR_UNDEFINED_READER=xa,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ba,e.ERR_UNSUPPORTED_COMPRESSION=zs,e.ERR_UNSUPPORTED_ENCRYPTION=xs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ua,e.ERR_UNSUPPORTED_FORMAT=ga,e.ERR_WRITER_NOT_INITIALIZED=Cr,e.ERR_ZIP_NOT_EMPTY=za,e.HttpRangeReader=class extends dn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=dn,e.Reader=Wr,e.SplitDataReader=wn,e.SplitDataWriter=un,e.TextReader=class extends Hr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends jr{constructor(e){super(e),r.assign(this,{encoding:e,vt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,vt:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new S((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends Wr{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Zr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Zr,e.ZipReader=Cs,e.ZipReaderStream=Us,e.ZipWriter=Aa,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Aa(r,e),this.Be=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new E({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return va(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new E({start(e){t=e}});return va(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await S.all(t.from(this.Be)),this.zipWriter.close(e,r)}},e.configure=de,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=ei}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new D({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=new d(t.readable).blob(),r=t.writable.getWriter(),i=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=Qa,directoryName:r=$a,getDirectory:n=()=>v.storage.getDirectory()}=e;let s;function a(){return s||(s=S.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const l=new D({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=z.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let d=0;return{writable:l,readable:new R({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=ti,directoryName:r=ri,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u("createSyncAccessHandle is only available in dedicated workers");const s=n||(()=>v.storage.getDirectory());let a;function o(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,c=0,l=0;const d=new D({async write(i){a?(n.write(i,{at:c}),c+=i.length):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=await o();r=z.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:c}),c+=t.length;e.length=0})())},close(){n&&n.flush()}});let w=0;return{writable:d,readable:new R({pull(t){if(a){const e=c-l;if(0>=e)return void t.close();const r=new f(i.min(524288,e)),s=n.read(r,{at:l});s?(l+=s,t.enqueue(r.subarray(0,s))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await o();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=pe||!r.length)throw new u(we);if(he.includes(t))throw new u(ue);const c=typeof a==re||typeof i==re;if(!(c||typeof n==pe&&n.length))throw new u(we);me.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&be(r,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ie)delete oe[e];r.assign(oe,ae)},e.terminateWorkers=async()=>{await S.allSettled(mr.map(e=>(Dr(e),e.terminate()))),er=$},e.unregisterCodec=e=>{const t=me.get(e);if(t){let r;me.delete(e),me.forEach(e=>r=r||e.format==t.format),r||ye.delete(t.format)}}});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:T,Worker:v}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,O=255,M=67324752,_=134695760,N=_,L=84233040,W=33639248,P=101010256,V=101075792,Z=117853008,B=22,H=20,j=56,q=21589,K=2048,Y=16384,G=2048,X=1024,J="/",Q=30,$=new o(2107,11,31,23,59,58),ee=new o(1980,0,1),te=void 0,re=1/0,ne="undefined",se="function",ae=new f;let ie=2;try{typeof T!=ne&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch{}const oe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ne&&k,DecompressionStream:typeof A!=ne&&A},ce=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],le={...oe};function de(){return le}function we(e){return i.max(e.chunkSize,64)}function ue(e){e=fe(e);for(const t of ce){const r=e[t];r!==te&&(le[t]=r)}}function fe(e){const{CompressionStreamZlib:t,DecompressionStreamZlib:n}=e;if(t===te&&n===te)return e;const s=r.assign({},e);return s.CompressionStreamFallback===te&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===te&&(s.DecompressionStreamFallback=n),s}const pe="Invalid codec definition",he="Reserved compression method",me="Invalid codec module",ye="string",ge=[0,8,9,99],Se=new c,be=new c;function xe(e){return Se.get(e)}function ze(e){return be.get(e)}function Fe(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=se&&typeof n!=se)throw new u(me);be.set(e,{CompressionStream:r,DecompressionStream:n})}const Ee=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;Ee[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=Ee[t-1][e];Ee[t][e]=r>>>8^Ee[0][255&r]}const[Re,De,ke,Ae,Te,ve,Ce,Ue]=Ee;class Ie{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ue[255&e]^Ce[e>>>8&255]^ve[e>>>16&255]^Te[e>>>24&255]^Ae[255&r]^ke[r>>>8&255]^De[r>>>16&255]^Re[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Re[255&(t^e[n])];this.o=t}get(){return~this.o}}class Oe extends E{constructor(){let e;const t=new Ie;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Me(e){if(typeof S==ne){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new S).encode(e)}function _e(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Ne(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Le(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const We={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=We.l(r);return 32===n?e.concat(t):We.h(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+We.l(r)},m(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=We.S(t,e[r-1]&2147483648>>t-1,1)),e},S:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=We.l(s);return n.push(We.S(t+a&31,t+a>32?r:n.pop(),1)),n}},Pe={bytes:{F(e){const t=We.bitLength(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},R(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(We.S(8*(3&r),n)),t}}},Ve=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.v=e.v.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.v=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=Pe.U.R(e));const r=t.v=We.concat(t.v,e),n=t.C,s=t.C=n+We.bitLength(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.I(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}O(){const e=this;let t=e.v;const r=e.T;t=We.concat(t,[We.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.I(t.splice(0,16));return e.reset(),r}M(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_(e,t){return t<<e|t>>>32-e}I(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._(5,a)+r.M(e,o,c,l)+d+s[e]+r.A[i.floor(e/20)]|0;d=l,l=c,c=r._(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Ze={importKey:e=>new Ze.N(Pe.bytes.R(e)),L(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new u("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=We;for(t=Pe.bytes.R(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,n/8)},N:class{constructor(e){const t=this,r=t.W=Ve,n=[[],[]];t.P=[new r,new r];const s=t.P[0].blockSize/32;e.length>s&&(e=(new r).update(e).O());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.P[0].update(n[0]),t.P[1].update(n[1]),t.V=new r(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V.O(),r=new e.W(e.P[1]).update(t).O();return e.reset(),r}encrypt(e){if(this.Z)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Be=typeof z!=ne&&typeof z.getRandomValues==se,He="Invalid password",je="Invalid signature",qe=je,Ke="zipjs-abort-check-password",Ye="Crypto API not supported";function Ge(e){if(Be)return z.getRandomValues(e);throw new u(Ye)}const Xe=16,Je={name:"PBKDF2"},Qe=r.assign({hash:{name:"HMAC"}},Je),$e=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Je),et=["deriveBits"],tt=[8,12,16],rt=[16,24,32],nt=10,st=[0,0,0,0],at=typeof z!=ne,it=at&&z.subtle,ot=at&&typeof it!=ne,ct=Pe.bytes,lt=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const r=t.B[0][4],n=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=u=u<<24^u>>>8,t[r][a]=w=w<<24^w>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}j(e,t){if(4!==e.length)throw new u("invalid aes block size");const r=this.A[t],n=r.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],S=4;for(let e=0;n>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&g]^r[S],f=i[m>>>24]^o[y>>16&255]^c[g>>8&255]^l[255&h]^r[S+1],p=i[y>>>24]^o[g>>16&255]^c[h>>8&255]^l[255&m]^r[S+2],g=i[g>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[S+3],S+=4,h=w,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&g]^r[S++],w=h,h=m,m=y,y=g,g=w;return s}},dt=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,r){let n;if(!(n=t.length))return[];const s=We.bitLength(t);for(let s=0;n>s;s+=4){this.$(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return We.m(t,s)}},wt=Ze.N;let ut=at&&ot&&typeof it.importKey==se,ft=at&&ot&&typeof it.deriveBits==se;class pt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,ee:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await gt(e,t,r,bt(n,0,tt[t])),a=bt(n,tt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(He)})(r,a,s,bt(e,0,tt[a]+2)),e=bt(e,tt[a]+2),n?t.error(new u(Ke)):i()):await o;const c=new f(e.length-nt-(e.length-nt)%Xe);t.enqueue(yt(r,e,c,0,nt,!0))},async flush(e){const{te:t,re:r,pending:n,ready:a}=this;if(r&&t){await a;const i=bt(n,0,n.length-nt),o=bt(n,n.length-nt);let c=ae;if(i.length){const e=zt(ct,i);r.update(e);const n=t.update(e);c=xt(ct,n)}const l=bt(xt(ct,r.digest()),0,nt);let d=n.length<nt?1:0;for(let e=0;nt>e;e++)d|=l[e]^o[e];if(d&&s)throw new u(qe);e.enqueue(c)}}})}}class ht extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){mt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,ee:a,ready:i}=r;let o=ae;n?(o=await(async(e,t,r)=>{const n=Ge(new f(tt[t]));return _e(n,await gt(e,t,r,n))})(r,s,n),a()):await i;const c=new f(o.length+e.length-e.length%Xe);c.set(o,0),t.enqueue(yt(r,e,c,o.length,0))},async flush(e){const{te:t,re:r,pending:n,ready:s}=this;if(r&&t){await s;let a=ae;if(n.length){const e=t.update(zt(ct,n));r.update(e),a=xt(ct,e)}const i=xt(ct,r.digest()).slice(0,nt);e.enqueue(_e(a,i))}}})}}function mt(e,t,n,s){r.assign(e,{ready:new g(t=>e.ee=t),password:St(t,n),strength:s-1,pending:ae})}function yt(e,t,r,n,s,a){const{te:i,re:o,pending:c}=e;c.length&&(t=_e(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(l-l%Xe)),d=0;l-Xe>=d;d+=Xe){const e=zt(ct,bt(t,d,d+Xe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(xt(ct,s),d+n)}return e.pending=bt(t,d),r}async function gt(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!ut)return Ze.importKey(t);try{return await it.importKey("raw",t,r,!1,s)}catch{return ut=!1,Ze.importKey(t)}})(0,s,Qe,0,et),o=await(async(e,t,r)=>{if(!ft)return Ze.L(t,e.salt,$e.iterations,r);try{return await it.deriveBits(e,t,r)}catch{return ft=!1,Ze.L(t,e.salt,$e.iterations,r)}})(r.assign({salt:a},$e),i,8*(2*rt[n]+2)),c=new f(o),l=zt(ct,bt(c,0,rt[n])),d=zt(ct,bt(c,rt[n],2*rt[n])),w=bt(c,2*rt[n]);return r.assign(e,{keys:{key:l,ne:d,passwordVerification:w},te:new dt(new lt(l),t.from(st)),re:new wt(d)}),w}function St(e,t){return t===te?Me(e):t}function bt(e,t,r){return e.subarray(t,r)}function xt(e,t){return e.F(t)}function zt(e,t){return e.R(t)}class Ft extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){Rt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Dt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new u(He);e=e.subarray(12)}n?t.error(new u(Ke)):t.enqueue(Dt(r,e))}})}}class Et extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){Rt(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Ge(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(kt(r,t),0),s=12}else n=new f(e.length),s=0;n.set(kt(r,e),s),t.enqueue(n)}})}}function Rt(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,se:new Ie(s[0]),ae:new Ie(s[2])}),n)for(let t=0;t<n.length;t++)At(e,n[t]);else for(let r=0;r<t.length;r++)At(e,t.charCodeAt(r))})(e,t,n)}function Dt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,r[n]);return r}function kt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Tt(e)^t[n],At(e,t[n]);return r}function At(e,t){let[,r]=e.keys;e.se.append([t]);const n=~e.se.get();r=Ct(i.imul(Ct(r+vt(n)),134775813)+1),e.ae.append([r>>>24]);const s=~e.ae.get();e.keys=[n,r,s]}function Tt(e){const t=2|e.keys[2];return vt(i.imul(t,1^t)>>>8)}function vt(e){return 255&e}function Ct(e){return 4294967295&e}function Ut(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function It(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Ot="Invalid uncompressed size",Mt="Invalid compressed data",_t=je,Nt="deflate-raw",Lt="gzip",Wt=[31,139,8];class Pt extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,g=super.readable;const S=w&&ze(w),b=c&&s&&!d&&!S&&(!a||o)&&!(!i||!n);if(a&&!o||!c||b||(p=new Oe,g=Gt(g,p)),s)if(S)g=Xt(g,Kt(S.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u}));else if(b)y=new Vt,g=Xt(g,new n(Lt)),g=Gt(g,y);else try{g=Yt(g,i,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Lt)}catch{throw e}g=Xt(g,t),g=Gt(g,new Vt)}a&&(o?g=Gt(g,new Et(e)):(h=new ht(e),g=Gt(g,h))),qt(f,g,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Vt extends E{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=i.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=_e(r,e));const a=s-8,o=i.min(a,r.length);n.enqueue(_e(r.subarray(0,o),e.subarray(0,a-o))),r=_e(r.subarray(o),e.subarray(a-o))},flush(){const t=Le(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Zt extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,b,x=super.readable;if(a&&(s?x=Gt(x,new Ft(e)):(b=new pt(e),x=Gt(x,b))),c){const e=w&&ze(w);if(e)x=Xt(x,Kt(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=Yt(x,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===te)throw e;let t;try{t=new n(Lt)}catch{throw e}x=((e,t,r)=>{const n=new Ie;let s,a,i,o=0,c=!1;const l=new g((e,t)=>{a=e,i=t});l.catch(()=>{}),r||a();const d=new E({start(e){const t=new f(10);t.set(Wt),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Le(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){i(e)}}),w=new E({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=Gt(e,d),Gt(e=Xt(e,t),w);function p(){h(),s=setTimeout(()=>i(new u(Ot)),5e3)}function h(){clearTimeout(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(Mt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}i&&(S=new Oe,x=Gt(x,S)),qt(this,x,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new u(_t)}})}}const Bt=new c;function Ht(e,t){if(!e)return!1;let r=Bt.get(e);r||(r=new c,Bt.set(e,r));let n=r.get(t);if(n===te){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function jt(e){return Ht(e,Nt)}function qt(e,t,n){t=Gt(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Kt(e,t,r){if(!e)throw new u("Compression method not supported");return new e(t,r)}function Yt(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":Nt;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return Xt(e,o)}function Gt(e,t){return Ut(e).pipeThrough(t)}function Xt(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Jt="data",Qt="deflate",$t="inflate";class er extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(Qt)?a=Pt:s.startsWith($t)&&(a=Zt),n.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:i})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==te&&n.outputSize>e.outputSize))throw new u(Ot)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:i})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class tr extends E{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const rr={type:"module"},nr="error",sr="Worker startup timeout";let ar,ir,or,cr,lr,dr=!0;try{dr=typeof structuredClone==se&&structuredClone(new DOMException("","AbortError")).code!==te}catch{}class wr{constructor(e,{readable:t,writable:n},{options:s,config:a,ie:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},w){const{signal:u}=i;return lr&&(d=te),r.assign(e,{oe:!0,ce:(e.ce||0)+1,readable:t.pipeThrough(new tr(we(a))).pipeThrough(new ur(i),{signal:u}),writable:n,options:r.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new g(t=>{const{le:r,oe:n}=e;r?(n?e.de=t:(r.terminate(),t()),e.we=null):t()}),ue(){if(e.oe){const{de:t}=e;t&&(e.de=null,e.fe=!0,e.le.terminate(),t()),e.oe=!1,w(e)}}}),ar===te&&(ar=typeof v!=ne),(o&&(ar&&l||d)?hr:pr)(e,a)}}class ur extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await fr(e,r)},async transform(e,n){s+=e.length,t&&await fr(t,s,r),n.enqueue(e)},async flush(){n&&await fr(n,s)}})}}async function fr(e,...t){try{await e(...t)}catch{}}function pr(e,t){return{run:()=>mr(e,t)}}function hr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==se&&(o=o());try{c=gr(e.workerURI,n,e)}catch{return e.createWorker?lr=!0:ar=!1,pr(e,t)}r.assign(e,{le:c,pe:!1,fe:!1,we:{run:async()=>{try{return await(async(e,t)=>{let n,a;const i=new g((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,he:n,me:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ye:w}=(e=>{const t=new AbortController,{writable:r,readable:n}=new E,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,ye:()=>t.abort()}})(e.writable);let f;try{f=xr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.ue(),t}f||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.pe||!s.isFinite(p)||0>p||(e.ge=setTimeout(()=>(e=>{if(e.ge=null,e.pe)return;const{me:t,writer:r}=e;if(yr(e),e.le=null,t){const e=new u(sr);e.Se=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:n,workerStartupTimeout:i})}catch(r){if(r&&r.Se){e.createWorker?lr=!0:ar=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,mr(e,t)}throw r}}}})}return e.we}async function mr({options:e,readable:t,writable:r,ue:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Qt),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.be&&!jt(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.be||(e.useCompressionStream=!0)}}a=new er(e,s),await t.pipeThrough(a).pipeThrough(new tr(we(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:o}=a;return{crc32:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function yr(e){const{le:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function gr(e,t,n,s,a=!0){const{createWorker:i}=n;let o,c,l;if(i)o=i();else if(or===te||ir!==e){const r=typeof e==se;c=r?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===te&&(s=!1),s&&(l=rr);try{o=new v(c,l)}catch(a){if(d)try{w.revokeObjectURL(c)}catch{}if(r&&d)return gr(e,t,n,s,!1);if(s)throw a;return gr(e,t,n,!0,!1)}}else{s===te&&(s=!0),s&&(l=rr);try{c=new w(c,t)}catch{}try{o=new v(c,l)}catch(r){if(s)throw r;return gr(e,t,n,!1,a)}}ir=e,or=c,cr=l}else o=new v(or,cr);return o.addEventListener("message",e=>{n.pe=!0,Sr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,he:d,me:w,ue:p,ce:h}=t,m=()=>t.ce!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:i}=o,c=new u(e);r.assign(c,{stack:t,code:n,name:s,outputSize:a}),i&&(c.cause=r.assign(new u(i.message),{name:i.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||xr({type:Jt,value:e,done:r,messageId:a},t)}n==Jt&&(await l.ready,await l.write(new f(s)),m()||xr({type:"ack",messageId:a},t)),"close"==n&&y(null,i)}}catch(o){m()||(yr(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,n)}),o.addEventListener(nr,e=>br(e,n)),o.addEventListener("messageerror",e=>br(e,n)),o}function Sr(e){const{ge:t}=e;t&&(clearTimeout(t),e.ge=null)}function br(e,t){e.preventDefault&&e.preventDefault(),Sr(t);const{pe:n,me:s,writer:a,ue:i}=t;if(yr(t),n||(t.le=null),s){let t=e.error||new u(e.message||nr);n||(t=r.assign(new u(t.message||nr),{Se:!0})),s(t),a&&a.releaseLock(),n&&i()}}function xr(e,{le:t,writer:r,transferStreams:n,pe:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=Ne(r),o.push(e.value.buffer)),n&&dr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{dr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let zr=[];const Fr=[];let Er,Rr,Dr=0;async function kr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:u,format:f,codecURI:p}=r,{workerURI:h,createWorker:m,maxWorkers:y}=n;f&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!be.has(e)&&t&&Fe(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,r.codecURI)),t.transferStreams=a||a===te&&n.transferStreams;const S=!(c||l||d||u),b=f===te||!!r.codecURI;return t.useWebWorkers=!S&&b&&(i||i===te&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:te,t.createWorker=t.useWebWorkers&&m?m:te,r.useCompressionStream=o||o===te&&n.useCompressionStream,(await(async()=>{const r=zr.find(e=>!e.oe);if(r)return Ur(r),new wr(r,e,t,x);if(zr.length<y){const r={xe:Dr};return Dr++,zr.push(r),new wr(r,e,t,x)}return new g(r=>{Fr.push({resolve:r,stream:e,ze:t}),Rr=n.workerStarvationTimeout,Ar()})})()).run();function x(e){if(Tr(),Fr.length){const[{resolve:t,stream:r,ze:n}]=Fr.splice(0,1);t(new wr(e,r,n,x)),Ar()}else e.le?(Ur(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.fe?e.fe=!1:e.Fe=setTimeout(async()=>{zr=zr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):zr=zr.filter(t=>t!=e)}}function Ar(){!Er&&Fr.length&&s.isFinite(Rr)&&Rr>=0&&(Er=setTimeout(vr,Rr))}function Tr(){Er&&(clearTimeout(Er),Er=null)}function vr(){if(Er=null,Fr.length){const[{resolve:e,stream:t,ze:n}]=Fr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:te,createWorker:te});e(new wr({},t,s,Cr)),Ar()}}function Cr(){Tr(),Ar()}function Ur(e){const{Fe:t}=e;t&&(clearTimeout(t),e.Fe=null)}const Ir="HTTP error ",Or="HTTP Range not supported",Mr="HTTP resource changed",_r="Writer iterator completed too soon",Nr="Writer not initialized",Lr="Content-Range",Wr="Range",Pr="GET",Vr="bytes",Zr=16777216,Br="writable",Hr=Symbol();class jr{constructor(){this.size=0}init(){this.initialized=!0}}class qr extends jr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(de())}={}){const n=this;let s=0;return new R({async pull(a){const o=t===te?r:i.min(r,t-s),c=await zn(n,e+s,o);a.enqueue(c),s+r>t||t===te&&!c.length&&o?a.close():s+=r}})}}class Kr extends jr{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Nr);return e.writeUint8Array(Ne(t))}});r.defineProperty(e,Br,{get:()=>t})}writeUint8Array(){}}let Yr,Gr;class Xr extends qr{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Gr||(Gr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Yr=1==t}catch{Yr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Yr?Ut(t.slice(n,n+s).stream()):super.createReadable(e):Ut(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new f(a)}}class Jr extends jr{constructor(e){super();const t=this,n=new E;if(r.defineProperty(t,Br,{get:()=>n.writable}),typeof y.prototype.stream!=se||new y([]).stream()instanceof R){const r=[];e&&r.push(["Content-Type",e]),t.blob=new d(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Qr extends qr{constructor(e,t){super(),en(this,e,t)}async init(){await tn(this,pn,dn),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=t;if((r||n)&&a!==te){const{offset:r=0,size:n=a-r}=e||{};if(n>0&&a>r)return((e,t,r)=>{let n,a=t,o=0,c=r;return new R({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new u(Or);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=te,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),r=await pn(Pr,e,cn(e,a,t));if(206!=r.status)throw new u(Or);const l=r.headers.get(Lr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(Or)}on(e,r),an(e,r),a+=t,o=t,n=r.body.getReader()}})(t,r,i.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return rn(this,e,t,pn,dn)}}class $r extends qr{constructor(e,t){super(),en(this,e,t)}async init(){await tn(this,hn,wn),super.init()}readUint8Array(e,t){return rn(this,e,t,hn,wn)}}function en(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Zr,fetch:d}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function tn(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(Pr,e,cn(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Vr))throw new u(Or);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==B&&(e.Ee=t)}an(e,n);const s=nn(n);s===te?await fn(e,t,r):e.size=s}}else await fn(e,t,r)}async function rn(e,t,r,n,a){const{useRangeHeader:i,forceRangeRequests:o,Ee:c,size:l,options:d}=e;if(i||o){if(c&&t==l-B&&r==B)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(Pr,e,cn(e,t,r));if(206!=a.status)throw new u(Or);const i=a.headers.get(Lr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(Or)}on(e,a),an(e,a);const o=new f(await a.arrayBuffer());if(o.length!=r)throw new u(Or);return o}return ae}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function nn(e){const t=e.headers.get(Lr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function sn({headers:e}){return{Re:e.get("Etag")||te,lastModified:e.get("Last-Modified")||te}}function an(e,t){const{checkResourceChanges:r,De:n}=e;r&&!n&&206==t.status&&(e.De=sn(t))}function on(e,t){const{checkResourceChanges:n,De:s,size:a}=e;if(n){const e=nn(t);if(e!==te&&a!==te&&e!=a)throw new u(Mr);if(s){const e=sn(t);if(r.entries(s).some(([t,r])=>r!==te&&e[t]!==te&&r!=e[t]))throw new u(Mr)}}}function cn(e,t=0,n=1){return r.assign({},ln(e),{[Wr]:Vr+"="+(0>t?t:t+"-"+(t+n-1))})}function ln({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function dn(e){await un(e,pn)}async function wn(e){await un(e,hn)}async function un(e,t){const r=await t(Pr,e,ln(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function fn(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,ln(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function pn(e,{fetch:t=fetch,options:n,url:s},a){const i=await t(s,r.assign({},n,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(Or):new u(Ir+(i.statusText||i.status))}function hn(e,{url:t},n){return new g((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(Or):new u(Ir+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class mn extends qr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new $r(e,t):new Qr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class yn extends qr{constructor(e){super(),this.ke=e}async init(){const e=this,{ke:t}=e;e.Ae=0,await g.all(t.map(e=>xn(e))),e.Te=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}ve(e){const{Te:t,size:r}=this,n=t[e];return n===te?r:n}async readUint8Array(e,t){const r=this,{ke:n}=this;let s,a=0,o=e;for(;n[a]&&o>=n[a].size;)o-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(o+t>n){const a=n-o;s=_e(await zn(c,o,a),await r.readUint8Array(e+a,t-a))}else s=await zn(c,o,t)}else s=ae;return r.Ae=i.max(a,r.Ae),s}}class gn extends jr{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Hr)return void(i&&await l());const{availableSize:r}=n;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new u(_r);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await xn(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,i=null,n.availableSize=n.maxSize}async function d(){await i.close()}r.defineProperty(n,Br,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Hr)}finally{e.releaseLock()}}}class Sn{constructor(e){return t.isArray(e)&&(e=new yn(e)),(e instanceof R||typeof e.getReader==se)&&(e={readable:Ut(e)}),e}}class bn{constructor(e){return e.writable===te&&typeof e.next==se&&(e=new gn(e)),(e instanceof D||typeof e.getWriter==se)&&(e={writable:It(e)}),e.size===te&&(e.size=0),e}}async function xn(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function zn(e,t,r){return e.readUint8Array(t,r)}const Fn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function En(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Fn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const Rn="filename",Dn="rawFilename",kn="comment",An="rawComment",Tn="uncompressedSize",vn="compressedSize",Cn="offset",Un="diskNumberStart",In="lastModDate",On="rawLastModDate",Mn="lastAccessDate",_n="rawLastAccessDate",Nn="creationDate",Ln="rawCreationDate",Wn="internalFileAttributes",Pn="externalFileAttributes",Vn="msdosAttributesRaw",Zn="msdosAttributes",Bn="msDosCompatible",Hn="zip64",jn="encrypted",qn="version",Kn="versionMadeBy",Yn="zipCrypto",Gn="directory",Xn="executable",Jn="compressionMethod",Qn="signature",$n="extraField",es="unixMode",ts="setuid",rs="setgid",ns="sticky",ss=[Rn,Dn,Tn,vn,In,On,kn,An,Mn,_n,Nn,Ln,Cn,Un,Wn,Pn,Vn,Zn,Bn,Hn,jn,qn,Kn,Yn,Gn,Xn,Jn,Qn,"crc32",$n,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",es,ts,rs,ns,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class as{constructor(e){ss.forEach(t=>this[t]=e[t])}}const is="password",os="rawPassword",cs="passThrough",ls="signal",ds="checkAmbiguity",ws="useWebWorkers",us="useCompressionStream",fs="transferStreams",ps="preventClose",hs="offset",ms="usdz",ys="strictness",gs="strict",Ss="tolerant",bs="File format is not recognized",xs="End of central directory not found",zs="End of Zip64 central directory locator not found",Fs="Central directory header not found",Es="Local file header not found",Rs="Zip64 extra field not found",Ds="File contains encrypted entry",ks="Encryption method not supported",As="Compression method not supported",Ts="Split zip file",vs="Overlapping entry found",Cs="Ambiguous archive",Us="Encrypted central directory is not supported",Is="utf-8",Os="cp437",Ms=[[Tn,U],[vn,U],[Cn,U],[Un,I]],_s={[I]:{Ce:la,bytes:4},[U]:{Ce:da,bytes:8}};class Ns{constructor(e,t={}){r.assign(this,{reader:new Sn(e),options:t,config:de(),Ue:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:a}=t;if(await xn(n),n.size!==te&&n.readUint8Array||(n=new Xr(await new d(n.readable).blob()),await xn(n)),n.size<B)throw new u(bs);const o=Ys(sa(t,e,ys),sa(t,e,ds)),c=o==gs,w=o!=Ss,f=((e,t)=>e!==te?e:t==gs?0:t==Ss?1/0:I)(sa(t,e,"maxAppendedDataSize"),o),{Ie:p,Oe:h}=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,65557),a={count:Gs};let o,c,l=0;for await(const[r,i,d,w,u]of $s(e,s)){const s=ca(r,w+20);if(u+B+s==n){const s=await ta(e,r,i,w,u,n,a);if(s==Qs){if(o||(o=ea(d,w,u)),l++,!t||l>1)break}else s!=Js||c||(c=ea(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,t==1/0?n:65557+t);let a,o;for await(const[t,i,c,l,d]of $s(e,s)){const s=ea(c,l,d);a||(a=s);const w=await ta(e,t,i,l,d,n,r);if(w==Qs)return s;w!=Js||o||(o=s)}return o||a})(e,r,a)),{Ie:o,Oe:l}})(n,w,f);if(!p)throw la(Le(await zn(n,0,4)))==_?new u(Ts):new u(xs);w&&h>1&&na("multiple end of central directory records");const m=Le(p);let y=la(m,12),S=la(m,16);const b=p.offset,x=ca(m,20),z=b+B+x;n.size-z>f&&na("appended data");let F=ca(m,4);const R=n.Ae||0;let D,k,A,T,v=ca(m,6),C=ca(m,10),M=0;const N=S==U||y==U||C==I||v==I;if(S!=U&&v!=I&&(S+=Ks(n,v)),N){const e=p.offset<H?ae:await zn(n,p.offset-H,H),t=Le(e);if(e.length==H&&la(t,0)==Z){S=Ks(n,la(t,4))+da(t,8);let e=await zn(n,S,j),a=Le(e);const o=p.offset-H-j;if((e.length<j||la(a,0)!=V)&&S!=o&&o>=0){const t=S;S=o,S>t&&(M=S-t),e=await zn(n,S,j),a=Le(e)}if(e.length<j||la(a,0)!=V)throw new u(zs);if(k=!0,A=da(a,4)>44,A){const e=i.min(s(da(a,4))-44,n.size-S-j);e>0&&(T=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Le(e),a=ca(n,26);r.assign(t,{compressionMethod:ca(n,0),compressedSize:s(da(n,2)),uncompressedSize:s(da(n,10)),encryptionAlgorithm:ca(n,18),bitLength:ca(n,20),flags:ca(n,22),hashAlgorithm:ca(n,24),hashData:e.subarray(28,28+a)})}return t})(await zn(n,S+j,e)))}F==I?F=la(a,16):c&&F!=la(a,16)&&na("mismatched zip64 end of central directory record"),v==I?v=la(a,20):c&&v!=la(a,20)&&na("mismatched zip64 end of central directory record"),C==I?C=da(a,32):c&&C!=da(a,32)&&na("mismatched zip64 end of central directory record"),y==U?y=da(a,40):c&&y!=da(a,40)&&na("mismatched zip64 end of central directory record"),S=Ks(n,v)+da(a,48)+M}}let P=y;const q=p.offset-(k?76:0);if(S<n.size||(M=n.size-S-y-B,S=n.size-y-B),R!=F)throw new u(Ts);if(0>S)throw new u(bs);let K=0,Q=await zn(n,S,y),$=Le(Q);if(y){if(4>Q.length)throw new u(bs);const e=q-y;if(S!=e&&v==F){let t=!(la($,K)==W);if(t||0>e||e+4>n.size||(t=la(Le(await zn(n,e,4)),0)==W),t){const t=S;S=e,S>t&&(M+=S-t),Q=await zn(n,S,y),$=Le(Q)}}}const ee=q-S;if(y==ee||0>ee||v!=F||(y=ee,Q=await zn(n,S,y),$=Le(Q)),0>S||S>=n.size)throw new u(bs);t.directoryOffset=S,t.directoryLength=P;const re=sa(t,e,"decryptCentralDirectory");let ne;re&&C&&Q.length>=4&&la($,0)!=W&&(A||Ps($))&&(Q=await re(Q,T),$=Le(Q),P=Q.length,ne=!0),D=S;const se=sa(t,e,"filenameEncoding"),ie=sa(t,e,"commentEncoding"),oe=c?new l:te;let ce;for(let s=0;C>s;s++){const o=new Ws(n,a,t.options);if(K+46>Q.length||la($,K)!=W){if(0==s&&!ne&&(A||Ps($)))throw new u(Us);throw new u(Fs)}Vs(o,$,K+6);const l=!!o.bitFlag.languageEncodingFlag,w=K+46,f=w+o.filenameLength,p=f+o.extraFieldLength,h=ca($,K+4),m=!(h>>8),y=h>>8==3,S=Q.subarray(w,f),b=ca($,K+32),x=p+b,z=Q.subarray(p,x),F=l,R=l,k=la($,K+38),T=k&O,v={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},U=la($,K+42),_=sa(t,e,"decodeText")||En,N=F?Is:se||Os,L=R?Is:ie||Os;let P=_(S,N);P===te&&(P=En(S,N));let V=_(z,L);V===te&&(V=En(z,L)),r.assign(o,{index:s,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Me:b,offset:U,diskNumberStart:ca($,K+34),internalFileAttributes:ca($,K+36),externalFileAttributes:k,msdosAttributesRaw:T,msdosAttributes:v,rawFilename:S,filenameUTF8:F,commentUTF8:R,rawExtraField:Q.subarray(f,p),rawComment:z,filename:P,comment:V}),Zs(o,o,$,K+6),o.offset+=M,D=i.min(Ks(n,o.diskNumberStart)+o.offset,D),c&&(oe.has(o.filename)&&(ce=!0),oe.add(o.filename));const Z=o.externalFileAttributes>>16&I;o.unixMode===te&&16877&Z&&(o.unixMode=Z);const B=!!(o.unixMode&G),H=!!(o.unixMode&X),j=!!(512&o.unixMode),q=o.unixMode!==te?!!(73&o.unixMode):y&&!!(73&Z),ee=o.unixMode!==te&&(61440&o.unixMode)==Y,re=(61440&Z)==Y;r.assign(o,{setuid:B,setgid:H,sticky:j,unixExternalUpper:Z,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:q,directory:ee||re||m&&v.directory||o.filename.endsWith(J)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new as(o);ae.getData=(e,r)=>o.getData(e,ae,t.Ue,r),ae.arrayBuffer=async e=>{const r=new E,[n]=await g.all([new d(r.readable).arrayBuffer(),o.getData(r,ae,t.Ue,e)]);return n},K=x;const{onprogress:le}=e;if(le)try{await le(s+1,C,new as(o))}catch{}yield ae}let le=K;if(K+6<=Q.length&&la($,K)==L){const e=ca($,K+4);K+6+e>Q.length||(t.digitalSignature=Q.subarray(K+6,K+6+e),le=K+6+e)}c&&K!=P&&le!=P&&na("trailing central directory data"),ce&&na("duplicate filename"),c&&(M||C&&D>0)&&na("prepended data");const de=sa(t,e,"extractPrependedData"),we=sa(t,e,"extractAppendedData");return de&&(t.prependedData=D>0?await zn(n,0,D):ae),t.comment=x?await zn(n,b+B,x):ae,we&&(t.appendedData=z<n.size?await zn(n,z,n.size-z):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Ls{constructor(e={}){const{readable:t,writable:r}=new E,n=new Ns(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class Ws{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:a,index:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=Ks(a,c)+o,F=await zn(a,z,Q),E=Le(F);let R=sa(s,n,is),k=sa(s,n,os);const A=sa(s,n,cs);if(R=R&&R.length&&R,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new u(As);if(F.length<Q||la(E,0)!=M)throw new u(Es);Vs(x,E,4);const{extraFieldLength:T,filenameLength:v}=x,C=Ys(sa(s,n,ys),sa(s,n,ds))==gs;let U=ae;if(C&&(v||T)){const e=await zn(a,z+Q,v+T);U=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await zn(a,z+Q+v,T):ae;Zs(s,x,E,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&na("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&na("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&na("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||na("mismatched local file header (crc32 or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:_}=x;I&&(t.lastAccessDate=I),_&&(t.creationDate=_);const L=s.encrypted&&x.encrypted&&!A,W=L&&!l;if(A||(t.zipCrypto=W),L&&!(64&~x.rawBitFlag))throw new u(ks);const P=A?te:xe(w);if(0!=w&&8!=w&&9!=w&&!P&&!A)throw new u(As);if(L){if(!W&&(1>l.strength||l.strength>3))throw new u(ks);if(!R&&!k)throw new u(Ds)}const V=z+Q+v+T,Z=S,B=Ut(a.createReadable({offset:V,size:Z})),H=sa(s,n,ls),j=sa(s,n,"checkPasswordOnly");let q=sa(s,n,"checkOverlappingEntry");const K=sa(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==w;let $=sa(s,n,us);J&&($=!1);const ee=sa(s,n,"checkCrc32"),re=(ee===te?sa(s,n,"checkSignature"):ee)&&!A&&(!L||W||l&&1==l.vendorVersion),ne={options:{codecType:$t,password:R,rawPassword:k,zipCrypto:W,encryptionStrength:l&&l.strength,checkCrc32:re,checkAuthenticationCode:sa(s,n,"checkAuthenticationCode"),passwordVerification:W&&(b?y>>>8&O:m>>>24&O),outputSize:A?S:g,crc32:m,compressed:0!=w&&!A,encrypted:L,useWebWorkers:sa(s,n,ws),useCompressionStream:$,transferStreams:sa(s,n,fs),deflate64:J,format:P?P.format:te,codecURI:P?P.codecURI:te,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,ie:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let se;q&&await(async({reader:e,_e:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:i,Ne:o,dataDescriptor:c,extraFieldZip64:l,Ue:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await zn(e,o+a,w+4);if(r.length==w+4&&la(Le(r),0)==N){const e=la(Le(r),4);let n,o;l?(n=da(Le(r),8),o=da(Le(r),16)):(n=la(Le(r),8),o=la(Le(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&o==i&&(w+=4)}}const f={start:n,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new u(vs);throw e.Le=t._e,e}d.set(r,f)})({reader:a,_e:t,index:i,offset:z,crc32:m,compressedSize:S,uncompressedSize:g,Ne:V,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ue:r});try{if(!K){j&&(e=new D),e=new bn(e),await xn(e,A?S:g),({writable:se}=e);const{outputSize:t}=await kr({readable:B,writable:se},ne);if(e.size+=t,t!=(A?S:g))throw new u(Ot)}}catch(t){if(t.outputSize!==te&&(e.size+=t.outputSize),!j||t.message!=Ke)throw t}finally{sa(s,n,ps)||!se||se.locked||await se.getWriter().close()}return j||K?te:e.getData?e.getData():se}}function Ps(e){const t=i.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==la(e,r))return!0;return!1}function Vs(e,t,n){const s=e.rawBitFlag=ca(t,n+2),a=!(1&~s),i=la(t,n+6);r.assign(e,{encrypted:a,version:ca(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&K)==K},rawLastModDate:i,lastModDate:aa(i),filenameLength:ca(t,n+22),extraFieldLength:ca(t,n+24)})}function Zs(e,t,n,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Le(i);let w=0;try{for(;w<i.length;){const e=ca(d,w),t=ca(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=ca(n,s+4);r.assign(t,{signature:la(n,s+10),crc32:la(n,s+10),compressedSize:la(n,s+14),uncompressedSize:la(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Le(e.data),n=Ms.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+_s[t].bytes,0);if(e.data.length<s)throw new u(Rs);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=_s[o];t[i]=e[i]=c.Ce(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Bs(h,Rn,Dn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Bs(m,kn,An,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Le(e.data),a=oa(s,4);r.assign(e,{vendorVersion:oa(s,0),vendorId:oa(s,2),strength:a,originalCompressionMethod:n,compressionMethod:ca(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=te)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=l.get(13);g&&(Hs(g,t),t.extraFieldPkwareUnix=g);const S=l.get(22613);S&&(Hs(S,t),t.extraFieldUnixType1=S);const b=l.get(10);b&&(((e,t)=>{const n=Le(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=ca(n,a),r=ca(n,a+2);1==t&&(s=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}if(s&&24==s.length){const n=Le(s),a=n.getBigUint64(0,!0),i=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:ia(a),lastAccessDate:ia(i),creationDate:ia(o)};r.assign(e,c),r.assign(t,c)}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);if(x)js(x,t,!1),t.extraFieldUnix=x;else{const e=l.get(30837);e&&(js(e,t,!0),t.extraFieldInfoZip=e)}const z=l.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=Le(e.data),s=oa(n,0),a=[],i=[];r?(1&~s||(a.push(In),i.push(On)),2&~s||(a.push(Mn),i.push(_n)),4&~s||(a.push(Nn),i.push(Ln))):5>e.data.length||(a.push(In),i.push(On));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=la(n,c);t[r]=e[r]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function Bs(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Le(e.data),o=new Ie;o.append(a[n]);const c=Le(new f(4));c.setUint32(0,o.get(),!0);const l=la(i,1);r.assign(e,{version:oa(i,0),[t]:En(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==la(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Hs(e,t){if(8>e.data.length)return;const n=Le(e.data),s={lastAccessDate:new o(1e3*la(n,0)),lastModDate:new o(1e3*la(n,4))};12>e.data.length||(s.uid=ca(n,8),s.gid=ca(n,10)),r.assign(e,s),r.assign(t,s)}function js(e,t,n){try{const s=Le(e.data);let a,i;if(n){let t=0;const n=oa(s,t++),o=oa(s,t++);a=qs(e.data.subarray(t,t+o)),t+=o;const c=oa(s,t++);i=qs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:i})}else 4>e.data.length||(a=ca(s,0),i=ca(s,2),r.assign(e,{uid:a,gid:i}));a!==te&&(t.uid=a),i!==te&&(t.gid=i)}catch{}}function qs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ks(e,t){return e.ve?e.ve(t):0}function Ys(e,t){return e===te?t?gs:"balanced":e}const Gs=64,Xs=0,Js=1,Qs=2;async function*$s(e,t){const r=e.size-t,n=await zn(e,r,t),s=Le(n);for(let e=n.length-B;e>=0;e--)la(s,e)==P&&(yield[s,r,n,e,r+e])}function ea(e,t,r){return{offset:r,buffer:e.slice(t,t+B).buffer}}async function ta(e,t,r,n,s,a,i){const o=ca(t,n+10),c=la(t,n+12),l=la(t,n+16);if(o==I||c==U||l==U)return await ra(e,t,r,s-H,a,i)==Z?Qs:Xs;if(!o&&!c)return Js;const d=ca(t,n+6);for(const n of[s-c,Ks(e,d)+l])if(await ra(e,t,r,n,a,i)==W)return Qs;return Xs}async function ra(e,t,r,n,s,a){return 0>n||n+4>s?te:r>n?a.count>0?(a.count--,la(Le(await zn(e,n,4)),0)):te:la(t,n-r)}function na(e){const t=new u(Cs);throw t.reason=e,t}function sa(e,t,r){return t[r]===te?e.options[r]:t[r]}function aa(e){const t=(4294901760&e)>>16,r=e&I;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ia(e){return new o(s(e/a(1e4)-a(116444736e5)))}function oa(e,t){return e.getUint8(t)}function ca(e,t){return e.getUint16(t,!0)}function la(e,t){return e.getUint32(t,!0)}function da(e,t){return s(e.getBigUint64(t,!0))}var wa=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Cs,ERR_BAD_FORMAT:bs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Fs,ERR_ENCRYPTED:Ds,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Us,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:zs,ERR_EOCDR_NOT_FOUND:xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Rs,ERR_INVALID_AUTHENTICATION_CODE:qe,ERR_INVALID_COMPRESSED_DATA:Mt,ERR_INVALID_CRC32:_t,ERR_INVALID_PASSWORD:He,ERR_INVALID_SIGNATURE:je,ERR_INVALID_UNCOMPRESSED_SIZE:Ot,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Es,ERR_OVERLAPPING_ENTRY:vs,ERR_SPLIT_ZIP_FILE:Ts,ERR_UNSUPPORTED_COMPRESSION:As,ERR_UNSUPPORTED_ENCRYPTION:ks,ERR_WORKER_STARTUP_TIMEOUT:sr,ZipReader:Ns,ZipReaderStream:Ls});const ua="File already exists",fa="Zip file comment exceeds 64KB",pa="File entry comment exceeds 64KB",ha="File entry name exceeds 64KB",ma="Version exceeds 65535",ya="The strength must equal 1, 2, or 3",ga="Encryption is not supported in USDZ files",Sa="Extra field type exceeds 65535",ba="Extra field data exceeds 64KB",xa=-2147483648,za=2147483647,Fa=a(0),Ea=a("0x7fffffffffffffff"),Ra="Zip64 is not supported (set the 'zip64' option to 'true')",Da="Undefined uncompressed size",ka="Undefined reader",Aa="Zip file not empty",Ta="Invalid uid (must be integer 0..2^32-1)",va="Invalid gid (must be integer 0..2^32-1)",Ca="Invalid UNIX mode (must be integer 0..65535)",Ua="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ia="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Oa="Invalid msdosAttributesRaw (must be integer 0..255)",Ma="Invalid msdosAttributes (must be an object with boolean flags)",_a="Signature data exceeds 64KB",Na=new f([7,0,2,0,65,69,3,0,0]),La="infozip",Wa="unix";let Pa=0;const Va=[];class Za{constructor(e,t={}){e=new bn(e);const{availableSize:n=re,maxSize:s=re}=e,a=n>0&&n!==re&&s>0&&s!==re;r.assign(this,{writer:e,We:a,options:t,config:de(),files:new c,Pe:new l,offset:t[hs]===te?e.size||e.writable.size||0:t[hs],Ve:t[hs]===te?0:t[hs]-(e.size||e.writable.size||0),Ze:new l,Be:0,He:te})}async prependZip(e){if(this.Pe.size)throw new u(Aa);e=new Sn(e),await xn(e);const{ZipReader:t}=await g.resolve().then(()=>wa),n=new t(e.readable),s=await n.getEntries();await n.close(),await xn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Pe=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,g=g||ae,e.extraFieldAES&&(u=99);const z=li(f,p,h,m,y,g),F=w&&l>=U,E=w&&d>=U,R=-7&wi(S,b,x,c,u)|S<<1,{Xe:D,Je:k}=di({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,Qe:E,$e:F,extraFieldLength:z}),{crc32:A}=e;return A!==te&&ii(k,10,A),r.assign(e,{$e:F,Qe:E,et:w&&e.offset>=U,diskNumberStart:0,nt:!1,je:f,qe:p,Ke:h,Ye:m,Ge:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,st:1+(s?2:0)+(a?4:0),Xe:D,Je:k}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{Ze:c,config:l}=s;let d,w;Pa<l.maxWorkers?Pa++:await new g(e=>Va.push(e));try{if(e=e.trim(),ni(s,n,Gn)&&!e.endsWith(J)&&(e+=J),s.Pe.has(e))throw new u(ua);return s.Pe.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=ni(e,r,Bn),s=ni(e,r,Kn,n?20:768);const a=ni(e,r,Xn),i=ni(e,r,"uid"),o=ni(e,r,"gid");let c=ni(e,r,es),l=ni(e,r,"unixExtraFieldType"),d=ni(e,r,ts),w=ni(e,r,rs),f=ni(e,r,ns);if(i!==te&&(0>i||i>U))throw new u(Ta);if(o!==te&&(0>o||o>U))throw new u(va);if(c!==te&&(0>c||c>I))throw new u(Ca);if(l!==te&&l!==La&&l!==Wa)throw new u(Ua);if(l===Wa&&(i!==te&&i>I||o!==te&&o>I))throw new u(Ia);l!==te||i===te&&o===te||(l=La);let p=ni(e,r,Vn),h=ni(e,r,Zn);const m=p!==te||h!==te;if(i!==te||o!==te||c!==te||l?(n=!1,s=s&I|768):m&&(n=!0,s&=O),p!==te&&(0>p||p>O))throw new u(Oa);if(h&&"object"!=typeof h)throw new u(Ma);if(s>I)throw new u(ma);let y=ni(e,r,Pn);const g=y!==te;g||(y=0),!r[Gn]&&t.endsWith(J)&&(r[Gn]=!0);const S=ni(e,r,Gn);let b;if(S?(t.endsWith(J)||(t+=J),g||(y=16,n||(y|=16877<<16))):n||g||(y=a?493<<16:27525120),!n){const e=c!==te||!!(d||w||f);b=y>>16&I,c=c===te?b:c&I,d?c|=G:d=!!(c&G),w?c|=X:w=!!(c&X),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=Y),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==te)e&=O;else if(t!==te){const{readOnly:r,hidden:n,system:s,directory:a,archive:i}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&O}return t===te&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&U|p&O),{name:t,it:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=ni(e,r,"encodeText",Me);let s=n(t);if(s===te&&(s=Me(t)),li(s)>I)throw new u(ha);const a=r[kn]||"";let i=n(a);if(i===te&&(i=Me(a)),li(i)>I)throw new u(pa);const c=ni(e,r,qn,20);if(c>I)throw new u(ma);const l=ni(e,r,In,new o),d=ni(e,r,Mn),w=ni(e,r,Nn),f=ni(e,r,Wn,0),p=ni(e,r,cs);let h,m;p||(h=ni(e,r,is),m=ni(e,r,os));const y=ni(e,r,"encryptionStrength",3),g=ni(e,r,Yn),S=ni(e,r,"extendedTimestamp",!0),b=ni(e,r,"ntfsTimestamp"),x=ni(e,r,"keepOrder",!0),z=ni(e,r,ws),F=ni(e,r,fs),E=ni(e,r,"bufferedWrite"),R=ni(e,r,"createTempStream"),D=ni(e,r,"dataDescriptorSignature",!0),k=ni(e,r,ls),A=ni(e,r,"useUnicodeFileNames",!0),T=ni(e,r,Jn),v=p||T===te?te:xe(T);if(!p&&T!==te&&0!==T&&8!==T&&!v)throw new u("Compression method not supported");let C=ni(e,r,"level");if(e.options[ms]){if(h!==te||m!==te)throw new u(ga);C===te&&T===te&&(C=0)}let U=ni(e,r,us),O=ni(e,r,"dataDescriptor");E&&O===te&&(O=!1),(O===te||g)&&(O=!0),C!==te&&6!=C&&(U=!1);const M=ni(e,r,Hn);if(!g&&(h!==te||m!==te)&&(1>y||y>3))throw new u(ya);const _=Ha(r[$n]),N=Ha(r.localExtraField);return{comment:a,it:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:S,ntfsTimestamp:b,keepOrder:x,useWebWorkers:z,transferStreams:F,bufferedWrite:E,createTempStream:R,dataDescriptorSignature:D,signal:k,useUnicodeFileNames:A,compressionMethod:T,format:v?v.format:te,codecURI:v?v.codecURI:te,ot:v?v.versionNeeded:te,level:C,useCompressionStream:U,dataDescriptor:O,zip64:M,rawExtraField:_,ct:N}}})(e,t,s),{comment:d}=l,w=s[$n];let p;e.files.set(t,te);try{const{it:d}=l;0==d.level||d.compressionMethod!==te||d.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.be)return!0;if(jt(t)||Ht(t,Lt))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(d.level=0);const w=await(async(e,t,{it:r},n)=>{const{passThrough:s,zipCrypto:a,password:i,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new u(ka);if(h=n[Tn],h===te)throw new u(Da)}const m=!0===d,y=ni(e,n,jn),g=!!t&&(!!(i&&li(i)||o&&li(o))||s&&y);t||(w=0,f=0);const S=g?a?12:16+4*c:0;t&&(t=new Sn(t),await xn(t),s?(n.uncompressedSize=h,p=si(h)+S):t.size===te?(l=!0,(d||d===te)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=si(h)+S));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(Ra);d=!0}return d=d||!1,{reader:t,it:{dataDescriptor:l,zip64:d,$e:b,Qe:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:g}}})(e,n,l,s);({reader:n}=w);const h=Ga(e.writer),m=Ya(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,ct:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:S,encrypted:b,$e:x,Qe:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&(D===te?a===te||a>0:0!==D);let A;const T=S||!k,v=c&&(e.bufferedWrite||!w||!x&&!z||T),C=v||c&&w&&(x||z);if(c&&(x||z)){const e=20,t=Ka(e);if(t.uint16(1),t.uint16(e-4),A=t.array,v&&(t.lt(F),T)){const e=b?l?12:16+4*m:0;t.lt(S?0:F+e)}}else A=ae;let U,O,_,N,L;if(b&&!l){const e=Ka(li(Na)+2);e.uint16(39169),e.bytes(Na),U=e.array,U[8]=m}else U=ae;if(y){const e=ei(r),t=ti(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ka(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(ri(ei(n))),s&&r.uint32(ri(ei(s))),_=r.array}else _=ae;if(g===te?!t||n||s:g)try{const e=$a(r),t=Ka(36);t.uint16(10),t.uint16(32),t.wt(4),t.uint16(1),t.uint16(24),t.lt(e),t.lt(n?$a(n):e),t.lt(s?$a(s):e),O=t.array}catch{O=ae}else O=ae}else O=_=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=La||t===te&&r===te)if(n!=Wa||t===te&&r===te)L=ae;else{const e=Ka(8);e.uint16(30805),e.uint16(4),e.uint16((t===te?0:t)&I),e.uint16((r===te?0:r)&I),L=e.array}else{const e=qa(t),n=qa(r),s=3+e.length+n.length,a=Ka(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(n.length),a.bytes(n),L=a.array}}catch{L=ae}D===te&&(D=k?8:0);const{ot:W}=e;k&&W!==te&&(R=R>W?R:W),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,S&&E!==te&&(U[4]=1),U[9]=D,D=99);const P=C?li(A):0,V=P+li(U,_,O,L,p,h);if(V>I)throw new u(ba);const Z=new o(2e3*i.ceil(i.floor(r.getTime()/1e3)/2)),{Xe:B,Je:H,rawLastModDate:j}=di({version:R,bitFlag:wi(a,d,w,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:ee>Z?ee:Z>$?$:Z,rawFilename:t,Qe:z,$e:x,extraFieldLength:V}),K=Ka(Q+li(t)+V),Y=K.array,G=Le(Y);return K.uint32(M),K.bytes(B),K.bytes(t),C&&K.bytes(A),K.bytes(U),K.bytes(_),K.bytes(O),K.bytes(L),K.bytes(p),K.bytes(h),w&&(z||ii(G,18,0),x||ii(G,22,0)),{ut:Y,ft:G,Xe:B,Je:H,lastModDate:r,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,st:N,je:ae,ht:P,Ke:_,Ye:O,Ge:L,qe:U,extraFieldLength:V}})(s=r.assign({},s,c.it,l.it,w.it,{internalFileAttribute:l.it.internalFileAttributes,externalFileAttribute:c.it.externalFileAttributes,signature:s[Qn],crc32:s.crc32===te?s[Qn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,a=0,i=e?20:12;return r&&(i+=4),t&&(s=new f(i),n=Le(s),r&&(a=4,ii(n,0,N))),{yt:s,gt:n,St:a}})(s),b=li(y.ut,S.yt);p=await(async(e,t,n,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{bt:p}=s,h=e.options[ms],m=e.He;let y,S,b,x,z,F,R,k={},A=0;o.set(t,k),e.He=k;try{let S;l&&(S=m&&m.lock,k.lock=new g(e=>b=e)),i.bufferedWrite||!l||e.xt||e.Be||!d?(y=!0,e.Be++,R=i.createTempStream?await i.createTempStream():new E(te,te,{highWaterMark:re}),R.size=0,await xn(c)):(R=c,await T()),await xn(R);const C=Ga(c);if(e.We){delete e.We;const t=new f(4);ii(Le(t),0,_),await Qa(c,t),e.offset+=4}h&&!y&&ja(s,e.offset-C);const{ut:I}=p;y||(await S,await v());const M=Ya(c),N=Ja(e,c);if(k.diskNumberStart=M,y||(z=!0,F=c.size,await Qa(R,I)),k=await(async(e,t,{diskNumberStart:n,lock:s},i,o,c)=>{const{bt:l,zt:d,Ft:w}=i,{Xe:f,Je:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,je:x,ht:z,Ke:F,st:E,Ye:R,Ge:D,qe:k}=l,{yt:A}=d,{rawFilename:T,lastAccessDate:v,creationDate:C,password:I,rawPassword:M,level:_,zip64:N,$e:L,Qe:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,ge={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,je:x,ht:z,Ke:F,Ye:R,Ge:D,qe:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const r=Ut(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Qt,level:_,rawPassword:M,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&O,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,ie:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await kr({readable:r,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,y&&!P||(Se=e.crc32)),!W&&xe>=U||!L&&be>=U)throw new u(Ra)}catch(e){throw e.outputSize!==te&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,bt:n,zt:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{Je:d,encrypted:w}=n,{gt:u,St:f}=s;w&&!o&&!c||e===te||(ii(d,10,e),l&&ii(u,f,e)),i?l&&(oi(u,f+4,a(t)),oi(u,f+12,a(r))):(ii(d,14,t),ii(d,18,r),l&&(ii(u,f+4,t),ii(u,f+8,r)))})({crc32:Se,compressedSize:xe,uncompressedSize:be,bt:l,zt:d},c),V&&await Qa(t,A),r.assign(ge,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:v,encrypted:y,zipCrypto:P,size:w+xe,compressionMethod:b,version:S,Xe:f,Je:p,signature:Se,crc32:!y||P||he?Se:te,st:E,$e:L,Qe:W}),ge})(n,R,k,s,e.config,i),y||(z=!1),o.set(t,k),k.filename=t,y){if(await g.all([R.writable.getWriter().close(),S]),await T(),x=!0,F=c.size,await v(),k.diskNumberStart=Ya(c),k.offset=Ja(e,c),h){const t=s.Ft;ja(s,e.offset-Ga(c)),k.size+=s.Ft-t}(({rawFilename:e,encrypted:t,zip64:r,ht:n,crc32:s,compressedSize:i,uncompressedSize:o,$e:c,Qe:l},d,{dataDescriptor:w,passThrough:u})=>{if(w||((!t||u&&s!==te)&&ii(d,14,s),l||ii(d,18,i),c||ii(d,22,o)),r&&n){const t=Q+li(e)+4;oi(d,t,a(o)),oi(d,t+8,a(i))}})(k,p.ft,i),await Qa(c,p.ut),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=li(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else k.diskNumberStart=M,k.offset=N;return e.offset+=k.size,k}catch(r){if(x||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=A)}throw o.delete(t),r}finally{if(y&&e.Be--,b&&b(),S&&S(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function T(){e.xt=!0;const{Et:t}=e;e.Et=new g(t=>S=()=>{e.xt=!1,t()}),await t}async function v(){Xa(c,li(p.ut))&&await c.closeDisk()}})(e,t,n,{bt:y,zt:S,Ft:b},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new as(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Pe.delete(e),t}finally{c.delete(d);const e=Va.shift();e?e():Pa--}}remove(e){const{Pe:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==te){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ae,r={}){const{Ze:n,writer:s}=this,{writable:i}=s;if(li(e)>I)throw new u(fa);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,qe:n,rawComment:s,Ye:a,Ge:i,rawExtraField:o,extendedTimestamp:c,st:l,lastModDate:d,$e:w,Qe:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=U,y=r.diskNumberStart>=I;let g,S;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ka(e);t.uint16(1),t.uint16(e-4),w&&t.lt(p),f&&t.lt(h),m&&t.lt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ae;r.je=g,r.et=m,r.nt=y;const b=ei(d);if(c&&ti(b)){const e=Ka(9);e.uint16(q),e.uint16(5),e.uint8(l),e.uint32(b),S=e.array}else S=ae;r.Ke=S;const x=li(g,n,a,i,S,o);if(x>I)throw new u(ba);t+=46+li(e,s)+x}return t})(e.files),{Rt:i,Dt:o}=await(async(e,r,n)=>{const{files:s,writer:a}=e,i=new f(r);await xn(a);let o=0,c=0,l=Ya(a),d=Ga(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,je:u,qe:f,Ke:p,Ye:h,Ge:m,rawExtraField:y,rawComment:g,versionMadeBy:S,Xe:b,Je:x,$e:z,Qe:F,nt:E,et:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:T,compressedSize:v}=r,C=li(u,f,p,h,m,y),O=46+li(w,g)+C;Xa(a,o+O-c)&&(await Qa(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Ya(a),d=Ga(a)),z||ii(x,18,T),F||ii(x,14,v),(R||E)&&45>r.version&&ai(x,0,45);const M=Ka(O);if(M.uint32(W),M.uint16(S),M.bytes(b.subarray(0,24)),M.uint16(C),M.uint16(li(g)),M.uint16(E?I:A),M.uint16(D),M.uint32(k),M.uint32(R?U:t),M.bytes(w),M.bytes(u),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),ci(i,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new as(r))}catch{}}return await Qa(a,c?i.slice(c):i),{Rt:{diskNumber:l,diskOffset:d},Dt:i}})(e,s,n),c=await(async(e,t,r)=>{const n=ni(e,r,"signCentralDirectory");if(n){const r=await n(t),s=li(r);if(s>I)throw new u(_a);const a=Ka(6+s);return a.uint32(L),a.uint16(s),a.bytes(r),await Qa(e.writer,a.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Rt:i,kt:o}=n;let{At:c}=n,l=e.files.size,d=i.diskNumber,w=Ja(e,i),f=Ya(s);Xa(s,B)&&f++;let p=ni(e,r,Hn);if(!(U>w&&U>c&&I>l&&I>f)){if(!1===p)throw new u(Ra);p=!0}const h=li(t);if(h>I)throw new u(fa);const m=Ka(p?98:B);Xa(s,li(m.array)+h)&&await s.closeDisk(),f=Ya(s),p&&(m.uint32(V),m.lt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(d),m.lt(l),m.lt(l),m.lt(c),m.lt(w),m.uint32(Z),m.uint32(f),m.lt(a(Ja(e,s))+a(c)+a(o)),m.uint32(f+1),ni(e,r,"supportZip64SplitFile",!0)&&(f=I,d=I),l=I,w=U,c=U),m.uint32(P),m.uint16(f),m.uint16(d),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(w),m.uint16(h),await Qa(s,m.array),h&&await Qa(s,t)})(e,r,n,{Rt:i,At:s,kt:c})})(this,e,r),ni(this,r,ps)||await i.getWriter().close(),s.getData?s.getData():i}}function Ba(e,t,r){e.Ze.add(t),t.catch(e=>{try{r(e)}catch{}})}function Ha(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+li(e));const n=new f(t),s=Le(n);return e.forEach((e,t)=>{if(t>I)throw new u(Sa);if(li(e)>I)throw new u(ba);ai(s,r,t),ai(s,r+2,li(e)),ci(n,e,r+4),r+=4+li(e)}),n}function ja(e,t){const{bt:r}=e;let{ut:n,extraFieldLength:s}=r,a=64-(t+li(n))%64;4>a&&(a+=64);const i=new f(a),o=Le(i);ai(o,0,6534),ai(o,2,a-4);const c=n;r.ut=n=new f(li(c)+a),ci(n,c),ci(n,i,li(c));const l=Le(n);ai(l,28,s+a),r.ft=l,e.Ft+=a}function qa(e){if(e===te)return ae;{const t=new f(4);Le(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ka(e){const t=new f(e),r=Le(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{ai(r,n,e),n+=2},uint32:e=>{ii(r,n,e),n+=4},lt:e=>{oi(r,n,a(e)),n+=8},bytes:e=>{ci(t,e,n),n+=li(e)},wt:e=>n+=e}}function Ya(e){const{diskNumber:t=0}=e;return t}function Ga(e){const{diskOffset:t=0}=e;return t}function Xa(e,t){const{availableSize:r=re}=e;return t>r}function Ja(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Qa(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=li(t),await n.write(t)}finally{n.releaseLock()}}function $a(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return Fa>t?Fa:t>Ea?Ea:t}}function ei(e){return i.floor(e.getTime()/1e3)}function ti(e){return e>=xa&&za>=e}function ri(e){return i.min(za,i.max(xa,e))}function ni(e,t,r,n){const s=t[r]===te?e.options[r]:t[r];return s===te?n:s}function si(e){return e+5*(i.floor(e/16383)+1)}function ai(e,t,r){e.setUint16(t,r,!0)}function ii(e,t,r){e.setUint32(t,r,!0)}function oi(e,t,r){e.setBigUint64(t,r,!0)}function ci(e,t,r){e.set(t,r)}function li(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function di({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,Qe:c,$e:l,extraFieldLength:d}){const w=Ka(26),u=w.array,f=Le(u);if(w.uint16(e),w.uint16(t),w.uint16(r),i===te){const e=new h(1),t=Le(e);ai(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),ai(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.wt(4),c||s!==te?w.uint32(c?U:s):w.wt(4),l||n!==te?w.uint32(l?U:n):w.wt(4),w.uint16(li(o)),w.uint16(d),{Xe:u,Je:f,rawLastModDate:i}}function wi(e,t,r,n,s){let a=0;return t&&(a|=K),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const ui=1048576,fi=".zip.js-temp",pi=1048576,hi=1048576,mi=".zip.js-temp",yi="createSyncAccessHandle is only available in dedicated workers";try{(e=>{e=fe(e);for(const t of ce){const r=e[t];r!==te&&(oe[t]=r)}ue(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Xr,e.BlobWriter=Jr,e.Data64URIReader=class extends qr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,Tt:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{Tt:r,dataURI:n}=this,s=new f(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Kr{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Cs,e.ERR_BAD_FORMAT=bs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Fs,e.ERR_DUPLICATED_NAME=ua,e.ERR_ENCRYPTED=Ds,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Us,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=zs,e.ERR_EOCDR_NOT_FOUND=xs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Rs,e.ERR_HTTP_RANGE=Or,e.ERR_HTTP_RESOURCE_CHANGED=Mr,e.ERR_INVALID_AUTHENTICATION_CODE=qe,e.ERR_INVALID_CODEC_DEFINITION=pe,e.ERR_INVALID_CODEC_MODULE=me,e.ERR_INVALID_COMMENT=fa,e.ERR_INVALID_COMPRESSED_DATA=Mt,e.ERR_INVALID_CRC32=_t,e.ERR_INVALID_ENCRYPTION_STRENGTH=ya,e.ERR_INVALID_ENTRY_COMMENT=pa,e.ERR_INVALID_ENTRY_NAME=ha,e.ERR_INVALID_EXTRAFIELD_DATA=ba,e.ERR_INVALID_EXTRAFIELD_TYPE=Sa,e.ERR_INVALID_GID=va,e.ERR_INVALID_MSDOS_ATTRIBUTES=Oa,e.ERR_INVALID_MSDOS_DATA=Ma,e.ERR_INVALID_PASSWORD=He,e.ERR_INVALID_SIGNATURE=je,e.ERR_INVALID_SIGNATURE_DATA=_a,e.ERR_INVALID_UID=Ta,e.ERR_INVALID_UNCOMPRESSED_SIZE=Ot,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ua,e.ERR_INVALID_UNIX_ID_SIZE=Ia,e.ERR_INVALID_UNIX_MODE=Ca,e.ERR_INVALID_VERSION=ma,e.ERR_ITERATOR_COMPLETED_TOO_SOON=_r,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Es,e.ERR_OVERLAPPING_ENTRY=vs,e.ERR_RESERVED_COMPRESSION_METHOD=he,e.ERR_SPLIT_ZIP_FILE=Ts,e.ERR_UNDEFINED_READER=ka,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Da,e.ERR_UNSUPPORTED_COMPRESSION=As,e.ERR_UNSUPPORTED_CONTEXT=yi,e.ERR_UNSUPPORTED_CRYPTO_API=Ye,e.ERR_UNSUPPORTED_ENCRYPTION=ks,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ga,e.ERR_UNSUPPORTED_FORMAT=Ra,e.ERR_WORKER_STARTUP_TIMEOUT=sr,e.ERR_WRITER_NOT_INITIALIZED=Nr,e.ERR_ZIP_NOT_EMPTY=Aa,e.HttpRangeReader=class extends mn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=mn,e.Reader=qr,e.SplitDataReader=yn,e.SplitDataWriter=gn,e.TextReader=class extends Xr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Jr{constructor(e){super(e),r.assign(this,{encoding:e,vt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,vt:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends qr{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Kr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new f(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Kr,e.ZipReader=Ns,e.ZipReaderStream=Ls,e.ZipWriter=Za,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Za(r,e),this.Ze=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new E({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Ba(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new E({start(e){t=e}});return Ba(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await g.all(t.from(this.Ze)),this.zipWriter.close(e,r)}},e.configure=ue,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=pi}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new D({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=new d(t.readable).blob(),r=t.writable.getWriter(),i=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=ui,directoryName:r=fi,getDirectory:n=()=>T.storage.getDirectory()}=e;let s;function a(){return s||(s=g.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const l=new D({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=z.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let d=0;return{writable:l,readable:new R({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=hi,directoryName:r=mi,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u(yi);const s=n||(()=>T.storage.getDirectory());let a;function o(){return a||(a=g.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,c=0,l=0;const d=new D({async write(i){a?(n.write(i,{at:c}),c+=i.length):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=await o();r=z.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:c}),c+=t.length;e.length=0})())},close(){n&&n.flush()}});let w=0;return{writable:d,readable:new R({pull(t){if(a){const e=c-l;if(0>=e)return void t.close();const r=new f(i.min(524288,e)),s=n.read(r,{at:l});s?(l+=s,t.enqueue(r.subarray(0,s))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await o();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=ye||!r.length)throw new u(pe);if(ge.includes(t))throw new u(he);const c=typeof a==se||typeof i==se;if(!(c||typeof n==ye&&n.length))throw new u(pe);Se.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&Fe(r,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ce)delete le[e];r.assign(le,oe)},e.terminateWorkers=async()=>{await g.allSettled(zr.map(e=>(Ur(e),e.terminate()))),ar=te,lr=!1},e.unregisterCodec=e=>{const t=Se.get(e);if(t){let r;Se.delete(e),Se.forEach(e=>r=r||e.format==t.format),r||be.delete(t.format)}}});