@zip.js/zip.js 2.14.0 → 2.15.0

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 (44) hide show
  1. package/BENCHMARKS.md +350 -454
  2. package/deno.json +1 -1
  3. package/dist/zip-core-external.js +342 -120
  4. package/dist/zip-core-external.min.js +1 -1
  5. package/dist/zip-core.js +340 -113
  6. package/dist/zip-core.min.js +1 -1
  7. package/dist/zip-fs-core-external.js +342 -120
  8. package/dist/zip-fs-core-external.min.js +1 -1
  9. package/dist/zip-fs-core.js +340 -113
  10. package/dist/zip-fs-core.min.js +1 -1
  11. package/dist/zip-fs-external.js +342 -120
  12. package/dist/zip-fs-external.min.js +1 -1
  13. package/dist/zip-fs-native.js +342 -115
  14. package/dist/zip-fs-native.min.js +1 -1
  15. package/dist/zip-fs.js +346 -124
  16. package/dist/zip-fs.min.js +1 -1
  17. package/dist/zip-legacy.js +342 -115
  18. package/dist/zip-legacy.min.js +1 -1
  19. package/dist/zip-module.wasm +0 -0
  20. package/dist/zip-native.js +342 -115
  21. package/dist/zip-native.min.js +1 -1
  22. package/dist/zip-web-worker-native.js +1 -1
  23. package/dist/zip-web-worker.js +1 -1
  24. package/dist/zip.js +346 -124
  25. package/dist/zip.min.js +1 -1
  26. package/index-native.cjs +342 -115
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +346 -124
  29. package/index.d.cts +20 -13
  30. package/index.d.ts +20 -13
  31. package/index.min.js +1 -1
  32. package/lib/core/codec-pool.js +35 -19
  33. package/lib/core/codec-worker.js +9 -6
  34. package/lib/core/streams/codecs/aes-hmac-sha1.js +194 -56
  35. package/lib/core/streams/zip-entry-stream.js +18 -10
  36. package/lib/core/streams/zlib-wasm/zlib-streams.js +2 -7
  37. package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
  38. package/lib/core/util/decode-text.js +15 -1
  39. package/lib/core/version.js +1 -1
  40. package/lib/core/web-worker-inline-native.js +1 -1
  41. package/lib/core/web-worker-inline-wasm.js +1 -1
  42. package/lib/core/zip-reader.js +65 -16
  43. package/lib/core/zlib-streams-inline.js +1 -1
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- !function(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:n,String:r,Number:o,BigInt:i,Math:a,Date:s,Map:c,Set:u,Response:l,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:E,TextEncoder:S,TextDecoder:z,document:g,crypto:b,btoa:F,TransformStream:v,ReadableStream:x,WritableStream:T,CompressionStream:D,DecompressionStream:R,navigator:C,Worker:A,Symbol:I,setTimeout:k,clearTimeout:O,structuredClone:N}="undefined"!=typeof globalThis?globalThis:self;var U=void 0!==g?g.currentScript:null;const M=4294967295,P=65535,L=255,q=67324752,V=134695760,W=V,B=84233040,j=33639248,Z=101010256,X=101075792,H=117853008,G=46,K=22,J=20,Y=56,Q=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,ae=1024,se="/",ce=30,ue=new s(2107,11,31,23,59,58),le=new s(1980,0,1),fe=void 0,de=1/0,we="undefined",pe="function",me="object",he="string",ye="boolean",Ee=new w,Se=I.asyncDispose||I(),ze="password",ge="rawPassword",be="passThrough",Fe="signal",ve="useWebWorkers",xe="useCompressionStream",Te="transferStreams",De="preventClose",Re="level",Ce="useUnicodeFileNames",Ae="dataDescriptor",Ie="offset",ke="usdz",Oe="maxAppendedDataSize",Ne="entry",Ue="filename",Me="comment",Pe="strict",Le="balanced",qe="tolerant",Ve="compressed",We="Invalid option (must be a function)",Be="Invalid signal (must be an AbortSignal instance)",je="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Ze="Invalid passThrough option (must be a boolean or 'compressed')",Xe="The operation was aborted";function He(e){if(e&&typeof e!=pe)throw new d(We);return e}function Ge(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new d(Be);return e||fe}function Ke(e){if(e&&e.aborted)throw e.reason===fe?new DOMException(Xe,"AbortError"):e.reason}function Je(e,t){if(e&&typeof e!=he||t&&!(t instanceof w))throw new d(je)}function Ye(e){if(e!==fe&&typeof e!=ye&&e!==Ve)throw new d(Ze);return e}function Qe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function _e(e,t,n){e!==fe&&Qe(e,t,n)}function $e(e){return typeof e==he&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof C!=we&&C.hardwareConcurrency&&(rt=C.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=we&&D,DecompressionStream:typeof R!=we&&R},it="maxWorkers",at="baseURI",st=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ut=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=[at,...st,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ut],ft={...ot};function dt(){return ft}function wt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?a.max(e,64):65536}function mt(e){const t={};for(const n of lt){const r=e[n];r!==fe&&(t[n]=ht(n,r))}return t}function ht(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new d(et)}else if(ut.includes(e))He(t);else if(e==at){if(t&&typeof t!=he)throw new d(tt)}else if(st.includes(e)&&t&&typeof t!=he&&typeof t!=pe)throw new d(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===fe&&r===fe)return e;const o=n.assign({},e);return o.CompressionStreamFallback===fe&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===fe&&(o.DecompressionStreamFallback=r),o}function Et(e){const t=mt(yt(e));n.assign(ot,t),n.assign(ft,t)}const St=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],zt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],gt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],bt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ft=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],vt=new w(288);vt.fill(8,0,144),vt.fill(9,144,256),vt.fill(7,256,280),vt.fill(8,280,288);const xt=new w(30).fill(5);function Tt(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Rt=(Ct=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,a=0;for(;!a;){a=c(1);const e=c(2);if(0==e)u();else if(1==e)l(Tt(vt),Tt(xt));else{if(2!=e)throw new d("invalid deflate block type");l(...f())}}return o.subarray(0,i);function s(){if(t>=e.length)throw new d("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=s()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=s()|s()<<8;t+=2,m(i+e);for(let t=0;t<e;t++)o[i++]=s()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)m(i+1),o[i++]=n;else{const e=n-257,r=St[e]+c(zt[e]),a=p(t),s=gt[a]+c(bt[a]);m(i+r);const u=i-s;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[Ft[e]]=c(3);const o=Tt(r),i=new w(e+t);let a=0;for(;a<i.length;){const e=p(o);if(e<16)i[a++]=e;else if(16==e){const e=i[a-1];let t=c(2)+3;for(;t--;)i[a++]=e}else a+=17==e?c(3)+3:c(7)+11}return[Tt(i.subarray(0,e)),Tt(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const a=t[e];if(r-o<a)return n[i+(r-o)];i+=a,o=o+a<<1,r<<=1}throw new d("invalid huffman code")}function m(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=Dt.indexOf(e[r])<<18|Dt.indexOf(e[r+1])<<12|(63&Dt.indexOf(e[r+2]))<<6|63&Dt.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=Ct();if("string"==typeof n&&(n=(new S).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+Dt[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=Dt[n>>18&63]+Dt[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+"="}return t}(n)}}));var Ct;function At(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function It(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function kt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}function Ot(e){return Boolean(e)&&"object"==typeof e}const Nt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Nt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Nt[t-1][e];Nt[t][e]=n>>>8^Nt[0][255&n]}const[Ut,Mt,Pt,Lt,qt,Vt,Wt,Bt]=Nt;class jt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Bt[255&e]^Wt[e>>>8&255]^Vt[e>>>16&255]^qt[e>>>24&255]^Lt[255&n]^Pt[n>>>8&255]^Mt[n>>>16&255]^Ut[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Ut[255&(t^e[r])];this.l=t}get(){return~this.l}}class Zt extends v{constructor(){let e;const t=new jt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Xt(e){if(typeof S==we){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}const Ht=64,Gt=20,Kt=new w([128]),Jt=new w(1),Yt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Qt=new w(256),_t=new Int32Array(256),$t=new Int32Array(256),en=new Int32Array(256),tn=new Int32Array(256);let nn=!1;function rn(e){const t=function(){const e=new Int32Array(Yt),t=new Int32Array(80),n=new w(Ht),r=new h(n.buffer),o=new w(8);let i=0,s=0;return{update:c,digest:function(){const t=8*s,n=a.floor(t/4294967296),r=t>>>0;for(c(Kt,0,1);56!=i;)c(Jt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new w(Gt),l=new h(u.buffer);for(let t=0;t<e.length;t++)l.setInt32(4*t,e[t]);return e.set(Yt),i=0,s=0,u}};function c(e,t,o){const a=t+o;if(s+=o,i){for(;t<a&&i<Ht;)n[i++]=e[t++];i==Ht&&(u(r,0),i=0)}if(t+Ht<=a){const n=new h(e.buffer,e.byteOffset,e.byteLength);for(;t+Ht<=a;t+=Ht)u(n,t)}for(;t<a;)n[i++]=e[t++]}function u(n,r){for(let e=0;e<16;e++)t[e]=n.getInt32(r+4*e);for(let e=16;e<80;e++){const n=t[e-3]^t[e-8]^t[e-14]^t[e-16];t[e]=n<<1|n>>>31}let o,i=e[0],a=e[1],s=e[2],c=e[3],u=e[4];for(let e=0;e<20;e++)o=(i<<5|i>>>27)+(a&s|~a&c)+u+1518500249+t[e]|0,u=c,c=s,s=a<<30|a>>>2,a=i,i=o;for(let e=20;e<40;e++)o=(i<<5|i>>>27)+(a^s^c)+u+1859775393+t[e]|0,u=c,c=s,s=a<<30|a>>>2,a=i,i=o;for(let e=40;e<60;e++)o=(i<<5|i>>>27)+(a&s|a&c|s&c)+u+2400959708+t[e]|0,u=c,c=s,s=a<<30|a>>>2,a=i,i=o;for(let e=60;e<80;e++)o=(i<<5|i>>>27)+(a^s^c)+u+3395469782+t[e]|0,u=c,c=s,s=a<<30|a>>>2,a=i,i=o;e[0]=e[0]+i|0,e[1]=e[1]+a|0,e[2]=e[2]+s|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}}(),n=new w(Ht),r=new w(Ht);e.length>Ht&&(t.update(e,0,e.length),e=t.digest());for(let t=0;t<Ht;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,Ht),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,Ht),t.update(e,0,Gt);const o=t.digest();return t.update(n,0,Ht),o}}}function on(e){return Qt[e>>>24]<<24|Qt[e>>>16&255]<<16|Qt[e>>>8&255]<<8|Qt[255&e]}function an(e){return 255&(e<<1^27*(e>>7))}const sn=typeof b!=we&&typeof b.getRandomValues==pe,cn="Invalid password",un="Invalid authentication code",ln="zipjs-abort-check-password",fn="Crypto API not supported";function dn(e){if(sn)return b.getRandomValues(e);throw new d(fn)}const wn={name:"PBKDF2"},pn=n.assign({hash:{name:"HMAC"}},wn),mn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},wn),hn=["deriveBits"],yn=[8,12,16],En=[16,24,32],Sn=10,zn=typeof b!=we,gn=zn&&b.subtle;let bn=zn&&typeof gn!=we&&typeof gn.importKey==pe&&typeof gn.deriveBits==pe;class Fn extends v{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){xn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,m:a,ready:s}=n;o?(await async function(e,t,n,r){const o=await Rn(e,t,n,An(r,0,yn[t])),i=An(r,yn[t]);if(o[0]!=i[0]||o[1]!=i[1])throw Dn(e),new d(cn)}(n,i,o,An(e,0,yn[i]+2)),e=An(e,yn[i]+2),r?(Dn(n),t.error(new d(ln))):a()):await s;const c=new w(e.length-Sn-(e.length-Sn)%16);t.enqueue(Tn(n,e,c,0,Sn,!0))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const i=An(n,n.length-Sn),a=new w(An(n,0,n.length-Sn));t.process(a,!0);const s=t.digest();let c=n.length<Sn?1:0;for(let e=0;e<Sn;e++)c|=s[e]^i[e];if(c&&o)throw new d(un);e.enqueue(a)}},cancel(){Dn(this)}})}}class vn extends v{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){xn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,m:i,ready:a}=n;let s=Ee;r?(s=await async function(e,t,n){const r=dn(new w(yn[t]));return At(r,await Rn(e,t,n,r))}(n,o,r),i()):await a;const c=new w(s.length+e.length-e.length%16);c.set(s,0),t.enqueue(Tn(n,e,c,s.length,0,!1))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const o=new w(n);t.process(o,!1);const i=An(t.digest(),0,Sn);e.enqueue(At(o,i))}},cancel(){Dn(this)}})}}function xn(e,t,r,o){n.assign(e,{ready:new E(t=>e.m=t),password:Cn(t,r),strength:o-1,S:Ee})}function Tn(e,t,n,r,o,i){const{h:a,S:s}=e;s.length&&(t=At(s,t));const c=t.length-o,u=c-c%16;if(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+u),u){const e=An(n,r,r+u);e.set(An(t,0,u)),a.process(e,i)}return e.S=An(t,u),n}function Dn({h:e}){e&&e.dispose&&e.dispose()}async function Rn(e,t,r,o){e.password=null;const i=En[t],s=await async function(e,t,r){if(bn)try{const o=await gn.importKey("raw",e,pn,!1,hn);return new w(await gn.deriveBits(n.assign({salt:t},mn),o,8*r))}catch{bn=!1}return function(e,t,n,r){const o=rn(e),i=new w(r),s=new w(t.length+4),c=new h(s.buffer);s.set(t);for(let e=1,n=0;n<r;e++,n+=Gt){c.setUint32(t.length,e),o.update(s,0,s.length);let u=o.digest();const l=u.slice();for(let e=1;e<1e3;e++){o.update(u,0,Gt),u=o.digest();for(let e=0;e<Gt;e++)l[e]^=u[e]}i.set(l.subarray(0,a.min(Gt,r-n)),n)}return i}(e,t,0,r)}(r,o,2*i+2);return e.h=function(e,t){!function(){if(!nn){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Qt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Qt[0]=99;for(let e=0;e<256;e++){const t=Qt[e],n=an(t),r=n<<24|t<<16|t<<8|n^t;_t[e]=r,$t[e]=r>>>8|r<<24,en[e]=r>>>16|r<<16,tn[e]=r>>>24|r<<8}nn=!0}}();const n=new Int32Array(60),r=function(e,t){const n=e.length>>2,r=n+6,o=4*(r+1);let i=1;for(let r=0;r<n;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;e<o;e++){let r=t[e-1];e%n==0?(r=on(r<<8|r>>>24)^i<<24,i=an(i)):n>6&&e%n==4&&(r=on(r)),t[e]=t[e-n]^r}return r}(e,n),o=new w(16),i=new Int32Array(4),a=rn(t);return{process(e,t){t&&a.update(e,0,e.length),function(e){const t=new h(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;r+16<=n;r+=16)s(),t.setInt32(r,t.getInt32(r)^i[0]),t.setInt32(r+4,t.getInt32(r+4)^i[1]),t.setInt32(r+8,t.getInt32(r+8)^i[2]),t.setInt32(r+12,t.getInt32(r+12)^i[3]);if(r<n){s();for(let t=0;r<n;r++,t++)e[r]^=i[t>>2]>>>24-8*(3&t)}}(e),t||a.update(e,0,e.length)},digest:()=>a.digest()};function s(){for(let e=0;e<16&&(o[e]++,0===o[e]);e++);let e=(o[0]<<24|o[1]<<16|o[2]<<8|o[3])^n[0],t=(o[4]<<24|o[5]<<16|o[6]<<8|o[7])^n[1],a=(o[8]<<24|o[9]<<16|o[10]<<8|o[11])^n[2],s=(o[12]<<24|o[13]<<16|o[14]<<8|o[15])^n[3],c=4;for(let o=1;o<r;o++,c+=4){const r=_t[e>>>24]^$t[t>>>16&255]^en[a>>>8&255]^tn[255&s]^n[c],o=_t[t>>>24]^$t[a>>>16&255]^en[s>>>8&255]^tn[255&e]^n[c+1],i=_t[a>>>24]^$t[s>>>16&255]^en[e>>>8&255]^tn[255&t]^n[c+2],u=_t[s>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&a]^n[c+3];e=r,t=o,a=i,s=u}i[0]=(Qt[e>>>24]<<24|Qt[t>>>16&255]<<16|Qt[a>>>8&255]<<8|Qt[255&s])^n[c],i[1]=(Qt[t>>>24]<<24|Qt[a>>>16&255]<<16|Qt[s>>>8&255]<<8|Qt[255&e])^n[c+1],i[2]=(Qt[a>>>24]<<24|Qt[s>>>16&255]<<16|Qt[e>>>8&255]<<8|Qt[255&t])^n[c+2],i[3]=(Qt[s>>>24]<<24|Qt[e>>>16&255]<<16|Qt[t>>>8&255]<<8|Qt[255&a])^n[c+3]}}(An(s,0,i),An(s,i,2*i)),An(s,2*i)}function Cn(e,t){return t===fe?Xt(e):t}function An(e,t,n){return e.subarray(t,n)}class In extends v{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){On(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Nn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(cn);e=e.subarray(12)}r?t.error(new d(ln)):t.enqueue(Nn(n,e))}})}}class kn extends v{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){On(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=dn(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Un(n,t),0),o=12}else r=new w(e.length),o=0;r.set(Un(n,e),o),t.enqueue(r)}})}}function On(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,F:new jt(o[0]),v:new jt(o[2])}),r)for(let t=0;t<r.length;t++)Mn(e,r[t]);else for(let n=0;n<t.length;n++)Mn(e,t.charCodeAt(n))}(e,t,r)}function Nn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Pn(e)^t[r],Mn(e,n[r]);return n}function Un(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Pn(e)^t[r],Mn(e,t[r]);return n}function Mn(e,t){let[,n]=e.keys;e.F.append([t]);const r=~e.F.get();n=qn(a.imul(qn(n+Ln(r)),134775813)+1),e.v.append([n>>>24]);const o=~e.v.get();e.keys=[r,n,o]}function Pn(e){const t=2|e.keys[2];return Ln(a.imul(t,1^t)>>>8)}function Ln(e){return 255&e}function qn(e){return 4294967295&e}function Vn(e){if(e instanceof x)return e;const t=e.getReader();return new x({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Wn(e,t){e=Vn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof x)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new T({write(e){r.push(e)}})).then(()=>new y(r,n))}function Bn(e){if(e instanceof T)return e;const t=e.getWriter();return new T({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const jn="Invalid codec definition",Zn="Reserved compression method",Xn="Invalid codec module",Hn="Compression method not supported",Gn=[0,8,9,99],Kn=new c,Jn=new c;function Yn(e){return Kn.get(e)}function Qn(){return t.from(Kn.values(),e=>n.assign({},e,Jn.get(e.format)))}function _n(e){return Jn.get(e)}function $n(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new d(Xn);Jn.set(e,{CompressionStream:n,DecompressionStream:r})}const er="Invalid uncompressed size",tr="Invalid compressed data",nr="Invalid CRC32",rr="deflate-raw",or="deflate64-raw",ir="gzip",ar=[31,139,8];class sr extends v{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:a,zipCrypto:s,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,E,S=super.readable;const z=f&&_n(f),g=c&&o&&!l&&!z&&(!i||s)&&Boolean(a&&r);if(i&&!s||!c||g||(m=new Zt,S=hr(S,m)),o)if(z)S=yr(S,pr(z.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(g)E=new cr,S=yr(S,new r(ir)),S=hr(S,E);else try{S=mr(S,a,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(ir)}catch{throw e}S=yr(S,t),S=hr(S,new cr)}i&&(s?S=hr(S,new kn(e)):(y=new vn(e),S=hr(S,y))),wr(p,S,()=>{i&&!s||!c||(p.crc32=g?E.crc32:new h(m.value.buffer).getUint32(0))})}}class cr extends v{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=At(n,e));const i=o-8,s=a.min(i,n.length);r.enqueue(At(n.subarray(0,s),e.subarray(0,i-s))),n=At(n.subarray(s),e.subarray(i-s))},flush(){const t=kt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class ur extends v{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:a,crc32:s,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let S,z,g=super.readable;if(i&&(o?g=hr(g,new In(e)):(z=new Fn(e),g=hr(g,z))),c){const e=f&&_n(f);if(e)g=yr(g,pr(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{g=mr(g,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===fe)throw e;let t;try{t=new r(ir)}catch{throw e}g=function(e,t,n){const r=new jt;let o,i,a,s=0,c=!1;const u=new E((e,t)=>{i=e,a=t});u.catch(()=>{}),n||i();const l=new v({start(e){const t=new w(10);t.set(ar),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{m()}const t=new w(8),o=kt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){a(e)}}),f=new v({transform(e,t){r.append(e),s+=e.length,s>=n?i():c&&p(),t.enqueue(e)},cancel(e){a(e)}});return e=hr(e,l),hr(e=yr(e,t),f);function p(){m(),o=k(()=>a(new d(er)),5e3)}function m(){O(o)}}(g,t,y)}g=function(e){const t=e.getReader();return new x({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(tr);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(g)}a&&(S=new Zt,g=hr(g,S)),wr(this,g,()=>{if(a){const e=new h(S.value.buffer);if(s!=e.getUint32(0,!1))throw new d(nr)}})}}const lr=new c;function fr(e,t){if(!e)return!1;let n=lr.get(e);n||(n=new c,lr.set(e,n));let r=n.get(t);if(r===fe){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function dr(e){return fr(e,rr)}function wr(e,t,r){t=hr(t,new v({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function pr(e,t,n){if(!e)throw new d(Hn);return new e(t,n)}function mr(e,t,n,r,o){const i=t&&r?r:o||r,a=n.deflate64?or:rr;let s;try{s=new i(a,n)}catch(e){if(!t||!o||i==o)throw e;s=new o(a,n)}return yr(e,s)}function hr(e,t){return Vn(e).pipeThrough(t)}function yr(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Er="data",Sr="deflate",zr="inflate";class gr extends v{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Sr)?i=sr:o.startsWith(zr)&&(i=ur),r.outputSize=0;let a=0;const s=new i(e,t),c=super.readable,u=new v({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),l=new v({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==fe&&r.outputSize>e.outputSize))throw new d(er)},flush(){const{crc32:e}=s;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(s).pipeThrough(l)})}}class br extends v{constructor(e){const t=[];let r=0,i=0;function a(){const n=new w(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(a())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const Fr="Worker startup timeout";let vr,xr,Tr,Dr=()=>{};async function Rr(){if(Dr)try{return await void 0,!0}catch{}return!1}function Cr(e){e.createWorker?xr=!0:vr=!1}class Ar{constructor(e,{readable:t,writable:r},o,i){const{options:a,config:s,T:c,useWebWorkers:u,transferStreams:l,workerURI:f}=o;let{createWorker:d}=o;const{signal:w}=c;return xr&&(d=fe),n.assign(e,{D:!0,R:(e.R||0)+1,readable:t.pipeThrough(new br(wt(s))).pipeThrough(new Ir(c),{signal:w}),writable:r,options:n.assign({},a),C:o,workerURI:f,createWorker:d,transferStreams:l,terminate:()=>new E(t=>{const{A:n,D:r}=e;r?e.I=t:(n&&(n.terminate(),e.A=null),t()),e.O=null}),N(){if(e.D){const{I:t,A:n}=e;t&&(e.I=null,n&&(e.U=!0,n.terminate()),t()),e.D=!1,i(e)}}}),vr===fe&&(vr=typeof A!=we),(u&&Tr&&(vr&&f||d)?Tr:Or)(e,s)}}class Ir extends v{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await kr(e,n)},async transform(e,r){o+=e.length,t&&await kr(t,o,n),r.enqueue(e)},async flush(){r&&await kr(r,o)}})}}async function kr(e,...t){try{await e(...t)}catch{}}function Or(e,t){return{run:()=>Nr(e,t)}}async function Nr({options:e,readable:t,writable:n,N:r,C:o},i){let a,s,c;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Sr),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;e.useCompressionStream?n&&n.M&&!dr(r)&&await u():await u()||n&&!n.M||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await u(),a=new gr(e,i),s=new br(wt(i)),await t.pipeThrough(a).pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:c}=a;return{crc32:r,inputSize:o,outputSize:c}}catch(e){if(a){const t=s?s.outputSize:0;if(o.outputSize=t,Ot(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function u(){return c||(c=Rr()),c}}const Ur={type:"module"},Mr="error";let Pr,Lr,qr,Vr=!0;try{Vr=typeof N==pe&&N(new DOMException("","AbortError")).code!==fe}catch{}var Wr;function Br(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function jr(e){const{A:t}=e;if(t)try{t.terminate()}catch{}e.O=null}function Zr(e,t,r,o,i=!0){const{createWorker:a}=r;let s,c,u;if(a)s=a();else if(Lr===fe||Pr!==e){const n=typeof e==pe;c=n?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){o===fe&&(o=!1),o&&(u=Ur);try{s=new A(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return Zr(e,t,r,o,!1);if(o)throw i;return Zr(e,t,r,!0,!1)}}else{o===fe&&(o=!0),o&&(u=Ur);try{c=new f(c,t)}catch{}try{s=new A(c,u)}catch(n){if(o)return Zr(e,t,r,!1,i);throw n}}Pr=e,Lr=c,qr=u}else s=new A(Lr,qr);return s.addEventListener("message",e=>{r.P=!0,Xr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:a,error:s,errorValue:c}=e,{reader:u,writer:l,L:f,V:p,N:m,R:h}=t,y=()=>t.R!=h;try{if(s)E(function(e,t){const{message:r,stack:o,code:i,name:a,outputSize:s,cause:c,codecImportFailed:u}=e;let l;if(t?l=t.value:(l=n.assign(new d(r),{stack:o,code:i,name:a}),c&&(l.cause=n.assign(new d(c.message),{name:c.name}))),Ot(l))try{s!==fe&&(l.outputSize=s),u&&(l.codecImportFailed=!0),t&&(l.name!==a&&(l.name=a),l.code!==i&&(l.code=i))}catch{}return l}(s,c));else{if("pull"==r){const{value:e,done:n}=await u.read();y()||Gr({type:Er,value:e,done:n,messageId:i},t)}if(r==Er){const e=new w(o);await l.ready,await l.write(e),y()||Gr({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(f(e),S(),m())}(a)}}catch(s){y()||(jr(t),E(s))}function E(e){y()||(p(e),S(),Ot(e)&&e.codecImportFailed||m())}function S(){l&&l.releaseLock()}}(e,r)}),s.addEventListener(Mr,e=>Hr(e,r)),s.addEventListener("messageerror",e=>Hr(e,r)),s}function Xr(e){const{W:t}=e;t&&(O(t),e.W=null)}function Hr(e,t){e.preventDefault&&e.preventDefault(),Xr(t);const{P:r,V:o,writer:i,N:a}=t;jr(t),r||(t.A=null);let s=e.error||new d(e.message||Mr);r||(s=n.assign(new d(s.message||Mr),{B:!0}),t.j=s),o&&(o(s),i&&i.releaseLock(),r&&a())}function Gr(e,{A:t,writer:n,transferStreams:r,P:o}){try{const{value:n,readable:i,writable:a}=e,s=[];if(n&&(e.value=It(n),s.push(e.value.buffer)),r&&Vr&&o?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch{Vr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Wr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:s}=t;if(!e.O){let c;typeof s==pe&&(s=s());try{c=Zr(e.workerURI,r,e)}catch{return Cr(e),Or(e,t)}n.assign(e,{A:c,P:!1,U:!1,j:null,O:{run:async()=>{try{return await async function(e,t){if(!e.A){const{j:t}=e;e.j=null;const n=t||new d(Fr);throw n.B=!0,n}let r,i;const a=new E((t,n)=>{r=t,i=t=>{const{outputSize:r,C:o}=e;if(o.outputSize=r,Ot(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,Z:!1,X:null,L:r,V:i,result:a});const{readable:s,options:c}=e,{writable:u,closed:l,H:f}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:a}=new v({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),s=a.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});return s.catch(e=>{o||n.assign(t,{Z:!0,X:e})}),{writable:i,closed:s,H:()=>{o=!0,r.abort()}}}(e.writable,e);let w;try{w=Gr({type:"start",options:c,config:t,readable:s,writable:u},e)}catch(t){f();try{await l}catch{}throw e.N(),t}w||n.assign(e,{reader:s.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.P&&o.isFinite(p)&&p>=0&&(e.W=k(()=>function(e){if(e.W=null,e.P)return;const{V:t,writer:n}=e;if(jr(e),e.A=null,t){const e=new d(Fr);e.B=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await a;return await m(),await l,e}catch(t){await m(),f();try{await l}catch{}const{outputSize:n,C:r,Z:o,X:i}=e;r.outputSize=n;const a=Ot(t)&&(t.codecImportFailed||t.B),s=o&&!a?i:t;if(Ot(s))try{s.outputSize=n}catch{}throw s}async function m(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(n){if(n&&n.B)return Cr(e),Br(e),Nr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Br(e),Nr(e,t);e.N()}throw n}}}})}return e.O},Tr=Wr;let Kr=[];const Jr=[];let Yr,Qr,_r=0;async function $r(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:s,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Jn.has(e)&&t&&$n(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===fe&&r.transferStreams);const S=!(c||u||l||d),z=w===fe||Boolean(n.codecURI);return t.useWebWorkers=!S&&z&&(a||a===fe&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:fe,t.createWorker=t.useWebWorkers&&h?h:fe,n.useCompressionStream=s||s===fe&&r.useCompressionStream,(await async function(){const n=Kr.find(e=>!e.D);if(n)return oo(n),new Ar(n,e,t,g);if(Kr.length<y){const n={G:_r};return _r++,Kr.push(n),new Ar(n,e,t,g)}return new E(n=>{Jr.push({resolve:n,stream:e,C:t}),Qr=r.workerStarvationTimeout,eo()})}()).run();function g(e){if(to(),Jr.length){const[{resolve:t,stream:n,C:r}]=Jr.splice(0,1);t(new Ar(e,n,r,g)),eo()}else e.A?(oo(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.U?e.U=!1:e.K=k(async()=>{Kr=Kr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Kr=Kr.filter(t=>t!=e)}}function eo(){!Yr&&Jr.length&&o.isFinite(Qr)&&Qr>=0&&(Yr=k(no,Qr))}function to(){Yr&&(O(Yr),Yr=null)}function no(){if(Yr=null,Jr.length){const[{resolve:e,stream:t,C:r}]=Jr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:fe,createWorker:fe});e(new Ar({},t,o,ro)),eo()}}function ro(){to(),eo()}function oo(e){const{K:t}=e;t&&(O(t),e.K=null)}const io="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function ao(e,t){return so(e,t,!0)}function so(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=io[e[n]];return t}(e):new z(t,{ignoreBOM:n}).decode(e)}const co="HTTP error ",uo="HTTP Range not supported",lo="HTTP resource changed",fo="Writer iterator completed too soon",wo="Writer not initialized",po="Invalid writer (size must be writable)",mo="Content-Range",ho="Range",yo="GET",Eo="bytes",So=16777216,zo="writable",go=I();class bo{constructor(){this.size=0}init(){this.initialized=!0}}class Fo extends bo{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=wt(dt())}={}){const r=this;let o=0;return n=pt(n),new x({async pull(i){const s=t===fe?n:a.min(n,t-o),c=await ti(r,e+o,s);c.length&&(i.enqueue(c),o+=c.length),(t!==fe&&o>=t||!c.length&&s)&&i.close()}})}}class vo extends bo{constructor(){super();const e=this,t=new T({write(t){if(!e.initialized)throw new d(wo);return e.writeUint8Array(It(t))}});n.defineProperty(e,zo,{get:()=>t})}writeUint8Array(){}}let xo,To;class Do extends Fo{constructor(e){super(),n.assign(this,{J:e,size:e.size}),To||(To=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();xo=1==t}catch{xo=!1}})())}createReadable(e){const{J:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Vn(t.stream());if(xo)return Vn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.J:n.J.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class Ro extends bo{constructor(e){super();const t=this,r=new v;n.defineProperty(t,zo,{get:()=>r.writable}),t.contentType=e,t.Y=Wn(r.readable,e),t.Y.catch(()=>{})}getData(){return this.Y}}class Co extends Fo{constructor(e,t){super(),Io(this,e,t)}async init(){await ko(this,Xo,Wo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=t;if((n||r)&&o!==fe){const{offset:n=0,size:r=o-n}=e||{};if(r>0&&n<o)return function(e,t,n){let r,o=t,i=0,s=n;return new x({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new d(uo);const o=t.length>i?t.subarray(0,i):t;i-=o.length,s-=o.length,o.length&&e.enqueue(o),i||(await async function(){const e=r;r=fe,await e.cancel()}(),s||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,s),n=await Xo(yo,e,qo(e,o,t));if(206!=n.status)throw new d(uo);const c=No(n);if(c!==fe&&c!=o)throw new d(uo);Lo(e,n),Po(e,n),o+=t,i=t,r=n.body.getReader()}}(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Oo(this,e,t,Xo,Wo)}}class Ao extends Fo{constructor(e,t){super(),Io(this,e,t)}async init(){await ko(this,Ho,Bo),super.init()}readUint8Array(e,t){return Oo(this,e,t,Ho,Bo)}}function Io(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c=!0,maximumRangeSize:u=So,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function ko(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s}=e;if(function(e){const{baseURI:t}=dt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||a)&&(typeof o==we||o)){const r=await t(yo,e,qo(e,s?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==Eo))throw new d(uo);{let o;s&&206==r.status&&(o=new w(await r.arrayBuffer())),Po(e,r);const i=Uo(r);i===fe?await Zo(e,t,n):e.size=i,o&&o.length&&No(r)===e.size-o.length&&(e._=o)}}else await Zo(e,t,n)}async function Oo(e,t,n,r,o){const{useRangeHeader:i,forceRangeRequests:a,_:s,size:c,options:u}=e;if(i||a){if(t>=c||0===n)return Ee;{if(t+n>c&&(n=c-t),s&&t>=c-s.length){const e=t-(c-s.length);return s.slice(e,e+n)}const o=await r(yo,e,qo(e,t,n));if(206!=o.status)throw new d(uo);const i=No(o);if(i!==fe&&i!=t)throw new d(uo);Lo(e,o),Po(e,o);const a=new w(await o.arrayBuffer());if(a.length!=n)throw new d(uo);return a}}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function No(e){const t=e.headers.get(mo);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Uo(e){const t=e.headers.get(mo);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Mo({headers:e}){return{$:e.get("Etag")||fe,lastModified:e.get("Last-Modified")||fe}}function Po(e,t){const{checkResourceChanges:n,ee:r}=e;n&&!r&&206==t.status&&(e.ee=Mo(t))}function Lo(e,t){const{checkResourceChanges:r,ee:o,size:i}=e;if(r){const e=Uo(t);if(e!==fe&&i!==fe&&e!=i)throw new d(lo);if(o){const e=Mo(t);if(n.entries(o).some(([t,n])=>n!==fe&&e[t]!==fe&&n!=e[t]))throw new d(lo)}}}function qo(e,t=0,r=1){return n.assign({},Vo(e),{[ho]:Eo+"="+(t<0?t:t+"-"+(t+r-1))})}function Vo({options:e}){const{headers:t}=e;if(t)return I.iterator in t?n.fromEntries(t):t}async function Wo(e){await jo(e,Xo)}async function Bo(e){await jo(e,Ho)}async function jo(e,t){const n=await t(yo,e,Vo(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function Zo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Vo(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function Xo(e,{fetch:t=fetch,options:r,url:o},i){const a=await t(o,n.assign({},r,{method:e,headers:i}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new d(uo):new d(co+(a.statusText||a.status))}function Ho(e,{url:t},r){return new E((o,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new d(uo):new d(co+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Go extends Fo{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Ao(e,t):new Co(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 Ko extends Fo{constructor(e){super(),this.te=e}async init(){const e=this;e.ne=0;const t=e.te=await E.all(e.te.map(ei));e.re=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}oe(e){const{re:t,size:n}=this,r=t[e];return r===fe?n:r}async readUint8Array(e,t){const n=this,{te:r}=this;let o,i=0,s=e;for(;r[i]&&s>=r[i].size;)s-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(s+t<=r)o=await ti(c,s,t);else{const i=r-s;o=At(await ti(c,s,i),await n.readUint8Array(e+i,t-i))}}else o=Ee;return n.ne=a.max(i,n.ne),o}}class Jo extends bo{constructor(e,t=4294967295){super();const r=this;let o,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new T({async write(t){if(t===go)return void(a&&await u());const{availableSize:n}=r;if(a)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:s}=await e.next();if(s&&!n)throw new d(fo);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await $o(o),i=n.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}n.defineProperty(r,zo,{get:()=>s})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(go)}finally{e.releaseLock()}}}class Yo{constructor(e){return t.isArray(e)&&(e=new Ko(e)),(e instanceof x||typeof e.getReader==pe)&&(e={readable:Vn(e)}),e}}class Qo{constructor(e){e.writable===fe&&typeof e.next==pe&&(e=new Jo(e)),(e instanceof T||typeof e.getWriter==pe)&&(e={writable:Bn(e)});try{e.size=e.size===fe?0:e.size}catch{throw new d(po)}return e}}function _o(e){return Boolean(e&&e.getData)}async function $o(e,t){if(!e.init||e.initialized)return E.resolve();await e.init(t)}async function ei(e){return e=new Yo(e),await $o(e),e.size!==fe&&e.readUint8Array||(e=new Do(await Wn(e.readable)),await $o(e)),e}function ti(e,t,n){return e.readUint8Array(t,n)}function ni(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Fo.prototype.createReadable.call(e,t):e.readable}function ri(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==fe&&(r.filename=n),e.push(r)}}const oi="filename",ii="rawFilename",ai="comment",si="rawComment",ci="uncompressedSize",ui="compressedSize",li="offset",fi="diskNumberStart",di="lastModDate",wi="rawLastModDate",pi="lastAccessDate",mi="rawLastAccessDate",hi="creationDate",yi="rawCreationDate",Ei="internalFileAttributes",Si="externalFileAttributes",zi="msdosAttributesRaw",gi="msdosAttributes",bi="msDosCompatible",Fi="zip64",vi="encrypted",xi="version",Ti="versionMadeBy",Di="zipCrypto",Ri="directory",Ci="executable",Ai="compressionMethod",Ii="signature",ki="extraField",Oi="unixMode",Ni="setuid",Ui="setgid",Mi="sticky",Pi=[oi,ii,ci,ui,di,wi,ai,si,pi,mi,hi,yi,li,fi,Ei,Si,zi,gi,bi,Fi,vi,xi,Ti,Di,Ri,Ci,"symlink",Ai,Ii,"crc32",ki,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Oi,"unixExternalUpper",Ni,Ui,Mi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Li{constructor(e){Pi.forEach(t=>this[t]=e[t])}}const qi=new u([1,Q,10,_,28789,25461,$,ee,te,22613,13]);function Vi(e,t,n){return e?t?12:16+4*n:0}const Wi="File format is not recognized",Bi="End of central directory not found",ji="End of Zip64 central directory locator not found",Zi="Central directory header not found",Xi="Local file header not found",Hi="Zip64 extra field not found",Gi="File contains encrypted entry",Ki="Encryption method not supported",Ji="Split zip file",Yi="Overlapping entry found",Qi="Entry data out of bounds",_i="Ambiguous archive",$i="Encrypted central directory is not supported",ea="Unsafe filename",ta="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",na="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ra="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",oa="64-bit value exceeds Number.MAX_SAFE_INTEGER",ia="unsorted central directory",aa="unknown version needed to extract",sa="compressed patched data",ca="malformed extra field",ua="unknown zip64 extensible data",la="wrapped entries count",fa="appended data",da="prepended data",wa="prepended central directory",pa="trailing central directory data",ma="duplicate filename",ha="mismatched zip64 end of central directory record",ya="multiple end of central directory records",Ea="mismatched local file header (filename)",Sa="mismatched local file header (general purpose bit flag)",za="mismatched local file header (compression method)",ga="mismatched local file header (crc32 or sizes)",ba=/^[a-zA-Z]:/,Fa="utf-8",va="cp437",xa=[[ci,M],[ui,M],[li,M],[fi,P]],Ta={[P]:{ie:cs,bytes:4},[M]:{ie:us,bytes:8}},Da=i(o.MAX_SAFE_INTEGER);class Ra{constructor(e,t={}){n.assign(this,{reader:new Yo(e),options:t,ae:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await $o(r),r.size!==fe&&r.readUint8Array||(r=new Do(await Wn(r.readable)),await $o(r)),r.size<K)throw new d(Wi);const o=t.warnings=[],i=Xa(e,t.options),s=i==Pe,c=i!=qe,l=Ka(ns(t,e,Oe),i),f=function(e,t){if(e===fe)return t;if(!Za(e))throw new d(na);return e}(ns(t,e,"filenameValidation"),i),w=ns(t,e,"normalizeFilename"),{se:p,ce:m}=await Ja(r,c,l);if(!p)throw await async function(e){return await ja(e)==V}(r)?new d(Ji):new d(Bi);c&&m>1&&ts(ya);const h=kt(p);let y=cs(h,12),E=cs(h,16);const S=p.offset,z=ss(h,20),g=S+K+z,b=r.size-g;b>l&&ts(fa),b>0&&ri(o,fa);let F=ss(h,4);const x=r.ne||0;let T,D,R,C,A,I=ss(h,6),k=ss(h,10),O=0,N=Y;const U=E==M||y==M||k==P||I==P;if(E!=M&&I!=P&&(E+=Ba(r,I)),U){const e=p.offset>=J?await ti(r,p.offset-J,J):Ee,t=kt(e);if(e.length==J&&cs(t,0)==H){E=Ba(r,cs(t,4))+us(t,8);let e=await ti(r,E,Y),i=kt(e);const c=p.offset-J-Y;if((e.length<Y||cs(i,0)!=X)&&E!=c&&c>=0){const t=E;E=c,E>t&&(O=E-t),e=await ti(r,E,Y),i=kt(e)}if(e.length<Y||cs(i,0)!=X)throw new d(ji);if(R=!0,C=us(i,4)>44,C){const e=a.min(us(i,4)-44,r.size-E-Y);e>0&&(N+=e,A=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=kt(e),o=ss(r,26);n.assign(t,{compressionMethod:ss(r,0),compressedSize:us(r,2),uncompressedSize:us(r,10),encryptionAlgorithm:ss(r,18),bitLength:ss(r,20),flags:ss(r,22),hashAlgorithm:ss(r,24),hashData:e.subarray(28,28+o)})}return t}(await ti(r,E+Y,e)))}F==P?F=cs(i,16):F!=cs(i,16)&&es(s,o,ha),I==P?I=cs(i,20):I!=cs(i,20)&&es(s,o,ha),k==P?k=us(i,32):k!=us(i,32)&&es(s,o,ha),y==M?y=us(i,40):y!=us(i,40)&&es(s,o,ha),E=Ba(r,I)+us(i,48)+O}}let q=y;const W=p.offset-(R?N+J:0);if(E>=r.size&&(O=r.size-E-y-K,E=r.size-y-K),x!=F)throw new d(Ji);if(E<0)throw new d(Wi);let B=0,Z=await ti(r,E,y),Q=kt(Z);if(y){if(Z.length<4)throw new d(Wi);const e=W-y;if(E!=e&&I==F){const t=cs(Q,B)==j||Boolean(A&&A.compressedSize)||ka(Q);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=cs(kt(await ti(r,e,4)),0)==j),n){const n=E;E=e,E>n&&(O+=E-n,T=t),Z=await ti(r,E,y),Q=kt(Z)}}}const _=W-E;if(y!=_&&_>=0&&I==F&&(y=_,Z=await ti(r,E,y),Q=kt(Z)),E<0||E>=r.size)throw new d(Wi);t.directoryOffset=E,t.directoryLength=q;const $=rs(t,e,"decryptCentralDirectory");let ee,te;if($&&k&&Z.length>=4&&cs(Q,0)!=j&&(C||ka(Q))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(A,q,Z.length);te=Z.subarray(e),Z=await $(Z.subarray(0,e),A),Q=kt(Z),q=Z.length,ee=!0}A&&!ee&&(Z.length<4||cs(Q,0)==j)&&ri(o,ua),D=E;const ne=ns(t,e,"filenameEncoding"),ce=ns(t,e,"commentEncoding"),ue=new u;let le,de=-1;const we=!s&&!R;!k&&we&&(k=Oa(Q,Z,B),k&&ri(o,la));for(let i=0;i<k;i++){const s=new Ia(r,t.options);if(B+G>Z.length||cs(Q,B)!=j){if(0==i&&!ee&&(C||ka(Q)))throw new d($i);throw new d(Zi)}Ua(s,Q,B+6);const c=Boolean(s.bitFlag.languageEncodingFlag),u=B+G,l=u+s.filenameLength,p=l+s.extraFieldLength,m=ss(Q,B+4),h=!(m>>8),y=m>>8==3,E=Z.subarray(u,l),S=ss(Q,B+32),z=p+S,g=Z.subarray(p,z),b=c,F=c,x=cs(Q,B+38),T=x&L,R={readOnly:Boolean(1&T),hidden:Boolean(2&T),system:Boolean(4&T),directory:Boolean(16&T),archive:Boolean(32&T)},A=cs(Q,B+42),I=rs(t,e,"decodeText")||ao,N=b?Fa:ne||va,U=F?Fa:ce||va;let M=I(E,N,Ue);if(M===fe&&(M=ao(E,N)),w){const e=w(M);e!==fe&&(M=e)}if(Ga(M,f)){const e=new d(ea);throw e.filename=M,e}let q=I(g,U,Me);q===fe&&(q=ao(g,U)),n.assign(s,{index:i,ue:ee,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,le:S,offset:A,diskNumberStart:ss(Q,B+34),internalFileAttributes:ss(Q,B+36),externalFileAttributes:x,msdosAttributesRaw:T,msdosAttributes:R,rawFilename:E,filenameUTF8:b,commentUTF8:F,rawExtraField:Z.subarray(l,p),rawComment:g,filename:M,comment:q}),Ma(s,s,Q,B+6)&&ri(o,ca,M),s.offset+=O;const V=Ba(r,s.diskNumberStart)+s.offset;D=a.min(V,D),V<de&&ri(o,ia,M),de=V,(s.version&L)>63&&ri(o,aa,M),32&~s.rawBitFlag||ri(o,sa,M),ue.has(s.filename)&&(le=!0),ue.add(s.filename);const W=s.externalFileAttributes>>16&P;s.unixMode===fe&&16877&W&&(s.unixMode=W);const X=Boolean(s.unixMode&ie),H=Boolean(s.unixMode&ae),K=Boolean(512&s.unixMode),J=40960==((s.unixMode===fe?W:s.unixMode)&re),Y=!J&&(s.unixMode!==fe?!!(73&s.unixMode):y&&!!(73&W)),_=s.unixMode!==fe&&(s.unixMode&re)==oe,$=(W&re)==oe;n.assign(s,{setuid:X,setgid:H,sticky:K,symlink:J,unixExternalUpper:W,executable:Y,directory:_||$||h&&R.directory||s.filename.endsWith(se),zipCrypto:s.encrypted&&!s.extraFieldAES});const te=new Li(s);if(te.getData=(e,n)=>s.getData(e,te,t.ae,n),te.arrayBuffer=async e=>{const r=new v,o=Wn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await s.getData(r,te,t.ae,n.assign({},e,{preventClose:!1})),o},B=z,i==k-1&&we){const e=Oa(Q,Z,B);e&&(k+=e,ri(o,la))}const{onprogress:pe}=e;if(pe)try{await pe(i+1,k,new Li(s))}catch{}yield te}let pe=B,me=Na(Z.subarray(B))||(ee?Na(te):fe);if(!me&&!ee){const e=E+B,t=a.min(W-e,65541);t>=6&&(me=Na(await ti(r,e,t)))}me&&(t.digitalSignature=me,pe=B+6+me.length),(B!=q&&pe!=q||!ee&&B!=y&&pe!=y)&&es(s,o,pa),le&&es(s,o,ma);const he=ns(t,e,"extractPrependedData"),ye=ns(t,e,"extractAppendedData"),Se=(s||he)&&k&&4==D&&await async function(e){const t=await ja(e);return t==V||808471376==t}(r)?4:0;return s&&(O||k&&D>Se)&&ts(da),(O||k&&D>4)&&ri(o,da),T&&ri(o,wa),he&&(t.prependedData=D>Se?await ti(r,Se,D-Se):Ee),t.comment=z?await ti(r,S+K,z):Ee,ye&&(t.appendedData=g<r.size?await ti(r,g,r.size-g):Ee),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[Se](){return this.close()}}class Ca{constructor(e={}){let r;const{readable:o,writable:i}=new v({start(e){r=e}}),a=new Ra(o,e),s=a.getEntriesGenerator(),c=new u;this.readable=new x({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new v;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new x({async pull(a){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:s,value:c}=await o.read();s?a.close():a.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await E.allSettled(n.map(t=>t.cancel(e))),await E.allSettled([s.return(),a.close()])}}),this.writable=i}}async function Aa(e,t={}){if(e=new Yo(e),await $o(e),e.size!==fe&&e.readUint8Array||(e=new Do(await Wn(e.readable)),await $o(e)),e.size<K)return!1;const n=Xa(t,{}),r=n!=qe,o=Ka(t[Oe],n),{se:i,ce:a}=await Ja(e,r,o);if(!i||n==Pe&&a>1)return!1;const s=ss(kt(i),20),c=i.offset+K+s;return e.size-c<=o}class Ia{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,s=dt(),{reader:c,index:u,offset:l,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:S,uncompressedSize:z,compressedSize:g}=i,{dataDescriptor:b}=h,F=t.localDirectory={},v=t.warnings=[],x=Ba(c,f)+l,D=await ti(c,x,ce),R=kt(D);let C=ns(i,o,ze),A=ns(i,o,ge);const I=Ye(ns(i,o,be)),k=Boolean(I),O=!0===I;if(Je(C,A),C=C&&C.length&&C,A=A&&A.length&&A,w&&99!=w.originalCompressionMethod)throw new d(Hn);if(D.length<ce||cs(R,0)!=q)throw new d(Xi);Ua(F,R,4);const{extraFieldLength:N,filenameLength:U}=F,M=F.dataOffset=x+ce+U+N,P=ns(i,o,"checkLocalDirectory"),V=Xa(o,i.options),B=function(e,t){return e===fe?t!=qe:Boolean(e)}(P,V),j=ns(i,o,"checkLocalFilename"),Z=function(e,t){return e===fe?t==Pe:Boolean(e)}(j===fe?P:j,V);let X=Ee;if(Z&&(U||N)){const e=await ti(c,x+ce,U+N);X=e.subarray(0,U),F.rawExtraField=e.subarray(U)}else F.rawExtraField=N?await ti(c,x+ce+U,N):Ee;Z&&(F.rawFilename=X),Ma(i,F,R,4,!0)&&ri(v,ca),function(e,t,n,r,o){const{rawFilename:i}=e,a=!o,s=e.ue&&!(8192&~t.rawBitFlag);!r||s||n.length==i.length&&!n.some((e,t)=>e!=i[t])||es(a,o,Ea),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&es(a,o,Sa),t.compressionMethod!=e.compressionMethod&&es(a,o,za),t.bitFlag.dataDescriptor||s||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||es(a,o,ga)}(i,F,X,Z,B?fe:v);const{lastAccessDate:H,creationDate:G,uid:K,gid:J}=F;H&&(t.lastAccessDate=H),G&&(t.creationDate=G),K!==fe&&t.uid===fe&&(t.uid=K),J!==fe&&t.gid===fe&&(t.gid=J);const Y=ns(i,o,"checkPasswordOnly"),Q=i.encrypted&&F.encrypted&&(!O||Y),_=Q&&!w;if(O||(t.zipCrypto=_),Q&&!(64&~F.rawBitFlag))throw new d(Ki);const $=k?fe:Yn(m);if(0!=m&&8!=m&&9!=m&&!$&&!k)throw new d(Hn);if(Q){if(!_&&(w.strength<1||w.strength>3))throw new d(Ki);if(!C&&!A)throw new d(Gi)}if(M+g>c.size)throw new d(Qi);const ee=g,te=Vn(c.createReadable({offset:M,size:ee})),ne=Ge(ns(i,o,Fe));Ke(ne);let re=ns(i,o,"checkOverlappingEntry");const oe=ns(i,o,"checkOverlappingEntryOnly");oe&&(re=!0);const{onstart:ie,onprogress:ae,onend:se}=o,ue=0!=m&&!k,le=k?g-Vi(Q,_,w&&w.strength):z,de=9==m;let we=ns(i,o,xe);de&&(we=!1);const pe=ns(i,o,"checkCrc32"),me=(pe===fe?ns(i,o,"checkSignature"):pe)&&!k&&(!Q||_||w&&1==w.vendorVersion),he={options:{codecType:zr,password:C,rawPassword:A,zipCrypto:_,encryptionStrength:w&&w.strength,checkCrc32:me,checkAuthenticationCode:ns(i,o,"checkAuthenticationCode"),passwordVerification:_&&(b?S>>>8&L:E>>>24&L),outputSize:le,crc32:E,compressed:ue,encrypted:Q,useWebWorkers:ns(i,o,ve),useCompressionStream:we,transferStreams:ns(i,o,Te),deflate64:de,format:$?$.format:fe,codecURI:$?$.codecURI:fe,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:Y},config:s,T:{signal:ne,size:ee,onstart:ie,onprogress:ae,onend:se}};let ye,Se,Re;re&&await async function({reader:e,fe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:a,dataOffset:s,dataDescriptor:c,extraFieldZip64:u,ae:l}){let f=0;if(c&&(f=u?20:12),f){const n=await ti(e,s+i,f+4),r=kt(n);let c=n.length==f+4&&cs(r,0)==W;if(c){const e=Wa(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==a?f+=4:c=!1}if(n.length>=f){const e=Wa(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:s+i+f,fe:t};for(const[e,t]of l)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(Yi);throw e.overlappingEntry=t.fe,e}l.set(n,w)}({reader:c,fe:t,index:u,offset:x,crc32:E,compressedSize:g,uncompressedSize:z,dataOffset:M,dataDescriptor:b||F.bitFlag.dataDescriptor,extraFieldZip64:p||F.extraFieldZip64,ae:r});try{if(!oe){Y&&(e=new T),e=new Qo(e),await $o(e,function(e,t,n){return a.min(e,n?1032*t:t)}(le,g,ue)),({writable:ye}=e);const{outputSize:t}=await $r({readable:te,writable:ye},he);if(t!=le)throw n.assign(new d(er),{outputSize:t});e.size+=t}}catch(t){const{outputSize:n}=he;if(n!==fe?e.size+=n:Ot(t)&&t.outputSize!==fe&&(e.size+=t.outputSize),!Y||!Ot(t)||t.message!=ln)throw Se=t,Re=!0,t}finally{if((_o(e)||!ns(i,o,De))&&ye&&!ye.locked){const e=ye.getWriter();if(Re)try{await e.abort(Se)}catch{}else await e.close()}}return Y||oe?fe:e.getData?e.getData():ye}}function ka(e){const t=a.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==cs(e,n))return!0;return!1}function Oa(e,t,n){let r=0;for(;n+G<=t.length&&cs(e,n)==j;)n+=G+ss(e,n+28)+ss(e,n+30)+ss(e,n+32),r++;return r%65536?0:r}function Na(e){if(e.length>=6){const t=kt(e);if(cs(t,0)==B){const n=ss(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Ua(e,t,r){const o=e.rawBitFlag=ss(t,r+2),i=!(1&~o),a=cs(t,r+6);n.assign(e,{encrypted:i,version:ss(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:a,lastModDate:os(a),filenameLength:ss(t,r+22),extraFieldLength:ss(t,r+24)})}function Ma(e,t,r,o,i){const{rawExtraField:a}=t,u=t.extraField=new c,l=kt(a);let f=0,w=!1;try{for(;f<a.length;){const e=ss(l,f),t=ss(l,f+2);u.set(e,{type:e,data:a.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>a.length&&(w=!0);const p=ss(r,o+4);n.assign(t,{signature:cs(r,o+10),crc32:cs(r,o+10),compressedSize:cs(r,o+14),uncompressedSize:cs(r,o+18)});const m=u.get(1);m&&(function(e,t){t.zip64=!0;const n=kt(e.data),r=xa.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Ta[t].bytes,0);if(e.data.length<o)throw new d(Hi);for(let o=0,i=0;o<r.length;o++){const[a,s]=r[o],c=Ta[s];t[a]=e[a]=c.ie(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=u.get(28789);h&&(Pa(h,oi,ii,t,e),t.extraFieldUnicodePath=h);const y=u.get(25461);y&&(Pa(y,ai,si,t,e),t.extraFieldUnicodeComment=y);const E=u.get(Q);E&&E.data.length>=7?(function(e,t,r){const o=kt(e.data),i=as(o,4);n.assign(e,{vendorVersion:as(o,0),vendorId:as(o,2),strength:i,originalCompressionMethod:r,compressionMethod:ss(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=fe)}(E,t,p),t.extraFieldAES=E):t.compressionMethod=p;const S=u.get(13);S&&(La(S,t),t.extraFieldPkwareUnix=S);const z=u.get(22613);z&&(La(z,t),t.extraFieldUnixType1=z);const g=u.get(10);g&&(function(e,t){const r=kt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=ss(r,i),n=ss(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=kt(o),i=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),s=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:s});const c={lastModDate:is(i),lastAccessDate:is(a),creationDate:is(s)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:s})}}(g,t),t.extraFieldNTFS=g);const b=u.get(te);let F;if(b&&(F=qa(b,t,!1),t.extraFieldUnix=b),!F){const e=u.get(ee);e&&(qa(e,t,!0),t.extraFieldInfoZip=e)}const v=u.get(_);v&&(function(e,t,n){if(!e.data.length)return;const r=kt(e.data),o=as(r,0),i=[],a=[];n?(1&~o||(i.push(di),a.push(wi)),2&~o||(i.push(pi),a.push(mi)),4&~o||(i.push(hi),a.push(yi))):e.data.length>=5&&(i.push(di),a.push(wi));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=cs(r,c);t[n]=e[n]=new s(1e3*(0|i));const u=a[o];e[u]=i}c+=4})}(v,t,i),t.extraFieldExtendedTimestamp=v);const x=u.get($);return x&&(t.extraFieldUSDZ=x),w}function Pa(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const a=kt(e.data),s=new jt;s.append(i[r]);const c=kt(new w(4));c.setUint32(0,s.get(),!0);const u=cs(a,1),l=as(a,0);n.assign(e,{version:l,[t]:ao(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==cs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function La(e,t){if(e.data.length<8)return;const r=kt(e.data),o={lastAccessDate:new s(1e3*(0|cs(r,0))),lastModDate:new s(1e3*(0|cs(r,4)))};e.data.length>=12&&(o.uid=ss(r,8),o.gid=ss(r,10)),n.assign(e,o),n.assign(t,o)}function qa(e,t,r){try{const o=kt(e.data);let i,a;if(r){let t=0;const r=as(o,t++),s=as(o,t++);i=Va(e.data.subarray(t,t+s)),t+=s;const c=as(o,t++);a=Va(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:a})}else e.data.length>=4&&(i=ss(o,0),a=ss(o,2),n.assign(e,{uid:i,gid:a}));return i!==fe&&(t.uid=i),a!==fe&&(t.gid=a),i!==fe||a!==fe}catch{}}function Va(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Wa(e,t,n){const r=cs(e,t);let o,i;return n?(o=us(e,t+4),i=us(e,t+12)):(o=cs(e,t+4),i=cs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Ba(e,t){return e.oe?e.oe(t):0}async function ja(e){return cs(kt(await ti(e,0,4)))}function Za(e){return e===Pe||e===Le||e===qe}function Xa(e,t){return Ha(e,Ha(t,Le))}function Ha(e,t){const n=e.strictness;if(n!==fe){if(!Za(n))throw new d(ta);return n}const r=e.checkAmbiguity;return r===fe?t:r?Pe:t==qe?qe:Le}function Ga(e,t){if(t==qe)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||ba.test(e))||t==Pe&&(n.includes(".")||n.includes(""))}function Ka(e,t){if(e!==fe){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(ra);return t}return t==Pe?0:t==qe?1/0:P}async function Ja(e,t,n){const{size:r}=e,o=a.min(r,65557),i={count:64};let s,c,u=0;for await(const[n,a,l,f,d]of Ya(e,o)){const o=ss(n,f+20);if(d+K+o==r){const o=await _a(e,n,a,f,d,r,i);if(2==o){if(s||(s=Qa(l,f,d)),u++,!t||u>1)break}else 1!=o||c||(c=Qa(l,f,d))}}return s||(s=c),s||(s=await async function(e,t,n){const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let i,s;for await(const[t,a,c,u,l]of Ya(e,o)){const o=Qa(c,u,l);i||(i=o);const f=await _a(e,t,a,u,l,r,n);if(2==f)return o;1!=f||s||(s=o)}return s||i}(e,n,i)),{se:s,ce:u}}async function*Ya(e,t){const n=e.size-t,r=await ti(e,n,t),o=kt(r);for(let e=r.length-K;e>=0;e--)cs(o,e)==Z&&(yield[o,n,r,e,n+e])}function Qa(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function _a(e,t,n,r,o,i,a){const s=ss(t,r+10),c=cs(t,r+12),u=cs(t,r+16);if(s==P||c==M||u==M)return await $a(e,t,n,o-J,i,a)==H?2:0;if(!s&&!c)return 1;const l=ss(t,r+6);for(const r of[o-c,Ba(e,l)+u])if(await $a(e,t,n,r,i,a)==j)return 2;return 0}async function $a(e,t,n,r,o,i){return r<0||r+4>o?fe:r>=n?cs(t,r-n):i.count>0?(i.count--,cs(kt(await ti(e,r,4)),0)):fe}function es(e,t,n){e?ts(n):ri(t,n)}function ts(e){const t=new d(_i);throw t.reason=e,t}function ns(e,t,n){return t[n]===fe?e.options[n]:t[n]}function rs(e,t,n){return He(ns(e,t,n))}function os(e){const t=(4294901760&e)>>16,n=e&P,r=new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<le?le:r}function is(e){return new s(o(e/i(1e4)-i(116444736e5)))}function as(e,t){return e.getUint8(t)}function ss(e,t){return e.getUint16(t,!0)}function cs(e,t){return e.getUint32(t,!0)}function us(e,t){const n=e.getBigUint64(t,!0);if(n>Da)throw new d(oa);return o(n)}var ls=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:_i,ERR_BAD_FORMAT:Wi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Zi,ERR_ENCRYPTED:Gi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:$i,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Qi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ji,ERR_EOCDR_NOT_FOUND:Bi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Hi,ERR_INVALID_AUTHENTICATION_CODE:un,ERR_INVALID_COMPRESSED_DATA:tr,ERR_INVALID_CRC32:nr,ERR_INVALID_FILENAME_VALIDATION:na,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ra,ERR_INVALID_PASSWORD:cn,ERR_INVALID_STRICTNESS:ta,ERR_INVALID_UNCOMPRESSED_SIZE:er,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Xi,ERR_OVERLAPPING_ENTRY:Yi,ERR_SPLIT_ZIP_FILE:Ji,ERR_UNSAFE_FILENAME:ea,ERR_UNSUPPORTED_COMPRESSION:Hn,ERR_UNSUPPORTED_ENCRYPTION:Ki,ERR_UNSUPPORTED_UINT64:oa,ERR_WORKER_STARTUP_TIMEOUT:Fr,WARNING_APPENDED_DATA:fa,WARNING_COMPRESSED_PATCHED_DATA:sa,WARNING_DUPLICATE_FILENAME:ma,WARNING_MALFORMED_EXTRA_FIELD:ca,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Sa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:za,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:ga,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Ea,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:ha,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:ya,WARNING_PREPENDED_CENTRAL_DIRECTORY:wa,WARNING_PREPENDED_DATA:da,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:pa,WARNING_UNKNOWN_VERSION:aa,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:ua,WARNING_UNSORTED_CENTRAL_DIRECTORY:ia,WARNING_WRAPPED_ENTRIES_COUNT:la,ZipReader:Ra,ZipReaderStream:Ca,isZipFile:Aa});const fs="File already exists",ds="Zip file comment exceeds 64KB",ws="Invalid zip file comment (must be a Uint8Array)",ps="File entry comment exceeds 64KB",ms="Invalid file entry comment (must be a string)",hs="Invalid date (must be a valid Date instance)",ys="File entry name exceeds 64KB",Es="Version exceeds 65535",Ss="The strength must equal 1, 2, or 3",zs="Encryption is not supported in USDZ files",gs="Split zip files are not supported in USDZ files",bs="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Fs="Invalid extra field (must be a Map)",vs="Invalid extra field type (must be integer 0..65535)",xs="Invalid extra field data (must be a Uint8Array)",Ts="Extra field data exceeds 64KB",Ds=-2147483648,Rs=2147483647,Cs=i(0),As=i("0x7fffffffffffffff"),Is="Zip64 is not supported (set the 'zip64' option to 'true')",ks="Undefined uncompressed size",Os="Undefined compression method",Ns="Undefined CRC32",Us="Undefined reader",Ms="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Ps="Zip file not empty",Ls="Invalid uid (must be integer 0..2^32-1)",qs="Invalid gid (must be integer 0..2^32-1)",Vs="Invalid UNIX mode (must be integer 0..65535)",Ws="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Bs="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",js="Invalid msdosAttributesRaw (must be integer 0..255)",Zs="Invalid msdosAttributes (must be an object with boolean flags)",Xs="Invalid level (must be integer 0..9)",Hs="Signature data exceeds 64KB",Gs="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Ks="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Js="compression unavailable",Ys="clamped last modification date",Qs=new w([7,0,2,0,65,69,3,0,0]),_s="infozip",$s="unix",ec=[8,9,5,3];let tc=0;const nc=[];class rc{constructor(e,t={}){e=new Qo(e);const{availableSize:r=de,maxSize:o=de}=e,i=r>0&&r!==de&&o>0&&o!==de;if(i&&t[ke])throw new d(gs);n.assign(this,{writer:e,de:i,options:t,we:new c,pe:new u,offset:t[Ie]===fe?e.size||e.writable.size||0:t[Ie],me:t[Ie]===fe?0:t[Ie]-(e.size||e.writable.size||0),he:new u,ye:[],warnings:[],Ee:0,Se:0,ze:fe,ge:!1})}prependZip(e){return ac(this,async function(e,t){if(e.pe.size)throw new d(Ps);await e.be(t)}(this,e))}appendZip(e){return ac(this,this.be(e))}async be(e){const r=this,{he:o,pe:i,we:a}=r;for(;o.size;)await E.allSettled(t.from(o));let s;const u=new E(e=>s=e);o.add(u);const l=[];let f;try{e=new Yo(e),await $o(e),e.size!==fe&&e.readUint8Array||(e=new Do(await Wn(e.readable)),await $o(e));const{ZipReader:o}=await E.resolve().then(function(){return ls}),s=new o(e),u=await s.getEntries();await s.close(),await $o(r.writer);const{directoryOffset:w}=s;u.forEach(({filename:e})=>{if(i.has(e))throw new d(fs);i.add(e),l.push(e)}),r.Fe=!0;const{ve:p}=r;r.ve=new E(e=>f=()=>{r.Fe=!1,e()}),await p,r.de&&(delete r.de,await async function(e){return kt(await ti(e,0,4)).getUint32(0,!0)==V}(e)||(await Fc(r.writer,gc()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,a=new c;if(i.closeDisk){const s=t.from(r).sort((e,t)=>zc(n,e)-zc(n,t));let c=0;for(const t of s){const r=zc(n,t);await Ec(e,n,c,r-c),mc(i,await Sc(n,r))&&await i.closeDisk(),a.set(t,{offset:hc(e,i),diskNumberStart:wc(i)}),c=r}await Ec(e,n,c,o-c)}else{const t=e.offset;await Ec(e,n,0,o),r.forEach(e=>a.set(e,{offset:t+zc(n,e),diskNumberStart:0}))}return a}(r,e,u,w);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:s,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=yc(d||Ee),e.extraFieldAES&&(f=99);const y=qc(d),E=Boolean(l)&&l.uncompressedSize!==fe,S=Boolean(l)&&l.compressedSize!==fe,z=-7&Bc(w,p,h,s,f)|w<<1,{xe:g,Te:b}=Vc({version:t,bitFlag:z,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,De:S,Re:E,extraFieldLength:y}),{crc32:F}=e;F!==fe&&Mc(b,10,F);const{offset:v,diskNumberStart:x}=m.get(e);n.assign(e,{Ce:!0,Re:E,De:S,offset:v,diskNumberStart:x,Ae:!1,Ie:Ee,ke:Ee,Oe:Ee,Ne:Ee,Ue:Ee,rawExtraField:d,Me:Ee,xe:g,Te:b}),a.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{s(),o.delete(u),f&&f()}}add(e="",r,u={}){const l=this,{he:f}=l,p=async function(e,r,u,l){const f=(l=n.assign({},l))[Ne];if(f!==fe){const{Pe:r,Le:o}=function(e,r,o){if(null===e||typeof e!=me||t.isArray(e))throw new d(Gs);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,rawLastModDate:w,creationDate:p,lastAccessDate:m,uncompressedSize:h,encrypted:y,zipCrypto:E,crc32:S,compressionMethod:z,extraFieldAES:g,extraFieldUnix:b,internalFileAttributes:F,extraField:v,bitFlag:x,directory:T,uid:D,gid:R}=e,C={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,creationDate:p,lastAccessDate:m,internalFileAttributes:F,directory:T};x&&x.languageEncodingFlag&&(C[Ce]=!0);const A=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{qi.has(n)||t.set(n,e.data)}),t.size)return t}}(v);A&&(C[ki]=A),D===fe&&R===fe||n.assign(C,{uid:D,gid:R,unixExtraFieldType:b?$s:_s});const I={};if(r&&!T)if(n.assign(I,{uncompressedSize:h,crc32:S,compressionMethod:z}),r!==Ve&&n.assign(I,{encrypted:y,zipCrypto:E,encryptionStrength:g?g.strength:fe}),x&&(I.dataDescriptor=x.dataDescriptor,I[Re]=ec[x.level]),o===fe)I.rawLastModDate=w;else if(r!==Ve&&E&&(!x||x.dataDescriptor)&&o instanceof s&&function(e){let t=new s(2e3*a.ceil(a.floor(e.getTime()/1e3)/2));return t<le?t=le:t>ue&&(t=ue),(t.getHours()<<3|t.getMinutes()>>3)&L}(o)!=(w>>>8&L))throw new d(Ks);return{Pe:C,Le:I}}(f,Ye(Rc(e,l,be)),Rc(e,l,di));delete l[Ne],l=n.assign(r,o,l)}if(Rc(e,l,Ri)&&!r.endsWith(se)&&(r+=se),e.pe.has(r))throw new d(fs);e.pe.add(r),tc<dt().maxWorkers?tc++:await new E(e=>nc.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Rc(e,r,bi),i=Rc(e,r,Ti,o?20:768);const a=Rc(e,r,Ci),s=Ic(e,r,"uid"),c=Ic(e,r,"gid");let u=Ic(e,r,Oi),l=Rc(e,r,"unixExtraFieldType"),f=Rc(e,r,Ni),w=Rc(e,r,Ui),p=Rc(e,r,Mi);if(_e(s,M,Ls),_e(c,M,qs),_e(u,P,Vs),l!==fe&&l!==_s&&l!==$s)throw new d(Ws);if(l===$s&&(s!==fe&&s>P||c!==fe&&c>P))throw new d(Bs);l!==fe||s===fe&&c===fe||(l=_s);let m=Ic(e,r,zi),h=Rc(e,r,gi);const y=m!==fe||h!==fe;if(s!==fe||c!==fe||u!==fe||l||a?(o=!1,i=i&L|768):y&&(o=!0,i&=L),_e(m,L,js),h&&(typeof h!==me||t.isArray(h)))throw new d(Zs);if(i>P)throw new d(Es);let E=Rc(e,r,Si);const S=E!==fe;S||(E=0),!r[Ri]&&n.endsWith(se)&&(r[Ri]=!0);const z=Rc(e,r,Ri);if(z?(n.endsWith(se)||(n+=se),S||(E=16,o||(E|=16877<<16))):o||S||(E=a?493<<16:27525120),!o){const e=u!==fe||Boolean(f||w||p);u=u===fe?E>>16&P:u&P,f?u|=ie:f=Boolean(u&ie),w?u|=ae:w=Boolean(u&ae),p?u|=512:p=Boolean(512&u),S&&!e||(z?u=-61441&u|oe:u&re||(u|=32768),E=(u&P)<<16|E&P)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==fe)e&=L;else if(t!==fe){const{readOnly:n,hidden:r,system:o,directory:i,archive:a}=t;let s=0;n&&(s|=1),r&&(s|=2),o&&(s|=4),i&&(s|=16),a&&(s|=32),e=s&L}return t===fe&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(E=E&M|m&L);const g=E>>16&P,b=u!==fe&&40960==(u&re);return{name:n,qe:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:E,unixExternalUpper:g,uid:s,gid:c,unixMode:u,unixExtraFieldType:l,symlink:b,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Ac(e,n,"encodeText")||Xt;let i=r(t,Ue);if(i===fe&&(i=Xt(t)),qc(i)>P)throw new d(ys);const a=n[ai]||"";if(typeof a!=he)throw new d(ms);let c=r(a,Me);if(c===fe&&(c=Xt(a)),qc(c)>P)throw new d(ps);const u=Rc(e,n,xi);if(u!==fe&&u>P)throw new d(Es);const l=Cc(e,n,di,new s),f=Rc(e,n,wi),w=Cc(e,n,pi),p=Cc(e,n,hi),m=Rc(e,n,Ei,0),h=Ye(Rc(e,n,be)),y=Boolean(h),E=!0===h,S=Rc(e,n,ze),z=Rc(e,n,ge);Je(S,z);const g=Ic(e,n,"encryptionStrength",3),b=Rc(e,n,Di),F=Rc(e,n,"extendedTimestamp",!0),v=Rc(e,n,"ntfsTimestamp"),x=Rc(e,n,"keepOrder",!0),T=Rc(e,n,ve),D=Rc(e,n,Te),R=Rc(e,n,"bufferedWrite"),C=Ac(e,n,"createTempStream"),A=Rc(e,n,"dataDescriptorSignature",!0),I=Ge(Rc(e,n,Fe));Ke(I);const k=Rc(e,n,Ce,!Wc(i)||!Wc(c)),O=Rc(e,n,Ai),N=y||O===fe?fe:Yn(O);if(!y&&O!==fe&&0!==O&&8!==O&&!N)throw new d(Hn);let U=Ic(e,n,Re);if(_e(U,9,Xs),e.options[ke]){if(S!==fe||z!==fe)throw new d(zs);U===fe&&O===fe&&(U=0)}y&&(U=$e(n[Re]));let M=Rc(e,n,xe),L=Rc(e,n,Ae);R&&L===fe&&(L=!1),(L===fe||b&&!E)&&(L=!0),U!==fe&&6!=U&&(M=!1);const q=Rc(e,n,Fi);if(!(b||S===fe&&z===fe||o.isInteger(g)&&g>=1&&g<=3))throw new d(Ss);const V=uc(n[ki]),W=uc(n.localExtraField),B=uc(n.centralExtraField);return{comment:a,qe:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,Ve:y,We:E,password:S,rawPassword:z,encryptionStrength:g,zipCrypto:b,extendedTimestamp:F,ntfsTimestamp:v,keepOrder:x,useWebWorkers:T,transferStreams:D,bufferedWrite:R,createTempStream:C,dataDescriptorSignature:A,signal:I,useUnicodeFileNames:k,compressionMethod:O,format:N?N.format:fe,codecURI:N?N.codecURI:fe,Be:N?N.versionNeeded:fe,level:U,useCompressionStream:M,dataDescriptor:L,zip64:q,rawExtraField:V,je:W,Me:B}}}(e,r,u),{comment:p}=f,m=u[ki];e.we.set(r,fe);const h=e.ze,y={};let S,z;f.qe.keepOrder&&(y.Ze=new E(e=>S=e)),e.ze=y;try{const{qe:t}=f;0==t.level||t.compressionMethod!==fe||t.Ve||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;return!(!n||n.M)||!(!dr(t)&&(r=t,!fr(r,ir)))||!!n&&await Rr();var r}(dt())||(t.level=0,ri(e.warnings,Js,r));const o=await async function(e,t,{qe:r},o){if(r.Ve&&!t&&!Rc(e,o,Ri))throw new d(Us);let i;if(t){if(t=new Yo(t),await $o(t),!t.readable&&!t.readUint8Array)throw new d(Ms);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{Ve:i,We:a,zipCrypto:s,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:f,zip64:w,level:p,compressionMethod:m}=r,h=0,y=0,E=!1;if(i&&t){if(y=o[ci],y===fe)throw new d(ks);if(m===fe)throw new d(Os)}const S=!0===w,z=Rc(e,o,vi);if(t&&a&&!z&&qc(c,u))throw new d(bs);const g=t&&(Boolean(c&&qc(c)||u&&qc(u))||a&&z);t||(p=0,m=0);const b=Vi(g,s,l);t&&(i?(o.uncompressedSize=y,h=n===fe?kc(y)+b:n+(a?0:b)):n===fe?(f=!0,(w||w===fe)&&(w=E=!0,h=4294967296)):(o.uncompressedSize=y=n,h=(Oc(m,p)?kc(y):y)+b));const F=!(g||t&&(0!==n||i)||Oc(m,p));F&&Rc(e,o,Ae)===fe&&(f=!1);const v=S||E||y>=M,x=S||h>=M;if(v||x){if(!1===w)throw new d(Is);w=!0}return w=w||!1,{Xe:h,qe:{dataDescriptor:f,He:F,zip64:w,Ce:S,Ge:E,Re:v,De:x,uncompressedSize:y,level:p,compressionMethod:m,encrypted:g}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=pc(e.writer),m=wc(e.writer);let g=u.crc32===fe?u[Ii]:u.crc32;const b=o.qe.encrypted&&!t.zipCrypto;if(t.Ve&&!t.We&&b&&(g=fe),t.Ve&&c&&!b&&g===fe)throw new d(Ns);const F=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,je:h,encryptionStrength:y,extendedTimestamp:E,ntfsTimestamp:S,Ve:z,encrypted:g,Re:b,De:F,uncompressedSize:v,Ge:x,crc32:T}=e;let{version:D,compressionMethod:R}=e;const C=!p&&Oc(R,c);let A;const I=z||!C,k=u&&(e.bufferedWrite||!w||!b&&!F||I&&!x),O=k||u&&w&&(b||F);if(u&&(b||F)){const e=20,t=dc(e);if(t.Ke(1),t.Ke(e-4),A=t.Je,k&&(t.Ye(v),I)){const e=Vi(g,l,y);t.Ye(z?0:v+e)}}else A=Ee;let N,U,M,L,V,W;if(g&&!l){const e=dc(qc(Qs)+2);e.Ke(Q),e.Qe(Qs),N=e.Je,N[8]=y}else N=Ee;if(E){const e=Tc(n),t=(B=e)>=Ds&&B<=Rs;if(t){const t=9+(o?4:0)+(i?4:0),n=dc(t);L=1+(o?2:0)+(i?4:0),V=e,n.Ke(_),n.Ke(t-4),n._e(L),n.$e(e),o&&n.$e(Dc(Tc(o))),i&&n.$e(Dc(Tc(i))),M=n.Je}else M=Ee;if(S===fe?!t||Boolean(o||i):S)try{const e=xc(n),t=dc(36);t.Ke(10),t.Ke(32),t.et(4),t.Ke(1),t.Ke(24),t.Ye(e),t.Ye(o?xc(o):e),t.Ye(i?xc(i):e),U=t.Je}catch{U=Ee}else U=Ee}else U=M=Ee;var B;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=_s||t===fe&&n===fe)if(r!=$s||t===fe&&n===fe)W=Ee;else{const e=dc(8);e.Ke(te),e.Ke(4),e.Ke((t===fe?0:t)&P),e.Ke((n===fe?0:n)&P),W=e.Je}else{const e=fc(t===fe?0:t),r=fc(n===fe?0:n),o=3+e.length+r.length,i=dc(4+o);i.Ke(ee),i.Ke(o),i._e(1),i._e(e.length),i.Qe(e),i._e(r.length),i.Qe(r),W=i.Je}}catch{W=Ee}R===fe&&(R=C?8:0),D===fe&&(D=0!=R||p||g?20:10);const{Be:j}=e;C&&j!==fe&&(D=D>j?D:j),u&&(D=D>45?D:45),g&&!l&&(D=D>51?D:51,z&&T!==fe&&(N[4]=1),Uc(kt(N),9,R),R=99);const Z=O?qc(A):0,X=Z+qc(N,M,U,W,m,h);if(X+(e[ke]?67:0)>P)throw new d(Ts);const H=new s(2e3*a.ceil(a.floor(n.getTime()/1e3)/2)),G=H<le?le:H>ue?ue:H,K=qc(M)?new s(1e3*Tc(n)):qc(U)?n:G,{xe:J,Te:Y,rawLastModDate:$}=Vc({version:D,bitFlag:Bc(c,f,w,g,R),compressionMethod:R,uncompressedSize:v,lastModDate:G,rawLastModDate:r,rawFilename:t,De:F,Re:b,extraFieldLength:X}),ne=dc(ce+qc(t)+X),re=ne.Je,oe=kt(re);return ne.$e(q),ne.Qe(J),ne.Qe(t),O&&ne.Qe(A),ne.Qe(N),ne.Qe(M),ne.Qe(U),ne.Qe(W),ne.Qe(m),ne.Qe(h),w&&(F||Mc(oe,18,0),b||Mc(oe,22,0)),{nt:re,ot:oe,xe:J,Te:Y,lastModDate:K,it:K===G&&H.getTime()!=G.getTime(),rawLastModDate:$,encrypted:g,compressed:C,version:D,compressionMethod:R,st:L,ct:V,Ie:Ee,ut:Z,Oe:M,Ne:U,Ue:W,ke:N,extraFieldLength:X}}(u=n.assign({},u,l.qe,f.qe,o.qe,{signature:u[Ii],crc32:g,offset:e.offset-p,diskNumberStart:m,[ke]:e.options[ke]}));F.it&&ri(e.warnings,Ys,r);const x=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=Ee,i=0,a=e?20:12;return n&&(a+=4),t&&(o=new w(a),r=kt(o),n&&(i=4,Mc(r,0,W))),{lt:o,ft:r,wt:i}}(u),T=qc(F.nt,x.lt);z=await async function(e,t,r,o,a){const{we:s,writer:c}=e,{keepOrder:u,dataDescriptor:l,He:f,signal:w}=a,{ht:p,fe:m,yt:h,Et:y}=o,S=e.options[ke];let z,g,b,F,x,T,D,R=m,C=0;const A=u&&h?h.Ze:fe;s.set(t,R);try{a.bufferedWrite||!u||e.Fe||e.Ee||e.Se||!l&&!f?(z=!0,e.Ee++,D=a.createTempStream?await a.createTempStream():new v(fe,fe,{highWaterMark:de}),D.size=0,await $o(c)):(g=!0,e.Se++,D=c,await A,await I()),await $o(D);const m=pc(c);e.de&&!z&&await bc(e,c),S&&!z&&lc(o,e.offset-m);const{nt:h}=p;z||await k();const y=wc(c),b=hc(e,c);if(R.diskNumberStart=y,z||(x=!0,T=c.size,await Fc(D,h)),R=await async function(e,t,{diskNumberStart:r,Ze:o},a,s,c){const{ht:u,St:l,zt:f}=a,{xe:w,Te:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:E,version:S,compressionMethod:z,Ie:g,ut:b,Oe:F,st:v,ct:x,Ne:T,Ue:D,ke:R}=u,{lt:C}=l,{rawFilename:A,lastAccessDate:I,creationDate:k,password:O,rawPassword:N,level:U,useUnicodeFileNames:P,zip64:q,Ce:V,Re:W,De:B,zipCrypto:j,dataDescriptor:Z,directory:X,executable:H,versionMadeBy:G,rawComment:K,rawExtraField:J,Me:Y,useWebWorkers:Q,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,uid:ce,gid:ue,unixMode:le,symlink:de,setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:Ee,useCompressionStream:Se,Ve:ze,We:ge,format:be,codecURI:Fe}=c,ve={Ze:o,versionMadeBy:G,zip64:q,Ce:V,directory:Boolean(X),executable:Boolean(H),filenameUTF8:Boolean(P),rawFilename:A,commentUTF8:Boolean(P),rawComment:K,Ie:g,ut:b,Oe:F,Ne:T,Ue:D,ke:R,rawExtraField:J,Me:Y,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,diskNumberStart:r,uid:ce,gid:ue,unixMode:le,symlink:Boolean(de),setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:Ee};let{crc32:xe,uncompressedSize:Te}=c,De=0;ze||(Te=0);const{writable:Re}=t;if(e){const n=e.size,r=Vn(ni(e,{size:n})),o={options:{codecType:Sr,inputSize:n,level:U,rawPassword:N,password:O,encryptionStrength:re,zipCrypto:y&&j,passwordVerification:y&&j&&h>>8&L,computeCrc32:!ze,compressed:E&&!ze,encrypted:y&&!ge,useWebWorkers:Q,useCompressionStream:Se,transferStreams:_,format:be,codecURI:Fe,compressionMethod:z},config:s,T:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await $r({readable:r,writable:Re},o);if(De=e.outputSize,t.size+=De,ze||(Te=e.inputSize,y&&!j||(xe=e.crc32)),!B&&De>=M||!W&&Te>=M)throw new d(Is)}catch(e){const{outputSize:n}=o;throw n!==fe?t.size+=n:Ot(e)&&e.outputSize!==fe&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,ht:r,St:o},{zip64:a,zipCrypto:s,Ve:c,dataDescriptor:u}){const{Te:l,encrypted:f}=r,{ft:d,wt:w}=o;f&&!s&&!c||e===fe||(Mc(l,10,e),u&&Mc(d,w,e)),a?u&&(Pc(d,w+4,i(t)),Pc(d,w+12,i(n))):(Mc(l,14,t),Mc(l,18,n),u&&(Mc(d,w+4,t),Mc(d,w+8,n)))}({crc32:xe,compressedSize:De,uncompressedSize:Te,ht:u,St:l},c),Z&&await Fc(t,C),n.assign(ve,{uncompressedSize:Te,compressedSize:De,lastModDate:m,rawLastModDate:h,creationDate:k,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(j),size:f+De,compressionMethod:z,version:S,xe:w,Te:p,signature:xe,crc32:!y||j||ze?xe:fe,st:v,ct:x,Re:W,De:B}),ve}(r,D,R,o,dt(),a),z||(x=!1),s.set(t,R),R.filename=t,z){if(await E.all([D.writable.getWriter().close(),A]),await I(),e.de&&await bc(e,c),F=!0,T=c.size,await k(),R.diskNumberStart=wc(c),R.offset=hc(e,c),S){const t=o.zt;lc(o,e.offset-pc(c)),R.size+=o.zt-t}!function({rawFilename:e,encrypted:t,zip64:n,ut:r,crc32:o,compressedSize:a,uncompressedSize:s,Re:c,De:u},l,{dataDescriptor:f,Ve:d}){if(f||((!t||d&&o!==fe)&&Mc(l,14,o),u||Mc(l,18,a),c||Mc(l,22,s)),n&&r){const t=ce+qc(e)+4;Pc(l,t,i(s)),Pc(l,t+8,i(a))}}(R,p.ot,a),await Fc(c,p.nt),await vc(D.readable,c,w,e=>C+=e),c.size+=D.size,F=!1}else R.diskNumberStart=y,R.offset=b;return e.offset+=R.size,R}catch(n){if(F||x){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-T,z&&(e.offset+=C)}throw s.delete(t),n}finally{if(z&&e.Ee--,g&&e.Se--,y&&y(A),b&&b(),z&&D&&D.dispose)try{await D.dispose()}catch{}}async function I(){e.Fe=!0;const{ve:t}=e;e.ve=new E(t=>b=()=>{e.Fe=!1,t()}),await t}async function k(){mc(c,qc(p.nt))&&await c.closeDisk()}}(e,r,c,{ht:F,St:x,zt:T,fe:y,yt:h,Et:S},u)}catch(t){throw e.we.delete(r),t}finally{S&&S(h&&h.Ze)}return n.assign(z,{name:r,comment:p,extraField:m}),new Li(z)}(e,r,u,l)}catch(t){throw e.pe.delete(r),t}finally{const e=nc.shift();e?e():tc--}}(l,e,r,u);f.add(p);const m=()=>f.delete(p);return E.prototype.then.call(p,m,m),ac(l,p)}remove(e){const{pe:t,we:n}=this;if(typeof e==he&&(e=n.get(e)),e&&e.filename!==fe){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=Ee,n={}){const r=this,{he:o,writer:a}=this,{writable:s}=a;if(r.ge)return ic(a);if(!(e instanceof w))throw new d(ws);if(qc(e)>P)throw new d(ds);for(;o.size;)await E.allSettled(t.from(o));await E.allSettled(r.ye.map(e=>e.gt));const c=r.ye.filter(e=>e.bt&&!e.Ft);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Ft=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{vt:o,xt:a}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,ke:o,rawComment:i,Ne:a,Ue:s,rawExtraField:c,Me:u,st:l,ct:f,Ce:w,uncompressedSize:p,compressedSize:m}=r;let{Re:h,De:y}=r;w||(h&&p<M&&(h=r.Re=!1),y&&m<M&&(y=r.De=!1)),n=n||h||y;const E=r.offset>=M,S=r.diskNumberStart>=P;let z,g;if(E||S||h||y){const e=4+(h?8:0)+(y?8:0)+(E?8:0)+(S?4:0),t=dc(e);t.Ke(1),t.Ke(e-4),h&&t.Ye(p),y&&t.Ye(m),E&&t.Ye(r.offset),S&&t.$e(r.diskNumberStart),z=t.Je}else z=Ee;if(r.Ie=z,r.Tt=E,r.Ae=S,f===fe)g=Ee;else{const e=dc(9);e.Ke(_),e.Ke(5),e._e(l),e.$e(f),g=e.Je}r.Oe=g;const b=qc(z,o,a,s,g,c,u);if(b>P)throw new d(Ts);t+=G+qc(e,i)+b}return{vt:t,xt:n}}(e.we),{Dt:s,Rt:c,Ct:u}=await async function(e,n,r){const{we:o,writer:i}=e,a=new w(n);await $o(i);let s=0,c=0,u=wc(i),l=pc(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,Ie:w,ke:p,Oe:m,Ne:h,Ue:y,rawExtraField:E,Me:S,rawComment:z,versionMadeBy:g,xe:b,Te:F,Re:v,De:x,Ae:T,Tt:D,internalFileAttributes:R,externalFileAttributes:C,diskNumberStart:A,uncompressedSize:I,compressedSize:k}=n,O=qc(w,p,m,h,y,E,S),N=G+qc(d,z)+O;mc(i,s+N-c)&&(await Fc(i,a.slice(c,s)),c=s,f=0,await i.closeDisk()),0==e&&(u=wc(i),l=pc(i)),v||Mc(F,18,I),x||Mc(F,14,k),(D||T)&&n.version<45&&Uc(F,0,45);const U=dc(N);if(U.$e(j),U.Ke(g),U.Qe(b.subarray(0,24)),U.Ke(O),U.Ke(qc(z)),U.Ke(T?P:A),U.Ke(R),U.$e(C),U.$e(D?M:t),U.Qe(d),U.Qe(w),U.Qe(p),U.Qe(m),U.Qe(h),U.Qe(y),U.Qe(E),U.Qe(S),U.Qe(z),Lc(a,U.Je,s),s+=N,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new Li(n))}catch{}}return await Fc(i,c?a.slice(c):a),{Dt:{diskNumber:u,diskOffset:l},Rt:{diskNumber:wc(i),At:f},Ct:a}}(e,o,r),l=await async function(e,t,n){const r=Ac(e,n,"signCentralDirectory");if(r){const n=await r(t),o=qc(n);if(o>P)throw new d(Hs);const i=dc(6+o);i.$e(B),i.Ke(o),i.Qe(n);const{writer:a}=e;return mc(a,qc(i.Je))&&await a.closeDisk(),await Fc(a,i.Je),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{Dt:a,Rt:s,It:c,xt:u}=r;let{vt:l}=r,f=e.we.size,w=a.diskNumber,p=hc(e,a);const m=qc(t);if(m>P)throw new d(ds);let h=Rc(e,n,Fi),y=wc(o);if(mc(o,(h?98:K)+m)&&y++,p>=M||l>=M||f>=P||y>=P){if(!1===h)throw new d(Is);h=!0}else h===fe&&u&&(h=!0);const E=dc(h?98:K);mc(o,qc(E.Je)+m)&&await o.closeDisk(),y=wc(o);let S=y==s.diskNumber?s.At:0;h&&(E.$e(X),E.Ye(44),E.Ke(45),E.Ke(45),E.$e(y),E.$e(w),E.Ye(S),E.Ye(f),E.Ye(l),E.Ye(p),E.$e(H),E.$e(y),E.Ye(i(hc(e,o))+i(l)+i(c)),E.$e(y+1),Rc(e,n,"supportZip64SplitFile",!0)&&(y=P,w=P),S=P,f=P,p=M,l=M),E.$e(Z),E.Ke(y),E.Ke(w),E.Ke(S),E.Ke(f),E.$e(l),E.$e(p),E.Ke(m),await Fc(o,E.Je),m&&await Fc(o,t)}(e,n,r,{Dt:s,Rt:c,vt:o,It:l,xt:a})}(r,e,n),r.ge=!0,!_o(a)&&Rc(r,n,De)||await s.getWriter().close(),ic(a)}[Se](){return this.close()}}class oc extends E{then(e,t){const{kt:n}=this;return n&&(n.Ft=!0),super.then(e,t)}}function ic(e){return e.getData?e.getData():e.writable}function ac(e,t){const r=new oc((e,n)=>E.prototype.then.call(t,e,n)),o={};return r.kt=o,o.gt=E.prototype.then.call(r,fe,e=>n.assign(o,{bt:!0,error:e})),e.ye.push(o),r}async function sc(e,t){try{await e.writer.writable.abort(t)}catch{}}function cc(e,t,n){e.he.add(t),t.catch(e=>{try{n(e)}catch{}})}function uc(e){if(!e)return Ee;if(!(e instanceof c))throw new d(Fs);let t=0,n=0;e.forEach((e,n)=>{if(Qe(n,P,vs),!(e instanceof w))throw new d(xs);if(qc(e)>P)throw new d(Ts);t+=4+qc(e)});const r=new w(t),o=kt(r);return e.forEach((e,t)=>{Uc(o,n,t),Uc(o,n+2,qc(e)),Lc(r,e,n+4),n+=4+qc(e)}),r}function lc(e,t){const{ht:n}=e;let{nt:r,extraFieldLength:o}=n,i=64-(t+qc(r))%64;i<4&&(i+=64);const a=new w(i),s=kt(a);Uc(s,0,$),Uc(s,2,i-4);const c=r;n.nt=r=new w(qc(c)+i),Lc(r,c),Lc(r,a,qc(c));const u=kt(r);Uc(u,28,o+i),n.ot=u,e.zt+=i}function fc(e){const t=new w(4);kt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function dc(e){const t=new w(e),n=kt(t);let r=0;return{Je:t,_e:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Ke:e=>{Uc(n,r,e),r+=2},$e:e=>{Mc(n,r,e),r+=4},Ye:e=>{Pc(n,r,i(e)),r+=8},Qe:e=>{Lc(t,e,r),r+=qc(e)},et:e=>r+=e}}function wc(e){const{diskNumber:t=0}=e;return t}function pc(e){const{diskOffset:t=0}=e;return t}function mc(e,t){const{availableSize:n=de}=e;return t>n}function hc(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.me:0)}function yc(e){const t=kt(e);let n=0;for(;n+4<=qc(e);){const r=4+Nc(t,n+2);if(1==Nc(t,n))return yc(At(e.subarray(0,n),e.subarray(a.min(n+r,qc(e)))));n+=r}return e}async function Ec(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await vc(ni(t,{offset:n,size:r}),o,fe,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Sc(e,t){const n=await ti(e,t,ce);if(qc(n)<ce)return ce;const r=kt(n);return ce+Nc(r,26)+Nc(r,28)}function zc(e,{offset:t,diskNumberStart:n}){return t+(e.oe?e.oe(n):0)}function gc(){const e=new w(4);return Mc(kt(e),0,V),e}async function bc(e,t){delete e.de,await Fc(t,gc()),e.offset+=4}async function Fc(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=qc(t),await r.write(t)}finally{r.releaseLock()}}async function vc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new T({async write(e){await o.ready,await o.write(e),r(qc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function xc(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Cs?Cs:t>As?As:t}}function Tc(e){return a.floor(e.getTime()/1e3)}function Dc(e){return a.min(Rs,a.max(Ds,e))}function Rc(e,t,n,r){const o=t[n]===fe?e.options[n]:t[n];return o===fe?r:o}function Cc(e,t,n,r){const i=Rc(e,t,n,r);if(null===i)return r;if(i!==fe&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new d(hs);return i}function Ac(e,t,n){return He(Rc(e,t,n))}function Ic(e,t,n,r){return $e(Rc(e,t,n,r))}function kc(e){return e+5*(a.floor(e/16383)+1)}function Oc(e,t){return e===fe?t===fe||t>0:0!==e}function Nc(e,t){return e.getUint16(t,!0)}function Uc(e,t,n){e.setUint16(t,n,!0)}function Mc(e,t,n){e.setUint32(t,n,!0)}function Pc(e,t,n){e.setBigUint64(t,n,!0)}function Lc(e,t,n){e.set(t,n)}function qc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Vc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:a,rawFilename:s,De:c,Re:u,extraFieldLength:l}){const f=dc(26),d=f.Je,w=kt(d);if(f.Ke(e),f.Ke(t),f.Ke(n),a===fe){const e=new m(1),t=kt(e);Uc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Uc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return f.$e(a),f.et(4),c||o!==fe?f.$e(c?M:o):f.et(4),u||r!==fe?f.$e(u?M:r):f.et(4),f.Ke(qc(s)),f.Ke(l),{xe:d,Te:w,rawLastModDate:a}}function Wc(e){return e.every(e=>e>=32&&e<=126)}function Bc(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function jc(e,t){if(!e)return!1;const{Ot:n}=e;return n?n.includes(t):fr(e,t)}const Zc=1048576,Xc=".zip.js-temp",Hc=1048576,Gc=1048576,Kc=".zip.js-temp",Jc="createSyncAccessHandle is only available in dedicated workers";try{Et({baseURI:void 0===g&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===g?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-legacy.min.js",g.baseURI).href})}catch{}Rt(Et),e.BlobReader=Do,e.BlobWriter=Ro,e.Data64URIReader=class extends Fo{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Nt:e,Ut:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{Ut:n,Nt:r}=this,o=new w(t),i=4*a.floor(e/3),s=atob(r.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);let u=0;for(let e=c;e<c+t&&e<s.length;e++)o[e-c]=s.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends vo{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Mt:""})}writeUint8Array(e){const t=this;let n,o=t.Mt;const i=t.Mt.length;for(t.Mt="",n=0;n<3*a.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Mt+=r.fromCharCode(e[n]);o.length>2?t.data+=F(o):t.Mt=o+t.Mt}getData(){return this.data+F(this.Mt)}},e.ERR_ABORTED=Xe,e.ERR_AMBIGUOUS_ARCHIVE=_i,e.ERR_BAD_FORMAT=Wi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Zi,e.ERR_DUPLICATED_NAME=fs,e.ERR_ENCRYPTED=Gi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=$i,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Qi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ji,e.ERR_EOCDR_NOT_FOUND=Bi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Hi,e.ERR_HTTP_RANGE=uo,e.ERR_HTTP_RESOURCE_CHANGED=lo,e.ERR_HTTP_STATUS=co,e.ERR_INVALID_AUTHENTICATION_CODE=un,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=jn,e.ERR_INVALID_CODEC_MODULE=Xn,e.ERR_INVALID_COMMENT=ds,e.ERR_INVALID_COMMENT_TYPE=ws,e.ERR_INVALID_COMPRESSED_DATA=tr,e.ERR_INVALID_CRC32=nr,e.ERR_INVALID_DATE=hs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ss,e.ERR_INVALID_ENTRY=Gs,e.ERR_INVALID_ENTRY_COMMENT=ps,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ms,e.ERR_INVALID_ENTRY_NAME=ys,e.ERR_INVALID_EXTRAFIELD=Fs,e.ERR_INVALID_EXTRAFIELD_DATA=Ts,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=xs,e.ERR_INVALID_EXTRAFIELD_TYPE=vs,e.ERR_INVALID_FILENAME_VALIDATION=na,e.ERR_INVALID_FUNCTION_OPTION=We,e.ERR_INVALID_GID=qs,e.ERR_INVALID_LEVEL=Xs,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=ra,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=js,e.ERR_INVALID_MSDOS_DATA=Zs,e.ERR_INVALID_PASSWORD=cn,e.ERR_INVALID_PASSWORD_TYPE=je,e.ERR_INVALID_PASS_THROUGH_VALUE=Ze,e.ERR_INVALID_READER=Ms,e.ERR_INVALID_SIGNAL=Be,e.ERR_INVALID_SIGNATURE_DATA=Hs,e.ERR_INVALID_STRICTNESS=ta,e.ERR_INVALID_UID=Ls,e.ERR_INVALID_UNCOMPRESSED_SIZE=er,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ws,e.ERR_INVALID_UNIX_ID_SIZE=Bs,e.ERR_INVALID_UNIX_MODE=Vs,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=Es,e.ERR_ITERATOR_COMPLETED_TOO_SOON=fo,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Xi,e.ERR_OVERLAPPING_ENTRY=Yi,e.ERR_RESERVED_COMPRESSION_METHOD=Zn,e.ERR_SPLIT_ZIP_FILE=Ji,e.ERR_UNDEFINED_COMPRESSION_METHOD=Os,e.ERR_UNDEFINED_CRC32=Ns,e.ERR_UNDEFINED_READER=Us,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ks,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=ea,e.ERR_UNSUPPORTED_COMPRESSION=Hn,e.ERR_UNSUPPORTED_CONTEXT=Jc,e.ERR_UNSUPPORTED_CRYPTO_API=fn,e.ERR_UNSUPPORTED_ENCRYPTION=Ki,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=bs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=zs,e.ERR_UNSUPPORTED_FORMAT=Is,e.ERR_UNSUPPORTED_SPLIT_USDZ=gs,e.ERR_UNSUPPORTED_UINT64=oa,e.ERR_WORKER_STARTUP_TIMEOUT=Fr,e.ERR_WRITER_NOT_INITIALIZED=wo,e.ERR_WRITER_SIZE_NOT_WRITABLE=po,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=Ks,e.ERR_ZIP_NOT_EMPTY=Ps,e.HttpRangeReader=class extends Go{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Go,e.Reader=Fo,e.SplitDataReader=Ko,e.SplitDataWriter=Jo,e.TextReader=class extends Do{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Ro{constructor(e){super(),n.assign(this,{encoding:e,Pt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Pt:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return so(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Fo{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Je:e,size:e.length})}readUint8Array(e,t){return this.Je.slice(e,e+t)}},e.Uint8ArrayWriter=class extends vo{constructor(e){super(),this.Lt=e||262144}init(e=0){n.assign(this,{offset:0,Je:new w(e>0?e:this.Lt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Je.length){let e=t.Je.length?2*t.Je.length:t.Lt;for(;e<n;)e*=2;const r=t.Je;t.Je=new w(e),t.Je.set(r)}t.Je.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Je.length?this.Je:this.Je.slice(0,this.offset)}},e.VERSION="2.14.0",e.WARNING_APPENDED_DATA=fa,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=Ys,e.WARNING_COMPRESSED_PATCHED_DATA=sa,e.WARNING_COMPRESSION_UNAVAILABLE=Js,e.WARNING_DUPLICATE_FILENAME=ma,e.WARNING_MALFORMED_EXTRA_FIELD=ca,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Sa,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=za,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=ga,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=Ea,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=ha,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=ya,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=wa,e.WARNING_PREPENDED_DATA=da,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=pa,e.WARNING_UNKNOWN_VERSION=aa,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=ua,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=ia,e.WARNING_WRAPPED_ENTRIES_COUNT=la,e.Writer=vo,e.ZipReader=Ra,e.ZipReaderStream=Ca,e.ZipWriter=rc,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new v;this.readable=t,this.zipWriter=new rc(n,e),this.he=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new v({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await sc(t,e)}}()}});return cc(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new v({start(e){t=e}});return cc(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await E.allSettled(t.from(this.he))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await sc(r,e),e}try{return await r.close(e,n)}catch(e){throw await sc(r,e),e}}},e.configure=function(e){n.assign(ft,mt(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=Hc}=e;return function(){const e=[];let n,r,o,i=0,a=!1;const s=new T({async write(o){a?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new v;r=Wn(t.readable),n=t.writable.getWriter(),a=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:s,readable:new x({async pull(t){if(a){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Zc,directoryName:r=Xc,getDirectory:o=()=>C.storage.getDirectory()}=e;let i;function a(){return i||(i=E.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,s,c=0,u=!1;const l=new T({async write(s){u?await i.write(s):(e.push(s),c+=s.length,c>n&&await async function(){const n=await a();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new x({async pull(t){if(u){if(!s){const e=await o.getFile();s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=Gc,directoryName:r=Kc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(Jc);const i=o||(()=>C.storage.getDirectory());let s;function c(){return s||(s=E.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return function(){const e=[];let r,o,i=0,s=!1,u=0,l=0;const f=new T({async write(a){s?(o.write(a,{at:u}),u+=a.length):(e.push(a),i+=a.length,i>n&&await async function(){const n=await c();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),s=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new x({pull(t){if(s){const e=u-l;if(e<=0)return void t.close();const n=new w(a.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Qn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=dt(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:jc(n,rr)||jc(e,rr)||jc(e,ir),decompression:jc(r,rr)||jc(t,rr)||jc(t,ir),registered:!1},{compressionMethod:9,compression:!1,decompression:jc(r,or)||jc(t,or),registered:!1}];for(const e of Qn()){const t=_n(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:fe,decompression:t?typeof t.DecompressionStream==pe:fe,registered:!0})}return o},e.isZipFile=Aa,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:a,versionNeeded:s}=e;if(!o.isInteger(t)||t<0||t>P||typeof n!=he||!n.length)throw new d(jn);if(Gn.includes(t))throw new d(Zn);const c=typeof i==pe||typeof a==pe;if(!(c||typeof r==he&&r.length))throw new d(jn);Kn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:s}),c&&$n(n,{CompressionStream:i,DecompressionStream:a})},e.resetConfiguration=function(){for(const e of lt)delete ft[e];n.assign(ft,ot)},e.terminateWorkers=async function(){await E.allSettled(Kr.map(e=>(oo(e),e.terminate()))),vr=fe,xr=!1},e.unregisterCodec=function(e){const t=Kn.get(e);if(t){let n;Kn.delete(e),Kn.forEach(e=>n=n||e.format==t.format),n||Jn.delete(t.format)}}});
1
+ !function(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:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:E,TextEncoder:g,TextDecoder:b,document:S,crypto:z,btoa:F,TransformStream:x,ReadableStream:D,WritableStream:A,CompressionStream:C,DecompressionStream:v,navigator:R,Worker:T,Symbol:I,setTimeout:k,clearTimeout:N,structuredClone:O}="undefined"!=typeof globalThis?globalThis:self;var U=void 0!==S?S.currentScript:null;const L=4294967295,W=65535,B=255,V=67324752,Z=134695760,M=Z,P=84233040,H=33639248,q=101010256,j=101075792,K=117853008,X=46,J=22,Y=20,G=56,Q=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,se=1024,ae="/",ce=30,ue=new a(2107,11,31,23,59,58),le=new a(1980,0,1),fe=void 0,de=1/0,we="undefined",pe="function",me="object",he="string",ye="boolean",Ee=new w,ge=I.asyncDispose||I(),be="password",Se="rawPassword",ze="passThrough",Fe="signal",xe="useWebWorkers",De="useCompressionStream",Ae="transferStreams",Ce="preventClose",ve="level",Re="useUnicodeFileNames",Te="dataDescriptor",Ie="offset",ke="usdz",Ne="maxAppendedDataSize",Oe="entry",Ue="filename",Le="comment",We="strict",Be="balanced",Ve="tolerant",Ze="compressed",Me="Invalid option (must be a function)",Pe="Invalid signal (must be an AbortSignal instance)",He="Invalid password (password must be a string, rawPassword must be a Uint8Array)",qe="Invalid passThrough option (must be a boolean or 'compressed')",je="The operation was aborted";function Ke(e){if(e&&typeof e!=pe)throw new d(Me);return e}function Xe(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new d(Pe);return e||fe}function Je(e){if(e&&e.aborted)throw e.reason===fe?new DOMException(je,"AbortError"):e.reason}function Ye(e,t){if(e&&typeof e!=he||t&&!(t instanceof w))throw new d(He)}function Ge(e){if(e!==fe&&typeof e!=ye&&e!==Ze)throw new d(qe);return e}function Qe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function _e(e,t,n){e!==fe&&Qe(e,t,n)}function $e(e){return typeof e==he&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof R!=we&&R.hardwareConcurrency&&(rt=R.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=we&&C,DecompressionStream:typeof v!=we&&v},it="maxWorkers",st="baseURI",at=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ut=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=[st,...at,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ut],ft={...ot};function dt(){return ft}function wt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function mt(e){const t={};for(const n of lt){const r=e[n];r!==fe&&(t[n]=ht(n,r))}return t}function ht(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new d(et)}else if(ut.includes(e))Ke(t);else if(e==st){if(t&&typeof t!=he)throw new d(tt)}else if(at.includes(e)&&t&&typeof t!=he&&typeof t!=pe)throw new d(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===fe&&r===fe)return e;const o=n.assign({},e);return o.CompressionStreamFallback===fe&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===fe&&(o.DecompressionStreamFallback=r),o}function Et(e){const t=mt(yt(e));n.assign(ot,t),n.assign(ft,t)}const gt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],bt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],St=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],zt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ft=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xt=new w(288);xt.fill(8,0,144),xt.fill(9,144,256),xt.fill(7,256,280),xt.fill(8,280,288);const Dt=new w(30).fill(5);function At(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const Ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vt=(Rt=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(At(xt),At(Dt));else{if(2!=e)throw new d("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new d("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,m(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)m(i+1),o[i++]=n;else{const e=n-257,r=gt[e]+c(bt[e]),s=p(t),a=St[s]+c(zt[s]);m(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[Ft[e]]=c(3);const o=At(r),i=new w(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[At(i.subarray(0,e)),At(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new d("invalid huffman code")}function m(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=Ct.indexOf(e[r])<<18|Ct.indexOf(e[r+1])<<12|(63&Ct.indexOf(e[r+2]))<<6|63&Ct.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=Rt();if("string"==typeof n&&(n=(new g).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=Ct[n>>18&63]+Ct[n>>12&63]+Ct[n>>6&63]+Ct[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=Ct[n>>18&63]+Ct[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=Ct[n>>18&63]+Ct[n>>12&63]+Ct[n>>6&63]+"="}return t}(n)}}));var Rt;function Tt(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function It(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function kt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}function Nt(e){return Boolean(e)&&"object"==typeof e}const Ot=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Ot[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Ot[t-1][e];Ot[t][e]=n>>>8^Ot[0][255&n]}const[Ut,Lt,Wt,Bt,Vt,Zt,Mt,Pt]=Ot;class Ht{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Pt[255&e]^Mt[e>>>8&255]^Zt[e>>>16&255]^Vt[e>>>24&255]^Bt[255&n]^Wt[n>>>8&255]^Lt[n>>>16&255]^Ut[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Ut[255&(t^e[r])];this.l=t}get(){return~this.l}}class qt extends x{constructor(){let e;const t=new Ht;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function jt(e){if(typeof g==we){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const Kt=64,Xt=20,Jt=new w([128]),Yt=new w(1),Gt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Qt=new w(256),_t=new Int32Array(256),$t=new Int32Array(256),en=new Int32Array(256),tn=new Int32Array(256);let nn=!1;function rn(e){const t=function(){const e=new Int32Array(Gt),t=new Int32Array(16),n=new w(Kt),r=new h(n.buffer),o=new w(8);let i=0,a=0;return{update:c,digest:function(){const t=8*a,n=s.floor(t/4294967296),r=t>>>0;for(c(Jt,0,1);56!=i;)c(Yt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new w(Xt),l=new h(u.buffer);for(let t=0;t<e.length;t++)l.setInt32(4*t,e[t]);return e.set(Gt),i=0,a=0,u}};function c(e,t,o){const s=t+o;if(a+=o,i){for(;t<s&&i<Kt;)n[i++]=e[t++];i==Kt&&(u(r,0),i=0)}if(t+Kt<=s){const n=new h(e.buffer,e.byteOffset,e.byteLength);for(;t+Kt<=s;t+=Kt)u(n,t)}for(;t<s;)n[i++]=e[t++]}function u(n,r){for(let e=0;e<16;e++)t[e]=n.getInt32(r+4*e);let o,i=e[0],s=e[1],a=e[2],c=e[3],u=e[4];for(let e=0;e<15;e+=5)u=(i<<5|i>>>27)+((a^c)&s^c)+u+1518500249+t[e]|0,s=s<<30|s>>>2,c=(u<<5|u>>>27)+((s^a)&i^a)+c+1518500249+t[e+1]|0,i=i<<30|i>>>2,a=(c<<5|c>>>27)+((i^s)&u^s)+a+1518500249+t[e+2]|0,u=u<<30|u>>>2,s=(a<<5|a>>>27)+((u^i)&c^i)+s+1518500249+t[e+3]|0,c=c<<30|c>>>2,i=(s<<5|s>>>27)+((c^u)&a^u)+i+1518500249+t[e+4]|0,a=a<<30|a>>>2;u=(i<<5|i>>>27)+((a^c)&s^c)+u+1518500249+t[15]|0,s=s<<30|s>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((s^a)&i^a)+c+1518500249+o|0,i=i<<30|i>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,a=(c<<5|c>>>27)+((i^s)&u^s)+a+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,s=(a<<5|a>>>27)+((u^i)&c^i)+s+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,i=(s<<5|s>>>27)+((c^u)&a^u)+i+1518500249+o|0,a=a<<30|a>>>2;for(let e=20;e<40;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s^a^c)+u+1859775393+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^s^a)+c+1859775393+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u^i^s)+a+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c^u^i)+s+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a^c^u)+i+1859775393+o|0,a=a<<30|a>>>2;for(let e=40;e<60;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s&a|(s|a)&c)+u+2400959708+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i&s|(i|s)&a)+c+2400959708+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u&i|(u|i)&s)+a+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c&u|(c|u)&i)+s+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a&c|(a|c)&u)+i+2400959708+o|0,a=a<<30|a>>>2;for(let e=60;e<80;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s^a^c)+u+3395469782+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^s^a)+c+3395469782+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u^i^s)+a+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c^u^i)+s+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a^c^u)+i+3395469782+o|0,a=a<<30|a>>>2;e[0]=e[0]+i|0,e[1]=e[1]+s|0,e[2]=e[2]+a|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}}(),n=new w(Kt),r=new w(Kt);e.length>Kt&&(t.update(e,0,e.length),e=t.digest());for(let t=0;t<Kt;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,Kt),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,Kt),t.update(e,0,Xt);const o=t.digest();return t.update(n,0,Kt),o}}}function on(e){return Qt[e>>>24]<<24|Qt[e>>>16&255]<<16|Qt[e>>>8&255]<<8|Qt[255&e]}function sn(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function an(e){return 255&(e<<1^27*(e>>7))}const cn=typeof z!=we&&typeof z.getRandomValues==pe,un="Invalid password",ln="Invalid authentication code",fn="zipjs-abort-check-password",dn="Crypto API not supported";function wn(e){if(cn)return z.getRandomValues(e);throw new d(dn)}const pn={name:"PBKDF2"},mn=n.assign({hash:{name:"HMAC"}},pn),hn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},pn),yn=["deriveBits"],En=[8,12,16],gn=[16,24,32],bn=10,Sn=typeof z!=we,zn=Sn&&z.subtle;let Fn=Sn&&typeof zn!=we&&typeof zn.importKey==pe&&typeof zn.deriveBits==pe;class xn extends x{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){An(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,m:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await Rn(e,t,n,In(r,0,En[t])),i=In(r,En[t]);if(o[0]!=i[0]||o[1]!=i[1])throw vn(e),new d(un)}(n,i,o,In(e,0,En[i]+2)),e=In(e,En[i]+2),r?(vn(n),t.error(new d(fn))):s()):await a;const c=new w(e.length-bn-(e.length-bn)%16);t.enqueue(Cn(n,e,c,0,bn,!0))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const i=In(n,n.length-bn),s=new w(In(n,0,n.length-bn));t.process(s,!0);const a=t.digest();let c=n.length<bn?1:0;for(let e=0;e<bn;e++)c|=a[e]^i[e];if(c&&o)throw new d(ln);e.enqueue(s)}},cancel(){vn(this)}})}}class Dn extends x{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){An(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,m:i,ready:s}=n;let a=Ee;r?(a=await async function(e,t,n){const r=wn(new w(En[t]));return Tt(r,await Rn(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%16);c.set(a,0),t.enqueue(Cn(n,e,c,a.length,0,!1))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const o=new w(n);t.process(o,!1);const i=In(t.digest(),0,bn);e.enqueue(Tt(o,i))}},cancel(){vn(this)}})}}function An(e,t,r,o){n.assign(e,{ready:new E(t=>e.m=t),password:Tn(t,r),strength:o-1,S:Ee})}function Cn(e,t,n,r,o,i){const{h:s,S:a}=e;a.length&&(t=Tt(a,t));const c=t.length-o,u=c-c%16;if(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+u),u){const e=In(n,r,r+u);e.set(In(t,0,u)),s.process(e,i)}return e.S=In(t,u),n}function vn({h:e}){e&&e.dispose&&e.dispose()}async function Rn(e,t,r,o){e.password=null;const i=gn[t],a=await async function(e,t,r){if(Fn)try{const o=await zn.importKey("raw",e,mn,!1,yn);return new w(await zn.deriveBits(n.assign({salt:t},hn),o,8*r))}catch{Fn=!1}return function(e,t,n,r){const o=rn(e),i=new w(r),a=new w(t.length+4),c=new h(a.buffer);a.set(t);for(let e=1,n=0;n<r;e++,n+=Xt){c.setUint32(t.length,e),o.update(a,0,a.length);let u=o.digest();const l=u.slice();for(let e=1;e<1e3;e++){o.update(u,0,Xt),u=o.digest();for(let e=0;e<Xt;e++)l[e]^=u[e]}i.set(l.subarray(0,s.min(Xt,r-n)),n)}return i}(e,t,0,r)}(r,o,2*i+2);return e.h=function(e,t){!function(){if(!nn){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Qt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Qt[0]=99;for(let e=0;e<256;e++){const t=Qt[e],n=an(t),r=n<<24|t<<16|t<<8|n^t;_t[e]=r,$t[e]=r>>>8|r<<24,en[e]=r>>>16|r<<16,tn[e]=r>>>24|r<<8}nn=!0}}();const n=new Int32Array(60),r=function(e,t){const n=e.length>>2,r=n+6,o=4*(r+1);let i=1;for(let r=0;r<n;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;e<o;e++){let r=t[e-1];e%n==0?(r=on(r<<8|r>>>24)^i<<24,i=an(i)):n>6&&e%n==4&&(r=on(r)),t[e]=t[e-n]^r}return r}(e,n),o=new Int32Array(4),i=rn(t);let s=0,a=0,c=0,u=0;return{process(e,t){t&&i.update(e,0,e.length),function(e){const t=new h(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;r+16<=n;r+=16)l(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(r<n){l();for(let t=0;r<n;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}}(e),t||i.update(e,0,e.length)},digest:()=>i.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(c=c+1|0,c||(u=u+1|0)));let e=sn(s)^n[0],t=sn(a)^n[1],i=sn(c)^n[2],l=sn(u)^n[3],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[4],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[5],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[6],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[7];e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[8],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[9],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[10],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[11],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[12],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[13],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[14],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[15],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[16],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[17],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[18],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[19],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[20],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[21],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[22],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[23],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[24],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[25],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[26],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[27],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[28],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[29],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[30],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[31],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[32],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[33],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[34],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[35],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[36],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[37],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[38],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[39];let m=40;r>10&&(e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[40],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[41],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[42],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[43],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[44],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[45],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[46],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[47],m=48),r>12&&(e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[48],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[49],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[50],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[51],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[52],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[53],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[54],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[55],m=56),o[0]=(Qt[f>>>24]<<24|Qt[d>>>16&255]<<16|Qt[w>>>8&255]<<8|Qt[255&p])^n[m],o[1]=(Qt[d>>>24]<<24|Qt[w>>>16&255]<<16|Qt[p>>>8&255]<<8|Qt[255&f])^n[m+1],o[2]=(Qt[w>>>24]<<24|Qt[p>>>16&255]<<16|Qt[f>>>8&255]<<8|Qt[255&d])^n[m+2],o[3]=(Qt[p>>>24]<<24|Qt[f>>>16&255]<<16|Qt[d>>>8&255]<<8|Qt[255&w])^n[m+3]}}(In(a,0,i),In(a,i,2*i)),In(a,2*i)}function Tn(e,t){return t===fe?jt(e):t}function In(e,t,n){return e.subarray(t,n)}class kn extends x{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){On(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Un(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(un);e=e.subarray(12)}r?t.error(new d(fn)):t.enqueue(Un(n,e))}})}}class Nn extends x{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){On(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=wn(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Ln(n,t),0),o=12}else r=new w(e.length),o=0;r.set(Ln(n,e),o),t.enqueue(r)}})}}function On(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,F:new Ht(o[0]),D:new Ht(o[2])}),r)for(let t=0;t<r.length;t++)Wn(e,r[t]);else for(let n=0;n<t.length;n++)Wn(e,t.charCodeAt(n))}(e,t,r)}function Un(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Wn(e,n[r]);return n}function Ln(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Wn(e,t[r]);return n}function Wn(e,t){let[,n]=e.keys;e.F.append([t]);const r=~e.F.get();n=Zn(s.imul(Zn(n+Vn(r)),134775813)+1),e.D.append([n>>>24]);const o=~e.D.get();e.keys=[r,n,o]}function Bn(e){const t=2|e.keys[2];return Vn(s.imul(t,1^t)>>>8)}function Vn(e){return 255&e}function Zn(e){return 4294967295&e}function Mn(e){if(e instanceof D)return e;const t=e.getReader();return new D({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Pn(e,t){e=Mn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof D)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new A({write(e){r.push(e)}})).then(()=>new y(r,n))}function Hn(e){if(e instanceof A)return e;const t=e.getWriter();return new A({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const qn="Invalid codec definition",jn="Reserved compression method",Kn="Invalid codec module",Xn="Compression method not supported",Jn=[0,8,9,99],Yn=new c,Gn=new c;function Qn(e){return Yn.get(e)}function _n(){return t.from(Yn.values(),e=>n.assign({},e,Gn.get(e.format)))}function $n(e){return Gn.get(e)}function er(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new d(Kn);Gn.set(e,{CompressionStream:n,DecompressionStream:r})}const tr="Invalid uncompressed size",nr="Invalid compressed data",rr="Invalid CRC32",or="deflate-raw",ir="deflate64-raw",sr="gzip",ar=[31,139,8];class cr extends x{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,E,g=super.readable;const b=f&&$n(f),S=function(e,t,n){return e&&t?t:n&&n.A?n:void 0}(s,r,n),z=c&&o&&!l&&!b&&(!i||a)&&Boolean(S);if(i&&!a||!c||z||(m=new qt,g=yr(g,m)),o)if(b)g=Er(g,mr(b.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(z)E=new ur,g=Er(g,new S(sr,{level:u,chunkSize:t})),g=yr(g,E);else try{g=hr(g,s,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(sr)}catch{throw e}g=Er(g,t),g=yr(g,new ur)}i&&(a?g=yr(g,new Nn(e)):(y=new Dn(e),g=yr(g,y))),pr(p,g,()=>{i&&!a||!c||(p.crc32=z?E.crc32:new h(m.value.buffer).getUint32(0))})}}class ur extends x{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=Tt(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(Tt(n.subarray(0,a),e.subarray(0,i-a))),n=Tt(n.subarray(a),e.subarray(i-a))},flush(){const t=kt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class lr extends x{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let g,b,S,z=super.readable;if(i&&(o?z=yr(z,new kn(e)):(b=new xn(e),z=yr(z,b))),c){const e=f&&$n(f);if(e)z=Er(z,mr(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{z=hr(z,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===fe)throw e;let t;try{t=new r(sr)}catch{throw e}S=new Ht,z=function(e,t,n,r){let o,i,s,a=0,c=!1;const u=new E((e,t)=>{i=e,s=t});u.catch(()=>{}),n||i();const l=new x({start(e){const t=new w(10);t.set(ar),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{m()}const t=new w(8),o=kt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new x({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=yr(e,l),yr(e=Er(e,t),f);function p(){m(),o=k(()=>s(new d(tr)),5e3)}function m(){N(o)}}(z,t,y,S)}z=function(e){const t=e.getReader();return new D({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(nr);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(z)}s&&!S&&(g=new qt,z=yr(z,g)),pr(this,z,()=>{if(s){const e=S?S.get()>>>0:new h(g.value.buffer).getUint32(0,!1);if(a!=e)throw new d(rr)}})}}const fr=new c;function dr(e,t){if(!e)return!1;let n=fr.get(e);n||(n=new c,fr.set(e,n));let r=n.get(t);if(r===fe){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function wr(e){return dr(e,or)}function pr(e,t,r){t=yr(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function mr(e,t,n){if(!e)throw new d(Xn);return new e(t,n)}function hr(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?ir:or;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Er(e,a)}function yr(e,t){return Mn(e).pipeThrough(t)}function Er(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const gr="data",br="deflate",Sr="inflate";class zr extends x{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(br)?i=cr:o.startsWith(Sr)&&(i=lr),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new x({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new x({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==fe&&r.outputSize>e.outputSize))throw new d(tr)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class Fr extends x{constructor(e){const t=[];let r=0,i=0;function s(){const n=new w(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(s())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const xr="Worker startup timeout";let Dr,Ar,Cr,vr=()=>{};async function Rr(){if(vr)try{return await void 0,!0}catch{}return!1}function Tr(e){e.createWorker?Ar=!0:Dr=!1}class Ir{constructor(e,{readable:t,writable:r},o,i){const{options:s,config:a,C:c,useWebWorkers:u,transferStreams:l,workerURI:f}=o;let{createWorker:d}=o;const{signal:w}=c;return Ar&&(d=fe),n.assign(e,{v:!0,R:(e.R||0)+1,readable:t.pipeThrough(new Fr(wt(a))).pipeThrough(new kr(c),{signal:w}),writable:r,options:n.assign({},s),T:o,workerURI:f,createWorker:d,transferStreams:l,terminate:()=>new E(t=>{const{I:n,v:r}=e;r?(e.N=e.N||[],e.N.push(t)):(n&&(n.terminate(),e.I=null),t()),e.O=null}),U(){if(e.v){const{N:t,I:n}=e;t&&(e.N=null,n&&(e.L=!0,n.terminate())),e.v=!1;const r=i(e);t&&t.forEach(e=>e(r))}}}),Dr===fe&&(Dr=typeof T!=we),(u&&Cr&&(Dr&&f||d)?Cr:Or)(e,a)}}class kr extends x{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Nr(e,n)},async transform(e,r){o+=e.length,t&&await Nr(t,o,n),r.enqueue(e)},async flush(){r&&await Nr(r,o)}})}}async function Nr(e,...t){try{await e(...t)}catch{}}function Or(e,t){return{run:()=>Ur(e,t)}}async function Ur({options:e,readable:t,writable:n,U:r,T:o},i){let s,a,c;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(br),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;e.useCompressionStream?n&&n.A&&!wr(r)&&await u():await u()||n&&!n.A||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await u(),s=new zr(e,i),a=new Fr(wt(i)),await t.pipeThrough(s).pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:c}=s;return{crc32:r,inputSize:o,outputSize:c}}catch(e){if(s){const t=a?a.outputSize:0;if(o.outputSize=t,Nt(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function u(){return c||(c=Rr()),c}}const Lr={type:"module"},Wr="error";let Br,Vr,Zr,Mr=!0;try{Mr=typeof O==pe&&O(new DOMException("","AbortError")).code!==fe}catch{}var Pr;function Hr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function qr(e){const{I:t}=e;if(t)try{t.terminate()}catch{}e.O=null}function jr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(Vr===fe||Br!==e){const n=typeof e==pe;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===fe&&(o=!1),o&&(u=Lr);try{a=new T(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return jr(e,t,r,o,!1);if(o)throw i;return jr(e,t,r,!0,!1)}}else{o===fe&&(o=!0),o&&(u=Lr);try{c=new f(c,t)}catch{}try{a=new T(c,u)}catch(n){if(o)return jr(e,t,r,!1,i);throw n}}Br=e,Vr=c,Zr=u}else a=new T(Vr,Zr);return a.addEventListener("message",e=>{r.W=!0,Kr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a,errorValue:c}=e,{reader:u,writer:l,B:f,V:p,U:m,R:h}=t,y=()=>t.R!=h;try{if(a)E(function(e,t){const{message:r,stack:o,code:i,name:s,outputSize:a,cause:c,codecImportFailed:u}=e;let l;if(t?l=t.value:(l=n.assign(new d(r),{stack:o,code:i,name:s}),c&&(l.cause=n.assign(new d(c.message),{name:c.name}))),Nt(l))try{a!==fe&&(l.outputSize=a),u&&(l.codecImportFailed=!0),t&&(l.name!==s&&(l.name=s),l.code!==i&&(l.code=i))}catch{}return l}(a,c));else{if("pull"==r){const{value:e,done:n}=await u.read();y()||Jr({type:gr,value:e,done:n,messageId:i},t)}if(r==gr){const e=new w(o);await l.ready,await l.write(e),y()||Jr({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(f(e),g(),m())}(s)}}catch(a){y()||(qr(t),E(a))}function E(e){y()||(p(e),g(),Nt(e)&&e.codecImportFailed||m())}function g(){l&&l.releaseLock()}}(e,r)}),a.addEventListener(Wr,e=>Xr(e,r)),a.addEventListener("messageerror",e=>Xr(e,r)),a}function Kr(e){const{Z:t}=e;t&&(N(t),e.Z=null)}function Xr(e,t){e.preventDefault&&e.preventDefault(),Kr(t);const{W:r,V:o,writer:i,U:s}=t;qr(t),r||(t.I=null);let a=e.error||new d(e.message||Wr);r||(a=n.assign(new d(a.message||Wr),{M:!0}),t.P=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Jr(e,{I:t,writer:n,transferStreams:r,W:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=It(n),a.push(e.value.buffer)),r&&Mr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{Mr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Pr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.O){let c;typeof a==pe&&(a=a());try{c=jr(e.workerURI,r,e)}catch{return Tr(e),Or(e,t)}n.assign(e,{I:c,W:!1,L:!1,P:null,O:{run:async()=>{try{return await async function(e,t){if(!e.I){const{P:t}=e;e.P=null;const n=t||new d(xr);throw n.M=!0,n}let r,i;const s=new E((t,n)=>{r=t,i=t=>{const{outputSize:r,T:o}=e;if(o.outputSize=r,Nt(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,H:!1,j:null,B:r,V:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,K:f}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:s}=new x({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),a=s.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});return a.catch(e=>{o||n.assign(t,{H:!0,j:e})}),{writable:i,closed:a,K:()=>{o=!0,r.abort()}}}(e.writable,e);let w;try{w=Jr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.U(),t}w||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.W&&o.isFinite(p)&&p>=0&&(e.Z=k(()=>function(e){if(e.Z=null,e.W)return;const{V:t,writer:n}=e;if(qr(e),e.I=null,t){const e=new d(xr);e.M=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await l,e}catch(t){await m(),f();try{await l}catch{}const{outputSize:n,T:r,H:o,j:i}=e;r.outputSize=n;const s=Nt(t)&&(t.codecImportFailed||t.M),a=o&&!s?i:t;if(Nt(a))try{a.outputSize=n}catch{}throw a}async function m(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.M)return Tr(e),Hr(e),Ur(e,t);if(n&&n.codecImportFailed){if(e.reader)return Hr(e),Ur(e,t);e.U()}throw n}}}})}return e.O},Cr=Pr;let Yr=[];const Gr=[];let Qr,_r,$r=0;async function eo(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Gn.has(e)&&t&&er(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===fe&&r.transferStreams);const g=!(c||u||l||d),b=w===fe||Boolean(n.codecURI);return t.useWebWorkers=!g&&b&&(s||s===fe&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:fe,t.createWorker=t.useWebWorkers&&h?h:fe,n.useCompressionStream=a||a===fe&&r.useCompressionStream,(await async function(){const n=Yr.find(e=>!e.v);if(n)return ao(n),new Ir(n,e,t,S);if(Yr.length<y){const n={X:$r};return $r++,Yr.push(n),new Ir(n,e,t,S)}return new E(n=>{Gr.push({resolve:n,stream:e,T:t}),_r=r.workerStarvationTimeout,to()})}()).run();function S(e){if(no(),e.L)return e.L=!1,oo();if(Gr.length){const[{resolve:t,stream:n,T:r}]=Gr.splice(0,1);t(new Ir(e,n,r,S)),to()}else e.I?(ao(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.J=k(async()=>{Yr=Yr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Yr=Yr.filter(t=>t!=e)}}function to(){!Qr&&Gr.length&&o.isFinite(_r)&&_r>=0&&(Qr=k(ro,_r))}function no(){Qr&&(N(Qr),Qr=null)}function ro(){if(Qr=null,Gr.length){const[{resolve:e,stream:t,T:n}]=Gr.splice(0,1);e(new Ir({},t,io(n),so)),to()}}function oo(){const e=Gr.splice(0).map(({resolve:e,stream:t,T:n})=>new E(r=>{e(new Ir({},t,io(n),()=>{so(),r()}))}));return no(),E.all(e)}function io(e){return n.assign({},e,{useWebWorkers:!1,workerURI:fe,createWorker:fe})}function so(){no(),to()}function ao(e){const{J:t}=e;t&&(N(t),e.J=null)}const co="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function uo(e,t){return fo(e,t,!0)}function lo(e){if(!e.some(e=>e>127))return!1;try{return new b("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function fo(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=co[e[n]];return t}(e):new b(t,{ignoreBOM:n}).decode(e)}const wo="HTTP error ",po="HTTP Range not supported",mo="HTTP resource changed",ho="Writer iterator completed too soon",yo="Writer not initialized",Eo="Invalid writer (size must be writable)",go="Content-Range",bo="Range",So="GET",zo="bytes",Fo=16777216,xo="writable",Do=I();class Ao{constructor(){this.size=0}init(){this.initialized=!0}}class Co extends Ao{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=wt(dt())}={}){const r=this;let o=0;return n=pt(n),new D({async pull(i){const a=t===fe?n:s.min(n,t-o),c=await ii(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==fe&&o>=t||!c.length&&a)&&i.close()}})}}class vo extends Ao{constructor(){super();const e=this,t=new A({write(t){if(!e.initialized)throw new d(yo);return e.writeUint8Array(It(t))}});n.defineProperty(e,xo,{get:()=>t})}writeUint8Array(){}}let Ro,To;class Io extends Co{constructor(e){super(),n.assign(this,{Y:e,size:e.size}),To||(To=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Ro=1==t}catch{Ro=!1}})())}createReadable(e){const{Y:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Mn(t.stream());if(Ro)return Mn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.Y:n.Y.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class ko extends Ao{constructor(e){super();const t=this,r=new x;n.defineProperty(t,xo,{get:()=>r.writable}),t.contentType=e,t.G=Pn(r.readable,e),t.G.catch(()=>{})}getData(){return this.G}}class No extends Co{constructor(e,t){super(),Uo(this,e,t)}async init(){await Lo(this,Yo,jo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=t;if((n||r)&&o!==fe){const{offset:n=0,size:r=o-n}=e||{};if(r>0&&n<o)return function(e,t,n){let r,o=t,i=0,a=n;return new D({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new d(po);const o=t.length>i?t.subarray(0,i):t;i-=o.length,a-=o.length,o.length&&e.enqueue(o),i||(await async function(){const e=r;r=fe,await e.cancel()}(),a||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=s.min(e.maximumRangeSize,a),n=await Yo(So,e,Ho(e,o,t));if(206!=n.status)throw new d(po);const c=Bo(n);if(c!==fe&&c!=o)throw new d(po);Po(e,n),Mo(e,n),o+=t,i=t,r=n.body.getReader()}}(t,n,s.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Wo(this,e,t,Yo,jo)}}class Oo extends Co{constructor(e,t){super(),Uo(this,e,t)}async init(){await Lo(this,Go,Ko),super.init()}readUint8Array(e,t){return Wo(this,e,t,Go,Ko)}}function Uo(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Fo,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function Lo(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=dt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==we||o)){const r=await t(So,e,Ho(e,a?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==zo))throw new d(po);{let o;a&&206==r.status&&(o=new w(await r.arrayBuffer())),Mo(e,r);const i=Vo(r);i===fe?await Jo(e,t,n):e.size=i,o&&o.length&&Bo(r)===e.size-o.length&&(e._=o)}}else await Jo(e,t,n)}async function Wo(e,t,n,r,o){const{useRangeHeader:i,forceRangeRequests:s,_:a,size:c,options:u}=e;if(i||s){if(t>=c||0===n)return Ee;{if(t+n>c&&(n=c-t),a&&t>=c-a.length){const e=t-(c-a.length);return a.slice(e,e+n)}const o=await r(So,e,Ho(e,t,n));if(206!=o.status)throw new d(po);const i=Bo(o);if(i!==fe&&i!=t)throw new d(po);Po(e,o),Mo(e,o);const s=new w(await o.arrayBuffer());if(s.length!=n)throw new d(po);return s}}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Bo(e){const t=e.headers.get(go);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Vo(e){const t=e.headers.get(go);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Zo({headers:e}){return{$:e.get("Etag")||fe,lastModified:e.get("Last-Modified")||fe}}function Mo(e,t){const{checkResourceChanges:n,ee:r}=e;n&&!r&&206==t.status&&(e.ee=Zo(t))}function Po(e,t){const{checkResourceChanges:r,ee:o,size:i}=e;if(r){const e=Vo(t);if(e!==fe&&i!==fe&&e!=i)throw new d(mo);if(o){const e=Zo(t);if(n.entries(o).some(([t,n])=>n!==fe&&e[t]!==fe&&n!=e[t]))throw new d(mo)}}}function Ho(e,t=0,r=1){return n.assign({},qo(e),{[bo]:zo+"="+(t<0?t:t+"-"+(t+r-1))})}function qo({options:e}){const{headers:t}=e;if(t)return I.iterator in t?n.fromEntries(t):t}async function jo(e){await Xo(e,Yo)}async function Ko(e){await Xo(e,Go)}async function Xo(e,t){const n=await t(So,e,qo(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function Jo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,qo(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function Yo(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status>=200&&s.status<=299)return s;throw 416==s.status?new d(po):new d(wo+(s.statusText||s.status))}function Go(e,{url:t},r){return new E((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status>=200&&s.status<=299){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(po):new d(wo+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class Qo extends Co{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Oo(e,t):new No(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 _o extends Co{constructor(e){super(),this.te=e}async init(){const e=this;e.ne=0;const t=e.te=await E.all(e.te.map(oi));e.re=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}oe(e){const{re:t,size:n}=this,r=t[e];return r===fe?n:r}async readUint8Array(e,t){const n=this,{te:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await ii(c,a,t);else{const i=r-a;o=Tt(await ii(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=Ee;return n.ne=s.max(i,n.ne),o}}class $o extends Ao{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new A({async write(t){if(t===Do)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new d(ho);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await ri(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,xo,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Do)}finally{e.releaseLock()}}}class ei{constructor(e){return t.isArray(e)&&(e=new _o(e)),(e instanceof D||typeof e.getReader==pe)&&(e={readable:Mn(e)}),e}}class ti{constructor(e){e.writable===fe&&typeof e.next==pe&&(e=new $o(e)),(e instanceof A||typeof e.getWriter==pe)&&(e={writable:Hn(e)});try{e.size=e.size===fe?0:e.size}catch{throw new d(Eo)}return e}}function ni(e){return Boolean(e&&e.getData)}async function ri(e,t){if(!e.init||e.initialized)return E.resolve();await e.init(t)}async function oi(e){return e=new ei(e),await ri(e),e.size!==fe&&e.readUint8Array||(e=new Io(await Pn(e.readable)),await ri(e)),e}function ii(e,t,n){return e.readUint8Array(t,n)}function si(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Co.prototype.createReadable.call(e,t):e.readable}function ai(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==fe&&(r.filename=n),e.push(r)}}const ci="filename",ui="rawFilename",li="comment",fi="rawComment",di="uncompressedSize",wi="compressedSize",pi="offset",mi="diskNumberStart",hi="lastModDate",yi="rawLastModDate",Ei="lastAccessDate",gi="rawLastAccessDate",bi="creationDate",Si="rawCreationDate",zi="internalFileAttributes",Fi="externalFileAttributes",xi="msdosAttributesRaw",Di="msdosAttributes",Ai="msDosCompatible",Ci="zip64",vi="encrypted",Ri="version",Ti="versionMadeBy",Ii="zipCrypto",ki="directory",Ni="executable",Oi="compressionMethod",Ui="signature",Li="extraField",Wi="unixMode",Bi="setuid",Vi="setgid",Zi="sticky",Mi=[ci,ui,di,wi,hi,yi,li,fi,Ei,gi,bi,Si,pi,mi,zi,Fi,xi,Di,Ai,Ci,vi,Ri,Ti,Ii,ki,Ni,"symlink",Oi,Ui,"crc32",Li,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Wi,"unixExternalUpper",Bi,Vi,Zi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Pi{constructor(e){Mi.forEach(t=>this[t]=e[t])}}const Hi=new u([1,Q,10,_,28789,25461,$,ee,te,22613,13]);function qi(e,t,n){return e?t?12:16+4*n:0}const ji="File format is not recognized",Ki="End of central directory not found",Xi="End of Zip64 central directory locator not found",Ji="Central directory header not found",Yi="Local file header not found",Gi="Zip64 extra field not found",Qi="File contains encrypted entry",_i="Encryption method not supported",$i="Split zip file",es="Overlapping entry found",ts="Entry data out of bounds",ns="Ambiguous archive",rs="Encrypted central directory is not supported",os="Unsafe filename",is="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ss="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",as="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",cs="64-bit value exceeds Number.MAX_SAFE_INTEGER",us="unsorted central directory",ls="unknown version needed to extract",fs="compressed patched data",ds="malformed extra field",ws="unknown zip64 extensible data",ps="wrapped entries count",ms="appended data",hs="prepended data",ys="prepended central directory",Es="trailing central directory data",gs="duplicate filename",bs="mismatched zip64 end of central directory record",Ss="multiple end of central directory records",zs="mismatched local file header (filename)",Fs="mismatched local file header (general purpose bit flag)",xs="mismatched local file header (compression method)",Ds="mismatched local file header (crc32 or sizes)",As=/^[a-zA-Z]:/,Cs=/(^|[\\/])\.\.([\\/]|$)/,vs="utf-8",Rs="cp437",Ts=[[di,L],[wi,L],[pi,L],[mi,W]],Is={[W]:{ie:pa,bytes:4},[L]:{ie:ma,bytes:8}},ks=i(o.MAX_SAFE_INTEGER);class Ns{constructor(e,t={}){n.assign(this,{reader:new ei(e),options:t,se:{ae:new u,ce:[],ue:[]}})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await ri(r),r.size!==fe&&r.readUint8Array||(r=new Io(await Pn(r.readable)),await ri(r)),r.size<J)throw new d(ji);const o=t.warnings=[],i=Qs(e,t.options),a=i==We,c=i!=Ve,l=ea(ca(t,e,Ne),i),f=function(e,t){if(e===fe)return t;if(!Gs(e))throw new d(ss);return e}(ca(t,e,"filenameValidation"),i),p=ca(t,e,"normalizeFilename"),{le:m,fe:h}=await ta(r,c,l);if(!m)throw await async function(e){return await Ys(e)==Z}(r)?new d($i):new d(Ki);c&&h>1&&aa(Ss);const y=kt(m);let E=pa(y,12),g=pa(y,16);const b=m.offset,S=wa(y,20),z=b+J+S,F=r.size-z;F>l&&aa(ms),F>0&&ai(o,ms);let D=wa(y,4);const A=r.ne||0;let C,v,R,T,I,k=wa(y,6),N=wa(y,10),O=0,U=G;const V=g==L||E==L||N==W||k==W;if(g!=L&&k!=W&&(g+=Js(r,k)),V){const e=m.offset>=Y?await ii(r,m.offset-Y,Y):Ee,t=kt(e);if(e.length==Y&&pa(t,0)==K){g=Js(r,pa(t,4))+ma(t,8);let e=await ii(r,g,G),i=kt(e);const c=m.offset-Y-G;if((e.length<G||pa(i,0)!=j)&&g!=c&&c>=0){const t=g;g=c,g>t&&(O=g-t),e=await ii(r,g,G),i=kt(e)}if(e.length<G||pa(i,0)!=j)throw new d(Xi);if(R=!0,T=ma(i,4)>44,T){const e=s.min(ma(i,4)-44,r.size-g-G);e>0&&(U+=e,I=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=kt(e),o=wa(r,26);n.assign(t,{compressionMethod:wa(r,0),compressedSize:ma(r,2),uncompressedSize:ma(r,10),encryptionAlgorithm:wa(r,18),bitLength:wa(r,20),flags:wa(r,22),hashAlgorithm:wa(r,24),hashData:e.subarray(28,28+o)})}return t}(await ii(r,g+G,e)))}D==W?D=pa(i,16):D!=pa(i,16)&&sa(a,o,bs),k==W?k=pa(i,20):k!=pa(i,20)&&sa(a,o,bs),N==W?N=ma(i,32):N!=ma(i,32)&&sa(a,o,bs),E==L?E=ma(i,40):E!=ma(i,40)&&sa(a,o,bs),g=Js(r,k)+ma(i,48)+O}}let M=E;const P=m.offset-(R?U+Y:0);if(g>=r.size&&(O=r.size-g-E-J,g=r.size-E-J),A!=D)throw new d($i);if(g<0)throw new d(ji);let q=0,Q=await ii(r,g,E),_=kt(Q);if(E){if(Q.length<4)throw new d(ji);const e=P-E;if(g!=e&&k==D){const t=pa(_,q)==H||Boolean(I&&I.compressedSize)||Ws(_);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=pa(kt(await ii(r,e,4)),0)==H),n){const n=g;g=e,g>n&&(O+=g-n,C=t),Q=await ii(r,g,E),_=kt(Q)}}}const $=P-g;if(E!=$&&$>=0&&k==D&&(E=$,Q=await ii(r,g,E),_=kt(Q)),g<0||g>=r.size)throw new d(ji);t.directoryOffset=g,t.directoryLength=M;const ee=ua(t,e,"decryptCentralDirectory");let te,ne;if(ee&&N&&Q.length>=4&&pa(_,0)!=H&&(T||Ws(_))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(I,M,Q.length);ne=Q.subarray(e),Q=await ee(Q.subarray(0,e),I),_=kt(Q),M=Q.length,te=!0}I&&!te&&(Q.length<4||pa(_,0)==H)&&ai(o,ws),v=g;const ce=ca(t,e,"filenameEncoding"),ue=ca(t,e,"commentEncoding"),le=new u;let de,we=-1;const pe=!a&&!R;!N&&pe&&(N=Bs(_,Q,q),N&&ai(o,ps));for(let i=0;i<N;i++){const a=new Ls(r,t.options);if(q+X>Q.length||pa(_,q)!=H){if(0==i&&!te&&(T||Ws(_)))throw new d(rs);throw new d(Ji)}Zs(a,_,q+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=q+X,l=u+a.filenameLength+a.extraFieldLength,m=wa(_,q+4),h=!(m>>8),y=m>>8==3,E=wa(_,q+32),g=l+E,b=new w(Q.subarray(u,g)),S=b.subarray(0,a.filenameLength),z=b.subarray(a.filenameLength+a.extraFieldLength),F=c||!ce&&lo(S),D=c||!ue&&lo(z),A=pa(_,q+38),C=A&B,R={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},I=pa(_,q+42),k=ua(t,e,"decodeText")||uo,U=F?vs:ce||Rs,L=D?vs:ue||Rs;let V=k(S,U,Ue);if(V===fe&&(V=uo(S,U)),p){const e=p(V);e!==fe&&(V=e)}if($s(V,f)){const e=new d(os);throw e.filename=V,e}let Z=k(z,L,Le);Z===fe&&(Z=uo(z,L)),n.assign(a,{index:i,de:te,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,we:E,offset:I,diskNumberStart:wa(_,q+34),internalFileAttributes:wa(_,q+36),externalFileAttributes:A,msdosAttributesRaw:C,msdosAttributes:R,rawFilename:S,filenameUTF8:F,commentUTF8:D,rawExtraField:b.subarray(a.filenameLength,a.filenameLength+a.extraFieldLength),rawComment:z,filename:V,comment:Z}),Ms(a,a,_,q+6)&&ai(o,ds,V),a.offset+=O;const M=Js(r,a.diskNumberStart)+a.offset;v=s.min(M,v),M<we&&ai(o,us,V),we=M,(a.version&B)>63&&ai(o,ls,V),32&~a.rawBitFlag||ai(o,fs,V),le.has(a.filename)&&(de=!0),le.add(a.filename);const P=a.externalFileAttributes>>16&W;a.unixMode===fe&&16877&P&&(a.unixMode=P);const j=Boolean(a.unixMode&ie),K=Boolean(a.unixMode&se),J=Boolean(512&a.unixMode),Y=40960==((a.unixMode===fe?P:a.unixMode)&re),G=!Y&&(a.unixMode!==fe?!!(73&a.unixMode):y&&!!(73&P)),$=a.unixMode!==fe&&(a.unixMode&re)==oe,ee=(P&re)==oe;n.assign(a,{setuid:j,setgid:K,sticky:J,symlink:Y,unixExternalUpper:P,executable:G,directory:$||ee||h&&R.directory||a.filename.endsWith(ae),zipCrypto:a.encrypted&&!a.extraFieldAES});const ne=new Pi(a);if(ne.getData=(e,n)=>a.getData(e,ne,t.se,n),ne.arrayBuffer=async e=>{const r=new x,o=Pn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await a.getData(r,ne,t.se,n.assign({},e,{preventClose:!1})),o},q=g,i==N-1&&pe){const e=Bs(_,Q,q);e&&(N+=e,ai(o,ps))}const{onprogress:me}=e;if(me)try{await me(i+1,N,new Pi(a))}catch{}yield ne}let me=q,he=Vs(Q.subarray(q))||(te?Vs(ne):fe);if(!he&&!te){const e=g+q,t=s.min(P-e,65541);t>=6&&(he=Vs(await ii(r,e,t)))}he&&(t.digitalSignature=he,me=q+6+he.length),(q!=M&&me!=M||!te&&q!=E&&me!=E)&&sa(a,o,Es),de&&sa(a,o,gs);const ye=ca(t,e,"extractPrependedData"),ge=ca(t,e,"extractAppendedData"),be=(a||ye)&&N&&4==v&&await async function(e){const t=await Ys(e);return t==Z||808471376==t}(r)?4:0;return a&&(O||N&&v>be)&&aa(hs),(O||N&&v>4)&&ai(o,hs),C&&ai(o,ys),ye&&(t.prependedData=v>be?await ii(r,be,v-be):Ee),t.comment=S?await ii(r,b+J,S):Ee,ge&&(t.appendedData=z<r.size?await ii(r,z,r.size-z):Ee),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[ge](){return this.close()}}class Os{constructor(e={}){let r;const{readable:o,writable:i}=new x({start(e){r=e}}),s=new Ns(o,e),a=s.getEntriesGenerator(),c=new u;this.readable=new D({async pull(e){const{done:t,value:r}=await a.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new x;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new D({async pull(s){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:a,value:c}=await o.read();a?s.close():s.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await E.allSettled(n.map(t=>t.cancel(e))),await E.allSettled([a.return(),s.close()])}}),this.writable=i}}async function Us(e,t={}){if(e=new ei(e),await ri(e),e.size!==fe&&e.readUint8Array||(e=new Io(await Pn(e.readable)),await ri(e)),e.size<J)return!1;const n=Qs(t,{}),r=n!=Ve,o=ea(t[Ne],n),{le:i,fe:s}=await ta(e,r,o);if(!i||n==We&&s>1)return!1;const a=wa(kt(i),20),c=i.offset+J+a;return e.size-c<=o}class Ls{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,a=dt(),{reader:c,index:u,offset:l,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:g,uncompressedSize:b,compressedSize:S}=i,{dataDescriptor:z}=h,F=t.localDirectory={},x=t.warnings=[],D=Js(c,f)+l,C=await ii(c,D,ce),v=kt(C);let R=ca(i,o,be),T=ca(i,o,Se);const I=Ge(ca(i,o,ze)),k=Boolean(I),N=!0===I;if(Ye(R,T),R=R&&R.length&&R,T=T&&T.length&&T,w&&99!=w.originalCompressionMethod)throw new d(Xn);if(C.length<ce||pa(v,0)!=V)throw new d(Yi);Zs(F,v,4);const{extraFieldLength:O,filenameLength:U}=F,L=F.dataOffset=D+ce+U+O,W=ca(i,o,"checkLocalDirectory"),Z=Qs(o,i.options),P=function(e,t){return e===fe?t!=Ve:Boolean(e)}(W,Z),H=ca(i,o,"checkLocalFilename"),q=function(e,t){return e===fe?t==We:Boolean(e)}(H===fe?W:H,Z);let j=Ee;if(q&&(U||O)){const e=await ii(c,D+ce,U+O);j=e.subarray(0,U),F.rawExtraField=e.subarray(U)}else F.rawExtraField=O?await ii(c,D+ce+U,O):Ee;q&&(F.rawFilename=j),Ms(i,F,v,4,!0)&&ai(x,ds),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.de&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||sa(s,o,zs),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&sa(s,o,Fs),t.compressionMethod!=e.compressionMethod&&sa(s,o,xs),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||sa(s,o,Ds)}(i,F,j,q,P?fe:x);const{lastAccessDate:K,creationDate:X,uid:J,gid:Y}=F;K&&(t.lastAccessDate=K),X&&(t.creationDate=X),J!==fe&&t.uid===fe&&(t.uid=J),Y!==fe&&t.gid===fe&&(t.gid=Y);const G=ca(i,o,"checkPasswordOnly"),Q=i.encrypted&&F.encrypted&&(!N||G),_=Q&&!w;if(N||(t.zipCrypto=_),Q&&!(64&~F.rawBitFlag))throw new d(_i);const $=k?fe:Qn(m);if(0!=m&&8!=m&&9!=m&&!$&&!k)throw new d(Xn);if(Q){if(!_&&(w.strength<1||w.strength>3))throw new d(_i);if(!R&&!T)throw new d(Qi)}if(L+S>c.size)throw new d(ts);const ee=S,te=Xe(ca(i,o,Fe));Je(te);let ne=ca(i,o,"checkOverlappingEntry");const re=ca(i,o,"checkOverlappingEntryOnly");re&&(ne=!0);const{onstart:oe,onprogress:ie,onend:se}=o,ae=0!=m&&!k,ue=k?S-qi(Q,_,w&&w.strength):b,le=9==m;let de=ca(i,o,De);le&&(de=!1);const we=ca(i,o,"checkCrc32"),pe=(we===fe?ca(i,o,"checkSignature"):we)&&!k&&(!Q||_||w&&1==w.vendorVersion),me={options:{codecType:Sr,password:R,rawPassword:T,zipCrypto:_,encryptionStrength:w&&w.strength,checkCrc32:pe,checkAuthenticationCode:ca(i,o,"checkAuthenticationCode"),passwordVerification:_&&(z?g>>>8&B:E>>>24&B),outputSize:ue,crc32:E,compressed:ae,encrypted:Q,useWebWorkers:ca(i,o,xe),useCompressionStream:de,transferStreams:ca(i,o,Ae),deflate64:le,format:$?$.format:fe,codecURI:$?$.codecURI:fe,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:G},config:a,C:{signal:te,size:ee,onstart:oe,onprogress:ie,onend:se}};let he,ye,ge;ne&&await async function({reader:e,pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,se:l}){let f=0;if(c&&(f=u?20:12),f){const n=await ii(e,a+i,f+4),r=kt(n);let c=n.length==f+4&&pa(r,0)==M;if(c){const e=Xs(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=Xs(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,pe:t},{ae:p,ce:m,ue:h}=l;if(!p.has(n)){const e=function(e,t){let n=0,r=e.length;for(;n<r;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],i=e[n];return o&&Ks(t,o)?o:i&&Ks(t,i)?i:void 0}(m,w)||h.find(e=>Ks(w,e));if(e){const t=new d(es);throw t.overlappingEntry=e.pe,t}p.add(n),h.push(w),h.length*h.length>m.length&&(h.sort((e,t)=>e.start-t.start),l.ce=function(e,t){const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n}(m,h),h.length=0)}}({reader:c,pe:t,index:u,offset:D,crc32:E,compressedSize:S,uncompressedSize:b,dataOffset:L,dataDescriptor:z||F.bitFlag.dataDescriptor,extraFieldZip64:p||F.extraFieldZip64,se:r});try{if(!re){G&&(e=new A),e=new ti(e),await ri(e,function(e,t,n){return s.min(e,n?1032*t:t)}(ue,S,ae)),({writable:he}=e);const t=Mn(c.createReadable({offset:L,size:ee})),{outputSize:r}=await eo({readable:t,writable:he},me);if(r!=ue)throw n.assign(new d(tr),{outputSize:r});e.size+=r}}catch(t){const{outputSize:n}=me;if(n!==fe?e.size+=n:Nt(t)&&t.outputSize!==fe&&(e.size+=t.outputSize),!G||!Nt(t)||t.message!=fn)throw ye=t,ge=!0,t}finally{if((ni(e)||!ca(i,o,Ce))&&he&&!he.locked){const e=he.getWriter();if(ge)try{await e.abort(ye)}catch{}else await e.close()}}return G||re?fe:e.getData?e.getData():he}}function Ws(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==pa(e,n))return!0;return!1}function Bs(e,t,n){let r=0;for(;n+X<=t.length&&pa(e,n)==H;)n+=X+wa(e,n+28)+wa(e,n+30)+wa(e,n+32),r++;return r%65536?0:r}function Vs(e){if(e.length>=6){const t=kt(e);if(pa(t,0)==P){const n=wa(t,4);if(6+n<=e.length)return new w(e.subarray(6,6+n))}}}function Zs(e,t,r){const o=e.rawBitFlag=wa(t,r+2),i=!(1&~o),s=pa(t,r+6);n.assign(e,{encrypted:i,version:wa(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:s,lastModDate:la(s),filenameLength:wa(t,r+22),extraFieldLength:wa(t,r+24)})}function Ms(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=kt(s);let f=0,w=!1;try{for(;f<s.length;){const e=wa(l,f),t=wa(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=wa(r,o+4);n.assign(t,{signature:pa(r,o+10),crc32:pa(r,o+10),compressedSize:pa(r,o+14),uncompressedSize:pa(r,o+18)});const m=u.get(1);m&&(function(e,t){t.zip64=!0;const n=kt(e.data),r=Ts.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Is[t].bytes,0);if(e.data.length<o)throw new d(Gi);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Is[a];t[s]=e[s]=c.ie(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=u.get(28789);h&&(Ps(h,ci,ui,t,e),t.extraFieldUnicodePath=h);const y=u.get(25461);y&&(Ps(y,li,fi,t,e),t.extraFieldUnicodeComment=y);const E=u.get(Q);E&&E.data.length>=7?(function(e,t,r){const o=kt(e.data),i=da(o,4);n.assign(e,{vendorVersion:da(o,0),vendorId:da(o,2),strength:i,originalCompressionMethod:r,compressionMethod:wa(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=fe)}(E,t,p),t.extraFieldAES=E):t.compressionMethod=p;const g=u.get(13);g&&(Hs(g,t),t.extraFieldPkwareUnix=g);const b=u.get(22613);b&&(Hs(b,t),t.extraFieldUnixType1=b);const S=u.get(10);S&&(function(e,t){const r=kt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=wa(r,i),n=wa(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=kt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:fa(i),lastAccessDate:fa(s),creationDate:fa(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(S,t),t.extraFieldNTFS=S);const z=u.get(te);let F;if(z&&(F=qs(z,t,!1),t.extraFieldUnix=z),!F){const e=u.get(ee);e&&(qs(e,t,!0),t.extraFieldInfoZip=e)}const x=u.get(_);x&&(function(e,t,n){if(!e.data.length)return;const r=kt(e.data),o=da(r,0),i=[],s=[];n?(1&~o||(i.push(hi),s.push(yi)),2&~o||(i.push(Ei),s.push(gi)),4&~o||(i.push(bi),s.push(Si))):e.data.length>=5&&(i.push(hi),s.push(yi));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=pa(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(x,t,i),t.extraFieldExtendedTimestamp=x);const D=u.get($);return D&&(t.extraFieldUSDZ=D),w}function Ps(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=kt(e.data),a=new Ht;a.append(i[r]);const c=kt(new w(4));c.setUint32(0,a.get(),!0);const u=pa(s,1),l=da(s,0);n.assign(e,{version:l,[t]:uo(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==pa(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function Hs(e,t){if(e.data.length<8)return;const r=kt(e.data),o={lastAccessDate:new a(1e3*(0|pa(r,0))),lastModDate:new a(1e3*(0|pa(r,4)))};e.data.length>=12&&(o.uid=wa(r,8),o.gid=wa(r,10)),n.assign(e,o),n.assign(t,o)}function qs(e,t,r){try{const o=kt(e.data);let i,s;if(r){let t=0;const r=da(o,t++),a=da(o,t++);i=js(e.data.subarray(t,t+a)),t+=a;const c=da(o,t++);s=js(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=wa(o,0),s=wa(o,2),n.assign(e,{uid:i,gid:s}));return i!==fe&&(t.uid=i),s!==fe&&(t.gid=s),i!==fe||s!==fe}catch{}}function js(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ks(e,t){return e.start<t.end&&t.start<e.end}function Xs(e,t,n){const r=pa(e,t);let o,i;return n?(o=ma(e,t+4),i=ma(e,t+12)):(o=pa(e,t+4),i=pa(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Js(e,t){return e.oe?e.oe(t):0}async function Ys(e){return pa(kt(await ii(e,0,4)))}function Gs(e){return e===We||e===Be||e===Ve}function Qs(e,t){return _s(e,_s(t,Be))}function _s(e,t){const n=e.strictness;if(n!==fe){if(!Gs(n))throw new d(is);return n}const r=e.checkAmbiguity;return r===fe?t:r?We:t==Ve?Ve:Be}function $s(e,t){if(t==Ve)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Cs.test(e)||e.startsWith("/")||e.startsWith("\\")||As.test(e))||t==We&&(n.includes(".")||n.includes("")||e.includes("\0"))}function ea(e,t){if(e!==fe){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(as);return t}return t==We?0:t==Ve?1/0:W}async function ta(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,d]of na(e,o)){const o=wa(n,f+20);if(d+J+o==r){const o=await oa(e,n,s,f,d,r,i);if(2==o){if(a||(a=ra(l,f,d)),u++,!t||u>1)break}else 1!=o||c||(c=ra(l,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,u,l]of na(e,o)){const o=ra(c,u,l);i||(i=o);const f=await oa(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{le:a,fe:u}}async function*na(e,t){const n=e.size-t,r=await ii(e,n,t),o=kt(r);for(let e=r.length-J;e>=0;e--)pa(o,e)==q&&(yield[o,n,r,e,n+e])}function ra(e,t,n){return{offset:n,buffer:new w(e.subarray(t,t+J)).buffer}}async function oa(e,t,n,r,o,i,s){const a=wa(t,r+10),c=pa(t,r+12),u=pa(t,r+16);if(a==W||c==L||u==L)return await ia(e,t,n,o-Y,i,s)==K?2:0;if(!a&&!c)return 1;const l=wa(t,r+6);for(const r of[o-c,Js(e,l)+u])if(await ia(e,t,n,r,i,s)==H)return 2;return 0}async function ia(e,t,n,r,o,i){return r<0||r+4>o?fe:r>=n?pa(t,r-n):i.count>0?(i.count--,pa(kt(await ii(e,r,4)),0)):fe}function sa(e,t,n){e?aa(n):ai(t,n)}function aa(e){const t=new d(ns);throw t.reason=e,t}function ca(e,t,n){return t[n]===fe?e.options[n]:t[n]}function ua(e,t,n){return Ke(ca(e,t,n))}function la(e){const t=(4294901760&e)>>16,n=e&W,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<le?le:r}function fa(e){return new a(o(e/i(1e4)-i(116444736e5)))}function da(e,t){return e.getUint8(t)}function wa(e,t){return e.getUint16(t,!0)}function pa(e,t){return e.getUint32(t,!0)}function ma(e,t){const n=e.getBigUint64(t,!0);if(n>ks)throw new d(cs);return o(n)}var ha=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ns,ERR_BAD_FORMAT:ji,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ji,ERR_ENCRYPTED:Qi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:rs,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ts,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Xi,ERR_EOCDR_NOT_FOUND:Ki,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Gi,ERR_INVALID_AUTHENTICATION_CODE:ln,ERR_INVALID_COMPRESSED_DATA:nr,ERR_INVALID_CRC32:rr,ERR_INVALID_FILENAME_VALIDATION:ss,ERR_INVALID_MAX_APPENDED_DATA_SIZE:as,ERR_INVALID_PASSWORD:un,ERR_INVALID_STRICTNESS:is,ERR_INVALID_UNCOMPRESSED_SIZE:tr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Yi,ERR_OVERLAPPING_ENTRY:es,ERR_SPLIT_ZIP_FILE:$i,ERR_UNSAFE_FILENAME:os,ERR_UNSUPPORTED_COMPRESSION:Xn,ERR_UNSUPPORTED_ENCRYPTION:_i,ERR_UNSUPPORTED_UINT64:cs,ERR_WORKER_STARTUP_TIMEOUT:xr,WARNING_APPENDED_DATA:ms,WARNING_COMPRESSED_PATCHED_DATA:fs,WARNING_DUPLICATE_FILENAME:gs,WARNING_MALFORMED_EXTRA_FIELD:ds,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Fs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:xs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Ds,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:zs,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:bs,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:Ss,WARNING_PREPENDED_CENTRAL_DIRECTORY:ys,WARNING_PREPENDED_DATA:hs,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Es,WARNING_UNKNOWN_VERSION:ls,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:ws,WARNING_UNSORTED_CENTRAL_DIRECTORY:us,WARNING_WRAPPED_ENTRIES_COUNT:ps,ZipReader:Ns,ZipReaderStream:Os,isZipFile:Us});const ya="File already exists",Ea="Zip file comment exceeds 64KB",ga="Invalid zip file comment (must be a Uint8Array)",ba="File entry comment exceeds 64KB",Sa="Invalid file entry comment (must be a string)",za="Invalid date (must be a valid Date instance)",Fa="File entry name exceeds 64KB",xa="Version exceeds 65535",Da="The strength must equal 1, 2, or 3",Aa="Encryption is not supported in USDZ files",Ca="Split zip files are not supported in USDZ files",va="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Ra="Invalid extra field (must be a Map)",Ta="Invalid extra field type (must be integer 0..65535)",Ia="Invalid extra field data (must be a Uint8Array)",ka="Extra field data exceeds 64KB",Na=-2147483648,Oa=2147483647,Ua=i(0),La=i("0x7fffffffffffffff"),Wa="Zip64 is not supported (set the 'zip64' option to 'true')",Ba="Undefined uncompressed size",Va="Undefined compression method",Za="Undefined CRC32",Ma="Undefined reader",Pa="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Ha="Zip file not empty",qa="Invalid uid (must be integer 0..2^32-1)",ja="Invalid gid (must be integer 0..2^32-1)",Ka="Invalid UNIX mode (must be integer 0..65535)",Xa="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ja="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ya="Invalid msdosAttributesRaw (must be integer 0..255)",Ga="Invalid msdosAttributes (must be an object with boolean flags)",Qa="Invalid level (must be integer 0..9)",_a="Signature data exceeds 64KB",$a="Invalid entry option (must be an entry returned by ZipReader#getEntries())",ec="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",tc="compression unavailable",nc="clamped last modification date",rc=new w([7,0,2,0,65,69,3,0,0]),oc="infozip",ic="unix",sc=[8,9,5,3];let ac=0;const cc=[];class uc{constructor(e,t={}){e=new ti(e);const{availableSize:r=de,maxSize:o=de}=e,i=r>0&&r!==de&&o>0&&o!==de;if(i&&t[ke])throw new d(Ca);n.assign(this,{writer:e,me:i,options:t,he:new c,ye:new u,offset:t[Ie]===fe?e.size||e.writable.size||0:t[Ie],Ee:t[Ie]===fe?0:t[Ie]-(e.size||e.writable.size||0),ge:new u,be:[],warnings:[],Se:0,ze:0,Fe:fe,xe:!1})}prependZip(e){return dc(this,async function(e,t){if(e.ye.size)throw new d(Ha);await e.De(t)}(this,e))}appendZip(e){return dc(this,this.De(e))}async De(e){const r=this,{ge:o,ye:i,he:s}=r;for(;o.size;)await E.allSettled(t.from(o));let a;const u=new E(e=>a=e);o.add(u);const l=[];let f;try{e=new ei(e),await ri(e),e.size!==fe&&e.readUint8Array||(e=new Io(await Pn(e.readable)),await ri(e));const{ZipReader:o}=await E.resolve().then(function(){return ha}),a=new o(e),u=await a.getEntries();await a.close(),await ri(r.writer);const{directoryOffset:w}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new d(ya);i.add(e),l.push(e)}),r.Ae=!0;const{Ce:p}=r;r.Ce=new E(e=>f=()=>{r.Ae=!1,e()}),await p,r.me&&(delete r.me,await async function(e){return kt(await ii(e,0,4)).getUint32(0,!0)==Z}(e)||(await Rc(r.writer,Cc()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Ac(n,e)-Ac(n,t));let c=0;for(const t of a){const r=Ac(n,t);await xc(e,n,c,r-c),Sc(i,await Dc(n,r))&&await i.closeDisk(),s.set(t,{offset:zc(e,i),diskNumberStart:gc(i)}),c=r}await xc(e,n,c,o-c)}else{const t=e.offset;await xc(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Ac(n,e),diskNumberStart:0}))}return s}(r,e,u,w);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=Fc(d||Ee),e.extraFieldAES&&(f=99);const y=jc(d),E=Boolean(l)&&l.uncompressedSize!==fe,g=Boolean(l)&&l.compressedSize!==fe,b=-7&Jc(w,p,h,a,f)|w<<1,{ve:S,Re:z}=Kc({version:t,bitFlag:b,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,Te:g,Ie:E,extraFieldLength:y}),{crc32:F}=e;F!==fe&&Pc(z,10,F);const{offset:x,diskNumberStart:D}=m.get(e);n.assign(e,{ke:!0,Ie:E,Te:g,offset:x,diskNumberStart:D,Ne:!1,Oe:Ee,Ue:Ee,Le:Ee,We:Ee,Be:Ee,rawExtraField:d,Ve:Ee,ve:S,Re:z}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,u={}){const l=this,{ge:f}=l,p=async function(e,r,u,l){const f=(l=n.assign({},l))[Oe];if(f!==fe){const{Ze:r,Me:o}=function(e,r,o){if(null===e||typeof e!=me||t.isArray(e))throw new d($a);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,rawLastModDate:w,creationDate:p,lastAccessDate:m,uncompressedSize:h,encrypted:y,zipCrypto:E,crc32:g,compressionMethod:b,extraFieldAES:S,extraFieldUnix:z,internalFileAttributes:F,extraField:x,bitFlag:D,directory:A,uid:C,gid:v}=e,R={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,creationDate:p,lastAccessDate:m,internalFileAttributes:F,directory:A};D&&D.languageEncodingFlag&&(R[Re]=!0);const T=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{Hi.has(n)||t.set(n,e.data)}),t.size)return t}}(x);T&&(R[Li]=T),C===fe&&v===fe||n.assign(R,{uid:C,gid:v,unixExtraFieldType:z?ic:oc});const I={};if(r&&!A)if(n.assign(I,{uncompressedSize:h,crc32:g,compressionMethod:b}),r!==Ze&&n.assign(I,{encrypted:y,zipCrypto:E,encryptionStrength:S?S.strength:fe}),D&&(I.dataDescriptor=D.dataDescriptor,I[ve]=sc[D.level]),o===fe)I.rawLastModDate=w;else if(r!==Ze&&E&&(!D||D.dataDescriptor)&&o instanceof a&&function(e){let t=new a(2e3*s.ceil(s.floor(e.getTime()/1e3)/2));return t<le?t=le:t>ue&&(t=ue),(t.getHours()<<3|t.getMinutes()>>3)&B}(o)!=(w>>>8&B))throw new d(ec);return{Ze:R,Me:I}}(f,Ge(Oc(e,l,ze)),Oc(e,l,hi));delete l[Oe],l=n.assign(r,o,l)}if(Oc(e,l,ki)&&!r.endsWith(ae)&&(r+=ae),e.ye.has(r))throw new d(ya);e.ye.add(r),ac<dt().maxWorkers?ac++:await new E(e=>cc.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Oc(e,r,Ai),i=Oc(e,r,Ti,o?20:768);const s=Oc(e,r,Ni),a=Wc(e,r,"uid"),c=Wc(e,r,"gid");let u=Wc(e,r,Wi),l=Oc(e,r,"unixExtraFieldType"),f=Oc(e,r,Bi),w=Oc(e,r,Vi),p=Oc(e,r,Zi);if(_e(a,L,qa),_e(c,L,ja),_e(u,W,Ka),l!==fe&&l!==oc&&l!==ic)throw new d(Xa);if(l===ic&&(a!==fe&&a>W||c!==fe&&c>W))throw new d(Ja);l!==fe||a===fe&&c===fe||(l=oc);let m=Wc(e,r,xi),h=Oc(e,r,Di);const y=m!==fe||h!==fe;if(a!==fe||c!==fe||u!==fe||l||s?(o=!1,i=i&B|768):y&&(o=!0,i&=B),_e(m,B,Ya),h&&(typeof h!==me||t.isArray(h)))throw new d(Ga);if(i>W)throw new d(xa);let E=Oc(e,r,Fi);const g=E!==fe;g||(E=0),!r[ki]&&n.endsWith(ae)&&(r[ki]=!0);const b=Oc(e,r,ki);if(b?(n.endsWith(ae)||(n+=ae),g||(E=16,o||(E|=16877<<16))):o||g||(E=s?493<<16:27525120),!o){const e=u!==fe||Boolean(f||w||p);u=u===fe?E>>16&W:u&W,f?u|=ie:f=Boolean(u&ie),w?u|=se:w=Boolean(u&se),p?u|=512:p=Boolean(512&u),g&&!e||(b?u=-61441&u|oe:u&re||(u|=32768),E=(u&W)<<16|E&W)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==fe)e&=B;else if(t!==fe){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&B}return t===fe&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(E=E&L|m&B);const S=E>>16&W,z=u!==fe&&40960==(u&re);return{name:n,Pe:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:E,unixExternalUpper:S,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:z,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Lc(e,n,"encodeText")||jt;let i=r(t,Ue);if(i===fe&&(i=jt(t)),jc(i)>W)throw new d(Fa);const s=n[li]||"";if(typeof s!=he)throw new d(Sa);let c=r(s,Le);if(c===fe&&(c=jt(s)),jc(c)>W)throw new d(ba);const u=Oc(e,n,Ri);if(u!==fe&&u>W)throw new d(xa);const l=Uc(e,n,hi,new a),f=Oc(e,n,yi),w=Uc(e,n,Ei),p=Uc(e,n,bi),m=Oc(e,n,zi,0),h=Ge(Oc(e,n,ze)),y=Boolean(h),E=!0===h,g=Oc(e,n,be),b=Oc(e,n,Se);Ye(g,b);const S=Wc(e,n,"encryptionStrength",3),z=Oc(e,n,Ii),F=Oc(e,n,"extendedTimestamp",!0),x=Oc(e,n,"ntfsTimestamp"),D=Oc(e,n,"keepOrder",!0),A=Oc(e,n,xe),C=Oc(e,n,Ae),v=Oc(e,n,"bufferedWrite"),R=Lc(e,n,"createTempStream"),T=Oc(e,n,"dataDescriptorSignature",!0),I=Xe(Oc(e,n,Fe));Je(I);const k=Oc(e,n,Re,!Xc(i)||!Xc(c)),N=Oc(e,n,Oi),O=y||N===fe?fe:Qn(N);if(!y&&N!==fe&&0!==N&&8!==N&&!O)throw new d(Xn);let U=Wc(e,n,ve);if(_e(U,9,Qa),e.options[ke]){if(g!==fe||b!==fe)throw new d(Aa);U===fe&&N===fe&&(U=0)}y&&(U=$e(n[ve]));let L=Oc(e,n,De),B=Oc(e,n,Te);v&&B===fe&&(B=!1),(B===fe||z&&!E)&&(B=!0),U!==fe&&6!=U&&(L=!1);const V=Oc(e,n,Ci);if(!(z||g===fe&&b===fe||o.isInteger(S)&&S>=1&&S<=3))throw new d(Da);const Z=mc(n[Li]),M=mc(n.localExtraField),P=mc(n.centralExtraField);return{comment:s,Pe:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,He:y,qe:E,password:g,rawPassword:b,encryptionStrength:S,zipCrypto:z,extendedTimestamp:F,ntfsTimestamp:x,keepOrder:D,useWebWorkers:A,transferStreams:C,bufferedWrite:v,createTempStream:R,dataDescriptorSignature:T,signal:I,useUnicodeFileNames:k,compressionMethod:N,format:O?O.format:fe,codecURI:O?O.codecURI:fe,je:O?O.versionNeeded:fe,level:U,useCompressionStream:L,dataDescriptor:B,zip64:V,rawExtraField:Z,Ke:M,Ve:P}}}(e,r,u),{comment:p}=f,m=u[Li];e.he.set(r,fe);const h=e.Fe,y={};let g,b;f.Pe.keepOrder&&(y.Xe=new E(e=>g=e)),e.Fe=y;try{const{Pe:t}=f;0==t.level||t.compressionMethod!==fe||t.He||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;return!(!n||n.A)||!(!wr(t)&&(r=t,!dr(r,sr)))||!!n&&await Rr();var r}(dt())||(t.level=0,ai(e.warnings,tc,r));const o=await async function(e,t,{Pe:r},o){if(r.He&&!t&&!Oc(e,o,ki))throw new d(Ma);let i;if(t){if(t=new ei(t),await ri(t),!t.readable&&!t.readUint8Array)throw new d(Pa);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{He:i,qe:s,zipCrypto:a,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:f,zip64:w,level:p,compressionMethod:m}=r,h=0,y=0,E=!1;if(i&&t){if(y=o[di],y===fe)throw new d(Ba);if(m===fe)throw new d(Va)}const g=!0===w,b=Oc(e,o,vi);if(t&&s&&!b&&jc(c,u))throw new d(va);const S=t&&(Boolean(c&&jc(c)||u&&jc(u))||s&&b);t||(p=0,m=0);const z=qi(S,a,l);t&&(i?(o.uncompressedSize=y,h=n===fe?Bc(y)+z:n+(s?0:z)):n===fe?(f=!0,(w||w===fe)&&(w=E=!0,h=4294967296)):(o.uncompressedSize=y=n,h=(Vc(m,p)?Bc(y):y)+z));const F=!(S||t&&(0!==n||i)||Vc(m,p));F&&Oc(e,o,Te)===fe&&(f=!1);const x=g||E||y>=L,D=g||h>=L;if(x||D){if(!1===w)throw new d(Wa);w=!0}return w=w||!1,{Je:h,Pe:{dataDescriptor:f,Ye:F,zip64:w,ke:g,Ge:E,Ie:x,Te:D,uncompressedSize:y,level:p,compressionMethod:m,encrypted:S}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=bc(e.writer),m=gc(e.writer);let S=u.crc32===fe?u[Ui]:u.crc32;const z=o.Pe.encrypted&&!t.zipCrypto;if(t.He&&!t.qe&&z&&(S=fe),t.He&&c&&!z&&S===fe)throw new d(Za);const F=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,Ke:h,encryptionStrength:y,extendedTimestamp:E,ntfsTimestamp:g,He:b,encrypted:S,Ie:z,Te:F,uncompressedSize:x,Ge:D,crc32:A}=e;let{version:C,compressionMethod:v}=e;const R=!p&&Vc(v,c);let T;const I=b||!R,k=u&&(e.bufferedWrite||!w||!z&&!F||I&&!D),N=k||u&&w&&(z||F);if(u&&(z||F)){const e=20,t=Ec(e);if(t.Qe(1),t.Qe(e-4),T=t._e,k&&(t.$e(x),I)){const e=qi(S,l,y);t.$e(b?0:x+e)}}else T=Ee;let O,U,L,B,Z,M;if(S&&!l){const e=Ec(jc(rc)+2);e.Qe(Q),e.et(rc),O=e._e,O[8]=y}else O=Ee;if(E){const e=kc(n),t=(P=e)>=Na&&P<=Oa;if(t){const t=9+(o?4:0)+(i?4:0),n=Ec(t);B=1+(o?2:0)+(i?4:0),Z=e,n.Qe(_),n.Qe(t-4),n.nt(B),n.ot(e),o&&n.ot(Nc(kc(o))),i&&n.ot(Nc(kc(i))),L=n._e}else L=Ee;if(g===fe?!t||Boolean(o||i):g)try{const e=Ic(n),t=Ec(36);t.Qe(10),t.Qe(32),t.it(4),t.Qe(1),t.Qe(24),t.$e(e),t.$e(o?Ic(o):e),t.$e(i?Ic(i):e),U=t._e}catch{U=Ee}else U=Ee}else U=L=Ee;var P;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=oc||t===fe&&n===fe)if(r!=ic||t===fe&&n===fe)M=Ee;else{const e=Ec(8);e.Qe(te),e.Qe(4),e.Qe((t===fe?0:t)&W),e.Qe((n===fe?0:n)&W),M=e._e}else{const e=yc(t===fe?0:t),r=yc(n===fe?0:n),o=3+e.length+r.length,i=Ec(4+o);i.Qe(ee),i.Qe(o),i.nt(1),i.nt(e.length),i.et(e),i.nt(r.length),i.et(r),M=i._e}}catch{M=Ee}v===fe&&(v=R?8:0),C===fe&&(C=0!=v||p||S?20:10);const{je:H}=e;R&&H!==fe&&(C=C>H?C:H),u&&(C=C>45?C:45),S&&!l&&(C=C>51?C:51,b&&A!==fe&&(O[4]=1),Mc(kt(O),9,v),v=99);const q=N?jc(T):0,j=q+jc(O,L,U,M,m,h);if(j+(e[ke]?67:0)>W)throw new d(ka);const K=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),X=K<le?le:K>ue?ue:K,J=jc(L)?new a(1e3*kc(n)):jc(U)?n:X,{ve:Y,Re:G,rawLastModDate:$}=Kc({version:C,bitFlag:Jc(c,f,w,S,v),compressionMethod:v,uncompressedSize:x,lastModDate:X,rawLastModDate:r,rawFilename:t,Te:F,Ie:z,extraFieldLength:j}),ne=Ec(ce+jc(t)+j),re=ne._e,oe=kt(re);return ne.ot(V),ne.et(Y),ne.et(t),N&&ne.et(T),ne.et(O),ne.et(L),ne.et(U),ne.et(M),ne.et(m),ne.et(h),w&&(F||Pc(oe,18,0),z||Pc(oe,22,0)),{st:re,ct:oe,ve:Y,Re:G,lastModDate:J,ut:J===X&&K.getTime()!=X.getTime(),rawLastModDate:$,encrypted:S,compressed:R,version:C,compressionMethod:v,lt:B,ft:Z,Oe:Ee,wt:q,Le:L,We:U,Be:M,Ue:O,extraFieldLength:j}}(u=n.assign({},u,l.Pe,f.Pe,o.Pe,{signature:u[Ui],crc32:S,offset:e.offset-p,diskNumberStart:m,[ke]:e.options[ke]}));F.ut&&ai(e.warnings,nc,r);const D=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=Ee,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=kt(o),n&&(i=4,Pc(r,0,M))),{ht:o,yt:r,Et:i}}(u),A=jc(F.st,D.ht);b=await async function(e,t,r,o,s){const{he:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,Ye:f,signal:w}=s,{gt:p,pe:m,bt:h,St:y}=o,g=e.options[ke];let b,S,z,F,D,A,C,v=m,R=0;const T=u&&h?h.Xe:fe;a.set(t,v);try{s.bufferedWrite||!u||e.Ae||e.Se||e.ze||!l&&!f?(b=!0,e.Se++,C=s.createTempStream?await s.createTempStream():new x(fe,fe,{highWaterMark:de}),C.size=0,await ri(c)):(S=!0,e.ze++,C=c,await T,await I()),await ri(C);const m=bc(c);e.me&&!b&&await vc(e,c),g&&!b&&hc(o,e.offset-m);const{st:h}=p;b||await k();const y=gc(c),z=zc(e,c);if(v.diskNumberStart=y,b||(D=!0,A=c.size,await Rc(C,h)),v=await async function(e,t,{diskNumberStart:r,Xe:o},s,a,c){const{gt:u,zt:l,Ft:f}=s,{ve:w,Re:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:E,version:g,compressionMethod:b,Oe:S,wt:z,Le:F,lt:x,ft:D,We:A,Be:C,Ue:v}=u,{ht:R}=l,{rawFilename:T,lastAccessDate:I,creationDate:k,password:N,rawPassword:O,level:U,useUnicodeFileNames:W,zip64:V,ke:Z,Ie:M,Te:P,zipCrypto:H,dataDescriptor:q,directory:j,executable:K,versionMadeBy:X,rawComment:J,rawExtraField:Y,Ve:G,useWebWorkers:Q,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,uid:ce,gid:ue,unixMode:le,symlink:de,setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:Ee,useCompressionStream:ge,He:be,qe:Se,format:ze,codecURI:Fe}=c,xe={Xe:o,versionMadeBy:X,zip64:V,ke:Z,directory:Boolean(j),executable:Boolean(K),filenameUTF8:Boolean(W),rawFilename:T,commentUTF8:Boolean(W),rawComment:J,Oe:S,wt:z,Le:F,We:A,Be:C,Ue:v,rawExtraField:Y,Ve:G,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,diskNumberStart:r,uid:ce,gid:ue,unixMode:le,symlink:Boolean(de),setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:Ee};let{crc32:De,uncompressedSize:Ae}=c,Ce=0;be||(Ae=0);const{writable:ve}=t;if(e){const n=e.size,r=Mn(si(e,{size:n})),o={options:{codecType:br,inputSize:n,level:U,rawPassword:O,password:N,encryptionStrength:re,zipCrypto:y&&H,passwordVerification:y&&H&&h>>8&B,computeCrc32:!be,compressed:E&&!be,encrypted:y&&!Se,useWebWorkers:Q,useCompressionStream:ge,transferStreams:_,format:ze,codecURI:Fe,compressionMethod:b},config:a,C:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await eo({readable:r,writable:ve},o);if(Ce=e.outputSize,t.size+=Ce,be||(Ae=e.inputSize,y&&!H||(De=e.crc32)),!P&&Ce>=L||!M&&Ae>=L)throw new d(Wa)}catch(e){const{outputSize:n}=o;throw n!==fe?t.size+=n:Nt(e)&&e.outputSize!==fe&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,gt:r,zt:o},{zip64:s,zipCrypto:a,He:c,dataDescriptor:u}){const{Re:l,encrypted:f}=r,{yt:d,Et:w}=o;f&&!a&&!c||e===fe||(Pc(l,10,e),u&&Pc(d,w,e)),s?u&&(Hc(d,w+4,i(t)),Hc(d,w+12,i(n))):(Pc(l,14,t),Pc(l,18,n),u&&(Pc(d,w+4,t),Pc(d,w+8,n)))}({crc32:De,compressedSize:Ce,uncompressedSize:Ae,gt:u,zt:l},c),q&&await Rc(t,R),n.assign(xe,{uncompressedSize:Ae,compressedSize:Ce,lastModDate:m,rawLastModDate:h,creationDate:k,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(H),size:f+Ce,compressionMethod:b,version:g,ve:w,Re:p,signature:De,crc32:!y||H||be?De:fe,lt:x,ft:D,Ie:M,Te:P}),xe}(r,C,v,o,dt(),s),b||(D=!1),a.set(t,v),v.filename=t,b){if(await E.all([C.writable.getWriter().close(),T]),await I(),e.me&&await vc(e,c),F=!0,A=c.size,await k(),v.diskNumberStart=gc(c),v.offset=zc(e,c),g){const t=o.Ft;hc(o,e.offset-bc(c)),v.size+=o.Ft-t}!function({rawFilename:e,encrypted:t,zip64:n,wt:r,crc32:o,compressedSize:s,uncompressedSize:a,Ie:c,Te:u},l,{dataDescriptor:f,He:d}){if(f||((!t||d&&o!==fe)&&Pc(l,14,o),u||Pc(l,18,s),c||Pc(l,22,a)),n&&r){const t=ce+jc(e)+4;Hc(l,t,i(a)),Hc(l,t+8,i(s))}}(v,p.ct,s),await Rc(c,p.st),await Tc(C.readable,c,w,e=>R+=e),c.size+=C.size,F=!1}else v.diskNumberStart=y,v.offset=z;return e.offset+=v.size,v}catch(n){if(F||D){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-A,b&&(e.offset+=R)}throw a.delete(t),n}finally{if(b&&e.Se--,S&&e.ze--,y&&y(T),z&&z(),b&&C&&C.dispose)try{await C.dispose()}catch{}}async function I(){e.Ae=!0;const{Ce:t}=e;e.Ce=new E(t=>z=()=>{e.Ae=!1,t()}),await t}async function k(){Sc(c,jc(p.st))&&await c.closeDisk()}}(e,r,c,{gt:F,zt:D,Ft:A,pe:y,bt:h,St:g},u)}catch(t){throw e.he.delete(r),t}finally{g&&g(h&&h.Xe)}return n.assign(b,{name:r,comment:p,extraField:m}),new Pi(b)}(e,r,u,l)}catch(t){throw e.ye.delete(r),t}finally{const e=cc.shift();e?e():ac--}}(l,e,r,u);f.add(p);const m=()=>f.delete(p);return E.prototype.then.call(p,m,m),dc(l,p)}remove(e){const{ye:t,he:n}=this;if(typeof e==he&&(e=n.get(e)),e&&e.filename!==fe){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=Ee,n={}){const r=this,{ge:o,writer:s}=this,{writable:a}=s;if(r.xe)return fc(s);if(!(e instanceof w))throw new d(ga);if(jc(e)>W)throw new d(Ea);for(;o.size;)await E.allSettled(t.from(o));await E.allSettled(r.be.map(e=>e.xt));const c=r.be.filter(e=>e.Dt&&!e.At);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.At=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Ct:o,vt:s}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,Ue:o,rawComment:i,We:s,Be:a,rawExtraField:c,Ve:u,lt:l,ft:f,ke:w,uncompressedSize:p,compressedSize:m}=r;let{Ie:h,Te:y}=r;w||(h&&p<L&&(h=r.Ie=!1),y&&m<L&&(y=r.Te=!1)),n=n||h||y;const E=r.offset>=L,g=r.diskNumberStart>=W;let b,S;if(E||g||h||y){const e=4+(h?8:0)+(y?8:0)+(E?8:0)+(g?4:0),t=Ec(e);t.Qe(1),t.Qe(e-4),h&&t.$e(p),y&&t.$e(m),E&&t.$e(r.offset),g&&t.ot(r.diskNumberStart),b=t._e}else b=Ee;if(r.Oe=b,r.Rt=E,r.Ne=g,f===fe)S=Ee;else{const e=Ec(9);e.Qe(_),e.Qe(5),e.nt(l),e.ot(f),S=e._e}r.Le=S;const z=jc(b,o,s,a,S,c,u);if(z>W)throw new d(ka);t+=X+jc(e,i)+z}return{Ct:t,vt:n}}(e.he),{Tt:a,It:c,kt:u}=await async function(e,n,r){const{he:o,writer:i}=e,s=new w(n);await ri(i);let a=0,c=0,u=gc(i),l=bc(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,Oe:w,Ue:p,Le:m,We:h,Be:y,rawExtraField:E,Ve:g,rawComment:b,versionMadeBy:S,ve:z,Re:F,Ie:x,Te:D,Ne:A,Rt:C,internalFileAttributes:v,externalFileAttributes:R,diskNumberStart:T,uncompressedSize:I,compressedSize:k}=n,N=jc(w,p,m,h,y,E,g),O=X+jc(d,b)+N;Sc(i,a+O-c)&&(await Rc(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=gc(i),l=bc(i)),x||Pc(F,18,I),D||Pc(F,14,k),(C||A)&&n.version<45&&Mc(F,0,45);const U=Ec(O);if(U.ot(H),U.Qe(S),U.et(z.subarray(0,24)),U.Qe(N),U.Qe(jc(b)),U.Qe(A?W:T),U.Qe(v),U.ot(R),U.ot(C?L:t),U.et(d),U.et(w),U.et(p),U.et(m),U.et(h),U.et(y),U.et(E),U.et(g),U.et(b),qc(s,U._e,a),a+=O,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new Pi(n))}catch{}}return await Rc(i,c?s.slice(c):s),{Tt:{diskNumber:u,diskOffset:l},It:{diskNumber:gc(i),Nt:f},kt:s}}(e,o,r),l=await async function(e,t,n){const r=Lc(e,n,"signCentralDirectory");if(r){const n=await r(t),o=jc(n);if(o>W)throw new d(_a);const i=Ec(6+o);i.ot(P),i.Qe(o),i.et(n);const{writer:s}=e;return Sc(s,jc(i._e))&&await s.closeDisk(),await Rc(s,i._e),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{Tt:s,It:a,Ot:c,vt:u}=r;let{Ct:l}=r,f=e.he.size,w=s.diskNumber,p=zc(e,s);const m=jc(t);if(m>W)throw new d(Ea);let h=Oc(e,n,Ci),y=gc(o);if(Sc(o,(h?98:J)+m)&&y++,p>=L||l>=L||f>=W||y>=W){if(!1===h)throw new d(Wa);h=!0}else h===fe&&u&&(h=!0);const E=Ec(h?98:J);Sc(o,jc(E._e)+m)&&await o.closeDisk(),y=gc(o);let g=y==a.diskNumber?a.Nt:0;h&&(E.ot(j),E.$e(44),E.Qe(45),E.Qe(45),E.ot(y),E.ot(w),E.$e(g),E.$e(f),E.$e(l),E.$e(p),E.ot(K),E.ot(y),E.$e(i(zc(e,o))+i(l)+i(c)),E.ot(y+1),Oc(e,n,"supportZip64SplitFile",!0)&&(y=W,w=W),g=W,f=W,p=L,l=L),E.ot(q),E.Qe(y),E.Qe(w),E.Qe(g),E.Qe(f),E.ot(l),E.ot(p),E.Qe(m),await Rc(o,E._e),m&&await Rc(o,t)}(e,n,r,{Tt:a,It:c,Ct:o,Ot:l,vt:s})}(r,e,n),r.xe=!0,!ni(s)&&Oc(r,n,Ce)||await a.getWriter().close(),fc(s)}[ge](){return this.close()}}class lc extends E{then(e,t){const{Ut:n}=this;return n&&(n.At=!0),super.then(e,t)}}function fc(e){return e.getData?e.getData():e.writable}function dc(e,t){const r=new lc((e,n)=>E.prototype.then.call(t,e,n)),o={};return r.Ut=o,o.xt=E.prototype.then.call(r,fe,e=>n.assign(o,{Dt:!0,error:e})),e.be.push(o),r}async function wc(e,t){try{await e.writer.writable.abort(t)}catch{}}function pc(e,t,n){e.ge.add(t),t.catch(e=>{try{n(e)}catch{}})}function mc(e){if(!e)return Ee;if(!(e instanceof c))throw new d(Ra);let t=0,n=0;e.forEach((e,n)=>{if(Qe(n,W,Ta),!(e instanceof w))throw new d(Ia);if(jc(e)>W)throw new d(ka);t+=4+jc(e)});const r=new w(t),o=kt(r);return e.forEach((e,t)=>{Mc(o,n,t),Mc(o,n+2,jc(e)),qc(r,e,n+4),n+=4+jc(e)}),r}function hc(e,t){const{gt:n}=e;let{st:r,extraFieldLength:o}=n,i=64-(t+jc(r))%64;i<4&&(i+=64);const s=new w(i),a=kt(s);Mc(a,0,$),Mc(a,2,i-4);const c=r;n.st=r=new w(jc(c)+i),qc(r,c),qc(r,s,jc(c));const u=kt(r);Mc(u,28,o+i),n.ct=u,e.Ft+=i}function yc(e){const t=new w(4);kt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Ec(e){const t=new w(e),n=kt(t);let r=0;return{_e:t,nt:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Qe:e=>{Mc(n,r,e),r+=2},ot:e=>{Pc(n,r,e),r+=4},$e:e=>{Hc(n,r,i(e)),r+=8},et:e=>{qc(t,e,r),r+=jc(e)},it:e=>r+=e}}function gc(e){const{diskNumber:t=0}=e;return t}function bc(e){const{diskOffset:t=0}=e;return t}function Sc(e,t){const{availableSize:n=de}=e;return t>n}function zc(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ee:0)}function Fc(e){const t=kt(e);let n=0;for(;n+4<=jc(e);){const r=4+Zc(t,n+2);if(1==Zc(t,n))return Fc(Tt(e.subarray(0,n),e.subarray(s.min(n+r,jc(e)))));n+=r}return e}async function xc(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Tc(si(t,{offset:n,size:r}),o,fe,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Dc(e,t){const n=await ii(e,t,ce);if(jc(n)<ce)return ce;const r=kt(n);return ce+Zc(r,26)+Zc(r,28)}function Ac(e,{offset:t,diskNumberStart:n}){return t+(e.oe?e.oe(n):0)}function Cc(){const e=new w(4);return Pc(kt(e),0,Z),e}async function vc(e,t){delete e.me,await Rc(t,Cc()),e.offset+=4}async function Rc(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=jc(t),await r.write(t)}finally{r.releaseLock()}}async function Tc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new A({async write(e){await o.ready,await o.write(e),r(jc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Ic(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Ua?Ua:t>La?La:t}}function kc(e){return s.floor(e.getTime()/1e3)}function Nc(e){return s.min(Oa,s.max(Na,e))}function Oc(e,t,n,r){const o=t[n]===fe?e.options[n]:t[n];return o===fe?r:o}function Uc(e,t,n,r){const i=Oc(e,t,n,r);if(null===i)return r;if(i!==fe&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new d(za);return i}function Lc(e,t,n){return Ke(Oc(e,t,n))}function Wc(e,t,n,r){return $e(Oc(e,t,n,r))}function Bc(e){return e+5*(s.floor(e/16383)+1)}function Vc(e,t){return e===fe?t===fe||t>0:0!==e}function Zc(e,t){return e.getUint16(t,!0)}function Mc(e,t,n){e.setUint16(t,n,!0)}function Pc(e,t,n){e.setUint32(t,n,!0)}function Hc(e,t,n){e.setBigUint64(t,n,!0)}function qc(e,t,n){e.set(t,n)}function jc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Kc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,Te:c,Ie:u,extraFieldLength:l}){const f=Ec(26),d=f._e,w=kt(d);if(f.Qe(e),f.Qe(t),f.Qe(n),s===fe){const e=new m(1),t=kt(e);Mc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Mc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.ot(s),f.it(4),c||o!==fe?f.ot(c?L:o):f.it(4),u||r!==fe?f.ot(u?L:r):f.it(4),f.Qe(jc(a)),f.Qe(l),{ve:d,Re:w,rawLastModDate:s}}function Xc(e){return e.every(e=>e>=32&&e<=126)}function Jc(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function Yc(e,t){if(!e)return!1;const{Lt:n}=e;return n?n.includes(t):dr(e,t)}const Gc=1048576,Qc=".zip.js-temp",_c=1048576,$c=1048576,eu=".zip.js-temp",tu="createSyncAccessHandle is only available in dedicated workers";try{Et({baseURI:void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-legacy.min.js",S.baseURI).href})}catch{}vt(Et),e.BlobReader=Io,e.BlobWriter=ko,e.Data64URIReader=class extends Co{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Wt:e,Bt:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{Bt:n,Wt:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends vo{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Vt:""})}writeUint8Array(e){const t=this;let n,o=t.Vt;const i=t.Vt.length;for(t.Vt="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Vt+=r.fromCharCode(e[n]);o.length>2?t.data+=F(o):t.Vt=o+t.Vt}getData(){return this.data+F(this.Vt)}},e.ERR_ABORTED=je,e.ERR_AMBIGUOUS_ARCHIVE=ns,e.ERR_BAD_FORMAT=ji,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ji,e.ERR_DUPLICATED_NAME=ya,e.ERR_ENCRYPTED=Qi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=rs,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ts,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Xi,e.ERR_EOCDR_NOT_FOUND=Ki,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Gi,e.ERR_HTTP_RANGE=po,e.ERR_HTTP_RESOURCE_CHANGED=mo,e.ERR_HTTP_STATUS=wo,e.ERR_INVALID_AUTHENTICATION_CODE=ln,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=qn,e.ERR_INVALID_CODEC_MODULE=Kn,e.ERR_INVALID_COMMENT=Ea,e.ERR_INVALID_COMMENT_TYPE=ga,e.ERR_INVALID_COMPRESSED_DATA=nr,e.ERR_INVALID_CRC32=rr,e.ERR_INVALID_DATE=za,e.ERR_INVALID_ENCRYPTION_STRENGTH=Da,e.ERR_INVALID_ENTRY=$a,e.ERR_INVALID_ENTRY_COMMENT=ba,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Sa,e.ERR_INVALID_ENTRY_NAME=Fa,e.ERR_INVALID_EXTRAFIELD=Ra,e.ERR_INVALID_EXTRAFIELD_DATA=ka,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ia,e.ERR_INVALID_EXTRAFIELD_TYPE=Ta,e.ERR_INVALID_FILENAME_VALIDATION=ss,e.ERR_INVALID_FUNCTION_OPTION=Me,e.ERR_INVALID_GID=ja,e.ERR_INVALID_LEVEL=Qa,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=as,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=Ya,e.ERR_INVALID_MSDOS_DATA=Ga,e.ERR_INVALID_PASSWORD=un,e.ERR_INVALID_PASSWORD_TYPE=He,e.ERR_INVALID_PASS_THROUGH_VALUE=qe,e.ERR_INVALID_READER=Pa,e.ERR_INVALID_SIGNAL=Pe,e.ERR_INVALID_SIGNATURE_DATA=_a,e.ERR_INVALID_STRICTNESS=is,e.ERR_INVALID_UID=qa,e.ERR_INVALID_UNCOMPRESSED_SIZE=tr,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Xa,e.ERR_INVALID_UNIX_ID_SIZE=Ja,e.ERR_INVALID_UNIX_MODE=Ka,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=xa,e.ERR_ITERATOR_COMPLETED_TOO_SOON=ho,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Yi,e.ERR_OVERLAPPING_ENTRY=es,e.ERR_RESERVED_COMPRESSION_METHOD=jn,e.ERR_SPLIT_ZIP_FILE=$i,e.ERR_UNDEFINED_COMPRESSION_METHOD=Va,e.ERR_UNDEFINED_CRC32=Za,e.ERR_UNDEFINED_READER=Ma,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ba,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=os,e.ERR_UNSUPPORTED_COMPRESSION=Xn,e.ERR_UNSUPPORTED_CONTEXT=tu,e.ERR_UNSUPPORTED_CRYPTO_API=dn,e.ERR_UNSUPPORTED_ENCRYPTION=_i,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=va,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Aa,e.ERR_UNSUPPORTED_FORMAT=Wa,e.ERR_UNSUPPORTED_SPLIT_USDZ=Ca,e.ERR_UNSUPPORTED_UINT64=cs,e.ERR_WORKER_STARTUP_TIMEOUT=xr,e.ERR_WRITER_NOT_INITIALIZED=yo,e.ERR_WRITER_SIZE_NOT_WRITABLE=Eo,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=ec,e.ERR_ZIP_NOT_EMPTY=Ha,e.HttpRangeReader=class extends Qo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Qo,e.Reader=Co,e.SplitDataReader=_o,e.SplitDataWriter=$o,e.TextReader=class extends Io{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends ko{constructor(e){super(),n.assign(this,{encoding:e,Zt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Zt:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return fo(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Co{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{_e:e,size:e.length})}readUint8Array(e,t){return this._e.slice(e,e+t)}},e.Uint8ArrayWriter=class extends vo{constructor(e){super(),this.Mt=e||262144}init(e=0){n.assign(this,{offset:0,_e:new w(e>0?e:this.Mt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t._e.length){let e=t._e.length?2*t._e.length:t.Mt;for(;e<n;)e*=2;const r=t._e;t._e=new w(e),t._e.set(r)}t._e.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this._e.length?this._e:this._e.slice(0,this.offset)}},e.VERSION="2.15.0",e.WARNING_APPENDED_DATA=ms,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=nc,e.WARNING_COMPRESSED_PATCHED_DATA=fs,e.WARNING_COMPRESSION_UNAVAILABLE=tc,e.WARNING_DUPLICATE_FILENAME=gs,e.WARNING_MALFORMED_EXTRA_FIELD=ds,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Fs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=xs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Ds,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=zs,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=bs,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=Ss,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=ys,e.WARNING_PREPENDED_DATA=hs,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Es,e.WARNING_UNKNOWN_VERSION=ls,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=ws,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=us,e.WARNING_WRAPPED_ENTRIES_COUNT=ps,e.Writer=vo,e.ZipReader=Ns,e.ZipReaderStream=Os,e.ZipWriter=uc,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new x;this.readable=t,this.zipWriter=new uc(n,e),this.ge=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new x({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await wc(t,e)}}()}});return pc(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new x({start(e){t=e}});return pc(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await E.allSettled(t.from(this.ge))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await wc(r,e),e}try{return await r.close(e,n)}catch(e){throw await wc(r,e),e}}},e.configure=function(e){n.assign(ft,mt(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=_c}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new A({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new x;r=Pn(t.readable),n=t.writable.getWriter(),s=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new D({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Gc,directoryName:r=Qc,getDirectory:o=()=>R.storage.getDirectory()}=e;let i;function s(){return i||(i=E.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new A({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new D({async pull(t){if(u){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=$c,directoryName:r=eu,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(tu);const i=o||(()=>R.storage.getDirectory());let a;function c(){return a||(a=E.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new A({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new D({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=_n,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=dt(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Yc(n,or)||Yc(e,or)||Yc(e,sr),decompression:Yc(r,or)||Yc(t,or)||Yc(t,sr),registered:!1},{compressionMethod:9,compression:!1,decompression:Yc(r,ir)||Yc(t,ir),registered:!1}];for(const e of _n()){const t=$n(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:fe,decompression:t?typeof t.DecompressionStream==pe:fe,registered:!0})}return o},e.isZipFile=Us,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>W||typeof n!=he||!n.length)throw new d(qn);if(Jn.includes(t))throw new d(jn);const c=typeof i==pe||typeof s==pe;if(!(c||typeof r==he&&r.length))throw new d(qn);Yn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&er(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of lt)delete ft[e];n.assign(ft,ot)},e.terminateWorkers=async function(){await E.allSettled([oo(),...Yr.map(e=>(ao(e),e.terminate()))]),Dr=fe,Ar=!1},e.unregisterCodec=function(e){const t=Yn.get(e);if(t){let n;Yn.delete(e),Yn.forEach(e=>n=n||e.format==t.format),n||Gn.delete(t.format)}}});