@tearleads/client-sdk 0.1.11 → 0.1.14

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 (144) hide show
  1. package/README.md +50 -9
  2. package/client/Tearleads.d.ts +4 -0
  3. package/client/Tearleads.js +5 -0
  4. package/client/Tearleads.js.map +1 -1
  5. package/client/index.d.ts +1 -0
  6. package/client/index.js.map +1 -1
  7. package/client/principalHistoryProtection.d.ts +19 -0
  8. package/client/principalHistoryProtection.js +76 -0
  9. package/client/principalHistoryProtection.js.map +1 -0
  10. package/client/workflowRuntime.d.ts +5 -0
  11. package/client/workflowRuntime.js +34 -5
  12. package/client/workflowRuntime.js.map +1 -1
  13. package/data/containers/shared/authorAccess.d.ts +2 -2
  14. package/data/containers/shared/authorAccess.js.map +1 -1
  15. package/data/containers/shared/heldContainerHeads.js.map +1 -1
  16. package/data/containers/shared/principalPolicies.js.map +1 -1
  17. package/data/containers/shared/types.d.ts +3 -2
  18. package/data/containers/shared/types.js.map +1 -1
  19. package/data/keyingProjectionVerification/accessManifestCheckpointEnforcement.js.map +1 -1
  20. package/data/keyingProjectionVerification/checkpointContext.d.ts +4 -3
  21. package/data/keyingProjectionVerification/checkpointContext.js.map +1 -1
  22. package/data/keyingProjectionVerification/containerManifestVerification.js.map +1 -1
  23. package/data/keyingProjectionVerification/containerPathVerification.js.map +1 -1
  24. package/data/keyingProjectionVerification/containerProjectionVerification.d.ts +4 -3
  25. package/data/keyingProjectionVerification/containerProjectionVerification.js.map +1 -1
  26. package/data/keyingProjectionVerification/documentManifestPolicies.js.map +1 -1
  27. package/data/keyingProjectionVerification/documentManifestVerification.js.map +1 -1
  28. package/data/keyingProjectionVerification/documentProjectionVerification.d.ts +3 -2
  29. package/data/keyingProjectionVerification/documentProjectionVerification.js.map +1 -1
  30. package/data/keyingProjectionVerification/organizationFounderBinding.js +9 -4
  31. package/data/keyingProjectionVerification/organizationFounderBinding.js.map +1 -1
  32. package/data/keyingProjectionVerification/principalPolicyCache.js +3 -4
  33. package/data/keyingProjectionVerification/principalPolicyCache.js.map +1 -1
  34. package/data/keyingProjectionVerification/principalPolicyVerification.js +12 -2
  35. package/data/keyingProjectionVerification/principalPolicyVerification.js.map +1 -1
  36. package/data/keyingProjectionVerification/projectionAuthorizationEvidence.js.map +1 -1
  37. package/data/keyingProjectionVerification/resolvedPrincipalPolicy.js +70 -0
  38. package/data/keyingProjectionVerification/resolvedPrincipalPolicy.js.map +1 -0
  39. package/data/keyingProjectionVerification/types.d.ts +17 -2
  40. package/data/keyingProjectionVerification/types.js +12 -0
  41. package/data/keyingProjectionVerification/types.js.map +1 -1
  42. package/data/persistence/organizationFounderPersistence.js +3 -2
  43. package/data/persistence/organizationFounderPersistence.js.map +1 -1
  44. package/data/persistence/principalHistoryEvidencePersistence.js +91 -0
  45. package/data/persistence/principalHistoryEvidencePersistence.js.map +1 -0
  46. package/data/persistence/principalHistoryPrefixPersistence.js +52 -0
  47. package/data/persistence/principalHistoryPrefixPersistence.js.map +1 -0
  48. package/data/persistence/principalHistoryStagePersistence.js +9 -2
  49. package/data/persistence/principalHistoryStagePersistence.js.map +1 -1
  50. package/data/persistence/principalKeyEnvelopeCandidates.js +67 -0
  51. package/data/persistence/principalKeyEnvelopeCandidates.js.map +1 -0
  52. package/data/principals/principalHistoryPrefixProtection.js +29 -0
  53. package/data/principals/principalHistoryPrefixProtection.js.map +1 -0
  54. package/data/principals/principalHistoryProtection.d.ts +10 -0
  55. package/data/principals/principalHistoryProtection.js +14 -0
  56. package/data/principals/principalHistoryProtection.js.map +1 -0
  57. package/data/principals/principalHistoryStageProtection.js.map +1 -1
  58. package/data/principals/principalPolicyCrypto.js +11 -21
  59. package/data/principals/principalPolicyCrypto.js.map +1 -1
  60. package/data/principals/principalPolicyEvidence.d.ts +4 -0
  61. package/data/principals/principalPolicyEvidence.js +12 -0
  62. package/data/principals/principalPolicyEvidence.js.map +1 -0
  63. package/data/sqlite/principalHistoryEvidenceSchema.js +46 -0
  64. package/data/sqlite/principalHistoryEvidenceSchema.js.map +1 -0
  65. package/data/sqlite/principalKeyFingerprintJson.js +9 -0
  66. package/data/sqlite/principalKeyFingerprintJson.js.map +1 -0
  67. package/data/sqlite/principalPolicySchema.js +4 -0
  68. package/data/sqlite/principalPolicySchema.js.map +1 -1
  69. package/data/sqlite/schema.d.ts +304 -0
  70. package/data/sqlite/schema.js +5 -0
  71. package/data/sqlite/schema.js.map +1 -1
  72. package/data/sqlite/sqlTableSchema.js +1 -1
  73. package/data/sqlite/sqlTableSchema.js.map +1 -1
  74. package/index.d.ts +3 -3
  75. package/index.js +1 -1
  76. package/index.js.map +1 -1
  77. package/internal/api-client/principalPolicyPages.d.ts +2 -0
  78. package/internal/api-client/principalPolicyPages.js +11 -2
  79. package/internal/api-client/principalPolicyPages.js.map +1 -1
  80. package/internal/crypto/index.d.ts +1 -1
  81. package/internal/crypto/index.js +1 -1
  82. package/internal/crypto/index.js.map +1 -1
  83. package/internal/crypto/keying/index.d.ts +1 -1
  84. package/internal/crypto/keying/index.js +1 -1
  85. package/internal/crypto/keying/index.js.map +1 -1
  86. package/internal/crypto/keying/principalPolicyHistoryIndex.d.ts +6 -2
  87. package/internal/crypto/keying/principalPolicyHistoryIndex.js +11 -5
  88. package/internal/crypto/keying/principalPolicyHistoryIndex.js.map +1 -1
  89. package/internal/crypto/keying/principalPolicyHistoryReferences.d.ts +2 -0
  90. package/internal/crypto/keying/principalPolicyHistoryReferences.js +19 -2
  91. package/internal/crypto/keying/principalPolicyHistoryReferences.js.map +1 -1
  92. package/package.json +4 -1
  93. package/sqlite/sqlite3-licenses.md +38 -0
  94. package/sqlite/sqlite3.wasm +0 -0
  95. package/sqlite/worker.js +4 -0
  96. package/workflows/containers/child/create.js.map +1 -1
  97. package/workflows/containers/child/move.js.map +1 -1
  98. package/workflows/containers/child/moveWraps.js.map +1 -1
  99. package/workflows/containers/child/mutationRequestCore.js.map +1 -1
  100. package/workflows/containers/child/recitePlan.js.map +1 -1
  101. package/workflows/containers/child/rekey.d.ts +3 -2
  102. package/workflows/containers/child/rekey.js.map +1 -1
  103. package/workflows/containers/child/revoke.d.ts +2 -2
  104. package/workflows/containers/child/revoke.js.map +1 -1
  105. package/workflows/containers/child/rotationPrincipalPolicies.js.map +1 -1
  106. package/workflows/containers/child/rotationWraps.js.map +1 -1
  107. package/workflows/containers/child/sharePlanCore.d.ts +11 -10
  108. package/workflows/containers/child/sharePlanCore.js.map +1 -1
  109. package/workflows/documents/linkSetAuthority.js.map +1 -1
  110. package/workflows/principals/index.d.ts +1 -0
  111. package/workflows/principals/index.js +1 -0
  112. package/workflows/principals/index.js.map +1 -1
  113. package/workflows/principals/principalHistoryRecoveryPrefix.js +65 -0
  114. package/workflows/principals/principalHistoryRecoveryPrefix.js.map +1 -0
  115. package/workflows/principals/principalHistoryRecoveryReferences.js +60 -0
  116. package/workflows/principals/principalHistoryRecoveryReferences.js.map +1 -0
  117. package/workflows/principals/principalHistoryRecoveryStage.js +38 -2
  118. package/workflows/principals/principalHistoryRecoveryStage.js.map +1 -1
  119. package/workflows/principals/principalHistoryRecoveryTypes.d.ts +9 -1
  120. package/workflows/principals/principalHistoryRecoveryTypes.js +7 -0
  121. package/workflows/principals/principalHistoryRecoveryTypes.js.map +1 -1
  122. package/workflows/principals/principalHistoryRecoveryVerification.js +24 -0
  123. package/workflows/principals/principalHistoryRecoveryVerification.js.map +1 -0
  124. package/workflows/principals/principalRecoveryDirectory.d.ts +10 -0
  125. package/workflows/principals/principalRecoveryDirectory.js +107 -0
  126. package/workflows/principals/principalRecoveryDirectory.js.map +1 -0
  127. package/workflows/principals/principalRecoveryMemo.js +46 -0
  128. package/workflows/principals/principalRecoveryMemo.js.map +1 -0
  129. package/workflows/principals/principalRecoveryOutage.js +40 -0
  130. package/workflows/principals/principalRecoveryOutage.js.map +1 -0
  131. package/workflows/principals/principalRecoveryQueue.js +22 -0
  132. package/workflows/principals/principalRecoveryQueue.js.map +1 -0
  133. package/workflows/principals/recoverPrincipalPolicyHistory.d.ts +1 -0
  134. package/workflows/principals/recoverPrincipalPolicyHistory.js +108 -36
  135. package/workflows/principals/recoverPrincipalPolicyHistory.js.map +1 -1
  136. package/workflows/principals/recoverScopedPrincipalPolicyHistory.d.ts +13 -0
  137. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js +150 -0
  138. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js.map +1 -0
  139. package/workflows/principals/runtimePolicyRecovery.js +65 -0
  140. package/workflows/principals/runtimePolicyRecovery.js.map +1 -0
  141. package/workflows/principals/runtimePolicyWarmer.js +5 -1
  142. package/workflows/principals/runtimePolicyWarmer.js.map +1 -1
  143. package/workflows/sync/remoteResetPrincipalScope.js +10 -0
  144. package/workflows/sync/remoteResetPrincipalScope.js.map +1 -1
@@ -0,0 +1,4 @@
1
+ var Fc=(S,s,ee)=>()=>{if(S)try{s=S(S=0)}catch(ne){ee=[ne]}if(ee)throw ee[0];return s};async function Wt(S={}){var s=S,ee=!!globalThis.window,ne=!!globalThis.WorkerGlobalScope,ge=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer",we=!ee&&!ge&&!ne;(function(e){let t=globalThis.sqlite3InitModuleState||Object.assign(Object.create(null),{debugModule:function(){console.warn("globalThis.sqlite3InitModuleState is missing",arguments)}});delete globalThis.sqlite3InitModuleState,t.debugModule("pre-js.js sqlite3InitModuleState =",t),e.locateFile=function(o,i){if(this.emscriptenLocateFile instanceof Function)return this.emscriptenLocateFile(o,i);return new URL(o,import.meta.url).href}.bind(t),e.instantiateWasm=function(i,n){if(this.emscriptenInstantiateWasm instanceof Function)return this.emscriptenInstantiateWasm(i,n);let r=this,a=e.locateFile(r.wasmFilename,typeof Ke>"u"?"":Ke);r.debugModule("instantiateWasm() uri =",a,"sIMS =",this);let c=()=>fetch(a,{credentials:"same-origin"}),p=(y)=>{y.imports=i,r.instantiateWasm=y,n(y.instance,y.module)};return(WebAssembly.instantiateStreaming?async()=>WebAssembly.instantiateStreaming(c(),i).then(p):async()=>c().then((y)=>y.arrayBuffer()).then((y)=>WebAssembly.instantiate(y,i)).then(p))()}.bind(t)})(s);var We=[],Qe="./this.program",et=(e,t)=>{throw t},Je=import.meta.url,Ke="";function $n(e){if(s.locateFile)return s.locateFile(e,Ke);return Ke+e}var It,qt;if(ee||ne){try{Ke=new URL(".",Je).href}catch{}{if(ne)qt=(e)=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};It=async(e)=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}}var vt=console.log.bind(console),tt=console.error.bind(console),Gt,xt=!1,$t;function a_(e,t){if(!e)He(t)}var l_=(e)=>e.startsWith("file://");class Kt{}class Kn extends Kt{}var Jn=!1;function Xn(){return Ye.buffer}function Jt(){if(Be?.buffer?.resizable)return;var e=Xn();Be=new Int8Array(e),st=new Int16Array(e),Xe=new Uint8Array(e),cr=new Uint16Array(e),Ie=new Int32Array(e),ke=new Uint32Array(e),Tt=new Float32Array(e),Ot=new Float64Array(e),ze=new BigInt64Array(e),_r=new BigUint64Array(e)}function Yn(){if(s.wasmMemory)Ye=s.wasmMemory;else{var e=s.INITIAL_MEMORY||8388608;Ye=new WebAssembly.Memory({initial:e/65536,maximum:32768})}Jt()}function Zn(){var e=s.preRun;if(e){if(typeof e=="function")e=[e];Ft.push(...e)}Zt(Ft)}function er(){if(Jn=!0,!s.noFSInit&&!l.initialized)l.init();nt.init(),pt.__wasm_call_ctors(),l.ignorePermissions=!1}function tr(){var e=s.postRun;if(e){if(typeof e=="function")e=[e];Pt.push(...e)}Zt(Pt)}function He(e){s.onAbort?.(e),e=`Aborted(${e})`,tt(e),xt=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw t}var Xt;function nr(){if(s.locateFile)return $n("sqlite3.wasm");return new URL("sqlite3.wasm",import.meta.url).href}function rr(e){if(qt)return qt(e);throw"both async and sync fetching of the wasm failed"}async function ir(e){if(!Gt)try{var t=await It(e);return new Uint8Array(t)}catch{}return rr(e)}async function sr(e,t){try{var o=await ir(e),i=await WebAssembly.instantiate(o,t);return i}catch(n){tt(`failed to asynchronously prepare wasm: ${n}`),He(n)}}async function or(e,t,o){if(!e)try{var i=fetch(t,{credentials:"same-origin"}),n=await WebAssembly.instantiateStreaming(i,o);return n}catch(r){tt(`wasm streaming compile failed: ${r}`),tt("falling back to ArrayBuffer instantiation")}return sr(t,o)}function ar(){var e={env:bn,wasi_snapshot_preview1:bn};return e}async function lr(){function e(a){return pt=a.exports,xc(pt),pt}function t(a){return e(a.instance)}var o=ar(),i=s.instantiateWasm;if(i)return new Promise((a)=>{i(o,(c)=>a(e(c)))});Xt??=nr();var n=await or(Gt,Xt,o),r=t(n);return r}class Yt{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var st,Ie,ze,Be,Tt,Ot,cr,ke,_r,Xe,Zt=(e)=>{while(e.length>0)e.shift()(s)},Pt=[],c_=(e)=>Pt.push(e),Ft=[],__=(e)=>Ft.push(e);function u_(e,t="i8"){if(t.endsWith("*"))t="*";switch(t){case"i1":return Be[e];case"i8":return Be[e];case"i16":return st[e>>1];case"i32":return Ie[e>>2];case"i64":return ze[e>>3];case"float":return Tt[e>>2];case"double":return Ot[e>>3];case"*":return ke[e>>2];default:He(`invalid type for getValue: ${t}`)}}var en=!0;function f_(e,t,o="i8"){if(o.endsWith("*"))o="*";switch(o){case"i1":Be[e]=t;break;case"i8":Be[e]=t;break;case"i16":st[e>>1]=t;break;case"i32":Ie[e>>2]=t;break;case"i64":ze[e>>3]=BigInt(t);break;case"float":Tt[e>>2]=t;break;case"double":Ot[e>>3]=t;break;case"*":ke[e>>2]=t;break;default:He(`invalid type for setValue: ${o}`)}}var d_=(e)=>mn(e),p_=()=>gn(),Ye,Te={isAbs:(e)=>e.charAt(0)==="/",splitPath:(e)=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return t.exec(e).slice(1)},normalizeArray:(e,t)=>{var o=0;for(var i=e.length-1;i>=0;i--){var n=e[i];if(n===".")e.splice(i,1);else if(n==="..")e.splice(i,1),o++;else if(o)e.splice(i,1),o--}if(t)for(;o;o--)e.unshift("..");return e},normalize:(e)=>{var t=Te.isAbs(e),o=e.slice(-1)==="/";if(e=Te.normalizeArray(e.split("/").filter((i)=>!!i),!t).join("/"),!e&&!t)e=".";if(e&&o)e+="/";return(t?"/":"")+e},dirname:(e)=>{var t=Te.splitPath(e),o=t[0],i=t[1];if(!o&&!i)return".";if(i)i=i.slice(0,-1);return o+i},basename:(e)=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>Te.normalize(e.join("/")),join2:(e,t)=>Te.normalize(e+"/"+t)},ur=()=>(e)=>(crypto.getRandomValues(e),0),Ct=(e)=>(Ct=ur())(e),_t={resolve:(...e)=>{var t="",o=!1;for(var i=e.length-1;i>=-1&&!o;i--){var n=i>=0?e[i]:l.cwd();if(typeof n!="string")throw TypeError("Arguments to path.resolve must be strings");else if(!n)return"";t=n+"/"+t,o=Te.isAbs(n)}return t=Te.normalizeArray(t.split("/").filter((r)=>!!r),!o).join("/"),(o?"/":"")+t||"."},relative:(e,t)=>{e=_t.resolve(e).slice(1),t=_t.resolve(t).slice(1);function o(I){var y=0;for(;y<I.length;y++)if(I[y]!=="")break;var N=I.length-1;for(;N>=0;N--)if(I[N]!=="")break;if(y>N)return[];return I.slice(y,N-y+1)}var i=o(e.split("/")),n=o(t.split("/")),r=Math.min(i.length,n.length),a=r;for(var c=0;c<r;c++)if(i[c]!==n[c]){a=c;break}var p=[];for(var c=a;c<i.length;c++)p.push("..");return p=p.concat(n.slice(a)),p.join("/")}},tn=new TextDecoder,nn=(e,t,o,i)=>{var n=t+o;if(i)return n;while(e[t]&&!(t>=n))++t;return t},ht=(e,t=0,o,i)=>{var n=nn(e,t,o,i);return tn.decode(e.buffer?e.subarray(t,n):new Uint8Array(e.slice(t,n)))},Lt=[],St=(e)=>{var t=0;for(var o=0;o<e.length;++o){var i=e.charCodeAt(o);if(i<=127)t++;else if(i<=2047)t+=2;else if(i>=55296&&i<=57343)t+=4,++o;else t+=3}return t},rn=(e,t,o,i)=>{if(!(i>0))return 0;var n=o,r=o+i-1;for(var a=0;a<e.length;++a){var c=e.codePointAt(a);if(c<=127){if(o>=r)break;t[o++]=c}else if(c<=2047){if(o+1>=r)break;t[o++]=192|c>>6,t[o++]=128|c&63}else if(c<=65535){if(o+2>=r)break;t[o++]=224|c>>12,t[o++]=128|c>>6&63,t[o++]=128|c&63}else{if(o+3>=r)break;t[o++]=240|c>>18,t[o++]=128|c>>12&63,t[o++]=128|c>>6&63,t[o++]=128|c&63,a++}}return t[o]=0,o-n},Dt=(e,t,o)=>{var i=o>0?o:St(e)+1,n=Array(i),r=rn(e,n,0,n.length);if(t)n.length=r;return n},fr=()=>{if(!Lt.length){var e=null;if(globalThis.window?.prompt){if(e=window.prompt("Input: "),e!==null)e+=`
2
+ `}if(!e)return null;Lt=Dt(e,!0)}return Lt.shift()},nt={ttys:[],init(){},shutdown(){},register(e,t){nt.ttys[e]={input:[],output:[],ops:t},l.registerDevice(e,nt.stream_ops)},stream_ops:{open(e){var t=nt.ttys[e.node.rdev];if(!t)throw new l.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,o,i,n){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);var r=0;for(var a=0;a<i;a++){var c;try{c=e.tty.ops.get_char(e.tty)}catch(p){throw new l.ErrnoError(29)}if(c===void 0&&r===0)throw new l.ErrnoError(6);if(c===null||c===void 0)break;r++,t[o+a]=c}if(r)e.node.atime=Date.now();return r},write(e,t,o,i,n){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var r=0;r<i;r++)e.tty.ops.put_char(e.tty,t[o+r])}catch(a){throw new l.ErrnoError(29)}if(i)e.node.mtime=e.node.ctime=Date.now();return r}},default_tty_ops:{get_char(e){return fr()},put_char(e,t){if(t===null||t===10)vt(ht(e.output)),e.output=[];else if(t!=0)e.output.push(t)},fsync(e){if(e.output?.length>0)vt(ht(e.output)),e.output=[]},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,o){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){if(t===null||t===10)tt(ht(e.output)),e.output=[];else if(t!=0)e.output.push(t)},fsync(e){if(e.output?.length>0)tt(ht(e.output)),e.output=[]}}},dr=(e,t)=>Xe.fill(0,e,e+t),sn=(e,t)=>Math.ceil(e/t)*t,on=(e)=>{e=sn(e,65536);var t=hn(65536,e);if(t)dr(t,e);return t},be={ops_table:null,mount(e){return be.createNode(null,"/",16895,0)},createNode(e,t,o,i){if(l.isBlkdev(o)||l.isFIFO(o))throw new l.ErrnoError(63);be.ops_table||={dir:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,lookup:be.node_ops.lookup,mknod:be.node_ops.mknod,rename:be.node_ops.rename,unlink:be.node_ops.unlink,rmdir:be.node_ops.rmdir,readdir:be.node_ops.readdir,symlink:be.node_ops.symlink},stream:{llseek:be.stream_ops.llseek}},file:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:{llseek:be.stream_ops.llseek,read:be.stream_ops.read,write:be.stream_ops.write,mmap:be.stream_ops.mmap,msync:be.stream_ops.msync}},link:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,readlink:be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:l.chrdev_stream_ops}};var n=l.createNode(e,t,o,i);if(l.isDir(n.mode))n.node_ops=be.ops_table.dir.node,n.stream_ops=be.ops_table.dir.stream,n.contents={};else if(l.isFile(n.mode))n.node_ops=be.ops_table.file.node,n.stream_ops=be.ops_table.file.stream,n.usedBytes=0,n.contents=be.emptyFileContents??=new Uint8Array(0);else if(l.isLink(n.mode))n.node_ops=be.ops_table.link.node,n.stream_ops=be.ops_table.link.stream;else if(l.isChrdev(n.mode))n.node_ops=be.ops_table.chrdev.node,n.stream_ops=be.ops_table.chrdev.stream;if(n.atime=n.mtime=n.ctime=Date.now(),e)e.contents[t]=n,e.atime=e.mtime=e.ctime=n.atime;return n},getFileDataAsTypedArray(e){return e.contents.subarray(0,e.usedBytes)},expandFileStorage(e,t){var o=e.contents.length;if(o>=t)return;var i=1048576;if(t=Math.max(t,o*(o<i?2:1.125)>>>0),o)t=Math.max(t,256);var n=be.getFileDataAsTypedArray(e);e.contents=new Uint8Array(t),e.contents.set(n)},resizeFileStorage(e,t){if(e.usedBytes==t)return;var o=e.contents;e.contents=new Uint8Array(t),e.contents.set(o.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t},node_ops:{getattr(e){var t={};if(t.dev=l.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,l.isDir(e.mode))t.size=4096;else if(l.isFile(e.mode))t.size=e.usedBytes;else if(l.isLink(e.mode))t.size=e.link.length;else t.size=0;return t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let o of["mode","atime","mtime","ctime"])if(t[o]!=null)e[o]=t[o];if(t.size!==void 0)be.resizeFileStorage(e,t.size)},lookup(e,t){if(!be.doesNotExistError)be.doesNotExistError=new l.ErrnoError(44),be.doesNotExistError.stack="<generic error, no stack>";throw be.doesNotExistError},mknod(e,t,o,i){return be.createNode(e,t,o,i)},rename(e,t,o){var i;try{i=l.lookupNode(t,o)}catch(r){}if(i){if(l.isDir(e.mode))for(var n in i.contents)throw new l.ErrnoError(55);l.hashRemoveNode(i)}delete e.parent.contents[e.name],t.contents[o]=e,e.name=o,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var o=l.lookupNode(e,t);for(var i in o.contents)throw new l.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,t,o){var i=be.createNode(e,t,41471,0);return i.link=o,i},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,t,o,i,n){var r=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);return t.set(r.subarray(n,n+a),o),a},write(e,t,o,i,n,r){if(t.buffer===Be.buffer)r=!1;if(!i)return 0;var a=e.node;if(a.mtime=a.ctime=Date.now(),r)a.contents=t.subarray(o,o+i),a.usedBytes=i;else if(a.usedBytes===0&&n===0)a.contents=t.slice(o,o+i),a.usedBytes=i;else be.expandFileStorage(a,n+i),a.contents.set(t.subarray(o,o+i),n),a.usedBytes=Math.max(a.usedBytes,n+i);return i},llseek(e,t,o){var i=t;if(o===1)i+=e.position;else if(o===2){if(l.isFile(e.node.mode))i+=e.node.usedBytes}if(i<0)throw new l.ErrnoError(28);return i},mmap(e,t,o,i,n){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var r,a,c=e.node.contents;if(!(n&2)&&c.buffer===Be.buffer)a=!1,r=c.byteOffset;else{if(a=!0,r=on(t),!r)throw new l.ErrnoError(48);if(c){if(o>0||o+t<c.length)if(c.subarray)c=c.subarray(o,o+t);else c=Array.prototype.slice.call(c,o,o+t);Be.set(c,r)}}return{ptr:r,allocated:a}},msync(e,t,o,i,n){return be.stream_ops.write(e,t,0,i,o,!1),0}}},pr=(e)=>{if(typeof e!="string")return e;var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},o=t[e];if(typeof o>"u")throw Error(`Unknown file open mode: ${e}`);return o},an=(e)=>{if(typeof e=="string")e=Dt(e,!0);if(!e.subarray)e=new Uint8Array(e);return e},Nt=(e,t)=>{var o=0;if(e)o|=365;if(t)o|=146;return o},hr=async(e)=>{var t=await It(e);return new Uint8Array(t)},mr=(...e)=>l.createDataFile(...e),gr=(e)=>e,ln=null,br=async()=>ln,ot=0,cn=null,yr=(e)=>{if(ot--,s.monitorRunDependencies?.(ot),!ot)cn()},qr=(e)=>{if(!ot)ln=new Promise((t)=>cn=t);ot++,s.monitorRunDependencies?.(ot)},vr=[],Sr=async(e,t)=>{if(typeof Browser<"u")Browser.init();for(var o of vr)if(o.canHandle(t))return o.handle(e,t);return e},_n=async(e,t,o,i,n,r,a,c)=>{var p=t?_t.resolve(Te.join2(e,t)):e,I=gr(`cp ${p}`);qr(I);try{var y=o;if(typeof o=="string")y=await hr(o);if(y=await Sr(y,p),c?.(),!r)mr(e,t,y,i,n,a)}finally{yr(I)}},wr=(e,t,o,i,n,r,a,c,p,I)=>{_n(e,t,o,i,n,c,p,I).then(r).catch(a)},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,o,i){if(!e)e=this;this.parent=e,this.mount=e.mount,this.id=l.nextInode++,this.name=t,this.mode=o,this.rdev=i,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}addListener(e,t=!1){var o={cb:e,exclusive:t},i=this.listeners??=new Set;return i.add(o),{listeners:i,entry:o}}notifyListeners(e){if(!this.listeners)return;var t;for(var o of this.listeners)if(o.exclusive)(t||=[]).push(o);else o.cb(e);if(t){var i=(this.exclTurn||0)%t.length;this.exclTurn=i+1,t[i].cb(e)}}},lookupPath(e,t={}){if(!e)throw new l.ErrnoError(44);if(t.follow_mount??=!0,!Te.isAbs(e))e=l.cwd()+"/"+e;e:for(var o=0;o<40;o++){var i=e.split("/").filter((I)=>!!I),n=l.root,r="/";for(var a=0;a<i.length;a++){var c=a===i.length-1;if(c&&t.parent)break;if(i[a]===".")continue;if(i[a]===".."){if(r=Te.dirname(r),l.isRoot(n)){e=r+"/"+i.slice(a+1).join("/"),o--;continue e}else n=n.parent;continue}r=Te.join2(r,i[a]);try{n=l.lookupNode(n,i[a])}catch(I){if(I?.errno===44&&c&&t.noent_okay)return{path:r};throw I}if(l.isMountpoint(n)&&(!c||t.follow_mount))n=n.mounted.root;if(l.isLink(n.mode)&&(!c||t.follow)){if(!n.node_ops.readlink)throw new l.ErrnoError(52);var p=n.node_ops.readlink(n);if(!Te.isAbs(p))p=Te.dirname(r)+"/"+p;e=p+"/"+i.slice(a+1).join("/");continue e}}return{path:r,node:n}}throw new l.ErrnoError(32)},getPath(e){var t;while(!0){if(l.isRoot(e)){var o=e.mount.mountpoint;if(!t)return o;return o[o.length-1]!=="/"?`${o}/${t}`:o+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){var o=0;for(var i=0;i<t.length;i++)o=(o<<5)-o+t.charCodeAt(i)|0;return(e+o>>>0)%l.nameTable.length},hashAddNode(e){var t=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[t],l.nameTable[t]=e},hashRemoveNode(e){var t=l.hashName(e.parent.id,e.name);if(l.nameTable[t]===e)l.nameTable[t]=e.name_next;else{var o=l.nameTable[t];while(o){if(o.name_next===e){o.name_next=e.name_next;break}o=o.name_next}}},lookupNode(e,t){var o=l.mayLookup(e);if(o)throw new l.ErrnoError(o);var i=l.hashName(e.id,t);for(var n=l.nameTable[i];n;n=n.name_next){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return l.lookup(e,t)},createNode(e,t,o,i){var n=new l.FSNode(e,t,o,i);return l.hashAddNode(n),n},destroyNode(e){l.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var t=["r","w","rw"][e&3];if(e&512)t+="w";return t},nodePermissions(e,t){if(l.ignorePermissions)return 0;if(t.includes("r")&&!(e.mode&292))return 2;if(t.includes("w")&&!(e.mode&146))return 2;if(t.includes("x")&&!(e.mode&73))return 2;return 0},mayLookup(e){if(!l.isDir(e.mode))return 54;var t=l.nodePermissions(e,"x");if(t)return t;if(!e.node_ops.lookup)return 2;return 0},mayCreate(e,t){if(!l.isDir(e.mode))return 54;try{var o=l.lookupNode(e,t);return 20}catch(i){}return l.nodePermissions(e,"wx")},mayDelete(e,t,o){var i;try{i=l.lookupNode(e,t)}catch(r){return r.errno}var n=l.nodePermissions(e,"wx");if(n)return n;if(o){if(!l.isDir(i.mode))return 54;if(l.isRoot(i)||l.getPath(i)===l.cwd())return 10}else if(l.isDir(i.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(l.isLink(e.mode))return 32;var o=l.flagsToPermissionString(t);if(l.isDir(e.mode)){if(o!=="r"||t&576)return 31}return l.nodePermissions(e,o)},checkOpExists(e,t){if(!e)throw new l.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=l.MAX_OPEN_FDS;e++)if(!l.streams[e])return e;throw new l.ErrnoError(33)},getStreamChecked(e){var t=l.getStream(e);if(!t)throw new l.ErrnoError(8);return t},getStream:(e)=>l.streams[e],createStream(e,t=-1){if(e=Object.assign(new l.FSStream,e),t==-1)t=l.nextfd();return e.fd=t,l.streams[t]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,t=-1){var o=l.createStream(e,t);return o.stream_ops?.dup?.(o),o},doSetAttr(e,t,o){var i=e?.stream_ops.setattr,n=i?e:t;i??=t.node_ops.setattr,l.checkOpExists(i,63);try{i(n,o)}catch(r){if(r instanceof RangeError)throw new l.ErrnoError(22);throw r}},chrdev_stream_ops:{open(e){var t=l.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new l.ErrnoError(70)}},major:(e)=>e>>8,minor:(e)=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){l.devices[e]={stream_ops:t}},getDevice:(e)=>l.devices[e],getMounts(e){var t=[],o=[e];while(o.length){var i=o.pop();t.push(i),o.push(...i.mounts)}return t},syncfs(e,t){if(typeof e=="function")t=e,e=!1;if(l.syncFSRequests++,l.syncFSRequests>1)tt(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var o=l.getMounts(l.root.mount),i=0;function n(c){return l.syncFSRequests--,t(c)}function r(c){if(c){if(!r.errored)return r.errored=!0,n(c);return}if(++i>=o.length)n(null)}for(var a of o)if(a.type.syncfs)a.type.syncfs(a,e,r);else r(null)},mount(e,t,o){var i=o==="/",n=!o,r;if(i&&l.root)throw new l.ErrnoError(10);else if(!i&&!n){var a=l.lookupPath(o,{follow_mount:!1});if(o=a.path,r=a.node,l.isMountpoint(r))throw new l.ErrnoError(10);if(!l.isDir(r.mode))throw new l.ErrnoError(54)}var c={type:e,opts:t,mountpoint:o,mounts:[]},p=e.mount(c);if(p.mount=c,c.root=p,i)l.root=p;else if(r){if(r.mounted=c,r.mount)r.mount.mounts.push(c)}return p},unmount(e){var t=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(t.node))throw new l.ErrnoError(28);var o=t.node,i=o.mounted,n=l.getMounts(i);for(var[r,a]of Object.entries(l.nameTable))while(a){var c=a.name_next;if(n.includes(a.mount))l.destroyNode(a);a=c}o.mounted=null;var p=o.mount.mounts.indexOf(i);o.mount.mounts.splice(p,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,o){var i=l.lookupPath(e,{parent:!0}),n=i.node,r=Te.basename(e);if(!r)throw new l.ErrnoError(28);if(r==="."||r==="..")throw new l.ErrnoError(20);var a=l.mayCreate(n,r);if(a)throw new l.ErrnoError(a);if(!n.node_ops.mknod)throw new l.ErrnoError(63);return n.node_ops.mknod(n,r,t,o)},statfs(e){return l.statfsNode(l.lookupPath(e,{follow:!0}).node)},statfsStream(e){return l.statfsNode(e.node)},statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:500000,bavail:500000,files:l.nextInode,ffree:l.nextInode-1,fsid:42,flags:2,namelen:255};if(e.node_ops.statfs)Object.assign(t,e.node_ops.statfs(e.mount.opts.root));return t},create(e,t=438){return t&=4095,t|=32768,l.mknod(e,t,0)},mkdir(e,t=511){return t&=1023,t|=16384,l.mknod(e,t,0)},mkdirTree(e,t){var o=e.split("/"),i="";for(var n of o){if(!n)continue;if(i||Te.isAbs(e))i+="/";i+=n;try{l.mkdir(i,t)}catch(r){if(r.errno!=20)throw r}}},mkdev(e,t,o){if(typeof o>"u")o=t,t=438;return t|=8192,l.mknod(e,t,o)},symlink(e,t){if(!_t.resolve(e))throw new l.ErrnoError(44);var o=l.lookupPath(t,{parent:!0}),i=o.node;if(!i)throw new l.ErrnoError(44);var n=Te.basename(t),r=l.mayCreate(i,n);if(r)throw new l.ErrnoError(r);if(!i.node_ops.symlink)throw new l.ErrnoError(63);return i.node_ops.symlink(i,n,e)},link(e,t,o){var i=l.lookupPath(t,{parent:!0}),n=i.node;if(!n)throw new l.ErrnoError(44);var r=Te.basename(t),a=l.mayCreate(n,r);if(a)throw new l.ErrnoError(a);if(!n.node_ops.link)throw new l.ErrnoError(34);return n.node_ops.link(n,r,e,o)},rename(e,t){var o=Te.dirname(e),i=Te.dirname(t),n=Te.basename(e),r=Te.basename(t),a,c,p;if(a=l.lookupPath(e,{parent:!0}),c=a.node,a=l.lookupPath(t,{parent:!0}),p=a.node,!c||!p)throw new l.ErrnoError(44);if(c.mount!==p.mount)throw new l.ErrnoError(75);var I=l.lookupNode(c,n),y=_t.relative(e,i);if(y.charAt(0)!==".")throw new l.ErrnoError(28);if(y=_t.relative(t,o),y.charAt(0)!==".")throw new l.ErrnoError(55);var N;try{N=l.lookupNode(p,r)}catch(te){}if(I===N)return;var M=l.isDir(I.mode),h=l.mayDelete(c,n,M);if(h)throw new l.ErrnoError(h);if(h=N?l.mayDelete(p,r,M):l.mayCreate(p,r),h)throw new l.ErrnoError(h);if(!c.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(I)||N&&l.isMountpoint(N))throw new l.ErrnoError(10);if(p!==c){if(h=l.nodePermissions(c,"w"),h)throw new l.ErrnoError(h)}l.hashRemoveNode(I);try{c.node_ops.rename(I,p,r),I.parent=p}catch(te){throw te}finally{l.hashAddNode(I)}},rmdir(e){var t=l.lookupPath(e,{parent:!0}),o=t.node,i=Te.basename(e),n=l.lookupNode(o,i),r=l.mayDelete(o,i,!0);if(r)throw new l.ErrnoError(r);if(!o.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(n))throw new l.ErrnoError(10);o.node_ops.rmdir(o,i),l.destroyNode(n)},readdir(e){var t=l.lookupPath(e,{follow:!0}),o=t.node,i=l.checkOpExists(o.node_ops.readdir,54);return i(o)},unlink(e){var t=l.lookupPath(e,{parent:!0}),o=t.node;if(!o)throw new l.ErrnoError(44);var i=Te.basename(e),n=l.lookupNode(o,i),r=l.mayDelete(o,i,!1);if(r)throw new l.ErrnoError(r);if(!o.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(n))throw new l.ErrnoError(10);o.node_ops.unlink(o,i),l.destroyNode(n)},readlink(e){var t=l.lookupPath(e),o=t.node;if(!o)throw new l.ErrnoError(44);if(!o.node_ops.readlink)throw new l.ErrnoError(28);return o.node_ops.readlink(o)},stat(e,t){var o=l.lookupPath(e,{follow:!t}),i=o.node,n=l.checkOpExists(i.node_ops.getattr,63);return n(i)},fstat(e){var t=l.getStreamChecked(e),o=t.node,i=t.stream_ops.getattr,n=i?t:o;return i??=o.node_ops.getattr,l.checkOpExists(i,63),i(n)},lstat(e){return l.stat(e,!0)},doChmod(e,t,o,i){l.doSetAttr(e,t,{mode:o&4095|t.mode&-4096,ctime:Date.now(),dontFollow:i})},chmod(e,t,o){var i;if(typeof e=="string"){var n=l.lookupPath(e,{follow:!o});i=n.node}else i=e;l.doChmod(null,i,t,o)},lchmod(e,t){l.chmod(e,t,!0)},fchmod(e,t){var o=l.getStreamChecked(e);l.doChmod(o,o.node,t,!1)},doChown(e,t,o){l.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:o})},chown(e,t,o,i){var n;if(typeof e=="string"){var r=l.lookupPath(e,{follow:!i});n=r.node}else n=e;l.doChown(null,n,i)},lchown(e,t,o){l.chown(e,t,o,!0)},fchown(e,t,o){var i=l.getStreamChecked(e);l.doChown(i,i.node,!1)},doTruncate(e,t,o){if(l.isDir(t.mode))throw new l.ErrnoError(31);if(!l.isFile(t.mode))throw new l.ErrnoError(28);var i=l.nodePermissions(t,"w");if(i)throw new l.ErrnoError(i);l.doSetAttr(e,t,{size:o,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new l.ErrnoError(28);var o;if(typeof e=="string"){var i=l.lookupPath(e,{follow:!0});o=i.node}else o=e;l.doTruncate(null,o,t)},ftruncate(e,t){var o=l.getStreamChecked(e);if(t<0||(o.flags&2097155)===0)throw new l.ErrnoError(28);l.doTruncate(o,o.node,t)},utime(e,t,o,i){var n=l.lookupPath(e,{follow:!i});l.doSetAttr(null,n.node,{atime:t,mtime:o,dontFollow:i})},open(e,t,o=438){if(e==="")throw new l.ErrnoError(44);if(t=pr(t),t&64)o=o&4095|32768;else o=0;var i,n;if(typeof e=="object")i=e;else{n=e.endsWith("/");var r=l.lookupPath(e,{follow:!(t&131072),noent_okay:!0});i=r.node,e=r.path}var a=!1;if(t&64)if(i){if(t&128)throw new l.ErrnoError(20)}else if(n)throw new l.ErrnoError(31);else i=l.mknod(e,o|511,0),a=!0;if(!i)throw new l.ErrnoError(44);if(l.isChrdev(i.mode))t&=-513;if(t&65536&&!l.isDir(i.mode))throw new l.ErrnoError(54);if(!a){var c=l.mayOpen(i,t);if(c)throw new l.ErrnoError(c)}if(t&512&&!a)l.truncate(i,0);t&=-131713;var p=l.createStream({node:i,path:l.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});if(p.stream_ops.open)p.stream_ops.open(p);if(a)l.chmod(i,o&511);return p},close(e){if(l.isClosed(e))throw new l.ErrnoError(8);if(e.getdents)e.getdents=null;e.node?.notifyListeners(32);try{if(e.stream_ops.close)e.stream_ops.close(e)}catch(t){throw t}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(o!=0&&o!=1&&o!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,o),e.ungotten=[],e.position},read(e,t,o,i,n){if(i<0||n<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.read)throw new l.ErrnoError(28);var r=typeof n<"u";if(!r)n=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var a=e.stream_ops.read(e,t,o,i,n);if(!r)e.position+=a;return a},write(e,t,o,i,n,r){if(i<0||n<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.write)throw new l.ErrnoError(28);if(e.seekable&&e.flags&1024)l.llseek(e,0,2);var a=typeof n<"u";if(!a)n=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var c=e.stream_ops.write(e,t,o,i,n,r);if(!a)e.position+=c;return c},mmap(e,t,o,i,n){if((i&2)!==0&&(n&2)===0&&(e.flags&2097155)!==2)throw new l.ErrnoError(2);if((e.flags&2097155)===1)throw new l.ErrnoError(2);if(!e.stream_ops.mmap)throw new l.ErrnoError(43);if(!t)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,t,o,i,n)},msync(e,t,o,i,n){if(!e.stream_ops.msync)return 0;return e.stream_ops.msync(e,t,o,i,n)},ioctl(e,t,o){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,t,o)},readFile(e,t={}){if(t.flags=t.flags??0,t.encoding=t.encoding??"binary",t.encoding!=="utf8"&&t.encoding!=="binary")He(`Invalid encoding type "${t.encoding}"`);var o=l.open(e,t.flags),i=l.stat(e),n=i.size,r=new Uint8Array(n);if(l.read(o,r,0,n,0),t.encoding==="utf8")r=ht(r);return l.close(o),r},writeFile(e,t,o={}){o.flags=o.flags??577;var i=l.open(e,o.flags,o.mode);t=an(t),l.write(i,t,0,t.byteLength,void 0,o.canOwn),l.close(i)},cwd:()=>l.currentPath,chdir(e){var t=l.lookupPath(e,{follow:!0});if(t.node===null)throw new l.ErrnoError(44);if(!l.isDir(t.node.mode))throw new l.ErrnoError(54);var o=l.nodePermissions(t.node,"x");if(o)throw new l.ErrnoError(o);l.currentPath=t.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(i,n,r,a,c)=>a,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),nt.register(l.makedev(5,0),nt.default_tty_ops),nt.register(l.makedev(6,0),nt.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),t=0,o=()=>{if(t===0)Ct(e),t=e.byteLength;return e[--t]};l.createDevice("/dev","random",o),l.createDevice("/dev","urandom",o),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var e=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var t=l.createNode(e,"fd",16895,73);return t.stream_ops={llseek:be.stream_ops.llseek},t.node_ops={lookup(o,i){var n=+i,r=l.getStreamChecked(n),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path},id:n+1};return a.parent=a,a},readdir(){return Array.from(l.streams.entries()).filter(([o,i])=>i).map(([o,i])=>o.toString())}},t}},{},"/proc/self/fd")},createStandardStreams(e,t,o){if(e)l.createDevice("/dev","stdin",e);else l.symlink("/dev/tty","/dev/stdin");if(t)l.createDevice("/dev","stdout",null,t);else l.symlink("/dev/tty","/dev/stdout");if(o)l.createDevice("/dev","stderr",null,o);else l.symlink("/dev/tty1","/dev/stderr");var i=l.open("/dev/stdin",0),n=l.open("/dev/stdout",1),r=l.open("/dev/stderr",1)},staticInit(){l.nameTable=Array(4096),l.mount(be,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:be}},init(e,t,o){l.initialized=!0,e??=s.stdin,t??=s.stdout,o??=s.stderr,l.createStandardStreams(e,t,o)},quit(){l.initialized=!1;for(var e of l.streams)if(e)l.close(e)},findObject(e,t){var o=l.analyzePath(e,t);if(!o.exists)return null;return o.object},analyzePath(e,t){try{var o=l.lookupPath(e,{follow:!t});e=o.path}catch(n){}var i={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=l.lookupPath(e,{parent:!0});i.parentExists=!0,i.parentPath=o.path,i.parentObject=o.node,i.name=Te.basename(e),o=l.lookupPath(e,{follow:!t}),i.exists=!0,i.path=o.path,i.object=o.node,i.name=o.node.name,i.isRoot=o.path==="/"}catch(n){i.error=n.errno}return i},createPath(e,t,o,i){e=typeof e=="string"?e:l.getPath(e);var n=t.split("/").reverse();while(n.length){var r=n.pop();if(!r)continue;var a=Te.join2(e,r);try{l.mkdir(a)}catch(c){if(c.errno!=20)throw c}e=a}return a},createFile(e,t,o,i,n){var r=Te.join2(typeof e=="string"?e:l.getPath(e),t),a=Nt(i,n);return l.create(r,a)},createDataFile(e,t,o,i,n,r){var a=t;if(e)e=typeof e=="string"?e:l.getPath(e),a=t?Te.join2(e,t):e;var c=Nt(i,n),p=l.create(a,c);if(o){o=an(o),l.chmod(p,c|146);var I=l.open(p,577);l.write(I,o,0,o.length,0,r),l.close(I),l.chmod(p,c)}},createDevice(e,t,o,i){var n=Te.join2(typeof e=="string"?e:l.getPath(e),t),r=Nt(!!o,!!i);l.createDevice.major??=64;var a=l.makedev(l.createDevice.major++,0);return l.registerDevice(a,{open(c){c.seekable=!1},close(c){if(i?.buffer?.length)i(10)},read(c,p,I,y,N){var M=0;for(var h=0;h<y;h++){var te;try{te=o()}catch(j){throw new l.ErrnoError(29)}if(te===void 0&&M===0)throw new l.ErrnoError(6);if(te===null||te===void 0)break;M++,p[I+h]=te}if(M)c.node.atime=Date.now();return M},write(c,p,I,y,N){for(var M=0;M<y;M++)try{i(p[I+M])}catch(h){throw new l.ErrnoError(29)}if(y)c.node.mtime=c.node.ctime=Date.now();return M}}),l.mkdev(n,r,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)He("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{e.contents=qt(e.url)}catch(t){throw new l.ErrnoError(29)}},createLazyFile(e,t,o,i,n){class r{lengthKnown=!1;chunks=[];get(N){if(N>this.length-1||N<0)return;var M=N%this.chunkSize,h=N/this.chunkSize|0;return this.getter(h)[M]}setDataGetter(N){this.getter=N}cacheLength(){var N=new XMLHttpRequest;if(N.open("HEAD",o,!1),N.send(null),!(N.status>=200&&N.status<300||N.status===304))He("Couldn't load "+o+". Status: "+N.status);var M=Number(N.getResponseHeader("Content-length")),h,te=(h=N.getResponseHeader("Accept-Ranges"))&&h==="bytes",j=(h=N.getResponseHeader("Content-Encoding"))&&h==="gzip",U=1048576;if(!te)U=M;var w=(L,x)=>{if(L>x)He(`invalid range (${L}, ${x}) or no bytes requested!`);if(x>M-1)He(`only ${M} bytes available! programmer error!`);var A=new XMLHttpRequest;if(A.open("GET",o,!1),M!==U)A.setRequestHeader("Range","bytes="+L+"-"+x);if(A.responseType="arraybuffer",A.overrideMimeType)A.overrideMimeType("text/plain; charset=x-user-defined");if(A.send(null),!(A.status>=200&&A.status<300||A.status===304))He("Couldn't load "+o+". Status: "+A.status);if(A.response!==void 0)return new Uint8Array(A.response||[]);return Dt(A.responseText??"",!0)},g=this;if(g.setDataGetter((L)=>{var x=L*U,A=(L+1)*U-1;if(A=Math.min(A,M-1),typeof g.chunks[L]>"u")g.chunks[L]=w(x,A);if(typeof g.chunks[L]>"u")He("doXHR failed!");return g.chunks[L]}),j||!M)U=M=1,M=this.getter(0).length,U=M,vt("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=M,this._chunkSize=U,this.lengthKnown=!0}get length(){if(!this.lengthKnown)this.cacheLength();return this._length}get chunkSize(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ne)He("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var a=new r,c={isDevice:!1,contents:a}}else var c={isDevice:!1,url:o};var p=l.createFile(e,t,c,i,n);if(c.contents)p.contents=c.contents;else if(c.url)p.contents=null,p.url=c.url;Object.defineProperties(p,{usedBytes:{get:function(){return this.contents.length}}});var I={};for(let[N,M]of Object.entries(p.stream_ops))I[N]=(...h)=>(l.forceLoadFile(p),M(...h));function y(N,M,h,te,j){var U=N.node.contents;if(j>=U.length)return 0;var w=Math.min(U.length-j,te);if(U.slice)for(var g=0;g<w;g++)M[h+g]=U[j+g];else for(var g=0;g<w;g++)M[h+g]=U.get(j+g);return w}return I.read=(N,M,h,te,j)=>(l.forceLoadFile(p),y(N,M,h,te,j)),I.mmap=(N,M,h,te,j)=>{l.forceLoadFile(p);var U=on(M);if(!U)throw new l.ErrnoError(48);return y(N,Be,U,M,h),{ptr:U,allocated:!0}},p.stream_ops=I,p}},Er=(e,t,o)=>{if(!e)return"";var i=nn(Xe,e,t,o);return tn.decode(Xe.subarray(e,i))},ve={currentUmask:18,calculateAt(e,t,o){if(Te.isAbs(t))return t;var i;if(e===-100)i=l.cwd();else{var n=ve.getStreamFromFD(e);i=n.path}if(t.length==0){if(!o)throw new l.ErrnoError(44);return i}return i+"/"+t},writeStat(e,t){ke[e>>2]=t.dev,ke[e+4>>2]=t.mode,ke[e+8>>2]=t.nlink,ke[e+12>>2]=t.uid,ke[e+16>>2]=t.gid,ke[e+20>>2]=t.rdev,ze[e+24>>3]=BigInt(t.size),Ie[e+32>>2]=4096,Ie[e+36>>2]=t.blocks;var o=t.atime.getTime(),i=t.mtime.getTime(),n=t.ctime.getTime();return ze[e+40>>3]=BigInt(Math.floor(o/1000)),ke[e+48>>2]=o%1000*1000*1000,ze[e+56>>3]=BigInt(Math.floor(i/1000)),ke[e+64>>2]=i%1000*1000*1000,ze[e+72>>3]=BigInt(Math.floor(n/1000)),ke[e+80>>2]=n%1000*1000*1000,ze[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){ke[e+4>>2]=t.bsize,ke[e+60>>2]=t.bsize,ze[e+8>>3]=BigInt(t.blocks),ze[e+16>>3]=BigInt(t.bfree),ze[e+24>>3]=BigInt(t.bavail),ze[e+32>>3]=BigInt(t.files),ze[e+40>>3]=BigInt(t.ffree),ke[e+48>>2]=t.fsid,ke[e+64>>2]=t.flags,ke[e+56>>2]=t.namelen},doMsync(e,t,o,i,n){if(!l.isFile(t.node.mode))throw new l.ErrnoError(43);if(i&2)return 0;var r=Xe.subarray(e,e+o);l.msync(t,r,n,o,i)},getStreamFromFD(e){var t=l.getStreamChecked(e);return t},varargs:void 0,getStr(e){var t=Er(e);return t}};function Ar(e,t){try{return e=ve.getStr(e),l.chmod(e,t),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function kr(e,t,o,i){try{if(t=ve.getStr(t),t=ve.calculateAt(e,t),o&-8)return-28;var n=l.lookupPath(t,{follow:!0}),r=n.node;if(!r)return-44;var a="";if(o&4)a+="r";if(o&2)a+="w";if(o&1)a+="x";if(a&&l.nodePermissions(r,a))return-2;return 0}catch(c){if(typeof l>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}function Ir(e,t){try{return l.fchmod(e,t),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function xr(e,t,o){try{return l.fchown(e,t,o),0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}var wt=()=>{var e=Ie[+ve.varargs>>2];return ve.varargs+=4,e},ut=wt;function Tr(e,t,o){ve.varargs=o;try{var i=ve.getStreamFromFD(e);switch(t){case 0:{var n=wt();if(n<0)return-28;while(l.streams[n])n++;var r=l.dupStream(i,n);return r.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=wt(),a=289792;return i.flags=i.flags&~a|n&a,0}case 12:{var n=ut(),c=0;return st[n+c>>1]=2,0}case 13:case 14:return 0}return-28}catch(p){if(typeof l>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Or(e,t){try{return ve.writeStat(t,l.fstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var Pr=9007199254740992,Fr=-9007199254740992,ft=(e)=>e<Fr||e>Pr?NaN:Number(e);function Cr(e,t){t=ft(t);try{if(isNaN(t))return-22;return l.ftruncate(e,t),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var at=(e,t,o)=>rn(e,Xe,t,o);function Lr(e,t){try{if(t===0)return-28;var o=l.cwd(),i=St(o)+1;if(t<i)return-68;return at(o,e,t),i}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}function Dr(e,t,o){ve.varargs=o;try{var i=ve.getStreamFromFD(e);switch(t){case 21509:{if(!i.tty)return-59;return 0}case 21505:{if(!i.tty)return-59;if(i.tty.ops.ioctl_tcgets){var n=i.tty.ops.ioctl_tcgets(i),r=ut();Ie[r>>2]=n.c_iflag||0,Ie[r+4>>2]=n.c_oflag||0,Ie[r+8>>2]=n.c_cflag||0,Ie[r+12>>2]=n.c_lflag||0;for(var a=0;a<32;a++)Be[r+a+17]=n.c_cc[a]||0;return 0}return 0}case 21510:case 21511:case 21512:{if(!i.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!i.tty)return-59;if(i.tty.ops.ioctl_tcsets){var r=ut(),c=Ie[r>>2],p=Ie[r+4>>2],I=Ie[r+8>>2],y=Ie[r+12>>2],N=[];for(var a=0;a<32;a++)N.push(Be[r+a+17]);return i.tty.ops.ioctl_tcsets(i.tty,t,{c_iflag:c,c_oflag:p,c_cflag:I,c_lflag:y,c_cc:N})}return 0}case 21519:{if(!i.tty)return-59;var r=ut();return Ie[r>>2]=0,0}case 21520:{if(!i.tty)return-59;return-28}case 21537:case 21531:{var r=ut();return l.ioctl(i,t,r)}case 21523:{if(!i.tty)return-59;if(i.tty.ops.ioctl_tiocgwinsz){var M=i.tty.ops.ioctl_tiocgwinsz(i.tty),r=ut();st[r>>1]=M[0],st[r+2>>1]=M[1]}return 0}case 21524:{if(!i.tty)return-59;return 0}case 21515:{if(!i.tty)return-59;return 0}default:return-28}}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Nr(e,t){try{return e=ve.getStr(e),ve.writeStat(t,l.lstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function Rr(e,t,o){try{return t=ve.getStr(t),t=ve.calculateAt(e,t),o&=~ve.currentUmask,l.mkdir(t,o,0),0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}function Mr(e,t,o,i){try{t=ve.getStr(t);var n=i&256,r=i&4096;return i=i&-6401,t=ve.calculateAt(e,t,r),ve.writeStat(o,n?l.lstat(t):l.stat(t))}catch(a){if(typeof l>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}function jr(e,t,o,i){ve.varargs=i;try{t=ve.getStr(t),t=ve.calculateAt(e,t);var n=i?wt():0;if(o&64)n&=~ve.currentUmask;return l.open(t,o,n).fd}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}function Wr(e,t,o,i){try{if(t=ve.getStr(t),t=ve.calculateAt(e,t),i<=0)return-28;var n=l.readlink(t),r=Math.min(i,St(n)),a=Be[o+r];return at(n,o,i+1),Be[o+r]=a,r}catch(c){if(typeof l>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}function zr(e){try{return e=ve.getStr(e),l.rmdir(e),0}catch(t){if(typeof l>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}function Br(e,t){try{return e=ve.getStr(e),ve.writeStat(t,l.stat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function Ur(e,t,o){try{if(t=ve.getStr(t),t=ve.calculateAt(e,t),!o)l.unlink(t);else if(o===512)l.rmdir(t);else return-28;return 0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return-i.errno}}var un=(e)=>ke[e>>2]+Ie[e+4>>2]*4294967296;function Qr(e,t,o,i){try{var n=i&256;t=ve.getStr(t),t=ve.calculateAt(e,t,!0);var r=Date.now(),a,c;if(!o)a=r,c=r;else{var p=un(o),I=Ie[o+8>>2];if(I==1073741823)a=r;else if(I==1073741822)a=null;else a=p*1000+I/1e6;if(o+=16,p=un(o),I=Ie[o+8>>2],I==1073741823)c=r;else if(I==1073741822)c=null;else c=p*1000+I/1e6}if((c??a)!==null)l.utime(t,a,c,n);return 0}catch(y){if(typeof l>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}var Vr=()=>He(""),Hr=(e)=>e%4===0&&(e%100!==0||e%400===0),Gr=[0,31,60,91,121,152,182,213,244,274,305,335],$r=[0,31,59,90,120,151,181,212,243,273,304,334],Kr=(e)=>{var t=Hr(e.getFullYear()),o=t?Gr:$r,i=o[e.getMonth()]+e.getDate()-1;return i};function Jr(e,t){e=ft(e);var o=new Date(e*1000);if(isNaN(o.getTime()))return 1;Ie[t>>2]=o.getSeconds(),Ie[t+4>>2]=o.getMinutes(),Ie[t+8>>2]=o.getHours(),Ie[t+12>>2]=o.getDate(),Ie[t+16>>2]=o.getMonth(),Ie[t+20>>2]=o.getFullYear()-1900,Ie[t+24>>2]=o.getDay();var i=Kr(o)|0;Ie[t+28>>2]=i,Ie[t+36>>2]=-(o.getTimezoneOffset()*60);var n=new Date(o.getFullYear(),0,1),r=new Date(o.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),c=(r!=a&&o.getTimezoneOffset()==Math.min(a,r))|0;return Ie[t+32>>2]=c,0}function Xr(e,t,o,i,n,r,a){n=ft(n);try{var c=ve.getStreamFromFD(i),p=l.mmap(c,e,n,t,o),I=p.ptr;return Ie[r>>2]=p.allocated,ke[a>>2]=I,0}catch(y){if(typeof l>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}function Yr(e,t,o,i,n,r){r=ft(r);try{var a=ve.getStreamFromFD(n);if(o&2)ve.doMsync(e,a,t,i,r)}catch(c){if(typeof l>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}var Zr=(e,t,o,i)=>{var n=new Date().getFullYear(),r=new Date(n,0,1),a=new Date(n,6,1),c=r.getTimezoneOffset(),p=a.getTimezoneOffset(),I=Math.max(c,p);ke[e>>2]=I*60,Ie[t>>2]=Number(c!=p);var y=(h)=>{var te=h>=0?"-":"+",j=Math.abs(h),U=String(Math.floor(j/60)).padStart(2,"0"),w=String(j%60).padStart(2,"0");return`UTC${te}${U}${w}`},N=y(c),M=y(p);if(p<c)at(N,o,17),at(M,i,17);else at(N,i,17),at(M,o,17)},fn=()=>performance.now(),dn=()=>Date.now(),ei=1,ti=(e)=>e>=0&&e<=3;function ni(e,t,o){if(t=ft(t),!ti(e))return 28;var i;if(e===0)i=dn();else if(ei)i=fn();else return 52;var n=Math.round(i*1000*1000);return ze[o>>3]=BigInt(n),0}var pn=()=>2147483648,ri=()=>pn(),ii=(e)=>{var t=Ye.buffer.byteLength,o=(e-t+65535)/65536|0;try{return Ye.grow(o),Jt(),1}catch(i){}},si=(e)=>{var t=Xe.length;e>>>=0;var o=pn();if(e>o)return!1;for(var i=1;i<=4;i*=2){var n=t*(1+0.2/i);n=Math.min(n,e+100663296);var r=Math.min(o,sn(Math.max(e,n),65536)),a=ii(r);if(a)return!0}return!1},Rt={},oi=()=>Qe,mt=()=>{if(!mt.strings){var e=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:oi()};for(var o in Rt)if(Rt[o]===void 0)delete t[o];else t[o]=Rt[o];var i=[];for(var o in t)i.push(`${o}=${t[o]}`);mt.strings=i}return mt.strings},ai=(e,t)=>{var o=0,i=0;for(var n of mt()){var r=t+o;ke[e+i>>2]=r,o+=at(n,r,1/0)+1,i+=4}return 0},li=(e,t)=>{var o=mt();ke[e>>2]=o.length;var i=0;for(var n of o)i+=St(n)+1;return ke[t>>2]=i,0},ci=0,_i=()=>en||ci>0,ui=(e)=>{if($t=e,!_i())s.onExit?.(e),xt=!0;et(e,new Yt(e))},fi=(e,t)=>{$t=e,ui(e)},di=fi;function pi(e){try{var t=ve.getStreamFromFD(e);return l.close(t),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}function hi(e,t){try{var o=0,i=0,n=0,r=ve.getStreamFromFD(e),a=r.tty?2:l.isDir(r.mode)?3:l.isLink(r.mode)?7:4;return Be[t]=a,st[t+2>>1]=n,ze[t+8>>3]=BigInt(o),ze[t+16>>3]=BigInt(i),0}catch(c){if(typeof l>"u"||c.name!=="ErrnoError")throw c;return c.errno}}var mi=(e,t,o,i)=>{var n=0;for(var r=0;r<o;r++){var a=ke[t>>2],c=ke[t+4>>2];t+=8;try{var p=l.read(e,Be,a,c,i)}catch(I){if(n>0&&I instanceof l.ErrnoError&&(I.errno==6||I.errno==6))break;throw I}if(p<0)return-1;if(n+=p,p<c)break;if(typeof i<"u")i+=p}return n};function gi(e,t,o,i){try{var n=ve.getStreamFromFD(e),r=mi(n,t,o);return ke[i>>2]=r,0}catch(a){if(typeof l>"u"||a.name!=="ErrnoError")throw a;return a.errno}}function bi(e,t,o,i){t=ft(t);try{if(isNaN(t))return 22;var n=ve.getStreamFromFD(e);if(l.llseek(n,t,o),ze[i>>3]=BigInt(n.position),n.getdents&&t===0&&o===0)n.getdents=null;return 0}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return r.errno}}function yi(e){try{var t=ve.getStreamFromFD(e),o=t.stream_ops?.fsync?.(t);return o}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return i.errno}}var qi=(e,t,o,i)=>{if(o==1)return l.write(e,Be,ke[t>>2],ke[t+4>>2],i);var n=0;for(var r=0,a=t;r<o;r++,a+=8)n+=ke[a+4>>2];var c=new Uint8Array(n),p=0;for(var r=0;r<o;r++,t+=8){var I=ke[t>>2],y=ke[t+4>>2];c.set(Xe.subarray(I,I+y),p),p+=y}return l.write(e,c,0,n,i)};function vi(e,t,o,i){try{var n=ve.getStreamFromFD(e),r=qi(n,t,o);return ke[i>>2]=r,0}catch(a){if(typeof l>"u"||a.name!=="ErrnoError")throw a;return a.errno}}var Si=(e,t)=>Ct(Xe.subarray(e,e+t));l.createPreloadedFile=wr,l.preloadFile=_n,l.staticInit();{if(Yn(),s.noExitRuntime)en=s.noExitRuntime;if(s.print)vt=s.print;if(s.printErr)tt=s.printErr;if(s.arguments)We=s.arguments;if(s.thisProgram)Qe=s.thisProgram;var dt=s.preInit;if(dt){if(typeof dt=="function")s.preInit=dt=[dt];while(dt.length>0)dt.shift()()}}s.wasmMemory=Ye;var wi,Ei,Ai,ki,Ii,xi,Ti,Oi,Pi,Fi,Ci,Li,Di,Ni,Ri,Mi,ji,Wi,zi,Bi,Ui,Qi,Vi,Hi,Gi,$i,Ki,Ji,Xi,Yi,Zi,es,ts,ns,rs,is,ss,os,as,ls,cs,_s,us,fs,ds,ps,hs,ms,gs,bs,ys,qs,vs,Ss,ws,Es,As,ks,Is,xs,Ts,Os,Ps,Fs,Cs,Ls,Ds,Ns,Rs,Ms,js,Ws,zs,Bs,Us,Qs,Vs,Hs,Gs,$s,Ks,Js,Xs,Ys,Zs,eo,to,no,ro,io,so,oo,ao,lo,co,_o,uo,fo,po,ho,mo,go,bo,yo,qo,vo,So,wo,Eo,Ao,ko,Io,xo,To,Oo,Po,Fo,Co,Lo,Do,No,Ro,Mo,jo,Wo,zo,Bo,Uo,Qo,Vo,Ho,Go,$o,Ko,Jo,Xo,Yo,Zo,ea,ta,na,ra,ia,sa,oa,aa,la,ca,_a,ua,fa,da,pa,ha,ma,ga,ba,ya,qa,va,Sa,wa,Ea,Aa,ka,Ia,xa,Ta,Oa,Pa,Fa,Ca,La,Da,Na,Ra,Ma,ja,Wa,za,Ba,Ua,Qa,Va,Ha,Ga,$a,Ka,Ja,Xa,Ya,Za,el,tl,nl,rl,il,sl,ol,al,ll,cl,_l,ul,fl,dl,pl,hl,ml,gl,bl,yl,ql,vl,Sl,wl,El,Al,kl,Il,xl,Tl,Ol,Pl,Fl,Cl,Ll,Dl,Nl,Rl,Ml,jl,Wl,zl,Bl,Ul,Ql,Vl,Hl,Gl,$l,Kl,Jl,Xl,Yl,Zl,ec,tc,nc,rc,ic,sc,oc,ac,lc,cc,_c,uc,fc,dc,pc,hc,mc,gc,bc,yc,qc,vc,Sc,wc,Ec,Ac,hn,mn,kc,gn,Ic;function xc(e){wi=s._sqlite3_status64=e.sqlite3_status64,Ei=s._sqlite3_status=e.sqlite3_status,Ai=s._sqlite3_db_status64=e.sqlite3_db_status64,ki=s._sqlite3_msize=e.sqlite3_msize,Ii=s._sqlite3_db_status=e.sqlite3_db_status,xi=s._sqlite3_vfs_find=e.sqlite3_vfs_find,Ti=s._sqlite3_initialize=e.sqlite3_initialize,Oi=s._sqlite3_malloc=e.sqlite3_malloc,Pi=s._sqlite3_free=e.sqlite3_free,Fi=s._sqlite3_vfs_register=e.sqlite3_vfs_register,Ci=s._sqlite3_randomness=e.sqlite3_randomness,Li=s._sqlite3mc_vfs_create=e.sqlite3mc_vfs_create,Di=s._sqlite3_vfs_unregister=e.sqlite3_vfs_unregister,Ni=s._sqlite3_malloc64=e.sqlite3_malloc64,Ri=s._sqlite3_realloc=e.sqlite3_realloc,Mi=s._sqlite3_realloc64=e.sqlite3_realloc64,ji=s._sqlite3_value_text=e.sqlite3_value_text,Wi=s._sqlite3_stricmp=e.sqlite3_stricmp,zi=s._sqlite3_strnicmp=e.sqlite3_strnicmp,Bi=s._sqlite3_uri_parameter=e.sqlite3_uri_parameter,Ui=s._sqlite3_uri_boolean=e.sqlite3_uri_boolean,Qi=s._sqlite3_serialize=e.sqlite3_serialize,Vi=s._sqlite3_prepare_v2=e.sqlite3_prepare_v2,Hi=s._sqlite3_step=e.sqlite3_step,Gi=s._sqlite3_column_int64=e.sqlite3_column_int64,$i=s._sqlite3_reset=e.sqlite3_reset,Ki=s._sqlite3_exec=e.sqlite3_exec,Ji=s._sqlite3_column_int=e.sqlite3_column_int,Xi=s._sqlite3_finalize=e.sqlite3_finalize,Yi=s._sqlite3_file_control=e.sqlite3_file_control,Zi=s._sqlite3_column_name=e.sqlite3_column_name,es=s._sqlite3_column_text=e.sqlite3_column_text,ts=s._sqlite3_column_type=e.sqlite3_column_type,ns=s._sqlite3_errmsg=e.sqlite3_errmsg,rs=s._sqlite3_deserialize=e.sqlite3_deserialize,is=s._sqlite3_clear_bindings=e.sqlite3_clear_bindings,ss=s._sqlite3_value_blob=e.sqlite3_value_blob,os=s._sqlite3_value_bytes=e.sqlite3_value_bytes,as=s._sqlite3_value_double=e.sqlite3_value_double,ls=s._sqlite3_value_int=e.sqlite3_value_int,cs=s._sqlite3_value_int64=e.sqlite3_value_int64,_s=s._sqlite3_value_subtype=e.sqlite3_value_subtype,us=s._sqlite3_value_pointer=e.sqlite3_value_pointer,fs=s._sqlite3_value_type=e.sqlite3_value_type,ds=s._sqlite3_value_nochange=e.sqlite3_value_nochange,ps=s._sqlite3_value_frombind=e.sqlite3_value_frombind,hs=s._sqlite3_value_dup=e.sqlite3_value_dup,ms=s._sqlite3_value_free=e.sqlite3_value_free,gs=s._sqlite3_result_blob=e.sqlite3_result_blob,bs=s._sqlite3_result_error_toobig=e.sqlite3_result_error_toobig,ys=s._sqlite3_result_error_nomem=e.sqlite3_result_error_nomem,qs=s._sqlite3_result_double=e.sqlite3_result_double,vs=s._sqlite3_result_error=e.sqlite3_result_error,Ss=s._sqlite3_result_int=e.sqlite3_result_int,ws=s._sqlite3_result_int64=e.sqlite3_result_int64,Es=s._sqlite3_result_null=e.sqlite3_result_null,As=s._sqlite3_result_pointer=e.sqlite3_result_pointer,ks=s._sqlite3_result_subtype=e.sqlite3_result_subtype,Is=s._sqlite3_result_text=e.sqlite3_result_text,xs=s._sqlite3_result_zeroblob=e.sqlite3_result_zeroblob,Ts=s._sqlite3_result_zeroblob64=e.sqlite3_result_zeroblob64,Os=s._sqlite3_result_error_code=e.sqlite3_result_error_code,Ps=s._sqlite3_user_data=e.sqlite3_user_data,Fs=s._sqlite3_context_db_handle=e.sqlite3_context_db_handle,Cs=s._sqlite3_vtab_nochange=e.sqlite3_vtab_nochange,Ls=s._sqlite3_vtab_in_first=e.sqlite3_vtab_in_first,Ds=s._sqlite3_vtab_in_next=e.sqlite3_vtab_in_next,Ns=s._sqlite3_aggregate_context=e.sqlite3_aggregate_context,Rs=s._sqlite3_get_auxdata=e.sqlite3_get_auxdata,Ms=s._sqlite3_set_auxdata=e.sqlite3_set_auxdata,js=s._sqlite3_column_count=e.sqlite3_column_count,Ws=s._sqlite3_data_count=e.sqlite3_data_count,zs=s._sqlite3_column_blob=e.sqlite3_column_blob,Bs=s._sqlite3_column_bytes=e.sqlite3_column_bytes,Us=s._sqlite3_column_double=e.sqlite3_column_double,Qs=s._sqlite3_column_value=e.sqlite3_column_value,Vs=s._sqlite3_column_decltype=e.sqlite3_column_decltype,Hs=s._sqlite3_column_database_name=e.sqlite3_column_database_name,Gs=s._sqlite3_column_table_name=e.sqlite3_column_table_name,$s=s._sqlite3_column_origin_name=e.sqlite3_column_origin_name,Ks=s._sqlite3_bind_blob=e.sqlite3_bind_blob,Js=s._sqlite3_bind_double=e.sqlite3_bind_double,Xs=s._sqlite3_bind_int=e.sqlite3_bind_int,Ys=s._sqlite3_bind_int64=e.sqlite3_bind_int64,Zs=s._sqlite3_bind_null=e.sqlite3_bind_null,eo=s._sqlite3_bind_pointer=e.sqlite3_bind_pointer,to=s._sqlite3_bind_text=e.sqlite3_bind_text,no=s._sqlite3_bind_zeroblob=e.sqlite3_bind_zeroblob,ro=s._sqlite3_bind_parameter_count=e.sqlite3_bind_parameter_count,io=s._sqlite3_bind_parameter_name=e.sqlite3_bind_parameter_name,so=s._sqlite3_bind_parameter_index=e.sqlite3_bind_parameter_index,oo=s._sqlite3_db_handle=e.sqlite3_db_handle,ao=s._sqlite3_stmt_readonly=e.sqlite3_stmt_readonly,lo=s._sqlite3_stmt_isexplain=e.sqlite3_stmt_isexplain,co=s._sqlite3_stmt_explain=e.sqlite3_stmt_explain,_o=s._sqlite3_stmt_busy=e.sqlite3_stmt_busy,uo=s._sqlite3_next_stmt=e.sqlite3_next_stmt,fo=s._sqlite3_stmt_status=e.sqlite3_stmt_status,po=s._sqlite3_sql=e.sqlite3_sql,ho=s._sqlite3_expanded_sql=e.sqlite3_expanded_sql,mo=s._sqlite3_preupdate_old=e.sqlite3_preupdate_old,go=s._sqlite3_preupdate_count=e.sqlite3_preupdate_count,bo=s._sqlite3_preupdate_depth=e.sqlite3_preupdate_depth,yo=s._sqlite3_preupdate_blobwrite=e.sqlite3_preupdate_blobwrite,qo=s._sqlite3_preupdate_new=e.sqlite3_preupdate_new,vo=s._sqlite3_value_numeric_type=e.sqlite3_value_numeric_type,So=s._sqlite3_set_authorizer=e.sqlite3_set_authorizer,wo=s._sqlite3_strglob=e.sqlite3_strglob,Eo=s._sqlite3_strlike=e.sqlite3_strlike,Ao=s._sqlite3_auto_extension=e.sqlite3_auto_extension,ko=s._sqlite3_cancel_auto_extension=e.sqlite3_cancel_auto_extension,Io=s._sqlite3_reset_auto_extension=e.sqlite3_reset_auto_extension,xo=s._sqlite3_prepare_v3=e.sqlite3_prepare_v3,To=s._sqlite3_create_module=e.sqlite3_create_module,Oo=s._sqlite3_create_module_v2=e.sqlite3_create_module_v2,Po=s._sqlite3_drop_modules=e.sqlite3_drop_modules,Fo=s._sqlite3_declare_vtab=e.sqlite3_declare_vtab,Co=s._sqlite3_vtab_on_conflict=e.sqlite3_vtab_on_conflict,Lo=s._sqlite3_vtab_collation=e.sqlite3_vtab_collation,Do=s._sqlite3_vtab_in=e.sqlite3_vtab_in,No=s._sqlite3_vtab_rhs_value=e.sqlite3_vtab_rhs_value,Ro=s._sqlite3_vtab_distinct=e.sqlite3_vtab_distinct,Mo=s._sqlite3_keyword_name=e.sqlite3_keyword_name,jo=s._sqlite3_keyword_count=e.sqlite3_keyword_count,Wo=s._sqlite3_keyword_check=e.sqlite3_keyword_check,zo=s._sqlite3_complete=e.sqlite3_complete,Bo=s._sqlite3_libversion=e.sqlite3_libversion,Uo=s._sqlite3_libversion_number=e.sqlite3_libversion_number,Qo=s._sqlite3_shutdown=e.sqlite3_shutdown,Vo=s._sqlite3mc_vfs_shutdown=e.sqlite3mc_vfs_shutdown,Ho=s._sqlite3_last_insert_rowid=e.sqlite3_last_insert_rowid,Go=s._sqlite3_set_last_insert_rowid=e.sqlite3_set_last_insert_rowid,$o=s._sqlite3_changes64=e.sqlite3_changes64,Ko=s._sqlite3_changes=e.sqlite3_changes,Jo=s._sqlite3_total_changes64=e.sqlite3_total_changes64,Xo=s._sqlite3_total_changes=e.sqlite3_total_changes,Yo=s._sqlite3_txn_state=e.sqlite3_txn_state,Zo=s._sqlite3_close_v2=e.sqlite3_close_v2,ea=s._sqlite3_busy_handler=e.sqlite3_busy_handler,ta=s._sqlite3_progress_handler=e.sqlite3_progress_handler,na=s._sqlite3_busy_timeout=e.sqlite3_busy_timeout,ra=s._sqlite3_interrupt=e.sqlite3_interrupt,ia=s._sqlite3_is_interrupted=e.sqlite3_is_interrupted,sa=s._sqlite3_create_function=e.sqlite3_create_function,oa=s._sqlite3_create_function_v2=e.sqlite3_create_function_v2,aa=s._sqlite3_create_window_function=e.sqlite3_create_window_function,la=s._sqlite3_overload_function=e.sqlite3_overload_function,ca=s._sqlite3_trace_v2=e.sqlite3_trace_v2,_a=s._sqlite3_commit_hook=e.sqlite3_commit_hook,ua=s._sqlite3_update_hook=e.sqlite3_update_hook,fa=s._sqlite3_rollback_hook=e.sqlite3_rollback_hook,da=s._sqlite3_preupdate_hook=e.sqlite3_preupdate_hook,pa=s._sqlite3_set_errmsg=e.sqlite3_set_errmsg,ha=s._sqlite3_error_offset=e.sqlite3_error_offset,ma=s._sqlite3_errcode=e.sqlite3_errcode,ga=s._sqlite3_extended_errcode=e.sqlite3_extended_errcode,ba=s._sqlite3_errstr=e.sqlite3_errstr,ya=s._sqlite3_limit=e.sqlite3_limit,qa=s._sqlite3_open=e.sqlite3_open,va=s._sqlite3_open_v2=e.sqlite3_open_v2,Sa=s._sqlite3_create_collation=e.sqlite3_create_collation,wa=s._sqlite3_create_collation_v2=e.sqlite3_create_collation_v2,Ea=s._sqlite3_collation_needed=e.sqlite3_collation_needed,Aa=s._sqlite3_get_autocommit=e.sqlite3_get_autocommit,ka=s._sqlite3_table_column_metadata=e.sqlite3_table_column_metadata,Ia=s._sqlite3_extended_result_codes=e.sqlite3_extended_result_codes,xa=s._sqlite3_uri_key=e.sqlite3_uri_key,Ta=s._sqlite3_uri_int64=e.sqlite3_uri_int64,Oa=s._sqlite3_db_name=e.sqlite3_db_name,Pa=s._sqlite3_db_filename=e.sqlite3_db_filename,Fa=s._sqlite3_db_readonly=e.sqlite3_db_readonly,Ca=s._sqlite3_compileoption_used=e.sqlite3_compileoption_used,La=s._sqlite3_compileoption_get=e.sqlite3_compileoption_get,Da=s._sqlite3session_diff=e.sqlite3session_diff,Na=s._sqlite3session_attach=e.sqlite3session_attach,Ra=s._sqlite3session_create=e.sqlite3session_create,Ma=s._sqlite3session_delete=e.sqlite3session_delete,ja=s._sqlite3session_table_filter=e.sqlite3session_table_filter,Wa=s._sqlite3session_changeset=e.sqlite3session_changeset,za=s._sqlite3session_changeset_strm=e.sqlite3session_changeset_strm,Ba=s._sqlite3session_patchset_strm=e.sqlite3session_patchset_strm,Ua=s._sqlite3session_patchset=e.sqlite3session_patchset,Qa=s._sqlite3session_enable=e.sqlite3session_enable,Va=s._sqlite3session_indirect=e.sqlite3session_indirect,Ha=s._sqlite3session_isempty=e.sqlite3session_isempty,Ga=s._sqlite3session_memory_used=e.sqlite3session_memory_used,$a=s._sqlite3session_object_config=e.sqlite3session_object_config,Ka=s._sqlite3session_changeset_size=e.sqlite3session_changeset_size,Ja=s._sqlite3changeset_start=e.sqlite3changeset_start,Xa=s._sqlite3changeset_start_v2=e.sqlite3changeset_start_v2,Ya=s._sqlite3changeset_start_strm=e.sqlite3changeset_start_strm,Za=s._sqlite3changeset_start_v2_strm=e.sqlite3changeset_start_v2_strm,el=s._sqlite3changeset_next=e.sqlite3changeset_next,tl=s._sqlite3changeset_op=e.sqlite3changeset_op,nl=s._sqlite3changeset_pk=e.sqlite3changeset_pk,rl=s._sqlite3changeset_old=e.sqlite3changeset_old,il=s._sqlite3changeset_new=e.sqlite3changeset_new,sl=s._sqlite3changeset_conflict=e.sqlite3changeset_conflict,ol=s._sqlite3changeset_fk_conflicts=e.sqlite3changeset_fk_conflicts,al=s._sqlite3changeset_finalize=e.sqlite3changeset_finalize,ll=s._sqlite3changeset_invert=e.sqlite3changeset_invert,cl=s._sqlite3changeset_invert_strm=e.sqlite3changeset_invert_strm,_l=s._sqlite3changeset_apply_v2=e.sqlite3changeset_apply_v2,ul=s._sqlite3changeset_apply_v3=e.sqlite3changeset_apply_v3,fl=s._sqlite3changeset_apply=e.sqlite3changeset_apply,dl=s._sqlite3changeset_apply_v3_strm=e.sqlite3changeset_apply_v3_strm,pl=s._sqlite3changeset_apply_v2_strm=e.sqlite3changeset_apply_v2_strm,hl=s._sqlite3changeset_apply_strm=e.sqlite3changeset_apply_strm,ml=s._sqlite3changegroup_new=e.sqlite3changegroup_new,gl=s._sqlite3changegroup_add=e.sqlite3changegroup_add,bl=s._sqlite3changegroup_output=e.sqlite3changegroup_output,yl=s._sqlite3changegroup_add_strm=e.sqlite3changegroup_add_strm,ql=s._sqlite3changegroup_output_strm=e.sqlite3changegroup_output_strm,vl=s._sqlite3changegroup_delete=e.sqlite3changegroup_delete,Sl=s._sqlite3changeset_concat=e.sqlite3changeset_concat,wl=s._sqlite3changeset_concat_strm=e.sqlite3changeset_concat_strm,El=s._sqlite3session_config=e.sqlite3session_config,Al=s._sqlite3_sourceid=e.sqlite3_sourceid,kl=s._sqlite3mc_version=e.sqlite3mc_version,Il=s._sqlite3mc_config=e.sqlite3mc_config,xl=s._sqlite3mc_cipher_count=e.sqlite3mc_cipher_count,Tl=s._sqlite3mc_cipher_index=e.sqlite3mc_cipher_index,Ol=s._sqlite3mc_cipher_name=e.sqlite3mc_cipher_name,Pl=s._sqlite3mc_cipher_name_copy=e.sqlite3mc_cipher_name_copy,Fl=s._sqlite3mc_config_cipher=e.sqlite3mc_config_cipher,Cl=s._sqlite3mc_codec_data=e.sqlite3mc_codec_data,Ll=s._sqlite3_activate_see=e.sqlite3_activate_see,Dl=s._sqlite3_key=e.sqlite3_key,Nl=s._sqlite3_key_v2=e.sqlite3_key_v2,Rl=s._sqlite3_rekey_v2=e.sqlite3_rekey_v2,Ml=s._sqlite3_rekey=e.sqlite3_rekey,jl=s._sqlite3mc_vfs_destroy=e.sqlite3mc_vfs_destroy,Wl=s._sqlite3__wasm_pstack_ptr=e.sqlite3__wasm_pstack_ptr,zl=s._sqlite3__wasm_pstack_restore=e.sqlite3__wasm_pstack_restore,Bl=s._sqlite3__wasm_pstack_alloc=e.sqlite3__wasm_pstack_alloc,Ul=s._sqlite3__wasm_pstack_remaining=e.sqlite3__wasm_pstack_remaining,Ql=s._sqlite3__wasm_pstack_quota=e.sqlite3__wasm_pstack_quota,Vl=s._sqlite3__wasm_test_struct=e.sqlite3__wasm_test_struct,Hl=s._sqlite3__wasm_enum_json=e.sqlite3__wasm_enum_json,Gl=s._sqlite3__wasm_vfs_unlink=e.sqlite3__wasm_vfs_unlink,$l=s._sqlite3__wasm_db_vfs=e.sqlite3__wasm_db_vfs,Kl=s._sqlite3__wasm_db_reset=e.sqlite3__wasm_db_reset,Jl=s._sqlite3__wasm_db_export_chunked=e.sqlite3__wasm_db_export_chunked,Xl=s._sqlite3__wasm_db_serialize=e.sqlite3__wasm_db_serialize,Yl=s._sqlite3__wasm_vfs_create_file=e.sqlite3__wasm_vfs_create_file,Zl=s._sqlite3__wasm_posix_create_file=e.sqlite3__wasm_posix_create_file,ec=s._sqlite3__wasm_kvvfsMakeKey=e.sqlite3__wasm_kvvfsMakeKey,tc=s._sqlite3__wasm_kvvfs_methods=e.sqlite3__wasm_kvvfs_methods,nc=s._sqlite3__wasm_vtab_config=e.sqlite3__wasm_vtab_config,rc=s._sqlite3__wasm_db_config_ip=e.sqlite3__wasm_db_config_ip,ic=s._sqlite3__wasm_db_config_pii=e.sqlite3__wasm_db_config_pii,sc=s._sqlite3__wasm_db_config_s=e.sqlite3__wasm_db_config_s,oc=s._sqlite3__wasm_config_i=e.sqlite3__wasm_config_i,ac=s._sqlite3__wasm_config_ii=e.sqlite3__wasm_config_ii,lc=s._sqlite3__wasm_config_j=e.sqlite3__wasm_config_j,cc=s._sqlite3__wasm_qfmt_token=e.sqlite3__wasm_qfmt_token,_c=s._sqlite3__wasm_kvvfs_decode=e.sqlite3__wasm_kvvfs_decode,uc=s._sqlite3__wasm_kvvfs_encode=e.sqlite3__wasm_kvvfs_encode,fc=s._sqlite3__wasm_init_wasmfs=e.sqlite3__wasm_init_wasmfs,dc=s._sqlite3__wasm_test_intptr=e.sqlite3__wasm_test_intptr,pc=s._sqlite3__wasm_test_voidptr=e.sqlite3__wasm_test_voidptr,hc=s._sqlite3__wasm_test_int64_max=e.sqlite3__wasm_test_int64_max,mc=s._sqlite3__wasm_test_int64_min=e.sqlite3__wasm_test_int64_min,gc=s._sqlite3__wasm_test_int64_times2=e.sqlite3__wasm_test_int64_times2,bc=s._sqlite3__wasm_test_int64_minmax=e.sqlite3__wasm_test_int64_minmax,yc=s._sqlite3__wasm_test_int64ptr=e.sqlite3__wasm_test_int64ptr,qc=s._sqlite3__wasm_test_stack_overflow=e.sqlite3__wasm_test_stack_overflow,vc=s._sqlite3__wasm_test_str_hello=e.sqlite3__wasm_test_str_hello,Sc=s._sqlite3__wasm_SQLTester_strglob=e.sqlite3__wasm_SQLTester_strglob,wc=s._malloc=e.malloc,Ec=s._free=e.free,Ac=s._realloc=e.realloc,hn=e.emscripten_builtin_memalign,mn=e._emscripten_stack_restore,kc=e._emscripten_stack_alloc,gn=e.emscripten_stack_get_current,Ic=e.__indirect_function_table}var bn={__syscall_chmod:Ar,__syscall_faccessat:kr,__syscall_fchmod:Ir,__syscall_fchown32:xr,__syscall_fcntl64:Tr,__syscall_fstat64:Or,__syscall_ftruncate64:Cr,__syscall_getcwd:Lr,__syscall_ioctl:Dr,__syscall_lstat64:Nr,__syscall_mkdirat:Rr,__syscall_newfstatat:Mr,__syscall_openat:jr,__syscall_readlinkat:Wr,__syscall_rmdir:zr,__syscall_stat64:Br,__syscall_unlinkat:Ur,__syscall_utimensat:Qr,_abort_js:Vr,_localtime_js:Jr,_mmap_js:Xr,_munmap_js:Yr,_tzset_js:Zr,clock_time_get:ni,emscripten_date_now:dn,emscripten_get_heap_max:ri,emscripten_get_now:fn,emscripten_resize_heap:si,environ_get:ai,environ_sizes_get:li,exit:di,fd_close:pi,fd_fdstat_get:hi,fd_read:gi,fd_seek:bi,fd_sync:yi,fd_write:vi,memory:Ye,random_get:Si};async function Tc(){if(Zn(),ot)await br();var e=s.setStatus;if(e)e("Running..."),await new Promise((t)=>setTimeout(t,1)),setTimeout(e,1,"");if(xt)return;er(),s.onRuntimeInitialized?.(),tr()}var pt=await lr();return await Tc(),s.runSQLite3PostLoadInit=async function(e,t,o){delete t.runSQLite3PostLoadInit,globalThis.sqlite3ApiBootstrap=async function i(n=globalThis.sqlite3ApiConfig||i.defaultConfig){if(i.sqlite3)return(i.sqlite3.config||console).warn("sqlite3ApiBootstrap() called multiple times.","Config and external initializers are ignored on calls after the first."),i.sqlite3;let r=(...f)=>Object.assign(Object.create(null),...f),a=r({exports:void 0,memory:void 0,bigIntEnabled:!!globalThis.BigInt64Array,debug:console.debug.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),log:console.log.bind(console),wasmfsOpfsDir:"/opfs",useStdAlloc:!1},n);Object.assign(a,{allocExportName:a.useStdAlloc?"malloc":"sqlite3_malloc",deallocExportName:a.useStdAlloc?"free":"sqlite3_free",reallocExportName:a.useStdAlloc?"realloc":"sqlite3_realloc"}),["exports","memory","functionTable","wasmfsOpfsDir"].forEach((f)=>{if(typeof a[f]==="function")a[f]=a[f]()});let c=r(),p=r(),I=(f)=>c.sqlite3_js_rc_str&&c.sqlite3_js_rc_str(f)||"Unknown result code #"+f,y=(f)=>typeof f==="number"&&f===(f|0)&&f<=2147483647&&f>=-2147483648;class N extends Error{constructor(...f){let q;if(f.length)if(y(f[0]))if(q=f[0],f.length===1)super(I(f[0]));else{let R=I(q);if(typeof f[1]==="object")super(R,f[1]);else{f[0]=R+":";super(f.join(" "))}}else if(f.length===2&&typeof f[1]==="object")super(...f);else super(f.join(" "));this.resultCode=q||c.SQLITE_ERROR,this.name="SQLite3Error"}}N.toss=(...f)=>{throw new N(...f)};let M=N.toss;if(a.wasmfsOpfsDir&&!/^\/[^/]+$/.test(a.wasmfsOpfsDir))M("config.wasmfsOpfsDir must be falsy or in the form '/dir-name'.");let h=function f(q){if(!f._max)f._max=BigInt("0x7fffffffffffffff"),f._min=~f._max;return q>=f._min&&q<=f._max},te=(f)=>f>=-0x7fffffffn-1n&&f<=0x7fffffffn,j=function f(q){if(!f._min)f._min=Number.MIN_SAFE_INTEGER,f._max=Number.MAX_SAFE_INTEGER;return q>=f._min&&q<=f._max},U=(f)=>f&&f.constructor&&y(f.constructor.BYTES_PER_ELEMENT)?f:!1,w=(f)=>f&&(f instanceof Uint8Array||f instanceof Int8Array||f instanceof ArrayBuffer),g=(f)=>f&&(f instanceof Uint8Array||f instanceof Int8Array||f instanceof ArrayBuffer),L=(f)=>w(f)||M("Value is not of a supported TypedArray type."),x=function(f){if(g(f))return p.typedArrayToString(f instanceof ArrayBuffer?new Uint8Array(f):f,0,f.length);else if(Array.isArray(f))return f.join("");else if(p.isPtr(f))f=p.cstrToJs(f);return f};class A extends Error{constructor(...f){if(f.length===2&&typeof f[1]==="object")super(...f);else if(f.length)super(f.join(" "));else super("Allocation failed.");this.resultCode=c.SQLITE_NOMEM,this.name="WasmAllocError"}}A.toss=(...f)=>{throw new A(...f)},Object.assign(c,{sqlite3_bind_blob:void 0,sqlite3_bind_text:void 0,sqlite3_create_function_v2:(f,q,R,G,ie,le,me,ye,H)=>{},sqlite3_create_function:(f,q,R,G,ie,le,me,ye)=>{},sqlite3_create_window_function:(f,q,R,G,ie,le,me,ye,H,ae)=>{},sqlite3_prepare_v3:(f,q,R,G,ie,le)=>{},sqlite3_prepare_v2:(f,q,R,G,ie)=>{},sqlite3_exec:(f,q,R,G,ie)=>{},sqlite3_randomness:(f,q)=>{}});let D={affirmBindableTypedArray:L,flexibleString:x,bigIntFits32:te,bigIntFits64:h,bigIntFitsDouble:j,isBindableTypedArray:w,isInt32:y,isSQLableTypedArray:g,isTypedArray:U,isUIThread:()=>globalThis.window===globalThis&&!!globalThis.document,toss:function(...f){throw Error(f.join(" "))},toss3:M,typedArrayPart:p.typedArrayPart,nu:r,assert:function(f,q){if(!f)D.toss("Assertion failed:",q)},affirmDbHeader:function(f){if(f instanceof ArrayBuffer)f=new Uint8Array(f);let q="SQLite format 3";if(q.length>f.byteLength)M("Input does not contain an SQLite3 database header.");for(let R=0;R<q.length;++R)if(q.charCodeAt(R)!==f[R])M("Input does not contain an SQLite3 database header.")},affirmIsDb:function(f){if(f instanceof ArrayBuffer)f=new Uint8Array(f);let q=f.byteLength;if(q<512||q%512!==0)M("Byte array size",q,"is invalid for an SQLite3 db.");D.affirmDbHeader(f)}};Object.assign(p,{exports:a.exports||M("Missing API config.exports (WASM module exports)."),memory:a.memory||a.exports.memory||M("API config object requires a WebAssembly.Memory object","in either config.exports.memory (exported)","or config.memory (imported)."),pointerSize:typeof a.exports.sqlite3_libversion()==="number"?4:8,bigIntEnabled:!!a.bigIntEnabled,functionTable:a.functionTable,alloc:void 0,realloc:void 0,dealloc:void 0}),p.allocFromTypedArray=function(f){if(f instanceof ArrayBuffer)f=new Uint8Array(f);L(f);let q=p.alloc(f.byteLength||1);return p.heapForSize(f.constructor).set(f.byteLength?f:[0],Number(q)),q};{let{allocExportName:f,deallocExportName:q,reallocExportName:R}=a;for(let G of[f,q,R])if(!(p.exports[G]instanceof Function))M("Missing required exports[",G,"] function.");p.alloc=function G(ie){return G.impl(ie)||A.toss("Failed to allocate",ie," bytes.")},p.alloc.impl=p.exports[f],p.realloc=function G(ie,le){let me=G.impl(p.ptr.coerce(ie),le);return le?me||A.toss("Failed to reallocate",le," bytes."):p.ptr.null},p.realloc.impl=p.exports[R],p.dealloc=function G(ie){G.impl(p.ptr.coerce(ie))},p.dealloc.impl=p.exports[q]}p.compileOptionUsed=function f(q){if(!arguments.length){if(f._result)return f._result;else if(!f._opt)f._rx=/^([^=]+)=(.+)/,f._rxInt=/^-?\d+$/,f._opt=function(me,ye){let H=f._rx.exec(me);ye[0]=H?H[1]:me,ye[1]=H?f._rxInt.test(H[2])?+H[2]:H[2]:!0};let R=r(),G=[0,0],ie=0,le;while(le=c.sqlite3_compileoption_get(ie++))f._opt(le,G),R[G[0]]=G[1];return f._result=R}else if(Array.isArray(q)){let R=r();return q.forEach((G)=>{R[G]=c.sqlite3_compileoption_used(G)}),R}else if(typeof q==="object")return Object.keys(q).forEach((R)=>{q[R]=c.sqlite3_compileoption_used(R)}),q;return typeof q==="string"?!!c.sqlite3_compileoption_used(q):!1},p.pstack=r({restore:p.exports.sqlite3__wasm_pstack_restore,alloc:function(f){if(typeof f==="string"&&!(f=p.sizeofIR(f)))A.toss("Invalid value for pstack.alloc(",arguments[0],")");return p.exports.sqlite3__wasm_pstack_alloc(f)||A.toss("Could not allocate",f,"bytes from the pstack.")},allocChunks:function(f,q){if(typeof q==="string"&&!(q=p.sizeofIR(q)))A.toss("Invalid size value for allocChunks(",arguments[1],")");let R=p.pstack.alloc(f*q),G=[R],ie=1,le=q;for(;ie<f;++ie,le+=q)G.push(p.ptr.add(R,le));return G},allocPtr:(f=1,q=!0)=>f===1?p.pstack.alloc(q?8:p.ptr.size):p.pstack.allocChunks(f,q?8:p.ptr.size),call:function(f){let q=p.pstack.pointer;try{return f(z)}finally{p.pstack.restore(q)}}}),Object.defineProperties(p.pstack,{pointer:{configurable:!1,iterable:!0,writeable:!1,get:p.exports.sqlite3__wasm_pstack_ptr},quota:{configurable:!1,iterable:!0,writeable:!1,get:p.exports.sqlite3__wasm_pstack_quota},remaining:{configurable:!1,iterable:!0,writeable:!1,get:p.exports.sqlite3__wasm_pstack_remaining}}),c.sqlite3_randomness=(...f)=>{if(f.length===1&&D.isTypedArray(f[0])&&f[0].BYTES_PER_ELEMENT===1){let q=f[0];if(q.byteLength===0)return p.exports.sqlite3_randomness(0,p.ptr.null),q;let R=p.pstack.pointer;try{let G=q.byteLength,ie=0,le=p.exports.sqlite3_randomness,me=p.heap8u(),ye=G<512?G:512,H=p.pstack.alloc(ye);do{let ae=G>ye?ye:G;le(ae,H),q.set(p.typedArrayPart(me,H,p.ptr.add(H,ae)),ie),G-=ae,ie+=ae}while(G>0)}catch(G){a.error("Highly unexpected (and ignored!) exception in sqlite3_randomness():",G)}finally{p.pstack.restore(R)}return q}p.exports.sqlite3_randomness(...f)},c.sqlite3_wasmfs_opfs_dir=function(){if(this.dir!==void 0)return this.dir;let f=a.wasmfsOpfsDir;if(!f||!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!p.exports.sqlite3__wasm_init_wasmfs)return this.dir="";try{if(f&&p.xCallWrapped("sqlite3__wasm_init_wasmfs","i32",["string"],f)===0)return this.dir=f;else return this.dir=""}catch(q){return this.dir=""}}.bind(r()),c.sqlite3_wasmfs_filename_is_persistent=function(f){let q=c.sqlite3_wasmfs_opfs_dir();return q&&f?f.startsWith(q+"/"):!1},c.sqlite3_js_db_uses_vfs=function(f,q,R=0){try{let G=c.sqlite3_vfs_find(q);if(!G)return!1;else if(!f)return G===c.sqlite3_vfs_find(0)?G:!1;else return G===c.sqlite3_js_db_vfs(f,R)?G:!1}catch(G){return!1}},c.sqlite3_js_vfs_list=function(){let f=[],q=c.sqlite3_vfs_find(p.ptr.null);while(q){let R=new c.sqlite3_vfs(q);f.push(p.cstrToJs(R.$zName)),q=R.$pNext,R.dispose()}return f},c.sqlite3_js_db_export=function(f,q=0){if(f=p.xWrap.testConvertArg("sqlite3*",f),!f)M("Invalid sqlite3* argument.");if(!p.bigIntEnabled)M("BigInt support is not enabled.");let R=p.scopedAllocPush(),G;try{let ie=p.scopedAlloc(8+p.ptr.size),le=p.ptr.add(ie,8),me=q?p.isPtr(q)?q:p.scopedAllocCString(""+q):p.ptr.null,ye=p.exports.sqlite3__wasm_db_serialize(f,me,le,ie,0);if(ye)M("Database serialization failed with code",z.capi.sqlite3_js_rc_str(ye));G=p.peekPtr(le);let H=p.peek(ie,"i64");return ye=H?p.heap8u().slice(Number(G),Number(G)+Number(H)):new Uint8Array,ye}finally{if(G)p.exports.sqlite3_free(G);p.scopedAllocPop(R)}},c.sqlite3_js_db_vfs=(f,q=p.ptr.null)=>D.sqlite3__wasm_db_vfs(f,q),c.sqlite3_js_aggregate_context=(f,q)=>c.sqlite3_aggregate_context(f,q)||(q?A.toss("Cannot allocate",q,"bytes for sqlite3_aggregate_context()"):0),c.sqlite3_js_posix_create_file=function(f,q,R){let G;if(q&&p.isPtr(q))G=q;else if(q instanceof ArrayBuffer||q instanceof Uint8Array){if(G=p.allocFromTypedArray(q),arguments.length<3||!D.isInt32(R)||R<0)R=q.byteLength}else N.toss("Invalid 2nd argument for sqlite3_js_posix_create_file().");try{if(!D.isInt32(R)||R<0)N.toss("Invalid 3rd argument for sqlite3_js_posix_create_file().");let ie=D.sqlite3__wasm_posix_create_file(f,G,R);if(ie)N.toss("Creation of file failed with sqlite3 result code",c.sqlite3_js_rc_str(ie))}finally{if(G&&G!==q)p.dealloc(G)}},c.sqlite3_js_vfs_create_file=function(f,q,R,G){a.warn("sqlite3_js_vfs_create_file() is deprecated and","should be avoided because it can lead to C-level crashes.","See its documentation for alternatives.");let ie;if(R)if(p.isPtr(R))ie=R;else{if(R instanceof ArrayBuffer)R=new Uint8Array(R);if(R instanceof Uint8Array){if(ie=p.allocFromTypedArray(R),arguments.length<4||!D.isInt32(G)||G<0)G=R.byteLength}else N.toss("Invalid 3rd argument type for sqlite3_js_vfs_create_file().")}else ie=0;if(!D.isInt32(G)||G<0){if(ie&&ie!==R)p.dealloc(ie);N.toss("Invalid 4th argument for sqlite3_js_vfs_create_file().")}try{let le=D.sqlite3__wasm_vfs_create_file(f,q,ie,G);if(le)N.toss("Creation of file failed with sqlite3 result code",c.sqlite3_js_rc_str(le))}finally{if(ie&&ie!==R)p.dealloc(ie)}},c.sqlite3_js_sql_to_string=(f)=>{if(typeof f==="string")return f;let q=x(v);return q===v?void 0:q},c.sqlite3_db_config=function(f,q,...R){switch(q){case c.SQLITE_DBCONFIG_ENABLE_FKEY:case c.SQLITE_DBCONFIG_ENABLE_TRIGGER:case c.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER:case c.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION:case c.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE:case c.SQLITE_DBCONFIG_ENABLE_QPSG:case c.SQLITE_DBCONFIG_TRIGGER_EQP:case c.SQLITE_DBCONFIG_RESET_DATABASE:case c.SQLITE_DBCONFIG_DEFENSIVE:case c.SQLITE_DBCONFIG_WRITABLE_SCHEMA:case c.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE:case c.SQLITE_DBCONFIG_DQS_DML:case c.SQLITE_DBCONFIG_DQS_DDL:case c.SQLITE_DBCONFIG_ENABLE_VIEW:case c.SQLITE_DBCONFIG_LEGACY_FILE_FORMAT:case c.SQLITE_DBCONFIG_TRUSTED_SCHEMA:case c.SQLITE_DBCONFIG_STMT_SCANSTATUS:case c.SQLITE_DBCONFIG_REVERSE_SCANORDER:case c.SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE:case c.SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE:case c.SQLITE_DBCONFIG_ENABLE_COMMENTS:case c.SQLITE_DBCONFIG_FP_DIGITS:if(!this.ip)this.ip=p.xWrap("sqlite3__wasm_db_config_ip","int",["sqlite3*","int","int","*"]);return this.ip(f,q,R[0],R[1]||0);case c.SQLITE_DBCONFIG_LOOKASIDE:if(!this.pii)this.pii=p.xWrap("sqlite3__wasm_db_config_pii","int",["sqlite3*","int","*","int","int"]);return this.pii(f,q,R[0],R[1],R[2]);case c.SQLITE_DBCONFIG_MAINDBNAME:if(!this.s)this.s=p.xWrap("sqlite3__wasm_db_config_s","int",["sqlite3*","int","string:static"]);return this.s(f,q,R[0]);default:return c.SQLITE_MISUSE}}.bind(r()),c.sqlite3_value_to_js=function(f,q=!0){let R,G=c.sqlite3_value_type(f);switch(G){case c.SQLITE_INTEGER:if(p.bigIntEnabled){if(R=c.sqlite3_value_int64(f),D.bigIntFitsDouble(R))R=Number(R)}else R=c.sqlite3_value_double(f);break;case c.SQLITE_FLOAT:R=c.sqlite3_value_double(f);break;case c.SQLITE_TEXT:R=c.sqlite3_value_text(f);break;case c.SQLITE_BLOB:{let ie=c.sqlite3_value_bytes(f),le=c.sqlite3_value_blob(f);if(ie&&!le)z.WasmAllocError.toss("Cannot allocate memory for blob argument of",ie,"byte(s)");R=ie?p.heap8u().slice(Number(le),Number(le)+Number(ie)):null;break}case c.SQLITE_NULL:R=null;break;default:if(q)M(c.SQLITE_MISMATCH,"Unhandled sqlite3_value_type():",G);R=void 0}return R},c.sqlite3_values_to_js=function(f,q,R=!0){let G,ie=[];for(G=0;G<f;++G)ie.push(c.sqlite3_value_to_js(p.peekPtr(p.ptr.add(q,p.ptr.size*G)),R));return ie},c.sqlite3_result_error_js=function(f,q){if(q instanceof A)c.sqlite3_result_error_nomem(f);else c.sqlite3_result_error(f,""+q,-1)},c.sqlite3_result_js=function(f,q){if(q instanceof Error){c.sqlite3_result_error_js(f,q);return}try{switch(typeof q){case"undefined":break;case"boolean":c.sqlite3_result_int(f,q?1:0);break;case"bigint":if(D.bigIntFits32(q))c.sqlite3_result_int(f,Number(q));else if(D.bigIntFitsDouble(q))c.sqlite3_result_double(f,Number(q));else if(p.bigIntEnabled)if(D.bigIntFits64(q))c.sqlite3_result_int64(f,q);else M("BigInt value",q.toString(),"is too BigInt for int64.");else M("BigInt value",q.toString(),"is too BigInt.");break;case"number":{let R;if(D.isInt32(q))R=c.sqlite3_result_int;else if(p.bigIntEnabled&&Number.isInteger(q)&&D.bigIntFits64(BigInt(q)))R=c.sqlite3_result_int64;else R=c.sqlite3_result_double;R(f,q);break}case"string":{let[R,G]=p.allocCString(q,!0);c.sqlite3_result_text(f,R,G,c.SQLITE_WASM_DEALLOC);break}case"object":if(q===null){c.sqlite3_result_null(f);break}else if(D.isBindableTypedArray(q)){let R=p.allocFromTypedArray(q);c.sqlite3_result_blob(f,R,q.byteLength,c.SQLITE_WASM_DEALLOC);break}default:M("Don't not how to handle this UDF result value:",typeof q,q)}}catch(R){c.sqlite3_result_error_js(f,R)}},c.sqlite3_column_js=function(f,q,R=!0){let G=c.sqlite3_column_value(f,q);return G===0?void 0:c.sqlite3_value_to_js(G,R)};{let f=function(q,R,G){if(G=c[G],!this.ptr)this.ptr=p.allocPtr();else p.pokePtr(this.ptr,0);let ie=G(q,R,this.ptr);if(ie)return N.toss(ie,arguments[2]+"() failed with code "+ie);let le=p.peekPtr(this.ptr);return le?c.sqlite3_value_to_js(le,!0):void 0}.bind(r());c.sqlite3_preupdate_new_js=(q,R)=>f(q,R,"sqlite3_preupdate_new"),c.sqlite3_preupdate_old_js=(q,R)=>f(q,R,"sqlite3_preupdate_old"),c.sqlite3changeset_new_js=(q,R)=>f(q,R,"sqlite3changeset_new"),c.sqlite3changeset_old_js=(q,R)=>f(q,R,"sqlite3changeset_old")}c.sqlite3_js_retry_busy=function(f,q,R){for(let G=1;G<=f;++G)try{if(R&&G>1)R(G);let ie=q();if(c.SQLITE_BUSY===ie){if(G===f)throw new N(ie,["sqlite3_js_retry_busy() max retry attempts (",f,") reached."].join(""));continue}return ie}catch(ie){if(G<f&&ie instanceof N&&ie.resultCode===c.SQLITE_BUSY)continue;throw ie}};let z={WasmAllocError:A,SQLite3Error:N,capi:c,util:D,wasm:p,config:a,version:r(),client:void 0,asyncPostInit:async function f(){if(f.isReady instanceof Promise)return f.isReady;let q=this.initializersAsync;delete this.initializersAsync;let R=async()=>{if(!z.__isUnderTest)delete z.util,delete z.StructBinder,delete z.opfs;return z},G=(le)=>{throw a.error("an async sqlite3 initializer failed:",le),le};if(!q||!q.length)return f.isReady=R().catch(G);q=q.map((le)=>le instanceof Function?async(me)=>le(z):le),q.push(R);let ie=Promise.resolve(z);while(q.length)ie=ie.then(q.shift());return f.isReady=ie.catch(G)}.bind(i),scriptInfo:void 0};if(typeof o<"u")z.__isUnderTest=!!o;try{i.initializers.forEach((f)=>{f(z)})}catch(f){throw console.error("sqlite3 bootstrap initializer threw:",f),f}if(delete i.initializers,i.sqlite3=z,typeof e<"u")e.debugModule("sqlite3ApiBootstrap() complete",z),z.scriptInfo=e;if(z.__isUnderTest){if(typeof t<"u")z.config.emscripten=t;let f=z.scriptInfo?.instantiateWasm;if(f)z.wasm.module=f.module,z.wasm.instance=f.instance,z.wasm.imports=f.imports}return delete globalThis.sqlite3ApiConfig,delete globalThis.sqlite3ApiBootstrap,delete i.defaultConfig,z.asyncPostInit().then((f)=>{if(typeof e<"u")e.debugModule("sqlite3.asyncPostInit() complete",f);return delete f.asyncPostInit,delete f.scriptInfo,delete f.emscripten,f})},globalThis.sqlite3ApiBootstrap.initializers=[],globalThis.sqlite3ApiBootstrap.initializersAsync=[],globalThis.sqlite3ApiBootstrap.defaultConfig=Object.create(null),globalThis.sqlite3ApiBootstrap.sqlite3=void 0,globalThis.sqlite3ApiBootstrap.initializers.push(function(i){i.version={libVersion:"3.53.4",libVersionNumber:3053004,sourceId:"2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc",downloadVersion:3530400,scm:{"sha3-256":"bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc",branch:"branch-3.53",tags:"release version-3.53.4",datetime:"2026-07-24T19:02:57.525Z"}}}),globalThis.WhWasmUtilInstaller=function(n){if(n.bigIntEnabled===void 0)n.bigIntEnabled=!!globalThis.BigInt64Array;let r=(..._)=>{throw Error(_.join(" "))};if(!n.pointerSize&&!n.pointerIR&&n.alloc&&n.dealloc){let _=n.alloc(1);n.pointerSize=typeof _==="bigint"?8:4,n.dealloc(_)}if(n.pointerSize&&!n.pointerIR)n.pointerIR=n.pointerSize===4?"i32":"i64";let a=n.pointerIR??="i32",c=n.pointerSize??=a==="i32"?4:a==="i64"?8:0;if(delete n.pointerSize,delete n.pointerIR,a!=="i32"&&a!=="i64")r("Invalid pointerIR:",a);else if(c!==8&&c!==4)r("Invalid pointerSize:",c);let p=n.bigIntEnabled?(_)=>BigInt(_||0):(_)=>r("BigInt support is disabled in this build."),y=c===4?(_)=>Number(_||0):p,N=y(0),M=function(..._){let b=y(0);for(let F of _)b+=y(F);return b};{let _=Object.create(null);Object.defineProperty(n,"ptr",{enumerable:!0,get:()=>_,set:()=>r("The ptr property is read-only.")}),function b(F,V){return Object.defineProperty(_,F,{enumerable:!0,get:()=>V,set:()=>r("ptr["+F+"] is read-only.")}),b}("null",N)("size",c)("ir",a)("coerce",y)("add",M)("addn",a===4?M:(...b)=>Number(M(...b)))}if(!n.exports)Object.defineProperty(n,"exports",{enumerable:!0,configurable:!0,get:()=>n.instance?.exports});let h=Object.create(null);h.heapSize=0,h.memory=null,h.freeFuncIndexes=[],h.scopedAlloc=[],h.scopedAlloc.pushPtr=(_)=>(h.scopedAlloc[h.scopedAlloc.length-1].push(_),_),h.utf8Decoder=new TextDecoder,h.utf8Encoder=new TextEncoder("utf-8"),n.sizeofIR=(_)=>{switch(_){case"i8":return 1;case"i16":return 2;case"i32":case"f32":case"float":return 4;case"i64":case"f64":case"double":return 8;case"*":return c;default:return(""+_).endsWith("*")?c:void 0}};let te=function(){if(!h.memory)h.memory=n.memory instanceof WebAssembly.Memory?n.memory:n.exports.memory;else if(h.heapSize===h.memory.buffer.byteLength)return h;let _=h.memory.buffer;if(h.HEAP8=new Int8Array(_),h.HEAP8U=new Uint8Array(_),h.HEAP16=new Int16Array(_),h.HEAP16U=new Uint16Array(_),h.HEAP32=new Int32Array(_),h.HEAP32U=new Uint32Array(_),h.HEAP32F=new Float32Array(_),h.HEAP64F=new Float64Array(_),n.bigIntEnabled)if(typeof BigInt64Array<"u")h.HEAP64=new BigInt64Array(_),h.HEAP64U=new BigUint64Array(_);else r("BigInt support is enabled, but the BigInt64Array type is missing.");return h.heapSize=_.byteLength,h};n.heap8=()=>te().HEAP8,n.heap8u=()=>te().HEAP8U,n.heap16=()=>te().HEAP16,n.heap16u=()=>te().HEAP16U,n.heap32=()=>te().HEAP32,n.heap32u=()=>te().HEAP32U,n.heapForSize=function(_,b=!0){let F,V=h.memory&&h.heapSize===h.memory.buffer.byteLength?h:te();switch(_){case Int8Array:return V.HEAP8;case Uint8Array:return V.HEAP8U;case Int16Array:return V.HEAP16;case Uint16Array:return V.HEAP16U;case Int32Array:return V.HEAP32;case Uint32Array:return V.HEAP32U;case 8:return b?V.HEAP8U:V.HEAP8;case 16:return b?V.HEAP16U:V.HEAP16;case 32:return b?V.HEAP32U:V.HEAP32;case 64:if(V.HEAP64)return b?V.HEAP64U:V.HEAP64;break;default:if(n.bigIntEnabled){if(_===globalThis.BigUint64Array)return V.HEAP64U;else if(_===globalThis.BigInt64Array)return V.HEAP64;break}}r("Invalid heapForSize() size: expecting 8, 16, 32,","or (if BigInt is enabled) 64.")};let j=n.functionTable;delete n.functionTable,n.functionTable=j?()=>j:()=>n.exports.__indirect_function_table,n.functionEntry=function(_){let b=n.functionTable();return _<b.length?b.get(y(_)):void 0},n.jsFuncToWasm=function _(b,F){if(!_._)_._={sigTypes:Object.assign(Object.create(null),{i:"i32",p:a,P:a,s:a,j:"i64",f:"f32",d:"f64"}),typeCodes:Object.assign(Object.create(null),{f64:124,f32:125,i64:126,i32:127}),uleb128Encode:(T,P,u)=>{if(u<128)T[P](u);else T[P](u%128|128,u>>7)},rxJSig:/^(\w)\((\w*)\)$/,sigParams:(T)=>{let P=_._.rxJSig.exec(T);return P?P[2]:T.substr(1)},letterType:(T)=>_._.sigTypes[T]||r("Invalid signature letter:",T),pushSigType:(T,P)=>T.push(_._.typeCodes[_._.letterType(P)])};if(typeof b==="string"){let T=F;F=b,b=T}let V=_._,d=V.sigParams(F),m=[1,96];V.uleb128Encode(m,"push",d.length);for(let T of d)V.pushSigType(m,T);if(F[0]==="v")m.push(0);else m.push(1),V.pushSigType(m,F[0]);return V.uleb128Encode(m,"unshift",m.length),m.unshift(0,97,115,109,1,0,0,0,1),m.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array(m)),{e:{f:b}}).exports.f};let U=function(b,F,V){if(V&&!h.scopedAlloc.length)r("No scopedAllocPush() scope is active.");if(typeof b==="string"){let P=F;F=b,b=P}if(typeof F!=="string"||!(b instanceof Function))r("Invalid arguments: expecting (function,signature) or (signature,function).");let d=n.functionTable(),m=y(d.length),T;while(T=h.freeFuncIndexes.pop())if(d.get(T)){T=null;continue}else break;if(!T)T=y(m),d.grow(y(1));try{if(d.set(T,b),V)h.scopedAlloc.pushPtr(T);return T}catch(P){if(!(P instanceof TypeError)){if(T===m)h.freeFuncIndexes.push(m);throw P}}try{let P=n.jsFuncToWasm(b,F);if(d.set(T,P),V)h.scopedAlloc.pushPtr(T)}catch(P){if(T===m)h.freeFuncIndexes.push(m);throw P}return T};n.installFunction=(_,b)=>U(_,b,!1),n.scopedInstallFunction=(_,b)=>U(_,b,!0),n.uninstallFunction=function(_){if(!_&&N!==_)return;let b=n.functionTable();h.freeFuncIndexes.push(_);let F=b.get(_);return b.set(_,null),F},n.peek=function(b,F="i8"){if(F.endsWith("*"))F=a;let V=h.memory&&h.heapSize===h.memory.buffer.byteLength?h:te(),d=Array.isArray(b)?[]:void 0,m;do{if(d)b=arguments[0].shift();switch(F){case"i1":case"i8":m=V.HEAP8[Number(b)>>0];break;case"i16":m=V.HEAP16[Number(b)>>1];break;case"i32":m=V.HEAP32[Number(b)>>2];break;case"float":case"f32":m=V.HEAP32F[Number(b)>>2];break;case"double":case"f64":m=Number(V.HEAP64F[Number(b)>>3]);break;case"i64":if(V.HEAP64){m=p(V.HEAP64[Number(b)>>3]);break}default:r("Invalid type for peek():",F)}if(d)d.push(m)}while(d&&arguments[0].length);return d||m},n.poke=function(_,b,F="i8"){if(F.endsWith("*"))F=a;let V=h.memory&&h.heapSize===h.memory.buffer.byteLength?h:te();for(let d of Array.isArray(_)?_:[_])switch(F){case"i1":case"i8":V.HEAP8[Number(d)>>0]=b;continue;case"i16":V.HEAP16[Number(d)>>1]=b;continue;case"i32":V.HEAP32[Number(d)>>2]=b;continue;case"float":case"f32":V.HEAP32F[Number(d)>>2]=b;continue;case"double":case"f64":V.HEAP64F[Number(d)>>3]=b;continue;case"i64":if(V.HEAP64){V.HEAP64[Number(d)>>3]=p(b);continue}default:r("Invalid type for poke(): "+F)}return this},n.peekPtr=(..._)=>n.peek(_.length===1?_[0]:_,a),n.pokePtr=(_,b=0)=>n.poke(_,b,a),n.peek8=(..._)=>n.peek(_.length===1?_[0]:_,"i8"),n.poke8=(_,b)=>n.poke(_,b,"i8"),n.peek16=(..._)=>n.peek(_.length===1?_[0]:_,"i16"),n.poke16=(_,b)=>n.poke(_,b,"i16"),n.peek32=(..._)=>n.peek(_.length===1?_[0]:_,"i32"),n.poke32=(_,b)=>n.poke(_,b,"i32"),n.peek64=(..._)=>n.peek(_.length===1?_[0]:_,"i64"),n.poke64=(_,b)=>n.poke(_,b,"i64"),n.peek32f=(..._)=>n.peek(_.length===1?_[0]:_,"f32"),n.poke32f=(_,b)=>n.poke(_,b,"f32"),n.peek64f=(..._)=>n.peek(_.length===1?_[0]:_,"f64"),n.poke64f=(_,b)=>n.poke(_,b,"f64"),n.getMemValue=n.peek,n.getPtrValue=n.peekPtr,n.setMemValue=n.poke,n.setPtrValue=n.pokePtr,n.isPtr32=(_)=>typeof _==="number"&&_>=0&&_===(_|0),n.isPtr64=(_)=>typeof _==="bigint"?_>=0:n.isPtr32(_),n.isPtr=c===4?n.isPtr32:n.isPtr64,n.cstrlen=function(_){if(!_||!n.isPtr(_))return null;_=Number(_);let b=te().HEAP8U,F=_;for(;b[F]!==0;++F);return F-_};let w=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,g=(_)=>_.buffer instanceof w;n.isSharedTypedArray=g;let L=(_,b,F)=>{if(c===8){if(typeof b==="bigint")b=Number(b);if(typeof F==="bigint")F=Number(F)}return g(_)?_.slice(b,F):_.subarray(b,F)};n.typedArrayPart=L;let x=(_,b,F)=>h.utf8Decoder.decode(L(_,b,F));n.typedArrayToString=x,n.cstrToJs=function(_){let b=n.cstrlen(_);return b?x(te().HEAP8U,Number(_),Number(_)+b):b===null?b:""},n.jstrlen=function(_){if(typeof _!=="string")return null;let b=_.length,F=0;for(let V=0;V<b;++V){let d=_.charCodeAt(V);if(d>=55296&&d<=57343)d=65536+((d&1023)<<10)|_.charCodeAt(++V)&1023;if(d<=127)++F;else if(d<=2047)F+=2;else if(d<=65535)F+=3;else F+=4}return F},n.jstrcpy=function(_,b,F=0,V=-1,d=!0){if(!b||!(b instanceof Int8Array)&&!(b instanceof Uint8Array))r("jstrcpy() target must be an Int8Array or Uint8Array.");if(V=Number(V),F=Number(F),V<0)V=b.length-F;if(!(V>0)||!(F>=0))return 0;let m=0,T=_.length,P=F,u=F+V-(d?1:0);for(;m<T&&F<u;++m){let E=_.charCodeAt(m);if(E>=55296&&E<=57343)E=65536+((E&1023)<<10)|_.charCodeAt(++m)&1023;if(E<=127){if(F>=u)break;b[F++]=E}else if(E<=2047){if(F+1>=u)break;b[F++]=192|E>>6,b[F++]=128|E&63}else if(E<=65535){if(F+2>=u)break;b[F++]=224|E>>12,b[F++]=128|E>>6&63,b[F++]=128|E&63}else{if(F+3>=u)break;b[F++]=240|E>>18,b[F++]=128|E>>12&63,b[F++]=128|E>>6&63,b[F++]=128|E&63}}if(d)b[F++]=0;return F-P},n.cstrncpy=function(_,b,F){if(!_||!b)r("cstrncpy() does not accept NULL strings.");if(F<0)F=n.cstrlen(strPtr)+1;else if(!(F>0))return 0;let V=n.heap8u(),d=0,m,T=Number(_),P=Number(b);for(;d<F&&(m=V[P+d]);++d)V[T+d]=m;if(d<F)V[T+d++]=0;return d},n.jstrToUintArray=(_,b=!1)=>h.utf8Encoder.encode(b?_+"\x00":_);let A=(_,b)=>{if(!(_.alloc instanceof Function)||!(_.dealloc instanceof Function))r("Object is missing alloc() and/or dealloc() function(s)","required by",b+"().")},D=function(_,b,F,V){if(A(n,V),typeof _!=="string")return null;let d=h.utf8Encoder.encode(_),m=F(d.length+1),T=m;try{let P=te().HEAP8U;return P.set(d,Number(m)),P[M(m,d.length)]=0,T=N,b?[m,d.length]:m}finally{if(T)n.dealloc(T)}};n.allocCString=(_,b=!1)=>D(_,b,n.alloc,"allocCString()"),n.scopedAllocPush=function(){A(n,"scopedAllocPush");let _=[];return h.scopedAlloc.push(_),_},n.scopedAllocPop=function(_){A(n,"scopedAllocPop");let b=arguments.length?h.scopedAlloc.indexOf(_):h.scopedAlloc.length-1;if(b<0)r("Invalid state object for scopedAllocPop().");if(arguments.length===0)_=h.scopedAlloc[b];h.scopedAlloc.splice(b,1);for(let F;F=_.pop();)if(n.functionEntry(F))n.uninstallFunction(F);else n.dealloc(F)},n.scopedAlloc=function(_){if(!h.scopedAlloc.length)r("No scopedAllocPush() scope is active.");let b=y(n.alloc(_));return h.scopedAlloc.pushPtr(b)},Object.defineProperty(n.scopedAlloc,"level",{configurable:!1,enumerable:!1,get:()=>h.scopedAlloc.length,set:()=>r("The 'active' property is read-only.")}),n.scopedAllocCString=(_,b=!1)=>D(_,b,n.scopedAlloc,"scopedAllocCString()");let z=function(_,b){let F=n[_?"scopedAlloc":"alloc"]((b.length+1)*n.ptr.size),V=0;return b.forEach((d)=>{n.pokePtr(M(F,n.ptr.size*V++),n[_?"scopedAllocCString":"allocCString"](""+d))}),n.pokePtr(M(F,n.ptr.size*V),0),F};n.scopedAllocMainArgv=(_)=>z(!0,_),n.allocMainArgv=(_)=>z(!1,_),n.cArgvToJs=(_,b)=>{let F=[];for(let V=0;V<_;++V){let d=n.peekPtr(M(b,n.ptr.size*V));F.push(d?n.cstrToJs(d):null)}return F},n.scopedAllocCall=function(_){n.scopedAllocPush();try{return _()}finally{n.scopedAllocPop()}};let f=function(_,b,F){A(n,F);let V=b?"i64":a,d=n[F](_*(b?8:c));if(n.poke(d,0,V),_===1)return d;let m=[d];for(let T=1;T<_;++T)d=M(d,b?8:c),m[T]=d,n.poke(d,0,V);return m};n.allocPtr=(_=1,b=!0)=>f(_,b,"alloc"),n.scopedAllocPtr=(_=1,b=!0)=>f(_,b,"scopedAlloc"),n.xGet=function(_){return n.exports[_]||r("Cannot find exported symbol:",_)};let q=(_,b)=>r(_+"() requires",b,"argument(s).");n.xCall=function(_,...b){let F=_ instanceof Function?_:n.xGet(_);if(!(F instanceof Function))r("Exported symbol",_,"is not a function.");if(F.length!==b.length)q(F===_?F.name:_,F.length);return arguments.length===2&&Array.isArray(arguments[1])?F.apply(null,arguments[1]):F.apply(null,b)},h.xWrap=Object.create(null),h.xWrap.convert=Object.create(null),h.xWrap.convert.arg=new Map,h.xWrap.convert.result=new Map;let R=h.xWrap.convert.arg,G=h.xWrap.convert.result,ie=y;R.set("i64",p).set("i32",(_)=>_|0).set("i16",(_)=>(_|0)&65535).set("i8",(_)=>(_|0)&255).set("f32",(_)=>Number(_).valueOf()).set("float",R.get("f32")).set("f64",R.get("f32")).set("double",R.get("f64")).set("int",R.get("i32")).set("null",(_)=>_).set(null,R.get("null")).set("**",ie).set("*",ie),G.set("*",ie).set("pointer",ie).set("number",(_)=>Number(_)).set("void",(_)=>{return}).set(void 0,G.get("void")).set("null",(_)=>_).set(null,G.get("null"));for(let _ of["i8","i16","i32","i64","int","f32","float","f64","double"])R.set(_+"*",ie),G.set(_+"*",ie),G.set(_,R.get(_)||r("Maintenance required: missing arg converter for",_));let le=(_)=>typeof _==="string"?n.scopedAllocCString(_):y(_);R.set("string",le).set("utf8",le),G.set("string",(_)=>n.cstrToJs(_)).set("utf8",G.get("string")).set("string:dealloc",(_)=>{try{return _?n.cstrToJs(_):null}finally{n.dealloc(_)}}).set("utf8:dealloc",G.get("string:dealloc")).set("json",(_)=>JSON.parse(n.cstrToJs(_))).set("json:dealloc",(_)=>{try{return _?JSON.parse(n.cstrToJs(_)):null}finally{n.dealloc(_)}});let me=class{constructor(_){this.name=_.name||"unnamed adapter"}convertArg(_,b,F){r("AbstractArgAdapter must be subclassed.")}};R.FuncPtrAdapter=class _ extends me{constructor(b){super(b);if(R.FuncPtrAdapter.warnOnUse)console.warn("xArg.FuncPtrAdapter is an internal-only API","and is not intended to be invoked from","client-level code. Invoked with:",b);if(this.name=b.name||"unnamed",this.signature=b.signature,b.contextKey instanceof Function){if(this.contextKey=b.contextKey,!b.bindScope)b.bindScope="context"}if(this.bindScope=b.bindScope||r("FuncPtrAdapter options requires a bindScope (explicit or implied)."),_.bindScopes.indexOf(b.bindScope)<0)r("Invalid options.bindScope ("+b.bindMod+") for FuncPtrAdapter. Expecting one of: ("+_.bindScopes.join(", ")+")");this.isTransient=this.bindScope==="transient",this.isContext=this.bindScope==="context",this.isPermanent=this.bindScope==="permanent",this.singleton=this.bindScope==="singleton"?[]:void 0,this.callProxy=b.callProxy instanceof Function?b.callProxy:void 0}contextKey(b,F){return this}contextMap(b){let F=this.__cmap||(this.__cmap=new Map),V=F.get(b);if(V===void 0)F.set(b,V=[]);return V}convertArg(b,F,V){let d=this.singleton;if(!d&&this.isContext)d=this.contextMap(this.contextKey(F,V));if(d&&d.length===2&&d[0]===b)return d[1];if(b instanceof Function){if(this.callProxy)b=this.callProxy(b);let m=U(b,this.signature,this.isTransient);if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter installed",this,this.contextKey(F,V),"@"+m,b);if(d){if(d[1]){if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(F,V),"@"+d[1],b);try{h.scopedAlloc.pushPtr(d[1])}catch(T){}}d[0]=arguments[0]||N,d[1]=m}return m}else if(n.isPtr(b)||b===null||b===void 0){if(d&&d[1]&&d[1]!==b){if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(F,V),"@"+d[1],b);try{h.scopedAlloc.pushPtr(d[1])}catch(m){}d[0]=d[1]=b||N}return b||N}else throw TypeError("Invalid FuncPtrAdapter argument type. Expecting a function pointer or a "+(this.name?this.name+" ":"")+"function matching signature "+this.signature+".")}},R.FuncPtrAdapter.warnOnUse=!1,R.FuncPtrAdapter.debugFuncInstall=!1,R.FuncPtrAdapter.debugOut=console.debug.bind(console),R.FuncPtrAdapter.bindScopes=["transient","context","singleton","permanent"];let ye=(_)=>R.get(_)||r("Argument adapter not found:",_),H=(_)=>G.get(_)||r("Result adapter not found:",_);h.xWrap.convertArg=(_,...b)=>ye(_)(...b),h.xWrap.convertArgNoCheck=(_,...b)=>R.get(_)(...b),h.xWrap.convertResult=(_,b)=>_===null?b:_?H(_)(b):void 0,h.xWrap.convertResultNoCheck=(_,b)=>_===null?b:_?G.get(_)(b):void 0,n.xWrap=function _(b,F,...V){if(arguments.length===3&&Array.isArray(arguments[2]))V=arguments[2];if(n.isPtr(b))b=n.functionEntry(b)||r("Function pointer not found in WASM function table.");let d=b instanceof Function,m=d?b:n.xGet(b);if(d)b=m.name||"unnamed function";if(V.length!==m.length)q(b,m.length);if(m.length===0&&(F===null||F==="null"))return m;H(F);for(let P of V)if(P instanceof me)R.set(P,(...u)=>P.convertArg(...u));else ye(P);let T=h.xWrap;if(m.length===0)return(...P)=>P.length?q(b,m.length):T.convertResult(F,m.call(null));return function(...P){if(P.length!==m.length)q(b,m.length);let u=n.scopedAllocPush();try{let E=0;if(_.debug)console.debug("xWrap() preparing: resultType ",F,"xf",m,"argTypes",V,"args",P);for(;E<P.length;++E)P[E]=T.convertArgNoCheck(V[E],P[E],P,E);if(_.debug)console.debug("xWrap() calling: resultType ",F,"xf",m,"argTypes",V,"args",P);return T.convertResultNoCheck(F,m.apply(null,P))}finally{n.scopedAllocPop(u)}}};let ae=function(_,b,F,V,d,m){if(typeof F==="string"){if(b===1)return m.get(F);else if(b===2){if(!V)return m.delete(F),_;else if(!(V instanceof Function))r(d,"requires a function argument.");return m.set(F,V),_}}r("Invalid arguments to",d)};return n.xWrap.resultAdapter=function _(b,F){return ae(_,arguments.length,b,F,"resultAdapter()",G)},n.xWrap.argAdapter=function _(b,F){return ae(_,arguments.length,b,F,"argAdapter()",R)},n.xWrap.FuncPtrAdapter=R.FuncPtrAdapter,n.xCallWrapped=function(_,b,F,...V){if(Array.isArray(arguments[3]))V=arguments[3];return n.xWrap(_,b,F||[]).apply(null,V||[])},n.xWrap.testConvertArg=h.xWrap.convertArg,n.xWrap.testConvertResult=h.xWrap.convertResult,n},globalThis.WhWasmUtilInstaller.yawl=function(n){let r=()=>fetch(n.uri,{credentials:"same-origin"}),a=this,c=function(I){if(n.wasmUtilTarget){let y=(...M)=>{throw Error(M.join(" "))},N=n.wasmUtilTarget;if(N.module=I.module,N.instance=I.instance,!N.instance.exports.memory)N.memory=n?.imports?.env?.memory||y("Missing 'memory' object!");if(!N.alloc&&I.instance.exports.malloc){let M=I.instance.exports;N.alloc=function(h){return M.malloc(h)||y("Allocation of",h,"bytes failed.")},N.dealloc=function(h){h&&M.free(h)}}a(N)}if(I.config=n,n.onload)n.onload(I);return I};return WebAssembly.instantiateStreaming?()=>WebAssembly.instantiateStreaming(r(),n.imports||{}).then(c):()=>r().then((I)=>I.arrayBuffer()).then((I)=>WebAssembly.instantiate(I,n.imports||{})).then(c)}.bind(globalThis.WhWasmUtilInstaller),globalThis.Jaccwabyt=function i(n){let r=(...C)=>{throw Error(C.join(" "))};{let C=n.heap;if(C instanceof WebAssembly.Memory)C=function(){return new Uint8Array(this.buffer)}.bind(C);else if(!(C instanceof Function))r("config.heap must be WebAssembly.Memory instance or","a function which returns one.");n.heap=C}["alloc","dealloc"].forEach(function(C){n[C]instanceof Function||r("Config option '"+C+"' must be a function.")});let a=i,{heap:c,alloc:p,dealloc:I}=n,y=n.realloc||function(){r("This StructBinderFactory was configured without realloc()")},N=n.log||console.debug.bind(console),M=n.memberPrefix||"",h=n.memberSuffix||"",{BigInt:te,BigInt64Array:j}=globalThis,U=n.bigIntEnabled??!!j,w,g=n.pointerSize||n.ptrSize||(typeof(w=p(1))==="bigint"?8:4),L=n.pointerIR||n.ptrIR||(g===4?"i32":"i64");if(w)I(w),w=void 0;if(g!==4&&g!==8)r("Invalid pointer size:",g);if(L!=="i32"&&L!=="i64")r("Invalid pointer representation:",L);let x=U&&te?(C)=>te(C||0):(C)=>r("BigInt support is disabled in this build."),A=L=="i32"?Number:x,D=A(0),z=function(...C){let K=D;for(let Y=0;Y<C.length;++Y)K+=A(C[Y]);return K},f=function(...C){return z(this.pointer,...C)};if(!a.debugFlags)a.__makeDebugFlags=function(C=null){if(C&&C.__flags)C=C.__flags;let K=function Y(re){if(arguments.length===0)return Y.__flags;if(re<0)delete Y.__flags.getter,delete Y.__flags.setter,delete Y.__flags.alloc,delete Y.__flags.dealloc;else Y.__flags.getter=(1&re)!==0,Y.__flags.setter=(2&re)!==0,Y.__flags.alloc=(4&re)!==0,Y.__flags.dealloc=(8&re)!==0;return Y._flags};if(Object.defineProperty(K,"__flags",{iterable:!1,writable:!1,value:Object.create(C)}),!C)K(0);return K},a.debugFlags=a.__makeDebugFlags();let q=!0,R=(C)=>C[1]==="(",G=(C)=>C==="p"||C==="P"||C==="s",ie=(C)=>C==="P",le=(C)=>C?R(C)?"p":C[0]:void 0,me=function(C){switch(le(C)){case"c":case"C":return"i8";case"i":return"i32";case"p":case"P":case"s":return L;case"j":return"i64";case"f":return"float";case"d":return"double"}r("Unhandled signature IR:",C)},ye=function(C){switch(le(C)){case"c":case"C":return 1;case"i":return 4;case"p":case"P":case"s":return g;case"j":return 8;case"f":return 4;case"d":return 8}r("Unhandled signature sizeof:",C)},H=j?()=>!0:()=>r("BigInt64Array is not available."),ae=function(C){switch(le(C)){case"p":case"P":case"s":{switch(g){case 4:return"getInt32";case 8:return H()&&"getBigInt64"}break}case"i":return"getInt32";case"c":return"getInt8";case"C":return"getUint8";case"j":return H()&&"getBigInt64";case"f":return"getFloat32";case"d":return"getFloat64"}r("Unhandled DataView getter for signature:",C)},_=function(C){switch(le(C)){case"p":case"P":case"s":{switch(g){case 4:return"setInt32";case 8:return H()&&"setBigInt64"}break}case"i":return"setInt32";case"c":return"setInt8";case"C":return"setUint8";case"j":return H()&&"setBigInt64";case"f":return"setFloat32";case"d":return"setFloat64"}r("Unhandled DataView setter for signature:",C)},b=function(C){switch(le(C)){case"i":case"f":case"c":case"C":case"d":return Number;case"j":return x;case"p":case"P":case"s":switch(g){case 4:return Number;case 8:return x}break}r("Unhandled DataView set wrapper for signature:",C)},F=(C,K)=>C+"::"+K,V=function(C,K){return()=>r(F(C,K),"is read-only.")},d=function C(K,Y=!0){let re=C.map.get(K);if(!re&&Y)C.map.set(K,re=C.create(K));return re};d.map=new WeakMap,d.create=(C)=>Object.assign(Object.create(null),{o:C,p:void 0,ownsPointer:!1,zod:!1,xb:0});let m=(C)=>d.map.delete(C),T=(C)=>typeof C==="number"&&C===(C|0)&&C>=0,u=g===4?T:(C)=>typeof C==="bigint"&&C>=0||T(C),E=(C)=>u(C)&&C>0,W=function(C,K,Y){let re=d(K,!1);if(!re)return;if(m(K),!Y&&!(Y=re.p)){console.warn("Cannot(?) happen: __freeStruct() found no instanceInfo");return}if(Array.isArray(K.ondispose)){let fe;while(fe=K.ondispose.pop())try{if(fe instanceof Function)fe.call(K);else if(fe instanceof $e)fe.dispose();else if(u(fe))I(fe)}catch(Oe){console.warn("ondispose() for",C.structName,"@",Y,"threw. NOT propagating it.",Oe)}}else if(K.ondispose instanceof Function)try{K.ondispose()}catch(fe){console.warn("ondispose() for",C.structName,"@",Y,"threw. NOT propagating it.",fe)}if(delete K.ondispose,C.debugFlags.__flags.dealloc)N("debug.dealloc:",re.ownsPointer?"":"EXTERNAL",C.structName,"instance:",C.structInfo.sizeof,"bytes @"+Y);if(re.ownsPointer){if(re.zod||C.structInfo.zeroOnDispose)c().fill(0,Number(Y),Number(Y)+C.structInfo.sizeof+re.xb);I(Y)}},Z=()=>({configurable:!1,writable:!1,iterable:!1}),Q=(C)=>({...Z(),value:C}),oe=function(K,Y,re){let fe,Oe=(xe)=>{E(xe)||r("Invalid pointer value",arguments[0],"for",K.structName,"constructor.")};if(arguments.length>=3)if(re&&typeof re==="object")fe=re,re=fe?.wrap;else Oe(re),fe={wrap:re};else fe={};let Me=!re,Ue=0,Ve=!1;if(re)Oe(re),Ve=!!fe?.takeOwnership;else{let xe=fe?.extraBytes??0;if(xe<0||xe!==(xe|0))r("Invalid extraBytes value:",fe?.extraBytes);Ue=K.structInfo.sizeof+xe,re=p(Ue)||r("Allocation of",K.structName,"structure failed."),Ve=!0}try{if(fe?.debugFlags)Y.debugFlags(fe.debugFlags);if(K.debugFlags.__flags.alloc)N("debug.alloc:",Me?"":"EXTERNAL",K.structName,"instance:",K.structInfo.sizeof,"bytes @"+re);if(Me)c().fill(0,Number(re),Number(re)+Ue);let xe=d(Y);if(xe.p=re,xe.ownsPointer=Ve,xe.xb=Ue?Ue-K.structInfo.sizeof:0,xe.zod=!!fe?.zeroOnDispose,fe?.ondispose&&fe.ondispose!==re)Y.addOnDispose(fe.ondispose)}catch(xe){throw W(K,Y,re),xe}},_e=function C(K){return C.rxSig1??=/^[ipPsjfdcC]$/,C.rxSig2??=/^[vipPsjfdcC]\([ipPsjfdcC]*\)$/,C.rxSig1.test(K)||C.rxSig2.test(K)},Ee=function(C){let K=this.get(C);if(!K)K=[Object.create(null),Object.create(null),Object.create(null)],this.set(C,K);return K}.bind(new WeakMap),qe=function(C,K,Y,re){let fe=Ee(C)[K];if(arguments.length===3)return fe[Y];if(re)return fe[Y]=re;return delete fe[Y]},Ce=(C)=>C,Re=function(C,...K){return qe(this,0,C,...K)},Se=function(C,K){_e(K)&&r(C,"(",K,") collides with a data type signature.")},O=function(C,...K){return Se("Setter adaptor",C),qe(this,1,C,...K)},B=function(C,...K){return Se("Struct adaptor",C),qe(this,2,C,...K)},J=function(C,K){let Y=typeof K==="string"?qe(C,2,K):K;if(typeof Y!=="object")r("Invalid struct mapping object. Arg =",K,JSON.stringify(Y));return Y},se=Q((C)=>M+C+h),ce=function(C,K,Y=!0){let re=C.members[K];if(!re&&(M||h)){for(let fe of Object.values(C.members))if(fe.key===K){re=fe;break}if(!re&&Y)r(F(C.name||C.structName,K),"is not a mapped struct member.")}return re},de=function C(K,Y,re=!1){if(!C._)C._=(Oe)=>Oe.replace(/[^vipPsjrdcC]/g,"").replace(/[pPscC]/g,"i");let fe=ce(K.structInfo,Y,!0);return re?C._(fe.signature):fe.signature},ue=Q(function(){let C=[];for(let K of Object.keys(this.structInfo.members))C.push(this.memberKey(K));return C}),he=new TextDecoder("utf-8"),Fe=new TextEncoder,Pe=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,Ae=function(C,K,Y){if(g===8)K=Number(K),Y=Number(Y);return he.decode(C.buffer instanceof Pe?C.slice(K,Y):C.subarray(K,Y))},Le=function(C,K,Y=!1){let re=ce(C.structInfo,K,Y);return re&&re.signature.length===1&&re.signature[0]==="s"?re:!1},Ne=function(C){if(C.signature==="s")return;r("Invalid member type signature for C-string value:",JSON.stringify(C))},lt=function(K,Y){let re=ce(K.structInfo,Y,!0);Ne(re);let fe=K[re.key];if(!fe)return null;let Oe=fe,Me=c();for(;Me[Oe]!==0;++Oe);return fe===Oe?"":Ae(Me,fe,Oe)},Ze=function(C,...K){if(C.ondispose){if(!Array.isArray(C.ondispose))C.ondispose=[C.ondispose]}else C.ondispose=[];C.ondispose.push(...K)},ct=function(C){let K=Fe.encode(C),Y=p(K.length+1);if(!Y)r("Allocation error while duplicating string:",C);let re=c();return re.set(K,Number(Y)),re[z(Y,K.length)]=0,Y},gt=function(C,K,Y){let re=ce(C.structInfo,K,!0);Ne(re);let fe=ct(Y);return C[re.key]=fe,Ze(C,fe),C},$e=function(K,Y){if(arguments[2]!==Q)r("Do not call the StructType constructor","from client-level code.");Object.defineProperties(this,{structName:Q(K),structInfo:Q(Y)})};$e.prototype=Object.create(null,{dispose:Q(function(){W(this.constructor,this)}),lookupMember:Q(function(C,K=!0){return ce(this.structInfo,C,K)}),memberToJsString:Q(function(C){return lt(this,C)}),memberIsString:Q(function(C,K=!0){return Le(this,C,K)}),memberKey:se,memberKeys:ue,memberSignature:Q(function(C,K=!1){return de(this,C,K)}),memoryDump:Q(function(){let C=this.pointer;return C?new Uint8Array(c().slice(Number(C),Number(C)+this.structInfo.sizeof)):null}),extraBytes:{configurable:!1,enumerable:!1,get:function(){return d(this,!1)?.xb??0}},zeroOnDispose:{configurable:!1,enumerable:!1,get:function(){return d(this,!1)?.zod??!!this.structInfo.zeroOnDispose}},pointer:{configurable:!1,enumerable:!1,get:function(){return d(this,!1)?.p},set:()=>r("Cannot assign the 'pointer' property of a struct.")},setMemberCString:Q(function(C,K){return gt(this,C,K)})}),Object.assign($e.prototype,{addOnDispose:function(...C){return Ze(this,...C),this}}),Object.defineProperties($e,{allocCString:Q(ct),isA:Q((C)=>C instanceof $e),hasExternalPointer:Q((C)=>{let K=d(C,!1);return!!(K?.p&&!K?.ownsPointer)}),memberKey:se});let rt=function(C){return C.get||(C.adaptGet?Ge.adaptGet(C.adaptGet):void 0)},Et=function(C){return C.set||(C.adaptSet?Ge.adaptSet(C.adaptSet):void 0)},Oc=function C(K,Y,re){let fe=C.innerStructs??=new Map,Oe=K.memberKey(Y);if(re.signature!==void 0)r("'signature' cannot be used on an embedded struct (",K.structName,".",Oe,").");if(Et(re))r("'set' and 'adaptSet' are not permitted for nested struct members.");re.structName??=K.structName+"::"+Y,re.key=Oe,re.name=Y,re.constructor=this.call(this,re.structName,re);let Me=rt(re),Ue=Object.assign(Object.create(null),{configurable:!1,enumerable:!1,set:V(K.structName,Oe),get:function(){let Ve=this.debugFlags.__flags,xe=this.pointer,je=xe+"."+Oe,pe=fe.get(je);if(Ve.getter)N("debug.getter: k =",je);if(!pe)pe=new re.constructor(z(xe,re.offset)),fe.set(je,pe),this.addOnDispose(()=>pe.dispose()),pe.addOnDispose(()=>fe.delete(je));if(Me)pe=Me.apply(this,[pe,Oe]);if(Ve.getter)N("debug.getter: result =",pe);return pe}});Object.defineProperty(K.prototype,Oe,Ue)},Pc=function C(K,Y,re){if(re=J(this,re),re.members)return Oc.call(this,K,Y,re);if(!C.cache){C.cache={getters:{},setters:{},sw:{}};let je=["i","c","C","p","P","s","f","d","v()"];if(U)je.push("j");je.forEach(function(pe){C.cache.getters[pe]=ae(pe),C.cache.setters[pe]=_(pe),C.cache.sw[pe]=b(pe)}),C.sigCheck=function(pe,De,At,qn){if(Object.prototype.hasOwnProperty.call(pe,At))r(pe.structName,"already has a property named",At+".");_e(qn)||r("Malformed signature for",F(pe.structName,De)+":",qn)}}let fe=K.memberKey(Y);C.sigCheck(K.prototype,Y,fe,re.signature),re.key=fe,re.name=Y;let Oe=le(re.signature),Me=F(K.structName,fe),Ue=K.debugFlags.__flags,Ve=rt(re),xe=Object.create(null);if(xe.configurable=!1,xe.enumerable=!1,xe.get=function(){if(Ue.getter)N("debug.getter:",C.cache.getters[Oe],"for",me(Oe),Me,"@",this.pointer,"+",re.offset,"sz",re.sizeof);let je=new DataView(c().buffer,Number(this.pointer)+re.offset,re.sizeof)[C.cache.getters[Oe]](0,q);if(Ve)je=Ve.apply(this,[fe,je]);if(Ue.getter)N("debug.getter:",Me,"result =",je);return je},re.readOnly)xe.set=V(K.prototype.structName,fe);else{let je=Et(re);xe.set=function(pe){if(Ue.setter)N("debug.setter:",C.cache.setters[Oe],"for",me(Oe),Me,"@",this.pointer,"+",re.offset,"sz",re.sizeof,pe);if(!this.pointer)r("Cannot set native property on a disposed",this.structName,"instance.");if(je)pe=je.apply(this,[fe,pe]);if(pe===null||pe===void 0)pe=D;else if(G(re.signature)&&!u(pe))if(ie(re.signature)&&pe instanceof $e){if(pe=pe.pointer||D,Ue.setter)N("debug.setter:",Me,"resolved to",pe)}else r("Invalid value for pointer-type",Me+".");new DataView(c().buffer,Number(this.pointer)+re.offset,re.sizeof)[C.cache.setters[Oe]](0,C.cache.sw[Oe](pe),q)}}Object.defineProperty(K.prototype,fe,xe)},yn=function C(K,Y,re=Object.create(null)){let fe=function pe(De){if(!(this instanceof pe))r("The",K,"constructor may only be called via 'new'.");oe(pe,this,...arguments)},Oe=this,Me=(pe)=>typeof pe==="string"&&_e(pe)?{signature:pe}:J(Oe,pe);if(arguments.length===1)Y=Me(K),K=Y.structName||Y.name;else if(arguments.length===2)Y=Me(Y),Y.name??=K;else Y=Me(Y);if(K??=Y.structName,K??=re.structName,!K)r("One of 'name' or 'structName' are required.");if(Y.adapt)Object.keys(Y.adapt.struct||{}).forEach((pe)=>{B.call(C,pe,Y.adapt.struct[pe])}),Object.keys(Y.adapt.set||{}).forEach((pe)=>{O.call(C,pe,Y.adapt.set[pe])}),Object.keys(Y.adapt.get||{}).forEach((pe)=>{Re.call(C,pe,Y.adapt.get[pe])});if(!Y.members&&!Y.sizeof)Y.sizeof=ye(Y.signature);let Ue=Q(a.__makeDebugFlags(Ge.debugFlags));Object.defineProperties(fe,{debugFlags:Ue,isA:Q((pe)=>pe instanceof fe),memberKey:se,memberKeys:ue,structInfo:Q(Y),structName:Q(K),ptrAdd:Q(z)}),fe.prototype=new $e(K,Y,Q),Object.defineProperties(fe.prototype,{debugFlags:Ue,constructor:Q(fe),ptrAdd:Q(f)});let Ve=!1,xe=0,je=!!Y.autoCalcSizeOffset;if(!je){if(!Y.sizeof)r(K,"description is missing its sizeof property.");Y.offset??=0}else Y.offset??=0;if(Object.keys(Y.members||{}).forEach((pe)=>{let De=Me(Y.members[pe]);if(!De.members&&!De.sizeof){if(De.sizeof=ye(De.signature),!De.sizeof)r(F(K,pe),"is missing a sizeof property.",De)}if(De.offset===void 0)if(je)De.offset=xe;else r(F(K,pe),"is missing its offset.",JSON.stringify(De));if(Y.members[pe]=De,!Ve||Ve.offset<De.offset)Ve=De;let At=!!De.autoCalc;if(je)De.autoCalcSizeOffset=!0;if(Pc.call(Oe,fe,pe,De),At)De.autoCalcSizeOffset=!0;else delete De.autoCalcSizeOffset;xe+=De.sizeof}),!Ve)r("No member property descriptions found.");if(!Y.sizeof)Y.sizeof=xe;if(Y.sizeof===1)Y.signature==="c"||Y.signature==="C"||r("Unexpected sizeof==1 member",F(K,k),"with signature",Y.signature);else{if(Y.sizeof%4!==0)console.warn("Invalid struct member description",Y),r(K,"sizeof is not aligned. sizeof="+Y.sizeof);if(Y.offset%4!==0)console.warn("Invalid struct member description",Y),r(K,"offset is not aligned. offset="+Y.offset)}if(Y.sizeof<xe)console.warn("Suspect struct description:",Y,"offset =",xe),r("Mismatch in the calculated vs. the provided sizeof/offset info.","Expected sizeof",xe,"but got",Y.sizeof,"for",Y);return delete Y.autoCalcSizeOffset,fe},Ge=function C(K,Y){return arguments.length==1?yn.call(C,K):yn.call(C,K,Y)};if(Ge.StructType=$e,Ge.config=n,Ge.allocCString=ct,Ge.adaptGet=Re,Ge.adaptSet=O,Ge.adaptStruct=B,Ge.ptrAdd=z,!Ge.debugFlags)Ge.debugFlags=a.__makeDebugFlags(a.debugFlags);return Ge},globalThis.sqlite3ApiBootstrap.initializers.push(function(i){let n=(...w)=>{throw Error(w.join(" "))},{capi:r,wasm:a,util:c}=i;globalThis.WhWasmUtilInstaller(a),delete globalThis.WhWasmUtilInstaller;let p={core:[["sqlite3_aggregate_context","void*","sqlite3_context*","int"],["sqlite3_bind_double","int","sqlite3_stmt*","int","f64"],["sqlite3_bind_int","int","sqlite3_stmt*","int","int"],["sqlite3_bind_null",void 0,"sqlite3_stmt*","int"],["sqlite3_bind_parameter_count","int","sqlite3_stmt*"],["sqlite3_bind_parameter_index","int","sqlite3_stmt*","string"],["sqlite3_bind_parameter_name","string","sqlite3_stmt*","int"],["sqlite3_bind_pointer","int","sqlite3_stmt*","int","*","string:static","*"],["sqlite3_bind_zeroblob","int","sqlite3_stmt*","int","int"],["sqlite3_busy_handler","int",["sqlite3*",new a.xWrap.FuncPtrAdapter({signature:"i(pi)",contextKey:(w,g)=>w[0]}),"*"]],["sqlite3_busy_timeout","int","sqlite3*","int"],["sqlite3_changes","int","sqlite3*"],["sqlite3_clear_bindings","int","sqlite3_stmt*"],["sqlite3_collation_needed","int","sqlite3*","*","*"],["sqlite3_column_blob","*","sqlite3_stmt*","int"],["sqlite3_column_bytes","int","sqlite3_stmt*","int"],["sqlite3_column_count","int","sqlite3_stmt*"],["sqlite3_column_decltype","string","sqlite3_stmt*","int"],["sqlite3_column_double","f64","sqlite3_stmt*","int"],["sqlite3_column_int","int","sqlite3_stmt*","int"],["sqlite3_column_name","string","sqlite3_stmt*","int"],["sqlite3_column_type","int","sqlite3_stmt*","int"],["sqlite3_column_value","sqlite3_value*","sqlite3_stmt*","int"],["sqlite3_commit_hook","void*",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"sqlite3_commit_hook",signature:"i(p)",contextKey:(w)=>w[0]}),"*"]],["sqlite3_compileoption_get","string","int"],["sqlite3_compileoption_used","int","string"],["sqlite3_complete","int","string:flexible"],["sqlite3_context_db_handle","sqlite3*","sqlite3_context*"],["sqlite3_data_count","int","sqlite3_stmt*"],["sqlite3_db_filename","string","sqlite3*","string"],["sqlite3_db_handle","sqlite3*","sqlite3_stmt*"],["sqlite3_db_name","string","sqlite3*","int"],["sqlite3_db_readonly","int","sqlite3*","string"],["sqlite3_db_status","int","sqlite3*","int","*","*","int"],["sqlite3_errcode","int","sqlite3*"],["sqlite3_errmsg","string","sqlite3*"],["sqlite3_error_offset","int","sqlite3*"],["sqlite3_errstr","string","int"],["sqlite3_exec","int",["sqlite3*","string:flexible",new a.xWrap.FuncPtrAdapter({signature:"i(pipp)",bindScope:"transient",callProxy:(w)=>{let g;return(L,x,A,D)=>{try{let z=a.cArgvToJs(x,A);if(!g)g=a.cArgvToJs(x,D);return w(z,g)|0}catch(z){return z.resultCode||r.SQLITE_ERROR}}}}),"*","**"]],["sqlite3_expanded_sql","string","sqlite3_stmt*"],["sqlite3_extended_errcode","int","sqlite3*"],["sqlite3_extended_result_codes","int","sqlite3*","int"],["sqlite3_file_control","int","sqlite3*","string","int","*"],["sqlite3_finalize","int","sqlite3_stmt*"],["sqlite3_free",void 0,"*"],["sqlite3_get_autocommit","int","sqlite3*"],["sqlite3_get_auxdata","*","sqlite3_context*","int"],["sqlite3_initialize",void 0],["sqlite3_interrupt",void 0,"sqlite3*"],["sqlite3_is_interrupted","int","sqlite3*"],["sqlite3_keyword_count","int"],["sqlite3_keyword_name","int",["int","**","*"]],["sqlite3_keyword_check","int",["string","int"]],["sqlite3_libversion","string"],["sqlite3_libversion_number","int"],["sqlite3_limit","int",["sqlite3*","int","int"]],["sqlite3_malloc","*","int"],["sqlite3_next_stmt","sqlite3_stmt*",["sqlite3*","sqlite3_stmt*"]],["sqlite3_open","int","string","*"],["sqlite3_open_v2","int","string","*","int","string"],["sqlite3_realloc","*","*","int"],["sqlite3_reset","int","sqlite3_stmt*"],["sqlite3_result_blob",void 0,"sqlite3_context*","*","int","*"],["sqlite3_result_double",void 0,"sqlite3_context*","f64"],["sqlite3_result_error",void 0,"sqlite3_context*","string","int"],["sqlite3_result_error_code",void 0,"sqlite3_context*","int"],["sqlite3_result_error_nomem",void 0,"sqlite3_context*"],["sqlite3_result_error_toobig",void 0,"sqlite3_context*"],["sqlite3_result_int",void 0,"sqlite3_context*","int"],["sqlite3_result_null",void 0,"sqlite3_context*"],["sqlite3_result_pointer",void 0,"sqlite3_context*","*","string:static","*"],["sqlite3_result_subtype",void 0,"sqlite3_value*","int"],["sqlite3_result_text",void 0,"sqlite3_context*","string","int","*"],["sqlite3_result_zeroblob",void 0,"sqlite3_context*","int"],["sqlite3_rollback_hook","void*",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"sqlite3_rollback_hook",signature:"v(p)",contextKey:(w)=>w[0]}),"*"]],["sqlite3_set_auxdata",void 0,["sqlite3_context*","int","*","*"]],["sqlite3_set_errmsg","int","sqlite3*","int","string"],["sqlite3_shutdown",void 0],["sqlite3_sourceid","string"],["sqlite3_sql","string","sqlite3_stmt*"],["sqlite3_status","int","int","*","*","int"],["sqlite3_step","int","sqlite3_stmt*"],["sqlite3_stmt_busy","int","sqlite3_stmt*"],["sqlite3_stmt_readonly","int","sqlite3_stmt*"],["sqlite3_stmt_status","int","sqlite3_stmt*","int","int"],["sqlite3_strglob","int","string","string"],["sqlite3_stricmp","int","string","string"],["sqlite3_strlike","int","string","string","int"],["sqlite3_strnicmp","int","string","string","int"],["sqlite3_table_column_metadata","int","sqlite3*","string","string","string","**","**","*","*","*"],["sqlite3_total_changes","int","sqlite3*"],["sqlite3_trace_v2","int",["sqlite3*","int",new a.xWrap.FuncPtrAdapter({name:"sqlite3_trace_v2::callback",signature:"i(ippp)",contextKey:(w,g)=>w[0]}),"*"]],["sqlite3_txn_state","int",["sqlite3*","string"]],["sqlite3_uri_boolean","int","sqlite3_filename","string","int"],["sqlite3_uri_key","string","sqlite3_filename","int"],["sqlite3_uri_parameter","string","sqlite3_filename","string"],["sqlite3_user_data","void*","sqlite3_context*"],["sqlite3_value_blob","*","sqlite3_value*"],["sqlite3_value_bytes","int","sqlite3_value*"],["sqlite3_value_double","f64","sqlite3_value*"],["sqlite3_value_dup","sqlite3_value*","sqlite3_value*"],["sqlite3_value_free",void 0,"sqlite3_value*"],["sqlite3_value_frombind","int","sqlite3_value*"],["sqlite3_value_int","int","sqlite3_value*"],["sqlite3_value_nochange","int","sqlite3_value*"],["sqlite3_value_numeric_type","int","sqlite3_value*"],["sqlite3_value_pointer","*","sqlite3_value*","string:static"],["sqlite3_value_subtype","int","sqlite3_value*"],["sqlite3_value_type","int","sqlite3_value*"],["sqlite3_vfs_find","*","string"],["sqlite3_vfs_register","int","sqlite3_vfs*","int"],["sqlite3_vfs_unregister","int","sqlite3_vfs*"]],int64:[["sqlite3_bind_int64","int",["sqlite3_stmt*","int","i64"]],["sqlite3_changes64","i64",["sqlite3*"]],["sqlite3_column_int64","i64",["sqlite3_stmt*","int"]],["sqlite3_deserialize","int","sqlite3*","string","*","i64","i64","int"],["sqlite3_last_insert_rowid","i64",["sqlite3*"]],["sqlite3_malloc64","*","i64"],["sqlite3_msize","i64","*"],["sqlite3_overload_function","int",["sqlite3*","string","int"]],["sqlite3_realloc64","*","*","i64"],["sqlite3_result_int64",void 0,"*","i64"],["sqlite3_result_zeroblob64","int","*","i64"],["sqlite3_serialize","*","sqlite3*","string","*","int"],["sqlite3_set_last_insert_rowid",void 0,["sqlite3*","i64"]],["sqlite3_status64","int","int","*","*","int"],["sqlite3_db_status64","int","sqlite3*","int","*","*","int"],["sqlite3_total_changes64","i64",["sqlite3*"]],["sqlite3_update_hook","*",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"sqlite3_update_hook::callback",signature:"v(pippj)",contextKey:(w)=>w[0],callProxy:(w)=>(g,L,x,A,D)=>{w(g,L,a.cstrToJs(x),a.cstrToJs(A),D)}}),"*"]],["sqlite3_uri_int64","i64",["sqlite3_filename","string","i64"]],["sqlite3_value_int64","i64","sqlite3_value*"]],wasmInternal:[["sqlite3__wasm_db_reset","int","sqlite3*"],["sqlite3__wasm_db_vfs","sqlite3_vfs*","sqlite3*","string"],["sqlite3__wasm_vfs_create_file","int","sqlite3_vfs*","string","*","int"],["sqlite3__wasm_posix_create_file","int","string","*","int"],["sqlite3__wasm_vfs_unlink","int","sqlite3_vfs*","string"],["sqlite3__wasm_qfmt_token","string:dealloc","string","int"]]};if(a.exports.sqlite3_progress_handler)p.core.push(["sqlite3_progress_handler",void 0,["sqlite3*","int",new a.xWrap.FuncPtrAdapter({name:"xProgressHandler",signature:"i(p)",bindScope:"context",contextKey:(w,g)=>w[0]}),"*"]]);if(a.exports.sqlite3_stmt_explain)p.core.push(["sqlite3_stmt_explain","int","sqlite3_stmt*","int"],["sqlite3_stmt_isexplain","int","sqlite3_stmt*"]);if(a.exports.sqlite3_set_authorizer)p.core.push(["sqlite3_set_authorizer","int",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"sqlite3_set_authorizer::xAuth",signature:"i(pissss)",contextKey:(w,g)=>w[0],callProxy:(w)=>(g,L,x,A,D,z)=>{try{return x=x&&a.cstrToJs(x),A=A&&a.cstrToJs(A),D=D&&a.cstrToJs(D),z=z&&a.cstrToJs(z),w(g,L,x,A,D,z)|0}catch(f){return f.resultCode||r.SQLITE_ERROR}}}),"*"]]);if(a.exports.sqlite3_column_origin_name)p.core.push(["sqlite3_column_database_name","string","sqlite3_stmt*","int"],["sqlite3_column_origin_name","string","sqlite3_stmt*","int"],["sqlite3_column_table_name","string","sqlite3_stmt*","int"]);if(a.exports.sqlite3_key_v2)p.core.push(["sqlite3_key","int","sqlite3*","string","int"],["sqlite3_key_v2","int","sqlite3*","string","*","int"],["sqlite3_rekey","int","sqlite3*","string","int"],["sqlite3_rekey_v2","int","sqlite3*","string","*","int"],["sqlite3_activate_see",void 0,"string"],["sqlite3mc_cipher_count","int"],["sqlite3mc_cipher_index","int","string"],["sqlite3mc_cipher_name","string","int"],["sqlite3mc_cipher_name_copy","int","int","string","int"],["sqlite3mc_config","int","sqlite3*","string","int"],["sqlite3mc_config_cipher","int","sqlite3*","string","string","int"],["sqlite3mc_codec_data","string","sqlite3*","string","string"],["sqlite3mc_version","string"],["sqlite3mc_vfs_create","int","string","int"],["sqlite3mc_vfs_destroy",void 0,"string"],["sqlite3mc_vfs_shutdown",void 0]);if(a.bigIntEnabled&&!!a.exports.sqlite3_declare_vtab)p.int64.push(["sqlite3_create_module","int",["sqlite3*","string","sqlite3_module*","*"]],["sqlite3_create_module_v2","int",["sqlite3*","string","sqlite3_module*","*","*"]],["sqlite3_declare_vtab","int",["sqlite3*","string:flexible"]],["sqlite3_drop_modules","int",["sqlite3*","**"]],["sqlite3_vtab_collation","string","sqlite3_index_info*","int"],["sqlite3_vtab_distinct","int","sqlite3_index_info*"],["sqlite3_vtab_in","int","sqlite3_index_info*","int","int"],["sqlite3_vtab_in_first","int","sqlite3_value*","**"],["sqlite3_vtab_in_next","int","sqlite3_value*","**"],["sqlite3_vtab_nochange","int","sqlite3_context*"],["sqlite3_vtab_on_conflict","int","sqlite3*"],["sqlite3_vtab_rhs_value","int","sqlite3_index_info*","int","**"]);if(a.bigIntEnabled&&!!a.exports.sqlite3_preupdate_hook)p.int64.push(["sqlite3_preupdate_blobwrite","int","sqlite3*"],["sqlite3_preupdate_count","int","sqlite3*"],["sqlite3_preupdate_depth","int","sqlite3*"],["sqlite3_preupdate_hook","*",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"sqlite3_preupdate_hook",signature:"v(ppippjj)",contextKey:(w)=>w[0],callProxy:(w)=>(g,L,x,A,D,z,f)=>{w(g,L,x,a.cstrToJs(A),a.cstrToJs(D),z,f)}}),"*"]],["sqlite3_preupdate_new","int",["sqlite3*","int","**"]],["sqlite3_preupdate_old","int",["sqlite3*","int","**"]]);if(a.bigIntEnabled&&!!a.exports.sqlite3changegroup_add&&!!a.exports.sqlite3session_create&&!!a.exports.sqlite3_preupdate_hook){let w={signature:"i(ps)",callProxy:(g)=>(L,x)=>{try{return g(L,a.cstrToJs(x))|0}catch(A){return A.resultCode||r.SQLITE_ERROR}}};p.int64.push(["sqlite3changegroup_add","int",["sqlite3_changegroup*","int","void*"]],["sqlite3changegroup_add_strm","int",["sqlite3_changegroup*",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changegroup_delete",void 0,["sqlite3_changegroup*"]],["sqlite3changegroup_new","int",["**"]],["sqlite3changegroup_output","int",["sqlite3_changegroup*","int*","**"]],["sqlite3changegroup_output_strm","int",["sqlite3_changegroup*",new a.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply","int",["sqlite3*","int","void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...w}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_strm","int",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...w}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_v2","int",["sqlite3*","int","void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...w}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v2_strm","int",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...w}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3","int",["sqlite3*","int","void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3_strm","int",["sqlite3*",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new a.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_concat","int",["int","void*","int","void*","int*","**"]],["sqlite3changeset_concat_strm","int",[new a.xWrap.FuncPtrAdapter({name:"xInputA",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xInputB",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_conflict","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_finalize","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_fk_conflicts","int",["sqlite3_changeset_iter*","int*"]],["sqlite3changeset_invert","int",["int","void*","int*","**"]],["sqlite3changeset_invert_strm","int",[new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new a.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_new","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_next","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_old","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_op","int",["sqlite3_changeset_iter*","**","int*","int*","int*"]],["sqlite3changeset_pk","int",["sqlite3_changeset_iter*","**","int*"]],["sqlite3changeset_start","int",["**","int","*"]],["sqlite3changeset_start_strm","int",["**",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changeset_start_v2","int",["**","int","*","int"]],["sqlite3changeset_start_v2_strm","int",["**",new a.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*","int"]],["sqlite3session_attach","int",["sqlite3_session*","string"]],["sqlite3session_changeset","int",["sqlite3_session*","int*","**"]],["sqlite3session_changeset_size","i64",["sqlite3_session*"]],["sqlite3session_changeset_strm","int",["sqlite3_session*",new a.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_config","int",["int","void*"]],["sqlite3session_create","int",["sqlite3*","string","**"]],["sqlite3session_diff","int",["sqlite3_session*","string","string","**"]],["sqlite3session_enable","int",["sqlite3_session*","int"]],["sqlite3session_indirect","int",["sqlite3_session*","int"]],["sqlite3session_isempty","int",["sqlite3_session*"]],["sqlite3session_memory_used","i64",["sqlite3_session*"]],["sqlite3session_object_config","int",["sqlite3_session*","int","void*"]],["sqlite3session_patchset","int",["sqlite3_session*","*","**"]],["sqlite3session_patchset_strm","int",["sqlite3_session*",new a.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_table_filter",void 0,["sqlite3_session*",new a.xWrap.FuncPtrAdapter({name:"xFilter",...w,contextKey:(g,L)=>g[0]}),"*"]])}i.StructBinder=globalThis.Jaccwabyt({heap:a.heap8u,alloc:a.alloc,dealloc:a.dealloc,bigIntEnabled:a.bigIntEnabled,pointerIR:a.ptr.ir,memberPrefix:"$"}),delete globalThis.Jaccwabyt;{let w=a.xWrap.argAdapter("string");a.xWrap.argAdapter("string:flexible",(A)=>w(c.flexibleString(A))),a.xWrap.argAdapter("string:static",function(A){if(a.isPtr(A))return A;return A=""+A,this[A]||(this[A]=a.allocCString(A))}.bind(Object.create(null)));let g=a.xWrap.argAdapter("*"),L=function(){};if(a.xWrap.argAdapter("sqlite3_filename",g)("sqlite3_context*",g)("sqlite3_value*",g)("void*",g)("sqlite3_changegroup*",g)("sqlite3_changeset_iter*",g)("sqlite3_session*",g)("sqlite3_stmt*",(A)=>g(A instanceof(i?.oo1?.Stmt||L)?A.pointer:A))("sqlite3*",(A)=>g(A instanceof(i?.oo1?.DB||L)?A.pointer:A))("sqlite3_vfs*",(A)=>{if(typeof A==="string")return r.sqlite3_vfs_find(A)||i.SQLite3Error.toss(r.SQLITE_NOTFOUND,"Unknown sqlite3_vfs name:",A);return g(A instanceof(r.sqlite3_vfs||L)?A.pointer:A)}),a.exports.sqlite3_declare_vtab)a.xWrap.argAdapter("sqlite3_index_info*",(A)=>g(A instanceof(r.sqlite3_index_info||L)?A.pointer:A))("sqlite3_module*",(A)=>g(A instanceof(r.sqlite3_module||L)?A.pointer:A));let x=a.xWrap.resultAdapter("*");a.xWrap.resultAdapter("sqlite3*",x)("sqlite3_context*",x)("sqlite3_stmt*",x)("sqlite3_value*",x)("sqlite3_vfs*",x)("void*",x);for(let A of p.core)r[A[0]]=a.xWrap.apply(null,A);for(let A of p.wasmInternal)c[A[0]]=a.xWrap.apply(null,A);for(let A of p.int64)r[A[0]]=a.bigIntEnabled?a.xWrap.apply(null,A):()=>n(A[0]+"() is unavailable due to lack","of BigInt support in this build.");delete p.core,delete p.int64,delete p.wasmInternal,c.sqlite3__wasm_db_error=function(A,D,z){if(!A)return r.SQLITE_MISUSE;if(D instanceof i.WasmAllocError)D=r.SQLITE_NOMEM,z=0;else if(D instanceof Error)z=z||""+D,D=D.resultCode||r.SQLITE_ERROR;return r.sqlite3_set_errmsg(A,D,z)||D}}{let w=a.xCall("sqlite3__wasm_enum_json");if(!w)n("Maintenance required: increase sqlite3__wasm_enum_json()'s","static buffer size!");a.ctype=JSON.parse(a.cstrToJs(w));let g=["access","authorizer","blobFinalizers","changeset","config","dataTypes","dbConfig","dbStatus","encodings","fcntl","flock","ioCap","limits","openFlags","prepareFlags","resultCodes","sqlite3Status","stmtStatus","syncFlags","trace","txnState","udfFlags","version"];if(a.bigIntEnabled)g.push("serialize","session","vtab");for(let A of g)for(let D of Object.entries(a.ctype[A]))r[D[0]]=D[1];if(!a.functionEntry(r.SQLITE_WASM_DEALLOC))n("Internal error: cannot resolve exported function","entry SQLITE_WASM_DEALLOC (=="+r.SQLITE_WASM_DEALLOC+").");let L=Object.create(null);for(let A of Object.entries(a.ctype.resultCodes))L[A[1]]=A[0];r.sqlite3_js_rc_str=(A)=>L[A];let x=Object.assign(Object.create(null),{WasmTestStruct:!0,sqlite3_index_info:!a.bigIntEnabled,sqlite3_index_constraint:!a.bigIntEnabled,sqlite3_index_orderby:!a.bigIntEnabled,sqlite3_index_constraint_usage:!a.bigIntEnabled});for(let A of a.ctype.structs)if(!x[A.name])r[A.name]=i.StructBinder(A);if(r.sqlite3_index_info){for(let A of["sqlite3_index_constraint","sqlite3_index_orderby","sqlite3_index_constraint_usage"])r.sqlite3_index_info[A]=r[A],delete r[A];r.sqlite3_vtab_config=a.xWrap("sqlite3__wasm_vtab_config","int",["sqlite3*","int","int"])}}let I=(w,g,L)=>c.sqlite3__wasm_db_error(w,r.SQLITE_MISUSE,g+"() requires "+L+" argument"+(L===1?"":"s")+"."),y=(w)=>c.sqlite3__wasm_db_error(w,r.SQLITE_FORMAT,"SQLITE_UTF8 is the only supported encoding."),N=(w)=>a.xWrap.argAdapter("sqlite3*")(w),M=(w)=>a.isPtr(w)?a.cstrToJs(w):w,h=function(w,g){w=N(w);let L=this.dbMap.get(w);if(!g)return this.dbMap.delete(w),L;else if(!L&&g>0)this.dbMap.set(w,L=Object.create(null));return L}.bind(Object.assign(Object.create(null),{dbMap:new Map}));if(h.addCollation=function(w,g){let L=h(w,1);if(!L.collation)L.collation=new Set;L.collation.add(M(g).toLowerCase())},h._addUDF=function(w,g,L,x){g=M(g).toLowerCase();let A=x.get(g);if(!A)x.set(g,A=new Set);A.add(L<0?-1:L)},h.addFunction=function(w,g,L){let x=h(w,1);if(!x.udf)x.udf=new Map;this._addUDF(w,g,L,x.udf)},a.exports.sqlite3_create_window_function)h.addWindowFunc=function(w,g,L){let x=h(w,1);if(!x.wudf)x.wudf=new Map;this._addUDF(w,g,L,x.wudf)};h.cleanup=function(w){w=N(w);for(let x of[["sqlite3_busy_handler",3],["sqlite3_commit_hook",3],["sqlite3_preupdate_hook",3],["sqlite3_progress_handler",4],["sqlite3_rollback_hook",3],["sqlite3_set_authorizer",3],["sqlite3_trace_v2",4],["sqlite3_update_hook",3]]){let[A,D]=x;if(!a.exports[A])continue;let f=[w];f.length=D;try{r[A](...f)}catch(q){i.config.warn("close-time call of",A+"(",f,") threw:",q)}}let g=h(w,0);if(!g)return;if(g.collation){for(let x of g.collation)try{r.sqlite3_create_collation_v2(w,x,r.SQLITE_UTF8,0,0,0)}catch(A){}delete g.collation}let L;for(L=0;L<2;++L){let x=L?g.wudf:g.udf;if(!x)continue;let A=L?r.sqlite3_create_window_function:r.sqlite3_create_function_v2;for(let D of x){let z=D[0],f=D[1],q=[w,z,0,r.SQLITE_UTF8,0,0,0,0,0];if(L)q.push(0);for(let R of f)try{q[2]=R,A.apply(null,q)}catch(G){}f.clear()}x.clear()}delete g.udf,delete g.wudf};{let w=a.xWrap("sqlite3_close_v2","int","sqlite3*");r.sqlite3_close_v2=function(g){if(arguments.length!==1)return I(g,"sqlite3_close_v2",1);if(g)try{h.cleanup(g)}catch(L){}return w(g)}}if(r.sqlite3session_create){let w=a.xWrap("sqlite3session_delete",void 0,["sqlite3_session*"]);r.sqlite3session_delete=function(g){if(arguments.length!==1)return I(pDb,"sqlite3session_delete",1);else if(g)r.sqlite3session_table_filter(g,0,0);w(g)}}{let w=(L,x)=>"argv["+x+"]:"+L[0]+":"+a.cstrToJs(L[1]).toLowerCase(),g=a.xWrap("sqlite3_create_collation_v2","int",["sqlite3*","string","int","*",new a.xWrap.FuncPtrAdapter({name:"xCompare",signature:"i(pipip)",contextKey:w}),new a.xWrap.FuncPtrAdapter({name:"xDestroy",signature:"v(p)",contextKey:w})]);r.sqlite3_create_collation_v2=function(L,x,A,D,z,f){if(arguments.length!==6)return I(L,"sqlite3_create_collation_v2",6);else if((A&15)===0)A|=r.SQLITE_UTF8;else if(r.SQLITE_UTF8!==(A&15))return y(L);try{let q=g(L,x,A,D,z,f);if(q===0&&z instanceof Function)h.addCollation(L,x);return q}catch(q){return c.sqlite3__wasm_db_error(L,q)}},r.sqlite3_create_collation=(L,x,A,D,z)=>arguments.length===5?r.sqlite3_create_collation_v2(L,x,A,D,z,0):I(L,"sqlite3_create_collation",5)}{let w=function(A,D){return A[0]+":"+(A[2]<0?-1:A[2])+":"+D+":"+a.cstrToJs(A[1]).toLowerCase()},g=Object.assign(Object.create(null),{xInverseAndStep:{signature:"v(pip)",contextKey:w,callProxy:(A)=>(D,z,f)=>{try{A(D,...r.sqlite3_values_to_js(z,f))}catch(q){r.sqlite3_result_error_js(D,q)}}},xFinalAndValue:{signature:"v(p)",contextKey:w,callProxy:(A)=>(D)=>{try{r.sqlite3_result_js(D,A(D))}catch(z){r.sqlite3_result_error_js(D,z)}}},xFunc:{signature:"v(pip)",contextKey:w,callProxy:(A)=>(D,z,f)=>{try{r.sqlite3_result_js(D,A(D,...r.sqlite3_values_to_js(z,f)))}catch(q){r.sqlite3_result_error_js(D,q)}}},xDestroy:{signature:"v(p)",contextKey:w,callProxy:(A)=>(D)=>{try{A(D)}catch(z){console.error("UDF xDestroy method threw:",z)}}}}),L=a.xWrap("sqlite3_create_function_v2","int",["sqlite3*","string","int","int","*",new a.xWrap.FuncPtrAdapter({name:"xFunc",...g.xFunc}),new a.xWrap.FuncPtrAdapter({name:"xStep",...g.xInverseAndStep}),new a.xWrap.FuncPtrAdapter({name:"xFinal",...g.xFinalAndValue}),new a.xWrap.FuncPtrAdapter({name:"xDestroy",...g.xDestroy})]),x=a.exports.sqlite3_create_window_function?a.xWrap("sqlite3_create_window_function","int",["sqlite3*","string","int","int","*",new a.xWrap.FuncPtrAdapter({name:"xStep",...g.xInverseAndStep}),new a.xWrap.FuncPtrAdapter({name:"xFinal",...g.xFinalAndValue}),new a.xWrap.FuncPtrAdapter({name:"xValue",...g.xFinalAndValue}),new a.xWrap.FuncPtrAdapter({name:"xInverse",...g.xInverseAndStep}),new a.xWrap.FuncPtrAdapter({name:"xDestroy",...g.xDestroy})]):void 0;if(r.sqlite3_create_function_v2=function A(D,z,f,q,R,G,ie,le,me){if(A.length!==arguments.length)return I(D,"sqlite3_create_function_v2",A.length);else if((q&15)===0)q|=r.SQLITE_UTF8;else if(r.SQLITE_UTF8!==(q&15))return y(D);try{let ye=L(D,z,f,q,R,G,ie,le,me);if(ye===0&&(G instanceof Function||ie instanceof Function||le instanceof Function||me instanceof Function))h.addFunction(D,z,f);return ye}catch(ye){return console.error("sqlite3_create_function_v2() setup threw:",ye),c.sqlite3__wasm_db_error(D,ye,"Creation of UDF threw: "+ye)}},r.sqlite3_create_function=function A(D,z,f,q,R,G,ie,le){return A.length===arguments.length?r.sqlite3_create_function_v2(D,z,f,q,R,G,ie,le,0):I(D,"sqlite3_create_function",A.length)},x)r.sqlite3_create_window_function=function A(D,z,f,q,R,G,ie,le,me,ye){if(A.length!==arguments.length)return I(D,"sqlite3_create_window_function",A.length);else if((q&15)===0)q|=r.SQLITE_UTF8;else if(r.SQLITE_UTF8!==(q&15))return y(D);try{let H=x(D,z,f,q,R,G,ie,le,me,ye);if(H===0&&(G instanceof Function||ie instanceof Function||le instanceof Function||me instanceof Function||ye instanceof Function))h.addWindowFunc(D,z,f);return H}catch(H){return console.error("sqlite3_create_window_function() setup threw:",H),c.sqlite3__wasm_db_error(D,H,"Creation of UDF threw: "+H)}};else delete r.sqlite3_create_window_function;if(r.sqlite3_create_function_v2.udfSetResult=r.sqlite3_create_function.udfSetResult=r.sqlite3_result_js,r.sqlite3_create_window_function)r.sqlite3_create_window_function.udfSetResult=r.sqlite3_result_js;if(r.sqlite3_create_function_v2.udfConvertArgs=r.sqlite3_create_function.udfConvertArgs=r.sqlite3_values_to_js,r.sqlite3_create_window_function)r.sqlite3_create_window_function.udfConvertArgs=r.sqlite3_values_to_js;if(r.sqlite3_create_function_v2.udfSetError=r.sqlite3_create_function.udfSetError=r.sqlite3_result_error_js,r.sqlite3_create_window_function)r.sqlite3_create_window_function.udfSetError=r.sqlite3_result_error_js}{let w=(L,x)=>{if(typeof L==="string")x=-1;else if(c.isSQLableTypedArray(L))x=L.byteLength,L=a.typedArrayToString(L instanceof ArrayBuffer?new Uint8Array(L):L);else if(Array.isArray(L))L=L.join(""),x=-1;return[L,x]},g={basic:a.xWrap("sqlite3_prepare_v3","int",["sqlite3*","string","int","int","**","**"]),full:a.xWrap("sqlite3_prepare_v3","int",["sqlite3*","*","int","int","**","**"])};r.sqlite3_prepare_v3=function L(x,A,D,z,f,q){if(L.length!==arguments.length)return I(x,"sqlite3_prepare_v3",L.length);let[R,G]=w(A,Number(D));switch(typeof R){case"string":return g.basic(x,R,G,z,f,null);case typeof a.ptr.null:return g.full(x,a.ptr.coerce(R),G,z,f,q);default:return c.sqlite3__wasm_db_error(x,r.SQLITE_MISUSE,"Invalid SQL argument type for sqlite3_prepare_v2/v3(). typeof="+typeof R)}},r.sqlite3_prepare_v2=function L(x,A,D,z,f){return L.length===arguments.length?r.sqlite3_prepare_v3(x,A,D,0,z,f):I(x,"sqlite3_prepare_v2",L.length)}}{let w=a.xWrap("sqlite3_bind_text","int",["sqlite3_stmt*","int","string","int","*"]),g=a.xWrap("sqlite3_bind_blob","int",["sqlite3_stmt*","int","*","int","*"]);r.sqlite3_bind_text=function L(x,A,D,z,f){if(L.length!==arguments.length)return I(r.sqlite3_db_handle(x),"sqlite3_bind_text",L.length);else if(a.isPtr(D)||D===null)return w(x,A,D,z,f);else if(D instanceof ArrayBuffer)D=new Uint8Array(D);else if(Array.isArray(pMem))D=pMem.join("");let q,R;try{if(c.isSQLableTypedArray(D))q=a.allocFromTypedArray(D),R=D.byteLength;else if(typeof D==="string")[q,R]=a.allocCString(D);else return c.sqlite3__wasm_db_error(r.sqlite3_db_handle(x),r.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_text().");return w(x,A,q,R,r.SQLITE_WASM_DEALLOC)}catch(G){return a.dealloc(q),c.sqlite3__wasm_db_error(r.sqlite3_db_handle(x),G)}},r.sqlite3_bind_blob=function L(x,A,D,z,f){if(L.length!==arguments.length)return I(r.sqlite3_db_handle(x),"sqlite3_bind_blob",L.length);else if(a.isPtr(D)||D===null)return g(x,A,D,z,f);else if(D instanceof ArrayBuffer)D=new Uint8Array(D);else if(Array.isArray(D))D=D.join("");let q,R;try{if(c.isBindableTypedArray(D))q=a.allocFromTypedArray(D),R=z>=0?z:D.byteLength;else if(typeof D==="string")[q,R]=a.allocCString(D);else return c.sqlite3__wasm_db_error(r.sqlite3_db_handle(x),r.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_blob().");return g(x,A,q,R,r.SQLITE_WASM_DEALLOC)}catch(G){return a.dealloc(q),c.sqlite3__wasm_db_error(r.sqlite3_db_handle(x),G)}}}if(!r.sqlite3_column_text){let w=a.xWrap.argAdapter("sqlite3_stmt*"),g=a.xWrap.argAdapter("int"),L=a.xWrap.argAdapter("sqlite3_value*"),x=(A,D)=>a.typedArrayToString(a.heap8u(),Number(A),Number(A)+D);r.sqlite3_column_text=function(A,D){let z=w(A),f=g(D),q=a.exports.sqlite3_column_text(z,f);return q?x(q,a.exports.sqlite3_column_bytes(z,f)):null},r.sqlite3_value_text=function(A){let D=L(A),z=a.exports.sqlite3_value_text(D);return z?x(z,a.exports.sqlite3_value_bytes(D)):null}}r.sqlite3_config=function(w,...g){if(arguments.length<2)return r.SQLITE_MISUSE;switch(w){case r.SQLITE_CONFIG_COVERING_INDEX_SCAN:case r.SQLITE_CONFIG_MEMSTATUS:case r.SQLITE_CONFIG_SMALL_MALLOC:case r.SQLITE_CONFIG_SORTERREF_SIZE:case r.SQLITE_CONFIG_STMTJRNL_SPILL:case r.SQLITE_CONFIG_URI:return a.exports.sqlite3__wasm_config_i(w,g[0]);case r.SQLITE_CONFIG_LOOKASIDE:return a.exports.sqlite3__wasm_config_ii(w,g[0],g[1]);case r.SQLITE_CONFIG_MEMDB_MAXSIZE:return a.exports.sqlite3__wasm_config_j(w,g[0]);case r.SQLITE_CONFIG_GETMALLOC:case r.SQLITE_CONFIG_GETMUTEX:case r.SQLITE_CONFIG_GETPCACHE2:case r.SQLITE_CONFIG_GETPCACHE:case r.SQLITE_CONFIG_HEAP:case r.SQLITE_CONFIG_LOG:case r.SQLITE_CONFIG_MALLOC:case r.SQLITE_CONFIG_MMAP_SIZE:case r.SQLITE_CONFIG_MULTITHREAD:case r.SQLITE_CONFIG_MUTEX:case r.SQLITE_CONFIG_PAGECACHE:case r.SQLITE_CONFIG_PCACHE2:case r.SQLITE_CONFIG_PCACHE:case r.SQLITE_CONFIG_PCACHE_HDRSZ:case r.SQLITE_CONFIG_PMASZ:case r.SQLITE_CONFIG_SERIALIZED:case r.SQLITE_CONFIG_SINGLETHREAD:case r.SQLITE_CONFIG_SQLLOG:case r.SQLITE_CONFIG_WIN32_HEAPSIZE:default:return r.SQLITE_NOTFOUND}};{let w=new Set;r.sqlite3_auto_extension=function(g){if(g instanceof Function)g=a.installFunction("i(ppp)",g);else if(arguments.length!==1||!a.isPtr(g))return r.SQLITE_MISUSE;let L=a.exports.sqlite3_auto_extension(g);if(g!==arguments[0])if(L===0)w.add(g);else a.uninstallFunction(g);return L},r.sqlite3_cancel_auto_extension=function(g){if(!g||arguments.length!==1||!a.isPtr(g))return 0;return a.exports.sqlite3_cancel_auto_extension(g)},r.sqlite3_reset_auto_extension=function(){a.exports.sqlite3_reset_auto_extension();for(let g of w)a.uninstallFunction(g);w.clear()}}a.xWrap.FuncPtrAdapter.warnOnUse=!0;let te=i.StructBinder,j=function w(g,L,x,A=w.installMethodArgcCheck){if(!(g instanceof te.StructType))n("Usage error: target object is-not-a StructType.");else if(!(x instanceof Function)&&!a.isPtr(x))n("Usage error: expecting a Function or WASM pointer to one.");if(arguments.length===1)return(q,R)=>w(g,q,R,A);if(!w.argcProxy)w.argcProxy=function(q,R,G,ie){return function(...le){if(G.length!==arguments.length)n("Argument mismatch for",q.structInfo.name+"::"+R+": Native signature is:",ie);return G.apply(this,le)}},w.removeFuncList=function(){if(this.ondispose.__removeFuncList)this.ondispose.__removeFuncList.forEach((q,R)=>{if(a.isPtr(q))try{a.uninstallFunction(q)}catch(G){}}),delete this.ondispose.__removeFuncList};let D=g.memberSignature(L);if(D.length<2)n("Member",L,"does not have a function pointer signature:",D);let z=g.memberKey(L),f=A&&!a.isPtr(x)?w.argcProxy(g,z,x,D):x;if(a.isPtr(f)){if(f&&!a.functionEntry(f))n("Pointer",f,"is not a WASM function table entry.");g[z]=f}else{let q=a.installFunction(f,D);if(g[z]=q,!g.ondispose||!g.ondispose.__removeFuncList)g.addOnDispose("ondispose.__removeFuncList handler",w.removeFuncList),g.ondispose.__removeFuncList=[];g.ondispose.__removeFuncList.push(z,q)}return(q,R)=>w(g,q,R,A)};j.installMethodArgcCheck=!1;let U=function(w,g,L=j.installMethodArgcCheck){let x=new Map;for(let A of Object.keys(g)){let D=g[A],z=x.get(D);if(z){let f=w.memberKey(A);w[f]=w[w.memberKey(z)]}else j(w,A,D,L),x.set(D,A)}return w};te.StructType.prototype.installMethod=function(g,L,x=j.installMethodArgcCheck){return arguments.length<3&&g&&typeof g==="object"?U(this,...arguments):j(this,...arguments)},te.StructType.prototype.installMethods=function(w,g=j.installMethodArgcCheck){return U(this,w,g)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){let n=(...d)=>{throw new i.SQLite3Error(...d)},{capi:r,wasm:a,util:c}=i,p=function(d){return(...m)=>d("sqlite3.oo1:",...m)},I=i.__isUnderTest?p(console.debug.bind(console)):p(i.config.debug),y=i.__isUnderTest?p(console.warn.bind(console)):p(i.config.warn),N=i.__isUnderTest?p(console.error.bind(console)):p(i.config.error),M=new WeakMap,h=new Set,te=new WeakMap,j=(d,m,T)=>{let P=Object.getOwnPropertyDescriptor(d,m);return P?P.value:T},U=function(d,m){if(m){if(d instanceof D)d=d.pointer;n(m,"sqlite3 result code",m+":",d?r.sqlite3_errmsg(d):r.sqlite3_errstr(m))}return arguments[0]},w=a.installFunction("i(ippp)",function(d,m,T,P){if(r.SQLITE_TRACE_STMT===d)console.log("SQL TRACE #"+ ++this.counter,"via sqlite3@"+m+"["+r.sqlite3_db_filename(m,null)+"]",a.cstrToJs(P))}.bind({counter:0})),g=Object.create(null),L=function(d){if(d instanceof ArrayBuffer)d=new Uint8Array(d);let m=[],T="0123456789abcdef";for(let P of d)m.push(T[(P&240)>>4],T[P&15]);return m.join("")},x=function(d,m){if(!r.sqlite3_key_v2)return;let T,P,u=(m.key?1:0)+(m.hexkey?1:0)+(m.textkey?1:0);if(!u)return;else if(u>1)n(r.SQLITE_MISUSE,"Only ONE of (key, hexkey, textkey) may be provided.");if(m.key){if(T="key",P=m.key,typeof P==="string")P=new TextEncoder("utf-8").encode(P);if(P instanceof ArrayBuffer||P instanceof Uint8Array)P=L(P),T="hexkey";else{n(r.SQLITE_MISUSE,"Invalid value for the 'key' option. Expecting a string,","ArrayBuffer, or Uint8Array.");return}}else if(m.textkey){if(T="textkey",P=m.textkey,P instanceof ArrayBuffer)P=new Uint8Array(P);if(P instanceof Uint8Array)P=new TextDecoder("utf-8").decode(P);else if(typeof P!=="string")n(r.SQLITE_MISUSE,"Invalid value for the 'textkey' option. Expecting a string,","ArrayBuffer, or Uint8Array.")}else if(m.hexkey){if(T="hexkey",P=m.hexkey,P instanceof ArrayBuffer||P instanceof Uint8Array)P=L(P);else if(typeof P!=="string")n(r.SQLITE_MISUSE,"Invalid value for the 'hexkey' option. Expecting a string,","ArrayBuffer, or Uint8Array.")}else return;let E;try{return E=d.prepare("PRAGMA "+T+"="+c.sqlite3__wasm_qfmt_token(P,1)),E.step(),!0}finally{if(E)E.finalize()}},A=function d(...m){let T=d.normalizeArgs(...m),P;if(P=T["sqlite3*"]){if(!T["sqlite3*:takeOwnership"])h.add(this);this.filename=r.sqlite3_db_filename(P,"main")}else{let{filename:u,vfs:E,flags:W}=T;if(typeof u!=="string"&&!a.isPtr(u)||typeof W!=="string"||E&&(typeof E!=="string"&&!a.isPtr(E)))i.config.error("Invalid DB ctor args",T,arguments),n("Invalid arguments for DB constructor:",arguments,"opts:",T);let Z=0;if(W.indexOf("c")>=0)Z|=r.SQLITE_OPEN_CREATE|r.SQLITE_OPEN_READWRITE;if(W.indexOf("w")>=0)Z|=r.SQLITE_OPEN_READWRITE;if(Z===0)Z|=r.SQLITE_OPEN_READONLY;Z|=r.SQLITE_OPEN_EXRESCODE;let Q=a.pstack.pointer;try{let oe=a.pstack.allocPtr(),_e=r.sqlite3_open_v2(u,oe,Z,E||a.ptr.null);if(P=a.peekPtr(oe),U(P,_e),r.sqlite3_extended_result_codes(P,1),W.indexOf("t")>=0)r.sqlite3_trace_v2(P,r.SQLITE_TRACE_STMT,w,P)}catch(oe){if(P)r.sqlite3_close_v2(P);throw oe}finally{a.pstack.restore(Q)}this.filename=a.isPtr(u)?a.cstrToJs(u):u}if(M.set(this,P),te.set(this,Object.create(null)),!T["sqlite3*"])try{x(this,T);let u=r.sqlite3_js_db_vfs(P)||n("Internal error: cannot get VFS for new db handle."),E=g[u];if(E)if(E instanceof Function)E(this,i);else U(P,r.sqlite3_exec(P,E,0,0,0))}catch(u){throw this.close(),u}};A.setVfsPostOpenCallback=function(d,m){if(!(m instanceof Function))n("dbCtorHelper.setVfsPostOpenCallback() should not be used with a non-function argument.",arguments);g[d]=m},A.normalizeArgs=function(d=":memory:",m="c",T=null){let P={};if(arguments.length===1&&arguments[0]&&typeof arguments[0]==="object"){if(Object.assign(P,arguments[0]),P.flags===void 0)P.flags="c";if(P.vfs===void 0)P.vfs=null;if(P.filename===void 0)P.filename=":memory:"}else P.filename=d,P.flags=m,P.vfs=T;return P};let D=function(...d){A.apply(this,d)};D.dbCtorHelper=A;let z={null:1,number:2,string:3,boolean:4,blob:5};if(a.bigIntEnabled)z.bigint=z.number;let f=function(){if(z!==arguments[2])n(r.SQLITE_MISUSE,"Do not call the Stmt constructor directly. Use DB.prepare().");if(this.db=arguments[0],M.set(this,arguments[1]),arguments.length>3&&!arguments[3])h.add(this)},q=function(d){if(!d.pointer)n("DB has been closed.");return d},R=function(d,m){if(m!==(m|0)||m<0||m>=d.columnCount)n("Column index",m,"is out of range.");return d},G=function(d,m){let T=Object.create(null);switch(T.opt=Object.create(null),m.length){case 1:if(typeof m[0]==="string"||c.isSQLableTypedArray(m[0]))T.sql=m[0];else if(Array.isArray(m[0]))T.sql=m[0];else if(m[0]&&typeof m[0]==="object")T.opt=m[0],T.sql=T.opt.sql;break;case 2:T.sql=m[0],T.opt=m[1];break;default:n("Invalid argument count for exec().")}if(T.sql=c.flexibleString(T.sql),typeof T.sql!=="string")n("Missing SQL argument or unsupported SQL value type.");let P=T.opt;switch(P.returnValue){case"resultRows":if(!P.resultRows)P.resultRows=[];T.returnVal=()=>P.resultRows;break;case"saveSql":if(!P.saveSql)P.saveSql=[];T.returnVal=()=>P.saveSql;break;case void 0:case"this":T.returnVal=()=>d;break;default:n("Invalid returnValue value:",P.returnValue)}if(!P.callback&&!P.returnValue&&P.rowMode!==void 0){if(!P.resultRows)P.resultRows=[];T.returnVal=()=>P.resultRows}if(P.callback||P.resultRows)switch(P.rowMode===void 0?"array":P.rowMode){case"object":T.cbArg=(u,E)=>{if(!E.columnNames)E.columnNames=u.getColumnNames([]);let W=u.get([]),Z=Object.create(null);for(let Q in E.columnNames)Z[E.columnNames[Q]]=W[Q];return Z};break;case"array":T.cbArg=(u)=>u.get([]);break;case"stmt":if(Array.isArray(P.resultRows))n("exec(): invalid rowMode for a resultRows array: must","be one of 'array', 'object',","a result column number, or column name reference.");T.cbArg=(u)=>u;break;default:if(c.isInt32(P.rowMode)){T.cbArg=(u)=>u.get(P.rowMode);break}else if(typeof P.rowMode==="string"&&P.rowMode.length>1&&P.rowMode[0]==="$"){let u=P.rowMode.substr(1);T.cbArg=(E)=>{let W=E.get(Object.create(null))[u];return W===void 0?n(r.SQLITE_NOTFOUND,"exec(): unknown result column:",u):W};break}n("Invalid rowMode:",P.rowMode)}return T},ie=(d,m,T,...P)=>{let u=d.prepare(m);try{let E=u.bind(T).step()?u.get(...P):void 0;return u.reset(),E}finally{u.finalize()}},le=(d,m,T,P)=>d.exec({sql:m,bind:T,rowMode:P,returnValue:"resultRows"});D.checkRc=(d,m)=>U(d,m),D.prototype={isOpen:function(){return!!this.pointer},affirmOpen:function(){return q(this)},close:function(){let d=this.pointer;if(d){if(this.onclose&&this.onclose.before instanceof Function)try{this.onclose.before(this)}catch(m){}if(Object.keys(te.get(this)).forEach((m,T)=>{if(T&&T.pointer)try{T.finalize()}catch(P){}}),M.delete(this),te.delete(this),!h.delete(this))r.sqlite3_close_v2(d);if(this.onclose&&this.onclose.after instanceof Function)try{this.onclose.after(this)}catch(m){}delete this.filename}},changes:function(d=!1,m=!1){let T=q(this).pointer;if(d)return m?r.sqlite3_total_changes64(T):r.sqlite3_total_changes(T);else return m?r.sqlite3_changes64(T):r.sqlite3_changes(T)},dbFilename:function(d="main"){return r.sqlite3_db_filename(q(this).pointer,d)},dbName:function(d=0){return r.sqlite3_db_name(q(this).pointer,d)},dbVfsName:function(d=0){let m,T=r.sqlite3_js_db_vfs(q(this).pointer,d);if(T){let P=new r.sqlite3_vfs(T);try{m=a.cstrToJs(P.$zName)}finally{P.dispose()}}return m},prepare:function(d){q(this);let m=a.pstack.pointer,T,P;try{T=a.pstack.alloc(8),D.checkRc(this,r.sqlite3_prepare_v2(this.pointer,d,-1,T,null)),P=a.peekPtr(T)}finally{a.pstack.restore(m)}if(!P)n("Cannot prepare empty SQL.");let u=new f(this,P,z);return te.get(this)[P]=u,u},exec:function(){q(this);let d=G(this,arguments);if(!d.sql)return n("exec() requires an SQL string.");let m=d.opt,T=m.callback,P=Array.isArray(m.resultRows)?m.resultRows:void 0,u,E=m.bind,W=!!(d.cbArg||m.columnNames||P),Z=a.scopedAllocPush(),Q=Array.isArray(m.saveSql)?m.saveSql:void 0;try{let oe=c.isSQLableTypedArray(d.sql),_e=oe?d.sql.byteLength:a.jstrlen(d.sql),Ee=a.scopedAlloc(2*a.ptr.size+(_e+1)),qe=a.ptr.add(Ee,a.ptr.size),Ce=a.ptr.add(qe,a.ptr.size),Re=a.ptr.add(Ce,_e);if(oe)a.heap8().set(d.sql,Ce);else a.jstrcpy(d.sql,a.heap8(),Ce,_e,!1);a.poke8(a.ptr.add(Ce,_e),0);while(Ce&&a.peek8(Ce)){a.pokePtr([Ee,qe],0),D.checkRc(this,r.sqlite3_prepare_v3(this.pointer,Ce,_e,0,Ee,qe));let Se=a.peekPtr(Ee);if(Ce=a.peekPtr(qe),_e=Number(a.ptr.add(Re,-Ce)),!Se)continue;if(Q)Q.push(r.sqlite3_sql(Se).trim());if(u=new f(this,Se,z),E&&u.parameterCount)u.bind(E),E=null;if(W&&u.columnCount){let O=Array.isArray(m.columnNames)?0:1;if(W=!1,d.cbArg||P){let B=Object.create(null);for(;u.step();_.delete(u)){if(O++===0)u.getColumnNames(B.columnNames=m.columnNames||[]);_.add(u);let J=d.cbArg(u,B);if(P)P.push(J);if(T&&T.call(m,J,u)===!1)break}_.delete(u)}if(O===0)u.getColumnNames(m.columnNames)}else u.step();u.reset().finalize(),u=null}}finally{if(u)_.delete(u),u.finalize();a.scopedAllocPop(Z)}return d.returnVal()},createFunction:function(m,T,P){let u=(B)=>B instanceof Function;switch(arguments.length){case 1:P=m,m=P.name,T=P.xFunc||0;break;case 2:if(!u(T))P=T,T=P.xFunc||0;break;case 3:break;default:break}if(!P)P={};if(typeof m!=="string")n("Invalid arguments: missing function name.");let E=P.xStep||0,W=P.xFinal||0,Z=P.xValue||0,Q=P.xInverse||0,oe=void 0;if(u(T)){if(oe=!1,u(E)||u(W))n("Ambiguous arguments: scalar or aggregate?");E=W=null}else if(u(E)){if(!u(W))n("Missing xFinal() callback for aggregate or window UDF.");T=null}else if(u(W))n("Missing xStep() callback for aggregate or window UDF.");else n("Missing function-type properties.");if(oe===!1){if(u(Z)||u(Q))n("xValue and xInverse are not permitted for non-window UDFs.")}else if(u(Z)){if(!u(Q))n("xInverse must be provided if xValue is.");oe=!0}else if(u(Q))n("xValue must be provided if xInverse is.");let _e=P.pApp;if(_e!==void 0&&_e!==null&&!a.isPtr(_e))n("Invalid value for pApp property. Must be a legal WASM pointer value.");let Ee=P.xDestroy||0;if(Ee&&!u(Ee))n("xDestroy property must be a function.");let qe=0;if(j(P,"deterministic"))qe|=r.SQLITE_DETERMINISTIC;if(j(P,"directOnly"))qe|=r.SQLITE_DIRECTONLY;if(j(P,"innocuous"))qe|=r.SQLITE_INNOCUOUS;m=m.toLowerCase();let Ce=T||E,Re=j(P,"arity"),Se=typeof Re==="number"?Re:Ce.length?Ce.length-1:0,O;if(oe)O=r.sqlite3_create_window_function(this.pointer,m,Se,r.SQLITE_UTF8|qe,_e||0,E,W,Z,Q,Ee);else O=r.sqlite3_create_function_v2(this.pointer,m,Se,r.SQLITE_UTF8|qe,_e||0,T,E,W,Ee);return D.checkRc(this,O),this},selectValue:function(d,m,T){return ie(this,d,m,0,T)},selectValues:function(d,m,T){let P=this.prepare(d),u=[];try{P.bind(m);while(P.step())u.push(P.get(0,T));P.reset()}finally{P.finalize()}return u},selectArray:function(d,m){return ie(this,d,m,[])},selectObject:function(d,m){return ie(this,d,m,{})},selectArrays:function(d,m){return le(this,d,m,"array")},selectObjects:function(d,m){return le(this,d,m,"object")},openStatementCount:function(){return this.pointer?Object.keys(te.get(this)).length:0},transaction:function(d){let m="BEGIN";if(arguments.length>1){if(/[^a-zA-Z]/.test(arguments[0]))n(r.SQLITE_MISUSE,"Invalid argument for BEGIN qualifier.");m+=" "+arguments[0],d=arguments[1]}q(this).exec(m);try{let T=d(this);return this.exec("COMMIT"),T}catch(T){throw this.exec("ROLLBACK"),T}},savepoint:function(d){q(this).exec("SAVEPOINT oo1");try{let m=d(this);return this.exec("RELEASE oo1"),m}catch(m){throw this.exec("ROLLBACK to SAVEPOINT oo1; RELEASE SAVEPOINT oo1"),m}},checkRc:function(d){return U(this,d)}},D.wrapHandle=function(d,m=!1){if(!d||!a.isPtr(d))throw new i.SQLite3Error(r.SQLITE_MISUSE,"Argument must be a WASM sqlite3 pointer");return new D({"sqlite3*":d,"sqlite3*:takeOwnership":!!m})};let me=function(d){if(!d.pointer)n("Stmt has been closed.");return d},ye=function(d){let m=z[d===null||d===void 0?"null":typeof d];switch(m){case z.boolean:case z.null:case z.number:case z.string:return m;case z.bigint:return a.bigIntEnabled?m:void 0;default:return c.isBindableTypedArray(d)?z.blob:void 0}},H=function(d){return ye(d)||n("Unsupported bind() argument type:",typeof d)},ae=function(d,m){let T=typeof m==="number"?m:r.sqlite3_bind_parameter_index(d.pointer,m);if(T===0||!c.isInt32(T))n("Invalid bind() parameter name: "+m);else if(T<1||T>d.parameterCount)n("Bind index",m,"is out of range.");return T},_=new Set,b=new Set,F=function(d,m){if(_.has(d))n("Operation is illegal when statement is locked:",m);return d},V=function d(m,T,P,u){if(F(me(m),"bind()"),!d._)d._tooBigInt=(W)=>n("BigInt value is too big to store without precision loss:",W),d._={string:function(W,Z,Q,oe){let[_e,Ee]=a.allocCString(Q,!0);return(oe?r.sqlite3_bind_blob:r.sqlite3_bind_text)(W.pointer,Z,_e,Ee,r.SQLITE_WASM_DEALLOC)}};H(u),T=ae(m,T);let E=0;switch(u===null||u===void 0?z.null:P){case z.null:E=r.sqlite3_bind_null(m.pointer,T);break;case z.string:E=d._.string(m,T,u,!1);break;case z.number:{let W;if(c.isInt32(u))W=r.sqlite3_bind_int;else if(typeof u==="bigint")if(!c.bigIntFits64(u))d._tooBigInt(u);else if(a.bigIntEnabled)W=r.sqlite3_bind_int64;else if(c.bigIntFitsDouble(u))u=Number(u),W=r.sqlite3_bind_double;else d._tooBigInt(u);else if(u=Number(u),a.bigIntEnabled&&Number.isInteger(u))W=r.sqlite3_bind_int64;else W=r.sqlite3_bind_double;E=W(m.pointer,T,u);break}case z.boolean:E=r.sqlite3_bind_int(m.pointer,T,u?1:0);break;case z.blob:{if(typeof u==="string"){E=d._.string(m,T,u,!0);break}else if(u instanceof ArrayBuffer)u=new Uint8Array(u);else if(!c.isBindableTypedArray(u))n("Binding a value as a blob requires","that it be a string, Uint8Array, Int8Array, or ArrayBuffer.");let W=a.alloc(u.byteLength||1);a.heap8().set(u.byteLength?u:[0],Number(W)),E=r.sqlite3_bind_blob(m.pointer,T,W,u.byteLength,r.SQLITE_WASM_DEALLOC);break}default:i.config.warn("Unsupported bind() argument type:",u),n("Unsupported bind() argument type: "+typeof u)}if(E)D.checkRc(m.db.pointer,E);return m};f.prototype={finalize:function(){let d=this.pointer;if(d){F(this,"finalize()");let m=h.delete(this)?0:r.sqlite3_finalize(d);return delete te.get(this.db)[d],M.delete(this),_.delete(this),b.delete(this),delete this.parameterCount,delete this.db,m}},clearBindings:function(){return F(me(this),"clearBindings()"),r.sqlite3_clear_bindings(this.pointer),b.delete(this),this},reset:function(d){if(F(this,"reset()"),d)this.clearBindings();let m=r.sqlite3_reset(me(this).pointer);return b.delete(this),U(this.db,m),this},bind:function(){me(this);let d,m;switch(arguments.length){case 1:d=1,m=arguments[0];break;case 2:d=arguments[0],m=arguments[1];break;default:n("Invalid bind() arguments.")}if(m===void 0)return this;else if(!this.parameterCount)n("This statement has no bindable parameters.");if(b.delete(this),m===null)return V(this,d,z.null,m);else if(Array.isArray(m)){if(arguments.length!==1)n("When binding an array, an index argument is not permitted.");return m.forEach((T,P)=>V(this,P+1,H(T),T)),this}else if(m instanceof ArrayBuffer)m=new Uint8Array(m);if(typeof m==="object"&&!c.isBindableTypedArray(m)){if(arguments.length!==1)n("When binding an object, an index argument is not permitted.");return Object.keys(m).forEach((T)=>V(this,T,H(m[T]),m[T])),this}else return V(this,d,H(m),m);n("Should not reach this point.")},bindAsBlob:function(d,m){if(me(this),arguments.length===1)m=d,d=1;let T=H(m);if(z.string!==T&&z.blob!==T&&z.null!==T)n("Invalid value type for bindAsBlob()");return V(this,d,z.blob,m)},step:function(){F(this,"step()");let d=r.sqlite3_step(me(this).pointer);switch(d){case r.SQLITE_DONE:return b.delete(this),!1;case r.SQLITE_ROW:return b.add(this),!0;default:b.delete(this),i.config.warn("sqlite3_step() rc=",d,r.sqlite3_js_rc_str(d),"SQL =",r.sqlite3_sql(this.pointer)),D.checkRc(this.db.pointer,d)}},stepReset:function(){return this.step(),this.reset()},stepFinalize:function(){try{let d=this.step();return this.reset(),d}finally{try{this.finalize()}catch(d){}}},get:function(d,m){if(!b.has(me(this)))n("Stmt.step() has not (recently) returned true.");if(Array.isArray(d)){let T=0,P=this.columnCount;while(T<P)d[T]=this.get(T++);return d}else if(d&&typeof d==="object"){let T=0,P=this.columnCount;while(T<P)d[r.sqlite3_column_name(this.pointer,T)]=this.get(T++);return d}switch(R(this,d),m===void 0?r.sqlite3_column_type(this.pointer,d):m){case r.SQLITE_NULL:return null;case r.SQLITE_INTEGER:if(a.bigIntEnabled){let T=r.sqlite3_column_int64(this.pointer,d);if(T>=Number.MIN_SAFE_INTEGER&&T<=Number.MAX_SAFE_INTEGER)return Number(T).valueOf();return T}else{let T=r.sqlite3_column_double(this.pointer,d);if(T>Number.MAX_SAFE_INTEGER||T<Number.MIN_SAFE_INTEGER)n("Integer is out of range for JS integer range: "+T);return c.isInt32(T)?T|0:T}case r.SQLITE_FLOAT:return r.sqlite3_column_double(this.pointer,d);case r.SQLITE_TEXT:return r.sqlite3_column_text(this.pointer,d);case r.SQLITE_BLOB:{let T=r.sqlite3_column_bytes(this.pointer,d),P=r.sqlite3_column_blob(this.pointer,d),u=new Uint8Array(T);if(T){if(u.set(a.heap8u().slice(Number(P),Number(P)+T),0),this.db._blobXfer instanceof Array)this.db._blobXfer.push(u.buffer)}return u}default:n("Don't know how to translate","type of result column #"+d+".")}n("Not reached.")},getInt:function(d){return this.get(d,r.SQLITE_INTEGER)},getFloat:function(d){return this.get(d,r.SQLITE_FLOAT)},getString:function(d){return this.get(d,r.SQLITE_TEXT)},getBlob:function(d){return this.get(d,r.SQLITE_BLOB)},getJSON:function(d){let m=this.get(d,r.SQLITE_STRING);return m===null?m:JSON.parse(m)},getColumnName:function(d){return r.sqlite3_column_name(R(me(this),d).pointer,d)},getColumnNames:function(d=[]){R(me(this),0);let m=this.columnCount;for(let T=0;T<m;++T)d.push(r.sqlite3_column_name(this.pointer,T));return d},getParamIndex:function(d){return me(this).parameterCount?r.sqlite3_bind_parameter_index(this.pointer,d):void 0},getParamName:function(d){return me(this).parameterCount?r.sqlite3_bind_parameter_name(this.pointer,d):void 0},isBusy:function(){return r.sqlite3_stmt_busy(me(this))!==0},isReadOnly:function(){return r.sqlite3_stmt_readonly(me(this))!==0}};{let d={enumerable:!0,get:function(){return M.get(this)},set:()=>n("The pointer property is read-only.")};Object.defineProperty(f.prototype,"pointer",d),Object.defineProperty(D.prototype,"pointer",d)}Object.defineProperty(f.prototype,"columnCount",{enumerable:!1,get:function(){return r.sqlite3_column_count(this.pointer)},set:()=>n("The columnCount property is read-only.")}),Object.defineProperty(f.prototype,"parameterCount",{enumerable:!1,get:function(){return r.sqlite3_bind_parameter_count(this.pointer)},set:()=>n("The parameterCount property is read-only.")}),f.wrapHandle=function(d,m,T=!1){let P=f;if(!(d instanceof D)||!d.pointer)throw new i.SQLite3Error(i.SQLITE_MISUSE,"First argument must be an opened sqlite3.oo1.DB instance");if(!m||!a.isPtr(m))throw new i.SQLite3Error(i.SQLITE_MISUSE,"Second argument must be a WASM sqlite3_stmt pointer");return new f(d,m,z,!!T)},i.oo1={DB:D,Stmt:f}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){let n=i.util;i.initWorker1API=function(){let r=(...j)=>{throw Error(j.join(" "))};if(!(globalThis.WorkerGlobalScope instanceof Function))r("initWorker1API() must be run from a Worker thread.");let a=this.sqlite3||r("Missing this.sqlite3 object."),c=a.oo1.DB,p=function(j){let U=I.idMap.get(j);if(U)return U;return U="db#"+ ++I.idSeq+":"+Math.floor(Math.random()*1e8)+":"+Math.floor(Math.random()*1e8),I.idMap.set(j,U),U},I={dbList:[],idSeq:0,idMap:new WeakMap,xfer:[],open:function(j){let U=new c(j);if(this.dbs[p(U)]=U,this.dbList.indexOf(U)<0)this.dbList.push(U);return U},close:function(j,U){if(j){delete this.dbs[p(j)];let w=j.filename,g=n.sqlite3__wasm_db_vfs(j.pointer,0);j.close();let L=this.dbList.indexOf(j);if(L>=0)this.dbList.splice(L,1);if(U&&w&&g)n.sqlite3__wasm_vfs_unlink(g,w)}},post:function(j,U){if(U&&U.length)globalThis.postMessage(j,Array.from(U)),U.length=0;else globalThis.postMessage(j)},dbs:Object.create(null),getDb:function(j,U=!0){return this.dbs[j]||(U?r("Unknown (or closed) DB ID:",j):void 0)}},y=function(j=I.dbList[0]){return j&&j.pointer?j:r("DB is not opened.")},N=function(j,U=!0){let w=I.getDb(j.dbId,!1)||I.dbList[0];return U?y(w):w},M=function(){return I.dbList[0]&&p(I.dbList[0])},h=(j)=>j===""||j[0]===":",te={open:function(j){let U=Object.create(null),w=j.args||Object.create(null);if(w.simulateError)r("Throwing because of simulateError flag.");let g=Object.create(null);U.vfs=w.vfs,U.filename=w.filename||"";let L=I.open(U);return g.filename=L.filename,g.persistent=!!a.capi.sqlite3_js_db_uses_vfs(L.pointer,"opfs"),g.dbId=p(L),g.vfs=L.dbVfsName(),g},close:function(j){let U=N(j,!1),w={filename:U&&U.filename};if(U){let g=j.args&&typeof j.args==="object"?!!j.args.unlink:!1;I.close(U,g)}return w},exec:function(j){let U=typeof j.args==="string"?{sql:j.args}:j.args||Object.create(null);if(U.rowMode==="stmt")r("Invalid rowMode for 'exec': stmt mode","does not work in the Worker API.");else if(!U.sql)r("'exec' requires input SQL.");let w=N(j);if(U.callback||Array.isArray(U.resultRows))w._blobXfer=I.xfer;let g=U.callback,L=0,x=!!U.columnNames;if(typeof g==="string"){if(!x)U.columnNames=[];U.callback=function(A,D){I.post({type:g,columnNames:U.columnNames,rowNumber:++L,row:A},I.xfer)}}try{let A=U.countChanges?w.changes(!0,U.countChanges===64):void 0;if(w.exec(U),A!==void 0)U.changeCount=w.changes(!0,U.countChanges===64)-A;let D=U.lastInsertRowId?a.capi.sqlite3_last_insert_rowid(w):void 0;if(D!==void 0)U.lastInsertRowId=D;if(U.callback instanceof Function)U.callback=g,I.post({type:g,columnNames:U.columnNames,rowNumber:null,row:void 0})}finally{if(delete w._blobXfer,U.callback)U.callback=g}return U},"config-get":function(){let j=Object.create(null),U=a.config;return["bigIntEnabled"].forEach(function(w){if(Object.getOwnPropertyDescriptor(U,w))j[w]=U[w]}),j.version=a.version,j.vfsList=a.capi.sqlite3_js_vfs_list(),j},export:function(j){let U=N(j),w={byteArray:a.capi.sqlite3_js_db_export(U.pointer),filename:U.filename,mimetype:"application/x-sqlite3"};return I.xfer.push(w.byteArray.buffer),w},toss:function(j){r("Testing worker exception")}};globalThis.onmessage=async function(j){j=j.data;let U,w=j.dbId,g=j.type,L=performance.now();try{if(te.hasOwnProperty(g)&&te[g]instanceof Function)U=await te[g](j);else r("Unknown db worker message type:",j.type)}catch(x){if(g="error",U={operation:j.type,message:x.message,errorClass:x.name,input:j},x.stack)U.stack=typeof x.stack==="string"?x.stack.split(/\n\s*/):x.stack}if(!w)w=U.dbId||M();I.post({type:g,dbId:w,messageId:j.messageId,workerReceivedTime:L,workerRespondTime:performance.now(),departureTime:j.departureTime,result:U},I.xfer)},globalThis.postMessage({type:"sqlite3-api",result:"worker1-ready"})}.bind({sqlite3:i})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){let{wasm:n,capi:r}=i,a=i.util.toss3,c=Object.create(null);i.vfs=c,r.sqlite3_vfs.prototype.registerVfs=function(p=!1){if(!(this instanceof i.capi.sqlite3_vfs))a("Expecting a sqlite3_vfs-type argument.");let I=r.sqlite3_vfs_register(this,p?1:0);if(I)a("sqlite3_vfs_register(",this,") failed with rc",I);if(this.pointer!==r.sqlite3_vfs_find(this.$zName))a("BUG: sqlite3_vfs_find(vfs.$zName) failed for just-installed VFS",this);return this},c.installVfs=function(p){let I=0,y=["io","vfs"];for(let N of y){let M=p[N];if(M){if(++I,M.struct.installMethods(M.methods,!!M.applyArgcCheck),N==="vfs"){if(!M.struct.$zName&&typeof M.name==="string")M.struct.addOnDispose(M.struct.$zName=n.allocCString(M.name));M.struct.registerVfs(!!M.asDefault)}}}if(!I)a("Misuse: installVfs() options object requires at least","one of:",y);return this}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(!i.wasm.exports.sqlite3_declare_vtab)return;let{wasm:n,capi:r}=i,a=i.util.toss3,c=Object.create(null);i.vtab=c;let p=r.sqlite3_index_info;p.prototype.nthConstraint=function(N,M=!1){if(N<0||N>=this.$nConstraint)return!1;let h=n.ptr.add(this.$aConstraint,p.sqlite3_index_constraint.structInfo.sizeof*N);return M?h:new p.sqlite3_index_constraint(h)},p.prototype.nthConstraintUsage=function(N,M=!1){if(N<0||N>=this.$nConstraint)return!1;let h=n.ptr.add(this.$aConstraintUsage,p.sqlite3_index_constraint_usage.structInfo.sizeof*N);return M?h:new p.sqlite3_index_constraint_usage(h)},p.prototype.nthOrderBy=function(N,M=!1){if(N<0||N>=this.$nOrderBy)return!1;let h=n.ptr.add(this.$aOrderBy,p.sqlite3_index_orderby.structInfo.sizeof*N);return M?h:new p.sqlite3_index_orderby(h)};let I=function(N,M){return function(h,te=!1){if(arguments.length===0)h=new M;if(h instanceof M)return this.set(h.pointer,h),h;else if(!n.isPtr(h))i.SQLite3Error.toss("Invalid argument to",N+"()");let j=this.get(h);if(te)this.delete(h);return j}.bind(new Map)},y=function(N,M){let h=I(N,M);return Object.assign(Object.create(null),{StructType:M,create:(te)=>{let j=h();return n.pokePtr(te,j.pointer),j},get:(te)=>h(te),unget:(te)=>h(te,!0),dispose:(te)=>h(te,!0)?.dispose?.()})};c.xVtab=y("xVtab",r.sqlite3_vtab),c.xCursor=y("xCursor",r.sqlite3_vtab_cursor),c.xIndexInfo=(N)=>new r.sqlite3_index_info(N),c.xError=function N(M,h,te){if(N.errorReporter instanceof Function)try{N.errorReporter("sqlite3_module::"+M+"(): "+h.message)}catch(U){}let j;if(h instanceof i.WasmAllocError)j=r.SQLITE_NOMEM;else if(arguments.length>2)j=te;else if(h instanceof i.SQLite3Error)j=h.resultCode;return j||r.SQLITE_ERROR},c.xError.errorReporter=i.config.error.bind(i.config),c.xRowid=(N,M)=>n.poke(N,M,"i64"),c.setupModule=function(N){let M=!1,h=this instanceof r.sqlite3_module?this:N.struct||(M=new r.sqlite3_module);try{let te=N.methods||a("Missing 'methods' object.");for(let j of Object.entries({xConnect:"xCreate",xDisconnect:"xDestroy"})){let U=j[0],w=j[1];if(te[U]===!0)te[U]=te[w];else if(te[w]===!0)te[w]=te[U]}if(N.catchExceptions){let j=function(g,L){if(["xConnect","xCreate"].indexOf(g)>=0)return function(x,A,D,z,f,q){try{return L(...arguments)||0}catch(R){if(!(R instanceof i.WasmAllocError))n.dealloc(n.peekPtr(q)),n.pokePtr(q,n.allocCString(R.message));return c.xError(g,R)}};else return function(...x){try{return L(...x)||0}catch(A){return c.xError(g,A)}}},U=["xCreate","xConnect","xBestIndex","xDisconnect","xDestroy","xOpen","xClose","xFilter","xNext","xEof","xColumn","xRowid","xUpdate","xBegin","xSync","xCommit","xRollback","xFindFunction","xRename","xSavepoint","xRelease","xRollbackTo","xShadowName"],w=Object.create(null);for(let g of U){let L=te[g];if(!(L instanceof Function))continue;else if(g==="xConnect"&&te.xCreate===L)w[g]=te.xCreate;else if(g==="xCreate"&&te.xConnect===L)w[g]=te.xConnect;else w[g]=j(g,L)}h.installMethods(w,!1)}else h.installMethods(te,!!N.applyArgcCheck);if(h.$iVersion===0){let j;if(typeof N.iVersion==="number")j=N.iVersion;else if(h.$xIntegrity)j=4;else if(h.$xShadowName)j=3;else if(h.$xSavePoint||h.$xRelease||h.$xRollbackTo)j=2;else j=1;h.$iVersion=j}}catch(te){if(M)M.dispose();throw te}return h},r.sqlite3_module.prototype.setupModule=function(N){return c.setupModule.call(this,N)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(i.config.disable?.vfs?.kvvfs)return;let n=i.capi,{sqlite3_kvvfs_methods:r,KVVfsFile:a}=n,c=i.capi.sqlite3_vfs_find("kvvfs");if(delete n.sqlite3_kvvfs_methods,delete n.KVVfsFile,!c)return;let{util:p,wasm:I}=i,y=p.toss3,N=(O,B)=>Object.prototype.hasOwnProperty.call(O,B),M=new r(I.exports.sqlite3__wasm_kvvfs_methods());p.assert(32<=M.$nKeySize,"unexpected kvvfsMethods.$nKeySize: "+M.$nKeySize);let h=Object.assign(Object.create(null),{rxJournalSuffix:/-journal$/,zKeyJrnl:I.allocCString("jrnl"),zKeySz:I.allocCString("sz"),keySize:M.$nKeySize,buffer:Object.assign(Object.create(null),{n:M.$nBufferSize,pool:Object.create(null)})});h.memBuffer=(O=0)=>h.buffer.pool[O]??=I.alloc(h.buffer.n),h.memBufferFree=(O)=>{let B=h.buffer.pool[O];if(B)I.dealloc(B),delete h.buffer.pool[O]};let te=()=>{},j=i.__isUnderTest?(...O)=>i.config.debug?.("kvvfs:",...O):te,U=(...O)=>i.config.warn?.("kvvfs:",...O),w=(...O)=>i.config.error?.("kvvfs:",...O);class g{#e=Object.create(null);#i=null;#s=0;constructor(){this.clear()}#t(){return this.#i??=Object.keys(this.#e)}key(O){if(O<0||O>=this.#s)return null;return this.#t()[O]}getItem(O){return this.#e[O]??null}setItem(O,B){if(!(O in this.#e))++this.#s,this.#i=null;this.#e[O]=""+B}removeItem(O){if(O in this.#e)delete this.#e[O],--this.#s,this.#i=null}clear(){this.#e=Object.create(null),this.#i=null,this.#s=0}get length(){return this.#s}}let L=(O)=>O==="local"||O==="session",x=(O)=>L(O)?"kvvfs-"+O+"-":"",A=function(O,B=!1){if(L(O))return;let J=new Blob([O]).size;if(!J)y(n.SQLITE_MISUSE,"Empty name is not permitted.");let X=h.keySize-1;if(h.rxJournalSuffix.test(O)){if(!B)y(n.SQLITE_MISUSE,"Storage names may not have a '-journal' suffix.")}else if(["-wal","-shm"].filter((ce)=>O.endsWith(ce)).length)y(n.SQLITE_MISUSE,"Storage names may not have a -wal or -shm suffix.");else X-=8;if(J>X)y(n.SQLITE_RANGE,"Storage name is too long. Limit =",X);let se;for(se=0;se<J;++se){let ce=O.codePointAt(se);if(ce<32)y(n.SQLITE_RANGE,"Illegal character ("+ce+"d) in storage name:",O)}},D=(O,B=void 0)=>Object.assign(Object.create(null),{jzClass:O,refc:1,deleteAtRefc0:!1,storage:B||new g,keyPrefix:x(O),files:[],listeners:void 0}),z=i.kvvfs=Object.create(null);if(i.__isUnderTest)z.log=Object.assign(Object.create(null),{xOpen:!1,xClose:!1,xWrite:!1,xRead:!1,xSync:!1,xAccess:!1,xFileControl:!1,xRcrdRead:!1,xRcrdWrite:!1,xRcrdDelete:!1});let f=function(O){let B=h.rxJournalSuffix.test(O.jzClass)?O.jzClass.replace(h.rxJournalSuffix,""):O.jzClass+"-journal";if(z?.log?.xClose&&j("cleaning up storage handles [",O.jzClass,B,"]",O),delete h.storagePool[O.jzClass],delete h.storagePool[B],!i.__isUnderTest)delete O.storage,delete O.refc},q=(O)=>h.storagePool[O.jzClass]=h.storagePool[O.jzClass+"-journal"]=O,R=".";if(h.storagePool=Object.assign(Object.create(null),{[R]:D(R)}),globalThis.Storage){if(globalThis.localStorage instanceof globalThis.Storage)h.storagePool.local=D("local",globalThis.localStorage);if(globalThis.sessionStorage instanceof globalThis.Storage)h.storagePool.session=D("session",globalThis.sessionStorage)}h.builtinStorageNames=Object.keys(h.storagePool);let G=(O)=>h.builtinStorageNames.indexOf(O)>-1;for(let O of Object.keys(h.storagePool)){let B=h.storagePool[O];h.storagePool[O+"-journal"]=B}h.setError=(O=void 0,B=n.SQLITE_ERROR)=>{if(O)return h.lastError=O,O.resultCode|0||B;return delete h.lastError,0},h.popError=()=>{let O=h.lastError;return delete h.lastError,O};let ie=(O)=>{U("kvvfs.listener handler threw:",O)},le=I.exports.sqlite3__wasm_kvvfs_decode,me=I.exports.sqlite3__wasm_kvvfs_encode,ye=async function(O,B,...J){try{if(B.keyPrefix&&J[0])J[0]=J[0].replace(B.keyPrefix,"");let X,se,ce,de;for(let ue of B.listeners){let he=Object.create(null);he.storageName=B.jzClass,he.type=O;let Fe=ue.decodePages,Pe=ue.events[O];if(Pe){if(!ue.includeJournal&&J[0]==="jrnl")continue;if(O==="write"&&ue.decodePages&&+J[0]>0){if(he.data=[J[0]],de?.[J[0]]){he.data[1]=de[J[0]];continue}X??=new TextEncoder("utf-8"),se??=h.memBuffer(10),ce??=h.memBuffer(11);let Ae=X.encode(J[1]),Le=I.heap8u();Le.set(Ae,Number(se)),Le[I.ptr.addn(se,Ae.length)]=0;let Ne=le(se,ce,h.buffer.n);if(Ne>0)de??=Object.create(null),de[J[0]]=he.data[1]=Le.slice(Number(ce),I.ptr.addn(ce,Ne));else continue}else he.data=J.length?J.length===1?J[0]:J:void 0;try{Pe(he)?.catch?.(ie)}catch(Ae){U("notifyListeners [",B.jzClass,"]",O,Ae)}}}}catch(X){ie(X)}},H=(O)=>typeof O==="string"?h.storagePool[O]:h.storagePool[I.cstrToJs(O)],ae=I.exports.sqlite3__wasm_kvvfsMakeKey,_=(O,B,J)=>B&&O.keyPrefix?ae(B,J):J,b=(O,B,J)=>I.cstrToJs(_(O,B,J)),F=(O)=>+O.storage.getItem(O.keyPrefix+"sz"),V=new Map,d={vfs:Object.create(null),ioDb:Object.create(null),ioJrnl:Object.create(null)},m=(O)=>d[O.$isJournal?"ioJrnl":"ioDb"],T=new n.sqlite3_vfs(M.$pVfs),P=new n.sqlite3_io_methods(M.$pIoDb),u=new n.sqlite3_io_methods(M.$pIoJrnl),E=Object.create(null),W=Object.assign(Object.create(null),{pFileHandles:V,cache:h,storageForZClass:H,KVVfsStorage:g,disablePageSizeChange:!0});if(z.log)z.internal=W;let Z={recordHandler:{xRcrdRead:(O,B,J,X)=>{try{let se=I.cstrToJs(O),ce=H(se);if(!ce)return-1;let de=b(ce,O,B);z?.log?.xRcrdRead&&U("xRcrdRead",se,de,X,ce);let ue=ce.storage.getItem(de);if(ue===null)return-1;let he=ue.length;if(X<=0)return he;else if(X===1)return I.poke(J,0),he;if(X+1<he)y(n.SQLITE_RANGE,"xRcrdRead()",se,de,"input buffer is too small: need",he,"but have",X);let Fe=h.memBuffer(0),Pe=I.heap8(),Ae;for(Ae=0;Ae<he;++Ae)Pe[I.ptr.add(Fe,Ae)]=ue.codePointAt(Ae)&255;return Pe.copyWithin(Number(J),Number(Fe),I.ptr.addn(Fe,Ae)),Pe[I.ptr.add(J,he)]=0,X}catch(se){return w("kvrecordRead()",se),h.setError(se),-2}},xRcrdWrite:(O,B,J)=>{try{let X=H(O),se=b(X,O,B),ce=I.cstrToJs(J);return z?.log?.xRcrdWrite&&U("xRcrdWrite",se,X),X.storage.setItem(se,ce),X.listeners&&ye("write",X,se,ce),0}catch(X){return w("kvrecordWrite()",X),h.setError(X,n.SQLITE_IOERR)}},xRcrdDelete:(O,B)=>{try{let J=H(O),X=b(J,O,B);return z?.log?.xRcrdDelete&&U("xRcrdDelete",X,J),J.storage.removeItem(X),J.listeners&&ye("delete",J,X),0}catch(J){return w("kvrecordDelete()",J),h.setError(J,n.SQLITE_IOERR)}}},vfs:{xOpen:function(O,B,J,X,se){h.popError();let ce;try{if(!B)ce=I.allocCString(""+J+"."+(Math.random()*1e5|0)),B=ce;let de=I.cstrToJs(B);if(z?.log?.xOpen&&j("xOpen",de,"flags =",X),A(de,!0),X&(n.SQLITE_OPEN_MAIN_DB|n.SQLITE_OPEN_TEMP_DB|n.SQLITE_OPEN_TRANSIENT_DB)&&h.rxJournalSuffix.test(de))y(n.SQLITE_ERROR,"DB files may not have a '-journal' suffix.");let ue=H(de);if(!ue&&!(X&n.SQLITE_OPEN_CREATE))y(n.SQLITE_ERROR,"Storage not found:",de);let he=d.vfs.xOpen(O,B,J,X,se);if(he)return he;let Fe=!!(n.SQLITE_OPEN_DELETEONCLOSE&X);if(I.isPtr(arguments[1])){if(n.sqlite3_uri_boolean(B,"delete-on-close",0))Fe=!0}let Pe=new a(J);if(p.assert(Pe.$zClass,"Missing f.$zClass"),Pe.addOnDispose(ce),ce=void 0,ue)++ue.refc,ue.files.push(Pe),I.poke32(se,X);else{I.poke32(se,X|n.SQLITE_OPEN_CREATE),p.assert(!Pe.$isJournal,"Opening a journal before its db? "+de);let Ae=de.replace(h.rxJournalSuffix,"");ue=D(Ae),q(ue),ue.files.push(Pe),ue.deleteAtRefc0=Fe,z?.log?.xOpen&&j("xOpen installed storage handle [",Ae,Ae+"-journal","]",ue)}return V.set(J,{store:ue,file:Pe,jzClass:de}),ue.listeners&&ye("open",ue,ue.files.length),0}catch(de){return U("xOpen:",de),h.setError(de)}finally{ce&&I.dealloc(ce)}},xDelete:function(O,B,J){h.popError();try{let X=I.cstrToJs(B);if(h.rxJournalSuffix.test(X))E.xRcrdDelete(B,h.zKeyJrnl);return 0}catch(X){return U("xDelete",X),h.setError(X)}},xAccess:function(O,B,J,X){h.popError();try{let se=H(B),ce=se?.jzClass||I.cstrToJs(B);if(z?.log?.xAccess)j("xAccess",ce,"flags =",J,"*pResOut =",I.peek32(X),"store =",se);if(!se)try{A(ce)}catch(de){return I.poke32(X,0),0}if(se){let de=se.keyPrefix+(h.rxJournalSuffix.test(ce)?"jrnl":"1"),ue=se.storage.getItem(de)?0:1;I.poke32(X,ue)}else I.poke32(X,0);return 0}catch(se){return w("xAccess",se),h.setError(se)}},xRandomness:function(O,B,J){let X=I.heap8u(),se=0,ce=Number(J);for(;se<B;++se)X[ce+se]=Math.random()*255000&255;return B},xGetLastError:function(O,B,J){let X=h.popError();if(j("xGetLastError",X),X){let se=I.scopedAllocPush();try{let[ce,de]=I.scopedAllocCString(X.message,!0);if(I.cstrncpy(J,ce,B),de>B)I.poke8(I.ptr.add(J,B,-1),0);return j("set xGetLastError",X.message),X.resultCode|0||n.SQLITE_IOERR}catch(ce){return n.SQLITE_NOMEM}finally{I.scopedAllocPop(se)}}return 0}},ioDb:{xClose:function(O){h.popError();try{let B=V.get(O);if(z?.log?.xClose&&j("xClose",O,B),B){V.delete(O);let J=B.store;if(J.files=J.files.filter((X)=>X!==B.file),--J.refc<=0&&J.deleteAtRefc0)f(J);d.ioDb.xClose(O),B.file.dispose(),J.listeners&&ye("close",J,J.files.length)}return 0}catch(B){return w("xClose",B),h.setError(B)}},xFileControl:function(O,B,J){h.popError();try{let X=V.get(O);if(p.assert(X,"Missing KVVfsFile handle"),z?.log?.xFileControl&&j("xFileControl",X,"op =",B),B===n.SQLITE_FCNTL_PRAGMA&&W.disablePageSizeChange){let ce=I.peekPtr(I.ptr.add(J,I.ptr.size));if(I.cstrToJs(ce)==="page_size"){z?.log?.xFileControl&&j("xFileControl pragma",I.cstrToJs(ce));let de=I.peekPtr(I.ptr.add(J,2*I.ptr.size));if(de)return z?.log?.xFileControl&&U("xFileControl pragma",X,"NOT setting page size to",I.cstrToJs(de)),X.file.$szPage=-1,0;else if(X.file.$szPage>0)return z?.log?.xFileControl&&U("xFileControl",X,"getting page size",X.file.$szPage),I.pokePtr(J,I.allocCString(""+X.file.$szPage)),0}}let se=d.ioDb.xFileControl(O,B,J);if(se==0&&n.SQLITE_FCNTL_SYNC===B)X.store.listeners&&ye("sync",X.store,!1);return se}catch(X){return w("xFileControl",X),h.setError(X)}},xSync:function(O,B){h.popError();try{let J=V.get(O);z?.log?.xSync&&j("xSync",J),p.assert(J,"Missing KVVfsFile handle");let X=d.ioDb.xSync(O,B);if(X==0&&J.store.listeners)ye("sync",J.store,!0);return X}catch(J){return w("xSync",J),h.setError(J)}}},ioJrnl:{xClose:!0}};try{p.assert(h.buffer.n>132096,"Heap buffer is not large enough");for(let O of Object.entries(Z.recordHandler)){let B=O[0],J=O[1];E[B]=J,M[M.memberKey(B)]=I.installFunction(M.memberSignature(B),J)}for(let O of Object.entries(Z.vfs)){let B=O[0],J=O[1],X=T.memberKey(B),se=T.structInfo.members[B]||p.toss("Missing pVfs.structInfo[",B,"]");d.vfs[B]=I.functionEntry(T[X]),T[X]=I.installFunction(se.signature,J)}for(let O of Object.entries(Z.ioDb)){let B=O[0],J=O[1],X=P.memberKey(B);d.ioDb[B]=I.functionEntry(P[X])||p.toss("Missing native pIoDb[",X,"]"),P[X]=I.installFunction(P.memberSignature(B),J)}for(let O of Object.entries(Z.ioJrnl)){let B=O[0],J=O[1],X=u.memberKey(B);if(d.ioJrnl[B]=I.functionEntry(u[X])||p.toss("Missing native pIoJrnl[",X,"]"),J===!0)u[X]=P[X]||p.toss("Missing copied pIoDb[",X,"]");else u[X]=I.installFunction(u.memberSignature(B),J)}}finally{M.dispose(),T.dispose(),P.dispose(),u.dispose()}let Q=function O(B){if(B==="")return O("local")+O("session");let J=H(B);if(!J)return 0;if(J.files.length)if(globalThis.localStorage===J.storage||globalThis.sessionStorage===J.storage);else y(n.SQLITE_ACCESS,"Cannot clear in-use database storage.");let X=J.storage,se=[],ce,de=X.length;for(ce=0;ce<de;++ce){let ue=X.key(ce);if(!J.keyPrefix||ue.startsWith(J.keyPrefix))se.push(ue)}return se.forEach((ue)=>X.removeItem(ue)),se.length},oe=function O(B){if(B==="")return O("local")+O("session");let J=H(B);if(!J)return 0;let X=J.storage,se,ce=0;for(se=0;se<X.length;++se){let de=X.key(se);if(!J.keyPrefix||de.startsWith(J.keyPrefix))ce+=de.length,ce+=X.getItem(de).length}return ce*2},_e=function(...B){let J;if(B.length===1&&typeof B[0]==="object")J=B[0];else if(B.length)J=Object.assign(Object.create(null),{name:B[0]});let X=J?H(J.name):null;if(!X)y(n.SQLITE_NOTFOUND,"There is no kvvfs storage named",J?.name);let se=X.storage,ce=Object.assign(Object.create(null),{name:X.jzClass,timestamp:Date.now(),pages:[]}),de=Object.create(null),ue,he=X.keyPrefix,Fe=he?/^kvvfs-[^-]+-(\w+)/:void 0,Pe=0,Ae=se.length;for(;Pe<Ae;++Pe){let Le=se.key(Pe);if(!he||Le.startsWith(he)){let Ne=(he?Fe.exec(Le):void 0)?.[1]??Le;switch(Ne){case"jrnl":if(J.includeJournal)ce.journal=se.getItem(Le);break;case"sz":ce.size=+se.getItem(Le);break;default:if(Ne=+Ne,!p.isInt32(Ne)||Ne<=0)y(n.SQLITE_RANGE,"Malformed kvvfs key: "+Le);if(J.decodePages){let lt=se.getItem(Le),Ze=lt.length,ct=h.memBuffer(0),gt=h.memBuffer(1),$e=I.heap8u(),rt=0;for(;rt<Ze;++rt)$e[I.ptr.add(ct,rt)]=lt.codePointAt(rt)&255;$e[I.ptr.add(ct,rt)]=0;let Et=le(ct,gt,h.buffer.n);de[Ne]=$e.slice(Number(gt),I.ptr.addn(gt,Et))}else de[Ne]=se.getItem(Le);break}}}if(J.decodePages)h.memBufferFree(1);return Object.keys(de).map((Le)=>+Le).sort().forEach((Le)=>ce.pages.push(de[Le])),ce},Ee=function(O,B=!1){if(!O?.timestamp||!O.name||O.size===void 0||!Array.isArray(O.pages))y(n.SQLITE_MISUSE,"Malformed export object.");else if(!O.size||O.size!==(O.size|0)||O.size>=2147483647)y(n.SQLITE_RANGE,"Invalid db size: "+O.size);A(O.name);let J=H(O.name),X=!J;if(J){if(!B)y(n.SQLITE_ACCESS,"Storage '"+O.name+"' already exists and","overwrite was not specified.");else if(!J.files||!J.jzClass)y(n.SQLITE_ERROR,"Internal storage object",O.name,"seems to be malformed.");else if(J.files.length)y(n.SQLITE_IOERR_ACCESS,"Cannot import db storage while it is in use.");Q(O.name)}else J=D(O.name);let se=x(O.name),ce;try{let de=J.storage;if(de.setItem(se+"sz",O.size),O.journal)de.setItem(se+"jrnl",O.journal);if(O.pages[0]instanceof Uint8Array)O.pages.forEach((ue,he)=>{let Fe=ue.length;ce??=h.memBuffer(1);let Pe=h.memBuffer(0),Ae=I.heap8u();Ae.set(ue,Number(Pe)),Ae[I.ptr.addn(Pe,Fe)]=0;let Le=me(Pe,Fe,ce);p.assert(Le<h.buffer.n,"Impossibly long output - possibly smashed the heap"),p.assert(I.peek8(I.ptr.add(ce,Le))===0,"Expecting NUL-terminated encoded output");let Ne=I.cstrToJs(ce);de.setItem(se+(he+1),Ne)});else if(O.pages[0])O.pages.forEach((ue,he)=>de.setItem(se+(he+1),ue));if(X)q(J)}catch{if(!X)try{Q(O.name)}catch(de){}}finally{if(ce)h.memBufferFree(1)}return this},qe=function(O){let B=H(O);if(B){++B.refc;return}A(O),q(D(O))},Ce=function(O){let B=H(O);if(!B||L(B.jzClass)||G(B.jzClass)||h.rxJournalSuffix.test(O))return!1;if(B.refc>B.files.length||B.files.length===0){if(--B.refc<=0)f(B);return!0}return!1},Re=function(O){if(!O||typeof O!=="object")y(n.SQLITE_MISUSE,"Expecting a listener object.");let B=H(O.storage);if(!B)if(O.storage&&O.reserve)qe(O.storage),B=H(O.storage),p.assert(B,"Unexpectedly cannot fetch reserved storage "+O.storage);else y(n.SQLITE_NOTFOUND,"No such storage:",O.storage);if(O.events)(B.listeners??=[]).push(O)},Se=function(O){let B=H(O?.storage);if(B?.listeners&&O.events){let J=B.listeners.length;B.listeners=B.listeners.filter((se)=>se!==O);let X=J>B.listeners.length;if(!B.listeners.length)B.listeners=void 0;return X}return!1};if(i.kvvfs.reserve=qe,i.kvvfs.import=Ee,i.kvvfs.export=_e,i.kvvfs.unlink=Ce,i.kvvfs.listen=Re,i.kvvfs.unlisten=Se,i.kvvfs.exists=(O)=>!!H(O),i.kvvfs.estimateSize=oe,i.kvvfs.clear=Q,globalThis.Storage)n.sqlite3_js_kvvfs_size=(O="")=>oe(O),n.sqlite3_js_kvvfs_clear=(O="")=>Q(O);if(i.oo1?.DB){let O=i.oo1.DB;i.oo1.JsStorageDb=function(J=i.oo1.JsStorageDb.defaultStorageName){let X=O.dbCtorHelper.normalizeArgs(...arguments);switch(X.vfs="kvvfs",X.filename){case":sessionStorage:":X.filename="session";break;case":localStorage:":X.filename="local";break}let se=/(file:(\/\/)?)([^?]+)/.exec(X.filename);A(se?se[3]:X.filename),O.dbCtorHelper.call(this,X)},i.oo1.JsStorageDb.defaultStorageName=h.storagePool.session?"session":R;let B=i.oo1.JsStorageDb;B.prototype=Object.create(O.prototype),B.clearStorage=Q,B.prototype.clearStorage=function(){return B.clearStorage(this.affirmOpen().dbFilename(),!0)},B.storageSize=oe,B.prototype.storageSize=function(){return B.storageSize(this.affirmOpen().dbFilename(),!0)}}if(i.__isUnderTest&&i.vtab){let O=Object.assign(Object.create(null),{rowid:{type:"INTEGER"},name:{type:"TEXT"},nRef:{type:"INTEGER"},nOpen:{type:"INTEGER"},isTransient:{type:"INTEGER"},dbSize:{type:"INTEGER"}});Object.keys(O).forEach((de,ue)=>O[de].colId=ue);let B=i.vtab,J=Object.assign(Object.create(null),{row:function(){return h.storagePool[this.names[this.rowid]]}});Object.assign(Object.create(J),{rowid:0,names:Object.keys(h.storagePool).filter((de)=>!h.rxJournalSuffix.test(de))});let X=function(de,ue){let he=de instanceof n.sqlite3_vtab_cursor?de:B.xCursor.get(de);if(ue||!he.vTabState)he.vTabState=Object.assign(Object.create(J),{rowid:0,names:Object.keys(h.storagePool).filter((Fe)=>!h.rxJournalSuffix.test(Fe))});return he.vTabState},se=()=>{},ce=function de(){return de.mod??=new i.capi.sqlite3_module().setupModule({catchExceptions:!0,methods:{xConnect:function(ue,he,Fe,Pe,Ae,Le){se("xConnect");try{let Ne=[];Object.keys(O).forEach((Ze)=>{Ne.push(Ze+" "+O[Ze].type)});let lt=n.sqlite3_declare_vtab(ue,"CREATE TABLE ignored("+Ne.join(",")+")");if(lt===0){let Ze=B.xVtab.create(Ae);p.assert(Ze===B.xVtab.get(I.peekPtr(Ae)),"output pointer check failed")}return lt}catch(Ne){return B.xError("xConnect",Ne,n.SQLITE_ERROR)}},xCreate:I.ptr.null,xDisconnect:function(ue){return se("xDisconnect",...arguments),B.xVtab.dispose(ue),0},xOpen:function(ue,he){return se("xOpen",...arguments),B.xCursor.create(he),0},xClose:function(ue){se("xClose",...arguments);let he=B.xCursor.unget(ue);return delete he.vTabState,he.dispose(),0},xNext:function(ue){se("xNext",...arguments);let he=B.xCursor.get(ue);return++X(he).rowid,0},xColumn:function(ue,he,Fe){se("xColumn",...arguments);let Pe=X(ue),Ae=Pe.row();switch(p.assert(Ae,"Unexpected xColumn call"),Fe){case O.rowid.colId:n.sqlite3_result_int(he,Pe.rowid);break;case O.name.colId:n.sqlite3_result_text(he,Ae.jzClass,-1,n.SQLITE_TRANSIENT);break;case O.nRef.colId:n.sqlite3_result_int(he,Ae.refc);break;case O.nOpen.colId:n.sqlite3_result_int(he,Ae.files.length);break;case O.isTransient.colId:n.sqlite3_result_int(he,!!Ae.deleteAtRefc0);break;case O.dbSize.colId:n.sqlite3_result_int(he,F(Ae));break;default:return n.sqlite3_result_error(he,"Invalid column id: "+Fe),n.SQLITE_RANGE}return 0},xRowid:function(ue,he){se("xRowid",...arguments);let Fe=X(ue);return B.xRowid(he,Fe.rowid),0},xEof:function(ue){let he=X(ue);return se("xEof?="+!he.row(),...arguments),!he.row()},xFilter:function(ue,he,Fe,Pe,Ae){se("xFilter",...arguments);let Le=X(ue,!0);return 0},xBestIndex:function(ue,he){se("xBestIndex",...arguments);let Fe=new n.sqlite3_index_info(he);return Fe.$estimatedRows=h.storagePool.size,Fe.$estimatedCost=1,Fe.dispose(),0}}})};i.kvvfs.create_module=function(de,ue="sqlite_kvvfs"){return n.sqlite3_create_module(de,ue,ce(),I.ptr.null)}}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(i.config.disable?.vfs?.opfs&&i.config.disable.vfs["opfs-vfs"])return;let n=i.util.toss,{capi:r,util:a,wasm:c}=i,p=i.opfs=Object.create(null);p.thisThreadHasOPFS=()=>globalThis.FileSystemHandle&&globalThis.FileSystemDirectoryHandle&&globalThis.FileSystemFileHandle&&globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle&&navigator?.storage?.getDirectory,p.getRootDir=async function y(){return y.promise??=navigator.storage.getDirectory().then((N)=>(p.rootDirectory=N,N)).catch((N)=>{throw delete y.promise,N})},p.getResolvedPath=function(y,N){let M=new URL(y,"file://irrelevant").pathname;return N?M.split("/").filter((h)=>!!h):M},p.getDirForFilename=async function(N,M=!1){let h=p.getResolvedPath(N,!0),te=h.pop(),j=await p.getRootDir();for(let U of h)if(U)j=await j.getDirectoryHandle(U,{create:!!M});return[j,te]},p.mkdir=async function(y){try{return await p.getDirForFilename(y+"/filepart",!0),!0}catch(N){return!1}},p.entryExists=async function(y){try{let[N,M]=await p.getDirForFilename(y);return await N.getFileHandle(M),!0}catch(N){return!1}},p.randomFilename=function y(N=16){if(!y._chars)y._chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789",y._n=y._chars.length;let M=[],h=0;for(;h<N;++h){let te=Math.random()*(y._n*64)%y._n|0;M[h]=y._chars[te]}return M.join("")},p.treeList=async function(){let y=async function h(te,j){j.name=te.name,j.dirs=[],j.files=[];for await(let U of te.values())if(U.kind==="directory"){let w=Object.create(null);j.dirs.push(w),await h(U,w)}else j.files.push(U.name)},N=Object.create(null),M=await p.getRootDir();return await y(M,N),N},p.rmfr=async function(){let N=await p.getRootDir(),M={recurse:!0};for await(let h of N.values())N.removeEntry(h.name,M)},p.unlink=async function(y,N=!1,M=!1){try{let[h,te]=await p.getDirForFilename(y,!1);return await h.removeEntry(te,{recursive:N}),!0}catch(h){if(M)throw Error("unlink(",arguments[0],") failed: "+h.message,{cause:h});return!1}},p.traverse=async function(y){let N={recursive:!0,directory:await p.getRootDir()};if(typeof y==="function")y={callback:y};y=Object.assign(N,y||{}),async function h(te,j){for await(let U of te.values())if(y.callback(U,te,j)===!1)return!1;else if(y.recursive&&U.kind==="directory"){if(await h(U,j+1)===!1)break}}(y.directory,0)};let I=async function(y,N){let[M,h]=await p.getDirForFilename(y,!0),j=await(await M.getFileHandle(h,{create:!0})).createSyncAccessHandle(),U=0,w,g=!1,L=!1;try{j.truncate(0);while((w=await N())!==void 0){if(w instanceof ArrayBuffer)w=new Uint8Array(w);if(!g&&U===0&&w.byteLength>=15)a.affirmDbHeader(w),g=!0;j.write(w,{at:U}),U+=w.byteLength}if(U<512||U%512!==0)n("Input size",U,"is not correct for an SQLite database.");if(!g){let x=new Uint8Array(20);j.read(x,{at:0}),a.affirmDbHeader(x)}return j.write(new Uint8Array([1,1]),{at:18}),U}catch(x){throw await j.close(),j=void 0,await M.removeEntry(h).catch(()=>{}),x}finally{if(j)await j.close()}};p.importDb=async function(y,N){if(N instanceof Function)return I(y,N);if(N instanceof ArrayBuffer)N=new Uint8Array(N);a.affirmIsDb(N);let M=N.byteLength,[h,te]=await p.getDirForFilename(y,!0),j,U,w=0;try{if(j=await(await h.getFileHandle(te,{create:!0})).createSyncAccessHandle(),j.truncate(0),w=j.write(N,{at:0}),w!=M)n("Expected to write "+M+" bytes but wrote "+w+".");return j.write(new Uint8Array([1,1]),{at:18}),w}catch(g){if(j)await j.close(),j=void 0;throw await h.removeEntry(te).catch(()=>{}),g}finally{if(j)await j.close()}},p.vfsInstallationFeatureCheck=function(y){if(!globalThis.SharedArrayBuffer||!globalThis.Atomics)n("Cannot install OPFS: Missing SharedArrayBuffer and/or Atomics.","The server must emit the COOP/COEP response headers to enable those.","See https://sqlite.org/wasm/doc/trunk/persistence.md#coop-coep");else if(typeof WorkerGlobalScope>"u")n("The OPFS sqlite3_vfs cannot run in the main thread","because it requires Atomics.wait().");else if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle?.prototype?.createSyncAccessHandle||!navigator?.storage?.getDirectory)n("Missing required OPFS APIs.");else if(y==="opfs-wl"&&!globalThis.Atomics.waitAsync)n("The",y,"VFS requires Atomics.waitAsync(), which is not available.")},p.initOptions=function(N,M){let h=new URL(globalThis.location.href).searchParams;if(h.has(N+"-disable"))return;try{p.vfsInstallationFeatureCheck(N)}catch(te){return}if(M=a.nu(M),M.vfsName=N,M.verbose??=h.has("opfs-verbose")?+h.get("opfs-verbose"):1,M.sanityChecks??=h.has("opfs-sanity-check"),!p.proxyUri){if(p.proxyUri="sqlite3-opfs-async-proxy.js",i.scriptInfo?.sqlite3Dir)p.proxyUri=i.scriptInfo.sqlite3Dir+p.proxyUri}if(M.proxyUri??=p.proxyUri,typeof M.proxyUri==="function")M.proxyUri=M.proxyUri();return p.options=M},p.createVfsState=function(){let y=a.nu(),N=p.options;y.verbose=N.verbose;let M=[i.config.error,i.config.warn,i.config.log],h=N.vfsName||n("Maintenance required: missing VFS name"),te=(H,...ae)=>{if(y.verbose>H)M[H](h+":",...ae)},j=(...H)=>te(2,...H),U=(...H)=>te(1,...H),w=(...H)=>te(0,...H),{capi:g,wasm:L}=i,x=y.vfs=new g.sqlite3_vfs,A=x.ioMethods=new g.sqlite3_io_methods;A.$iVersion=1,x.$iVersion=2,x.$szOsFile=g.sqlite3_file.structInfo.sizeof,x.$mxPathname=1024,x.$zName=L.allocCString(h),x.addOnDispose("$zName",x.$zName,A),x.metrics=a.nu({counters:a.nu(),dump:function(){let H,ae=0,_=0,b=0;for(H in y.opIds){let F=D[H];ae+=F.count,_+=F.time,b+=F.wait,F.avgTime=F.count&&F.time?F.time/F.count:0,F.avgWait=F.count&&F.wait?F.wait/F.count:0}i.config.log(globalThis.location.href,"metrics for",globalThis.location.href,":",D,`
3
+ Total of`,ae,"op(s) for",_,"ms (incl. "+b+" ms of waiting on the async side)"),i.config.log("Serialization metrics:",x.metrics.counters.s11n),x.worker?.postMessage?.({type:"opfs-async-metrics"})},reset:function(){let H,ae=(F)=>F.count=F.time=F.wait=0,_=x.metrics.counters;for(H in y.opIds)ae(_[H]=Object.create(null));let b=_.s11n=Object.create(null);b=b.serialize=Object.create(null),b.count=b.time=0,b=_.s11n.deserialize=Object.create(null),b.count=b.time=0}}),y.asyncIdleWaitTime=150,y.asyncS11nExceptions=1,y.fileBufferSize=65536,y.sabS11nOffset=y.fileBufferSize,y.sabS11nSize=x.$mxPathname*2,y.sabIO=new SharedArrayBuffer(y.fileBufferSize+y.sabS11nSize),y.opIds=Object.create(null);{let H=0;y.opIds.whichOp=H++,y.opIds.rc=H++,y.opIds.xAccess=H++,y.opIds.xClose=H++,y.opIds.xDelete=H++,y.opIds.xDeleteNoWait=H++,y.opIds.xFileSize=H++,y.opIds.xLock=H++,y.opIds.xOpen=H++,y.opIds.xRead=H++,y.opIds.xSleep=H++,y.opIds.xSync=H++,y.opIds.xTruncate=H++,y.opIds.xUnlock=H++,y.opIds.xWrite=H++,y.opIds.mkdir=H++,y.opIds["opfs-async-metrics"]=H++,y.opIds["opfs-async-shutdown"]=H++,y.opIds.retry=H++,y.sabOP=new SharedArrayBuffer(H*4)}y.sq3Codes=Object.create(null);for(let H of["SQLITE_ACCESS_EXISTS","SQLITE_ACCESS_READWRITE","SQLITE_BUSY","SQLITE_CANTOPEN","SQLITE_ERROR","SQLITE_IOERR","SQLITE_IOERR_ACCESS","SQLITE_IOERR_CLOSE","SQLITE_IOERR_DELETE","SQLITE_IOERR_FSYNC","SQLITE_IOERR_LOCK","SQLITE_IOERR_READ","SQLITE_IOERR_SHORT_READ","SQLITE_IOERR_TRUNCATE","SQLITE_IOERR_UNLOCK","SQLITE_IOERR_WRITE","SQLITE_LOCK_EXCLUSIVE","SQLITE_LOCK_NONE","SQLITE_LOCK_PENDING","SQLITE_LOCK_RESERVED","SQLITE_LOCK_SHARED","SQLITE_LOCKED","SQLITE_MISUSE","SQLITE_NOTFOUND","SQLITE_OPEN_CREATE","SQLITE_OPEN_DELETEONCLOSE","SQLITE_OPEN_MAIN_DB","SQLITE_OPEN_READONLY","SQLITE_LOCK_NONE","SQLITE_LOCK_SHARED","SQLITE_LOCK_RESERVED","SQLITE_LOCK_PENDING","SQLITE_LOCK_EXCLUSIVE"])y.sq3Codes[H]=g[H]??n("Maintenance required: not found:",H);y.opfsFlags=Object.assign(Object.create(null),{OPFS_UNLOCK_ASAP:1,OPFS_UNLINK_BEFORE_OPEN:2,defaultUnlockAsap:!1}),x.metrics.reset();let D=x.metrics.counters,z=x.opRun=(H,...ae)=>{let _=y.opIds[H]||n(x.vfsName+": Invalid op ID:",H);y.s11n.serialize(...ae),Atomics.store(y.sabOPView,y.opIds.rc,-1),Atomics.store(y.sabOPView,y.opIds.whichOp,_),Atomics.notify(y.sabOPView,y.opIds.whichOp);let b=performance.now();while(Atomics.wait(y.sabOPView,y.opIds.rc,-1)!=="not-equal");let F=Atomics.load(y.sabOPView,y.opIds.rc);if(D[H].wait+=performance.now()-b,F&&y.asyncS11nExceptions){let V=y.s11n.deserialize();if(V)w(H+"() async error:",...V)}return F},f=Object.create(null);f.op=void 0,f.start=void 0;let q=x.mTimeStart=(H)=>{f.start=performance.now(),f.op=H,++D[H].count},R=x.mTimeEnd=()=>D[f.op].time+=performance.now()-f.start,G=x.__openFiles=Object.create(null),ie=x.ioSyncWrappers=a.nu({xCheckReservedLock:function(H,ae){return L.poke(ae,0,"i32"),0},xClose:function(H){q("xClose");let ae=0,_=G[H];if(_){if(delete G[H],ae=z("xClose",H),_.sq3File)_.sq3File.dispose()}return R(),ae},xDeviceCharacteristics:function(H){return g.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(H,ae,_){return g.SQLITE_NOTFOUND},xFileSize:function(H,ae){q("xFileSize");let _=z("xFileSize",H);if(_==0)try{let b=y.s11n.deserialize()[0];L.poke(ae,b,"i64")}catch(b){w("Unexpected error reading xFileSize() result:",b),_=y.sq3Codes.SQLITE_IOERR}return R(),_},xRead:function(H,ae,_,b){q("xRead");let F=G[H],V;try{if(V=z("xRead",H,_,Number(b)),V===0||g.SQLITE_IOERR_SHORT_READ===V)L.heap8u().set(F.sabView.subarray(0,_),Number(ae))}catch(d){w("xRead(",arguments,") failed:",d,F),V=g.SQLITE_IOERR_READ}return R(),V},xSync:function(H,ae){q("xSync");let _=z("xSync",H,ae);return R(),_},xTruncate:function(H,ae){q("xTruncate");let _=z("xTruncate",H,Number(ae));return R(),_},xWrite:function(H,ae,_,b){q("xWrite");let F=G[H],V;try{F.sabView.set(L.heap8u().subarray(Number(ae),Number(ae)+_)),V=z("xWrite",H,_,Number(b))}catch(d){w("xWrite(",arguments,") failed:",d,F),V=g.SQLITE_IOERR_WRITE}return R(),V}}),le=x.vfsSyncWrappers={xAccess:function(H,ae,_,b){q("xAccess");let F=z("xAccess",L.cstrToJs(ae));return L.poke(b,F?0:1,"i32"),R(),0},xCurrentTime:function(H,ae){return L.poke(ae,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(H,ae){return L.poke(ae,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(H,ae,_){q("xDelete");let b=z("xDelete",L.cstrToJs(ae),_,!1);return R(),b},xFullPathname:function(H,ae,_,b){return L.cstrncpy(b,ae,_)<_?0:g.SQLITE_CANTOPEN},xGetLastError:function(H,ae,_){return i.config.warn("OPFS xGetLastError() has nothing sensible to return."),0},xOpen:function(ae,_,b,F,V){q("xOpen");let d=0,m,T;if(!_)m=p.randomFilename(),_=T=L.allocCString(m);else if(L.isPtr(_)){if(g.sqlite3_uri_boolean(_,"opfs-unlock-asap",0))d|=y.opfsFlags.OPFS_UNLOCK_ASAP;if(g.sqlite3_uri_boolean(_,"delete-before-open",0))d|=y.opfsFlags.OPFS_UNLINK_BEFORE_OPEN;m=L.cstrToJs(_)}else return i.config.error("Impossible zName value in xOpen?",_),g.SQLITE_CANTOPEN;let P=a.nu({fid:b,filename:m,sab:new SharedArrayBuffer(y.fileBufferSize),flags:F,readOnly:!(g.SQLITE_OPEN_CREATE&F)&&!!(F&g.SQLITE_OPEN_READONLY)}),u=z("xOpen",b,m,F,d);if(u){if(T)L.dealloc(T)}else{if(P.readOnly)L.poke(V,g.SQLITE_OPEN_READONLY,"i32");if(G[b]=P,P.sabView=y.sabFileBufView,P.sq3File=new g.sqlite3_file(b),T)P.sq3File.addOnDispose(T);P.sq3File.$pMethods=A.pointer,P.lockType=g.SQLITE_LOCK_NONE}return R(),u}},me=g.sqlite3_vfs_find(null);if(me){let H=new g.sqlite3_vfs(me);x.$xRandomness=H.$xRandomness,x.$xSleep=H.$xSleep,H.dispose()}if(!x.$xRandomness)x.vfsSyncWrappers.xRandomness=function(H,ae,_){let b=L.heap8u(),F=0,V=Number(_);for(;F<ae;++F)b[V+F]=Math.random()*255000&255;return F};if(!x.$xSleep)x.vfsSyncWrappers.xSleep=function(H,ae){return q("xSleep"),Atomics.wait(y.sabOPView,y.opIds.xSleep,0,ae),R(),0};let ye=function(){if(y.s11n)return y.s11n;let H=new TextDecoder,ae=new TextEncoder("utf-8"),_=new Uint8Array(y.sabIO,y.sabS11nOffset,y.sabS11nSize),b=new DataView(y.sabIO,y.sabS11nOffset,y.sabS11nSize);y.s11n=Object.create(null);let F=Object.create(null);F.number={id:1,size:8,getter:"getFloat64",setter:"setFloat64"},F.bigint={id:2,size:8,getter:"getBigInt64",setter:"setBigInt64"},F.boolean={id:3,size:4,getter:"getInt32",setter:"setInt32"},F.string={id:4};let V=(m)=>F[typeof m]||n("Maintenance required: this value type cannot be serialized.",m),d=(m)=>{switch(m){case F.number.id:return F.number;case F.bigint.id:return F.bigint;case F.boolean.id:return F.boolean;case F.string.id:return F.string;default:n("Invalid type ID:",m)}};return y.s11n.deserialize=function(m=!1){let T=performance.now(),P=_[0],u=P?[]:null;if(P){let E=[],W=1,Z,Q,oe;for(Z=0;Z<P;++Z,++W)E.push(d(_[W]));for(Z=0;Z<P;++Z){let _e=E[Z];if(_e.getter)oe=b[_e.getter](W,y.littleEndian),W+=_e.size;else Q=b.getInt32(W,y.littleEndian),W+=4,oe=H.decode(_.slice(W,W+Q)),W+=Q;u.push(oe)}}if(m)_[0]=0;return u},y.s11n.serialize=function(...m){let T=performance.now();if(m.length){let P=[],u=0,E=1;_[0]=m.length&255;for(;u<m.length;++u,++E)P.push(V(m[u])),_[E]=P[u].id;for(u=0;u<m.length;++u){let W=P[u];if(W.setter)b[W.setter](E,m[u],y.littleEndian),E+=W.size;else{let Z=ae.encode(m[u]);b.setInt32(E,Z.byteLength,y.littleEndian),E+=4,_.set(Z,E),E+=Z.byteLength}}}else _[0]=0},y.s11n};return x.initS11n=ye,x.bindVfs=function(H,ae){return Object.assign(x.ioSyncWrappers,H),new Promise(function(b,F){let V=void 0,d=(Q)=>(V=!0,x.dispose(),F(Q)),m=()=>{try{ae(i,x)}catch(Q){return d(Q)}return V=!1,b(i)},T=p.options,P=T.proxyUri+(T.proxyUri.indexOf("?")<0?"?":"&")+"vfs="+h,u=x.worker=new Worker(new URL(P,import.meta.url)),E=setTimeout(()=>{if(V===void 0)d(Error("Timeout while waiting for OPFS async proxy worker."))},4000);u._originalOnError=u.onerror,u.onerror=function(Q){w("Error initializing OPFS asyncer:",Q),d(Error("Loading OPFS async Worker failed for unknown reasons."))};let W=x.opRun,Z=function(){let Q=L.scopedAllocPush(),oe=new g.sqlite3_file;try{let _e=oe.pointer,Ee=g.SQLITE_OPEN_CREATE|g.SQLITE_OPEN_READWRITE|g.SQLITE_OPEN_MAIN_DB,qe=L.scopedAlloc(8),Ce="/sanity/check/file"+randomFilename(8),Re=L.scopedAllocCString(Ce),Se;if(y.s11n.serialize("This is ä string."),Se=y.s11n.deserialize(),j("deserialize() says:",Se),Se[0]!=="This is ä string.")n("String d13n error.");if(x.vfsSyncWrappers.xAccess(x.pointer,Re,0,qe),Se=L.peek(qe,"i32"),j("xAccess(",Ce,") exists ?=",Se),Se=x.vfsSyncWrappers.xOpen(x.pointer,Re,_e,Ee,qe),j("open rc =",Se,"state.sabOPView[xOpen] =",y.sabOPView[y.opIds.xOpen]),Se!==0){w("open failed with code",Se);return}if(x.vfsSyncWrappers.xAccess(x.pointer,Re,0,qe),Se=L.peek(qe,"i32"),!Se)n("xAccess() failed to detect file.");if(Se=x.ioSyncWrappers.xSync(oe.pointer,0),Se)n("sync failed w/ rc",Se);if(Se=x.ioSyncWrappers.xTruncate(oe.pointer,1024),Se)n("truncate failed w/ rc",Se);if(L.poke(qe,0,"i64"),Se=x.ioSyncWrappers.xFileSize(oe.pointer,qe),Se)n("xFileSize failed w/ rc",Se);if(j("xFileSize says:",L.peek(qe,"i64")),Se=x.ioSyncWrappers.xWrite(oe.pointer,Re,10,1),Se)n("xWrite() failed!");let O=L.scopedAlloc(16);Se=x.ioSyncWrappers.xRead(oe.pointer,O,6,2),L.poke(O+6,0);let B=L.cstrToJs(O);if(j("xRead() got:",B),B!=="sanity")n("Unexpected xRead() value.");if(x.vfsSyncWrappers.xSleep)j("xSleep()ing before close()ing..."),x.vfsSyncWrappers.xSleep(x.pointer,2000),j("waking up from xSleep()");if(Se=x.ioSyncWrappers.xClose(_e),j("xClose rc =",Se,"sabOPView =",y.sabOPView),j("Deleting file:",Ce),x.vfsSyncWrappers.xDelete(x.pointer,Re,4660),x.vfsSyncWrappers.xAccess(x.pointer,Re,0,qe),Se=L.peek(qe,"i32"),Se)n("Expecting 0 from xAccess(",Ce,") after xDelete().");U("End of OPFS sanity checks.")}finally{oe.dispose(),L.scopedAllocPop(Q)}};u.onmessage=function({data:Q}){switch(Q.type){case"opfs-unavailable":d(Error(Q.payload.join(" ")));break;case"opfs-async-loaded":delete y.vfs,u.postMessage({type:"opfs-async-init",args:a.nu(y)});break;case"opfs-async-inited":{if(V===!0)break;clearTimeout(E),E=null;try{if(i.vfs.installVfs({io:{struct:x.ioMethods,methods:x.ioSyncWrappers},vfs:{struct:x,methods:x.vfsSyncWrappers}}),y.sabOPView=new Int32Array(y.sabOP),y.sabFileBufView=new Uint8Array(y.sabIO,0,y.fileBufferSize),y.sabS11nView=new Uint8Array(y.sabIO,y.sabS11nOffset,y.sabS11nSize),x.initS11n(),delete x.initS11n,T.sanityChecks)U("Running sanity checks because of opfs-sanity-check URL arg..."),Z();if(p.thisThreadHasOPFS())p.getRootDir().then((oe)=>{u.onerror=u._originalOnError,delete u._originalOnError,j("End of OPFS sqlite3_vfs setup.",x),m()}).catch(d);else m()}catch(oe){w(oe),d(oe)}break}case"debug":U("debug message from worker:",Q);break;default:{let oe="Unexpected message from the OPFS async worker: "+JSON.stringify(Q);w(oe),d(Error(oe));break}}}})},y}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(!i.opfs||i.config.disable?.vfs?.opfs)return;let n=i.util,r=i.opfs||i.util.toss("Missing sqlite3.opfs"),a=async function(c){if(c=r.initOptions("opfs",c),!c)return i;let p=i.capi,I=r.createVfsState(),y=I.vfs,N=y.metrics.counters,{mTimeStart:M,mTimeEnd:h,opRun:te}=y,j=(...g)=>i.config.debug("opfs:",...g),U=(...g)=>i.config.warn("opfs:",...g),w=y.__openFiles;return y.bindVfs(n.nu({xLock:function(g,L){M("xLock"),++N.xLock.count;let x=w[g],A=0;if(x.lockType)x.lockType=L;else if(A=te("xLock",g,L),A===0)x.lockType=L;return h(),A},xUnlock:function(g,L){M("xUnlock"),++N.xUnlock.count;let x=w[g],A=0;if(p.SQLITE_LOCK_NONE===L&&x.lockType)A=te("xUnlock",g,L);if(A===0)x.lockType=L;return h(),A}}),function(g,L){if(g.oo1){let x=function(...A){let D=g.oo1.DB.dbCtorHelper.normalizeArgs(...A);D.vfs=L.$zName,g.oo1.DB.dbCtorHelper.call(this,D)};x.prototype=Object.create(g.oo1.DB.prototype),g.oo1.OpfsDb=x,x.importDb=r.importDb,g.oo1.DB.dbCtorHelper.setVfsPostOpenCallback(y.pointer,function(A,D){D.capi.sqlite3_busy_timeout(A,1e4)})}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(c)=>a().catch((p)=>{c.config.warn("Ignoring inability to install 'opfs' sqlite3_vfs:",p)}))}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(i.config.disable?.vfs?.["opfs-sahpool"])return;let n=i.util.toss,r=i.util.toss3,a=Object.create(null),{capi:c,util:p,wasm:I}=i,y=4096,N=512,M=4,h=8,te=N+M,j=N,U=te,w=y,g=c.SQLITE_OPEN_MAIN_DB|c.SQLITE_OPEN_MAIN_JOURNAL|c.SQLITE_OPEN_SUPER_JOURNAL|c.SQLITE_OPEN_WAL,L=c.SQLITE_OPEN_MEMORY,x=".opaque",A=()=>Math.random().toString(36).slice(2),D=new TextDecoder,z=new TextEncoder,f=Object.assign(Object.create(null),{name:"opfs-sahpool",directory:void 0,initialCapacity:6,clearOnInit:!1,verbosity:2,forceReinitIfPreviouslyFailed:!1}),q=[i.config.error,i.config.warn,i.config.log],R=i.config.log,G=i.config.warn,ie=i.config.error,le=new Map,me=(u)=>le.get(u),ye=(u,E)=>{if(E)le.set(u,E);else le.delete(u)},H=new Map,ae=(u)=>H.get(u),_=(u,E)=>{if(E)H.set(u,E);else H.delete(u)},b={xCheckReservedLock:function(u,E){let W=ae(u);return W.log("xCheckReservedLock"),W.storeErr(),I.poke32(E,1),0},xClose:function(u){let E=ae(u);E.storeErr();let W=E.getOFileForS3File(u);if(W)try{if(E.log(`xClose ${W.path}`),E.mapS3FileToOFile(u,!1),W.sah.flush(),W.flags&c.SQLITE_OPEN_DELETEONCLOSE)E.deletePath(W.path)}catch(Z){return E.storeErr(Z,c.SQLITE_IOERR)}return 0},xDeviceCharacteristics:function(u){return c.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(u,E,W){return c.SQLITE_NOTFOUND},xFileSize:function(u,E){let W=ae(u);W.log("xFileSize");let Q=W.getOFileForS3File(u).sah.getSize()-w;return I.poke64(E,BigInt(Q)),0},xLock:function(u,E){let W=ae(u);W.log(`xLock ${E}`),W.storeErr();let Z=W.getOFileForS3File(u);return Z.lockType=E,0},xRead:function(u,E,W,Z){let Q=ae(u);Q.storeErr();let oe=Q.getOFileForS3File(u);Q.log(`xRead ${oe.path} ${W} @ ${Z}`);try{let _e=oe.sah.read(I.heap8u().subarray(Number(E),Number(E)+W),{at:w+Number(Z)});if(_e<W)return I.heap8u().fill(0,Number(E)+_e,Number(E)+W),c.SQLITE_IOERR_SHORT_READ;return 0}catch(_e){return Q.storeErr(_e,c.SQLITE_IOERR)}},xSectorSize:function(u){return y},xSync:function(u,E){let W=ae(u);W.log(`xSync ${E}`),W.storeErr();let Z=W.getOFileForS3File(u);try{return Z.sah.flush(),0}catch(Q){return W.storeErr(Q,c.SQLITE_IOERR)}},xTruncate:function(u,E){let W=ae(u);W.log(`xTruncate ${E}`),W.storeErr();let Z=W.getOFileForS3File(u);try{return Z.sah.truncate(w+Number(E)),0}catch(Q){return W.storeErr(Q,c.SQLITE_IOERR)}},xUnlock:function(u,E){let W=ae(u);W.log("xUnlock");let Z=W.getOFileForS3File(u);return Z.lockType=E,0},xWrite:function(u,E,W,Z){let Q=ae(u);Q.storeErr();let oe=Q.getOFileForS3File(u);Q.log(`xWrite ${oe.path} ${W} ${Z}`);try{let _e=oe.sah.write(I.heap8u().subarray(Number(E),Number(E)+W),{at:w+Number(Z)});return W===_e?0:n("Unknown write() failure.")}catch(_e){return Q.storeErr(_e,c.SQLITE_IOERR)}}},F=new c.sqlite3_io_methods;F.$iVersion=1,i.vfs.installVfs({io:{struct:F,methods:b}});let V={xAccess:function(u,E,W,Z){let Q=me(u);Q.storeErr();try{let oe=Q.getPath(E);I.poke32(Z,Q.hasFilename(oe)?1:0)}catch(oe){I.poke32(Z,0)}return 0},xCurrentTime:function(u,E){return I.poke(E,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(u,E){return I.poke(E,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(u,E,W){let Z=me(u);Z.log(`xDelete ${I.cstrToJs(E)}`),Z.storeErr();try{return Z.deletePath(Z.getPath(E)),0}catch(Q){return Z.storeErr(Q),c.SQLITE_IOERR_DELETE}},xFullPathname:function(u,E,W,Z){return I.cstrncpy(Z,E,W)<W?0:c.SQLITE_CANTOPEN},xGetLastError:function(u,E,W){let Z=me(u),Q=Z.popErr();if(Z.log(`xGetLastError ${E} e =`,Q),Q){let oe=I.scopedAllocPush();try{let[_e,Ee]=I.scopedAllocCString(Q.message,!0);if(I.cstrncpy(W,_e,E),Ee>E)I.poke8(I.ptr.add(W,E,-1),0)}catch(_e){return c.SQLITE_NOMEM}finally{I.scopedAllocPop(oe)}}return Q?Q.sqlite3Rc||c.SQLITE_IOERR:0},xOpen:function(E,W,Z,Q,oe){let _e=me(E);try{Q&=~L,_e.log(`xOpen ${I.cstrToJs(W)} ${Q}`);let Ee=W&&I.peek8(W)?_e.getPath(W):A(),qe=_e.getSAHForPath(Ee);if(!qe&&Q&c.SQLITE_OPEN_CREATE)if(_e.getFileCount()<_e.getCapacity())qe=_e.nextAvailableSAH(),_e.setAssociatedPath(qe,Ee,Q);else n("SAH pool is full. Cannot create file",Ee);if(!qe)n("file not found:",Ee);let Ce={path:Ee,flags:Q,sah:qe};_e.mapS3FileToOFile(Z,Ce),Ce.lockType=c.SQLITE_LOCK_NONE;let Re=new c.sqlite3_file(Z);return Re.$pMethods=F.pointer,Re.dispose(),I.poke32(oe,Q),0}catch(Ee){return _e.storeErr(Ee),c.SQLITE_CANTOPEN}}},d=function(u){if(i.capi.sqlite3_vfs_find(u))r("VFS name is already registered:",u);let E=new c.sqlite3_vfs,W=c.sqlite3_vfs_find(null),Z=W?new c.sqlite3_vfs(W):null;if(E.$iVersion=2,E.$szOsFile=c.sqlite3_file.structInfo.sizeof,E.$mxPathname=N,E.addOnDispose(E.$zName=I.allocCString(u),()=>ye(E.pointer,0)),Z)E.$xRandomness=Z.$xRandomness,E.$xSleep=Z.$xSleep,Z.dispose();if(!E.$xRandomness&&!V.xRandomness)V.xRandomness=function(Q,oe,_e){let Ee=I.heap8u(),qe=0,Ce=Number(_e);for(;qe<oe;++qe)Ee[Ce+qe]=Math.random()*255000&255;return qe};if(!E.$xSleep&&!V.xSleep)V.xSleep=(Q,oe)=>0;return i.vfs.installVfs({vfs:{struct:E,methods:V}}),E};class m{vfsDir;#e;#i;#s;#t=new Map;#n=new Map;#o=new Set;#l=new Map;#r=new Uint8Array(te);#c;#a;#u;constructor(u=Object.create(null)){this.#u=u.verbosity??f.verbosity,this.vfsName=u.name||f.name,this.#a=d(this.vfsName),ye(this.#a.pointer,this),this.vfsDir=u.directory||"."+this.vfsName,this.#c=new DataView(this.#r.buffer,this.#r.byteOffset),this.isReady=this.reset(!!(u.clearOnInit??f.clearOnInit)).then(()=>{if(this.$error)throw this.$error;return this.getCapacity()?Promise.resolve(void 0):this.addCapacity(u.initialCapacity||f.initialCapacity)})}#_(u,...E){if(this.#u>u)q[u](this.vfsName+":",...E)}log(...u){this.#_(2,...u)}warn(...u){this.#_(1,...u)}error(...u){this.#_(0,...u)}getVfs(){return this.#a}getCapacity(){return this.#t.size}getFileCount(){return this.#n.size}getFileNames(){let u=[];for(let E of this.#n.keys())u.push(E);return u}async addCapacity(u){for(let E=0;E<u;++E){let W=A(),Q=await(await this.#i.getFileHandle(W,{create:!0})).createSyncAccessHandle();this.#t.set(Q,W),this.setAssociatedPath(Q,"",0)}return this.getCapacity()}async reduceCapacity(u){let E=0;for(let W of Array.from(this.#o)){if(E===u||this.getFileCount()===this.getCapacity())break;let Z=this.#t.get(W);W.close(),await this.#i.removeEntry(Z),this.#t.delete(W),this.#o.delete(W),++E}return E}releaseAccessHandles(){for(let u of this.#t.keys())u.close();this.#t.clear(),this.#n.clear(),this.#o.clear()}async acquireAccessHandles(u=!1){let E=[];for await(let[W,Z]of this.#i)if(Z.kind==="file")E.push([W,Z]);return Promise.all(E.map(async([W,Z])=>{try{let Q=await Z.createSyncAccessHandle();if(this.#t.set(Q,W),u)Q.truncate(w),this.setAssociatedPath(Q,"",0);else{let oe=this.getAssociatedPath(Q);if(oe)this.#n.set(oe,Q);else this.#o.add(Q)}}catch(Q){throw this.storeErr(Q),this.releaseAccessHandles(),Q}}))}getAssociatedPath(u){u.read(this.#r,{at:0});let E=this.#c.getUint32(j);if(this.#r[0]&&(E&c.SQLITE_OPEN_DELETEONCLOSE||(E&g)===0))return G(`Removing file with unexpected flags ${E.toString(16)}`,this.#r),this.setAssociatedPath(u,"",0),"";let W=new Uint32Array(h/4);u.read(W,{at:U});let Z=this.computeDigest(this.#r,E);if(W.every((Q,oe)=>Q===Z[oe])){let Q=this.#r.findIndex((oe)=>oe===0);if(Q===0)u.truncate(w);return Q?D.decode(this.#r.subarray(0,Q)):""}else return G("Disassociating file with bad digest."),this.setAssociatedPath(u,"",0),""}setAssociatedPath(u,E,W){let Z=z.encodeInto(E,this.#r);if(N<=Z.written+1)n("Path too long:",E);if(E&&W)W|=L;this.#r.fill(0,Z.written,N),this.#c.setUint32(j,W);let Q=this.computeDigest(this.#r,W);if(u.write(this.#r,{at:0}),u.write(Q,{at:U}),u.flush(),E)this.#n.set(E,u),this.#o.delete(u);else u.truncate(w),this.#o.add(u)}computeDigest(u,E){if(E&L){let W=3735928559,Z=1103547991;for(let Q of u)W=Math.imul(W^Q,2654435761),Z=Math.imul(Z^Q,104729);return new Uint32Array([W>>>0,Z>>>0])}else return new Uint32Array([0,0])}async reset(u){await this.isReady;let E=await navigator.storage.getDirectory(),W,Z;for(let Q of this.vfsDir.split("/"))if(Q)W=E,E=await E.getDirectoryHandle(Q,{create:!0});return this.#e=E,this.#s=W,this.#i=await this.#e.getDirectoryHandle(x,{create:!0}),this.releaseAccessHandles(),this.acquireAccessHandles(u)}getPath(u){if(I.isPtr(u))u=I.cstrToJs(u);return(u instanceof URL?u:new URL(u,"file://localhost/")).pathname}deletePath(u){let E=this.#n.get(u);if(E)this.#n.delete(u),this.setAssociatedPath(E,"",0);return!!E}storeErr(u,E){if(u)u.sqlite3Rc=E||c.SQLITE_IOERR,this.error(u);return this.$error=u,E}popErr(){let u=this.$error;return this.$error=void 0,u}nextAvailableSAH(){let[u]=this.#o.keys();return u}getOFileForS3File(u){return this.#l.get(u)}mapS3FileToOFile(u,E){if(E)this.#l.set(u,E),_(u,this);else this.#l.delete(u),_(u,!1)}hasFilename(u){return this.#n.has(u)}getSAHForPath(u){return this.#n.get(u)}async removeVfs(){if(!this.#a.pointer||!this.#i)return!1;c.sqlite3_vfs_unregister(this.#a.pointer),this.#a.dispose(),delete a[this.vfsName];try{this.releaseAccessHandles(),await this.#e.removeEntry(x,{recursive:!0}),this.#i=void 0,await this.#s.removeEntry(this.#e.name,{recursive:!0}),this.#e=this.#s=void 0}catch(u){i.config.error(this.vfsName,"removeVfs() failed with no recovery strategy:",u)}return!0}pauseVfs(){if(this.#l.size>0)i.SQLite3Error.toss(c.SQLITE_MISUSE,"Cannot pause VFS",this.vfsName,"because it has opened files.");if(this.#t.size>0)c.sqlite3_vfs_unregister(this.vfsName),this.releaseAccessHandles();return this}isPaused(){return this.#t.size===0}async unpauseVfs(){if(this.#t.size===0)return this.acquireAccessHandles(!1).then(()=>c.sqlite3_vfs_register(this.#a,0),this);return this}exportFile(u){let E=this.#n.get(u)||n("File not found:",u),W=E.getSize()-w,Z=new Uint8Array(W>0?W:0);if(W>0){let Q=E.read(Z,{at:w});if(Q!=W)n("Expected to read "+W+" bytes but read "+Q+".")}return Z}async importDbChunked(u,E){let W=this.#n.get(u)||this.nextAvailableSAH()||n("No available handles to import to.");W.truncate(0);let Z=0,Q,oe=!1,_e=!1;try{while((Q=await E())!==void 0){if(Q instanceof ArrayBuffer)Q=new Uint8Array(Q);if(!oe&&Z===0&&Q.byteLength>=15)p.affirmDbHeader(Q),oe=!0;W.write(Q,{at:w+Z}),Z+=Q.byteLength}if(Z<512||Z%512!==0)n("Input size",Z,"is not correct for an SQLite database.");if(!oe){let Ee=new Uint8Array(20);W.read(Ee,{at:0}),p.affirmDbHeader(Ee)}W.write(new Uint8Array([1,1]),{at:w+18})}catch(Ee){throw this.setAssociatedPath(W,"",0),Ee}return this.setAssociatedPath(W,u,c.SQLITE_OPEN_MAIN_DB),Z}importDb(u,E){if(E instanceof ArrayBuffer)E=new Uint8Array(E);else if(E instanceof Function)return this.importDbChunked(u,E);let W=this.#n.get(u)||this.nextAvailableSAH()||n("No available handles to import to."),Z=E.byteLength;if(Z<512||Z%512!=0)n("Byte array size is invalid for an SQLite db.");let Q="SQLite format 3";for(let _e=0;_e<Q.length;++_e)if(Q.charCodeAt(_e)!==E[_e])n("Input does not contain an SQLite database header.");let oe=W.write(E,{at:w});if(oe!=Z)this.setAssociatedPath(W,"",0),n("Expected to write "+Z+" bytes but wrote "+oe+".");else W.write(new Uint8Array([1,1]),{at:w+18}),this.setAssociatedPath(W,u,c.SQLITE_OPEN_MAIN_DB);return oe}}class T{#e;constructor(u){this.#e=u,this.vfsName=u.vfsName}async addCapacity(u){return this.#e.addCapacity(u)}async reduceCapacity(u){return this.#e.reduceCapacity(u)}getCapacity(){return this.#e.getCapacity(this.#e)}getFileCount(){return this.#e.getFileCount()}getFileNames(){return this.#e.getFileNames()}async reserveMinimumCapacity(u){let E=this.#e.getCapacity();return E<u?this.#e.addCapacity(u-E):E}exportFile(u){return this.#e.exportFile(u)}importDb(u,E){return this.#e.importDb(u,E)}async wipeFiles(){return this.#e.reset(!0)}unlink(u){return this.#e.deletePath(u)}async removeVfs(){return this.#e.removeVfs()}pauseVfs(){return this.#e.pauseVfs(),this}async unpauseVfs(){return this.#e.unpauseVfs().then(()=>this)}isPaused(){return this.#e.isPaused()}}let P=async()=>{let u=await navigator.storage.getDirectory(),E=".opfs-sahpool-sync-check-"+A(),Q=(await(await u.getFileHandle(E,{create:!0})).createSyncAccessHandle()).close();if(await Q,await u.removeEntry(E),Q?.then)n("The local OPFS API is too old for opfs-sahpool:","it has an async FileSystemSyncAccessHandle.close() method.");return!0};i.installOpfsSAHPoolVfs=async function(u=Object.create(null)){u=Object.assign(Object.create(null),f,u||{});let E=u.name;if(u.$testThrowPhase1)throw u.$testThrowPhase1;if(a[E])try{return await a[E]}catch(W){if(u.forceReinitIfPreviouslyFailed)delete a[E];else throw W}if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle||!navigator?.storage?.getDirectory)return a[E]=Promise.reject(Error("Missing required OPFS APIs."));return a[E]=P().then(async function(){if(u.$testThrowPhase2)throw u.$testThrowPhase2;let W=new m(u);return W.isReady.then(async()=>{let Z=new T(W);if(i.oo1){let Q=i.oo1,oe=W.getVfs(),_e=function(...Ee){let qe=Q.DB.dbCtorHelper.normalizeArgs(...Ee);qe.vfs=oe.$zName,Q.DB.dbCtorHelper.call(this,qe)};_e.prototype=Object.create(Q.DB.prototype),Z.OpfsSAHPoolDb=_e}return W.log("VFS initialized."),Z}).catch(async(Z)=>{throw await W.removeVfs().catch(()=>{}),Z})}).catch((W)=>a[E]=Promise.reject(W))}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(i){if(!i.opfs||i.config.disable?.vfs?.["opfs-wl"])return;let n=i.util,r=i.util.toss,a=i.opfs,c="opfs-wl",p=async function(I){if(I=a.initOptions(c,I),!I)return i;let y=i.capi,N=a.createVfsState(),M=N.vfs,h=M.metrics.counters,{mTimeStart:te,mTimeEnd:j,opRun:U}=M,w=(...x)=>i.config.debug(c+":",...x),g=(...x)=>i.config.warn(c+":",...x),L=M.__openFiles;return M.bindVfs(n.nu({xLock:function(x,A){te("xLock");let D=L[x],z=U("xLock",x,A);if(!z)D.lockType=A;return j(),z},xUnlock:function(x,A){te("xUnlock");let D=L[x],z=U("xUnlock",x,A);if(!z)D.lockType=A;return j(),z}}),function(x,A){if(x.oo1){let D=function(...z){let f=x.oo1.DB.dbCtorHelper.normalizeArgs(...z);f.vfs=A.$zName,x.oo1.DB.dbCtorHelper.call(this,f)};D.prototype=Object.create(x.oo1.DB.prototype),x.oo1.OpfsWlDb=D,D.importDb=a.importDb}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(I)=>p().catch((y)=>{I.config.warn("Ignoring inability to install the",c,"sqlite3_vfs:",y)}))});try{let i=Object.assign(Object.create(null),{memory:typeof Ye<"u"?Ye:t.wasmMemory,exports:typeof pt<"u"?pt:Object.prototype.hasOwnProperty.call(t,"wasmExports")?t.wasmExports:t.asm},globalThis.sqlite3ApiBootstrap.defaultConfig,globalThis.sqlite3ApiConfig||{});e.debugModule("Bootstrapping lib config",i);let n=globalThis.sqlite3ApiBootstrap(i);return delete globalThis.sqlite3ApiBootstrap,n}catch(i){throw console.error("sqlite3ApiBootstrap() error:",i),i}},s}var Nc,kn;var In=Fc(()=>{Nc=function(){let S=Wt;if(!S)throw Error("Expecting sqlite3InitModule to be defined by the Emscripten build.");let s=globalThis.sqlite3InitModuleState=Object.assign(Object.create(null),{moduleScript:globalThis?.document?.currentScript,isWorker:typeof WorkerGlobalScope<"u",location:globalThis.location,urlParams:globalThis?.location?.href?new URL(globalThis.location.href).searchParams:new URLSearchParams,wasmFilename:"sqlite3.wasm"});if(s.debugModule=s.urlParams.has("sqlite3.debugModule")?(...ne)=>console.warn("sqlite3.debugModule:",...ne):()=>{},s.urlParams.has("sqlite3.dir"))s.sqlite3Dir=s.urlParams.get("sqlite3.dir")+"/";else if(s.moduleScript){let ne=s.moduleScript.src.split("/");ne.pop(),s.sqlite3Dir=ne.join("/")+"/"}let ee=globalThis.sqlite3InitModule=function ne(...ge){return s.emscriptenLocateFile=ge[0]?.locateFile,s.emscriptenInstantiateWasm=ge[0]?.instantiateWasm,S(...ge).then((we)=>{s.debugModule("sqlite3InitModule() sIMS =",s),s.debugModule("sqlite3InitModule() EmscriptenModule =",we);let We=we.runSQLite3PostLoadInit(s,we,!!ne.__isUnderTest);return s.debugModule("sqlite3InitModule() sqlite3 =",We),We}).catch((we)=>{throw console.error("Exception loading sqlite3 module:",we),we})};if(ee.ready=S.ready,s.moduleScript){let ne=s.moduleScript.src.split("/");ne.pop(),s.scriptDir=ne.join("/")+"/"}return s.debugModule("extern-post-js.c-pp.js sqlite3InitModuleState =",s),ee}();Wt=Nc;kn=Wt});var vn=Promise.resolve();function Cc(){return typeof Bun>"u"?null:Bun.fetch}function Mt(S){let s=Cc();if(!s)return S();let ee=vn.then(async()=>{let ne=globalThis.fetch;globalThis.fetch=s;try{return await S()}finally{globalThis.fetch=ne}});return vn=ee.then(()=>{return},()=>{return}),ee}function Lc(S,s){let ee=Reflect.get(S.capi,"sqlite3mc_vfs_create");if(typeof ee!=="function")return null;let ne=Reflect.apply(ee,S.capi,[s,0]);return typeof ne==="number"?ne:null}function Sn(S,s){let ee=new Set(S.capi.sqlite3_js_vfs_list()),ne=Lc(S,s);if(ne===null)throw Error("Persistent storage requested but the SQLite build does not provide sqlite3mc_vfs_create.");if(ne!==0)throw Error(`Failed to create the multiple-ciphers VFS over ${s} (rc=${ne}).`);let ge=S.capi.sqlite3_js_vfs_list().filter((We)=>!ee.has(We)),we=ge.find((We)=>We.includes(s))??ge[0];if(!we)throw Error("The multiple-ciphers VFS was created but could not be located in the VFS list.");return we}function wn(S,s){let ee=Reflect.get(S.capi,"sqlite3mc_vfs_destroy");if(typeof ee!=="function")throw Error("The SQLite build does not provide sqlite3mc_vfs_destroy.");Reflect.apply(ee,S.capi,[s])}var bt=8000;class kt extends Error{constructor(S){super(S);this.name="SahPoolStepTimeoutError"}}function yt(S,s){S.catch(()=>{});let ee;return Promise.race([S,new Promise((ne,ge)=>{ee=setTimeout(()=>{ge(new kt(`SAHPool handle acquisition did not settle within ${s}ms (likely a hung createSyncAccessHandle under OPFS handle-cap contention).`))},s)})]).finally(()=>{clearTimeout(ee)})}var En="tearleads-opfs-sahpool",An="/tearleads-sqlite";function Dc(S){let s=S.trim().replace(/^\/+/u,"").replace(/[^a-zA-Z0-9_.-]+/gu,"_").replace(/^_+/u,""),ee=s.length;while(ee>0&&s[ee-1]==="_")ee-=1;let ne=s.slice(0,ee);return!ne||ne==="."||ne===".."?"default":ne}function jt(S){let s=Dc(S);return{directory:`/tearleads-sqlite/${s}`,vfsName:`tearleads-opfs-sahpool-${s}`}}var Rc=["Missing SharedArrayBuffer and/or Atomics","The OPFS sqlite3_vfs cannot run in the main thread"],xn=Symbol.for("tearleads.sqliteWorker.autoOpfsVfsWarnFilterInstalled");function Tn(S){if(typeof S==="string")return S;if(S instanceof Error)return S.message;if(typeof S==="object"&&S!==null){let s=Reflect.get(S,"message");if(typeof s==="string")return s}try{return String(S)}catch{return"[Object]"}}function Mc(S){return Rc.some((s)=>S.includes(s))}function On(S){if(S.length===0)return!1;let s=Tn(S[0]),ee=S.map(Tn).join(" ");return(s==="Ignoring inability to install OPFS sqlite3_vfs:"||s.includes("Ignoring inability to install OPFS sqlite3_vfs:"))&&Mc(ee)}function Pn(){if(Reflect.get(console,xn)===!0||typeof console.warn!=="function")return;let S=console.warn;Reflect.set(console,"warn",(...ee)=>{if(On(ee))return;Reflect.apply(S,console,ee)}),Reflect.set(console,xn,!0)}function jc(S){let s=typeof S==="object"&&S!==null?S:void 0,ee=s?Reflect.get(s,"warn"):void 0,ne=(...ge)=>{if(On(ge))return;if(typeof ee==="function"){Reflect.apply(ee,s??globalThis,ge);return}console.warn(...ge)};return Object.assign(Object.create(null),s,{warn:ne})}function Wc(S){if(S===void 0){Reflect.deleteProperty(globalThis,"sqlite3ApiConfig");return}Reflect.set(globalThis,"sqlite3ApiConfig",S)}async function Fn(){let S=Reflect.get(globalThis,"sqlite3ApiConfig"),s=jc(S);Reflect.set(globalThis,"sqlite3ApiConfig",s);try{await Promise.resolve().then(() => In());return await kn()}finally{if(Reflect.get(globalThis,"sqlite3ApiConfig")===s)Wc(S)}}function zt(S,s){if(s.rowMode==="array"){let ne=[];return S.exec(s.sql,{...s.bind!==void 0?{bind:s.bind}:{},rowMode:"array",resultRows:ne}),ne}let ee=[];return S.exec(s.sql,{...s.bind!==void 0?{bind:s.bind}:{},rowMode:"object",resultRows:ee}),ee}var zc=12,Bc=3000,Uc=150,Qc=600;function Vc(S){return new Promise((s)=>{setTimeout(s,S)})}function Hc(S){if(typeof S!=="object"||S===null)return!1;if(Reflect.get(S,"name")==="NoModificationAllowedError")return!0;let ee=Reflect.get(S,"message");return typeof ee==="string"&&ee.includes("Access Handles cannot be created")}var Bt,Ut,it=new Map,Qt=new WeakMap;function Cn(S){return`${S.vfsName}
4
+ ${S.directory}`}function Gc(S,s){let ee={installation:s.catch((ne)=>{if(it.get(S)===ee)it.delete(S);throw ne instanceof Error?ne:Error("Failed to install the persistent SQLite VFS.",{cause:ne})}),resume:null};return it.set(S,ee),ee}async function $c(S){if(S.resume)return S.resume;let s=S.installation.then(async(ee)=>{if(ee.poolUtil.isPaused())await yt(ee.poolUtil.unpauseVfs(),bt);return ee});S.resume=s;try{return await s}finally{if(S.resume===s)S.resume=null}}async function Kc(){if(Bt)return Bt;if(!Ut)Ut=Mt(async()=>{let S=await Fn();return Bt=S,S});return Ut}async function Jc(S,s){let ee=s?.directory??An,ne=s?.vfsName??En,ge=s?.totalBudgetMs??Bc,we=s?.maxDelayMs??Qc,We=s?.stepHangTimeoutMs??bt,Qe=s?.now??(()=>Date.now()),et=Qe(),Je=s?.initialDelayMs??Uc;for(;;)try{return await yt(S.installOpfsSAHPoolVfs({name:ne,directory:ee,clearOnInit:!1}),We)}catch(Ke){if(Ke instanceof kt)throw Ke;if(!Hc(Ke))throw Ke;if(Qe()-et+Je>ge)throw Ke;await Vc(Je),Je=Math.min(Je*2,we)}}async function Xc(S,s){let ee=jt(s),ne=Cn(ee);if(typeof S.installOpfsSAHPoolVfs!=="function")throw Error("Persistent storage requested but the SQLite build does not provide installOpfsSAHPoolVfs.");let ge=it.get(ne);if(ge)return $c(ge);let we=(async()=>{let We=await Jc(S,{directory:ee.directory,vfsName:ee.vfsName});await yt(We.reserveMinimumCapacity(zc),bt);let Qe=Sn(S,We.vfsName);return{poolUtil:We,cipherVfsName:Qe,destroyCipherWrapper:()=>wn(S,Qe)}})();return Gc(ne,we).installation}async function Yc(S,s,ee){if(ee==="memory")return new S.oo1.DB(s);let{cipherVfsName:ne}=await Xc(S,s),ge=new S.oo1.DB(s,"c",ne),we=jt(s);return Qt.set(ge,Cn(we)),ge}async function Ln(S){let s=await Kc(),ee=S.persistence??"memory";return Mt(async()=>{let ne=await Yc(s,S.dbName,ee);return ne.exec(`PRAGMA cipher='${S.cipher}'`),ne.exec(`PRAGMA key='${S.key}'`),ne})}async function Dn(S,s,ee){let ne=S?Qt.get(S):void 0;try{S?.close()}catch{}if(S)Qt.delete(S);let ge=ne?[it.get(ne)]:S?[]:[...it.values()];if(ee){if(ne)it.delete(ne);else if(!S)it.clear()}for(let we of ge){if(!we)continue;try{await s(await(we.resume??we.installation))}catch{}}}function Nn(S){return Dn(S,(s)=>{s.poolUtil.pauseVfs()},!1)}function Rn(S){return Dn(S,async(s)=>{if(s.poolUtil.isPaused())await yt(s.poolUtil.unpauseVfs(),bt);await s.poolUtil.wipeFiles(),s.destroyCipherWrapper(),await s.poolUtil.removeVfs()},!0)}function Zc(S){return[S.dbName,S.persistence??"memory",S.cipher,S.key].join("\x00")}function Vt(S,s){let ee=S.queue.then(s,s);return S.queue=ee.then(()=>{return},()=>{return}),ee}class Mn{databasesByName=new Map;connectionsByName=new Map;lifecycleByName=new Map;createConnection(){let S={dbName:null,generation:0,initializing:!1};return{onInit:(s)=>this.initConnection(S,s),onExec:(s)=>this.execForConnection(S,s),onClose:()=>this.closeConnection(S),onDelete:()=>this.deleteConnection(S)}}async initConnection(S,s){if(S.dbName||S.initializing)throw Error("Database has already been initialized.");let ee=S.generation;S.initializing=!0;try{let ne=await this.acquireDatabase(s);if(S.generation!==ee||S.dbName)throw await this.releaseDatabase(ne.dbName),Error("Database connection closed before initialization completed.");S.dbName=ne.dbName,this.addConnection(ne.dbName,S)}finally{S.initializing=!1}}async execForConnection(S,s){let ee=S.dbName;if(!ee)throw Error("Database has not been initialized.");let ne=this.databasesByName.get(ee);if(!ne)throw this.detachConnection(S),Error("Database has not been initialized.");return Vt(ne,()=>zt(ne.db,s))}async acquireDatabase(S){let{dbName:s}=S,ee=Zc(S);await this.waitForLifecycle(s);let ne=this.databasesByName.get(s);if(ne)return this.attachDatabase(ne,ee);let ge=await this.runLifecycle(s,async()=>{let we=this.databasesByName.get(s);if(we)return we;let Qe={db:await Ln(S),dbName:s,optionsKey:ee,refCount:0,queue:Promise.resolve()};return this.databasesByName.set(s,Qe),Qe});return this.attachDatabase(ge,ee)}attachDatabase(S,s){if(S.optionsKey!==s)throw Error("Database is already initialized with different options.");return S.refCount+=1,S}async closeConnection(S){S.generation+=1;let s=this.detachConnection(S);if(s)await this.releaseDatabase(s)}async deleteConnection(S){S.generation+=1;let s=S.dbName;if(!s)return;await this.deleteDatabase(s)}async releaseDatabase(S){let s=this.databasesByName.get(S);if(!s)return;if(s.refCount=Math.max(0,s.refCount-1),s.refCount>0)return;this.databasesByName.delete(S),await this.runLifecycle(S,()=>Vt(s,()=>Nn(s.db)))}async deleteDatabase(S){let s=this.connectionsByName.get(S);if(s){for(let ne of s)ne.dbName=null,ne.generation+=1;this.connectionsByName.delete(S)}let ee=this.databasesByName.get(S);if(!ee)return;ee.refCount=0,this.databasesByName.delete(S),await this.runLifecycle(S,()=>Vt(ee,()=>Rn(ee.db)))}addConnection(S,s){let ee=this.connectionsByName.get(S)??new Set;ee.add(s),this.connectionsByName.set(S,ee)}detachConnection(S){let s=S.dbName;if(S.dbName=null,!s)return null;let ee=this.connectionsByName.get(s);if(ee?.delete(S),ee?.size===0)this.connectionsByName.delete(s);return s}async waitForLifecycle(S){await this.lifecycleByName.get(S)}async runLifecycle(S,s){let ne=(this.lifecycleByName.get(S)??Promise.resolve()).then(s,s),ge=ne.then(()=>{return},()=>{return});this.lifecycleByName.set(S,ge);try{return await ne}finally{if(this.lifecycleByName.get(S)===ge)this.lifecycleByName.delete(S)}}}function jn(){let S=new Mn;return()=>S.createConnection()}var Wn="tearleads:sqlite-connect-port",zn="tearleads:sqlite-disconnect-port",Bn="tearleads:sqlite-port-disconnected";function e_(S){if(typeof S!=="object"||S===null)return!1;let s=Reflect.get(S,"id"),ee=Reflect.get(S,"method");return typeof s==="number"&&(ee==="ping"||ee==="init"||ee==="exec"||ee==="close"||ee==="delete")}function Ht(S,s={}){let ee=async(ne)=>{let ge=ne.data;if(!e_(ge))return;try{let we=await t_(ge,s);S.postMessage(we)}catch(we){S.postMessage({id:ge.id,result:{ok:!1,message:we instanceof Error?we.message:String(we)}})}};return S.addEventListener("message",ee),()=>S.removeEventListener?.("message",ee)}async function t_(S,s){switch(S.method){case"ping":return{id:S.id,result:{ok:!0,message:"pong"}};case"init":return await s.onInit?.(S.params),{id:S.id,result:{ok:!0}};case"exec":return{id:S.id,result:{ok:!0,rows:await s.onExec?.(S.params)??[]}};case"close":return await s.onClose?.(),{id:S.id,result:{ok:!0}};case"delete":return await s.onDelete?.(),{id:S.id,result:{ok:!0}}}}function Qn(S){return typeof S==="object"&&S!==null&&typeof Reflect.get(S,"addEventListener")==="function"}function Vn(S){return Qn(S)&&typeof Reflect.get(S,"postMessage")==="function"}function Hn(S){return Vn(S)&&typeof Reflect.get(S,"removeEventListener")==="function"}function n_(S){return typeof S==="function"?S:()=>S}function r_(S){return{addEventListener(s,ee){S.addEventListener(s,(ne)=>{if(ne instanceof MessageEvent)ee(ne)})},postMessage(s){S.postMessage(s)}}}function i_(S){let s=new Map;return{addEventListener(ee,ne){let ge=(we)=>{ne(we)};s.set(ne,ge),S.addEventListener(ee,ge)},postMessage(ee){S.postMessage(ee)},removeEventListener(ee,ne){let ge=s.get(ne);if(!ge)return;s.delete(ne),S.removeEventListener(ee,ge)}}}function s_(S){return typeof S==="object"&&S!==null&&Reflect.get(S,"type")===zn}function Un(S,s){let ee=!1,ne=!1,ge=async(et)=>{await s.onInit?.(et),ne=!1},we=()=>{if(ne)return;return ne=!0,s.onClose?.()},We=Ht(i_(S),{...s,onInit:ge,onClose:we}),Qe=(et)=>{if(ee||!s_(et.data))return;ee=!0,We(),S.removeEventListener("message",Qe);let Je=()=>{try{S.postMessage({type:Bn})}catch{}try{S.close()}catch{}};Promise.resolve().then(we).then(Je,Je)};S.addEventListener("message",Qe),S.start?.()}function o_(S){let s=S.data;if(typeof s!=="object"||s===null||Reflect.get(s,"type")!==Wn)return null;let ee=Reflect.get(S,"ports"),ne=Array.isArray(ee)?ee[0]:null;return Hn(ne)?ne:null}function Gn(S={}){let s=n_(S),ee=self;if(Vn(ee))ee.addEventListener("message",(ne)=>{if(!(ne instanceof MessageEvent))return;let ge=o_(ne);if(!ge)return;Un(ge,s())}),Ht(r_(ee),s());if(!Qn(ee))return;ee.addEventListener("connect",(ne)=>{let ge=Reflect.get(ne,"ports"),we=Array.isArray(ge)?ge[0]:null;if(!Hn(we))return;Un(we,s())})}Pn();Gn(jn());