@knockdata/objectexplorer 0.4.2 → 0.4.4

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.
@@ -1,2 +1,2 @@
1
1
  async function e(e={}){var t=e,n=!!globalThis.window,r=!!globalThis.WorkerGlobalScope,i=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;if(i){let{createRequire:e}=await import(`node:module`);var a=e(import.meta.url)}var o=`./this.program`,s=import.meta.url,c=``;function l(e){return t.locateFile?t.locateFile(e,c):c+e}var u,d;if(i){var f=a("node:fs");s.startsWith(`file:`)&&(c=a("node:path").dirname(a("node:url").fileURLToPath(s))+`/`),d=e=>(e=_(e)?new URL(e):e,f.readFileSync(e)),u=async(e,t=!0)=>(e=_(e)?new URL(e):e,f.readFileSync(e,t?void 0:`utf8`)),process.argv.length>1&&(o=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2)}else if(n||r){try{c=new URL(`.`,s).href}catch{}r&&(d=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),u=async e=>{var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var p=console.log.bind(console),m=console.error.bind(console),h,g=!1,_=e=>e.startsWith(`file://`);function v(){return Z.buffer}function y(){if(!C?.buffer?.resizable){var e=v();C=new Int8Array(e),H=new Int16Array(e),t.HEAPU8=M=new Uint8Array(e),t.HEAP32=L=new Int32Array(e),R=new Uint32Array(e),z=new BigInt64Array(e)}}function b(){var e=t.preRun;e&&(typeof e==`function`&&(e=[e]),w.push(...e)),le(w)}function ee(){!t.noFSInit&&!I.initialized&&I.init(),j.init(),$.__wasm_call_ctors(),I.ignorePermissions=!1}function te(){var e=t.postRun;e&&(typeof e==`function`&&(e=[e]),ue.push(...e)),le(ue)}function x(e){throw t.onAbort?.(e),e=`Aborted(${e})`,m(e),g=!0,e+=`. Build with -sASSERTIONS for more info.`,new WebAssembly.RuntimeError(e)}var S;function ne(){return t.locateFile?l(`sqlite.wasm`):`sqlite.wasm`}function re(e){if(d)return d(e);throw`both async and sync fetching of the wasm failed`}async function ie(e){if(!h)try{var t=await u(e);return new Uint8Array(t)}catch{}return re(e)}async function ae(e,t){try{var n=await ie(e);return await WebAssembly.instantiate(n,t)}catch(e){m(`failed to asynchronously prepare wasm: ${e}`),x(e)}}async function oe(e,t,n){if(!e&&!i)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){m(`wasm streaming compile failed: ${e}`),m(`falling back to ArrayBuffer instantiation`)}return ae(t,n)}function se(){return{env:Ut,wasi_snapshot_preview1:Ut}}async function ce(){function e(e){return $=e.exports,Ht($),y(),$}function n(t){return e(t.instance)}var r=se(),i=t.instantiateWasm;return i?new Promise(t=>{i(r,n=>t(e(n)))}):(S??=ne(),n(await oe(h,S,r)))}var C,le=e=>{for(;e.length>0;)e.shift()(t)},ue=[],w=[],T={isAbs:e=>e.charAt(0)===`/`,splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},normalize:e=>{var t=T.isAbs(e),n=e.slice(-1)===`/`;return e=T.normalizeArray(e.split(`/`).filter(e=>!!e),!t).join(`/`),!e&&!t&&(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},dirname:e=>{var t=T.splitPath(e),n=t[0],r=t[1];return!n&&!r?`.`:(r&&=r.slice(0,-1),n+r)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>T.normalize(e.join(`/`)),join2:(e,t)=>T.normalize(e+`/`+t)},de=()=>{if(i){var e=a("node:crypto");return t=>(e.randomFillSync(t),0)}return e=>(crypto.getRandomValues(e),0)},fe=e=>(fe=de())(e),E={resolve:(...e)=>{for(var t=``,n=!1,r=e.length-1;r>=-1&&!n;r--){var i=r>=0?e[r]:I.cwd();if(typeof i!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!i)return``;t=i+`/`+t,n=T.isAbs(i)}return t=T.normalizeArray(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},relative:(e,t)=>{e=E.resolve(e).slice(1),t=E.resolve(t).slice(1);function n(e){for(var t=0;t<e.length&&e[t]===``;t++);for(var n=e.length-1;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}for(var r=n(e.split(`/`)),i=n(t.split(`/`)),a=Math.min(r.length,i.length),o=a,s=0;s<a;s++)if(r[s]!==i[s]){o=s;break}for(var c=[],s=o;s<r.length;s++)c.push(`..`);return c=c.concat(i.slice(o)),c.join(`/`)}},pe=globalThis.TextDecoder&&new TextDecoder,me=(e,t,n,r)=>{var i=t+n;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t},D=(e,t=0,n,r)=>{var i=me(e,t,n,r);if(i-t>16&&e.buffer&&pe)return pe.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128)){a+=String.fromCharCode(o);continue}var s=e[t++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|s);continue}var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a},O=[],k=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},he=(e,t,n,r)=>{if(!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.codePointAt(o);if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63,o++}}return t[n]=0,n-i},A=(e,t,n)=>{var r=n>0?n:k(e)+1,i=Array(r),a=he(e,i,0,i.length);return t&&(i.length=a),i},ge=()=>{if(!O.length){var e=null;if(i){var t=256,n=Buffer.alloc(t),r=0,a=process.stdin.fd;try{r=f.readSync(a,n,0,t)}catch(e){if(e.toString().includes(`EOF`))r=0;else throw e}r>0&&(e=n.slice(0,r).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
2
- `));if(!e)return null;O=A(e,!0)}return O.shift()},j={ttys:[],init(){},shutdown(){},register(e,t){j.ttys[e]={input:[],output:[],ops:t},I.registerDevice(e,j.stream_ops)},stream_ops:{open(e){var t=j.ttys[e.node.rdev];if(!t)throw new I.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new I.ErrnoError(60);for(var a=0,o=0;o<r;o++){var s;try{s=e.tty.ops.get_char(e.tty)}catch{throw new I.ErrnoError(29)}if(s===void 0&&a===0)throw new I.ErrnoError(6);if(s==null)break;a++,t[n+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,n,r,i){if(!e.tty||!e.tty.ops.put_char)throw new I.ErrnoError(60);try{for(var a=0;a<r;a++)e.tty.ops.put_char(e.tty,t[n+a])}catch{throw new I.ErrnoError(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char(e){return ge()},put_char(e,t){t===null||t===10?(p(D(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(p(D(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,n){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(m(D(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(m(D(e.output)),e.output=[])}}},M,_e=(e,t)=>M.fill(0,e,e+t),ve=(e,t)=>Math.ceil(e/t)*t,ye=e=>{e=ve(e,65536);var t=Vt(65536,e);return t&&_e(t,e),t},N={ops_table:null,mount(e){return N.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if(I.isBlkdev(n)||I.isFIFO(n))throw new I.ErrnoError(63);N.ops_table||={dir:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,lookup:N.node_ops.lookup,mknod:N.node_ops.mknod,rename:N.node_ops.rename,unlink:N.node_ops.unlink,rmdir:N.node_ops.rmdir,readdir:N.node_ops.readdir,symlink:N.node_ops.symlink},stream:{llseek:N.stream_ops.llseek}},file:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:{llseek:N.stream_ops.llseek,read:N.stream_ops.read,write:N.stream_ops.write,mmap:N.stream_ops.mmap,msync:N.stream_ops.msync}},link:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,readlink:N.node_ops.readlink},stream:{}},chrdev:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:I.chrdev_stream_ops}};var i=I.createNode(e,t,n,r);return I.isDir(i.mode)?(i.node_ops=N.ops_table.dir.node,i.stream_ops=N.ops_table.dir.stream,i.contents={}):I.isFile(i.mode)?(i.node_ops=N.ops_table.file.node,i.stream_ops=N.ops_table.file.stream,i.usedBytes=0,i.contents=N.emptyFileContents??=new Uint8Array):I.isLink(i.mode)?(i.node_ops=N.ops_table.link.node,i.stream_ops=N.ops_table.link.stream):I.isChrdev(i.mode)&&(i.node_ops=N.ops_table.chrdev.node,i.stream_ops=N.ops_table.chrdev.stream),i.atime=i.mtime=i.ctime=Date.now(),e&&(e.contents[t]=i,e.atime=e.mtime=e.ctime=i.atime),i},getFileDataAsTypedArray(e){return e.contents.subarray(0,e.usedBytes)},expandFileStorage(e,t){var n=e.contents.length;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),n&&(t=Math.max(t,256));var r=N.getFileDataAsTypedArray(e);e.contents=new Uint8Array(t),e.contents.set(r)}},resizeFileStorage(e,t){if(e.usedBytes!=t){var n=e.contents;e.contents=new Uint8Array(t),e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=I.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=I.isDir(e.mode)?4096:I.isFile(e.mode)?e.usedBytes:I.isLink(e.mode)?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&N.resizeFileStorage(e,t.size)},lookup(e,t){throw N.doesNotExistError||(N.doesNotExistError=new I.ErrnoError(44),N.doesNotExistError.stack=`<generic error, no stack>`),N.doesNotExistError},mknod(e,t,n,r){return N.createNode(e,t,n,r)},rename(e,t,n){var r;try{r=I.lookupNode(t,n)}catch{}if(r){if(I.isDir(e.mode))for(var i in r.contents)throw new I.ErrnoError(55);I.hashRemoveNode(r)}delete e.parent.contents[e.name],t.contents[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){for(var n in I.lookupNode(e,t).contents)throw new I.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.contents)]},symlink(e,t,n){var r=N.createNode(e,t,41471,0);return r.link=n,r},readlink(e){if(!I.isLink(e.mode))throw new I.ErrnoError(28);return e.link}},stream_ops:{read(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,r);return t.set(a.subarray(i,i+o),n),o},write(e,t,n,r,i,a){if(t.buffer===C.buffer&&(a=!1),!r)return 0;var o=e.node;return o.mtime=o.ctime=Date.now(),a?(o.contents=t.subarray(n,n+r),o.usedBytes=r):o.usedBytes===0&&i===0?(o.contents=t.slice(n,n+r),o.usedBytes=r):(N.expandFileStorage(o,i+r),o.contents.set(t.subarray(n,n+r),i),o.usedBytes=Math.max(o.usedBytes,i+r)),r},llseek(e,t,n){var r=t;if(n===1?r+=e.position:n===2&&I.isFile(e.node.mode)&&(r+=e.node.usedBytes),r<0)throw new I.ErrnoError(28);return r},mmap(e,t,n,r,i){if(!I.isFile(e.node.mode))throw new I.ErrnoError(43);var a,o,s=e.node.contents;if(!(i&2)&&s.buffer===C.buffer)o=!1,a=s.byteOffset;else{if(o=!0,a=ye(t),!a)throw new I.ErrnoError(48);s&&((n>0||n+t<s.length)&&(s=s.subarray?s.subarray(n,n+t):Array.prototype.slice.call(s,n,n+t)),C.set(s,a))}return{ptr:a,allocated:o}},msync(e,t,n,r,i){return N.stream_ops.write(e,t,0,r,n,!1),0}}},be=e=>{if(typeof e!=`string`)return e;var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(t===void 0)throw Error(`Unknown file open mode: ${e}`);return t},xe=e=>(typeof e==`string`&&(e=A(e,!0)),e.subarray||(e=new Uint8Array(e)),e),P=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Se=async e=>{var t=await u(e);return new Uint8Array(t)},Ce=(...e)=>I.createDataFile(...e),we=e=>e,Te=null,Ee=async()=>Te,F=0,De=null,Oe=e=>{F--,t.monitorRunDependencies?.(F),F||De()},ke=e=>{F||(Te=new Promise(e=>De=e)),F++,t.monitorRunDependencies?.(F)},Ae=[],je=async(e,t)=>{typeof Browser<`u`&&Browser.init();for(var n of Ae)if(n.canHandle(t))return n.handle(e,t);return e},Me=async(e,t,n,r,i,a,o,s)=>{var c=t?E.resolve(T.join2(e,t)):e,l=we(`cp ${c}`);ke(l);try{var u=n;typeof n==`string`&&(u=await Se(n)),u=await je(u,c),s?.(),a||Ce(e,t,u,r,i,o)}finally{Oe(l)}},Ne=(e,t,n,r,i,a,o,s,c,l)=>{Me(e,t,n,r,i,s,c,l).then(a).catch(o)},I={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:`/`,initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name=`ErrnoError`;constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!=1}get isWrite(){return!!(this.flags&2097155)}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,n,r){e||=this,this.parent=e,this.mount=e.mount,this.id=I.nextInode++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return I.isDir(this.mode)}get isDevice(){return I.isChrdev(this.mode)}addListener(e,t=!1){var n={cb:e,exclusive:t},r=this.listeners??=new Set;return r.add(n),{listeners:r,entry:n}}notifyListeners(e){if(this.listeners){var t;for(var n of this.listeners)n.exclusive?(t||=[]).push(n):n.cb(e);if(t){var r=(this.exclTurn||0)%t.length;this.exclTurn=r+1,t[r].cb(e)}}}},lookupPath(e,t={}){if(!e)throw new I.ErrnoError(44);t.follow_mount??=!0,T.isAbs(e)||(e=I.cwd()+`/`+e);linkloop:for(var n=0;n<40;n++){for(var r=e.split(`/`).filter(e=>!!e),i=I.root,a=`/`,o=0;o<r.length;o++){var s=o===r.length-1;if(s&&t.parent)break;if(r[o]!==`.`){if(r[o]===`..`){if(a=T.dirname(a),I.isRoot(i)){e=a+`/`+r.slice(o+1).join(`/`),n--;continue linkloop}i=i.parent;continue}a=T.join2(a,r[o]);try{i=I.lookupNode(i,r[o])}catch(e){if(e?.errno===44&&s&&t.noent_okay)return{path:a};throw e}if(I.isMountpoint(i)&&(!s||t.follow_mount)&&(i=i.mounted.root),I.isLink(i.mode)&&(!s||t.follow)){if(!i.node_ops.readlink)throw new I.ErrnoError(52);var c=i.node_ops.readlink(i);T.isAbs(c)||(c=T.dirname(a)+`/`+c),e=c+`/`+r.slice(o+1).join(`/`);continue linkloop}}}return{path:a,node:i}}throw new I.ErrnoError(32)},getPath(e){for(var t;;){if(I.isRoot(e)){var n=e.mount.mountpoint;return t?n[n.length-1]===`/`?n+t:`${n}/${t}`:n}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%I.nameTable.length},hashAddNode(e){var t=I.hashName(e.parent.id,e.name);e.name_next=I.nameTable[t],I.nameTable[t]=e},hashRemoveNode(e){var t=I.hashName(e.parent.id,e.name);if(I.nameTable[t]===e)I.nameTable[t]=e.name_next;else for(var n=I.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode(e,t){var n=I.mayLookup(e);if(n)throw new I.ErrnoError(n);for(var r=I.hashName(e.id,t),i=I.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return I.lookup(e,t)},createNode(e,t,n,r){var i=new I.FSNode(e,t,n,r);return I.hashAddNode(i),i},destroyNode(e){I.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)==32768},isDir(e){return(e&61440)==16384},isLink(e){return(e&61440)==40960},isChrdev(e){return(e&61440)==8192},isBlkdev(e){return(e&61440)==24576},isFIFO(e){return(e&61440)==4096},isSocket(e){return(e&49152)==49152},flagsToPermissionString(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t},nodePermissions(e,t){return I.ignorePermissions?0:t.includes(`r`)&&!(e.mode&292)||t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73)?2:0},mayLookup(e){return I.isDir(e.mode)?I.nodePermissions(e,`x`)||(e.node_ops.lookup?0:2):54},mayCreate(e,t){if(!I.isDir(e.mode))return 54;try{return I.lookupNode(e,t),20}catch{}return I.nodePermissions(e,`wx`)},mayDelete(e,t,n){var r;try{r=I.lookupNode(e,t)}catch(e){return e.errno}var i=I.nodePermissions(e,`wx`);if(i)return i;if(n){if(!I.isDir(r.mode))return 54;if(I.isRoot(r)||I.getPath(r)===I.cwd())return 10}else if(I.isDir(r.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(I.isLink(e.mode))return 32;var n=I.flagsToPermissionString(t);return I.isDir(e.mode)&&(n!==`r`||t&576)?31:I.nodePermissions(e,n)},checkOpExists(e,t){if(!e)throw new I.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=I.MAX_OPEN_FDS;e++)if(!I.streams[e])return e;throw new I.ErrnoError(33)},getStreamChecked(e){var t=I.getStream(e);if(!t)throw new I.ErrnoError(8);return t},getStream:e=>I.streams[e],createStream(e,t=-1){return e=Object.assign(new I.FSStream,e),t==-1&&(t=I.nextfd()),e.fd=t,I.streams[t]=e,e},closeStream(e){I.streams[e]=null},dupStream(e,t=-1){var n=I.createStream(e,t);return n.stream_ops?.dup?.(n),n},doSetAttr(e,t,n){var r=e?.stream_ops.setattr,i=r?e:t;r??=t.node_ops.setattr,I.checkOpExists(r,63);try{r(i,n)}catch(e){throw e instanceof RangeError?new I.ErrnoError(22):e}},chrdev_stream_ops:{open(e){e.stream_ops=I.getDevice(e.node.rdev).stream_ops,e.stream_ops.open?.(e)},llseek(){throw new I.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){I.devices[e]={stream_ops:t}},getDevice:e=>I.devices[e],getMounts(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push(...r.mounts)}return t},syncfs(e,t){typeof e==`function`&&(t=e,e=!1),I.syncFSRequests++,I.syncFSRequests>1&&m(`warning: ${I.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var n=I.getMounts(I.root.mount),r=0;function i(e){return I.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}for(var o of n)o.type.syncfs?o.type.syncfs(o,e,a):a(null)},mount(e,t,n){var r=n===`/`,i=!n,a;if(r&&I.root)throw new I.ErrnoError(10);if(!r&&!i){var o=I.lookupPath(n,{follow_mount:!1});if(n=o.path,a=o.node,I.isMountpoint(a))throw new I.ErrnoError(10);if(!I.isDir(a.mode))throw new I.ErrnoError(54)}var s={type:e,opts:t,mountpoint:n,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,r?I.root=c:a&&(a.mounted=s,a.mount&&a.mount.mounts.push(s)),c},unmount(e){var t=I.lookupPath(e,{follow_mount:!1});if(!I.isMountpoint(t.node))throw new I.ErrnoError(28);var n=t.node,r=n.mounted,i=I.getMounts(r);for(var[a,o]of Object.entries(I.nameTable))for(;o;){var s=o.name_next;i.includes(o.mount)&&I.destroyNode(o),o=s}n.mounted=null;var c=n.mount.mounts.indexOf(r);n.mount.mounts.splice(c,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,n){var r=I.lookupPath(e,{parent:!0}).node,i=T.basename(e);if(!i)throw new I.ErrnoError(28);if(i===`.`||i===`..`)throw new I.ErrnoError(20);var a=I.mayCreate(r,i);if(a)throw new I.ErrnoError(a);if(!r.node_ops.mknod)throw new I.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},statfs(e){return I.statfsNode(I.lookupPath(e,{follow:!0}).node)},statfsStream(e){return I.statfsNode(e.node)},statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:I.nextInode,ffree:I.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create(e,t=438){return t&=4095,t|=32768,I.mknod(e,t,0)},mkdir(e,t=511){return t&=1023,t|=16384,I.mknod(e,t,0)},mkdirTree(e,t){var n=e.split(`/`),r=``;for(var i of n)if(i){(r||T.isAbs(e))&&(r+=`/`),r+=i;try{I.mkdir(r,t)}catch(e){if(e.errno!=20)throw e}}},mkdev(e,t,n){return n===void 0&&(n=t,t=438),t|=8192,I.mknod(e,t,n)},symlink(e,t){if(!E.resolve(e))throw new I.ErrnoError(44);var n=I.lookupPath(t,{parent:!0}).node;if(!n)throw new I.ErrnoError(44);var r=T.basename(t),i=I.mayCreate(n,r);if(i)throw new I.ErrnoError(i);if(!n.node_ops.symlink)throw new I.ErrnoError(63);return n.node_ops.symlink(n,r,e)},link(e,t,n){var r=I.lookupPath(t,{parent:!0}).node;if(!r)throw new I.ErrnoError(44);var i=T.basename(t),a=I.mayCreate(r,i);if(a)throw new I.ErrnoError(a);if(!r.node_ops.link)throw new I.ErrnoError(34);return r.node_ops.link(r,i,e,n)},rename(e,t){var n=T.dirname(e),r=T.dirname(t),i=T.basename(e),a=T.basename(t),o=I.lookupPath(e,{parent:!0}),s=o.node,c;if(o=I.lookupPath(t,{parent:!0}),c=o.node,!s||!c)throw new I.ErrnoError(44);if(s.mount!==c.mount)throw new I.ErrnoError(75);var l=I.lookupNode(s,i),u=E.relative(e,r);if(u.charAt(0)!==`.`)throw new I.ErrnoError(28);if(u=E.relative(t,n),u.charAt(0)!==`.`)throw new I.ErrnoError(55);var d;try{d=I.lookupNode(c,a)}catch{}if(l!==d){var f=I.isDir(l.mode),p=I.mayDelete(s,i,f);if(p||(p=d?I.mayDelete(c,a,f):I.mayCreate(c,a),p))throw new I.ErrnoError(p);if(!s.node_ops.rename)throw new I.ErrnoError(63);if(I.isMountpoint(l)||d&&I.isMountpoint(d))throw new I.ErrnoError(10);if(c!==s&&(p=I.nodePermissions(s,`w`),p))throw new I.ErrnoError(p);I.hashRemoveNode(l);try{s.node_ops.rename(l,c,a),l.parent=c}catch(e){throw e}finally{I.hashAddNode(l)}}},rmdir(e){var t=I.lookupPath(e,{parent:!0}).node,n=T.basename(e),r=I.lookupNode(t,n),i=I.mayDelete(t,n,!0);if(i)throw new I.ErrnoError(i);if(!t.node_ops.rmdir)throw new I.ErrnoError(63);if(I.isMountpoint(r))throw new I.ErrnoError(10);t.node_ops.rmdir(t,n),I.destroyNode(r)},readdir(e){var t=I.lookupPath(e,{follow:!0}).node;return I.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=I.lookupPath(e,{parent:!0}).node;if(!t)throw new I.ErrnoError(44);var n=T.basename(e),r=I.lookupNode(t,n),i=I.mayDelete(t,n,!1);if(i)throw new I.ErrnoError(i);if(!t.node_ops.unlink)throw new I.ErrnoError(63);if(I.isMountpoint(r))throw new I.ErrnoError(10);t.node_ops.unlink(t,n),I.destroyNode(r)},readlink(e){var t=I.lookupPath(e).node;if(!t)throw new I.ErrnoError(44);if(!t.node_ops.readlink)throw new I.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var n=I.lookupPath(e,{follow:!t}).node;return I.checkOpExists(n.node_ops.getattr,63)(n)},fstat(e){var t=I.getStreamChecked(e),n=t.node,r=t.stream_ops.getattr,i=r?t:n;return r??=n.node_ops.getattr,I.checkOpExists(r,63),r(i)},lstat(e){return I.stat(e,!0)},doChmod(e,t,n,r){I.doSetAttr(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),dontFollow:r})},chmod(e,t,n){var r=typeof e==`string`?I.lookupPath(e,{follow:!n}).node:e;I.doChmod(null,r,t,n)},lchmod(e,t){I.chmod(e,t,!0)},fchmod(e,t){var n=I.getStreamChecked(e);I.doChmod(n,n.node,t,!1)},doChown(e,t,n){I.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:n})},chown(e,t,n,r){var i=typeof e==`string`?I.lookupPath(e,{follow:!r}).node:e;I.doChown(null,i,r)},lchown(e,t,n){I.chown(e,t,n,!0)},fchown(e,t,n){var r=I.getStreamChecked(e);I.doChown(r,r.node,!1)},doTruncate(e,t,n){if(I.isDir(t.mode))throw new I.ErrnoError(31);if(!I.isFile(t.mode))throw new I.ErrnoError(28);var r=I.nodePermissions(t,`w`);if(r)throw new I.ErrnoError(r);I.doSetAttr(e,t,{size:n,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new I.ErrnoError(28);var n=typeof e==`string`?I.lookupPath(e,{follow:!0}).node:e;I.doTruncate(null,n,t)},ftruncate(e,t){var n=I.getStreamChecked(e);if(t<0||!(n.flags&2097155))throw new I.ErrnoError(28);I.doTruncate(n,n.node,t)},utime(e,t,n,r){var i=I.lookupPath(e,{follow:!r});I.doSetAttr(null,i.node,{atime:t,mtime:n,dontFollow:r})},open(e,t,n=438){if(e===``)throw new I.ErrnoError(44);t=be(t),n=t&64?n&4095|32768:0;var r,i;if(typeof e==`object`)r=e;else{i=e.endsWith(`/`);var a=I.lookupPath(e,{follow:!(t&131072),noent_okay:!0});r=a.node,e=a.path}var o=!1;if(t&64)if(r){if(t&128)throw new I.ErrnoError(20)}else if(i)throw new I.ErrnoError(31);else r=I.mknod(e,n|511,0),o=!0;if(!r)throw new I.ErrnoError(44);if(I.isChrdev(r.mode)&&(t&=-513),t&65536&&!I.isDir(r.mode))throw new I.ErrnoError(54);if(!o){var s=I.mayOpen(r,t);if(s)throw new I.ErrnoError(s)}t&512&&!o&&I.truncate(r,0),t&=-131713;var c=I.createStream({node:r,path:I.getPath(r),flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),o&&I.chmod(r,n&511),c},close(e){if(I.isClosed(e))throw new I.ErrnoError(8);e.getdents&&=null,e.node?.notifyListeners(32);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{I.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,n){if(I.isClosed(e))throw new I.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new I.ErrnoError(70);if(n!=0&&n!=1&&n!=2)throw new I.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read(e,t,n,r,i){if(r<0||i<0)throw new I.ErrnoError(28);if(I.isClosed(e)||(e.flags&2097155)==1)throw new I.ErrnoError(8);if(I.isDir(e.node.mode))throw new I.ErrnoError(31);if(!e.stream_ops.read)throw new I.ErrnoError(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new I.ErrnoError(70);var o=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=o),o},write(e,t,n,r,i,a){if(r<0||i<0)throw new I.ErrnoError(28);if(I.isClosed(e)||!(e.flags&2097155))throw new I.ErrnoError(8);if(I.isDir(e.node.mode))throw new I.ErrnoError(31);if(!e.stream_ops.write)throw new I.ErrnoError(28);e.seekable&&e.flags&1024&&I.llseek(e,0,2);var o=i!==void 0;if(!o)i=e.position;else if(!e.seekable)throw new I.ErrnoError(70);var s=e.stream_ops.write(e,t,n,r,i,a);return o||(e.position+=s),s},mmap(e,t,n,r,i){if(r&2&&!(i&2)&&(e.flags&2097155)!=2||(e.flags&2097155)==1)throw new I.ErrnoError(2);if(!e.stream_ops.mmap)throw new I.ErrnoError(43);if(!t)throw new I.ErrnoError(28);return e.stream_ops.mmap(e,t,n,r,i)},msync(e,t,n,r,i){return e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},ioctl(e,t,n){if(!e.stream_ops.ioctl)throw new I.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile(e,t={}){t.flags=t.flags??0,t.encoding=t.encoding??`binary`,t.encoding!==`utf8`&&t.encoding!==`binary`&&x(`Invalid encoding type "${t.encoding}"`);var n=I.open(e,t.flags),r=I.stat(e).size,i=new Uint8Array(r);return I.read(n,i,0,r,0),t.encoding===`utf8`&&(i=D(i)),I.close(n),i},writeFile(e,t,n={}){n.flags=n.flags??577;var r=I.open(e,n.flags,n.mode);t=xe(t),I.write(r,t,0,t.byteLength,void 0,n.canOwn),I.close(r)},cwd:()=>I.currentPath,chdir(e){var t=I.lookupPath(e,{follow:!0});if(t.node===null)throw new I.ErrnoError(44);if(!I.isDir(t.node.mode))throw new I.ErrnoError(54);var n=I.nodePermissions(t.node,`x`);if(n)throw new I.ErrnoError(n);I.currentPath=t.path},createDefaultDirectories(){I.mkdir(`/tmp`),I.mkdir(`/home`),I.mkdir(`/home/web_user`)},createDefaultDevices(){I.mkdir(`/dev`),I.registerDevice(I.makedev(1,3),{read:()=>0,write:(e,t,n,r,i)=>r,llseek:()=>0}),I.mkdev(`/dev/null`,I.makedev(1,3)),j.register(I.makedev(5,0),j.default_tty_ops),j.register(I.makedev(6,0),j.default_tty1_ops),I.mkdev(`/dev/tty`,I.makedev(5,0)),I.mkdev(`/dev/tty1`,I.makedev(6,0));var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(fe(e),t=e.byteLength),e[--t]);I.createDevice(`/dev`,`random`,n),I.createDevice(`/dev`,`urandom`,n),I.mkdir(`/dev/shm`),I.mkdir(`/dev/shm/tmp`)},createSpecialDirectories(){I.mkdir(`/proc`);var e=I.mkdir(`/proc/self`);I.mkdir(`/proc/self/fd`),I.mount({mount(){var t=I.createNode(e,`fd`,16895,73);return t.stream_ops={llseek:N.stream_ops.llseek},t.node_ops={lookup(e,t){var n=+t,r=I.getStreamChecked(n),i={parent:null,mount:{mountpoint:`fake`},node_ops:{readlink:()=>r.path},id:n+1};return i.parent=i,i},readdir(){return Array.from(I.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())}},t}},{},`/proc/self/fd`)},createStandardStreams(e,t,n){e?I.createDevice(`/dev`,`stdin`,e):I.symlink(`/dev/tty`,`/dev/stdin`),t?I.createDevice(`/dev`,`stdout`,null,t):I.symlink(`/dev/tty`,`/dev/stdout`),n?I.createDevice(`/dev`,`stderr`,null,n):I.symlink(`/dev/tty1`,`/dev/stderr`),I.open(`/dev/stdin`,0),I.open(`/dev/stdout`,1),I.open(`/dev/stderr`,1)},staticInit(){I.nameTable=Array(4096),I.mount(N,{},`/`),I.createDefaultDirectories(),I.createDefaultDevices(),I.createSpecialDirectories(),I.filesystems={MEMFS:N}},init(e,n,r){I.initialized=!0,e??=t.stdin,n??=t.stdout,r??=t.stderr,I.createStandardStreams(e,n,r)},quit(){I.initialized=!1;for(var e of I.streams)e&&I.close(e)},findObject(e,t){var n=I.analyzePath(e,t);return n.exists?n.object:null},analyzePath(e,t){try{var n=I.lookupPath(e,{follow:!t});e=n.path}catch{}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=I.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=T.basename(e),n=I.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot=n.path===`/`}catch(e){r.error=e.errno}return r},createPath(e,t,n,r){e=typeof e==`string`?e:I.getPath(e);for(var i=t.split(`/`).reverse();i.length;){var a=i.pop();if(a){var o=T.join2(e,a);try{I.mkdir(o)}catch(e){if(e.errno!=20)throw e}e=o}}return o},createFile(e,t,n,r,i){var a=T.join2(typeof e==`string`?e:I.getPath(e),t),o=P(r,i);return I.create(a,o)},createDataFile(e,t,n,r,i,a){var o=t;e&&(e=typeof e==`string`?e:I.getPath(e),o=t?T.join2(e,t):e);var s=P(r,i),c=I.create(o,s);if(n){n=xe(n),I.chmod(c,s|146);var l=I.open(c,577);I.write(l,n,0,n.length,0,a),I.close(l),I.chmod(c,s)}},createDevice(e,t,n,r){var i=T.join2(typeof e==`string`?e:I.getPath(e),t),a=P(!!n,!!r);I.createDevice.major??=64;var o=I.makedev(I.createDevice.major++,0);return I.registerDevice(o,{open(e){e.seekable=!1},close(e){r?.buffer?.length&&r(10)},read(e,t,r,i,a){for(var o=0,s=0;s<i;s++){var c;try{c=n()}catch{throw new I.ErrnoError(29)}if(c===void 0&&o===0)throw new I.ErrnoError(6);if(c==null)break;o++,t[r+s]=c}return o&&(e.node.atime=Date.now()),o},write(e,t,n,i,a){for(var o=0;o<i;o++)try{r(t[n+o])}catch{throw new I.ErrnoError(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),o}}),I.mkdev(i,a,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)x(`Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.`);else try{e.contents=d(e.url)}catch{throw new I.ErrnoError(29)}},createLazyFile(e,t,n,i,a){class o{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open(`HEAD`,n,!1),e.send(null),e.status>=200&&e.status<300||e.status===304||x(`Couldn't load ${n}. Status: ${e.status}`);var t=Number(e.getResponseHeader(`Content-length`)),r,i=(r=e.getResponseHeader(`Accept-Ranges`))&&r===`bytes`,a=(r=e.getResponseHeader(`Content-Encoding`))&&r===`gzip`,o=1048576;i||(o=t);var s=(e,r)=>{e>r&&x(`invalid range (${e}, ${r}) or no bytes requested!`),r>t-1&&x(`only ${t} bytes available! programmer error!`);var i=new XMLHttpRequest;return i.open(`GET`,n,!1),t!==o&&i.setRequestHeader(`Range`,`bytes=${e}-${r}`),i.responseType=`arraybuffer`,i.overrideMimeType&&i.overrideMimeType(`text/plain; charset=x-user-defined`),i.send(null),i.status>=200&&i.status<300||i.status===304||x(`Couldn't load ${n}. Status: ${i.status}`),i.response===void 0?A(i.responseText??``,!0):new Uint8Array(i.response||[])},c=this;c.setDataGetter(e=>{var n=e*o,r=(e+1)*o-1;return r=Math.min(r,t-1),c.chunks[e]===void 0&&(c.chunks[e]=s(n,r)),c.chunks[e]===void 0&&x(`doXHR failed!`),c.chunks[e]}),(a||!t)&&(o=t=1,t=this.getter(0).length,o=t,p(`LazyFiles on gzip forces download of the whole file when length is accessed`)),this._length=t,this._chunkSize=o,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){r||x(`Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc`);var s={isDevice:!1,contents:new o}}else var s={isDevice:!1,url:n};var c=I.createFile(e,t,s,i,a);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};for(let[e,t]of Object.entries(c.stream_ops))l[e]=(...e)=>(I.forceLoadFile(c),t(...e));function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var o=Math.min(a.length-i,r);if(a.slice)for(var s=0;s<o;s++)t[n+s]=a[i+s];else for(var s=0;s<o;s++)t[n+s]=a.get(i+s);return o}return l.read=(e,t,n,r,i)=>(I.forceLoadFile(c),u(e,t,n,r,i)),l.mmap=(e,t,n,r,i)=>{I.forceLoadFile(c);var a=ye(t);if(!a)throw new I.ErrnoError(48);return u(e,C,a,t,n),{ptr:a,allocated:!0}},c.stream_ops=l,c}},Pe=(e,t,n)=>e?D(M,e,t,n):``,L,R,z,B={currentUmask:18,calculateAt(e,t,n){if(T.isAbs(t))return t;var r=e===-100?I.cwd():B.getStreamFromFD(e).path;if(t.length==0){if(!n)throw new I.ErrnoError(44);return r}return r+`/`+t},writeStat(e,t){R[e>>2]=t.dev,R[e+4>>2]=t.mode,R[e+8>>2]=t.nlink,R[e+12>>2]=t.uid,R[e+16>>2]=t.gid,R[e+20>>2]=t.rdev,z[e+24>>3]=BigInt(t.size),L[e+32>>2]=4096,L[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return z[e+40>>3]=BigInt(Math.floor(n/1e3)),R[e+48>>2]=n%1e3*1e3*1e3,z[e+56>>3]=BigInt(Math.floor(r/1e3)),R[e+64>>2]=r%1e3*1e3*1e3,z[e+72>>3]=BigInt(Math.floor(i/1e3)),R[e+80>>2]=i%1e3*1e3*1e3,z[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){R[e+4>>2]=t.bsize,R[e+60>>2]=t.bsize,z[e+8>>3]=BigInt(t.blocks),z[e+16>>3]=BigInt(t.bfree),z[e+24>>3]=BigInt(t.bavail),z[e+32>>3]=BigInt(t.files),z[e+40>>3]=BigInt(t.ffree),R[e+48>>2]=t.fsid,R[e+64>>2]=t.flags,R[e+56>>2]=t.namelen},doMsync(e,t,n,r,i){if(!I.isFile(t.node.mode))throw new I.ErrnoError(43);if(r&2)return 0;var a=M.subarray(e,e+n);I.msync(t,a,i,n,r)},getStreamFromFD(e){return I.getStreamChecked(e)},varargs:void 0,getStr(e){return Pe(e)}};function Fe(e,t){try{return e=B.getStr(e),I.chmod(e,t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ie(e,t,n,r){try{if(t=B.getStr(t),t=B.calculateAt(e,t),n&-8)return-28;var i=I.lookupPath(t,{follow:!0}).node;if(!i)return-44;var a=``;return n&4&&(a+=`r`),n&2&&(a+=`w`),n&1&&(a+=`x`),a&&I.nodePermissions(i,a)?-2:0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Le(e,t){try{return I.fchmod(e,t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Re(e,t,n){try{return I.fchown(e,t,n),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var V=()=>{var e=L[B.varargs>>2];return B.varargs+=4,e},ze=V,H;function Be(e,t,n){B.varargs=n;try{var r=B.getStreamFromFD(e);switch(t){case 0:var i=V();if(i<0)return-28;for(;I.streams[i];)i++;return I.dupStream(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:var i=V(),a=289792;return r.flags=r.flags&~a|i&a,0;case 12:var i=ze(),o=0;return H[i+o>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ve(e,t){try{return B.writeStat(t,I.fstat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var He=9007199254740992,Ue=-9007199254740992,U=e=>e<Ue||e>He?NaN:Number(e);function We(e,t){t=U(t);try{return isNaN(t)?-22:(I.ftruncate(e,t),0)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var W=(e,t,n)=>he(e,M,t,n);function Ge(e,t){try{if(t===0)return-28;var n=I.cwd(),r=k(n)+1;return t<r?-68:(W(n,e,t),r)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var Ke=()=>0;function qe(e,t){try{return e=B.getStr(e),B.writeStat(t,I.lstat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Je(e,t,n){try{return t=B.getStr(t),t=B.calculateAt(e,t),n&=~B.currentUmask,I.mkdir(t,n,0),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ye(e,t,n,r){try{t=B.getStr(t);var i=r&256,a=r&4096;return r&=-6401,t=B.calculateAt(e,t,a),B.writeStat(n,i?I.lstat(t):I.stat(t))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Xe(e,t,n,r){B.varargs=r;try{t=B.getStr(t),t=B.calculateAt(e,t);var i=r?V():0;return n&64&&(i&=~B.currentUmask),I.open(t,n,i).fd}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ze(e,t,n,r){try{if(t=B.getStr(t),t=B.calculateAt(e,t),r<=0)return-28;var i=I.readlink(t),a=Math.min(r,k(i)),o=C[n+a];return W(i,n,r+1),C[n+a]=o,a}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Qe(e){try{return e=B.getStr(e),I.rmdir(e),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function $e(e,t){try{return e=B.getStr(e),B.writeStat(t,I.stat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function et(e,t,n){try{if(t=B.getStr(t),t=B.calculateAt(e,t),!n)I.unlink(t);else if(n===512)I.rmdir(t);else return-28;return 0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var tt=e=>R[e>>2]+L[e+4>>2]*4294967296;function nt(e,t,n,r){try{var i=r&256;t=B.getStr(t),t=B.calculateAt(e,t,!0);var a=Date.now(),o,s;if(!n)o=a,s=a;else{var c=tt(n),l=L[n+8>>2];o=l==1073741823?a:l==1073741822?null:c*1e3+l/1e6,n+=16,c=tt(n),l=L[n+8>>2],s=l==1073741823?a:l==1073741822?null:c*1e3+l/1e6}return(s??o)!==null&&I.utime(t,o,s,i),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var rt=e=>e%4==0&&(e%100!=0||e%400==0),it=[0,31,60,91,121,152,182,213,244,274,305,335],at=[0,31,59,90,120,151,181,212,243,273,304,334],ot=e=>(rt(e.getFullYear())?it:at)[e.getMonth()]+e.getDate()-1;function st(e,t){e=U(e);var n=new Date(e*1e3);if(isNaN(n.getTime()))return 1;L[t>>2]=n.getSeconds(),L[t+4>>2]=n.getMinutes(),L[t+8>>2]=n.getHours(),L[t+12>>2]=n.getDate(),L[t+16>>2]=n.getMonth(),L[t+20>>2]=n.getFullYear()-1900,L[t+24>>2]=n.getDay();var r=ot(n)|0;L[t+28>>2]=r,L[t+36>>2]=-(n.getTimezoneOffset()*60);var i=new Date(n.getFullYear(),0,1),a=new Date(n.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),s=(a!=o&&n.getTimezoneOffset()==Math.min(o,a))|0;return L[t+32>>2]=s,0}function ct(e,t,n,r,i,a,o){i=U(i);try{var s=B.getStreamFromFD(r),c=I.mmap(s,e,i,t,n),l=c.ptr;return L[a>>2]=c.allocated,R[o>>2]=l,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function lt(e,t,n,r,i,a){a=U(a);try{var o=B.getStreamFromFD(i);n&2&&B.doMsync(e,o,t,r,a)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var ut=(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1),s=a.getTimezoneOffset(),c=o.getTimezoneOffset(),l=Math.max(s,c);R[e>>2]=l*60,L[t>>2]=Number(s!=c);var u=e=>{var t=e>=0?`-`:`+`,n=Math.abs(e);return`UTC${t}${String(Math.floor(n/60)).padStart(2,`0`)}${String(n%60).padStart(2,`0`)}`},d=u(s),f=u(c);c<s?(W(d,n,17),W(f,r,17)):(W(d,r,17),W(f,n,17))},dt=()=>performance.now(),ft=()=>Date.now(),pt=1,mt=e=>e>=0&&e<=3;function ht(e,t,n){if(t=U(t),!mt(e))return 28;var r;if(e===0)r=ft();else if(pt)r=dt();else return 52;var i=Math.round(r*1e3*1e3);return z[n>>3]=BigInt(i),0}var gt=()=>2147483648,_t=()=>gt(),vt=e=>{var t=(e-Z.buffer.byteLength+65535)/65536|0;try{return Z.grow(t),y(),1}catch{}},yt=e=>{var t=M.length;e>>>=0;var n=gt();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),vt(Math.min(n,ve(Math.max(e,i),65536))))return!0}return!1},G={},bt=()=>o,K=()=>{if(!K.strings){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:bt()};for(var t in G)G[t]===void 0?delete e[t]:e[t]=G[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);K.strings=n}return K.strings},xt=(e,t)=>{var n=0,r=0;for(var i of K()){var a=t+n;R[e+r>>2]=a,n+=W(i,a,1/0)+1,r+=4}return 0},St=(e,t)=>{var n=K();R[e>>2]=n.length;var r=0;for(var i of n)r+=k(i)+1;return R[t>>2]=r,0};function Ct(e){try{var t=B.getStreamFromFD(e);return I.close(t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function wt(e,t){try{var n=0,r=0,i=0,a=B.getStreamFromFD(e),o=a.tty?2:I.isDir(a.mode)?3:I.isLink(a.mode)?7:4;return C[t]=o,H[t+2>>1]=i,z[t+8>>3]=BigInt(n),z[t+16>>3]=BigInt(r),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var Tt=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=R[t>>2],s=R[t+4>>2];t+=8;try{var c=I.read(e,C,o,s,r)}catch(e){if(i>0&&e instanceof I.ErrnoError&&(e.errno==6||e.errno==6))break;throw e}if(c<0)return-1;if(i+=c,c<s)break;r!==void 0&&(r+=c)}return i};function Et(e,t,n,r){try{var i=Tt(B.getStreamFromFD(e),t,n);return R[r>>2]=i,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Dt(e,t,n,r){t=U(t);try{if(isNaN(t))return 22;var i=B.getStreamFromFD(e);return I.llseek(i,t,n),z[r>>3]=BigInt(i.position),i.getdents&&t===0&&n===0&&(i.getdents=null),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Ot(e){try{var t=B.getStreamFromFD(e);return t.stream_ops?.fsync?.(t)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var kt=(e,t,n,r)=>{if(n==1)return I.write(e,C,R[t>>2],R[t+4>>2],r);for(var i=0,a=0,o=t;a<n;a++,o+=8)i+=R[o+4>>2];for(var s=new Uint8Array(i),c=0,a=0;a<n;a++,t+=8){var l=R[t>>2],u=R[t+4>>2];s.set(M.subarray(l,l+u),c),c+=u}return I.write(e,s,0,i,r)};function At(e,t,n,r){try{var i=kt(B.getStreamFromFD(e),t,n);return R[r>>2]=i,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var q=[],jt=e=>{var t=q[e];return t||(q[e]=t=Q.get(e)),t},Mt=(e,t)=>{if(J)for(var n=e;n<e+t;n++){var r=jt(n);r&&J.set(r,n)}},J,Nt=e=>(J||(J=new WeakMap,Mt(0,Q.length)),J.get(e)||0),Pt=[],Ft=()=>Pt.length?Pt.pop():Q.grow(1),It=(e,t)=>{Q.set(e,t),q[e]=Q.get(e)},Y=e=>{let t=e.length;return[t%128|128,t>>7,...e]},Lt={i:127,p:127,j:126,f:125,d:124,e:111},Rt=e=>Y(Array.from(e,e=>Lt[e])),zt=(e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...Y([1,96,...Rt(t.slice(1)),...Rt(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},Bt=(e,t)=>{var n=Nt(e);if(n)return n;var r=Ft();try{It(r,e)}catch(n){if(!(n instanceof TypeError))throw n;It(r,zt(e,t))}return J.set(e,r),r};I.createPreloadedFile=Ne,I.preloadFile=Me,I.staticInit(),t.noExitRuntime&&t.noExitRuntime,t.print&&(p=t.print),t.printErr&&(m=t.printErr),t.arguments&&t.arguments,t.thisProgram&&(o=t.thisProgram);var X=t.preInit;if(X)for(typeof X==`function`&&(t.preInit=X=[X]);X.length>0;)X.shift()();t.addFunction=Bt,t.UTF8ToString=Pe,t.stringToUTF8=W,t.lengthBytesUTF8=k;var Vt,Z,Q;function Ht(e){t._sqlite3_initialize=e.sqlite3_initialize,t._sqlite3_vfs_register=e.sqlite3_vfs_register,t._sqlite3_step=e.sqlite3_step,t._sqlite3_column_int64=e.sqlite3_column_int64,t._sqlite3_exec=e.sqlite3_exec,t._sqlite3_finalize=e.sqlite3_finalize,t._sqlite3_prepare_v2=e.sqlite3_prepare_v2,t._sqlite3_column_text=e.sqlite3_column_text,t._sqlite3_errmsg=e.sqlite3_errmsg,t._sqlite3_column_count=e.sqlite3_column_count,t._sqlite3_column_blob=e.sqlite3_column_blob,t._sqlite3_column_bytes=e.sqlite3_column_bytes,t._sqlite3_column_double=e.sqlite3_column_double,t._sqlite3_column_type=e.sqlite3_column_type,t._sqlite3_column_name=e.sqlite3_column_name,t._sqlite3_bind_blob=e.sqlite3_bind_blob,t._sqlite3_bind_double=e.sqlite3_bind_double,t._sqlite3_bind_int=e.sqlite3_bind_int,t._sqlite3_bind_int64=e.sqlite3_bind_int64,t._sqlite3_bind_null=e.sqlite3_bind_null,t._sqlite3_bind_text=e.sqlite3_bind_text,t._sqlite3_last_insert_rowid=e.sqlite3_last_insert_rowid,t._sqlite3_changes=e.sqlite3_changes,t._sqlite3_close=e.sqlite3_close,t._sqlite3_open_v2=e.sqlite3_open_v2,t._malloc=e.malloc,t._free=e.free,Vt=e.emscripten_builtin_memalign,e._emscripten_stack_restore,e._emscripten_stack_alloc,e.emscripten_stack_get_current,Z=e.memory,Q=e.__indirect_function_table}var Ut={__syscall_chmod:Fe,__syscall_faccessat:Ie,__syscall_fchmod:Le,__syscall_fchown32:Re,__syscall_fcntl64:Be,__syscall_fstat64:Ve,__syscall_ftruncate64:We,__syscall_getcwd:Ge,__syscall_geteuid32:Ke,__syscall_lstat64:qe,__syscall_mkdirat:Je,__syscall_newfstatat:Ye,__syscall_openat:Xe,__syscall_readlinkat:Ze,__syscall_rmdir:Qe,__syscall_stat64:$e,__syscall_unlinkat:et,__syscall_utimensat:nt,_localtime_js:st,_mmap_js:ct,_munmap_js:lt,_tzset_js:ut,clock_time_get:ht,emscripten_date_now:ft,emscripten_get_heap_max:_t,emscripten_get_now:dt,emscripten_resize_heap:yt,environ_get:xt,environ_sizes_get:St,fd_close:Ct,fd_fdstat_get:wt,fd_read:Et,fd_seek:Dt,fd_sync:Ot,fd_write:At};async function Wt(){b(),F&&await Ee();var e=t.setStatus;e&&(e(`Running...`),await new Promise(e=>setTimeout(e,1)),setTimeout(e,1,``)),!g&&(ee(),t.onRuntimeInitialized?.(),te())}var $=await ce();return await Wt(),t}const t=BigInt(2**53-1);function n(e){function n(t){let n=e.lengthBytesUTF8(t)+1,r=e._malloc(n);return e.stringToUTF8(t,r,n),r}function r(t,r=!0){let i=r?1:6,a=n(t),o=e._malloc(4),s=e._sqlite3_open_v2(a,o,i,0),c=e.HEAP32[o>>2];if(e._free(a),e._free(o),s!==0){let t=c?e.UTF8ToString(e._sqlite3_errmsg(c)):`sqlite3_open_v2 failed`;throw Error(t)}if(!r){let t=n(`PRAGMA journal_mode=MEMORY`);e._sqlite3_exec(c,t,0,0,0),e._free(t)}return c}function i(t){return e._sqlite3_close(t),null}function a(t,r){let i=n(r),a=e._sqlite3_exec(t,i,0,0,0);if(e._free(i),a!==0)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return null}function o(t,r){for(let i=0;i<r.length;i++){let a=r[i],o=i+1;if(a==null)e._sqlite3_bind_null(t,o);else if(typeof a==`number`)Number.isInteger(a)?e._sqlite3_bind_int(t,o,a):e._sqlite3_bind_double(t,o,a);else if(typeof a==`bigint`)e._sqlite3_bind_int64(t,o,a);else if(typeof a==`string`){let r=n(a);e._sqlite3_bind_text(t,o,r,-1,-1),e._free(r)}else if(a instanceof Uint8Array||a instanceof ArrayBuffer){let n=a instanceof ArrayBuffer?new Uint8Array(a):a,r=e._malloc(n.byteLength);e.HEAPU8.set(n,r),e._sqlite3_bind_blob(t,o,r,n.byteLength,-1),e._free(r)}}}function s(n,r){let i={};for(let a=0;a<r;a++){let r=e.UTF8ToString(e._sqlite3_column_name(n,a)),o=e._sqlite3_column_type(n,a),s=null;if(o===1){let r=e._sqlite3_column_int64(n,a);s=r<=t&&r>=-t?Number(r):r}else if(o===2)s=e._sqlite3_column_double(n,a);else if(o===3)s=e.UTF8ToString(e._sqlite3_column_text(n,a));else if(o===4){let t=e._sqlite3_column_blob(n,a),r=e._sqlite3_column_bytes(n,a);s=e.HEAPU8.slice(t,t+r).buffer}i[r]=s}return i}function c(t,r,i){let a=n(r),s=e._malloc(4),c=e._sqlite3_prepare_v2(t,a,-1,s,0);e._free(a);let l=e.HEAP32[s>>2];if(e._free(s),c!==0)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return o(l,i),l}function l(t,n,r=[]){let i=c(t,n,r),a=e._sqlite3_column_count(i),o=[],l=e._sqlite3_step(i);for(;l===100;)o.push(s(i,a)),l=e._sqlite3_step(i);if(e._sqlite3_finalize(i),l!==101)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return o}function u(t,n,r=[]){let i=c(t,n,r),a=e._sqlite3_step(i);if(e._sqlite3_finalize(i),a!==101&&a!==100)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return{changes:e._sqlite3_changes(t),lastInsertRowid:e._sqlite3_last_insert_rowid(t)}}return{open:r,close:i,exec:a,query:l,run:u}}const r=new Map,i=new Map;let a=1;async function o(e){let{opfsRoot:t,path:n}=e,o=n.replace(/^\//,``).split(`/`),s=o.pop(),c=t;for(let e of o)c=await c.getDirectoryHandle(e,{create:!0});let l=await(await c.getFileHandle(s,{create:!0})).createSyncAccessHandle(),u=a++;return r.set(u,l),i.set(n,u),u}async function s(e){let{opfsRoot:t,path:n,buffer:o}=e,s=n.replace(/^\//,``).split(`/`),c=s.pop(),l=t;for(let e of s)l=await l.getDirectoryHandle(e,{create:!0});let u=await(await l.getFileHandle(c,{create:!0})).createSyncAccessHandle();u.truncate(0),u.write(new Uint8Array(o),{at:0}),u.flush();let d=a++;return r.set(d,u),i.set(n,d),d}function c(e){let t=e._malloc(52);e.HEAP32.fill(0,t>>2,t+52>>2),e.HEAP32[t+0>>2]=1;function n(t){let n=e.HEAP32[t+4>>2];return r.has(n)&&(r.get(n).close(),r.delete(n)),0}function a(t,n,i,a){let o=e.HEAP32[t+4>>2],s=r.get(o);if(s){let t=e.HEAPU8.subarray(n,n+i),r=s.read(t,{at:Number(a)});return r<i?(e.HEAPU8.fill(0,n+r,n+i),522):0}return 10}function o(t,n,i,a){let o=e.HEAP32[t+4>>2],s=r.get(o);if(s){let t=e.HEAPU8.subarray(n,n+i);return s.write(t,{at:Number(a)}),0}return 10}function s(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);return a?(a.truncate(Number(n)),0):10}function c(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);return a?(a.flush(),0):10}function l(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);if(a){let t=a.getSize();return e.HEAP32[n>>2]=t>>>0,e.HEAP32[n+4>>2]=t/4294967296>>>0,0}return 10}function u(e,t){return 0}function d(e,t){return 0}function f(t,n){return e.HEAP32[n>>2]=0,0}function p(e,t,n){return 12}function m(e){return 4096}function h(e){return 5648}e.HEAP32[t+4>>2]=e.addFunction(n,`ii`),e.HEAP32[t+8>>2]=e.addFunction(a,`iiiij`),e.HEAP32[t+12>>2]=e.addFunction(o,`iiiij`),e.HEAP32[t+16>>2]=e.addFunction(s,`iij`),e.HEAP32[t+20>>2]=e.addFunction(c,`iii`),e.HEAP32[t+24>>2]=e.addFunction(l,`iii`),e.HEAP32[t+28>>2]=e.addFunction(u,`iii`),e.HEAP32[t+32>>2]=e.addFunction(d,`iii`),e.HEAP32[t+36>>2]=e.addFunction(f,`iii`),e.HEAP32[t+40>>2]=e.addFunction(p,`iiii`),e.HEAP32[t+44>>2]=e.addFunction(m,`ii`),e.HEAP32[t+48>>2]=e.addFunction(h,`ii`);let g=e._malloc(72);e.HEAP32.fill(0,g>>2,g+72>>2);let _=e.lengthBytesUTF8(`opfs`)+1,v=e._malloc(_);e.stringToUTF8(`opfs`,v,_),e.HEAP32[g+0>>2]=1,e.HEAP32[g+4>>2]=8,e.HEAP32[g+8>>2]=512,e.HEAP32[g+16>>2]=v;function y(n,r,a,o,s){let c=r?e.UTF8ToString(r):``,l=i.get(c)??0;return e.HEAP32[a+0>>2]=t,e.HEAP32[a+4>>2]=l,s&&(e.HEAP32[s>>2]=o),0}function b(t,n,r){let a=n?e.UTF8ToString(n):``;return i.delete(a),0}function ee(t,n,r,a){let o=n?e.UTF8ToString(n):``;return e.HEAP32[a>>2]=+!!i.has(o),0}function te(t,n,r,i){let a=n?e.UTF8ToString(n):``,o=a.startsWith(`/`)?a:`/`+a;return e.stringToUTF8(o,i,r),0}function x(t,n,r){let i=new Uint8Array(n);return crypto.getRandomValues(i),e.HEAPU8.set(i,r),n}function S(e,t){return 0}function ne(t,n){let r=Date.now()/864e5+2440587.5;return new DataView(e.HEAPU8.buffer,n,8).setFloat64(0,r,!0),0}function re(e,t,n){return 0}e.HEAP32[g+24>>2]=e.addFunction(y,`iiiiii`),e.HEAP32[g+28>>2]=e.addFunction(b,`iiii`),e.HEAP32[g+32>>2]=e.addFunction(ee,`iiiii`),e.HEAP32[g+36>>2]=e.addFunction(te,`iiiii`),e.HEAP32[g+56>>2]=e.addFunction(x,`iiii`),e.HEAP32[g+60>>2]=e.addFunction(S,`iii`),e.HEAP32[g+64>>2]=e.addFunction(ne,`iii`),e.HEAP32[g+68>>2]=e.addFunction(re,`iiii`),e._sqlite3_vfs_register(g,1)}let l=null,u=null,d=null;self.onmessage=async function({data:e}){let{id:t,type:n}=e;try{let n=await f(e);self.postMessage({id:t,type:`result`,value:n})}catch(e){self.postMessage({id:t,type:`error`,message:e.message})}};async function f(e){let{type:t,db:n,sql:r,params:i,path:a,readOnly:o}=e;if(t===`init`)return await p(e.wasmBinary);if(t===`load`)return await m(a,e.buffer,o);if(t===`open`)return await h(a,o);if(t===`close`)return d.close(n);if(t===`exec`)return d.exec(n,r);if(t===`query`)return d.query(n,r,i);if(t===`run`)return d.run(n,r,i);throw Error(`unknown type: `+t)}async function p(t){return l||(u=await navigator.storage.getDirectory(),l=await e({wasmBinary:t}),c(l),d=n(l)),null}async function m(e,t,n){if(l)return await s({opfsRoot:u,path:e,buffer:t}),await h(e,n);throw Error(`not initialized, call init() first`)}async function h(e,t){if(l)return i.has(e)||await o({opfsRoot:u,path:e}),d.open(e,t);throw Error(`not initialized, call init() first`)}
2
+ `));if(!e)return null;O=A(e,!0)}return O.shift()},j={ttys:[],init(){},shutdown(){},register(e,t){j.ttys[e]={input:[],output:[],ops:t},I.registerDevice(e,j.stream_ops)},stream_ops:{open(e){var t=j.ttys[e.node.rdev];if(!t)throw new I.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new I.ErrnoError(60);for(var a=0,o=0;o<r;o++){var s;try{s=e.tty.ops.get_char(e.tty)}catch{throw new I.ErrnoError(29)}if(s===void 0&&a===0)throw new I.ErrnoError(6);if(s==null)break;a++,t[n+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,n,r,i){if(!e.tty||!e.tty.ops.put_char)throw new I.ErrnoError(60);try{for(var a=0;a<r;a++)e.tty.ops.put_char(e.tty,t[n+a])}catch{throw new I.ErrnoError(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char(e){return ge()},put_char(e,t){t===null||t===10?(p(D(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(p(D(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,n){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(m(D(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(m(D(e.output)),e.output=[])}}},M,_e=(e,t)=>M.fill(0,e,e+t),ve=(e,t)=>Math.ceil(e/t)*t,ye=e=>{e=ve(e,65536);var t=Vt(65536,e);return t&&_e(t,e),t},N={ops_table:null,mount(e){return N.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if(I.isBlkdev(n)||I.isFIFO(n))throw new I.ErrnoError(63);N.ops_table||={dir:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,lookup:N.node_ops.lookup,mknod:N.node_ops.mknod,rename:N.node_ops.rename,unlink:N.node_ops.unlink,rmdir:N.node_ops.rmdir,readdir:N.node_ops.readdir,symlink:N.node_ops.symlink},stream:{llseek:N.stream_ops.llseek}},file:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:{llseek:N.stream_ops.llseek,read:N.stream_ops.read,write:N.stream_ops.write,mmap:N.stream_ops.mmap,msync:N.stream_ops.msync}},link:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,readlink:N.node_ops.readlink},stream:{}},chrdev:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:I.chrdev_stream_ops}};var i=I.createNode(e,t,n,r);return I.isDir(i.mode)?(i.node_ops=N.ops_table.dir.node,i.stream_ops=N.ops_table.dir.stream,i.contents={}):I.isFile(i.mode)?(i.node_ops=N.ops_table.file.node,i.stream_ops=N.ops_table.file.stream,i.usedBytes=0,i.contents=N.emptyFileContents??=new Uint8Array):I.isLink(i.mode)?(i.node_ops=N.ops_table.link.node,i.stream_ops=N.ops_table.link.stream):I.isChrdev(i.mode)&&(i.node_ops=N.ops_table.chrdev.node,i.stream_ops=N.ops_table.chrdev.stream),i.atime=i.mtime=i.ctime=Date.now(),e&&(e.contents[t]=i,e.atime=e.mtime=e.ctime=i.atime),i},getFileDataAsTypedArray(e){return e.contents.subarray(0,e.usedBytes)},expandFileStorage(e,t){var n=e.contents.length;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),n&&(t=Math.max(t,256));var r=N.getFileDataAsTypedArray(e);e.contents=new Uint8Array(t),e.contents.set(r)}},resizeFileStorage(e,t){if(e.usedBytes!=t){var n=e.contents;e.contents=new Uint8Array(t),e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=I.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=I.isDir(e.mode)?4096:I.isFile(e.mode)?e.usedBytes:I.isLink(e.mode)?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&N.resizeFileStorage(e,t.size)},lookup(e,t){throw N.doesNotExistError||(N.doesNotExistError=new I.ErrnoError(44),N.doesNotExistError.stack=`<generic error, no stack>`),N.doesNotExistError},mknod(e,t,n,r){return N.createNode(e,t,n,r)},rename(e,t,n){var r;try{r=I.lookupNode(t,n)}catch{}if(r){if(I.isDir(e.mode))for(var i in r.contents)throw new I.ErrnoError(55);I.hashRemoveNode(r)}delete e.parent.contents[e.name],t.contents[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){for(var n in I.lookupNode(e,t).contents)throw new I.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.contents)]},symlink(e,t,n){var r=N.createNode(e,t,41471,0);return r.link=n,r},readlink(e){if(!I.isLink(e.mode))throw new I.ErrnoError(28);return e.link}},stream_ops:{read(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,r);return t.set(a.subarray(i,i+o),n),o},write(e,t,n,r,i,a){if(t.buffer===C.buffer&&(a=!1),!r)return 0;var o=e.node;return o.mtime=o.ctime=Date.now(),a?(o.contents=t.subarray(n,n+r),o.usedBytes=r):o.usedBytes===0&&i===0?(o.contents=t.slice(n,n+r),o.usedBytes=r):(N.expandFileStorage(o,i+r),o.contents.set(t.subarray(n,n+r),i),o.usedBytes=Math.max(o.usedBytes,i+r)),r},llseek(e,t,n){var r=t;if(n===1?r+=e.position:n===2&&I.isFile(e.node.mode)&&(r+=e.node.usedBytes),r<0)throw new I.ErrnoError(28);return r},mmap(e,t,n,r,i){if(!I.isFile(e.node.mode))throw new I.ErrnoError(43);var a,o,s=e.node.contents;if(!(i&2)&&s.buffer===C.buffer)o=!1,a=s.byteOffset;else{if(o=!0,a=ye(t),!a)throw new I.ErrnoError(48);s&&((n>0||n+t<s.length)&&(s=s.subarray?s.subarray(n,n+t):Array.prototype.slice.call(s,n,n+t)),C.set(s,a))}return{ptr:a,allocated:o}},msync(e,t,n,r,i){return N.stream_ops.write(e,t,0,r,n,!1),0}}},be=e=>{if(typeof e!=`string`)return e;var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(t===void 0)throw Error(`Unknown file open mode: ${e}`);return t},xe=e=>(typeof e==`string`&&(e=A(e,!0)),e.subarray||(e=new Uint8Array(e)),e),P=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Se=async e=>{var t=await u(e);return new Uint8Array(t)},Ce=(...e)=>I.createDataFile(...e),we=e=>e,Te=null,Ee=async()=>Te,F=0,De=null,Oe=e=>{F--,t.monitorRunDependencies?.(F),F||De()},ke=e=>{F||(Te=new Promise(e=>De=e)),F++,t.monitorRunDependencies?.(F)},Ae=[],je=async(e,t)=>{typeof Browser<`u`&&Browser.init();for(var n of Ae)if(n.canHandle(t))return n.handle(e,t);return e},Me=async(e,t,n,r,i,a,o,s)=>{var c=t?E.resolve(T.join2(e,t)):e,l=we(`cp ${c}`);ke(l);try{var u=n;typeof n==`string`&&(u=await Se(n)),u=await je(u,c),s?.(),a||Ce(e,t,u,r,i,o)}finally{Oe(l)}},Ne=(e,t,n,r,i,a,o,s,c,l)=>{Me(e,t,n,r,i,s,c,l).then(a).catch(o)},I={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:`/`,initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name=`ErrnoError`;constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!=1}get isWrite(){return!!(this.flags&2097155)}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,n,r){e||=this,this.parent=e,this.mount=e.mount,this.id=I.nextInode++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return I.isDir(this.mode)}get isDevice(){return I.isChrdev(this.mode)}addListener(e,t=!1){var n={cb:e,exclusive:t},r=this.listeners??=new Set;return r.add(n),{listeners:r,entry:n}}notifyListeners(e){if(this.listeners){var t;for(var n of this.listeners)n.exclusive?(t||=[]).push(n):n.cb(e);if(t){var r=(this.exclTurn||0)%t.length;this.exclTurn=r+1,t[r].cb(e)}}}},lookupPath(e,t={}){if(!e)throw new I.ErrnoError(44);t.follow_mount??=!0,T.isAbs(e)||(e=I.cwd()+`/`+e);linkloop:for(var n=0;n<40;n++){for(var r=e.split(`/`).filter(e=>!!e),i=I.root,a=`/`,o=0;o<r.length;o++){var s=o===r.length-1;if(s&&t.parent)break;if(r[o]!==`.`){if(r[o]===`..`){if(a=T.dirname(a),I.isRoot(i)){e=a+`/`+r.slice(o+1).join(`/`),n--;continue linkloop}i=i.parent;continue}a=T.join2(a,r[o]);try{i=I.lookupNode(i,r[o])}catch(e){if(e?.errno===44&&s&&t.noent_okay)return{path:a};throw e}if(I.isMountpoint(i)&&(!s||t.follow_mount)&&(i=i.mounted.root),I.isLink(i.mode)&&(!s||t.follow)){if(!i.node_ops.readlink)throw new I.ErrnoError(52);var c=i.node_ops.readlink(i);T.isAbs(c)||(c=T.dirname(a)+`/`+c),e=c+`/`+r.slice(o+1).join(`/`);continue linkloop}}}return{path:a,node:i}}throw new I.ErrnoError(32)},getPath(e){for(var t;;){if(I.isRoot(e)){var n=e.mount.mountpoint;return t?n[n.length-1]===`/`?n+t:`${n}/${t}`:n}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%I.nameTable.length},hashAddNode(e){var t=I.hashName(e.parent.id,e.name);e.name_next=I.nameTable[t],I.nameTable[t]=e},hashRemoveNode(e){var t=I.hashName(e.parent.id,e.name);if(I.nameTable[t]===e)I.nameTable[t]=e.name_next;else for(var n=I.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode(e,t){var n=I.mayLookup(e);if(n)throw new I.ErrnoError(n);for(var r=I.hashName(e.id,t),i=I.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return I.lookup(e,t)},createNode(e,t,n,r){var i=new I.FSNode(e,t,n,r);return I.hashAddNode(i),i},destroyNode(e){I.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)==32768},isDir(e){return(e&61440)==16384},isLink(e){return(e&61440)==40960},isChrdev(e){return(e&61440)==8192},isBlkdev(e){return(e&61440)==24576},isFIFO(e){return(e&61440)==4096},isSocket(e){return(e&49152)==49152},flagsToPermissionString(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t},nodePermissions(e,t){return I.ignorePermissions?0:t.includes(`r`)&&!(e.mode&292)||t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73)?2:0},mayLookup(e){return I.isDir(e.mode)?I.nodePermissions(e,`x`)||(e.node_ops.lookup?0:2):54},mayCreate(e,t){if(!I.isDir(e.mode))return 54;try{return I.lookupNode(e,t),20}catch{}return I.nodePermissions(e,`wx`)},mayDelete(e,t,n){var r;try{r=I.lookupNode(e,t)}catch(e){return e.errno}var i=I.nodePermissions(e,`wx`);if(i)return i;if(n){if(!I.isDir(r.mode))return 54;if(I.isRoot(r)||I.getPath(r)===I.cwd())return 10}else if(I.isDir(r.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(I.isLink(e.mode))return 32;var n=I.flagsToPermissionString(t);return I.isDir(e.mode)&&(n!==`r`||t&576)?31:I.nodePermissions(e,n)},checkOpExists(e,t){if(!e)throw new I.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=I.MAX_OPEN_FDS;e++)if(!I.streams[e])return e;throw new I.ErrnoError(33)},getStreamChecked(e){var t=I.getStream(e);if(!t)throw new I.ErrnoError(8);return t},getStream:e=>I.streams[e],createStream(e,t=-1){return e=Object.assign(new I.FSStream,e),t==-1&&(t=I.nextfd()),e.fd=t,I.streams[t]=e,e},closeStream(e){I.streams[e]=null},dupStream(e,t=-1){var n=I.createStream(e,t);return n.stream_ops?.dup?.(n),n},doSetAttr(e,t,n){var r=e?.stream_ops.setattr,i=r?e:t;r??=t.node_ops.setattr,I.checkOpExists(r,63);try{r(i,n)}catch(e){throw e instanceof RangeError?new I.ErrnoError(22):e}},chrdev_stream_ops:{open(e){e.stream_ops=I.getDevice(e.node.rdev).stream_ops,e.stream_ops.open?.(e)},llseek(){throw new I.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){I.devices[e]={stream_ops:t}},getDevice:e=>I.devices[e],getMounts(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push(...r.mounts)}return t},syncfs(e,t){typeof e==`function`&&(t=e,e=!1),I.syncFSRequests++,I.syncFSRequests>1&&m(`warning: ${I.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var n=I.getMounts(I.root.mount),r=0;function i(e){return I.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}for(var o of n)o.type.syncfs?o.type.syncfs(o,e,a):a(null)},mount(e,t,n){var r=n===`/`,i=!n,a;if(r&&I.root)throw new I.ErrnoError(10);if(!r&&!i){var o=I.lookupPath(n,{follow_mount:!1});if(n=o.path,a=o.node,I.isMountpoint(a))throw new I.ErrnoError(10);if(!I.isDir(a.mode))throw new I.ErrnoError(54)}var s={type:e,opts:t,mountpoint:n,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,r?I.root=c:a&&(a.mounted=s,a.mount&&a.mount.mounts.push(s)),c},unmount(e){var t=I.lookupPath(e,{follow_mount:!1});if(!I.isMountpoint(t.node))throw new I.ErrnoError(28);var n=t.node,r=n.mounted,i=I.getMounts(r);for(var[a,o]of Object.entries(I.nameTable))for(;o;){var s=o.name_next;i.includes(o.mount)&&I.destroyNode(o),o=s}n.mounted=null;var c=n.mount.mounts.indexOf(r);n.mount.mounts.splice(c,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,n){var r=I.lookupPath(e,{parent:!0}).node,i=T.basename(e);if(!i)throw new I.ErrnoError(28);if(i===`.`||i===`..`)throw new I.ErrnoError(20);var a=I.mayCreate(r,i);if(a)throw new I.ErrnoError(a);if(!r.node_ops.mknod)throw new I.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},statfs(e){return I.statfsNode(I.lookupPath(e,{follow:!0}).node)},statfsStream(e){return I.statfsNode(e.node)},statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:I.nextInode,ffree:I.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create(e,t=438){return t&=4095,t|=32768,I.mknod(e,t,0)},mkdir(e,t=511){return t&=1023,t|=16384,I.mknod(e,t,0)},mkdirTree(e,t){var n=e.split(`/`),r=``;for(var i of n)if(i){(r||T.isAbs(e))&&(r+=`/`),r+=i;try{I.mkdir(r,t)}catch(e){if(e.errno!=20)throw e}}},mkdev(e,t,n){return n===void 0&&(n=t,t=438),t|=8192,I.mknod(e,t,n)},symlink(e,t){if(!E.resolve(e))throw new I.ErrnoError(44);var n=I.lookupPath(t,{parent:!0}).node;if(!n)throw new I.ErrnoError(44);var r=T.basename(t),i=I.mayCreate(n,r);if(i)throw new I.ErrnoError(i);if(!n.node_ops.symlink)throw new I.ErrnoError(63);return n.node_ops.symlink(n,r,e)},link(e,t,n){var r=I.lookupPath(t,{parent:!0}).node;if(!r)throw new I.ErrnoError(44);var i=T.basename(t),a=I.mayCreate(r,i);if(a)throw new I.ErrnoError(a);if(!r.node_ops.link)throw new I.ErrnoError(34);return r.node_ops.link(r,i,e,n)},rename(e,t){var n=T.dirname(e),r=T.dirname(t),i=T.basename(e),a=T.basename(t),o=I.lookupPath(e,{parent:!0}),s=o.node,c;if(o=I.lookupPath(t,{parent:!0}),c=o.node,!s||!c)throw new I.ErrnoError(44);if(s.mount!==c.mount)throw new I.ErrnoError(75);var l=I.lookupNode(s,i),u=E.relative(e,r);if(u.charAt(0)!==`.`)throw new I.ErrnoError(28);if(u=E.relative(t,n),u.charAt(0)!==`.`)throw new I.ErrnoError(55);var d;try{d=I.lookupNode(c,a)}catch{}if(l!==d){var f=I.isDir(l.mode),p=I.mayDelete(s,i,f);if(p||(p=d?I.mayDelete(c,a,f):I.mayCreate(c,a),p))throw new I.ErrnoError(p);if(!s.node_ops.rename)throw new I.ErrnoError(63);if(I.isMountpoint(l)||d&&I.isMountpoint(d))throw new I.ErrnoError(10);if(c!==s&&(p=I.nodePermissions(s,`w`),p))throw new I.ErrnoError(p);I.hashRemoveNode(l);try{s.node_ops.rename(l,c,a),l.parent=c}catch(e){throw e}finally{I.hashAddNode(l)}}},rmdir(e){var t=I.lookupPath(e,{parent:!0}).node,n=T.basename(e),r=I.lookupNode(t,n),i=I.mayDelete(t,n,!0);if(i)throw new I.ErrnoError(i);if(!t.node_ops.rmdir)throw new I.ErrnoError(63);if(I.isMountpoint(r))throw new I.ErrnoError(10);t.node_ops.rmdir(t,n),I.destroyNode(r)},readdir(e){var t=I.lookupPath(e,{follow:!0}).node;return I.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=I.lookupPath(e,{parent:!0}).node;if(!t)throw new I.ErrnoError(44);var n=T.basename(e),r=I.lookupNode(t,n),i=I.mayDelete(t,n,!1);if(i)throw new I.ErrnoError(i);if(!t.node_ops.unlink)throw new I.ErrnoError(63);if(I.isMountpoint(r))throw new I.ErrnoError(10);t.node_ops.unlink(t,n),I.destroyNode(r)},readlink(e){var t=I.lookupPath(e).node;if(!t)throw new I.ErrnoError(44);if(!t.node_ops.readlink)throw new I.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var n=I.lookupPath(e,{follow:!t}).node;return I.checkOpExists(n.node_ops.getattr,63)(n)},fstat(e){var t=I.getStreamChecked(e),n=t.node,r=t.stream_ops.getattr,i=r?t:n;return r??=n.node_ops.getattr,I.checkOpExists(r,63),r(i)},lstat(e){return I.stat(e,!0)},doChmod(e,t,n,r){I.doSetAttr(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),dontFollow:r})},chmod(e,t,n){var r=typeof e==`string`?I.lookupPath(e,{follow:!n}).node:e;I.doChmod(null,r,t,n)},lchmod(e,t){I.chmod(e,t,!0)},fchmod(e,t){var n=I.getStreamChecked(e);I.doChmod(n,n.node,t,!1)},doChown(e,t,n){I.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:n})},chown(e,t,n,r){var i=typeof e==`string`?I.lookupPath(e,{follow:!r}).node:e;I.doChown(null,i,r)},lchown(e,t,n){I.chown(e,t,n,!0)},fchown(e,t,n){var r=I.getStreamChecked(e);I.doChown(r,r.node,!1)},doTruncate(e,t,n){if(I.isDir(t.mode))throw new I.ErrnoError(31);if(!I.isFile(t.mode))throw new I.ErrnoError(28);var r=I.nodePermissions(t,`w`);if(r)throw new I.ErrnoError(r);I.doSetAttr(e,t,{size:n,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new I.ErrnoError(28);var n=typeof e==`string`?I.lookupPath(e,{follow:!0}).node:e;I.doTruncate(null,n,t)},ftruncate(e,t){var n=I.getStreamChecked(e);if(t<0||!(n.flags&2097155))throw new I.ErrnoError(28);I.doTruncate(n,n.node,t)},utime(e,t,n,r){var i=I.lookupPath(e,{follow:!r});I.doSetAttr(null,i.node,{atime:t,mtime:n,dontFollow:r})},open(e,t,n=438){if(e===``)throw new I.ErrnoError(44);t=be(t),n=t&64?n&4095|32768:0;var r,i;if(typeof e==`object`)r=e;else{i=e.endsWith(`/`);var a=I.lookupPath(e,{follow:!(t&131072),noent_okay:!0});r=a.node,e=a.path}var o=!1;if(t&64){if(r){if(t&128)throw new I.ErrnoError(20)}else if(i)throw new I.ErrnoError(31);else r=I.mknod(e,n|511,0),o=!0}if(!r)throw new I.ErrnoError(44);if(I.isChrdev(r.mode)&&(t&=-513),t&65536&&!I.isDir(r.mode))throw new I.ErrnoError(54);if(!o){var s=I.mayOpen(r,t);if(s)throw new I.ErrnoError(s)}t&512&&!o&&I.truncate(r,0),t&=-131713;var c=I.createStream({node:r,path:I.getPath(r),flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),o&&I.chmod(r,n&511),c},close(e){if(I.isClosed(e))throw new I.ErrnoError(8);e.getdents&&=null,e.node?.notifyListeners(32);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{I.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,n){if(I.isClosed(e))throw new I.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new I.ErrnoError(70);if(n!=0&&n!=1&&n!=2)throw new I.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read(e,t,n,r,i){if(r<0||i<0)throw new I.ErrnoError(28);if(I.isClosed(e)||(e.flags&2097155)==1)throw new I.ErrnoError(8);if(I.isDir(e.node.mode))throw new I.ErrnoError(31);if(!e.stream_ops.read)throw new I.ErrnoError(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new I.ErrnoError(70);var o=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=o),o},write(e,t,n,r,i,a){if(r<0||i<0)throw new I.ErrnoError(28);if(I.isClosed(e)||!(e.flags&2097155))throw new I.ErrnoError(8);if(I.isDir(e.node.mode))throw new I.ErrnoError(31);if(!e.stream_ops.write)throw new I.ErrnoError(28);e.seekable&&e.flags&1024&&I.llseek(e,0,2);var o=i!==void 0;if(!o)i=e.position;else if(!e.seekable)throw new I.ErrnoError(70);var s=e.stream_ops.write(e,t,n,r,i,a);return o||(e.position+=s),s},mmap(e,t,n,r,i){if(r&2&&!(i&2)&&(e.flags&2097155)!=2||(e.flags&2097155)==1)throw new I.ErrnoError(2);if(!e.stream_ops.mmap)throw new I.ErrnoError(43);if(!t)throw new I.ErrnoError(28);return e.stream_ops.mmap(e,t,n,r,i)},msync(e,t,n,r,i){return e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},ioctl(e,t,n){if(!e.stream_ops.ioctl)throw new I.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile(e,t={}){t.flags=t.flags??0,t.encoding=t.encoding??`binary`,t.encoding!==`utf8`&&t.encoding!==`binary`&&x(`Invalid encoding type "${t.encoding}"`);var n=I.open(e,t.flags),r=I.stat(e).size,i=new Uint8Array(r);return I.read(n,i,0,r,0),t.encoding===`utf8`&&(i=D(i)),I.close(n),i},writeFile(e,t,n={}){n.flags=n.flags??577;var r=I.open(e,n.flags,n.mode);t=xe(t),I.write(r,t,0,t.byteLength,void 0,n.canOwn),I.close(r)},cwd:()=>I.currentPath,chdir(e){var t=I.lookupPath(e,{follow:!0});if(t.node===null)throw new I.ErrnoError(44);if(!I.isDir(t.node.mode))throw new I.ErrnoError(54);var n=I.nodePermissions(t.node,`x`);if(n)throw new I.ErrnoError(n);I.currentPath=t.path},createDefaultDirectories(){I.mkdir(`/tmp`),I.mkdir(`/home`),I.mkdir(`/home/web_user`)},createDefaultDevices(){I.mkdir(`/dev`),I.registerDevice(I.makedev(1,3),{read:()=>0,write:(e,t,n,r,i)=>r,llseek:()=>0}),I.mkdev(`/dev/null`,I.makedev(1,3)),j.register(I.makedev(5,0),j.default_tty_ops),j.register(I.makedev(6,0),j.default_tty1_ops),I.mkdev(`/dev/tty`,I.makedev(5,0)),I.mkdev(`/dev/tty1`,I.makedev(6,0));var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(fe(e),t=e.byteLength),e[--t]);I.createDevice(`/dev`,`random`,n),I.createDevice(`/dev`,`urandom`,n),I.mkdir(`/dev/shm`),I.mkdir(`/dev/shm/tmp`)},createSpecialDirectories(){I.mkdir(`/proc`);var e=I.mkdir(`/proc/self`);I.mkdir(`/proc/self/fd`),I.mount({mount(){var t=I.createNode(e,`fd`,16895,73);return t.stream_ops={llseek:N.stream_ops.llseek},t.node_ops={lookup(e,t){var n=+t,r=I.getStreamChecked(n),i={parent:null,mount:{mountpoint:`fake`},node_ops:{readlink:()=>r.path},id:n+1};return i.parent=i,i},readdir(){return Array.from(I.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())}},t}},{},`/proc/self/fd`)},createStandardStreams(e,t,n){e?I.createDevice(`/dev`,`stdin`,e):I.symlink(`/dev/tty`,`/dev/stdin`),t?I.createDevice(`/dev`,`stdout`,null,t):I.symlink(`/dev/tty`,`/dev/stdout`),n?I.createDevice(`/dev`,`stderr`,null,n):I.symlink(`/dev/tty1`,`/dev/stderr`),I.open(`/dev/stdin`,0),I.open(`/dev/stdout`,1),I.open(`/dev/stderr`,1)},staticInit(){I.nameTable=Array(4096),I.mount(N,{},`/`),I.createDefaultDirectories(),I.createDefaultDevices(),I.createSpecialDirectories(),I.filesystems={MEMFS:N}},init(e,n,r){I.initialized=!0,e??=t.stdin,n??=t.stdout,r??=t.stderr,I.createStandardStreams(e,n,r)},quit(){I.initialized=!1;for(var e of I.streams)e&&I.close(e)},findObject(e,t){var n=I.analyzePath(e,t);return n.exists?n.object:null},analyzePath(e,t){try{var n=I.lookupPath(e,{follow:!t});e=n.path}catch{}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=I.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=T.basename(e),n=I.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot=n.path===`/`}catch(e){r.error=e.errno}return r},createPath(e,t,n,r){e=typeof e==`string`?e:I.getPath(e);for(var i=t.split(`/`).reverse();i.length;){var a=i.pop();if(a){var o=T.join2(e,a);try{I.mkdir(o)}catch(e){if(e.errno!=20)throw e}e=o}}return o},createFile(e,t,n,r,i){var a=T.join2(typeof e==`string`?e:I.getPath(e),t),o=P(r,i);return I.create(a,o)},createDataFile(e,t,n,r,i,a){var o=t;e&&(e=typeof e==`string`?e:I.getPath(e),o=t?T.join2(e,t):e);var s=P(r,i),c=I.create(o,s);if(n){n=xe(n),I.chmod(c,s|146);var l=I.open(c,577);I.write(l,n,0,n.length,0,a),I.close(l),I.chmod(c,s)}},createDevice(e,t,n,r){var i=T.join2(typeof e==`string`?e:I.getPath(e),t),a=P(!!n,!!r);I.createDevice.major??=64;var o=I.makedev(I.createDevice.major++,0);return I.registerDevice(o,{open(e){e.seekable=!1},close(e){r?.buffer?.length&&r(10)},read(e,t,r,i,a){for(var o=0,s=0;s<i;s++){var c;try{c=n()}catch{throw new I.ErrnoError(29)}if(c===void 0&&o===0)throw new I.ErrnoError(6);if(c==null)break;o++,t[r+s]=c}return o&&(e.node.atime=Date.now()),o},write(e,t,n,i,a){for(var o=0;o<i;o++)try{r(t[n+o])}catch{throw new I.ErrnoError(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),o}}),I.mkdev(i,a,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)x(`Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.`);else try{e.contents=d(e.url)}catch{throw new I.ErrnoError(29)}},createLazyFile(e,t,n,i,a){class o{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open(`HEAD`,n,!1),e.send(null),e.status>=200&&e.status<300||e.status===304||x(`Couldn't load ${n}. Status: ${e.status}`);var t=Number(e.getResponseHeader(`Content-length`)),r,i=(r=e.getResponseHeader(`Accept-Ranges`))&&r===`bytes`,a=(r=e.getResponseHeader(`Content-Encoding`))&&r===`gzip`,o=1048576;i||(o=t);var s=(e,r)=>{e>r&&x(`invalid range (${e}, ${r}) or no bytes requested!`),r>t-1&&x(`only ${t} bytes available! programmer error!`);var i=new XMLHttpRequest;return i.open(`GET`,n,!1),t!==o&&i.setRequestHeader(`Range`,`bytes=${e}-${r}`),i.responseType=`arraybuffer`,i.overrideMimeType&&i.overrideMimeType(`text/plain; charset=x-user-defined`),i.send(null),i.status>=200&&i.status<300||i.status===304||x(`Couldn't load ${n}. Status: ${i.status}`),i.response===void 0?A(i.responseText??``,!0):new Uint8Array(i.response||[])},c=this;c.setDataGetter(e=>{var n=e*o,r=(e+1)*o-1;return r=Math.min(r,t-1),c.chunks[e]===void 0&&(c.chunks[e]=s(n,r)),c.chunks[e]===void 0&&x(`doXHR failed!`),c.chunks[e]}),(a||!t)&&(o=t=1,t=this.getter(0).length,o=t,p(`LazyFiles on gzip forces download of the whole file when length is accessed`)),this._length=t,this._chunkSize=o,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){r||x(`Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc`);var s={isDevice:!1,contents:new o}}else var s={isDevice:!1,url:n};var c=I.createFile(e,t,s,i,a);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};for(let[e,t]of Object.entries(c.stream_ops))l[e]=(...e)=>(I.forceLoadFile(c),t(...e));function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var o=Math.min(a.length-i,r);if(a.slice)for(var s=0;s<o;s++)t[n+s]=a[i+s];else for(var s=0;s<o;s++)t[n+s]=a.get(i+s);return o}return l.read=(e,t,n,r,i)=>(I.forceLoadFile(c),u(e,t,n,r,i)),l.mmap=(e,t,n,r,i)=>{I.forceLoadFile(c);var a=ye(t);if(!a)throw new I.ErrnoError(48);return u(e,C,a,t,n),{ptr:a,allocated:!0}},c.stream_ops=l,c}},Pe=(e,t,n)=>e?D(M,e,t,n):``,L,R,z,B={currentUmask:18,calculateAt(e,t,n){if(T.isAbs(t))return t;var r=e===-100?I.cwd():B.getStreamFromFD(e).path;if(t.length==0){if(!n)throw new I.ErrnoError(44);return r}return r+`/`+t},writeStat(e,t){R[e>>2]=t.dev,R[e+4>>2]=t.mode,R[e+8>>2]=t.nlink,R[e+12>>2]=t.uid,R[e+16>>2]=t.gid,R[e+20>>2]=t.rdev,z[e+24>>3]=BigInt(t.size),L[e+32>>2]=4096,L[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return z[e+40>>3]=BigInt(Math.floor(n/1e3)),R[e+48>>2]=n%1e3*1e3*1e3,z[e+56>>3]=BigInt(Math.floor(r/1e3)),R[e+64>>2]=r%1e3*1e3*1e3,z[e+72>>3]=BigInt(Math.floor(i/1e3)),R[e+80>>2]=i%1e3*1e3*1e3,z[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){R[e+4>>2]=t.bsize,R[e+60>>2]=t.bsize,z[e+8>>3]=BigInt(t.blocks),z[e+16>>3]=BigInt(t.bfree),z[e+24>>3]=BigInt(t.bavail),z[e+32>>3]=BigInt(t.files),z[e+40>>3]=BigInt(t.ffree),R[e+48>>2]=t.fsid,R[e+64>>2]=t.flags,R[e+56>>2]=t.namelen},doMsync(e,t,n,r,i){if(!I.isFile(t.node.mode))throw new I.ErrnoError(43);if(r&2)return 0;var a=M.subarray(e,e+n);I.msync(t,a,i,n,r)},getStreamFromFD(e){return I.getStreamChecked(e)},varargs:void 0,getStr(e){return Pe(e)}};function Fe(e,t){try{return e=B.getStr(e),I.chmod(e,t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ie(e,t,n,r){try{if(t=B.getStr(t),t=B.calculateAt(e,t),n&-8)return-28;var i=I.lookupPath(t,{follow:!0}).node;if(!i)return-44;var a=``;return n&4&&(a+=`r`),n&2&&(a+=`w`),n&1&&(a+=`x`),a&&I.nodePermissions(i,a)?-2:0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Le(e,t){try{return I.fchmod(e,t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Re(e,t,n){try{return I.fchown(e,t,n),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var V=()=>{var e=L[B.varargs>>2];return B.varargs+=4,e},ze=V,H;function Be(e,t,n){B.varargs=n;try{var r=B.getStreamFromFD(e);switch(t){case 0:var i=V();if(i<0)return-28;for(;I.streams[i];)i++;return I.dupStream(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:var i=V(),a=289792;return r.flags=r.flags&~a|i&a,0;case 12:var i=ze(),o=0;return H[i+o>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ve(e,t){try{return B.writeStat(t,I.fstat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var He=9007199254740992,Ue=-9007199254740992,U=e=>e<Ue||e>He?NaN:Number(e);function We(e,t){t=U(t);try{return isNaN(t)?-22:(I.ftruncate(e,t),0)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var W=(e,t,n)=>he(e,M,t,n);function Ge(e,t){try{if(t===0)return-28;var n=I.cwd(),r=k(n)+1;return t<r?-68:(W(n,e,t),r)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var Ke=()=>0;function qe(e,t){try{return e=B.getStr(e),B.writeStat(t,I.lstat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Je(e,t,n){try{return t=B.getStr(t),t=B.calculateAt(e,t),n&=~B.currentUmask,I.mkdir(t,n,0),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ye(e,t,n,r){try{t=B.getStr(t);var i=r&256,a=r&4096;return r&=-6401,t=B.calculateAt(e,t,a),B.writeStat(n,i?I.lstat(t):I.stat(t))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Xe(e,t,n,r){B.varargs=r;try{t=B.getStr(t),t=B.calculateAt(e,t);var i=r?V():0;return n&64&&(i&=~B.currentUmask),I.open(t,n,i).fd}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Ze(e,t,n,r){try{if(t=B.getStr(t),t=B.calculateAt(e,t),r<=0)return-28;var i=I.readlink(t),a=Math.min(r,k(i)),o=C[n+a];return W(i,n,r+1),C[n+a]=o,a}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function Qe(e){try{return e=B.getStr(e),I.rmdir(e),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function $e(e,t){try{return e=B.getStr(e),B.writeStat(t,I.stat(e))}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function et(e,t,n){try{if(t=B.getStr(t),t=B.calculateAt(e,t),!n)I.unlink(t);else if(n===512)I.rmdir(t);else return-28;return 0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var tt=e=>R[e>>2]+L[e+4>>2]*4294967296;function nt(e,t,n,r){try{var i=r&256;t=B.getStr(t),t=B.calculateAt(e,t,!0);var a=Date.now(),o,s;if(!n)o=a,s=a;else{var c=tt(n),l=L[n+8>>2];o=l==1073741823?a:l==1073741822?null:c*1e3+l/1e6,n+=16,c=tt(n),l=L[n+8>>2],s=l==1073741823?a:l==1073741822?null:c*1e3+l/1e6}return(s??o)!==null&&I.utime(t,o,s,i),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var rt=e=>e%4==0&&(e%100!=0||e%400==0),it=[0,31,60,91,121,152,182,213,244,274,305,335],at=[0,31,59,90,120,151,181,212,243,273,304,334],ot=e=>(rt(e.getFullYear())?it:at)[e.getMonth()]+e.getDate()-1;function st(e,t){e=U(e);var n=new Date(e*1e3);if(isNaN(n.getTime()))return 1;L[t>>2]=n.getSeconds(),L[t+4>>2]=n.getMinutes(),L[t+8>>2]=n.getHours(),L[t+12>>2]=n.getDate(),L[t+16>>2]=n.getMonth(),L[t+20>>2]=n.getFullYear()-1900,L[t+24>>2]=n.getDay();var r=ot(n)|0;L[t+28>>2]=r,L[t+36>>2]=-(n.getTimezoneOffset()*60);var i=new Date(n.getFullYear(),0,1),a=new Date(n.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),s=(a!=o&&n.getTimezoneOffset()==Math.min(o,a))|0;return L[t+32>>2]=s,0}function ct(e,t,n,r,i,a,o){i=U(i);try{var s=B.getStreamFromFD(r),c=I.mmap(s,e,i,t,n),l=c.ptr;return L[a>>2]=c.allocated,R[o>>2]=l,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function lt(e,t,n,r,i,a){a=U(a);try{var o=B.getStreamFromFD(i);n&2&&B.doMsync(e,o,t,r,a)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var ut=(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1),s=a.getTimezoneOffset(),c=o.getTimezoneOffset(),l=Math.max(s,c);R[e>>2]=l*60,L[t>>2]=Number(s!=c);var u=e=>{var t=e>=0?`-`:`+`,n=Math.abs(e);return`UTC${t}${String(Math.floor(n/60)).padStart(2,`0`)}${String(n%60).padStart(2,`0`)}`},d=u(s),f=u(c);c<s?(W(d,n,17),W(f,r,17)):(W(d,r,17),W(f,n,17))},dt=()=>performance.now(),ft=()=>Date.now(),pt=1,mt=e=>e>=0&&e<=3;function ht(e,t,n){if(t=U(t),!mt(e))return 28;var r;if(e===0)r=ft();else if(pt)r=dt();else return 52;var i=Math.round(r*1e3*1e3);return z[n>>3]=BigInt(i),0}var gt=()=>2147483648,_t=()=>gt(),vt=e=>{var t=(e-Z.buffer.byteLength+65535)/65536|0;try{return Z.grow(t),y(),1}catch{}},yt=e=>{var t=M.length;e>>>=0;var n=gt();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),vt(Math.min(n,ve(Math.max(e,i),65536))))return!0}return!1},G={},bt=()=>o,K=()=>{if(!K.strings){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:bt()};for(var t in G)G[t]===void 0?delete e[t]:e[t]=G[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);K.strings=n}return K.strings},xt=(e,t)=>{var n=0,r=0;for(var i of K()){var a=t+n;R[e+r>>2]=a,n+=W(i,a,1/0)+1,r+=4}return 0},St=(e,t)=>{var n=K();R[e>>2]=n.length;var r=0;for(var i of n)r+=k(i)+1;return R[t>>2]=r,0};function Ct(e){try{var t=B.getStreamFromFD(e);return I.close(t),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function wt(e,t){try{var n=0,r=0,i=0,a=B.getStreamFromFD(e),o=a.tty?2:I.isDir(a.mode)?3:I.isLink(a.mode)?7:4;return C[t]=o,H[t+2>>1]=i,z[t+8>>3]=BigInt(n),z[t+16>>3]=BigInt(r),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var Tt=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=R[t>>2],s=R[t+4>>2];t+=8;try{var c=I.read(e,C,o,s,r)}catch(e){if(i>0&&e instanceof I.ErrnoError&&(e.errno==6||e.errno==6))break;throw e}if(c<0)return-1;if(i+=c,c<s)break;r!==void 0&&(r+=c)}return i};function Et(e,t,n,r){try{var i=Tt(B.getStreamFromFD(e),t,n);return R[r>>2]=i,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Dt(e,t,n,r){t=U(t);try{if(isNaN(t))return 22;var i=B.getStreamFromFD(e);return I.llseek(i,t,n),z[r>>3]=BigInt(i.position),i.getdents&&t===0&&n===0&&(i.getdents=null),0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Ot(e){try{var t=B.getStreamFromFD(e);return t.stream_ops?.fsync?.(t)}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var kt=(e,t,n,r)=>{if(n==1)return I.write(e,C,R[t>>2],R[t+4>>2],r);for(var i=0,a=0,o=t;a<n;a++,o+=8)i+=R[o+4>>2];for(var s=new Uint8Array(i),c=0,a=0;a<n;a++,t+=8){var l=R[t>>2],u=R[t+4>>2];s.set(M.subarray(l,l+u),c),c+=u}return I.write(e,s,0,i,r)};function At(e,t,n,r){try{var i=kt(B.getStreamFromFD(e),t,n);return R[r>>2]=i,0}catch(e){if(I===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var q=[],jt=e=>{var t=q[e];return t||(q[e]=t=Q.get(e)),t},Mt=(e,t)=>{if(J)for(var n=e;n<e+t;n++){var r=jt(n);r&&J.set(r,n)}},J,Nt=e=>(J||(J=new WeakMap,Mt(0,Q.length)),J.get(e)||0),Pt=[],Ft=()=>Pt.length?Pt.pop():Q.grow(1),It=(e,t)=>{Q.set(e,t),q[e]=Q.get(e)},Y=e=>{let t=e.length;return[t%128|128,t>>7,...e]},Lt={i:127,p:127,j:126,f:125,d:124,e:111},Rt=e=>Y(Array.from(e,e=>Lt[e])),zt=(e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...Y([1,96,...Rt(t.slice(1)),...Rt(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},Bt=(e,t)=>{var n=Nt(e);if(n)return n;var r=Ft();try{It(r,e)}catch(n){if(!(n instanceof TypeError))throw n;It(r,zt(e,t))}return J.set(e,r),r};I.createPreloadedFile=Ne,I.preloadFile=Me,I.staticInit(),t.noExitRuntime&&t.noExitRuntime,t.print&&(p=t.print),t.printErr&&(m=t.printErr),t.arguments&&t.arguments,t.thisProgram&&(o=t.thisProgram);var X=t.preInit;if(X)for(typeof X==`function`&&(t.preInit=X=[X]);X.length>0;)X.shift()();t.addFunction=Bt,t.UTF8ToString=Pe,t.stringToUTF8=W,t.lengthBytesUTF8=k;var Vt,Z,Q;function Ht(e){t._sqlite3_initialize=e.sqlite3_initialize,t._sqlite3_vfs_register=e.sqlite3_vfs_register,t._sqlite3_step=e.sqlite3_step,t._sqlite3_column_int64=e.sqlite3_column_int64,t._sqlite3_exec=e.sqlite3_exec,t._sqlite3_finalize=e.sqlite3_finalize,t._sqlite3_prepare_v2=e.sqlite3_prepare_v2,t._sqlite3_column_text=e.sqlite3_column_text,t._sqlite3_errmsg=e.sqlite3_errmsg,t._sqlite3_column_count=e.sqlite3_column_count,t._sqlite3_column_blob=e.sqlite3_column_blob,t._sqlite3_column_bytes=e.sqlite3_column_bytes,t._sqlite3_column_double=e.sqlite3_column_double,t._sqlite3_column_type=e.sqlite3_column_type,t._sqlite3_column_name=e.sqlite3_column_name,t._sqlite3_bind_blob=e.sqlite3_bind_blob,t._sqlite3_bind_double=e.sqlite3_bind_double,t._sqlite3_bind_int=e.sqlite3_bind_int,t._sqlite3_bind_int64=e.sqlite3_bind_int64,t._sqlite3_bind_null=e.sqlite3_bind_null,t._sqlite3_bind_text=e.sqlite3_bind_text,t._sqlite3_last_insert_rowid=e.sqlite3_last_insert_rowid,t._sqlite3_changes=e.sqlite3_changes,t._sqlite3_close=e.sqlite3_close,t._sqlite3_open_v2=e.sqlite3_open_v2,t._malloc=e.malloc,t._free=e.free,Vt=e.emscripten_builtin_memalign,e._emscripten_stack_restore,e._emscripten_stack_alloc,e.emscripten_stack_get_current,Z=e.memory,Q=e.__indirect_function_table}var Ut={__syscall_chmod:Fe,__syscall_faccessat:Ie,__syscall_fchmod:Le,__syscall_fchown32:Re,__syscall_fcntl64:Be,__syscall_fstat64:Ve,__syscall_ftruncate64:We,__syscall_getcwd:Ge,__syscall_geteuid32:Ke,__syscall_lstat64:qe,__syscall_mkdirat:Je,__syscall_newfstatat:Ye,__syscall_openat:Xe,__syscall_readlinkat:Ze,__syscall_rmdir:Qe,__syscall_stat64:$e,__syscall_unlinkat:et,__syscall_utimensat:nt,_localtime_js:st,_mmap_js:ct,_munmap_js:lt,_tzset_js:ut,clock_time_get:ht,emscripten_date_now:ft,emscripten_get_heap_max:_t,emscripten_get_now:dt,emscripten_resize_heap:yt,environ_get:xt,environ_sizes_get:St,fd_close:Ct,fd_fdstat_get:wt,fd_read:Et,fd_seek:Dt,fd_sync:Ot,fd_write:At};async function Wt(){b(),F&&await Ee();var e=t.setStatus;e&&(e(`Running...`),await new Promise(e=>setTimeout(e,1)),setTimeout(e,1,``)),!g&&(ee(),t.onRuntimeInitialized?.(),te())}var $=await ce();return await Wt(),t}const t=BigInt(2**53-1);function n(e){function n(t){let n=e.lengthBytesUTF8(t)+1,r=e._malloc(n);return e.stringToUTF8(t,r,n),r}function r(t,r=!0){let i=r?1:6,a=n(t),o=e._malloc(4),s=e._sqlite3_open_v2(a,o,i,0),c=e.HEAP32[o>>2];if(e._free(a),e._free(o),s!==0){let t=c?e.UTF8ToString(e._sqlite3_errmsg(c)):`sqlite3_open_v2 failed`;throw Error(t)}if(!r){let t=n(`PRAGMA journal_mode=MEMORY`);e._sqlite3_exec(c,t,0,0,0),e._free(t)}return c}function i(t){return e._sqlite3_close(t),null}function a(t,r){let i=n(r),a=e._sqlite3_exec(t,i,0,0,0);if(e._free(i),a!==0)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return null}function o(t,r){for(let i=0;i<r.length;i++){let a=r[i],o=i+1;if(a==null)e._sqlite3_bind_null(t,o);else if(typeof a==`number`)Number.isInteger(a)?e._sqlite3_bind_int(t,o,a):e._sqlite3_bind_double(t,o,a);else if(typeof a==`bigint`)e._sqlite3_bind_int64(t,o,a);else if(typeof a==`string`){let r=n(a);e._sqlite3_bind_text(t,o,r,-1,-1),e._free(r)}else if(a instanceof Uint8Array||a instanceof ArrayBuffer){let n=a instanceof ArrayBuffer?new Uint8Array(a):a,r=e._malloc(n.byteLength);e.HEAPU8.set(n,r),e._sqlite3_bind_blob(t,o,r,n.byteLength,-1),e._free(r)}}}function s(n,r){let i={};for(let a=0;a<r;a++){let r=e.UTF8ToString(e._sqlite3_column_name(n,a)),o=e._sqlite3_column_type(n,a),s=null;if(o===1){let r=e._sqlite3_column_int64(n,a);s=r<=t&&r>=-t?Number(r):r}else if(o===2)s=e._sqlite3_column_double(n,a);else if(o===3)s=e.UTF8ToString(e._sqlite3_column_text(n,a));else if(o===4){let t=e._sqlite3_column_blob(n,a),r=e._sqlite3_column_bytes(n,a);s=e.HEAPU8.slice(t,t+r).buffer}i[r]=s}return i}function c(t,r,i){let a=n(r),s=e._malloc(4),c=e._sqlite3_prepare_v2(t,a,-1,s,0);e._free(a);let l=e.HEAP32[s>>2];if(e._free(s),c!==0)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return o(l,i),l}function l(t,n,r=[]){let i=c(t,n,r),a=e._sqlite3_column_count(i),o=[],l=e._sqlite3_step(i);for(;l===100;)o.push(s(i,a)),l=e._sqlite3_step(i);if(e._sqlite3_finalize(i),l!==101)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return o}function u(t,n,r=[]){let i=c(t,n,r),a=e._sqlite3_step(i);if(e._sqlite3_finalize(i),a!==101&&a!==100)throw Error(e.UTF8ToString(e._sqlite3_errmsg(t)));return{changes:e._sqlite3_changes(t),lastInsertRowid:e._sqlite3_last_insert_rowid(t)}}return{open:r,close:i,exec:a,query:l,run:u}}const r=new Map,i=new Map;let a=1;async function o(e){let{opfsRoot:t,path:n}=e,o=n.replace(/^\//,``).split(`/`),s=o.pop(),c=t;for(let e of o)c=await c.getDirectoryHandle(e,{create:!0});let l=await(await c.getFileHandle(s,{create:!0})).createSyncAccessHandle(),u=a++;return r.set(u,l),i.set(n,u),u}async function s(e){let{opfsRoot:t,path:n,buffer:o}=e,s=n.replace(/^\//,``).split(`/`),c=s.pop(),l=t;for(let e of s)l=await l.getDirectoryHandle(e,{create:!0});let u=await(await l.getFileHandle(c,{create:!0})).createSyncAccessHandle();u.truncate(0),u.write(new Uint8Array(o),{at:0}),u.flush();let d=a++;return r.set(d,u),i.set(n,d),d}function c(e){let t=e._malloc(52);e.HEAP32.fill(0,t>>2,t+52>>2),e.HEAP32[t+0>>2]=1;function n(t){let n=e.HEAP32[t+4>>2];return r.has(n)&&(r.get(n).close(),r.delete(n)),0}function a(t,n,i,a){let o=e.HEAP32[t+4>>2],s=r.get(o);if(s){let t=e.HEAPU8.subarray(n,n+i),r=s.read(t,{at:Number(a)});return r<i?(e.HEAPU8.fill(0,n+r,n+i),522):0}return 10}function o(t,n,i,a){let o=e.HEAP32[t+4>>2],s=r.get(o);if(s){let t=e.HEAPU8.subarray(n,n+i);return s.write(t,{at:Number(a)}),0}return 10}function s(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);return a?(a.truncate(Number(n)),0):10}function c(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);return a?(a.flush(),0):10}function l(t,n){let i=e.HEAP32[t+4>>2],a=r.get(i);if(a){let t=a.getSize();return e.HEAP32[n>>2]=t>>>0,e.HEAP32[n+4>>2]=t/4294967296>>>0,0}return 10}function u(e,t){return 0}function d(e,t){return 0}function f(t,n){return e.HEAP32[n>>2]=0,0}function p(e,t,n){return 12}function m(e){return 4096}function h(e){return 5648}e.HEAP32[t+4>>2]=e.addFunction(n,`ii`),e.HEAP32[t+8>>2]=e.addFunction(a,`iiiij`),e.HEAP32[t+12>>2]=e.addFunction(o,`iiiij`),e.HEAP32[t+16>>2]=e.addFunction(s,`iij`),e.HEAP32[t+20>>2]=e.addFunction(c,`iii`),e.HEAP32[t+24>>2]=e.addFunction(l,`iii`),e.HEAP32[t+28>>2]=e.addFunction(u,`iii`),e.HEAP32[t+32>>2]=e.addFunction(d,`iii`),e.HEAP32[t+36>>2]=e.addFunction(f,`iii`),e.HEAP32[t+40>>2]=e.addFunction(p,`iiii`),e.HEAP32[t+44>>2]=e.addFunction(m,`ii`),e.HEAP32[t+48>>2]=e.addFunction(h,`ii`);let g=e._malloc(72);e.HEAP32.fill(0,g>>2,g+72>>2);let _=e.lengthBytesUTF8(`opfs`)+1,v=e._malloc(_);e.stringToUTF8(`opfs`,v,_),e.HEAP32[g+0>>2]=1,e.HEAP32[g+4>>2]=8,e.HEAP32[g+8>>2]=512,e.HEAP32[g+16>>2]=v;function y(n,r,a,o,s){let c=r?e.UTF8ToString(r):``,l=i.get(c)??0;return e.HEAP32[a+0>>2]=t,e.HEAP32[a+4>>2]=l,s&&(e.HEAP32[s>>2]=o),0}function b(t,n,r){let a=n?e.UTF8ToString(n):``;return i.delete(a),0}function ee(t,n,r,a){let o=n?e.UTF8ToString(n):``;return e.HEAP32[a>>2]=+!!i.has(o),0}function te(t,n,r,i){let a=n?e.UTF8ToString(n):``,o=a.startsWith(`/`)?a:`/`+a;return e.stringToUTF8(o,i,r),0}function x(t,n,r){let i=new Uint8Array(n);return crypto.getRandomValues(i),e.HEAPU8.set(i,r),n}function S(e,t){return 0}function ne(t,n){let r=Date.now()/864e5+2440587.5;return new DataView(e.HEAPU8.buffer,n,8).setFloat64(0,r,!0),0}function re(e,t,n){return 0}e.HEAP32[g+24>>2]=e.addFunction(y,`iiiiii`),e.HEAP32[g+28>>2]=e.addFunction(b,`iiii`),e.HEAP32[g+32>>2]=e.addFunction(ee,`iiiii`),e.HEAP32[g+36>>2]=e.addFunction(te,`iiiii`),e.HEAP32[g+56>>2]=e.addFunction(x,`iiii`),e.HEAP32[g+60>>2]=e.addFunction(S,`iii`),e.HEAP32[g+64>>2]=e.addFunction(ne,`iii`),e.HEAP32[g+68>>2]=e.addFunction(re,`iiii`),e._sqlite3_vfs_register(g,1)}let l=null,u=null,d=null;self.onmessage=async function({data:e}){let{id:t,type:n}=e;try{let n=await f(e);self.postMessage({id:t,type:`result`,value:n})}catch(e){self.postMessage({id:t,type:`error`,message:e.message})}};async function f(e){let{type:t,db:n,sql:r,params:i,path:a,readOnly:o}=e;if(t===`init`)return await p(e.wasmBinary);if(t===`load`)return await m(a,e.buffer,o);if(t===`open`)return await h(a,o);if(t===`close`)return d.close(n);if(t===`exec`)return d.exec(n,r);if(t===`query`)return d.query(n,r,i);if(t===`run`)return d.run(n,r,i);throw Error(`unknown type: `+t)}async function p(t){return l||(u=await navigator.storage.getDirectory(),l=await e({wasmBinary:t}),c(l),d=n(l)),null}async function m(e,t,n){if(l)return await s({opfsRoot:u,path:e,buffer:t}),await h(e,n);throw Error(`not initialized, call init() first`)}async function h(e,t){if(l)return i.has(e)||await o({opfsRoot:u,path:e}),d.open(e,t);throw Error(`not initialized, call init() first`)}
package/app/index.html CHANGED
@@ -36,6 +36,9 @@
36
36
  }
37
37
  </style>
38
38
  <script type="module" crossorigin src="./assets/index.js"></script>
39
+ <link rel="modulepreload" crossorigin href="./assets/is.js">
40
+ <link rel="modulepreload" crossorigin href="./assets/preload-helper.js">
41
+ <link rel="modulepreload" crossorigin href="./assets/parquet-table.js">
39
42
  <link rel="stylesheet" crossorigin href="./assets/index.css">
40
43
  </head>
41
44
 
package/cli.js CHANGED
@@ -51,10 +51,6 @@ const startFolder = positional[0] ? path.resolve(positional[0]) : process.cwd()
51
51
  const userData = path.join(os.homedir(), ".objectexplorer")
52
52
  fs.mkdirSync(userData, { recursive: true })
53
53
 
54
- // seed the launch folder as a default root; the server keeps existing folders.json
55
- // entries whose folderPath still exists, so this just needs to be present on disk.
56
- seedFolder(userData, startFolder)
57
-
58
54
  // an absolute path is not a valid ESM specifier on Windows ("C:\..." parses as scheme
59
55
  // "c:"), so the bundle is addressed as a file:// URL; the dev branch stays relative.
60
56
  const serverPath = isDev ? "../server/WebServer.js" : pathToFileURL(path.join(bundleDir, "WebServer.mjs")).href
@@ -68,6 +64,9 @@ const server = await WebServer({
68
64
  publicDir,
69
65
  demoPath,
70
66
  userData,
67
+ // the launch folder becomes a root, so it is in the tree on the first run; the server
68
+ // records it in meta.db and finds it there on the next start
69
+ startFolder,
71
70
  port,
72
71
  portRetry: true,
73
72
  })
@@ -81,34 +80,6 @@ else {
81
80
  openBrowser(url)
82
81
  }
83
82
 
84
- function seedFolder(userData, folderPath) {
85
- const foldersFile = path.join(userData, "folders.json")
86
- let folders = []
87
- if (fs.existsSync(foldersFile)) {
88
- folders = JSON.parse(fs.readFileSync(foldersFile, "utf8"))
89
- }
90
- const exists = folders.find(folder => folder.folderPath === folderPath)
91
- if (exists) {
92
- }
93
- else {
94
- const name = folderName(folderPath)
95
- folders.push({ name, root: name, path: "/", objectKind: "folder", folderPath })
96
- fs.writeFileSync(foldersFile, JSON.stringify(folders, null, 4))
97
- }
98
- }
99
-
100
- // path.basename of a drive root ("C:\") or of "/" is empty, so fall back to the path
101
- // with its separators and colon stripped ("C:\" -> "C", "/" -> "root")
102
- function folderName(folderPath) {
103
- const name = path.basename(folderPath)
104
- if (name) {
105
- return name
106
- }
107
- else {
108
- return folderPath.replace(/[\\/:]/g, "") || "root"
109
- }
110
- }
111
-
112
83
  function openBrowser(target) {
113
84
  if (process.platform === "darwin") {
114
85
  launch("open", [target])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knockdata/objectexplorer",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "The VSCode for Cloud Storage — Explore, Analyze, Search your cloud storage locally with single click",
5
5
  "type": "module",
6
6
  "license": "ISC",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@ffmpeg/core": "0.12.10",
23
- "@knockdata/duckdb": "1.5.5-r.3",
23
+ "@knockdata/duckdb": "1.5.5-r.6",
24
24
  "@knockdata/sqlite": "3.51.3-r.2"
25
25
  },
26
26
  "files": [