browser-sqlite 1.0.0-rc.3 → 1.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/NOTICE +56 -0
  2. package/README.md +112 -104
  3. package/dist/LICENSE +21 -0
  4. package/dist/NOTICE +56 -0
  5. package/dist/abandon.d.ts +77 -0
  6. package/dist/api.d.ts +426 -0
  7. package/dist/bulk.d.ts +57 -0
  8. package/dist/capabilities.d.ts +23 -0
  9. package/dist/client.d.ts +221 -0
  10. package/dist/credits.d.ts +31 -0
  11. package/dist/{esm/src/debug.d.ts → debug.d.ts} +21 -10
  12. package/dist/delete.d.ts +48 -0
  13. package/dist/epochs.d.ts +85 -0
  14. package/dist/errors.d.ts +76 -0
  15. package/dist/index.d.ts +8 -0
  16. package/dist/index.js +5 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/inspect.d.ts +96 -0
  19. package/dist/locks.d.ts +172 -0
  20. package/dist/logger.d.ts +24 -0
  21. package/dist/pool.d.ts +191 -0
  22. package/dist/queries.d.ts +65 -0
  23. package/dist/scheduler.d.ts +145 -0
  24. package/dist/sqlite-codes.d.ts +154 -0
  25. package/dist/supervisor.d.ts +17 -0
  26. package/dist/transaction.d.ts +61 -0
  27. package/dist/types.d.ts +642 -0
  28. package/dist/utils.d.ts +156 -0
  29. package/dist/worker/cloneable.d.ts +25 -0
  30. package/dist/worker/probes.d.ts +26 -0
  31. package/dist/worker/sqlite-code.d.ts +9 -0
  32. package/dist/worker/statement-cache.d.ts +36 -0
  33. package/dist/worker/wa-sqlite-async.wasm +0 -0
  34. package/dist/worker/wa-sqlite-jspi.wasm +0 -0
  35. package/dist/worker/wa-sqlite.wasm +0 -0
  36. package/dist/worker/worker.js +11 -0
  37. package/dist/worker/worker.js.map +1 -0
  38. package/package.json +46 -22
  39. package/dist/esm/index.js +0 -424
  40. package/dist/esm/rslib.config.d.ts +0 -2
  41. package/dist/esm/rstest.config.d.ts +0 -2
  42. package/dist/esm/src/client.d.ts +0 -332
  43. package/dist/esm/src/index.d.ts +0 -1
  44. package/dist/esm/src/orchestrator.d.ts +0 -87
  45. package/dist/esm/src/types.d.ts +0 -83
  46. package/dist/esm/src/utils.d.ts +0 -6
  47. /package/dist/{esm/src → worker}/worker.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ /*!
2
+ * browser-sqlite worker bundle — MIT
3
+ *
4
+ * Bundles wa-sqlite (https://github.com/rhashimoto/wa-sqlite)
5
+ * Copyright (c) 2023 Roy T. Hashimoto — MIT License
6
+ * Loads WebAssembly builds of SQLite (https://sqlite.org) — public domain
7
+ *
8
+ * Full third-party notices: see NOTICE, distributed alongside this file.
9
+ */
10
+ let e,t,r,i,n,s,a,o,l,c;var _,u,d,h,f={};f.d=(e,t,r)=>{var i=(t,r)=>{for(var i in t)f.o(t,i)&&!f.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,[r]:t[i]})};i(t,"get"),i(r,"value")},f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),f.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var p={};f.r(p),f.d(p,{default:()=>ev});var m={};f.r(m),f.d(m,{default:()=>ew});var g={};f.r(g),f.d(g,{default:()=>ey});var b={};f.r(b),f.d(b,{AccessHandlePoolVFS:()=>et});var w={};f.r(w),f.d(w,{IDBBatchAtomicVFS:()=>Z,IDBContext:()=>ee});var v={};f.r(v),f.d(v,{IDBMirrorVFS:()=>G});var y={};f.r(y),f.d(y,{MemoryAsyncVFS:()=>z});var q={};f.r(q),f.d(q,{MemoryVFS:()=>C});var k={};f.r(k),f.d(k,{OPFSAdaptiveVFS:()=>eg});var E={};f.r(E),f.d(E,{OPFSAnyContextVFS:()=>N});var x={};f.r(x),f.d(x,{OPFSCoopSyncVFS:()=>ea});var S={};f.r(S),f.d(S,{OPFSWriteAheadVFS:()=>eh});class F{name;mxPathname=64;_module;constructor(e,t){this.name=e,this._module=t}close(){}isReady(){return!0}hasAsyncMethod(e){return!1}xOpen(e,t,r,i,n){return 14}xDelete(e,t,r){return 0}xAccess(e,t,r,i){return 0}xFullPathname(e,t,r,i){return 0}xGetLastError(e,t,r){return 0}xClose(e){return 0}xRead(e,t,r,i,n){return 0}xWrite(e,t,r,i,n){return 0}xTruncate(e,t,r){return 0}xSync(e,t){return 0}xFileSize(e,t){return 0}xLock(e,t){return 0}xUnlock(e,t){return 0}xCheckReservedLock(e,t){return 0}xFileControl(e,t,r){return 12}xSectorSize(e){return 512}xDeviceCharacteristics(e){return 0}}[256,2048,512,4096,1024,8192,16384,524288].reduce((e,t)=>e|t);let A=Object.getPrototypeOf(async function(){}).constructor;class T extends F{constructor(e,t){super(e,t)}hasAsyncMethod(e){return this[`j${e.slice(1)}`]instanceof A}getFilename(e){throw Error("unimplemented")}jOpen(e,t,r,i){return 14}jDelete(e,t){return 0}jAccess(e,t,r){return 0}jFullPathname(e,t){let{read:r,written:i}=new TextEncoder().encodeInto(e,t);return r<e.length||i>=t.length?10:(t[i]=0,0)}jGetLastError(e){return 0}jClose(e){return 0}jRead(e,t,r){return t.fill(0),522}jWrite(e,t,r){return 778}jTruncate(e,t){return 0}jSync(e,t){return 0}jFileSize(e,t){return 0}jLock(e,t){return 0}jUnlock(e,t){return 0}jCheckReservedLock(e,t){return t.setInt32(0,0,!0),0}jFileControl(e,t,r){return 12}jSectorSize(e){return super.xSectorSize(e)}jDeviceCharacteristics(e){return 0}xOpen(e,t,r,i,n){let s=this.#e(t,i),a=this.#t("Int32",n);return this.log?.("jOpen",s,r,"0x"+i.toString(16)),this.jOpen(s,r,i,a)}xDelete(e,t,r){let i=this._module.UTF8ToString(t);return this.log?.("jDelete",i,r),this.jDelete(i,r)}xAccess(e,t,r,i){let n=this._module.UTF8ToString(t),s=this.#t("Int32",i);return this.log?.("jAccess",n,r),this.jAccess(n,r,s)}xFullPathname(e,t,r,i){let n=this._module.UTF8ToString(t),s=this._module.HEAPU8.subarray(i,i+r);return this.log?.("jFullPathname",n,r),this.jFullPathname(n,s)}xGetLastError(e,t,r){let i=this._module.HEAPU8.subarray(r,r+t);return this.log?.("jGetLastError",t),this.jGetLastError(i)}xClose(e){return this.log?.("jClose",e),this.jClose(e)}xRead(e,t,r,i,n){let s=this.#r(t,r),a=P(i,n);return this.log?.("jRead",e,r,a),this.jRead(e,s,a)}xWrite(e,t,r,i,n){let s=this.#r(t,r),a=P(i,n);return this.log?.("jWrite",e,s,a),this.jWrite(e,s,a)}xTruncate(e,t,r){let i=P(t,r);return this.log?.("jTruncate",e,i),this.jTruncate(e,i)}xSync(e,t){return this.log?.("jSync",e,t),this.jSync(e,t)}xFileSize(e,t){let r=this.#t("BigInt64",t);return this.log?.("jFileSize",e),this.jFileSize(e,r)}xLock(e,t){return this.log?.("jLock",e,t),this.jLock(e,t)}xUnlock(e,t){return this.log?.("jUnlock",e,t),this.jUnlock(e,t)}xCheckReservedLock(e,t){let r=this.#t("Int32",t);return this.log?.("jCheckReservedLock",e),this.jCheckReservedLock(e,r)}xFileControl(e,t,r){let i=new DataView(this._module.HEAPU8.buffer,this._module.HEAPU8.byteOffset+r);return this.log?.("jFileControl",e,t,i),this.jFileControl(e,t,i)}xSectorSize(e){return this.log?.("jSectorSize",e),this.jSectorSize(e)}xDeviceCharacteristics(e){return this.log?.("jDeviceCharacteristics",e),this.jDeviceCharacteristics(e)}#t(e,t){return new D(this._module,t,e)}#r(e,t){return new I(this._module,e,t)}#e(e,t){if(64&t){let t=e,r=1,i=[];for(;r;){let e=this._module.HEAPU8[t++];if(e)i.push(e);else switch(!this._module.HEAPU8[t]&&(r=null),r){case 1:i.push(63),r=2;break;case 2:i.push(61),r=3;break;case 3:i.push(38),r=2}}return new TextDecoder().decode(new Uint8Array(i))}return e?this._module.UTF8ToString(e):null}}function P(e,t){return 0x100000000*t+e+0x100000000*(e<0)}class I{#i;#n=new Uint8Array;get #s(){return 0===this.#n.buffer.byteLength&&(this.#n=this.#i.HEAPU8.subarray(this.byteOffset,this.byteOffset+this.byteLength)),this.#n}constructor(e,t,r){this.#i=e,this.byteOffset=t,this.length=this.byteLength=r}get buffer(){return this.#s.buffer}at(e){return this.#s.at(e)}copyWithin(e,t,r){this.#s.copyWithin(e,t,r)}entries(){return this.#s.entries()}every(e){return this.#s.every(e)}fill(e,t,r){this.#s.fill(e,t,r)}filter(e){return this.#s.filter(e)}find(e){return this.#s.find(e)}findIndex(e){return this.#s.findIndex(e)}findLast(e){return this.#s.findLast(e)}findLastIndex(e){return this.#s.findLastIndex(e)}forEach(e){this.#s.forEach(e)}includes(e,t){return this.#s.includes(e,t)}indexOf(e,t){return this.#s.indexOf(e,t)}join(e){return this.#s.join(e)}keys(){return this.#s.keys()}lastIndexOf(e,t){return this.#s.lastIndexOf(e,t)}map(e){return this.#s.map(e)}reduce(e,t){return this.#s.reduce(e,t)}reduceRight(e,t){return this.#s.reduceRight(e,t)}reverse(){this.#s.reverse()}set(e,t){this.#s.set(e,t)}slice(e,t){return this.#s.slice(e,t)}some(e){return this.#s.some(e)}sort(e){this.#s.sort(e)}subarray(e,t){return this.#s.subarray(e,t)}toLocaleString(e,t){return this.#s.toLocaleString(e,t)}toReversed(){return this.#s.toReversed()}toSorted(e){return this.#s.toSorted(e)}toString(){return this.#s.toString()}values(){return this.#s.values()}with(e,t){return this.#s.with(e,t)}[Symbol.iterator](){return this.#s[Symbol.iterator]()}}class D{#i;#a;#o=new DataView(new ArrayBuffer(0));get #l(){return 0===this.#o.buffer.byteLength&&(this.#o=new DataView(this.#i.HEAPU8.buffer,this.#i.HEAPU8.byteOffset+this.byteOffset)),this.#o}constructor(e,t,r){this.#i=e,this.byteOffset=t,this.#a=r}get buffer(){return this.#l.buffer}get byteLength(){return"Int32"===this.#a?4:8}getInt32(e,t){if("Int32"!==this.#a)throw Error("invalid type");if(!t)throw Error("must be little endian");return this.#l.getInt32(e,t)}setInt32(e,t,r){if("Int32"!==this.#a)throw Error("invalid type");if(!r)throw Error("must be little endian");this.#l.setInt32(e,t,r)}getBigInt64(e,t){if("BigInt64"!==this.#a)throw Error("invalid type");if(!t)throw Error("must be little endian");return this.#l.getBigInt64(e,t)}setBigInt64(e,t,r){if("BigInt64"!==this.#a)throw Error("invalid type");if(!r)throw Error("must be little endian");this.#l.setBigInt64(e,t,r)}}class C extends T{mapNameToFile=new Map;mapIdToFile=new Map;static async create(e,t){let r=new C(e,t);return await r.isReady(),r}constructor(e,t){super(e,t)}close(){for(let e of this.mapIdToFile.keys())this.jClose(e)}jOpen(e,t,r,i){let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,s=this.mapNameToFile.get(n);if(!s)if(!(4&r))return 14;else s={pathname:n,flags:r,size:0,data:new ArrayBuffer(0)},this.mapNameToFile.set(n,s);return this.mapIdToFile.set(t,s),i.setInt32(0,r,!0),0}jClose(e){let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),8&t.flags&&this.mapNameToFile.delete(t.pathname),0}jRead(e,t,r){let i=this.mapIdToFile.get(e),n=Math.min(r,i.size),s=Math.min(r+t.byteLength,i.size)-n;return(s&&t.set(new Uint8Array(i.data,n,s)),s<t.byteLength)?(t.fill(0,s),522):0}jWrite(e,t,r){let i=this.mapIdToFile.get(e);if(r+t.byteLength>i.data.byteLength){let e=new ArrayBuffer(Math.max(r+t.byteLength,2*i.data.byteLength));new Uint8Array(e).set(new Uint8Array(i.data,0,i.size)),i.data=e}return new Uint8Array(i.data,r,t.byteLength).set(t.subarray()),i.size=Math.max(i.size,r+t.byteLength),0}jTruncate(e,t){let r=this.mapIdToFile.get(e);return r.size=Math.min(r.size,t),0}jFileSize(e,t){let r=this.mapIdToFile.get(e);return t.setBigInt64(0,BigInt(r.size),!0),0}jDelete(e,t){let r=new URL(e,"file://").pathname;return this.mapNameToFile.delete(r),0}jAccess(e,t,r){let i=new URL(e,"file://").pathname,n=this.mapNameToFile.get(i);return r.setInt32(0,+!!n,!0),0}}class z extends C{static async create(e,t){let r=new C(e,t);return await r.isReady(),r}constructor(e,t){super(e,t)}async close(){for(let e of this.mapIdToFile.keys())await this.xClose(e)}async jOpen(e,t,r,i){return super.jOpen(e,t,r,i)}async jClose(e){return super.jClose(e)}async jRead(e,t,r){return super.jRead(e,t,r)}async jWrite(e,t,r){return super.jWrite(e,t,r)}async xTruncate(e,t){return super.jTruncate(e,t)}async jFileSize(e,t){return super.jFileSize(e,t)}async jDelete(e,t){return super.jDelete(e,t)}async jAccess(e,t,r){return super.jAccess(e,t,r)}}let L={mode:"shared"},M={ifAvailable:!0,mode:"shared"},R={ifAvailable:!0,mode:"exclusive"},j=["exclusive","shared","shared+hint"],H=e=>class extends e{#c={lockPolicy:"exclusive",lockTimeout:1/0};#_=new Map;constructor(e,t,r){if(super(e,t,r),Object.assign(this.#c,r),-1===j.indexOf(this.#c.lockPolicy))throw Error(`WebLocksMixin: invalid lock mode: ${r.lockPolicy}`)}async jLock(e,t){try{let r=this.#u(e);if(t<=r.type)return 0;switch(this.#c.lockPolicy){case"exclusive":return await this.#d(r,t);case"shared":case"shared+hint":return await this.#h(r,t)}}catch(e){return console.error("WebLocksMixin: lock error",e),3850}}async jUnlock(e,t){try{let r=this.#u(e);if(!(t<r.type))return 0;switch(this.#c.lockPolicy){case"exclusive":return await this.#f(r,t);case"shared":case"shared+hint":return await this.#p(r,t)}}catch(e){return console.error("WebLocksMixin: unlock error",e),2058}}async jCheckReservedLock(e,t){try{let r=this.#u(e);switch(this.#c.lockPolicy){case"exclusive":return this.#m(r,t);case"shared":case"shared+hint":return await this.#g(r,t)}}catch(e){return console.error("WebLocksMixin: check reserved lock error",e),3594}return t.setInt32(0,0,!0),0}jFileControl(e,t,r){return t===H.WRITE_HINT_OP_CODE&&"shared+hint"===this.#c.lockPolicy&&(this.#u(e).writeHint=!0),12}#u(e){let t=this.#_.get(e);return t||(t={baseName:this.getFilename(e),type:0,writeHint:!1},this.#_.set(e,t)),t}async #d(e,t){if(!e.access){if(!await this.#b(e,"access"))return 5;console.assert(!!e.access)}return e.type=t,0}#f(e,t){return 0===t&&(e.access?.(),console.assert(!e.access)),e.type=t,0}#m(e,t){return t.setInt32(0,0,!0),0}async #h(e,t){switch(e.type){case 0:if(1===t){if(e.writeHint&&!await this.#b(e,"hint"))return 5;if(!await this.#b(e,"gate",L))return e.hint?.(),5;await this.#b(e,"access",L),e.gate(),console.assert(!e.gate),console.assert(!!e.access),console.assert(!e.reserved)}else throw Error("unsupported lock transition");break;case 1:switch(t){case 2:if("shared+hint"===this.#c.lockPolicy&&!e.hint&&!await this.#b(e,"hint",R))return 5;if(!await this.#b(e,"reserved",R))return e.hint?.(),5;e.access(),console.assert(!e.gate),console.assert(!e.access),console.assert(!!e.reserved);break;case 4:if(!await this.#b(e,"gate"))return 5;if(e.access(),!await this.#b(e,"access"))return e.gate(),5;console.assert(!!e.gate),console.assert(!!e.access),console.assert(!e.reserved);break;default:throw Error("unsupported lock transition")}break;case 2:if(4===t){if(!await this.#b(e,"gate"))return 5;if(!await this.#b(e,"access"))return e.gate(),5;console.assert(!!e.gate),console.assert(!!e.access),console.assert(!!e.reserved)}else throw Error("unsupported lock transition")}return e.type=t,0}async #p(e,t){if(0===t)e.access?.(),e.gate?.(),e.reserved?.(),e.hint?.(),e.writeHint=!1,console.assert(!e.access),console.assert(!e.gate),console.assert(!e.reserved),console.assert(!e.hint);else switch(e.type){case 4:e.access(),await this.#b(e,"access",L),e.gate(),e.reserved?.(),e.hint?.(),console.assert(!!e.access),console.assert(!e.gate),console.assert(!e.reserved);break;case 2:await this.#b(e,"access",L),e.reserved(),e.hint?.(),console.assert(!!e.access),console.assert(!e.gate),console.assert(!e.reserved)}return e.type=t,0}async #g(e,t){return await this.#b(e,"reserved",M)?(e.reserved(),t.setInt32(0,0,!0)):t.setInt32(0,1,!0),0}#b(e,t,r={}){return console.assert(!e[t]),new Promise(i=>{if(!r.ifAvailable&&this.#c.lockTimeout<1/0){let e=new AbortController;r=Object.assign({},r,{signal:e.signal}),setTimeout(()=>{e.abort(),i?.(!1)},this.#c.lockTimeout)}let n=`lock##${e.baseName}##${t}`;navigator.locks.request(n,r,r=>{if(r)return new Promise(r=>{e[t]=()=>{r(),e[t]=null},i(!0),i=null});e[t]=null,i(!1),i=null}).catch(e=>{if("AbortError"!==e.name)throw e})})}};async function O(e,t){let[r,i,n]=e.match(/[/]?(.*)[/](.*)$/),s=await navigator.storage.getDirectory();for(let e of i.split("/"))e&&(s=await s.getDirectoryHandle(e,{create:t}));return[s,n]}H.WRITE_HINT_OP_CODE=-9999;class U{pathname;flags;fileHandle;blob;writable;constructor(e,t){this.pathname=e,this.flags=t}}class N extends H(T){mapIdToFile=new Map;lastError=null;log=null;static async create(e,t,r){let i=new N(e,t,r);return await i.isReady(),i}constructor(e,t,r={}){super(e,t,r)}getFilename(e){let t=this.mapIdToFile.get(e).pathname;return`OPFS:${t}`}async jOpen(e,t,r,i){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,s=new U(n,r);this.mapIdToFile.set(t,s);let a=!!(4&r),[o,l]=await O(n,a);return s.fileHandle=await o.getFileHandle(l,{create:a}),i.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,[i,n]=await O(r,!1),s=i.removeEntry(n,{recursive:!1});return t&&await s,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,[i,n]=await O(t,!1);return await i.getFileHandle(n,{create:!1}),r.setInt32(0,1,!0),0}catch(e){if("NotFoundError"===e.name)return r.setInt32(0,0,!0),0;return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);if(this.mapIdToFile.delete(e),await t.writable?.close(),t?.flags&8){let[e,r]=await O(t.pathname,!1);await e.removeEntry(r,{recursive:!1})}return 0}catch(e){return 2570}}async jRead(e,t,r){try{let i=this.mapIdToFile.get(e);i.writable&&(await i.writable.close(),i.writable=null,i.blob=null),i.blob||(i.blob=await i.fileHandle.getFile());let n=await i.blob.slice(r,r+t.byteLength).arrayBuffer().then(e=>(t.set(new Uint8Array(e)),e.byteLength));if(n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}async jWrite(e,t,r){try{let i=this.mapIdToFile.get(e);return i.writable||(i.writable=await i.fileHandle.createWritable({keepExistingData:!0})),await i.writable.seek(r),await i.writable.write(t.slice()),i.blob=null,0}catch(e){return this.lastError=e,778}}async jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return r.writable||(r.writable=await r.fileHandle.createWritable({keepExistingData:!0})),await r.writable.truncate(t),r.blob=null,0}catch(e){return this.lastError=e,1546}}async jSync(e,t){try{let t=this.mapIdToFile.get(e);return await t.writable?.close(),t.writable=null,t.blob=null,0}catch(e){return this.lastError=e,1034}}async jFileSize(e,t){try{let r=this.mapIdToFile.get(e);return r.writable&&(await r.writable.close(),r.writable=null,r.blob=null),r.blob||(r.blob=await r.fileHandle.getFile()),t.setBigInt64(0,BigInt(r.blob.size),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){return 1===t&&(this.mapIdToFile.get(e).blob=null),super.jLock(e,t)}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}let B={mode:"shared"},$={ifAvailable:!0,mode:"shared"},W={ifAvailable:!0,mode:"exclusive"};Math.random().toString(36).slice(2);class V{path;flags;blockSize;blocks;viewTx;viewReleaser;broadcastChannel;broadcastReceived;lockState;locks;abortController;txActive;txWriteHint;txOverwrite;synchronous;constructor(e,t){this.path=e,this.flags=t,this.blockSize=0,this.blocks=new Map,256&t&&(this.viewTx=null,this.viewReleaser=null,this.broadcastChannel=new BroadcastChannel("mirror:"+e),this.broadcastReceived=[],this.lockState=0,this.locks={},this.txActive=null,this.txWriteHint=!1,this.txOverwrite=!1,this.synchronous="full")}}class G extends T{#w=new Map;#v=new Map;#y=null;#q;log=null;#k;static async create(e,t,r){let i=new G(e,t,r);return await i.isReady(),i}constructor(e,t,r={}){super(e,t),this.#k=this.#E(e)}async #E(e){this.#q=await new Promise((t,r)=>{let i=indexedDB.open(e,1);i.onupgradeneeded=e=>{let t=i.result;0===e.oldVersion&&(t.createObjectStore("blocks",{keyPath:["path","offset"]}),t.createObjectStore("tx",{keyPath:["path","txId"]}))},i.onsuccess=()=>t(i.result),i.onerror=()=>r(i.error)})}close(){return this.#q.close()}async isReady(){return await super.isReady(),this.#k}async jOpen(e,t,r,i){try{let n,s=new URL(e||Math.random().toString(36).slice(2),"file://").pathname;if(256&r){n=new V(s,r);let e=this.#q.transaction(["blocks","tx"],"readwrite"),t=e.objectStore("blocks");if(await X(t.count([s,0]))===0)if(4&r)await X(t.put({path:s,offset:0,data:new Uint8Array(0)}));else throw Error("File not found");await new Promise((e,r)=>{let i=IDBKeyRange.bound([s,0],[s,1/0]),a=t.openCursor(i);a.onsuccess=()=>{let t=a.result;if(t){let{offset:e,data:r}=t.value;n.blocks.set(e,r),t.continue()}else e()},a.onerror=()=>r(a.error)}),n.blockSize=n.blocks.get(0)?.byteLength??0;let i=e.objectStore("tx");n.viewTx=await new Promise((e,t)=>{let r=IDBKeyRange.bound([s,0],[s,1/0]),n=i.openCursor(r,"prev");n.onsuccess=()=>{let t=n.result;t?e(t.value):e({txId:0})},n.onerror=()=>t(n.error)}),await this.#x(n,n.viewTx),n.broadcastChannel.addEventListener("message",e=>{n.broadcastReceived.push(e.data),0===n.lockState&&this.#S(n)})}else if(!(n=this.#v.get(s)))if(4&r)(n=new V(s,r)).blocks.set(0,new Uint8Array(0));else throw Error("File not found");return i.setInt32(0,r,!0),this.#w.set(t,n),this.#v.set(s,n),0}catch(e){return this.#y=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,i=await this.#F(r);return t&&await i,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,i=this.#v.has(t);return r.setInt32(0,+!!i,!0),0}catch(e){return this.#y=e,3338}}async jClose(e){try{let t=this.#w.get(e);return this.#w.delete(e),t?.flags&256&&(t.broadcastChannel.close(),t.viewReleaser?.()),t?.flags&8&&this.#F(t.path),0}catch(e){return 4106}}jRead(e,t,r){try{let i=this.#w.get(e),n=0,s=0;for(;s<t.byteLength;){let e=r+s,a=Math.floor(e/i.blockSize),o=e%i.blockSize,l=i.txActive?.blocks.get(a*i.blockSize)??i.blocks.get(a*i.blockSize);if(!l)break;let c=Math.min(l.byteLength-o,t.byteLength-s);t.set(l.subarray(o,o+c),s),s+=c,n+=c}if(n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.#y=e,266}}jWrite(e,t,r){try{let i=this.#w.get(e);if(256&i.flags){this.#A(i);for(let e=i.txActive.fileSize;e<r;e+=t.byteLength)i.txActive.blocks.set(e,new Uint8Array(t.byteLength));i.txActive.blocks.set(r,t.slice()),i.txActive.fileSize=Math.max(i.txActive.fileSize,r+t.byteLength),i.blockSize=t.byteLength}else{let e=i.blocks.get(0);if(r+t.byteLength>e.byteLength){let n=Math.max(r+t.byteLength,2*e.byteLength),s=new Uint8Array(n);s.set(e),i.blocks.set(0,s),e=s}e.set(t.subarray(),r),i.blockSize=Math.max(i.blockSize,r+t.byteLength)}return 0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.#w.get(e);if(256&r.flags)this.#A(r),r.txActive.fileSize=t;else if(t<r.blockSize){let e=r.blocks.get(0);r.blocks.set(0,e.subarray(0,t)),r.blockSize=t}return 0}catch(e){return console.error(e),this.lastError=e,1546}}jFileSize(e,t){let r=this.#w.get(e),i=r.txActive?.fileSize??r.blockSize*r.blocks.size;return t.setBigInt64(0,BigInt(i),!0),0}async jLock(e,t){let r=this.#w.get(e);if(t<=r.lockState)return 0;switch(t){case 1:if(r.txWriteHint&&!await this.#T(r,"hint"))return 5;break;case 2:if(!r.locks.hint&&!await this.#T(r,"hint",W))return 5;if(!await this.#T(r,"reserved",W))return r.locks.hint(),5;let i=this.#q.transaction(["blocks","tx"]),n=IDBKeyRange.bound([r.path,r.viewTx.txId],[r.path,1/0]),s=await X(i.objectStore("tx").getAll(n));if(s.length&&s.at(-1).txId>r.viewTx.txId){let e=i.objectStore("blocks");for(let t of s)for(let i of Array.from(t.blocks.keys())){let n=await X(e.get([r.path,i]));t.blocks.set(i,n.data)}return r.broadcastReceived.push(...s),r.locks.reserved(),5}console.assert(s[0]?.txId===r.viewTx.txId||!r.viewTx.txId);break;case 4:await this.#T(r,"write")}return r.lockState=t,0}jUnlock(e,t){let r=this.#w.get(e);if(t>=r.lockState)return 0;switch(t){case 1:r.locks.write?.(),r.locks.reserved?.(),r.locks.hint?.();break;case 0:this.#S(r),r.locks.write?.(),r.locks.reserved?.(),r.locks.hint?.()}return r.lockState=t,0}async jCheckReservedLock(e,t){try{let r=this.#w.get(e);return console.assert(256&r.flags),await this.#T(r,"reserved",$)?(t.setInt32(0,0,!0),r.locks.reserved()):t.setInt32(0,1,!0),0}catch(e){return console.error(e),this.lastError=e,3850}}async jFileControl(e,t,r){try{let i=this.#w.get(e);switch(t){case 14:let n=K(r,4),s=K(r,8);switch(this.log?.("xFileControl",i.path,"PRAGMA",n,s),n.toLowerCase()){case"page_size":if(s&&i.blockSize&&Number(s)!==i.blockSize)return 1;break;case"synchronous":if(s)switch(s.toLowerCase()){case"full":case"2":case"extra":case"3":i.synchronous="full";break;case"normal":case"1":i.synchronous="normal";break;default:return console.warn(`unsupported synchronous mode: ${s}`),1}}break;case 31:return this.log?.("xFileControl","BEGIN_ATOMIC_WRITE",i.path),0;case 32:return this.log?.("xFileControl","COMMIT_ATOMIC_WRITE",i.path),0;case 33:return this.#P(i),0;case 21:this.log?.("xFileControl","SYNC",i.path),i.txActive&&!i.txOverwrite&&await this.#I(i);break;case 11:i.txOverwrite=!0;break;case 22:this.log?.("xFileControl","COMMIT_PHASETWO",i.path),i.txActive&&await this.#I(i),i.txOverwrite=!1}}catch(e){return this.#y=e,10}return 12}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.#y){console.error(this.#y);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.#y.message,t);e[r]=0}return 0}#D(e,t){for(let[r,i]of t.blocks)e.blocks.set(r,i),0===e.blockSize&&(e.blockSize=i.byteLength);if(e.blockSize){let r=Math.ceil(t.fileSize/e.blockSize)*e.blockSize;for(let t of[...e.blocks.keys()])t>=r&&e.blocks.delete(t)}e.viewTx=t}async #I(e){this.#D(e,e.txActive),this.#x(e,e.txActive);let t=await this.#C(e),r=this.#q.transaction(["blocks","tx"],"readwrite"),i=r.objectStore("blocks");for(let[t,r]of e.txActive.blocks)i.put({path:e.path,offset:t,data:r});if(e.blockSize){let t=Math.ceil(e.txActive.fileSize/e.blockSize)*e.blockSize;i.delete(IDBKeyRange.bound([e.path,t],[e.path,1/0]))}let n=IDBKeyRange.bound([e.path,-1/0],[e.path,t],!1,!0);r.objectStore("tx").delete(n);let s=Object.assign({},e.txActive);s.blocks=new Map(Array.from(e.txActive.blocks,([e])=>[e,null])),r.objectStore("tx").put(s);let a=new Promise((t,i)=>{let n=e.txActive;r.oncomplete=()=>{e.broadcastChannel.postMessage(n),t()},r.onabort=()=>i(r.error),r.commit()});"full"===e.synchronous&&await a,e.txActive=null,e.txWriteHint=!1}#P(e){e.txActive=null,e.txWriteHint=!1}#A(e){e.txActive||(e.txActive={path:e.path,txId:e.viewTx.txId+1,blocks:new Map,fileSize:e.blockSize*e.blocks.size})}async #F(e){this.#v.delete(e);let t=this.#q.transaction(["blocks"],"readwrite").objectStore("blocks").delete(IDBKeyRange.bound([e,0],[e,1/0]));await new Promise((e,r)=>{let i=t.transaction;i.oncomplete=e,i.onerror=()=>r(i.error)})}async #C(e){let t=/^(.*)@@\[(\d+)\]$/,r=e.viewTx.txId;for(let{name:i}of(await navigator.locks.query()).held){let n=t.exec(i);n&&n[1]===e.path&&(r=Math.min(r,Number(n[2])))}return r}#T(e,t,r={}){return new Promise(i=>{let n=`${e.path}@@${t}`;navigator.locks.request(n,r,r=>{if(r)return new Promise(r=>{e.locks[t]=()=>{r(),e.locks[t]=null},i(!0)});e.locks[t]=null,i(!1)}).catch(e=>{if("AbortError"!==e.name)throw e})})}#S(e){e.broadcastReceived.sort((e,t)=>e.txId-t.txId);let t=0,r=e.viewTx;for(let i of e.broadcastReceived){if(i.txId<=r.txId);else if(i.txId===r.txId+1)this.log?.(`accept tx ${i.txId}`),this.#D(e,i),r=i;else{console.warn(`missing tx ${r.txId+1} (got ${i.txId})`);break}t++}e.broadcastReceived.splice(0,t),r.txId>e.viewTx.txId&&this.#x(e,r)}async #x(e,t){e.viewTx=t;let r=`${e.path}@@[${t.txId}]`,i=await new Promise(e=>{navigator.locks.request(r,B,t=>new Promise(t=>{e(t)}))});e.viewReleaser?.(),e.viewReleaser=i}}function X(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error)})}function K(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}let Y=new Set(["TransactionInactiveError","InvalidStateError"]);class J{path;flags;metadata;fileSize=0;needsMetadataSync=!1;rollback=null;changedPages=new Set;synchronous="full";txOptions={durability:"strict"};constructor(e,t,r){this.path=e,this.flags=t,this.metadata=r}}class Z extends H(T){mapIdToFile=new Map;lastError=null;log=null;#k;#q;static async create(e,t,r){let i=new Z(e,t,r);return await i.isReady(),i}constructor(e,t,r={}){super(e,t,r),this.#k=this.#E(r.idbName??e)}async #E(e){this.#q=await ee.create(e)}close(){this.#q.close()}async isReady(){await super.isReady(),await this.#k}getFilename(e){let t=this.mapIdToFile.get(e).path;return`IDB(${this.name}):${t}`}async jOpen(e,t,r,i){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,s=await this.#q.q(({metadata:e})=>e.get(n));if(!s&&4&r&&(s={name:n,fileSize:0,version:0},await this.#q.q(({metadata:e})=>e.put(s),"rw")),!s)throw Error(`File ${n} not found`);let a=new J(n,r,s);return this.mapIdToFile.set(t,a),i.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname;return this.#q.q(({metadata:e,blocks:t})=>{let i=IDBKeyRange.bound([r,-1/0],[r,1/0]);t.delete(i),e.delete(r)},"rw"),t&&await this.#q.sync(!1),0}catch(e){return this.lastError=e,2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,i=await this.#q.q(({metadata:e})=>e.get(t));return r.setInt32(0,+!!i,!0),0}catch(e){return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),8&t.flags&&await this.#q.q(({metadata:e,blocks:r})=>{e.delete(t.path),r.delete(IDBKeyRange.bound([t.path,0],[t.path,1/0]))},"rw"),t.needsMetadataSync&&this.#q.q(({metadata:e})=>e.put(t.metadata),"rw"),await this.#q.sync("full"===t.synchronous),0}catch(e){return this.lastError=e,4106}}async jRead(e,t,r){try{let i=this.mapIdToFile.get(e),n=0;for(;n<t.byteLength;){let e=r+n,s=await this.#q.q(({blocks:t})=>{let r=IDBKeyRange.bound([i.path,-e],[i.path,1/0]);return t.get(r)});if(!s||s.data.byteLength-s.offset<=e)return t.fill(0,n),522;let a=t.subarray(n),o=e+s.offset,l=Math.min(Math.max(s.data.byteLength-o,0),a.byteLength);a.set(s.data.subarray(o,o+l)),n+=l}return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{let i=this.mapIdToFile.get(e);if(256&i.flags&&!i.rollback){let e=Object.assign({pendingVersion:i.metadata.version-1},i.metadata);this.#q.q(({metadata:t})=>t.put(e),"rw",i.txOptions),i.rollback=Object.assign({},i.metadata),i.metadata.version--}256&i.flags&&i.changedPages.add(r);let n=t.slice(),s=i.metadata.version;if(!(r<i.metadata.fileSize)||256&i.flags||512&i.flags){let e={path:i.path,offset:-r,version:s,data:t.slice()};this.#q.q(({blocks:t})=>{t.put(e),i.changedPages.add(r)},"rw",i.txOptions)}else this.#q.q(async({blocks:e})=>{let t=0;for(;t<n.byteLength;){let a=r+t,o=IDBKeyRange.bound([i.path,-a],[i.path,1/0]),l=await e.get(o);if(!l||l.data.byteLength-l.offset<=a)return void e.put({path:i.path,offset:-a,version:s,data:n.slice(t)});let c=a+l.offset,_=Math.min(l.data.byteLength-c,n.byteLength-t);l.data.subarray(c,c+_).set(n.subarray(t,t+_)),e.put(l),t+=_}},"rw",i.txOptions);return i.metadata.fileSize<r+t.length&&(i.metadata.fileSize=r+t.length,i.needsMetadataSync=!0),0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return t<r.metadata.fileSize&&(this.#q.q(({blocks:e})=>{let i=IDBKeyRange.bound([r.path,-1/0],[r.path,-t,1/0]);e.delete(i)},"rw",r.txOptions),r.metadata.fileSize=t,r.needsMetadataSync=!0),0}catch(e){return this.lastError=e,1546}}async jSync(e,t){try{let t=this.mapIdToFile.get(e);return t.needsMetadataSync&&(this.#q.q(({metadata:e})=>e.put(t.metadata),"rw",t.txOptions),t.needsMetadataSync=!1),256&t.flags?"full"===t.synchronous&&await this.#q.sync(!0):await this.#q.sync("full"===t.synchronous),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e);return t.setBigInt64(0,BigInt(r.metadata.fileSize),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){let r=this.mapIdToFile.get(e),i=await super.jLock(e,t);return 1===t&&(r.metadata=await this.#q.q(async({metadata:e,blocks:t})=>{let i=await e.get(r.path);return i.pendingVersion&&(console.warn(`removing failed transaction ${i.pendingVersion}`),await new Promise((e,r)=>{let n=IDBKeyRange.bound([i.name,-1/0],[i.name,1/0]),s=t.openCursor(n);s.onsuccess=()=>{let t=s.result;t?(t.value.version<i.version&&t.delete(),t.continue()):e()},s.onerror=()=>r(s.error)}),delete i.pendingVersion,e.put(i)),i},"rw",r.txOptions)),i}async jUnlock(e,t){if(0===t){let t=this.mapIdToFile.get(e);await this.#q.sync("full"===t.synchronous)}return super.jUnlock(e,t)}jFileControl(e,t,r){try{let i=this.mapIdToFile.get(e);switch(t){case 14:let n=Q(r,4),s=Q(r,8);switch(this.log?.("xFileControl",i.path,"PRAGMA",n,s),n.toLowerCase()){case"page_size":if(256&i.flags&&s&&i.metadata.fileSize)return 1;break;case"synchronous":if(s)switch(s.toLowerCase()){case"0":case"off":i.synchronous="off",i.txOptions={durability:"relaxed"};break;case"1":case"normal":i.synchronous="normal",i.txOptions={durability:"relaxed"};break;case"2":case"3":case"full":case"extra":i.synchronous="full",i.txOptions={durability:"strict"}}break;case"write_hint":return super.jFileControl(e,H.WRITE_HINT_OP_CODE,null)}break;case 21:if(this.log?.("xFileControl",i.path,"SYNC"),i.rollback){let e=Object.assign({},i.metadata),t=i.rollback.fileSize;this.#q.q(({metadata:r,blocks:n})=>{for(let s of(r.put(e),i.changedPages))if(s<t){let t=IDBKeyRange.bound([i.path,-s,e.version],[i.path,-s,1/0],!0);n.delete(t)}i.changedPages.clear()},"rw",i.txOptions),i.needsMetadataSync=!1,i.rollback=null}break;case 31:return this.log?.("xFileControl",i.path,"BEGIN_ATOMIC_WRITE"),0;case 32:return this.log?.("xFileControl",i.path,"COMMIT_ATOMIC_WRITE"),0;case 33:this.log?.("xFileControl",i.path,"ROLLBACK_ATOMIC_WRITE"),i.metadata=i.rollback;let a=Object.assign({},i.metadata);return this.#q.q(({metadata:e,blocks:t})=>{for(let r of(e.put(a),i.changedPages))t.delete([i.path,-r,a.version-1]);i.changedPages.clear()},"rw",i.txOptions),i.needsMetadataSync=!1,i.rollback=null,0}}catch(e){return this.lastError=e,10}return super.jFileControl(e,t,r)}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}function Q(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}class ee{#z;#L=null;#M=Promise.resolve();#R=null;#j=new WeakSet;log=null;static async create(e){return new ee(await new Promise((t,r)=>{let i=indexedDB.open(e,6);i.onupgradeneeded=async e=>{let t=i.result;switch(e.oldVersion&&console.log(`Upgrading IndexedDB from version ${e.oldVersion}`),e.oldVersion){case 0:t.createObjectStore("blocks",{keyPath:["path","offset","version"]}).createIndex("version",["path","version"]);case 5:let r=i.transaction;r.objectStore("blocks").deleteIndex("version");let n=t.createObjectStore("metadata",{keyPath:"name"});await new Promise((e,t)=>{let i={},s=r.objectStore("blocks").openCursor();s.onsuccess=()=>{let t=s.result;if(t){let e=t.value;"number"!=typeof e.offset||e.path===i.path&&e.offset===i.offset?t.delete():0===e.offset&&(n.put({name:e.path,fileSize:e.fileSize,version:e.version}),delete e.fileSize,t.update(e)),i=e,t.continue()}else e()},s.onerror=()=>t(s.error)})}},i.onsuccess=()=>t(i.result),i.onerror=()=>r(i.error)}))}constructor(e){this.#z=e}close(){this.#z.close()}q(e,t="ro",r={}){let i="ro"===t?"readonly":"readwrite",n=Object.assign({durability:"default"},r);return this.#L=(this.#L||Promise.resolve()).then(()=>this.#H(e,i,n)),this.#L}async #H(e,t,r){let i;this.#R&&this.#j.has(this.#R.transaction)&&this.#R.transaction.mode>=t&&this.#R.transaction.durability===r.durability&&(i=this.#R.transaction,"pending"===this.#R.readyState&&await new Promise(e=>{this.#R.addEventListener("success",e,{once:!0}),this.#R.addEventListener("error",e,{once:!0})}));for(let n=0;n<2;++n){i||(await this.#M,i=this.#z.transaction(this.#z.objectStoreNames,t,r),this.log?.("IDBTransaction open",t),this.#j.add(i),this.#M=new Promise((e,t)=>{i.addEventListener("complete",()=>{this.log?.("IDBTransaction complete"),this.#j.delete(i),e()}),i.addEventListener("abort",()=>{this.#j.delete(i),t(Error("transaction aborted"))})}));try{let t=[...i.objectStoreNames].map(e=>[e,this.proxyStoreOrIndex(i.objectStore(e))]);return await e(Object.fromEntries(t))}catch(e){if(!n&&Y.has(e.name)){this.log?.(`${e.name}, retrying`),i=null;continue}throw e}}}proxyStoreOrIndex(e){return new Proxy(e,{get:(e,t,r)=>{let i=Reflect.get(e,t,r);return"function"==typeof i?(...r)=>{var n;let s=Reflect.apply(i,e,r);return s instanceof IDBRequest&&!t.endsWith("Cursor")?(this.#R=s,s.addEventListener("error",()=>{console.error(s.error),s.transaction.abort()},{once:!0}),n=s,new Promise((e,t)=>{n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})):s}:i}})}async sync(e){this.#L&&(await this.#L,e&&await this.#M,this.reset())}reset(){this.#L=null,this.#M=Promise.resolve(),this.#R=null}}class et extends T{log=null;#O;#U;#N=new Map;#B=new Map;#$=new Set;#w=new Map;static async create(e,t){let r=new et(e,t);return await r.isReady(),r}constructor(e,t){super(e,t),this.#O=e}jOpen(e,t,r,i){try{let n=e?this.#W(e):Math.random().toString(36),s=this.#B.get(n);if(!s&&4&r)if(this.getSize()<this.getCapacity())[s]=this.#$.keys(),this.#V(s,n,r);else throw Error("cannot create file");if(!s)throw Error("file not found");let a={path:n,flags:r,accessHandle:s};return this.#w.set(t,a),i.setInt32(0,r,!0),0}catch(e){return console.error(e.message),14}}jClose(e){let t=this.#w.get(e);return t&&(t.accessHandle.flush(),this.#w.delete(e),8&t.flags&&this.#G(t.path)),0}jRead(e,t,r){let i=this.#w.get(e).accessHandle.read(t.subarray(),{at:4096+r});return i<t.byteLength?(t.fill(0,i,t.byteLength),522):0}jWrite(e,t,r){return 10*(this.#w.get(e).accessHandle.write(t.subarray(),{at:4096+r})!==t.byteLength)}jTruncate(e,t){return this.#w.get(e).accessHandle.truncate(4096+t),0}jSync(e,t){return this.#w.get(e).accessHandle.flush(),0}jFileSize(e,t){let r=this.#w.get(e).accessHandle.getSize()-4096;return t.setBigInt64(0,BigInt(r),!0),0}jSectorSize(e){return 4096}jDeviceCharacteristics(e){return 2048}jAccess(e,t,r){let i=this.#W(e);return r.setInt32(0,+!!this.#B.has(i),!0),0}jDelete(e,t){let r=this.#W(e);return this.#G(r),0}async close(){await this.#X()}async isReady(){if(!this.#U){let e=await navigator.storage.getDirectory();for(let t of this.#O.split("/"))t&&(e=await e.getDirectoryHandle(t,{create:!0}));this.#U=e,await this.#K(),0===this.getCapacity()&&await this.addCapacity(6)}return!0}getSize(){return this.#B.size}getCapacity(){return this.#N.size}async addCapacity(e){for(let t=0;t<e;++t){let e=Math.random().toString(36).replace("0.",""),t=await this.#U.getFileHandle(e,{create:!0}),r=await t.createSyncAccessHandle();this.#N.set(r,e),this.#V(r,"",0)}return e}async removeCapacity(e){let t=0;for(let r of Array.from(this.#$)){if(t==e||this.getSize()===this.getCapacity())break;let i=this.#N.get(r);await r.close(),await this.#U.removeEntry(i),this.#N.delete(r),this.#$.delete(r),++t}return t}async #K(){let e=[];for await(let[t,r]of this.#U)"file"===r.kind&&e.push([t,r]);await Promise.all(e.map(async([e,t])=>{let r=await t.createSyncAccessHandle();this.#N.set(r,e);let i=this.#Y(r);i?this.#B.set(i,r):this.#$.add(r)}))}#X(){for(let e of this.#N.keys())e.close();this.#N.clear(),this.#B.clear(),this.#$.clear()}#Y(e){let t=new Uint8Array(516);e.read(t,{at:0});let r=new DataView(t.buffer,t.byteOffset).getUint32(512);if(t[0]&&(8&r||(542976&r)==0))return console.warn(`Remove file with unexpected flags ${r.toString(16)}`),this.#V(e,"",0),"";let i=new Uint32Array(2);e.read(i,{at:516});let n=this.#J(t);if(!i.every((e,t)=>e===n[t]))return console.warn("Disassociating file with bad digest."),this.#V(e,"",0),"";{let r=t.findIndex(e=>0===e);return 0===r&&e.truncate(4096),new TextDecoder().decode(t.subarray(0,r))}}#V(e,t,r){let i=new Uint8Array(516);if(new TextEncoder().encodeInto(t,i).written>=512)throw Error("path too long");new DataView(i.buffer,i.byteOffset).setUint32(512,r);let n=this.#J(i);e.write(i,{at:0}),e.write(n,{at:516}),e.flush(),t?(this.#B.set(t,e),this.#$.delete(e)):(e.truncate(4096),this.#$.add(e))}#J(e){if(!e[0])return new Uint32Array([0xfecc5f80,0xaccec037]);let t=0xdeadbeef,r=0x41c6ce57;for(let i of e)t=Math.imul(t^i,0x9e3779b1),r=Math.imul(r^i,0x5f356495);return t=Math.imul(t^t>>>16,0x85ebca6b)^Math.imul(r^r>>>13,0xc2b2ae35),r=Math.imul(r^r>>>16,0x85ebca6b)^Math.imul(t^t>>>13,0xc2b2ae35),new Uint32Array([t>>>0,r>>>0])}#W(e){return("string"==typeof e?new URL(e,"file://localhost/"):e).pathname}#G(e){let t=this.#B.get(e);t&&(this.#B.delete(e),this.#V(t,"",0))}}let er=["","-journal","-wal"],ei=new FinalizationRegistry(e=>e());class en{path;flags;accessHandle;persistentFile;constructor(e,t){this.path=e,this.flags=t}}class es{fileHandle;accessHandle=null;isLockBusy=!1;isFileLocked=!1;isRequestInProgress=!1;handleLockReleaser=null;handleRequestChannel;isHandleRequested=!1;constructor(e){this.fileHandle=e}}class ea extends T{mapIdToFile=new Map;lastError=null;log=null;persistentFiles=new Map;boundAccessHandles=new Map;unboundAccessHandles=new Set;accessiblePaths=new Set;releaser=null;static async create(e,t){let r=new ea(e,t);return await Promise.all([r.isReady(),r.#E(10)]),r}constructor(e,t){super(e,t)}async #E(e){let t=await navigator.storage.getDirectory();for await(let e of t.values())"directory"===e.kind&&e.name.startsWith(".ahp-")&&await navigator.locks.request(e.name,{ifAvailable:!0},async r=>{r?(this.log?.(`Deleting temporary directory ${e.name}`),await t.removeEntry(e.name,{recursive:!0}).catch(e=>{if(e?.name!=="NotFoundError")throw e})):this.log?.(`Temporary directory ${e.name} is in use`)});let r=`.ahp-${Math.random().toString(36).slice(2)}`;this.releaser=await new Promise(e=>{navigator.locks.request(r,()=>new Promise(t=>{e(t)}))}),ei.register(this,this.releaser);let i=await t.getDirectoryHandle(r,{create:!0});for(let t=0;t<e;t++){let e=await i.getFileHandle(`${t}.tmp`,{create:!0}),r=await e.createSyncAccessHandle();this.unboundAccessHandles.add(r)}}jOpen(e,t,r,i){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname;if(256&r){let e=this.persistentFiles.get(n);if(e?.isRequestInProgress)return 5;if(e){if(!e.fileHandle)return this.persistentFiles.delete(n),14;else if(!e.accessHandle)return this._module.retryOps.push((async()=>{let e=new en(n,r);e.persistentFile=this.persistentFiles.get(n),await this.#Z(e)})()),5}else{this.log?.(`creating persistent file for ${n}`);let e=!!(4&r);return this._module.retryOps.push((async()=>{try{let t=await navigator.storage.getDirectory(),i=n.split("/").filter(e=>e),s=i.pop();for(let r of i)t=await t.getDirectoryHandle(r,{create:e});for(let r of er){let i=await t.getFileHandle(s+r,{create:e});await this.#Q(i)}let a=new en(n,r);a.persistentFile=this.persistentFiles.get(n),await this.#Z(a)}catch(t){let e=new es(null);this.persistentFiles.set(n,e),console.error(t)}})()),5}}if(!this.accessiblePaths.has(n)&&!(4&r))throw Error(`File ${n} not found`);let s=new en(n,r);return this.mapIdToFile.set(t,s),this.persistentFiles.has(n)?s.persistentFile=this.persistentFiles.get(n):this.boundAccessHandles.has(n)?s.accessHandle=this.boundAccessHandles.get(n):this.unboundAccessHandles.size&&(s.accessHandle=this.unboundAccessHandles.values().next().value,s.accessHandle.truncate(0),this.unboundAccessHandles.delete(s.accessHandle),this.boundAccessHandles.set(n,s.accessHandle)),this.accessiblePaths.add(n),i.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}jDelete(e,t){try{let t=new URL(e,"file://").pathname;return this.persistentFiles.has(t)?this.persistentFiles.get(t).accessHandle.truncate(0):this.boundAccessHandles.get(t)?.truncate(0),this.accessiblePaths.delete(t),0}catch(e){return this.lastError=e,2570}}jAccess(e,t,r){try{let t=new URL(e,"file://").pathname;return r.setInt32(0,+!!this.accessiblePaths.has(t),!0),0}catch(e){return this.lastError=e,3338}}jClose(e){try{let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),t?.flags&256?t.persistentFile?.handleLockReleaser&&this.#ee(t):t?.flags&8&&(t.accessHandle.truncate(0),this.accessiblePaths.delete(t.path),this.persistentFiles.has(t.path)||(this.boundAccessHandles.delete(t.path),this.unboundAccessHandles.add(t.accessHandle))),0}catch(e){return this.lastError=e,4106}}jRead(e,t,r){try{let i=this.mapIdToFile.get(e),n=(i.accessHandle||i.persistentFile.accessHandle).read(t.subarray(),{at:r});if(256&i.flags&&!i.persistentFile.isFileLocked&&this.#ee(i),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{let i=this.mapIdToFile.get(e);if((i.accessHandle||i.persistentFile.accessHandle).write(t.subarray(),{at:r})!==t.byteLength)throw Error("short write");return 0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return(r.accessHandle||r.persistentFile.accessHandle).truncate(t),0}catch(e){return this.lastError=e,1546}}jSync(e,t){try{let t=this.mapIdToFile.get(e);return(t.accessHandle||t.persistentFile.accessHandle).flush(),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e),i=(r.accessHandle||r.persistentFile.accessHandle).getSize();return t.setBigInt64(0,BigInt(i),!0),0}catch(e){return this.lastError=e,1802}}jLock(e,t){let r=this.mapIdToFile.get(e);return r.persistentFile.isRequestInProgress?(r.persistentFile.isLockBusy=!0,5):(r.persistentFile.isFileLocked=!0,r.persistentFile.handleLockReleaser)?(r.persistentFile.isLockBusy=!1,0):(r.persistentFile.handleRequestChannel.onmessage=()=>{this.log?.(`received notification for ${r.path}`),r.persistentFile.isFileLocked?r.persistentFile.isHandleRequested=!0:this.#ee(r),r.persistentFile.handleRequestChannel.onmessage=null},this.#Z(r),this.log?.("returning SQLITE_BUSY"),r.persistentFile.isLockBusy=!0,5)}jUnlock(e,t){let r=this.mapIdToFile.get(e);return 0===t&&!r.persistentFile.isLockBusy&&(r.persistentFile.isFileLocked=!1,r.persistentFile.isHandleRequested&&setTimeout(()=>{!r.persistentFile.isFileLocked&&r.persistentFile.isHandleRequested&&(this.#ee(r),r.persistentFile.isHandleRequested=!1)})),0}jFileControl(e,t,r){try{let i=this.mapIdToFile.get(e);if(14===t){let e=eo(r,4),t=eo(r,8);if(this.log?.("xFileControl",i.path,"PRAGMA",e,t),"journal_mode"===e.toLowerCase()&&t&&!["off","memory","delete","wal"].includes(t.toLowerCase()))throw Error('journal_mode must be "off", "memory", "delete", or "wal"')}}catch(e){return this.lastError=e,10}return 12}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}async #Q(e){let t=new es(e),r=await navigator.storage.getDirectory(),i=await r.resolve(e),n=`/${i.join("/")}`;return t.handleRequestChannel=new BroadcastChannel(`ahp:${n}`),this.persistentFiles.set(n,t),(await e.getFile()).size&&this.accessiblePaths.add(n),t}#Z(e){return(console.assert(!e.persistentFile.handleLockReleaser),e.persistentFile.isRequestInProgress)?Promise.resolve():(e.persistentFile.isRequestInProgress=!0,this._module.retryOps.push((async()=>{e.persistentFile.handleLockReleaser=await this.#et(e.persistentFile);try{this.log?.(`creating access handles for ${e.path}`);let t=(await Promise.allSettled(er.map(async t=>{let r=this.persistentFiles.get(e.path+t);r&&(r.accessHandle=await r.fileHandle.createSyncAccessHandle())}))).find(e=>"rejected"===e.status);if(t)throw t.reason}catch(t){throw this.log?.(`failed to create access handles for ${e.path}`,t),this.#ee(e),t}finally{e.persistentFile.isRequestInProgress=!1}})()),this._module.retryOps.at(-1))}#ee(e){er.forEach(t=>{let r=this.persistentFiles.get(e.path+t);r&&(r.accessHandle?.close(),r.accessHandle=null)}),this.log?.(`access handles closed for ${e.path}`),e.persistentFile.handleLockReleaser?.(),e.persistentFile.handleLockReleaser=null,this.log?.(`lock released for ${e.path}`)}#et(e){return new Promise(t=>{let r=e.handleRequestChannel.name,i=()=>{this.log?.(`notifying for ${r}`),e.handleRequestChannel.postMessage(null)},n=setInterval(i,1e3);setTimeout(i),this.log?.(`lock requested: ${r}`),navigator.locks.request(r,e=>(this.log?.(`lock acquired: ${r}`,e),clearInterval(n),new Promise(t)))})}}function eo(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}class el{#er;#ei=null;#en=Promise.resolve(null);#es=!1;constructor(e){this.#er=e}get name(){return this.#er}get mode(){return this.#ei}close(){this.release()}async acquire(e,t=-1){if(this.#es)throw Error("Lock is already being acquired");this.#es=!0;try{if(this.#ei)throw Error(`Lock ${this.#er} is already acquired`);return this.#en=new Promise((r,i)=>{let n={mode:e,ifAvailable:0===t};t>0&&(n.signal=AbortSignal.timeout(t)),navigator.locks.request(this.#er,n,t=>null===t?r(null):(this.#ei=e,new Promise(e=>{r(e)}))).catch(e=>i(e))}),this.#en.then(e=>!!e)}finally{this.#es=!1}}release(){this.#en.then(e=>e?.(),()=>{}),this.#ei=null}}class ec extends el{#ea;#eo=!1;#el=!1;constructor(e){super(e),this.#ea=new BroadcastChannel(e),this.#ea.onmessage=e=>{this.#eo?this.#el=!0:this.release()}}close(){super.close(),this.#ea.onmessage=null,this.#ea.close()}async acquire(e,t=-1){this.#eo=!0;try{if(e===this.mode)return!0;if(this.mode)super.release();else if(await super.acquire(e,0))return!0;let r=super.acquire(e,t);return this.#ea.postMessage({}),await r}catch(e){throw this.release(),e}}acquireIfHeld(e){return e===this.mode&&(this.#eo=!0,!0)}release(){super.release(),this.#eo=!1,this.#el=!1}releaseLazy(){this.#eo=!1,this.#el&&this.release()}}class e_{log=null;options={autoCheckpoint:1,backstopInterval:3e4,journalSizeLimit:1e3};#ec;#e_;#eu;#ed;#eh;#ef;#ep=0;#em=null;#eg=0;#eb;#ew=null;#ev=null;#ey=new Map;#eq=new Map;#ek=new Map;#eE=0;#ex=[0,0];#eS;#eF;#eA=0;#eT=new AbortController;constructor(e,t,r,i={}){this.#ec=e,this.#e_=t,this.#eu=r,this.options=Object.assign(this.options,i),this.#eb=(async()=>{let{fileHeader:t}=await navigator.locks.request(`${this.#ec}#ckpt`,async()=>(await this.#eP(),{fileHeader:this.#eu.map(e=>this.#eI(e)).filter(e=>e).sort((e,t)=>e.nextTxId-t.nextTxId)[0]??this.#eD(Math.floor(0xffffffff*Math.random()))}));for(let r of(this.#eh=t,this.#ed=this.#eu[1&t.salt1],this.#ef=32,this.#ep=t.nextTxId-1,this.#eS=new BroadcastChannel(`${e}#wa`),this.#eS.onmessage=e=>{this.#eC(e)},this.#ez()))this.#eL(r);this.#eP(),this.#eA=performance.now(),this.#eM()})()}ready(){return this.#eb}close(){this.#eT.abort(),this.#eS.onmessage=null,clearTimeout(this.#eF),this.#ev?.release(),this.#eS.close()}isolateForRead(){if(null!==this.#ew)throw Error("Already in isolated state");this.#ew="read",clearTimeout(this.#eF),this.#eF=null}isolateForWrite(){if(null!==this.#ew)throw Error("Already in isolated state");this.#ew="write",clearTimeout(this.#eF),this.#eF=null,this.#eR({readToCurrent:!0})}rejoin(){"read"===this.#ew&&this.#eR({autoCheckpoint:!0}),this.#ew=null,this.#eM()}read(e){let t=this.#em?.pages.get(e)??this.#ey.get(e);return t?t.pageData?(this.log?.(`%cread page at ${e} from WAL ${1&t.waSalt1}:${t.waOffset} (cached)`,"color: black; background-color: gold;"),t.pageData):(this.log?.(`%cread page at ${e} from WAL ${1&t.waSalt1}:${t.waOffset}`,"color: black; background-color: gold;"),this.#ej(t)):null}write(e,t,r){if("write"!==this.#ew)throw Error("Not in write isolated state");if(this.#em||(this.#eH(),r.dstPageSize!==t.byteLength&&(this.#em.newPageSize=r.dstPageSize)),this.#em.newPageSize){let r=32+this.#em.newPageSize;if(t.byteLength>this.#em.newPageSize)for(let r=0;r<t.byteLength;r+=this.#em.newPageSize){let i=t.slice(r,r+this.#em.newPageSize),n=this.#eO(e+r,i);this.log?.(`%cwrite page at ${e+r} to WAL ${1&this.#eh.salt1}:${n}`,"color: black; background-color: lightskyblue;")}else{let i=e%this.#em.newPageSize,n=this.#ef+(e-i)/this.#em.newPageSize*r+32+i;this.#ed.write(t.subarray(),{at:n}),this.log?.(`%cwrite page at ${e} to WAL ${1&this.#eh.salt1}:${n}`,"color: black; background-color: lightskyblue;")}}else{let r=this.#eO(e,t.slice());this.log?.(`%cwrite page at ${e} to WAL ${1&this.#eh.salt1}:${r}`,"color: black; background-color: lightskyblue;")}}truncate(e){if(this.#em)for(let t of this.#em.pages.keys())t>=e&&this.#em.pages.delete(t)}getFileSize(){return this.#em?.dbFileSize??this.#eg}commit(){let e=this.#em;if(e.newPageSize&&0===e.pages.size){let t=1;for(let r=0;r<t;r++){let i=new Uint8Array(e.newPageSize),n=this.#ef+r*(32+e.newPageSize)+32;this.#ed.read(i,{at:n}),0===r&&(t=new DataView(i.buffer).getUint32(28)),this.#eO(r*e.newPageSize,i)}}let t=this.#em.pages.get(0)?.pageData;if(!t)return void this.rollback();{let e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(28);this.#em.dbFileSize=e*t.byteLength}let r=!1;if(this.#eU()){let e=this.#ex[0]+this.#ex[1];e>=(this.options.journalSizeLimit>0?this.options.journalSizeLimit:1e3)&&(this.log?.(`%cchange WAL file at ${e} pages`,"color: black; background-color: lightskyblue;"),r=!0)}this.#I(r),this.#eL(e),this.#eP(),this.#eS.postMessage({type:"tx",tx:e}),this.#eN(),this.#eA=performance.now()}rollback(){this.#eB()}sync(e){"strict"===e.durability&&this.#e$()}async checkpoint(e={isPassive:!0}){let t={ifAvailable:e.isPassive};await navigator.locks.request(`${this.#ec}#ckpt`,t,async t=>{if(!t||this.#eT.signal.aborted)return;let r=this.#eW()-1;if(e.isPassive){if(!this.#eq.has(r)||(await this.#eV()).reduce((e,t)=>Math.min(e,t.maxTxId),this.#ep)<r)return}else await this.#eG(e=>e.maxTxId>=this.#ep),r=this.#ep;this.log?.(`%ccheckpoint through txId ${r}`,"color: black; background-color: lightgreen;"),this.#eX(),e.isPassive||this.#e$();let i=new Set,n=this.#e_.getSize();for(let e=this.#eq.get(r);e;e=this.#eq.get(e.id-1)){for(let[t,s]of(e.id===r&&n!==e.dbFileSize&&(n=e.dbFileSize,this.#e_.truncate(n)),e.pages))if(t<n&&!i.has(t)){let r=s.pageData??this.#ej(s);if(this.#e_.write(r,{at:t})!==r.byteLength)throw Error("Checkpoint write failed");i.add(t),this.log?.(`%ccheckpoint wrote txId ${e.id} page at ${t} to database`,"color: black; background-color: lightgreen;")}if(e.newPageSize)break}this.log?.("%ccheckpoint flush database file","color: black; background-color: lightgreen;"),this.#e_.flush(),this.#eS.postMessage({type:"ckpt",ckptId:r}),this.#eK(r),this.log?.("%ccheckpoint waiting for connection updates","color: black; background-color: lightgreen;"),await this.#eG(e=>e.minTxId>r),this.#eY(),this.log?.("%ccheckpoint complete","color: black; background-color: lightgreen;")})}getWriteAheadSize(){return this.#eE}isTransactionPending(){return!!this.#em}setBackstopInterval(e){this.options.backstopInterval=e,e>0&&this.#ew&&this.#eM()}#eL(e){this.#eq.set(e.id,e);let t=1&e.pages.get(0).waSalt1;for(let[r,i]of(this.#ex[t]+=e.pages.size,this.#ex[1-t]=0,this.#eE+=e.pages.size,e.pages))this.#ey.set(r,i);this.#eg=e.dbFileSize}#eR(e={}){let t=!1;for(;this.#ek.size;){let e,r=this.#ep+1;this.#ek.has(r)?(e=this.#ek.get(r),this.#ek.delete(e.id),this.#eJ(e)):e=this.#eZ(),this.#eL(e),t=!0}if(e.readToCurrent)for(let e of this.#ez())this.#eL(e),t=!0;t&&(this.#eP(),e.autoCheckpoint&&this.#eN()),(e.readToCurrent||t)&&(this.#eA=performance.now())}#eN(){this.options.autoCheckpoint>0&&this.checkpoint({isPassive:!0})}#eK(e){this.log?.(`%capply checkpoint through txId ${e}`,"color: black; background-color: lightgreen;");for(let t=this.#eq.get(e);t;t=this.#eq.get(t.id-1)){for(let[e,r]of t.pages.entries())this.#ey.get(e)===r&&(this.log?.(`%cremove txId ${t.id} page at offset ${e}`,"color: black; background-color: lightgreen;"),this.#ey.delete(e));this.#eq.delete(t.id),this.#eE-=t.pages.size}this.#eP()}#eC(e){if("tx"===e.data.type){let t=e.data.tx;t.id>this.#ep&&(this.#ek.set(t.id,t),null===this.#ew&&this.#eR({autoCheckpoint:!0}))}else if("ckpt"===e.data.type){let t=e.data.ckptId;this.#eK(t)}}#eM(){if(this.options.backstopInterval<=0)return;if(this.#ew)throw Error("Backstop was invoked in an isolated state");if(performance.now()>=this.#eA+this.options.backstopInterval){let e=this.#ep;this.#eR({readToCurrent:!0}),this.#ep>e&&this.log?.(`%cbackstop txId ${e} -> ${this.#ep}`,"color: black; background-color: lightyellow;"),this.#eA=performance.now()}let e=this.#eA+this.options.backstopInterval-performance.now();clearTimeout(this.#eF),this.#eF=self.setTimeout(()=>{this.#eM()},e)}async #eP(){let e=this.#ev,t=this.#eQ();if(e?.name!==t&&(this.#ev=new el(t),await this.#ev.acquire("shared").then(()=>{e?.release()}),this.log)){let{minTxId:e,maxTxId:r}=this.#e0(t);this.log?.(`%ctxId to ${e}:${r}`,"color: black; background-color: pink;")}}async #eV(){let{held:e}=await navigator.locks.query();return e.map(e=>this.#e0(e.name)).filter(e=>null!==e)}#eQ(){let e=this.#ep,t=this.#eq.keys().next().value??e+1;return`${this.#ec}-txId<${t.toString(36)}:${e.toString(36)}>`}#e0(e){let t=e.match(/^(.*)-txId<([0-9a-z]+):([0-9a-z]+)>$/);return t?.[1]===this.#ec?{name:t[1],minTxId:parseInt(t[2],36),maxTxId:parseInt(t[3],36),encoded:e}:null}async #eG(e){let t=[];do t.length>0&&await Promise.all(t.map(e=>navigator.locks.request(e,async()=>{}))),t=(await this.#eV()).filter(t=>!e(t)).map(e=>e.encoded);while(t.length>0)}#ej(e){let t=this.#eu[1&e.waSalt1],r=new Uint8Array(e.pageSize),i=t.read(r,{at:e.waOffset});if(i!==e.pageSize)throw Error(`Short WAL read: expected ${e.pageSize} bytes, got ${i}`);return r}*#ez(){for(;;){let e=this.#eZ();if(!e)break;yield e}}#eZ(){let e={id:0,pages:new Map,dbFileSize:0,waSalt1:0,waOffsetEnd:0},t=this.#ef;for(;;){let r=this.#e3(t);if(!r)return null;if(0===r.frameType)e.pages.set(r.pageOffset,{pageSize:r.pageData.byteLength,waOffset:t+32,waSalt1:this.#eh.salt1});else if(1===r.frameType)return this.#ep+=1,this.#ef=t+r.byteLength,e.id=this.#ep,e.dbFileSize=r.dbFileSize,e.waSalt1=this.#eh.salt1,e.newPageSize=1&r.flags?e.pages.get(0).pageSize:null,r.fileHeader&&(this.#e1(r.fileHeader),e.waSalt1=this.#eh.salt1,e.waOffsetEnd=this.#ef),e;else if(2===r.frameType){this.#e1(r.fileHeader),t=this.#ef;continue}t+=r.byteLength}}#eJ(e){if(e.waSalt1!==this.#eh.salt1){let t=this.#e1(null);if(!t||t.salt1!==e.waSalt1)throw Error("invalid WAL file")}this.#ep=e.id,this.#ef=e.waOffsetEnd}#eH(e={}){return this.#em={id:this.#ep+1,pages:new Map,dbFileSize:this.#eg,waSalt1:this.#eh.salt1,waOffsetEnd:this.#ef},this.#em}#eO(e,t){let r=new DataView(new ArrayBuffer(32));r.setUint8(0,0),r.setUint16(2,65536===t.byteLength?1:t.byteLength),r.setBigUint64(8,BigInt(e)),r.setUint32(16,this.#eh.salt1),r.setUint32(20,this.#eh.salt2);let i=new eu;i.update(new Uint8Array(r.buffer,0,24)),i.update(t),r.setUint32(24,i.s0),r.setUint32(28,i.s1);let n=this.#ed.write(r,{at:this.#em.waOffsetEnd})+this.#ed.write(t,{at:this.#em.waOffsetEnd+32});if(n!==r.byteLength+t.byteLength)throw Error("write failed");let s={pageSize:t.byteLength,waOffset:this.#em.waOffsetEnd+32,waSalt1:this.#eh.salt1,pageData:0===e?t:void 0};return this.#em.pages.set(e,s),this.#em.waOffsetEnd+=n,s.waOffset}#I(e){let t=new DataView(new ArrayBuffer(32));t.setUint8(0,1),t.setUint8(1,!!this.#em.newPageSize|2*!!e),t.setBigUint64(8,BigInt(this.#em.dbFileSize)),t.setUint32(16,this.#eh.salt1),t.setUint32(20,this.#eh.salt2);let r=new eu;r.update(new Uint8Array(t.buffer,0,24)),t.setUint32(24,r.s0),t.setUint32(28,r.s1);let i=this.#ed.write(t,{at:this.#em.waOffsetEnd});if(i!==t.byteLength)throw Error("write failed");this.#em.waOffsetEnd+=i;let n=this.#em;return this.#em=null,this.#ef=n.waOffsetEnd,this.#ep=n.id,e&&(this.#e2(),n.waSalt1=this.#eh.salt1,n.waOffsetEnd=this.#ef),n}#eB(){this.#em=null,this.#ed.truncate(this.#ef)}#e2(){let e=new DataView(new ArrayBuffer(32));e.setUint8(0,2),e.setUint32(16,this.#eh.salt1),e.setUint32(20,this.#eh.salt2);let t=new eu;if(t.update(new Uint8Array(e.buffer,0,24)),e.setUint32(24,t.s0),e.setUint32(28,t.s1),this.#ed.write(e,{at:this.#ef})!==e.byteLength)throw Error("write failed");this.#eh=this.#eD(),this.#ed=this.#e6(),this.#ef=32}#eW(){return this.#eh.nextTxId}#e$(){this.#ed.flush()}#eX(){this.#e6().flush()}#eU(){if(this.#eq.has(this.#eh.nextTxId-1))return!1;let e=this.#e6();return 32>e.getSize()||null===this.#eI(e)}#eY(){this.#e6().truncate(0)}#e1(e){let t=this.#e6();return e||(e=this.#eI(t),e?.salt1===this.#eh.salt1+1>>>0)?(this.#ed=t,this.#eh=e,this.#ef=32,e):null}#e6(){return this.#ed!==this.#eu[0]?this.#eu[0]:this.#eu[1]}#eI(e){let t=new DataView(new ArrayBuffer(32));if(e.read(t,{at:0})!==t.byteLength||0x377f0684!==t.getUint32(0))return null;let r=new eu;return(r.update(new Uint8Array(t.buffer,0,24)),r.matches(t.getUint32(24),t.getUint32(28)))?{nextTxId:Number(t.getBigUint64(8)),salt1:t.getUint32(16),salt2:t.getUint32(20)}:null}#e3(e){let t,r,i=new DataView(new ArrayBuffer(32));if(this.#ed.read(i,{at:e})!==i.byteLength)return null;let n=i.getUint32(16),s=i.getUint32(20);if(n!==this.#eh.salt1||s!==this.#eh.salt2)return null;let a=1===(r=i.getUint16(2))?65536:r;if(a&&(t=new Uint8Array(a),this.#ed.read(t,{at:e+32})!==a))return null;let o=new eu;if(o.update(new Uint8Array(i.buffer,0,24)),t&&o.update(t),!o.matches(i.getUint32(24),i.getUint32(28)))return null;let l=i.getUint8(0);if(0===l)return{frameType:l,byteLength:32+a,pageOffset:Number(i.getBigUint64(8)),pageData:t};if(1===l){let e,t=i.getUint8(1);return 2&t&&(e=this.#eI(this.#e6()),e?.salt1!==this.#eh.salt1+1>>>0)?null:{frameType:l,byteLength:32,flags:t,dbFileSize:Number(i.getBigUint64(8)),fileHeader:e}}if(2===l){let e=this.#eI(this.#e6());return e?.salt1!==this.#eh.salt1+1>>>0?null:{frameType:l,byteLength:32,fileHeader:e}}throw Error(`Invalid frame type: ${l}`)}#eD(e=this.#eh.salt1){let t=this.#ep+1,r=e+1>>>0,i=Math.floor(0xffffffff*Math.random())>>>0,n=new DataView(new ArrayBuffer(32));n.setUint32(0,0x377f0684),n.setBigUint64(8,BigInt(t)),n.setUint32(16,r),n.setUint32(20,i);let s=new eu;if(s.update(new Uint8Array(n.buffer,0,24)),n.setUint32(24,s.s0),n.setUint32(28,s.s1),this.#eu[1&r].write(n,{at:0})!==n.byteLength)throw Error("write failed");return{nextTxId:t,salt1:r,salt2:i}}}class eu{s0=0;s1=0;update(e){if(e.byteLength%8!=0)throw Error("Data must be a multiple of 8 bytes");let t=ArrayBuffer.isView(e)?new Uint32Array(e.buffer,e.byteOffset,e.byteLength/4):new Uint32Array(e);for(let e=0;e<t.length;e+=2)this.s0=this.s0+t[e]+this.s1>>>0,this.s1=this.s1+t[e+1]+this.s0>>>0}matches(e,t){return this.s0===e&&this.s1===t}}let ed=new FinalizationRegistry(e=>e());class eh extends T{lastError=null;log=null;mapIdToFile=new Map;mapPathToFile=new Map;boundTempFiles=new Map;unboundTempFiles=new Set;options={nTmpFiles:6};_ready;static async create(e,t,r){let i=new eh(e,t);return Object.assign(i.options,r),await i.isReady(),i}constructor(e,t){super(e,t),this._ready=(async()=>{let e=await navigator.storage.getDirectory();for await(let t of(e=await e.getDirectoryHandle(".wa-sqlite",{create:!0})).keys())t.startsWith(".session-")&&await navigator.locks.request(t,{ifAvailable:!0},async r=>{if(r)try{await e.removeEntry(t,{recursive:!0})}catch(e){}});let t=`.session-${Math.random().toString(16).slice(2)}`;await new Promise(e=>{navigator.locks.request(t,()=>(e(),new Promise(e=>{ed.register(this,e)})))}),e=await e.getDirectoryHandle(t,{create:!0});for(let t=0;t<this.options.nTmpFiles;t++){let r=await e.getFileHandle(t.toString(),{create:!0}),i=await r.createSyncAccessHandle();ed.register(this,()=>i.close()),this.unboundTempFiles.add(i)}})()}isReady(){return Promise.all([super.isReady(),this._ready]).then(()=>!0)}jOpen(e,t,r,i){try{null===e&&(e=Math.random().toString(16).slice(2));let n=this.mapPathToFile.get(e)??{zName:e,flags:r,retryResult:null};if(this.mapPathToFile.set(e,n),256&r){if(null===n.retryResult)return this._module.retryOps.push(this.#e4(e,r,t,i)),5;if(n.retryResult instanceof Error){let e=n.retryResult;throw n.retryResult=null,e}n.accessHandle=n.retryResult.accessHandle,n.waHandles=n.retryResult.waHandles,n.writeAhead=n.retryResult.writeAhead,n.retryResult=null,n.lockState=0,n.lockingMode="normal",n.readLock=new ec(`${e}#read`),n.writeLock=new ec(`${e}#write`),n.useLazyLock="readwrite",n.timeout=-1,n.synchronous=1,n.writeHint=null,n.pageSize=null,n.overwrite=!1}else if(540672&r)throw Error("WAL and super-journal files are not supported");else if(n.accessHandle);else{if(!(4&r))throw Error("file not found");n.accessHandle=this.#e5(e)}return this.mapIdToFile.set(t,n),i.setInt32(0,r,!0),0}catch(t){return console.error(t.stack),this.lastError=t,this.mapPathToFile.delete(e),14}}jDelete(e,t){try{if(this.boundTempFiles.has(e)){let t=this.mapPathToFile.get(e);this.#e8(t)}else throw Error(`unexpected file deletion: ${e}`);return 0}catch(e){return console.error(e.stack),this.lastError=e,2570}}jAccess(e,t,r){try{let t=this.mapPathToFile.get(e);return r.setInt32(0,+!!t,!0),0}catch(e){return console.error(e.stack),this.lastError=e,3338}}jClose(e){try{let t=this.mapIdToFile.get(e);return t?.flags&256?(t.writeAhead.close(),t.accessHandle.close(),t.waHandles.forEach(e=>e.close()),this.mapPathToFile.delete(t?.zName),t.readLock.close(),t.writeLock.close()):t?.flags&8&&this.#e8(t),this.mapIdToFile.delete(e),0}catch(e){return console.error(e.stack),this.lastError=e,4106}}jRead(e,t,r){try{let i=this.mapIdToFile.get(e),n=null;if(256&i.flags){let e=r<100?r:0,s=i.writeAhead.read(r-e);if(s){let r=s.subarray(e,e+t.byteLength);t.set(r),n=r.byteLength}}if(null===n&&(n=i.accessHandle.read(t.subarray(),{at:r})),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return console.error(e.stack),this.lastError=e,266}}jWrite(e,t,r){try{let i=this.mapIdToFile.get(e);if(256&i.flags){let e=i.overwrite&&i.pageSize!==t.byteLength;return i.writeAhead.write(r,t,{dstPageSize:e?i.pageSize:null}),0}return i.accessHandle.write(t.subarray(),{at:r}),0}catch(e){return console.error(e.stack),this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);if(256&r.flags)return r.writeAhead.truncate(t),0;return r.accessHandle.truncate(t),0}catch(e){return console.error(e.stack),this.lastError=e,1546}}jSync(e,t){try{let t=this.mapIdToFile.get(e);if(256&t.flags){let e=t.synchronous>1?"strict":"relaxed";t.writeAhead.sync({durability:e})}return 0}catch(e){return console.error(e.stack),this.lastError=e,1034}}jFileSize(e,t){try{let r,i=this.mapIdToFile.get(e);return r=256&i.flags&&i.writeAhead.getFileSize()||i.accessHandle.getSize(),t.setBigInt64(0,BigInt(r),!0),0}catch(e){return console.error(e.stack),this.lastError=e,1802}}jLock(e,t){try{let r=this.mapIdToFile.get(e);if(0===r.lockState&&1===t){if(null===r.retryResult){if("exclusive"===r.lockingMode)return r.retryResult={},this._module.retryOps.push(this.#e7(r)),5;if(r.writeHint)if(!r.writeLock.acquireIfHeld("exclusive"))return r.retryResult={},this._module.retryOps.push(this.#e7(r)),5;else r.writeAhead.isolateForWrite();else{if(!r.readLock.acquireIfHeld("shared"))return r.retryResult={},this._module.retryOps.push(this.#e9(r)),5;r.writeAhead.isolateForRead()}}else if(r.retryResult instanceof Error){let e=r.retryResult;throw r.retryResult=null,e}r.retryResult=null}else if(t>=2&&!r.writeLock.mode)throw Error("Write transaction cannot use BEGIN DEFERRED");return r.lockState=t,0}catch(e){if("TimeoutError"===e.name)return 5;return console.error(e.stack),this.lastError=e,3850}}jUnlock(e,t){try{let r=this.mapIdToFile.get(e);if(!r.retryResult&&0===t){switch(r.writeAhead.rejoin(),r.useLazyLock){case"none":r.writeLock.release(),r.readLock.release();break;case"read":r.writeLock.release(),r.readLock.releaseLazy();break;case"write":r.writeLock.releaseLazy(),r.readLock.release();break;case"readwrite":r.writeLock.releaseLazy(),r.readLock.releaseLazy()}r.writeHint=null}r.lockState=t}catch(e){return console.error(e.stack),this.lastError=e,2058}}jCheckReservedLock(e,t){return console.assert(!1,"unexpected"),t.setInt32(0,0,!0),0}jFileControl(e,t,r){try{let i=this.mapIdToFile.get(e);switch(t){case 14:let n=this._module.UTF8ToString(r.getUint32(4,!0)),s=r.getUint32(8,!0),a=s?this._module.UTF8ToString(s):null;switch(this.log?.(`PRAGMA ${n} ${a}`),n.toLowerCase()){case"experimental_pragma_20251114":switch(a){case"1":i.writeHint="reserved";break;case"2":i.writeHint="exclusive";break;default:throw Error(`unexpected write hint value: ${a}`)}break;case"backstop_interval":if(null!==a){let e=parseInt(a);i.writeAhead.setBackstopInterval(e)}else{let e=i.writeAhead.options.backstopInterval.toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"busy_timeout":if(null!==a)i.timeout=parseInt(a);else{let e=i.timeout.toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"journal_size_limit":if(null!==a){let e=parseInt(a);i.writeAhead.options.journalSizeLimit=e}break;case"locking_mode":switch(a?.toLowerCase()){case"normal":i.lockingMode="normal";break;case"exclusive":i.lockingMode="exclusive"}break;case"page_size":if(null!==a){let e=parseInt(a);(1===e||e>=512&&e<=32768&&(e&e-1)==0)&&(i.pageSize=1===e?65536:e)}break;case"synchronous":if(null!==a)switch(a.toLowerCase()){case"off":case"0":i.synchronous=0;break;case"normal":case"1":i.synchronous=1;break;case"full":case"2":i.synchronous=2;break;case"extra":case"3":i.synchronous=3;break;default:throw Error(`unexpected synchronous value: ${a}`)}break;case"vfs_trace":return null!==a&&(this.log=0!==parseInt(a)?console.debug:null,i.writeAhead.log=this.log),0;case"wal_autocheckpoint":null!==a&&(i.writeAhead.options.autoCheckpoint=parseInt(a));break;case"wal_checkpoint":let o=(a??"passive").toLowerCase();switch(o){case"passive":this._module.pendingOps.push(this.#te(i,o));break;case"full":case"restart":case"truncate":if(i.writeAhead.isTransactionPending())throw Error("invalid while a transaction is in progress");this._module.pendingOps.push(this.#te(i,o));break;case"noop":break;default:throw Error(`unexpected wal_checkpoint mode: ${a}`)}{let e=i.writeAhead.getWriteAheadSize().toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"lazy_lock":if(null!==a){let e=a.toLowerCase();switch(e){case"read":case"write":case"readwrite":case"none":i.useLazyLock=e;break;default:throw Error(`unexpected value for lazy_lock: ${a}`)}}{let e=i.useLazyLock,t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0}break;case 31:case 32:if(256&i.flags)return 0;break;case 33:if(256&i.flags)return i.writeAhead.rollback(),0;break;case 21:256&i.flags&&i.writeAhead.commit();break;case 11:i.overwrite=!0}}catch(e){return console.error(e.stack),this.lastError=e,10}return 12}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}#e5(e){if(0===this.unboundTempFiles.size)throw Error("no temporary files available");let t=this.unboundTempFiles.values().next().value;return this.unboundTempFiles.delete(t),this.boundTempFiles.set(e,t),t}#e8(e){e.accessHandle.truncate(0),this.mapPathToFile.delete(e.zName),this.unboundTempFiles.add(e.accessHandle),this.boundTempFiles.delete(e.zName)}#tt(e,t){return`${e}-wa${t}`}async #te(e,t){let r=[];try{"passive"!==t&&0===e.lockState&&(await e.writeLock.acquire("exclusive"),r.push(()=>e.writeLock.release()),e.writeAhead.isolateForWrite(),r.push(()=>e.writeAhead.rejoin())),await e.writeAhead.checkpoint({isPassive:"passive"===t})}catch(e){throw"AbortError"===e.name&&(e.code=5),e}finally{for(;r.length;)r.pop()()}}async #e9(e){let t=[];try{await e.readLock.acquire("shared",e.timeout),t.push(()=>e.readLock.release()),e.writeAhead.isolateForRead(),e.retryResult={}}catch(r){for(;t.length;)t.pop()();e.retryResult=r}}async #e7(e){let t=[];try{"exclusive"===e.lockingMode&&(await e.readLock.acquire("exclusive",e.timeout),t.push(()=>e.readLock.release())),await e.writeLock.acquire("exclusive",e.timeout),t.push(()=>e.writeLock.release()),e.writeAhead.isolateForWrite(),e.retryResult={}}catch(r){for(;t.length;)t.pop()();e.retryResult=r}}async #e4(e,t,r,i){let n=[],s=this.mapPathToFile.get(e);try{let{accessHandle:r,waHandles:i}=await navigator.locks.request(`${e}#open`,async r=>{let i=e.split("/").filter(e=>e),s=i.pop(),a=await navigator.storage.getDirectory(),o=!!(4&t);for(let e of i)a=await a.getDirectoryHandle(e,{create:o});let l=o&&await async function(){try{return await a.getFileHandle(s),!1}catch(e){if("NotFoundError"===e.name)return!0;throw e}}();async function c(e,t){let r=await a.getFileHandle(e,t),i=await r.createSyncAccessHandle({mode:"readwrite-unsafe"});return n.push(()=>{i.close(),l&&a.removeEntry(e)}),i}let _=await c(s,{create:o}),u=await Promise.all([0,1].map(async e=>{let t=this.#tt(s,e),r=await c(t,{create:!0});return l&&r.truncate(0),r}));return{accessHandle:_,waHandles:u}}),a=new e_(e,r,i);await a.ready(),s.retryResult={accessHandle:r,waHandles:i,writeAhead:a}}catch(e){for(;n.length;)n.pop()();s.retryResult=e}}}let ef=globalThis.FileSystemSyncAccessHandle.prototype.hasOwnProperty("mode");async function ep(e,t){let[r,i,n]=e.match(/[/]?(.*)[/](.*)$/),s=await navigator.storage.getDirectory();for(let e of i.split("/"))e&&(s=await s.getDirectoryHandle(e,{create:t}));return[s,n]}class em{pathname;flags;fileHandle;accessHandle;handleRequestChannel;handleLockReleaser=null;isHandleRequested=!1;isFileLocked=!1;openLockReleaser=null;constructor(e,t){this.pathname=e,this.flags=t}}class eg extends H(T){mapIdToFile=new Map;lastError=null;log=null;static async create(e,t,r){let i=new eg(e,t,r);return await i.isReady(),i}constructor(e,t,r={}){super(e,t,r)}getFilename(e){let t=this.mapIdToFile.get(e).pathname;return`OPFS:${t}`}async jOpen(e,t,r,i){try{let s=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,a=new em(s,r);this.mapIdToFile.set(t,a);let o=!!(4&r),[l,c]=await ep(s,o);if(a.fileHandle=await l.getFileHandle(c,{create:o}),256&r&&!ef){function n(){a.handleRequestChannel.postMessage(null)}a.handleRequestChannel=new BroadcastChannel(this.getFilename(t));let e=setInterval(n,1e3);setTimeout(n),a.openLockReleaser=await new Promise((r,i)=>{navigator.locks.request(this.getFilename(t),t=>(clearInterval(e),t)?new Promise(e=>{r(e)}):i())}),this.log?.("access handle acquired for open")}return a.accessHandle=await a.fileHandle.createSyncAccessHandle({mode:"readwrite-unsafe"}),i.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,[i,n]=await ep(r,!1),s=i.removeEntry(n,{recursive:!1});return t&&await s,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,[i,n]=await ep(t,!1);return await i.getFileHandle(n,{create:!1}),r.setInt32(0,1,!0),0}catch(e){if("NotFoundError"===e.name)return r.setInt32(0,0,!0),0;return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);if(this.mapIdToFile.delete(e),await t?.accessHandle?.close(),t?.flags&8){let[e,r]=await ep(t.pathname,!1);await e.removeEntry(r,{recursive:!1})}return 0}catch(e){return 2570}}jRead(e,t,r){try{let i=this.mapIdToFile.get(e),n=i.accessHandle.read(t.subarray(),{at:r});if(i.openLockReleaser&&(i.accessHandle.close(),i.accessHandle=null,i.openLockReleaser(),i.openLockReleaser=null,this.log?.("access handle released for open")),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{return this.mapIdToFile.get(e).accessHandle.write(t.subarray(),{at:r}),0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{return this.mapIdToFile.get(e).accessHandle.truncate(t),0}catch(e){return this.lastError=e,1546}}jSync(e,t){try{return this.mapIdToFile.get(e).accessHandle.flush(),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e).accessHandle.getSize();return t.setBigInt64(0,BigInt(r),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){if(ef)return super.jLock(e,t);let r=this.mapIdToFile.get(e);return!r.isFileLocked&&(r.isFileLocked=!0,r.handleLockReleaser||(r.handleRequestChannel.onmessage=e=>{r.isFileLocked?(r.isHandleRequested=!0,this.log?.("access handle requested")):(r.accessHandle.close(),r.accessHandle=null,r.handleLockReleaser(),r.handleLockReleaser=null,this.log?.("access handle requested and released")),r.handleRequestChannel.onmessage=null},r.handleLockReleaser=await new Promise((t,i)=>{function n(){r.handleRequestChannel.postMessage(null)}let s=setInterval(n,1e3);setTimeout(n),navigator.locks.request(this.getFilename(e),e=>(clearInterval(s),e)?new Promise(e=>{t(e)}):i())}),r.accessHandle=await r.fileHandle.createSyncAccessHandle(),this.log?.("access handle acquired"))),0}async jUnlock(e,t){if(ef)return super.jUnlock(e,t);if(0===t){let t=this.mapIdToFile.get(e);t.isHandleRequested&&(t.handleLockReleaser&&(t.accessHandle.close(),t.accessHandle=null,t.handleLockReleaser(),t.handleLockReleaser=null,this.log?.("access handle released")),t.isHandleRequested=!1),t.isFileLocked=!1}return 0}jFileControl(e,t,r){try{let i=this.mapIdToFile.get(e);if(14===t){let t=eb(r,4),n=eb(r,8);switch(this.log?.("xFileControl",i.pathname,"PRAGMA",t,n),t.toLowerCase()){case"journal_mode":if(n&&!ef&&!["off","memory","delete","wal"].includes(n.toLowerCase()))throw Error('journal_mode must be "off", "memory", "delete", or "wal"');break;case"write_hint":return super.jFileControl(e,H.WRITE_HINT_OP_CODE,null)}}}catch(e){return this.lastError=e,10}return super.jFileControl(e,t,r)}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}function eb(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}let ew=(_=import.meta.url,function(e={}){let t,r,i,n,s,a,o,l,c,u,d,h,f;var p,m,g,b,w,v,y,q,k,E,x,S,F,A,T,P,I,D,C,z,L,M,R=new Promise((e,t)=>{p=e,m=t}),j="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(j||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),_&&(B=_),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),b=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function ei(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function es(e,t,r){return(!v?new Promise((t,r)=>{b(e,e=>t(new Uint8Array(e)),i=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),ei(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":ei("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:ei(`invalid type for getValue: ${t}`)}}var ec=e.noExitRuntime||!0;function e_(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":ei("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:ei(`invalid type for setValue: ${r}`)}}var eu=()=>t_(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(!(128&a)){s+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){s+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var c=a-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}}return s},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);ei("initRandomDevice")})())(e),eg={resolve:(...e)=>{for(var t="",r=!1,i=e.length-1;i>=-1&&!r;i--){var n=i>=0?e[i]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eg.resolve(e).substr(1),t=eg.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),a=s,o=0;o<s;o++)if(i[o]!==n[o]){a=o;break}for(var l=[],o=a;o<i.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eb=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var i=Array(r>0?r:ew(e)+1),n=ev(e,i,0,i.length);return t&&(i.length=n),i}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var s,a=0,o=0;o<i;o++){try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===s&&0===a)throw new eF.ErrnoError(6);if(null==s)break;a++,t[r+o]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,i,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var s=0;s<i;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new eF.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!eb.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eb=ey(e,!0)}return eb.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=ta(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,i){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,i);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,i)=>eE.createNode(e,t,r,i),rename(e,t,r){if(eF.isDir(e.mode)){var i;try{i=eF.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var i in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var i=eE.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=s[n+o];return a},write(e,t,r,i,n,s){if(t.buffer===k.buffer&&(s=!1),!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;else if(n+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),n),i}if(eE.expandFileStorage(a,n+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),n);else for(var o=0;o<i;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&eF.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new eF.ErrnoError(28);return i},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var s,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(s=ek(t)))throw new eF.ErrnoError(48);k.set(o,s)}else a=!1,s=o.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,i,n)=>(eE.stream_ops.write(e,t,0,i,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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{constructor(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i,this.readMode=365,this.writeMode=146}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 eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eg.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),i=eF.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(i=eF.lookupNode(i,r[s]),n=ep.join2(n,r[s]),eF.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var o=0;eF.isLink(i.mode);){var l=eF.readlink(n);if(n=eg.resolve(ep.dirname(n),l),i=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var i=eF.hashName(e.id,t),n=eF.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return eF.lookup(e,t)},createNode(e,t,r,i){var n=new eF.FSNode(e,t,r,i);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{i=eF.lookupNode(e,t)}catch(e){return e.errno}var i,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(i.mode))return 54;if(eF.isRoot(i)||eF.getPath(i)===eF.cwd())return 10}else if(eF.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push(...i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),i=0;function n(e){return eF.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)})},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!s){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,eF.isMountpoint(i))throw new eF.ErrnoError(10);if(!eF.isDir(i.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,i=r.mounted,n=eF.getMounts(i);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var s=eF.mayCreate(i,n);if(s)throw new eF.ErrnoError(s);if(!i.node_ops.mknod)throw new eF.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n<r.length;++n)if(r[n]){i+="/"+r[n];try{eF.mkdir(i,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eg.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var i=ep.basename(t),n=eF.mayCreate(r,i);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n,s=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,i=eF.lookupPath(t,{parent:!0}).node,!r||!i)throw new eF.ErrnoError(44);if(r.mount!==i.mount)throw new eF.ErrnoError(75);var c=eF.lookupNode(r,o),_=eg.relative(e,a);if("."!==_.charAt(0))throw new eF.ErrnoError(28);if("."!==(_=eg.relative(t,s)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(i,l)}catch(e){}if(c!==n){var u=eF.isDir(c.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(i,l,u):eF.mayCreate(i,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(c)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(i!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(c);try{r.node_ops.rename(c,i,l),c.parent=i}catch(e){throw e}finally{eF.hashAddNode(c)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(i)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(i)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eg.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,i){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var i=eF.getStreamChecked(e);eF.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var i=eF.nodePermissions(r,"w");if(i)throw new eF.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var i=eF.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(t,r,i){if(""===t)throw new eF.ErrnoError(44);if(i=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(i=void 0===i?438:i)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var s=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,i,0),s=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!s){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!s&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=a),a},write(e,t,r,i,n,s){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,i,n,s);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if((2&i)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,i=eF.open(e,t.flags),n=eF.stat(e).size,s=new Uint8Array(n);return eF.read(i,s,0,n,0),"utf8"===t.encoding?r=eh(s,0):"binary"===t.encoding&&(r=s),eF.close(i),r},writeFile(e,t,r={}){r.flags=r.flags||577;var i=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),s=ev(t,n,0,n.length);eF.write(i,n,0,s,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(i,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(i)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,i){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=i||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});i.parentExists=!0,i.parentPath=r.path,i.parentObject=r.node,i.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),i.exists=!0,i.path=r.path,i.object=r.node,i.name=r.node.name,i.isRoot="/"===r.path}catch(e){i.error=e.errno}return i},createPath(e,t,r,i){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ep.join2(e,s);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,i,n){var s=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(i,n);return eF.create(s,a)},createDataFile(e,t,r,i,n,s){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(i,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var c=Array(r.length),_=0,u=r.length;_<u;++_)c[_]=r.charCodeAt(_);r=c}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,s),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,i){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),s=eS(!!r,!!i);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){i?.buffer?.length&&i(10)},read(e,t,i,n,s){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[i+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,s){for(var a=0;a<n;a++)try{i(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,s,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("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.");if(g)try{e.contents=ey(g(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,i,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var i=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,s=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=i);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(s||!i)&&(a=i=1,a=i=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var s={isDevice:!1,url:r};var a=eF.createFile(e,t,s,i,n);s.contents?a.contents=s.contents:s.url&&(a.contents=null,a.url=s.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,i);if(s.slice)for(var o=0;o<a;o++)t[r+o]=s[n+o];else for(var o=0;o<a;o++)t[r+o]=s.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,i,n)=>(eF.forceLoadFile(a),l(e,t,r,i,n)),o.mmap=(e,t,r,i,n)=>{eF.forceLoadFile(a);var s=ek(t);if(!s)throw new eF.ErrnoError(48);return l(e,k,s,t,r),{ptr:s,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)i=eF.cwd();else{var i;i=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return i}return ep.join2(i,t)},doStat(e,t,r){var i=e(t);F[r>>2]=i.dev,F[r+4>>2]=i.mode,A[r+8>>2]=i.nlink,F[r+12>>2]=i.uid,F[r+16>>2]=i.gid,F[r+20>>2]=i.rdev,C=[i.size>>>0,+Math.abs(D=i.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=C[0],F[r+28>>2]=C[1],F[r+32>>2]=4096,F[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=C[0],F[r+44>>2]=C[1],A[r+48>>2]=n%1e3*1e3,C=[Math.floor(s/1e3)>>>0,+Math.abs(D=Math.floor(s/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=C[0],F[r+60>>2]=C[1],A[r+64>>2]=s%1e3*1e3,C=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=C[0],F[r+76>>2]=C[1],A[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,+Math.abs(D=i.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=C[0],F[r+92>>2]=C[1],0},doMsync(e,t,r,i,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);eF.msync(t,s,n,r,i)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],eC=[0,31,60,91,121,152,182,213,244,274,305,335],ez=[0,31,59,90,120,151,181,212,243,273,304,334],eL=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},eM={},eR=()=>{if(!eR.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in eM)void 0===eM[t]?delete e[t]:e[t]=eM[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eR.strings=r}return eR.strings},ej=function(e){try{var t=eA.getStreamFromFD(e);return e2.handleSleep(e=>{var r=t.node.mount;r.type.syncfs?r.type.syncfs(r,!1,t=>{t?e(29):e(0)}):e(0)})}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}};ej.isAsync=!0;var eH=function(){let t="object"==typeof e2?e2.handleAsync.bind(e2):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),eH=function(e,i,...n){let s=r.get(i),a=null,o="function"==typeof s?s:s[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(s,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(s,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}};function eO(...e){return eH(!0,...e)}function eU(...e){return eH(!0,...e)}function eN(...e){return eH(!0,...e)}function eB(...e){return eH(!0,...e)}function e$(...e){return eH(!0,...e)}function eW(...e){return eH(!0,...e)}function eV(...e){return eH(!0,...e)}function eG(...e){return eH(!0,...e)}function eX(...e){return eH(!0,...e)}function eK(...e){return eH(!0,...e)}function eY(...e){return eH(!0,...e)}function eJ(...e){return eH(!0,...e)}function eZ(...e){return eH(!0,...e)}function eQ(...e){return eH(!0,...e)}function e0(...e){return eH(!0,...e)}function e3(...e){return eH(!0,...e)}eO.isAsync=!0,eU.isAsync=!0,eN.isAsync=!0,eB.isAsync=!0,e$.isAsync=!0,eW.isAsync=!0,eV.isAsync=!0,eG.isAsync=!0,eX.isAsync=!0,eK.isAsync=!0,eY.isAsync=!0,eJ.isAsync=!0,eZ.isAsync=!0,eQ.isAsync=!0,e0.isAsync=!0,e3.isAsync=!0;var e1=e=>{if(e instanceof ea||"unwind"==e)return q;N(1,e)},e2={instrumentWasmImports(e){var t=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[r,i]of Object.entries(e))"function"==typeof i&&(i.isAsync||t.test(r))&&(e[r]=i=new WebAssembly.Suspending(i))},instrumentWasmExports(e){var t=/^(sqlite3_close|sqlite3_finalize|sqlite3_open_v2|sqlite3_prepare|sqlite3_prepare16|sqlite3_prepare_v2|sqlite3_prepare16_v2|sqlite3_prepare_v3|sqlite3_prepare16_v3|sqlite3_reset|sqlite3_step|main|__main_argc_argv)$/;e2.asyncExports=new Set;var r={};for(let[i,n]of Object.entries(e))"function"==typeof n?(t.test(i)&&(e2.asyncExports.add(n),n=e2.makeAsyncFunction(n)),r[i]=(...e)=>n(...e)):r[i]=n;return r},asyncExports:null,isAsyncExport:e=>e2.asyncExports?.has(e),handleAsync:async e=>await e(),handleSleep:e=>e2.handleAsync(()=>new Promise(e)),makeAsyncFunction:e=>WebAssembly.promising(e)},e6=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},e4=[],e5=e=>{var t=e4[e];return!t&&(e>=e4.length&&(e4.length=e+1),e4[e]=t=z.get(e),e2.isAsyncExport(t)&&(e4[e]=t=e2.makeAsyncFunction(t))),t},e8=[],e7=(e,t)=>{z.set(e,t),e4[e]=z.get(e)},e9=t=>e["_"+t],te=(e,t)=>{k.set(e,t)},tt=(e,t,r,i,n)=>{var s={string:e=>{var t,r,i,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,i=tc(r),r),n=i),n},array:e=>{let t;var r=(t=e.length,tc(t));return te(e,r),r}},a=e9(e),o=[],l=0;if(i)for(var c=0;c<i.length;c++){var _=s[r[c]];_?(0===l&&(l=eu()),o[c]=_(i[c])):o[c]=i[c]}var u=a(...o);function d(e){return 0!==l&&tl(l),"string"===t?ef(e):"boolean"===t?!!e:e}return n?.async?u.then(d):u=d(u)},tr="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,i,n,s,a,o,l,c)=>{var _=t?eg.resolve(ep.join2(e,t)):e,u=`cp ${_}`;function d(r){var d,h;function f(r){c?.(),o||eF.createDataFile(e,t,r,i,n,l),s?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(_)&&(e.handle(r,_,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;b(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),eH();var ti={__assert_fail:(e,t,r,i)=>{ei(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,i?ef(i):"unknown function"])},__syscall_chmod:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_faccessat:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var s="";if(4&r&&(s+="r"),2&r&&(s+="w"),1&r&&(s+="x"),s&&eF.nodePermissions(n,s))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fchmod:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fchown32:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fcntl64:function(e,t,r){eA.varargs=r;try{var i=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(i,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return i.flags;case 4:var n=eT();return i.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fstat64:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_ftruncate64:function(e,t,r){var i=eP(t,r);try{if(isNaN(i))return 61;return eF.ftruncate(e,i),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_getcwd:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),i=ew(r)+1;if(t<i)return -68;return eI(r,e,t),i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_lstat64:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_mkdirat:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_newfstatat:function(e,t,r,i){try{t=eA.getStr(t);var n=256&i,s=4096&i;return i&=-6401,t=eA.calculateAt(e,t,s),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_openat:function(e,t,r,i){eA.varargs=i;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=i?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_readlinkat:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),i<=0)return -28;var n=eF.readlink(t),s=Math.min(i,ew(n)),a=k[r+s];return eI(n,r,i+1),k[r+s]=a,s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_rmdir:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_stat64:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_unlinkat:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):ei("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_utimensat:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),s=F[r+8>>2];a=1e3*n+s/1e6,r+=16,n=eD(r),s=F[r+8>>2],o=1e3*n+s/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_localtime_js:function(e,t,r){let i;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var s=0|((i=n.getFullYear())%4==0&&(i%100!=0||i%400==0)?eC:ez)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=s,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),c=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=c},_mmap_js:function(e,t,r,i,n,s,a,o){var l=eP(n,s);try{if(isNaN(l))return 61;var c=eA.getStreamFromFD(i),_=eF.mmap(c,e,l,t,r),u=_.ptr;return F[a>>2]=_.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_munmap_js:function(e,t,r,i,n,s,a){var o=eP(s,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,i,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_tzset_js:(e,t,r,i)=>{var n=(new Date).getFullYear(),s=new Date(n,0,1),a=new Date(n,6,1),o=s.getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.max(o,l);A[e>>2]=60*c,F[t>>2]=Number(o!=l);var _=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=_(s),d=_(a);l<o?(eI(u,r,17),eI(d,i,17)):(eI(u,i,17),eI(d,r,17))},emscripten_date_now:()=>Date.now(),emscripten_get_now:()=>performance.now(),emscripten_resize_heap:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,i=1;i<=4;i*=2){var n=t*(1+.2/i);if(n=Math.min(n,e+0x6000000),eL(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},environ_get:(e,t)=>{var r=0;return eR().forEach((i,n)=>{var s=t+r;A[e+4*n>>2]=s;for(var a=s,o=0;o<i.length;++o)k[a++]=i.charCodeAt(o);k[a]=0,r+=i.length+1}),0},environ_sizes_get:(e,t)=>{var r=eR();A[e>>2]=r.length;var i=0;return r.forEach(e=>i+=e.length+1),A[t>>2]=i,0},fd_close:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_fdstat_get:function(e,t){try{var r=eA.getStreamFromFD(e),i=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=i,x[t+2>>1]=0,C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=C[0],F[t+12>>2]=C[1],C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=C[0],F[t+20>>2]=C[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,i);if(l<0)return -1;if(n+=l,l<o)break;void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,t,r,i,n){var s=eP(t,r);try{if(isNaN(s))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,s,i),C=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=C[0],F[n+4>>2]=C[1],a.getdents&&0===s&&0===i&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_sync:ej,fd_write:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,i);if(l<0)return -1;n+=l,void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},ipp:function(...e){return eH(!1,...e)},ipp_async:eO,ippipppp:function(...e){return eH(!1,...e)},ippipppp_async:eU,ippp:function(...e){return eH(!1,...e)},ippp_async:eN,ipppi:function(...e){return eH(!1,...e)},ipppi_async:eB,ipppiii:function(...e){return eH(!1,...e)},ipppiii_async:e$,ipppiiip:function(...e){return eH(!1,...e)},ipppiiip_async:eW,ipppip:function(...e){return eH(!1,...e)},ipppip_async:eV,ipppj:function(...e){return eH(!1,...e)},ipppj_async:eG,ipppp:function(...e){return eH(!1,...e)},ipppp_async:eX,ippppi:function(...e){return eH(!1,...e)},ippppi_async:eK,ippppij:function(...e){return eH(!1,...e)},ippppij_async:eY,ippppip:function(...e){return eH(!1,...e)},ippppip_async:eJ,ipppppip:function(...e){return eH(!1,...e)},ipppppip_async:eZ,vppippii:function(...e){return eH(!1,...e)},vppippii_async:eQ,vppp:function(...e){return eH(!1,...e)},vppp_async:e0,vpppip:function(...e){return eH(!1,...e)},vpppip_async:e3},tn=function(){var t,r,i,n,s=(e2.instrumentWasmImports(ti),{env:ti,wasi_snapshot_preview1:ti});function a(e,t){var r;return tn=e.exports,y=(tn=e2.instrumentWasmExports(tn)).memory,G(),z=tn.__indirect_function_table,r=tn.__wasm_call_ctors,K.unshift(r),er("wasm-instantiate"),tn}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(s,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite-jspi.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}()),(t=v,r=I,i=s,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?es(r,i,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,i).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),es(r,i,n)}))).catch(m),{}}(),ts=(e._sqlite3_status64=(t,r,i,n)=>(e._sqlite3_status64=tn.sqlite3_status64)(t,r,i,n),e._sqlite3_status=(t,r,i,n)=>(e._sqlite3_status=tn.sqlite3_status)(t,r,i,n),e._sqlite3_msize=t=>(e._sqlite3_msize=tn.sqlite3_msize)(t),e._sqlite3_db_status=(t,r,i,n,s)=>(e._sqlite3_db_status=tn.sqlite3_db_status)(t,r,i,n,s),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=tn.sqlite3_vfs_find)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=tn.sqlite3_vfs_register)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=tn.sqlite3_vfs_unregister)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=tn.sqlite3_release_memory)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=tn.sqlite3_soft_heap_limit64)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=tn.sqlite3_memory_used)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=tn.sqlite3_hard_heap_limit64)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=tn.sqlite3_memory_highwater)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=tn.sqlite3_malloc)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=tn.sqlite3_malloc64)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=tn.sqlite3_free)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=tn.sqlite3_realloc)(t,r),e._sqlite3_realloc64=(t,r,i)=>(e._sqlite3_realloc64=tn.sqlite3_realloc64)(t,r,i),e._sqlite3_str_vappendf=(t,r,i)=>(e._sqlite3_str_vappendf=tn.sqlite3_str_vappendf)(t,r,i),e._sqlite3_str_append=(t,r,i)=>(e._sqlite3_str_append=tn.sqlite3_str_append)(t,r,i),e._sqlite3_str_appendchar=(t,r,i)=>(e._sqlite3_str_appendchar=tn.sqlite3_str_appendchar)(t,r,i),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=tn.sqlite3_str_appendall)(t,r),e._sqlite3_str_appendf=(t,r,i)=>(e._sqlite3_str_appendf=tn.sqlite3_str_appendf)(t,r,i),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=tn.sqlite3_str_finish)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=tn.sqlite3_str_errcode)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=tn.sqlite3_str_length)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=tn.sqlite3_str_value)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=tn.sqlite3_str_reset)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=tn.sqlite3_str_new)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=tn.sqlite3_vmprintf)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=tn.sqlite3_mprintf)(t,r),e._sqlite3_vsnprintf=(t,r,i,n)=>(e._sqlite3_vsnprintf=tn.sqlite3_vsnprintf)(t,r,i,n),e._sqlite3_snprintf=(t,r,i,n)=>(e._sqlite3_snprintf=tn.sqlite3_snprintf)(t,r,i,n),e._sqlite3_log=(t,r,i)=>(e._sqlite3_log=tn.sqlite3_log)(t,r,i),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=tn.sqlite3_randomness)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=tn.sqlite3_stricmp)(t,r),e._sqlite3_strnicmp=(t,r,i)=>(e._sqlite3_strnicmp=tn.sqlite3_strnicmp)(t,r,i),e._sqlite3_os_init=()=>(e._sqlite3_os_init=tn.sqlite3_os_init)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=tn.sqlite3_os_end)(),e._sqlite3_serialize=(t,r,i,n)=>(e._sqlite3_serialize=tn.sqlite3_serialize)(t,r,i,n),e._sqlite3_prepare_v2=(t,r,i,n,s)=>(e._sqlite3_prepare_v2=tn.sqlite3_prepare_v2)(t,r,i,n,s),e._sqlite3_step=t=>(e._sqlite3_step=tn.sqlite3_step)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=tn.sqlite3_column_int64)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=tn.sqlite3_reset)(t),e._sqlite3_exec=(t,r,i,n,s)=>(e._sqlite3_exec=tn.sqlite3_exec)(t,r,i,n,s),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=tn.sqlite3_column_int)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=tn.sqlite3_finalize)(t),e._sqlite3_deserialize=(t,r,i,n,s,a,o,l)=>(e._sqlite3_deserialize=tn.sqlite3_deserialize)(t,r,i,n,s,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=tn.sqlite3_database_file_object)(t),e._sqlite3_backup_init=(t,r,i,n)=>(e._sqlite3_backup_init=tn.sqlite3_backup_init)(t,r,i,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=tn.sqlite3_backup_step)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=tn.sqlite3_backup_finish)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=tn.sqlite3_backup_remaining)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=tn.sqlite3_backup_pagecount)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=tn.sqlite3_clear_bindings)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=tn.sqlite3_value_blob)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=tn.sqlite3_value_text)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=tn.sqlite3_value_bytes)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=tn.sqlite3_value_bytes16)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=tn.sqlite3_value_double)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=tn.sqlite3_value_int)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=tn.sqlite3_value_int64)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=tn.sqlite3_value_subtype)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=tn.sqlite3_value_pointer)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=tn.sqlite3_value_text16)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=tn.sqlite3_value_text16be)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=tn.sqlite3_value_text16le)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=tn.sqlite3_value_type)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=tn.sqlite3_value_encoding)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=tn.sqlite3_value_nochange)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=tn.sqlite3_value_frombind)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=tn.sqlite3_value_dup)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=tn.sqlite3_value_free)(t),e._sqlite3_result_blob=(t,r,i,n)=>(e._sqlite3_result_blob=tn.sqlite3_result_blob)(t,r,i,n),e._sqlite3_result_blob64=(t,r,i,n,s)=>(e._sqlite3_result_blob64=tn.sqlite3_result_blob64)(t,r,i,n,s),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=tn.sqlite3_result_double)(t,r),e._sqlite3_result_error=(t,r,i)=>(e._sqlite3_result_error=tn.sqlite3_result_error)(t,r,i),e._sqlite3_result_error16=(t,r,i)=>(e._sqlite3_result_error16=tn.sqlite3_result_error16)(t,r,i),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=tn.sqlite3_result_int)(t,r),e._sqlite3_result_int64=(t,r,i)=>(e._sqlite3_result_int64=tn.sqlite3_result_int64)(t,r,i),e._sqlite3_result_null=t=>(e._sqlite3_result_null=tn.sqlite3_result_null)(t),e._sqlite3_result_pointer=(t,r,i,n)=>(e._sqlite3_result_pointer=tn.sqlite3_result_pointer)(t,r,i,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=tn.sqlite3_result_subtype)(t,r),e._sqlite3_result_text=(t,r,i,n)=>(e._sqlite3_result_text=tn.sqlite3_result_text)(t,r,i,n),e._sqlite3_result_text64=(t,r,i,n,s,a)=>(e._sqlite3_result_text64=tn.sqlite3_result_text64)(t,r,i,n,s,a),e._sqlite3_result_text16=(t,r,i,n)=>(e._sqlite3_result_text16=tn.sqlite3_result_text16)(t,r,i,n),e._sqlite3_result_text16be=(t,r,i,n)=>(e._sqlite3_result_text16be=tn.sqlite3_result_text16be)(t,r,i,n),e._sqlite3_result_text16le=(t,r,i,n)=>(e._sqlite3_result_text16le=tn.sqlite3_result_text16le)(t,r,i,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=tn.sqlite3_result_value)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=tn.sqlite3_result_error_toobig)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=tn.sqlite3_result_zeroblob)(t,r),e._sqlite3_result_zeroblob64=(t,r,i)=>(e._sqlite3_result_zeroblob64=tn.sqlite3_result_zeroblob64)(t,r,i),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=tn.sqlite3_result_error_code)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=tn.sqlite3_result_error_nomem)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=tn.sqlite3_user_data)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=tn.sqlite3_context_db_handle)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=tn.sqlite3_vtab_nochange)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=tn.sqlite3_vtab_in_first)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=tn.sqlite3_vtab_in_next)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=tn.sqlite3_aggregate_context)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=tn.sqlite3_get_auxdata)(t,r),e._sqlite3_set_auxdata=(t,r,i,n)=>(e._sqlite3_set_auxdata=tn.sqlite3_set_auxdata)(t,r,i,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=tn.sqlite3_column_count)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=tn.sqlite3_data_count)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=tn.sqlite3_column_blob)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=tn.sqlite3_column_bytes)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=tn.sqlite3_column_bytes16)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=tn.sqlite3_column_double)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=tn.sqlite3_column_text)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=tn.sqlite3_column_value)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=tn.sqlite3_column_text16)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=tn.sqlite3_column_type)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=tn.sqlite3_column_name)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=tn.sqlite3_column_name16)(t,r),e._sqlite3_bind_blob=(t,r,i,n,s)=>(e._sqlite3_bind_blob=tn.sqlite3_bind_blob)(t,r,i,n,s),e._sqlite3_bind_blob64=(t,r,i,n,s,a)=>(e._sqlite3_bind_blob64=tn.sqlite3_bind_blob64)(t,r,i,n,s,a),e._sqlite3_bind_double=(t,r,i)=>(e._sqlite3_bind_double=tn.sqlite3_bind_double)(t,r,i),e._sqlite3_bind_int=(t,r,i)=>(e._sqlite3_bind_int=tn.sqlite3_bind_int)(t,r,i),e._sqlite3_bind_int64=(t,r,i,n)=>(e._sqlite3_bind_int64=tn.sqlite3_bind_int64)(t,r,i,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=tn.sqlite3_bind_null)(t,r),e._sqlite3_bind_pointer=(t,r,i,n,s)=>(e._sqlite3_bind_pointer=tn.sqlite3_bind_pointer)(t,r,i,n,s),e._sqlite3_bind_text=(t,r,i,n,s)=>(e._sqlite3_bind_text=tn.sqlite3_bind_text)(t,r,i,n,s),e._sqlite3_bind_text64=(t,r,i,n,s,a,o)=>(e._sqlite3_bind_text64=tn.sqlite3_bind_text64)(t,r,i,n,s,a,o),e._sqlite3_bind_text16=(t,r,i,n,s)=>(e._sqlite3_bind_text16=tn.sqlite3_bind_text16)(t,r,i,n,s),e._sqlite3_bind_value=(t,r,i)=>(e._sqlite3_bind_value=tn.sqlite3_bind_value)(t,r,i),e._sqlite3_bind_zeroblob=(t,r,i)=>(e._sqlite3_bind_zeroblob=tn.sqlite3_bind_zeroblob)(t,r,i),e._sqlite3_bind_zeroblob64=(t,r,i,n)=>(e._sqlite3_bind_zeroblob64=tn.sqlite3_bind_zeroblob64)(t,r,i,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=tn.sqlite3_bind_parameter_count)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=tn.sqlite3_bind_parameter_name)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=tn.sqlite3_bind_parameter_index)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=tn.sqlite3_db_handle)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=tn.sqlite3_stmt_readonly)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=tn.sqlite3_stmt_isexplain)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=tn.sqlite3_stmt_explain)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=tn.sqlite3_stmt_busy)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=tn.sqlite3_next_stmt)(t,r),e._sqlite3_stmt_status=(t,r,i)=>(e._sqlite3_stmt_status=tn.sqlite3_stmt_status)(t,r,i),e._sqlite3_sql=t=>(e._sqlite3_sql=tn.sqlite3_sql)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=tn.sqlite3_expanded_sql)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=tn.sqlite3_value_numeric_type)(t),e._sqlite3_blob_open=(t,r,i,n,s,a,o,l)=>(e._sqlite3_blob_open=tn.sqlite3_blob_open)(t,r,i,n,s,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=tn.sqlite3_blob_close)(t),e._sqlite3_blob_read=(t,r,i,n)=>(e._sqlite3_blob_read=tn.sqlite3_blob_read)(t,r,i,n),e._sqlite3_blob_write=(t,r,i,n)=>(e._sqlite3_blob_write=tn.sqlite3_blob_write)(t,r,i,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=tn.sqlite3_blob_bytes)(t),e._sqlite3_blob_reopen=(t,r,i)=>(e._sqlite3_blob_reopen=tn.sqlite3_blob_reopen)(t,r,i),e._sqlite3_set_authorizer=(t,r,i)=>(e._sqlite3_set_authorizer=tn.sqlite3_set_authorizer)(t,r,i),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=tn.sqlite3_strglob)(t,r),e._sqlite3_strlike=(t,r,i)=>(e._sqlite3_strlike=tn.sqlite3_strlike)(t,r,i),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=tn.sqlite3_errmsg)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=tn.sqlite3_auto_extension)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=tn.sqlite3_cancel_auto_extension)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=tn.sqlite3_reset_auto_extension)(),e._sqlite3_prepare=(t,r,i,n,s)=>(e._sqlite3_prepare=tn.sqlite3_prepare)(t,r,i,n,s),e._sqlite3_prepare_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare_v3=tn.sqlite3_prepare_v3)(t,r,i,n,s,a),e._sqlite3_prepare16=(t,r,i,n,s)=>(e._sqlite3_prepare16=tn.sqlite3_prepare16)(t,r,i,n,s),e._sqlite3_prepare16_v2=(t,r,i,n,s)=>(e._sqlite3_prepare16_v2=tn.sqlite3_prepare16_v2)(t,r,i,n,s),e._sqlite3_prepare16_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare16_v3=tn.sqlite3_prepare16_v3)(t,r,i,n,s,a),e._sqlite3_get_table=(t,r,i,n,s,a)=>(e._sqlite3_get_table=tn.sqlite3_get_table)(t,r,i,n,s,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=tn.sqlite3_free_table)(t),e._sqlite3_create_module=(t,r,i,n)=>(e._sqlite3_create_module=tn.sqlite3_create_module)(t,r,i,n),e._sqlite3_create_module_v2=(t,r,i,n,s)=>(e._sqlite3_create_module_v2=tn.sqlite3_create_module_v2)(t,r,i,n,s),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=tn.sqlite3_drop_modules)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=tn.sqlite3_declare_vtab)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=tn.sqlite3_vtab_on_conflict)(t),e._sqlite3_vtab_config=(t,r,i)=>(e._sqlite3_vtab_config=tn.sqlite3_vtab_config)(t,r,i),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=tn.sqlite3_vtab_collation)(t,r),e._sqlite3_vtab_in=(t,r,i)=>(e._sqlite3_vtab_in=tn.sqlite3_vtab_in)(t,r,i),e._sqlite3_vtab_rhs_value=(t,r,i)=>(e._sqlite3_vtab_rhs_value=tn.sqlite3_vtab_rhs_value)(t,r,i),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=tn.sqlite3_vtab_distinct)(t),e._sqlite3_keyword_name=(t,r,i)=>(e._sqlite3_keyword_name=tn.sqlite3_keyword_name)(t,r,i),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=tn.sqlite3_keyword_count)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=tn.sqlite3_keyword_check)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=tn.sqlite3_complete)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=tn.sqlite3_complete16)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=tn.sqlite3_libversion)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=tn.sqlite3_libversion_number)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=tn.sqlite3_threadsafe)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=tn.sqlite3_initialize)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=tn.sqlite3_shutdown)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=tn.sqlite3_config)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=tn.sqlite3_db_mutex)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=tn.sqlite3_db_release_memory)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=tn.sqlite3_db_cacheflush)(t),e._sqlite3_db_config=(t,r,i)=>(e._sqlite3_db_config=tn.sqlite3_db_config)(t,r,i),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=tn.sqlite3_last_insert_rowid)(t),e._sqlite3_set_last_insert_rowid=(t,r,i)=>(e._sqlite3_set_last_insert_rowid=tn.sqlite3_set_last_insert_rowid)(t,r,i),e._sqlite3_changes64=t=>(e._sqlite3_changes64=tn.sqlite3_changes64)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=tn.sqlite3_changes)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=tn.sqlite3_total_changes64)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=tn.sqlite3_total_changes)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=tn.sqlite3_txn_state)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=tn.sqlite3_close)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=tn.sqlite3_close_v2)(t),e._sqlite3_busy_handler=(t,r,i)=>(e._sqlite3_busy_handler=tn.sqlite3_busy_handler)(t,r,i),e._sqlite3_progress_handler=(t,r,i,n)=>(e._sqlite3_progress_handler=tn.sqlite3_progress_handler)(t,r,i,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=tn.sqlite3_busy_timeout)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=tn.sqlite3_interrupt)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=tn.sqlite3_is_interrupted)(t),e._sqlite3_create_function=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function=tn.sqlite3_create_function)(t,r,i,n,s,a,o,l),e._sqlite3_create_function_v2=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_create_function_v2=tn.sqlite3_create_function_v2)(t,r,i,n,s,a,o,l,c),e._sqlite3_create_window_function=(t,r,i,n,s,a,o,l,c,_)=>(e._sqlite3_create_window_function=tn.sqlite3_create_window_function)(t,r,i,n,s,a,o,l,c,_),e._sqlite3_create_function16=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function16=tn.sqlite3_create_function16)(t,r,i,n,s,a,o,l),e._sqlite3_overload_function=(t,r,i)=>(e._sqlite3_overload_function=tn.sqlite3_overload_function)(t,r,i),e._sqlite3_trace_v2=(t,r,i,n)=>(e._sqlite3_trace_v2=tn.sqlite3_trace_v2)(t,r,i,n),e._sqlite3_commit_hook=(t,r,i)=>(e._sqlite3_commit_hook=tn.sqlite3_commit_hook)(t,r,i),e._sqlite3_update_hook=(t,r,i)=>(e._sqlite3_update_hook=tn.sqlite3_update_hook)(t,r,i),e._sqlite3_rollback_hook=(t,r,i)=>(e._sqlite3_rollback_hook=tn.sqlite3_rollback_hook)(t,r,i),e._sqlite3_autovacuum_pages=(t,r,i,n)=>(e._sqlite3_autovacuum_pages=tn.sqlite3_autovacuum_pages)(t,r,i,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=tn.sqlite3_wal_autocheckpoint)(t,r),e._sqlite3_wal_hook=(t,r,i)=>(e._sqlite3_wal_hook=tn.sqlite3_wal_hook)(t,r,i),e._sqlite3_wal_checkpoint_v2=(t,r,i,n,s)=>(e._sqlite3_wal_checkpoint_v2=tn.sqlite3_wal_checkpoint_v2)(t,r,i,n,s),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=tn.sqlite3_wal_checkpoint)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=tn.sqlite3_error_offset)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=tn.sqlite3_errmsg16)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=tn.sqlite3_errcode)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=tn.sqlite3_extended_errcode)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=tn.sqlite3_system_errno)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=tn.sqlite3_errstr)(t),e._sqlite3_limit=(t,r,i)=>(e._sqlite3_limit=tn.sqlite3_limit)(t,r,i),e._sqlite3_open=(t,r)=>(e._sqlite3_open=tn.sqlite3_open)(t,r),e._sqlite3_open_v2=(t,r,i,n)=>(e._sqlite3_open_v2=tn.sqlite3_open_v2)(t,r,i,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=tn.sqlite3_open16)(t,r),e._sqlite3_create_collation=(t,r,i,n,s)=>(e._sqlite3_create_collation=tn.sqlite3_create_collation)(t,r,i,n,s),e._sqlite3_create_collation_v2=(t,r,i,n,s,a)=>(e._sqlite3_create_collation_v2=tn.sqlite3_create_collation_v2)(t,r,i,n,s,a),e._sqlite3_create_collation16=(t,r,i,n,s)=>(e._sqlite3_create_collation16=tn.sqlite3_create_collation16)(t,r,i,n,s),e._sqlite3_collation_needed=(t,r,i)=>(e._sqlite3_collation_needed=tn.sqlite3_collation_needed)(t,r,i),e._sqlite3_collation_needed16=(t,r,i)=>(e._sqlite3_collation_needed16=tn.sqlite3_collation_needed16)(t,r,i),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=tn.sqlite3_get_clientdata)(t,r),e._sqlite3_set_clientdata=(t,r,i,n)=>(e._sqlite3_set_clientdata=tn.sqlite3_set_clientdata)(t,r,i,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=tn.sqlite3_get_autocommit)(t),e._sqlite3_table_column_metadata=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_table_column_metadata=tn.sqlite3_table_column_metadata)(t,r,i,n,s,a,o,l,c),e._sqlite3_sleep=t=>(e._sqlite3_sleep=tn.sqlite3_sleep)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=tn.sqlite3_extended_result_codes)(t,r),e._sqlite3_file_control=(t,r,i,n)=>(e._sqlite3_file_control=tn.sqlite3_file_control)(t,r,i,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=tn.sqlite3_test_control)(t,r),e._sqlite3_create_filename=(t,r,i,n,s)=>(e._sqlite3_create_filename=tn.sqlite3_create_filename)(t,r,i,n,s),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=tn.sqlite3_free_filename)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=tn.sqlite3_uri_parameter)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=tn.sqlite3_uri_key)(t,r),e._sqlite3_uri_boolean=(t,r,i)=>(e._sqlite3_uri_boolean=tn.sqlite3_uri_boolean)(t,r,i),e._sqlite3_uri_int64=(t,r,i,n)=>(e._sqlite3_uri_int64=tn.sqlite3_uri_int64)(t,r,i,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=tn.sqlite3_filename_database)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=tn.sqlite3_filename_journal)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=tn.sqlite3_filename_wal)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=tn.sqlite3_db_name)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=tn.sqlite3_db_filename)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=tn.sqlite3_db_readonly)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=tn.sqlite3_compileoption_used)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=tn.sqlite3_compileoption_get)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=tn.sqlite3_sourceid)(),e._malloc=t=>(e._malloc=tn.malloc)(t),e._free=t=>(e._free=tn.free)(t),e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=tn.RegisterExtensionFunctions)(t),e._getSqliteFree=()=>(e._getSqliteFree=tn.getSqliteFree)(),e._main=(t,r)=>(ts=e._main=tn.main)(t,r)),ta=(e._libauthorizer_set_authorizer=(t,r,i)=>(e._libauthorizer_set_authorizer=tn.libauthorizer_set_authorizer)(t,r,i),e._libfunction_create_function=(t,r,i,n,s,a,o,l)=>(e._libfunction_create_function=tn.libfunction_create_function)(t,r,i,n,s,a,o,l),e._libhook_commit_hook=(t,r,i)=>(e._libhook_commit_hook=tn.libhook_commit_hook)(t,r,i),e._libhook_update_hook=(t,r,i)=>(e._libhook_update_hook=tn.libhook_update_hook)(t,r,i),e._libprogress_progress_handler=(t,r,i,n)=>(e._libprogress_progress_handler=tn.libprogress_progress_handler)(t,r,i,n),e._libvfs_vfs_register=(t,r,i,n,s,a)=>(e._libvfs_vfs_register=tn.libvfs_vfs_register)(t,r,i,n,s,a),(e,t)=>(ta=tn.emscripten_builtin_memalign)(e,t)),to=()=>(to=tn._emscripten_tempret_get)(),tl=e=>(tl=tn._emscripten_stack_restore)(e),tc=e=>(tc=tn._emscripten_stack_alloc)(e),t_=()=>(t_=tn.emscripten_stack_get_current)();function tu(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!M&&(M=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),td&&function(){var t=ts;try{var r=t(0,0);Promise.resolve(r).then(t=>{q=t,q=t,ec||(e.onExit?.(t),V=!0),N(t,new ea(t))}).catch(e=>{e1(e)})}catch(e){return e1(e)}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>to(),e.ccall=tt,e.cwrap=(e,t,r,i)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!i?e9(e):(...n)=>tt(e,t,r,n,i)},e.addFunction=(e,t)=>{var r=(e=>{if(!L){L=new WeakMap;var t=z.length;if(L)for(var r=0;r<0+t;r++){var i=e5(r);i&&L.set(i,r)}}return L.get(e)||0})(e);if(r)return r;var i=(()=>{if(e8.length)return e8.pop();try{z.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return z.length-1})();try{e7(i,e)}catch(r){if(!(r instanceof TypeError))throw r;e7(i,((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},i=1;i<e.length;++i)r.parameters.push(t[e[i]]);return r})(t),e);var r=[1],i=t.slice(0,1),n=t.slice(1),s={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),e6(n.length,r);for(var a=0;a<n.length;++a)r.push(s[n[a]]);"v"==i?r.push(0):r.push(1,s[i]);var o=[0,97,115,109,1,0,0,0,1];e6(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t))}return L.set(e,i),i},e.setValue=e_,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&S[i];)++i;if((r=i<<1)-e>32&&tr)return tr.decode(E.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);x[t>>1]=a,t+=2}return x[t>>1]=0,t-i},e.UTF32ToString=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var i=t,n=i+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-i},e.writeArrayToMemory=te,ee=function e(){M||tu(),M||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var td=!0;return e.noInitialRun&&(td=!1),tu(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(i,n,s){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),e_(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=tt("libauthorizer_set_authorizer","number",["number","number","number"],[i,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,i,a,o)=>n(s,t,r,i,a,o)),a},i=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],s=new Map,e.create_function=function(t,r,a,o,l,c,_,u){let d=e._sqlite3_malloc(4),h={xFunc:c,xStep:_,xFinal:u};e_(d,n.reduce((e,t,r)=>h[t]instanceof i?e|1<<r:e,0),"i32");let f=tt("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!c,+!!_,+!!u]);if(!f){if(s.has(r)){let t=s.get(r);e.deleteCallback(t)}s.set(r,d),e.setCallback(d,{xFunc:c,xStep:_,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),e_(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),tt("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,i,n,s,a)=>r(t,i,n,s,a))},l=Object.getPrototypeOf(async function(){}).constructor,c=0,e.commit_hook=function(t,r){c&&(e.deleteCallback(c),e._sqlite3_free(c),c=0),e_(c=e._sqlite3_malloc(4),+(r instanceof l),"i32"),tt("libhook_commit_hook","void",["number","number","number"],[t,+!!r,c]),r&&e.setCallback(c,e=>r())},u=Object.getPrototypeOf(async function(){}).constructor,d=0,e.progress_handler=function(t,r,i,n){d&&(e.deleteCallback(d),e._sqlite3_free(d),d=0),e_(d=e._sqlite3_malloc(4),+(i instanceof u),"i32"),tt("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!i,d]),i&&e.setCallback(d,e=>i(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let i=0,n=0;h.forEach((e,r)=>{t[e]&&(i|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let s=e._sqlite3_malloc(4);try{let a=tt("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,i,n,+!!r,s]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(s,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(s)}},R}),ev=(u=import.meta.url,function(e={}){let t,r,i,n,s,a,o,l,c,_,d,h,f;var p,m,g,b,w,v,y,q,k,E,x,S,F,A,T,P,I,D,C,z,L,M,R=new Promise((e,t)=>{p=e,m=t}),j="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(j||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),u&&(B=u),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),b=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function ei(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function es(e,t,r){return(!v?new Promise((t,r)=>{b(e,e=>t(new Uint8Array(e)),i=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),ei(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":ei("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:ei(`invalid type for getValue: ${t}`)}}var ec=e.noExitRuntime||!0;function e_(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":ei("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:ei(`invalid type for setValue: ${r}`)}}var eu=()=>tf(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(!(128&a)){s+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){s+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var c=a-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}}return s},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);ei("initRandomDevice")})())(e),eg={resolve:(...e)=>{for(var t="",r=!1,i=e.length-1;i>=-1&&!r;i--){var n=i>=0?e[i]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eg.resolve(e).substr(1),t=eg.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),a=s,o=0;o<s;o++)if(i[o]!==n[o]){a=o;break}for(var l=[],o=a;o<i.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eb=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var i=Array(r>0?r:ew(e)+1),n=ev(e,i,0,i.length);return t&&(i.length=n),i}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var s,a=0,o=0;o<i;o++){try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===s&&0===a)throw new eF.ErrnoError(6);if(null==s)break;a++,t[r+o]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,i,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var s=0;s<i;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new eF.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!eb.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eb=ey(e,!0)}return eb.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=t_(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,i){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,i);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,i)=>eE.createNode(e,t,r,i),rename(e,t,r){if(eF.isDir(e.mode)){var i;try{i=eF.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var i in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var i=eE.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=s[n+o];return a},write(e,t,r,i,n,s){if(t.buffer===k.buffer&&(s=!1),!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;else if(n+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),n),i}if(eE.expandFileStorage(a,n+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),n);else for(var o=0;o<i;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&eF.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new eF.ErrnoError(28);return i},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var s,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(s=ek(t)))throw new eF.ErrnoError(48);k.set(o,s)}else a=!1,s=o.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,i,n)=>(eE.stream_ops.write(e,t,0,i,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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{constructor(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i,this.readMode=365,this.writeMode=146}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 eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eg.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),i=eF.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(i=eF.lookupNode(i,r[s]),n=ep.join2(n,r[s]),eF.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var o=0;eF.isLink(i.mode);){var l=eF.readlink(n);if(n=eg.resolve(ep.dirname(n),l),i=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var i=eF.hashName(e.id,t),n=eF.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return eF.lookup(e,t)},createNode(e,t,r,i){var n=new eF.FSNode(e,t,r,i);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{i=eF.lookupNode(e,t)}catch(e){return e.errno}var i,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(i.mode))return 54;if(eF.isRoot(i)||eF.getPath(i)===eF.cwd())return 10}else if(eF.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push(...i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),i=0;function n(e){return eF.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)})},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!s){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,eF.isMountpoint(i))throw new eF.ErrnoError(10);if(!eF.isDir(i.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,i=r.mounted,n=eF.getMounts(i);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var s=eF.mayCreate(i,n);if(s)throw new eF.ErrnoError(s);if(!i.node_ops.mknod)throw new eF.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n<r.length;++n)if(r[n]){i+="/"+r[n];try{eF.mkdir(i,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eg.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var i=ep.basename(t),n=eF.mayCreate(r,i);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n,s=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,i=eF.lookupPath(t,{parent:!0}).node,!r||!i)throw new eF.ErrnoError(44);if(r.mount!==i.mount)throw new eF.ErrnoError(75);var c=eF.lookupNode(r,o),_=eg.relative(e,a);if("."!==_.charAt(0))throw new eF.ErrnoError(28);if("."!==(_=eg.relative(t,s)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(i,l)}catch(e){}if(c!==n){var u=eF.isDir(c.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(i,l,u):eF.mayCreate(i,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(c)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(i!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(c);try{r.node_ops.rename(c,i,l),c.parent=i}catch(e){throw e}finally{eF.hashAddNode(c)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(i)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(i)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eg.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,i){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var i=eF.getStreamChecked(e);eF.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var i=eF.nodePermissions(r,"w");if(i)throw new eF.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var i=eF.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(t,r,i){if(""===t)throw new eF.ErrnoError(44);if(i=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(i=void 0===i?438:i)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var s=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,i,0),s=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!s){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!s&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=a),a},write(e,t,r,i,n,s){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,i,n,s);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if((2&i)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,i=eF.open(e,t.flags),n=eF.stat(e).size,s=new Uint8Array(n);return eF.read(i,s,0,n,0),"utf8"===t.encoding?r=eh(s,0):"binary"===t.encoding&&(r=s),eF.close(i),r},writeFile(e,t,r={}){r.flags=r.flags||577;var i=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),s=ev(t,n,0,n.length);eF.write(i,n,0,s,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(i,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(i)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,i){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=i||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});i.parentExists=!0,i.parentPath=r.path,i.parentObject=r.node,i.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),i.exists=!0,i.path=r.path,i.object=r.node,i.name=r.node.name,i.isRoot="/"===r.path}catch(e){i.error=e.errno}return i},createPath(e,t,r,i){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ep.join2(e,s);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,i,n){var s=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(i,n);return eF.create(s,a)},createDataFile(e,t,r,i,n,s){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(i,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var c=Array(r.length),_=0,u=r.length;_<u;++_)c[_]=r.charCodeAt(_);r=c}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,s),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,i){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),s=eS(!!r,!!i);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){i?.buffer?.length&&i(10)},read(e,t,i,n,s){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[i+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,s){for(var a=0;a<n;a++)try{i(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,s,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("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.");if(g)try{e.contents=ey(g(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,i,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var i=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,s=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=i);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(s||!i)&&(a=i=1,a=i=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var s={isDevice:!1,url:r};var a=eF.createFile(e,t,s,i,n);s.contents?a.contents=s.contents:s.url&&(a.contents=null,a.url=s.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,i);if(s.slice)for(var o=0;o<a;o++)t[r+o]=s[n+o];else for(var o=0;o<a;o++)t[r+o]=s.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,i,n)=>(eF.forceLoadFile(a),l(e,t,r,i,n)),o.mmap=(e,t,r,i,n)=>{eF.forceLoadFile(a);var s=ek(t);if(!s)throw new eF.ErrnoError(48);return l(e,k,s,t,r),{ptr:s,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)i=eF.cwd();else{var i;i=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return i}return ep.join2(i,t)},doStat(e,t,r){var i=e(t);F[r>>2]=i.dev,F[r+4>>2]=i.mode,A[r+8>>2]=i.nlink,F[r+12>>2]=i.uid,F[r+16>>2]=i.gid,F[r+20>>2]=i.rdev,C=[i.size>>>0,+Math.abs(D=i.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=C[0],F[r+28>>2]=C[1],F[r+32>>2]=4096,F[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=C[0],F[r+44>>2]=C[1],A[r+48>>2]=n%1e3*1e3,C=[Math.floor(s/1e3)>>>0,+Math.abs(D=Math.floor(s/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=C[0],F[r+60>>2]=C[1],A[r+64>>2]=s%1e3*1e3,C=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=C[0],F[r+76>>2]=C[1],A[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,+Math.abs(D=i.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=C[0],F[r+92>>2]=C[1],0},doMsync(e,t,r,i,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);eF.msync(t,s,n,r,i)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],eC=[0,31,60,91,121,152,182,213,244,274,305,335],ez=[0,31,59,90,120,151,181,212,243,273,304,334],eL=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},eM={},eR=()=>{if(!eR.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in eM)void 0===eM[t]?delete e[t]:e[t]=eM[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eR.strings=r}return eR.strings},ej=function(e){try{var t=eA.getStreamFromFD(e);return e8.handleSleep(e=>{var r=t.node.mount;r.type.syncfs?r.type.syncfs(r,!1,t=>{t?e(29):e(0)}):e(0)})}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}};ej.isAsync=!0;var eH=function(){let t="object"==typeof e8?e8.handleAsync.bind(e8):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),eH=function(e,i,...n){let s=r.get(i),a=null,o="function"==typeof s?s:s[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(s,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(s,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}};function eO(...e){return eH(!0,...e)}function eU(...e){return eH(!0,...e)}function eN(...e){return eH(!0,...e)}function eB(...e){return eH(!0,...e)}function e$(...e){return eH(!0,...e)}function eW(...e){return eH(!0,...e)}function eV(...e){return eH(!0,...e)}function eG(...e){return eH(!0,...e)}function eX(...e){return eH(!0,...e)}function eK(...e){return eH(!0,...e)}function eY(...e){return eH(!0,...e)}function eJ(...e){return eH(!0,...e)}function eZ(...e){return eH(!0,...e)}function eQ(...e){return eH(!0,...e)}function e0(...e){return eH(!0,...e)}function e3(...e){return eH(!0,...e)}eO.isAsync=!0,eU.isAsync=!0,eN.isAsync=!0,eB.isAsync=!0,e$.isAsync=!0,eW.isAsync=!0,eV.isAsync=!0,eG.isAsync=!0,eX.isAsync=!0,eK.isAsync=!0,eY.isAsync=!0,eJ.isAsync=!0,eZ.isAsync=!0,eQ.isAsync=!0,e0.isAsync=!0,e3.isAsync=!0;var e1=0,e2=(t,r)=>{q=t,q=t,ec||e1>0||(e.onExit?.(t),V=!0),N(t,new ea(t))},e6=e=>{if(e instanceof ea||"unwind"==e)return q;N(1,e)},e4=e=>{try{return e()}catch(e){ei(e)}},e5=e=>{if(!V)try{if(e(),!(ec||e1>0))try{e2(q)}catch(e){e6(e)}}catch(e){e6(e)}},e8={instrumentWasmImports(e){var t=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[r,i]of Object.entries(e))"function"==typeof i&&(i.isAsync||t.test(r))},instrumentWasmExports(e){var t={};for(let[r,i]of Object.entries(e))"function"==typeof i?t[r]=(...e)=>{e8.exportCallStack.push(r);try{return i(...e)}finally{V||(e8.exportCallStack.pop(),e8.maybeStopUnwind())}}:t[r]=i;return t},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(e){var t=e8.callStackNameToId[e];return void 0===t&&(t=e8.callStackId++,e8.callStackNameToId[e]=t,e8.callStackIdToName[t]=e),t},maybeStopUnwind(){e8.currData&&e8.state===e8.State.Unwinding&&0===e8.exportCallStack.length&&(e8.state=e8.State.Normal,e4(tm),"u">typeof Fibers&&Fibers.trampoline())},whenDone:()=>new Promise((e,t)=>{e8.asyncPromiseHandlers={resolve:e,reject:t}}),allocateData(){var e=to(12+e8.StackSize);return e8.setDataHeader(e,e+12,e8.StackSize),e8.setDataRewindFunc(e),e},setDataHeader(e,t,r){A[e>>2]=t,A[e+4>>2]=t+r},setDataRewindFunc(e){var t=e8.exportCallStack[0],r=e8.getCallStackId(t);F[e+8>>2]=r},getDataRewindFuncName(e){var t=F[e+8>>2];return e8.callStackIdToName[t]},getDataRewindFunc:e=>ta[e],doRewind(e){var t=e8.getDataRewindFuncName(e);return e8.getDataRewindFunc(t)()},handleSleep(e){if(!V){if(e8.state===e8.State.Normal){var t=!1,r=!1;e((e=0)=>{if(!V&&(e8.handleSleepReturnValue=e,t=!0,r)){e8.state=e8.State.Rewinding,e4(()=>tg(e8.currData)),"u">typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var i,n=!1;try{i=e8.doRewind(e8.currData)}catch(e){i=e,n=!0}var s=!1;if(!e8.currData){var a=e8.asyncPromiseHandlers;a&&(e8.asyncPromiseHandlers=null,(n?a.reject:a.resolve)(i),s=!0)}if(n&&!s)throw i}}),r=!0,t||(e8.state=e8.State.Unwinding,e8.currData=e8.allocateData(),"u">typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),e4(()=>tp(e8.currData)))}else e8.state===e8.State.Rewinding?(e8.state=e8.State.Normal,e4(tb),tl(e8.currData),e8.currData=null,e8.sleepCallbacks.forEach(e5)):ei(`invalid state: ${e8.state}`);return e8.handleSleepReturnValue}},handleAsync:e=>e8.handleSleep(t=>{e().then(t)})},e7=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},e9=e=>z.get(e),te=[],tt=t=>e["_"+t],tr=(e,t)=>{k.set(e,t)},ti=(e,t,r,i,n)=>{var s={string:e=>{var t,r,i,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,i=th(r),r),n=i),n},array:e=>{let t;var r=(t=e.length,th(t));return tr(e,r),r}},a=tt(e),o=[],l=0;if(i)for(var c=0;c<i.length;c++){var _=s[r[c]];_?(0===l&&(l=eu()),o[c]=_(i[c])):o[c]=i[c]}var u=e8.currData,d=a(...o);function h(e){return e1-=1,0!==l&&td(l),"string"===t?ef(e):"boolean"===t?!!e:e}var f=n?.async;return(e1+=1,e8.currData!=u)?e8.whenDone().then(h):(d=h(d),f)?Promise.resolve(d):d},tn="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,i,n,s,a,o,l,c)=>{var _=t?eg.resolve(ep.join2(e,t)):e,u=`cp ${_}`;function d(r){var d,h;function f(r){c?.(),o||eF.createDataFile(e,t,r,i,n,l),s?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(_)&&(e.handle(r,_,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;b(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),eH();var ts={a:(e,t,r,i)=>{ei(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,i?ef(i):"unknown function"])},Y:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var s="";if(4&r&&(s+="r"),2&r&&(s+="w"),1&r&&(s+="x"),s&&eF.nodePermissions(n,s))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},b:function(e,t,r){eA.varargs=r;try{var i=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(i,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return i.flags;case 4:var n=eT();return i.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},W:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,t,r){var i=eP(t,r);try{if(isNaN(i))return 61;return eF.ftruncate(e,i),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Q:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),i=ew(r)+1;if(t<i)return -68;return eI(r,e,t),i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},U:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},N:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},S:function(e,t,r,i){try{t=eA.getStr(t);var n=256&i,s=4096&i;return i&=-6401,t=eA.calculateAt(e,t,s),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},M:function(e,t,r,i){eA.varargs=i;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=i?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},K:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),i<=0)return -28;var n=eF.readlink(t),s=Math.min(i,ew(n)),a=k[r+s];return eI(n,r,i+1),k[r+s]=a,s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):ei("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),s=F[r+8>>2];a=1e3*n+s/1e6,r+=16,n=eD(r),s=F[r+8>>2],o=1e3*n+s/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,t,r){let i;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var s=0|((i=n.getFullYear())%4==0&&(i%100!=0||i%400==0)?eC:ez)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=s,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),c=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=c},u:function(e,t,r,i,n,s,a,o){var l=eP(n,s);try{if(isNaN(l))return 61;var c=eA.getStreamFromFD(i),_=eF.mmap(c,e,l,t,r),u=_.ptr;return F[a>>2]=_.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,t,r,i,n,s,a){var o=eP(s,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,i,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},H:(e,t,r,i)=>{var n=(new Date).getFullYear(),s=new Date(n,0,1),a=new Date(n,6,1),o=s.getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.max(o,l);A[e>>2]=60*c,F[t>>2]=Number(o!=l);var _=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=_(s),d=_(a);l<o?(eI(u,r,17),eI(d,i,17)):(eI(u,i,17),eI(d,r,17))},n:()=>Date.now(),m:()=>performance.now(),D:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,i=1;i<=4;i*=2){var n=t*(1+.2/i);if(n=Math.min(n,e+0x6000000),eL(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},O:(e,t)=>{var r=0;return eR().forEach((i,n)=>{var s=t+r;A[e+4*n>>2]=s;for(var a=s,o=0;o<i.length;++o)k[a++]=i.charCodeAt(o);k[a]=0,r+=i.length+1}),0},P:(e,t)=>{var r=eR();A[e>>2]=r.length;var i=0;return r.forEach(e=>i+=e.length+1),A[t>>2]=i,0},o:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},E:function(e,t){try{var r=eA.getStreamFromFD(e),i=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=i,x[t+2>>1]=0,C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=C[0],F[t+12>>2]=C[1],C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=C[0],F[t+20>>2]=C[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,i);if(l<0)return -1;if(n+=l,l<o)break;void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},x:function(e,t,r,i,n){var s=eP(t,r);try{if(isNaN(s))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,s,i),C=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=C[0],F[n+4>>2]=C[1],a.getdents&&0===s&&0===i&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},R:ej,I:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,i);if(l<0)return -1;n+=l,void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},s:function(...e){return eH(!1,...e)},t:eO,ga:function(...e){return eH(!1,...e)},ka:eU,i:function(...e){return eH(!1,...e)},j:eN,c:function(...e){return eH(!1,...e)},d:eB,ca:function(...e){return eH(!1,...e)},da:e$,ea:function(...e){return eH(!1,...e)},fa:eW,g:function(...e){return eH(!1,...e)},h:eV,z:function(...e){return eH(!1,...e)},A:eG,e:function(...e){return eH(!1,...e)},f:eX,aa:function(...e){return eH(!1,...e)},ba:eK,B:function(...e){return eH(!1,...e)},C:eY,p:function(...e){return eH(!1,...e)},q:eJ,ha:function(...e){return eH(!1,...e)},ia:eZ,ja:function(...e){return eH(!1,...e)},r:eQ,k:function(...e){return eH(!1,...e)},l:e0,T:function(...e){return eH(!1,...e)},_:e3},ta=function(){var t,r,i,n,s={a:ts};function a(e,t){var r;return ta=e.exports,y=(ta=e8.instrumentWasmExports(ta)).la,G(),z=ta.ef,r=ta.ma,K.unshift(r),er("wasm-instantiate"),ta}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(s,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite-async.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite-async.wasm",import.meta.url).href}()),(t=v,r=I,i=s,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?es(r,i,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,i).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),es(r,i,n)}))).catch(m),{}}(),to=(e._sqlite3_status64=(t,r,i,n)=>(e._sqlite3_status64=ta.na)(t,r,i,n),e._sqlite3_status=(t,r,i,n)=>(e._sqlite3_status=ta.oa)(t,r,i,n),e._sqlite3_msize=t=>(e._sqlite3_msize=ta.pa)(t),e._sqlite3_db_status=(t,r,i,n,s)=>(e._sqlite3_db_status=ta.qa)(t,r,i,n,s),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=ta.ra)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=ta.sa)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=ta.ta)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=ta.ua)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=ta.va)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=ta.wa)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=ta.xa)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=ta.ya)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=ta.za)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=ta.Aa)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=ta.Ba)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=ta.Ca)(t,r),e._sqlite3_realloc64=(t,r,i)=>(e._sqlite3_realloc64=ta.Da)(t,r,i),e._sqlite3_str_vappendf=(t,r,i)=>(e._sqlite3_str_vappendf=ta.Ea)(t,r,i),e._sqlite3_str_append=(t,r,i)=>(e._sqlite3_str_append=ta.Fa)(t,r,i),e._sqlite3_str_appendchar=(t,r,i)=>(e._sqlite3_str_appendchar=ta.Ga)(t,r,i),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=ta.Ha)(t,r),e._sqlite3_str_appendf=(t,r,i)=>(e._sqlite3_str_appendf=ta.Ia)(t,r,i),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=ta.Ja)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=ta.Ka)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=ta.La)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=ta.Ma)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=ta.Na)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=ta.Oa)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=ta.Pa)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=ta.Qa)(t,r),e._sqlite3_vsnprintf=(t,r,i,n)=>(e._sqlite3_vsnprintf=ta.Ra)(t,r,i,n),e._sqlite3_snprintf=(t,r,i,n)=>(e._sqlite3_snprintf=ta.Sa)(t,r,i,n),e._sqlite3_log=(t,r,i)=>(e._sqlite3_log=ta.Ta)(t,r,i),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=ta.Ua)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=ta.Va)(t,r),e._sqlite3_strnicmp=(t,r,i)=>(e._sqlite3_strnicmp=ta.Wa)(t,r,i),e._sqlite3_os_init=()=>(e._sqlite3_os_init=ta.Xa)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=ta.Ya)(),e._sqlite3_serialize=(t,r,i,n)=>(e._sqlite3_serialize=ta.Za)(t,r,i,n),e._sqlite3_prepare_v2=(t,r,i,n,s)=>(e._sqlite3_prepare_v2=ta._a)(t,r,i,n,s),e._sqlite3_step=t=>(e._sqlite3_step=ta.$a)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=ta.ab)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=ta.bb)(t),e._sqlite3_exec=(t,r,i,n,s)=>(e._sqlite3_exec=ta.cb)(t,r,i,n,s),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=ta.db)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=ta.eb)(t),e._sqlite3_deserialize=(t,r,i,n,s,a,o,l)=>(e._sqlite3_deserialize=ta.fb)(t,r,i,n,s,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=ta.gb)(t),e._sqlite3_backup_init=(t,r,i,n)=>(e._sqlite3_backup_init=ta.hb)(t,r,i,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=ta.ib)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=ta.jb)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=ta.kb)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=ta.lb)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=ta.mb)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=ta.nb)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=ta.ob)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=ta.pb)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=ta.qb)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=ta.rb)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=ta.sb)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=ta.tb)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=ta.ub)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=ta.vb)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=ta.wb)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=ta.xb)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=ta.yb)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=ta.zb)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=ta.Ab)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=ta.Bb)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=ta.Cb)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=ta.Db)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=ta.Eb)(t),e._sqlite3_result_blob=(t,r,i,n)=>(e._sqlite3_result_blob=ta.Fb)(t,r,i,n),e._sqlite3_result_blob64=(t,r,i,n,s)=>(e._sqlite3_result_blob64=ta.Gb)(t,r,i,n,s),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=ta.Hb)(t,r),e._sqlite3_result_error=(t,r,i)=>(e._sqlite3_result_error=ta.Ib)(t,r,i),e._sqlite3_result_error16=(t,r,i)=>(e._sqlite3_result_error16=ta.Jb)(t,r,i),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=ta.Kb)(t,r),e._sqlite3_result_int64=(t,r,i)=>(e._sqlite3_result_int64=ta.Lb)(t,r,i),e._sqlite3_result_null=t=>(e._sqlite3_result_null=ta.Mb)(t),e._sqlite3_result_pointer=(t,r,i,n)=>(e._sqlite3_result_pointer=ta.Nb)(t,r,i,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=ta.Ob)(t,r),e._sqlite3_result_text=(t,r,i,n)=>(e._sqlite3_result_text=ta.Pb)(t,r,i,n),e._sqlite3_result_text64=(t,r,i,n,s,a)=>(e._sqlite3_result_text64=ta.Qb)(t,r,i,n,s,a),e._sqlite3_result_text16=(t,r,i,n)=>(e._sqlite3_result_text16=ta.Rb)(t,r,i,n),e._sqlite3_result_text16be=(t,r,i,n)=>(e._sqlite3_result_text16be=ta.Sb)(t,r,i,n),e._sqlite3_result_text16le=(t,r,i,n)=>(e._sqlite3_result_text16le=ta.Tb)(t,r,i,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=ta.Ub)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=ta.Vb)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=ta.Wb)(t,r),e._sqlite3_result_zeroblob64=(t,r,i)=>(e._sqlite3_result_zeroblob64=ta.Xb)(t,r,i),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=ta.Yb)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=ta.Zb)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=ta._b)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=ta.$b)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=ta.ac)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=ta.bc)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=ta.cc)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=ta.dc)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=ta.ec)(t,r),e._sqlite3_set_auxdata=(t,r,i,n)=>(e._sqlite3_set_auxdata=ta.fc)(t,r,i,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=ta.gc)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=ta.hc)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=ta.ic)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=ta.jc)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=ta.kc)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=ta.lc)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=ta.mc)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=ta.nc)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=ta.oc)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=ta.pc)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=ta.qc)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=ta.rc)(t,r),e._sqlite3_bind_blob=(t,r,i,n,s)=>(e._sqlite3_bind_blob=ta.sc)(t,r,i,n,s),e._sqlite3_bind_blob64=(t,r,i,n,s,a)=>(e._sqlite3_bind_blob64=ta.tc)(t,r,i,n,s,a),e._sqlite3_bind_double=(t,r,i)=>(e._sqlite3_bind_double=ta.uc)(t,r,i),e._sqlite3_bind_int=(t,r,i)=>(e._sqlite3_bind_int=ta.vc)(t,r,i),e._sqlite3_bind_int64=(t,r,i,n)=>(e._sqlite3_bind_int64=ta.wc)(t,r,i,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=ta.xc)(t,r),e._sqlite3_bind_pointer=(t,r,i,n,s)=>(e._sqlite3_bind_pointer=ta.yc)(t,r,i,n,s),e._sqlite3_bind_text=(t,r,i,n,s)=>(e._sqlite3_bind_text=ta.zc)(t,r,i,n,s),e._sqlite3_bind_text64=(t,r,i,n,s,a,o)=>(e._sqlite3_bind_text64=ta.Ac)(t,r,i,n,s,a,o),e._sqlite3_bind_text16=(t,r,i,n,s)=>(e._sqlite3_bind_text16=ta.Bc)(t,r,i,n,s),e._sqlite3_bind_value=(t,r,i)=>(e._sqlite3_bind_value=ta.Cc)(t,r,i),e._sqlite3_bind_zeroblob=(t,r,i)=>(e._sqlite3_bind_zeroblob=ta.Dc)(t,r,i),e._sqlite3_bind_zeroblob64=(t,r,i,n)=>(e._sqlite3_bind_zeroblob64=ta.Ec)(t,r,i,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=ta.Fc)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=ta.Gc)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=ta.Hc)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=ta.Ic)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=ta.Jc)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=ta.Kc)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=ta.Lc)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=ta.Mc)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=ta.Nc)(t,r),e._sqlite3_stmt_status=(t,r,i)=>(e._sqlite3_stmt_status=ta.Oc)(t,r,i),e._sqlite3_sql=t=>(e._sqlite3_sql=ta.Pc)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=ta.Qc)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=ta.Rc)(t),e._sqlite3_blob_open=(t,r,i,n,s,a,o,l)=>(e._sqlite3_blob_open=ta.Sc)(t,r,i,n,s,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=ta.Tc)(t),e._sqlite3_blob_read=(t,r,i,n)=>(e._sqlite3_blob_read=ta.Uc)(t,r,i,n),e._sqlite3_blob_write=(t,r,i,n)=>(e._sqlite3_blob_write=ta.Vc)(t,r,i,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=ta.Wc)(t),e._sqlite3_blob_reopen=(t,r,i)=>(e._sqlite3_blob_reopen=ta.Xc)(t,r,i),e._sqlite3_set_authorizer=(t,r,i)=>(e._sqlite3_set_authorizer=ta.Yc)(t,r,i),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=ta.Zc)(t,r),e._sqlite3_strlike=(t,r,i)=>(e._sqlite3_strlike=ta._c)(t,r,i),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=ta.$c)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=ta.ad)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=ta.bd)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=ta.cd)(),e._sqlite3_prepare=(t,r,i,n,s)=>(e._sqlite3_prepare=ta.dd)(t,r,i,n,s),e._sqlite3_prepare_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare_v3=ta.ed)(t,r,i,n,s,a),e._sqlite3_prepare16=(t,r,i,n,s)=>(e._sqlite3_prepare16=ta.fd)(t,r,i,n,s),e._sqlite3_prepare16_v2=(t,r,i,n,s)=>(e._sqlite3_prepare16_v2=ta.gd)(t,r,i,n,s),e._sqlite3_prepare16_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare16_v3=ta.hd)(t,r,i,n,s,a),e._sqlite3_get_table=(t,r,i,n,s,a)=>(e._sqlite3_get_table=ta.id)(t,r,i,n,s,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=ta.jd)(t),e._sqlite3_create_module=(t,r,i,n)=>(e._sqlite3_create_module=ta.kd)(t,r,i,n),e._sqlite3_create_module_v2=(t,r,i,n,s)=>(e._sqlite3_create_module_v2=ta.ld)(t,r,i,n,s),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=ta.md)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=ta.nd)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=ta.od)(t),e._sqlite3_vtab_config=(t,r,i)=>(e._sqlite3_vtab_config=ta.pd)(t,r,i),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=ta.qd)(t,r),e._sqlite3_vtab_in=(t,r,i)=>(e._sqlite3_vtab_in=ta.rd)(t,r,i),e._sqlite3_vtab_rhs_value=(t,r,i)=>(e._sqlite3_vtab_rhs_value=ta.sd)(t,r,i),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=ta.td)(t),e._sqlite3_keyword_name=(t,r,i)=>(e._sqlite3_keyword_name=ta.ud)(t,r,i),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=ta.vd)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=ta.wd)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=ta.xd)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=ta.yd)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=ta.zd)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=ta.Ad)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=ta.Bd)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=ta.Cd)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=ta.Dd)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=ta.Ed)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=ta.Fd)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=ta.Gd)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=ta.Hd)(t),e._sqlite3_db_config=(t,r,i)=>(e._sqlite3_db_config=ta.Id)(t,r,i),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=ta.Jd)(t),e._sqlite3_set_last_insert_rowid=(t,r,i)=>(e._sqlite3_set_last_insert_rowid=ta.Kd)(t,r,i),e._sqlite3_changes64=t=>(e._sqlite3_changes64=ta.Ld)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=ta.Md)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=ta.Nd)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=ta.Od)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=ta.Pd)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=ta.Qd)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=ta.Rd)(t),e._sqlite3_busy_handler=(t,r,i)=>(e._sqlite3_busy_handler=ta.Sd)(t,r,i),e._sqlite3_progress_handler=(t,r,i,n)=>(e._sqlite3_progress_handler=ta.Td)(t,r,i,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=ta.Ud)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=ta.Vd)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=ta.Wd)(t),e._sqlite3_create_function=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function=ta.Xd)(t,r,i,n,s,a,o,l),e._sqlite3_create_function_v2=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_create_function_v2=ta.Yd)(t,r,i,n,s,a,o,l,c),e._sqlite3_create_window_function=(t,r,i,n,s,a,o,l,c,_)=>(e._sqlite3_create_window_function=ta.Zd)(t,r,i,n,s,a,o,l,c,_),e._sqlite3_create_function16=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function16=ta._d)(t,r,i,n,s,a,o,l),e._sqlite3_overload_function=(t,r,i)=>(e._sqlite3_overload_function=ta.$d)(t,r,i),e._sqlite3_trace_v2=(t,r,i,n)=>(e._sqlite3_trace_v2=ta.ae)(t,r,i,n),e._sqlite3_commit_hook=(t,r,i)=>(e._sqlite3_commit_hook=ta.be)(t,r,i),e._sqlite3_update_hook=(t,r,i)=>(e._sqlite3_update_hook=ta.ce)(t,r,i),e._sqlite3_rollback_hook=(t,r,i)=>(e._sqlite3_rollback_hook=ta.de)(t,r,i),e._sqlite3_autovacuum_pages=(t,r,i,n)=>(e._sqlite3_autovacuum_pages=ta.ee)(t,r,i,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=ta.fe)(t,r),e._sqlite3_wal_hook=(t,r,i)=>(e._sqlite3_wal_hook=ta.ge)(t,r,i),e._sqlite3_wal_checkpoint_v2=(t,r,i,n,s)=>(e._sqlite3_wal_checkpoint_v2=ta.he)(t,r,i,n,s),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=ta.ie)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=ta.je)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=ta.ke)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=ta.le)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=ta.me)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=ta.ne)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=ta.oe)(t),e._sqlite3_limit=(t,r,i)=>(e._sqlite3_limit=ta.pe)(t,r,i),e._sqlite3_open=(t,r)=>(e._sqlite3_open=ta.qe)(t,r),e._sqlite3_open_v2=(t,r,i,n)=>(e._sqlite3_open_v2=ta.re)(t,r,i,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=ta.se)(t,r),e._sqlite3_create_collation=(t,r,i,n,s)=>(e._sqlite3_create_collation=ta.te)(t,r,i,n,s),e._sqlite3_create_collation_v2=(t,r,i,n,s,a)=>(e._sqlite3_create_collation_v2=ta.ue)(t,r,i,n,s,a),e._sqlite3_create_collation16=(t,r,i,n,s)=>(e._sqlite3_create_collation16=ta.ve)(t,r,i,n,s),e._sqlite3_collation_needed=(t,r,i)=>(e._sqlite3_collation_needed=ta.we)(t,r,i),e._sqlite3_collation_needed16=(t,r,i)=>(e._sqlite3_collation_needed16=ta.xe)(t,r,i),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=ta.ye)(t,r),e._sqlite3_set_clientdata=(t,r,i,n)=>(e._sqlite3_set_clientdata=ta.ze)(t,r,i,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=ta.Ae)(t),e._sqlite3_table_column_metadata=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_table_column_metadata=ta.Be)(t,r,i,n,s,a,o,l,c),e._sqlite3_sleep=t=>(e._sqlite3_sleep=ta.Ce)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=ta.De)(t,r),e._sqlite3_file_control=(t,r,i,n)=>(e._sqlite3_file_control=ta.Ee)(t,r,i,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=ta.Fe)(t,r),e._sqlite3_create_filename=(t,r,i,n,s)=>(e._sqlite3_create_filename=ta.Ge)(t,r,i,n,s),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=ta.He)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=ta.Ie)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=ta.Je)(t,r),e._sqlite3_uri_boolean=(t,r,i)=>(e._sqlite3_uri_boolean=ta.Ke)(t,r,i),e._sqlite3_uri_int64=(t,r,i,n)=>(e._sqlite3_uri_int64=ta.Le)(t,r,i,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=ta.Me)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=ta.Ne)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=ta.Oe)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=ta.Pe)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=ta.Qe)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=ta.Re)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=ta.Se)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=ta.Te)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=ta.Ue)(),e._malloc=t=>(to=e._malloc=ta.Ve)(t)),tl=e._free=t=>(tl=e._free=ta.We)(t),tc=(e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=ta.Xe)(t),e._getSqliteFree=()=>(e._getSqliteFree=ta.Ye)(),e._main=(t,r)=>(tc=e._main=ta.Ze)(t,r)),t_=(e._libauthorizer_set_authorizer=(t,r,i)=>(e._libauthorizer_set_authorizer=ta._e)(t,r,i),e._libfunction_create_function=(t,r,i,n,s,a,o,l)=>(e._libfunction_create_function=ta.$e)(t,r,i,n,s,a,o,l),e._libhook_commit_hook=(t,r,i)=>(e._libhook_commit_hook=ta.af)(t,r,i),e._libhook_update_hook=(t,r,i)=>(e._libhook_update_hook=ta.bf)(t,r,i),e._libprogress_progress_handler=(t,r,i,n)=>(e._libprogress_progress_handler=ta.cf)(t,r,i,n),e._libvfs_vfs_register=(t,r,i,n,s,a)=>(e._libvfs_vfs_register=ta.df)(t,r,i,n,s,a),(e,t)=>(t_=ta.ff)(e,t)),tu=()=>(tu=ta.gf)(),td=e=>(td=ta.hf)(e),th=e=>(th=ta.jf)(e),tf=()=>(tf=ta.kf)(),tp=e=>(tp=ta.lf)(e),tm=()=>(tm=ta.mf)(),tg=e=>(tg=ta.nf)(e),tb=()=>(tb=ta.of)();function tw(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!M&&(M=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),tv&&function(){var e=tc;try{var t=e(0,0);e2(t,!0)}catch(e){return e6(e)}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>tu(),e.ccall=ti,e.cwrap=(e,t,r,i)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!i?tt(e):(...n)=>ti(e,t,r,n,i)},e.addFunction=(e,t)=>{var r=(e=>{if(!L){L=new WeakMap;var t=z.length;if(L)for(var r=0;r<0+t;r++){var i=e9(r);i&&L.set(i,r)}}return L.get(e)||0})(e);if(r)return r;var i=(()=>{if(te.length)return te.pop();try{z.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return z.length-1})();try{z.set(i,e)}catch(r){if(!(r instanceof TypeError))throw r;var n=((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},i=1;i<e.length;++i)r.parameters.push(t[e[i]]);return r})(t),e);var r=[1],i=t.slice(0,1),n=t.slice(1),s={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),e7(n.length,r);for(var a=0;a<n.length;++a)r.push(s[n[a]]);"v"==i?r.push(0):r.push(1,s[i]);var o=[0,97,115,109,1,0,0,0,1];e7(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t);z.set(i,n)}return L.set(e,i),i},e.setValue=e_,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&S[i];)++i;if((r=i<<1)-e>32&&tn)return tn.decode(E.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);x[t>>1]=a,t+=2}return x[t>>1]=0,t-i},e.UTF32ToString=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var i=t,n=i+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-i},e.writeArrayToMemory=tr,ee=function e(){M||tw(),M||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var tv=!0;return e.noInitialRun&&(tv=!1),tw(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(i,n,s){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),e_(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=ti("libauthorizer_set_authorizer","number",["number","number","number"],[i,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,i,a,o)=>n(s,t,r,i,a,o)),a},i=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],s=new Map,e.create_function=function(t,r,a,o,l,c,_,u){let d=e._sqlite3_malloc(4),h={xFunc:c,xStep:_,xFinal:u};e_(d,n.reduce((e,t,r)=>h[t]instanceof i?e|1<<r:e,0),"i32");let f=ti("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!c,+!!_,+!!u]);if(!f){if(s.has(r)){let t=s.get(r);e.deleteCallback(t)}s.set(r,d),e.setCallback(d,{xFunc:c,xStep:_,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),e_(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),ti("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,i,n,s,a)=>r(t,i,n,s,a))},l=Object.getPrototypeOf(async function(){}).constructor,c=0,e.commit_hook=function(t,r){c&&(e.deleteCallback(c),e._sqlite3_free(c),c=0),e_(c=e._sqlite3_malloc(4),+(r instanceof l),"i32"),ti("libhook_commit_hook","void",["number","number","number"],[t,+!!r,c]),r&&e.setCallback(c,e=>r())},_=Object.getPrototypeOf(async function(){}).constructor,d=0,e.progress_handler=function(t,r,i,n){d&&(e.deleteCallback(d),e._sqlite3_free(d),d=0),e_(d=e._sqlite3_malloc(4),+(i instanceof _),"i32"),ti("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!i,d]),i&&e.setCallback(d,e=>i(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let i=0,n=0;h.forEach((e,r)=>{t[e]&&(i|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let s=e._sqlite3_malloc(4);try{let a=ti("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,i,n,+!!r,s]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(s,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(s)}},R}),ey=(d=import.meta.url,function(e={}){let t,r,i,n,s,a,o,l,c,_,u,h,f;var p,m,g,b,w,v,y,q,k,E,x,S,F,A,T,P,I,D,C,z,L,M,R=new Promise((e,t)=>{p=e,m=t}),j="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(j||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),d&&(B=d),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),b=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function ei(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function es(e,t,r){return(!v?new Promise((t,r)=>{b(e,e=>t(new Uint8Array(e)),i=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),ei(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":ei("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:ei(`invalid type for getValue: ${t}`)}}var ec=e.noExitRuntime||!0;function e_(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":ei("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:ei(`invalid type for setValue: ${r}`)}}var eu=()=>eQ(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(!(128&a)){s+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){s+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var c=a-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}}return s},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);ei("initRandomDevice")})())(e),eg={resolve:(...e)=>{for(var t="",r=!1,i=e.length-1;i>=-1&&!r;i--){var n=i>=0?e[i]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eg.resolve(e).substr(1),t=eg.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),a=s,o=0;o<s;o++)if(i[o]!==n[o]){a=o;break}for(var l=[],o=a;o<i.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eb=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var i=Array(r>0?r:ew(e)+1),n=ev(e,i,0,i.length);return t&&(i.length=n),i}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var s,a=0,o=0;o<i;o++){try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===s&&0===a)throw new eF.ErrnoError(6);if(null==s)break;a++,t[r+o]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,i,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var s=0;s<i;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new eF.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!eb.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eb=ey(e,!0)}return eb.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=eK(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,i){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,i);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,i)=>eE.createNode(e,t,r,i),rename(e,t,r){if(eF.isDir(e.mode)){var i;try{i=eF.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var i in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var i=eE.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=s[n+o];return a},write(e,t,r,i,n,s){if(t.buffer===k.buffer&&(s=!1),!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;else if(n+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),n),i}if(eE.expandFileStorage(a,n+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),n);else for(var o=0;o<i;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&eF.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new eF.ErrnoError(28);return i},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var s,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(s=ek(t)))throw new eF.ErrnoError(48);k.set(o,s)}else a=!1,s=o.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,i,n)=>(eE.stream_ops.write(e,t,0,i,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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{constructor(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i,this.readMode=365,this.writeMode=146}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 eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eg.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),i=eF.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(i=eF.lookupNode(i,r[s]),n=ep.join2(n,r[s]),eF.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var o=0;eF.isLink(i.mode);){var l=eF.readlink(n);if(n=eg.resolve(ep.dirname(n),l),i=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var i=eF.hashName(e.id,t),n=eF.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return eF.lookup(e,t)},createNode(e,t,r,i){var n=new eF.FSNode(e,t,r,i);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{i=eF.lookupNode(e,t)}catch(e){return e.errno}var i,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(i.mode))return 54;if(eF.isRoot(i)||eF.getPath(i)===eF.cwd())return 10}else if(eF.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push(...i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),i=0;function n(e){return eF.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)})},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!s){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,eF.isMountpoint(i))throw new eF.ErrnoError(10);if(!eF.isDir(i.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,i=r.mounted,n=eF.getMounts(i);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var s=eF.mayCreate(i,n);if(s)throw new eF.ErrnoError(s);if(!i.node_ops.mknod)throw new eF.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n<r.length;++n)if(r[n]){i+="/"+r[n];try{eF.mkdir(i,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eg.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var i=ep.basename(t),n=eF.mayCreate(r,i);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n,s=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,i=eF.lookupPath(t,{parent:!0}).node,!r||!i)throw new eF.ErrnoError(44);if(r.mount!==i.mount)throw new eF.ErrnoError(75);var c=eF.lookupNode(r,o),_=eg.relative(e,a);if("."!==_.charAt(0))throw new eF.ErrnoError(28);if("."!==(_=eg.relative(t,s)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(i,l)}catch(e){}if(c!==n){var u=eF.isDir(c.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(i,l,u):eF.mayCreate(i,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(c)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(i!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(c);try{r.node_ops.rename(c,i,l),c.parent=i}catch(e){throw e}finally{eF.hashAddNode(c)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(i)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),i=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(i))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(i)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eg.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,i){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var i=eF.getStreamChecked(e);eF.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var i=eF.nodePermissions(r,"w");if(i)throw new eF.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var i=eF.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(t,r,i){if(""===t)throw new eF.ErrnoError(44);if(i=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(i=void 0===i?438:i)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var s=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,i,0),s=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!s){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!s&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=a),a},write(e,t,r,i,n,s){if(i<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,i,n,s);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if((2&i)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,i=eF.open(e,t.flags),n=eF.stat(e).size,s=new Uint8Array(n);return eF.read(i,s,0,n,0),"utf8"===t.encoding?r=eh(s,0):"binary"===t.encoding&&(r=s),eF.close(i),r},writeFile(e,t,r={}){r.flags=r.flags||577;var i=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),s=ev(t,n,0,n.length);eF.write(i,n,0,s,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(i,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(i)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,i){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=i||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});i.parentExists=!0,i.parentPath=r.path,i.parentObject=r.node,i.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),i.exists=!0,i.path=r.path,i.object=r.node,i.name=r.node.name,i.isRoot="/"===r.path}catch(e){i.error=e.errno}return i},createPath(e,t,r,i){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ep.join2(e,s);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,i,n){var s=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(i,n);return eF.create(s,a)},createDataFile(e,t,r,i,n,s){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(i,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var c=Array(r.length),_=0,u=r.length;_<u;++_)c[_]=r.charCodeAt(_);r=c}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,s),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,i){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),s=eS(!!r,!!i);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){i?.buffer?.length&&i(10)},read(e,t,i,n,s){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[i+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,s){for(var a=0;a<n;a++)try{i(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,s,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("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.");if(g)try{e.contents=ey(g(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,i,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var i=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,s=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=i);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(s||!i)&&(a=i=1,a=i=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var s={isDevice:!1,url:r};var a=eF.createFile(e,t,s,i,n);s.contents?a.contents=s.contents:s.url&&(a.contents=null,a.url=s.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,i);if(s.slice)for(var o=0;o<a;o++)t[r+o]=s[n+o];else for(var o=0;o<a;o++)t[r+o]=s.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,i,n)=>(eF.forceLoadFile(a),l(e,t,r,i,n)),o.mmap=(e,t,r,i,n)=>{eF.forceLoadFile(a);var s=ek(t);if(!s)throw new eF.ErrnoError(48);return l(e,k,s,t,r),{ptr:s,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)i=eF.cwd();else{var i;i=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return i}return ep.join2(i,t)},doStat(e,t,r){var i=e(t);F[r>>2]=i.dev,F[r+4>>2]=i.mode,A[r+8>>2]=i.nlink,F[r+12>>2]=i.uid,F[r+16>>2]=i.gid,F[r+20>>2]=i.rdev,C=[i.size>>>0,+Math.abs(D=i.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=C[0],F[r+28>>2]=C[1],F[r+32>>2]=4096,F[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=C[0],F[r+44>>2]=C[1],A[r+48>>2]=n%1e3*1e3,C=[Math.floor(s/1e3)>>>0,+Math.abs(D=Math.floor(s/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=C[0],F[r+60>>2]=C[1],A[r+64>>2]=s%1e3*1e3,C=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=C[0],F[r+76>>2]=C[1],A[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,+Math.abs(D=i.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=C[0],F[r+92>>2]=C[1],0},doMsync(e,t,r,i,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);eF.msync(t,s,n,r,i)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],eC=[0,31,60,91,121,152,182,213,244,274,305,335],ez=[0,31,59,90,120,151,181,212,243,273,304,334],eL=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},eM={},eR=()=>{if(!eR.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in eM)void 0===eM[t]?delete e[t]:e[t]=eM[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eR.strings=r}return eR.strings},ej=function(){let t="object"==typeof Asyncify?Asyncify.handleAsync.bind(Asyncify):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),ej=function(e,i,...n){let s=r.get(i),a=null,o="function"==typeof s?s:s[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(s,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(s,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}},eH=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},eO=e=>z.get(e),eU=[],eN=t=>e["_"+t],eB=(e,t)=>{k.set(e,t)},e$=(e,t,r,i,n)=>{var s={string:e=>{var t,r,i,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,i=eZ(r),r),n=i),n},array:e=>{let t;var r=(t=e.length,eZ(t));return eB(e,r),r}},a=eN(e),o=[],l=0;if(i)for(var c=0;c<i.length;c++){var _=s[r[c]];_?(0===l&&(l=eu()),o[c]=_(i[c])):o[c]=i[c]}var u=a(...o);return function(e){return 0!==l&&eJ(l),"string"===t?ef(e):"boolean"===t?!!e:e}(u)},eW="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,i,n,s,a,o,l,c)=>{var _=t?eg.resolve(ep.join2(e,t)):e,u=`cp ${_}`;function d(r){var d,h;function f(r){c?.(),o||eF.createDataFile(e,t,r,i,n,l),s?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(_)&&(e.handle(r,_,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;b(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),ej();var eV={a:(e,t,r,i)=>{ei(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,i?ef(i):"unknown function"])},Y:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var s="";if(4&r&&(s+="r"),2&r&&(s+="w"),1&r&&(s+="x"),s&&eF.nodePermissions(n,s))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},b:function(e,t,r){eA.varargs=r;try{var i=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(i,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return i.flags;case 4:var n=eT();return i.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},W:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,t,r){var i=eP(t,r);try{if(isNaN(i))return 61;return eF.ftruncate(e,i),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Q:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),i=ew(r)+1;if(t<i)return -68;return eI(r,e,t),i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},U:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},N:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},S:function(e,t,r,i){try{t=eA.getStr(t);var n=256&i,s=4096&i;return i&=-6401,t=eA.calculateAt(e,t,s),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},M:function(e,t,r,i){eA.varargs=i;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=i?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},K:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),i<=0)return -28;var n=eF.readlink(t),s=Math.min(i,ew(n)),a=k[r+s];return eI(n,r,i+1),k[r+s]=a,s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):ei("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,t,r,i){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),s=F[r+8>>2];a=1e3*n+s/1e6,r+=16,n=eD(r),s=F[r+8>>2],o=1e3*n+s/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,t,r){let i;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var s=0|((i=n.getFullYear())%4==0&&(i%100!=0||i%400==0)?eC:ez)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=s,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),c=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=c},u:function(e,t,r,i,n,s,a,o){var l=eP(n,s);try{if(isNaN(l))return 61;var c=eA.getStreamFromFD(i),_=eF.mmap(c,e,l,t,r),u=_.ptr;return F[a>>2]=_.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,t,r,i,n,s,a){var o=eP(s,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,i,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},H:(e,t,r,i)=>{var n=(new Date).getFullYear(),s=new Date(n,0,1),a=new Date(n,6,1),o=s.getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.max(o,l);A[e>>2]=60*c,F[t>>2]=Number(o!=l);var _=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=_(s),d=_(a);l<o?(eI(u,r,17),eI(d,i,17)):(eI(u,i,17),eI(d,r,17))},n:()=>Date.now(),m:()=>performance.now(),D:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,i=1;i<=4;i*=2){var n=t*(1+.2/i);if(n=Math.min(n,e+0x6000000),eL(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},O:(e,t)=>{var r=0;return eR().forEach((i,n)=>{var s=t+r;A[e+4*n>>2]=s;for(var a=s,o=0;o<i.length;++o)k[a++]=i.charCodeAt(o);k[a]=0,r+=i.length+1}),0},P:(e,t)=>{var r=eR();A[e>>2]=r.length;var i=0;return r.forEach(e=>i+=e.length+1),A[t>>2]=i,0},o:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},E:function(e,t){try{var r=eA.getStreamFromFD(e),i=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=i,x[t+2>>1]=0,C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=C[0],F[t+12>>2]=C[1],C=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=C[0],F[t+20>>2]=C[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,i);if(l<0)return -1;if(n+=l,l<o)break;void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},x:function(e,t,r,i,n){var s=eP(t,r);try{if(isNaN(s))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,s,i),C=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=C[0],F[n+4>>2]=C[1],a.getdents&&0===s&&0===i&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},R:function(e){try{var t=eA.getStreamFromFD(e);if(t.stream_ops?.fsync)return t.stream_ops.fsync(t);return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},I:function(e,t,r,i){try{var n=eA.getStreamFromFD(e),s=((e,t,r,i)=>{for(var n=0,s=0;s<r;s++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,i);if(l<0)return -1;n+=l,void 0!==i&&(i+=l)}return n})(n,t,r);return A[i>>2]=s,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},s:function(...e){return ej(!1,...e)},t:function(...e){return ej(!0,...e)},ga:function(...e){return ej(!1,...e)},ka:function(...e){return ej(!0,...e)},i:function(...e){return ej(!1,...e)},j:function(...e){return ej(!0,...e)},c:function(...e){return ej(!1,...e)},d:function(...e){return ej(!0,...e)},ca:function(...e){return ej(!1,...e)},da:function(...e){return ej(!0,...e)},ea:function(...e){return ej(!1,...e)},fa:function(...e){return ej(!0,...e)},g:function(...e){return ej(!1,...e)},h:function(...e){return ej(!0,...e)},z:function(...e){return ej(!1,...e)},A:function(...e){return ej(!0,...e)},e:function(...e){return ej(!1,...e)},f:function(...e){return ej(!0,...e)},aa:function(...e){return ej(!1,...e)},ba:function(...e){return ej(!0,...e)},B:function(...e){return ej(!1,...e)},C:function(...e){return ej(!0,...e)},p:function(...e){return ej(!1,...e)},q:function(...e){return ej(!0,...e)},ha:function(...e){return ej(!1,...e)},ia:function(...e){return ej(!0,...e)},ja:function(...e){return ej(!1,...e)},r:function(...e){return ej(!0,...e)},k:function(...e){return ej(!1,...e)},l:function(...e){return ej(!0,...e)},T:function(...e){return ej(!1,...e)},_:function(...e){return ej(!0,...e)}},eG=function(){var t,r,i,n,s={a:eV};function a(e,t){var r;return y=(eG=e.exports).la,G(),z=eG.ef,r=eG.ma,K.unshift(r),er("wasm-instantiate"),eG}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(s,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite.wasm",import.meta.url).href}()),(t=v,r=I,i=s,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?es(r,i,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,i).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),es(r,i,n)}))).catch(m),{}}(),eX=(e._sqlite3_status64=(t,r,i,n)=>(e._sqlite3_status64=eG.na)(t,r,i,n),e._sqlite3_status=(t,r,i,n)=>(e._sqlite3_status=eG.oa)(t,r,i,n),e._sqlite3_msize=t=>(e._sqlite3_msize=eG.pa)(t),e._sqlite3_db_status=(t,r,i,n,s)=>(e._sqlite3_db_status=eG.qa)(t,r,i,n,s),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=eG.ra)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=eG.sa)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=eG.ta)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=eG.ua)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=eG.va)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=eG.wa)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=eG.xa)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=eG.ya)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=eG.za)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=eG.Aa)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=eG.Ba)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=eG.Ca)(t,r),e._sqlite3_realloc64=(t,r,i)=>(e._sqlite3_realloc64=eG.Da)(t,r,i),e._sqlite3_str_vappendf=(t,r,i)=>(e._sqlite3_str_vappendf=eG.Ea)(t,r,i),e._sqlite3_str_append=(t,r,i)=>(e._sqlite3_str_append=eG.Fa)(t,r,i),e._sqlite3_str_appendchar=(t,r,i)=>(e._sqlite3_str_appendchar=eG.Ga)(t,r,i),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=eG.Ha)(t,r),e._sqlite3_str_appendf=(t,r,i)=>(e._sqlite3_str_appendf=eG.Ia)(t,r,i),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=eG.Ja)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=eG.Ka)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=eG.La)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=eG.Ma)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=eG.Na)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=eG.Oa)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=eG.Pa)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=eG.Qa)(t,r),e._sqlite3_vsnprintf=(t,r,i,n)=>(e._sqlite3_vsnprintf=eG.Ra)(t,r,i,n),e._sqlite3_snprintf=(t,r,i,n)=>(e._sqlite3_snprintf=eG.Sa)(t,r,i,n),e._sqlite3_log=(t,r,i)=>(e._sqlite3_log=eG.Ta)(t,r,i),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=eG.Ua)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=eG.Va)(t,r),e._sqlite3_strnicmp=(t,r,i)=>(e._sqlite3_strnicmp=eG.Wa)(t,r,i),e._sqlite3_os_init=()=>(e._sqlite3_os_init=eG.Xa)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=eG.Ya)(),e._sqlite3_serialize=(t,r,i,n)=>(e._sqlite3_serialize=eG.Za)(t,r,i,n),e._sqlite3_prepare_v2=(t,r,i,n,s)=>(e._sqlite3_prepare_v2=eG._a)(t,r,i,n,s),e._sqlite3_step=t=>(e._sqlite3_step=eG.$a)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=eG.ab)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=eG.bb)(t),e._sqlite3_exec=(t,r,i,n,s)=>(e._sqlite3_exec=eG.cb)(t,r,i,n,s),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=eG.db)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=eG.eb)(t),e._sqlite3_deserialize=(t,r,i,n,s,a,o,l)=>(e._sqlite3_deserialize=eG.fb)(t,r,i,n,s,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=eG.gb)(t),e._sqlite3_backup_init=(t,r,i,n)=>(e._sqlite3_backup_init=eG.hb)(t,r,i,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=eG.ib)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=eG.jb)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=eG.kb)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=eG.lb)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=eG.mb)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=eG.nb)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=eG.ob)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=eG.pb)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=eG.qb)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=eG.rb)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=eG.sb)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=eG.tb)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=eG.ub)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=eG.vb)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=eG.wb)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=eG.xb)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=eG.yb)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=eG.zb)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=eG.Ab)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=eG.Bb)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=eG.Cb)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=eG.Db)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=eG.Eb)(t),e._sqlite3_result_blob=(t,r,i,n)=>(e._sqlite3_result_blob=eG.Fb)(t,r,i,n),e._sqlite3_result_blob64=(t,r,i,n,s)=>(e._sqlite3_result_blob64=eG.Gb)(t,r,i,n,s),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=eG.Hb)(t,r),e._sqlite3_result_error=(t,r,i)=>(e._sqlite3_result_error=eG.Ib)(t,r,i),e._sqlite3_result_error16=(t,r,i)=>(e._sqlite3_result_error16=eG.Jb)(t,r,i),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=eG.Kb)(t,r),e._sqlite3_result_int64=(t,r,i)=>(e._sqlite3_result_int64=eG.Lb)(t,r,i),e._sqlite3_result_null=t=>(e._sqlite3_result_null=eG.Mb)(t),e._sqlite3_result_pointer=(t,r,i,n)=>(e._sqlite3_result_pointer=eG.Nb)(t,r,i,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=eG.Ob)(t,r),e._sqlite3_result_text=(t,r,i,n)=>(e._sqlite3_result_text=eG.Pb)(t,r,i,n),e._sqlite3_result_text64=(t,r,i,n,s,a)=>(e._sqlite3_result_text64=eG.Qb)(t,r,i,n,s,a),e._sqlite3_result_text16=(t,r,i,n)=>(e._sqlite3_result_text16=eG.Rb)(t,r,i,n),e._sqlite3_result_text16be=(t,r,i,n)=>(e._sqlite3_result_text16be=eG.Sb)(t,r,i,n),e._sqlite3_result_text16le=(t,r,i,n)=>(e._sqlite3_result_text16le=eG.Tb)(t,r,i,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=eG.Ub)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=eG.Vb)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=eG.Wb)(t,r),e._sqlite3_result_zeroblob64=(t,r,i)=>(e._sqlite3_result_zeroblob64=eG.Xb)(t,r,i),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=eG.Yb)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=eG.Zb)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=eG._b)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=eG.$b)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=eG.ac)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=eG.bc)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=eG.cc)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=eG.dc)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=eG.ec)(t,r),e._sqlite3_set_auxdata=(t,r,i,n)=>(e._sqlite3_set_auxdata=eG.fc)(t,r,i,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=eG.gc)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=eG.hc)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=eG.ic)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=eG.jc)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=eG.kc)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=eG.lc)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=eG.mc)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=eG.nc)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=eG.oc)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=eG.pc)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=eG.qc)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=eG.rc)(t,r),e._sqlite3_bind_blob=(t,r,i,n,s)=>(e._sqlite3_bind_blob=eG.sc)(t,r,i,n,s),e._sqlite3_bind_blob64=(t,r,i,n,s,a)=>(e._sqlite3_bind_blob64=eG.tc)(t,r,i,n,s,a),e._sqlite3_bind_double=(t,r,i)=>(e._sqlite3_bind_double=eG.uc)(t,r,i),e._sqlite3_bind_int=(t,r,i)=>(e._sqlite3_bind_int=eG.vc)(t,r,i),e._sqlite3_bind_int64=(t,r,i,n)=>(e._sqlite3_bind_int64=eG.wc)(t,r,i,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=eG.xc)(t,r),e._sqlite3_bind_pointer=(t,r,i,n,s)=>(e._sqlite3_bind_pointer=eG.yc)(t,r,i,n,s),e._sqlite3_bind_text=(t,r,i,n,s)=>(e._sqlite3_bind_text=eG.zc)(t,r,i,n,s),e._sqlite3_bind_text64=(t,r,i,n,s,a,o)=>(e._sqlite3_bind_text64=eG.Ac)(t,r,i,n,s,a,o),e._sqlite3_bind_text16=(t,r,i,n,s)=>(e._sqlite3_bind_text16=eG.Bc)(t,r,i,n,s),e._sqlite3_bind_value=(t,r,i)=>(e._sqlite3_bind_value=eG.Cc)(t,r,i),e._sqlite3_bind_zeroblob=(t,r,i)=>(e._sqlite3_bind_zeroblob=eG.Dc)(t,r,i),e._sqlite3_bind_zeroblob64=(t,r,i,n)=>(e._sqlite3_bind_zeroblob64=eG.Ec)(t,r,i,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=eG.Fc)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=eG.Gc)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=eG.Hc)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=eG.Ic)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=eG.Jc)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=eG.Kc)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=eG.Lc)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=eG.Mc)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=eG.Nc)(t,r),e._sqlite3_stmt_status=(t,r,i)=>(e._sqlite3_stmt_status=eG.Oc)(t,r,i),e._sqlite3_sql=t=>(e._sqlite3_sql=eG.Pc)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=eG.Qc)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=eG.Rc)(t),e._sqlite3_blob_open=(t,r,i,n,s,a,o,l)=>(e._sqlite3_blob_open=eG.Sc)(t,r,i,n,s,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=eG.Tc)(t),e._sqlite3_blob_read=(t,r,i,n)=>(e._sqlite3_blob_read=eG.Uc)(t,r,i,n),e._sqlite3_blob_write=(t,r,i,n)=>(e._sqlite3_blob_write=eG.Vc)(t,r,i,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=eG.Wc)(t),e._sqlite3_blob_reopen=(t,r,i)=>(e._sqlite3_blob_reopen=eG.Xc)(t,r,i),e._sqlite3_set_authorizer=(t,r,i)=>(e._sqlite3_set_authorizer=eG.Yc)(t,r,i),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=eG.Zc)(t,r),e._sqlite3_strlike=(t,r,i)=>(e._sqlite3_strlike=eG._c)(t,r,i),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=eG.$c)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=eG.ad)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=eG.bd)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=eG.cd)(),e._sqlite3_prepare=(t,r,i,n,s)=>(e._sqlite3_prepare=eG.dd)(t,r,i,n,s),e._sqlite3_prepare_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare_v3=eG.ed)(t,r,i,n,s,a),e._sqlite3_prepare16=(t,r,i,n,s)=>(e._sqlite3_prepare16=eG.fd)(t,r,i,n,s),e._sqlite3_prepare16_v2=(t,r,i,n,s)=>(e._sqlite3_prepare16_v2=eG.gd)(t,r,i,n,s),e._sqlite3_prepare16_v3=(t,r,i,n,s,a)=>(e._sqlite3_prepare16_v3=eG.hd)(t,r,i,n,s,a),e._sqlite3_get_table=(t,r,i,n,s,a)=>(e._sqlite3_get_table=eG.id)(t,r,i,n,s,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=eG.jd)(t),e._sqlite3_create_module=(t,r,i,n)=>(e._sqlite3_create_module=eG.kd)(t,r,i,n),e._sqlite3_create_module_v2=(t,r,i,n,s)=>(e._sqlite3_create_module_v2=eG.ld)(t,r,i,n,s),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=eG.md)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=eG.nd)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=eG.od)(t),e._sqlite3_vtab_config=(t,r,i)=>(e._sqlite3_vtab_config=eG.pd)(t,r,i),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=eG.qd)(t,r),e._sqlite3_vtab_in=(t,r,i)=>(e._sqlite3_vtab_in=eG.rd)(t,r,i),e._sqlite3_vtab_rhs_value=(t,r,i)=>(e._sqlite3_vtab_rhs_value=eG.sd)(t,r,i),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=eG.td)(t),e._sqlite3_keyword_name=(t,r,i)=>(e._sqlite3_keyword_name=eG.ud)(t,r,i),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=eG.vd)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=eG.wd)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=eG.xd)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=eG.yd)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=eG.zd)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=eG.Ad)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=eG.Bd)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=eG.Cd)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=eG.Dd)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=eG.Ed)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=eG.Fd)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=eG.Gd)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=eG.Hd)(t),e._sqlite3_db_config=(t,r,i)=>(e._sqlite3_db_config=eG.Id)(t,r,i),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=eG.Jd)(t),e._sqlite3_set_last_insert_rowid=(t,r,i)=>(e._sqlite3_set_last_insert_rowid=eG.Kd)(t,r,i),e._sqlite3_changes64=t=>(e._sqlite3_changes64=eG.Ld)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=eG.Md)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=eG.Nd)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=eG.Od)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=eG.Pd)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=eG.Qd)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=eG.Rd)(t),e._sqlite3_busy_handler=(t,r,i)=>(e._sqlite3_busy_handler=eG.Sd)(t,r,i),e._sqlite3_progress_handler=(t,r,i,n)=>(e._sqlite3_progress_handler=eG.Td)(t,r,i,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=eG.Ud)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=eG.Vd)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=eG.Wd)(t),e._sqlite3_create_function=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function=eG.Xd)(t,r,i,n,s,a,o,l),e._sqlite3_create_function_v2=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_create_function_v2=eG.Yd)(t,r,i,n,s,a,o,l,c),e._sqlite3_create_window_function=(t,r,i,n,s,a,o,l,c,_)=>(e._sqlite3_create_window_function=eG.Zd)(t,r,i,n,s,a,o,l,c,_),e._sqlite3_create_function16=(t,r,i,n,s,a,o,l)=>(e._sqlite3_create_function16=eG._d)(t,r,i,n,s,a,o,l),e._sqlite3_overload_function=(t,r,i)=>(e._sqlite3_overload_function=eG.$d)(t,r,i),e._sqlite3_trace_v2=(t,r,i,n)=>(e._sqlite3_trace_v2=eG.ae)(t,r,i,n),e._sqlite3_commit_hook=(t,r,i)=>(e._sqlite3_commit_hook=eG.be)(t,r,i),e._sqlite3_update_hook=(t,r,i)=>(e._sqlite3_update_hook=eG.ce)(t,r,i),e._sqlite3_rollback_hook=(t,r,i)=>(e._sqlite3_rollback_hook=eG.de)(t,r,i),e._sqlite3_autovacuum_pages=(t,r,i,n)=>(e._sqlite3_autovacuum_pages=eG.ee)(t,r,i,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=eG.fe)(t,r),e._sqlite3_wal_hook=(t,r,i)=>(e._sqlite3_wal_hook=eG.ge)(t,r,i),e._sqlite3_wal_checkpoint_v2=(t,r,i,n,s)=>(e._sqlite3_wal_checkpoint_v2=eG.he)(t,r,i,n,s),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=eG.ie)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=eG.je)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=eG.ke)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=eG.le)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=eG.me)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=eG.ne)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=eG.oe)(t),e._sqlite3_limit=(t,r,i)=>(e._sqlite3_limit=eG.pe)(t,r,i),e._sqlite3_open=(t,r)=>(e._sqlite3_open=eG.qe)(t,r),e._sqlite3_open_v2=(t,r,i,n)=>(e._sqlite3_open_v2=eG.re)(t,r,i,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=eG.se)(t,r),e._sqlite3_create_collation=(t,r,i,n,s)=>(e._sqlite3_create_collation=eG.te)(t,r,i,n,s),e._sqlite3_create_collation_v2=(t,r,i,n,s,a)=>(e._sqlite3_create_collation_v2=eG.ue)(t,r,i,n,s,a),e._sqlite3_create_collation16=(t,r,i,n,s)=>(e._sqlite3_create_collation16=eG.ve)(t,r,i,n,s),e._sqlite3_collation_needed=(t,r,i)=>(e._sqlite3_collation_needed=eG.we)(t,r,i),e._sqlite3_collation_needed16=(t,r,i)=>(e._sqlite3_collation_needed16=eG.xe)(t,r,i),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=eG.ye)(t,r),e._sqlite3_set_clientdata=(t,r,i,n)=>(e._sqlite3_set_clientdata=eG.ze)(t,r,i,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=eG.Ae)(t),e._sqlite3_table_column_metadata=(t,r,i,n,s,a,o,l,c)=>(e._sqlite3_table_column_metadata=eG.Be)(t,r,i,n,s,a,o,l,c),e._sqlite3_sleep=t=>(e._sqlite3_sleep=eG.Ce)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=eG.De)(t,r),e._sqlite3_file_control=(t,r,i,n)=>(e._sqlite3_file_control=eG.Ee)(t,r,i,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=eG.Fe)(t,r),e._sqlite3_create_filename=(t,r,i,n,s)=>(e._sqlite3_create_filename=eG.Ge)(t,r,i,n,s),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=eG.He)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=eG.Ie)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=eG.Je)(t,r),e._sqlite3_uri_boolean=(t,r,i)=>(e._sqlite3_uri_boolean=eG.Ke)(t,r,i),e._sqlite3_uri_int64=(t,r,i,n)=>(e._sqlite3_uri_int64=eG.Le)(t,r,i,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=eG.Me)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=eG.Ne)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=eG.Oe)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=eG.Pe)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=eG.Qe)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=eG.Re)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=eG.Se)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=eG.Te)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=eG.Ue)(),e._malloc=t=>(e._malloc=eG.Ve)(t),e._free=t=>(e._free=eG.We)(t),e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=eG.Xe)(t),e._getSqliteFree=()=>(e._getSqliteFree=eG.Ye)(),e._main=(t,r)=>(eX=e._main=eG.Ze)(t,r)),eK=(e._libauthorizer_set_authorizer=(t,r,i)=>(e._libauthorizer_set_authorizer=eG._e)(t,r,i),e._libfunction_create_function=(t,r,i,n,s,a,o,l)=>(e._libfunction_create_function=eG.$e)(t,r,i,n,s,a,o,l),e._libhook_commit_hook=(t,r,i)=>(e._libhook_commit_hook=eG.af)(t,r,i),e._libhook_update_hook=(t,r,i)=>(e._libhook_update_hook=eG.bf)(t,r,i),e._libprogress_progress_handler=(t,r,i,n)=>(e._libprogress_progress_handler=eG.cf)(t,r,i,n),e._libvfs_vfs_register=(t,r,i,n,s,a)=>(e._libvfs_vfs_register=eG.df)(t,r,i,n,s,a),(e,t)=>(eK=eG.ff)(e,t)),eY=()=>(eY=eG.gf)(),eJ=e=>(eJ=eG.hf)(e),eZ=e=>(eZ=eG.jf)(e),eQ=()=>(eQ=eG.kf)();function e0(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!M&&(M=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e3&&function(){var t=eX;try{var r=t(0,0);q=r,q=r,ec||(e.onExit?.(r),V=!0),N(r,new ea(r))}catch(e){if(e instanceof ea||"unwind"==e)return q;N(1,e);return}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>eY(),e.ccall=e$,e.cwrap=(e,t,r,i)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!i?eN(e):(...n)=>e$(e,t,r,n,i)},e.addFunction=(e,t)=>{var r=(e=>{if(!L){L=new WeakMap;var t=z.length;if(L)for(var r=0;r<0+t;r++){var i=eO(r);i&&L.set(i,r)}}return L.get(e)||0})(e);if(r)return r;var i=(()=>{if(eU.length)return eU.pop();try{z.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return z.length-1})();try{z.set(i,e)}catch(r){if(!(r instanceof TypeError))throw r;var n=((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},i=1;i<e.length;++i)r.parameters.push(t[e[i]]);return r})(t),e);var r=[1],i=t.slice(0,1),n=t.slice(1),s={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),eH(n.length,r);for(var a=0;a<n.length;++a)r.push(s[n[a]]);"v"==i?r.push(0):r.push(1,s[i]);var o=[0,97,115,109,1,0,0,0,1];eH(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t);z.set(i,n)}return L.set(e,i),i},e.setValue=e_,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&S[i];)++i;if((r=i<<1)-e>32&&eW)return eW.decode(E.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);x[t>>1]=a,t+=2}return x[t>>1]=0,t-i},e.UTF32ToString=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var i=t,n=i+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-i},e.writeArrayToMemory=eB,ee=function e(){M||e0(),M||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var e3=!0;return e.noInitialRun&&(e3=!1),e0(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(i,n,s){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),e_(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=e$("libauthorizer_set_authorizer","number",["number","number","number"],[i,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,i,a,o)=>n(s,t,r,i,a,o)),a},i=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],s=new Map,e.create_function=function(t,r,a,o,l,c,_,u){let d=e._sqlite3_malloc(4),h={xFunc:c,xStep:_,xFinal:u};e_(d,n.reduce((e,t,r)=>h[t]instanceof i?e|1<<r:e,0),"i32");let f=e$("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!c,+!!_,+!!u]);if(!f){if(s.has(r)){let t=s.get(r);e.deleteCallback(t)}s.set(r,d),e.setCallback(d,{xFunc:c,xStep:_,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),e_(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),e$("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,i,n,s,a)=>r(t,i,n,s,a))},l=Object.getPrototypeOf(async function(){}).constructor,c=0,e.commit_hook=function(t,r){c&&(e.deleteCallback(c),e._sqlite3_free(c),c=0),e_(c=e._sqlite3_malloc(4),+(r instanceof l),"i32"),e$("libhook_commit_hook","void",["number","number","number"],[t,+!!r,c]),r&&e.setCallback(c,e=>r())},_=Object.getPrototypeOf(async function(){}).constructor,u=0,e.progress_handler=function(t,r,i,n){u&&(e.deleteCallback(u),e._sqlite3_free(u),u=0),e_(u=e._sqlite3_malloc(4),+(i instanceof _),"i32"),e$("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!i,u]),i&&e.setCallback(u,e=>i(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let i=0,n=0;h.forEach((e,r)=>{t[e]&&(i|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let s=e._sqlite3_malloc(4);try{let a=e$("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,i,n,+!!r,s]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(s,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(s)}},R}),eq=-0x8000000000000000n,ek=Object.getPrototypeOf(async function(){}).constructor;class eE extends Error{constructor(e,t){super(e),this.code=t}}function ex(e){let t,r,i,n,s,a,o,l,c,_,u,d,h,f,p,m,g,b,w,v,y,q,k,E,x,S,F,A,T,P,I,D,C,z,L,M,R,j,H,O,U,N,B,$,W,V={};e.retryOps=[],e.pendingOps=[];let G=e._getSqliteFree(),X=e._malloc(8),K=[X,X+4],Y=new TextEncoder;function J(t){if("string"!=typeof t)return 0;let r=Y.encode(t),i=e._sqlite3_malloc(r.byteLength+1);return e.HEAPU8.set(r,i),e.HEAPU8[i+r.byteLength]=0,i}function Z(e,t){return BigInt(t)<<32n|4294967295n&BigInt(e)}let Q=(t=BigInt(Number.MAX_SAFE_INTEGER)>>32n,r=BigInt(Number.MIN_SAFE_INTEGER)>>32n,function(e,i){return i>t||i<r?Z(e,i):0x100000000*i+(0x7fffffff&e)-(0x80000000&e)}),ee=new Set;function et(e){if(!ee.has(e))throw new eE("not a database",21)}let er=new Map;function ei(e){if(!er.has(e))throw new eE("not a statement",21)}function en(t,r,i=null,n=[0]){if(n.includes(r))return r;throw new eE(i?e.ccall("sqlite3_errmsg","string",["number"],[i]):t,r)}async function es(t){let r;for(let i=0;i<2;++i){if(e.retryOps.length)try{await Promise.all(e.retryOps)}finally{e.retryOps=[]}if(0===(r=await t())||0===e.retryOps.length){if(e.pendingOps.length)try{await Promise.all(e.pendingOps)}catch(e){return console.error("Error in pendingOps:",e),e.code||1}finally{e.pendingOps=[]}break}}return r}return V.bind_collection=function(e,t){ei(e);let r=Array.isArray(t),i=V.bind_parameter_count(e);for(let n=1;n<=i;++n){let i=t[r?n-1:V.bind_parameter_name(e,n)];void 0!==i&&V.bind(e,n,i)}return 0},V.bind=function(e,t,r){switch(ei(e),typeof r){case"number":if(r===(0|r))return V.bind_int(e,t,r);return V.bind_double(e,t,r);case"string":return V.bind_text(e,t,r);case"boolean":return V.bind_int(e,t,+!!r);default:if(r instanceof Uint8Array||Array.isArray(r))return V.bind_blob(e,t,r);if(null===r)return V.bind_null(e,t);if("bigint"==typeof r)return V.bind_int64(e,t,r);if(void 0===r)return 27;return console.warn("unknown binding converted to null",r),V.bind_null(e,t)}},i=e.cwrap("sqlite3_bind_blob",...eS("nnnnn:n")),V.bind_blob=function(t,r,n){ei(t);let s=n.byteLength??n.length,a=e._sqlite3_malloc(s);return e.HEAPU8.subarray(a).set(n),en("sqlite3_bind_blob",i(t,r,a,s,G),er.get(t))},n=e.cwrap("sqlite3_bind_parameter_count",...eS("n:n")),V.bind_parameter_count=function(e){return ei(e),n(e)},s=e.cwrap("sqlite3_bind_double",...eS("nnn:n")),V.bind_double=function(e,t,r){return ei(e),en("sqlite3_bind_double",s(e,t,r),er.get(e))},a=e.cwrap("sqlite3_bind_int",...eS("nnn:n")),V.bind_int=function(e,t,r){return(ei(e),r>0x7fffffff||r<-0x80000000)?25:en("sqlite3_bind_int",a(e,t,r),er.get(e))},o=e.cwrap("sqlite3_bind_int64",...eS("nnnn:n")),V.bind_int64=function(e,t,r){return(ei(e),r>0x7fffffffffffffffn||r<eq)?25:en("sqlite3_bind_int64",o(e,t,Number(4294967295n&r),Number(r>>32n)),er.get(e))},l=e.cwrap("sqlite3_bind_null",...eS("nn:n")),V.bind_null=function(e,t){return ei(e),en("sqlite3_bind_null",l(e,t),er.get(e))},c=e.cwrap("sqlite3_bind_parameter_name",...eS("n:s")),V.bind_parameter_name=function(e,t){return ei(e),c(e,t)},_=e.cwrap("sqlite3_bind_text",...eS("nnnnn:n")),V.bind_text=function(e,t,r){return ei(e),en("sqlite3_bind_text",_(e,t,J(r),-1,G),er.get(e))},u=e.cwrap("sqlite3_changes",...eS("n:n")),V.changes=function(e){return et(e),u(e)},d=e.cwrap("sqlite3_clear_bindings",...eS("n:n")),V.clear_bindings=function(e){return ei(e),en("sqlite3_clear_bindings",d(e),er.get(e))},h=e.cwrap("sqlite3_close",...eS("n:n"),{async:!0}),V.close=async function(e){et(e);let t=await h(e);return ee.delete(e),en("sqlite3_close",t,e)},V.column=function(t,r){ei(t);let i=V.column_type(t,r);switch(i){case 4:return V.column_blob(t,r);case 2:return V.column_double(t,r);case 1:return Q(V.column_int(t,r),e.getTempRet0());case 5:return null;case 3:return V.column_text(t,r);default:throw new eE("unknown type",i)}},f=e.cwrap("sqlite3_column_blob",...eS("nn:n")),V.column_blob=function(t,r){ei(t);let i=V.column_bytes(t,r),n=f(t,r);return e.HEAPU8.subarray(n,n+i)},p=e.cwrap("sqlite3_column_bytes",...eS("nn:n")),V.column_bytes=function(e,t){return ei(e),p(e,t)},m=e.cwrap("sqlite3_column_count",...eS("n:n")),V.column_count=function(e){return ei(e),m(e)},g=e.cwrap("sqlite3_column_double",...eS("nn:n")),V.column_double=function(e,t){return ei(e),g(e,t)},b=e.cwrap("sqlite3_column_int64",...eS("nn:n")),V.column_int=function(e,t){return ei(e),b(e,t)},w=e.cwrap("sqlite3_column_int64",...eS("nn:n")),V.column_int64=function(t,r){return ei(t),Z(w(t,r),e.getTempRet0())},v=e.cwrap("sqlite3_column_name",...eS("nn:s")),V.column_name=function(e,t){return ei(e),v(e,t)},V.column_names=function(e){let t=[],r=V.column_count(e);for(let i=0;i<r;++i)t.push(V.column_name(e,i));return t},y=e.cwrap("sqlite3_column_text",...eS("nn:s")),V.column_text=function(e,t){return ei(e),y(e,t)},q=e.cwrap("sqlite3_column_type",...eS("nn:n")),V.column_type=function(e,t){return ei(e),q(e,t)},V.create_function=function(t,r,i,n,s,a,o,l){function c(t){return t instanceof ek?async(r,i,n)=>t(r,e.HEAP32.subarray(n/4,n/4+i)):(r,i,n)=>t(r,e.HEAP32.subarray(n/4,n/4+i))}return et(t),en("sqlite3_create_function",e.create_function(t,r,i,n,s,a&&c(a),o&&c(o),l),t)},k=e.cwrap("sqlite3_data_count",...eS("n:n")),V.data_count=function(e){return ei(e),k(e)},V.exec=async function(e,t,r){for await(let i of V.statements(e,t)){let e;for(;await V.step(i)===100;)if(r){e=e??V.column_names(i);let t=V.row(i);await r(t,e)}}return 0},E=e.cwrap("sqlite3_finalize",...eS("n:n"),{async:!0}),V.finalize=async function(e){let t=await E(e);return er.delete(e),t},x=e.cwrap("sqlite3_get_autocommit",...eS("n:n")),V.get_autocommit=function(e){return x(e)},S=e.cwrap("sqlite3_libversion",...eS(":s")),V.libversion=function(){return S()},F=e.cwrap("sqlite3_libversion_number",...eS(":n")),V.libversion_number=function(){return F()},A=e.cwrap("sqlite3_limit",...eS("nnn:n")),V.limit=function(e,t,r){return A(e,t,r)},T=e.cwrap("sqlite3_open_v2",...eS("snnn:n"),{async:!0}),V.open_v2=async function(t,r,i){r=r||6,i=J(i);try{let n=await es(()=>T(t,K[0],r,i)),s=e.getValue(K[0],"*");if(0!==n){let t=s?e.ccall("sqlite3_errmsg","string",["number"],[s]):"sqlite3_open_v2",r=new eE(t,n);if(s){ee.add(s);try{await V.close(s)}catch{}finally{ee.delete(s)}}throw r}return ee.add(s),e.ccall("RegisterExtensionFunctions","void",["number"],[s]),s}finally{e._sqlite3_free(i)}},V.progress_handler=function(t,r,i,n){et(t),e.progress_handler(t,r,i,n)},P=e.cwrap("sqlite3_reset",...eS("n:n"),{async:!0}),V.reset=async function(e){return ei(e),en("sqlite3_reset",await P(e),er.get(e))},V.result=function(e,t){switch(typeof t){case"number":t===(0|t)?V.result_int(e,t):V.result_double(e,t);break;case"string":V.result_text(e,t);break;default:if(t instanceof Uint8Array||Array.isArray(t))V.result_blob(e,t);else if(null===t)V.result_null(e);else{if("bigint"==typeof t)return V.result_int64(e,t);console.warn("unknown result converted to null",t),V.result_null(e)}}},I=e.cwrap("sqlite3_result_blob",...eS("nnnn:n")),V.result_blob=function(t,r){let i=r.byteLength??r.length,n=e._sqlite3_malloc(i);e.HEAPU8.subarray(n).set(r),I(t,n,i,G)},D=e.cwrap("sqlite3_result_double",...eS("nn:n")),V.result_double=function(e,t){D(e,t)},C=e.cwrap("sqlite3_result_int",...eS("nn:n")),V.result_int=function(e,t){C(e,t)},z=e.cwrap("sqlite3_result_int64",...eS("nnn:n")),V.result_int64=function(e,t){if(t>0x7fffffffffffffffn||t<eq)return 25;z(e,Number(4294967295n&t),Number(t>>32n))},L=e.cwrap("sqlite3_result_null",...eS("n:n")),V.result_null=function(e){L(e)},M=e.cwrap("sqlite3_result_text",...eS("nnnn:n")),V.result_text=function(e,t){M(e,J(t),-1,G)},V.row=function(t){let r=[],i=V.data_count(t);for(let n=0;n<i;++n){let i=V.column(t,n);r.push(i?.buffer===e.HEAPU8.buffer?i.slice():i)}return r},V.set_authorizer=function(t,r,i){function n(t,r,i,n,s,a){return[t,r,e.UTF8ToString(i),e.UTF8ToString(n),e.UTF8ToString(s),e.UTF8ToString(a)]}return et(t),en("sqlite3_set_authorizer",e.set_authorizer(t,r instanceof ek?async(e,t,i,s,a,o)=>r(...n(e,t,i,s,a,o)):(e,t,i,s,a,o)=>r(...n(e,t,i,s,a,o)),i),t)},R=e.cwrap("sqlite3_sql",...eS("n:s")),V.sql=function(e){return ei(e),R(e)},V.statements=function(t,r,i={}){let n=e.cwrap("sqlite3_prepare_v3","number",["number","number","number","number","number","number"],{async:!0});return async function*(){let s=[];try{let o,l=Y.encode(r),c=l.byteLength-l.byteLength%4+12,_=e._sqlite3_malloc(c),u=_+l.byteLength+1;s.push(()=>e._sqlite3_free(_)),e.HEAPU8.set(l,_),e.HEAPU8[u-1]=0;let d=_+c-8,h=_+c-4;function a(){o&&!i.unscoped&&V.finalize(o),o=0}s.push(a),e.setValue(h,_,"*");do{a();let r=e.getValue(h,"*"),s=await es(()=>n(t,r,u-h,i.flags||0,d,h));0!==s&&en("sqlite3_prepare_v3",s,t),(o=e.getValue(d,"*"))&&(er.set(o,t),yield o)}while(o)}finally{for(;s.length;)s.pop()()}}()},j=e.cwrap("sqlite3_step",...eS("n:n"),{async:!0}),V.step=async function(e){return ei(e),en("sqlite3_step",await es(()=>j(e)),er.get(e),[100,101])},V.commit_hook=function(t,r){et(t),e.commit_hook(t,r)},V.update_hook=function(t,r){function i(t,r,i,n,s){return[t,e.UTF8ToString(r),e.UTF8ToString(i),Z(n,s)]}et(t),e.update_hook(t,r instanceof ek?async(e,t,n,s,a)=>r(...i(e,t,n,s,a)):(e,t,n,s,a)=>r(...i(e,t,n,s,a)))},V.value=function(t){let r=V.value_type(t);switch(r){case 4:return V.value_blob(t);case 2:return V.value_double(t);case 1:return Q(V.value_int(t),e.getTempRet0());case 5:return null;case 3:return V.value_text(t);default:throw new eE("unknown type",r)}},H=e.cwrap("sqlite3_value_blob",...eS("n:n")),V.value_blob=function(t){let r=V.value_bytes(t),i=H(t);return e.HEAPU8.subarray(i,i+r)},O=e.cwrap("sqlite3_value_bytes",...eS("n:n")),V.value_bytes=function(e){return O(e)},U=e.cwrap("sqlite3_value_double",...eS("n:n")),V.value_double=function(e){return U(e)},N=e.cwrap("sqlite3_value_int64",...eS("n:n")),V.value_int=function(e){return N(e)},B=e.cwrap("sqlite3_value_int64",...eS("n:n")),V.value_int64=function(t){return Z(B(t),e.getTempRet0())},$=e.cwrap("sqlite3_value_text",...eS("n:s")),V.value_text=function(e){return $(e)},W=e.cwrap("sqlite3_value_type",...eS("n:n")),V.value_type=function(e){return W(e)},V.vfs_register=function(t,r){return en("sqlite3_vfs_register",e.vfs_register(t,r))},V}function eS(e){let t=[],r=e.match(/([ns@]*):([nsv@])/);switch(r[2]){case"n":t.push("number");break;case"s":t.push("string");break;case"v":t.push(null)}let i=[];for(let e of r[1])switch(e){case"n":i.push("number");break;case"s":i.push("string")}return t.push(i),t}let eF={OPFSWriteAheadVFS:{builds:["sync","async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",exclusiveFileHandle:!1,requires:["opfs"],degradesWithout:["readwrite-unsafe"],singleConnectionWithout:["readwrite-unsafe"],extraFileSuffixes:["-wa0","-wa1"],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:["readwrite-unsafe"],defaultPragmas:{}},OPFSAdaptiveVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",exclusiveFileHandle:!1,requires:["opfs"],degradesWithout:["readwrite-unsafe"],singleConnectionWithout:["readwrite-unsafe"],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},OPFSCoopSyncVFS:{builds:["sync","async","jspi"],maxPoolSize:1,poolLimitReason:"it rotates one exclusive access handle between connections, so another worker only waits its turn",multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",exclusiveFileHandle:!0,requires:["opfs"],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},AccessHandlePoolVFS:{builds:["sync","async","jspi"],maxPoolSize:1,poolLimitReason:"it cannot share access handles between connections",multiConnection:!1,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-pool",exclusiveFileHandle:!0,requires:["opfs"],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!0,exclusiveConnectionWithout:[],defaultPragmas:{locking_mode:"exclusive",journal_mode:"wal"}},IDBBatchAtomicVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"indexeddb",layout:"idb-store",exclusiveFileHandle:!1,requires:[],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!0,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},IDBMirrorVFS:{builds:["async","jspi"],maxPoolSize:1,poolLimitReason:"its pages are mirrored per worker and commits propagate asynchronously, so a larger pool reads stale data or fails outright",multiConnection:!1,persistent:!0,memoryModel:"whole-database",storage:"indexeddb",layout:"idb-store",exclusiveFileHandle:!1,requires:[],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},OPFSAnyContextVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",exclusiveFileHandle:!1,requires:["opfs","writable-stream"],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},MemoryVFS:{builds:["sync","async","jspi"],maxPoolSize:1,poolLimitReason:"its pages live in the worker that opened them, so a larger pool would open independent databases that diverge silently",multiConnection:!1,persistent:!1,memoryModel:"whole-database",storage:"memory",layout:"memory",exclusiveFileHandle:!1,requires:[],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}},MemoryAsyncVFS:{builds:["async","jspi"],maxPoolSize:1,poolLimitReason:"its pages live in the worker that opened them, so a larger pool would open independent databases that diverge silently",multiConnection:!1,persistent:!1,memoryModel:"whole-database",storage:"memory",layout:"memory",exclusiveFileHandle:!1,requires:[],degradesWithout:[],singleConnectionWithout:[],extraFileSuffixes:[],yieldsDuringStatements:!1,exclusiveConnection:!1,exclusiveConnectionWithout:[],defaultPragmas:{}}},eA=e=>eF[e].builds[0],eT={available:!1,hold:async()=>()=>{},withLock:async(e,t)=>t(),tryWithLock:async(e,t)=>(await t(),!0),heldNames:async()=>[],entries:async()=>({held:[],pending:[]})};class eP extends Error{code;sqliteCode;sqliteExtendedCode;timeout;constructor(e,t,r){super(t,r),this.code=e,this.name=e,r?.sqliteCode!==void 0&&(this.sqliteCode=r.sqliteCode),r?.sqliteExtendedCode!==void 0&&(this.sqliteExtendedCode=r.sqliteExtendedCode),r?.timeout!==void 0&&(this.timeout=r.timeout)}}let eI=/^[A-Za-z_]\w*$/,eD=/^-?\d+$/,eC=/^'([^']|'')*'$/,ez=e=>{let t=new MessageChannel;try{return t.port1.postMessage(e),e}catch{return String(e)}finally{t.port1.close(),t.port2.close()}},eL={"readwrite-unsafe":e=>{let t=e.FileSystemSyncAccessHandle;return"function"==typeof t&&"mode"in t.prototype}},eM=(e,t=globalThis)=>{for(let r of e){let e=eL[r];if(e&&!e(t))return r}return null},eR=e=>e instanceof eE&&"number"==typeof e.code?e.code:void 0,ej=async(e,t,r)=>{let i=Date.now()+1e4;for(;;)try{return await e.create(t,r,{lockPolicy:"shared"})}catch(e){if(e?.name!=="NoModificationAllowedError"||Date.now()>=i)throw e;await new Promise(e=>setTimeout(e,100))}},eH=async(e,t,r)=>{if(!eF[r].exclusiveFileHandle)return e.open_v2(t);let i=Date.now()+2500;for(;;)try{return await e.open_v2(t)}catch(e){if(Date.now()>=i)throw e;await new Promise(e=>setTimeout(e,100))}},eO="__bsq_sp",eU={sync:()=>Promise.resolve(g),async:()=>Promise.resolve(p),jspi:()=>Promise.resolve(m)},eN={OPFSAdaptiveVFS:{fs:()=>Promise.resolve(k)},OPFSWriteAheadVFS:{fs:()=>Promise.resolve(S)},OPFSCoopSyncVFS:{fs:()=>Promise.resolve(x)},AccessHandlePoolVFS:{fs:()=>Promise.resolve(b)},IDBBatchAtomicVFS:{fs:()=>Promise.resolve(w)},IDBMirrorVFS:{fs:()=>Promise.resolve(v)},OPFSAnyContextVFS:{fs:()=>Promise.resolve(E)},MemoryVFS:{fs:()=>Promise.resolve(q)},MemoryAsyncVFS:{fs:()=>Promise.resolve(y)}},eB=(i=new MessageChannel,n=[],i.port1.onmessage=()=>{n.shift()?.()},h=()=>new Promise(e=>{n.push(e),i.port2.postMessage(0)}),s=0,a=-1,o=!1,l=Promise.withResolvers(),c=()=>{let e=l;l=Promise.withResolvers(),e.resolve()},{reset:(e,t)=>{a=e,s=t,o=!1},grant:(e,t)=>{e===a&&(s+=t,c())},stop:()=>{o=!0,c()},take:async e=>{if(e!==a)return"stopped";for(await h();s<=0&&!o;)await l.promise;return o?"stopped":(s-=1,"go")},isStopped:()=>o,tick:h}),e$=((e=globalThis.navigator?.locks)=>e?{available:!0,hold:(t,r)=>new Promise((i,n)=>{let s,a=r?.ifAvailable===!0,o=new Promise(e=>{s=e}),l={mode:r?.mode??"exclusive"};r?.signal&&(l.signal=r.signal),a&&(l.ifAvailable=!0),e.request(t,l,e=>a&&!e?(i(void 0),Promise.resolve()):(i(s),o)).catch(n)}),withLock:(t,r)=>e.request(t,{mode:"exclusive"},()=>r()),tryWithLock:async(t,r)=>{let i=!1;return await e.request(t,{mode:"exclusive",ifAvailable:!0},async e=>{e&&(i=!0,await r())}),i},heldNames:async()=>((await e.query()).held??[]).map(e=>e.name).filter(e=>"string"==typeof e),entries:async()=>{let t=await e.query(),r=e=>(e??[]).filter(e=>"string"==typeof e.name&&"string"==typeof e.clientId).map(e=>({name:e.name,mode:"shared"===e.mode?"shared":"exclusive",clientId:e.clientId}));return{held:r(t.held),pending:r(t.pending)}}}:eT)(),eW=!1,eV="async",eG=e=>void 0===e?void 0:{locateFile:"base"in e?t=>e.base+t:()=>e.file},eX=(e,t)=>{let r=e=>e.trim().replace(/;+$/,"").trim();return r(e)===r(t)},eK=["","-journal","-wal"],eY=async e=>{let t=e.split("/").filter(Boolean),r=t.pop();if(r)try{let e=await navigator.storage.getDirectory();for(let r of t)e=await e.getDirectoryHandle(r);await e.removeEntry(r)}catch(e){if(e?.name==="NotFoundError")return;throw e}},eJ=async e=>{let t=e.split("/").filter(Boolean),r=t.pop();if(!r)return!1;try{let e=await navigator.storage.getDirectory();for(let r of t)e=await e.getDirectoryHandle(r);return await e.getFileHandle(r),!0}catch(e){if(e?.name==="NotFoundError")return!1;throw e}},eZ=async e=>{let{file:t,vfs:r,wasm:i}=e,n=e.build??eA(r),{default:s}=await eU[n](),a=await s(eG(i)),o=await eN[r].fs(),l=await ej(o[r],r,a),c=eF[r].layout,_=ex(a);if(_.vfs_register(l,!0),"opfs-path"===c){if(!await eJ(t))return await l.close?.(),!1}else try{let e=await _.open_v2(t,2);await _.close(e)}catch(e){if(e?.code===14)return await l.close?.(),!1;throw e}try{if("opfs-path"!==c)for(let e of eK)await l.jDelete(`${t}${e}`,1);if("idb-store"===c){let e=new DataView(new ArrayBuffer(4));await l.jAccess(`${t}`,0,e)}}finally{await l.close?.()}if("opfs-path"===c){for(let e of[...eK.filter(e=>""!==e),...eF[r].extraFileSuffixes])await eY(`${t}${e}`);await eY(t)}return!0},eQ=async()=>{if(e)try{let{sqlite:t,db:r}=await e;return 0===t.get_autocommit(r)}catch{return}};self.onmessage=async i=>{let{data:n}=i;switch(n.type){case"open":{let{file:i,vfs:s,build:a,pragmas:o,statementCacheSize:l,statementCacheBytes:c,abortSlots:_,abortIndex:u,declineWithout:d,probeFirst:h}=n;((i,n)=>{let s;if(e)throw Error("DB already opened");let a=eM(n.declineWithout??[]);if(null!==a)return self.postMessage({type:"declined",callId:0,missing:a});n.probeFirst&&n.probeFirst.length>0&&(r=Promise.withResolvers(),self.postMessage({type:"probed",callId:0,missing:eM(n.probeFirst)}));let{vfs:o,wasm:l,pragmas:c={},abortSlots:_,abortIndex:u}=n,d=n.build??eA(o);eV=d;let h=_&&void 0!==u?new Int32Array(_):void 0,f=eN[o];(e=(r?.promise??Promise.resolve()).then(()=>eU[d]()).then(({default:e})=>e(eG(l))).then(e=>{let t=ex(e);return f.fs().then(r=>({sqlite:t,module:e,vfsModule:r[o]}))}).then(({sqlite:e,module:t,vfsModule:r})=>ej(r,o,t).then(r=>(s=r,e.vfs_register(r,!0),e$.withLock(`bsq:init:${"opfs-path"===eF[o].layout?"opfs":o}:${i}`,async()=>{let r=await eH(e,i,o);for(let t of Object.entries(c).map(([e,t])=>{if(!eI.test(e))throw new eP("INVALID_PRAGMA",`Invalid pragma name ${JSON.stringify(e)}: a pragma name must match ${eI}.`);let r=String(t).trim();if(eD.test(r)||eI.test(r)||eC.test(r))return`PRAGMA ${e}=${r}`;throw new eP("INVALID_PRAGMA",`Invalid value ${JSON.stringify(t)} for pragma "${e}": expected an integer, a bare word such as WAL, or a quoted literal.`)}))for await(let i of e.statements(r,t))for(;await e.step(i)===100;);return{sqlite:e,module:t,db:r}})))).then(e=>(self.postMessage({type:"ready",callId:0}),e)).catch(e=>{let t=e instanceof Error?e.message:`Failed to open ${i}`,r=s?.lastError,n=r instanceof Error?`${r.name}: ${r.message}`:void 0,a=eR(e);throw self.postMessage({type:"open-error",callId:0,message:n?`${t}: ${n}`:t,cause:ez(n?r:e),...void 0!==a?{sqliteCode:a}:{}}),e})).catch(()=>{});let p=e=>{self.postMessage(e)},m=0,g=(({maxEntries:e,maxBytes:t})=>{let r=new Map,i=0,n=e=>{let t=r.get(e);if(void 0!==t)return r.delete(e),i-=t.weight,t},s=e=>{let t=r.keys().next();if(t.done)return;let i=n(t.value);i?.handle!=null&&e.push(i.handle)},a=(a,o)=>{n(a);let l=[];for(;i>=t&&r.size>0;)s(l);for(r.set(a,o),i+=o.weight;r.size>e;)s(l);return l};return{get:e=>{let t=r.get(e);if(void 0!==t)return r.delete(e),r.set(e,t),null===t.handle?"uncacheable":t.handle},set:(e,t,r)=>a(e,{handle:t,weight:r}),markUncacheable:e=>a(e,{handle:null,weight:0}),delete:e=>n(e)?.handle??void 0,drain:()=>{let e=[];for(let t of r.values())null!==t.handle&&e.push(t.handle);return r.clear(),i=0,e}}})({maxEntries:n.statementCacheSize??0,maxBytes:n.statementCacheBytes??0}),b=async function*(t,r,i,n){if(!e)throw Error("No DB opened");let{sqlite:s,db:a,module:l}=await e,{chunkSize:c=1}=n??{},_=[],d=e=>(void 0!==eR(e)&&(e.extendedCode??=l._sqlite3_extended_errcode(a)),e),f=async function*(e){let t;try{i?.length&&s.bind_collection(e,i)}catch(e){throw d(e)}for(;;){let r;if(eB.isStopped())break;try{r=await s.step(e)}catch(e){if(e?.code===9)break;throw d(e)}if(eB.isStopped())break;if(100===r){t??=s.column_names(e);let r=s.row(e),i={};for(let e=0;e<t.length;e++)i[t[e]]=r[e];_.push(i),_.length>=c&&(yield _.splice(0,c))}else{for(;_.length;)yield _.splice(0,c);break}}},p=async(e,t)=>{if(t){g.delete(r),await s.finalize(e);return}try{await s.reset(e),s.clear_bindings(e)}catch(t){if(t?.code!==9){g.delete(r),await s.finalize(e);return}s.clear_bindings(e)}for(let t of g.set(r,e,l._sqlite3_stmt_status(e,99,0)))await s.finalize(t)},{abortable:b}=n??{},w=!0===b,v="sync"!==eV,y=v&&(w||eF[o].yieldsDuringStatements),q=!v&&w&&void 0!==h;(y||q)&&s.progress_handler(a,1e5,y?async()=>(await eB.tick(),w&&eB.isStopped()?1:0):()=>+(void 0!==h&&Atomics.load(h,u)===t),null);try{let e=g.get(r);if("number"==typeof e){let t=!1;try{yield*f(e)}catch(e){throw t=!0,e}finally{await p(e,t)}}else if("uncacheable"===e)for await(let e of s.statements(a,r))m++,yield*f(e);else{let e,t,i,n=!1;try{for await(let n of s.statements(a,r,{unscoped:!0,flags:1}))m++,(i??=eX(r,s.sql(n)))?e=n:t=n,yield*f(n),i||(await s.finalize(n),t=void 0)}catch(e){throw n=!0,d(e)}finally{if(void 0!==e?await p(e,n):void 0!==t&&await s.finalize(t),!1===i)for(let e of g.markUncacheable(r))await s.finalize(e)}}yield s.changes(a)}catch(e){throw d(e)}finally{(y||q)&&s.progress_handler(a,0,()=>0,null)}};self.onmessage=async i=>{let{data:n}=i;switch(n.type){case"query":{let{callId:e,sql:r,params:i,options:s}=n;try{eB.reset(e,s?.credits??2),m=0,t=Promise.withResolvers();let n=0,a=s?.savepoint;if(a){let t=async t=>{for await(let r of b(e,t,[]));};try{"undo"===a.conclude&&await t(`ROLLBACK TO ${eO}`),a.conclude&&await t(`RELEASE ${eO}`),a.open&&await t(`SAVEPOINT ${eO}`)}catch(e){try{await t("ROLLBACK")}catch{}throw e}finally{m=0}}for await(let t of b(e,r,i,s)){if("number"==typeof t){n=t;break}if(await eB.take(e)==="stopped")break;p({type:"chunk",callId:e,data:t})}eW?p({type:"error",callId:e,message:"The SQLite client has been closed.",inTransaction:await eQ()}):p({type:"done",callId:e,affected:n,prepared:m,inTransaction:await eQ()})}catch(r){let t=eR(r);p({type:"error",callId:e,..."object"==typeof r?r instanceof Error?{message:r.message,cause:ez(r.cause)}:{message:"Unknown error",cause:r}:{message:`Unknown error (${r})`},...void 0!==t?{sqliteCode:t}:{},..."number"==typeof r?.extendedCode?{sqliteExtendedCode:r.extendedCode}:{},..."string"==typeof r?.errorCode?{errorCode:r.errorCode}:{},inTransaction:await eQ()})}finally{t?.resolve(),t=void 0}break}case"proceed":r?.resolve(),r=void 0;break;case"close":if(r){eW=!0,p({type:"closed",callId:0});break}eW=!0,eB.stop(),await (t?.promise??Promise.resolve());try{let{sqlite:t,db:r}=await e;for(let e of g.drain())await t.finalize(e);await t.close(r)}catch{}p({type:"closed",callId:0});break;case"open":throw Error("DB already opened");case"delete":throw Error("delete message cannot arrive after a database is opened");case"credit":eB.grant(n.callId,n.n);break;case"stop":eB.stop();break;default:throw Error(`Unhandled worker message: ${JSON.stringify(n)}`)}}})(i,{vfs:s,build:a,pragmas:o,statementCacheSize:l,statementCacheBytes:c,abortSlots:_,abortIndex:u,declineWithout:d,probeFirst:h});break}case"delete":eZ(n).then(e=>{e?self.postMessage({type:"deleted",callId:0}):self.postMessage({type:"not-found"})}).catch(e=>{let t=eR(e);self.postMessage({type:"error",callId:0,message:e instanceof Error?e.message:`Failed to delete ${n.file}`,cause:ez(e),...void 0!==t?{sqliteCode:t}:{}})});break;case"query":case"credit":case"stop":case"proceed":break;case"close":self.postMessage({type:"closed",callId:0});break;default:throw Error(`Unhandled worker message: ${JSON.stringify(n)}`)}};export{};
11
+ //# sourceMappingURL=worker.js.map