@themartiancompany/opfs 2.0.12 → 2.0.13

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 (3) hide show
  1. package/fs-worker.js +1 -1
  2. package/opfs +61 -4
  3. package/package.json +1 -1
package/fs-worker.js CHANGED
@@ -1 +1 @@
1
- (()=>{var e={234(e,r,t){const n=t(210);_sync_agent=n.startSyncAgent,e.exports={_sync_agent},_sync_agent()},210(e,r,t){const n=t(516),a=t(597),o=t(12);function i(e){let r;return void 0===e&&(e="fs-worker.js"),r=new a(e),r}_file=o.file,_read_stream_create=function(e,r){return _file(e).createReader()},e.exports=n,e.exports.fsWorkerNew=i,e.exports.fsWorkerStart=async function(e,r,t){let n,a,o,s;return void 0===e&&(e="fs-worker.js"),"Number"!=typeof r&&(r=10485760),"Number"!=typeof r&&(t=10485760),a=_fs.connectSyncAgent,s=i(e),o={worker:s,bufferLength:r,opTimeout:t},n=a(o),n},e.exports.createReadStream=_read_stream_create,e.exports.createWriteStream=function(e,r){return _file(e).createWriter()},e.exports.chmodSync=function(e,r){},e.exports.chownSync=function(e,r){},e.exports.mkdtemp=n.mkTemp,e.exports.mkdtempSync=n.mkTempSync,e.exports.readdirSync=function(e){const r=_fs.readDirSync;return _return=r.apply(null,[e]).unwrap(),_return},e.exports.renameSync=function(e){const r=_fs.moveSync;return _return=r.apply(null,e).unwrap(),_return},e.exports.rmSync=function(e){const r=_fs.removeSync;return _return=r.apply(null,e).unwrap(),_return}},12(e,r){!function(e){"use strict";var r,t,n,a,o,i,s,c,u,l,f,y,h=e=>{throw TypeError(e)},d=(e,r,t)=>r.has(e)||h("Cannot "+t),w=(e,r,t)=>(d(e,r,"read from private field"),t?t.call(e):r.get(e)),p=(e,r,t)=>r.has(e)?h("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t),m=(e,r,t,n)=>(d(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t);const g="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHUobil7aWYobj09PSIvIilyZXR1cm57cGFyZW50Om51bGwsbmFtZToiIn07Y29uc3QgZT1uLnNwbGl0KCIvIikuZmlsdGVyKGk9PmkubGVuZ3RoPjApO2lmKGUubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiSW52YWxpZCBwYXRoIik7Y29uc3QgYT1lW2UubGVuZ3RoLTFdLHI9Ii8iK2Uuc2xpY2UoMCwtMSkuam9pbigiLyIpO3JldHVybntuYW1lOmEscGFyZW50OnJ9fWFzeW5jIGZ1bmN0aW9uIHcobixlKXtjb25zdHtwYXJlbnQ6YSxuYW1lOnJ9PXUobik7aWYoYT09bnVsbClyZXR1cm4gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7Y29uc3QgaT1hLnNwbGl0KCIvIikuZmlsdGVyKHQ9PnQubGVuZ3RoPjApO3RyeXtsZXQgdD1hd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTtmb3IoY29uc3QgcyBvZiBpKXQ9YXdhaXQgdC5nZXREaXJlY3RvcnlIYW5kbGUocyx7Y3JlYXRlOmUuY3JlYXRlfSk7aWYoZS5pc0ZpbGUpcmV0dXJuIGF3YWl0IHQuZ2V0RmlsZUhhbmRsZShyLHtjcmVhdGU6ZS5jcmVhdGV9KX1jYXRjaCh0KXtpZih0Lm5hbWU9PT0iTm90Rm91bmRFcnJvciIpcmV0dXJuIG51bGw7dGhyb3cgdH19Y29uc3QgZj17fTtzZWxmLm9ubWVzc2FnZT1hc3luYyBuPT57dmFyIGk7Y29uc3R7ZXZ0VHlwZTplLGFyZ3M6YX09bi5kYXRhO2xldCByPWZbYS5maWxlSWRdO3RyeXtsZXQgdDtjb25zdCBzPVtdO2lmKGU9PT0icmVnaXN0ZXIiKXtjb25zdCBsPWF3YWl0IHcoYS5maWxlUGF0aCx7Y3JlYXRlOiEwLGlzRmlsZTohMH0pO2lmKGw9PW51bGwpdGhyb3cgRXJyb3IoYG5vdCBmb3VuZCBmaWxlOiAke2EuZmlsZUlkfWApO3I9YXdhaXQgbC5jcmVhdGVTeW5jQWNjZXNzSGFuZGxlKHttb2RlOmEubW9kZX0pLGZbYS5maWxlSWRdPXJ9ZWxzZSBpZihlPT09ImNsb3NlIilhd2FpdCByLmNsb3NlKCksZGVsZXRlIGZbYS5maWxlSWRdO2Vsc2UgaWYoZT09PSJ0cnVuY2F0ZSIpYXdhaXQgci50cnVuY2F0ZShhLm5ld1NpemUpO2Vsc2UgaWYoZT09PSJ3cml0ZSIpe2NvbnN0e2RhdGE6bCxvcHRzOm99PW4uZGF0YS5hcmdzO3Q9YXdhaXQgci53cml0ZShsLG8pfWVsc2UgaWYoZT09PSJyZWFkIil7Y29uc3R7b2Zmc2V0Omwsc2l6ZTpvfT1uLmRhdGEuYXJncyxnPW5ldyBVaW50OEFycmF5KG8pLGQ9YXdhaXQgci5yZWFkKGcse2F0Omx9KSxjPWcuYnVmZmVyO3Q9ZD09PW8/YzooKGk9Yy50cmFuc2Zlcik9PW51bGw/dm9pZCAwOmkuY2FsbChjLGQpKT8/Yy5zbGljZSgwLGQpLHMucHVzaCh0KX1lbHNlIGU9PT0iZ2V0U2l6ZSI/dD1hd2FpdCByLmdldFNpemUoKTplPT09ImZsdXNoIiYmYXdhaXQgci5mbHVzaCgpO3NlbGYucG9zdE1lc3NhZ2Uoe2V2dFR5cGU6ImNhbGxiYWNrIixjYklkOm4uZGF0YS5jYklkLHJldHVyblZhbDp0fSxzKX1jYXRjaCh0KXtjb25zdCBzPXQ7c2VsZi5wb3N0TWVzc2FnZSh7ZXZ0VHlwZToidGhyb3dFcnJvciIsY2JJZDpuLmRhdGEuY2JJZCxlcnJNc2c6cy5uYW1lKyI6ICIrcy5tZXNzYWdlK2AKYCtKU09OLnN0cmluZ2lmeShuLmRhdGEpfSl9fX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wZnMtd29ya2VyLUY0UldscWNfLmpzLm1hcAo=",v=typeof self<"u"&&self.Blob&&new Blob([(b=g,Uint8Array.from(atob(b),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var b;function E(e){let r;try{if(r=v&&(self.URL||self.webkitURL).createObjectURL(v),!r)throw"";const t=new Worker(r,{name:null==e?void 0:e.name});return t.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(r)}),t}catch{return new Worker("data:text/javascript;base64,"+g,{name:null==e?void 0:e.name})}finally{r&&(self.URL||self.webkitURL).revokeObjectURL(r)}}async function T(e,r,t){const n=function(){if(S.length<3){const r=e();return S.push(r),r}{const e=S[k];return k=(k+1)%S.length,e}function e(){const e=new E;let r=0,t={};return e.onmessage=({data:e})=>{var r,n;"callback"===e.evtType?null==(r=t[e.cbId])||r.resolve(e.returnVal):"throwError"===e.evtType&&(null==(n=t[e.cbId])||n.reject(Error(e.errMsg))),delete t[e.cbId]},async function(n,a,o=[]){r+=1;const i=new Promise((e,n)=>{t[r]={resolve:e,reject:n}});return e.postMessage({cbId:r,evtType:n,args:a},o),i}}}();return await n("register",{fileId:e,filePath:r,mode:t}),{read:async(r,t)=>await n("read",{fileId:e,offset:r,size:t}),write:async(r,t)=>await n("write",{fileId:e,data:r,opts:t},[ArrayBuffer.isView(r)?r.buffer:r]),close:async()=>await n("close",{fileId:e}),truncate:async r=>await n("truncate",{fileId:e,newSize:r}),getSize:async()=>await n("getSize",{fileId:e}),flush:async()=>await n("flush",{fileId:e})}}const S=[];let k=0;function A(e){if("/"===e)return{parent:null,name:""};const r=e.split("/").filter(e=>e.length>0);if(0===r.length)throw Error("Invalid path");return{name:r[r.length-1],parent:"/"+r.slice(0,-1).join("/")}}async function O(e,r){const{parent:t,name:n}=A(e);if(null==t)return await navigator.storage.getDirectory();const a=t.split("/").filter(e=>e.length>0);try{let e=await navigator.storage.getDirectory();for(const t of a)e=await e.getDirectoryHandle(t,{create:r.create});return r.isFile?await e.getFileHandle(n,{create:r.create}):await e.getDirectoryHandle(n,{create:r.create})}catch(e){if("NotFoundError"===e.name)return null;throw e}}async function F(e){const{parent:r,name:t}=A(e);if(null==r){const e=await navigator.storage.getDirectory();for await(const r of e.keys())await e.removeEntry(r,{recursive:!0});return}const n=await O(r,{create:!1,isFile:!1});if(null!=n)try{await n.removeEntry(t,{recursive:!0})}catch(e){if("NotFoundError"===e.name)return;throw e}}function R(e,r){return`${e}/${r}`.replace("//","/")}function x(e){return new W(e)}r=new WeakMap,t=new WeakMap,n=new WeakMap;let W=class e{constructor(e){p(this,r),p(this,t),p(this,n),m(this,r,e);const{parent:a,name:o}=A(e);m(this,t,o),m(this,n,a)}get kind(){return"dir"}get name(){return w(this,t)}get path(){return w(this,r)}get parent(){return null==w(this,n)?null:x(w(this,n))}async create(){return await O(w(this,r),{create:!0,isFile:!1}),x(w(this,r))}async exists(){return await O(w(this,r),{create:!1,isFile:!1})instanceof FileSystemDirectoryHandle}async remove(e={}){for(const r of await this.children())try{await r.remove(e)}catch(e){console.warn(e)}try{await F(w(this,r))}catch(e){console.warn(e)}}async children(){const e=await O(w(this,r),{create:!1,isFile:!1});if(null==e)return[];const t=[];for await(const n of e.values())t.push(("file"===n.kind?P:x)(R(w(this,r),n.name)));return t}async copyTo(r){if(!await this.exists())throw Error(`dir ${this.path} not exists`);if(r instanceof e){const e=await r.exists()?x(R(r.path,this.name)):r;return await e.create(),await Promise.all((await this.children()).map(r=>r.copyTo(e))),e}if(r instanceof FileSystemDirectoryHandle)return await Promise.all((await this.children()).map(async e=>{"file"===e.kind?await e.copyTo(await r.getFileHandle(e.name,{create:!0})):await e.copyTo(await r.getDirectoryHandle(e.name,{create:!0}))})),null;throw Error("Illegal target type")}async moveTo(e){const r=await this.copyTo(e);return await this.remove(),r}};const Z=new Map;function P(e,r="rw"){if("rw"===r){const t=Z.get(e)??new z(e,r);return Z.set(e,t),t}return new z(e,r)}async function L(e,r,t={overwrite:!0}){if(r instanceof z)return void await L(e,await r.stream(),t);const n=await(e instanceof z?e:P(e,"rw")).createWriter();try{if(t.overwrite&&await n.truncate(0),r instanceof ReadableStream){const e=r.getReader();for(;;){const{done:r,value:t}=await e.read();if(r)break;await n.write(t)}}else await n.write(r)}catch(e){throw e}finally{await n.close()}}let I=0;a=new WeakMap,o=new WeakMap,i=new WeakMap,s=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,f=new WeakMap,y=new WeakMap;let z=class e{constructor(e,r){p(this,a),p(this,o),p(this,i),p(this,s),p(this,c),p(this,u,0),p(this,l,async()=>{}),p(this,f,(()=>{let e=null;return()=>(m(this,u,w(this,u)+1),null!=e||(e=new Promise(async(r,t)=>{try{const t=await T(w(this,c),w(this,a),w(this,s));m(this,l,async()=>{null!=e&&(e=null,m(this,u,0),await t.close().catch(console.error))}),r([t,async()=>{m(this,u,w(this,u)-1),!(w(this,u)>0)&&(e=null,await t.close())}])}catch(e){t(e)}})),e)})()),p(this,y,!1),m(this,c,++I),m(this,a,e),m(this,s,{r:"read-only",rw:"readwrite","rw-unsafe":"readwrite-unsafe"}[r]);const{parent:t,name:n}=A(e);if(null==t)throw Error("Invalid path");m(this,i,n),m(this,o,t)}get kind(){return"file"}get path(){return w(this,a)}get name(){return w(this,i)}get parent(){return null==w(this,o)?null:x(w(this,o))}async createWriter(){if("read-only"===w(this,s))throw Error("file is read-only");if(w(this,y))throw Error("Other writer have not been closed");m(this,y,!0);try{const e=new TextEncoder,[r,t]=await w(this,f).call(this);let n=await r.getSize(),a=!1;return{write:async(t,o={})=>{if(a)throw Error("Writer is closed");const i="string"==typeof t?e.encode(t):t,s=o.at??n,c=i.byteLength;return n=s+c,await r.write(i,{at:s})},truncate:async e=>{if(a)throw Error("Writer is closed");await r.truncate(e),n>e&&(n=e)},flush:async()=>{if(a)throw Error("Writer is closed");await r.flush()},close:async()=>{if(a)throw Error("Writer is closed");a=!0,m(this,y,!1),await t()}}}catch(e){throw m(this,y,!1),e}}async createReader(){const[e,r]=await w(this,f).call(this);let t=!1,n=0;return{read:async(r,a={})=>{if(t)throw Error("Reader is closed");const o=a.at??n,i=await e.read(o,r);return n=o+i.byteLength,i},getSize:async()=>{if(t)throw Error("Reader is closed");return await e.getSize()},close:async()=>{t||(t=!0,await r())}}}async text(){return(new TextDecoder).decode(await this.arrayBuffer())}async arrayBuffer(){const e=await O(w(this,a),{create:!1,isFile:!0});return null==e?new ArrayBuffer(0):(await e.getFile()).arrayBuffer()}async stream(){const e=await this.getOriginFile();return null==e?new ReadableStream({pull:e=>{e.close()}}):e.stream()}async getOriginFile(){var e;return null==(e=await O(w(this,a),{create:!1,isFile:!0}))?void 0:e.getFile()}async getSize(){const e=await O(w(this,a),{create:!1,isFile:!0});return null==e?0:(await e.getFile()).size}async exists(){return await O(w(this,a),{create:!1,isFile:!0})instanceof FileSystemFileHandle}async remove(e={}){if(!0===e.force)return await w(this,l).call(this),await F(w(this,a)),void Z.delete(w(this,a));if(w(this,u)>0)throw Error("exists unclosed reader/writer");await F(w(this,a))}async copyTo(r){if(r instanceof e)return r.path===this.path?this:(await L(r,this),r);if(r instanceof W){if(!await this.exists())throw Error(`file ${this.path} not exists`);return await this.copyTo(P(R(r.path,this.name)))}if(r instanceof FileSystemFileHandle)return await(await this.stream()).pipeTo(await r.createWritable()),null;throw Error("Illegal target type")}async moveTo(e){const r=await this.copyTo(e);return await this.remove(),r}};const U="/.opfs-tools-temp-dir";async function Y(e){try{if("file"===e.kind){if(!await e.exists())return!0;const r=await e.createWriter();await r.truncate(0),await r.close(),await e.remove()}else await e.remove();return!0}catch(e){return console.warn(e),!1}}const C=[];let j=!1;(async function(){var e;!0!==globalThis.__opfs_tools_tmpfile_init__&&(globalThis.__opfs_tools_tmpfile_init__=!0,null!=globalThis.FileSystemDirectoryHandle&&null!=globalThis.FileSystemFileHandle&&null!=(null==(e=globalThis.navigator)?void 0:e.storage.getDirectory)&&(setInterval(async()=>{for(const e of await x(U).children()){const r=/^\d+-(\d+)$/.exec(e.name);(null==r||Date.now()-Number(r[1])>2592e5)&&await Y(e)}},6e4),await async function(){if(null==globalThis.localStorage)return;const e="OPFS_TOOLS_EXPIRES_TMP_FILES";j||(j=!0,globalThis.addEventListener("unload",()=>{0!==C.length&&localStorage.setItem(e,`${localStorage.getItem(e)??""},${C.join(",")}`)}));let r=localStorage.getItem(e)??"";for(const e of r.split(","))0!==e.length&&await Y(P(`${U}/${e}`))&&(r=r.replace(e,""));localStorage.setItem(e,r.replace(/,{2,}/g,","))}()))})(),e.dir=x,e.file=P,e.rollfile=function(e,r){let t=P(e),n=0,a=t.createWriter(),o=t.createReader();return{append:async e=>{const t=await a;n+=await t.write(e),n>=r&&await(async e=>{const r=await(await o).read(n,{at:Math.round(.3*n)});n=await e.write(r,{at:0}),await e.truncate(n)})(t)},text:t.text.bind(t),remove:async()=>{await(await o).close(),await(await a).close(),await t.remove()},getSize:async()=>n}},e.tmpfile=function(){const e=`${Math.random().toString().slice(2)}-${Date.now()}`;return C.push(e),P(`${U}/${e}`)},e.write=L,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(r)},516(e,r,t){"use strict";t.r(r),t.d(r,{ABORT_ERROR:()=>O,CURRENT_DIR:()=>Je,NOT_FOUND_ERROR:()=>Ve,ROOT_DIR:()=>He,TIMEOUT_ERROR:()=>F,TMP_DIR:()=>Ke,appendFile:()=>Ar,appendFileSync:()=>gt,assertAbsolutePath:()=>Qe,assertFileUrl:()=>qe,connectSyncAgent:()=>ot,copy:()=>Or,copySync:()=>vt,createFile:()=>wr,createFileSync:()=>ut,deleteTemp:()=>Ir,deleteTempSync:()=>Tt,downloadFile:()=>Tr,emptyDir:()=>Fr,emptyDirSync:()=>bt,exists:()=>Rr,existsSync:()=>Et,generateTempPath:()=>cr,getFileDataByHandle:()=>dr,getSyncMessenger:()=>it,isDirectoryHandle:()=>yr,isFileHandle:()=>fr,isFileHandleLike:()=>hr,isOPFSSupported:()=>Xr,isTempPath:()=>ur,mkTemp:()=>Lr,mkTempSync:()=>St,mkdir:()=>pr,mkdirSync:()=>lt,move:()=>xr,moveSync:()=>ft,pruneTemp:()=>zr,pruneTempSync:()=>kt,readBlobFile:()=>Wr,readBlobFileSync:()=>At,readDir:()=>mr,readDirSync:()=>yt,readFile:()=>gr,readFileSync:()=>ht,readJsonFile:()=>Zr,readJsonFileSync:()=>Ot,readTextFile:()=>Pr,readTextFileSync:()=>Ft,remove:()=>vr,removeSync:()=>dt,setSyncMessenger:()=>st,startSyncAgent:()=>at,stat:()=>br,statSync:()=>wt,toFileSystemHandleLike:()=>lr,unzip:()=>Yr,unzipFromUrl:()=>Cr,unzipSync:()=>Rt,uploadFile:()=>jr,writeFile:()=>Er,writeFileSync:()=>mt,zip:()=>Mr,zipFromUrl:()=>Gr,zipSync:()=>xt});function n(e,r){if(!e)throw new Error("Invariant failed")}function a(e){if("string"!=typeof e)throw new TypeError(`Path must be a string, received "${JSON.stringify(e)}"`)}function o(e,r){if(e.length<=1)return e;let t=e.length;for(let n=e.length-1;n>0&&r(e.charCodeAt(n));n--)t=n;return e.slice(0,t)}function i(e){return 47===e}function s(e){return e=function(e){if("file:"!==(e=e instanceof URL?e:new URL(e)).protocol)throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function c(e){e instanceof URL&&(e=s(e)),function(e){a(e),e.length}(e);let r=-1,t=!1;for(let n=e.length-1;n>=1;--n)if(i(e.charCodeAt(n))){if(t){r=n;break}}else t=!0;return-1===r?i(e.charCodeAt(0))?"/":".":o(e.slice(0,r),i)}function u(e,r=""){e instanceof URL&&(e=s(e)),function(e,r){if(a(e),0===e.length)return e;if("string"!=typeof r)throw new TypeError(`Suffix must be a string, received "${JSON.stringify(r)}"`)}(e,r);const t=function(e,r,t=0){let n=!1,a=e.length;for(let o=e.length-1;o>=t;--o)if(r(e.charCodeAt(o))){if(n){t=o+1;break}}else n||(n=!0,a=o+1);return e.slice(t,a)}(e,i),n=o(t,i);return r?function(e,r){if(r.length>=e.length)return e;const t=e.length-r.length;for(let n=r.length-1;n>=0;--n)if(e.charCodeAt(t+n)!==r.charCodeAt(n))return e;return e.slice(0,-r.length)}(n,r):n}function l(e,...r){if(void 0===e)return".";e instanceof URL&&(e=s(e)),(r=e?[e,...r]:r).forEach(e=>a(e));const t=r.filter(e=>e.length>0).join("/");return""===t?".":function(e){e instanceof URL&&(e=s(e)),function(e){a(e),e.length}(e);const r=i(e.charCodeAt(0)),t=i(e.charCodeAt(e.length-1));return e=function(e,r,t,n){let a,o="",i=0,s=-1,c=0;for(let u=0;u<=e.length;++u){if(u<e.length)a=e.charCodeAt(u);else{if(n(a))break;a=47}if(n(a)){if(s===u-1||1===c);else if(s!==u-1&&2===c){if(o.length<2||2!==i||46!==o.charCodeAt(o.length-1)||46!==o.charCodeAt(o.length-2)){if(o.length>2){const e=o.lastIndexOf(t);-1===e?(o="",i=0):(o=o.slice(0,e),i=o.length-1-o.lastIndexOf(t)),s=u,c=0;continue}if(2===o.length||1===o.length){o="",i=0,s=u,c=0;continue}}r&&(o.length>0?o+=`${t}..`:o="..",i=2)}else o.length>0?o+=t+e.slice(s+1,u):o=e.slice(s+1,u),i=u-s-1;s=u,c=0}else 46===a&&-1!==c?++c:c=-1}return o}(e,!r,"/",i),0!==e.length||r||(e="."),e.length>0&&t&&(e+="/"),r?`/${e}`:e}(t)}function f(e){e instanceof URL&&(e=s(e)),a(e);let r=-1,t=0,n=-1,o=!0,c=0;for(let a=e.length-1;a>=0;--a){const s=e.charCodeAt(a);if(i(s)){if(!o){t=a+1;break}}else-1===n&&(o=!1,n=a+1),46===s?-1===r?r=a:1!==c&&(c=1):-1!==r&&(c=-1)}return-1===r||-1===n||0===c||1===c&&r===n-1&&r===t+1?"":e.slice(r,n)}const y=Symbol("Option kind"),h=Symbol("Result kind"),d=Promise.resolve(!0),w=Promise.resolve(!1);function p(e){const r=Object.freeze({[Symbol.toStringTag]:"Option",[y]:"Some",*[Symbol.iterator](){yield e},toString:()=>`Some(${e})`,isSome:()=>!0,isNone:()=>!1,isSomeAnd:r=>r(e),isSomeAndAsync:r=>Promise.resolve(r(e)),isNoneOr:r=>r(e),isNoneOrAsync:r=>Promise.resolve(r(e)),expect:r=>e,unwrap:()=>e,unwrapOr:r=>e,unwrapOrElse:r=>e,unwrapOrElseAsync:r=>Promise.resolve(e),okOr:r=>v(e),okOrElse:r=>v(e),transpose:()=>(S(e),e.isOk()?v(p(e.unwrap())):b(e.unwrapErr())),filter:t=>t(e)?r:m,flatten:()=>(T(e),e),map:r=>p(r(e)),mapOr:(r,t)=>t(e),mapOrElse:(r,t)=>t(e),zip:r=>(T(r),r.isSome()?p([e,r.unwrap()]):m),zipWith:(r,t)=>(T(r),r.isSome()?p(t(e,r.unwrap())):m),unzip(){const r=e;if(!Array.isArray(r)||2!==r.length)throw new TypeError("Option::unzip() requires a 2-element tuple, received "+(Array.isArray(r)?`array with ${r.length} elements`:typeof r));const[t,n]=r;return[p(t),p(n)]},reduce:(t,n)=>(T(t),t.isSome()?p(n(e,t.unwrap())):r),and:e=>(T(e),e),andThen:r=>r(e),andThenAsync:r=>Promise.resolve(r(e)),or:e=>r,orElse:e=>r,orElseAsync:e=>Promise.resolve(r),xor:e=>(T(e),e.isSome()?m:r),inspect:t=>(t(e),r),eq:r=>(T(r),r.isSome()&&r.unwrap()===e)});return r}const m=Object.freeze({[Symbol.toStringTag]:"Option",[y]:"None",*[Symbol.iterator](){},toString:()=>"None",isSome:()=>!1,isNone:()=>!0,isSomeAnd:e=>!1,isSomeAndAsync:e=>w,isNoneOr:e=>!0,isNoneOrAsync:e=>d,expect(e){throw new TypeError(e)},unwrap(){throw new TypeError("Option::unwrap() called on a `None` value")},unwrapOr:e=>e,unwrapOrElse:e=>e(),unwrapOrElseAsync:e=>Promise.resolve(e()),okOr:e=>b(e),okOrElse:e=>b(e()),transpose:()=>v(m),filter:e=>m,flatten:()=>m,map:e=>m,mapOr:(e,r)=>e,mapOrElse:(e,r)=>e(),zip:e=>m,zipWith:(e,r)=>m,unzip:()=>[m,m],reduce:(e,r)=>(T(e),e),and:e=>m,andThen:e=>m,andThenAsync:e=>g,or:e=>(T(e),e),orElse:e=>e(),orElseAsync:e=>Promise.resolve(e()),xor:e=>(T(e),e.isSome()?e:m),inspect:e=>m,eq:e=>(T(e),e===m)}),g=Promise.resolve(m);function v(e){const r=Object.freeze({[Symbol.toStringTag]:"Result",[h]:"Ok",*[Symbol.iterator](){yield e},toString:()=>`Ok(${e})`,isOk:()=>!0,isErr:()=>!1,isOkAnd:r=>r(e),isOkAndAsync:r=>Promise.resolve(r(e)),isErrAnd:e=>!1,isErrAndAsync:e=>w,expect:r=>e,unwrap:()=>e,unwrapOr:r=>e,unwrapOrElse:r=>e,unwrapOrElseAsync:r=>Promise.resolve(e),expectErr(r){throw new TypeError(`${r}: ${e}`)},unwrapErr(){throw new TypeError("Result::unwrapErr() called on an `Ok` value")},intoOk:()=>e,intoErr(){throw new TypeError("Result::intoErr() called on an `Ok` value")},ok:()=>p(e),err:()=>m,transpose:()=>(T(e),e.isSome()?p(v(e.unwrap())):m),map:r=>v(r(e)),mapErr:e=>r,mapOr:(r,t)=>t(e),mapOrElse:(r,t)=>t(e),flatten:()=>(S(e),e),and:e=>(S(e),e),or:e=>r,andThen:r=>r(e),andThenAsync:r=>Promise.resolve(r(e)),orElse:e=>r,orElseAsync:e=>Promise.resolve(r),inspect:t=>(t(e),r),inspectErr:e=>r,eq:r=>(S(r),r.isOk()&&r.unwrap()===e),asOk:()=>r,asErr(){throw new TypeError("Result::asErr() called on an `Ok` value")},andTryAsync(r){try{const t=r(e);return Promise.resolve(t).then(v,b)}catch(e){return Promise.resolve(b(e))}},orTryAsync:e=>Promise.resolve(r)});return r}function b(e){const r=Object.freeze({[Symbol.toStringTag]:"Result",[h]:"Err",*[Symbol.iterator](){},toString:()=>`Err(${e})`,isOk:()=>!1,isErr:()=>!0,isOkAnd:e=>!1,isOkAndAsync:e=>w,isErrAnd:r=>r(e),isErrAndAsync:r=>Promise.resolve(r(e)),expect(r){throw new TypeError(`${r}: ${e}`)},unwrap(){throw new TypeError("Result::unwrap() called on an `Err` value")},unwrapOr:e=>e,unwrapOrElse:r=>r(e),unwrapOrElseAsync:r=>Promise.resolve(r(e)),expectErr:r=>e,unwrapErr:()=>e,intoOk(){throw new TypeError("Result::intoOk() called on an `Err` value")},intoErr:()=>e,ok:()=>m,err:()=>p(e),transpose:()=>p(r),map:e=>r,mapErr:r=>b(r(e)),mapOr:(e,r)=>e,mapOrElse:(r,t)=>r(e),flatten:()=>r,and:e=>r,or:e=>(S(e),e),andThen:e=>r,andThenAsync:e=>Promise.resolve(r),orElse:r=>r(e),orElseAsync:r=>Promise.resolve(r(e)),inspect:e=>r,inspectErr:t=>(t(e),r),eq:r=>(S(r),r.isErr()&&r.unwrapErr()===e),asOk(){throw new TypeError("Result::asOk() called on an `Err` value")},asErr:()=>r,andTryAsync:e=>Promise.resolve(r),orTryAsync(r){try{const t=r(e);return Promise.resolve(t).then(v,b)}catch(e){return Promise.resolve(b(e))}}});return r}function E(e){try{return null===e?"null":void 0===e?"undefined":"object"==typeof e?Object.prototype.toString.call(e):String(e)}catch{return"[unable to stringify]"}}function T(e){if(!function(e){return null!=e&&"object"==typeof e&&y in e}(e))throw new TypeError(`Expected an Option, but received: ${E(e)}`)}function S(e){if(!function(e){return null!=e&&"object"==typeof e&&h in e}(e))throw new TypeError(`Expected a Result, but received: ${E(e)}`)}const k=v(!1),A=v(),O="AbortError",F="TimeoutError";var R=class extends Error{name="FetchError";status;constructor(e,r){super(e),this.status=r}};function x(e,r){const t=function(e){if(e instanceof URL)return e;try{return new URL(e,"undefined"!=typeof location?location.href:void 0)}catch{throw new TypeError(`Invalid URL: ${e}`)}}(e),n=r??{},{retries:a,delay:o,when:i,onRetry:s}=function(e){const{responseType:r,timeout:t,retry:n=0,onProgress:a,onChunk:o}=e;if(null!=r){const e=["text","arraybuffer","blob","json","bytes","stream"];if(!e.includes(r))throw new TypeError(`responseType must be one of ${e.join(", ")} but received ${r}`)}if(null!=t){if("number"!=typeof t)throw new TypeError("timeout must be a number but received "+typeof t);if(t<=0)throw new Error(`timeout must be a number greater than 0 but received ${t}`)}if(null!=a&&"function"!=typeof a)throw new TypeError("onProgress callback must be a function but received "+typeof a);if(null!=o&&"function"!=typeof o)throw new TypeError("onChunk callback must be a function but received "+typeof o);let i,s,c=0,u=0;if("number"==typeof n?c=n:n&&"object"==typeof n&&(c=n.retries??0,u=n.delay??0,i=n.when,s=n.onRetry),!Number.isInteger(c))throw new TypeError(`Retry count must be an integer but received ${c}`);if(c<0)throw new Error(`Retry count must be non-negative but received ${c}`);if("number"==typeof u){if(u<0)throw new Error(`Retry delay must be a non-negative number but received ${u}`)}else if("function"!=typeof u)throw new TypeError("Retry delay must be a number or a function but received "+typeof u);if(null!=i&&!Array.isArray(i)&&"function"!=typeof i)throw new TypeError("Retry when condition must be an array of status codes or a function but received "+typeof i);if(null!=s&&"function"!=typeof s)throw new TypeError("Retry onRetry callback must be a function but received "+typeof s);return{retries:c,delay:u,when:i,onRetry:s}}(n),{abortable:c=!1,responseType:u,timeout:l,onProgress:f,onChunk:y,...h}=n,d=h.signal;let w;c&&(w=new AbortController);const p=(e,r)=>"AbortError"!==e.name&&(i?Array.isArray(i)?e instanceof R&&i.includes(e.status):i(e,r):!(e instanceof R)),m=e=>"function"==typeof o?o(e):o,g=()=>{const e=[];d&&e.push(d),w&&e.push(w.signal),"number"==typeof l&&e.push(function(e){if("function"==typeof AbortSignal.timeout)return AbortSignal.timeout(e);const r=new AbortController,t=function(){const e="The operation timed out.";try{return new DOMException(e,F)}catch{const r=new Error(e);return r.name=F,r}}(),n=setTimeout(()=>{r.abort(t)},e);return"function"==typeof n?.unref&&n.unref(),r.signal}(l)),e.length>0&&(h.signal=1===e.length?e[0]:function(e){if("function"==typeof AbortSignal.any)return AbortSignal.any(e);const r=new AbortController;for(const t of e)if(t.aborted)return r.abort(t.reason),r.signal;const t=e=>{r.abort(e.target.reason)};for(const r of e)r.addEventListener("abort",t);return r.signal.addEventListener("abort",()=>{for(const r of e)r.removeEventListener("abort",t)}),r.signal}(e))},E=async()=>{g();try{const e=await fetch(t,h);return e.ok?await T(e):(e.body?.cancel().catch(()=>{}),b(new R(e.statusText,e.status)))}catch(e){return b(e instanceof Error?e:Z(e))}},T=async e=>{switch(e.body&&(f||y)&&(async e=>{let r,t=0;if(f){const t=e.headers.get("content-length");if(null==t)try{f(b(new Error("No content-length in response headers")))}catch{}else r=Number.parseInt(t,10)}const n=e.clone().body;try{for await(const e of n){if(y)try{y(e)}catch{}if(f&&null!=r){t+=e.byteLength;try{f(v({totalByteLength:r,completedByteLength:t}))}catch{}}}}catch{}})(e),u){case"json":if(null==e.body)return v(null);try{return v(await e.json())}catch{return b(new Error("Response is invalid json while responseType is json"))}case"text":return v(await e.text());case"bytes":return"function"==typeof e.bytes?v(await e.bytes()):v(new Uint8Array(await e.arrayBuffer()));case"arraybuffer":return v(await e.arrayBuffer());case"blob":return v(await e.blob());case"stream":return v(e.body);default:return v(e)}},S=(async()=>{let e,r=0;do{if(r>0){if(w?.signal.aborted)return b(w.signal.reason);const t=m(r);if(t>0&&(await W(t),w?.signal.aborted))return b(w.signal.reason);try{s?.(e,r)}catch{}}const t=await E();if(t.isOk())return t;e=t.unwrapErr(),r++}while(r<=a&&p(e,r));return b(e)})();return c&&w?{abort(e){e instanceof Error?w.abort(e):null!=e?w.abort(Z(e)):w.abort()},get aborted(){return w.signal.aborted},get result(){return S}}:S}function W(e){return new Promise(r=>setTimeout(r,e))}function Z(e){const r=new Error("string"==typeof e?e:String(e));return r.name=O,r.cause=e,r}var P={},L=Uint8Array,I=Uint16Array,z=Int32Array,U=new L([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,0,0,0]),Y=new L([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,0,0]),C=new L([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j=function(e,r){for(var t=new I(31),n=0;n<31;++n)t[n]=r+=1<<e[n-1];var a=new z(t[30]);for(n=1;n<30;++n)for(var o=t[n];o<t[n+1];++o)a[o]=o-t[n]<<5|n;return{b:t,r:a}},D=j(U,2),M=D.b,G=D.r;M[28]=258,G[258]=28;for(var X=j(Y,0),N=X.b,$=X.r,_=new I(32768),B=0;B<32768;++B){var V=(43690&B)>>1|(21845&B)<<1;V=(61680&(V=(52428&V)>>2|(13107&V)<<2))>>4|(3855&V)<<4,_[B]=((65280&V)>>8|(255&V)<<8)>>1}var H=function(e,r,t){for(var n=e.length,a=0,o=new I(r);a<n;++a)e[a]&&++o[e[a]-1];var i,s=new I(r);for(a=1;a<r;++a)s[a]=s[a-1]+o[a-1]<<1;if(t){i=new I(1<<r);var c=15-r;for(a=0;a<n;++a)if(e[a])for(var u=a<<4|e[a],l=r-e[a],f=s[e[a]-1]++<<l,y=f|(1<<l)-1;f<=y;++f)i[_[f]>>c]=u}else for(i=new I(n),a=0;a<n;++a)e[a]&&(i[a]=_[s[e[a]-1]++]>>15-e[a]);return i},J=new L(288);for(B=0;B<144;++B)J[B]=8;for(B=144;B<256;++B)J[B]=9;for(B=256;B<280;++B)J[B]=7;for(B=280;B<288;++B)J[B]=8;var K=new L(32);for(B=0;B<32;++B)K[B]=5;var Q=H(J,9,0),q=H(J,9,1),ee=H(K,5,0),re=H(K,5,1),te=function(e){for(var r=e[0],t=1;t<e.length;++t)e[t]>r&&(r=e[t]);return r},ne=function(e,r,t){var n=r/8|0;return(e[n]|e[n+1]<<8)>>(7&r)&t},ae=function(e,r){var t=r/8|0;return(e[t]|e[t+1]<<8|e[t+2]<<16)>>(7&r)},oe=function(e){return(e+7)/8|0},ie=function(e,r,t){return(null==r||r<0)&&(r=0),(null==t||t>e.length)&&(t=e.length),new L(e.subarray(r,t))},se=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ce=function(e,r,t){var n=new Error(r||se[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,ce),!t)throw n;return n},ue=function(e,r,t,n){var a=e.length,o=n?n.length:0;if(!a||r.f&&!r.l)return t||new L(0);var i=!t,s=i||2!=r.i,c=r.i;i&&(t=new L(3*a));var u=function(e){var r=t.length;if(e>r){var n=new L(Math.max(2*r,e));n.set(t),t=n}},l=r.f||0,f=r.p||0,y=r.b||0,h=r.l,d=r.d,w=r.m,p=r.n,m=8*a;do{if(!h){l=ne(e,f,1);var g=ne(e,f+1,3);if(f+=3,!g){var v=e[(W=oe(f)+4)-4]|e[W-3]<<8,b=W+v;if(b>a){c&&ce(0);break}s&&u(y+v),t.set(e.subarray(W,b),y),r.b=y+=v,r.p=f=8*b,r.f=l;continue}if(1==g)h=q,d=re,w=9,p=5;else if(2==g){var E=ne(e,f,31)+257,T=ne(e,f+10,15)+4,S=E+ne(e,f+5,31)+1;f+=14;for(var k=new L(S),A=new L(19),O=0;O<T;++O)A[C[O]]=ne(e,f+3*O,7);f+=3*T;var F=te(A),R=(1<<F)-1,x=H(A,F,1);for(O=0;O<S;){var W,Z=x[ne(e,f,R)];if(f+=15&Z,(W=Z>>4)<16)k[O++]=W;else{var P=0,I=0;for(16==W?(I=3+ne(e,f,3),f+=2,P=k[O-1]):17==W?(I=3+ne(e,f,7),f+=3):18==W&&(I=11+ne(e,f,127),f+=7);I--;)k[O++]=P}}var z=k.subarray(0,E),j=k.subarray(E);w=te(z),p=te(j),h=H(z,w,1),d=H(j,p,1)}else ce(1);if(f>m){c&&ce(0);break}}s&&u(y+131072);for(var D=(1<<w)-1,G=(1<<p)-1,X=f;;X=f){var $=(P=h[ae(e,f)&D])>>4;if((f+=15&P)>m){c&&ce(0);break}if(P||ce(2),$<256)t[y++]=$;else{if(256==$){X=f,h=null;break}var _=$-254;if($>264){var B=U[O=$-257];_=ne(e,f,(1<<B)-1)+M[O],f+=B}var V=d[ae(e,f)&G],J=V>>4;if(V||ce(3),f+=15&V,j=N[J],J>3&&(B=Y[J],j+=ae(e,f)&(1<<B)-1,f+=B),f>m){c&&ce(0);break}s&&u(y+131072);var K=y+_;if(y<j){var Q=o-j,ee=Math.min(j,K);for(Q+y<0&&ce(3);y<ee;++y)t[y]=n[Q+y]}for(;y<K;++y)t[y]=t[y-j]}}r.l=h,r.p=X,r.b=y,r.f=l,h&&(l=1,r.m=w,r.d=d,r.n=p)}while(!l);return y!=t.length&&i?ie(t,0,y):t.subarray(0,y)},le=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>8},fe=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>8,e[n+2]|=t>>16},ye=function(e,r){for(var t=[],n=0;n<e.length;++n)e[n]&&t.push({s:n,f:e[n]});var a=t.length,o=t.slice();if(!a)return{t:ve,l:0};if(1==a){var i=new L(t[0].s+1);return i[t[0].s]=1,{t:i,l:1}}t.sort(function(e,r){return e.f-r.f}),t.push({s:-1,f:25001});var s=t[0],c=t[1],u=0,l=1,f=2;for(t[0]={s:-1,f:s.f+c.f,l:s,r:c};l!=a-1;)s=t[t[u].f<t[f].f?u++:f++],c=t[u!=l&&t[u].f<t[f].f?u++:f++],t[l++]={s:-1,f:s.f+c.f,l:s,r:c};var y=o[0].s;for(n=1;n<a;++n)o[n].s>y&&(y=o[n].s);var h=new I(y+1),d=he(t[l-1],h,0);if(d>r){n=0;var w=0,p=d-r,m=1<<p;for(o.sort(function(e,r){return h[r.s]-h[e.s]||e.f-r.f});n<a;++n){var g=o[n].s;if(!(h[g]>r))break;w+=m-(1<<d-h[g]),h[g]=r}for(w>>=p;w>0;){var v=o[n].s;h[v]<r?w-=1<<r-h[v]++-1:++n}for(;n>=0&&w;--n){var b=o[n].s;h[b]==r&&(--h[b],++w)}d=r}return{t:new L(h),l:d}},he=function(e,r,t){return-1==e.s?Math.max(he(e.l,r,t+1),he(e.r,r,t+1)):r[e.s]=t},de=function(e){for(var r=e.length;r&&!e[--r];);for(var t=new I(++r),n=0,a=e[0],o=1,i=function(e){t[n++]=e},s=1;s<=r;++s)if(e[s]==a&&s!=r)++o;else{if(!a&&o>2){for(;o>138;o-=138)i(32754);o>2&&(i(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(i(a),--o;o>6;o-=6)i(8304);o>2&&(i(o-3<<5|8208),o=0)}for(;o--;)i(a);o=1,a=e[s]}return{c:t.subarray(0,n),n:r}},we=function(e,r){for(var t=0,n=0;n<r.length;++n)t+=e[n]*r[n];return t},pe=function(e,r,t){var n=t.length,a=oe(r+2);e[a]=255&n,e[a+1]=n>>8,e[a+2]=255^e[a],e[a+3]=255^e[a+1];for(var o=0;o<n;++o)e[a+o+4]=t[o];return 8*(a+4+n)},me=function(e,r,t,n,a,o,i,s,c,u,l){le(r,l++,t),++a[256];for(var f=ye(a,15),y=f.t,h=f.l,d=ye(o,15),w=d.t,p=d.l,m=de(y),g=m.c,v=m.n,b=de(w),E=b.c,T=b.n,S=new I(19),k=0;k<g.length;++k)++S[31&g[k]];for(k=0;k<E.length;++k)++S[31&E[k]];for(var A=ye(S,7),O=A.t,F=A.l,R=19;R>4&&!O[C[R-1]];--R);var x,W,Z,P,L=u+5<<3,z=we(a,J)+we(o,K)+i,j=we(a,y)+we(o,w)+i+14+3*R+we(S,O)+2*S[16]+3*S[17]+7*S[18];if(c>=0&&L<=z&&L<=j)return pe(r,l,e.subarray(c,c+u));if(le(r,l,1+(j<z)),l+=2,j<z){x=H(y,h,0),W=y,Z=H(w,p,0),P=w;var D=H(O,F,0);for(le(r,l,v-257),le(r,l+5,T-1),le(r,l+10,R-4),l+=14,k=0;k<R;++k)le(r,l+3*k,O[C[k]]);l+=3*R;for(var M=[g,E],G=0;G<2;++G){var X=M[G];for(k=0;k<X.length;++k){var N=31&X[k];le(r,l,D[N]),l+=O[N],N>15&&(le(r,l,X[k]>>5&127),l+=X[k]>>12)}}}else x=Q,W=J,Z=ee,P=K;for(k=0;k<s;++k){var $=n[k];if($>255){fe(r,l,x[257+(N=$>>18&31)]),l+=W[N+257],N>7&&(le(r,l,$>>23&31),l+=U[N]);var _=31&$;fe(r,l,Z[_]),l+=P[_],_>3&&(fe(r,l,$>>5&8191),l+=Y[_])}else fe(r,l,x[$]),l+=W[$]}return fe(r,l,x[256]),l+W[256]},ge=new z([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ve=new L(0),be=function(e,r,t,n,a,o){var i=o.z||e.length,s=new L(n+i+5*(1+Math.ceil(i/7e3))+a),c=s.subarray(n,s.length-a),u=o.l,l=7&(o.r||0);if(r){l&&(c[0]=o.r>>3);for(var f=ge[r-1],y=f>>13,h=8191&f,d=(1<<t)-1,w=o.p||new I(32768),p=o.h||new I(d+1),m=Math.ceil(t/3),g=2*m,v=function(r){return(e[r]^e[r+1]<<m^e[r+2]<<g)&d},b=new z(25e3),E=new I(288),T=new I(32),S=0,k=0,A=o.i||0,O=0,F=o.w||0,R=0;A+2<i;++A){var x=v(A),W=32767&A,Z=p[x];if(w[W]=Z,p[x]=W,F<=A){var P=i-A;if((S>7e3||O>24576)&&(P>423||!u)){l=me(e,c,0,b,E,T,k,O,R,A-R,l),O=S=k=0,R=A;for(var C=0;C<286;++C)E[C]=0;for(C=0;C<30;++C)T[C]=0}var j=2,D=0,M=h,X=W-Z&32767;if(P>2&&x==v(A-X))for(var N=Math.min(y,P)-1,_=Math.min(32767,A),B=Math.min(258,P);X<=_&&--M&&W!=Z;){if(e[A+j]==e[A+j-X]){for(var V=0;V<B&&e[A+V]==e[A+V-X];++V);if(V>j){if(j=V,D=X,V>N)break;var H=Math.min(X,V-2),J=0;for(C=0;C<H;++C){var K=A-X+C&32767,Q=K-w[K]&32767;Q>J&&(J=Q,Z=K)}}}X+=(W=Z)-(Z=w[W])&32767}if(D){b[O++]=268435456|G[j]<<18|$[D];var q=31&G[j],ee=31&$[D];k+=U[q]+Y[ee],++E[257+q],++T[ee],F=A+j,++S}else b[O++]=e[A],++E[e[A]]}}for(A=Math.max(A,F);A<i;++A)b[O++]=e[A],++E[e[A]];l=me(e,c,u,b,E,T,k,O,R,A-R,l),u||(o.r=7&l|c[l/8|0]<<3,l-=7,o.h=p,o.p=w,o.i=A,o.w=F)}else{for(A=o.w||0;A<i+u;A+=65535){var re=A+65535;re>=i&&(c[l/8|0]=u,re=i),l=pe(c,l+1,e.subarray(A,re))}o.i=i}return ie(s,0,n+oe(l)+a)},Ee=function(){for(var e=new Int32Array(256),r=0;r<256;++r){for(var t=r,n=9;--n;)t=(1&t&&-306674912)^t>>>1;e[r]=t}return e}(),Te=function(e,r,t,n,a){if(!a&&(a={l:1},r.dictionary)){var o=r.dictionary.subarray(-32768),i=new L(o.length+e.length);i.set(o),i.set(e,o.length),e=i,a.w=o.length}return be(e,null==r.level?6:r.level,null==r.mem?a.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+r.mem,t,n,a)},Se=function(e,r){var t={};for(var n in e)t[n]=e[n];for(var n in r)t[n]=r[n];return t},ke=function(e,r,t){for(var n=e(),a=e.toString(),o=a.slice(a.indexOf("[")+1,a.lastIndexOf("]")).replace(/\s+/g,"").split(","),i=0;i<n.length;++i){var s=n[i],c=o[i];if("function"==typeof s){r+=";"+c+"=";var u=s.toString();if(s.prototype)if(-1!=u.indexOf("[native code]")){var l=u.indexOf(" ",8)+1;r+=u.slice(l,u.indexOf("(",l))}else for(var f in r+=u,s.prototype)r+=";"+c+".prototype."+f+"="+s.prototype[f].toString();else r+=u}else t[c]=s}return r},Ae=[],Oe=function(){return[L,I,z,U,Y,C,M,N,q,re,_,se,H,te,ne,ae,oe,ie,ce,ue,Ue,Re,xe]},Fe=function(){return[L,I,z,U,Y,C,G,$,Q,J,ee,K,_,ge,ve,H,le,fe,ye,he,de,we,pe,me,oe,ie,be,Te,ze,Re]},Re=function(e){return postMessage(e,[e.buffer])},xe=function(e){return e&&{out:e.size&&new L(e.size),dictionary:e.dictionary}},We=function(e,r,t,n,a,o){var i=function(e,r,t,n){if(!Ae[t]){for(var a="",o={},i=e.length-1,s=0;s<i;++s)a=ke(e[s],a,o);Ae[t]={c:ke(e[i],a,o),e:o}}var c=Se({},Ae[t].e);return function(e,r,t,n,a){var o=new Worker(P[r]||(P[r]=URL.createObjectURL(new Blob([e+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return o.onmessage=function(e){var r=e.data,t=r.$e$;if(t){var n=new Error(t[0]);n.code=t[1],n.stack=t[2],a(n,null)}else a(null,r)},o.postMessage(t,n),o}(Ae[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+r.toString()+"}",t,c,function(e){var r=[];for(var t in e)e[t].buffer&&r.push((e[t]=new e[t].constructor(e[t])).buffer);return r}(c),n)}(t,n,a,function(e,r){i.terminate(),o(e,r)});return i.postMessage([e,r],r.consume?[e.buffer]:[]),function(){i.terminate()}},Ze=function(e,r){return e[r]|e[r+1]<<8},Pe=function(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0},Le=function(e,r){return Pe(e,r)+4294967296*Pe(e,r+4)},Ie=function(e,r,t){for(;t;++r)e[r]=t,t>>>=8};function ze(e,r){return Te(e,r||{},0,0)}function Ue(e,r){return ue(e,{i:2},r&&r.out,r&&r.dictionary)}var Ye=function(e,r,t,n){for(var a in e){var o=e[a],i=r+a,s=n;Array.isArray(o)&&(s=Se(n,o[1]),o=o[0]),ArrayBuffer.isView(o)?t[i]=[o,s]:(t[i+="/"]=[new L(0),s],Ye(o,i,t,n))}},Ce="undefined"!=typeof TextEncoder&&new TextEncoder,je="undefined"!=typeof TextDecoder&&new TextDecoder;try{je.decode(ve,{stream:!0})}catch(e){}function De(e,r){if(r){for(var t=new L(e.length),n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}if(Ce)return Ce.encode(e);var a=e.length,o=new L(e.length+(e.length>>1)),i=0,s=function(e){o[i++]=e};for(n=0;n<a;++n){if(i+5>o.length){var c=new L(i+8+(a-n<<1));c.set(o),o=c}var u=e.charCodeAt(n);u<128||r?s(u):u<2048?(s(192|u>>6),s(128|63&u)):u>55295&&u<57344?(s(240|(u=65536+(1047552&u)|1023&e.charCodeAt(++n))>>18),s(128|u>>12&63),s(128|u>>6&63),s(128|63&u)):(s(224|u>>12),s(128|u>>6&63),s(128|63&u))}return ie(o,0,i)}function Me(e,r){if(r){for(var t="",n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(je)return je.decode(e);var a=function(e){for(var r="",t=0;;){var n=e[t++],a=(n>127)+(n>223)+(n>239);if(t+a>e.length)return{s:r,r:ie(e,t-1)};a?3==a?(n=((15&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,r+=String.fromCharCode(55296|n>>10,56320|1023&n)):r+=1&a?String.fromCharCode((31&n)<<6|63&e[t++]):String.fromCharCode((15&n)<<12|(63&e[t++])<<6|63&e[t++]):r+=String.fromCharCode(n)}}(e),o=a.s;return(t=a.r).length&&ce(8),o}var Ge=function(e,r,t,n,a,o,i){var s=4294967295==a,c=4294967295==o,u=4294967295==i,l=r+t;if(n&&s+c+u){for(;r+4<l;r+=4+Ze(e,r+2))if(1==Ze(e,r))return[s?Le(e,r+4+8*c):a,c?Le(e,r+4):o,u?Le(e,r+4+8*(c+s)):i,1];n<2&&ce(13)}return[a,o,i,0]},Xe=function(e){var r=0;if(e)for(var t in e){var n=e[t].length;n>65535&&ce(9),r+=n+4}return r},Ne=function(e,r,t,n,a,o,i,s){var c=n.length,u=t.extra,l=s&&s.length,f=Xe(u);Ie(e,r,null!=i?33639248:67324752),r+=4,null!=i&&(e[r++]=20,e[r++]=t.os),e[r]=20,r+=2,e[r++]=t.flag<<1|(o<0&&8),e[r++]=a&&8,e[r++]=255&t.compression,e[r++]=t.compression>>8;var y=new Date(null==t.mtime?Date.now():t.mtime),h=y.getFullYear()-1980;if((h<0||h>119)&&ce(10),Ie(e,r,h<<25|y.getMonth()+1<<21|y.getDate()<<16|y.getHours()<<11|y.getMinutes()<<5|y.getSeconds()>>1),r+=4,-1!=o&&(Ie(e,r,t.crc),Ie(e,r+4,o<0?-o-2:o),Ie(e,r+8,t.size)),Ie(e,r+12,c),Ie(e,r+14,f),r+=16,null!=i&&(Ie(e,r,l),Ie(e,r+6,t.attrs),Ie(e,r+10,i),r+=14),e.set(n,r),r+=c,f)for(var d in u){var w=u[d],p=w.length;Ie(e,r,+d),Ie(e,r+2,p),e.set(w,r+4),r+=4+p}return l&&(e.set(s,r),r+=l),r};function $e(e,r,t){t||(t=r,r={}),"function"!=typeof t&&ce(7);var n={};Ye(e,"",n,r);var a=Object.keys(n),o=a.length,i=0,s=0,c=o,u=new Array(o),l=[],f=function(){for(var e=0;e<l.length;++e)l[e]()},y=function(e,r){_e(function(){t(e,r)})};_e(function(){y=t});var h=function(){var e=new L(s+22),r=i,t=s-i;s=0;for(var n=0;n<c;++n){var a=u[n];try{var o=a.c.length;Ne(e,s,a,a.f,a.u,o);var l=30+a.f.length+Xe(a.extra),f=s+l;e.set(a.c,f),Ne(e,i,a,a.f,a.u,o,s,a.m),i+=16+l+(a.m?a.m.length:0),s=f+o}catch(e){return y(e,null)}}(function(e,r,t,n,a){Ie(e,r,101010256),Ie(e,r+8,t),Ie(e,r+10,t),Ie(e,r+12,n),Ie(e,r+16,a)})(e,i,u.length,t,r),y(null,e)};o||h();for(var d=function(e){var r=a[e],t=n[r],c=t[0],d=t[1],w=function(){var e=-1;return{p:function(r){for(var t=e,n=0;n<r.length;++n)t=Ee[255&t^r[n]]^t>>>8;e=t},d:function(){return~e}}}(),p=c.length;w.p(c);var m=De(r),g=m.length,v=d.comment,b=v&&De(v),E=b&&b.length,T=Xe(d.extra),S=0==d.level?0:8,k=function(t,n){if(t)f(),y(t,null);else{var a=n.length;u[e]=Se(d,{size:p,crc:w.d(),c:n,f:m,m:b,u:g!=r.length||b&&v.length!=E,compression:S}),i+=30+g+T+a,s+=76+2*(g+T)+(E||0)+a,--o||h()}};if(g>65535&&k(ce(11,0,1),null),S)if(p<16e4)try{k(null,ze(c,d))}catch(e){k(e,null)}else l.push(function(e,r,t){return t||(t=r,r={}),"function"!=typeof t&&ce(7),We(e,r,[Fe],function(e){return Re(ze(e.data[0],e.data[1]))},0,t)}(c,d,k));else k(null,c)},w=0;w<c;++w)d(w);return f}var _e="function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout?setTimeout:function(e){e()};class Be{resolve;reject;promise;constructor(){if("function"==typeof Promise.withResolvers){const{promise:e,resolve:r,reject:t}=Promise.withResolvers();this.promise=e,this.resolve=r,this.reject=t}else this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r})}}const Ve="NotFoundError",He="/",Je=".",Ke="/tmp";function Qe(e){n("string"==typeof e),n(e[0]===He)}function qe(e){n("string"==typeof e)}let er;function rr(e){return e===He}async function tr(e,r,t){try{return v(await e.getDirectoryHandle(r,t))}catch(t){const n=t,a=new Error(`${n.name}: ${n.message} When get child directory '${r}' from directory '${e.name||He}'.`);return a.name=n.name,b(a)}}async function nr(e,r){let t=await async function(){return er??=await navigator.storage.getDirectory(),er}();if(rr(e))return v(t);let n=e.slice(1);for(;n;){let e="";const a=n.indexOf("/");if(-1===a)e=n,n="";else if(e=n.slice(0,a),n=n.slice(a+1),0===a)continue;const o=await tr(t,e,r);if(o.isErr())return o;t=o.unwrap()}return v(t)}async function ar(e,r){const t=r?.create??!1,n=c(e),a=u(e);return(await nr(n,{create:t})).andThenAsync(e=>async function(e,r,t){try{return v(await e.getFileHandle(r,t))}catch(t){const n=t,a=new Error(`${n.name}: ${n.message} When get child file '${r}' from directory '${e.name||He}'.`);return a.name=n.name,b(a)}}(e,a,{create:t}))}function or(e){return e.name===Ve}async function ir(e){const r=(await Promise.all(e)).find(e=>e.isErr());return r??A}function sr(){const e=new Error;return e.name=O,e}function cr(e){const{isDirectory:r=!1,basename:t="tmp",extname:n=""}=e??{},a=r?"":n;return l(Ke,`${t?`${t}-`:""}${crypto.randomUUID()}${a}`)}function ur(e){return e.startsWith(`${Ke}/`)}async function lr(e){const{name:r,kind:t}=e;if(fr(e)){const n=await e.getFile(),{size:a,lastModified:o,type:i}=n;return{name:r,kind:t,type:i,size:a,lastModified:o}}return{name:r,kind:t}}function fr(e){return"file"===e.kind}function yr(e){return"directory"===e.kind}function hr(e){return"file"===e.kind}async function dr(e){const r=await e.getFile(),t=await r.arrayBuffer();return new Uint8Array(t)}async function wr(e){return Qe(e),(await ar(e,{create:!0})).and(A)}async function pr(e){return Qe(e),(await nr(e,{create:!0})).and(A)}async function mr(e,r){async function*t(n,a){const o=n.entries();for await(const[i,s]of o){const o=a===e?i:l(a,i);yield{path:o,handle:s},yr(s)&&r?.recursive&&(yield*t(await n.getDirectoryHandle(i),o))}}return Qe(e),(await nr(e)).andThen(r=>v(t(r,e)))}async function gr(e,r){return Qe(e),(await ar(e)).andThenAsync(async e=>{const t=await e.getFile();switch(r?.encoding){case"blob":return v(t);case"utf8":return v(await t.text());default:return v(await t.arrayBuffer())}})}async function vr(e){Qe(e);const r=c(e),t=u(e),n=await nr(r);return(await n.andThenAsync(async e=>{try{rr(r)&&rr(t)?await e.remove({recursive:!0}):await e.removeEntry(t,{recursive:!0})}catch(e){return b(e)}return A})).orElse(e=>or(e)?A:b(e))}async function br(e){Qe(e);const r=c(e),t=u(e),n=await nr(r);return t?n.andThenAsync(async r=>{for await(const[e,n]of r.entries())if(e===t)return v(n);const n=new Error(`${Ve}: '${t}' does not exist. Full path is '${e}'.`);return n.name=Ve,b(n)}):n}async function Er(e,r,t){Qe(e);const{append:n=!1,create:a=!0}=t??{};return(await ar(e,{create:a})).andThenAsync(async e=>{const t=await e.createWritable({keepExistingData:n}),a={type:"write",data:r};if(n){const{size:r}=await e.getFile();a.position=r}return await t.write(a),await t.close(),A})}function Tr(e,r,t){let n,a;qe(e),a=!1,"string"==typeof r?Qe(r):(t=r,r=cr({extname:f(e)}),a=!0),n=!1;const o=x(e,{redirect:"follow",...t,abortable:!0}),i=(async()=>(await o.response).andThenAsync(async e=>{const t=await e.blob();return n?b(sr()):(await Er(r,t)).and(v(e))}))();return{abort(e){n=!0,o.abort(e)},get aborted(){return n},get response(){return a?i.then(e=>e.map(e=>({tempFilePath:r,rawResponse:e}))):i}}}async function Sr(e,r){const t=c(r);return(await nr(t,{create:!0})).andThenAsync(async t=>{const n=u(r);try{return await e.move(t,n),A}catch(e){return b(e)}})}async function kr(e,r,t,n=!0){return Qe(r),(await br(e)).andThenAsync(async a=>{let o;o=!1;const i=await br(r);if(i.isErr()){if(!or(i.unwrapErr()))return i.asErr()}else{o=!0;const e=i.unwrap();if(!(fr(a)&&fr(e)||yr(a)&&yr(e)))return b(new Error("Both 'srcPath' and 'destPath' must both be a file or directory."))}return fr(a)?n||!o?await t(a,r):A:(await mr(e,{recursive:!0})).andThenAsync(async e=>{const a=[pr(r)];for await(const{path:i,handle:s}of e){const e=l(r,i);let c=!1;if(o){const r=await Rr(e);if(r.isErr()){a.push(Promise.resolve(r.asErr()));continue}c=r.unwrap()}const u=fr(s)?n||!c?t(s,e):Promise.resolve(A):pr(e);a.push(u)}return ir(a)})})}function Ar(e,r){return Er(e,r,{append:!0})}async function Or(e,r,t){const{overwrite:n=!0}=t??{};return kr(e,r,async(e,r)=>await Er(r,await e.getFile()),n)}async function Fr(e){const r=await mr(e);if(r.isErr())return or(r.unwrapErr())?pr(e):r.asErr();const t=[];for await(const{path:n}of r.unwrap())t.push(vr(l(e,n)));return ir(t)}async function Rr(e,r){const{isDirectory:t=!1,isFile:a=!1}=r??{};n(!(t&&a));const o=await br(e);return o.andThen(e=>v(!(t&&fr(e)||a&&yr(e)))).orElse(e=>or(e)?k:o.asErr())}async function xr(e,r,t){const{overwrite:n=!0}=t??{};return(await kr(e,r,Sr,n)).andThenAsync(()=>vr(e))}function Wr(e){return gr(e,{encoding:"blob"})}async function Zr(e){return(await Pr(e)).andThenAsync(async e=>{try{return v(JSON.parse(e))}catch(e){return b(e)}})}function Pr(e){return gr(e,{encoding:"utf8"})}async function Lr(e){const{isDirectory:r=!1}=e??{},t=cr(e);return(await(r?pr:wr)(t)).and(v(t))}function Ir(){return vr(Ke)}async function zr(e){return n(e instanceof Date),(await mr(Ke,{recursive:!0})).andThenAsync(async r=>{try{for await(const{handle:t}of r)fr(t)&&(await t.getFile()).lastModified<=e.getTime()&&await t.remove()}catch(e){return b(e)}return A})}async function Ur(e,r){const t=new Uint8Array(e),n=new Be;return function(e,r,t){t||(t=r,r={}),"function"!=typeof t&&ce(7);var n=[],a=function(){for(var e=0;e<n.length;++e)n[e]()},o={},i=function(e,r){_e(function(){t(e,r)})};_e(function(){i=t});for(var s=e.length-22;101010256!=Pe(e,s);--s)if(!s||e.length-s>65558)return i(ce(13,0,1),null),a;var c=Ze(e,s+8);if(c){var u=c,l=Pe(e,s+16),f=117853008==Pe(e,s-20);if(f){var y=Pe(e,s-12);(f=101075792==Pe(e,y))&&(u=c=Pe(e,y+32),l=Pe(e,y+48))}for(var h=r&&r.filter,d=function(r){var t=function(e,r,t){var n=Ze(e,r+28),a=Ze(e,r+30),o=Me(e.subarray(r+46,r+46+n),!(2048&Ze(e,r+8))),i=r+46+n,s=Ge(e,i,a,t,Pe(e,r+20),Pe(e,r+24),Pe(e,r+42)),c=s[0],u=s[1],l=s[2];return[Ze(e,r+10),c,u,o,i+a+Ze(e,r+32),l]}(e,l,f),s=t[0],u=t[1],y=t[2],d=t[3],w=t[4],p=t[5],m=function(e,r){return r+30+Ze(e,r+26)+Ze(e,r+28)}(e,p);l=w;var g=function(e,r){e?(a(),i(e,null)):(r&&(o[d]=r),--c||i(null,o))};if(!h||h({name:d,size:u,originalSize:y,compression:s}))if(s)if(8==s){var v=e.subarray(m,m+u);if(y<524288||u>.8*y)try{g(null,Ue(v,{out:new L(y)}))}catch(e){g(e,null)}else n.push(function(e,r,t){return t||(t=r,r={}),"function"!=typeof t&&ce(7),We(e,r,[Oe],function(e){return Re(Ue(e.data[0],xe(e.data[1])))},1,t)}(v,{size:y},g))}else g(ce(14,"unknown compression type "+s,1),null);else g(null,ie(e,m,m+u));else g(null,null)},w=0;w<u;++w)d()}else i(null,{})}(t,async(e,t)=>{if(e)return void n.resolve(b(e));const a=[];for(const e in t)"/"!==e.at(-1)&&a.push(Er(l(r,e),t[e]));n.resolve(ir(a))}),await n.promise}async function Yr(e,r){return Qe(r),(await gr(e)).andThenAsync(e=>Ur(e,r))}async function Cr(e,r,t){return qe(e),Qe(r),(await x(e,{redirect:"follow",...t,responseType:"arraybuffer",abortable:!1})).andThenAsync(e=>Ur(e,r))}function jr(e,r,t){let n,a;qe(r),n=!1;const o=(async()=>(await Wr(e)).andThenAsync(async o=>{if(n)return b(sr());const{filename:i=u(e),...s}=t??{},c=new FormData;return c.append(i,o,i),a=x(r,{method:"POST",...s,abortable:!0,body:c}),a.response}))();return{abort(e){n=!0,a?.abort(e)},get aborted(){return n},get response(){return o}}}async function Dr(e,r){const t=new Be;return $e(e,{consume:!0},async(e,n)=>{if(e)t.resolve(b(e));else if(r){const e=await Er(r,n);t.resolve(e)}else t.resolve(v(n))}),await t.promise}async function Mr(e,r,t){return"string"==typeof r?Qe(r):(t=r,r=void 0),(await br(e)).andThenAsync(async n=>{const a=u(e),o={};if(fr(n)){const e=await dr(n);o[a]=e}else{const r=await mr(e,{recursive:!0});if(r.isErr())return r.asErr();const n=t?.preserveRoot??!0;for await(const{path:e,handle:t}of r.unwrap())if(fr(t)){const r=n?l(a,e):e,i=await dr(t);o[r]=i}}return Dr(o,r)})}async function Gr(e,r,t){return qe(e),"string"==typeof r?Qe(r):(t=r,r=void 0),(await x(e,{redirect:"follow",...t,responseType:"arraybuffer",abortable:!1})).andThenAsync(t=>{const n={};return n[u(e)]=new Uint8Array(t),Dr(n,r)})}function Xr(){return"function"==typeof navigator?.storage?.getDirectory}function Nr(e){return e?{name:e.name,message:e.message}:e}async function $r(e){const r=await e.arrayBuffer();return{name:e.name,type:e.type,lastModified:e.lastModified,size:r.byteLength,data:r}}let _r=1e3;var Br=(e=>(e[e.createFile=0]="createFile",e[e.mkdir=1]="mkdir",e[e.move=2]="move",e[e.readDir=3]="readDir",e[e.remove=4]="remove",e[e.stat=5]="stat",e[e.writeFile=6]="writeFile",e[e.appendFile=7]="appendFile",e[e.copy=8]="copy",e[e.emptyDir=9]="emptyDir",e[e.exists=10]="exists",e[e.deleteTemp=11]="deleteTemp",e[e.mkTemp=12]="mkTemp",e[e.pruneTemp=13]="pruneTemp",e[e.readBlobFile=14]="readBlobFile",e[e.unzip=15]="unzip",e[e.zip=16]="zip",e))(Br||{});let Vr,Hr;function Jr(e){const r=JSON.stringify(e);return(Vr??=new TextEncoder,Vr).encode(r)}function Kr(e){const r=Qr(e);return JSON.parse(r)}function Qr(e){return(Hr??=new TextDecoder,Hr).decode(e)}class qr{i32a;u8a;headerLength=16;maxDataLength;constructor(e){this.i32a=new Int32Array(e),this.u8a=new Uint8Array(e),this.maxDataLength=e.byteLength-this.headerLength}}async function et(e,r){const{i32a:t,u8a:n,headerLength:a,maxDataLength:o}=e;for(;1!==Atomics.load(t,1););const i=t[2],s=n.slice(a,a+i);let c=await r(s);const u=c.byteLength;if(u>o){const e=`Response is too large: ${u} > ${o}. Consider grow the size of SharedArrayBuffer.`;if(c=Jr([{name:"RangeError",message:e}]),c.byteLength>o)throw Atomics.store(t,1,0),new RangeError(e)}t[2]=c.byteLength,n.set(c,a),Atomics.store(t,1,0),Atomics.store(t,0,0)}const rt={[Br.createFile]:wr,[Br.mkdir]:pr,[Br.move]:xr,[Br.readDir]:mr,[Br.remove]:vr,[Br.stat]:br,[Br.writeFile]:Er,[Br.appendFile]:Ar,[Br.copy]:Or,[Br.emptyDir]:Fr,[Br.exists]:Rr,[Br.deleteTemp]:Ir,[Br.mkTemp]:Lr,[Br.pruneTemp]:zr,[Br.readBlobFile]:Wr,[Br.unzip]:Yr,[Br.zip]:Mr};let tt,nt;function at(){if("undefined"!=typeof window)throw new Error("Only can use in worker");if(tt)throw new Error("Worker messenger already started");addEventListener("message",e=>{const r=e.data;if(!(r instanceof SharedArrayBuffer))throw new TypeError("Only can post SharedArrayBuffer to Worker");tt=new qr(r),postMessage(!0),async function(){for(;;)try{await et(tt,async e=>{const[r,...t]=Kr(e);let n;r===Br.writeFile||r===Br.appendFile?Array.isArray(t[1])&&(t[1]=new Uint8Array(t[1])):r===Br.pruneTemp&&(t[0]=new Date(t[0]));const a=rt[r];try{const e=await a(...t);if(e.isErr())n=Jr([Nr(e.unwrapErr())]);else{let t;if(r===Br.readBlobFile){const r=e.unwrap(),n=await $r(r);t={...n,data:[...new Uint8Array(n.data)]}}else if(r===Br.readDir){const r=e.unwrap(),n=[];for await(const{path:e,handle:t}of r){const r=await lr(t);n.push({path:e,handle:r})}t=n}else if(r===Br.stat){const r=e.unwrap();t=await lr(r)}else if(r===Br.zip){const r=e.unwrap();t=r instanceof Uint8Array?[...r]:r}else t=e.unwrap();n=Jr([null,t])}}catch(e){n=Jr([Nr(e)])}return n})}catch(e){console.error(e instanceof Error?e.stack:e)}}()})}function ot(e){if("undefined"==typeof window)throw new Error("Only can use in main thread");if(nt)throw new Error("Main messenger already started");return new Promise(r=>{const{worker:t,bufferLength:a=1048576,opTimeout:o=1e3}=e;n(t instanceof Worker||t instanceof URL||"string"==typeof t&&t),n(a>16&&a%4==0),n(Number.isInteger(o)&&o>0),_r=o;const i=t instanceof Worker?t:new Worker(t),s=new SharedArrayBuffer(a);i.addEventListener("message",e=>{e.data&&(nt=new qr(s),r())}),i.postMessage(s)})}function it(){return nt}function st(e){n(null!=e),nt=e}function ct(e,...r){if(!nt)return b(new Error("Worker not initialized. Come back later."));const t=Jr([e,...r]);try{const e=Kr(function(e,r){const{i32a:t,u8a:n,headerLength:a,maxDataLength:o}=e,i=r.byteLength;if(i>o)throw new RangeError(`Request is too large: ${i} > ${o}. Consider grow the size of SharedArrayBuffer.`);Atomics.store(t,0,1),t[2]=i,n.set(r,a),Atomics.store(t,1,1),function(e){const r=Date.now();for(;!e();)if(Date.now()-r>_r){const e=new Error("Operating Timeout");throw e.name=F,e}}(()=>0===Atomics.load(t,0));const s=t[2];return n.slice(a,a+s)}(nt,t)),r=e[0],n=r?b(function(e){const r=new Error(e.message);return r.name=e.name,r}(r)):v(e[1]??void 0);return n}catch(e){return b(e)}}function ut(e){return ct(Br.createFile,e)}function lt(e){return ct(Br.mkdir,e)}function ft(e,r,t){return ct(Br.move,e,r,t)}function yt(e,r){return ct(Br.readDir,e,r)}function ht(e,r){return ct(Br.readBlobFile,e).map(e=>{const t=new Uint8Array(e.data);switch(e.data=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),r?.encoding){case"blob":return e;case"utf8":return Qr(new Uint8Array(e.data));default:return e.data}})}function dt(e){return ct(Br.remove,e)}function wt(e){return ct(Br.stat,e)}function pt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e)]:ArrayBuffer.isView(e)?[...new Uint8Array(e.buffer)]:e}function mt(e,r,t){return ct(Br.writeFile,e,pt(r),t)}function gt(e,r){return ct(Br.appendFile,e,pt(r))}function vt(e,r,t){return ct(Br.copy,e,r,t)}function bt(e){return ct(Br.emptyDir,e)}function Et(e,r){return ct(Br.exists,e,r)}function Tt(){return ct(Br.deleteTemp)}function St(e){return ct(Br.mkTemp,e)}function kt(e){return ct(Br.pruneTemp,e)}function At(e){return ht(e,{encoding:"blob"})}function Ot(e){return Ft(e).andThen(e=>{try{return v(JSON.parse(e))}catch(e){return b(e)}})}function Ft(e){return ht(e,{encoding:"utf8"})}function Rt(e,r){return ct(Br.unzip,e,r)}function xt(e,r,t){return ct(Br.zip,e,r,t).map(e=>e?new Uint8Array(e):e)}},597(e,r,t){"use strict";t.r(r);const n="undefined"!=typeof Worker?Worker:void 0;t.d(r,["default",0,n])}};const r={};function t(n){const a=r[n];if(void 0!==a)return a.exports;const o=r[n]={exports:{}};return e[n].call(o.exports,o,o.exports,t),o.exports}t.d=(e,r)=>{if(Array.isArray(r))for(var n=0;n<r.length;){var a=r[n++],o=r[n++];t.o(e,a)?0===o&&n++:0===o?Object.defineProperty(e,a,{enumerable:!0,value:r[n++]}):Object.defineProperty(e,a,{enumerable:!0,get:o})}else for(var a in r)t.o(r,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t(234)})();
1
+ (()=>{var e={234(e,r,t){const n=t(210);_sync_agent=n.startSyncAgent,e.exports={_sync_agent},_sync_agent()},210(e,r,t){const n=t(516),a=t(597),o=t(12);function i(e){let r;return void 0===e&&(e="fs-worker.js"),r=new a(e),r}_file=o.file,_read_stream_create=function(e,r){return _file(e).createReader()};const s=(void 0!==(c=n)&&""!=c&&c!={}||(c=t(516)),function(e){const r=n.copySync;return _return=r.apply(null,[e]).unwrap(),_return});var c;e.exports=n,e.exports.copyFile=n.copy,e.exports.copyFileSync=s,e.exports.fsWorkerNew=i,e.exports.fsWorkerStart=async function(e,r,t){let a,o,s,c;return void 0===e&&(e="fs-worker.js"),"Number"!=typeof r&&(r=10485760),"Number"!=typeof r&&(t=10485760),o=n.connectSyncAgent,c=i(e),s={worker:c,bufferLength:r,opTimeout:t},a=o(s),a},e.exports.createReadStream=_read_stream_create,e.exports.createWriteStream=function(e,r){return _file(e).createWriter()},e.exports.chmod=async function(e,r){},e.exports.chmodSync=function(e,r){},e.exports.chown=async function(e,r){},e.exports.chownSync=function(e,r){},e.exports.mkdtemp=n.mkTemp,e.exports.mkdtempSync=n.mkTempSync,e.exports.readdirSync=function(e){const r=n.readDirSync;return _return=r.apply(null,[e]).unwrap(),_return},e.exports.renameSync=function(e){const r=n.moveSync;return _return=r.apply(null,e).unwrap(),_return},e.exports.rmSync=function(e){const r=n.removeSync;return _return=r.apply(null,e).unwrap(),_return}},12(e,r){!function(e){"use strict";var r,t,n,a,o,i,s,c,u,l,f,y,h=e=>{throw TypeError(e)},d=(e,r,t)=>r.has(e)||h("Cannot "+t),w=(e,r,t)=>(d(e,r,"read from private field"),t?t.call(e):r.get(e)),p=(e,r,t)=>r.has(e)?h("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t),m=(e,r,t,n)=>(d(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t);const g="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHUobil7aWYobj09PSIvIilyZXR1cm57cGFyZW50Om51bGwsbmFtZToiIn07Y29uc3QgZT1uLnNwbGl0KCIvIikuZmlsdGVyKGk9PmkubGVuZ3RoPjApO2lmKGUubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiSW52YWxpZCBwYXRoIik7Y29uc3QgYT1lW2UubGVuZ3RoLTFdLHI9Ii8iK2Uuc2xpY2UoMCwtMSkuam9pbigiLyIpO3JldHVybntuYW1lOmEscGFyZW50OnJ9fWFzeW5jIGZ1bmN0aW9uIHcobixlKXtjb25zdHtwYXJlbnQ6YSxuYW1lOnJ9PXUobik7aWYoYT09bnVsbClyZXR1cm4gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7Y29uc3QgaT1hLnNwbGl0KCIvIikuZmlsdGVyKHQ9PnQubGVuZ3RoPjApO3RyeXtsZXQgdD1hd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTtmb3IoY29uc3QgcyBvZiBpKXQ9YXdhaXQgdC5nZXREaXJlY3RvcnlIYW5kbGUocyx7Y3JlYXRlOmUuY3JlYXRlfSk7aWYoZS5pc0ZpbGUpcmV0dXJuIGF3YWl0IHQuZ2V0RmlsZUhhbmRsZShyLHtjcmVhdGU6ZS5jcmVhdGV9KX1jYXRjaCh0KXtpZih0Lm5hbWU9PT0iTm90Rm91bmRFcnJvciIpcmV0dXJuIG51bGw7dGhyb3cgdH19Y29uc3QgZj17fTtzZWxmLm9ubWVzc2FnZT1hc3luYyBuPT57dmFyIGk7Y29uc3R7ZXZ0VHlwZTplLGFyZ3M6YX09bi5kYXRhO2xldCByPWZbYS5maWxlSWRdO3RyeXtsZXQgdDtjb25zdCBzPVtdO2lmKGU9PT0icmVnaXN0ZXIiKXtjb25zdCBsPWF3YWl0IHcoYS5maWxlUGF0aCx7Y3JlYXRlOiEwLGlzRmlsZTohMH0pO2lmKGw9PW51bGwpdGhyb3cgRXJyb3IoYG5vdCBmb3VuZCBmaWxlOiAke2EuZmlsZUlkfWApO3I9YXdhaXQgbC5jcmVhdGVTeW5jQWNjZXNzSGFuZGxlKHttb2RlOmEubW9kZX0pLGZbYS5maWxlSWRdPXJ9ZWxzZSBpZihlPT09ImNsb3NlIilhd2FpdCByLmNsb3NlKCksZGVsZXRlIGZbYS5maWxlSWRdO2Vsc2UgaWYoZT09PSJ0cnVuY2F0ZSIpYXdhaXQgci50cnVuY2F0ZShhLm5ld1NpemUpO2Vsc2UgaWYoZT09PSJ3cml0ZSIpe2NvbnN0e2RhdGE6bCxvcHRzOm99PW4uZGF0YS5hcmdzO3Q9YXdhaXQgci53cml0ZShsLG8pfWVsc2UgaWYoZT09PSJyZWFkIil7Y29uc3R7b2Zmc2V0Omwsc2l6ZTpvfT1uLmRhdGEuYXJncyxnPW5ldyBVaW50OEFycmF5KG8pLGQ9YXdhaXQgci5yZWFkKGcse2F0Omx9KSxjPWcuYnVmZmVyO3Q9ZD09PW8/YzooKGk9Yy50cmFuc2Zlcik9PW51bGw/dm9pZCAwOmkuY2FsbChjLGQpKT8/Yy5zbGljZSgwLGQpLHMucHVzaCh0KX1lbHNlIGU9PT0iZ2V0U2l6ZSI/dD1hd2FpdCByLmdldFNpemUoKTplPT09ImZsdXNoIiYmYXdhaXQgci5mbHVzaCgpO3NlbGYucG9zdE1lc3NhZ2Uoe2V2dFR5cGU6ImNhbGxiYWNrIixjYklkOm4uZGF0YS5jYklkLHJldHVyblZhbDp0fSxzKX1jYXRjaCh0KXtjb25zdCBzPXQ7c2VsZi5wb3N0TWVzc2FnZSh7ZXZ0VHlwZToidGhyb3dFcnJvciIsY2JJZDpuLmRhdGEuY2JJZCxlcnJNc2c6cy5uYW1lKyI6ICIrcy5tZXNzYWdlK2AKYCtKU09OLnN0cmluZ2lmeShuLmRhdGEpfSl9fX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wZnMtd29ya2VyLUY0UldscWNfLmpzLm1hcAo=",v=typeof self<"u"&&self.Blob&&new Blob([(b=g,Uint8Array.from(atob(b),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var b;function E(e){let r;try{if(r=v&&(self.URL||self.webkitURL).createObjectURL(v),!r)throw"";const t=new Worker(r,{name:null==e?void 0:e.name});return t.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(r)}),t}catch{return new Worker("data:text/javascript;base64,"+g,{name:null==e?void 0:e.name})}finally{r&&(self.URL||self.webkitURL).revokeObjectURL(r)}}async function T(e,r,t){const n=function(){if(S.length<3){const r=e();return S.push(r),r}{const e=S[k];return k=(k+1)%S.length,e}function e(){const e=new E;let r=0,t={};return e.onmessage=({data:e})=>{var r,n;"callback"===e.evtType?null==(r=t[e.cbId])||r.resolve(e.returnVal):"throwError"===e.evtType&&(null==(n=t[e.cbId])||n.reject(Error(e.errMsg))),delete t[e.cbId]},async function(n,a,o=[]){r+=1;const i=new Promise((e,n)=>{t[r]={resolve:e,reject:n}});return e.postMessage({cbId:r,evtType:n,args:a},o),i}}}();return await n("register",{fileId:e,filePath:r,mode:t}),{read:async(r,t)=>await n("read",{fileId:e,offset:r,size:t}),write:async(r,t)=>await n("write",{fileId:e,data:r,opts:t},[ArrayBuffer.isView(r)?r.buffer:r]),close:async()=>await n("close",{fileId:e}),truncate:async r=>await n("truncate",{fileId:e,newSize:r}),getSize:async()=>await n("getSize",{fileId:e}),flush:async()=>await n("flush",{fileId:e})}}const S=[];let k=0;function A(e){if("/"===e)return{parent:null,name:""};const r=e.split("/").filter(e=>e.length>0);if(0===r.length)throw Error("Invalid path");return{name:r[r.length-1],parent:"/"+r.slice(0,-1).join("/")}}async function O(e,r){const{parent:t,name:n}=A(e);if(null==t)return await navigator.storage.getDirectory();const a=t.split("/").filter(e=>e.length>0);try{let e=await navigator.storage.getDirectory();for(const t of a)e=await e.getDirectoryHandle(t,{create:r.create});return r.isFile?await e.getFileHandle(n,{create:r.create}):await e.getDirectoryHandle(n,{create:r.create})}catch(e){if("NotFoundError"===e.name)return null;throw e}}async function F(e){const{parent:r,name:t}=A(e);if(null==r){const e=await navigator.storage.getDirectory();for await(const r of e.keys())await e.removeEntry(r,{recursive:!0});return}const n=await O(r,{create:!1,isFile:!1});if(null!=n)try{await n.removeEntry(t,{recursive:!0})}catch(e){if("NotFoundError"===e.name)return;throw e}}function R(e,r){return`${e}/${r}`.replace("//","/")}function x(e){return new W(e)}r=new WeakMap,t=new WeakMap,n=new WeakMap;let W=class e{constructor(e){p(this,r),p(this,t),p(this,n),m(this,r,e);const{parent:a,name:o}=A(e);m(this,t,o),m(this,n,a)}get kind(){return"dir"}get name(){return w(this,t)}get path(){return w(this,r)}get parent(){return null==w(this,n)?null:x(w(this,n))}async create(){return await O(w(this,r),{create:!0,isFile:!1}),x(w(this,r))}async exists(){return await O(w(this,r),{create:!1,isFile:!1})instanceof FileSystemDirectoryHandle}async remove(e={}){for(const r of await this.children())try{await r.remove(e)}catch(e){console.warn(e)}try{await F(w(this,r))}catch(e){console.warn(e)}}async children(){const e=await O(w(this,r),{create:!1,isFile:!1});if(null==e)return[];const t=[];for await(const n of e.values())t.push(("file"===n.kind?P:x)(R(w(this,r),n.name)));return t}async copyTo(r){if(!await this.exists())throw Error(`dir ${this.path} not exists`);if(r instanceof e){const e=await r.exists()?x(R(r.path,this.name)):r;return await e.create(),await Promise.all((await this.children()).map(r=>r.copyTo(e))),e}if(r instanceof FileSystemDirectoryHandle)return await Promise.all((await this.children()).map(async e=>{"file"===e.kind?await e.copyTo(await r.getFileHandle(e.name,{create:!0})):await e.copyTo(await r.getDirectoryHandle(e.name,{create:!0}))})),null;throw Error("Illegal target type")}async moveTo(e){const r=await this.copyTo(e);return await this.remove(),r}};const Z=new Map;function P(e,r="rw"){if("rw"===r){const t=Z.get(e)??new z(e,r);return Z.set(e,t),t}return new z(e,r)}async function L(e,r,t={overwrite:!0}){if(r instanceof z)return void await L(e,await r.stream(),t);const n=await(e instanceof z?e:P(e,"rw")).createWriter();try{if(t.overwrite&&await n.truncate(0),r instanceof ReadableStream){const e=r.getReader();for(;;){const{done:r,value:t}=await e.read();if(r)break;await n.write(t)}}else await n.write(r)}catch(e){throw e}finally{await n.close()}}let I=0;a=new WeakMap,o=new WeakMap,i=new WeakMap,s=new WeakMap,c=new WeakMap,u=new WeakMap,l=new WeakMap,f=new WeakMap,y=new WeakMap;let z=class e{constructor(e,r){p(this,a),p(this,o),p(this,i),p(this,s),p(this,c),p(this,u,0),p(this,l,async()=>{}),p(this,f,(()=>{let e=null;return()=>(m(this,u,w(this,u)+1),null!=e||(e=new Promise(async(r,t)=>{try{const t=await T(w(this,c),w(this,a),w(this,s));m(this,l,async()=>{null!=e&&(e=null,m(this,u,0),await t.close().catch(console.error))}),r([t,async()=>{m(this,u,w(this,u)-1),!(w(this,u)>0)&&(e=null,await t.close())}])}catch(e){t(e)}})),e)})()),p(this,y,!1),m(this,c,++I),m(this,a,e),m(this,s,{r:"read-only",rw:"readwrite","rw-unsafe":"readwrite-unsafe"}[r]);const{parent:t,name:n}=A(e);if(null==t)throw Error("Invalid path");m(this,i,n),m(this,o,t)}get kind(){return"file"}get path(){return w(this,a)}get name(){return w(this,i)}get parent(){return null==w(this,o)?null:x(w(this,o))}async createWriter(){if("read-only"===w(this,s))throw Error("file is read-only");if(w(this,y))throw Error("Other writer have not been closed");m(this,y,!0);try{const e=new TextEncoder,[r,t]=await w(this,f).call(this);let n=await r.getSize(),a=!1;return{write:async(t,o={})=>{if(a)throw Error("Writer is closed");const i="string"==typeof t?e.encode(t):t,s=o.at??n,c=i.byteLength;return n=s+c,await r.write(i,{at:s})},truncate:async e=>{if(a)throw Error("Writer is closed");await r.truncate(e),n>e&&(n=e)},flush:async()=>{if(a)throw Error("Writer is closed");await r.flush()},close:async()=>{if(a)throw Error("Writer is closed");a=!0,m(this,y,!1),await t()}}}catch(e){throw m(this,y,!1),e}}async createReader(){const[e,r]=await w(this,f).call(this);let t=!1,n=0;return{read:async(r,a={})=>{if(t)throw Error("Reader is closed");const o=a.at??n,i=await e.read(o,r);return n=o+i.byteLength,i},getSize:async()=>{if(t)throw Error("Reader is closed");return await e.getSize()},close:async()=>{t||(t=!0,await r())}}}async text(){return(new TextDecoder).decode(await this.arrayBuffer())}async arrayBuffer(){const e=await O(w(this,a),{create:!1,isFile:!0});return null==e?new ArrayBuffer(0):(await e.getFile()).arrayBuffer()}async stream(){const e=await this.getOriginFile();return null==e?new ReadableStream({pull:e=>{e.close()}}):e.stream()}async getOriginFile(){var e;return null==(e=await O(w(this,a),{create:!1,isFile:!0}))?void 0:e.getFile()}async getSize(){const e=await O(w(this,a),{create:!1,isFile:!0});return null==e?0:(await e.getFile()).size}async exists(){return await O(w(this,a),{create:!1,isFile:!0})instanceof FileSystemFileHandle}async remove(e={}){if(!0===e.force)return await w(this,l).call(this),await F(w(this,a)),void Z.delete(w(this,a));if(w(this,u)>0)throw Error("exists unclosed reader/writer");await F(w(this,a))}async copyTo(r){if(r instanceof e)return r.path===this.path?this:(await L(r,this),r);if(r instanceof W){if(!await this.exists())throw Error(`file ${this.path} not exists`);return await this.copyTo(P(R(r.path,this.name)))}if(r instanceof FileSystemFileHandle)return await(await this.stream()).pipeTo(await r.createWritable()),null;throw Error("Illegal target type")}async moveTo(e){const r=await this.copyTo(e);return await this.remove(),r}};const U="/.opfs-tools-temp-dir";async function Y(e){try{if("file"===e.kind){if(!await e.exists())return!0;const r=await e.createWriter();await r.truncate(0),await r.close(),await e.remove()}else await e.remove();return!0}catch(e){return console.warn(e),!1}}const C=[];let j=!1;(async function(){var e;!0!==globalThis.__opfs_tools_tmpfile_init__&&(globalThis.__opfs_tools_tmpfile_init__=!0,null!=globalThis.FileSystemDirectoryHandle&&null!=globalThis.FileSystemFileHandle&&null!=(null==(e=globalThis.navigator)?void 0:e.storage.getDirectory)&&(setInterval(async()=>{for(const e of await x(U).children()){const r=/^\d+-(\d+)$/.exec(e.name);(null==r||Date.now()-Number(r[1])>2592e5)&&await Y(e)}},6e4),await async function(){if(null==globalThis.localStorage)return;const e="OPFS_TOOLS_EXPIRES_TMP_FILES";j||(j=!0,globalThis.addEventListener("unload",()=>{0!==C.length&&localStorage.setItem(e,`${localStorage.getItem(e)??""},${C.join(",")}`)}));let r=localStorage.getItem(e)??"";for(const e of r.split(","))0!==e.length&&await Y(P(`${U}/${e}`))&&(r=r.replace(e,""));localStorage.setItem(e,r.replace(/,{2,}/g,","))}()))})(),e.dir=x,e.file=P,e.rollfile=function(e,r){let t=P(e),n=0,a=t.createWriter(),o=t.createReader();return{append:async e=>{const t=await a;n+=await t.write(e),n>=r&&await(async e=>{const r=await(await o).read(n,{at:Math.round(.3*n)});n=await e.write(r,{at:0}),await e.truncate(n)})(t)},text:t.text.bind(t),remove:async()=>{await(await o).close(),await(await a).close(),await t.remove()},getSize:async()=>n}},e.tmpfile=function(){const e=`${Math.random().toString().slice(2)}-${Date.now()}`;return C.push(e),P(`${U}/${e}`)},e.write=L,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(r)},516(e,r,t){"use strict";t.r(r),t.d(r,{ABORT_ERROR:()=>O,CURRENT_DIR:()=>Je,NOT_FOUND_ERROR:()=>Ve,ROOT_DIR:()=>He,TIMEOUT_ERROR:()=>F,TMP_DIR:()=>Ke,appendFile:()=>Ar,appendFileSync:()=>gt,assertAbsolutePath:()=>Qe,assertFileUrl:()=>qe,connectSyncAgent:()=>ot,copy:()=>Or,copySync:()=>vt,createFile:()=>wr,createFileSync:()=>ut,deleteTemp:()=>Ir,deleteTempSync:()=>Tt,downloadFile:()=>Tr,emptyDir:()=>Fr,emptyDirSync:()=>bt,exists:()=>Rr,existsSync:()=>Et,generateTempPath:()=>cr,getFileDataByHandle:()=>dr,getSyncMessenger:()=>it,isDirectoryHandle:()=>yr,isFileHandle:()=>fr,isFileHandleLike:()=>hr,isOPFSSupported:()=>Xr,isTempPath:()=>ur,mkTemp:()=>Lr,mkTempSync:()=>St,mkdir:()=>pr,mkdirSync:()=>lt,move:()=>xr,moveSync:()=>ft,pruneTemp:()=>zr,pruneTempSync:()=>kt,readBlobFile:()=>Wr,readBlobFileSync:()=>At,readDir:()=>mr,readDirSync:()=>yt,readFile:()=>gr,readFileSync:()=>ht,readJsonFile:()=>Zr,readJsonFileSync:()=>Ot,readTextFile:()=>Pr,readTextFileSync:()=>Ft,remove:()=>vr,removeSync:()=>dt,setSyncMessenger:()=>st,startSyncAgent:()=>at,stat:()=>br,statSync:()=>wt,toFileSystemHandleLike:()=>lr,unzip:()=>Yr,unzipFromUrl:()=>Cr,unzipSync:()=>Rt,uploadFile:()=>jr,writeFile:()=>Er,writeFileSync:()=>mt,zip:()=>Mr,zipFromUrl:()=>Gr,zipSync:()=>xt});function n(e,r){if(!e)throw new Error("Invariant failed")}function a(e){if("string"!=typeof e)throw new TypeError(`Path must be a string, received "${JSON.stringify(e)}"`)}function o(e,r){if(e.length<=1)return e;let t=e.length;for(let n=e.length-1;n>0&&r(e.charCodeAt(n));n--)t=n;return e.slice(0,t)}function i(e){return 47===e}function s(e){return e=function(e){if("file:"!==(e=e instanceof URL?e:new URL(e)).protocol)throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function c(e){e instanceof URL&&(e=s(e)),function(e){a(e),e.length}(e);let r=-1,t=!1;for(let n=e.length-1;n>=1;--n)if(i(e.charCodeAt(n))){if(t){r=n;break}}else t=!0;return-1===r?i(e.charCodeAt(0))?"/":".":o(e.slice(0,r),i)}function u(e,r=""){e instanceof URL&&(e=s(e)),function(e,r){if(a(e),0===e.length)return e;if("string"!=typeof r)throw new TypeError(`Suffix must be a string, received "${JSON.stringify(r)}"`)}(e,r);const t=function(e,r,t=0){let n=!1,a=e.length;for(let o=e.length-1;o>=t;--o)if(r(e.charCodeAt(o))){if(n){t=o+1;break}}else n||(n=!0,a=o+1);return e.slice(t,a)}(e,i),n=o(t,i);return r?function(e,r){if(r.length>=e.length)return e;const t=e.length-r.length;for(let n=r.length-1;n>=0;--n)if(e.charCodeAt(t+n)!==r.charCodeAt(n))return e;return e.slice(0,-r.length)}(n,r):n}function l(e,...r){if(void 0===e)return".";e instanceof URL&&(e=s(e)),(r=e?[e,...r]:r).forEach(e=>a(e));const t=r.filter(e=>e.length>0).join("/");return""===t?".":function(e){e instanceof URL&&(e=s(e)),function(e){a(e),e.length}(e);const r=i(e.charCodeAt(0)),t=i(e.charCodeAt(e.length-1));return e=function(e,r,t,n){let a,o="",i=0,s=-1,c=0;for(let u=0;u<=e.length;++u){if(u<e.length)a=e.charCodeAt(u);else{if(n(a))break;a=47}if(n(a)){if(s===u-1||1===c);else if(s!==u-1&&2===c){if(o.length<2||2!==i||46!==o.charCodeAt(o.length-1)||46!==o.charCodeAt(o.length-2)){if(o.length>2){const e=o.lastIndexOf(t);-1===e?(o="",i=0):(o=o.slice(0,e),i=o.length-1-o.lastIndexOf(t)),s=u,c=0;continue}if(2===o.length||1===o.length){o="",i=0,s=u,c=0;continue}}r&&(o.length>0?o+=`${t}..`:o="..",i=2)}else o.length>0?o+=t+e.slice(s+1,u):o=e.slice(s+1,u),i=u-s-1;s=u,c=0}else 46===a&&-1!==c?++c:c=-1}return o}(e,!r,"/",i),0!==e.length||r||(e="."),e.length>0&&t&&(e+="/"),r?`/${e}`:e}(t)}function f(e){e instanceof URL&&(e=s(e)),a(e);let r=-1,t=0,n=-1,o=!0,c=0;for(let a=e.length-1;a>=0;--a){const s=e.charCodeAt(a);if(i(s)){if(!o){t=a+1;break}}else-1===n&&(o=!1,n=a+1),46===s?-1===r?r=a:1!==c&&(c=1):-1!==r&&(c=-1)}return-1===r||-1===n||0===c||1===c&&r===n-1&&r===t+1?"":e.slice(r,n)}const y=Symbol("Option kind"),h=Symbol("Result kind"),d=Promise.resolve(!0),w=Promise.resolve(!1);function p(e){const r=Object.freeze({[Symbol.toStringTag]:"Option",[y]:"Some",*[Symbol.iterator](){yield e},toString:()=>`Some(${e})`,isSome:()=>!0,isNone:()=>!1,isSomeAnd:r=>r(e),isSomeAndAsync:r=>Promise.resolve(r(e)),isNoneOr:r=>r(e),isNoneOrAsync:r=>Promise.resolve(r(e)),expect:r=>e,unwrap:()=>e,unwrapOr:r=>e,unwrapOrElse:r=>e,unwrapOrElseAsync:r=>Promise.resolve(e),okOr:r=>v(e),okOrElse:r=>v(e),transpose:()=>(S(e),e.isOk()?v(p(e.unwrap())):b(e.unwrapErr())),filter:t=>t(e)?r:m,flatten:()=>(T(e),e),map:r=>p(r(e)),mapOr:(r,t)=>t(e),mapOrElse:(r,t)=>t(e),zip:r=>(T(r),r.isSome()?p([e,r.unwrap()]):m),zipWith:(r,t)=>(T(r),r.isSome()?p(t(e,r.unwrap())):m),unzip(){const r=e;if(!Array.isArray(r)||2!==r.length)throw new TypeError("Option::unzip() requires a 2-element tuple, received "+(Array.isArray(r)?`array with ${r.length} elements`:typeof r));const[t,n]=r;return[p(t),p(n)]},reduce:(t,n)=>(T(t),t.isSome()?p(n(e,t.unwrap())):r),and:e=>(T(e),e),andThen:r=>r(e),andThenAsync:r=>Promise.resolve(r(e)),or:e=>r,orElse:e=>r,orElseAsync:e=>Promise.resolve(r),xor:e=>(T(e),e.isSome()?m:r),inspect:t=>(t(e),r),eq:r=>(T(r),r.isSome()&&r.unwrap()===e)});return r}const m=Object.freeze({[Symbol.toStringTag]:"Option",[y]:"None",*[Symbol.iterator](){},toString:()=>"None",isSome:()=>!1,isNone:()=>!0,isSomeAnd:e=>!1,isSomeAndAsync:e=>w,isNoneOr:e=>!0,isNoneOrAsync:e=>d,expect(e){throw new TypeError(e)},unwrap(){throw new TypeError("Option::unwrap() called on a `None` value")},unwrapOr:e=>e,unwrapOrElse:e=>e(),unwrapOrElseAsync:e=>Promise.resolve(e()),okOr:e=>b(e),okOrElse:e=>b(e()),transpose:()=>v(m),filter:e=>m,flatten:()=>m,map:e=>m,mapOr:(e,r)=>e,mapOrElse:(e,r)=>e(),zip:e=>m,zipWith:(e,r)=>m,unzip:()=>[m,m],reduce:(e,r)=>(T(e),e),and:e=>m,andThen:e=>m,andThenAsync:e=>g,or:e=>(T(e),e),orElse:e=>e(),orElseAsync:e=>Promise.resolve(e()),xor:e=>(T(e),e.isSome()?e:m),inspect:e=>m,eq:e=>(T(e),e===m)}),g=Promise.resolve(m);function v(e){const r=Object.freeze({[Symbol.toStringTag]:"Result",[h]:"Ok",*[Symbol.iterator](){yield e},toString:()=>`Ok(${e})`,isOk:()=>!0,isErr:()=>!1,isOkAnd:r=>r(e),isOkAndAsync:r=>Promise.resolve(r(e)),isErrAnd:e=>!1,isErrAndAsync:e=>w,expect:r=>e,unwrap:()=>e,unwrapOr:r=>e,unwrapOrElse:r=>e,unwrapOrElseAsync:r=>Promise.resolve(e),expectErr(r){throw new TypeError(`${r}: ${e}`)},unwrapErr(){throw new TypeError("Result::unwrapErr() called on an `Ok` value")},intoOk:()=>e,intoErr(){throw new TypeError("Result::intoErr() called on an `Ok` value")},ok:()=>p(e),err:()=>m,transpose:()=>(T(e),e.isSome()?p(v(e.unwrap())):m),map:r=>v(r(e)),mapErr:e=>r,mapOr:(r,t)=>t(e),mapOrElse:(r,t)=>t(e),flatten:()=>(S(e),e),and:e=>(S(e),e),or:e=>r,andThen:r=>r(e),andThenAsync:r=>Promise.resolve(r(e)),orElse:e=>r,orElseAsync:e=>Promise.resolve(r),inspect:t=>(t(e),r),inspectErr:e=>r,eq:r=>(S(r),r.isOk()&&r.unwrap()===e),asOk:()=>r,asErr(){throw new TypeError("Result::asErr() called on an `Ok` value")},andTryAsync(r){try{const t=r(e);return Promise.resolve(t).then(v,b)}catch(e){return Promise.resolve(b(e))}},orTryAsync:e=>Promise.resolve(r)});return r}function b(e){const r=Object.freeze({[Symbol.toStringTag]:"Result",[h]:"Err",*[Symbol.iterator](){},toString:()=>`Err(${e})`,isOk:()=>!1,isErr:()=>!0,isOkAnd:e=>!1,isOkAndAsync:e=>w,isErrAnd:r=>r(e),isErrAndAsync:r=>Promise.resolve(r(e)),expect(r){throw new TypeError(`${r}: ${e}`)},unwrap(){throw new TypeError("Result::unwrap() called on an `Err` value")},unwrapOr:e=>e,unwrapOrElse:r=>r(e),unwrapOrElseAsync:r=>Promise.resolve(r(e)),expectErr:r=>e,unwrapErr:()=>e,intoOk(){throw new TypeError("Result::intoOk() called on an `Err` value")},intoErr:()=>e,ok:()=>m,err:()=>p(e),transpose:()=>p(r),map:e=>r,mapErr:r=>b(r(e)),mapOr:(e,r)=>e,mapOrElse:(r,t)=>r(e),flatten:()=>r,and:e=>r,or:e=>(S(e),e),andThen:e=>r,andThenAsync:e=>Promise.resolve(r),orElse:r=>r(e),orElseAsync:r=>Promise.resolve(r(e)),inspect:e=>r,inspectErr:t=>(t(e),r),eq:r=>(S(r),r.isErr()&&r.unwrapErr()===e),asOk(){throw new TypeError("Result::asOk() called on an `Err` value")},asErr:()=>r,andTryAsync:e=>Promise.resolve(r),orTryAsync(r){try{const t=r(e);return Promise.resolve(t).then(v,b)}catch(e){return Promise.resolve(b(e))}}});return r}function E(e){try{return null===e?"null":void 0===e?"undefined":"object"==typeof e?Object.prototype.toString.call(e):String(e)}catch{return"[unable to stringify]"}}function T(e){if(!function(e){return null!=e&&"object"==typeof e&&y in e}(e))throw new TypeError(`Expected an Option, but received: ${E(e)}`)}function S(e){if(!function(e){return null!=e&&"object"==typeof e&&h in e}(e))throw new TypeError(`Expected a Result, but received: ${E(e)}`)}const k=v(!1),A=v(),O="AbortError",F="TimeoutError";var R=class extends Error{name="FetchError";status;constructor(e,r){super(e),this.status=r}};function x(e,r){const t=function(e){if(e instanceof URL)return e;try{return new URL(e,"undefined"!=typeof location?location.href:void 0)}catch{throw new TypeError(`Invalid URL: ${e}`)}}(e),n=r??{},{retries:a,delay:o,when:i,onRetry:s}=function(e){const{responseType:r,timeout:t,retry:n=0,onProgress:a,onChunk:o}=e;if(null!=r){const e=["text","arraybuffer","blob","json","bytes","stream"];if(!e.includes(r))throw new TypeError(`responseType must be one of ${e.join(", ")} but received ${r}`)}if(null!=t){if("number"!=typeof t)throw new TypeError("timeout must be a number but received "+typeof t);if(t<=0)throw new Error(`timeout must be a number greater than 0 but received ${t}`)}if(null!=a&&"function"!=typeof a)throw new TypeError("onProgress callback must be a function but received "+typeof a);if(null!=o&&"function"!=typeof o)throw new TypeError("onChunk callback must be a function but received "+typeof o);let i,s,c=0,u=0;if("number"==typeof n?c=n:n&&"object"==typeof n&&(c=n.retries??0,u=n.delay??0,i=n.when,s=n.onRetry),!Number.isInteger(c))throw new TypeError(`Retry count must be an integer but received ${c}`);if(c<0)throw new Error(`Retry count must be non-negative but received ${c}`);if("number"==typeof u){if(u<0)throw new Error(`Retry delay must be a non-negative number but received ${u}`)}else if("function"!=typeof u)throw new TypeError("Retry delay must be a number or a function but received "+typeof u);if(null!=i&&!Array.isArray(i)&&"function"!=typeof i)throw new TypeError("Retry when condition must be an array of status codes or a function but received "+typeof i);if(null!=s&&"function"!=typeof s)throw new TypeError("Retry onRetry callback must be a function but received "+typeof s);return{retries:c,delay:u,when:i,onRetry:s}}(n),{abortable:c=!1,responseType:u,timeout:l,onProgress:f,onChunk:y,...h}=n,d=h.signal;let w;c&&(w=new AbortController);const p=(e,r)=>"AbortError"!==e.name&&(i?Array.isArray(i)?e instanceof R&&i.includes(e.status):i(e,r):!(e instanceof R)),m=e=>"function"==typeof o?o(e):o,g=()=>{const e=[];d&&e.push(d),w&&e.push(w.signal),"number"==typeof l&&e.push(function(e){if("function"==typeof AbortSignal.timeout)return AbortSignal.timeout(e);const r=new AbortController,t=function(){const e="The operation timed out.";try{return new DOMException(e,F)}catch{const r=new Error(e);return r.name=F,r}}(),n=setTimeout(()=>{r.abort(t)},e);return"function"==typeof n?.unref&&n.unref(),r.signal}(l)),e.length>0&&(h.signal=1===e.length?e[0]:function(e){if("function"==typeof AbortSignal.any)return AbortSignal.any(e);const r=new AbortController;for(const t of e)if(t.aborted)return r.abort(t.reason),r.signal;const t=e=>{r.abort(e.target.reason)};for(const r of e)r.addEventListener("abort",t);return r.signal.addEventListener("abort",()=>{for(const r of e)r.removeEventListener("abort",t)}),r.signal}(e))},E=async()=>{g();try{const e=await fetch(t,h);return e.ok?await T(e):(e.body?.cancel().catch(()=>{}),b(new R(e.statusText,e.status)))}catch(e){return b(e instanceof Error?e:Z(e))}},T=async e=>{switch(e.body&&(f||y)&&(async e=>{let r,t=0;if(f){const t=e.headers.get("content-length");if(null==t)try{f(b(new Error("No content-length in response headers")))}catch{}else r=Number.parseInt(t,10)}const n=e.clone().body;try{for await(const e of n){if(y)try{y(e)}catch{}if(f&&null!=r){t+=e.byteLength;try{f(v({totalByteLength:r,completedByteLength:t}))}catch{}}}}catch{}})(e),u){case"json":if(null==e.body)return v(null);try{return v(await e.json())}catch{return b(new Error("Response is invalid json while responseType is json"))}case"text":return v(await e.text());case"bytes":return"function"==typeof e.bytes?v(await e.bytes()):v(new Uint8Array(await e.arrayBuffer()));case"arraybuffer":return v(await e.arrayBuffer());case"blob":return v(await e.blob());case"stream":return v(e.body);default:return v(e)}},S=(async()=>{let e,r=0;do{if(r>0){if(w?.signal.aborted)return b(w.signal.reason);const t=m(r);if(t>0&&(await W(t),w?.signal.aborted))return b(w.signal.reason);try{s?.(e,r)}catch{}}const t=await E();if(t.isOk())return t;e=t.unwrapErr(),r++}while(r<=a&&p(e,r));return b(e)})();return c&&w?{abort(e){e instanceof Error?w.abort(e):null!=e?w.abort(Z(e)):w.abort()},get aborted(){return w.signal.aborted},get result(){return S}}:S}function W(e){return new Promise(r=>setTimeout(r,e))}function Z(e){const r=new Error("string"==typeof e?e:String(e));return r.name=O,r.cause=e,r}var P={},L=Uint8Array,I=Uint16Array,z=Int32Array,U=new L([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,0,0,0]),Y=new L([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,0,0]),C=new L([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j=function(e,r){for(var t=new I(31),n=0;n<31;++n)t[n]=r+=1<<e[n-1];var a=new z(t[30]);for(n=1;n<30;++n)for(var o=t[n];o<t[n+1];++o)a[o]=o-t[n]<<5|n;return{b:t,r:a}},D=j(U,2),M=D.b,G=D.r;M[28]=258,G[258]=28;for(var X=j(Y,0),N=X.b,$=X.r,B=new I(32768),_=0;_<32768;++_){var V=(43690&_)>>1|(21845&_)<<1;V=(61680&(V=(52428&V)>>2|(13107&V)<<2))>>4|(3855&V)<<4,B[_]=((65280&V)>>8|(255&V)<<8)>>1}var H=function(e,r,t){for(var n=e.length,a=0,o=new I(r);a<n;++a)e[a]&&++o[e[a]-1];var i,s=new I(r);for(a=1;a<r;++a)s[a]=s[a-1]+o[a-1]<<1;if(t){i=new I(1<<r);var c=15-r;for(a=0;a<n;++a)if(e[a])for(var u=a<<4|e[a],l=r-e[a],f=s[e[a]-1]++<<l,y=f|(1<<l)-1;f<=y;++f)i[B[f]>>c]=u}else for(i=new I(n),a=0;a<n;++a)e[a]&&(i[a]=B[s[e[a]-1]++]>>15-e[a]);return i},J=new L(288);for(_=0;_<144;++_)J[_]=8;for(_=144;_<256;++_)J[_]=9;for(_=256;_<280;++_)J[_]=7;for(_=280;_<288;++_)J[_]=8;var K=new L(32);for(_=0;_<32;++_)K[_]=5;var Q=H(J,9,0),q=H(J,9,1),ee=H(K,5,0),re=H(K,5,1),te=function(e){for(var r=e[0],t=1;t<e.length;++t)e[t]>r&&(r=e[t]);return r},ne=function(e,r,t){var n=r/8|0;return(e[n]|e[n+1]<<8)>>(7&r)&t},ae=function(e,r){var t=r/8|0;return(e[t]|e[t+1]<<8|e[t+2]<<16)>>(7&r)},oe=function(e){return(e+7)/8|0},ie=function(e,r,t){return(null==r||r<0)&&(r=0),(null==t||t>e.length)&&(t=e.length),new L(e.subarray(r,t))},se=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ce=function(e,r,t){var n=new Error(r||se[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,ce),!t)throw n;return n},ue=function(e,r,t,n){var a=e.length,o=n?n.length:0;if(!a||r.f&&!r.l)return t||new L(0);var i=!t,s=i||2!=r.i,c=r.i;i&&(t=new L(3*a));var u=function(e){var r=t.length;if(e>r){var n=new L(Math.max(2*r,e));n.set(t),t=n}},l=r.f||0,f=r.p||0,y=r.b||0,h=r.l,d=r.d,w=r.m,p=r.n,m=8*a;do{if(!h){l=ne(e,f,1);var g=ne(e,f+1,3);if(f+=3,!g){var v=e[(W=oe(f)+4)-4]|e[W-3]<<8,b=W+v;if(b>a){c&&ce(0);break}s&&u(y+v),t.set(e.subarray(W,b),y),r.b=y+=v,r.p=f=8*b,r.f=l;continue}if(1==g)h=q,d=re,w=9,p=5;else if(2==g){var E=ne(e,f,31)+257,T=ne(e,f+10,15)+4,S=E+ne(e,f+5,31)+1;f+=14;for(var k=new L(S),A=new L(19),O=0;O<T;++O)A[C[O]]=ne(e,f+3*O,7);f+=3*T;var F=te(A),R=(1<<F)-1,x=H(A,F,1);for(O=0;O<S;){var W,Z=x[ne(e,f,R)];if(f+=15&Z,(W=Z>>4)<16)k[O++]=W;else{var P=0,I=0;for(16==W?(I=3+ne(e,f,3),f+=2,P=k[O-1]):17==W?(I=3+ne(e,f,7),f+=3):18==W&&(I=11+ne(e,f,127),f+=7);I--;)k[O++]=P}}var z=k.subarray(0,E),j=k.subarray(E);w=te(z),p=te(j),h=H(z,w,1),d=H(j,p,1)}else ce(1);if(f>m){c&&ce(0);break}}s&&u(y+131072);for(var D=(1<<w)-1,G=(1<<p)-1,X=f;;X=f){var $=(P=h[ae(e,f)&D])>>4;if((f+=15&P)>m){c&&ce(0);break}if(P||ce(2),$<256)t[y++]=$;else{if(256==$){X=f,h=null;break}var B=$-254;if($>264){var _=U[O=$-257];B=ne(e,f,(1<<_)-1)+M[O],f+=_}var V=d[ae(e,f)&G],J=V>>4;if(V||ce(3),f+=15&V,j=N[J],J>3&&(_=Y[J],j+=ae(e,f)&(1<<_)-1,f+=_),f>m){c&&ce(0);break}s&&u(y+131072);var K=y+B;if(y<j){var Q=o-j,ee=Math.min(j,K);for(Q+y<0&&ce(3);y<ee;++y)t[y]=n[Q+y]}for(;y<K;++y)t[y]=t[y-j]}}r.l=h,r.p=X,r.b=y,r.f=l,h&&(l=1,r.m=w,r.d=d,r.n=p)}while(!l);return y!=t.length&&i?ie(t,0,y):t.subarray(0,y)},le=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>8},fe=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>8,e[n+2]|=t>>16},ye=function(e,r){for(var t=[],n=0;n<e.length;++n)e[n]&&t.push({s:n,f:e[n]});var a=t.length,o=t.slice();if(!a)return{t:ve,l:0};if(1==a){var i=new L(t[0].s+1);return i[t[0].s]=1,{t:i,l:1}}t.sort(function(e,r){return e.f-r.f}),t.push({s:-1,f:25001});var s=t[0],c=t[1],u=0,l=1,f=2;for(t[0]={s:-1,f:s.f+c.f,l:s,r:c};l!=a-1;)s=t[t[u].f<t[f].f?u++:f++],c=t[u!=l&&t[u].f<t[f].f?u++:f++],t[l++]={s:-1,f:s.f+c.f,l:s,r:c};var y=o[0].s;for(n=1;n<a;++n)o[n].s>y&&(y=o[n].s);var h=new I(y+1),d=he(t[l-1],h,0);if(d>r){n=0;var w=0,p=d-r,m=1<<p;for(o.sort(function(e,r){return h[r.s]-h[e.s]||e.f-r.f});n<a;++n){var g=o[n].s;if(!(h[g]>r))break;w+=m-(1<<d-h[g]),h[g]=r}for(w>>=p;w>0;){var v=o[n].s;h[v]<r?w-=1<<r-h[v]++-1:++n}for(;n>=0&&w;--n){var b=o[n].s;h[b]==r&&(--h[b],++w)}d=r}return{t:new L(h),l:d}},he=function(e,r,t){return-1==e.s?Math.max(he(e.l,r,t+1),he(e.r,r,t+1)):r[e.s]=t},de=function(e){for(var r=e.length;r&&!e[--r];);for(var t=new I(++r),n=0,a=e[0],o=1,i=function(e){t[n++]=e},s=1;s<=r;++s)if(e[s]==a&&s!=r)++o;else{if(!a&&o>2){for(;o>138;o-=138)i(32754);o>2&&(i(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(i(a),--o;o>6;o-=6)i(8304);o>2&&(i(o-3<<5|8208),o=0)}for(;o--;)i(a);o=1,a=e[s]}return{c:t.subarray(0,n),n:r}},we=function(e,r){for(var t=0,n=0;n<r.length;++n)t+=e[n]*r[n];return t},pe=function(e,r,t){var n=t.length,a=oe(r+2);e[a]=255&n,e[a+1]=n>>8,e[a+2]=255^e[a],e[a+3]=255^e[a+1];for(var o=0;o<n;++o)e[a+o+4]=t[o];return 8*(a+4+n)},me=function(e,r,t,n,a,o,i,s,c,u,l){le(r,l++,t),++a[256];for(var f=ye(a,15),y=f.t,h=f.l,d=ye(o,15),w=d.t,p=d.l,m=de(y),g=m.c,v=m.n,b=de(w),E=b.c,T=b.n,S=new I(19),k=0;k<g.length;++k)++S[31&g[k]];for(k=0;k<E.length;++k)++S[31&E[k]];for(var A=ye(S,7),O=A.t,F=A.l,R=19;R>4&&!O[C[R-1]];--R);var x,W,Z,P,L=u+5<<3,z=we(a,J)+we(o,K)+i,j=we(a,y)+we(o,w)+i+14+3*R+we(S,O)+2*S[16]+3*S[17]+7*S[18];if(c>=0&&L<=z&&L<=j)return pe(r,l,e.subarray(c,c+u));if(le(r,l,1+(j<z)),l+=2,j<z){x=H(y,h,0),W=y,Z=H(w,p,0),P=w;var D=H(O,F,0);for(le(r,l,v-257),le(r,l+5,T-1),le(r,l+10,R-4),l+=14,k=0;k<R;++k)le(r,l+3*k,O[C[k]]);l+=3*R;for(var M=[g,E],G=0;G<2;++G){var X=M[G];for(k=0;k<X.length;++k){var N=31&X[k];le(r,l,D[N]),l+=O[N],N>15&&(le(r,l,X[k]>>5&127),l+=X[k]>>12)}}}else x=Q,W=J,Z=ee,P=K;for(k=0;k<s;++k){var $=n[k];if($>255){fe(r,l,x[257+(N=$>>18&31)]),l+=W[N+257],N>7&&(le(r,l,$>>23&31),l+=U[N]);var B=31&$;fe(r,l,Z[B]),l+=P[B],B>3&&(fe(r,l,$>>5&8191),l+=Y[B])}else fe(r,l,x[$]),l+=W[$]}return fe(r,l,x[256]),l+W[256]},ge=new z([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ve=new L(0),be=function(e,r,t,n,a,o){var i=o.z||e.length,s=new L(n+i+5*(1+Math.ceil(i/7e3))+a),c=s.subarray(n,s.length-a),u=o.l,l=7&(o.r||0);if(r){l&&(c[0]=o.r>>3);for(var f=ge[r-1],y=f>>13,h=8191&f,d=(1<<t)-1,w=o.p||new I(32768),p=o.h||new I(d+1),m=Math.ceil(t/3),g=2*m,v=function(r){return(e[r]^e[r+1]<<m^e[r+2]<<g)&d},b=new z(25e3),E=new I(288),T=new I(32),S=0,k=0,A=o.i||0,O=0,F=o.w||0,R=0;A+2<i;++A){var x=v(A),W=32767&A,Z=p[x];if(w[W]=Z,p[x]=W,F<=A){var P=i-A;if((S>7e3||O>24576)&&(P>423||!u)){l=me(e,c,0,b,E,T,k,O,R,A-R,l),O=S=k=0,R=A;for(var C=0;C<286;++C)E[C]=0;for(C=0;C<30;++C)T[C]=0}var j=2,D=0,M=h,X=W-Z&32767;if(P>2&&x==v(A-X))for(var N=Math.min(y,P)-1,B=Math.min(32767,A),_=Math.min(258,P);X<=B&&--M&&W!=Z;){if(e[A+j]==e[A+j-X]){for(var V=0;V<_&&e[A+V]==e[A+V-X];++V);if(V>j){if(j=V,D=X,V>N)break;var H=Math.min(X,V-2),J=0;for(C=0;C<H;++C){var K=A-X+C&32767,Q=K-w[K]&32767;Q>J&&(J=Q,Z=K)}}}X+=(W=Z)-(Z=w[W])&32767}if(D){b[O++]=268435456|G[j]<<18|$[D];var q=31&G[j],ee=31&$[D];k+=U[q]+Y[ee],++E[257+q],++T[ee],F=A+j,++S}else b[O++]=e[A],++E[e[A]]}}for(A=Math.max(A,F);A<i;++A)b[O++]=e[A],++E[e[A]];l=me(e,c,u,b,E,T,k,O,R,A-R,l),u||(o.r=7&l|c[l/8|0]<<3,l-=7,o.h=p,o.p=w,o.i=A,o.w=F)}else{for(A=o.w||0;A<i+u;A+=65535){var re=A+65535;re>=i&&(c[l/8|0]=u,re=i),l=pe(c,l+1,e.subarray(A,re))}o.i=i}return ie(s,0,n+oe(l)+a)},Ee=function(){for(var e=new Int32Array(256),r=0;r<256;++r){for(var t=r,n=9;--n;)t=(1&t&&-306674912)^t>>>1;e[r]=t}return e}(),Te=function(e,r,t,n,a){if(!a&&(a={l:1},r.dictionary)){var o=r.dictionary.subarray(-32768),i=new L(o.length+e.length);i.set(o),i.set(e,o.length),e=i,a.w=o.length}return be(e,null==r.level?6:r.level,null==r.mem?a.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+r.mem,t,n,a)},Se=function(e,r){var t={};for(var n in e)t[n]=e[n];for(var n in r)t[n]=r[n];return t},ke=function(e,r,t){for(var n=e(),a=e.toString(),o=a.slice(a.indexOf("[")+1,a.lastIndexOf("]")).replace(/\s+/g,"").split(","),i=0;i<n.length;++i){var s=n[i],c=o[i];if("function"==typeof s){r+=";"+c+"=";var u=s.toString();if(s.prototype)if(-1!=u.indexOf("[native code]")){var l=u.indexOf(" ",8)+1;r+=u.slice(l,u.indexOf("(",l))}else for(var f in r+=u,s.prototype)r+=";"+c+".prototype."+f+"="+s.prototype[f].toString();else r+=u}else t[c]=s}return r},Ae=[],Oe=function(){return[L,I,z,U,Y,C,M,N,q,re,B,se,H,te,ne,ae,oe,ie,ce,ue,Ue,Re,xe]},Fe=function(){return[L,I,z,U,Y,C,G,$,Q,J,ee,K,B,ge,ve,H,le,fe,ye,he,de,we,pe,me,oe,ie,be,Te,ze,Re]},Re=function(e){return postMessage(e,[e.buffer])},xe=function(e){return e&&{out:e.size&&new L(e.size),dictionary:e.dictionary}},We=function(e,r,t,n,a,o){var i=function(e,r,t,n){if(!Ae[t]){for(var a="",o={},i=e.length-1,s=0;s<i;++s)a=ke(e[s],a,o);Ae[t]={c:ke(e[i],a,o),e:o}}var c=Se({},Ae[t].e);return function(e,r,t,n,a){var o=new Worker(P[r]||(P[r]=URL.createObjectURL(new Blob([e+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return o.onmessage=function(e){var r=e.data,t=r.$e$;if(t){var n=new Error(t[0]);n.code=t[1],n.stack=t[2],a(n,null)}else a(null,r)},o.postMessage(t,n),o}(Ae[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+r.toString()+"}",t,c,function(e){var r=[];for(var t in e)e[t].buffer&&r.push((e[t]=new e[t].constructor(e[t])).buffer);return r}(c),n)}(t,n,a,function(e,r){i.terminate(),o(e,r)});return i.postMessage([e,r],r.consume?[e.buffer]:[]),function(){i.terminate()}},Ze=function(e,r){return e[r]|e[r+1]<<8},Pe=function(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0},Le=function(e,r){return Pe(e,r)+4294967296*Pe(e,r+4)},Ie=function(e,r,t){for(;t;++r)e[r]=t,t>>>=8};function ze(e,r){return Te(e,r||{},0,0)}function Ue(e,r){return ue(e,{i:2},r&&r.out,r&&r.dictionary)}var Ye=function(e,r,t,n){for(var a in e){var o=e[a],i=r+a,s=n;Array.isArray(o)&&(s=Se(n,o[1]),o=o[0]),ArrayBuffer.isView(o)?t[i]=[o,s]:(t[i+="/"]=[new L(0),s],Ye(o,i,t,n))}},Ce="undefined"!=typeof TextEncoder&&new TextEncoder,je="undefined"!=typeof TextDecoder&&new TextDecoder;try{je.decode(ve,{stream:!0})}catch(e){}function De(e,r){if(r){for(var t=new L(e.length),n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}if(Ce)return Ce.encode(e);var a=e.length,o=new L(e.length+(e.length>>1)),i=0,s=function(e){o[i++]=e};for(n=0;n<a;++n){if(i+5>o.length){var c=new L(i+8+(a-n<<1));c.set(o),o=c}var u=e.charCodeAt(n);u<128||r?s(u):u<2048?(s(192|u>>6),s(128|63&u)):u>55295&&u<57344?(s(240|(u=65536+(1047552&u)|1023&e.charCodeAt(++n))>>18),s(128|u>>12&63),s(128|u>>6&63),s(128|63&u)):(s(224|u>>12),s(128|u>>6&63),s(128|63&u))}return ie(o,0,i)}function Me(e,r){if(r){for(var t="",n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(je)return je.decode(e);var a=function(e){for(var r="",t=0;;){var n=e[t++],a=(n>127)+(n>223)+(n>239);if(t+a>e.length)return{s:r,r:ie(e,t-1)};a?3==a?(n=((15&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,r+=String.fromCharCode(55296|n>>10,56320|1023&n)):r+=1&a?String.fromCharCode((31&n)<<6|63&e[t++]):String.fromCharCode((15&n)<<12|(63&e[t++])<<6|63&e[t++]):r+=String.fromCharCode(n)}}(e),o=a.s;return(t=a.r).length&&ce(8),o}var Ge=function(e,r,t,n,a,o,i){var s=4294967295==a,c=4294967295==o,u=4294967295==i,l=r+t;if(n&&s+c+u){for(;r+4<l;r+=4+Ze(e,r+2))if(1==Ze(e,r))return[s?Le(e,r+4+8*c):a,c?Le(e,r+4):o,u?Le(e,r+4+8*(c+s)):i,1];n<2&&ce(13)}return[a,o,i,0]},Xe=function(e){var r=0;if(e)for(var t in e){var n=e[t].length;n>65535&&ce(9),r+=n+4}return r},Ne=function(e,r,t,n,a,o,i,s){var c=n.length,u=t.extra,l=s&&s.length,f=Xe(u);Ie(e,r,null!=i?33639248:67324752),r+=4,null!=i&&(e[r++]=20,e[r++]=t.os),e[r]=20,r+=2,e[r++]=t.flag<<1|(o<0&&8),e[r++]=a&&8,e[r++]=255&t.compression,e[r++]=t.compression>>8;var y=new Date(null==t.mtime?Date.now():t.mtime),h=y.getFullYear()-1980;if((h<0||h>119)&&ce(10),Ie(e,r,h<<25|y.getMonth()+1<<21|y.getDate()<<16|y.getHours()<<11|y.getMinutes()<<5|y.getSeconds()>>1),r+=4,-1!=o&&(Ie(e,r,t.crc),Ie(e,r+4,o<0?-o-2:o),Ie(e,r+8,t.size)),Ie(e,r+12,c),Ie(e,r+14,f),r+=16,null!=i&&(Ie(e,r,l),Ie(e,r+6,t.attrs),Ie(e,r+10,i),r+=14),e.set(n,r),r+=c,f)for(var d in u){var w=u[d],p=w.length;Ie(e,r,+d),Ie(e,r+2,p),e.set(w,r+4),r+=4+p}return l&&(e.set(s,r),r+=l),r};function $e(e,r,t){t||(t=r,r={}),"function"!=typeof t&&ce(7);var n={};Ye(e,"",n,r);var a=Object.keys(n),o=a.length,i=0,s=0,c=o,u=new Array(o),l=[],f=function(){for(var e=0;e<l.length;++e)l[e]()},y=function(e,r){Be(function(){t(e,r)})};Be(function(){y=t});var h=function(){var e=new L(s+22),r=i,t=s-i;s=0;for(var n=0;n<c;++n){var a=u[n];try{var o=a.c.length;Ne(e,s,a,a.f,a.u,o);var l=30+a.f.length+Xe(a.extra),f=s+l;e.set(a.c,f),Ne(e,i,a,a.f,a.u,o,s,a.m),i+=16+l+(a.m?a.m.length:0),s=f+o}catch(e){return y(e,null)}}(function(e,r,t,n,a){Ie(e,r,101010256),Ie(e,r+8,t),Ie(e,r+10,t),Ie(e,r+12,n),Ie(e,r+16,a)})(e,i,u.length,t,r),y(null,e)};o||h();for(var d=function(e){var r=a[e],t=n[r],c=t[0],d=t[1],w=function(){var e=-1;return{p:function(r){for(var t=e,n=0;n<r.length;++n)t=Ee[255&t^r[n]]^t>>>8;e=t},d:function(){return~e}}}(),p=c.length;w.p(c);var m=De(r),g=m.length,v=d.comment,b=v&&De(v),E=b&&b.length,T=Xe(d.extra),S=0==d.level?0:8,k=function(t,n){if(t)f(),y(t,null);else{var a=n.length;u[e]=Se(d,{size:p,crc:w.d(),c:n,f:m,m:b,u:g!=r.length||b&&v.length!=E,compression:S}),i+=30+g+T+a,s+=76+2*(g+T)+(E||0)+a,--o||h()}};if(g>65535&&k(ce(11,0,1),null),S)if(p<16e4)try{k(null,ze(c,d))}catch(e){k(e,null)}else l.push(function(e,r,t){return t||(t=r,r={}),"function"!=typeof t&&ce(7),We(e,r,[Fe],function(e){return Re(ze(e.data[0],e.data[1]))},0,t)}(c,d,k));else k(null,c)},w=0;w<c;++w)d(w);return f}var Be="function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout?setTimeout:function(e){e()};class _e{resolve;reject;promise;constructor(){if("function"==typeof Promise.withResolvers){const{promise:e,resolve:r,reject:t}=Promise.withResolvers();this.promise=e,this.resolve=r,this.reject=t}else this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r})}}const Ve="NotFoundError",He="/",Je=".",Ke="/tmp";function Qe(e){n("string"==typeof e),n(e[0]===He)}function qe(e){n("string"==typeof e)}let er;function rr(e){return e===He}async function tr(e,r,t){try{return v(await e.getDirectoryHandle(r,t))}catch(t){const n=t,a=new Error(`${n.name}: ${n.message} When get child directory '${r}' from directory '${e.name||He}'.`);return a.name=n.name,b(a)}}async function nr(e,r){let t=await async function(){return er??=await navigator.storage.getDirectory(),er}();if(rr(e))return v(t);let n=e.slice(1);for(;n;){let e="";const a=n.indexOf("/");if(-1===a)e=n,n="";else if(e=n.slice(0,a),n=n.slice(a+1),0===a)continue;const o=await tr(t,e,r);if(o.isErr())return o;t=o.unwrap()}return v(t)}async function ar(e,r){const t=r?.create??!1,n=c(e),a=u(e);return(await nr(n,{create:t})).andThenAsync(e=>async function(e,r,t){try{return v(await e.getFileHandle(r,t))}catch(t){const n=t,a=new Error(`${n.name}: ${n.message} When get child file '${r}' from directory '${e.name||He}'.`);return a.name=n.name,b(a)}}(e,a,{create:t}))}function or(e){return e.name===Ve}async function ir(e){const r=(await Promise.all(e)).find(e=>e.isErr());return r??A}function sr(){const e=new Error;return e.name=O,e}function cr(e){const{isDirectory:r=!1,basename:t="tmp",extname:n=""}=e??{},a=r?"":n;return l(Ke,`${t?`${t}-`:""}${crypto.randomUUID()}${a}`)}function ur(e){return e.startsWith(`${Ke}/`)}async function lr(e){const{name:r,kind:t}=e;if(fr(e)){const n=await e.getFile(),{size:a,lastModified:o,type:i}=n;return{name:r,kind:t,type:i,size:a,lastModified:o}}return{name:r,kind:t}}function fr(e){return"file"===e.kind}function yr(e){return"directory"===e.kind}function hr(e){return"file"===e.kind}async function dr(e){const r=await e.getFile(),t=await r.arrayBuffer();return new Uint8Array(t)}async function wr(e){return Qe(e),(await ar(e,{create:!0})).and(A)}async function pr(e){return Qe(e),(await nr(e,{create:!0})).and(A)}async function mr(e,r){async function*t(n,a){const o=n.entries();for await(const[i,s]of o){const o=a===e?i:l(a,i);yield{path:o,handle:s},yr(s)&&r?.recursive&&(yield*t(await n.getDirectoryHandle(i),o))}}return Qe(e),(await nr(e)).andThen(r=>v(t(r,e)))}async function gr(e,r){return Qe(e),(await ar(e)).andThenAsync(async e=>{const t=await e.getFile();switch(r?.encoding){case"blob":return v(t);case"utf8":return v(await t.text());default:return v(await t.arrayBuffer())}})}async function vr(e){Qe(e);const r=c(e),t=u(e),n=await nr(r);return(await n.andThenAsync(async e=>{try{rr(r)&&rr(t)?await e.remove({recursive:!0}):await e.removeEntry(t,{recursive:!0})}catch(e){return b(e)}return A})).orElse(e=>or(e)?A:b(e))}async function br(e){Qe(e);const r=c(e),t=u(e),n=await nr(r);return t?n.andThenAsync(async r=>{for await(const[e,n]of r.entries())if(e===t)return v(n);const n=new Error(`${Ve}: '${t}' does not exist. Full path is '${e}'.`);return n.name=Ve,b(n)}):n}async function Er(e,r,t){Qe(e);const{append:n=!1,create:a=!0}=t??{};return(await ar(e,{create:a})).andThenAsync(async e=>{const t=await e.createWritable({keepExistingData:n}),a={type:"write",data:r};if(n){const{size:r}=await e.getFile();a.position=r}return await t.write(a),await t.close(),A})}function Tr(e,r,t){let n,a;qe(e),a=!1,"string"==typeof r?Qe(r):(t=r,r=cr({extname:f(e)}),a=!0),n=!1;const o=x(e,{redirect:"follow",...t,abortable:!0}),i=(async()=>(await o.response).andThenAsync(async e=>{const t=await e.blob();return n?b(sr()):(await Er(r,t)).and(v(e))}))();return{abort(e){n=!0,o.abort(e)},get aborted(){return n},get response(){return a?i.then(e=>e.map(e=>({tempFilePath:r,rawResponse:e}))):i}}}async function Sr(e,r){const t=c(r);return(await nr(t,{create:!0})).andThenAsync(async t=>{const n=u(r);try{return await e.move(t,n),A}catch(e){return b(e)}})}async function kr(e,r,t,n=!0){return Qe(r),(await br(e)).andThenAsync(async a=>{let o;o=!1;const i=await br(r);if(i.isErr()){if(!or(i.unwrapErr()))return i.asErr()}else{o=!0;const e=i.unwrap();if(!(fr(a)&&fr(e)||yr(a)&&yr(e)))return b(new Error("Both 'srcPath' and 'destPath' must both be a file or directory."))}return fr(a)?n||!o?await t(a,r):A:(await mr(e,{recursive:!0})).andThenAsync(async e=>{const a=[pr(r)];for await(const{path:i,handle:s}of e){const e=l(r,i);let c=!1;if(o){const r=await Rr(e);if(r.isErr()){a.push(Promise.resolve(r.asErr()));continue}c=r.unwrap()}const u=fr(s)?n||!c?t(s,e):Promise.resolve(A):pr(e);a.push(u)}return ir(a)})})}function Ar(e,r){return Er(e,r,{append:!0})}async function Or(e,r,t){const{overwrite:n=!0}=t??{};return kr(e,r,async(e,r)=>await Er(r,await e.getFile()),n)}async function Fr(e){const r=await mr(e);if(r.isErr())return or(r.unwrapErr())?pr(e):r.asErr();const t=[];for await(const{path:n}of r.unwrap())t.push(vr(l(e,n)));return ir(t)}async function Rr(e,r){const{isDirectory:t=!1,isFile:a=!1}=r??{};n(!(t&&a));const o=await br(e);return o.andThen(e=>v(!(t&&fr(e)||a&&yr(e)))).orElse(e=>or(e)?k:o.asErr())}async function xr(e,r,t){const{overwrite:n=!0}=t??{};return(await kr(e,r,Sr,n)).andThenAsync(()=>vr(e))}function Wr(e){return gr(e,{encoding:"blob"})}async function Zr(e){return(await Pr(e)).andThenAsync(async e=>{try{return v(JSON.parse(e))}catch(e){return b(e)}})}function Pr(e){return gr(e,{encoding:"utf8"})}async function Lr(e){const{isDirectory:r=!1}=e??{},t=cr(e);return(await(r?pr:wr)(t)).and(v(t))}function Ir(){return vr(Ke)}async function zr(e){return n(e instanceof Date),(await mr(Ke,{recursive:!0})).andThenAsync(async r=>{try{for await(const{handle:t}of r)fr(t)&&(await t.getFile()).lastModified<=e.getTime()&&await t.remove()}catch(e){return b(e)}return A})}async function Ur(e,r){const t=new Uint8Array(e),n=new _e;return function(e,r,t){t||(t=r,r={}),"function"!=typeof t&&ce(7);var n=[],a=function(){for(var e=0;e<n.length;++e)n[e]()},o={},i=function(e,r){Be(function(){t(e,r)})};Be(function(){i=t});for(var s=e.length-22;101010256!=Pe(e,s);--s)if(!s||e.length-s>65558)return i(ce(13,0,1),null),a;var c=Ze(e,s+8);if(c){var u=c,l=Pe(e,s+16),f=117853008==Pe(e,s-20);if(f){var y=Pe(e,s-12);(f=101075792==Pe(e,y))&&(u=c=Pe(e,y+32),l=Pe(e,y+48))}for(var h=r&&r.filter,d=function(r){var t=function(e,r,t){var n=Ze(e,r+28),a=Ze(e,r+30),o=Me(e.subarray(r+46,r+46+n),!(2048&Ze(e,r+8))),i=r+46+n,s=Ge(e,i,a,t,Pe(e,r+20),Pe(e,r+24),Pe(e,r+42)),c=s[0],u=s[1],l=s[2];return[Ze(e,r+10),c,u,o,i+a+Ze(e,r+32),l]}(e,l,f),s=t[0],u=t[1],y=t[2],d=t[3],w=t[4],p=t[5],m=function(e,r){return r+30+Ze(e,r+26)+Ze(e,r+28)}(e,p);l=w;var g=function(e,r){e?(a(),i(e,null)):(r&&(o[d]=r),--c||i(null,o))};if(!h||h({name:d,size:u,originalSize:y,compression:s}))if(s)if(8==s){var v=e.subarray(m,m+u);if(y<524288||u>.8*y)try{g(null,Ue(v,{out:new L(y)}))}catch(e){g(e,null)}else n.push(function(e,r,t){return t||(t=r,r={}),"function"!=typeof t&&ce(7),We(e,r,[Oe],function(e){return Re(Ue(e.data[0],xe(e.data[1])))},1,t)}(v,{size:y},g))}else g(ce(14,"unknown compression type "+s,1),null);else g(null,ie(e,m,m+u));else g(null,null)},w=0;w<u;++w)d()}else i(null,{})}(t,async(e,t)=>{if(e)return void n.resolve(b(e));const a=[];for(const e in t)"/"!==e.at(-1)&&a.push(Er(l(r,e),t[e]));n.resolve(ir(a))}),await n.promise}async function Yr(e,r){return Qe(r),(await gr(e)).andThenAsync(e=>Ur(e,r))}async function Cr(e,r,t){return qe(e),Qe(r),(await x(e,{redirect:"follow",...t,responseType:"arraybuffer",abortable:!1})).andThenAsync(e=>Ur(e,r))}function jr(e,r,t){let n,a;qe(r),n=!1;const o=(async()=>(await Wr(e)).andThenAsync(async o=>{if(n)return b(sr());const{filename:i=u(e),...s}=t??{},c=new FormData;return c.append(i,o,i),a=x(r,{method:"POST",...s,abortable:!0,body:c}),a.response}))();return{abort(e){n=!0,a?.abort(e)},get aborted(){return n},get response(){return o}}}async function Dr(e,r){const t=new _e;return $e(e,{consume:!0},async(e,n)=>{if(e)t.resolve(b(e));else if(r){const e=await Er(r,n);t.resolve(e)}else t.resolve(v(n))}),await t.promise}async function Mr(e,r,t){return"string"==typeof r?Qe(r):(t=r,r=void 0),(await br(e)).andThenAsync(async n=>{const a=u(e),o={};if(fr(n)){const e=await dr(n);o[a]=e}else{const r=await mr(e,{recursive:!0});if(r.isErr())return r.asErr();const n=t?.preserveRoot??!0;for await(const{path:e,handle:t}of r.unwrap())if(fr(t)){const r=n?l(a,e):e,i=await dr(t);o[r]=i}}return Dr(o,r)})}async function Gr(e,r,t){return qe(e),"string"==typeof r?Qe(r):(t=r,r=void 0),(await x(e,{redirect:"follow",...t,responseType:"arraybuffer",abortable:!1})).andThenAsync(t=>{const n={};return n[u(e)]=new Uint8Array(t),Dr(n,r)})}function Xr(){return"function"==typeof navigator?.storage?.getDirectory}function Nr(e){return e?{name:e.name,message:e.message}:e}async function $r(e){const r=await e.arrayBuffer();return{name:e.name,type:e.type,lastModified:e.lastModified,size:r.byteLength,data:r}}let Br=1e3;var _r=(e=>(e[e.createFile=0]="createFile",e[e.mkdir=1]="mkdir",e[e.move=2]="move",e[e.readDir=3]="readDir",e[e.remove=4]="remove",e[e.stat=5]="stat",e[e.writeFile=6]="writeFile",e[e.appendFile=7]="appendFile",e[e.copy=8]="copy",e[e.emptyDir=9]="emptyDir",e[e.exists=10]="exists",e[e.deleteTemp=11]="deleteTemp",e[e.mkTemp=12]="mkTemp",e[e.pruneTemp=13]="pruneTemp",e[e.readBlobFile=14]="readBlobFile",e[e.unzip=15]="unzip",e[e.zip=16]="zip",e))(_r||{});let Vr,Hr;function Jr(e){const r=JSON.stringify(e);return(Vr??=new TextEncoder,Vr).encode(r)}function Kr(e){const r=Qr(e);return JSON.parse(r)}function Qr(e){return(Hr??=new TextDecoder,Hr).decode(e)}class qr{i32a;u8a;headerLength=16;maxDataLength;constructor(e){this.i32a=new Int32Array(e),this.u8a=new Uint8Array(e),this.maxDataLength=e.byteLength-this.headerLength}}async function et(e,r){const{i32a:t,u8a:n,headerLength:a,maxDataLength:o}=e;for(;1!==Atomics.load(t,1););const i=t[2],s=n.slice(a,a+i);let c=await r(s);const u=c.byteLength;if(u>o){const e=`Response is too large: ${u} > ${o}. Consider grow the size of SharedArrayBuffer.`;if(c=Jr([{name:"RangeError",message:e}]),c.byteLength>o)throw Atomics.store(t,1,0),new RangeError(e)}t[2]=c.byteLength,n.set(c,a),Atomics.store(t,1,0),Atomics.store(t,0,0)}const rt={[_r.createFile]:wr,[_r.mkdir]:pr,[_r.move]:xr,[_r.readDir]:mr,[_r.remove]:vr,[_r.stat]:br,[_r.writeFile]:Er,[_r.appendFile]:Ar,[_r.copy]:Or,[_r.emptyDir]:Fr,[_r.exists]:Rr,[_r.deleteTemp]:Ir,[_r.mkTemp]:Lr,[_r.pruneTemp]:zr,[_r.readBlobFile]:Wr,[_r.unzip]:Yr,[_r.zip]:Mr};let tt,nt;function at(){if("undefined"!=typeof window)throw new Error("Only can use in worker");if(tt)throw new Error("Worker messenger already started");addEventListener("message",e=>{const r=e.data;if(!(r instanceof SharedArrayBuffer))throw new TypeError("Only can post SharedArrayBuffer to Worker");tt=new qr(r),postMessage(!0),async function(){for(;;)try{await et(tt,async e=>{const[r,...t]=Kr(e);let n;r===_r.writeFile||r===_r.appendFile?Array.isArray(t[1])&&(t[1]=new Uint8Array(t[1])):r===_r.pruneTemp&&(t[0]=new Date(t[0]));const a=rt[r];try{const e=await a(...t);if(e.isErr())n=Jr([Nr(e.unwrapErr())]);else{let t;if(r===_r.readBlobFile){const r=e.unwrap(),n=await $r(r);t={...n,data:[...new Uint8Array(n.data)]}}else if(r===_r.readDir){const r=e.unwrap(),n=[];for await(const{path:e,handle:t}of r){const r=await lr(t);n.push({path:e,handle:r})}t=n}else if(r===_r.stat){const r=e.unwrap();t=await lr(r)}else if(r===_r.zip){const r=e.unwrap();t=r instanceof Uint8Array?[...r]:r}else t=e.unwrap();n=Jr([null,t])}}catch(e){n=Jr([Nr(e)])}return n})}catch(e){console.error(e instanceof Error?e.stack:e)}}()})}function ot(e){if("undefined"==typeof window)throw new Error("Only can use in main thread");if(nt)throw new Error("Main messenger already started");return new Promise(r=>{const{worker:t,bufferLength:a=1048576,opTimeout:o=1e3}=e;n(t instanceof Worker||t instanceof URL||"string"==typeof t&&t),n(a>16&&a%4==0),n(Number.isInteger(o)&&o>0),Br=o;const i=t instanceof Worker?t:new Worker(t),s=new SharedArrayBuffer(a);i.addEventListener("message",e=>{e.data&&(nt=new qr(s),r())}),i.postMessage(s)})}function it(){return nt}function st(e){n(null!=e),nt=e}function ct(e,...r){if(!nt)return b(new Error("Worker not initialized. Come back later."));const t=Jr([e,...r]);try{const e=Kr(function(e,r){const{i32a:t,u8a:n,headerLength:a,maxDataLength:o}=e,i=r.byteLength;if(i>o)throw new RangeError(`Request is too large: ${i} > ${o}. Consider grow the size of SharedArrayBuffer.`);Atomics.store(t,0,1),t[2]=i,n.set(r,a),Atomics.store(t,1,1),function(e){const r=Date.now();for(;!e();)if(Date.now()-r>Br){const e=new Error("Operating Timeout");throw e.name=F,e}}(()=>0===Atomics.load(t,0));const s=t[2];return n.slice(a,a+s)}(nt,t)),r=e[0],n=r?b(function(e){const r=new Error(e.message);return r.name=e.name,r}(r)):v(e[1]??void 0);return n}catch(e){return b(e)}}function ut(e){return ct(_r.createFile,e)}function lt(e){return ct(_r.mkdir,e)}function ft(e,r,t){return ct(_r.move,e,r,t)}function yt(e,r){return ct(_r.readDir,e,r)}function ht(e,r){return ct(_r.readBlobFile,e).map(e=>{const t=new Uint8Array(e.data);switch(e.data=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),r?.encoding){case"blob":return e;case"utf8":return Qr(new Uint8Array(e.data));default:return e.data}})}function dt(e){return ct(_r.remove,e)}function wt(e){return ct(_r.stat,e)}function pt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e)]:ArrayBuffer.isView(e)?[...new Uint8Array(e.buffer)]:e}function mt(e,r,t){return ct(_r.writeFile,e,pt(r),t)}function gt(e,r){return ct(_r.appendFile,e,pt(r))}function vt(e,r,t){return ct(_r.copy,e,r,t)}function bt(e){return ct(_r.emptyDir,e)}function Et(e,r){return ct(_r.exists,e,r)}function Tt(){return ct(_r.deleteTemp)}function St(e){return ct(_r.mkTemp,e)}function kt(e){return ct(_r.pruneTemp,e)}function At(e){return ht(e,{encoding:"blob"})}function Ot(e){return Ft(e).andThen(e=>{try{return v(JSON.parse(e))}catch(e){return b(e)}})}function Ft(e){return ht(e,{encoding:"utf8"})}function Rt(e,r){return ct(_r.unzip,e,r)}function xt(e,r,t){return ct(_r.zip,e,r,t).map(e=>e?new Uint8Array(e):e)}},597(e,r,t){"use strict";t.r(r);const n="undefined"!=typeof Worker?Worker:void 0;t.d(r,["default",0,n])}};const r={};function t(n){const a=r[n];if(void 0!==a)return a.exports;const o=r[n]={exports:{}};return e[n].call(o.exports,o,o.exports,t),o.exports}t.d=(e,r)=>{if(Array.isArray(r))for(var n=0;n<r.length;){var a=r[n++],o=r[n++];t.o(e,a)?0===o&&n++:0===o?Object.defineProperty(e,a,{enumerable:!0,value:r[n++]}):Object.defineProperty(e,a,{enumerable:!0,get:o})}else for(var a in r)t.o(r,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t(234)})();
package/opfs CHANGED
@@ -109,7 +109,7 @@ async function
109
109
  10 * 1024 * 1024;
110
110
  }
111
111
  _agent_connect =
112
- _fs.connectSyncAgent;
112
+ _happy_opfs.connectSyncAgent;
113
113
  _fs_worker =
114
114
  _fs_worker_new(
115
115
  _worker_path);
@@ -132,7 +132,7 @@ function
132
132
  _args) {
133
133
  const
134
134
  _read_dir =
135
- _fs.readDirSync;
135
+ _happy_opfs.readDirSync;
136
136
  _return =
137
137
  _read_dir.apply(
138
138
  null,
@@ -145,7 +145,7 @@ function
145
145
  _args) {
146
146
  const
147
147
  _rename =
148
- _fs.moveSync;
148
+ _happy_opfs.moveSync;
149
149
  _return =
150
150
  _rename.apply(
151
151
  null,
@@ -158,7 +158,7 @@ function
158
158
  _args) {
159
159
  const
160
160
  _rm =
161
- _fs.removeSync;
161
+ _happy_opfs.removeSync;
162
162
  _return =
163
163
  _rm.apply(
164
164
  null,
@@ -182,8 +182,61 @@ function
182
182
  true;
183
183
  }
184
184
 
185
+ async function
186
+ _chmod(
187
+ _file,
188
+ _mode) {
189
+ true;
190
+ }
191
+
192
+ async function
193
+ _chown(
194
+ _file,
195
+ _mode) {
196
+ true;
197
+ }
198
+
199
+ function
200
+ _copy_sync_get(
201
+ _fs_module) {
202
+ const
203
+ _fs_module_type =
204
+ typeof(
205
+ _fs_module);
206
+ if ( _fs_module_type == "undefined" ||
207
+ _fs_module == "" ||
208
+ _fs_module == {} ) {
209
+ _fs_module =
210
+ require(
211
+ "happy-opfs");
212
+ }
213
+ const
214
+ _copy_sync =
215
+ function(
216
+ _args) {
217
+ const
218
+ _copy =
219
+ _happy_opfs.copySync;
220
+ _return =
221
+ _copy.apply(
222
+ null,
223
+ [ _args ]).unwrap();
224
+ return _return;
225
+ };
226
+ return _copy_sync;
227
+ }
228
+
229
+ const
230
+ _copy_sync =
231
+ _copy_sync_get(
232
+ _happy_opfs);
233
+
185
234
  module.exports =
186
235
  _happy_opfs;
236
+ module.exports.copyFile =
237
+ _happy_opfs.copy;
238
+ module.exports.copyFileSync =
239
+ _copy_sync;
187
240
  module.exports.fsWorkerNew =
188
241
  _fs_worker_new;
189
242
  module.exports.fsWorkerStart =
@@ -192,8 +245,12 @@ module.exports.createReadStream =
192
245
  _read_stream_create;
193
246
  module.exports.createWriteStream =
194
247
  _write_stream_create;
248
+ module.exports.chmod =
249
+ _chmod;
195
250
  module.exports.chmodSync =
196
251
  _chmod_sync;
252
+ module.exports.chown =
253
+ _chown;
197
254
  module.exports.chownSync =
198
255
  _chown_sync;
199
256
  module.exports.mkdtemp =
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "description":
5
5
  "Browser-compatible (OPFS) Node/Deno 'fs' module.",
6
6
  "version":
7
- "2.0.12",
7
+ "2.0.13",
8
8
  "homepage":
9
9
  "https://github.com/themartiancompany/opfs",
10
10
  "license":